@font-face{font-family:"Hanken Grotesk";font-style:normal;font-weight:400 900;font-display:swap;src:url("../fonts/hanken-grotesk-latin-variable.woff2") format("woff2")}
:root{--sidebar:284px;--green:#008a70;--green-dark:#006b58;--ink:#082238;--muted:#657686;--line:#dce7e5;--soft:#eef7f5}
*{box-sizing:border-box}body{margin:0;font:15px/1.5 "Hanken Grotesk",system-ui,sans-serif;color:var(--ink);background:#f4f8fb}
a{color:var(--green-dark)}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}
:focus-visible{outline:3px solid #00a788;outline-offset:3px}h1,h2,p{margin-top:0}h1{font-size:clamp(26px,3vw,36px);line-height:1.18;letter-spacing:-.035em;margin-bottom:10px}h2{font-size:19px;letter-spacing:-.02em;margin-bottom:8px}
svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.symbols{position:absolute;width:0;height:0;overflow:hidden}.icon{width:24px;height:24px}
.skip-link{position:fixed;left:15px;top:10px;z-index:100;padding:10px 16px;background:var(--green-dark);color:white;transform:translateY(-160%);border-radius:10px}.skip-link:focus{transform:translateY(0)}
.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);height:100dvh;background:#fff;border-right:1px solid var(--line);z-index:40;display:flex;flex-direction:column;box-shadow:10px 0 30px #11323f0b;transition:width .2s,transform .2s}
.sidebar-brand{height:76px;flex-shrink:0;padding:14px 16px 14px 22px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}
.sidebar-brand a{display:flex;align-items:center;min-width:0;text-decoration:none}.sidebar-brand img{width:184px;max-width:100%;height:39px;object-fit:contain}.brand-short{display:none;font-weight:900;font-size:20px;color:var(--green-dark)}
.icon-button{width:38px;height:38px;border:0;background:transparent;border-radius:10px;display:inline-grid;place-items:center;color:#3f5964;flex-shrink:0}
.icon-button:hover{background:var(--soft)}.icon-button svg{width:22px;height:22px}
.admin-context{margin:16px 14px 12px;padding:11px;border:1px solid #d6e8e4;border-radius:15px;display:flex;align-items:center;gap:11px;background:linear-gradient(135deg,#f4faf8,#f8fbfb)}
.context-icon{height:42px;width:42px;flex-shrink:0;display:grid;place-items:center;border-radius:12px;background:#dff2ec;color:var(--green-dark)}.context-icon svg{width:23px;height:23px}
.context-copy{min-width:0}.context-copy small{font-size:11px;display:block;color:var(--muted)}.context-copy strong{font-size:16px}
.sidebar-nav{padding:10px 14px;overflow-y:auto;flex:1}.nav-caption{font-size:10px;letter-spacing:.12em;font-weight:800;color:#7b8a93;padding:4px 12px;margin-bottom:12px}
.sidebar-nav a{display:flex;align-items:center;gap:12px;padding:12px;border-radius:12px;color:#465d6b;font-weight:600;text-decoration:none;margin-bottom:5px;min-height:47px}
.sidebar-nav a svg,.sidebar-footer svg{width:21px;height:21px;flex-shrink:0}.sidebar-nav a:hover{background:#f4f8f7}.sidebar-nav a.active{background:#e5f4ef;color:var(--green-dark);box-shadow:inset 3px 0 var(--green);font-weight:800}
.sidebar-footer{padding:18px;border-top:1px solid var(--line)}.sidebar-footer a{display:flex;align-items:center;gap:12px;text-decoration:none;color:#48626d;font-size:13px}.sidebar-footer small{display:block;font-size:11px;color:var(--muted);margin-top:3px}
.admin-main{margin-left:var(--sidebar);transition:margin-left .2s;min-height:100dvh;display:flex;flex-direction:column;min-width:0}
.topbar{min-height:76px;display:flex;align-items:center;gap:16px;padding:12px 32px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.breadcrumb{display:flex;flex-direction:column;gap:1px}.breadcrumb>span{font-size:11px;color:var(--muted)}.breadcrumb strong{font-size:15px}
.account{display:flex;align-items:center;gap:10px;margin-left:auto;min-width:0}.account-avatar{background:#e5f4ef;color:var(--green-dark);width:36px;height:36px;display:grid;place-items:center;border-radius:12px;font-weight:800;flex-shrink:0}
.account-name{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700}.account-name small{display:block;color:var(--muted);font-size:10px;font-weight:500}
.button-link{border:0;background:none;color:var(--green-dark);font-weight:700;padding:10px}.mobile-menu{display:none}
.page-content{padding:32px;max-width:1720px;width:100%;margin:0 auto;flex:1;outline:none}.page-footer{padding:16px 32px;font-size:11px;color:var(--muted)}
.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.page-heading p{margin:0;color:var(--muted)}
.eyebrow{font-size:10px;font-weight:800;letter-spacing:.13em;color:var(--green-dark);display:block;margin-bottom:9px}
.update-note{font-size:12px;text-align:right;color:var(--muted);flex-shrink:0}.update-note small{display:block;font-size:10px;margin-top:4px}
.period-filter{display:flex;align-items:end;flex-wrap:wrap;gap:14px;padding:18px 20px;background:#fff;border:1px solid var(--line);border-radius:16px;margin-bottom:24px}
.period-filter label{display:block;font-size:12px;font-weight:700;margin-bottom:5px}.period-filter .muted{font-size:12px;align-self:center;margin-left:auto}
input:not([type=checkbox]):not([type=hidden]){border:1px solid #cddbdc;background:#fff;border-radius:9px;padding:10px 12px;color:var(--ink);min-width:0}
.button{display:inline-flex;align-items:center;justify-content:center;gap:15px;padding:11px 18px;border:1px solid transparent;border-radius:10px;font-weight:700;text-decoration:none;line-height:1.5}
.primary{background:var(--green);color:#fff}.primary:hover{background:var(--green-dark);color:#fff}
.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.metric{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px}
.metric>span{font-size:13px;color:#4c6572;font-weight:600}.metric strong{display:block;font-size:35px;line-height:1.2;margin:12px 0 8px;letter-spacing:-.04em}.metric small{color:var(--muted);font-size:11px}
.panel{background:#fff;border:1px solid var(--line);border-radius:17px;padding:24px;margin-bottom:20px;min-width:0}
.panel-heading{display:flex;justify-content:space-between;align-items:start;gap:12px}.panel-heading p{font-size:12px;color:var(--muted);margin-bottom:5px}.chart-peak{color:var(--green-dark);background:var(--soft);padding:5px 8px;font-size:11px;white-space:nowrap;border-radius:7px}
.chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.chart-grid .panel{margin-bottom:0}.chart-grid{margin-bottom:20px}
.line-chart{display:block;width:100%;height:auto;max-height:280px;margin-top:12px;overflow:visible}.chart-gridline{stroke:#e3ecee;stroke-dasharray:4 4;stroke-width:1}.chart-area{fill:#008a7010;stroke:none}.chart-line{stroke:var(--green);stroke-width:2.5}.chart-point{fill:white;stroke:var(--green);stroke-width:1.5}.chart-axis{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);padding:0 4%}
.chart-empty{min-height:228px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:9px;color:var(--muted);font-size:12px}.chart-empty svg{width:30px;height:30px;color:#88afa4}.chart-empty strong{font-size:14px;color:#526d76}
.daily-table summary{font-weight:700;cursor:pointer}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px;margin-top:16px;text-align:right}th,td{padding:11px 14px;border-bottom:1px solid #edf1f2;white-space:nowrap}th{color:var(--muted);font-size:11px;background:#f7fafb}th:first-child,td:first-child{text-align:left}
.report-notes{font-size:12px;color:var(--muted);line-height:1.65}.report-notes p{margin-bottom:8px}
.profile-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.notice{background:#e9f5f0;border:1px solid #cde4da;border-radius:12px;padding:16px 20px;margin-bottom:24px;font-size:13px;color:#295c50}
.profile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.breakdown{padding:0;list-style:none}.breakdown li{margin:18px 0}.breakdown li>div{display:flex;align-items:start;justify-content:space-between;gap:12px;font-size:13px}.breakdown strong{white-space:nowrap}.breakdown small{font-size:11px;color:var(--muted);font-weight:400}.bar-track{display:block;height:7px;background:#eef4f2;border-radius:5px;overflow:hidden;margin-top:8px}.bar-track>span{display:block;height:100%;background:#19a386;border-radius:5px}.empty-description{color:var(--muted);font-size:13px;margin:22px 0}
.empty-state{max-width:740px}.muted{color:var(--muted)}
.auth-body{background:radial-gradient(ellipse at 0 0,#e2f2ec,transparent 65%),#f4f8fb}.auth-wrap{max-width:480px;margin:0 auto;padding:52px 22px;min-height:100dvh;display:flex;flex-direction:column;justify-content:center}.auth-brand{display:block;text-align:center;margin-bottom:26px}.auth-brand img{width:220px;max-width:100%;height:52px;object-fit:contain}
.auth-card{background:#fff;border:1px solid var(--line);box-shadow:0 20px 60px #11323f0b;border-radius:22px;padding:32px}.auth-card h1{font-size:29px;margin-top:14px}.auth-card>.muted{font-size:14px}.auth-form{display:flex;flex-direction:column;margin-top:24px;gap:7px}.auth-form>label:not(.check){font-size:13px;font-weight:700;margin-top:8px}.auth-form .button{margin-top:12px;justify-content:space-between}.check{display:flex;align-items:center;gap:8px;font-size:13px;margin:12px 0 0}.check input{accent-color:var(--green);width:17px;height:17px}
.auth-help{font-size:12px;margin:24px 0 0}.auth-help a{text-decoration:none}.auth-footer{text-align:center;color:var(--muted);font-size:11px;margin-top:24px}.validation{color:#a32d36;font-size:13px}.validation ul{padding-left:18px}.validation-summary-valid,.field-validation-valid{display:none}
.sidebar-overlay[hidden]{display:none}.sidebar-overlay{position:fixed;inset:0;background:#08223865;border:0;z-index:30}
@media(min-width:1001px){.sidebar-collapsed{--sidebar:80px}.sidebar-collapsed .sidebar-brand{padding:14px 10px;flex-direction:column;height:106px;gap:4px}.sidebar-collapsed .sidebar-brand img{display:none}.sidebar-collapsed .brand-short{display:block}.sidebar-collapsed .sidebar-brand button svg{transform:rotate(180deg)}.sidebar-collapsed .admin-context{margin:12px 10px;padding:8px;border:0;background:transparent}.sidebar-collapsed .context-icon{width:42px}.sidebar-collapsed .context-copy,.sidebar-collapsed .nav-caption,.sidebar-collapsed .sidebar-nav a span,.sidebar-collapsed .sidebar-footer a span{display:none}.sidebar-collapsed .sidebar-nav{padding:10px}.sidebar-collapsed .sidebar-nav a{justify-content:center;padding:12px 0}.sidebar-collapsed .sidebar-footer a{justify-content:center}}
@media(max-width:1250px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-grid{grid-template-columns:1fr}.page-content{padding:24px}.chart-grid{grid-template-columns:1fr}.period-filter .muted{margin-left:0}}
@media(max-width:1000px){.sidebar{transform:translateX(-100%);width:284px}.menu-open .sidebar{transform:translateX(0)}.admin-main{margin-left:0}.mobile-menu{display:inline-grid}.topbar{padding:12px 20px}.menu-open{overflow:hidden}.sidebar-brand button svg{transform:rotate(0)}}
@media(max-width:600px){.page-content{padding:22px 16px}.topbar{padding:10px 12px;gap:8px}.account-name,.account-avatar{display:none}.breadcrumb strong{font-size:13px}.page-heading{display:block}.update-note{display:block;text-align:left;margin-top:14px}.update-note small{display:inline;margin-left:8px}.metrics{gap:10px}.metric{padding:16px 12px}.metric strong{font-size:29px}.metric small{font-size:10px}.metric>span{font-size:12px}.period-filter{padding:15px;gap:10px}.period-filter>div{flex:1;min-width:120px}.period-filter input{width:100%}.period-filter .button{width:100%}.period-filter .muted{width:100%;text-align:center}.panel{padding:18px}.panel-heading{display:block}.chart-peak{display:inline-block;margin-top:8px}.profile-metrics{grid-template-columns:1fr}.auth-wrap{padding:28px 16px}.auth-card{padding:25px}.auth-card h1{font-size:27px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
