.toast[data-v-8ae8ac61]{position:fixed;right:24px;bottom:24px;z-index:9999;width:320px;max-width:calc(100vw - 48px);border-radius:8px;padding:16px;box-shadow:var(--shadow-xl);display:flex;gap:12px;align-items:flex-start;color:#fff}.toast--success[data-v-8ae8ac61]{background:var(--success)}.toast--error[data-v-8ae8ac61]{background:var(--error)}.toast--warning[data-v-8ae8ac61]{background:var(--warning)}.toast--info[data-v-8ae8ac61]{background:var(--accent)}.toast__body[data-v-8ae8ac61]{flex:1}.toast__title[data-v-8ae8ac61]{font-size:14px;font-weight:600}.toast__msg[data-v-8ae8ac61]{font-size:13px;opacity:.9;margin-top:4px}.toast__close[data-v-8ae8ac61]{background:none;border:none;color:#fff;font-size:20px;cursor:pointer;opacity:.8}.toast-enter-active[data-v-8ae8ac61],.toast-leave-active[data-v-8ae8ac61]{transition:all .25s ease}.toast-enter-from[data-v-8ae8ac61],.toast-leave-to[data-v-8ae8ac61]{opacity:0;transform:translateY(12px)}:root{--primary: #0c1c3b;--navy-light: #1e3a5f;--accent: #4393a5;--teal-dark: #357a8a;--bg: #f8f9fa;--surface: #ffffff;--text: #1a1a2e;--text-2: #64748b;--border: #e2e8f0;--success: #10b981;--warning: #f59e0b;--error: #ef4444;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--pill: 24px;--shadow-md: 0 1px 3px rgba(0, 0, 0, .1), 0 1px 2px rgba(0, 0, 0, .06);--shadow-lg: 0 4px 6px rgba(0, 0, 0, .07), 0 2px 4px rgba(0, 0, 0, .06);--shadow-xl: 0 10px 15px rgba(0, 0, 0, .1), 0 4px 6px rgba(0, 0, 0, .05)}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{font-family:Inter,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.page{max-width:1200px;margin:0 auto;padding:32px}.page--wide{max-width:1400px}.app-shell{min-height:100vh;padding-left:260px}h1,h2,h3{color:var(--primary);margin:0}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:24px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 18px;border-radius:var(--radius-md);font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;border:1.5px solid transparent;transition:all .18s ease;white-space:nowrap}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--primary{background:var(--accent);color:#fff}.btn--primary:hover:not(:disabled){background:var(--teal-dark)}.btn--navy{background:var(--primary);color:#fff}.btn--navy:hover:not(:disabled){background:var(--navy-light)}.btn--outline{background:#fff;border-color:var(--primary);color:var(--primary)}.btn--outline-teal{background:#fff;border-color:var(--accent);color:var(--accent)}.btn--danger{background:#fff;border-color:var(--error);color:var(--error)}.btn--sm{height:36px;padding:0 14px;font-size:13px}.input{width:100%;height:44px;border:1.5px solid var(--border);border-radius:var(--radius-md);padding:0 14px;font-size:15px;font-family:inherit;color:var(--text);background:#fff;outline:none}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #4393a526}.label{font-size:13px;font-weight:500;color:var(--text);margin-bottom:6px;display:block}.pill{display:inline-block;font-size:12px;font-weight:500;padding:4px 12px;border-radius:var(--pill)}.muted{color:var(--text-2)}.row{display:flex;gap:16px}.col{display:flex;flex-direction:column}.between{justify-content:space-between;align-items:center}.wrap{flex-wrap:wrap}.grow{flex:1}.avatar{width:36px;height:36px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;flex-shrink:0}.skeleton{background:var(--border);border-radius:var(--radius-lg);animation:pulse 1.5s infinite alternate}@keyframes pulse{0%{opacity:.5}to{opacity:1}}.spinner{width:20px;height:20px;border:2.5px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}.spinner--teal{border-color:#4393a540;border-top-color:var(--accent)}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 900px){.app-shell{padding-left:0}}@media (max-width: 768px){.page{padding:20px 16px}.row{flex-direction:column}}
