:root{--bg: #eef1f5;--surface: #ffffff;--surface-2: #f6f8fb;--text: #111827;--text-2: #374151;--muted: #4b5563;--accent: #1d4ed8;--accent-hover: #1e40af;--accent-soft: #e8efff;--success: #15803d;--error: #b91c1c;--border: #cfd5de;--border-light: #e3e7ed;--head-bg: #f1f4f8;--row-alt: #fafbfc;--row-hover: #f1f5ff;--selected: #e3ecff;--radius: 8px;--shadow: 0 1px 2px rgba(16, 24, 40, .08), 0 1px 3px rgba(16, 24, 40, .08);--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}body{font-family:var(--font);color:var(--text);background:var(--bg);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}h1,h2,h3{margin:0 0 .5rem;font-weight:650;color:var(--text);letter-spacing:-.01em}h2{font-size:1.5rem}h3{font-size:1.1rem}a{color:var(--accent);text-decoration:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:1px solid transparent;border-radius:var(--radius);padding:.55rem 1rem;font-size:.95rem;font-weight:500;cursor:pointer;background:var(--surface);color:var(--text)}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-secondary{border-color:var(--border);color:var(--text-2)}.btn-secondary:hover:not(:disabled){background:var(--surface-2);border-color:#b8c0cc;color:var(--text)}.btn:focus-visible{outline:3px solid rgba(29,78,216,.35);outline-offset:1px}.btn:disabled{opacity:.5;cursor:not-allowed}.field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem}.field label{font-size:.875rem;font-weight:500;color:var(--text-2)}input,select{font:inherit;padding:.55rem .7rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text)}input::placeholder{color:#6b7280}input:hover:not(:disabled),select:hover:not(:disabled){border-color:#b8c0cc}input:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #1d4ed833}input[type=checkbox],input[type=radio]{width:1.05rem;height:1.05rem;padding:0;accent-color:var(--accent);cursor:pointer}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem 1.5rem}table{width:100%;border-collapse:collapse}.table-scroll{max-height:calc(100vh - 20rem);overflow:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}main>:not(router-outlet){flex:1;min-height:0;display:flex;flex-direction:column}main>:not(router-outlet)>*{width:100%}main section.page{flex:1;min-height:0;display:flex;flex-direction:column}main section.page>*{flex-shrink:0}main section.page>.table-scroll{flex:0 1 auto;min-height:8rem;max-height:none}.table-scroll thead th{position:sticky;top:0;z-index:1;background:var(--head-bg)}th,td{text-align:left;padding:.65rem .85rem;border-bottom:1px solid var(--border-light);vertical-align:middle}th{font-size:.85rem;font-weight:600;color:var(--text-2);background:var(--head-bg);border-bottom:1px solid var(--border);white-space:nowrap}tbody tr:nth-child(2n){background:var(--row-alt)}tbody tr:hover{background:var(--row-hover)}tbody tr:last-child td{border-bottom:none}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.alert{border-radius:var(--radius);padding:.75rem 1rem;margin:.75rem 0;font-size:.95rem;font-weight:500}.alert-success{background:#ecfdf3;color:var(--success);border:1px solid #abefc6}.alert-error{background:#fef3f2;color:var(--error);border:1px solid #fecdca}.alert-info{background:#eff8ff;color:#175cd3;border:1px solid #b2ddff}.muted{color:var(--muted)}strong{font-weight:650}
