:root{--ea-ink:#3a2f2a;--ea-navy:#29251f;--ea-gold:#bf8b45;--ea-pink:#e6b1b9;--ea-cream:#f3efe9;--ea-surface:#fffdf9;--ea-border:#eadfd2;--ea-muted:#82776f;--ea-success:#2f8f68;--ea-warning:#c9852e;--ea-danger:#b74747;font-family:Montserrat,Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ea-ink);background:var(--ea-cream);font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--ea-cream)}button,input,select,textarea{font:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #bf8b4580;outline-offset:2px}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top left,#f9e8e8,transparent 36%),var(--ea-cream)}.auth-card{width:min(430px,100%);padding:40px;background:var(--ea-surface);border:1px solid var(--ea-border);border-radius:22px;box-shadow:0 24px 80px #3a2f2a18}.brand-mark,.avatar{display:grid;place-items:center;background:var(--ea-navy);color:#fff;font-weight:900}.brand-mark{width:52px;height:52px;border-radius:16px;font-size:19px;margin-bottom:28px}.eyebrow{margin:0 0 8px;color:var(--ea-gold);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.auth-card h1,.topbar h1{margin:0;color:var(--ea-ink);font-family:League Spartan,Montserrat,sans-serif;font-size:31px;letter-spacing:-.04em}.muted{color:var(--ea-muted)}.stack{display:grid;gap:16px;margin-top:28px}label{display:grid;gap:8px;color:var(--ea-ink);font-size:13px;font-weight:700}input,select,textarea{width:100%;padding:13px 14px;border:1px solid var(--ea-border);border-radius:9px;color:var(--ea-ink);background:#fff;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--ea-gold);box-shadow:0 0 0 3px #bf8b4520}.primary,.ghost,.danger{border:0;border-radius:9px;padding:12px 16px;font-weight:800;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.primary{background:var(--ea-navy);color:#fff;box-shadow:0 8px 18px #29251f24}.primary:hover{transform:translateY(-1px);box-shadow:0 10px 22px #29251f30}.ghost{background:transparent;color:var(--ea-muted)}.ghost:hover{background:#eadfd255;color:var(--ea-ink)}.error{padding:11px 13px;border-radius:9px;background:#fff0f0;color:var(--ea-danger);font-size:13px}.banner{margin:20px 0}.app-shell{min-height:100vh;display:flex}.sidebar{width:248px;display:flex;flex-direction:column;padding:28px 18px;background:var(--ea-navy);color:#fff}.logo{display:flex;gap:12px;align-items:center;padding:0 10px 44px}.logo span{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--ea-pink);color:var(--ea-navy);font-weight:900}.logo strong,.logo small{display:block}.logo strong{font-family:League Spartan,sans-serif;font-size:20px}.logo small{color:#cdbeb3;font-size:11px;margin-top:4px}nav{display:grid;gap:6px}nav a{padding:13px 14px;border-radius:9px;color:#cdbeb3;font-size:13px;text-decoration:none;cursor:pointer}nav a:hover{background:#ffffff12;color:#fff}nav a.active{background:var(--ea-surface);color:var(--ea-ink);font-weight:800}.sidebar-bottom{margin-top:auto;color:#cdbeb3;font-size:12px}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#73d39b;margin-right:7px;box-shadow:0 0 0 4px #73d39b1c}.content{width:100%;max-width:1500px;padding:34px 48px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:20px}.user-menu{display:flex;align-items:center;gap:10px;color:var(--ea-ink);font-size:13px;font-weight:700}.avatar{width:36px;height:36px;border-radius:50%;font-size:13px;background:var(--ea-gold);color:#fff}.hero{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:42px 0 28px;padding:30px 32px;border-radius:22px;background:linear-gradient(110deg,#f8e5e5,#f7eee6);border:1px solid var(--ea-border)}.hero h2{margin:0;font-family:League Spartan,sans-serif;font-size:29px;letter-spacing:-.03em}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.metric{display:flex;gap:15px;align-items:center;padding:20px;background:var(--ea-surface);border:1px solid var(--ea-border);border-radius:14px}.metric-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;font-size:18px}.metric small,.metric strong{display:block}.metric small{color:var(--ea-muted);font-size:12px}.metric strong{font-family:League Spartan,sans-serif;font-size:25px;margin-top:4px}.blue .metric-icon{color:#8f5361;background:#f6e3e7}.violet .metric-icon{color:#94703a;background:#f7ead2}.green .metric-icon{color:var(--ea-success);background:#e3f8ee}.orange .metric-icon{color:var(--ea-warning);background:#fff1df}.grid{display:grid;grid-template-columns:1.25fr .75fr;gap:18px;margin-top:18px}.panel{padding:25px;background:var(--ea-surface);border:1px solid var(--ea-border);border-radius:14px;box-shadow:0 4px 18px #3a2f2a08}.panel-heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.panel h3{margin:0;font-family:League Spartan,sans-serif;font-size:20px}.pill,.tag{font-size:11px;font-weight:800}.pill{padding:6px 9px;border-radius:20px;background:#e5f8ee;color:var(--ea-success)}.success-box{padding:13px 15px;border:1px solid #b8e5cd;border-radius:9px;background:#ecfbf2;color:var(--ea-success)}.empty{display:grid;place-items:center;gap:7px;padding:30px;color:var(--ea-muted);text-align:center}.empty strong{color:var(--ea-ink)}.empty-icon{font-size:27px;color:#b9a99e}.checklist{display:grid;gap:18px}.check{display:flex;gap:10px;align-items:center;color:var(--ea-ink);font-size:13px}.check .muted{margin-left:auto;font-size:11px}.checkmark{display:grid;place-items:center;width:23px;height:23px;border-radius:7px;background:#fff5e8;color:var(--ea-warning);font-size:12px}.checkmark.done{background:#e5f8ee;color:var(--ea-success)}@media (max-width:900px){.sidebar{width:76px;padding:22px 10px}.logo{padding:0 8px 35px}.logo div,nav a:not(.active){display:none}.logo span{margin:auto}.content{padding:28px 22px}.grid{grid-template-columns:1fr}}@media (max-width:600px){.topbar{align-items:flex-start}.user-menu span{display:none}.hero{display:grid;gap:20px;margin-top:28px}.metrics{grid-template-columns:repeat(2,1fr)}.metric{padding:14px}.metric strong{font-size:20px}.content{padding:24px 16px}}
