:root{--bg: #16181a;--surface: #1e2124;--surface-2: #232629;--surface-3: #2a2e32;--border: #34393e;--border-strong: #454b52;--text: #eef1f4;--text-muted: #a5adb5;--text-dim: #7b848d;--accent: #2f80ed;--accent-hover: #1f6fd6;--accent-soft: rgba(47, 128, 237, .16);--on-accent: #ffffff;--info: #3b82f6;--info-soft: rgba(59, 130, 246, .14);--danger: #e5484d;--danger-hover: #d33d42;--warning: #e0a53b;--radius-sm: 6px;--radius: 10px;--radius-lg: 14px;--header-h: 60px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 8px 24px rgba(0, 0, 0, .35);--shadow-lg: 0 16px 48px rgba(0, 0, 0, .45);--font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;--transition: .18s ease}*{box-sizing:border-box}:root{--bs-body-color: #eef1f4;--bs-body-color-rgb: 238, 241, 244;--bs-body-bg: #16181a;--bs-body-bg-rgb: 22, 24, 26;--bs-emphasis-color: #ffffff;color-scheme:dark}input[type=date],input[type=time],input[type=datetime-local],select{color-scheme:dark}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:8px;border:2px solid var(--bg)}*::-webkit-scrollbar-thumb:hover{background:#545b62}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 16px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface-3);color:var(--text);font:inherit;font-weight:500;cursor:pointer;transition:background var(--transition),border-color var(--transition),transform var(--transition)}.btn:hover:enabled{background:#33383d}.btn:active:enabled{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}.btn-primary:hover:enabled{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn-danger:hover:enabled{background:var(--danger-hover);border-color:var(--danger-hover)}.btn-ghost{background:transparent;border-color:var(--border)}.btn-ghost:hover:enabled{background:var(--surface-2)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.input,.field-input{padding:9px 12px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text);font:inherit;transition:border-color var(--transition),box-shadow var(--transition)}.input:focus,.field-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.badge{display:inline-block;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:600;background:var(--surface-3);color:var(--text-muted);border:1px solid var(--border)}.modal-overlay{position:fixed;inset:0;background:#080a0c9e;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px;animation:modalOverlayIn .18s ease}@keyframes modalOverlayIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:560px;max-width:92vw;max-height:86vh;display:flex;flex-direction:column;overflow:hidden;animation:modalPop .22s cubic-bezier(.2,.8,.2,1)}.modal-card{animation:modalPop .22s cubic-bezier(.2,.8,.2,1)}@keyframes modalPop{0%{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}.modal-small{width:440px}.modal-medium{width:540px}.modal-large{width:840px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--border);background:linear-gradient(var(--surface-2),var(--surface))}.modal-header h3{margin:0;font-size:1.2rem;font-weight:700;letter-spacing:-.2px}.modal-close{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;border:1px solid var(--border);background:var(--surface-3);color:var(--text-muted);font-size:18px;line-height:1;cursor:pointer;transition:background var(--transition),color var(--transition),border-color var(--transition)}.modal-close:hover{background:var(--danger);border-color:var(--danger);color:#fff}.modal-body{padding:20px 22px;overflow-y:auto}.modal-body>label,.modal-body .form-col label{display:block;margin:14px 0 6px;font-size:.82rem;font-weight:500;color:var(--text-muted)}.modal-body>label:first-child{margin-top:0}.modal-body input,.modal-body select,.modal-body textarea,.modal-body .form-col input{width:100%;padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text);font-size:.95rem;transition:border-color var(--transition),box-shadow var(--transition)}.modal-body input:focus,.modal-body select:focus,.modal-body textarea:focus,.modal-body .form-col input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 640px){.two-col{grid-template-columns:1fr}}.modal-buttons{display:flex;justify-content:flex-end;gap:12px;padding:16px 22px;border-top:1px solid var(--border);background:var(--surface)}.modal-buttons button{padding:9px 18px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface-3);color:var(--text);font-weight:600;cursor:pointer;transition:background var(--transition),transform var(--transition)}.modal-buttons button:hover{background:#33383d;transform:translateY(-1px)}.modal-buttons button:first-child{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.modal-buttons button:first-child:hover{background:var(--accent-hover)}body{margin:0}.toast-stack{position:fixed;top:calc(var(--header-h, 60px) + 16px);right:20px;display:flex;flex-direction:column;gap:10px;z-index:9999;pointer-events:none}.toast-message{display:flex;align-items:center;gap:10px;min-width:240px;max-width:360px;padding:12px 14px;font-size:14px;border-radius:10px;border:1px solid transparent;box-shadow:var(--shadow-md, 0 8px 24px rgba(0, 0, 0, .35));animation:toastIn .28s ease-out;pointer-events:auto;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.toast-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;font-size:13px;font-weight:700;flex-shrink:0}.toast-text{flex:1;line-height:1.35}.toast-close{background:transparent;border:none;color:inherit;opacity:.6;font-size:18px;line-height:1;cursor:pointer;padding:0 2px}.toast-close:hover{opacity:1}.toast-message.success{background-color:#12331f;border-color:#2e7d46;color:#7ee2a0}.toast-message.success .toast-icon{background:#2e7d46;color:#fff}.toast-message.error{background-color:#3a1518;border-color:#c0392b;color:#ff9a90}.toast-message.error .toast-icon{background:#c0392b;color:#fff}.toast-message.info{background-color:#14273a;border-color:#2b6cb0;color:#90c2f0}.toast-message.info .toast-icon{background:#2b6cb0;color:#fff}@keyframes toastIn{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}
