:root{color:#17212b;background:#f4f7f5;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.62}a{color:inherit;text-decoration:none}.portal-shell{background:linear-gradient(135deg,#176b8724,#3c825b26),#eef4f1;place-items:center;min-height:100vh;padding:24px;display:grid}.panel{background:#fffffffa;border:1px solid #dbe5df;border-radius:8px;width:min(100%,480px);padding:28px;box-shadow:0 18px 60px #1c2d2624}.brand{color:#14536f;align-items:center;gap:10px;font-weight:750;display:flex}.brand svg{width:26px;height:26px}h1{letter-spacing:0;margin:18px 0 8px;font-size:2rem;line-height:1.1}h2{letter-spacing:0;margin:0 0 16px;font-size:1.25rem}.muted,.meta{color:#65746f}.meta,small{margin-bottom:0;font-size:.9rem}.tabs{grid-template-columns:repeat(3,1fr);gap:8px;margin:22px 0;display:grid}.tabs button,header button,.inline-action button{color:#25352f;background:#fff;border:1px solid #cbd8d2;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 12px;display:inline-flex}.tabs .active{color:#0e5167;background:#e8f3f6;border-color:#176b87}.tabs svg,.primary svg,header svg{width:18px;height:18px}label{gap:7px;margin-top:16px;font-weight:650;display:grid}input{color:#16202a;background:#fff;border:1px solid #bdcbc5;border-radius:8px;width:100%;min-height:46px;padding:10px 12px}input:focus{border-color:#176b87;outline:3px solid #176b872e}.check{color:#394a43;grid-template-columns:none;align-items:center;gap:10px;font-weight:500;display:flex}.check input{width:18px;min-height:18px}.inline-action{grid-template-columns:auto 1fr;gap:10px;margin-top:12px;display:grid}.primary{color:#fff;background:#176b87;border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:48px;margin-top:20px;font-weight:750;display:inline-flex}.link{text-align:center}.error{color:#a33a3a;font-weight:650}.success{color:#19714d;font-weight:650}.notices{gap:10px;margin:18px 0;display:grid}.notice{background:#f8fbfa;border:1px solid #d7e2dc;border-radius:8px;grid-template-columns:22px 1fr;gap:10px;padding:12px;display:grid}.notice svg{width:20px;height:20px;margin-top:2px}.notice strong{display:block}.notice p{color:#43524c;margin:2px 0}.notice.warning,.notice.maintenance{background:#fff9e8;border-color:#ead59b}.notice.critical{background:#fff1f1;border-color:#e4aaaa}.stages{gap:8px;margin:18px 0 0;padding:0;list-style:none;display:grid}.stages li{color:#7a8982;align-items:center;gap:8px;font-weight:650;display:flex}.stages svg{width:18px;height:18px}.stages .done{color:#19714d}.maintenance-card,.success-card{text-align:center}.maintenance-card img{object-fit:cover;border-radius:8px;width:100%;max-height:220px;margin-bottom:16px}.hero-icon{color:#176b87;width:54px;height:54px}.session-box{text-align:left;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px;display:grid}.session-box div{border:1px solid #dfe7e3;border-radius:8px;padding:12px}.session-box span{color:#65746f;font-size:.88rem;display:block}.session-box strong{margin-top:4px;display:block}.warning-line{color:#85620f;grid-column:1/-1;align-items:center;gap:8px;margin:0;font-weight:700;display:flex}.warning-line svg{width:18px;height:18px}.admin-shell{background:#f6f8f7;min-height:100vh;padding:24px}.admin-shell header{justify-content:space-between;align-items:center;gap:16px;max-width:1120px;margin:0 auto 24px;display:flex}.admin-shell h1{margin:0}.metrics{grid-template-columns:repeat(4,1fr);gap:14px;max-width:1120px;margin:0 auto;display:grid}.metric{background:#fff;border:1px solid #dfe7e3;border-radius:8px;padding:18px}.metric span{color:#65746f;font-size:.92rem;display:block}.metric strong{margin-top:10px;font-size:1.8rem;display:block}.admin-panel{max-width:1120px;margin:20px auto 0}@media (width<=720px){.portal-shell{place-items:start center;padding:16px}.panel{padding:22px}h1{font-size:1.7rem}.tabs,.inline-action,.session-box,.metrics{grid-template-columns:1fr}.admin-shell header{flex-direction:column;align-items:flex-start}}
