.auth-shell{max-width:640px;margin:0 auto}.auth-card{background:#fff;border:1px solid #dbe1ec;border-radius:20px;padding:28px;box-shadow:0 18px 50px -30px rgba(15,24,57,.35)}.auth-grid{display:grid;gap:16px}.auth-label{display:block;margin-bottom:7px;font-size:.9rem;font-weight:600;color:#0f1839}.auth-input,.auth-select{width:100%;min-height:50px;border:1px solid #cfd6e3;border-radius:12px;background:#fff;padding:0 14px;outline:none}.auth-input:focus,.auth-select:focus{border-color:#3e50d4;box-shadow:0 0 0 3px rgba(62,80,212,.12)}.auth-button{width:100%;min-height:50px;border:0;border-radius:12px;background:#0a1029;color:#fff;font-weight:700;padding:0 18px}.auth-button:hover{background:#0f1839}.auth-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.auth-link{color:#2f3fb8;font-weight:600}.auth-muted{color:#64748b;font-size:.875rem}.auth-role-help{margin-top:6px;font-size:.75rem;color:#64748b}.auth-message{margin-bottom:16px;border-radius:12px;padding:12px 14px;font-size:.9rem}.auth-message-error{background:#fff1f2;color:#9f1239;border:1px solid #fecdd3}.auth-message-success{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.auth-hidden{display:none!important}
.app-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#0a1029 0%,#17245c 60%,#2f3fb8 100%);color:#fff;border-radius:24px;padding:30px}.app-hero:after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;right:-80px;top:-90px;background:rgba(255,255,255,.08)}.app-hero>*{position:relative;z-index:1}.app-kicker{font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.75}.app-hero h2{margin-top:7px;color:#fff;font-size:clamp(1.5rem,3vw,2.25rem);font-family:Sora,system-ui,sans-serif;font-weight:700}.app-hero p{margin-top:8px;color:#dbe1ec;max-width:52rem}.app-grid{display:grid;gap:18px}.app-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.app-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.app-card{background:#fff;border:1px solid #dbe1ec;border-radius:18px;padding:20px;box-shadow:0 10px 30px -26px rgba(15,24,57,.45)}.app-card h3{font-family:Sora,system-ui,sans-serif;font-weight:700;color:#0a1029}.app-stat-label{font-size:.78rem;color:#64748b}.app-stat-value{display:block;margin-top:7px;font:700 1.7rem Sora,system-ui,sans-serif;color:#0a1029}.app-actions{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.app-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 16px;border-radius:12px;font-weight:700;text-decoration:none}.app-btn-primary{background:#0a1029;color:#fff}.app-btn-secondary{background:#eef1ff;color:#24328e}.app-btn-light{background:#f7f8fb;color:#0f1839;border:1px solid #e0e5ee}.app-list{display:grid;gap:10px}.app-list-item{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:16px;border:1px solid #e1e5ed;border-radius:14px;background:#fff}.app-list-item h3{font-size:.95rem;font-weight:700;color:#0a1029}.app-list-item p{margin-top:4px;font-size:.82rem;color:#64748b}.app-list-meta{display:flex;flex-direction:column;align-items:flex-end;gap:7px;font-size:.78rem;color:#475569;white-space:nowrap}.app-status{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:.7rem;font-weight:700;text-transform:capitalize;background:#eef2ff;color:#3344a0}.app-status-published,.app-status-approved{background:#ecfdf5;color:#047857}.app-status-pending{background:#fffbeb;color:#a16207}.app-status-rejected{background:#fff1f2;color:#be123c}.app-empty{padding:34px 22px;text-align:center;border:1px dashed #cfd6e3;border-radius:16px;background:#f8f9fc}.app-empty-icon{width:42px;height:42px;margin:0 auto 10px;border-radius:12px;display:grid;place-items:center;background:#e9edff;color:#2f3fb8;font-weight:700}.app-empty h3{font-weight:700;color:#0a1029}.app-empty p{max-width:520px;margin:7px auto 16px;color:#64748b;font-size:.9rem}.app-form{display:grid;gap:18px}.app-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.app-field label{display:block;font-size:.85rem;font-weight:700;color:#0f1839;margin-bottom:7px}.app-field input,.app-field select,.app-field textarea{width:100%;border:1px solid #cfd6e3;border-radius:12px;background:#fff;padding:12px 13px;min-height:48px;outline:none}.app-field textarea{min-height:110px;resize:vertical}.app-field input:focus,.app-field select:focus,.app-field textarea:focus{border-color:#3e50d4;box-shadow:0 0 0 3px rgba(62,80,212,.12)}.app-field small{display:block;margin-top:5px;color:#64748b}.app-callout{border:1px solid #dbe1ec;border-radius:16px;background:#f8f9fc;padding:18px;color:#475569}.app-callout strong{color:#0a1029}.app-callout p{margin-top:5px}.app-message{display:flex;justify-content:space-between;gap:16px;padding:16px;border:1px solid #dbe1ec;border-radius:14px;background:#fff}.app-message.is-unread{border-color:#aab4f0;box-shadow:0 8px 24px -24px #2f3fb8}.app-message-label{font-size:.72rem;font-weight:700;text-transform:uppercase;color:#2f3fb8}.app-message p{margin-top:5px;color:#334155}.app-message time{font-size:.75rem;color:#64748b;white-space:nowrap}@media(max-width:900px){.app-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.app-actions{grid-template-columns:1fr}.app-form-grid,.app-grid-2{grid-template-columns:1fr}}@media(max-width:640px){.auth-card{padding:20px}.app-hero{padding:22px;border-radius:18px}.app-grid-4{grid-template-columns:1fr 1fr}.app-list-item{align-items:flex-start;flex-direction:column}.app-list-meta{align-items:flex-start}.app-message{flex-direction:column}.app-message time{white-space:normal}}

.app-muted,.app-link{color:#64748b;font-size:.82rem}.app-link{color:#2f3fb8;font-weight:700}.app-kicker{display:inline-block}
.app-live-tuition{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px;border:1px solid #dbe1ec;border-radius:14px;background:#fff}.app-live-tuition h3{margin-top:4px;font-weight:700;color:#0a1029}.app-live-tuition p{margin-top:4px;color:#64748b;font-size:.82rem}.app-live-tuition strong{white-space:nowrap;color:#047857}.app-live-badge{display:inline-flex;padding:4px 8px;border-radius:999px;background:#ecfdf5;color:#047857;font-size:.68rem;font-weight:700}@media(max-width:640px){.app-live-tuition{align-items:flex-start;flex-direction:column}.app-live-tuition strong{white-space:normal}}
