:root{--brand-primary: #48C2C5;--brand-accent: #0080FE;--brand-secondary: #F4F4F4;--brand-text: #262C31;--brand-dark: #000000;--brand-hover: #DE6906;--brand-on-primary: #262C31;--brand-on-accent: #FFFFFF;--brand-muted: #6B7075;--brand-line: #E5E7EB;--brand-surface: #FFFFFF;--brand-bg: #FAFAFA;--brand-danger: #B91C1C;--brand-ok: #047857;--font-headings: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--radius: 5px;--radius-lg: 10px;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .05);--shadow-md: 0 4px 12px rgba(15, 23, 42, .08)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-body);color:var(--brand-text);background:var(--brand-bg);font-size:14px;font-weight:400;line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--font-headings);margin:0 0 12px;color:var(--brand-text);letter-spacing:-.01em}h1{font-size:24px;font-weight:800}h2{font-size:18px;font-weight:600}h3{font-size:15px;font-weight:600;color:var(--brand-text)}a{color:var(--brand-accent);text-decoration:none}a:hover{color:var(--brand-hover);text-decoration:underline}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{display:flex;align-items:center;gap:12px 20px;flex-wrap:wrap;padding:12px 24px;background:var(--brand-dark);border-bottom:3px solid var(--brand-primary)}.app-header .brand{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.app-header .brand img{display:block;max-height:40px;width:auto}.app-header .brand-name{font-family:var(--font-headings);font-weight:700;color:#fff;font-size:16px;letter-spacing:-.01em}.app-header .brand-name:hover{color:var(--brand-primary);text-decoration:none}.app-header .brand-name .muted{color:#fff9}.app-header .tagline{font-size:12px;color:#ffffffa6;font-style:italic}.app-header nav{display:flex;align-items:center;gap:6px;flex-shrink:0}.app-header nav a{padding:6px 12px;border-radius:var(--radius);color:#fff}.app-header nav a:hover{background:#ffffff24;color:#fff;text-decoration:none}.app-header nav button.ghost{background:transparent;color:#fff;border:2px solid var(--brand-secondary)}.app-header nav button.ghost:hover:not(:disabled){background:var(--brand-secondary);color:var(--brand-dark)}.app-main{flex:1;padding:24px;max-width:1200px;width:100%;margin:0 auto}button{font-family:var(--font-body);font-size:13px;font-weight:600;padding:7px 14px;border-radius:var(--radius);border:1px solid var(--brand-primary);background:var(--brand-primary);color:var(--brand-on-primary);cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease,transform .05s ease}button:hover:not(:disabled){background:var(--brand-dark);border-color:var(--brand-dark);color:#fff}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.5;cursor:not-allowed}button.secondary{background:var(--brand-surface);color:var(--brand-text);border:2px solid var(--brand-primary);border-radius:17px;padding:6px 14px}button.accent{background:var(--brand-accent);border-color:var(--brand-accent);color:var(--brand-on-accent)}button.accent:hover:not(:disabled){background:var(--brand-hover);border-color:var(--brand-hover);color:#fff}button.danger{background:var(--brand-danger);border-color:var(--brand-danger);color:#fff}button.ghost{background:transparent;border-color:var(--brand-line);color:var(--brand-text)}button.ghost:hover:not(:disabled){background:var(--brand-secondary);border-color:var(--brand-primary);color:var(--brand-text)}label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:500;color:var(--brand-muted);text-transform:uppercase;letter-spacing:.03em}input,select,textarea{font-family:var(--font-body);font-size:14px;color:var(--brand-text);padding:8px 10px;border-radius:var(--radius);border:1px solid var(--brand-line);background:var(--brand-surface);transition:border-color .12s}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand-primary);box-shadow:0 0 0 3px color-mix(in oklab,var(--brand-primary) 15%,transparent)}.error{color:var(--brand-danger);font-size:13px;background:#fef2f2;padding:8px 10px;border-radius:var(--radius);border:1px solid #FCA5A5}.login-wrap{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,var(--brand-dark) 0%,var(--brand-text) 100%);padding:24px}.login-card{width:380px;background:var(--brand-surface);border-radius:var(--radius-lg);padding:32px;box-shadow:0 20px 40px #00000026;display:flex;flex-direction:column;gap:14px}.login-card .brand-block{text-align:center;margin-bottom:8px}.login-card .brand-block img{max-height:56px;margin:0 auto 12px;display:block}.login-card h1{text-align:center;margin:0;color:var(--brand-text);font-size:20px}.login-card .tagline{text-align:center;color:var(--brand-muted);font-size:12px;margin:-6px 0 4px;font-style:italic}.login-card button{padding:10px;font-size:14px;margin-top:4px}.card{background:var(--brand-surface);border:1px solid var(--brand-line);border-radius:var(--radius-lg);padding:18px 20px;box-shadow:var(--shadow-sm)}.card+.card{margin-top:16px}.card-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}.card-head h2{margin:0;flex:1}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.kv{font-size:13px;color:var(--brand-muted)}.kv b{color:var(--brand-text);font-weight:500}table.data{width:100%;border-collapse:collapse;font-size:13px}table.data th{text-align:left;font-weight:600;color:var(--brand-muted);text-transform:uppercase;font-size:11px;letter-spacing:.04em;padding:8px 10px;border-bottom:1px solid var(--brand-line);background:var(--brand-secondary)}table.data td{padding:10px;border-bottom:1px solid var(--brand-line)}table.data tr:hover td{background:var(--brand-secondary)}.pill{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.pill-intake{background:#e0e7ff;color:#3730a3}.pill-extracted{background:#dbeafe;color:#1e40af}.pill-reviewed{background:#dcfce7;color:#166534}.pill-exported{background:#fef3c7;color:#854d0e}.pill-sent{background:var(--brand-accent);color:#fff}.row{display:flex;gap:10px;align-items:center}.spacer{flex:1}.muted{color:var(--brand-muted)}.mono{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px}.emergency-badge{display:inline-flex;align-items:center;gap:6px;background:var(--brand-accent);color:#fff;font-weight:700;padding:3px 10px;border-radius:999px;font-size:11px;letter-spacing:.05em}.dashboard{display:flex;flex-direction:column;gap:16px}.dash-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.dash-head h1{margin:0 0 4px}.dash-head p{margin:0;font-size:13px}.card.empty{padding:48px;text-align:center}.new-job-card{border-left:3px solid var(--brand-accent)}.new-job-form{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:12px;align-items:end}.new-job-form label{grid-column:span 1}.new-job-form .form-actions{grid-column:1 / -1}@media (max-width: 720px){.new-job-form{grid-template-columns:1fr 1fr}}.row-link{font-size:13px;white-space:nowrap}.job-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px;flex-wrap:wrap}.job-header h1{margin:0 0 4px}.job-header .job-meta{font-size:13px;color:var(--brand-muted)}.job-header .job-actions{display:flex;gap:8px;flex-wrap:wrap}.room-group{margin-bottom:20px}.room-group-head{display:flex;align-items:center;gap:12px;padding:10px 12px;background:var(--brand-secondary);border-radius:var(--radius) var(--radius) 0 0;border:1px solid var(--brand-line);border-bottom:none}.room-group-head h3{margin:0;flex:1;font-size:14px}.room-group-head .room-total{font-weight:700;color:var(--brand-text);font-size:13px}.line-items-table{width:100%;border-collapse:collapse;font-size:13px}.line-items-table th{text-align:left;font-weight:600;color:var(--brand-muted);text-transform:uppercase;font-size:11px;letter-spacing:.04em;padding:8px;border-bottom:1px solid var(--brand-line);background:#fafafa}.line-items-table td{padding:6px 8px;border-bottom:1px solid var(--brand-line);vertical-align:middle}.line-items-table tr:hover td{background:#fafbfc}.line-items-table input,.line-items-table select{padding:4px 6px;font-size:13px;width:100%;border:1px solid transparent;background:transparent}.line-items-table input:hover,.line-items-table select:hover{border-color:var(--brand-line);background:var(--brand-surface)}.line-items-table input:focus,.line-items-table select:focus{border-color:var(--brand-primary);background:var(--brand-surface)}.line-items-table .code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px}.line-items-table .qty{width:70px;text-align:right}.line-items-table .unit{width:60px}.line-items-table .price{width:90px;text-align:right}.line-items-table .ext{width:100px;text-align:right;font-weight:500}.line-items-table .del{width:32px;text-align:center}.line-items-table .del button{background:transparent;border:none;color:var(--brand-muted);padding:2px 6px;font-size:16px;cursor:pointer}.line-items-table .del button:hover{color:var(--brand-danger)}.line-items-table .row-question td{background:#fffbeb}.line-items-table .row-question td:first-child{border-left:3px solid #F59E0B}.line-items-table .question-row td{padding:4px 8px 10px;background:#fffbeb;border-bottom:1px solid var(--brand-line)}.line-items-table .question-input{display:flex;gap:8px;align-items:center}.line-items-table .question-input input{width:auto;flex:1;background:var(--brand-surface);border:1px solid #FBBF24}.pii-badge{background:#fef2f2;color:#991b1b;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.doc-pii{border-left:3px solid var(--brand-danger);padding-left:10px;background:#fef2f2}.pii-row{display:flex;gap:8px;align-items:center;margin-top:4px;flex-wrap:wrap}.pii-chip{background:#fee2e2;color:#991b1b;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600}.pii-row button{padding:2px 8px;font-size:11px}.line-items-table .source-chip{display:inline-block;padding:1px 6px;border-radius:3px;font-size:10px;letter-spacing:.03em;text-transform:uppercase;background:#eef2ff;color:#3730a3}.line-items-table .source-chip.manual{background:#fef3c7;color:#92400e}.line-items-table .source-chip.DryTrack{background:#dbeafe;color:#1e40af}.line-items-table .source-chip.ScopeSheet{background:#dcfce7;color:#166534}.line-items-table .source-chip.Scope{background:#e0e7ff;color:#3730a3}.line-items-table tfoot td{font-weight:600;padding:10px 8px;border-top:2px solid var(--brand-primary);background:var(--brand-surface)}.add-row{display:flex;gap:8px;padding:10px 12px;background:#fff;border:1px dashed var(--brand-line);border-radius:0 0 var(--radius) var(--radius);align-items:center;flex-wrap:wrap}.add-row input,.add-row select{padding:6px 8px;font-size:13px}.add-row .add-code{width:160px}.add-row .add-desc{flex:1;min-width:180px}.add-row .add-qty,.add-row .add-unit{width:70px}.add-row .suggestions{position:absolute;background:var(--brand-surface);border:1px solid var(--brand-line);border-radius:var(--radius);box-shadow:var(--shadow-md);max-height:240px;overflow-y:auto;z-index:10;min-width:320px}.add-row .suggestions .suggestion{padding:8px 10px;cursor:pointer;display:flex;gap:8px;font-size:12px}.add-row .suggestions .suggestion:hover{background:var(--brand-secondary)}.add-row .suggestions .suggestion .code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-weight:600;color:var(--brand-text);min-width:110px}.add-row .suggestions .suggestion .desc{flex:1}.add-row .suggestions .suggestion .price{color:var(--brand-muted);text-align:right}.save-flash{font-size:12px;color:var(--brand-ok);animation:fade 2s}@keyframes fade{0%,50%{opacity:1}to{opacity:0}}.page-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.job-detail h1+p{margin-top:-8px}.upload-strip{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.upload-strip input[type=file]{font-size:12px}.attachments-list{display:flex;flex-direction:column;gap:6px}.attachments-list .doc{display:flex;justify-content:space-between;padding:6px 10px;background:var(--brand-secondary);border-radius:var(--radius);font-size:13px}.attachments-list .doc .meta{color:var(--brand-muted);font-size:12px}.status-cell{display:inline-flex;align-items:center;gap:6px}
