@font-face{font-family:Onest;src:url('../panel/assets/Onest.ttf')}
@font-face{font-family:Bricolage;src:url('../panel/assets/BricolageGrotesque.ttf')}
@font-face{font-family:JetBrains;src:url('../panel/assets/JetBrainsMono.ttf')}
:root{color-scheme:light}
*{box-sizing:border-box}
body{margin:0;background:#f5f3ef;color:#111110;font:15px/1.5 Onest,Arial,sans-serif}
button,input{font:inherit}
button{cursor:pointer}
button:disabled{opacity:.5;cursor:not-allowed}
a{color:inherit}
.wrap{width:min(100% - 36px,1120px);margin:auto}
.top{background:#fffdfa;border-bottom:1px solid #e7e2da}
.top-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0}
.top img{width:178px;max-width:45vw;display:block}
.top-links{display:flex;align-items:center;gap:18px}
.top a,.text-button{font-size:12px;font-weight:700;text-decoration:none}
.text-button{border:0;background:transparent;padding:8px}
.text-button:hover,.top a:hover{text-decoration:underline}
.main{padding:clamp(36px,7vw,76px) 0 90px}
.eyebrow{margin:0 0 12px;color:#ff3b2f;font:700 10px JetBrains,monospace;letter-spacing:.16em}
h1,h2,h3{font-family:Bricolage,Arial,sans-serif;letter-spacing:-.04em;line-height:1.07}
h1{font-size:clamp(38px,6vw,66px);margin:0 0 10px}
h2{font-size:23px;margin:0 0 14px}
h3{font-size:19px;margin:0}
p{margin:0}
.sub{color:#68645f}
.hero{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:30px}
.pill{display:inline-flex;align-items:center;border-radius:999px;background:#ffdcd2;color:#5b201b;padding:9px 14px;font-size:12px;font-weight:800;white-space:nowrap}
.pill.done{background:#dff0de;color:#245b2a}
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:24px 0}
.card,.panel{background:#fffdfa;border:1px solid #e7e2da;border-radius:13px}
.card{padding:22px;min-height:138px}
.card span{display:block;color:#68645f;font:700 10px JetBrains,monospace;letter-spacing:.08em;text-transform:uppercase}
.card strong{display:block;font:800 clamp(27px,3vw,41px) Bricolage,Arial,sans-serif;letter-spacing:-.05em;margin-top:20px}
.card small{color:#68645f;font-size:12px}
.card.accent{background:#ff3b2f;border-color:#ff3b2f}
.card.accent span,.card.accent small{color:#3a1715}
.panel{padding:26px;margin-top:16px}
.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.progress{height:12px;background:#ece8e1;border-radius:99px;overflow:hidden;margin:22px 0 10px}
.progress span{display:block;height:100%;background:#ff3b2f;border-radius:inherit;transition:width .3s}
.progress-note{color:#68645f;font-size:13px}
.rows{display:grid;gap:0;margin-top:14px}
.row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 0;border-top:1px solid #eeeae4}
.row div{min-width:0}
.row strong{display:block;font-size:14px}
.row small{display:block;color:#68645f;font-size:12px;margin-top:2px}
.row em{font-style:normal;font-size:11px;font-weight:800;color:#68645f;white-space:nowrap}
.row em.published{color:#237329}
.muted{color:#68645f}
.hint{font-size:12px;color:#68645f;line-height:1.6;margin-top:15px}
.status-text{font-weight:800}
.status-text.warn{color:#c22b23}
.split{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.login-layout{min-height:calc(100vh - 77px);display:grid;place-items:center;padding:44px 18px}
.login-card{width:min(440px,100%);background:#fffdfa;border:1px solid #e7e2da;border-radius:16px;padding:clamp(25px,5vw,42px);box-shadow:0 24px 65px #1111100d}
.login-card h1{font-size:45px}
.login-card>p:not(.eyebrow){color:#68645f;margin:0 0 28px}
.login-card label{display:block;font-size:12px;font-weight:800;margin-top:16px}
.login-card input{display:block;width:100%;height:46px;border:1px solid #d8d2c9;border-radius:7px;background:white;padding:11px;margin-top:7px;color:#111110}
.login-card input:focus{outline:2px solid #ff3b2f;outline-offset:1px}
.primary{border:0;border-radius:8px;background:#ff3b2f;color:#111110;font-weight:800;padding:13px 17px}
.primary.full{width:100%;margin-top:24px}
.error{background:#ffe2db;color:#8a251b;padding:12px;border-radius:7px;font-size:12px;margin-top:16px}
.empty{padding:30px;background:#fffdfa;border:1px solid #e7e2da;border-radius:13px}
@media(max-width:760px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.split{grid-template-columns:1fr}.hero{align-items:flex-start;flex-direction:column}.card{min-height:125px}}
@media(max-width:430px){.top-inner{align-items:flex-start}.top-links{gap:8px}.top img{width:130px}.card{padding:16px;min-height:112px}.card strong{margin-top:16px}.panel{padding:20px}.row{align-items:flex-start}}
