:root{--accent: #c62828;--accent-dark: #a01f1f;--accent-soft: #fdecec;--accent-softer: #fff6f6;--accent-ring: rgba(198, 40, 40, .16);--ok: #10b981;--ok-dark: #047857;--ok-soft: #ecfdf5;--red: #dc2626;--red-soft: #fef2f2;--amber: #f59e0b;--amber-soft: #fffbeb;--blue: #2563eb;--text: #1e293b;--text-2: #475569;--text-3: #94a3b8;--line: #e2e8f0;--line-soft: #f1f5f9;--bg: #ffffff;--bg-2: #f8fafc;--bg-3: #f1f5f9;--hover: #f1f5f9;--selected: #e8edf3;--bubble-in: #ffffff;--bubble-out: #fdeeee;--shadow: 0 12px 32px rgba(15, 23, 42, .14);--shadow-sm: 0 1px 2px rgba(15, 23, 42, .05), 0 2px 8px rgba(15, 23, 42, .05);--radius: 10px;--accent-hover: #a01f1f;--surface: #ffffff;--line-strong: #cbd5e1;--warn-bg: #fff6d6;--warn-text: #8d6e00;--warn-line: #f0b400;--danger-line: #f3c7c3;--danger-text: #8c1d18;--tint: rgba(0, 0, 0, .05);--tint-2: rgba(0, 0, 0, .09);--highlight: #fff3a8;--bubble-out-line: #f8d7d7;--track: #cbd5e1;--track-on: #f4b4b4;--knob: #fafafa;--drop-bg: rgba(255, 246, 246, .94);color-scheme:light;font-family:Segoe UI,Roboto,-apple-system,Helvetica Neue,Arial,sans-serif;font-size:14px;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#app{margin:0;height:100%}body{background:var(--bg)}button{font:inherit;color:inherit;cursor:pointer}input,textarea,select{font:inherit;color:inherit}a{color:var(--accent-dark)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:38px;padding:0 18px;border:0;border-radius:8px;background:var(--accent);color:#fff;font-weight:600;font-size:14px;white-space:nowrap;transition:background .15s,box-shadow .15s}.btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--accent-ring)}.btn:hover{background:var(--accent-hover)}.btn:disabled{opacity:.45;cursor:default}.btn.text{background:transparent;color:var(--accent-dark)}.btn.text:hover{background:var(--accent-soft)}.btn.danger{background:transparent;color:var(--red)}.btn.danger:hover{background:var(--red-soft)}.btn.small{height:30px;padding:0 12px;font-size:13px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:0;border-radius:10px;background:transparent;color:var(--text-2);flex:none;transition:background .15s,color .15s}.icon-btn:hover{background:var(--hover)}.icon-btn:disabled{opacity:.4;cursor:default}.field{display:flex;flex-direction:column;gap:4px;margin-bottom:14px}.field>span{font-size:13px;font-weight:500;color:var(--text-2)}.input{height:40px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);outline:none;width:100%;transition:border-color .15s,box-shadow .15s}.input:hover{border-color:var(--line-strong)}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}textarea.input{height:auto;padding:10px 12px;resize:vertical}.hint{font-size:12px;color:var(--text-3)}.error-text{color:var(--red);font-size:13px}.ok-text{color:var(--ok-dark)}.pill{display:inline-flex;align-items:center;height:28px;padding:0 12px;border-radius:14px;font-size:13px;white-space:nowrap}.pill.ok{background:var(--ok-soft);color:var(--ok-dark)}.pill.warn{background:var(--amber-soft);color:var(--warn-text)}.pill.bad{background:var(--red-soft);color:var(--red)}.pill.muted{background:var(--bg-3);color:var(--text-2)}.switch{position:relative;display:inline-block;width:36px;height:14px;flex:none}.switch input{opacity:0;width:0;height:0;position:absolute}.switch .track{position:absolute;inset:0;border-radius:7px;background:var(--track);transition:background .15s;cursor:pointer}.switch .track:after{content:"";position:absolute;top:-3px;left:-2px;width:20px;height:20px;border-radius:50%;background:var(--knob);box-shadow:0 1px 3px #00000059;transition:transform .15s,background .15s}.switch input:checked+.track{background:var(--track-on)}.switch input:checked+.track:after{transform:translate(18px);background:var(--accent)}.switch input:disabled+.track{opacity:.4;cursor:default}.switch input:focus-visible+.track{outline:2px solid var(--accent);outline-offset:4px}.empty{color:var(--text-3);text-align:center;padding:32px 16px}.spinner{width:22px;height:22px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;margin:16px auto}@keyframes spin{to{transform:rotate(360deg)}}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.tag{display:inline-flex;align-items:center;height:20px;padding:0 8px;border-radius:6px;font-size:11px;font-weight:600;white-space:nowrap}.tag-slate{background:#f1f5f9;color:#334155}.tag-red{background:#fdecec;color:#a01f1f}.tag-amber{background:#fef3c7;color:#92400e}.tag-green{background:#d1fae5;color:#065f46}.tag-blue{background:#dbeafe;color:#1e40af}.tag-violet{background:#ede9fe;color:#5b21b6}.tag-pink{background:#fce7f3;color:#9d174d}:root[data-theme=dark]{--accent: #e04848;--accent-hover: #c73a3a;--accent-dark: #f28b8b;--accent-soft: #3a1f23;--accent-softer: #2a1c21;--accent-ring: rgba(224, 72, 72, .32);--ok: #34d399;--ok-dark: #6ee7b7;--ok-soft: #10302a;--red: #f87171;--red-soft: #3a1d20;--amber: #fbbf24;--amber-soft: #33290f;--blue: #60a5fa;--text: #e2e8f0;--text-2: #a3b1c6;--text-3: #6b7a90;--line: #2c3645;--line-soft: #232c39;--line-strong: #3d4a5c;--bg: #121820;--bg-2: #18202a;--bg-3: #1f2833;--surface: #1a222d;--hover: #222c38;--selected: #2a3544;--bubble-in: #1f2834;--bubble-out: #3b2429;--bubble-out-line: #4d2c33;--shadow: 0 12px 32px rgba(0, 0, 0, .55);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .35), 0 2px 8px rgba(0, 0, 0, .3);--warn-bg: #33290f;--warn-text: #fcd34d;--warn-line: #a17a00;--danger-line: #7f2d2d;--danger-text: #fca5a5;--tint: rgba(255, 255, 255, .06);--tint-2: rgba(255, 255, 255, .1);--highlight: #6b5800;--track: #3d4a5c;--track-on: #7a3434;--knob: #cbd5e1;--drop-bg: rgba(42, 28, 33, .94);color-scheme:dark}:root[data-theme=dark] .tag-slate{background:#273140;color:#cbd5e1}:root[data-theme=dark] .tag-red{background:#3a1f23;color:#f8a5a5}:root[data-theme=dark] .tag-amber{background:#3a2e0e;color:#fcd34d}:root[data-theme=dark] .tag-green{background:#12352b;color:#6ee7b7}:root[data-theme=dark] .tag-blue{background:#172a4a;color:#93c5fd}:root[data-theme=dark] .tag-violet{background:#2a2050;color:#c4b5fd}:root[data-theme=dark] .tag-pink{background:#3d1a2c;color:#f9a8d4}
