:root{--bg:#f6f7f5;--panel:#fff;--ink:#20231f;--muted:#747b72;--line:#e3e7df;--dark:#171a18;--green:#9EC415;--pink:#E40058;--danger:#bd2d3a;--shadow:0 8px 30px rgba(26,34,23,.06)}*{box-sizing:border-box}html{font-family:Poppins,system-ui,sans-serif}body{margin:0;background:var(--bg);color:var(--ink);display:grid;grid-template-columns:255px 1fr;min-height:100vh;font-family:Poppins,system-ui,sans-serif}aside{background:#111511;color:#fff;padding:22px 16px;position:sticky;top:0;height:100vh;border-right:1px solid #242924}.brand{display:flex;align-items:center;gap:11px;color:#fff;text-decoration:none;font-weight:700;font-size:16px;margin:4px 8px 26px}.brand img{width:38px;height:38px;object-fit:contain;border-radius:10px;background:#fff}.brand small{display:block;color:#8c968a;font-size:11px;font-weight:500;margin-top:2px}nav{display:grid;gap:3px}nav a{color:#dce1da;text-decoration:none;padding:10px 12px;border-radius:9px;font-size:13px;font-weight:500}nav a:hover{background:#232923;color:#fff}.nav-logout{width:100%;text-align:left;background:transparent;color:#b7bdb4;padding:10px 12px;font-weight:500}main{padding:32px;overflow:auto}header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:22px}h1{font-size:30px;letter-spacing:-.7px;margin:0 0 6px;font-weight:700}h2{font-size:18px;margin:0 0 15px;font-weight:650}p{color:var(--muted);margin:0;line-height:1.65}a{color:var(--pink);text-decoration:none}.panel,.metrics section{background:var(--panel);border:1px solid var(--line);border-radius:13px;padding:20px;box-shadow:var(--shadow)}.panel+.panel{margin-top:16px}.grid{display:grid;gap:14px}.two{grid-template-columns:1fr 1fr}.metrics{grid-template-columns:repeat(6,minmax(130px,1fr));margin-bottom:18px}.metrics b{font-size:25px;display:block}.metrics span{color:var(--muted);font-size:12px}.notice{background:#f2f9dd;border:1px solid #d7e8a0;padding:12px 15px;border-radius:10px;margin:0 0 18px}.notice.warn{background:#fff3f6;border-color:#f4c2d3;color:#8d2447}table{border-collapse:collapse;width:100%;font-size:12.5px}th{text-align:left;color:var(--muted);font-weight:600;padding:10px;border-bottom:1px solid var(--line)}td{padding:11px 10px;border-bottom:1px solid #eef0ec;vertical-align:top}td small{display:block;color:var(--muted);margin-top:3px}.status{display:inline-block;border-radius:999px;padding:4px 8px;background:#eef0ec;font-size:11px;font-weight:700}.status.completed,.status.success{background:#edf7cd;color:#567000}.status.failed{background:#fde8ee;color:#9b1746}.status.running,.status.claimed{background:#eef1ff;color:#3e4ba0}.status.queued{background:#fff4dd;color:#8c5b00}.status.cancelled{background:#eee;color:#666}button,.button-link{border:0;border-radius:9px;background:var(--dark);color:#fff;padding:10px 14px;font:600 12px Poppins;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}button:hover,.button-link:hover{opacity:.9}.secondary-button{background:#eef1ec;color:#252a24;border:1px solid var(--line)}button.danger{background:var(--danger)}.primary-link{background:var(--green);color:#182000;margin-top:18px}.inline{display:inline}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}dl{display:grid;grid-template-columns:150px 1fr;gap:10px;margin:0}dt{color:var(--muted)}dd{margin:0;overflow-wrap:anywhere}.model-form{display:grid;grid-template-columns:repeat(3,minmax(135px,1fr));gap:10px;align-items:end}.stack{display:grid;gap:14px}.model-form label,.stack label,.form-grid label{display:grid;gap:6px;color:var(--muted);font-size:12px;font-weight:500}.model-form input,.stack input,.form-grid input,select,textarea{width:100%;padding:10px 11px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);font:400 13px Poppins;outline:none}.model-form input:focus,.stack input:focus,.form-grid input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(158,196,21,.12)}textarea{resize:vertical}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:8px!important}.check input{width:auto}.help{font-size:12px;margin-top:16px}.share-info{margin:16px 0}.share-warning{margin:14px 0;color:#6f5110}.share-url{width:100%;padding:10px;border:1px solid var(--line);border-radius:9px;background:#fafbf9;font-size:12px}.copy-row{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;margin:7px 0 14px}.action-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.periods{display:flex;gap:7px;flex-wrap:wrap}.period{padding:8px 11px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink)}.period.active{background:var(--dark);color:#fff}.bar{height:10px;background:#edf0ea;border-radius:999px;overflow:hidden}.bar span{display:block;height:100%;background:var(--green)}.provider-chip{display:inline-block;background:#f1f7dc;border-radius:8px;font-size:12px;padding:5px 8px;margin:2px}.auth-body{display:block;background:#f4f5f2}.auth-wrap{max-width:500px;margin:7vh auto;padding:20px}.auth-card{padding:28px}.auth-brand{display:flex;align-items:center;gap:10px;color:var(--ink);font-weight:700;margin-bottom:25px}.auth-brand img{width:38px;height:38px;object-fit:contain}.auth-foot{margin-top:18px}.password-wrap{position:relative}.password-wrap input{padding-right:90px}.show-pass{position:absolute;right:5px;top:5px;background:#f0f2ee;color:#4f554d;padding:6px 9px}.narrow{max-width:800px}@media(max-width:1100px){body{grid-template-columns:220px 1fr}.metrics{grid-template-columns:repeat(3,1fr)}.model-form{grid-template-columns:1fr 1fr}}@media(max-width:760px){body{display:block}aside{height:auto;position:static}.brand{margin-bottom:14px}nav{grid-template-columns:1fr 1fr}main{padding:18px}.metrics{grid-template-columns:1fr 1fr}.two,.form-grid{grid-template-columns:1fr}.copy-row{grid-template-columns:1fr}.panel{overflow:auto}table{min-width:720px}}
/* v0.3.4 branding/auth refinements */
.brand.brand-stacked{display:block;margin:4px 8px 26px}
.brand.brand-stacked img{display:block;width:172px;max-width:100%;height:auto;max-height:58px;object-fit:contain;object-position:left center;background:transparent;border-radius:0}
.brand.brand-stacked small{display:block;margin-top:7px;color:#8c968a;font-size:10px;font-weight:500}
.auth-brand{display:block;margin-bottom:6px}
.auth-brand img{display:block;width:205px;max-width:100%;height:auto;max-height:64px;object-fit:contain;object-position:left center}
.auth-product{font-size:12px;font-weight:600;color:var(--muted);margin:0 0 24px}
.auth-links{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:13px;font-size:12px}
.auth-links form{margin:0}.link-button{background:transparent;color:var(--pink);padding:0;font-size:12px;font-weight:500}.link-button:hover{text-decoration:underline;opacity:1}
.auth-divider{display:flex;align-items:center;gap:12px;margin:18px 0;color:#6b716d;font-size:13px}.auth-divider:before,.auth-divider:after{content:"";height:1px;background:#e2e6e2;flex:1}.wide{display:block;width:100%;text-align:center}.button{box-sizing:border-box;text-decoration:none;padding:12px 16px;border-radius:8px;font-weight:700}.button.secondary{background:#9EC415;color:#111}.button.outline{border:1px solid #cfd5cf;color:#111;background:#fff}.check-row{display:flex!important;gap:10px;align-items:flex-start}.check-row input{width:auto!important;margin-top:5px}.danger-zone{margin-top:22px;border-color:#f0bccd}.danger{background:#E40058!important}.panel a{color:#E40058}.notice.warn{border-color:#efb3c7;background:#fff4f7;color:#9f103d}

/* v0.4.4 — shared, responsive customer experience. */
:root{--font-size:14px;--space:18px}
body{font-size:var(--font-size);line-height:1.58}
main{min-width:0;max-width:1720px;width:100%;padding:36px clamp(18px,2.4vw,42px) 110px}
main>header,main>.grid,main>.panel,main>.notice{margin-bottom:var(--space)}
h1{font-size:clamp(26px,2.1vw,32px);line-height:1.25}h2{font-size:17px;line-height:1.45;margin:0 0 14px}h3{font-size:14px;line-height:1.5;margin:22px 0 10px}
p{font-size:13px;line-height:1.75}p+p{margin-top:10px}
.panel,.metrics section{min-width:0;padding:clamp(18px,1.6vw,26px);border-radius:14px}
.metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.metrics b{font-size:clamp(23px,2.2vw,29px);line-height:1.3;overflow-wrap:anywhere}.metrics span{display:block;margin-top:5px;font-size:12px}
.customer-header{margin-bottom:21px}.account-columns{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:16px}
.account-columns .panel{height:auto;min-height:0}.billing-summary{display:grid;gap:13px;font-size:13px;line-height:1.7;overflow-wrap:anywhere}
.billing-person,.billing-meta,address{display:grid;gap:1px;font:inherit;line-height:1.65;font-style:normal}.billing-person strong{font-size:14px}.billing-meta{color:#3f463e}
.customer-help{margin:14px 0;color:var(--muted);font-size:12.5px;line-height:1.75}.customer-help strong{color:var(--ink)}
.customer-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:18px}.customer-actions a:not(.button){font-size:12px;font-weight:600}
.button.secondary{display:inline-flex;align-items:center;justify-content:center;max-width:100%;line-height:1.45;white-space:normal;text-align:center;font-size:12px}
.credit-order-form{margin-top:18px}.credit-price-preview{margin:0!important;color:var(--ink);font-size:14px}.credit-price-preview strong{font-weight:700}
.customer-table-wrap{max-width:100%;overflow-x:auto;margin-top:15px}.customer-table-wrap table{width:100%;min-width:500px}.customer-table-wrap td,.customer-table-wrap th{font-size:12px;padding:12px 10px;overflow-wrap:anywhere}.customer-table-wrap td.num{text-align:right;white-space:nowrap;font-weight:600}
.account-orders,.danger-zone{margin-top:16px}.danger-zone{margin-top:26px;border-color:#f1bfd0}.danger-zone .stack{margin-top:16px;max-width:380px}
.panel:has(>h2):not(.danger-zone)>h2+p{margin-top:0}.panel a{overflow-wrap:anywhere}
.stack label{font-size:12px;line-height:1.55}.stack input,.stack textarea,.stack select{font-size:13px;min-height:42px}
@media(max-width:1100px){.account-columns{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){main{padding:22px 15px 100px}.account-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.account-metrics section:last-child{grid-column:1/-1}.account-columns{gap:14px}.customer-actions{align-items:stretch}.customer-actions .button{width:100%}.panel{overflow:visible}table{min-width:0}.model-form{grid-template-columns:1fr}}

/* v0.5.2 nominal-credit account analytics */
.finance-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}
.finance-metrics section{min-width:0;background:#f8faf5;border:1px solid #e2e9d7;border-radius:12px;padding:15px;display:grid;gap:5px}
.finance-metrics section small{color:var(--muted);font-size:11px}.finance-metrics section strong{font-size:clamp(17px,1.6vw,24px);overflow-wrap:anywhere;line-height:1.4}
.finance-metrics section span{font-size:11px;color:#64715b;line-height:1.5}.finance-hint{font-size:12px;background:#f4f8e8;border-radius:10px;padding:12px 14px;color:#596546}
.finance-table{min-width:900px}.finance-table td{white-space:normal}.finance-detail td{background:#fafcf7;padding:8px 12px 14px}
.finance-detail details>summary{cursor:pointer;color:#4d6700;font-weight:650;padding:5px 0}.finance-detail .customer-table-wrap{margin-top:10px}
@media(max-width:980px){.finance-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:540px){.finance-metrics{grid-template-columns:1fr}}

/* v0.5.3 – fixed first account column on horizontally scrollable finance grids */
.customer-table-wrap.pinned-table{overflow:auto;max-width:100%;position:relative;border:1px solid var(--line);border-radius:10px}
.pinned-table table{border-collapse:separate;border-spacing:0;min-width:1200px;width:max-content;max-width:none}
.pinned-table th,.pinned-table td{min-width:100px;white-space:nowrap;padding:12px 14px;background:#fff}
.pinned-table th:first-child,.pinned-table td:first-child{position:sticky;left:0;min-width:210px;max-width:260px;white-space:normal;background:#fff;z-index:2;box-shadow:2px 0 7px rgba(20,30,20,.07)}
.pinned-table thead th{position:sticky;top:0;background:#f8faf5;z-index:3}
.pinned-table thead th:first-child{z-index:4;background:#f8faf5}
.pinned-table small{white-space:normal}
