:root { --green:#1f6f4a; --deep:#0c4b36; --deep2:#063d2c; --ink:#17201c; --muted:#6a746f; --line:#dfe5e1; --soft:#f5f7f6; --amber:#e69a13; --red:#c63c32; --white:#fff; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; color:var(--ink); background:#fff; }
* { box-sizing:border-box; } [hidden] { display:none!important; } body { margin:0; min-height:100vh; } button,input,select,textarea { font:inherit; color:inherit; } button { cursor:pointer; } a { color:inherit; }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
.access-gate { min-height:100vh; display:grid; place-items:center; padding:24px; background:var(--soft); text-align:center; }.access-gate>div{max-width:520px;background:#fff;padding:48px;border:1px solid var(--line);border-radius:16px}.access-gate h1{font-size:32px;margin:28px 0 8px}.access-gate p{color:var(--muted);line-height:1.55;margin:0 0 26px}
.admin-shell { min-height:100vh; display:grid; grid-template-columns:248px minmax(0,1fr); }.admin-shell.drawer-open{grid-template-columns:248px minmax(0,1fr) 360px}
.sidebar { position:sticky; top:0; height:100vh; padding:28px 14px 18px; color:#fff; background:var(--deep); display:flex; flex-direction:column; }
.wordmark { display:inline-flex; align-items:center; gap:10px; padding:0 12px; color:#fff; text-decoration:none; font-size:22px; font-weight:760; letter-spacing:-.02em; }.wordmark>svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.wordmark.dark{color:var(--deep);padding:0}
.sidebar nav { display:grid; gap:5px; margin-top:40px; }.nav-item{display:flex;align-items:center;gap:14px;width:100%;padding:13px 14px;border:0;border-radius:9px;color:rgba(255,255,255,.9);background:transparent;text-align:left;font-size:15px;font-weight:570}.nav-item svg{flex:none;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.nav-item:hover,.nav-item.selected{background:rgba(255,255,255,.12);color:#fff}.nav-item.selected{background:#1d7453}
.sidebar-account{margin-top:auto;display:flex;align-items:center;gap:10px;padding:14px 10px;border-top:1px solid rgba(255,255,255,.15)}.sidebar-account span:last-child{min-width:0}.sidebar-account strong,.sidebar-account small{display:block;overflow:hidden;text-overflow:ellipsis}.sidebar-account small{font-size:11px;color:rgba(255,255,255,.68);margin-top:3px}.avatar{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:50%;background:#16845e;color:#fff;font-size:13px;font-weight:750}
.main{min-width:0;padding:24px 30px 50px;overflow-x:hidden}.view{display:none}.view.active{display:block}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;min-height:72px;padding-bottom:17px;border-bottom:1px solid var(--line)}h1{font-size:30px;line-height:1.12;letter-spacing:-.035em;margin:0}h2{font-size:17px;letter-spacing:-.015em;margin:0}.page-head p{color:var(--muted);margin:7px 0 0;font-size:14px}.coverage{font-size:12px!important}.muted{color:var(--muted);font-size:12px}
label{display:grid;gap:6px;font-size:12px;font-weight:650;color:#3f4944}input,select,textarea{min-height:40px;padding:9px 11px;border:1px solid #cfd7d2;border-radius:7px;background:#fff;font-size:13px}input:focus,select:focus,textarea:focus,button:focus-visible{outline:2px solid #2c8a67;outline-offset:2px}.range-control{grid-template-columns:auto 150px;align-items:center}.filters{display:flex;gap:12px;padding:18px 0}.filters label{grid-template-columns:auto 160px;align-items:center}.filters .search input{width:min(360px,45vw)}
.kpi-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-bottom:1px solid var(--line);padding:22px 0}.kpi{padding:2px 22px;border-left:1px solid var(--line)}.kpi:first-child{padding-left:8px;border-left:0}.kpi dt{font-size:12px;color:#4f5954}.kpi dd{margin:8px 0 0;font-size:26px;font-weight:650;letter-spacing:-.025em}.kpi small{display:block;color:var(--muted);font-size:11px;margin-top:7px}
.overview-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.9fr);gap:15px;padding:16px 0}.chart-frame,.health-frame,.table-section{border:1px solid var(--line);border-radius:10px;background:#fff}.chart-frame,.health-frame{padding:18px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.legend{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--muted)}.trial-dot,.paid-dot{width:16px;height:3px;background:var(--amber);margin-left:8px}.paid-dot{background:var(--green)}.trend-chart{display:block;width:100%;height:auto;margin-top:14px}.chart-grid{stroke:#e7ebe8;stroke-width:1}.chart-label{fill:#69736d;font-size:11px}.trial-line{fill:none;stroke:var(--amber);stroke-width:3}.paid-line{fill:none;stroke:var(--green);stroke-width:3}.chart-empty{fill:#7b8580;font-size:14px}.health-list{margin:18px 0 0}.health-list>div{display:grid;grid-template-columns:1fr auto;gap:6px;padding:14px 0;border-top:1px solid var(--line)}.health-list>div:first-child{border-top:0}.health-list dt{font-size:12px;color:#4d5752}.health-list dd{margin:0;font-size:18px;font-weight:660}.health-list small{grid-column:1/-1;color:var(--muted);font-size:11px}
.table-section{margin-top:16px;overflow:hidden}.table-section.flush{margin-top:18px}.table-section>.section-head{padding:14px 16px;border-bottom:1px solid var(--line)}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px}th{padding:11px 14px;color:#55605a;font-size:11px;font-weight:680;text-align:left;white-space:nowrap;background:#fbfcfb;border-bottom:1px solid var(--line)}td{padding:11px 14px;border-bottom:1px solid #e9edea;vertical-align:middle}tbody tr:last-child td{border-bottom:0}tbody tr.clickable:hover{background:#f2f8f5}.user-cell{display:flex;align-items:center;gap:9px;min-width:200px}.user-cell .avatar{width:32px;height:32px}.user-cell strong,.user-cell small{display:block}.user-cell small{color:var(--muted);font-size:10px;margin-top:2px}.status{display:inline-block;padding:3px 7px;border-radius:5px;border:1px solid #b9d7ca;background:#edf8f2;color:#176343;font-size:10px;text-transform:capitalize}.status.free,.status.closed,.status.declined{border-color:#d7ddda;background:#f4f6f5;color:#626c67}.status.trial,.status.waiting,.status.submitted{border-color:#ead49e;background:#fff8e8;color:#92610a}.status.urgent,.status.high,.status.canceled{border-color:#edbbb6;background:#fff0ef;color:#a62d25}.row-button{border:0;background:transparent;color:var(--green);font-weight:700;padding:5px}.empty{padding:44px!important;text-align:center;color:var(--muted)}.subhead{margin:28px 0 8px}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 13px;border:1px solid #cdd6d1;border-radius:7px;background:#fff;text-decoration:none;font-size:12px;font-weight:700}.button.primary{border-color:var(--green);background:var(--green);color:#fff}.icon-button{width:36px;height:36px;border:0;background:transparent;border-radius:6px;font-size:23px}.flash{position:fixed;top:18px;right:24px;z-index:50;max-width:400px;padding:12px 15px;border-radius:8px;background:#163b2e;color:#fff;box-shadow:0 8px 30px rgba(0,0,0,.18);font-size:13px}.flash.error{background:#962f28}
.button-row{display:flex;gap:8px}
.drawer{position:sticky;top:0;height:100vh;overflow:auto;border-left:1px solid var(--line);background:#fff;padding:20px}.drawer-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:16px;border-bottom:1px solid var(--line)}.drawer-section{padding:18px 0;border-bottom:1px solid var(--line)}.drawer-section h3{font-size:12px;margin:0 0 12px}.drawer-profile{display:flex;align-items:center;gap:12px}.drawer-profile strong,.drawer-profile small{display:block}.drawer-profile small{color:var(--muted);margin-top:3px}.detail-list{display:grid;grid-template-columns:1fr auto;gap:10px;font-size:12px}.detail-list dt{color:var(--muted)}.detail-list dd{margin:0}.timeline{list-style:none;padding:0 0 0 14px;margin:0;border-left:1px solid #cad3ce}.timeline li{position:relative;padding:0 0 18px 14px;font-size:12px}.timeline li::before{content:"";position:absolute;left:-19px;top:3px;width:9px;height:9px;border-radius:50%;background:var(--green)}.drawer-actions{display:grid;gap:9px}.drawer-actions .button{width:100%}
dialog{width:min(560px,calc(100vw - 32px));border:0;border-radius:12px;padding:0;box-shadow:0 18px 70px rgba(0,0,0,.28)}dialog::backdrop{background:rgba(11,24,18,.42)}dialog form{padding:20px;display:grid;gap:14px}.dialog-head{display:flex;align-items:center;justify-content:space-between}.dialog-head p{margin:5px 0 0}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.ticket-thread{display:grid;gap:12px;max-height:360px;overflow:auto;margin:4px 0 18px;padding-right:4px}.ticket-message{max-width:86%;padding:12px 14px;border:1px solid var(--line);background:var(--soft)}.ticket-message.admin{justify-self:end;background:#eef4ef;border-color:#c9d8cd}.ticket-message p{margin:5px 0 8px;white-space:pre-wrap;line-height:1.45}.ticket-message small{color:var(--muted)}
@media(max-width:1100px){.admin-shell,.admin-shell.drawer-open{grid-template-columns:76px minmax(0,1fr)}.sidebar{padding-inline:9px}.wordmark{font-size:0;padding:0;justify-content:center}.nav-item{justify-content:center;padding:13px 8px;font-size:0}.sidebar-account span:last-child{display:none}.sidebar-account{justify-content:center}.drawer{position:fixed;z-index:20;right:0;width:min(380px,92vw);box-shadow:-12px 0 40px rgba(0,0,0,.14)}.kpi-strip{grid-template-columns:repeat(3,1fr);row-gap:18px}.kpi:nth-child(4){border-left:0}.overview-grid{grid-template-columns:1fr}}
@media(max-width:700px){.admin-shell,.admin-shell.drawer-open{display:block}.sidebar{position:sticky;z-index:10;width:100%;height:auto;padding:10px;display:flex;flex-direction:row;align-items:center;overflow:auto}.sidebar nav{display:flex;margin:0 0 0 14px}.nav-item{min-width:44px}.sidebar-account{display:none}.main{padding:20px 14px 40px}.page-head{align-items:stretch;flex-direction:column}.kpi-strip{grid-template-columns:1fr 1fr}.kpi:nth-child(odd){border-left:0}.overview-grid{display:block}.health-frame{margin-top:14px}.filters{align-items:stretch;flex-direction:column}.filters label{grid-template-columns:1fr}.filters .search input{width:100%}.form-grid{grid-template-columns:1fr}}
