.toast-stack[data-v-4ee4c65f]{position:fixed;top:1rem;right:1rem;z-index:500;display:flex;flex-direction:column;gap:.5rem;max-width:min(380px,calc(100vw - 2rem))}.toast[data-v-4ee4c65f]{display:flex;align-items:flex-start;gap:.6rem;padding:.7rem .85rem;border-radius:10px;background:var(--ink);color:#fff;font-size:.88rem;font-weight:600;box-shadow:0 8px 24px #10283a40}.toast-success[data-v-4ee4c65f]{background:var(--success)}.toast-error[data-v-4ee4c65f]{background:var(--danger)}.toast-msg[data-v-4ee4c65f]{flex:1;line-height:1.4}.toast-close[data-v-4ee4c65f]{border:none;background:transparent;color:inherit;opacity:.7;cursor:pointer;font-size:.8rem;padding:0}.toast-close[data-v-4ee4c65f]:hover{opacity:1}.toast-enter-active[data-v-4ee4c65f],.toast-leave-active[data-v-4ee4c65f]{transition:all .2s ease}.toast-enter-from[data-v-4ee4c65f],.toast-leave-to[data-v-4ee4c65f]{opacity:0;transform:translate(12px)}.confirm-backdrop[data-v-4ee4c65f]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:400;background:#0b3d5c73;display:flex;align-items:center;justify-content:center;padding:1.5rem}.confirm[data-v-4ee4c65f]{width:min(440px,94vw);padding:1.25rem 1.35rem}.confirm h3[data-v-4ee4c65f]{margin:0 0 .5rem;font-size:1.05rem;color:var(--ink)}.confirm p[data-v-4ee4c65f]{margin:0 0 1rem;color:var(--muted);line-height:1.5}.confirm-actions[data-v-4ee4c65f]{display:flex;justify-content:flex-end;gap:.5rem}.btn-danger[data-v-4ee4c65f]{background:var(--danger);color:#fff}.btn-danger[data-v-4ee4c65f]:hover:not(:disabled){background:#b42318}:root{--sea-deep: #0b3d5c;--sea-mid: #156896;--sea-bright: #1f7eb5;--sea-foam: #4fb0c6;--sea-mist: #7ec8d8;--sea-pale: #e8f4f8;--sea-wash: #f3f8fb;--bg: #f4f7f9;--white: #ffffff;--ink: #16283a;--muted: #64748b;--line: #e4ebf1;--success: #12996b;--success-bg: #e4f7ee;--warning: #b7791f;--danger: #d92d20;--danger-bg: #feeceb;--shadow: 0 1px 2px rgba(16, 40, 58, .04), 0 8px 24px rgba(16, 40, 58, .05);--radius: 14px;--font: "Source Sans 3", "Segoe UI", sans-serif;--display: "Libre Baskerville", Georgia, serif}*{box-sizing:border-box}html,body,#app{margin:0;min-height:100%}body{font-family:var(--font);color:var(--ink);background:var(--bg)}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:none;border-radius:10px;padding:.6rem 1rem;cursor:pointer;font-weight:600;transition:.15s ease}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--sea-deep);color:#fff}.btn-primary:hover:not(:disabled){background:var(--sea-mid)}.btn-secondary{background:var(--white);color:var(--ink);border:1px solid var(--line);box-shadow:0 1px 2px #10283a0d}.btn-secondary:hover:not(:disabled){border-color:var(--sea-foam);color:var(--sea-deep)}.btn-ghost{background:transparent;color:var(--sea-deep)}.btn-ghost:hover:not(:disabled){background:var(--sea-wash)}.btn-sm{padding:.35rem .65rem;font-size:.8rem;border-radius:8px}.field{display:flex;flex-direction:column;gap:.35rem}.field label{font-size:.8rem;font-weight:600;color:var(--muted)}.field input,.field select,.field textarea{border:1px solid var(--line);border-radius:10px;padding:.6rem .8rem;background:#fff;color:var(--ink)}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid rgba(31,126,181,.2);border-color:var(--sea-bright)}.table-wrap{overflow:auto}table.data{width:100%;border-collapse:collapse;font-size:.92rem}table.data th,table.data td{padding:.75rem .85rem;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}table.data th{color:var(--muted);font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;background:var(--white);position:sticky;top:0}table.data tbody tr:hover{background:var(--sea-wash)}.badge{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:999px;font-size:.75rem;font-weight:700}.badge-ok{background:var(--success-bg);color:var(--success)}.badge-bad{background:var(--danger-bg);color:var(--danger)}.muted{color:var(--muted)}.page-title{margin:0;font-size:1.45rem;font-weight:700;letter-spacing:-.01em;color:var(--ink)}.page-sub{margin:.3rem 0 0;color:var(--muted);font-size:.92rem}
