:root{--navy:#102451;--blue:#315fae;--blue-soft:#edf3fc;--ink:#152342;--muted:#68748c;--line:#dfe7f2;--white:#fff;--green:#138764;--red:#c34854;--shadow:0 14px 40px rgba(34,62,116,.08)}
*{box-sizing:border-box}
html{font-size:17px}
body{margin:0;background:#f3f7fd;color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55}
button,input,textarea,select{font:inherit}
a{color:inherit;text-decoration:none}
h1,h2,p{margin-top:0}h1{font-size:clamp(2rem,4vw,3rem);line-height:1.1;letter-spacing:-.045em;margin-bottom:.55rem;color:#0c1c41}h2{font-size:1.3rem;line-height:1.25;margin-bottom:.35rem;color:#10214a}
.muted,.page-heading p,.card-heading p,.empty-copy{color:var(--muted)}
.eyebrow{text-transform:uppercase;letter-spacing:.13em;color:var(--blue)!important;font-size:.75rem;font-weight:800;margin-bottom:.7rem}
.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:275px;background:var(--navy);color:#fff;padding:31px 22px;display:flex;flex-direction:column;z-index:20}.brand{display:block;padding:4px 8px 35px}.brand img,.admin-header img{display:block;width:190px;height:auto}.sidebar nav{display:grid;gap:7px}.sidebar nav a{padding:13px 14px;border-radius:12px;color:#c9d4f2;font-weight:650;display:flex;align-items:center;gap:12px}.sidebar nav a:hover,.sidebar nav a.active{background:rgba(255,255,255,.1);color:#fff}.nav-dot{width:8px;height:8px;border-radius:50%;border:2px solid currentColor}.sidebar nav a.active .nav-dot{background:#4d8bff;border-color:#4d8bff}.sidebar-footer{margin-top:auto;border-top:1px solid rgba(255,255,255,.13);padding:20px 5px 0;display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center}.avatar{width:38px;height:38px;border-radius:12px;background:#1c63ee;display:grid;place-items:center;font-weight:800}.sidebar-footer strong,.sidebar-footer small{display:block;overflow:hidden;text-overflow:ellipsis}.sidebar-footer strong{font-size:.83rem}.sidebar-footer small{font-size:.69rem;color:#aebada}.logout{font-size:1.2rem;color:#aebada}.main{margin-left:275px;padding:52px clamp(24px,5vw,74px) 80px;max-width:1500px}.mobile-header{display:none}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:30px}.page-heading p{margin-bottom:0;font-size:1.02rem}.card,.stat{background:var(--white);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.card{padding:26px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:24px}.stat{padding:22px;min-height:150px;display:flex;flex-direction:column}.stat span{color:#5c6981;font-weight:650;font-size:.9rem}.stat strong{font-size:2rem;letter-spacing:-.04em;color:#10234f;margin:10px 0 3px}.stat small{color:#7c879b;margin-top:auto}.stats-grid.compact .stat{min-height:125px}.positive{color:var(--green)!important}.negative{color:var(--red)!important}.status-line{display:flex;align-items:center;gap:9px}.status-line i{display:block;width:11px;height:11px;border-radius:50%;background:var(--green);box-shadow:0 0 0 5px #dff7ee}.button{appearance:none;border:0;border-radius:11px;padding:11px 17px;font-weight:750;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.primary{color:#fff;background:var(--blue)}.primary:hover{background:#0b50d0}.secondary{background:#fff;border:1px solid var(--line);color:#1d3a72}.welcome-card,.site-card,.subscription-card{display:flex;justify-content:space-between;align-items:center;margin-top:26px}.welcome-card p,.site-card p,.subscription-card p{margin-bottom:0;color:var(--muted)}.chart-card{margin-top:4px;margin-bottom:22px}.card-heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.card-heading p{margin:0}.chart{height:245px;border-bottom:1px solid var(--line);display:flex;align-items:flex-end;gap:5px;padding-top:18px}.bar-wrap{height:100%;flex:1;display:flex;align-items:flex-end}.bar{width:100%;min-width:4px;background:linear-gradient(180deg,#4181fa,#1761ed);border-radius:5px 5px 2px 2px;transition:.2s}.bar:hover{background:#064ed4}.page-list>div{display:flex;justify-content:space-between;align-items:center;padding:15px 0;border-top:1px solid #edf1f6}.page-list span{display:flex;align-items:center;gap:13px}.page-list b{width:29px;height:29px;background:var(--blue-soft);color:var(--blue);border-radius:9px;display:grid;place-items:center;font-size:.82rem}.badge{display:inline-flex;padding:6px 10px;border-radius:999px;background:#eef1f6;color:#59657a;font-size:.74rem;font-weight:800}.badge.online,.badge.active{background:#e3f7ef;color:#087d54}.badge.maintenance,.badge.inactive{background:#fff0dc;color:#9d6300}.details-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}.details-grid span,.details-grid strong{display:block}.details-grid span{color:var(--muted);margin-bottom:6px}.details-grid strong{font-size:1.2rem}.request-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:22px}.stack{display:grid;gap:17px}.stack h2{margin:0}.stack label,.form-grid label{display:grid;gap:7px;font-weight:700;color:#25385e}.stack label small,.form-grid label small{font-weight:500;color:var(--muted)}input,textarea,select{width:100%;border:1px solid #cfdaea;background:#fff;border-radius:10px;padding:11px 13px;color:var(--ink);outline:none}textarea{resize:vertical}input:focus,textarea:focus,select:focus{border-color:#4380f0;box-shadow:0 0 0 3px #e4edff}.request-list article{display:flex;justify-content:space-between;gap:14px;padding:15px 0;border-top:1px solid #edf1f6}.request-list strong,.request-list small{display:block}.request-list small{color:var(--muted);margin-top:3px}.empty{text-align:center;padding:60px 30px}.flash{padding:13px 16px;border-radius:11px;margin:0 0 22px;font-weight:650}.flash.success{background:#e4f7ef;color:#087d54}.flash.error{background:#fff0f1;color:#af3440}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:26px;background:radial-gradient(circle at top right,#dbe9ff,transparent 40%),#f3f7fd}.auth-card{width:min(100%,470px);background:#fff;border:1px solid var(--line);border-radius:24px;padding:42px;box-shadow:0 28px 80px rgba(25,54,108,.14)}.auth-logo{width:230px;height:auto;margin:0 0 36px}.auth-card h1{font-size:2.45rem}.auth-card .stack{margin-top:25px}.auth-help{text-align:center;margin:24px 0 0;color:var(--muted);font-size:.85rem}.auth-help a{color:var(--blue);font-weight:700}
.admin-shell{min-height:100vh}.admin-header{height:82px;background:var(--navy);padding:0 clamp(24px,5vw,70px);display:flex;align-items:center;justify-content:space-between;color:#fff}.admin-header div{display:flex;align-items:center;gap:25px}.admin-header span{color:#aebada}.admin-header a{font-weight:700}.admin-main{padding:45px clamp(24px,5vw,70px) 80px;max-width:1600px;margin:auto}.admin-title{margin-bottom:30px}.admin-grid{display:grid;grid-template-columns:330px minmax(0,1fr);gap:24px;align-items:start}.client-column{position:sticky;top:20px}.client-list{display:grid;margin-bottom:20px}.client-list a{padding:13px;border-radius:11px;display:flex;align-items:center;justify-content:space-between}.client-list a:hover,.client-list a.active{background:var(--blue-soft)}.client-list span,.client-list small{display:block}.client-list small{color:var(--muted);font-size:.78rem}.client-list i{width:9px;height:9px;background:var(--green);border-radius:50%}.client-list i.inactive{background:#d7952e}.new-client summary{list-style:none}.new-client[open] summary{margin-bottom:20px}.admin-content{display:grid;gap:24px}.inline-actions{display:flex;gap:10px;flex-wrap:wrap}.inline-actions details summary{list-style:none}.inline-form{display:flex;gap:8px;margin-top:10px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.form-grid .full{grid-column:1/-1}.form-grid .button{width:max-content}.requests-admin{margin-top:24px}.admin-requests article{display:grid;grid-template-columns:1fr 160px;gap:22px;padding:19px 0;border-top:1px solid #edf1f6}.admin-requests strong,.admin-requests span{display:block}.admin-requests span{color:var(--muted);font-size:.83rem}.admin-requests p{margin:9px 0 0}.admin-requests select{align-self:start}.auth-reset{text-align:center;margin:16px 0 0}.auth-reset a{color:var(--blue);font-weight:750}
.sidebar{background:#f8fbff;color:var(--navy);border-right:1px solid var(--line)}.sidebar nav a{color:#52627d}.sidebar nav a:hover,.sidebar nav a.active{background:#e7eef9;color:var(--navy)}.sidebar-footer{border-top-color:var(--line)}.sidebar-footer small,.logout{color:#697892}.avatar{background:#dce8f8;color:var(--navy)}.nav-dot{border-color:#7d8ba2}.sidebar nav a.active .nav-dot{background:var(--blue);border-color:var(--blue)}.admin-header{background:#f8fbff;border-bottom:1px solid var(--line);color:var(--navy)}.admin-header span{color:var(--muted)}.password-auto{padding:13px 14px;border:1px solid #d6e1f1;border-radius:11px;background:#f6f9fe}.password-auto strong,.password-auto small{display:block}.password-auto strong{color:var(--navy)}.password-auto small{color:var(--muted);margin-top:3px}
@media(max-width:1050px){.stats-grid{grid-template-columns:repeat(2,1fr)}.admin-grid{grid-template-columns:1fr}.client-column{position:static}.request-layout{grid-template-columns:1fr}}
@media(max-width:760px){html{font-size:16px}.sidebar{transform:translateX(-102%);transition:.25s;width:min(86vw,310px);box-shadow:12px 0 50px rgba(0,0,0,.25)}.sidebar.open{transform:translateX(0)}.main{margin:0;padding:92px 18px 55px}.mobile-header{display:flex;position:fixed;z-index:15;inset:0 0 auto;height:70px;background:#fff;border-bottom:1px solid var(--line);align-items:center;justify-content:space-between;padding:0 18px}.mobile-header img{width:175px}.mobile-header button{border:0;background:var(--blue-soft);color:var(--navy);width:42px;height:42px;border-radius:11px;font-size:1.2rem}.page-heading{margin-bottom:23px}.stats-grid,.details-grid{grid-template-columns:1fr 1fr;gap:12px}.stat{padding:17px;min-height:125px}.stat strong{font-size:1.65rem}.stat small{font-size:.78rem}.card{padding:20px}.welcome-card,.site-card,.subscription-card{align-items:flex-start;gap:20px;flex-direction:column}.chart{height:200px;gap:3px}.admin-header{padding:0 18px}.admin-header img{width:165px}.admin-header span{display:none}.admin-main{padding:28px 16px 55px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.admin-requests article{grid-template-columns:1fr}.auth-card{padding:30px 23px}.auth-logo{width:210px}}
@media(max-width:440px){.stats-grid,.details-grid{grid-template-columns:1fr}.stat{min-height:112px}.page-list>div{align-items:flex-start}.page-list strong{font-size:.82rem;white-space:nowrap}.inline-form{flex-direction:column}}
