:root{--navy:#102344;--blue:#1769e8;--teal:#059b97;--bg:#f4f7fb;--line:#d9e4f2;--muted:#52637d;--white:#fff;--danger:#c62938}*{box-sizing:border-box}body{margin:0;font:16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--navy);background:var(--bg)}a{color:#075dc9}.app{min-height:100vh;display:grid;grid-template-columns:255px 1fr}aside{background:#fff;border-right:1px solid var(--line);padding:26px 18px;position:sticky;top:0;height:100vh}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--navy);font-size:19px;margin:4px 8px 34px}.brand small{display:block;color:var(--teal);font-weight:700}.logo{width:45px;height:45px;border-radius:14px;display:grid;place-items:center;color:#fff;font-weight:800;background:linear-gradient(135deg,var(--blue),var(--teal))}nav{display:grid;gap:6px}.nav{padding:11px 13px;border-radius:11px;text-decoration:none;color:var(--navy);font-weight:600}.nav:hover,.nav.active{background:#eaf2ff;color:#075dc9}.side-note{position:absolute;bottom:24px;left:18px;right:18px;background:#effaf9;padding:15px;border-radius:14px}.side-note p{margin:7px 0;color:var(--muted)}main{min-width:0}header{height:78px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 34px;gap:20px}header h1{font-size:25px;margin:0}.admin-pill{margin-left:auto;background:#edf6ff;padding:9px 14px;border-radius:999px;text-decoration:none;font-weight:700}.mobile{display:none}.content{padding:28px 34px 60px;max-width:1650px}.hero{background:linear-gradient(135deg,#eef6ff,#f8fcff);border:1px solid #dbe9fa;border-radius:22px;padding:38px;margin-bottom:24px}.hero.compact{padding:28px}.hero h2{font-size:clamp(30px,4vw,48px);line-height:1.1;margin:8px 0 12px}.hero p{font-size:18px;color:var(--muted);max-width:950px}.eyebrow{font-weight:800;color:#087e82}.hero-actions{display:flex;gap:10px;margin-top:22px}.btn,.smallbtn,button{border:0;border-radius:10px;background:var(--blue);color:white;padding:10px 16px;font:inherit;font-weight:700;text-decoration:none;cursor:pointer}.btn.secondary{background:#fff;color:var(--navy);border:1px solid var(--line)}.danger{background:#fff0f1;color:var(--danger);padding:7px 10px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:0 0 24px}.stats div,.card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:22px}.stats b{display:block;font-size:32px}.stats span{color:var(--muted)}.grid{display:grid;gap:16px}.grid.three{grid-template-columns:repeat(3,1fr)}.card h3{margin-top:0}.filters{display:grid;grid-template-columns:minmax(220px,2fr) repeat(3,minmax(150px,1fr)) auto auto;gap:10px;background:#fff;padding:16px;border:1px solid var(--line);border-radius:16px;margin-bottom:16px}.filters input,.filters select,.form-grid input,.form-grid textarea{width:100%;border:1px solid #cbd8e8;border-radius:9px;padding:10px;font:inherit;background:#fff}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:17px}table{border-collapse:collapse;width:100%;min-width:1250px}th,td{text-align:left;padding:13px 12px;border-bottom:1px solid #e5edf6;vertical-align:top}th{position:sticky;top:0;background:#f4f8fe;z-index:1;font-size:14px}td small{display:block;color:var(--muted);margin-top:3px}.check{text-align:center}.check input{width:19px;height:19px}.smallbtn{display:inline-block;padding:7px 10px}.admin-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:18px;margin-bottom:18px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px;margin-bottom:16px}.form-grid label{font-weight:700}.form-grid .wide{grid-column:1/-1}.form-grid textarea{min-height:82px}.inline{display:flex!important;align-items:center;gap:8px}.inline input{width:auto}.card hr{border:0;border-top:1px solid var(--line);margin:22px 0}code{background:#eef2f7;padding:2px 5px;border-radius:5px}
@media(max-width:950px){.app{grid-template-columns:1fr}aside{position:fixed;z-index:5;transform:translateX(-100%);width:270px;transition:.2s}.menu-open aside{transform:none}.mobile{display:block;background:#eef4fc;color:var(--navy);padding:7px 10px}.content{padding:20px}.grid.three,.stats,.admin-grid{grid-template-columns:1fr 1fr}.filters{grid-template-columns:1fr 1fr}.side-note{display:none}}
@media(max-width:620px){.grid.three,.stats,.admin-grid,.form-grid,.filters{grid-template-columns:1fr}header{padding:0 18px}.content{padding:15px}.hero{padding:24px}.admin-pill{display:none}}
.auth-body{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#eef6ff,#f7fbff);padding:24px}.auth-card{width:min(460px,100%);background:#fff;border:1px solid #d9e5f3;border-radius:24px;padding:34px;box-shadow:0 24px 70px rgba(20,49,91,.14)}.auth-brand{margin-bottom:28px}.auth-card h1{font-size:2rem;margin:.4rem 0}.auth-card p{color:#52627a}.auth-form{display:grid;gap:16px;margin-top:24px}.auth-form label,.form-grid label{display:grid;gap:7px;font-weight:700}.auth-form input,.form-grid input,.form-grid select,.form-grid textarea{width:100%;box-sizing:border-box}.auth-note{font-size:.88rem;margin-top:20px}.flash{padding:12px 14px;border-radius:12px;margin:12px 0;background:#edf6ff;border:1px solid #c8def5}.flash.error{background:#fff1f1;border-color:#f1c7c7;color:#8b1f1f}.logout-form{margin-top:12px}.link-button{background:none!important;border:0!important;padding:0!important;color:#1869d4!important;text-decoration:underline;box-shadow:none!important}.user-pill,.role{display:inline-flex;align-items:center;border-radius:999px;background:#eef5ff;color:#1959a6;padding:7px 12px;font-size:.86rem;font-weight:700}.side-note .role{padding:3px 8px;margin-top:6px}.form-grid small{font-weight:400;color:#687891}.admin-grid+.card{margin-top:20px}
