:root { --ink:#102335; --blue:#075a8f; --blue-dark:#064873; --cyan:#18bfd7; --steel:#66717c; --line:#d8e4ea; --surface:#f4f8fa; --card:#fff; --error:#b42318; --success:#136c4b; --shadow:0 18px 42px rgba(11,42,59,.1); }
* { box-sizing:border-box; } body { margin:0; background:var(--surface); color:var(--ink); font:16px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; } button,input,textarea,select { font:inherit; } button { cursor:pointer; } a { color:inherit; }
.topbar { min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:12px max(24px,calc((100vw - 1200px)/2)); background:#fff; border-bottom:1px solid var(--line); }.brand { display:flex; align-items:center; gap:10px; text-decoration:none; }.brand img { width:48px; height:48px; object-fit:contain; }.brand span { display:grid; line-height:1.15; }.brand strong { font-size:18px; }.brand small { color:var(--steel); font-size:12px; }.topbar button { padding:8px 12px; border:1px solid var(--line); border-radius:7px; background:#fff; color:var(--blue); font-weight:750; }
.shell { width:min(1120px,calc(100% - 40px)); margin:42px auto 72px; }.auth-card { width:min(480px,100%); margin:8vh auto; padding:32px; border:1px solid var(--line); border-radius:10px; background:var(--card); box-shadow:var(--shadow); }.auth-heading h1,.portal-heading h1 { margin:4px 0 8px; line-height:1.12; }.auth-heading p:not(.eyebrow),.portal-heading p:not(.eyebrow),.panel header p { color:var(--steel); }.eyebrow { margin:0; color:var(--blue)!important; font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }.auth-form { display:grid; gap:15px; margin-top:26px; }.auth-form[hidden],.auth-secondary[hidden] { display:none; }.auth-form h2 { margin:0; font-size:24px; }.auth-form label,.adjust-form label { display:grid; gap:6px; color:var(--ink); font-size:14px; font-weight:750; }.auth-form input,.adjust-form input,.pricing-form input,.pricing-form textarea,.admin-requests select { width:100%; padding:10px 11px; border:1px solid var(--line); border-radius:7px; background:#fff; color:var(--ink); }.auth-form input:focus,.adjust-form input:focus,.pricing-form input:focus,.pricing-form textarea:focus,.admin-requests select:focus { outline:3px solid rgba(24,191,215,.17); border-color:var(--blue); }.primary { display:inline-flex; min-height:44px; align-items:center; justify-content:center; padding:10px 16px; border:1px solid var(--blue); border-radius:7px; background:var(--blue); color:#fff; font-weight:800; text-decoration:none; }.primary:hover { background:var(--blue-dark); }.link-button { justify-self:start; padding:0; border:0; background:none; color:var(--blue); font-weight:750; text-decoration:underline; }.auth-secondary { margin:22px 0 0; color:var(--steel); font-size:14px; }.auth-secondary .link-button { display:inline; font-size:inherit; }.form-note { margin:0; color:var(--steel); font-size:13px; }.status { margin:18px 0; padding:11px 13px; border:1px solid; border-radius:7px; }.status.error { border-color:#edb6b0; color:var(--error); background:#fdf0ef; }.status.success { border-color:#a9d8c3; color:var(--success); background:#eaf7f1; }
.portal-heading { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:26px; }.portal-heading h1 { font-size:clamp(30px,4vw,43px); }.portal-heading p { margin:0; }.new-request { white-space:nowrap; }.summary-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-bottom:28px; }.summary-grid .summary-card,.panel { border:1px solid var(--line); border-radius:9px; background:var(--card); box-shadow:0 8px 20px rgba(11,42,59,.035); }.summary-grid .summary-card { min-height:135px; padding:20px; }.summary-grid span,.summary-grid small { display:block; color:var(--steel); font-size:13px; }.summary-grid strong { display:block; margin:5px 0; font-size:32px; line-height:1.1; }.summary-grid .summary-card:first-child strong { color:var(--blue); }.panel { margin-top:20px; overflow:hidden; }.panel header { padding:20px 22px; border-bottom:1px solid var(--line); }.panel header h2 { margin:3px 0 0; font-size:22px; }.panel header p { margin:4px 0 0; font-size:14px; }.list-empty { padding:24px 22px; color:var(--steel); }.row-list { display:grid; }.row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:16px; align-items:center; padding:16px 22px; border-top:1px solid var(--line); }.row:first-child { border-top:0; }.row strong,.row span { display:block; }.row .meta { margin-top:2px; color:var(--steel); font-size:13px; }.badge { display:inline-flex; width:max-content; padding:4px 8px; border-radius:999px; background:#eaf3f7; color:var(--blue); font-size:12px; font-weight:800; }.badge.ready,.badge.delivered { background:#eaf7f1; color:var(--success); }.report-link { padding:8px 11px; border:1px solid var(--blue); border-radius:6px; color:var(--blue); font-size:14px; font-weight:800; text-decoration:none; }.admin-divider { display:flex; align-items:center; gap:12px; margin:44px 0 16px; color:var(--blue); font-size:14px; font-weight:850; text-transform:uppercase; letter-spacing:.06em; }.admin-divider::before,.admin-divider::after { height:1px; flex:1; content:""; background:var(--line); }.adjust-form { display:grid; grid-template-columns:120px minmax(180px,1fr) auto; gap:8px; align-items:end; margin-top:12px; }.adjust-form label { font-size:12px; }.adjust-form button,.assign-button,.pricing-form button { min-height:40px; padding:8px 11px; border:1px solid var(--blue); border-radius:6px; background:#fff; color:var(--blue); font-size:13px; font-weight:800; }.admin-requests .row { grid-template-columns:minmax(0,1fr) minmax(180px,300px); align-items:end; }.assignment { display:grid; grid-template-columns:1fr auto; gap:8px; }.pricing-form { padding:22px; display:grid; gap:18px; }.pricing-top { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }.pricing-form label { display:grid; gap:5px; color:var(--steel); font-size:12px; font-weight:750; }.pricing-form h3 { margin:8px 0 4px; font-size:16px; }.pricing-table { width:100%; border-collapse:collapse; }.pricing-table th,.pricing-table td { padding:7px; border:1px solid var(--line); text-align:left; }.pricing-table th { color:var(--steel); font-size:12px; }.pricing-table input { min-width:70px; padding:7px; }.pricing-form .primary { justify-self:start; }
@media (max-width:720px) { .topbar { padding:10px 20px; }.shell { width:min(100% - 28px,1120px); margin-top:26px; }.auth-card { margin:20px auto; padding:24px; }.portal-heading { align-items:start; flex-direction:column; }.summary-grid { grid-template-columns:1fr; }.row,.admin-requests .row { grid-template-columns:1fr; align-items:start; }.adjust-form,.pricing-top { grid-template-columns:1fr; }.assignment { grid-template-columns:1fr; }.report-link { width:max-content; } }


.report-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;align-items:center}
button.report-link{font:inherit;cursor:pointer}
.report-link-secondary{background:#fff!important;color:#075a8f!important;border:1px solid #a9c3d3!important}
.report-link-secondary:hover{background:#f2f8fb!important}
@media(max-width:720px){.report-actions{justify-content:flex-start}}

.summary-card-action{width:100%;text-align:left;color:var(--ink);font:inherit;cursor:pointer;transition:border-color .16s,box-shadow .16s,transform .16s}
.summary-card-action:hover,.summary-card-action:focus-visible{border-color:#8fb8cd;box-shadow:0 10px 24px rgba(7,90,143,.09);outline:none}
.summary-card-action:focus-visible{outline:3px solid rgba(24,191,215,.2);outline-offset:2px}
.summary-card-action.is-expanded{border-color:var(--blue);box-shadow:0 10px 24px rgba(7,90,143,.1)}
.credit-ledger-panel[hidden]{display:none}
.ledger-scroll{max-height:320px;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.ledger-scroll .row{background:#fff}
