:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;color:#16211d;background:#f5f6f3;font-synthesis:none;--ink: #16211d;--muted: #68746e;--line: #dfe4df;--paper: #fff;--accent: #0b7158;--accent-soft: #e7f3ee;--danger: #b83b35}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#f5f6f3;color:var(--ink);-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{min-height:40px;padding:8px 14px;border:1px solid var(--accent);border-radius:9px;background:var(--accent);color:#fff;font-size:13px;font-weight:700;cursor:pointer;transition:transform .14s ease,background .14s ease,border-color .14s ease}button:hover:not(:disabled){transform:translateY(-1px);background:#075d49}button:disabled{opacity:.5;cursor:not-allowed}button.quiet{border-color:var(--line);background:#fff;color:#34423c}button.quiet:hover:not(:disabled){background:#f1f4f1}button.small{min-height:32px;padding:5px 10px;font-size:11px}button.danger{border-color:#d9aaa7;background:#fff;color:var(--danger)}input,select{min-height:40px;padding:8px 11px;border:1px solid #cfd6d1;border-radius:8px;background:#fff;color:var(--ink)}input:focus,select:focus{outline:3px solid rgba(11,113,88,.12);border-color:var(--accent)}label{display:grid;gap:6px;color:#3a4741;font-size:12px;font-weight:700}.brand{color:var(--accent);font-size:19px;font-weight:850;letter-spacing:-.04em;white-space:nowrap}.brand span{margin-left:4px;color:#53615b;font-weight:650}.auth-canvas{display:grid;place-items:center;min-height:100vh;padding:24px;background:linear-gradient(110deg,#eff2ed 0,#eff2ed 44%,#f8f9f6 44%)}.auth-panel{width:min(440px,100%);padding:38px;border:1px solid var(--line);border-radius:18px;background:#fffffff5;box-shadow:0 26px 70px #16211d1a;animation:panelIn .35s cubic-bezier(.2,.8,.2,1) both}.auth-panel h1{margin:28px 0 10px;font-size:32px;letter-spacing:-.045em}.auth-panel p{margin:0 0 25px;color:var(--muted);line-height:1.55}.auth-panel label{margin-top:16px}.auth-panel>button{width:100%;margin-top:22px}.form-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}.form-actions button{width:auto;margin:0}.mfa-setup{display:grid;justify-items:center;gap:10px;padding:16px;background:#f4f7f4;border-radius:12px}.mfa-setup img{width:190px;height:190px}.mfa-setup code{max-width:100%;overflow-wrap:anywhere;color:#425048;font-size:11px}.message{padding:10px 12px;border-radius:8px;font-size:12px}.message.error{border:1px solid #ebc4c1;background:#fff5f4;color:#9c312c}.message.success{border:1px solid #bee0d2;background:#f0faf6;color:#09644e}.auth-panel .message{margin-top:16px}.console-shell{min-height:100vh}.console-header{position:sticky;top:0;z-index:30;display:flex;justify-content:space-between;align-items:center;height:62px;padding:0 28px;border-bottom:1px solid var(--line);background:#fffffff0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.header-meta{display:flex;align-items:center;gap:13px;color:var(--muted);font-size:12px}.summary-line{display:flex;align-items:stretch;min-height:78px;padding:0 28px;border-bottom:1px solid var(--line);background:#fafbf8}.summary-line>div{display:flex;align-items:baseline;gap:7px;min-width:128px;padding:20px 25px 18px 0}.summary-line strong{font-size:24px;letter-spacing:-.04em}.summary-line span{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em}.summary-line button{align-self:center;margin-left:auto}.global-message{margin:12px 28px 0}.console-grid{display:grid;grid-template-columns:340px minmax(0,1fr);min-height:calc(100vh - 140px)}.customer-rail{border-right:1px solid var(--line);background:#fafbf8}.rail-head{position:sticky;top:62px;z-index:10;padding:24px 20px 14px;background:#fafbf8}.rail-head h1{margin:0 0 14px;font-size:14px;text-transform:uppercase;letter-spacing:.08em}.rail-head input{width:100%}.customer-list{padding:0 10px 20px}.customer-row{position:relative;display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:72px;padding:12px 11px 12px 14px;border:0;border-radius:9px;background:transparent;color:var(--ink);text-align:left;opacity:0;animation:rowIn .26s ease forwards}.customer-row:before{content:"";position:absolute;inset:10px auto 10px 0;width:3px;border-radius:999px;background:var(--accent);transform:scaleY(0);transition:transform .18s ease}.customer-row:hover:not(:disabled){transform:none;background:#eef2ee}.customer-row.selected{background:#e9efeb}.customer-row.selected:before{transform:scaleY(1)}.customer-row>span:first-child{min-width:0}.customer-row strong,.customer-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.customer-row strong{font-size:13px}.customer-row small{margin-top:4px;color:var(--muted);font-size:10px}.status{flex-shrink:0;padding:4px 7px;border-radius:999px;background:#edf1ee;color:#5f6a65;font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.status.active{background:#e2f2eb;color:#0a684f}.status.grace{background:#fff0cf;color:#835500}.status.suspended,.status.archived{background:#f8e5e3;color:#9c312c}.customer-workspace{min-width:0;padding:34px 42px 70px}.workspace-enter{width:min(1120px,100%);margin:0 auto;animation:workspaceIn .22s ease both}.customer-title{display:flex;justify-content:space-between;align-items:start;padding-bottom:30px}.section-kicker{color:var(--accent);font-size:10px;font-weight:850;letter-spacing:.11em;text-transform:uppercase}.customer-title h2{margin:5px 0;font-size:34px;letter-spacing:-.05em}.customer-title p,.section-heading p{margin:0;color:var(--muted);font-size:12px}.operating-section{padding:27px 0 30px;border-top:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;align-items:start;gap:24px;margin-bottom:19px}.section-heading h3,.danger-zone h3{margin:0 0 5px;font-size:17px;letter-spacing:-.02em}.inline-form{display:grid;grid-template-columns:minmax(170px,1.4fr) minmax(110px,.7fr) minmax(110px,.7fr) auto;align-items:end;gap:11px}.timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:18px;background:var(--line);border-block:1px solid var(--line)}.timeline span{display:grid;gap:4px;padding:12px 14px;background:#f8faf7;color:#4f5c56;font-size:11px}.timeline b{color:var(--muted);font-size:9px;letter-spacing:.07em;text-transform:uppercase}.feature-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px}.feature-list label{display:flex;align-items:center;gap:10px;padding:12px 4px;border-bottom:1px solid #ebeeeb;cursor:pointer}.feature-list label.reserved{opacity:.58}.feature-list input,.check-grid input{accent-color:var(--accent)}.feature-list strong,.feature-list small{display:block}.feature-list strong{font-size:12px}.feature-list small{margin-top:2px;color:var(--muted);font-size:10px;font-weight:500}.record-list{border-top:1px solid var(--line)}.record-row{display:grid;grid-template-columns:minmax(220px,1fr) minmax(105px,auto) auto auto;align-items:center;gap:12px;min-height:62px;border-bottom:1px solid var(--line)}.record-row strong,.record-row small{display:block}.record-row strong{font-size:12px}.record-row small{margin-top:3px;color:var(--muted);font-size:10px}.record-row select{min-height:33px;padding-block:5px;font-size:11px}.state-text{color:var(--muted);font-size:9px;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.state-text.active{color:var(--accent)}.state-text.revoked{color:var(--danger)}.danger-zone{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:25px 0;border-top:1px solid #deb8b4}.danger-zone p{margin:0;color:var(--muted);font-size:11px}.empty{display:grid;place-items:center;align-content:center;gap:8px;min-height:300px;padding:30px;color:var(--muted);text-align:center}.empty.compact{min-height:90px}.empty strong{color:var(--ink);font-size:18px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:24px;background:#121c1880;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .15s ease both}.modal{width:min(720px,100%);max-height:calc(100vh - 48px);overflow:auto;padding:27px;border-radius:16px;background:#fff;box-shadow:0 30px 90px #121c1840;animation:modalIn .22s cubic-bezier(.2,.8,.2,1) both}.modal.small-modal{width:min(470px,100%)}.modal .check-row{display:flex;flex-direction:row;align-items:center;gap:10px}.modal .check-row input{width:auto}.modal-head{display:flex;justify-content:space-between;gap:20px;margin-bottom:20px}.modal-head h2{margin:5px 0;font-size:27px;letter-spacing:-.04em}.modal-head p{margin:0;color:var(--muted);font-size:12px}.modal>label{margin-top:14px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.form-grid .wide{grid-column:1 / -1}.check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:18px}.check-grid label{display:flex;align-items:center;gap:8px;padding:9px;background:#f5f7f4;border-radius:8px}.modal .message{margin-top:16px}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:23px;padding-top:18px;border-top:1px solid var(--line)}@keyframes panelIn{0%{opacity:0;transform:translateY(12px) scale(.99)}}@keyframes rowIn{0%{opacity:0;transform:translate(-5px)}to{opacity:1;transform:none}}@keyframes workspaceIn{0%{opacity:0;transform:translateY(5px)}}@keyframes fadeIn{0%{opacity:0}}@keyframes modalIn{0%{opacity:0;transform:translateY(12px) scale(.985)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}@media(max-width:980px){.console-grid{grid-template-columns:280px minmax(0,1fr)}.customer-workspace{padding-inline:25px}.inline-form{grid-template-columns:repeat(2,minmax(0,1fr))}.inline-form button{align-self:end}}@media(max-width:720px){.header-meta>span{display:none}.summary-line{padding-inline:16px;overflow-x:auto}.summary-line>div{min-width:92px}.console-grid{display:block}.customer-rail{border-right:0;border-bottom:1px solid var(--line)}.rail-head{position:static}.customer-list{display:flex;overflow-x:auto}.customer-row{min-width:260px}.customer-workspace{padding:25px 18px 60px}.feature-list,.form-grid,.check-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.record-row{grid-template-columns:minmax(160px,1fr) auto;padding-block:10px}.record-row select{justify-self:end}.timeline{grid-template-columns:1fr}}
