:root{--navy: #1B2950;--navy-ink: #12172B;--navy-700: #24335f;--accent: #1ECBE2;--accent-soft: #E4FAFD;--bg: #F5F6FA;--card: #ffffff;--border: #E5E7F0;--border-strong: #D4D8E6;--text: #171B2E;--muted: #6C7290;--muted-soft: #9297B3;--ok: #15803D;--ok-soft: #E4F7EA;--danger: #C0311A;--danger-soft: #FBE9E5;--warn: #A9560B;--warn-soft: #FBEEDC;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--shadow-sm: 0 1px 2px rgba(18, 23, 43, .04);--shadow-md: 0 8px 24px rgba(18, 23, 43, .07);--shadow-lg: 0 24px 60px rgba(18, 23, 43, .16);--font-sans: "Plus Jakarta Sans", -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);font-size:14px;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-sans);letter-spacing:-.02em;color:var(--navy-ink)}.muted{color:var(--muted)}.small{font-size:.8rem}.strong{font-weight:600}.center{text-align:center}.block{display:block}code{font-family:var(--font-mono);background:#eef0f8;padding:2px 6px;border-radius:5px;font-size:.8em;color:var(--navy-700)}code.block{display:block;margin:6px 0;padding:8px 10px;white-space:pre-wrap}.brand{display:flex;align-items:center;gap:11px}.brand-mark{width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,var(--navy) 0%,#2B3F7A 55%,var(--accent) 130%);color:#fff;font-weight:800;display:grid;place-items:center;box-shadow:var(--shadow-sm),inset 0 1px #ffffff2e;letter-spacing:-.02em}.brand.small .brand-mark{width:30px;height:30px;border-radius:9px;font-size:.9rem}.brand-name{font-weight:700;color:var(--navy-ink);letter-spacing:-.01em}.brand-sub{font-size:.75rem;color:var(--muted)}.auth-screen{min-height:100%;display:grid;place-items:center;padding:24px;background:radial-gradient(900px 480px at 12% -8%,rgba(30,203,226,.16),transparent 60%),radial-gradient(900px 520px at 88% 108%,rgba(27,41,80,.14),transparent 60%),var(--bg)}.auth-card{width:100%;max-width:400px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:32px;box-shadow:var(--shadow-lg)}.auth-card h1{margin:20px 0 4px;font-size:1.5rem;font-weight:700}.auth-card label{display:block;margin:14px 0 6px;font-weight:600;font-size:.8rem;color:var(--muted)}.app-shell{min-height:100%;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;padding:13px 26px;background:var(--card);border-bottom:1px solid var(--border)}.topbar-right{display:flex;align-items:center;gap:16px}.topbar-right .muted{font-size:.85rem}.content{width:100%;margin:0 auto;padding:32px 24px 64px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:20px}.page-head h1{margin:0 0 3px;font-size:1.7rem;font-weight:800}.page-head p{margin:0}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md)}.card.pad{padding:26px}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:14px 18px;border-bottom:1px solid var(--border);vertical-align:middle}.table th{background:#fafafd;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted-soft)}.table tr:last-child td{border-bottom:none}.table tbody tr{transition:background-color .12s ease}.table tbody tr:hover{background:#fafbfe}.school-cell{display:flex;align-items:center;gap:11px}.logo{width:30px;height:30px;border-radius:8px;object-fit:contain;border:1px solid var(--border);background:#fff}.avatar{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;background:var(--accent-soft);color:var(--navy);font-weight:700}.badge{padding:3px 10px;border-radius:999px;font-size:.74rem;font-weight:700;letter-spacing:.01em}.badge.ok{background:var(--ok-soft);color:var(--ok)}.badge.muted{background:#eef0f8;color:var(--muted)}.badge.danger{background:var(--danger-soft);color:var(--danger)}.ok-text{color:var(--ok);font-weight:600}.subdomain{font-family:var(--font-mono);font-size:.86rem;color:var(--navy-700)}.btn{border:1px solid transparent;border-radius:var(--radius-sm);padding:9px 16px;font-family:var(--font-sans);font-weight:700;font-size:.86rem;cursor:pointer;background:#eef0f8;color:var(--text);transition:filter .12s ease,transform .12s ease,box-shadow .12s ease,background-color .12s ease}.btn:hover{filter:brightness(.97)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn.primary{background:var(--navy);color:#fff;box-shadow:var(--shadow-sm)}.btn.primary:hover{background:var(--navy-700)}.btn.outline{background:#fff;border-color:var(--border-strong)}.btn.ghost{background:transparent}.btn.danger{background:var(--danger-soft);color:var(--danger)}.btn.danger:hover{background:#f6d9d3}.btn.danger.primary{background:var(--danger);color:#fff}.btn.danger.primary:hover{background:#a32815}.btn.small{padding:6px 12px;font-size:.8rem}.btn.block{width:100%;margin-top:20px}input,select,textarea{width:100%;padding:9px 12px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:.9rem;background:#fff;color:var(--text);transition:border-color .12s ease,box-shadow .12s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #1ecbe229}input[type=color]{width:44px;height:38px;padding:3px}.field label{display:block;margin-bottom:6px;font-weight:700;font-size:.78rem;color:var(--muted)}.hint{margin-top:5px;font-size:.76rem;color:var(--muted)}.test-email-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.test-email-row .hint{margin-top:0}.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field.span2{grid-column:1 / -1}.input-group{display:flex}.input-group input{border-top-right-radius:0;border-bottom-right-radius:0}.input-group .suffix{display:flex;align-items:center;padding:0 12px;background:#f1f2f9;border:1px solid var(--border-strong);border-left:none;border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--muted);font-size:.85rem;white-space:nowrap}.color-row{display:flex;gap:8px}.logo-preview{height:40px;margin-top:8px}.stepper{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:26px}.step{display:flex;align-items:center;gap:8px}.dot{width:30px;height:30px;border-radius:999px;display:grid;place-items:center;background:#eef0f8;color:var(--muted-soft);font-weight:700;font-size:.85rem;transition:background-color .15s ease,color .15s ease}.dot.active{background:var(--navy);color:#fff}.step-label{font-weight:600;color:var(--muted-soft)}.step-label.current{color:var(--navy-ink)}.step-line{width:22px;height:2px;background:var(--border)}.review-item{background:#fafbfe;border:1px solid var(--border);border-radius:var(--radius-sm);padding:11px 13px;display:flex;flex-direction:column;gap:3px}.wizard-nav{display:flex;justify-content:space-between;margin-top:28px;padding-top:20px;border-top:1px solid var(--border)}.alert{border-radius:var(--radius-sm);padding:11px 15px;font-size:.85rem;line-height:1.5}.alert.info{background:var(--accent-soft);color:#075d6b}.alert.warn{background:var(--warn-soft);color:var(--warn)}.alert.error{background:var(--danger-soft);color:var(--danger)}.alert.success{background:var(--ok-soft);color:var(--ok)}.alert.floating{position:fixed;top:18px;right:18px;z-index:50;box-shadow:var(--shadow-lg);max-width:380px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#12172b80;display:grid;place-items:center;padding:20px;z-index:100}.modal{width:100%;max-width:440px;background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:28px}.modal h2{margin:0 0 8px;font-size:1.2rem;font-weight:800}.modal p{margin:0 0 4px;color:var(--muted);line-height:1.55}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}@media(max-width:640px){.grid{grid-template-columns:1fr}.page-head{flex-direction:column;align-items:stretch}}
