:root{--sidebar: #14161C;--sidebar-hover: #1D2028;--sidebar-text: #9CA0AC;--sidebar-text-active: #F4F5F7;--bg: #F5F6F8;--card: #FFFFFF;--border: #E4E6EB;--text: #14161C;--text-secondary: #6B7078;--text-muted: #9CA0AC;--accent: #2F5FDB;--accent-soft: #E8EEFC;--ok: #1B8A5A;--ok-soft: #E4F5EC;--warn: #B8790F;--warn-soft: #FBEEDC;--err: #C23B2E;--err-soft: #FBE7E4;--radius: 10px}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:Inter,sans-serif;background:var(--bg);color:var(--text)}button,input,select,textarea{font-family:inherit;font-size:inherit}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:18px}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:20px;font-size:12px;font-weight:500}.badge-ok{background:var(--ok-soft);color:var(--ok)}.badge-warn{background:var(--warn-soft);color:var(--warn)}.badge-err{background:var(--err-soft);color:var(--err)}label{display:block;font-size:12.5px;color:var(--text-secondary);margin-bottom:4px}input,select{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:8px;font-size:13.5px;outline:none}input:focus,select:focus{border-color:var(--accent)}.btn-primary{padding:9px 16px;border:none;border-radius:8px;background:var(--accent);color:#fff;font-weight:600;font-size:13.5px;cursor:pointer}.btn-primary:disabled{opacity:.6;cursor:default}.btn-secondary{padding:6px 12px;border:1px solid var(--border);border-radius:8px;background:var(--card);color:var(--text);font-weight:500;font-size:12.5px;cursor:pointer}.btn-danger{padding:6px 12px;border:1px solid var(--err);border-radius:8px;background:var(--err-soft);color:var(--err);font-weight:500;font-size:12.5px;cursor:pointer}.btn-danger:disabled{opacity:.6;cursor:default}.error-text{color:var(--err);font-size:12.5px}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--card)}table.data-table{width:100%;min-width:640px;border-collapse:collapse;font-size:13.5px}table.data-table thead tr{text-align:left;color:var(--text-secondary);font-size:12px;text-transform:uppercase;letter-spacing:.02em}table.data-table th,table.data-table td{padding:11px 14px;border-bottom:1px solid var(--border);white-space:nowrap;vertical-align:middle}table.data-table th:last-child,table.data-table td:last-child{white-space:normal}table.data-table tbody tr:last-child td{border-bottom:none}table.data-table tbody tr.data-row:hover{background:var(--bg)}table.data-table td.empty-row{color:var(--text-secondary);text-align:center;padding:28px 14px;white-space:normal}table.data-table .row-actions{display:flex;gap:6px;flex-wrap:wrap}table.data-table tr.inline-panel-row td{background:var(--bg);white-space:normal}.modal-overlay{position:fixed;inset:0;background:#0a0b0f8c;display:flex;align-items:center;justify-content:center;padding:20px;z-index:100}.modal-card{background:var(--card);border-radius:var(--radius);border:1px solid var(--border);box-shadow:0 20px 60px #0000004d;width:100%;max-width:560px;max-height:90vh;overflow-y:auto;padding:22px}.modal-card.modal-sm{max-width:440px}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.modal-title{font-family:Space Grotesk,sans-serif;font-weight:600;font-size:17px}.modal-close{background:none;border:none;cursor:pointer;color:var(--text-secondary);font-size:20px;line-height:1;padding:4px}.modal-close:hover{color:var(--text)}.modal-actions{display:flex;gap:8px;margin-top:18px}.modal-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
