:root{--section-bg: #1B2035;--section-text: #FFFFFF;--navy: #1B2035;--navy-80: #2D3450;--navy-60: #4A5270;--amber: #F59E0B;--amber-d: #D97706;--bg: #F4F3EF;--surface: #FFFFFF;--border: #E2DFD6;--border-d:#C8C4BC;--text: #1B2035;--text-2: #6B7280;--text-3: #9CA3AF;--green: #15803D;--green-bg:#F0FDF4;--red: #B91C1C;--red-bg: #FEF2F2;--mono: "IBM Plex Mono", monospace;--sans: "Barlow", sans-serif;--head: "Barlow Condensed", sans-serif}[data-theme=dark]{--section-bg: #2D3148;--section-text: #F59E0B;--navy: #E8EAF6;--navy-80: #C5CAE9;--navy-60: #9FA8DA;--amber: #F59E0B;--amber-d: #D97706;--bg: #0F1117;--surface: #1C1F2A;--border: #2D3148;--border-d:#3D4268;--text: #E8EAF6;--text-2: #8B8FA8;--text-3: #5A5F7A;--green: #4ADE80;--green-bg:#052E16;--red: #F87171;--red-bg: #450A0A}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;padding:0;min-height:100vh;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--head);letter-spacing:.01em;margin:0}a{color:var(--navy);text-decoration:none}button{font-family:var(--sans);cursor:pointer}input,select,textarea{font-family:var(--sans);font-size:15px}.mono{font-family:var(--mono)}.layout{min-height:100vh;display:flex;flex-direction:column}.layout-header{background:var(--navy);padding:0 24px;display:flex;align-items:center;justify-content:space-between;height:56px;position:sticky;top:0;z-index:10}.layout-logo{font-family:var(--head);font-size:20px;font-weight:700;color:#fff;letter-spacing:.04em;cursor:pointer;display:flex;align-items:center;gap:10px}.layout-logo-bolt{color:var(--amber);font-size:18px}.layout-signout{background:none;border:1px solid rgba(255,255,255,.2);color:#ffffffa6;font-size:13px;font-weight:500;padding:5px 14px;border-radius:4px;transition:all .15s}.layout-signout:hover{border-color:#ffffff80;color:#fff}.layout-body{flex:1;max-width:960px;width:100%;margin:0 auto;padding:32px 24px 64px}.page-title{font-size:28px;font-weight:700;color:var(--navy);margin-bottom:24px}.btn{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;font-size:14px;font-weight:600;border-radius:5px;border:none;transition:all .15s;white-space:nowrap}.btn-primary{background:var(--amber);color:var(--navy)}.btn-primary:hover{background:var(--amber-d)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-navy{background:var(--navy);color:#fff}.btn-navy:hover{background:var(--navy-80)}.btn-navy:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{background:none;border:1px solid var(--border-d);color:var(--navy-60)}.btn-ghost:hover{border-color:var(--navy);color:var(--navy)}.btn-danger-ghost{background:none;border:none;color:var(--red);font-size:13px;padding:4px 8px}.btn-danger-ghost:hover{text-decoration:underline}.btn-green{background:var(--green);color:#fff}.btn-green:hover{background:#166534}.btn-green:disabled{opacity:.5;cursor:not-allowed}.card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:20px}.data-table{width:100%;border-collapse:collapse;font-size:14px}.data-table th{text-align:left;padding:8px 12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-2);background:var(--bg);border-bottom:2px solid var(--border-d)}.data-table td{padding:10px 12px;border-bottom:1px solid var(--border);color:var(--text);vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover td{background:#fafaf7}.data-table .section-row td{background:var(--section-bg);color:var(--section-text);font-family:var(--head);font-size:13px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:7px 12px;border-bottom:none}.data-table .section-row:hover td{background:var(--section-bg)}.num{font-family:var(--mono);font-size:13px}.num-right{font-family:var(--mono);font-size:13px;text-align:right}.field{display:flex;flex-direction:column;gap:4px}.field label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-2)}.field input,.field select{padding:9px 12px;border:1.5px solid var(--border-d);border-radius:5px;font-size:15px;background:var(--surface);color:var(--text);transition:border-color .15s;width:100%}.field input:focus,.field select:focus{outline:none;border-color:var(--amber)}.table-input{padding:5px 8px;border:1.5px solid var(--border-d);border-radius:4px;font-family:var(--mono);font-size:13px;background:var(--surface);color:var(--text);transition:border-color .15s}.table-input:focus{outline:none;border-color:var(--amber);background:#fffbf0}.stats-row{display:grid;gap:12px;margin-bottom:24px}.stat-tile{background:var(--surface);border:1px solid var(--border);border-radius:7px;padding:14px 16px}.stat-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-2);margin-bottom:4px}.stat-value{font-family:var(--mono);font-size:22px;font-weight:600;color:var(--navy)}.badge{display:inline-block;padding:2px 10px;border-radius:3px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.badge-active{background:#d1fae5;color:#065f46}.badge-complete{background:#e0e7ff;color:#3730a3}.badge-archived{background:#f3f4f6;color:#6b7280}.badge-submitted{background:#fef3c7;color:#92400e}.badge-draft{background:#f3f4f6;color:#6b7280}.badge-paid{background:#d1fae5;color:#065f46}.progress-bar-track{height:4px;background:var(--border);border-radius:2px;overflow:hidden;margin-top:6px}.progress-bar-fill{height:100%;background:var(--amber);border-radius:2px;transition:width .3s ease}.tabs{display:flex;gap:0;border-bottom:2px solid var(--border);margin-bottom:28px}.tab-btn{padding:10px 20px;border:none;background:none;font-family:var(--sans);font-size:14px;font-weight:600;color:var(--text-2);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .15s;letter-spacing:.01em}.tab-btn:hover{color:var(--navy)}.tab-btn.active{color:var(--navy);border-bottom-color:var(--amber)}.period-pills{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-bottom:20px}.period-pill{padding:4px 14px;border:1.5px solid var(--border-d);border-radius:20px;font-size:13px;font-weight:600;font-family:var(--mono);background:var(--surface);color:var(--text-2);cursor:pointer;transition:all .15s}.period-pill:hover{border-color:var(--navy);color:var(--navy)}.period-pill.active{background:var(--navy);border-color:var(--navy);color:#fff}.alert{padding:12px 16px;border-radius:6px;font-size:14px;margin-top:16px}.alert-success{background:var(--green-bg);color:var(--green)}.alert-error{background:var(--red-bg);color:var(--red)}.alert-warn{background:#fffbeb;color:#92400e}.login-page{min-height:100vh;background:var(--navy);display:flex;align-items:center;justify-content:center;padding:24px}.login-card{background:var(--surface);border-radius:10px;padding:40px 36px;width:100%;max-width:380px;box-shadow:0 20px 60px #0006}.login-logo{font-family:var(--head);font-size:26px;font-weight:700;color:var(--navy);margin-bottom:4px;display:flex;align-items:center;gap:8px}.login-sub{font-size:13px;color:var(--text-2);margin-bottom:32px}.project-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:20px;cursor:pointer;transition:all .15s;border-left:4px solid transparent}.project-card:hover{border-left-color:var(--amber);box-shadow:0 2px 12px #0000000f;transform:translateY(-1px)}.project-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px}.project-card-name{font-family:var(--head);font-size:18px;font-weight:700;color:var(--navy)}.project-card-location{font-size:13px;color:var(--text-2);margin-top:2px}.project-card-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0}.project-stat{padding:0 12px 0 0}.project-stat+.project-stat{padding-left:12px;border-left:1px solid var(--border)}.project-stat-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-3);margin-bottom:2px}.project-stat-value{font-family:var(--mono);font-size:14px;font-weight:600;color:var(--navy)}.empty-state{text-align:center;padding:48px 24px;color:var(--text-2);font-size:14px}.section-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-toolbar h2{font-size:18px;font-weight:700;color:var(--navy)}.divider{border:none;border-top:1px solid var(--border);margin:20px 0}
