:root{--admin-ink:#332b40;--admin-violet:#7958d7;--admin-line:#e7dff0}*{box-sizing:border-box}body{color:var(--admin-ink);background:#faf7fd;margin:0}.admin-login{background:radial-gradient(circle at 70% 10%,#e8ddff,#0000 28rem),#fbf8ff;place-items:center;min-height:100vh;padding:24px;display:grid}.admin-login form,.admin-access-denied{border:1px solid var(--admin-line);text-align:center;background:#ffffffeb;border-radius:28px;width:min(430px,100%);padding:42px;box-shadow:0 24px 70px #3a2b4d21}.admin-login form>span,.admin-access-denied>span{width:52px;height:52px;color:var(--admin-violet);background:#eee8ff;border-radius:16px;place-items:center;margin:0 auto 18px;font-size:22px;display:grid}.admin-login p,.admin-dashboard header p{color:var(--admin-violet);letter-spacing:.16em;margin:0;font:800 10px/1 Arial,sans-serif}.admin-login h1{margin:12px 0 28px;font-size:30px}.admin-access-copy{color:#766d7e;margin:-12px 0 20px;font-size:13px;line-height:1.65}.admin-access-denied a,.admin-access-denied button{border:1px solid var(--admin-line);width:100%;min-height:46px;color:var(--admin-ink);cursor:pointer;background:#fff;border-radius:12px;place-content:center;margin-top:9px;font-size:12px;font-weight:800;text-decoration:none;display:block}.admin-loading{color:#6f6578;font-size:13px}.admin-login label{text-align:left;gap:8px;font-size:12px;font-weight:800;display:grid}.admin-login input{border:1px solid var(--admin-line);border-radius:12px;outline:none;min-height:48px;padding:0 14px;font-size:16px}.admin-login input:focus{border-color:var(--admin-violet);box-shadow:0 0 0 3px #7958d71a}.admin-login button{background:var(--admin-ink);color:#fff;cursor:pointer;border:0;border-radius:12px;width:100%;min-height:48px;margin-top:14px;font-weight:800}.admin-login a{color:#756b7e;margin-top:18px;font-size:12px;display:inline-block}.admin-error{color:#a13f39;background:#fff0ef;border-radius:10px;margin-top:12px;padding:10px;font-size:12px}.admin-dashboard{width:min(1180px,100% - 40px);margin:0 auto;padding:54px 0 70px}.admin-dashboard header{justify-content:space-between;align-items:end;margin-bottom:30px;display:flex}.admin-dashboard h1{letter-spacing:-.05em;margin:10px 0 0;font-size:clamp(32px,5vw,48px)}.admin-dashboard header>div:last-child{gap:8px;display:flex}.admin-dashboard header button,.admin-dashboard header a{border:1px solid var(--admin-line);min-height:38px;color:var(--admin-ink);cursor:pointer;background:#fff;border-radius:10px;place-items:center;padding:0 14px;font-size:12px;font-weight:800;text-decoration:none;display:grid}.metric-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.metric-grid article,.chart-grid article{border:1px solid var(--admin-line);background:#fff;border-radius:20px;padding:23px;box-shadow:0 12px 32px #3a2b4d0d}.metric-grid span{color:#7e7488;margin-bottom:12px;font-size:12px;display:block}.metric-grid strong{letter-spacing:-.05em;font-size:32px}.metric-grid small{color:#978da0;margin-left:4px}.chart-grid{grid-template-columns:repeat(2,1fr);gap:12px;margin-top:12px;display:grid}.chart-grid h2{margin:0 0 20px;font-size:17px}.admin-bars{gap:11px;display:grid}.admin-bar{grid-template-columns:82px 1fr 42px;align-items:center;gap:10px;display:grid}.admin-bar span,.admin-bar strong{font-size:11px}.admin-bar strong{text-align:right}.admin-bar i{background:#f0ebf5;border-radius:99px;height:8px;overflow:hidden}.admin-bar b{border-radius:inherit;background:linear-gradient(90deg, #a88bec, var(--admin-violet));height:100%;display:block}.admin-empty{color:#8d8495;font-size:12px}.privacy-note{color:#8b8193;text-align:center;margin:22px 0 0;font-size:11px}@media (width<=900px){.metric-grid{grid-template-columns:repeat(2,1fr)}.chart-grid{grid-template-columns:1fr}}@media (width<=560px){.admin-login form{padding:34px 22px}.admin-dashboard{width:min(100% - 24px,1180px);padding-top:30px}.admin-dashboard header{align-items:flex-start;gap:16px}.admin-dashboard header>div:last-child{flex-direction:column}.metric-grid{grid-template-columns:1fr 1fr}.metric-grid article{padding:18px}.metric-grid strong{font-size:27px}.chart-grid article{padding:18px 15px}.admin-bar{grid-template-columns:70px 1fr 35px}}
