:root{--bg-main:#0f1722;--bg-surface:#15202b;--bg-card:#15202b;--bg-card-elevated:#1e293b;--bg-input:#1e293b;--bg-input-focus:#243447;--border-subtle:#1e2d3d;--border-card:#2a3b4d;--border-input:#334155;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--coral:#f54842;--coral-hover:#f46d2d;--coral-gradient:linear-gradient(135deg,#f54842,#f46d2d);--coral-glow:rgba(245,72,66,.35);--green:#10b981;--green-glow:rgba(16,185,129,.2);--blue:#38bdf8;--gold:#f59e0b;--navy:#f8fafc;--coral-fill:#f54842;--bg:#0f1722;--grey-text:#94a3b8;--border:#1e2d3d}*{box-sizing:border-box}body{margin:0;background:var(--bg-main);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;-webkit-font-smoothing:antialiased}body,h1{color:var(--text-primary)}h1{font-size:24px;font-weight:700;margin:0 0 8px;letter-spacing:-.01em}h2{font-size:18px;margin:0 0 6px}h2,h3{color:var(--text-primary);font-weight:600}h3{font-size:16px;margin:0 0 4px}label{display:block;font-weight:600;font-size:12.5px;color:var(--text-secondary);margin:14px 0 6px;text-transform:uppercase;letter-spacing:.03em}input,select,textarea{width:100%;padding:10px 14px;border:1px solid var(--border-input);border-radius:8px;font-size:13.5px;background:var(--bg-input);color:var(--text-primary);outline:none;transition:border-color .15s ease,box-shadow .15s ease;font-family:inherit}input::placeholder,textarea::placeholder{color:var(--text-muted)}input:focus,select:focus,textarea:focus{border-color:var(--coral);box-shadow:0 0 0 3px rgba(245,72,66,.15);background:var(--bg-input-focus)}select option{background:#1e293b;color:#f8fafc}textarea{min-height:90px;resize:vertical}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--coral-gradient);color:#fff;border:none;border-radius:8px;padding:10px 18px;font-weight:600;font-size:13.5px;cursor:pointer;margin-top:18px;transition:all .2s ease;box-shadow:0 4px 14px var(--coral-glow);text-decoration:none}.btn:hover{opacity:.95;transform:translateY(-1px);box-shadow:0 6px 18px rgba(245,72,66,.45)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.btn-secondary{background:hsla(0,0%,100%,.05);color:var(--text-primary);border:1px solid var(--border-card);box-shadow:none}.btn-secondary:hover{background:var(--bg-card-elevated);border-color:var(--border-input);box-shadow:0 2px 8px rgba(0,0,0,.2)}.alert-error{background:rgba(239,68,68,.12);color:#fca5a5;border:1px solid rgba(239,68,68,.3);border-radius:8px}.alert-error,.alert-success{padding:12px 16px;font-size:13.5px;margin-top:14px;display:flex;align-items:center;gap:8px}.alert-success{background:rgba(16,185,129,.12);color:#6ee7b7;border:1px solid rgba(16,185,129,.3);border-radius:8px}table{width:100%;border-collapse:separate;border-spacing:0;margin-top:16px;font-size:13.5px;border-radius:10px;border:1px solid var(--border-subtle);overflow:hidden}thead th{background:var(--bg-card-elevated);color:var(--text-secondary);text-align:left;padding:12px 14px;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border-subtle)}tbody tr{background:var(--bg-surface);transition:background .15s ease}tbody tr:hover{background:hsla(0,0%,100%,.03)}tbody td{padding:12px 14px;border-bottom:1px solid var(--border-subtle);color:var(--text-primary)}tbody tr:last-child td{border-bottom:none}.stat-cards{display:flex;gap:14px;margin-top:16px;flex-wrap:wrap}.stat-card{flex:1 1;min-width:150px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:12px;padding:18px 20px;box-shadow:0 4px 12px rgba(0,0,0,.2);transition:border-color .2s ease}.stat-card:hover{border-color:var(--border-card)}.stat-card .value{font-size:26px;font-weight:700;color:var(--coral);margin-top:4px;letter-spacing:-.02em}.stat-card .label{font-size:11.5px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.issue-results{border:1px solid var(--border-card);border-radius:8px;margin-top:8px;max-height:240px;overflow-y:auto;background:var(--bg-card-elevated);box-shadow:0 8px 24px rgba(0,0,0,.35)}.issue-results button{display:block;width:100%;text-align:left;padding:10px 14px;border:none;background:none;color:var(--text-primary);cursor:pointer;border-bottom:1px solid var(--border-subtle);font-size:13px;transition:background .15s ease}.issue-results button:last-child{border-bottom:none}.issue-results button:hover{background:rgba(245,72,66,.1);color:#fff}.workspace-tabs{display:flex;gap:8px;border-bottom:1px solid var(--border-subtle);margin-bottom:24px}.workspace-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;padding:10px 16px;font-size:14px;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.workspace-tab:hover{color:var(--text-primary)}.workspace-tab.active{color:#fff;border-bottom-color:var(--coral)}.mode-toggle{display:flex;gap:8px;margin:14px 0;background:var(--bg-card-elevated);padding:4px;border-radius:10px;border:1px solid var(--border-card)}.mode-toggle button{flex:1 1;padding:9px 12px;border-radius:7px;border:1px solid transparent;background:transparent;color:var(--text-secondary);font-weight:600;font-size:13px;cursor:pointer;transition:all .2s ease}.mode-toggle button:hover{color:var(--text-primary)}.mode-toggle button.active{background:var(--bg-surface);color:#fff;border-color:var(--border-subtle);box-shadow:0 2px 8px rgba(0,0,0,.25)}.cap-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:14px;gap:14px;margin:16px 0 24px}.cap-card{border:1px solid var(--border-subtle);border-radius:12px;padding:16px;background:var(--bg-surface);box-shadow:0 4px 12px rgba(0,0,0,.2)}.cap-card .name{font-weight:700;color:var(--text-primary);font-size:14.5px;margin-bottom:6px}.cap-card .numbers{font-size:13px;color:var(--text-secondary);margin-bottom:10px}.cap-track{background:var(--bg-card-elevated);border-radius:6px;height:8px;overflow:hidden;border:1px solid var(--border-subtle)}.cap-fill{height:100%;transition:width .3s ease}.cap-fill.ok{background:#10b981}.cap-fill.warn{background:#f59e0b}.cap-fill.over{background:#ef4444}.cap-pct{font-size:12px;margin-top:8px;font-weight:700}.cap-pct.ok{color:#10b981}.cap-pct.warn{color:#f59e0b}.cap-pct.over{color:#ef4444}.chart-bars-vertical{display:flex;align-items:flex-end;gap:4px;height:160px;border-bottom:1px solid var(--border-subtle);padding-top:12px;margin-bottom:8px}.chart-bar-col{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;min-width:6px}.chart-bar{width:100%;background:var(--coral-gradient);border-radius:4px 4px 0 0;min-height:3px}.chart-bar-labels{display:flex;gap:4px;margin-bottom:20px}.chart-bar-label{flex:1 1;min-width:6px;font-size:10px;color:var(--text-muted);text-align:center;white-space:nowrap;overflow:hidden}.chart-bars-horizontal{display:flex;flex-direction:column;gap:10px;margin-bottom:24px}.chart-bar-row{display:flex;align-items:center;gap:10px}.chart-bar-row .name{width:140px;font-size:13px;font-weight:600;color:var(--text-primary);flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chart-bar-row .track{flex:1 1;background:var(--bg-card-elevated);border-radius:5px;height:14px;overflow:hidden;border:1px solid var(--border-subtle)}.chart-bar-row .fill{height:100%;background:linear-gradient(90deg,#f59e0b,#f54842)}.chart-bar-row .value{width:60px;text-align:right;font-size:12.5px;font-weight:600;color:var(--text-secondary);flex-shrink:0}.modal-overlay{position:fixed;inset:0;background:rgba(15,23,34,.85);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:flex-start;justify-content:center;padding:40px 16px;overflow-y:auto;z-index:9999}.modal-panel{border:1px solid var(--border-card);border-radius:14px;width:100%;box-shadow:0 25px 50px -12px rgba(0,0,0,.8);overscroll-behavior:contain;color:var(--text-primary)}.modal-header,.modal-panel{background:var(--bg-surface)}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 24px;border-bottom:1px solid var(--border-subtle);position:-webkit-sticky;position:sticky;top:0;border-radius:14px 14px 0 0;z-index:1}.modal-header h2{margin:0;font-size:18px;color:var(--text-primary)}.modal-close{background:hsla(0,0%,100%,.05);border:1px solid var(--border-subtle);font-size:18px;line-height:1;color:var(--text-secondary);cursor:pointer;padding:4px 10px;border-radius:6px;flex-shrink:0;transition:all .15s ease}.modal-close:hover{background:rgba(245,72,66,.15);color:var(--coral);border-color:rgba(245,72,66,.3)}.modal-body{padding:24px;overflow-x:auto}.contract-card{border:1px solid var(--border-subtle);background:var(--bg-surface);border-radius:12px;padding:18px;margin-bottom:14px}.contract-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.contract-card-header h4{margin:0;color:var(--text-primary);font-size:15px;font-weight:700}.status-pill{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:4px 10px;border-radius:999px;flex-shrink:0;display:inline-flex;align-items:center;gap:4px}.status-pill.on{background:rgba(16,185,129,.15);color:#10b981;border:1px solid rgba(16,185,129,.3)}.status-pill.off{background:rgba(148,163,184,.1);color:var(--text-secondary);border:1px solid rgba(148,163,184,.2)}.contract-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));grid-gap:12px 16px;gap:12px 16px;margin-bottom:14px}.contract-field{display:flex;flex-direction:column;gap:3px;min-width:0}.contract-field .field-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.contract-field .field-value{font-size:13.5px;color:var(--text-primary);font-weight:500}.contract-field .field-hint{font-size:11.5px;color:var(--text-muted)}.dashboard-filters{gap:14px;align-items:flex-end;padding:16px 20px}.app-nav,.dashboard-filters{display:flex;flex-wrap:wrap;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:12px;margin-bottom:24px}.app-nav{justify-content:space-between;padding:12px 16px}.app-nav,.app-nav nav{align-items:center;gap:12px}.app-nav nav{display:flex;flex-wrap:wrap}.app-nav nav a{color:var(--text-secondary);text-decoration:none;font-weight:600;font-size:13.5px;padding:6px 12px;border-radius:6px;transition:all .15s ease}.app-nav nav a:hover{color:#fff;background:hsla(0,0%,100%,.05)}.app-nav nav a.active{color:#fff;background:rgba(245,72,66,.15);border:1px solid rgba(245,72,66,.3)}.app-nav nav a.nav-link-highlight{color:#f8fafc;background:rgba(245,72,66,.12);border:1px solid rgba(245,72,66,.25)}.app-nav .nav-divider{width:1px;height:20px;background:var(--border-subtle);margin:0 4px}.app-nav .nav-group-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}