:root{--ink:#152538;--muted:#66788c;--line:#dce4eb;--bg:#f5f7f9;--card:#fff;--brand:#174c58;--accent:#b38a4a;--danger:#a83f43;--ok:#2e7d5b;--shadow:0 12px 32px rgba(20,38,55,.08);font-family:"Almarai",Tahoma,Arial,sans-serif;color:var(--ink)}html,body{font-family:"Almarai",Tahoma,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);line-height:1.55}a{color:var(--brand);text-decoration:none}button,input,select,textarea{font:inherit;font-family:inherit}.topbar{height:72px;background:#102f38;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,4vw);position:sticky;top:0;z-index:10;box-shadow:0 2px 12px rgba(0,0,0,.12)}.brand{color:#fff;font-weight:800;font-size:1.15rem}.brand span{font-weight:400;opacity:.78;margin-inline-start:8px}.topbar nav{display:flex;align-items:center;gap:20px}.topbar nav a,.link-button{color:#fff}.link-button{border:0;background:none;cursor:pointer}.page{max-width:1500px;margin:auto;padding:34px max(18px,3vw) 60px}.footer{text-align:center;color:var(--muted);font-size:.82rem;padding:18px}.hero{display:grid;grid-template-columns:1.15fr .85fr;gap:42px;align-items:center;min-height:70vh}.hero h1{font-size:clamp(2.2rem,4vw,4rem);line-height:1.15;margin:8px 0 18px}.hero p{font-size:1.08rem;color:var(--muted);max-width:720px}.eyebrow{font-size:.78rem!important;letter-spacing:.09em;color:var(--accent)!important;font-weight:800}.role-grid{display:grid;gap:18px}.role-card,.panel,.project-card,.auth-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:var(--shadow)}.role-card.disabled{opacity:.55}.badge,.status{display:inline-flex;padding:4px 10px;border-radius:999px;background:#eef2f4;color:var(--muted);font-size:.78rem;font-weight:700}.status.completed,.status.report_ready{background:#e7f4ee;color:var(--ok)}.status.missing_information{background:#fff1db;color:#996a1d}.status.cancelled{background:#fae6e7;color:var(--danger)}.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:10px;padding:11px 18px;background:var(--brand);color:#fff;font-weight:700;cursor:pointer}.button:hover{filter:brightness(1.06)}.button.secondary{background:#e8eef0;color:var(--brand)}.button.danger{background:var(--danger)}.button.small{padding:7px 12px;font-size:.85rem}.actions{display:flex;flex-wrap:wrap;gap:10px}.auth-card{max-width:540px;margin:60px auto}.auth-card.wide{max-width:900px}.auth-card form{display:grid;gap:16px}.form-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-grid .full{grid-column:1/-1}label{display:grid;gap:7px;font-size:.9rem;font-weight:650}input,select,textarea{width:100%;border:1px solid #cbd6de;border-radius:9px;padding:10px 12px;background:#fff;color:var(--ink)}textarea{min-height:90px;resize:vertical}.checkbox{display:flex!important;grid-auto-flow:column;justify-content:start;align-items:center}.checkbox input{width:auto}.form-message{color:var(--danger);min-height:1.2em}.page-head,.section-head,.row{display:flex;justify-content:space-between;align-items:center;gap:18px}.page-head{margin-bottom:24px}.page-head h1{margin:0}.page-head p{margin:.25rem 0;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}.project-card h2{margin:16px 0 8px}.project-card p{color:var(--muted)}.empty{padding:40px;text-align:center;border:1px dashed #bdcad2;border-radius:14px;color:var(--muted)}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:20px}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.metric{background:#f7fafb;border:1px solid var(--line);border-radius:12px;padding:15px}.metric span{display:block;color:var(--muted);font-size:.8rem}.metric strong{display:block;font-size:1.25rem;margin-top:4px}.wizard-nav{display:flex;gap:8px;overflow:auto;margin-bottom:18px}.wizard-nav button{white-space:nowrap;border:1px solid var(--line);background:#fff;padding:10px 14px;border-radius:9px;color:var(--muted);cursor:pointer}.wizard-nav button.active{background:var(--brand);color:#fff}.wizard-step{display:none}.wizard-step.active{display:block}.wizard-actions{display:flex;justify-content:space-between;gap:12px;margin-top:18px}.save-state{padding:8px 12px;border-radius:9px;background:#e9f2f3;color:var(--brand);font-weight:700}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px}table{width:100%;border-collapse:collapse;min-width:900px;background:#fff}th,td{padding:10px 9px;border-bottom:1px solid var(--line);text-align:right;vertical-align:middle}th{background:#eff4f5;color:#39515e;font-size:.82rem;position:sticky;top:0}td input,td select{min-width:100px;padding:7px}.remove-row{border:0;background:#f8e8e8;color:var(--danger);border-radius:8px;padding:6px 10px;cursor:pointer}.total-line{margin-top:12px;text-align:left;color:var(--muted)}.notice{background:#eef5f7;border-right:4px solid var(--brand);padding:12px;border-radius:9px;color:#405866}.check{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line)}.check.pass strong{color:var(--ok)}.check.fail strong{color:var(--danger)}.request-card{border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:12px}.request-card span{float:left;color:var(--muted)}.download-row{display:flex;justify-content:space-between;border:1px solid var(--line);padding:12px;border-radius:10px;margin-bottom:8px}.filters{display:flex;gap:12px;margin-bottom:20px}.filters input{max-width:340px}.json-view{direction:ltr;text-align:left;max-height:500px;overflow:auto;background:#0e1720;color:#d8e8e3;border-radius:12px;padding:16px}.report-list article{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);border-radius:10px;padding:12px;margin-bottom:8px}.form-error{color:var(--danger);font-size:.8rem}.hidden{display:none!important}@media(max-width:900px){.hero,.grid-2,.form-grid{grid-template-columns:1fr}.topbar{height:auto;padding:14px;align-items:flex-start}.topbar nav{gap:10px;flex-wrap:wrap}.page{padding:22px 14px}.page-head,.section-head{align-items:flex-start;flex-direction:column}.wizard-actions{position:sticky;bottom:0;background:var(--bg);padding:10px 0}.brand span{display:none}}
.checkbox-label{display:flex!important;align-items:center;gap:10px;align-self:end;padding:10px 0}.checkbox-label input{width:auto}.compact-list{margin-top:14px}.compact-list .download-row{background:#fafcfd}.download-row small{display:block;color:var(--muted)}details{margin-top:14px}summary{cursor:pointer;font-weight:700;color:var(--brand)}hr{border:0;border-top:1px solid var(--line);margin:22px 0}.report-list article>div:first-child{display:grid;gap:4px}.report-list article span{color:var(--muted);font-size:.85rem}.actions .button{white-space:nowrap}

/* Standalone financial portal */
.financial-page-head{align-items:flex-end}.financial-disclaimer{margin-bottom:18px}.financial-control-bar{display:grid;grid-template-columns:minmax(210px,280px) minmax(230px,340px) 1fr auto;gap:18px;align-items:end;margin-bottom:18px}.provenance-mini{display:flex;flex-wrap:wrap;gap:8px 16px;color:var(--muted);font-size:.8rem}.provenance-mini span{background:#f6f9fa;border:1px solid var(--line);padding:7px 9px;border-radius:8px}.provenance-mini code,.run-record code,.provenance-list code{direction:ltr;unicode-bidi:isolate;font-size:.75rem}.run-state{padding:10px 14px;border-radius:9px;background:#e9f2f3;color:var(--brand);font-weight:700;white-space:nowrap}.financial-tabs{display:flex;gap:8px;overflow:auto;margin:0 0 18px}.financial-tabs button{white-space:nowrap;border:1px solid var(--line);background:#fff;padding:10px 16px;border-radius:9px;color:var(--muted);cursor:pointer;font-weight:700}.financial-tabs button.active{background:var(--brand);border-color:var(--brand);color:#fff}.financial-tab-panel{display:none}.financial-tab-panel.active{display:block}.financial-input-grid{align-items:start}.compact-form{gap:12px}.compact-form label{font-size:.82rem}.compact-form input,.compact-form select{padding:8px 10px}.subhead{margin-top:22px;margin-bottom:10px}.subhead h3{margin:0}.subhead p{margin:.2rem 0;color:var(--muted);font-size:.82rem}.compact-table table{min-width:580px}.compact-table th,.compact-table td{padding:7px}.policy-box{margin-top:18px;border:1px solid #c8dadd;background:#f2f7f8;border-radius:12px;padding:14px}.policy-box>strong{display:block;margin-bottom:10px}.policy-box small{display:block;color:var(--muted);margin-top:10px}.policy-chip-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.policy-chip-grid span{background:#fff;border:1px solid var(--line);border-radius:8px;padding:7px;font-size:.75rem}.policy-chip-grid b{display:block;color:var(--brand);font-size:.9rem}.locked-control{background:#f2f4f5;border:1px dashed #bdcad2;border-radius:9px;padding:10px!important;color:var(--muted)}.ok-message{color:var(--ok)}.value-pass{color:var(--ok)}.value-warn{color:#a26a13}.result-status-panel{border-right:5px solid var(--brand)}.result-badge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:.72rem;font-weight:800;background:#edf1f3;color:var(--muted);white-space:nowrap}.result-badge.pass{background:#e3f2ea;color:var(--ok)}.result-badge.fail{background:#f8e5e6;color:var(--danger)}.financial-kpis .metric{min-height:88px}.metric small{display:block;margin-top:5px;color:var(--muted);font-size:.72rem}.residual-panel{border-top:4px solid var(--accent)}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.detail-grid>div{border-bottom:1px solid var(--line);padding:10px 0}.detail-grid span{display:block;color:var(--muted);font-size:.78rem}.detail-grid strong{display:block;margin-top:3px}.financial-wide-table table{min-width:1600px}.monthly-cashflow-wrap{max-height:680px}.monthly-cashflow-wrap table{min-width:2300px}.monthly-cashflow-wrap thead th{top:0;z-index:2}.negative-number{color:var(--danger);font-variant-numeric:tabular-nums}.empty-cell{text-align:center;color:var(--muted);padding:30px}.constraint-row{display:grid;grid-template-columns:1fr auto auto;gap:18px;align-items:center;border:1px solid var(--line);border-right:4px solid var(--muted);padding:12px 14px;border-radius:10px;margin-bottom:8px}.constraint-row.pass{border-right-color:var(--ok)}.constraint-row.fail{border-right-color:var(--danger);background:#fffafa}.constraint-row small{display:block;color:var(--muted)}.constraint-row.pass>b{color:var(--ok)}.constraint-row.fail>b{color:var(--danger)}.run-record{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:9px}.run-record.selected{border-color:var(--brand);box-shadow:0 0 0 2px rgba(23,76,88,.08)}.run-record>div:first-child{display:grid;gap:5px}.run-record small{color:var(--muted)}.provenance-list{display:grid;grid-template-columns:minmax(180px,260px) 1fr;margin:0}.provenance-list dt,.provenance-list dd{margin:0;padding:10px;border-bottom:1px solid var(--line)}.provenance-list dt{color:var(--muted);font-weight:700}.provenance-list dd{direction:ltr;text-align:left;overflow-wrap:anywhere}.financial-input-grid .panel h2,.financial-tab-panel .panel h2{margin-top:0}.financial-tab-panel>.panel,.financial-tab-panel>.grid-2{margin-bottom:20px}
@media(max-width:1100px){.financial-control-bar{grid-template-columns:1fr}.policy-chip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.run-record{align-items:flex-start;flex-direction:column}.constraint-row{grid-template-columns:1fr}.provenance-list{grid-template-columns:1fr}.provenance-list dt{padding-bottom:2px;border-bottom:0}.provenance-list dd{padding-top:2px}}
@media(max-width:700px){.policy-chip-grid,.detail-grid{grid-template-columns:1fr}.financial-page-head .actions{width:100%}.financial-page-head .button{flex:1}.financial-control-bar{padding:16px}.financial-tabs button{padding:8px 11px}.financial-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Financial policy administration */
.financial-policy-admin{margin-bottom:22px;border-top:5px solid var(--accent)}.policy-admin-group{border-top:1px solid var(--line);padding-top:18px;margin-top:18px}.policy-admin-group h3{margin:0 0 14px}.policy-admin-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.policy-admin-columns{align-items:start;margin-top:0}.contract-policy-options{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:14px}.contract-policy-options .checkbox-label{align-self:auto;padding:5px 0}.contract-policy-options.stacked{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.policy-history-grid{margin-top:24px}.policy-history-grid table{min-width:650px}.policy-history-grid code{direction:ltr;unicode-bidi:isolate}.financial-policy-admin textarea[dir="ltr"]{font-family:Consolas,monospace;font-size:.82rem}
@media(max-width:1300px){.policy-admin-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.policy-admin-grid{grid-template-columns:1fr}.contract-policy-options.stacked{grid-template-columns:1fr}}

/* v2.1 decision-oriented financial UX */
.equity-explainer{margin-top:10px;padding:11px 12px;border-radius:10px;background:#f4f8f8;border:1px solid var(--line);color:#405866;font-size:.84rem}.equity-explainer.invalid{background:#fff5f5;border-color:#e3b9bb;color:var(--danger)}
.advanced-policy-summary{border-right:4px solid var(--brand)}.advanced-policy-summary .policy-chip-grid{margin-top:10px}.advanced-financial-panel{border:1px dashed #a8bbc2;background:#fbfcfd}.advanced-financial-panel>summary{font-size:1rem;padding:3px 0}.advanced-financial-panel[open]{border-style:solid}.advanced-financial-panel #advancedFields{margin-top:16px}
.decision-status{display:grid;gap:8px;padding:14px;border-radius:12px;background:#f1f5f6;border:1px solid var(--line);border-right:5px solid var(--brand)}.decision-status.pass{background:#edf7f2;border-right-color:var(--ok)}.decision-status.warn{background:#fff8e9;border-right-color:#b37a20}.decision-status.fail{background:#fff0f0;border-right-color:var(--danger)}.decision-status strong{font-size:1.02rem}.decision-status small{color:var(--muted)}
.result-badge.warn{background:#fff0d5;color:#966212}.result-domain{position:relative}.result-domain-grid{align-items:stretch}.project-domain{border-top:4px solid #315d76}.developer-domain{border-top:4px solid #174c58}.landowner-domain{border-top:4px solid #b38a4a}.residual-explainer{margin-top:14px;padding:13px 15px;border-radius:10px;background:#f1f6f7;border-right:4px solid var(--brand);color:#405866}.report-primary-actions{display:flex;gap:8px;flex-wrap:wrap}
.negotiation-panel{border-top:4px solid var(--accent)}.negotiation-chart{direction:ltr;margin:18px 0 10px;padding:18px 16px 28px;background:#f8fafb;border:1px solid var(--line);border-radius:14px}.neg-chart-title{direction:rtl;text-align:right;font-weight:800;color:var(--ink);margin-bottom:18px}.neg-scale{position:relative;height:78px;margin:0 22px}.neg-scale:before{content:"";position:absolute;left:0;right:0;top:35px;height:6px;border-radius:8px;background:#dbe4e7}.neg-range{position:absolute;top:35px;height:6px;border-radius:8px;background:linear-gradient(90deg,#c59a54,#2e7d5b)}.neg-marker{position:absolute;top:14px;transform:translateX(-50%);width:3px;height:48px;background:#435b68}.neg-marker:before{content:"";position:absolute;top:17px;left:-5px;width:13px;height:13px;border-radius:50%;background:inherit;border:2px solid white;box-shadow:0 0 0 1px rgba(0,0,0,.1)}.neg-marker span{position:absolute;white-space:nowrap;font-size:.72rem;font-weight:800;top:-11px;left:50%;transform:translateX(-50%);padding:3px 6px;border-radius:6px;background:#fff;border:1px solid var(--line);color:var(--ink)}.neg-marker.floor{background:#b38a4a}.neg-marker.balanced{background:#2e7d5b;height:56px;top:10px}.neg-marker.ceiling{background:#a83f43}.neg-marker.offer{background:#315d76;top:23px;height:39px}.neg-marker.offer span{top:46px}.neg-warning{direction:rtl;text-align:right;padding:10px 12px;border-radius:9px;background:#fff3df;color:#8d5a0e;margin-top:8px}.negotiation-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}.negotiation-detail-grid>div{padding:12px;border:1px solid var(--line);border-radius:10px;background:#fff}.negotiation-detail-grid span{display:block;color:var(--muted);font-size:.75rem}.negotiation-detail-grid strong{display:block;margin-top:4px}
html[dir="ltr"] body{text-align:left}html[dir="ltr"] th,html[dir="ltr"] td{text-align:left}html[dir="ltr"] .notice,html[dir="ltr"] .result-status-panel,html[dir="ltr"] .advanced-policy-summary,html[dir="ltr"] .residual-explainer,html[dir="ltr"] .constraint-row,html[dir="ltr"] .decision-status{border-right-width:1px;border-left:4px solid var(--brand)}html[dir="ltr"] .decision-status.pass{border-left-color:var(--ok)}html[dir="ltr"] .decision-status.warn{border-left-color:#b37a20}html[dir="ltr"] .decision-status.fail{border-left-color:var(--danger)}html[dir="ltr"] .constraint-row.pass{border-left-color:var(--ok)}html[dir="ltr"] .constraint-row.fail{border-left-color:var(--danger)}html[dir="ltr"] .neg-chart-title,html[dir="ltr"] .neg-warning{direction:ltr;text-align:left}
@media(max-width:900px){.negotiation-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.neg-marker span{font-size:.64rem}}
@media(max-width:560px){.negotiation-detail-grid{grid-template-columns:1fr}.negotiation-chart{overflow-x:auto}.neg-scale{min-width:520px}}
/* Marker labels generated by financial.js */
.neg-marker b,.neg-marker em{position:absolute;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:.7rem;padding:2px 5px;border-radius:5px;background:#fff;border:1px solid var(--line);font-style:normal;color:var(--ink)}
.neg-marker b{top:-18px}.neg-marker em{top:42px;font-weight:700}.neg-marker.offer b{top:-25px}.neg-marker.offer em{top:32px}.neg-chart-title{display:flex;justify-content:space-between;gap:12px}.neg-chart-title span{font-weight:600;color:var(--muted)}
.neg-range.no-floor{opacity:.55;background:linear-gradient(90deg,#d7e0e2,#2e7d5b)}

/* Contextual financial help */
.info-tip {
  appearance: none;
  display: inline-grid;
  place-items: center;
  width: 1.15rem;
  height: 1.15rem;
  margin-inline: .32rem;
  padding: 0;
  border: 1px solid #6f8b96;
  border-radius: 50%;
  background: #f4f9fa;
  color: #164f5e;
  font: 700 .72rem/1 system-ui, sans-serif;
  cursor: help;
  vertical-align: middle;
}
.info-tip:hover,.info-tip:focus-visible,.info-tip[aria-expanded="true"] {
  background: #164f5e;
  color: #fff;
  border-color: #164f5e;
  outline: none;
  box-shadow: 0 0 0 3px rgba(22,79,94,.15);
}
.help-popover {
  position: fixed;
  z-index: 10000;
  max-width: 360px;
  padding: 14px 16px;
  border: 1px solid #c9d9de;
  border-radius: 12px;
  background: #fff;
  color: #17263b;
  box-shadow: 0 14px 38px rgba(20,43,57,.22);
  text-align: start;
  pointer-events: auto;
}
.help-popover[hidden] { display: none; }
.help-popover strong,.help-popover span { display:block; }
.help-popover strong { margin-bottom: 6px; font-size: .96rem; }
.help-popover span { color:#536b7d; font-size:.86rem; line-height:1.65; }
.admin-access-banner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin: 0 0 18px;
  padding: 12px 16px;
  border: 1px solid #d7b45e;
  border-inline-start: 5px solid #b58a2e;
  border-radius: 12px;
  background: #fff9e9;
  color: #5f4717;
}
.admin-actions { display:flex; flex-wrap:wrap; gap:6px; }
.admin-actions .button { white-space:nowrap; }
.admin-search-row { display:flex; gap:10px; align-items:end; margin-bottom:14px; }
.admin-search-row label { flex:1; }
.admin-modal {
  position: fixed; inset: 0; z-index: 9990;
  display:grid; place-items:center; padding:20px;
  background:rgba(11,31,42,.54);
}
.admin-modal[hidden] { display:none; }
.admin-modal-card {
  width:min(820px,100%); max-height:88vh; overflow:auto;
  border-radius:16px; background:#fff; padding:22px;
  box-shadow:0 20px 70px rgba(0,0,0,.3);
}
.admin-modal-head { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.one-time-secret {
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  margin:14px 0; padding:14px; border:1px dashed #b58a2e; border-radius:10px; background:#fff9e9;
  direction:ltr; font-family:ui-monospace,SFMono-Regular,Consolas,monospace; word-break:break-all;
}
.admin-security-note { color:#6d5660; font-size:.86rem; }
.activity-list { display:grid; gap:8px; }
.activity-row { padding:10px 12px; border:1px solid #dbe5e9; border-radius:10px; background:#f8fbfc; }
.activity-row small { display:block; color:#6a7f90; margin-top:4px; }
@media (max-width: 760px){
  .admin-access-banner,.admin-search-row,.one-time-secret{align-items:stretch;flex-direction:column;}
  .help-popover{max-width:calc(100vw - 24px);}
}

/* v2.3.0: legacy development-cost deduction from Net Sales is no longer user-facing. */
.legacy-net-sales-deduction{display:none!important}

.neg-marker.residual i{background:#6b4fa3!important}.neg-marker.residual b{border-color:#6b4fa3}.neg-marker.policy-cap i{background:#b4822f!important}

.neg-marker.policy-adjusted{background:#b4822f;height:52px;top:12px}.neg-marker.policy-adjusted b{border-color:#b4822f}.field-help{display:block;color:var(--muted);font-size:.72rem;margin-top:4px;max-width:340px}

/* v2.4 policy version governance */
.policy-version-toolbar{border-inline-start:4px solid var(--accent,#b88a3b)}
.policy-version-actions{display:flex;gap:.6rem;align-items:end;flex-wrap:wrap}
.policy-version-actions .button{flex:1;min-width:150px}
.policy-admin-grid .checkbox-label{align-self:center}
.policy-history-grid table small{display:block;margin-top:.25rem;color:var(--muted,#6b7c8f)}
@media (max-width:900px){.policy-version-actions{grid-column:1/-1}.policy-version-actions .button{width:100%}}

/* v2.5.0 - decision-grade negotiation range and explanatory cards */
.negotiation-chart{overflow:visible;padding:22px 22px 18px;background:linear-gradient(180deg,#f9fbfb 0%,#f3f7f7 100%)}
.neg-chart-title{margin-bottom:8px;align-items:center}
.neg-scale{position:relative;height:282px;margin:0 34px;min-width:0}
.neg-scale:before{display:none}
.neg-track{position:absolute;left:0;right:0;top:132px;height:7px;border-radius:999px;background:#d8e2e4;box-shadow:inset 0 0 0 1px rgba(39,79,88,.06)}
.neg-zone{position:absolute;top:132px;height:7px;border-radius:999px;z-index:1}
.neg-zone.recommended{background:linear-gradient(90deg,#b9d8ca,#4d9373)}
.neg-zone.capacity{background:linear-gradient(90deg,#e6ce8d,#c49335)}
.neg-zone.breach{background:repeating-linear-gradient(90deg,#c7494e 0 9px,#f3b8ba 9px 15px)}
.neg-marker{position:absolute;top:107px;transform:translateX(-50%);width:3px;height:58px;background:#536c77;z-index:4}
.neg-marker:before{display:none}
.neg-marker i{position:absolute;top:19px;left:-6px;width:15px;height:15px;border-radius:50%;background:inherit;border:3px solid #fff;box-shadow:0 0 0 1px rgba(31,60,68,.18)}
.neg-marker-card{position:absolute;left:50%;transform:translateX(-50%);width:max-content;max-width:190px;min-width:92px;padding:5px 8px;border-radius:8px;background:#fff;border:1px solid currentColor;box-shadow:0 5px 13px rgba(26,58,66,.09);text-align:center;color:#233f48;z-index:6}
.neg-marker-card b,.neg-marker-card em{position:static;display:block;transform:none;white-space:normal;border:0;background:transparent;padding:0;line-height:1.25;color:inherit}
.neg-marker-card b{font-size:.69rem;font-weight:800}
.neg-marker-card em{font-size:.73rem;font-weight:800;font-style:normal;margin-top:2px;direction:ltr}
.neg-marker.lane-0 .neg-marker-card{bottom:60px}
.neg-marker.lane-1 .neg-marker-card{top:66px}
.neg-marker.lane-2 .neg-marker-card{bottom:107px}
.neg-marker.lane-3 .neg-marker-card{top:113px}
.neg-marker.floor{background:#687c86}.neg-marker.floor .neg-marker-card{border-color:#687c86}
.neg-marker.balanced{background:#257a59;top:107px;height:58px}.neg-marker.balanced .neg-marker-card{border-color:#257a59}
.neg-marker.policy-adjusted{background:#b1822e;top:107px;height:58px}.neg-marker.policy-adjusted .neg-marker-card{border-color:#b1822e}
.neg-marker.residual{background:#704ca0}.neg-marker.residual .neg-marker-card{border-color:#704ca0}
.neg-marker.ceiling{background:#2f6682}.neg-marker.ceiling .neg-marker-card{border-color:#2f6682}
.neg-marker.ceiling.policy-cap{background:#8a6a2f}.neg-marker.ceiling.policy-cap .neg-marker-card{border-color:#8a6a2f}
.neg-marker.offer{background:#b43f44;top:107px;height:58px}.neg-marker.offer .neg-marker-card{border-color:#b43f44}
.neg-marker.outside-left .neg-marker-card:before{content:"← ";font-weight:900}
.neg-axis-label{position:absolute;top:250px;font-size:.69rem;color:var(--muted);font-weight:700;white-space:nowrap}
.neg-axis-label.start{left:0;transform:none}.neg-axis-label.end{right:0;transform:none}
html[dir="rtl"] .neg-axis-label.start{left:auto;right:0}html[dir="rtl"] .neg-axis-label.end{right:auto;left:0}
.neg-zone-legend{display:flex;flex-wrap:wrap;gap:10px 18px;direction:rtl;margin:2px 4px 8px;color:var(--muted);font-size:.72rem}
.neg-zone-legend span{display:inline-flex;align-items:center;gap:6px}.neg-zone-legend span:before{content:"";width:22px;height:6px;border-radius:99px;background:#ccc}
.neg-zone-legend .recommended:before{background:#4d9373}.neg-zone-legend .capacity:before{background:#c49335}.neg-zone-legend .breach:before{background:#c7494e}
.negotiation-detail-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.negotiation-explanation-section{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}
.neg-explanation-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}
.neg-explanation-head h3{margin:0 0 5px;color:var(--ink);font-size:1.05rem}.neg-explanation-head p{margin:0;color:var(--muted);max-width:1050px;line-height:1.75}
.negotiation-reading{display:grid;grid-template-columns:max-content 1fr;gap:14px;align-items:start;padding:13px 15px;margin:10px 0 14px;border-radius:11px;background:#eaf4f2;border-inline-start:4px solid var(--primary);line-height:1.7}
.negotiation-reading strong{color:var(--ink)}.negotiation-reading span{color:#35545d}
.neg-explanation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.neg-explanation-card{position:relative;overflow:hidden;padding:15px 15px 13px;border:1px solid var(--line);border-top:4px solid #71838b;border-radius:13px;background:#fff;min-height:190px;box-shadow:0 6px 18px rgba(27,58,67,.055)}
.neg-explanation-card header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding-bottom:10px;border-bottom:1px solid #e6edef}
.neg-explanation-card header span{font-size:.78rem;color:var(--muted);font-weight:800}.neg-explanation-card header strong{font-size:1rem;direction:ltr;white-space:nowrap;color:var(--ink)}
.neg-explanation-card p{font-size:.78rem;line-height:1.75;color:#405c64;margin:11px 0}
.neg-explanation-card small{display:block;padding:8px 9px;border-radius:8px;background:#f5f8f8;color:#31505a;font-size:.69rem;line-height:1.65}
.neg-explanation-card.minimum{border-top-color:#687c86}.neg-explanation-card.balanced{border-top-color:#257a59}.neg-explanation-card.residual{border-top-color:#704ca0}.neg-explanation-card.policy{border-top-color:#b1822e}.neg-explanation-card.technical{border-top-color:#2f6682}.neg-explanation-card.offer{border-top-color:#b43f44}
.neg-calculation-details{margin-top:13px;border:1px solid var(--line);border-radius:11px;background:#fafcfc;padding:0 14px}.neg-calculation-details summary{padding:12px 0;font-weight:800;cursor:pointer}.neg-calculation-details dl{display:grid;grid-template-columns:minmax(150px,230px) 1fr;gap:8px 16px;margin:0 0 14px}.neg-calculation-details dt{color:var(--muted)}.neg-calculation-details dd{margin:0;font-weight:700;overflow-wrap:anywhere}
@media(max-width:1050px){.negotiation-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.neg-explanation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.negotiation-chart{overflow-x:auto;padding-inline:12px}.neg-scale{min-width:720px;margin-inline:24px}.neg-explanation-grid{grid-template-columns:1fr}.negotiation-reading{grid-template-columns:1fr}.neg-calculation-details dl{grid-template-columns:1fr}.neg-axis-label{font-size:.64rem}}
.neg-marker.lane-0 .neg-marker-card{top:auto;bottom:60px}
.neg-marker.lane-1 .neg-marker-card{top:66px;bottom:auto}
.neg-marker.lane-2 .neg-marker-card{top:auto;bottom:107px}
.neg-marker.lane-3 .neg-marker-card{top:113px;bottom:auto}

/* Form field design system */
:root{
  --field-bg:#fff;
  --field-border:#c5d3dc;
  --field-border-hover:#9eb4c0;
  --field-border-focus:var(--brand);
  --field-radius:10px;
  --field-shadow:0 1px 2px rgba(20,38,55,.05);
  --field-shadow-focus:0 0 0 3px rgba(23,76,88,.14);
  --field-height:44px;
  --field-muted:#8a9bab;
  --field-label:#2a4052;
  --select-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%2366788c' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
label{
  gap:8px;
  font-size:.875rem;
  font-weight:650;
  color:var(--field-label);
}
label .i18n-label{display:block}
input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),
select,
textarea{
  width:100%;
  min-height:var(--field-height);
  border:1.5px solid var(--field-border);
  border-radius:var(--field-radius);
  padding:10px 14px;
  background:var(--field-bg);
  color:var(--ink);
  box-shadow:var(--field-shadow);
  transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease;
}
textarea{min-height:96px;line-height:1.55;padding-block:12px}
input:not([type=checkbox]):not([type=radio]):not([type=file]):hover,
select:hover,
textarea:hover{border-color:var(--field-border-hover)}
input:not([type=checkbox]):not([type=radio]):not([type=file]):focus,
select:focus,
textarea:focus{
  outline:none;
  border-color:var(--field-border-focus);
  box-shadow:var(--field-shadow-focus);
}
input::placeholder,textarea::placeholder{color:var(--field-muted);opacity:1}
input:disabled,select:disabled,textarea:disabled{
  background:#eef2f4;
  color:var(--muted);
  cursor:not-allowed;
  opacity:.92;
}
input:read-only:not([type=checkbox]):not([type=radio]){
  background:#f6f9fa;
  color:#4a6274;
}
select{
  appearance:none;
  -webkit-appearance:none;
  background-image:var(--select-chevron);
  background-repeat:no-repeat;
  background-position:left 14px center;
  padding-inline:14px 40px;
  cursor:pointer;
  line-height:1.35;
}
html[dir=ltr] select{background-position:right 14px center;padding-inline:14px 40px}
select option{color:var(--ink);background:#fff}
select option[value=""],select option[disabled]{color:var(--field-muted)}
input[type=file]{
  min-height:auto;
  padding:10px 12px;
  font-size:.84rem;
  background:#f8fbfc;
  cursor:pointer;
}
input[type=file]::file-selector-button{
  margin-inline-end:12px;
  border:0;
  border-radius:8px;
  padding:8px 14px;
  background:var(--brand);
  color:#fff;
  font-weight:700;
  cursor:pointer;
}
input[type=checkbox],input[type=radio]{
  width:18px;
  height:18px;
  min-height:18px;
  margin:0;
  accent-color:var(--brand);
  cursor:pointer;
  flex-shrink:0;
}
.checkbox-label,.label.checkbox,.label.checkbox-label{
  display:flex!important;
  align-items:center;
  gap:10px;
  font-weight:600;
  cursor:pointer;
  padding:6px 0;
}
.checkbox-label input,.label.checkbox input{width:auto;min-height:auto}
.compact-form input:not([type=checkbox]),.compact-form select,.compact-form textarea{
  min-height:40px;
  padding:8px 12px;
  font-size:.84rem;
}
.compact-form select{padding-inline-end:36px}
td input:not([type=checkbox]),td select{
  min-height:38px;
  padding:7px 10px;
  font-size:.84rem;
  border-radius:8px;
}
td select{padding-inline-end:32px;background-position:left 10px center}
html[dir=ltr] td select{background-position:right 10px center}
.filters input,.filters select{min-height:42px}
.filters select{min-width:210px;max-width:100%}
.auth-card input,.auth-card select,.auth-card textarea{font-size:.95rem}
.auth-card label{font-size:.9rem}
.form-grid label{align-content:start}
.form-message:empty{min-height:0}
input:user-invalid:not(:focus):not(:placeholder-shown),
select:user-invalid:not(:focus),
textarea:user-invalid:not(:focus):not(:placeholder-shown){
  border-color:#d48484;
  box-shadow:0 0 0 2px rgba(168,63,67,.08);
}
.field-hint,.field-help{
  display:block;
  color:var(--muted);
  font-size:.75rem;
  font-weight:500;
  line-height:1.45;
  margin-top:2px;
}
select.field-placeholder{color:var(--field-muted)}
