:root{--bg:#f5f7fb;--surface:#ffffff;--surface-2:#f0f3f8;--border:#d7dde8;--text:#172033;--muted:#667085;--accent:#0f766e;--accent-2:#2563eb;--danger:#b42318;--shadow:0 12px 30px rgba(15,23,42,0.08)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;letter-spacing:0}button,input,select{font:inherit}button{cursor:pointer}.app-shell{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh}.sidebar{background:#101828;color:#ffffff;padding:20px}.brand{display:flex;align-items:center;gap:10px;font-weight:700;min-height:40px}.brand-mark{display:grid;width:34px;height:34px;place-items:center;border-radius:6px;background:#f2c94c;color:#101828;font-size:13px}.nav-stack{display:grid;grid-gap:8px;gap:8px;margin-top:28px}.nav-item{border:1px solid transparent;border-radius:6px;background:transparent;color:#d0d5dd;padding:10px 12px;text-align:left}.nav-item.active,.nav-item:hover{background:#1d2939;color:#ffffff}.workspace{min-width:0;padding:22px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.location-header h3,.section-header h2,.topbar h1{margin:0}.topbar h1{font-size:28px;line-height:1.15}.eyebrow{margin:0 0 3px;color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase}.topbar-actions{display:flex;align-items:center;gap:10px}.status-message{color:var(--accent);font-size:13px}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;grid-gap:18px;gap:18px;align-items:start}.dashboard-stack{max-width:1180px}.dashboard-stack,.location-stack,.main-column,.settings-list,.user-list{display:grid;grid-gap:14px;gap:14px}.kpi-panel,.location-panel,.panel{border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.panel{padding:16px}.panel.compact{padding-bottom:14px}.location-header,.section-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.section-header>div:first-child{display:grid;grid-gap:3px;gap:3px}.location-header span,.section-header span,small{color:var(--muted);font-size:13px}.location-metrics{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px}.location-metrics>span:not(:first-child):before{content:"|";margin-right:10px;color:var(--border)}.location-metrics strong{color:var(--text)}.location-remaining.positive strong{color:#166534}.location-remaining.negative strong{color:#991b1b}.checkbox-field{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px}.checkbox-field input{width:16px;height:16px}.sharepoint-create-option{grid-column:1/-1}.tender-tabs{display:flex;gap:6px;margin-bottom:14px;border-bottom:1px solid var(--border)}.tender-tabs button{min-height:36px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font-weight:700;padding:8px 10px}.tender-tabs button.active{border-color:var(--accent);color:var(--text)}.calculation-section{display:grid;grid-gap:14px;gap:14px;margin-bottom:0;padding:0 0 4px}.calculation-header{display:flex;align-items:flex-end;justify-content:space-between;gap:14px}.calculation-header h3,.year-breakdown h4{margin:0}.calculation-header>div:first-child{display:grid;grid-gap:3px;gap:3px}.calculation-header span{color:var(--muted);font-size:13px}.calculation-header strong{font-size:20px;text-align:right}.calculation-controls{display:grid;grid-template-columns:repeat(3,minmax(130px,1fr));grid-gap:8px;gap:8px;width:min(520px,100%)}.budget-split-form label,.discount-control,.location-markup-control{display:grid;grid-gap:5px;gap:5px;color:var(--muted);font-size:12px;font-weight:700}.budget-split-form input,.discount-control input,.location-markup-control input,.location-year-row input{min-height:34px;border:1px solid var(--border);border-radius:6px;background:#ffffff;color:var(--text);padding:7px 9px}.discount-control{min-width:0}.basic-info-stack,.basic-location-stack{display:grid;grid-gap:12px;gap:12px}.basic-location-row{display:grid;grid-gap:10px;gap:10px;border:1px solid var(--border);border-radius:6px;background:#fbfcfe;padding:12px}.basic-location-row h3{margin:0 0 4px}.budget-split-form{grid-template-columns:minmax(160px,1fr) minmax(160px,1fr) auto;align-items:flex-end;margin-bottom:0;border-top:1px solid var(--border);padding-top:12px}.budget-split-form button,.calculation-save-button{min-height:38px;border:0;border-radius:6px;background:var(--accent);color:#ffffff;font-weight:700;padding:8px 12px}.calculation-location,.calculation-location-stack{display:grid;grid-gap:12px;gap:12px}.calculation-location{border:1px solid var(--border);border-radius:6px;background:#fbfcfe;padding:12px}.calculation-location-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.calculation-location-header h4{margin:0 0 4px}.calculation-location-header span,.calculation-location-totals span{color:var(--muted);font-size:12px}.calculation-location-totals{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px 12px;text-align:right}.location-markup-control{max-width:220px}.calculation-group-summary{display:grid;border:1px solid var(--border);border-radius:6px;overflow:hidden;background:#ffffff}.calculation-group-row{display:grid;grid-template-columns:minmax(135px,1.2fr) minmax(95px,1fr) minmax(105px,1fr) minmax(95px,1fr) minmax(105px,1fr) minmax(80px,.8fr) minmax(70px,.7fr) minmax(120px,1.1fr);align-items:center;grid-gap:8px;gap:8px;border-top:1px solid var(--border);background:#ffffff;padding:8px 10px;font-size:12px}.calculation-group-row:first-child{border-top:0}.calculation-group-head{background:var(--surface-2);color:#344054;font-weight:800}.calculation-group-row span,.muted-value{color:var(--muted)}.calculation-group-row strong,.calculation-location-header strong{color:var(--text)}.group-title{color:var(--text)!important;font-weight:800}.budget-status{justify-self:start;border-radius:999px;padding:4px 8px;font-weight:800;white-space:nowrap}.budget-status.neutral,.budget-status.positive{background:#dcfce7;color:#166534}.budget-status.negative{background:#fee2e2;color:#991b1b}.location-year-table{display:grid;border:1px solid var(--border);border-radius:6px;overflow:hidden}.location-year-row{display:grid;grid-template-columns:60px repeat(6,minmax(105px,1fr));grid-gap:8px;gap:8px;align-items:center;min-height:38px;border-top:1px solid var(--border);padding:8px;font-size:13px}.location-year-row:first-child{border-top:0}.location-year-head{background:var(--surface-2);color:#344054;font-weight:700}.calculation-save-button{justify-self:end}.calculation-summary{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));grid-gap:8px;gap:8px}.calculation-metric{display:grid;grid-gap:4px;gap:4px;min-height:54px;border:1px solid var(--border);border-radius:6px;background:#fbfcfe;padding:9px 10px}.calculation-metric span{color:var(--muted);font-size:12px}.calculation-metric strong{font-size:15px}.calculation-metric.emphasized{border-color:#98d5c1;background:#f2fbf7}.year-breakdown{display:grid;grid-gap:8px;gap:8px}.year-breakdown-table{display:grid;border:1px solid var(--border);border-radius:6px;overflow:hidden}.year-breakdown-row{display:grid;grid-template-columns:70px repeat(4,minmax(110px,1fr));grid-gap:10px;gap:10px;align-items:center;min-height:36px;border-top:1px solid var(--border);padding:8px 10px;font-size:13px}.year-breakdown-row:first-child{border-top:0}.year-breakdown-head{background:var(--surface-2);color:#344054;font-weight:700}.tender-list{display:grid;grid-gap:8px;gap:8px}.tender-row{display:grid;grid-template-columns:minmax(180px,1.4fr) 130px 70px 105px 105px;align-items:center;grid-gap:10px;gap:10px;width:100%;border:1px solid var(--border);border-radius:6px;background:#ffffff;color:var(--text);padding:12px;text-align:left}.tender-row.selected{border-color:var(--accent);background:#ecfdf5}.tender-row:hover{border-color:var(--accent);background:#f8fffc}.setting-row span:first-child,.tender-row span:first-child,.user-row span:first-child{display:grid;grid-gap:3px;gap:3px}.badge{display:inline-flex;align-items:center;justify-content:center;min-height:26px;width:-moz-fit-content;width:fit-content;border-radius:999px;background:var(--surface-2);color:#344054;padding:3px 9px;font-size:12px;font-weight:700;white-space:nowrap}.form-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:10px;gap:10px}.form-grid input,.form-grid select,.form-grid textarea,.location-header select,.setting-row input,.setting-row textarea,.table-row input,.table-row select,.topbar select{min-height:38px;border:1px solid var(--border);border-radius:6px;background:#ffffff;color:var(--text);padding:8px 10px}.form-grid textarea,.setting-row textarea{min-height:120px;resize:vertical}.form-grid button,.secondary-button,.setting-row button,.upload-form button{min-height:38px;border:0;border-radius:6px;background:var(--accent);color:#ffffff;font-weight:700;padding:8px 12px}.header-actions{display:flex;align-items:center;gap:10px}.location-header-actions{display:flex;align-items:center;gap:14px}.location-design-actions,.proposal-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.text-action{min-height:0;border:0;background:transparent;color:var(--accent-2);font-size:13px;font-weight:700;line-height:1.4;padding:0;text-decoration:none;white-space:nowrap}.text-action:hover{text-decoration:underline}.danger-link{color:var(--danger)}.tender-form{grid-template-columns:minmax(180px,1.4fr) minmax(160px,1fr) 120px 140px 100px auto auto}.customer-picker{position:relative;display:grid;grid-gap:4px;gap:4px;min-width:0}.customer-results{position:absolute;z-index:8;top:calc(100% + 4px);right:0;left:0;display:grid;grid-gap:4px;gap:4px;max-height:240px;overflow:auto;border:1px solid var(--border);border-radius:6px;background:#ffffff;box-shadow:var(--shadow);padding:6px}.customer-result{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;border:1px solid transparent;border-radius:6px;background:#ffffff;color:var(--text);padding:8px;text-align:left}.customer-result>span:first-child{display:grid;min-width:0;grid-gap:2px;gap:2px}.customer-result>span:last-child{color:var(--accent-2);font-size:12px;font-weight:700;white-space:nowrap}.customer-result:hover{border-color:var(--accent);background:#f8fffc}button:disabled{cursor:not-allowed;opacity:.55}.location-form{grid-template-columns:1.3fr 1fr 1fr 1fr auto;margin-bottom:16px}.product-form{grid-template-columns:minmax(180px,1fr) 100px 140px auto;margin-top:12px}.proposal-form{grid-template-columns:minmax(220px,1fr) minmax(220px,.8fr) auto;margin-bottom:12px}.compact-proposal-form{grid-template-columns:minmax(220px,1fr) auto}.invite-form{grid-template-columns:1.4fr 1fr 170px auto;margin-bottom:14px}.location-panel{padding:14px;box-shadow:none}.table{display:grid;border:1px solid var(--border);border-radius:6px;overflow:hidden}.table-row{display:grid;grid-template-columns:100px minmax(180px,1fr) 70px 120px 120px 90px 110px;grid-gap:10px;min-height:38px;border-top:1px solid var(--border);padding:8px 10px;font-size:13px}.row-actions,.table-row{gap:10px;align-items:center}.row-actions{display:flex}.table-row:first-child{border-top:0}.table-head{background:var(--surface-2);color:#344054;font-weight:700}.invite-row{grid-template-columns:minmax(220px,1fr) 160px 120px 120px}.proposal-panel{display:grid;grid-gap:12px;gap:12px;margin-top:16px;border-top:1px solid var(--border);padding-top:14px}.proposal-panel h4{margin:0;font-size:16px}.proposal-card,.proposal-list{display:grid;grid-gap:8px;gap:8px}.proposal-card{border:1px solid var(--border);border-radius:6px;background:#fbfcfe;padding:10px}.proposal-actions,.proposal-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.proposal-card-header>span:first-child{display:grid;grid-gap:3px;gap:3px}.proposal-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.proposal-actions{align-items:stretch;justify-content:flex-start}.secondary-button{background:var(--surface-2);color:#344054}.danger-button{min-height:32px;border:0;border-radius:6px;background:#fee4e2;color:var(--danger);font-weight:700;padding:6px 10px}.danger-button:hover{background:#fecdca}.compact-button{min-height:28px;padding:4px 8px;font-size:12px}.upload-form{display:grid;grid-template-columns:minmax(180px,1fr) auto;grid-gap:10px;gap:10px;align-items:center;min-width:min(100%,380px)}.upload-form input{min-height:38px;border:1px solid var(--border);border-radius:6px;background:#ffffff;color:var(--text);padding:7px}.file-list{display:grid;grid-gap:6px;gap:6px;font-size:13px}.file-row{display:grid;grid-template-columns:minmax(160px,1fr) auto auto;grid-gap:10px;gap:10px;align-items:center;min-height:32px;border:1px solid var(--border);border-radius:6px;background:#ffffff;padding:6px 8px}.file-row>span:first-child{display:flex;min-width:0;gap:8px;align-items:baseline}.file-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-row a{color:var(--accent-2);text-decoration:none;white-space:nowrap}.file-row a:hover{text-decoration:underline}.older-proposals{display:grid;grid-gap:8px;gap:8px;border-top:1px solid var(--border);padding-top:8px}.older-proposals summary{width:-moz-fit-content;width:fit-content;color:var(--accent-2);cursor:pointer;font-size:13px;font-weight:700}.older-proposal-list{display:grid;grid-gap:8px;gap:8px;margin-top:8px}.older-proposal{display:grid;grid-gap:6px;gap:6px;border-left:3px solid var(--border);padding-left:10px}.older-proposal-header{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px}.older-proposal-header>span{display:flex;min-width:0;align-items:baseline;gap:8px}.empty-text{margin:0;color:var(--muted);font-size:13px}.right-panel-stack{position:-webkit-sticky;position:sticky;top:22px}.kpi-panel,.right-panel-stack{display:grid;grid-gap:12px;gap:12px}.kpi-panel{padding:16px}.kpi-panel h2{margin:0 0 4px;font-size:18px}.kpi-panel hr{width:100%;border:0;border-top:1px solid var(--border)}.kpi-line{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.kpi-line span{color:var(--muted);font-size:13px}.kpi-line strong{font-size:15px;text-align:right}.progress-track{height:8px;overflow:hidden;border-radius:999px;background:#e4e7ec}.progress-track span{display:block;height:100%;border-radius:inherit;background:var(--accent-2)}.document-panel{align-content:start}.document-panel-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.document-panel small{color:var(--muted);font-size:12px}.file-tree{display:grid;grid-gap:8px;gap:8px;min-width:0;font-size:13px}.file-tree-root{overflow:hidden;color:var(--text);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.file-tree-folder{border-left:1px solid var(--border);padding-left:10px}.file-tree-folder summary{cursor:pointer;font-weight:700}.file-tree-items{display:grid;grid-gap:4px;gap:4px;margin-top:6px;padding-left:12px}.file-tree-items span{overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.admin-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(360px,.7fr);grid-gap:18px;gap:18px}.full-width{grid-column:1/-1}.setting-row,.user-row{display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,1fr) auto;grid-gap:10px;gap:10px;align-items:center;border:1px solid var(--border);border-radius:6px;padding:10px}.setting-row-multiline{align-items:start}.user-row{grid-template-columns:minmax(200px,1fr) auto}@media (max-width:1100px){.app-shell{grid-template-columns:1fr}.sidebar{position:-webkit-sticky;position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between}.nav-stack{display:flex;margin-top:0}.admin-grid,.content-grid{grid-template-columns:1fr}.right-panel-stack{position:static}.budget-split-form,.calculation-controls,.calculation-group-row,.calculation-location-header,.calculation-summary,.file-row,.form-grid,.header-actions,.invite-form,.location-form,.location-header-actions,.location-year-row,.product-form,.proposal-actions,.proposal-card-header,.proposal-form,.setting-row,.table-row,.tender-form,.tender-row,.upload-form,.year-breakdown-row{grid-template-columns:1fr}.calculation-group-row,.calculation-header,.calculation-location-header,.header-actions,.location-header-actions,.proposal-actions,.proposal-card-header{align-items:stretch;display:grid}.budget-status{margin-left:0;width:-moz-fit-content;width:fit-content}.location-design-actions,.proposal-toolbar{justify-content:flex-start}.file-row>span:first-child{display:grid}}