.mo-app-shell{min-height:100vh;display:grid;grid-template-columns:248px 1fr;background:var(--mo-bg)}@media(max-width:860px){.mo-app-shell{grid-template-columns:1fr}}.mo-app-sidebar{padding:28px 20px;background:var(--mo-brand-900);color:#f4f5f8;display:flex;flex-direction:column;gap:32px}@media(max-width:860px){.mo-app-sidebar{display:none}}.mo-app-logo{height:20px;width:auto;filter:invert(1)}.mo-app-sidebar nav{display:flex;flex-direction:column;gap:4px}.mo-app-navlink{padding:11px 14px;border-radius:var(--mo-radius-sm);color:#f4f5f8b8;text-decoration:none;font-size:.9rem;font-weight:500;transition:background .15s ease,color .15s ease}.mo-app-navlink:hover{background:#ffffff0f;color:#fff}.mo-app-navlink.is-active{background:linear-gradient(135deg,var(--mo-accent-strong),var(--mo-accent));color:#fff}.mo-app-body{display:flex;flex-direction:column;min-width:0}.mo-app-topbar{display:flex;align-items:center;justify-content:flex-end;gap:20px;padding:18px 32px;border-bottom:1px solid var(--mo-border);background:var(--mo-surface)}.mo-app-user{display:flex;flex-direction:column;align-items:flex-end;line-height:1.3}.mo-app-user-name{font-weight:600;font-size:.9rem}.mo-app-user-role{font-size:.76rem;color:var(--mo-ink-muted)}.mo-app-logout{padding:8px 16px;border-radius:var(--mo-radius-pill);border:1px solid var(--mo-border);background:transparent;color:var(--mo-ink);font-size:.82rem;font-weight:600;cursor:pointer}.mo-app-logout:hover{background:var(--mo-surface-muted)}.mo-app-content{flex:1;padding:clamp(20px,3vw,40px)}.mo-changepw-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--mo-bg)}.mo-changepw-card{width:100%;max-width:420px;padding:clamp(28px,4vw,40px);border-radius:var(--mo-radius-lg);background:var(--mo-surface);border:1px solid var(--mo-border);box-shadow:var(--mo-shadow-md);display:flex;flex-direction:column;gap:20px}.mo-changepw-card h1{margin:0;font-family:var(--mo-font-display);font-size:1.4rem;font-weight:600}.mo-changepw-card>p{margin:-12px 0 0;color:var(--mo-ink-muted);font-size:.9rem;line-height:1.5}.mo-changepw-card form{display:flex;flex-direction:column;gap:18px}.mo-changepw-logout{align-self:center;background:none;border:none;color:var(--mo-ink-muted);font-size:.82rem;cursor:pointer;text-decoration:underline}.mo-dashboard{display:flex;flex-direction:column;gap:32px}.mo-dashboard-eyebrow{margin:0 0 6px;font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--mo-accent-strong)}.mo-dashboard header h1{margin:0 0 6px;font-family:var(--mo-font-display);font-size:clamp(1.6rem,3vw,2.1rem)}.mo-dashboard-sub{margin:0;color:var(--mo-ink-muted)}.mo-dashboard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px}.mo-dashboard-tile{display:flex;align-items:center;justify-content:center;text-align:center;padding:28px 16px;min-height:96px;border-radius:var(--mo-radius-md);background:var(--mo-surface);border:1px solid var(--mo-border);color:var(--mo-ink);text-decoration:none;font-weight:600;font-size:.95rem;box-shadow:var(--mo-shadow-sm);transition:transform .15s var(--mo-ease),box-shadow .15s var(--mo-ease)}.mo-dashboard-tile:hover{transform:translateY(-2px);box-shadow:var(--mo-shadow-md)}.mo-dashboard-empty{color:var(--mo-ink-muted)}.mo-status-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--mo-bg)}.mo-status-card{text-align:center;max-width:420px;padding:48px 36px;border-radius:var(--mo-radius-lg);background:var(--mo-surface);border:1px solid var(--mo-border);box-shadow:var(--mo-shadow-md)}.mo-status-code{display:inline-block;font-family:var(--mo-font-display);font-size:.85rem;font-weight:600;letter-spacing:.14em;color:var(--mo-accent-strong);margin-bottom:12px}.mo-status-card h1{margin:0 0 12px;font-family:var(--mo-font-display);font-size:1.6rem}.mo-status-card p{margin:0 0 24px;color:var(--mo-ink-muted);line-height:1.6}.mo-status-action{display:inline-block;padding:11px 22px;border-radius:var(--mo-radius-pill);background:var(--mo-brand-900);color:#fff;text-decoration:none;font-size:.88rem;font-weight:600}.mo-field{display:flex;flex-direction:column;gap:8px}.mo-field label{font-size:.82rem;font-weight:600;color:var(--mo-ink-muted);letter-spacing:.01em}.mo-field input{font:inherit;padding:13px 16px;border-radius:var(--mo-radius-sm);border:1.5px solid var(--mo-border);background:var(--mo-surface);color:var(--mo-ink);transition:border-color .15s var(--mo-ease),box-shadow .15s var(--mo-ease)}.mo-field input:focus-visible{outline:none;border-color:var(--mo-accent);box-shadow:0 0 0 4px #6a7cff26}.mo-field input[aria-invalid=true]{border-color:var(--mo-danger)}.mo-field-error{font-size:.78rem;color:var(--mo-danger)}.mo-form-banner{padding:12px 14px;border-radius:var(--mo-radius-sm);background:var(--mo-danger-soft);color:#7a1c28;font-size:.86rem;line-height:1.4}.mo-form-banner-success{background:#e4f6ee;color:#14663f}.mo-submit{margin-top:4px;padding:14px 18px;border:none;border-radius:var(--mo-radius-sm);background:linear-gradient(135deg,var(--mo-accent-strong),var(--mo-accent));color:var(--mo-accent-ink);font-weight:600;font-size:.95rem;letter-spacing:.01em;cursor:pointer;box-shadow:0 12px 24px #4a5bff47;transition:transform .15s var(--mo-ease),box-shadow .15s var(--mo-ease),opacity .15s var(--mo-ease)}.mo-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 16px 32px #4a5bff5c}.mo-submit:disabled{opacity:.7;cursor:progress}.mo-login-form{display:flex;flex-direction:column;gap:20px}.mo-password-wrap{position:relative;display:flex}.mo-password-wrap input{flex:1;padding-right:84px}.mo-password-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--mo-accent-strong);font-size:.78rem;font-weight:600;cursor:pointer;padding:6px 10px;border-radius:var(--mo-radius-pill)}.mo-password-toggle:hover{background:var(--mo-surface-muted)}.mo-login-screen{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);background:var(--mo-brand-900)}@media(max-width:900px){.mo-login-screen{grid-template-columns:1fr}}.mo-login-brand{position:relative;overflow:hidden;display:flex;align-items:center;padding:clamp(40px,6vw,96px);background:radial-gradient(1200px 600px at 10% 0%,rgba(106,124,255,.28),transparent 60%),radial-gradient(900px 500px at 90% 100%,rgba(80,200,200,.16),transparent 55%),linear-gradient(180deg,var(--mo-brand-900),var(--mo-brand-800));color:#f4f5f8}.mo-login-brand-glow{position:absolute;inset:-20%;background:conic-gradient(from 120deg,rgba(106,124,255,.12),transparent 30%,rgba(184,195,255,.08) 55%,transparent 80%);filter:blur(60px);animation:mo-drift 22s linear infinite}@keyframes mo-drift{to{transform:rotate(360deg)}}.mo-login-brand-content{position:relative;max-width:480px}.mo-login-badge{width:64px;height:64px;border-radius:20px;background:#fffffff0;display:grid;place-items:center;box-shadow:var(--mo-shadow-lg);margin-bottom:40px}.mo-login-badge img{width:38px;height:auto}.mo-login-eyebrow{margin:0 0 14px;font-size:.78rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--mo-accent-soft)}.mo-login-brand-content h1{margin:0 0 20px;font-family:var(--mo-font-display);font-weight:600;font-size:clamp(1.9rem,3vw,2.7rem);line-height:1.15;letter-spacing:-.01em}.mo-login-lede{margin:0 0 32px;font-size:1rem;line-height:1.7;color:#f4f5f8b8}.mo-login-highlights{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}.mo-login-highlights li{position:relative;padding-left:26px;font-size:.9rem;color:#f4f5f8d1;line-height:1.5}.mo-login-highlights li:before{content:"";position:absolute;left:0;top:7px;width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,var(--mo-accent),var(--mo-accent-soft))}@media(max-width:900px){.mo-login-brand{padding:40px 28px}.mo-login-lede,.mo-login-highlights{display:none}}.mo-login-panel{display:flex;align-items:center;justify-content:center;padding:clamp(32px,5vw,80px);background:var(--mo-bg)}.mo-login-card{width:100%;max-width:400px;display:flex;flex-direction:column;gap:28px}.mo-login-wordmark{height:30px;width:auto;align-self:flex-start}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .mo-login-wordmark{filter:invert(1)}}:root[data-theme=dark] .mo-login-wordmark{filter:invert(1)}.mo-login-copy h2{margin:0 0 6px;font-family:var(--mo-font-display);font-size:1.7rem;font-weight:600}.mo-login-copy p{margin:0;color:var(--mo-ink-muted);font-size:.95rem}.mo-login-footnote{margin:0;font-size:.76rem;line-height:1.5;color:var(--mo-ink-muted);text-align:center}.mo-spinner-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:var(--mo-bg);color:var(--mo-ink-muted)}.mo-spinner{width:34px;height:34px;border-radius:50%;border:3px solid var(--mo-border);border-top-color:var(--mo-accent);animation:mo-spin .8s linear infinite}.mo-spinner-label{font-size:.85rem;letter-spacing:.04em}@keyframes mo-spin{to{transform:rotate(360deg)}}:root{--mo-bg: #f5f6f8;--mo-surface: #ffffff;--mo-surface-muted: #f0f1f4;--mo-ink: #10121a;--mo-ink-muted: #5b5f6d;--mo-border: #e2e4ea;--mo-brand-900: #0a0c14;--mo-brand-800: #12151f;--mo-brand-700: #1b1f2e;--mo-brand-600: #262b3d;--mo-accent: #6a7cff;--mo-accent-strong: #4a5bff;--mo-accent-soft: #b9c1ff;--mo-accent-ink: #ffffff;--mo-success: #1fae6f;--mo-danger: #e0475a;--mo-danger-soft: #fde8ea;--mo-warning: #d99a2b;--mo-radius-sm: 10px;--mo-radius-md: 16px;--mo-radius-lg: 26px;--mo-radius-pill: 999px;--mo-shadow-sm: 0 2px 8px rgba(10, 12, 20, .06);--mo-shadow-md: 0 16px 40px rgba(10, 12, 20, .14);--mo-shadow-lg: 0 30px 80px rgba(10, 12, 20, .35);--mo-font-display: "Fraunces", "Georgia", serif;--mo-font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", "Inter", sans-serif;--mo-ease: cubic-bezier(.16, 1, .3, 1)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--mo-bg: #0a0c14;--mo-surface: #12151f;--mo-surface-muted: #1b1f2e;--mo-ink: #f4f5f8;--mo-ink-muted: #9aa0b4;--mo-border: #262b3d}}:root[data-theme=dark]{--mo-bg: #0a0c14;--mo-surface: #12151f;--mo-surface-muted: #1b1f2e;--mo-ink: #f4f5f8;--mo-ink-muted: #9aa0b4;--mo-border: #262b3d}*,*:before,*:after{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:var(--mo-font-body);background:var(--mo-bg);color:var(--mo-ink);-webkit-font-smoothing:antialiased}#root{min-height:100vh}a{color:inherit}button{font-family:inherit}:focus-visible{outline:2px solid var(--mo-accent);outline-offset:2px}
