/* Almanta brand guide, May 2025. Local assets; no remote font requests. */
.crm-journey{padding:0 24px 22px;border-bottom:1px solid var(--line-soft,#d9e3ef)}
.crm-journey-heading{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:2px 0 16px}.crm-journey-heading h3{margin:0 auto 0 0;font-size:16px;color:var(--accent-text,#1c3d7f)}.crm-journey [aria-pressed=true]{background:var(--tint-blue,#edf4fb);color:var(--accent-text,#1c3d7f)}
.crm-stage-list{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0;padding:0}.crm-stage{min-width:0;position:relative;border:1px solid var(--line-soft,#d9e3ef);border-radius:8px;background:var(--surface,#fff)}.crm-stage.is-selected{border-color:var(--accent-text,#1c3d7f)}.crm-stage+.crm-stage::before{content:'→';position:absolute;left:-15px;top:18px;color:var(--text-detail,#526886);font-size:14px}
.crm-stage-heading{display:flex;align-items:center;gap:8px;width:100%;padding:12px 10px;border:0;border-bottom:1px solid var(--line-soft,#d9e3ef);border-radius:7px 7px 0 0;text-align:left;background:var(--surface-alt,#f6f9fd);color:var(--accent-text,#1c3d7f);font-size:12px;line-height:1.4;min-height:57px}.crm-stage-heading>b{margin-left:auto;font-size:19px}.crm-stage-dot{flex:none;display:grid;place-items:center;width:22px;height:22px;border:1px solid var(--line-soft,#bccfe4);border-radius:50%;font-size:11px}
.crm-stage-people{padding:0 10px}.crm-stage-card{display:block;width:100%;text-align:left;padding:12px 0;border:0;border-bottom:1px solid var(--line-soft,#d9e3ef);border-radius:0;background:transparent;font-weight:400;line-height:1.5;color:var(--text-strong,#303846)}.crm-stage-card:last-child{border:0}.crm-stage-card>strong,.crm-stage-card>span,.crm-stage-card>small{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;overflow:hidden;overflow-wrap:anywhere}.crm-stage-card>strong{color:var(--accent-text,#1c3d7f);font-size:12px}.crm-stage-card>span,.crm-stage-card>small{color:var(--text-detail,#526886);font-size:11px;margin-top:3px}.crm-stage-card>small:first-of-type{-webkit-line-clamp:2}.crm-stage-more{margin:0 10px 10px;font-size:11px}.crm-stage-people>p{font-size:12px;line-height:1.6;margin:16px 0}
.crm-chronology{overflow:hidden}.crm-chronology-scroll{overflow-x:auto;padding:20px 24px;position:relative;scrollbar-width:thin}.crm-chronology-scroll>ol{display:flex;width:max-content;min-width:100%;list-style:none;padding:0;margin:0}.crm-chronology-scroll li{position:relative;width:240px;padding:0 14px 0 0;flex:none}.crm-chronology-scroll time{display:block;height:40px;border-bottom:2px solid var(--line-soft,#d9e3ef);font-size:12px;color:var(--text-detail,#526886);position:relative}.crm-chronology-scroll time::after{content:'';position:absolute;width:10px;height:10px;left:0;bottom:-6px;border-radius:50%;background:var(--accent-text,#1c3d7f)}.crm-chronology-card{display:block;text-decoration:none;margin-top:18px;padding:14px;background:var(--surface-alt,#f6f9fd);border:1px solid var(--line-soft,#d9e3ef);border-radius:7px;color:var(--text-strong,#303846);font-size:12px;line-height:1.5}.crm-chronology-card:hover,.crm-stage-card:hover{background:var(--tint-blue,#edf4fb)}.crm-chronology-card>strong{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;font-weight:500;margin:9px 0}.crm-chronology-card>small{display:block;color:var(--text-detail,#526886);overflow-wrap:anywhere;margin-top:5px}.crm-chronology-kind{color:var(--accent-text,#1c3d7f);font-weight:700}.crm-chronology-scroll .is-action time::after{background:var(--surface,#fff);border:2px solid var(--accent-text,#1c3d7f)}.crm-chronology-scroll .crm-chronology-today{width:110px}.crm-chronology-today time{color:var(--accent-text,#1c3d7f);font-weight:700;height:40px}.crm-chronology-today small{display:block;font-weight:400}.crm-chronology-today time::after{border-radius:0;width:2px;height:100px;bottom:-102px}
.crm-undated{border-top:1px solid var(--line-soft,#d9e3ef);padding:14px 24px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;font-size:12px}.client-crm-links{padding:18px 24px 0;display:flex;flex-wrap:wrap;gap:10px}.crm-chronology a:focus-visible,.crm-journey button:focus-visible{outline:2px solid var(--accent-text,#1c3d7f);outline-offset:3px}.crm-action-list article:focus,.crm-timeline article:focus{outline:2px solid var(--accent-text,#1c3d7f);outline-offset:5px;scroll-margin:30px}
@media(max-width:1150px){.crm-stage-list{grid-template-columns:repeat(4,minmax(210px,1fr));overflow-x:auto;padding:3px 2px 8px}.crm-stage+.crm-stage::before{display:none}}@media(max-width:600px){.crm-journey{padding:0 14px 16px}.crm-stage-list{gap:10px;scroll-snap-type:x proximity}.crm-stage{scroll-snap-align:start}.crm-chronology-scroll{padding:16px}.crm-chronology-scroll li{width:220px}.crm-undated{padding:14px}.client-crm-links{padding:14px}}
.crm-form-grid[hidden]{display:none}.crm-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.crm-stats .stat{display:flex;flex-direction:column;gap:12px}.crm-stats .stat strong{font-size:28px;color:var(--accent-text,#1c3d7f)}
.crm-filters{display:grid;grid-template-columns:minmax(200px,1.6fr) repeat(4,minmax(130px,1fr));gap:14px;padding:18px 24px}.crm-filters label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--text-detail,#526886)}.crm-filters input,.crm-filters select{width:100%;min-width:0}
.crm-filters input,.crm-filters select{font:inherit;font-size:13px;padding:10px;border:1px solid var(--line-soft,#cbd8e8);border-radius:5px;background:var(--surface,#fff);color:var(--text-strong,#303846);min-height:40px}.crm-count{padding:0 24px;color:var(--text-detail,#526886);font-size:12px}.crm-table td{vertical-align:top}.crm-table td:first-child{min-width:170px}.crm-table td:nth-child(2){max-width:260px}.crm-table td:nth-child(5){min-width:180px}.crm-table small{display:block;margin-top:6px}.crm-table .crm-status{color:var(--accent-text,#1c3d7f);font-weight:600}.crm-overdue{color:var(--text-danger,#a13830)}.crm-empty{padding:24px;text-align:center}.crm-empty button{display:block;margin:16px auto 0}
.crm-summary{display:flex;flex-wrap:wrap;gap:16px;align-items:center}.crm-contacts{display:flex;flex-wrap:wrap;gap:24px;margin:22px 0}.crm-contacts small,.crm-contacts a{display:block;margin-top:6px}.crm-prose{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7}
.crm-action-list article{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;border-bottom:1px solid var(--line-soft,#d9e3ef)}.crm-action-list article:last-child{border:0}.crm-action-list p{margin:7px 0}.crm-timeline article{border-left:3px solid var(--line-soft,#d9e3ef);padding:0 0 8px 18px;margin:0 0 22px}.crm-timeline small{color:var(--text-detail,#526886)}
.crm-dialog{width:min(850px,94vw);max-height:90vh;overflow:auto}.crm-dialog form{padding:24px}.crm-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.crm-dialog .field{display:flex;flex-direction:column;gap:7px;margin:12px 0}.crm-dialog input,.crm-dialog select,.crm-dialog textarea{max-width:100%;min-width:0}.crm-dialog fieldset{border:1px solid var(--line-soft,#d9e3ef);border-radius:7px;margin:16px 0;padding:14px}.crm-check{display:flex!important;gap:10px;align-items:flex-start;margin:10px 0}.crm-check input{width:auto!important;margin-top:4px}.crm-check small{display:block;margin-top:4px;color:var(--text-detail,#526886)}.crm-dialog [role=alert]{color:var(--text-danger,#a13830)}.crm-import-rows{max-height:40vh;overflow:auto;margin:15px 0}.crm-import-rows>div{padding:12px 0;border-bottom:1px solid var(--line-soft,#d9e3ef)}.crm-import-rows small{display:block;margin:4px 0}.crm-import-rows select{width:100%}
@media(max-width:1050px){.crm-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.crm-filters label:first-child{grid-column:1/-1}}@media(max-width:600px){.crm-stats{grid-template-columns:1fr}.crm-form-grid{grid-template-columns:1fr}.crm-filters{padding:14px;gap:10px}.crm-action-list article{display:block}.crm-dialog form{padding:16px}}
.time-project-comparison{margin:26px 0}.time-project-comparison>h3{margin-bottom:10px}
.time-selection-totals{margin:12px 0 20px}.time-selection-totals>summary{cursor:pointer;color:var(--text-detail,#526886);font-size:12px;padding:8px 0}.time-selection-totals>.stats{margin-top:14px}
.time-project-group{margin:12px 0;border:1px solid var(--line-soft,#d9e3ef);border-radius:9px;overflow:hidden;background:var(--surface,white)}
.time-project-group>summary,.time-phase-group>summary{display:grid;grid-template-columns:16px minmax(0,1fr) minmax(245px,.95fr);gap:16px;align-items:center;padding:18px;cursor:pointer;list-style:none}
.time-project-group>summary::-webkit-details-marker,.time-phase-group>summary::-webkit-details-marker{display:none}
.time-project-group>summary::before,.time-phase-group>summary::before{content:'▸';color:var(--accent-text,#1c3d7f);font-size:17px}
.time-project-group[open]>summary::before,.time-phase-group[open]>summary::before{content:'▾'}
.time-project-group>summary{background:var(--surface-alt,#f6f9fd)}.time-project-group>summary:hover,.time-phase-group>summary:hover{background:var(--tint-blue,#edf4fb)}
.time-project-group>summary:focus-visible,.time-phase-group>summary:focus-visible{outline:3px solid #38a8e2;outline-offset:-3px}
.time-group-label{min-width:0;overflow-wrap:anywhere}.time-group-label>strong{display:block;color:var(--accent-text,#1c3d7f);font-size:14px;line-height:1.6}.time-group-label>small{display:block;margin-top:4px;color:var(--text-detail,#64778d);font-size:11px;line-height:1.5}.time-group-label>.time-over-alert{color:var(--text-danger,#9c3e3a);font-weight:700}
.time-phase-groups{padding:0 16px 12px}.time-phase-group+ .time-phase-group{border-top:1px solid var(--line-soft,#e4ebf3)}.time-phase-group>summary{padding:15px 10px}.time-phase-group .time-group-label>strong{font-size:13px}
.time-consumption{min-width:0}.time-consumption-value,.time-consumption-note{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;line-height:1.5}.time-consumption-value{font-size:12px;color:var(--accent-text,#1c3d7f)}.time-consumption-value>span{font-weight:700;white-space:nowrap}.time-consumption-note{font-size:11px;color:var(--text-detail,#64778d)}
.time-consumption-track{display:block;width:100%;height:9px;background:var(--tint-neutral,#dce6f1);border-radius:5px;overflow:hidden;margin:8px 0}.time-consumption-track>rect{fill:#1c3d7f}
.time-consumption.is-over .time-consumption-track>rect{fill:#b34b3e}.time-consumption.is-over .time-consumption-value,.time-consumption.is-over .time-consumption-note{color:var(--text-danger,#9c3e3a)}
.time-consumption.is-unknown .time-consumption-track{background:repeating-linear-gradient(135deg,var(--tint-neutral,#edf0f4) 0 5px,var(--tint-neutral,#dce2e9) 5px 7px)}
.time-service-list{display:grid;gap:12px;margin:0 10px 18px 42px}
.time-service-card{border:1px solid var(--line-soft,#d9e3ef);border-radius:7px;overflow:hidden}
.time-service-heading,.time-service-person{display:grid;grid-template-columns:minmax(0,1fr) minmax(245px,1fr);gap:20px;align-items:center;padding:14px 16px}
.time-service-heading{background:var(--tint-blue,#edf4fb)}
.time-service-people{list-style:none;margin:0;padding:0}
.time-service-person{margin:0;border-top:1px solid var(--line-soft,#d9e3ef)}
.time-service-person>.time-group-label{padding-left:14px;border-left:2px solid var(--line-soft,#d9e3ef)}
.time-service-person .time-group-label>strong{font-weight:500;color:var(--text-strong,#273d54)}
@media(max-width:760px){.time-project-group>summary,.time-phase-group>summary{grid-template-columns:14px minmax(0,1fr);gap:8px;padding:14px}.time-project-group>summary>.time-consumption,.time-phase-group>summary>.time-consumption{grid-column:2}.time-phase-groups{padding:0 6px 8px}.time-service-list{margin:0 8px 16px}.time-service-heading,.time-service-person{grid-template-columns:minmax(0,1fr);gap:10px;padding:14px}.time-service-person{padding-left:24px}}
.view-switch{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 22px;padding:5px;border-radius:9px;background:var(--tint-neutral,#eaf0f7);width:fit-content}
.view-switch .button-link{margin:0;border:0;background:transparent;color:var(--text-detail,#526886);text-decoration:none;padding:11px 19px;border-radius:6px;font-weight:600}
.view-switch .selected{background:#1c3d7f;color:white;box-shadow:0 2px 5px #1c3d7f20}
.view-switch a:focus-visible{outline:3px solid #38a8e2;outline-offset:2px}
.case-mission{margin:-10px 0 22px;color:var(--text-detail,#526886);font-size:13px;line-height:1.7}.case-mission summary{cursor:pointer}.case-mission p{max-width:90ch}
.time-entry{padding:20px;margin:16px 0 24px;border:1px solid var(--line-soft,#d9e3ef);border-radius:9px;background:var(--surface-alt,#f8fbfe)}
.time-entry-targets{display:grid;grid-template-columns:1.25fr .7fr 1fr;gap:16px}
.time-entry-details{display:grid;grid-template-columns:165px 190px minmax(0,1fr);gap:16px;align-items:start}
.time-entry label{display:flex;flex-direction:column;gap:8px;font-size:12px;color:var(--text-detail,#526886);min-width:0}
.time-entry label[hidden]{display:none}.time-entry label small{font-size:11px}
.time-entry input,.time-entry select,.time-entry textarea{font:inherit;font-size:13px;border:1px solid var(--line-soft,#cbd8e8);border-radius:5px;padding:10px;background:var(--surface,#fff);color:var(--text-strong,#303846);width:100%;min-width:0;max-width:100%;box-sizing:border-box}
.time-entry input:focus,.time-entry select:focus,.time-entry textarea:focus{outline:2px solid #38a8e24d;border-color:#38a8e2}
.time-entry select:disabled{background:var(--tint-neutral,#edf1f6);color:var(--text-detail,#778595)}.time-entry textarea{resize:vertical;min-height:76px}
.time-entry .time-target-hint{margin:10px 0 20px;font-size:12px;line-height:1.6;overflow-wrap:anywhere}
.time-entry-budget-content{margin:0 0 18px;padding:12px 14px;border:1px solid var(--line-soft,#d9e3ef);border-radius:6px;background:var(--surface,#fff);font-size:12px;line-height:1.6;color:var(--text-detail,#526886)}
.time-entry-budget-content>strong{color:var(--accent-text,#1c3d7f)}.time-entry-budget-content dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:10px 0 6px}.time-entry-budget-content dt{font-size:11px}.time-entry-budget-content dd{font-size:15px;font-weight:700;color:var(--text-strong,#303846);margin:0}.time-entry-budget-content small{font-size:11px}.time-entry-budget-content p{margin:7px 0 0}.time-entry-budget-content.is-over{border-color:var(--text-danger,#9c3e3a);background:var(--tint-danger,#fff1f0)}.time-entry-budget-alert{color:var(--text-danger,#9c3e3a)}
@media(max-width:480px){.time-entry-budget-content dl{grid-template-columns:1fr}.time-entry-budget-content dl>div{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.time-entry-budget-content dd{white-space:nowrap}}
.time-day-shortcuts{display:flex;gap:6px}.time-day-shortcuts button{padding:6px 8px;font-size:11px;flex:1;background:var(--surface,#fff);white-space:nowrap}.time-day-shortcuts [aria-pressed=true]{background:#1c3d7f;color:#fff;border-color:var(--accent-text,#1c3d7f)}
.time-entry-submit{display:flex;align-items:center;gap:14px;margin-top:18px}.time-entry-submit small{font-size:12px;color:var(--text-detail,#64778d);line-height:1.6}
@media(max-width:800px){.time-entry{padding:15px}.time-entry-targets{grid-template-columns:1fr 1fr}.time-entry-targets>label:first-child{grid-column:1/-1}.time-entry-details{grid-template-columns:1fr 1fr}.time-entry-details>label:last-child{grid-column:1/-1}.time-entry-submit{align-items:flex-start;flex-direction:column;gap:8px}}
@media(max-width:480px){.time-entry-targets,.time-entry-details{grid-template-columns:minmax(0,1fr)}}
.invoice-journal table{min-width:850px}.invoice-journal td{vertical-align:top}.invoice-journal td small{display:block;font-size:11px;color:var(--text-detail,#526886);line-height:1.5;margin-top:5px}.invoice-journal td:first-child{min-width:210px}.invoice-journal td:last-child{width:95px}
.invoice-advance{padding:18px;border:1px solid var(--line-soft,#d1dbe7);border-radius:7px;margin-bottom:20px;background:var(--surface-alt,#fbfdff)}.invoice-advance summary{cursor:pointer;color:var(--accent-text,#1c3d7f);font-weight:600}.invoice-advance label{display:flex;flex-direction:column;gap:8px;font-size:12px;color:var(--text-detail,#526886)}.invoice-advance select,.invoice-advance input{width:100%;min-width:0;padding:10px;border:1px solid var(--line-soft,#d1dbe7);border-radius:5px;font:inherit;background:var(--surface,#fff);color:var(--text-strong,#273850)}.invoice-advance .actions{align-items:end}.invoice-advance .actions label{max-width:240px}.invoice-advance label.invoice-condition{flex-direction:row;align-items:center}.invoice-advance .invoice-condition input[type=checkbox]{width:18px;min-width:18px;height:18px;padding:0;flex-shrink:0}.invoice-advance table{min-width:360px}.invoice-advance td:last-child{width:42%}.invoice-advance input:focus,.invoice-advance select:focus{outline:2px solid #38a8e24d;border-color:#38a8e2}
@font-face {
  font-family: Comfortaa;
  src: url("fonts/Comfortaa-Variable.woff") format("woff");
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
}
@font-face {
  font-family: "Cormorant Garamond";
  src: url("fonts/CormorantGaramond-Variable.woff") format("woff");
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
}
@font-face {
  font-family: Quicksand;
  src: url("fonts/Quicksand-Variable.woff") format("woff");
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
}

:root {
  --brand-blue: #1c3d7f;
  --brand-sky: #38a8e2;
  --brand-gray: #d1d1d1;
  --ink: #303846;
  --muted: #59616e;
  --border: var(--brand-gray);
  --soft: #edf7fc;
  --page: #f7f8fa;
  --surface: #ffffff;
  --hover: #163268;
  --error: #9b3535;
  --font-title: Comfortaa, "Segoe UI", sans-serif;
  --font-editorial: "Cormorant Garamond", Georgia, serif;
  --font-body: Quicksand, "Segoe UI", sans-serif;
  font-family: var(--font-body);
  font-size: 15px;
  font-weight: 400;
  color: var(--ink);
  background: var(--page);
  font-synthesis: none;
}
* { box-sizing: border-box; }
body { margin: 0; }
button, input, select { font: inherit; }
button { cursor: pointer; }
button:disabled { cursor: not-allowed; opacity: .55; }
button, a, input, select { outline-offset: 4px; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible { outline: 2px solid var(--brand-blue); }
button {
  border: 1px solid var(--border);
  border-radius: 7px;
  background: var(--surface);
  padding: 10px 16px;
  min-height: 42px;
  color: var(--accent-text,var(--brand-blue));
  font-weight: 700;
  transition: background-color .15s, border-color .15s;
}
button:hover { background: var(--soft); border-color: var(--brand-blue); }
.primary { background: var(--brand-blue); border-color: var(--brand-blue); color: white; }
.primary:hover { background: var(--hover); border-color: var(--hover); }
.quiet { border-color: transparent; background: transparent; padding: 8px; }
.danger { color: var(--error); }
a { color: var(--accent-text,var(--brand-blue)); }
h1, h2, h3, p { margin-top: 0; }
h1 {
  font-family: var(--font-title);
  color: var(--accent-text,var(--brand-blue));
  font-size: 31px;
  line-height: 1.35;
  font-weight: 300;
  letter-spacing: -.6px;
  margin-bottom: 10px;
  overflow-wrap: anywhere;
}
h2 { font-family: var(--font-editorial); color: var(--accent-text,var(--brand-blue)); font-size: 27px; line-height: 1.15; font-weight: 500; }
h3 { font-family: var(--font-title); color: var(--accent-text,var(--brand-blue)); font-size: 16px; font-weight: 700; }
p { line-height: 1.65; }
strong, b { font-weight: 700; }
.muted, small { color: var(--muted); }
small { line-height: 1.5; }
.eyebrow { text-transform: uppercase; letter-spacing: 1.6px; font-size: 10px; line-height: 1.6; font-weight: 700; color: var(--muted); margin-bottom: 12px; }
/* The SVG includes the clear space shown on page 8 of the guide. */
.logo { width: 208px; max-width: 100%; }
.logo img { display: block; width: 100%; height: auto; }
.shell { display: grid; grid-template-columns: 240px minmax(0, 1fr); min-height: 100vh; }
.sidebar {
  position: sticky;
  top: 0;
  isolation: isolate;
  height: 100vh;
  overflow-y: auto;
  background: var(--brand-blue);
  color: white;
  padding: 23px 16px 18px;
  display: flex;
  flex-direction: column;
}
.sidebar::before {
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
  inset: auto 0 122px;
  height: 145px;
  background: url("brand/wave-white.svg") center bottom / auto 100% no-repeat;
  opacity: .15;
}
.sidebar .logo { margin: 0 0 12px; }
.sidebar .eyebrow { color: #ccd9ee; margin: 15px 14px 12px; }
.sidebar nav { display: grid; gap: 7px; }
.sidebar nav button { display: flex; align-items: center; gap: 12px; width: 100%; text-align: left; background: transparent; border: 1px solid transparent; color: #e1e9f6; padding: 9px 13px; font-size: 14px; font-weight: 600; }
.sidebar nav button:hover { background: #ffffff12; color: white; }
.sidebar nav button.active { background: #ffffff12; color: white; border-color: #ffffff38; box-shadow: inset 3px 0 var(--brand-sky); }
.sidebar button:focus-visible { outline-color: var(--line-soft,white); }
.nav-group { display: grid; gap: 2px; }
.nav-group + .nav-group { margin-top: 6px; }
.nav-heading { padding: 3px 13px; color: #b7cae6; font-size: 10px; letter-spacing: 1.3px; text-transform: uppercase; }
.nav-references { margin-top: 6px; border-top: 1px solid #ffffff24; padding-top: 7px; }
.nav-references summary { padding: 10px 13px; color: #e1e9f6; font-size: 12px; cursor: pointer; }
.nav-references summary:focus-visible { outline: 2px solid var(--line-soft,white); outline-offset: -2px; }
.nav-references[open] summary { margin-bottom: 3px; }
.navsymbol { width: 20px; font-size: 18px; text-align: center; color: var(--brand-sky); }
.sidebar footer { margin-top: auto; padding: 18px 14px 0; color: #cbd8ed; font-size: 11px; line-height: 1.8; }
.sidebar footer strong { display: block; color: white; font-weight: 600; margin-bottom: 5px; }
.workspace { min-width: 0; }
.topbar { height: 83px; background: var(--surface); border-bottom: 1px solid var(--border); display: flex; align-items: center; justify-content: space-between; padding: 0 38px; gap: 20px; }
.history-navigation { padding: 8px 38px 0; min-height: 42px; }
.history-navigation button { display: inline-flex; align-items: center; gap: 8px; padding: 6px 8px; margin-left: -8px; font-size: 13px; min-height: 34px; }
.history-navigation button:disabled { color: var(--muted); opacity: .55; }
.history-navigation + .main { padding-top: 20px; }
.context { font-size: 12px; color: var(--muted); display: flex; align-items: center; gap: 10px; }
.dot { width: 7px; height: 7px; flex: 0 0 7px; border-radius: 50%; background: var(--brand-sky); }
.profile { display: flex; align-items: center; gap: 12px; }
.avatar { width: 36px; height: 36px; flex-shrink: 0; border-radius: 50%; display: grid; place-items: center; background: var(--soft); border: 1px solid var(--line-soft,#c7e6f7); color: var(--accent-text,var(--brand-blue)); font-weight: 700; font-size: 13px; }
.profile small { display: block; font-size: 11px; }
.profile b { font-size: 13px; }
.profile button { font-size: 12px; }
.main { padding: 34px 38px 50px; max-width: 1560px; margin: auto; }
.heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 26px; }
.heading > div { min-width: 0; }
.heading p { margin: 0; font-size: 14px; color: var(--muted); }
.heading > button { flex-shrink: 0; }
.heading .eyebrow { color: var(--accent-text,var(--brand-blue)); }
.tag { font-size: 10px; letter-spacing: .8px; background: var(--soft); color: var(--accent-text,var(--brand-blue)); border: 1px solid var(--line-soft,#c7e6f7); padding: 7px 10px; border-radius: 4px; font-weight: 700; white-space: nowrap; }
.stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-bottom: 27px; }
.stat { padding: 21px 23px; border: 1px solid var(--border); background: var(--surface); border-radius: 10px; }
.stat label { display: block; font-size: 12px; color: var(--muted); margin-bottom: 12px; font-weight: 600; }
.stat strong { display: block; color: var(--accent-text,var(--brand-blue)); font-size: 31px; font-weight: 600; line-height: 1.2; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.stat small { display: block; margin-top: 9px; font-size: 11px; }
.panel { background: var(--surface); border: 1px solid var(--border); border-radius: 10px; margin-bottom: 22px; overflow: hidden; }
.panel-head { padding: 20px 24px; border-bottom: 1px solid var(--border); display: flex; justify-content: space-between; align-items: center; gap: 15px; }
.panel-head h2 { margin: 0; }
.panel-body { padding: 24px; }
.table-wrap { overflow: auto; }
table { border-collapse: collapse; width: 100%; font-size: 13px; }
th { text-align: left; text-transform: uppercase; letter-spacing: .7px; font-size: 10px; font-weight: 700; color: var(--muted); padding: 15px 21px; background: var(--surface-alt,#f8f9fb); border-bottom: 1px solid var(--border); }
td { padding: 20px 21px; border-bottom: 1px solid var(--line-soft,#e8eaee); vertical-align: middle; line-height: 1.5; }
tr:last-child td { border-bottom: 0; }
td strong { display: block; margin-bottom: 5px; }
td button { white-space: nowrap; font-size: 12px; }
.numeric { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; font-weight: 600; }
.reference { font-size: 11px; color: var(--muted); letter-spacing: .2px; }
.status { font-size: 11px; font-weight: 600; padding: 5px 9px; border-radius: 4px; display: inline-block; white-space: nowrap; background: var(--tint-neutral,#f0f1f3); color: var(--text-detail,#535b67); border: 1px solid var(--line-soft,#d9dde3); }
.status.submitted { background: var(--tint-warning,#fff5df); color: var(--text-warning,#785916); border-color: var(--line-soft,#e6d3a6); }
.status.approved { background: var(--soft); color: var(--accent-text,var(--brand-blue)); border-color: var(--line-soft,#bcdcee); }
.note { padding: 17px 21px; border-left: 3px solid var(--brand-sky); background: var(--soft); color: var(--accent-text,var(--brand-blue)); font-size: 13px; line-height: 1.65; border-radius: 0 6px 6px 0; margin-bottom: 23px; }
.subtle { font-size: 12px; color: var(--muted); margin-top: 22px; }
.actions { display: flex; gap: 9px; flex-wrap: wrap; align-items: center; }
.split { display: grid; grid-template-columns: 1.7fr 1fr; gap: 23px; }
.card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.person-card { padding: 25px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface); }
.person-card .avatar { margin-bottom: 17px; width: 42px; height: 42px; }
.person-card h3 { margin-bottom: 8px; }
.person-card p { font-size: 13px; margin-bottom: 0; color: var(--muted); }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.field { min-width: 0; }
.field label { display: block; font-size: 12px; font-weight: 700; margin-bottom: 8px; }
.field input, .field select, #org-select { width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid var(--field-border,#858f9e); border-radius: 6px; background: var(--surface); color: inherit; font-size: 14px; }
#amendment-form select, #amendment-form input[type=date] { width:100%; min-height:42px; padding:8px 10px; border:1px solid var(--field-border,#858f9e); border-radius:6px; background:var(--surface); color:inherit; font:inherit; }
#amendment-form input[type=date] { min-width:142px; }
#amendment-form small { display:block; color:var(--muted); line-height:1.6; margin-top:5px; }
#amendment-form h3 { margin:24px 0 12px; }
#amendment-form .toolbar { margin-top:18px; align-items:center; }
#amendment-form td { padding:14px; vertical-align:top; }
#amendment-form td select { min-width:180px; }
#create-amendment { margin-top:16px; }
#org-select { width: auto; max-width: 100%; }
.field.wide { grid-column: 1 / -1; }
.field small { display: block; margin-top: 7px; font-size: 11px; }
.line-editor { padding: 22px 24px; border-bottom: 1px solid var(--border); }
.line-editor:last-child { border: 0; }
.line-top { display: flex; gap: 20px; align-items: center; margin-bottom: 17px; }
.line-top .field { flex: 1; }
.line-fields { display: grid; grid-template-columns: 1.6fr 1.1fr .7fr 1fr 1fr; gap: 16px; align-items: end; }
.line-fields .price { padding-bottom: 10px; }
.line-fields .price small { display: block; font-size: 11px; margin-bottom: 9px; }
.line-fields .price strong { font-size: 14px; font-weight: 700; white-space: nowrap; }
.title-input { width: 100%; font-size: 18px; border: 1px solid var(--field-border,#858f9e); padding: 12px; border-radius: 6px; color: inherit; }
.toolbar { margin-top: 20px; display: flex; justify-content: space-between; gap: 15px; }
.history { display: flex; flex-wrap: wrap; gap: 8px; }
.history small { border: 1px solid var(--border); border-radius: 4px; padding: 8px 12px; }
.empty { text-align: center; padding: 50px 25px; color: var(--muted); }
.login { min-height: 100vh; display: grid; grid-template-columns: 1fr 1.1fr; }
.login-story { position: relative; isolation: isolate; overflow: hidden; background: var(--brand-blue); color: white; display: flex; flex-direction: column; justify-content: space-between; padding: 36px 60px 44px; min-height: 680px; }
.login-story::before { content: ""; position: absolute; z-index: -1; pointer-events: none; left: -25%; right: -25%; bottom: 0; height: 45%; background: url("brand/wave-white.svg") center bottom / auto 100% no-repeat; opacity: .15; }
.login-story::after { content: ""; position: absolute; z-index: -1; pointer-events: none; right: 0; bottom: 0; width: 94px; height: 125px; background: url("brand/diagonals.svg") right bottom / contain no-repeat; }
.login-story .logo { width: 280px; margin-left: -22px; }
.login-story h1 { color: white; font-size: 45px; line-height: 1.25; letter-spacing: -1.2px; max-width: 450px; margin-bottom: 24px; }
.login-story p { color: white; max-width: 370px; font-size: 15px; }
.login-story .eyebrow { font-family: var(--font-editorial); text-transform: none; letter-spacing: 0; font-size: 25px; font-weight: 500; color: white; margin-bottom: 19px; }
.login-story footer { font-size: 12px; line-height: 1.8; color: #e1e9f6; }
.login-options { display: flex; justify-content: center; flex-direction: column; padding: 50px 60px; max-width: 700px; }
.login-options .tag { align-self: flex-start; margin-bottom: 25px; }
.login-options h2 { font-family: var(--font-title); font-size: 26px; font-weight: 300; line-height: 1.4; margin-bottom: 14px; }
.persona { display: flex; align-items: center; gap: 17px; text-align: left; padding: 19px; margin-top: 13px; width: 100%; border-radius: 8px; }
.persona strong { font-weight: 700; }
.persona small { display: block; font-weight: 400; margin-top: 5px; }
.persona .arrow { margin-left: auto; font-size: 21px; color: var(--accent-text,var(--brand-blue)); }
.loading { padding: 80px; color: var(--muted); text-align: center; }
#message { position: fixed; bottom: 25px; right: 25px; z-index: 20; max-width: min(520px, calc(100vw - 36px)); padding: 17px 23px; background: var(--brand-blue); color: white; box-shadow: 0 6px 28px #1c3d7f26; border-radius: 8px; font-size: 14px; line-height: 1.5; }
#message.error { background: var(--error); }
button[hidden], div[hidden] { display: none; }
.back { margin-bottom: 22px; font-size: 12px; }
.text-right { text-align: right; }
.directory-panel { margin-top: 24px; }
.fee-grid { display: grid; gap: 0; }
.fee-item { display: grid; grid-template-columns: minmax(0, 1fr) minmax(200px, .8fr); gap: 24px; padding: 20px 0; border-bottom: 1px solid var(--border); align-items: start; }
.fee-item:last-child { border-bottom: 0; }
.production-fees-table{min-width:760px;margin:14px 0 24px}
.production-fees-table .production-phase th{text-align:left;font-weight:650;padding:10px 14px;background:var(--tint-blue,#eef5fb);color:var(--accent-text,#1c3d7f)}
.production-fees-table th:first-child{width:40%}.production-fees-table td{vertical-align:middle;padding:12px 14px}
.production-fees-table small{display:block;color:var(--text-detail,#64778d);font-size:12px;margin-top:5px}
.production-fees-table .fee-amount{display:flex;align-items:center;gap:8px;max-width:230px}.fee-amount input{width:100%;min-width:80px;text-align:right;font-weight:650}
.production-fees-table input{width:100%;min-width:85px;max-width:165px;text-align:right}.production-fees-table [data-production-days]{max-width:100px}
.production-fees-table input,.production-fees-table select{font:inherit;padding:10px 8px;border:1px solid var(--border);border-radius:5px;background:var(--surface,white);color:var(--ink)}
.production-fees-table .time-duration{max-width:130px}.production-fees-table .time-duration input{max-width:none}.production-fees-table .time-duration-arrows button{background:var(--surface-alt,#f4f8fc);color:var(--accent-text,#1c3d7f)}
.production-fees-table .production-retained{min-width:225px}.production-fees-table [data-production-mode]{width:100%;font-size:12px;padding:7px;margin-bottom:9px}
.production-fees-table [data-production-total]{font-weight:700}.production-fees-table [hidden]{display:none}
.production-fees-table .production-incomplete{background:color-mix(in srgb,var(--text-danger,#a64736) 5%,var(--surface,white))}
.production-budget-total{display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px;padding:16px;background:var(--tint-blue,#eef5fb);color:var(--accent-text,#1c3d7f);border-radius:6px}
.production-budget-table [data-production-cost]{display:block;max-width:100%;margin:8px 0 0 auto;white-space:normal;line-height:1.4;padding:7px 9px;font-size:11px}
.internal-production-costs{border-top:1px solid var(--border);padding-top:18px;margin-top:20px}
.internal-production-costs>summary,.budget-fx-details>summary,.milestone-percentage>summary{cursor:pointer;color:var(--accent-text,#1c3d7f)}
.internal-production-costs>p{margin-top:16px}.budget-fx-details{margin-top:20px}
.fee-item small { display: block; margin-top: 7px; font-size: 12px; }
#production-fees .toolbar { align-items: center; }
#production-fees button { flex-shrink: 0; }

/* Offer composition and saved customer documents. */
.stats { grid-template-columns: repeat(auto-fit, minmax(185px, 1fr)); }
.line-fields { grid-template-columns: 1.6fr 1fr .8fr 1fr 1.2fr 1fr; }
a.button { display:inline-block; border:1px solid var(--border); border-radius:6px; padding:11px 16px; color:var(--accent-text,var(--brand-blue)); font-weight:600; font-size:13px; text-decoration:none; background:var(--surface,white); }
a.button.primary { color:white; background:var(--brand-blue); border-color:var(--brand-blue); }
a.button:hover { border-color:var(--brand-sky); }
textarea { width:100%; resize:vertical; font:inherit; color:var(--ink); padding:11px 13px; border:1px solid var(--border); border-radius:5px; background:var(--surface,white); line-height:1.65; }
textarea:focus { outline:2px solid var(--brand-sky); outline-offset:2px; }
.read-text { white-space:pre-wrap; overflow-wrap:anywhere; margin:0; line-height:1.75; }
.offer-row { border-top:1px solid var(--border); padding:18px 0 24px; margin-bottom:12px; }
.offer-row:first-child { border-top:0; padding-top:0; }
.offer-row h3 { font:600 15px var(--font-body); margin:0 0 12px; }
.offer-row .line-top { margin-bottom:8px; }
.visit-fields { display:grid; grid-template-columns:1fr 1fr; gap:18px; grid-column:1/-1; }
[hidden] { display:none !important; }
.document-panel p { line-height:1.75; }
.document-panel summary { cursor:pointer; color:var(--accent-text,var(--brand-blue)); font-weight:600; }
.document-panel details + details { margin-top:16px; }
.document-history { margin-top:23px; border-top:1px solid var(--border); padding-top:18px; font-size:13px; }
.document-history div { display:flex; flex-wrap:wrap; gap:20px; margin-top:10px; }
.document-history a { color:var(--accent-text,var(--brand-blue)); }
#offer-content .toolbar { margin-bottom:28px; }

/* Long offer forms retain their tables, with a compact outline and visible save. */
.offer-tools{position:sticky;top:10px;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:var(--surface,#fff);border:1px solid var(--border);border-radius:8px;padding:10px 12px;box-shadow:0 4px 18px #1c3d7f15;margin-bottom:18px}
.offer-navigation,.offer-save{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.offer-navigation{flex:1}.offer-tools button{font-size:12px;padding:9px 11px}.offer-navigation button{background:var(--surface-alt,#f5f8fc);border-color:transparent}.offer-navigation select{font:inherit;font-size:12px;padding:9px;border:1px solid var(--border);border-radius:5px;color:var(--accent-text,var(--brand-blue));background:var(--surface,white);min-width:130px;max-width:230px}.offer-save{flex-direction:column;align-items:flex-end}.offer-save [role=status]{font-size:11px;color:var(--muted)}.offer-save [data-state=dirty],.offer-save [data-state=error]{color:var(--text-danger,#9c4c22)}.offer-save [data-state=saving]{color:var(--accent-text,var(--brand-blue))}
.offer-section>summary{padding:15px 20px;cursor:pointer;color:var(--accent-text,var(--brand-blue))}.offer-section>summary h2{display:inline;font-size:20px;margin:0}.offer-section>summary small{display:block;margin:6px 0 0 18px;font-size:12px;color:var(--muted)}
#offer-content .panel,#offer-content [data-phase]{scroll-margin-top:120px}
#offer-phases .panel-head{flex-wrap:wrap;gap:10px}#offer-phases .panel-head .actions{margin:0}#offer-phases .panel-head button{font-size:12px;padding:8px 10px}
#offer-content .offer-row.phase-card{padding:0;margin-bottom:12px;border-top:1px solid var(--border);border-right:1px solid var(--border);border-bottom:1px solid var(--border)}
.phase-card>summary{padding:14px 16px;cursor:pointer;color:var(--accent-text,var(--brand-blue));font-size:14px}.phase-card>summary [data-phase-title]{overflow-wrap:anywhere}.phase-card>summary [data-phase-summary]{display:block;margin:6px 0 0 18px;color:var(--muted);font-size:12px;line-height:1.6}.phase-body{padding:16px;border-top:1px solid var(--border)}.phase-card[open]>summary{background:var(--surface-alt,#f4f8fc)}.phase-card summary:focus-visible,.offer-section>summary:focus-visible{outline:2px solid var(--brand-sky);outline-offset:-2px}
@media(max-width:760px){.offer-tools{top:0;padding:8px;gap:8px}.offer-navigation{flex-basis:100%;gap:4px}.offer-navigation select{flex:1;max-width:100%;min-width:100px}.offer-tools button{padding:8px;font-size:11px}.offer-save{width:100%;flex-direction:row;justify-content:space-between}.offer-save [role=status]{max-width:55%;font-size:10px}.offer-section>summary{padding:14px}.offer-section>summary h2{font-size:18px}.phase-body{padding:12px}#offer-content .panel,#offer-content [data-phase]{scroll-margin-top:165px}}

/* Lists share compact filters and a keyboard-accessible scrolling table. */
.compact-list-page>.heading{margin-bottom:16px;align-items:center}.compact-list-page>.heading h1{font-size:28px;margin:6px 0}.compact-list-page>.heading p{margin:4px 0;font-size:13px}.compact-list-page .view-switch{margin-bottom:16px}
.compact-list-page .panel{margin-bottom:16px}.compact-list-page .panel-head{padding:15px 20px;gap:10px}.compact-list-page .panel-head h2{font-size:21px;margin:0}.compact-list-page .panel-head small{display:block;font-size:11px;color:var(--muted);margin-top:5px}
.compact-filters{padding:14px 20px}.filter-primary,.filter-secondary{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.compact-filters label{display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--muted);min-width:140px;max-width:100%}.compact-filters .filter-search{flex:1;min-width:200px}.compact-filters input,.compact-filters select{width:100%;font:inherit;font-size:13px;border:1px solid var(--border);border-radius:5px;padding:9px;background:var(--surface,#fff);color:var(--text);max-width:100%}.compact-filters select{max-width:300px}.compact-filters button{font-size:12px;padding:9px 12px}
.filter-more{margin-top:10px;font-size:12px}.filter-more>summary{cursor:pointer;color:var(--accent-text,var(--brand-blue));width:fit-content;padding:4px 0}.filter-secondary{margin-top:10px}.filter-secondary label:last-child{flex:1}.filter-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.filter-chips button{font-size:11px;padding:5px 9px;border:1px solid var(--line-soft,#cfdaea);background:var(--surface-alt,#f4f8fc);color:var(--accent-text,var(--brand-blue));white-space:normal;text-align:left;max-width:100%;overflow-wrap:anywhere}.filter-chips button span{font-size:15px;margin-left:5px}
.catalog-counts{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.catalog-counts button{display:flex;align-items:center;gap:15px;padding:11px 16px;font-size:13px;border:1px solid var(--border);background:var(--surface,#fff)}.catalog-counts strong{font-size:18px}.catalog-counts [aria-pressed=true]{background:var(--brand-blue);color:#fff;border-color:var(--brand-blue)}
.receipt-filter-bar{display:flex;align-items:center;gap:8px 18px;flex-wrap:wrap;padding:12px 20px}.receipt-filter-bar label{font-size:12px}.receipt-filter-bar p{font-size:11px;margin:0}.list-scroll{max-height:68vh;scrollbar-gutter:stable;isolation:isolate}.list-scroll:focus-visible{outline:2px solid var(--brand-sky);outline-offset:-2px}.list-scroll thead th{position:sticky;top:0;z-index:2;background:var(--surface-alt,#f5f8fc);box-shadow:0 1px 0 var(--border)}
@media(max-width:760px){.compact-list-page>.heading h1{font-size:25px}.compact-list-page .panel-head{padding:12px 14px;flex-wrap:wrap}.compact-filters{padding:12px 14px}.filter-primary{gap:8px}.compact-filters .filter-search{flex-basis:100%;min-width:0}.compact-filters label{min-width:0;flex:1}.compact-filters select{max-width:100%}.filter-primary>button{align-self:end}.filter-secondary>label{flex-basis:100%}.catalog-counts{gap:6px}.catalog-counts button{flex:1;padding:9px;font-size:11px;gap:8px}.catalog-counts strong{font-size:16px}.receipt-filter-bar{padding:12px 14px}.expense-journal-list .list-scroll{max-height:none;overflow:visible}}
input:disabled, select:disabled, textarea:disabled { opacity:.8; cursor:default; }
@media (max-width: 1150px) {
  .main { padding: 30px 25px; }
  .topbar { padding: 0 25px; }
  .history-navigation { padding-inline: 25px; }
  .context { max-width: 240px; flex-wrap: wrap; }
  .line-fields { grid-template-columns: 1.5fr 1fr .7fr; }
  .line-fields .price { padding-top: 6px; }
  .card-grid { grid-template-columns: 1fr 1fr; }
  .login-story { padding: 36px 40px; }
  .login-story h1 { font-size: 38px; }
  .login-options { padding: 45px 36px; }
}
@media (max-width: 800px) {
  .shell { display: block; }
  .sidebar { position: static; width: 100%; height: auto; padding: 6px 18px 16px; }
  .sidebar .logo { width: 180px; margin: 0 0 7px -10px; }
  .sidebar nav { display: flex; flex-wrap: wrap; gap: 5px; }
  .sidebar .nav-group, .sidebar .nav-references>div { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 0; }
  .sidebar .nav-heading { display: none; }
  .sidebar .nav-references { margin: 0; padding: 0; border: 0; }
  .sidebar .nav-references summary { padding: 10px; }
  .sidebar nav button { width: auto; padding: 9px 10px; font-size: 13px; gap: 7px; }
  .sidebar .eyebrow, .sidebar footer, .sidebar::before { display: none; }
  .topbar { min-height: 72px; height: auto; padding: 12px 18px; }
  .history-navigation { padding-inline: 18px; }
  .history-navigation button { min-height: 40px; }
  .context { display: none; }
  .profile { width: 100%; gap: 10px; }
  .profile > div { flex: 1; }
  .profile button { max-width: 100px; text-align: right; line-height: 1.4; }
  .main { padding: 27px 18px; }
  .heading { align-items: flex-start; gap: 16px; }
  .heading h1 { font-size: 25px; }
  .heading > button { flex-shrink: 1; font-size: 13px; }
  .stats { gap: 9px; }
  .stat { padding: 17px 13px; }
  .stat strong { font-size: 24px; }
  .stat small { font-size: 11px; }
  .card-grid, .split { grid-template-columns: 1fr; }
  .line-fields { grid-template-columns: 1fr 1fr; }
  .form-grid { grid-template-columns: 1fr; }
  .field.wide { grid-column: auto; }
  .field input, .field select { font-size: 16px; }
  .login { display: block; }
  .login-story { padding: 15px 28px 28px; min-height: auto; }
  .login-story .logo { width: 225px; margin-left: -18px; }
  .login-story .eyebrow { margin-top: 24px; font-size: 23px; }
  .login-story h1 { font-size: 32px; margin: 12px 0 20px; }
  .login-story footer { display: none; }
  .login-options { padding: 32px 23px; max-width: none; }
  .heading .tag { display: none; }
  .toolbar { flex-direction: column; }
  .panel-head { padding: 18px 20px; flex-wrap: wrap; }
  .panel-body { padding: 20px; }
  td, th { padding: 15px; }
  .line-editor { padding: 20px; }
  .fee-item { grid-template-columns: 1fr; gap: 15px; }
}
@media (max-width: 480px) {
  .heading { flex-wrap: wrap; }
  .stats { grid-template-columns: 1fr; gap: 10px; }
  .stat { padding: 16px 18px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 15px; align-items: center; }
  .stat label { margin: 0; }
  .stat strong { text-align: right; font-size: 24px; max-width: 210px; }
  .stat small { margin-top: 0; grid-column: 1 / -1; }
  .persona { padding: 17px 14px; gap: 12px; }
  .login-options h2 { font-size: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  button { transition: none; }
}

@media(max-width:650px){.visit-fields{grid-template-columns:1fr}.offer-row .line-top{flex-wrap:wrap}.field textarea{font-size:16px}.line-fields{grid-template-columns:1fr 1fr}.document-panel .actions{align-items:stretch;flex-direction:column}a.button{text-align:center}}
.offer-row.phase-card{border-left:4px solid var(--accent-text,#1c3d7f);padding:18px 16px 24px;border-radius:5px}.phase-card.review-phase{border-left:4px dashed #38a8e2;background:var(--surface-alt,#f7fbfe)}.phase-card h4{color:var(--accent-text,#1c3d7f);margin:24px 0 10px}.phase-empty{color:var(--text-detail,#65738b);font-size:13px}.phase-workload,.workload-total{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;padding:14px 0;font-size:13px;color:var(--text-detail,#516583)}.phase-workload strong,.workload-total strong{color:var(--accent-text,#1c3d7f)}.workload-total{background:var(--tint-blue,#eef5fb);border-radius:8px;padding:18px;margin-top:20px}.workload-total h3{width:100%;margin:0 0 5px}.review-insert{border-top:1px solid var(--line-soft,#dce6f0);margin-top:12px;padding-top:16px;display:flex;gap:14px;flex-wrap:wrap;align-items:center}.review-insert label{display:flex;gap:8px;align-items:center;font-size:12px}.review-insert input{width:auto}.unassigned{border-left:4px solid #bb8a39;margin-top:18px}.phase-card input,.phase-card select{min-width:0;max-width:100%}
@media(max-width:480px){.offer-row.phase-card{padding:14px 10px}.review-insert button{width:100%}.phase-workload,.workload-total{align-items:flex-start;flex-direction:column}.phase-card .line-top .actions{gap:4px}}
.service-table-wrap{max-width:100%;overflow-x:auto;border:1px solid var(--line-soft,#dce5ef);border-radius:6px;margin:12px 0}.service-table{width:100%;min-width:770px;table-layout:fixed;border-collapse:collapse;background:var(--surface,#fff);font-size:12px}.service-table th{padding:10px 8px;font-size:10px;letter-spacing:.4px;white-space:normal;background:var(--tint-blue,#eef5fb)}.service-table td{padding:8px 5px;vertical-align:top;border-bottom:1px solid var(--line-soft,#e1e8f0);overflow-wrap:anywhere}.service-table th:first-child{width:25%}.service-table th:nth-child(2){width:22%}.service-table th:nth-child(3){width:16%}.service-table th:nth-child(4){width:9%}.service-table th:nth-child(5){width:13%}.service-table th:nth-child(6){width:15%}.service-table input,.service-table select,.service-table textarea{width:100%;min-width:0;border:1px solid transparent;border-radius:3px;background:transparent;font:inherit;padding:7px 5px;color:var(--text-strong,#273850)}.service-table textarea{min-height:37px;resize:vertical}.service-table input:hover,.service-table select:hover,.service-table textarea:hover{border-color:var(--line-soft,#c9d6e7);background:var(--surface-alt,#f8fbfe)}.service-table input:focus,.service-table select:focus,.service-table textarea:focus{border-color:#38a8e2;outline:2px solid #38a8e233;background:var(--surface,#fff)}.service-table small{display:block;font-size:10px;line-height:1.4;color:var(--text-detail,#697991);padding:2px 5px}.service-table small.price strong{display:inline;font-size:10px;font-weight:400}.service-table .service-sale{padding-top:15px;text-align:right;font-size:12px}.service-table .service-days{text-align:right}.service-table .service-days input{text-align:right}.service-table .service-actions select{font-size:10px;padding:5px 1px}.service-table .service-actions button{float:right;font-size:19px;line-height:1;padding:4px 9px}.service-table tr:last-child td{border-bottom:0}.service-table tbody tr:focus-within{background:var(--surface-alt,#f8fbfe)}.service-table-wrap:focus-visible{outline:2px solid #38a8e2}
.commercial-label{display:block;margin-top:8px;color:var(--text-detail,#526886)}.commercial-form{margin:22px 0;padding:20px;border:1px solid var(--line-soft,#dce5ef);border-radius:8px;background:var(--surface-alt,#fafcfe)}.commercial-form h3{margin-top:0;color:var(--accent-text,#1c3d7f)}.commercial-form p{color:var(--text-detail,#526886);font-size:13px;line-height:1.6}.commercial-form>.field{margin-bottom:16px}.commercial-form>.primary{margin-top:18px}.commercial-history{margin-top:24px}.commercial-history summary,.project-history summary{cursor:pointer;font-weight:600;color:var(--accent-text,#1c3d7f);padding:12px 0}.commercial-history ol{list-style:none;margin:8px 0;padding:0}.commercial-history li{border-left:2px solid #38a8e2;padding:10px 18px;margin:0 0 14px;overflow-wrap:anywhere}.commercial-history li div{display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:space-between}.commercial-history li span,.commercial-history li small{font-size:12px;color:var(--text-detail,#65758e)}.commercial-history li p{margin:8px 0;font-size:13px}.commercial-history li a{display:block;margin-top:8px;font-size:12px}.accepted-offer{border-left:4px solid #38a8e2;background:var(--tint-blue,#eef7fc);padding:15px 20px;margin:20px 0;border-radius:5px}.accepted-offer h3{color:var(--accent-text,#1c3d7f);margin:0}.accepted-offer p{line-height:1.6;font-size:13px}.status.rejected{color:var(--text-danger,#963c3c);background:var(--tint-danger,#fff0ed)}.project-services{min-width:750px}.project-services td{vertical-align:top}.project-services td:first-child{min-width:170px}.project-history{padding:12px 24px}.project-history p{font-size:13px;line-height:1.7}.commercial-form .toolbar{flex-wrap:wrap;gap:12px}
@media(max-width:650px){.commercial-form{padding:16px 12px}.commercial-history li{padding-left:12px}.accepted-offer{padding:14px}.commercial-form .toolbar button{width:100%}.commercial-history li div{flex-direction:column}}
/* Resources: editable tables share the phase editor's visual language. */
.resource-filters{display:flex;gap:14px;align-items:end;flex-wrap:wrap;margin-bottom:20px}.resource-filters label{display:flex;flex-direction:column;gap:7px;font-size:12px;color:var(--text-detail,#526886);max-width:100%;min-width:130px}.resource-filters select,.resource-filters input,.schedule-table input{font:inherit;border:1px solid var(--line-soft,#d5dfeb);border-radius:5px;padding:9px;background:var(--surface,#fff);color:var(--text-strong,#303846);max-width:100%}.resource-filters .check-field{flex-direction:row;align-items:center;padding:10px 0}.check-field input{width:auto}.project-shortcuts{margin-bottom:24px}.time-table{min-width:880px;width:100%;table-layout:fixed}.time-table th:nth-child(1){width:15%}.time-table th:nth-child(2){width:25%}.time-table th:nth-child(3){width:9%}.time-table th:nth-child(4){width:27%}.time-table th:nth-child(5){width:24%}.time-table td{padding:10px 8px;vertical-align:top}.time-table input,.time-table select,.time-table textarea{font:inherit;font-size:12px;background:var(--surface,#fff);border:1px solid transparent;border-radius:4px;padding:8px 5px;width:100%;min-width:0;max-width:100%;color:var(--text-strong,#303846)}.time-table input:hover,.time-table select:hover,.time-table textarea:hover{border-color:var(--line-soft,#cbd8e8)}.time-table input:focus,.time-table select:focus,.time-table textarea:focus{outline:2px solid #38a8e233;border-color:#38a8e2}.time-table input[name=days]{text-align:right}.time-table [name=reason]{margin-top:8px;background:var(--surface-alt,#f6f9fc)}.time-actions{display:flex;flex-direction:column;gap:7px;margin-top:10px}.time-actions button{font-size:11px;padding:8px}.time-table small,.time-comparison small,.load-table small,.capacity-panel small,.schedule-table small,#time-section td small{display:block;color:var(--text-detail,#64778d);font-size:11px;margin:4px 0;line-height:1.5}.time-history{font-size:11px;margin-top:12px}.time-history summary,.time-comparison summary,.capacity-panel>summary{cursor:pointer;font-weight:600;color:var(--accent-text,#1c3d7f)}.time-history p{padding:8px;border-left:2px solid #38a8e2;background:var(--surface-alt,#f8fbfd);overflow-wrap:anywhere}.time-comparison>summary{padding:10px 0 18px}.time-comparison{margin-bottom:30px}.time-comparison table{min-width:680px}.cancelled-row{opacity:.65}.time-table .status{white-space:normal;line-height:1.5;font-size:10px}.overload{color:var(--text-danger,#9c3e3a);font-weight:700}.schedule-table{min-width:720px}.schedule-table td{padding:14px 10px;vertical-align:middle}.schedule-table input{width:150px;font-size:12px}.schedule-table td:first-child{width:28%}.capacity-panel{padding:22px}.capacity-panel>summary{font-size:15px}.capacity-panel .panel-body{padding:15px 0}.capacity-panel form+form{border-top:1px solid var(--line-soft,#dce5ef);margin-top:25px;padding-top:16px}.capacity-table{min-width:900px;table-layout:fixed}.capacity-table th,.capacity-table td{padding:8px 5px;font-size:10px}.capacity-table input{width:100%;min-width:50px;border:1px solid var(--line-soft,#d5dfeb);border-radius:4px;padding:8px 4px;font:inherit;font-size:12px;text-align:center}.load-table{min-width:1110px;table-layout:fixed}.load-table th:first-child{width:160px;text-align:left;position:sticky;left:0;background:var(--surface-alt,#f4f8fc);z-index:1}.load-table td,.load-table th{padding:12px 6px;text-align:center;vertical-align:top;font-size:11px}.load-table th{font-size:10px}.load-table td strong{color:var(--accent-text,#1c3d7f);font-size:15px}.load-table .potential{font-size:10px;color:var(--text-detail,#54728a)}.load-table .load-over{background:var(--tint-danger,#fff0eb)}.load-table .load-over strong{color:var(--text-danger,#a64736)}.load-table .load-potential{background:var(--tint-warning,#fff9e9)}.load-detail{margin-top:5px;font-size:10px;overflow-wrap:anywhere}.load-detail summary{cursor:pointer;color:var(--text-detail,#5f738b)}.load-detail[open]{min-width:74px;line-height:1.5}.load-detail summary::marker{font-size:8px}.resource-filters select{max-width:290px}.new-time{margin:8px 0 25px}.new-time th:nth-child(2){width:28%}.new-time th:nth-child(4){width:24%}
@media(max-width:800px){.resource-filters label{flex:1;min-width:135px}.resource-filters button{width:100%}.capacity-panel{padding:18px}.project-shortcuts{flex-wrap:wrap}.project-shortcuts button{flex:1}.load-table th:first-child{width:135px}.schedule-table{min-width:680px}.time-table{min-width:850px}}
.gantt-compact{width:100%;min-width:0}.gantt-calendar{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:0;font-size:9px;color:var(--text-detail,#61758b);border-bottom:1px solid var(--line-soft,#dce5ef);padding:0 0 12px}.gantt-calendar span{white-space:nowrap}.gantt-phase{padding:12px 0;border-bottom:1px solid var(--line-soft,#edf1f6)}.gantt-phase-label{display:flex;gap:6px 15px;flex-wrap:wrap;justify-content:space-between;align-items:baseline;margin-bottom:6px;color:var(--accent-text,#1c3d7f);font-size:12px}.gantt-phase-label small{font-size:10px;color:var(--text-detail,#61758b)}.gantt-compact .phase-bar{display:block;width:100%;height:24px}.planning-links{margin-top:18px;flex-wrap:wrap}.planning-links button{font-size:11px;padding:8px 12px}
.planning-today-axis{display:block;height:30px;margin:8px 0 2px;min-width:0;width:100%}
.planning-today-label{fill:#9b3d21;font-size:10px;font-weight:700}
.planning-today-outside{font-size:11px;color:var(--text-detail,#785d53);margin:12px 0;line-height:1.6}
.planning-today-marker{pointer-events:none}.histogram-today{margin-left:35px}
.gantt-phase>.phase-bar{display:block;width:100%;max-width:100%}
@media(max-width:650px){.histogram-today{margin-left:28px}}
/* Day fields retain precise manual entry, with half-day arrow controls. */
.time-duration{position:relative;display:block;min-width:0}.time-duration input[type=number]{padding-right:34px;appearance:textfield;-moz-appearance:textfield}.time-duration input::-webkit-inner-spin-button,.time-duration input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.time-duration-arrows{position:absolute;right:1px;top:1px;bottom:1px;width:28px;display:flex;flex-direction:column;overflow:hidden;border-left:1px solid var(--line-soft,#d5dfeb);border-radius:0 4px 4px 0}.time-duration-arrows button{flex:1;min-height:0;width:100%;margin:0;padding:0;border:0;border-radius:0;line-height:1;font-size:13px;color:var(--accent-text,#1c3d7f);background:var(--surface-alt,#f4f8fc);box-shadow:none}.time-duration-arrows button+button{border-top:1px solid var(--line-soft,#d5dfeb)}.time-duration-arrows button:hover{background:var(--tint-blue,#e2eef8)}.time-duration-arrows button:focus-visible{outline:2px solid #38a8e2;outline-offset:-2px}
/* Workload histograms: stacked people, hatched prospects, available capacity. */
.histogram{min-width:0}.histogram-unit{font-size:11px;color:var(--text-detail,#61758b);margin:0 0 4px}.histogram-plot{display:grid;grid-template-columns:35px repeat(12,minmax(0,1fr));align-items:start;width:100%;gap:0}.histogram-axis svg{display:block;height:214px}.histogram-bar{display:block;width:100%;padding:0!important;border:0!important;border-radius:0;background:transparent!important;box-shadow:none!important;cursor:pointer}.histogram-bar svg{display:block;width:100%;height:214px}.histogram-bar:hover{background:var(--tint-blue,#f0f6fc)!important}.histogram-bar:focus-visible{outline:2px solid #38a8e2;outline-offset:-2px}.histogram-bar[aria-expanded=true]{background:var(--tint-blue,#e9f3fa)!important}.histogram-bar.histogram-over{background:var(--tint-danger,#fff3ee)!important}.histogram-bar.histogram-potential{background:var(--tint-warning,#fffbed)!important}.histogram-column{min-width:0;text-align:center}.histogram-value{font-size:12px;font-weight:700;color:var(--accent-text,#1c3d7f);min-height:36px;line-height:1.5;padding:3px 0}.histogram-value small{display:block;font-size:10px;font-weight:500;color:var(--text-detail,#5e7a92)}.histogram-value.overload{color:var(--text-danger,#a24a3c)}.histogram-period{font-size:10px;line-height:1.5;color:var(--text-detail,#5a7087);overflow-wrap:normal}.histogram-legend{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin-top:18px;font-size:11px;color:var(--text-detail,#4d647f)}.histogram-legend span{display:inline-flex;gap:6px;align-items:center}.histogram-legend .hatch-key:before{content:'';width:12px;height:12px;background:repeating-linear-gradient(45deg,var(--tint-blue,#edf5fb),var(--tint-blue,#edf5fb) 3px,#6886a4 3px,#6886a4 4px);border:1px solid var(--line-soft,#bccbdd);border-radius:2px}.histogram-legend .capacity-key:before{content:'';width:22px;border-top:2px dashed #a34b41}.histogram-hint{font-size:11px;color:var(--text-detail,#60748b);margin-top:15px}.histogram-detail{background:var(--surface-alt,#f5f9fc);border:1px solid var(--line-soft,#dae5ef);border-radius:7px;padding:16px;margin-top:15px}.histogram-detail h3{margin:0 0 8px;font-size:16px;color:var(--accent-text,#1c3d7f)}.histogram-detail p{font-size:12px;line-height:1.7}.histogram-detail table{min-width:440px;font-size:12px}.histogram-detail td,.histogram-detail th{padding:11px 8px}.workload-disclosure>summary{padding:22px 25px;cursor:pointer;color:var(--accent-text,#1c3d7f);font-weight:600;font-size:14px;line-height:1.6}.workload-disclosure[open]>summary{border-bottom:1px solid var(--line-soft,#dce5ef)}.person-histogram+ .person-histogram{border-top:1px solid var(--line-soft,#dce5ef);margin-top:26px;padding-top:18px}.person-histogram h3{color:var(--accent-text,#1c3d7f);font-size:17px}.load-histogram-panel>.panel-body>p.subtle{margin-bottom:0}
@media(max-width:650px){.histogram-plot{grid-template-columns:28px repeat(12,minmax(0,1fr))}.histogram-axis svg{width:28px}.histogram-period{font-size:8px}.histogram-value{font-size:10px}.histogram-value small{font-size:8px}.histogram-legend{gap:10px 13px}.workload-disclosure>summary{padding:18px 20px}.histogram-detail{padding:12px}.histogram-bar svg,.histogram-axis svg{height:190px}.histogram-period{word-break:normal}}
@media(max-width:480px){.histogram-column:nth-child(odd) .histogram-period{visibility:hidden}}
.gantt-project+.gantt-project{margin-top:28px}.gantt-project-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:22px 0 16px}.gantt-project-heading h3{font-size:14px;margin:0 0 5px;overflow-wrap:anywhere}.gantt-project-heading small{color:var(--text-detail,#61758b);font-size:11px}.gantt-project-heading button{font-size:11px;padding:8px 12px}.planning-legend{display:flex;flex-wrap:wrap;gap:12px 20px;color:var(--text-detail,#526886);font-size:11px;margin:18px 0}.planning-legend span{display:flex;align-items:center;gap:7px}.planning-legend i{display:inline-block;width:25px;height:11px;border-radius:3px}.planning-firm{background:var(--planning-fill);border:1px solid var(--planning-stroke)}.planning-prospect{background:var(--planning-potential-fill);border:1px dashed var(--planning-potential-stroke)}.planning-review{background:var(--planning-review-fill);border:1px dashed var(--planning-review-stroke)}.project-planning .panel-head{flex-wrap:wrap;gap:10px}.project-planning .gantt-calendar span{overflow:hidden;text-overflow:clip}
@media(max-width:480px){.project-planning .gantt-calendar span:nth-child(even){visibility:hidden}}
.service-table{min-width:1060px}.service-table th:first-child{width:22%}.service-table th:nth-child(2){width:18%}.service-table th:nth-child(3){width:12%}.service-table th:nth-child(4),.service-table th:nth-child(5){width:7%}.service-table th:nth-child(6){width:9%}.service-table th:nth-child(7){width:11%}.service-table th:nth-child(8){width:14%}.budget-currencies{font-size:20px!important;overflow-wrap:anywhere}.budget-euros{display:flex;flex-wrap:wrap;gap:12px 24px;padding:16px;background:var(--tint-blue,#eff6fb);border-radius:6px;color:var(--accent-text,#1c3d7f);margin:18px 0}.budget-fx-table{min-width:670px;table-layout:fixed}.budget-fx-table input{width:100%;min-width:0;font:inherit;font-size:12px;padding:9px;border:1px solid var(--line-soft,#d5dfeb);border-radius:5px;color:var(--text-strong,#303846)}.budget-fx-table th:first-child{width:16%}.budget-fx-table small{display:block;font-size:10px;color:var(--text-detail,#526886)}.budget-panel .panel-head{flex-wrap:wrap;gap:10px}

/* Financial schedule and allocation cells retain native monetary units. */
.financial-scroll{border:1px solid var(--line-soft,#dce5ef);border-radius:6px;margin:14px 0}.milestone-table{min-width:950px;table-layout:fixed}.milestone-table th:nth-child(1){width:18%}.milestone-table th:nth-child(2){width:27%}.milestone-table th:nth-child(3){width:18%}.milestone-table th:nth-child(4){width:15%}.milestone-table th:nth-child(5){width:17%}.milestone-table th:last-child{width:5%}.milestone-table td,.allocation-table td{padding:10px 7px;vertical-align:top}.milestone-table input,.milestone-table textarea,.allocation-table input{width:100%;min-width:0;padding:8px 5px;font:inherit;font-size:12px;color:var(--text-strong,#303846);background:var(--surface,#fff);border:1px solid var(--line-soft,#d5dfeb);border-radius:4px}.milestone-table textarea{resize:vertical}.milestone-table input:disabled,.milestone-table textarea:disabled,.allocation-table input:disabled{background:var(--surface-alt,#f6f9fc);color:var(--text-strong,#303846);opacity:1}.allocation-table{min-width:700px;width:max-content;max-width:none}.allocation-table td,.allocation-table th{min-width:140px;max-width:230px}.allocation-table td:first-child{min-width:230px}.allocation-table input{width:125px;text-align:right}.allocation-table button{font-size:11px;padding:7px}.financial-total{font-weight:600;color:var(--accent-text,#1c3d7f);background:var(--tint-blue,#eef5fb);padding:16px;border-radius:5px;line-height:1.7}.allocation-table small,.milestone-table small,.project-milestones small{display:block;font-size:11px;color:var(--text-detail,#64778d);line-height:1.5;margin-top:6px}.project-milestones{min-width:690px}.project-milestones td{vertical-align:top}#financial-plan-section .panel-head{flex-wrap:wrap;gap:10px}#financial-plan-section .toolbar{flex-wrap:wrap}#financial-plan-section .toolbar small{flex:1;min-width:180px}#financial-plan-section input:focus,#financial-plan-section textarea:focus{outline:2px solid #38a8e233;border-color:#38a8e2}

.milestone-table{min-width:850px}.milestone-table th:nth-child(1){width:23%}.milestone-table th:nth-child(2){width:14%}.milestone-table th:nth-child(3){width:23%}.milestone-table th:nth-child(4){width:18%}.milestone-table th:nth-child(5){width:18%}.milestone-table th:nth-child(6){width:4%}
.milestone-table.milestone-readonly th{width:auto}.milestone-table.milestone-readonly th:first-child{width:27%}.milestone-table.milestone-readonly th:last-child{width:18%}
.milestone-table select{width:100%;min-width:0;font:inherit;font-size:12px;padding:8px 5px;color:var(--text-strong,#303846);background:var(--surface,#fff);border:1px solid var(--line-soft,#d5dfeb);border-radius:4px}.milestone-table [data-milestone-field=client_amount]{text-align:right;font-weight:700}
.milestone-percentage{font-size:11px;margin-top:8px}.milestone-percentage label{display:block;margin-top:8px}
.invoice-stats{margin:18px 0}.invoice-editor{border-top:2px solid #38a8e2;margin-top:28px;padding-top:18px;scroll-margin-top:20px}.invoice-scroll{margin:18px 0}.invoice-lines-table{min-width:680px}.invoice-lines-table th:first-child{width:40%}.invoice-lines-table th:nth-child(2){width:25%}.invoice-lines-table th:nth-child(3){width:15%}.invoice-lines-table th:nth-child(4){width:20%}.invoice-lines-table input[type=number]{width:100%;min-width:90px}.invoice-condition{display:flex;align-items:center;gap:8px}.invoice-condition input[type=checkbox]{width:18px;min-width:18px;height:18px}.invoice-totals{display:flex;flex-wrap:wrap;gap:24px;padding:18px;background:var(--surface-alt,#f4f8fc)}.invoice-totals strong{display:block;color:var(--accent-text,#1c3d7f)}.invoice-editor details{margin-top:16px}.invoice-editor details>label{max-width:600px;margin:12px 0}.invoice-editor .actions{margin:16px 0}.invoice-editor .button-link{display:inline-flex;align-items:center;padding:10px 14px;border:1px solid var(--line-soft,#d1d1d1);border-radius:7px;text-decoration:none}.invoice-editor .button-link[hidden]{display:none}.invoice-editor textarea{width:100%}
.invoice-price-revision label{display:block;margin:10px 0 0;font-size:.88rem}.invoice-price-revision input[type=text]{display:block;width:100%;margin-top:5px;padding:10px;border:1px solid var(--line-soft,#d1dbe7);border-radius:5px;font:inherit;background:var(--surface,#fff);color:var(--text,#203249)}.invoice-price-revision summary{font-size:.88rem}

#client-invoices-content td small{display:block;margin-top:4px;color:var(--text-detail,#67768d)}.invoice-lines-table input[type=number]{padding:10px;border:1px solid var(--line-soft,#d1dbe7);border-radius:5px;font:inherit;background:var(--surface,#fff)}.invoice-lines-table input:disabled{background:var(--surface-alt,#f4f8fc);color:var(--text-detail,#516583)}.invoice-editor .toolbar h3{margin:0}

/* Imported history uses the same brand and remains visibly distinct from live contracts. */
.history-panel{margin-bottom:24px}.history-panel td{vertical-align:top}.history-panel small{display:block;margin-top:5px}.history-panel .panel-body li{margin:9px 0}.history-panel [hidden]{display:none}.history-details>summary{padding:20px 24px;cursor:pointer;font-weight:600;color:var(--accent-text,var(--brand-blue))}.history-details>summary:focus-visible{outline:2px solid var(--brand-blue);outline-offset:-3px}
.history-source{padding:20px;margin-bottom:18px}.history-source>summary,.history-version>summary{cursor:pointer;font-weight:700;color:var(--accent-text,var(--brand-blue));padding:8px 0}.history-version{border-top:1px solid var(--border);padding:12px 0}
.source-fields{margin:12px 0;overflow-wrap:anywhere}.source-fields>div{display:grid;grid-template-columns:minmax(110px,24%) minmax(0,1fr);gap:16px;padding:8px 0;border-bottom:1px solid var(--line-soft,#edf0f4)}.source-fields dt{color:var(--muted)}.source-fields dd{margin:0;min-width:0}.source-value{white-space:pre-wrap}.source-fields summary{cursor:pointer;color:var(--accent-text,var(--brand-blue))}
.button-link{display:inline-block;padding:8px 12px;border:1px solid var(--border);border-radius:8px;text-decoration:none;color:var(--accent-text,var(--brand-blue));white-space:nowrap}#history-document-search{display:block;margin-top:10px;max-width:600px;width:100%}
@media(max-width:700px){.source-fields>div{display:block}.source-fields dt{font-weight:700;margin-bottom:5px}.history-source{padding:12px}}

.history-mission{display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:540px;line-height:1.5}

.recovery-contracts{display:flex;flex-wrap:wrap;gap:16px;margin:20px 0}.recovery-contracts>div{flex:1;min-width:240px;padding:18px 22px;background:var(--tint-blue,#edf5fa);border-left:3px solid #38a8e2;border-radius:5px}.recovery-contracts small{display:block;margin-top:8px;color:var(--text-detail,#526886)}
#recovery-form fieldset{border:0;padding:0;margin:0;min-width:0}.recovery-table{min-width:900px;table-layout:fixed}.recovery-table th:first-child{width:25%}.recovery-table th:nth-child(2){width:22%}.recovery-table th:nth-child(3){width:14%}.recovery-table th:nth-child(4){width:9%}.recovery-table th:nth-child(5){width:11%}.recovery-table th:last-child{width:19%}.recovery-table td{vertical-align:top;padding:12px 8px}.recovery-table small{display:block;font-size:11px;color:var(--text-detail,#62768d);margin:6px 0}.recovery-table input,.recovery-table select{width:100%;min-width:0;padding:10px 7px;border:1px solid var(--line-soft,#cbd8e5);border-radius:4px;font:inherit;font-size:12px;color:var(--text-strong,#25364c);background:var(--surface,#fff)}.recovery-table [name=supplier_id]{margin-top:6px}.recovery-fee{display:flex;gap:5px}.recovery-fee select{width:68px;flex-shrink:0}.recovery-origins{display:flex;gap:10px 24px;flex-wrap:wrap;color:var(--text-detail,#526886)}.recovery-origins small{font-size:11px}.recovery-dates{margin-top:16px;align-items:end;flex-wrap:wrap}.recovery-dates label,.recovery-bulk label{display:flex;flex-direction:column;gap:6px;font-size:12px}.recovery-dates input,.recovery-dates select,.recovery-bulk select{padding:9px;border:1px solid var(--line-soft,#cbd8e5);border-radius:5px;background:var(--surface,white);color:var(--text-strong,#25364c)}.recovery-bulk{margin-top:20px}.recovery-bulk summary,.recovery-company summary{cursor:pointer;color:var(--accent-text,#1c3d7f);font-weight:600}.recovery-save{position:sticky;bottom:0;z-index:5;background:var(--surface,#fff);border-top:3px solid #38a8e2;box-shadow:0 -3px 18px #1c3d7f15;padding:16px 20px;display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap;margin-bottom:26px}.recovery-save>span{font-size:12px;color:var(--text-detail,#526886)}.recovery-save .actions{margin:0}.recovery-phase .panel-head{flex-wrap:wrap;gap:10px}.recovery-company{margin-bottom:40px}.recovery-table input:focus,.recovery-table select:focus{outline:2px solid #38a8e24d;border-color:#38a8e2}.recovery-table input:placeholder-shown{background:var(--surface-alt,#fbfdff)}.recovery-phase [disabled]{opacity:1;color:var(--text-detail,#526886)}

.planning-reconciliation{margin:24px 0}.planning-reconciliation>summary{padding:20px 24px;cursor:pointer;font-weight:600;color:var(--accent-text,#1c3d7f)}.planning-reconciliation td{vertical-align:top}.planning-reconciliation small{display:block;color:var(--text-detail,#62768d);font-size:11px;margin-top:5px}.planning-reconciliation td details>summary{cursor:pointer;color:var(--accent-text,#1c3d7f)}.planning-reconciliation table{min-width:750px}.planning-reconciliation details table{margin-top:15px;font-size:12px}
.reconciliation{margin-top:24px}.reconciliation-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:24px}.reconciliation-cards .stat{min-width:0}.reconciliation-cards .stat strong{font-size:23px;white-space:normal}.reconciliation-table{min-width:800px}.reconciliation-table td,.reconciliation-table th{vertical-align:top}.reconciliation-table th[scope=row]{background:var(--surface-alt,#f5f9fc);min-width:95px;color:var(--accent-text,#1c3d7f);text-transform:none}.reconciliation-table small{display:block;font-weight:400;line-height:1.5;font-size:11px;color:var(--text-detail,#526886);margin-top:6px;letter-spacing:normal;text-transform:none}.reconciliation-table button{white-space:nowrap}.reconciliation-alert{color:var(--text-warning,#865a1a)!important}#supplier-closing{margin:22px 0;align-items:end;flex-wrap:wrap}#supplier-closing label{display:flex;flex-direction:column;gap:8px;font-size:13px}#supplier-closing input{padding:10px;border:1px solid var(--line-soft,#cbd8e5);border-radius:5px;background:var(--surface,#fff);color:var(--text-strong,#25364c)}@media(max-width:1100px){.reconciliation-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.reconciliation-cards{grid-template-columns:1fr}}
#supplier-agreements input,#supplier-agreements select,#supplier-agreements textarea{display:block;width:100%;min-width:105px;margin:5px 0;padding:9px 6px;border:1px solid var(--line-soft,#cbd8e5);border-radius:4px;background:var(--surface,#fff);font:inherit;font-size:12px;color:var(--text-strong,#25364c)}#supplier-agreements [name=scope]{min-width:155px}#supplier-agreements textarea{min-width:160px;resize:vertical}
.payment-table{min-width:750px}.payment-table td,.payment-table th{vertical-align:top}.payment-table small{display:block;font-size:11px;color:var(--text-detail,#526886);line-height:1.5;margin-top:5px}.payment-table th[scope=row]{font-weight:600;letter-spacing:normal;text-transform:none}.payment-table input{width:135px}#client-payments-section .panel-head{flex-wrap:wrap;gap:10px}.payment-editor{margin-top:24px;padding:20px;border:1px solid var(--line-soft,#cbd8e5);border-top:3px solid #38a8e2;border-radius:5px;background:var(--surface-alt,#fbfdff)}.payment-editor .form-grid{margin:20px 0}.payment-editor input,.payment-editor select,.payment-editor textarea{display:block;width:100%;min-width:0;margin-top:7px;padding:10px 8px;border:1px solid var(--line-soft,#cbd8e5);border-radius:5px;background:var(--surface,#fff);font:inherit;color:var(--text-strong,#25364c)}.payment-editor input[readonly]{background:var(--tint-neutral,#edf3f8)}.payment-editor .payment-table input{min-width:100px}.payment-editor label{font-size:12px;color:var(--text-detail,#526886)}.payment-bank-net{padding:12px;border-radius:5px;background:var(--tint-blue,#eaf4fa);font-size:12px;color:var(--text-detail,#526886)}.payment-bank-net strong{display:block;margin-top:10px;font-size:18px;color:var(--accent-text,#1c3d7f)}.payment-editor details{margin-top:20px}.payment-editor summary,#client-payments-content>details>summary{cursor:pointer;font-weight:600;color:var(--accent-text,#1c3d7f)}.payment-editor .toolbar{display:flex;justify-content:space-between;gap:15px}.payment-stats .stat strong{font-size:23px}.payment-scroll{margin:14px 0}.payment-editor .actions{flex-wrap:wrap}#client-payments-content>h3{margin-top:28px}
.company-table{min-width:850px}.company-table td,.company-table th{vertical-align:top}.company-table th[scope=row]{text-transform:none;letter-spacing:normal;min-width:110px}.company-table small{display:block;max-width:220px;font-size:11px;font-weight:400;line-height:1.5;color:var(--text-detail,#526886);margin-top:6px}.company-scroll{margin:20px 0}.company-alert{display:block;font-size:12px;color:var(--text-warning,#8b5415);margin-top:8px}.supplier-editor{margin:28px 0;padding:22px;border:1px solid var(--line-soft,#cbd8e5);border-top:3px solid #38a8e2;border-radius:6px;background:var(--surface-alt,#fbfdff)}.supplier-editor .toolbar{display:flex;gap:15px;justify-content:space-between}.supplier-editor label,#billing-profile-content label{display:block;font-size:12px;color:var(--text-detail,#526886)}.supplier-editor input,.supplier-editor textarea,#billing-profile-content input,#billing-profile-content textarea,#supplier-selection input{display:block;min-width:0;width:100%;font:inherit;color:var(--text-strong,#25364c);border:1px solid var(--line-soft,#cbd8e5);border-radius:5px;padding:10px;margin:7px 0;background:var(--surface,#fff)}.supplier-editor input:disabled,.supplier-editor textarea:disabled{background:var(--tint-neutral,#f2f6f9)}.supplier-editor textarea{min-height:75px;resize:vertical}.company-table input{min-width:110px}.company-check{display:flex!important;align-items:flex-start;gap:10px;margin:20px 0;line-height:1.6}.company-check input{width:18px!important;height:18px;flex-shrink:0;margin:0!important}.supplier-editor details{margin:20px 0}.supplier-editor summary,#billing-profile-content summary,.company-table summary{cursor:pointer;color:var(--accent-text,#1c3d7f);font-weight:600}#billing-profile-content .form-grid{margin:22px 0}#production-account .panel-head{flex-wrap:wrap;gap:10px}#production-account .stats .stat{min-width:0}#production-account .stats strong{font-size:22px}#production-account .actions{flex-wrap:wrap}.supplier-editor h3{margin:0;overflow-wrap:anywhere}.company-table td{font-size:12px}#company-billing-content>h3{margin-top:30px}
.production-payment-journal td:nth-child(4){min-width:190px}.production-payment-journal td:last-child{width:190px}.production-payment-journal button{max-width:180px;white-space:normal;margin-bottom:8px}.supplier-editor select{display:block;width:100%;font:inherit;color:var(--text-strong,#25364c);border:1px solid var(--line-soft,#cbd8e5);border-radius:5px;padding:10px;margin:7px 0;background:var(--surface,#fff)}

/* Documentary project preparation uses the same compact tables and native currencies. */
#project-preparation .stat strong { font-size:clamp(1rem,2vw,1.5rem); }
#project-preparation .table-wrap { overflow-x:auto; }
#project-preparation table { min-width:650px; }
#project-preparation input[type=number] { min-width:90px; }
#project-preparation select { min-width:85px; }
#project-preparation .financial-scroll table { min-width:1100px; }
#project-preparation .financial-scroll th:first-child { min-width:200px; }

.catalog-table{min-width:900px;table-layout:fixed}.catalog-table th:first-child{width:26%}.catalog-table th:nth-child(2){width:17%}.catalog-table th:nth-child(3){width:12%}.catalog-table th:nth-child(4){width:16%}.catalog-table th:nth-child(5){width:16%}.catalog-table th:last-child{width:110px}.catalog-table td{vertical-align:top;overflow-wrap:anywhere}.catalog-table small{display:block;font-size:11px;color:var(--muted);margin-top:5px;line-height:1.5}.catalog-table .status{white-space:normal;line-height:1.5}.catalog-table button{white-space:nowrap;padding:9px 10px}

.budget-expense-link{display:block;text-align:left;border:0;padding:0;background:none;color:var(--accent-text,var(--brand-blue));font:inherit;cursor:pointer}.budget-expense-link:hover strong{text-decoration:underline}.budget-expense-link:focus-visible{outline:2px solid var(--brand-blue);outline-offset:4px;border-radius:3px}
.budget-filters{align-items:flex-end;margin-bottom:0}.budget-period-fields{display:flex;flex-wrap:wrap;gap:16px}.budget-period-fields label{min-width:150px}
.operating-budget-table{min-width:650px}.operating-budget-table th:first-child{width:35%}.operating-budget-table input{width:145px;max-width:100%;text-align:right;padding:10px;border:1px solid var(--border);border-radius:5px;font:inherit}.operating-budget-table small,.operating-expense-table small{display:block;font-size:11px;line-height:1.5;color:var(--muted);margin-top:5px}.budget-over{color:var(--text-danger,#a64736);font-weight:700}.operating-expense-table{min-width:860px}.operating-expense-table td{vertical-align:top}.operating-expense-table td:nth-child(2){max-width:350px;overflow-wrap:anywhere}#expense-editor{scroll-margin-top:20px}#budget-values>p{margin:0}#budget-values>.resource-filters{margin-bottom:0}#expense-editor .field{display:flex;flex-direction:column;gap:7px}#expense-editor [hidden]{display:none!important}

.receipt-button{font-size:12px;padding:8px 10px;white-space:normal}.receipt-missing{color:var(--text-danger,#944c2e);border-color:var(--line-soft,#dfbda9);background:var(--tint-warning,#fff9f4)}.receipt-dialog{width:min(800px,94vw);max-height:90vh;padding:0;border:1px solid var(--border);border-radius:12px;color:var(--text);background:var(--surface,white);box-shadow:0 18px 65px #17233b55}.receipt-dialog::backdrop{background:#17233b66}.receipt-dialog .panel-head{align-items:flex-start}.receipt-dialog .panel-head p{margin:8px 0 0;font-size:13px;line-height:1.5;overflow-wrap:anywhere}.receipt-dialog small{display:block;color:var(--muted);font-size:11px;line-height:1.6;margin-top:5px}.receipt-dialog form{display:grid;gap:12px}.receipt-dialog label{display:grid;gap:8px;font-size:13px}.receipt-dialog input:not([type=file]),.receipt-dialog select{width:100%;padding:10px;border:1px solid var(--border);border-radius:5px;font:inherit}.receipt-files{display:grid;gap:14px;margin-bottom:20px}.receipt-file{border:1px solid var(--border);border-radius:7px;padding:16px;overflow-wrap:anywhere}.receipt-file .actions{margin:12px 0}.receipt-file details{font-size:12px}.receipt-file form{margin-top:12px}.receipt-drop{border:2px dashed var(--line-soft,#afbdd5);border-radius:8px;padding:20px;background:var(--surface-alt,#f8faff)}.receipt-drop.drag-over{background:var(--tint-blue,#e7efff);border-color:#243e79}.receipt-drop input{max-width:100%;font:inherit}.receipt-dialog button[type=submit]{justify-self:start}.receipt-archive,.receipt-history{margin-top:22px}.receipt-archive form{margin-top:14px}.receipt-error{color:var(--text-danger,#a64736);font-size:13px}.receipt-dialog [role=status]{min-height:20px}.operating-expense-table{min-width:1000px}

.receipt-preview{margin:0;background:var(--tint-neutral,#edf0f6);color:var(--text-strong,#233251)}.receipt-preview>header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 4vw;background:var(--surface,white);border-bottom:1px solid var(--border)}.receipt-preview h1{font-size:21px;margin:8px 0;overflow-wrap:anywhere}.receipt-preview main{max-width:1300px;margin:20px auto;padding:0 20px}.receipt-preview nav{display:flex;justify-content:center;align-items:center;gap:20px;margin-bottom:20px}.receipt-preview nav[hidden]{display:none}.receipt-preview img{display:block;max-width:100%;height:auto;margin:0 auto;background:var(--surface,white);box-shadow:0 3px 20px #17233b20}.receipt-preview a{white-space:nowrap}

/* Entity finance overview: reuse the Almanta cards and table vocabulary. */
.finance-cards .stat strong{font-size:25px}.finance-summary td small,.finance-summary th small,.finance-issues small{display:block;font-size:11px;font-weight:400;line-height:1.55;color:var(--muted);margin-top:6px;text-transform:none;letter-spacing:normal}.finance-entity-table{min-width:830px}.finance-entity-table td,.finance-entity-table th{vertical-align:top}.finance-entity-table td strong{font-size:16px;color:var(--accent-text,var(--brand-blue))}.finance-note{margin:18px 24px;line-height:1.65}.finance-budget-table{min-width:1000px}.finance-budget-table td{vertical-align:top}.finance-budget-table td:first-child{min-width:230px}.finance-details>summary{padding:20px 24px;cursor:pointer;color:var(--accent-text,var(--brand-blue));font-weight:600}.finance-details .table-wrap{padding:0 24px 20px}.finance-details table{min-width:700px}.finance-issues{list-style:none;margin:0;padding:0 24px 20px}.finance-issues li{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid var(--line)}.finance-issues li>div{min-width:0;overflow-wrap:anywhere}.finance-issues button{flex-shrink:0}.finance-summary>.subtle{line-height:1.6}.finance-summary .panel-head{flex-wrap:wrap;gap:12px}@media(max-width:600px){.finance-issues li{align-items:flex-start;flex-direction:column}.finance-cards .stat strong{font-size:22px}}
/* Shared company directory and professional contacts. */
.account-form{display:grid;gap:18px;max-width:490px;margin-top:25px}.account-form label,.account-reauth{display:grid;gap:8px;font-size:14px}.account-form input,.account-reauth input{padding:12px;border:1px solid var(--border);border-radius:6px;font:inherit;width:100%;min-width:0}.account-form input:focus,.account-reauth input:focus{outline:2px solid var(--brand-blue);outline-offset:1px}.account-form small{color:var(--muted);line-height:1.6}.account-form button{justify-self:start}.account-reauth{max-width:650px;margin:20px 0}.account-table{min-width:660px}.account-table td{vertical-align:top}.account-table td small{display:block;color:var(--muted);font-size:12px;line-height:1.7;margin-top:6px}.account-table button{margin:0 8px 8px 0}#activation-link{font-size:12px}.profile #account-open{white-space:nowrap}
/* Production budgets share the time-consumption bars and existing project tabs. */
.budget-phase>summary{display:grid;grid-template-columns:minmax(200px,1fr) minmax(240px,1fr);gap:24px;padding:22px 24px;cursor:pointer;align-items:center;list-style:none}
.budget-phase>summary h3{margin:0 0 6px;color:var(--accent-text,var(--brand-blue));font-size:16px}.budget-phase>summary h3:before{content:'›';display:inline-block;margin-right:10px}.budget-phase[open]>summary h3:before{transform:rotate(90deg)}
.budget-phase>summary small,.budget-agreement small,.budget-person small{display:block;color:var(--muted);font-size:12px;line-height:1.6}
.budget-phase[open]>summary{border-bottom:1px solid var(--border)}.budget-phase>summary:focus-visible{outline:2px solid var(--brand-blue);outline-offset:-3px}
.budget-people{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin:0 0 22px}.budget-person{padding:14px;background:var(--surface-alt,#f5f8fc);border:1px solid var(--border);border-radius:8px}.budget-person>div:first-child{margin-bottom:10px}
.budget-agreements{display:grid;gap:12px;margin-top:22px}.budget-agreement{border-left:3px solid var(--brand-blue);padding:8px 16px;background:var(--surface-alt,#f5f8fc)}.budget-agreement p{font-size:13px;line-height:1.8;margin:8px 0}
.production-budget-table{min-width:850px;table-layout:fixed}.production-budget-table th:first-child{width:29%}.production-budget-table td{vertical-align:top;overflow-wrap:anywhere}.production-budget-table small{display:block;font-size:11px;line-height:1.6;color:var(--muted);margin-top:5px}.production-budget-table small.overload{color:var(--text-danger,#a64736)}.production-budget-table input{width:100%;min-width:85px;padding:10px 7px;border:1px solid var(--border);border-radius:5px;background:var(--surface,white);text-align:right;font:inherit}.production-budget-table input:focus{outline:2px solid var(--brand-blue);outline-offset:1px}.production-budget-table caption{text-align:left;font-size:12px;color:var(--muted);margin-bottom:12px}
.budget-save{position:sticky;bottom:0;z-index:3;box-shadow:0 -4px 18px #17233b10}.budget-save label{display:grid;gap:7px;font-size:13px}.budget-save input{width:100%;padding:10px;border:1px solid var(--border);border-radius:5px;font:inherit}.budget-save .toolbar{margin-top:12px;gap:15px;flex-wrap:wrap}.budget-save button{flex-shrink:0}
@media(max-width:680px){.budget-phase>summary{grid-template-columns:1fr;padding:18px;gap:14px}.budget-save{position:static}.budget-people{grid-template-columns:1fr}}
.directory-search{display:grid;gap:8px;padding:18px 25px;border-bottom:1px solid var(--border)}
.directory-search label{font-size:13px;color:var(--muted)}
.directory-search input{width:100%;max-width:550px;padding:11px 13px;font:inherit;border:1px solid var(--border);border-radius:6px}
.directory-search small,.directory-panel td small{display:block;color:var(--muted);font-size:12px;line-height:1.6;margin-top:5px}
.directory-panel td{vertical-align:top;line-height:1.7}.directory-panel a,.directory-contact a{overflow-wrap:anywhere}
.directory-panel table{min-width:760px}.directory-panel [hidden]{display:none}
.client-dialog{width:min(920px,94vw)}.client-dialog .company-contacts{margin-top:22px}
.company-contacts .toolbar{display:flex;gap:15px;justify-content:space-between;align-items:center;flex-wrap:wrap}
.company-contacts .toolbar h3{margin:0}.company-contacts>p{font-size:13px;line-height:1.6}
.directory-contact{min-width:0;margin:18px 0;padding:18px;border:1px solid var(--border);border-radius:8px;background:var(--surface-alt,#f8faff)}
.directory-contact legend{padding:0 6px;font-size:13px;color:var(--accent-text,var(--brand-blue))}.directory-contact h3{margin:0}.directory-contact p{font-size:13px;line-height:1.7}
.client-dialog .contact-choices{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin-top:16px}
.client-dialog .contact-choices label,.client-dialog .contact-billing-default{display:flex;align-items:center;gap:8px;line-height:1.5}
.client-dialog input[type=radio]{width:17px;height:17px;margin:0;flex-shrink:0;accent-color:var(--brand-blue)}
.client-dialog .contact-choices button{margin-left:auto;font-size:12px}.client-dialog .actions{flex-wrap:wrap}
@media(max-width:600px){.directory-search{padding:18px}.client-dialog .panel-body,.client-dialog .panel-head{padding:18px}.client-dialog .contact-choices{align-items:flex-start;flex-direction:column}.client-dialog .contact-choices button{margin-left:0}.directory-contact{padding:14px}.client-dialog .form-grid{gap:14px}}
.storage-documents{padding:0;margin:12px 0;list-style:none}.storage-document{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 0;border-bottom:1px solid var(--line,#dce3e8)}.storage-document small{display:block;margin-top:6px;overflow-wrap:anywhere}.storage-document .actions{flex-shrink:0}@media(max-width:650px){.storage-document{align-items:flex-start;flex-direction:column}}

/* Shared project timeline: one collapsed row per affair, with aligned phase windows. */
.overview-scroll{--planning-label-width:220px;overflow:auto;max-height:70vh;isolation:isolate;border:1px solid var(--line-soft,#dce5ef);border-radius:8px;background:var(--surface,white);scrollbar-gutter:stable}.overview-scroll:focus-visible{outline:2px solid #38a8e2;outline-offset:2px}.overview-table{min-width:840px}.overview-row{display:grid;grid-template-columns:var(--planning-label-width) minmax(0,1fr);align-items:stretch}.overview-header{position:sticky;top:0;z-index:5;background:var(--surface-alt,#f4f8fc);border-bottom:1px solid var(--line-soft,#c9d8e7)}.overview-label{position:sticky;left:0;z-index:4;padding:14px 12px;background:var(--surface,white);border-right:1px solid var(--line-soft,#dce5ef);min-width:0;display:flex;flex-direction:column;justify-content:center;gap:5px}.overview-label strong{font-size:12px;color:var(--accent-text,#1c3d7f);line-height:1.5;overflow-wrap:anywhere}.overview-label small{font-size:11px;line-height:1.6;color:var(--text-detail,#61758b)}.overview-header>.overview-label{background:var(--surface-alt,#f4f8fc)}.overview-calendar{min-width:0}.overview-months{display:block;width:100%;height:34px}.overview-months text{font:600 11px var(--font-body);fill:var(--text-detail,#526886)}.overview-months line{stroke:var(--line-soft,#dce5ef)}.overview-calendar .planning-today-axis{margin:0;height:28px}.overview-calendar .planning-today-outside{margin:0;padding:5px 10px;min-height:28px}.overview-body{position:relative}.overview-project{border-bottom:1px solid var(--line-soft,#dce5ef)}.overview-project:last-of-type{border-bottom:0}.overview-project>summary{cursor:pointer;list-style:none}.overview-project>summary::-webkit-details-marker{display:none}.overview-project>summary:hover .overview-label,.overview-project>summary:hover .overview-track{background:var(--surface-alt,#f6faff)}.overview-project>summary:focus-visible{outline:2px solid #38a8e2;outline-offset:-2px}.overview-chevron{display:inline-block;width:14px;font-size:18px;line-height:12px;transition:transform .15s}.overview-project[open]>summary .overview-chevron{transform:rotate(90deg)}.overview-project[open]>summary{border-bottom:1px solid var(--line-soft,#e1e8f0)}.overview-track{position:relative;display:flex;align-items:center;min-width:0}.overview-grid{position:absolute;inset:0;pointer-events:none}.overview-bars{position:relative;display:block;width:100%;overflow:hidden}.overview-grid{opacity:.5}.overview-today{position:absolute;top:0;bottom:0;left:var(--planning-label-width);right:0;z-index:3;pointer-events:none}.overview-today>svg{display:block}.overview-expanded{background:var(--surface-alt,#fafcfe)}.overview-expanded .overview-label{background:var(--surface-alt,#fafcfe)}.overview-phase{border-top:1px solid var(--line-soft,#edf1f6)}.overview-phase .overview-label{padding-left:26px}.overview-actions button{font-size:11px;padding:7px 10px;align-self:flex-start}.overview-actions>p{font-size:11px;color:var(--text-detail,#61758b);margin:0;padding:14px 12px}.overview-undated{margin-top:16px;border:1px solid var(--line-soft,#dce5ef);border-radius:7px}.overview-undated>summary{padding:14px;cursor:pointer;font-size:12px;font-weight:600;color:var(--accent-text,#1c3d7f)}.overview-undated>div{display:flex;gap:15px;align-items:center;justify-content:space-between;padding:12px 14px;border-top:1px solid var(--line-soft,#edf1f6)}.overview-undated p{margin:0;font-size:12px;line-height:1.5}.overview-undated small{display:block;margin-top:5px;color:var(--text-detail,#61758b)}.overview-undated button{flex-shrink:0;font-size:11px;padding:8px 10px}@media(max-width:650px){.overview-scroll{--planning-label-width:170px;max-height:65vh}.overview-table{min-width:820px}.overview-label{padding:10px 8px}.overview-label strong{font-size:11px}.overview-phase .overview-label{padding-left:16px}.overview-undated>div{align-items:flex-start;flex-direction:column}}
.expense-entry-grid{display:grid;grid-template-columns:minmax(200px,0.7fr) minmax(0,2fr);gap:28px;align-items:start}
.expense-entry h3{margin:0 0 16px;font-size:16px;color:var(--navy,#1c3d7f)}
.expense-receipt-section{padding:20px;background:var(--surface-alt,#f4f8fc);border:1px solid var(--border);border-radius:8px;min-width:0}
.expense-receipt-section .receipt-drop{display:flex;flex-direction:column;gap:12px;padding:18px;border:1px dashed #91adc6;border-radius:7px;min-width:0;background:var(--surface,white);font-size:13px}
.expense-receipt-section .receipt-drop.drag-over{border-color:var(--accent-text,#1c3d7f);background:var(--tint-blue,#e9f5fc)}
.expense-receipt-section input[type=file]{max-width:100%;min-width:0;font-size:12px}
.expense-receipt-section small{line-height:1.7;color:var(--muted)}
.expense-receipt-section p{font-size:12px;line-height:1.7;overflow-wrap:anywhere}
.expense-existing-receipts{border-top:1px solid var(--border);margin-top:20px;padding-top:8px}
.expense-entry-fields{min-width:0}.expense-entry-fields>section+section{margin-top:26px;border-top:1px solid var(--border);padding-top:24px}
.expense-target-kind{display:flex;flex-wrap:wrap;gap:12px 20px;border:0;padding:0;margin:0 0 16px}
.expense-target-kind legend{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.expense-target-kind label{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer}
.expense-target-kind input{accent-color:#1c3d7f;width:18px;height:18px;margin:0}
.expense-entry .subtle{font-size:12px;line-height:1.7}.expense-entry #operating-fx{margin:20px 0;padding:18px;background:var(--surface-alt,#f4f8fc);border-radius:6px}
.expense-entry .wide{grid-column:1/-1}.expense-entry textarea{width:100%;padding:10px;border:1px solid var(--field-border,#858f9e);border-radius:6px;font:inherit;resize:vertical}
.expense-entry-footer{border-top:1px solid var(--border);margin-top:24px;padding-top:10px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.expense-entry-footer .actions{flex-shrink:0;flex-wrap:wrap}.expense-entry-footer p{line-height:1.6;font-size:13px}
.expense-saved{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px;margin:0 0 24px;border:1px solid var(--field-border,#91bea9);border-left:4px solid #3d8564;background:var(--tint-success,#f3faf6);border-radius:7px}
.expense-saved p{margin:8px 0;font-size:13px;overflow-wrap:anywhere}.expense-saved small{font-size:12px;color:var(--muted)}.expense-saved .actions{flex-wrap:wrap}
@media(max-width:1100px){.expense-entry-grid{grid-template-columns:1fr}.expense-entry-footer{align-items:stretch;flex-direction:column}.expense-entry-footer .actions{justify-content:flex-end}.expense-saved{align-items:stretch;flex-direction:column}}
@media(max-width:600px){.expense-entry.panel-body{padding:18px}.expense-entry .form-grid{grid-template-columns:1fr;gap:16px}.expense-receipt-section{padding:14px}.expense-entry-footer .actions{flex-direction:column;align-items:stretch}.expense-saved{padding:18px}.expense-saved .actions{align-items:stretch;flex-direction:column}}

/* Personal expenses share the journal typography without overflowing each row. */
.claim-table{min-width:1000px;width:100%;}
.claim-table th,.claim-table td{padding:14px 12px;}
.claim-table td small{display:block;margin-top:5px;line-height:1.5;}
.claim-table td:first-child{white-space:nowrap;min-width:112px;}
.claim-table td:nth-child(2){min-width:165px;}
.claim-table td:nth-child(3){white-space:nowrap;}
.claim-table .actions{flex-direction:column;align-items:stretch;gap:6px;min-width:90px;}
.claim-table .tag{white-space:normal;max-width:145px;}
.claim-stats strong{font-size:clamp(17px,1.65vw,25px);line-height:1.45;overflow-wrap:anywhere;}
.claim-payments>summary{padding:20px;cursor:pointer;}
.claim-payments td small{display:block;}

/* Personal financial overview: separate company income and personal reimbursements. */
.personal-intro{margin:0 0 22px;font-size:13px;color:var(--muted);line-height:1.7}
.personal-company .panel-head,.personal-expenses .panel-head{flex-wrap:wrap}
.personal-company .panel-head small,.personal-expenses .panel-head small{display:block;color:var(--muted);font-size:12px;margin-bottom:6px}
.personal-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:20px}
.personal-metric{min-width:0;padding:18px;border:1px solid var(--border);border-radius:8px;background:var(--surface-alt,#f6f9fd)}
.personal-metric>span{font-size:12px;font-weight:600;color:var(--muted);display:block}
.personal-metric>strong{display:block;margin:10px 0;color:var(--accent-text,var(--brand-blue));font-size:clamp(20px,2vw,29px);line-height:1.4;overflow-wrap:anywhere}
.personal-metric>strong>span{display:block}
.expense-balance.is-negative>strong,.personal-breakdown>summary>strong.expense-balance-negative,.personal-calculation .expense-balance-negative{color:var(--text-danger,var(--error))}
.personal-metric>small{display:block;color:var(--muted);font-size:11px;line-height:1.6}
.personal-secondary{display:flex;flex-wrap:wrap;gap:8px 30px;margin:0 0 18px;padding-top:4px;font-size:12px;color:var(--muted)}
.personal-secondary p{margin:0;line-height:1.7}.personal-secondary strong>span+span:before{content:' / '}
.personal-company .actions{flex-wrap:wrap}.personal-company .button-link,.personal-expenses .button-link,.personal-bottom .button-link{white-space:normal;font-size:12px;line-height:1.5}
.personal-metric-value{border:0;background:transparent;padding:0;color:inherit;font:inherit;font-weight:inherit;text-align:left;cursor:pointer;display:flex;align-items:center;gap:12px;width:100%;border-radius:3px;line-height:inherit}
.personal-metric-value:hover{background:transparent;color:var(--accent-text,var(--brand-blue));text-decoration:underline;text-underline-offset:5px}
.personal-metric-value>span{font-size:16px;margin-left:auto;opacity:.7;flex-shrink:0}
.personal-metric-value:focus-visible,.personal-breakdown>summary:focus-visible{outline:3px solid #38a8e2;outline-offset:4px}
.personal-compact .panel-head{border-bottom:0;align-items:center}.personal-compact p{margin:8px 0 0;font-size:12px;line-height:1.6;max-width:70ch}
.personal-breakdown{margin:16px 0;border-top:1px solid var(--border);padding-top:16px;font-size:13px;line-height:1.6}
.personal-breakdown>summary{cursor:pointer;color:var(--accent-text,var(--brand-blue))}.personal-breakdown>summary>strong{display:inline-block;margin-left:18px;font-size:13px}.personal-breakdown[open]>.personal-metrics{margin-top:16px}
.personal-calculation{max-width:600px;margin:20px 0}.personal-calculation>div{display:flex;justify-content:space-between;gap:24px;padding:8px 0}.personal-calculation dd{margin:0;text-align:right;white-space:nowrap}.personal-calculation>div:last-child{border-top:1px solid var(--border);font-weight:600}
.personal-secondary-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:20px}
.personal-other-companies{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.personal-other-companies .panel{margin-bottom:0}.personal-other-companies .panel-head{height:100%;flex-direction:column;align-items:flex-start;gap:16px}.personal-other-companies .button-link{margin-top:auto}
.personal-company-settings{padding-top:0}.personal-company-settings>summary{padding:18px 24px}.personal-company-settings .panel-body{padding-top:0}
.personal-detail-dialog{width:min(950px,94vw)}.personal-detail-dialog .panel-head{gap:20px}.personal-detail-dialog .panel-head>button{flex-shrink:0}.personal-detail-dialog .reporting-metric{margin-top:20px}.personal-detail-table{min-width:570px;width:100%}.personal-detail-table td{vertical-align:top}.personal-detail-table td:first-child{min-width:130px}.personal-detail-table td:last-child{white-space:nowrap}.personal-detail-table a{color:var(--accent-text,var(--brand-blue));font-weight:600}
.personal-detail-dialog .panel-head{position:sticky;top:0;background:var(--surface,white);z-index:1}.personal-detail-total{margin-bottom:20px}.personal-detail-total>strong{font-size:24px}
@media(max-width:700px){.personal-secondary-metrics,.personal-other-companies{grid-template-columns:1fr}.personal-breakdown>summary>strong{display:block;margin:8px 0 0}.personal-calculation>div{gap:12px}.personal-company-settings>summary{padding:16px}}
.personal-company .button-link.primary{background:var(--brand-blue);color:white;border-color:var(--brand-blue)}
.personal-company a:focus-visible,.personal-expenses a:focus-visible,.personal-bottom a:focus-visible{outline:3px solid #38a8e2;outline-offset:2px}
.personal-bottom{display:grid;grid-template-columns:1fr 1fr;gap:20px}.personal-bottom .panel-body p{font-size:13px;line-height:1.7}
.personal-context{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 22px;font-size:13px}.personal-context p{margin:0;line-height:1.7}
.personal-context button{flex-shrink:0}.personal-expense-table{min-width:760px}.personal-expense-table td{vertical-align:top}
.personal-expense-table td small,.personal-expenses~.panel td small{display:block;margin-top:5px;line-height:1.5;color:var(--muted)}
.company-opening{margin-top:24px;border-top:1px solid var(--border);padding-top:18px}.company-opening>summary{cursor:pointer;color:var(--muted);font-size:13px}
@media(max-width:1000px){.personal-metrics{gap:10px}.personal-metric{padding:14px}.personal-bottom{grid-template-columns:1fr;gap:0}}
@media(max-width:700px){.personal-metrics{grid-template-columns:1fr}.personal-context{align-items:flex-start;flex-direction:column}.personal-secondary{flex-direction:column}.personal-metric>strong{font-size:25px}}
.reporting-metric{min-width:0;align-self:start}.reporting-metric>span{font-size:12px;color:var(--muted)}
.reporting-metric>strong{display:block;overflow-wrap:anywhere}.reporting-metric>small{display:block;margin-top:7px;line-height:1.5}
.expense-team-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 20px}.expense-team-heading h2{margin:0}
.claim-stats{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:1fr;gap:12px}
.claim-stats>.stat{align-self:stretch;min-width:0;min-height:112px;padding:16px 18px;display:flex;flex-direction:column;gap:6px}
.claim-stats>.stat>span{font-size:12px;line-height:1.4;color:var(--muted)}
.claim-stats>.stat>strong{font-size:28px;line-height:1.2}
.claim-stats>.stat>small{margin:0;margin-top:auto;line-height:1.4;color:var(--muted)}
@media(max-width:1100px){.claim-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.claim-stats{grid-template-columns:1fr}}
.fx-details{font-size:12px;line-height:1.6;margin-top:12px;border-top:1px solid var(--border);padding-top:10px}
.fx-details summary{cursor:pointer;color:var(--accent-text,var(--brand-blue))}.fx-details summary:focus-visible{outline:2px solid var(--brand-blue);outline-offset:3px}
.fx-details ul{list-style:none;padding:0;margin:8px 0}.fx-details p{font-size:11px;line-height:1.6;color:var(--muted);margin:8px 0 0}
.reporting-metric .fx-warning{color:var(--text-warning,#8b5218)}.fx-details li{overflow-wrap:anywhere}
.global-search-trigger{display:flex;align-items:center;justify-content:space-between;gap:24px;min-width:230px;background:var(--surface-alt,#f6f9fd);color:var(--muted);border:1px solid var(--border);border-radius:7px;padding:11px 14px;font-size:13px}
.global-search-trigger kbd{font:inherit;font-size:10px;border:1px solid var(--border);padding:2px 5px;border-radius:4px;background:var(--surface,white);white-space:nowrap}
.global-search-dialog{width:min(820px,94vw)}.global-search-dialog .panel-head{position:sticky;top:0;z-index:1;background:var(--surface,white);gap:18px}.global-search-dialog .panel-head>button{flex-shrink:0}
.global-search-fields{display:grid;grid-template-columns:minmax(0,1fr) 145px;gap:14px}.global-search-dialog [data-search-status]{font-size:12px;margin:18px 0}
.global-search-results{list-style:none;padding:0;margin:0}.global-search-results a{display:grid;grid-template-columns:105px minmax(0,1fr) 15px;gap:14px;align-items:center;padding:14px 8px;border-top:1px solid var(--border);text-decoration:none;color:var(--text);border-radius:4px}
.global-search-results a:hover,.global-search-results a:focus{background:var(--tint-blue,#edf4fc)}.global-search-results a:focus-visible,.global-search-trigger:focus-visible{outline:3px solid #38a8e2;outline-offset:1px}
.global-search-results .search-kind{font-size:11px;color:var(--muted)}.search-description{min-width:0;overflow-wrap:anywhere}.search-description strong{font-size:13px;line-height:1.6;color:var(--accent-text,var(--brand-blue))}.search-description small{font-size:11px;line-height:1.5}
.directory-search-focus{outline:3px solid #38a8e2;outline-offset:3px}
@media(max-width:800px){.topbar{flex-wrap:wrap}.topbar .context{display:flex;max-width:none;width:100%;order:2}.global-search-trigger{width:100%;min-width:0}.global-search-trigger kbd{display:none}}
@media(max-width:520px){.global-search-fields{grid-template-columns:minmax(0,1fr)}.global-search-results a{grid-template-columns:minmax(0,1fr) 15px;gap:4px 10px}.global-search-results .search-kind{grid-column:1/-1}.global-search-dialog .panel-head{flex-wrap:wrap}}

/* Everyday views: compact controls, optional detail, same underlying registers. */
.mobile-menu{display:none}
.heading{margin-bottom:22px}.heading p{margin-bottom:0}
.resource-filters{gap:12px;margin-bottom:18px}.resource-filters label{min-width:0}
.finance-secondary{margin:12px 0}.finance-secondary>summary,.commercial-response>summary,.document-history>summary{cursor:pointer;padding:14px 0;font-weight:600;color:var(--accent-text,var(--brand-blue))}
.document-history>summary{padding:18px 24px}.document-history>.panel{border:0;margin:0;box-shadow:none}
.commercial-response{border:1px solid var(--border);border-radius:8px;margin:16px 0;padding:0 18px}
.time-week{padding:16px 18px;margin:0 0 20px;border:1px solid var(--line-soft,#d9e3ef);background:var(--surface-alt,#f6f9fd);border-radius:8px}
.time-week-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.time-week-heading strong{font-size:14px;color:var(--accent-text,var(--brand-blue))}.time-week-heading small{display:block;font-size:11px;margin-top:5px;color:var(--muted)}
.time-week-heading .actions{margin:0}.time-week-heading button{padding:7px 10px;font-size:12px}
.time-week-values{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:14px;font-size:12px;color:var(--muted)}
.time-week-values strong{font-size:18px;color:var(--accent-text,var(--brand-blue));margin-right:4px}
@media(min-width:761px){.resource-filters input,.resource-filters select{padding:9px}.heading h1{font-size:30px}.heading p{font-size:13px}}
@media(max-width:760px){
  .sidebar{position:relative;padding:12px 18px;display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0}
  .sidebar .logo{padding:0;margin:0;width:120px}.sidebar .logo img{width:120px;height:auto}
  .mobile-menu{display:block;background:transparent;color:white;border-color:#ffffff70;padding:8px 12px}
  .sidebar nav,.sidebar footer{display:none}.sidebar.menu-open nav{display:block;width:100%;padding-top:14px}.sidebar.menu-open footer{display:block;width:100%}
  .heading{gap:10px;margin-bottom:18px}.heading h1{font-size:26px}.heading p{font-size:12px;line-height:1.5}
  .topbar{padding:12px 18px;gap:12px}.main{padding:20px 16px}.profile{gap:8px;flex-wrap:wrap}.profile small{max-width:185px}
  .resource-filters{gap:10px}.resource-filters label{flex:1 1 145px;max-width:100%}.resource-filters input:not([type=checkbox]),.resource-filters select{width:100%;max-width:100%}.resource-filters .check-field{flex:1 1 auto}.resource-filters .check-field input{width:auto;flex:none}
}

.planning-filters{margin-bottom:16px}.planning-filters>summary{cursor:pointer;font-size:12px;line-height:1.7;color:var(--accent-text,var(--brand-blue));padding:8px 0}.planning-filters>form{margin:12px 0 0}.project-planning .panel-head{padding-top:16px;padding-bottom:16px}.project-planning .panel-head h2{font-size:23px}

/* Shared service label, independent resource rows. */
.service-table{min-width:930px}.service-table th:first-child{width:26%}.service-table th:nth-child(2){width:17%}.service-table th:nth-child(3),.service-table th:nth-child(4){width:10%}.service-table th:nth-child(5){width:12%}.service-table th:nth-child(6){width:18%}.service-table th:nth-child(7){width:7%}
.service-table .service-heading td{background:var(--tint-blue,#eef5fb);border-top:2px solid var(--line-soft,#c9d9e9);padding:10px}.service-heading-content{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.service-heading-content>[data-service-label]{flex:1 1 260px;font-weight:700;color:var(--accent-text,#1c3d7f);background:var(--surface,#fff)}.service-group-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.service-group-actions button,.service-group-actions select{font-size:11px;width:auto}.service-group-actions select{max-width:170px;border:1px solid var(--line-soft,#c9d9e9)}.service-table [data-remove]:disabled{opacity:.3;cursor:default}
.service-order{display:flex;gap:4px}.service-order button{min-width:32px;min-height:32px;padding:4px 8px;font-size:16px}.service-order button:disabled{opacity:.3;cursor:default}
.service-table .service-sale>[data-line-total],.service-table .service-sale>[data-field="client_fixed_fee"]{font-size:14px;font-weight:700;color:var(--accent-text,#1c3d7f);font-variant-numeric:tabular-nums}.service-table .service-sale>[data-field="client_fixed_fee"]{text-align:right}.service-table .service-sale>[data-client-rate]{font-weight:400;font-size:11px;margin-top:4px}.service-heading-content>.service-total{font-size:13px;color:var(--accent-text,#1c3d7f);font-variant-numeric:tabular-nums;margin-left:auto}.service-total[hidden]{display:none}

.client-logo-editor{display:flex;gap:20px;align-items:center;margin-bottom:24px;padding:16px;background:var(--surface-alt,#f4f8fc);border-radius:8px}.client-logo-editor img{max-width:150px;max-height:80px;object-fit:contain}.offer-save{flex-wrap:wrap}.offer-quick-actions{margin-bottom:12px}#offer-references{margin-top:18px}#offer-references .field{margin-top:12px}@media(max-width:700px){.client-logo-editor{flex-direction:column;align-items:flex-start}.offer-save button{flex:1}}
/* Reusable offer clauses remain editable in the current offer. */
.offer-term-editor{display:grid;gap:24px}.offer-term-editor h3{margin:0 0 8px}.offer-term-editor>section{min-width:0;padding-top:12px;border-top:1px solid var(--border,#dce4ed)}.offer-term-presets{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 14px}.offer-term-presets button{font-size:12px;padding:7px 11px}.offer-term-presets button:disabled{opacity:.65}.offer-term-card{border:1px solid var(--border,#dce4ed);background:var(--surface,#fff);border-radius:8px;padding:12px;margin:10px 0}.offer-term-heading{display:flex;gap:12px;align-items:center;margin-bottom:8px}.offer-term-heading>input{flex:1;min-width:0}.offer-term-heading .actions{flex-shrink:0;gap:5px}.offer-term-heading button{padding:6px 10px}.offer-term-card textarea{display:block;width:100%;resize:vertical;min-height:76px}.offer-term-card .read-text{white-space:pre-wrap;margin-bottom:0}@media(max-width:650px){.offer-term-heading{flex-wrap:wrap}.offer-term-heading>input{flex-basis:100%}.offer-term-heading .actions{margin-left:auto}}

.production-transfer-button{display:block;margin-top:10px;font-size:12px;padding:7px 10px}.production-transfer-dialog{width:min(900px,94vw)}.production-transfer-dialog .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.production-transfer-dialog .table-wrap input{min-width:100px}.production-transfer-dialog [data-transfer-total]{padding:12px;background:var(--tint-neutral,#f0f4fa);border-radius:6px;font-weight:600}.production-transfer-dialog input[readonly]{background:var(--surface-alt,#f5f7fa);color:var(--muted)}@media(max-width:600px){.production-transfer-dialog .form-grid{grid-template-columns:1fr}}

.site-picker{margin:18px 0}.site-picker h3{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.site-picker h3 small{font-weight:400}.site-list{list-style:none;padding:0;margin:12px 0}.site-list li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line-soft,#e1e7ee)}.site-list small,.site-results small{display:block;font-weight:400}.site-search{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.site-search label:first-child{flex:1;min-width:220px}.site-search label{display:grid;gap:5px}.site-results{max-height:300px;overflow:auto;display:grid;gap:6px}.site-results>button{width:100%;text-align:left;white-space:normal;background:var(--surface-alt,#f4f8fc);color:var(--text-strong,#273850);padding:10px 14px}.site-preview-head{display:flex;justify-content:space-between;align-items:center}.site-picker [data-site-preview]{border:1px solid var(--line-soft,#bdcde0);background:var(--surface-alt,#fafcff);padding:16px;margin:14px 0;border-radius:8px}.site-map{position:relative;background:var(--tint-neutral,#c8e5ef);aspect-ratio:2/1;margin:12px 0;overflow:hidden;border-radius:6px}.site-map svg{display:block;width:100%;height:100%;cursor:crosshair}.site-map-controls{position:absolute;top:8px;right:8px;display:flex;gap:5px}.site-map-controls button{padding:5px 12px}.site-attribution{font-size:11px}.sites-dialog{width:min(850px,95vw)}@media(max-width:650px){.site-list li{align-items:flex-start;flex-direction:column}.site-search>label{width:100%}}

.site-picker label{display:grid;gap:6px;font-size:13px}.site-picker input,.site-picker select{width:100%;min-width:0;min-height:42px;padding:9px 11px;border:1px solid var(--border);border-radius:6px;background:var(--surface,white);color:var(--text)}.sites-fields{border:0;margin:0;padding:0;min-width:0}

.tranche-summary{display:flex;gap:12px 24px;flex-wrap:wrap;padding:12px 16px;background:var(--tint-neutral,#eef6fa);border-radius:8px;margin:12px 0}.tranche-summary small{flex-basis:100%}.tranche-item{padding:12px 0;border-bottom:1px solid var(--line-soft,#dce6ee)}.tranche-item:last-child{border-bottom:0}.tranche-item p{margin:6px 0}.tranche-item details{margin-top:8px}.tranche-item form{margin-top:12px}

/* Incomplete draft fields remain editable and saveable. */
.draft-invalid{background:var(--tint-danger,#fff1f0)!important;border-color:#d5827c!important;box-shadow:0 0 0 1px #d5827c33}
.draft-field-error{display:block;color:var(--text-danger,#9d3832);font-size:.78rem;margin:4px 0 7px;max-width:44rem}
.draft-issues{border:1px solid var(--line-soft,#e6bbb7);border-radius:10px;background:var(--tint-danger,#fff8f7);padding:14px 18px;margin:12px 0}
.draft-issues ul{display:flex;flex-wrap:wrap;gap:5px 18px;list-style:none;padding:0;margin:8px 0 0}
.draft-issues button{color:var(--text-danger,#933c36);text-align:left;background:transparent;border:0;text-decoration:underline;padding:3px 0;font-size:.85rem}
.draft-issues p{margin:4px 0}.draft-phase-count{color:var(--text-danger,#933c36);background:var(--tint-danger,#ffebe9);border-radius:12px;padding:3px 8px;font-size:.75rem}
.draft-recovery{margin:12px 0}.draft-recovery[hidden],.draft-issues[hidden]{display:none}

.phase-expenses{margin:18px 0 10px;padding-top:14px;border-top:1px solid var(--line-soft,#dde4f0)}
.phase-expenses h4{margin:0 0 10px}.phase-expenses .offer-row{background:var(--surface-alt,#f8faff);margin:10px 0}
.project-stop-dialog{width:min(960px,94vw)}.project-stop-dialog .form-grid{grid-template-columns:2fr 1fr;gap:16px}.project-stop-dialog .table-wrap input{min-width:130px}.project-stop-dialog .stop-phase{border:1px solid var(--border);border-radius:8px;padding:16px;min-width:0}.project-stop-dialog .stop-phase legend label,.project-stop-dialog .check-field{display:flex;align-items:center;gap:10px}.project-stop-dialog input[type=checkbox]{width:18px;min-width:18px;height:18px;padding:0}.project-stop-dialog .stop-line{display:grid;grid-template-columns:minmax(0,1fr) 150px;align-items:center;gap:16px;padding:10px 0}.project-stop-dialog input:disabled{background:var(--surface-alt,#f5f7fa);color:var(--muted)}@media(max-width:600px){.project-stop-dialog .form-grid{grid-template-columns:1fr}.project-stop-dialog .stop-line{grid-template-columns:minmax(0,1fr) 110px}}
[data-expense-heading]{font-size:.95rem;margin:0;color:var(--navy,#273d79)}
[data-phase-expense-summary]{font-size:.8rem;color:var(--text-detail,#586581)}

.live-estimate{display:flex;flex-wrap:wrap;gap:8px 20px;padding:12px 14px;background:var(--tint-blue,#edf5fb);border-radius:6px;color:var(--text-detail,#516583);font-size:12px}.live-estimate strong,.live-offer-total{color:var(--accent-text,#1c3d7f)}.offer-estimate-total{margin:0 0 16px}.estimate-tranches{flex-basis:100%}.phase-card>summary .phase-price{margin-left:auto;color:var(--accent-text,#1c3d7f);font-size:13px;white-space:nowrap}.live-offer-total{font-size:13px}

#offer-content:not([data-document-layout="dpgf"]) .service-dpgf-detail{display:none}
.service-dpgf-detail{font-weight:400;font-size:.8rem}

/* Daily time entry and supplier invoice preparation. */
.time-workspace .time-section-title{font-family:inherit;font-size:17px;margin:0 0 14px;color:var(--accent-text,#1c3d7f)}
.time-workspace .time-entry{margin-top:0;padding:16px}.time-workspace .time-entry textarea{min-height:60px}.time-workspace .time-target-hint{margin:8px 0 12px}.time-workspace .time-entry-targets,.time-workspace .time-entry-details{gap:12px}
.time-kpis{margin:16px 0 22px}.time-personal-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.time-kpis .stat strong{font-size:25px}.time-kpis .stat{padding:16px}
.time-consumption-track>.time-consumption-draft{fill:#88b7df}.time-consumption.is-over .time-consumption-track>.time-consumption-draft{fill:#e7a49b}
.time-follow-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.time-follow-heading p{margin:0}.time-missing-budgets{font-size:12px;line-height:1.7;color:var(--text-detail,#526886);padding:12px;border:1px solid var(--line-soft,#d9e3ef);border-radius:6px}.time-missing-budgets summary{cursor:pointer}.time-missing-budgets ul{margin-bottom:0}
.time-period-week .actions{margin:0;gap:5px}.time-period-week button{padding:8px 10px}.time-period-week small{display:block;margin-top:5px;font-size:11px;color:var(--text-detail,#526886)}.time-journal-filters{gap:12px}.time-journal-filters .check-field{font-size:11px;min-width:0}
.time-journal-table{table-layout:auto;min-width:730px}.time-journal-table th:nth-child(1){width:11%}.time-journal-table th:nth-child(2){width:33%}.time-journal-table th:nth-child(3){width:8%}.time-journal-table th:nth-child(4){width:23%}.time-journal-table th:nth-child(5){width:25%}.time-journal-table td{font-size:12px;vertical-align:middle}.time-journal-table td:first-child{white-space:nowrap}.time-journal-table td strong{color:var(--accent-text,#1c3d7f)}
.time-row-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.time-row-actions button{font-size:11px;padding:7px 9px}.time-more{min-width:0}.time-more>summary{cursor:pointer;letter-spacing:2px;padding:6px;list-style:none;color:var(--text-detail,#526886)}.time-more .time-history{margin:5px 0}.time-more[open]{flex-basis:100%;border-top:1px solid var(--line-soft,#d9e3ef);padding-top:7px}.time-more[open]>summary{letter-spacing:normal}.time-more button{margin-top:10px}
.time-row-editor{background:var(--surface-alt,#f6f9fd);padding:16px;border-radius:6px}.time-row-editor label{font-size:12px;display:block;color:var(--text-detail,#526886)}.time-row-editor input,.time-row-editor select,.time-row-editor textarea{border:1px solid var(--line-soft,#cbd8e8);margin-top:6px;padding:9px}.time-row-editor .actions{margin:12px 0 0}.time-row-editor .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.time-phase-entries{margin:10px 12px 18px;font-size:12px}.time-phase-entries>summary{cursor:pointer;color:var(--accent-text,#1c3d7f);padding:8px 0}
#company-billing-content>.supplier-editor{margin-top:0}.supplier-steps{list-style:none;display:flex;gap:24px;margin:20px 0;padding:0;font-size:12px;color:var(--text-detail,#526886)}.supplier-steps li{display:flex;align-items:center;gap:7px}.supplier-steps li span{display:grid;place-items:center;border:1px solid var(--line-soft,#cbd8e8);border-radius:50%;width:24px;height:24px}.supplier-steps [aria-current]{color:var(--accent-text,#1c3d7f);font-weight:700}.supplier-steps [aria-current] span{background:var(--accent-text,#1c3d7f);color:var(--surface,#fff)}
.supplier-selection-table{min-width:580px}.supplier-project-heading th{background:var(--tint-blue,#eef5fb);color:var(--accent-text,#1c3d7f);font-size:14px;text-transform:none;letter-spacing:normal}.supplier-phase-heading th{font-size:12px;text-transform:none;letter-spacing:normal;background:var(--surface-alt,#f6f9fd);padding-top:10px;padding-bottom:10px}.supplier-selection-table th[scope=row]{font-weight:400;padding-left:22px}.supplier-selection-table td:last-child{width:260px}.supplier-amount-control{display:flex;gap:8px;align-items:center}.supplier-amount-control input{margin:0!important;min-width:95px!important}.supplier-amount-control button{flex-shrink:0;padding:9px 10px;font-size:12px}.supplier-amount-error{color:var(--text-danger,#9c3e3a)!important}.supplier-amount-error:empty{display:none}.supplier-amount-control [aria-invalid=true]{border-color:var(--text-danger,#9c3e3a)}
@media(max-width:800px){.time-workspace .resource-filters button{width:auto}.time-personal-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.time-kpis .stat strong{font-size:20px}.time-kpis .stat{padding:12px}.supplier-steps{gap:12px;flex-wrap:wrap}.time-follow-heading{align-items:flex-start}.supplier-editor{padding:14px}.supplier-editor .toolbar{flex-wrap:wrap}}
@media(max-width:480px){.time-row-editor .form-grid{grid-template-columns:1fr}.time-follow-heading{flex-direction:column}.time-personal-kpis{grid-template-columns:1fr}.time-personal-kpis .stat{padding:10px 14px}.time-personal-kpis .stat strong{font-size:20px}}

.quote-client-panel .panel-body{gap:16px;flex-wrap:wrap}.quote-client-panel strong,.quote-client-panel small{display:block}.quote-client-panel small{color:var(--text-detail,#526886);margin-bottom:4px}.quote-client-panel .actions{flex-wrap:wrap}

/* Keep the phase selector beside its milestone without adding a table column. */
.milestone-phase-field{display:block;margin-top:8px;font-size:11px;color:var(--text-detail,#64778d)}.milestone-phase-field select{display:block;width:100%;min-width:0;margin-top:4px;font-size:12px}.project-finance-progress .milestone-terms{min-width:170px;max-width:260px}.milestone-terms strong{font-weight:600}

.reallocation-dialog{width:min(1000px,96vw);max-height:90vh}.reallocation-form table{min-width:640px}.reallocation-form th{vertical-align:top}.reallocation-form th small{display:block;font-weight:normal;color:var(--text-detail,#64778d);max-width:320px;margin-top:5px}.reallocation-amount{display:flex;gap:6px;align-items:center}.reallocation-amount input{width:130px;min-width:90px}.reallocation-form>label{display:flex;flex-direction:column;gap:8px;margin:14px 0}.reallocation-form [data-reallocation-preview]{margin-top:20px}.reallocation-form details{margin-top:18px}.reallocation-form .form-grid small{font-weight:normal}.reallocation-dialog .actions{flex-wrap:wrap}
.reallocation-form tbody th{text-transform:none;letter-spacing:normal}.reallocation-form td small{display:block;font-weight:normal;margin-top:5px}.reallocation-form .reallocation-blocker{color:var(--text-warning,#82550b);white-space:normal;line-height:1.5}.reallocation-form th .reallocation-blocker{max-width:360px}

.reallocation-dialog form{grid-template-columns:minmax(0,1fr)}.reallocation-dialog .table-wrap{min-width:0;max-width:100%;overflow-x:auto}.reallocation-form [data-reallocation-editor]>label{margin:14px 0}.reallocation-form [data-reallocation-editor][hidden]{display:none}.reallocation-form .form-grid>*{min-width:0}.reallocation-dialog .actions{position:sticky;bottom:0;background:var(--surface,#fff);padding-top:12px}.reallocation-form .form-grid{margin-top:18px}

.reallocation-form [data-reallocation-preview] table{min-width:0;width:100%;table-layout:fixed}.reallocation-form [data-reallocation-preview] th:first-child{width:46%;overflow-wrap:anywhere;white-space:normal}.reallocation-form [data-reallocation-preview] td{white-space:normal}@media(max-width:600px){.reallocation-form [data-reallocation-preview] td{font-size:11px;padding:10px 5px}.reallocation-form [data-reallocation-preview] th{padding:10px 5px}.reallocation-form [data-reallocation-preview] th:first-child{width:36%}}

/* Justified receipt remainder, reviewed before invoice issue. */
.payment-regularization .invoice-condition{display:flex;align-items:flex-start;gap:10px;line-height:1.5}
.payment-regularization .invoice-condition input[type=checkbox]{width:18px;height:18px;flex:0 0 18px;margin-top:2px;padding:0}
.payment-regularization textarea{width:100%;box-sizing:border-box;font:inherit}
.payment-regularization [role=alert]{color:var(--text-danger,#944c2e)}

/* Mail connection and the private review inbox. */
.crm-mail-status{margin-top:18px}.crm-mail-form{display:grid;gap:18px;max-width:850px}.crm-mail-form label,.crm-mail-classify label{display:flex;flex-direction:column;gap:7px;font-size:13px;min-width:0}.crm-mail-form input,.crm-mail-classify input,.crm-mail-classify select{width:100%;min-width:0;min-height:42px;padding:10px 12px;border:1px solid var(--line-soft,#cbd8e8);border-radius:5px;background:var(--surface,#fff);color:var(--text-strong,#303846);font:inherit;font-size:13px}.crm-mail-form fieldset{border:1px solid var(--line-soft,#d9e3ef);border-radius:7px;padding:18px;display:grid;gap:14px}.crm-mail-form legend{padding:0 8px}.crm-mail-form p{margin:0;line-height:1.6}.crm-mail-counts{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:20px}.crm-mail-message{padding:22px 0;border-top:1px solid var(--line-soft,#d9e3ef)}.crm-mail-heading{display:flex;justify-content:space-between;gap:20px;align-items:baseline}.crm-mail-heading strong{overflow-wrap:anywhere;min-width:0}.crm-mail-heading span{white-space:nowrap;font-size:12px;color:var(--text-detail,#526886)}.crm-mail-address{overflow-wrap:anywhere;line-height:1.6;font-size:12px}.crm-mail-message details{background:var(--surface-alt,#f6f9fd);padding:12px;border-radius:6px}.crm-mail-message details p{max-height:360px;overflow:auto;overflow-wrap:anywhere;font-size:13px;line-height:1.6}.crm-mail-classify{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:14px}.crm-mail-classify .actions{grid-column:1/-1;flex-wrap:wrap}.crm-mail-message summary{cursor:pointer;font-size:13px}#crm-mail-page>p:empty{display:none}
@media(max-width:760px){.crm-mail-counts{grid-template-columns:repeat(2,minmax(0,1fr))}.crm-mail-heading{flex-direction:column;gap:7px}.crm-mail-classify{grid-template-columns:1fr}.crm-mail-classify .actions{grid-column:1}.crm-mail-form fieldset{padding:12px}.crm-mail-status .panel-head{flex-wrap:wrap;gap:12px}}

#crm-mail-page button:not(.primary){background:var(--surface,#fff);color:var(--accent-text,#1c3d7f);border-color:var(--line-soft,#cbd8e8)}#crm-mail-page button:disabled{opacity:.5}

/* Phase rescheduling uses the same theme and controls in both planning views. */
.schedule-move-bar{cursor:grab;touch-action:none;user-select:none}.schedule-move-bar text{pointer-events:none}.schedule-move-bar:focus-visible{outline:none}.schedule-move-bar:focus-visible .overview-phase-segment,.schedule-move-bar:hover .overview-phase-segment{stroke:var(--focus,#38a8e2);stroke-width:2}.schedule-move-bar.is-dragging{cursor:grabbing;opacity:.7}.schedule-move-dialog{width:min(900px,94vw);max-height:90vh;overflow:auto}.schedule-move-dialog fieldset{margin:14px 0;border:1px solid var(--line-soft,#dce5ef);border-radius:8px;padding:12px}.schedule-move-dialog legend{font-weight:600}.schedule-date-choice{display:flex;align-items:center;gap:10px;margin:10px 0}.schedule-date-choice input{width:auto}.schedule-date-choice small{display:block;color:var(--text-detail,#61758b);margin-top:4px}.schedule-move-dialog [data-error]{color:var(--danger-text,#b04235)}

.schedule-drag-hint{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:1000;background:var(--surface,#fff);color:var(--accent-text,#1c3d7f);border:1px solid var(--line-soft,#dce5ef);border-radius:8px;padding:12px 18px;box-shadow:0 4px 18px #0002;pointer-events:none;font-weight:600}

.production-dialog.schedule-move-dialog{max-width:900px;padding:0;border:1px solid var(--border,#d9e3ef);background:var(--surface,#fff);color:var(--ink,#17233b);border-radius:12px;font:inherit}.schedule-move-dialog .panel-body{font-size:13px}.schedule-move-dialog .form-grid>label,.schedule-move-dialog form>label{display:flex;flex-direction:column;gap:8px;font-size:12px}.schedule-move-dialog input:not([type=checkbox]){display:block;width:100%;min-width:0;min-height:42px;padding:10px 12px;border:1px solid var(--field-border,#858f9e);border-radius:6px;background:var(--surface,#fff);color:inherit;font:inherit}.schedule-move-dialog input[readonly]{background:var(--surface-alt,#f4f8fc)}.schedule-move-dialog .schedule-date-choice{display:flex;align-items:center;gap:10px;font-size:13px}.schedule-move-dialog .schedule-date-choice input{width:auto;flex:none}.schedule-move-dialog .actions{margin-top:20px}.schedule-move-dialog td small{display:block;color:var(--muted)}.schedule-move-dialog::backdrop{background:#14213d88}@media(max-width:650px){.schedule-move-dialog .panel-body,.schedule-move-dialog .panel-head{padding:16px}.schedule-move-dialog td,.schedule-move-dialog th{padding:10px}.schedule-move-dialog .form-grid{grid-template-columns:1fr;gap:0}}
.schedule-handles{overflow:hidden;pointer-events:none}.schedule-resize-handle{cursor:ew-resize;touch-action:none;pointer-events:all}.schedule-resize-handle rect{fill:var(--planning-stroke);opacity:0}.schedule-resize-handle line{stroke:var(--planning-ink);stroke-width:1.5;stroke-linecap:round;opacity:0;pointer-events:none}.schedule-move-bar:hover .schedule-resize-handle line,.schedule-move-bar:focus-visible .schedule-resize-handle line{opacity:.7}.schedule-resize-handle:hover rect{opacity:.25}.schedule-move-bar.is-resizing{opacity:.4}.schedule-resize-preview{fill:#38a8e233;stroke:var(--focus,#38a8e2);stroke-width:2;stroke-dasharray:4 2;pointer-events:none}.schedule-move-dialog form>.schedule-duration-lock{display:flex;flex-direction:row;align-items:center;gap:8px}.schedule-move-dialog .schedule-duration-lock input{width:18px;min-width:18px;height:18px;flex:none;margin:0}

/* Procurement radar uses the common light/dark theme and responsive panels. */
.tender-filters,.tender-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;padding:1.2rem}
.tender-filters label,.tender-form label{display:flex;flex-direction:column;gap:.4rem}
.tender-source-filter-help{display:block;color:var(--muted,#61758b);font-size:11px;font-weight:400;line-height:1.4}
.tender-check{flex-direction:row!important;align-items:center;align-self:end}.tender-check input{width:auto}
.tender-table td:first-child{min-width:280px;max-width:500px}.tender-table small,.tender-documents small{display:block;margin-top:.4rem}
#tenders-page .tender-table button.tender-sort{display:flex;align-items:center;gap:8px;min-height:36px;margin:-6px 0;padding:6px 0;border:0;border-radius:3px;background:transparent;color:inherit;font:inherit;text-align:left;letter-spacing:inherit;text-transform:inherit;cursor:pointer}
.tender-sort span{flex:none;opacity:.55}.tender-table th[aria-sort] .tender-sort{color:var(--accent-text,#1c3d7f)!important}.tender-table th[aria-sort] .tender-sort span{opacity:1}
#tenders-page .tender-table button.tender-sort:hover{background:transparent;color:var(--accent-text,#1c3d7f);text-decoration:underline}#tenders-page .tender-table button.tender-sort:focus-visible{outline:2px solid var(--focus,#38a8e2);outline-offset:4px}
.tender-pagination,.tender-facts{display:flex;flex-wrap:wrap;gap:1.2rem;align-items:center;padding:1.2rem}.tender-pagination span{margin-right:auto}
.tender-facts>div{display:grid;gap:.3rem;flex:1;min-width:160px}.tender-columns{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}.tender-columns>section,.tender-columns>div{min-width:0}
.tender-intro>p,.tender-intro>details,.tender-columns>section>p,.tender-documents,.tender-sync{padding:1.2rem}.tender-documents article{padding:1rem 0;border-bottom:1px solid var(--line)}
.tender-wide{grid-column:1/-1}.tender-description{white-space:pre-wrap;overflow-wrap:anywhere}.tender-sync{margin-top:1.2rem}.tender-sync summary{cursor:pointer}
@media(max-width:950px){.tender-columns{grid-template-columns:1fr}.tender-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.tender-filters,.tender-form{grid-template-columns:1fr}.tender-intro .panel-head{align-items:start;flex-direction:column}}

#tenders-page>.crm-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:22px}
.tender-filters input:not([type=checkbox]),.tender-filters select,.tender-form input:not([type=checkbox]),.tender-form select,.tender-form textarea{width:100%;min-width:0;min-height:42px;padding:10px 12px;border:1px solid var(--field-border,var(--brand-gray,#bcc5d2));border-radius:5px;background:var(--surface,#fff);color:var(--ink,#1c3d7f);font:inherit}
.tender-relations>.tender-columns,.tender-relations>p{padding:0 24px 20px}.tender-relations>.tender-columns h3{margin-top:0}.tender-relations summary{cursor:pointer;padding:10px 0}
.tender-organization-relations{margin:0 24px 24px;padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}.tender-organization-relations>h3{margin-top:0}.tender-organization-card{border-top:1px solid var(--line)}.tender-organization-card>summary{font-weight:650}.tender-organization-card>small{display:block;padding:0 0 12px}.tender-organization-link{padding:12px 0}.tender-organization-link .danger{color:var(--danger,#a52a2a)}
#tenders-page .badge{display:inline-block;padding:5px 8px;border-radius:4px;background:var(--tint-blue,#edf4fb);color:var(--accent-text,#1c3d7f);font-size:12px}
@media(max-width:520px){#tenders-page>.crm-stats{gap:8px}#tenders-page>.crm-stats .stat{padding:12px 8px;text-align:left}#tenders-page>.crm-stats .stat span{font-size:11px}#tenders-page>.crm-stats .stat strong{font-size:23px}.tender-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.tender-filters>label:first-child,.tender-filters>.tender-announcement-source-filter{grid-column:1/-1}}

:root[data-theme="dark"] #tenders-page button:not(.primary){background:var(--surface-alt);color:var(--accent-text);border-color:var(--line-soft)}
:root[data-theme="dark"] #tenders-page button:not(.primary):hover{background:var(--tint-blue)}
:root[data-theme="dark"] #tenders-page button.tender-sort{background:transparent;color:inherit}
:root[data-theme="dark"] #tenders-page button.tender-sort:hover{background:transparent;color:var(--accent-text,#1c3d7f)}

.tender-filter-group{display:flex;flex-direction:column;gap:.4rem;min-width:0}
.tender-status-filter{position:relative;min-width:0}
.tender-status-filter>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:42px;padding:10px 12px;border:1px solid var(--field-border,var(--brand-gray,#bcc5d2));border-radius:5px;background:var(--surface,#fff);color:var(--ink,#1c3d7f);cursor:pointer;list-style:none}
.tender-status-filter>summary::-webkit-details-marker{display:none}.tender-status-filter>summary::after{content:'⌄';flex:none}.tender-status-filter[open]>summary::after{content:'⌃'}
.tender-status-filter>summary:focus-visible{outline:2px solid var(--focus,#38a8e2);outline-offset:2px}
.tender-status-popover{position:absolute;top:calc(100% + 6px);right:0;z-index:20;width:max(100%,255px);padding:12px;border:1px solid var(--line-soft,#cbd8e8);border-radius:8px;background:var(--surface,#fff);color:var(--ink,#1c3d7f);box-shadow:0 8px 24px #0003}
.tender-status-shortcuts{display:flex;gap:8px;margin-bottom:10px}.tender-status-shortcuts button{padding:7px 9px;font-size:12px}
.tender-status-popover fieldset{border:0;padding:0;margin:0;min-width:0}.tender-status-popover legend{font-size:11px;color:var(--muted,#61758b);margin-bottom:4px}
.tender-status-popover label{flex-direction:row;align-items:center;gap:9px;min-height:36px;cursor:pointer}.tender-status-popover input[type=checkbox]{width:17px;height:17px;margin:0;flex:none;accent-color:var(--accent-text,#1c3d7f)}
@media(max-width:520px){.tender-status-popover{width:max(100%,240px);max-width:calc(100vw - 60px)}}

.tender-list-panel{overflow:visible}
@media(max-width:1250px){.tender-status-popover{left:0;right:auto}}
@media(max-width:520px){.tender-filter-group{grid-column:1/-1}}

.tender-title{display:flex;align-items:flex-start;gap:10px}.tender-title>div{min-width:0}
#tenders-page button.tender-star{flex:none;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:6px;margin:-5px 0 0;background:transparent;color:var(--muted,#61758b);border:1px solid transparent;border-radius:6px}
.tender-star svg{pointer-events:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round}
#tenders-page button.tender-star[aria-pressed="true"]{color:var(--accent-text,#1c3d7f)}.tender-star[aria-pressed="true"] svg{fill:currentColor}
#tenders-page button.tender-star:hover{background:var(--tint-blue,#edf5ff);border-color:var(--line-soft,#cbd8e8)}
#tenders-page button.tender-star:focus-visible{outline:2px solid var(--focus,#38a8e2);outline-offset:2px}

.tender-list-tools,.tender-row-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.tender-row-actions{min-width:115px}
.tender-row-actions .tender-decision{font-size:12px;padding:7px 10px}
#tenders-page [data-new][aria-pressed="true"]{background:var(--tint-blue,#edf5ff);color:var(--accent-text,#1c3d7f);border-color:var(--accent-text,#1c3d7f)}
.tender-list-feedback:not(:empty){display:flex;align-items:center;gap:12px;padding:12px 20px;background:var(--tint-blue,#edf5ff);color:var(--accent-text,#1c3d7f);font-size:13px}.tender-list-feedback span{flex:1;min-width:0;overflow-wrap:anywhere}.tender-list-feedback button{flex:none}
@media(max-width:700px){.tender-list-panel>.panel-head{align-items:flex-start;flex-wrap:wrap;gap:12px}.tender-list-tools{width:100%}}

.tender-category{display:inline-block;margin-top:8px;padding:3px 7px;border:1px solid var(--line-soft,#cbd8e8);border-radius:4px;font-size:11px;line-height:1.4;color:var(--accent-text,#1c3d7f);background:var(--tint-blue,#edf5ff)}
.tender-category-unknown{color:var(--muted,#61758b);background:var(--surface-alt,#f6f9fd);border-style:dashed}
.tender-category-overridden{border-color:var(--focus,#38a8e2);box-shadow:inset 0 0 0 1px var(--focus,#38a8e2)}

.tender-detail-toolbar{justify-content:space-between;margin-bottom:14px;gap:10px;flex-wrap:wrap}
.tender-detail-intro .panel-head{align-items:flex-start;gap:20px}.tender-detail-intro .panel-head>div{min-width:0}.tender-detail-intro h2{overflow-wrap:anywhere;line-height:1.15;margin-top:8px}.tender-detail-intro .badge{flex:none;white-space:normal}
.tender-detail-facts{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1.7fr) repeat(3,minmax(0,1fr));gap:24px;padding:20px 24px;margin:0}.tender-detail-facts dt{font-size:11px;color:var(--muted,#61758b);margin-bottom:7px}.tender-detail-facts dd{margin:0;font-size:13px;line-height:1.55;font-weight:600;overflow-wrap:anywhere;color:var(--text-strong,#303846)}
.tender-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(310px,.55fr);grid-template-areas:"main side";gap:20px;margin:20px 0;align-items:start}.tender-detail-main{grid-area:main}.tender-detail-side{grid-area:side}.tender-detail-main,.tender-detail-side{display:grid;gap:20px;min-width:0}.tender-detail-layout .panel{margin:0}.tender-detail-layout .panel-head{padding:18px 20px}.tender-detail-layout .panel-head h2{font-size:25px}
.tender-prose{padding:4px 22px 20px;font-size:14px;line-height:1.85;overflow-wrap:anywhere}.tender-prose p{white-space:pre-line;margin:14px 0}.tender-description-more{border-top:1px solid var(--line-soft,#d9e3ef);margin-top:18px;padding-top:12px}.tender-description-more>summary{cursor:pointer;color:var(--accent-text,#1c3d7f);font-size:13px;font-weight:600}
.tender-followup .tender-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:20px;font-size:12px}.tender-followup textarea{resize:vertical}.tender-followup .actions{display:flex;flex-direction:column;align-items:stretch;gap:8px}.tender-followup .actions [role=status]{line-height:1.5}
.tender-information-edit>summary{cursor:pointer;padding:18px 20px;font-size:13px;font-weight:600;color:var(--accent-text,#1c3d7f)}.tender-information-edit .tender-form{padding-top:4px}.tender-information-edit .actions{display:grid;gap:8px}.tender-information-edit .subtle{margin:0;line-height:1.6}
.tender-analysis>summary{display:flex;align-items:center;gap:12px;list-style:none;cursor:pointer;padding:18px 20px;font-size:13px}.tender-analysis>summary::-webkit-details-marker{display:none}.tender-analysis>summary::before{content:'▸';color:var(--accent-text,#1c3d7f)}.tender-analysis[open]>summary::before{content:'▾'}.tender-analysis>summary>strong{margin-left:auto;white-space:nowrap;color:var(--accent-text,#1c3d7f);font-size:20px}.tender-analysis>summary small{font-size:11px;font-weight:400}.tender-analysis-body{border-top:1px solid var(--line-soft,#d9e3ef);padding:4px 20px 16px;font-size:12px;line-height:1.65;overflow-wrap:anywhere}.tender-analysis-body ul{padding-left:18px}.tender-analysis-body li{margin:9px 0}.tender-analysis-body h3{font-size:13px;margin-top:20px}.tender-analysis>summary:focus-visible,.tender-description-more>summary:focus-visible{outline:2px solid var(--focus,#38a8e2);outline-offset:-2px}
.tender-detail-documents .tender-documents{padding:0 22px}.tender-detail-documents article:last-child{border-bottom:0}.tender-detail-documents .actions{flex-wrap:wrap;gap:8px}.tender-document-help{padding:12px 22px 18px;font-size:12px;color:var(--muted,#61758b);line-height:1.6}.tender-document-help summary{cursor:pointer}
@media(max-width:1100px){.tender-detail-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.tender-detail-layout{grid-template-columns:minmax(0,1fr) 310px}.tender-followup .tender-form{grid-template-columns:minmax(0,1fr)}}
@media(max-width:900px){.tender-detail-layout{display:flex;flex-direction:column}.tender-detail-main,.tender-detail-side{display:contents}.tender-detail-layout .panel{width:100%;min-width:0}.tender-detail-description{order:1}.tender-followup{order:2}.tender-detail-documents{order:3}.tender-analysis{order:4}.tender-followup .tender-form{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.tender-detail-facts{gap:18px;padding:16px}.tender-detail-facts>div:first-child{grid-column:1/-1}.tender-detail-facts dd{font-size:12px}.tender-detail-intro .panel-head{padding:18px 16px;gap:12px}.tender-detail-toolbar .button-link{font-size:12px;padding:10px}.tender-followup .tender-form{grid-template-columns:minmax(0,1fr);padding:16px}.tender-prose{padding:2px 16px 16px}.tender-analysis>summary{padding:16px}}

.tender-notice-kind{display:inline-block;padding:5px 8px;border-radius:4px;background:var(--tint-neutral,#f0f3f7);color:var(--text-strong,#303846);font-size:11px;line-height:1.5}.tender-table td:nth-child(2){min-width:155px;max-width:210px}

.tender-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
#tenders-page .tender-kpis button.tender-kpi{display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-width:0;margin:0;text-align:left;background:var(--surface,#fff);color:var(--ink,#1c3d7f);border:1px solid var(--border,#d9e3ef);padding:20px;border-radius:10px;font:inherit;cursor:pointer}
.tender-kpi>span{font-size:12px;font-weight:600;line-height:1.5}.tender-kpi>small{margin:0;font-size:11px;font-weight:400;line-height:1.5;color:var(--muted,#61758b)}
#tenders-page .tender-kpis button.tender-kpi:hover,#tenders-page .tender-kpis button.tender-kpi[aria-pressed="true"]{border-color:var(--focus,#38a8e2);background:var(--tint-blue,#edf5ff)}
#tenders-page .tender-kpis button.tender-kpi[aria-pressed="true"]{box-shadow:inset 0 3px 0 var(--focus,#38a8e2)}
#tenders-page .tender-kpis button.tender-kpi:focus-visible{outline:2px solid var(--focus,#38a8e2);outline-offset:3px}
.tender-kpi-scope{font-size:11px;color:var(--muted,#61758b);margin:10px 0 22px;line-height:1.6}
.tender-focus-summary:not(:empty){display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:12px 20px;background:var(--tint-blue,#edf5ff);font-size:12px;line-height:1.5}.tender-focus-summary button{font-size:12px;padding:7px 10px}
@media(max-width:1100px){.tender-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.tender-kpis{gap:8px}#tenders-page .tender-kpis button.tender-kpi{padding:14px 12px;gap:8px}.tender-kpi strong{font-size:26px}.tender-kpi>span{font-size:11px}.tender-kpi>small{font-size:10px}}
:root .tender-territory-filter fieldset{max-height:18rem;overflow:auto}
.tender-dimension-evidence{padding:0 1.4rem 1rem}
.tender-dimension-evidence dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-top:1rem}
.tender-dimension-evidence dd{margin:0;overflow-wrap:anywhere}
.tender-dimension-evidence small{display:block;opacity:.75;margin-top:.25rem}

.tender-source-quality{padding:14px 24px;border-top:1px solid var(--border);font-size:12px;line-height:1.6;overflow-wrap:anywhere}.tender-source-quality summary{cursor:pointer;color:var(--muted)}.tender-source-quality p{margin:10px 0}.tender-detail-facts dd small{display:block;font-weight:400;color:var(--muted)}.tender-document-reading{color:var(--muted);overflow-wrap:anywhere}
.tender-pacific-coverage td small { display:block; margin-top:4px; }
.tender-source-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin:18px 0}
.tender-source-filters label{display:grid;gap:5px;flex:1 1 175px}
.tender-source-table{width:100%;font-size:.88rem}
.tender-source-table th button{border:0;background:transparent;color:inherit;text-align:left;padding:0;font:inherit;cursor:pointer}
.tender-source-table td{vertical-align:top;white-space:normal}
.tender-source-table td:first-child{min-width:220px;max-width:340px}
.tender-source-table td small{display:block;margin-top:6px}
.tender-source-table details{margin-top:10px}
.tender-source-details{max-width:340px;font-size:.85rem}
.tender-source-details dt{font-weight:600;margin-top:10px}
.tender-source-details dd{margin:3px 0;overflow-wrap:anywhere}
.tender-source-count{font-size:1.15rem;font-weight:700;min-width:50px}
.tender-source-health{display:inline-flex;align-items:baseline;gap:7px;min-width:130px;font-weight:600}
.tender-source-health::before{content:'';display:inline-block;width:9px;height:9px;border-radius:50%;flex-shrink:0;background:currentColor}
.tender-source-health.green{color:#258854}.tender-source-health.orange{color:#ac6c13}.tender-source-health.red{color:#c04444}
.tender-source-health.neutral{color:var(--muted)}
[data-theme="dark"] .tender-source-health.green{color:#7bd3a2}[data-theme="dark"] .tender-source-health.orange{color:#e9bc78}[data-theme="dark"] .tender-source-health.red{color:#f39595}
.tender-source-legend{margin-top:14px}.tender-source-legend p{max-width:100ch}
@media(max-width:760px){
 .tender-source-table,.tender-source-table tbody,.tender-source-table tr{display:block;width:100%;min-width:0}
 .tender-source-table thead{display:block}.tender-source-table thead tr{display:flex;flex-wrap:wrap;gap:10px}
 .tender-source-table th{display:block;padding:4px}
 .tender-source-table td,.tender-source-table td:first-child{display:block;padding:7px 8px;min-width:0;max-width:none;border:0}
 .tender-source-table td[data-label]::before{content:attr(data-label) ' : ';font-weight:600}
 .tender-source-table tr{padding:12px 0;border-bottom:1px solid var(--line-soft)}
 .tender-source-details{max-width:none}
}
@media (max-width:700px) {
  .tender-pacific-coverage table, .tender-pacific-coverage tbody, .tender-pacific-coverage tr { display:block; min-width:0; width:100%; }
  .tender-pacific-coverage thead { display:none; }
  .tender-pacific-coverage tr { padding:12px 0; border-bottom:1px solid var(--line-soft,#d9e3ef); }
  .tender-pacific-coverage td { display:block; padding:5px 8px; border:0; white-space:normal; }
  .tender-pacific-coverage td[data-label]::before { content:attr(data-label) " : "; font-weight:600; }
}

/* Commercial dossier: reuse the current theme and native field presentation. */
.dossier-phase-choices { border:1px solid var(--line); border-radius:8px; padding:16px; margin:20px 0; }
.dossier-phase-choices legend { padding:0 8px; font-weight:600; }
.dossier-phase-choices .check-field { display:flex; align-items:center; gap:10px; margin:10px 0; }
.dossier-phase-choices input[type=checkbox] { width:18px; height:18px; flex:0 0 auto; }
.dossier-context { gap:12px; flex-wrap:wrap; }

/* Phase bars: fixed-size labels on a responsive calendar. */
:root{--planning-fill:#dceaf7;--planning-stroke:#9fbcd9;--planning-ink:#24476f;--planning-potential-fill:#f3f7fb;--planning-potential-stroke:#9aaec4;--planning-potential-ink:#4c627e;--planning-review-fill:#e6f5fa;--planning-review-stroke:#78b7cc}
.overview-phase-segment{fill:var(--planning-fill);stroke:var(--planning-stroke);stroke-width:1;vector-effect:non-scaling-stroke}
[data-phase-tone=prospect] .overview-phase-segment{fill:var(--planning-potential-fill);stroke:var(--planning-potential-stroke);stroke-dasharray:4 3}
[data-phase-tone=review] .overview-phase-segment{fill:var(--planning-review-fill);stroke:var(--planning-review-stroke);stroke-dasharray:3 3}
.overview-milestone{overflow:visible}.overview-milestone .overview-phase-segment{stroke-dasharray:none}
.overview-phase-caption{pointer-events:none}.overview-caption-box{container-type:inline-size;height:100%;width:100%}.overview-caption-box>span{display:block;padding:0 11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:600 12px/28px var(--font-body);letter-spacing:.1px;color:var(--planning-ink)}
[data-phase-tone=prospect] .overview-caption-box>span{color:var(--planning-potential-ink)}
@container (max-width:44px){.overview-caption-box>span{visibility:hidden}}
@media(pointer:coarse){.schedule-resize-handle line{opacity:.55}}
.tender-collection-status{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem 1.2rem;margin:0 0 1rem;padding:.65rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:10px;font-size:.86rem}
.tender-collection-state{display:inline-flex;align-items:center;gap:.5rem;white-space:nowrap}
.tender-collection-dot{width:.6rem;height:.6rem;flex:none;border-radius:50%;background:#8996a6}
.tender-collection-state.is-success .tender-collection-dot{background:#27a86b}
.tender-collection-state.is-warning .tender-collection-dot{background:#dc9d27}
.tender-collection-state.is-error .tender-collection-dot{background:#e35d64}
.tender-collection-state.is-running .tender-collection-dot{background:#4ba4db}
.tender-collection-date{color:var(--muted)}
.tender-collection-counts b{font-variant-numeric:tabular-nums}
.tender-collection-detail{margin-left:auto;padding:.3rem .6rem;font-size:inherit}
@media(max-width:600px){.tender-collection-status{gap:.5rem .75rem}.tender-collection-date,.tender-collection-counts{flex-basis:100%}.tender-collection-detail{margin-left:0}}
.planning-deadlines{margin:0 0 24px}.planning-deadline-scope{margin:0 0 10px;font-size:12px}
.planning-deadline-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.planning-deadline-group{min-width:0;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--surface)}
.planning-deadline-group h3{font:600 14px var(--font-body);margin:0;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;background:var(--surface-alt)}
.planning-deadline-group ul{list-style:none;margin:0;padding:0}.planning-deadline-group li+li{border-top:1px solid var(--border)}
.planning-deadline-link{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;text-align:left;padding:10px 14px;border:0;border-radius:0;background:transparent;font-size:13px;font-weight:400;line-height:1.4;color:var(--text)}
.planning-deadline-link>span:first-child{display:grid;gap:3px;min-width:0}.planning-deadline-link strong,.planning-deadline-link span{overflow-wrap:anywhere}.planning-deadline-link small{color:var(--muted);font-size:12px}
.planning-deadline-link:hover{background:var(--surface-alt)}.planning-deadline-link:focus-visible{outline:2px solid var(--brand-sky);outline-offset:-2px}
[data-deadline-group=late] .planning-deadline-link small{color:var(--text-danger,#b04235)}.planning-deadline-group>.quiet{margin:8px 14px 12px;font-size:12px}.planning-deadline-group .empty{padding:14px;margin:0;font-size:13px}
@media(max-width:700px){.planning-deadline-columns{grid-template-columns:1fr;gap:12px}}
