:root{--teal: #0E7C86;--teal-dark: #0A5C64;--teal-light: #E2F1F2;--gold: #C9A227;--gold-dark: #A8851A;--gold-light: #F7EFD2;--white: #FFFFFF;--black: #111111;--gray-050: #F7F8F8;--gray-100: #EDEFEF;--gray-300: #CDD3D3;--gray-500: #7A8585;--gray-700: #3F4747;--success: #2E7D32;--warning: #B26A00;--danger: #B3261E;--radius: 8px;--shadow-card: 0 1px 3px rgba(17,17,17,.1), 0 1px 2px rgba(17,17,17,.06);--font-body: "Segoe UI", system-ui, -apple-system, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-body);color:var(--black);background:var(--gray-050);font-size:15px;line-height:1.5}a{color:var(--teal)}.app{display:flex;min-height:100%}.sidebar{width:240px;background:var(--white);border-right:1px solid var(--gray-100);padding:20px 14px;display:flex;flex-direction:column;gap:4px}.brand{display:flex;align-items:center;gap:10px;margin-bottom:18px}.brand .logo{width:34px;height:34px;border-radius:8px;display:grid;place-items:center;background:var(--teal);color:var(--white);font-weight:700;border-bottom:3px solid var(--gold)}.brand .name{font-weight:700;line-height:1.1}.brand .name small{display:block;color:var(--gray-500);font-weight:500;font-size:11px}.nav a{display:block;padding:9px 12px;border-radius:var(--radius);color:var(--gray-700);text-decoration:none;font-weight:500}.nav a:hover{background:var(--teal-light);color:var(--teal-dark)}.nav a.active{background:var(--teal);color:var(--white)}.nav .phase-tag{font-size:10px;color:var(--gray-500);margin:14px 0 4px;text-transform:uppercase;letter-spacing:.06em}.main{flex:1;display:flex;flex-direction:column}.topbar{height:56px;background:var(--white);border-bottom:1px solid var(--gray-100);display:flex;align-items:center;justify-content:space-between;padding:0 22px}.topbar .who{color:var(--gray-700);font-size:13px}.content{padding:24px;flex:1}.card{background:var(--white);border:1px solid var(--gray-100);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:18px}.grid{display:grid;gap:16px}.grid.cols-3{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}h1{font-size:22px;margin:0 0 4px}h2{font-size:17px;margin:0 0 12px}.muted{color:var(--gray-500)}.btn{display:inline-flex;align-items:center;gap:8px;cursor:pointer;border:1px solid transparent;border-radius:var(--radius);padding:9px 16px;font-weight:600;font-size:14px;font-family:inherit}.btn-primary{background:var(--teal);color:var(--white)}.btn-primary:hover{background:var(--teal-dark)}.btn-gold{background:var(--gold);color:var(--black)}.btn-gold:hover{background:var(--gold-dark)}.btn-ghost{background:var(--white);border-color:var(--gray-300);color:var(--gray-700)}.btn-ghost:hover{border-color:var(--teal);color:var(--teal-dark)}.btn:disabled{opacity:.55;cursor:not-allowed}.field{display:flex;flex-direction:column;gap:5px;margin-bottom:14px}.field label{font-weight:600;font-size:13px}.field input,.field select{padding:9px 11px;border:1px solid var(--gray-300);border-radius:var(--radius);font-size:14px;font-family:inherit;background:var(--white);color:var(--black)}.field input:focus,.field select:focus{outline:2px solid var(--teal);border-color:var(--teal)}.pill{display:inline-block;padding:2px 10px;border-radius:999px;font-size:11px;font-weight:700;text-transform:capitalize}.pill-analyzing{background:var(--teal-light);color:var(--teal-dark)}.pill-counting{background:var(--gold-light);color:var(--gold-dark)}.pill-bom,.pill-priced,.pill-proposed,.pill-submitted{background:var(--gray-100);color:var(--gray-700)}.pill-confirmed{background:var(--teal-light);color:var(--teal-dark)}.pill-needs_review{background:#fce8e6;color:var(--danger)}.pill-excluded{background:var(--gray-100);color:var(--gray-500)}.btn-sm{padding:5px 10px;font-size:12px;margin-left:6px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--gray-100);font-size:14px}th{color:var(--gray-500);font-size:12px;text-transform:uppercase;letter-spacing:.04em}.auth-wrap{min-height:100%;display:grid;place-items:center;padding:24px}.auth-card{width:100%;max-width:380px}.auth-card .logo-lg{width:48px;height:48px;border-radius:10px;display:grid;place-items:center;background:var(--teal);color:var(--white);font-weight:800;font-size:18px;border-bottom:4px solid var(--gold);margin-bottom:14px}.error{color:var(--danger);font-size:13px;margin:6px 0}.banner{background:var(--gold-light);border:1px solid var(--gold);color:var(--black);padding:10px 14px;border-radius:var(--radius);margin-bottom:16px;font-size:13px}.banner-danger{background:#fce8e6;border-color:var(--danger)}
