*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--navy:#0d1b4b;--navy2:#1a2d5a;--navy3:#243a70;--navy4:#2f4a8a;--teal:#4fc3a1;--teal2:#3aaa87;--teal-glow:#4fc3a126;--red:#e05050;--amber:#f0a030;--blue:#4a90d9;--success:#1a5a3a;--warning:#6a4a0a;--danger:#6a1a1a;--success-bg:#e8f7f1;--success-text:#1a7a54;--warning-bg:#fff3e0;--warning-text:#8a5000;--danger-bg:#fdeaea;--danger-text:#8a2020;--danger-strong:#c0392b;--bg:#eef1f8;--surface:#fff;--surface2:#f5f7fc;--surface3:#eef1f8;--hover:#f4f6ff;--border:#dde3ef;--border2:#c8d0e4;--text:#0d1b4b;--text2:#3a4a6a;--text3:#7080a0;--text4:#a0b0c8;--font:"DM Sans", sans-serif;--display:"Syne", sans-serif;--mono:"DM Mono", monospace;--radius:8px;--radius-lg:12px;--shadow:0 1px 3px #0d1b4b14, 0 4px 12px #0d1b4b0d;--shadow-lg:0 4px 16px #0d1b4b1f, 0 12px 40px #0d1b4b14}html{height:100%}body{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;height:100%;font-size:14px;line-height:1.55}#root{flex-direction:column;height:100%;display:flex}button{font-family:var(--font);cursor:pointer}input,select,textarea{font-family:var(--font)}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--teal2);outline-offset:2px;border-radius:var(--radius)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border2);border-radius:var(--radius)}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.fade-in{animation:.25s both fadeIn}.slide-in{animation:.2s both slideIn}.card{background:var(--surface);border-radius:var(--radius-lg);border:.5px solid var(--border);box-shadow:var(--shadow);padding:18px 20px}.btn{border-radius:var(--radius);cursor:pointer;border:none;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex}.btn-primary{background:var(--navy);color:#fff}.btn-primary:hover{background:var(--navy2)}.btn-secondary{background:var(--surface);color:var(--text2);border:.5px solid var(--border)}.btn-secondary:hover{background:var(--surface2)}.btn-danger{background:var(--red);color:#fff}.btn-teal{background:var(--teal);color:#fff}.btn-teal:hover{background:var(--teal2)}.btn-sm{padding:5px 10px;font-size:12px}.btn-icon{color:var(--text3);background:0 0;border:none;padding:7px;transition:color .15s}.btn-icon:hover{color:var(--text)}.input{border:.5px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text);background:var(--surface2);outline:none;padding:8px 12px;font-size:13px;transition:border-color .15s}.input:focus{border-color:var(--teal2)}.select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%237080a0' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:30px}.badge{border-radius:20px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-flex}.spinner{border:2px solid var(--border);border-top-color:var(--teal);border-radius:50%;flex-shrink:0;width:18px;height:18px;animation:.7s linear infinite spin}.table{border-collapse:collapse;width:100%}.table th{color:var(--text3);text-align:left;text-transform:uppercase;letter-spacing:.5px;background:var(--surface2);border-bottom:.5px solid var(--border);white-space:nowrap;padding:10px 14px;font-size:11px;font-weight:600}.table td{border-bottom:.5px solid var(--border);vertical-align:middle;padding:10px 14px;font-size:13px}.table tr:last-child td{border-bottom:none}.table tbody tr{cursor:pointer;transition:background .1s}.table tbody tr:hover{background:var(--hover)}.form-group{margin-bottom:14px}.form-label{color:var(--text3);text-transform:uppercase;letter-spacing:.5px;margin-bottom:5px;font-size:11px;font-weight:600;display:block}.form-row{gap:12px;display:grid}.form-row-2{grid-template-columns:1fr 1fr}.form-row-3{grid-template-columns:1fr 1fr 1fr}.section-header{color:var(--text3);text-transform:uppercase;letter-spacing:.6px;border-bottom:.5px solid var(--border);margin:20px 0 14px;padding-bottom:8px;font-size:11px;font-weight:700}.modal-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:1000;background:#0d1b4b66;justify-content:center;align-items:center;padding:20px;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:680px;max-height:90vh;animation:.2s fadeIn;overflow-y:auto}.modal-header{border-bottom:.5px solid var(--border);background:var(--surface);z-index:1;justify-content:space-between;align-items:center;padding:20px 24px 16px;display:flex;position:sticky;top:0}.modal-body{padding:20px 24px}.modal-footer{border-top:.5px solid var(--border);justify-content:flex-end;gap:8px;padding:16px 24px;display:flex}.confirm-modal{max-width:440px;animation:.18s cubic-bezier(.22,1,.36,1) confirmIn}.confirm-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.confirm-icon.danger{color:#c0392b;background:#fdeaea}.confirm-icon.neutral{background:var(--teal-glow);color:var(--teal2)}@keyframes confirmIn{0%{opacity:0;transform:scale(.96)translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.confirm-modal,.modal,.modal-overlay{animation:none}}.toast-container{z-index:9999;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:24px;right:24px}.toast{border-radius:var(--radius);background:var(--navy);color:#fff;box-shadow:var(--shadow-lg);align-items:center;gap:10px;min-width:280px;max-width:400px;padding:12px 16px;font-size:13px;animation:.2s slideIn;display:flex}.toast.success{background:var(--success)}.toast.error{background:var(--danger)}.toast.warning{background:var(--warning)}
