*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #ffffff;--bg2: #f7f8fc;--bg3: #eef1ff;--border: #e0e4f0;--border2: #c8cfe8;--text: #1a1a2e;--text2: #5a6080;--text3: #aab0cc;--accent: #2B4EFF;--accent2: #1a3de0;--accent-light: #eef1ff;--green: #2ECC71;--orange: #FF8C00;--red: #e53935;--header-bg: #2D2B8F;--font: "IBM Plex Sans", sans-serif;--mono: "IBM Plex Mono", monospace;--r: 6px;--r2: 10px;--shadow: 0 1px 4px rgba(43,78,255,.08);--shadow2: 0 4px 16px rgba(43,78,255,.12)}body{font-family:var(--font);background:var(--bg);color:var(--text);font-size:14px;min-height:100vh}input,select,textarea{font-family:var(--font);font-size:14px;background:var(--bg);border:1.5px solid var(--border2);border-radius:var(--r);color:var(--text);padding:8px 10px;width:100%;outline:none;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #2b4eff1a}input::placeholder{color:var(--text3)}button{font-family:var(--font);font-size:13px;cursor:pointer;border-radius:var(--r);padding:8px 14px;border:1.5px solid var(--border2);background:var(--bg);color:var(--text2);transition:all .15s;white-space:nowrap;font-weight:500}button:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light)}button.primary{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:600}button.primary:hover{background:var(--accent2);border-color:var(--accent2);color:#fff}button.danger{border-color:transparent;color:var(--red);background:transparent}button.danger:hover{background:#ffeaea;border-color:var(--red)}button.ghost{border-color:transparent;background:transparent;color:var(--text2);padding:6px 8px}button.ghost:hover{color:var(--accent);background:var(--accent-light);border-color:transparent}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:var(--bg2)}::-webkit-scrollbar-thumb{background:var(--border2);border-radius:3px}@media print{body{background:#fff;color:#000}.no-print{display:none!important}}
