:root{color-scheme:light;--ink:#112634;--muted:#6a767d;--paper:#f2f1e9;--surface:#fffef9;--navy:#0a2432;--line:#dce1dc;--line-dark:#c8d0ca;--accent:#d7f44a;--green:#22765c;--amber:#a36a13;--red:#a33f3f;font-family:"DM Sans",system-ui,sans-serif;font-synthesis:none}*{box-sizing:border-box}html,body,#app{min-width:320px;width:100%;height:100%;overflow:hidden}body{margin:0;color:var(--ink);background:var(--paper)}button,input{font:inherit}button{color:inherit}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0)}
.review-board{margin-top:48px}.review-list{display:grid;gap:14px}.review-card{padding:23px 25px;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--accent)}.review-card-heading,.review-card-footer{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.review-card-heading span{color:var(--green);font-size:.67rem;font-weight:750;letter-spacing:.08em}.review-card-heading h2{margin:5px 0 0;font-family:"Manrope",sans-serif;font-size:1.12rem}.review-card-heading>strong{color:var(--amber);font-size:.72rem}.review-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:20px 0;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.review-facts span{display:grid;gap:3px}.review-facts small{color:var(--muted);font-size:.63rem}.review-facts b{font-size:.76rem}.review-facts em{overflow:hidden;color:var(--muted);font-size:.67rem;font-style:normal;text-overflow:ellipsis}.review-message{margin:0 0 18px;color:var(--ink);font-size:.76rem;line-height:1.5;white-space:pre-wrap}.review-card-footer{align-items:center}.review-card-footer>div{display:flex;flex-wrap:wrap;gap:6px}.review-reason{padding:5px 8px;color:#80530d;background:#faeccf;border-radius:999px;font-size:.63rem;font-weight:650}.review-card-footer button{padding:9px 12px;color:var(--theme-on-accent);background:var(--accent);border:1px solid #9db729;border-radius:5px;cursor:pointer;font-size:.7rem;font-weight:750}.customer-message{margin-top:24px;padding:18px;background:var(--surface);border-left:3px solid var(--accent)}.customer-message small{color:var(--muted);font-size:.66rem}.customer-message p{margin:8px 0 0;font-size:.82rem;line-height:1.55;white-space:pre-wrap}.facts dd{overflow-wrap:anywhere}.rule-proof small{margin-top:5px}
.triage-intro{margin:-7px 0 18px;color:var(--muted);font-size:.76rem;line-height:1.5}.triage-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.triage-actions button{min-height:92px;display:grid;align-content:center;gap:7px;padding:15px;text-align:left;background:var(--theme-surface-subtle);border:1px solid var(--line-dark);border-radius:7px;cursor:pointer}.triage-actions button:hover,.triage-actions button:focus-visible{background:var(--surface);border-color:var(--green);outline:3px solid #22765c15}.triage-actions strong{font-size:.76rem}.triage-actions span{color:var(--muted);font-size:.66rem;line-height:1.45}.triage-notice{margin:0 0 15px;padding:11px 13px;border-left:3px solid;font-size:.72rem}.triage-notice-success{color:#235f49;background:#e2f0e8;border-color:var(--green)}.triage-notice-warning{color:#80530d;background:#faeccf;border-color:#cf8c20}.triage-modal-backdrop{position:fixed;z-index:20;inset:0;display:grid;place-items:center;padding:20px;background:#071a24b8;backdrop-filter:blur(4px)}.triage-modal{position:relative;width:min(520px,100%);max-height:calc(100dvh - 40px);overflow:auto;padding:30px;background:var(--surface);border-radius:10px;box-shadow:0 24px 80px #00141f66}.triage-modal h2{margin:0 35px 10px 0;font-family:"Manrope",sans-serif;font-size:1.65rem}.triage-modal>p{margin:0 0 23px;color:var(--muted);font-size:.78rem;line-height:1.55}.triage-modal-close{position:absolute;top:17px;right:18px;width:34px;height:34px;background:transparent;border:0;cursor:pointer;font-size:1.45rem}.triage-modal form,.triage-modal label{display:grid;gap:8px}.triage-modal form{gap:18px}.triage-modal label>span{font-size:.7rem;font-weight:700}.triage-modal textarea,.triage-modal select,.triage-modal input[type="text"],.triage-modal input[type="date"],.triage-modal input[type="time"]{width:100%;padding:11px;color:var(--theme-text);background:var(--theme-surface);border:1px solid var(--theme-border-strong);border-radius:6px;font:inherit;font-size:.875rem;resize:vertical}.triage-modal textarea:focus,.triage-modal select:focus,.triage-modal input[type="text"]:focus,.triage-modal input[type="date"]:focus,.triage-modal input[type="time"]:focus{border-color:var(--green);outline:3px solid #22765c1a}.triage-confirm{grid-template-columns:auto 1fr!important;align-items:start}.triage-confirm input{margin-top:3px}.triage-confirm span{font-weight:500!important;line-height:1.45}.triage-form-error{margin:0;padding:10px 12px;color:#843838;background:#f7e4e1;border-left:3px solid var(--red);font-size:.7rem}.triage-modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:4px}.triage-modal-actions button{min-height:40px;padding:0 14px;background:transparent;border:1px solid var(--line-dark);border-radius:5px;cursor:pointer;font-size:.72rem;font-weight:700}.triage-modal-actions button[type="submit"]{color:var(--theme-on-accent);background:var(--accent);border-color:#9db729}.triage-modal-actions button:disabled{cursor:wait;opacity:.55}
@media(max-width:720px){.review-facts{grid-template-columns:1fr}.review-card-heading,.review-card-footer{align-items:flex-start;flex-direction:column}.triage-actions{grid-template-columns:1fr}.triage-modal-backdrop{align-items:end;padding:0}.triage-modal{width:100%;max-height:92dvh;padding:25px 20px;border-radius:12px 12px 0 0}.triage-modal-actions{display:grid;grid-template-columns:1fr 1fr}.triage-modal-actions button{width:100%}}
.teamleader-triage-modal,.teamleader-review-modal{width:min(690px,100%)}
.teamleader-preview{display:grid;gap:14px;padding:18px;background:var(--theme-surface-muted);border:1px solid var(--line-dark);border-radius:8px}
.teamleader-preview .section-kicker{margin:0}
.teamleader-preview-heading,.teamleader-match-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.teamleader-preview button,.teamleader-review-panel button{width:max-content;min-height:34px;padding:6px 10px;color:var(--green);background:var(--surface);border:1px solid var(--line-dark);border-radius:5px;cursor:pointer;font-size:.69rem;font-weight:700}
.teamleader-preview button:hover,.teamleader-review-panel button:hover{border-color:var(--green)}
.teamleader-preview-intro,.teamleader-preview-hint,.teamleader-review-panel>p{margin:0;color:var(--muted);font-size:.72rem;line-height:1.55}.teamleader-preview-meta{margin:-6px 0 0;color:var(--green);font-size:.66rem;font-weight:700}
.teamleader-deal-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px;margin:0;padding:14px;background:var(--surface);border-radius:6px}
.teamleader-deal-facts div{min-width:0}.teamleader-deal-facts dt{color:var(--muted);font-size:.65rem}.teamleader-deal-facts dd{margin:4px 0 0;overflow-wrap:anywhere;font-size:.75rem;font-weight:650}
.teamleader-sales-review{display:grid;gap:11px;padding:14px;background:var(--surface);border:1px solid var(--line);border-radius:6px}.teamleader-sales-review h3{margin:0;font-size:.8rem}.teamleader-sales-review>p{margin:0;color:var(--muted);font-size:.69rem;line-height:1.45}.teamleader-sales-review .teamleader-deal-facts{padding:0}.teamleader-sales-text{display:grid;gap:5px}.teamleader-sales-text strong{font-size:.68rem}.teamleader-sales-text pre{max-height:170px;overflow:auto;margin:0;padding:10px;background:var(--theme-surface-muted);border-radius:5px;font:inherit;font-size:.68rem;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.teamleader-sales-review summary{cursor:pointer;font-size:.7rem;font-weight:700}.teamleader-sales-table-wrap{max-height:230px;overflow:auto;margin-top:10px}.teamleader-sales-table-wrap table{width:100%;border-collapse:collapse;font-size:.64rem}.teamleader-sales-table-wrap th,.teamleader-sales-table-wrap td{min-width:105px;padding:8px;text-align:left;vertical-align:top;border-top:1px solid var(--line);overflow-wrap:anywhere}.teamleader-sales-table-wrap th:first-child{min-width:85px}
.teamleader-match-list{display:grid;gap:11px}.teamleader-match{display:grid;gap:9px;padding:13px;background:var(--surface);border:1px solid var(--line);border-radius:6px}
.teamleader-match-heading strong{font-size:.78rem}.teamleader-match-heading span{color:var(--amber);font-size:.65rem;font-weight:700}.teamleader-match>p{margin:0;color:var(--muted);font-size:.68rem;line-height:1.4}
.teamleader-candidates{display:grid;gap:7px;margin:0;padding:0;list-style:none}.teamleader-candidates li{display:grid;gap:3px;padding:8px 10px;background:var(--theme-surface-muted);border-radius:5px}.teamleader-candidates strong{font-size:.7rem}.teamleader-candidates small{overflow-wrap:anywhere;color:var(--muted);font-size:.64rem;line-height:1.35}
.teamleader-candidates .teamleader-quotation-warning{width:max-content;max-width:100%;padding:4px 6px;color:#80530d;background:#faeccf;border-radius:4px;font-weight:700}
.teamleader-quotation-review{padding:10px 12px;background:#faeccf;border-radius:5px}.teamleader-quotation-review[hidden]{display:none!important}
[data-teamleader-context-handling][hidden]{display:none!important}
.teamleader-type-options{display:grid;gap:9px;margin:0;padding:13px;background:var(--surface);border:1px solid var(--line);border-radius:6px}.teamleader-type-options legend{padding:0 5px;font-size:.72rem;font-weight:750}.teamleader-type-options p{margin:0;color:var(--muted);font-size:.68rem;line-height:1.4}.teamleader-type-options label{padding:5px 0}.teamleader-kind-picker{padding:10px 12px;background:var(--surface);border-radius:6px}.teamleader-preview-stale[hidden]{display:none!important}
.teamleader-review-panel{display:grid;justify-items:start;gap:14px}.teamleader-review-panel .section-kicker,.teamleader-review-panel .detail-section-title,.teamleader-review-panel .triage-notice{margin:0}
@media(max-width:720px){.teamleader-triage-modal,.teamleader-review-modal{width:100%}.teamleader-deal-facts{grid-template-columns:1fr}.teamleader-preview-heading,.teamleader-match-heading{align-items:flex-start;flex-direction:column}.teamleader-preview button{width:100%}}
.app-layout{height:100dvh;display:grid;grid-template-columns:244px minmax(0,1fr);overflow:hidden}.sidebar{height:100%;min-height:0;display:flex;flex-direction:column;padding:28px 20px 22px;color:#eef5f1;background:var(--navy)}.brand{display:flex;align-items:center;gap:12px;padding:0 8px 28px;color:inherit;text-decoration:none;border-bottom:1px solid #ffffff1c}.brand>span:last-child{display:grid;gap:2px}.brand strong{font-family:"Manrope",sans-serif;font-size:.88rem;letter-spacing:.17em}.brand small{color:#91a5ad;font-size:.68rem}.brand-mark{position:relative;width:34px;height:34px;display:inline-block}.brand-mark i{position:absolute;inset:2px 9px 2px 2px;border:2px solid var(--accent);border-radius:50% 2px 2px 50%;transform:skewX(-10deg)}.brand-mark i:last-child{inset:8px 2px 8px 15px;background:var(--accent);border:0;border-radius:1px 12px 12px 1px}.sidebar nav{display:grid;gap:5px;margin-top:28px}.nav-item{width:100%;display:grid;grid-template-columns:28px 1fr;align-items:center;gap:9px;padding:12px 11px;color:#a9bac0;text-align:left;background:transparent;border:0;border-radius:7px;cursor:pointer;font-weight:600}.nav-item span{color:#70868f;font-size:.63rem;letter-spacing:.1em}.nav-item:hover{color:white;background:#ffffff0d}.nav-item.is-active{color:white;background:#d7f44a1a}.nav-item.is-active span{color:var(--accent)}.sidebar-bottom{display:grid;gap:8px;margin-top:auto;padding:18px 10px 0;border-top:1px solid #ffffff1c}.environment{font-size:.76rem;font-weight:650}.environment i{width:7px;height:7px;display:inline-block;margin-right:7px;background:var(--accent);border-radius:50%;box-shadow:0 0 0 5px #d7f44a1a}.sidebar-bottom small{color:#82969e;font-size:.68rem}
.main-shell{min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.workspace-scroll{min-height:0;flex:1;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.utility-bar{height:76px;flex:0 0 76px;display:flex;align-items:center;justify-content:space-between;padding:0 42px;background:#fffef9e8;border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.breadcrumbs{display:flex;align-items:center;gap:9px;min-width:0;color:var(--muted);font-size:.72rem}.breadcrumbs>span[aria-hidden]{color:var(--line-dark)}.breadcrumbs button{padding:3px 0;color:var(--muted);background:transparent;border:0;cursor:pointer}.breadcrumbs button:hover{color:var(--ink)}.breadcrumbs [aria-current]{overflow:hidden;color:var(--ink);font-weight:700;text-overflow:ellipsis;white-space:nowrap}.account-area{display:flex;align-items:center;gap:15px}.user-chip div{display:grid;gap:2px}.user-chip strong{font-size:.76rem;font-weight:700}.user-chip small{color:var(--muted);font-size:.67rem}.user-chip{display:flex!important;align-items:center;gap:10px}.user-chip>span{width:32px;height:32px;display:grid;place-items:center;color:var(--theme-on-accent);background:var(--accent);border-radius:50%;font-size:.66rem}.sign-out{padding:7px 0 7px 14px;color:var(--muted);background:transparent;border:0;border-left:1px solid var(--line);cursor:pointer;font-size:.68rem}.sign-out:hover{color:var(--ink)}.demo-banner{min-height:38px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;gap:20px;color:#543b0e;background:#fff0c8;border-bottom:1px solid #ead59f;font-size:.73rem}.demo-banner button{color:inherit;background:transparent;border:0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.teamleader-admin-banner,.teamleader-admin-notice{min-height:38px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;gap:16px;padding:8px 20px;background:#e8f1ed;color:#1b5140;border-bottom:1px solid #bdd7cb;font-size:.73rem}.teamleader-admin-banner button{padding:5px 10px;border:1px solid #8bb9a6;border-radius:5px;background:var(--surface);color:#1b5140;cursor:pointer;font:inherit;font-weight:700}.teamleader-admin-banner button:hover{background:#f3faf6}.teamleader-admin-notice{background:#fff4d9;color:#61470d;border-bottom-color:#e7d19a}
.workspace{width:min(1320px,calc(100% - 72px));margin:0 auto;padding:54px 0 70px;animation:page-in 320ms ease both}@keyframes page-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:42px}.page-heading>div>span,.detail-heading>div>span{color:var(--green);font-size:.7rem;font-weight:750;letter-spacing:.13em;text-transform:uppercase}.page-heading h1,.detail-heading h1{margin:8px 0;font-family:"Manrope",sans-serif;font-size:clamp(2.2rem,4.3vw,4.6rem);font-weight:600;line-height:.98;letter-spacing:-.055em}.page-heading p,.detail-heading p{margin:0;color:var(--muted);font-size:.94rem}.primary-action{min-height:46px;display:inline-flex;align-items:center;gap:22px;padding:0 16px 0 19px;color:var(--theme-on-accent);background:var(--accent);border:1px solid #9db729;border-radius:6px;text-decoration:none;font-size:.8rem;font-weight:750;transition:transform 150ms ease,background 150ms ease}.primary-action:hover{background:#e4ff63;transform:translateY(-2px)}.primary-action span{font-size:1.05rem}
.metrics{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark)}.metrics div{padding:22px 20px 20px 0;border-right:1px solid var(--line)}.metrics div+div{padding-left:24px}.metrics div:last-child{border-right:0}.metrics small,.metrics strong{display:block}.metrics small{margin-bottom:8px;color:var(--muted);font-size:.68rem}.metrics strong{font-family:"Manrope",sans-serif;font-size:1.7rem;font-weight:600}.case-section,.automation-board{margin-top:48px}.section-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:15px}.section-toolbar h2{margin:0 0 4px;font-family:"Manrope",sans-serif;font-size:1.05rem}.section-toolbar span{color:var(--muted);font-size:.7rem}.search-field input{width:min(330px,32vw);min-height:40px;padding:0 13px;color:var(--ink);background:#ffffff8c;border:1px solid var(--line-dark);border-radius:6px;outline:none}.search-field input:focus{background:var(--surface);border-color:var(--green);box-shadow:0 0 0 3px #22765c1a}
.case-table{border-top:1px solid var(--navy)}.case-row{width:100%;min-height:78px;display:grid;grid-template-columns:1.6fr 1fr .9fr 1fr;align-items:center;gap:20px;padding:12px 10px;text-align:left;background:transparent;border:0;border-bottom:1px solid var(--line)}button.case-row{cursor:pointer;transition:background 140ms ease,padding 140ms ease}button.case-row:hover{padding-left:16px;background:#ffffff9e}.case-row>span{min-width:0;display:grid;gap:4px}.case-row strong{overflow:hidden;font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.case-row small{overflow:hidden;color:var(--muted);font-size:.67rem;text-overflow:ellipsis;white-space:nowrap}.case-identity strong{color:var(--green);font-size:.7rem;letter-spacing:.05em}.case-identity small{color:var(--ink);font-size:.79rem;font-weight:600}.table-header{min-height:40px;color:var(--muted);font-size:.65rem}.automation-progress{grid-template-columns:auto 1fr;align-items:center;column-gap:9px!important}.automation-progress small{grid-column:1/-1}.automation-progress i{height:3px;overflow:hidden;background:#d9dfd9;border-radius:3px}.automation-progress b{height:100%;display:block;background:var(--green);transition:width 500ms ease}
.status{width:max-content;display:inline-flex!important;grid-auto-flow:column;align-items:center;gap:7px!important;padding:5px 8px;border-radius:999px;font-size:.65rem;font-weight:650}.status i{width:6px;height:6px;border-radius:50%}.status-neutral{color:#56646a;background:#e7eae5}.status-neutral i{background:#89969a}.status-active{color:#284c68;background:#e2eef5}.status-active i{background:#397fa8;animation:pulse 1.8s infinite}.status-success{color:#235f49;background:#e2f0e8}.status-success i{background:var(--green)}.status-warning{color:#80530d;background:#faeccf}.status-warning i{background:#cf8c20}.status-danger{color:#843838;background:#f7e4e1}.status-danger i{background:var(--red)}@keyframes pulse{50%{box-shadow:0 0 0 5px #397fa800}0%,100%{box-shadow:0 0 0 0 #397fa840}}
.empty-state{min-height:330px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;text-align:center;background:var(--theme-surface-subtle);border:1px solid var(--line);border-radius:10px;border-bottom:1px solid var(--line)}.empty-state>span:not(.loader){width:48px;height:48px;display:grid;place-items:center;color:var(--green);background:#e5ece5;border-radius:50%;font-family:"Manrope",sans-serif;font-size:.75rem}.empty-state h3{margin:18px 0 7px;font-family:"Manrope",sans-serif;font-size:1.1rem}.empty-state p{max-width:430px;margin:0;color:var(--muted);font-size:.8rem;line-height:1.5}.empty-state div{display:flex;gap:9px;margin-top:20px}.empty-state a,.empty-state button{padding:9px 12px;color:var(--ink);background:transparent;border:1px solid var(--line-dark);border-radius:5px;cursor:pointer;text-decoration:none;font-size:.72rem}.empty-state a{color:var(--theme-on-accent);background:var(--accent);border-color:#9db729}.loader{width:30px;height:30px;border:2px solid var(--line-dark);border-top-color:var(--green);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.back-link{display:inline-block;margin-bottom:34px;color:var(--muted);font-size:.74rem;text-decoration:none}.back-link:hover{color:var(--ink)}.detail-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;padding-bottom:34px;border-bottom:1px solid var(--line-dark)}.detail-heading h1{font-size:clamp(2rem,4vw,3.8rem)}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:70px;margin-top:42px}.detail-primary{display:grid;gap:42px}.detail-section{padding-bottom:38px;border-bottom:1px solid var(--line)}.section-kicker{display:block;margin-bottom:20px;color:var(--green);font-size:.68rem;font-weight:750;letter-spacing:.11em;text-transform:uppercase}.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:0}.facts div{display:grid;gap:7px}.facts dt{color:var(--muted);font-size:.66rem}.facts dd{margin:0;font-size:.82rem;font-weight:600}.job-list{border-top:1px solid var(--line)}.job-row{min-height:68px;display:grid;grid-template-columns:32px minmax(0,1fr) auto auto;align-items:center;gap:12px;border-bottom:1px solid var(--line)}.job-icon{width:27px;height:27px;display:grid;place-items:center;color:var(--green);background:#e5eee7;border-radius:50%;font-size:.7rem;font-weight:800}.job-row>div{display:grid;gap:3px}.job-row strong{font-size:.78rem}.job-row small{color:var(--muted);font-size:.66rem}.job-row>button{padding:6px 9px;background:transparent;border:1px solid var(--line-dark);border-radius:4px;font-size:.64rem}.detail-aside{align-self:start;padding:24px 0;border-top:1px solid var(--navy);border-bottom:1px solid var(--line-dark)}.owner{display:flex;align-items:center;gap:12px}.owner>span{width:38px;height:38px;display:grid;place-items:center;color:var(--theme-on-accent);background:var(--accent);border-radius:50%;font-size:.72rem;font-weight:800}.owner div{display:grid;gap:3px}.owner strong{font-size:.8rem}.owner small{color:var(--muted);font-size:.66rem}.rule-proof{display:grid;gap:6px;margin:24px 0;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.rule-proof small{color:var(--muted);font-size:.65rem}.rule-proof code{overflow-wrap:anywhere;font-size:.7rem}.secondary-action{width:100%;min-height:40px;background:transparent;border:1px solid var(--line-dark);border-radius:5px;font-size:.72rem}.secondary-action:disabled{opacity:.55}.aside-note,.quiet{color:var(--muted);font-size:.68rem;line-height:1.5}.automation-board{padding-bottom:36px}.automation-list{overflow:hidden;border-top:1px solid var(--navy);border-bottom:1px solid var(--line);border-radius:0 0 8px 8px}.automation-list>button{width:100%;min-height:76px;display:grid;grid-template-columns:minmax(0,1fr) 150px;align-items:center;gap:20px;padding:4px 16px;text-align:left;background:#ffffff42;border:0;border-bottom:1px solid var(--line);cursor:pointer}.automation-list>button:last-child{border-bottom:0}.automation-list>button:hover{background:#ffffffb8}.automation-list .job-row{border:0}.job-reference{color:var(--green);font-size:.68rem;text-align:right}
.login-screen{height:100dvh;display:grid;grid-template-columns:minmax(420px,44%) 1fr;background:var(--surface)}.login-panel{width:min(430px,calc(100% - 64px));align-self:center;justify-self:center;display:grid;gap:38px}.login-logo{width:220px;height:auto}.login-kicker{color:var(--accent-dark);font-size:.7rem;font-weight:750;letter-spacing:.13em;text-transform:uppercase}.login-panel h1{margin:10px 0 12px;font-family:"Manrope",sans-serif;font-size:clamp(2.6rem,5vw,4.5rem);font-weight:600;line-height:.95;letter-spacing:-.055em}.login-panel p{max-width:390px;margin:0;color:var(--muted);font-size:.9rem;line-height:1.6}.login-message{padding:12px 14px;color:var(--danger)!important;background:#f7e4e1;border-left:3px solid var(--danger);font-size:.75rem!important}.google-login{min-height:50px;display:flex;align-items:center;justify-content:center;gap:12px;padding:0 18px;color:var(--ink);background:var(--surface);border:1px solid var(--line-dark);border-radius:7px;box-shadow:0 8px 30px #301f120c;cursor:pointer;font-size:.8rem;font-weight:700}.google-login:hover{background:var(--paper);border-color:var(--accent-dark)}.google-login svg{width:19px}.login-panel>small{margin-top:-26px;color:var(--muted);text-align:center;font-size:.66rem}.login-aside{display:flex;flex-direction:column;justify-content:flex-end;padding:70px;color:#fff;background:linear-gradient(145deg,#1b1815e8,#1b1815aa),#d0a47a}.login-aside span{font-size:.7rem;font-weight:700;letter-spacing:.18em}.login-aside p{max-width:520px;margin:18px 0 0;font-family:"Manrope",sans-serif;font-size:clamp(1.7rem,3vw,3.3rem);line-height:1.05;letter-spacing:-.04em}
@media(max-width:980px){.app-layout{grid-template-columns:82px minmax(0,1fr)}.sidebar{padding:24px 12px}.brand{justify-content:center;padding:0 0 24px}.brand>span:last-child,.sidebar-bottom small{display:none}.sidebar nav{gap:8px}.nav-item{grid-template-columns:1fr;justify-items:center;padding:12px 4px;font-size:.62rem}.nav-item span{display:none}.sidebar-bottom{padding:15px 0 0;text-align:center}.environment{font-size:0}.environment i{margin:0}.workspace{width:min(100% - 40px,1120px)}.case-row{grid-template-columns:1.4fr 1fr 1fr .8fr}.case-row>span:nth-child(3){display:none}.detail-grid{gap:35px}}
@media(max-width:720px){.app-layout{display:flex;flex-direction:column}.sidebar{width:100%;height:64px;flex:0 0 64px;flex-direction:row;align-items:center;padding:0 16px}.brand{padding:0;border:0}.brand-logo{width:150px}.brand-mark{width:30px;height:30px}.sidebar nav{grid-auto-flow:column;margin:0 0 0 auto}.nav-item{width:auto;padding:9px}.sidebar-bottom,.utility-bar{display:none}.main-shell{flex:1}.workspace{width:calc(100% - 28px);padding:35px 0 55px}.page-heading{align-items:flex-start;flex-direction:column;margin-bottom:30px}.page-heading h1{font-size:2.35rem}.primary-action{width:100%;justify-content:space-between}.metrics{grid-template-columns:1fr 1fr}.metrics div,.metrics div+div{padding:16px 8px}.metrics div:nth-child(2){border-right:0}.metrics div:nth-child(-n+2){border-bottom:1px solid var(--line)}.section-toolbar{align-items:stretch;flex-direction:column}.search-field input{width:100%}.table-header{display:none}.case-row{grid-template-columns:1fr auto;gap:12px;padding:16px 4px}.case-row>span:nth-child(2),.case-row>span:nth-child(3){display:none}.case-row>span:last-child{justify-items:end}.detail-heading{align-items:flex-start;flex-direction:column}.detail-grid{grid-template-columns:1fr}.facts{grid-template-columns:1fr}.detail-aside{grid-row:1}.automation-list>button{grid-template-columns:1fr}.job-reference{display:none}.login-screen{grid-template-columns:1fr}.login-panel{width:min(430px,calc(100% - 40px))}.login-aside{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
.price-versions { display: grid; gap: 1rem; margin-top: 1rem; }
.price-version { border: 1px solid var(--line, #d9d9d9); border-radius: 12px; padding: 1rem; background: var(--surface); }
.price-version header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.price-version header div { display: grid; gap: .2rem; }
.price-total { font-size: 1.55rem; font-weight: 700; margin: 1rem 0; }
.automation-live{min-height:38px;flex:0 0 auto;display:flex;align-items:center;gap:9px;padding:0 42px;color:#244a63;background:#e7f3f9;border-bottom:1px solid #cee2ec;font-size:.7rem}.automation-live i{width:8px;height:8px;background:#397fa8;border-radius:50%;animation:pulse 1.4s infinite}.automation-live span{color:#607786}.automation-celebration{position:fixed;z-index:30;top:92px;right:28px;display:flex;align-items:center;gap:12px;padding:14px 18px;color:#174b38;background:#e3f4e9;border:1px solid #a7d0b5;border-radius:10px;box-shadow:0 16px 50px #09261924;animation:celebrate-in .38s cubic-bezier(.2,.9,.3,1.25)}.automation-celebration>b{width:32px;height:32px;display:grid;place-items:center;color:white;background:var(--green);border-radius:50%;font-size:1rem}.automation-celebration div{display:grid;gap:3px}.automation-celebration strong{font-size:.76rem}.automation-celebration span{font-size:.65rem}@keyframes celebrate-in{from{opacity:0;transform:translateY(-12px) scale(.94)}to{opacity:1;transform:none}}.job-processing{background:linear-gradient(90deg,transparent,#eaf3f7,transparent);background-size:200% 100%;animation:job-flow 2s linear infinite}.job-processing .job-icon{animation:spin 1.1s linear infinite}@keyframes job-flow{to{background-position:-200% 0}}.job-succeeded .job-icon{animation:success-pop .35s ease-out}@keyframes success-pop{50%{transform:scale(1.18)}}.price-auto-state{display:flex;align-items:center;gap:12px;padding:16px;background:#f2f3ed;border:1px solid var(--line);border-radius:8px}.price-auto-state>span{width:30px;height:30px;display:grid;place-items:center;color:var(--green);background:var(--surface);border-radius:50%}.price-auto-state div{display:grid;gap:3px}.price-auto-state strong{font-size:.77rem}.price-auto-state small{color:var(--muted);font-size:.67rem}.price-auto-state.is-active>span{animation:spin 1s linear infinite}
@media(max-width:720px){.automation-live{padding:0 16px}.automation-celebration{top:76px;right:14px;left:14px}}

/* Dossierdetail: taakgerichte navigatie en compactere informatiedichtheid. */
.detail-workspace{--detail-gap:32px}.detail-tabs{position:sticky;z-index:5;top:0;display:flex;gap:28px;margin-top:28px;padding:0;background:color-mix(in srgb,var(--paper) 94%,transparent);border-bottom:1px solid var(--line-dark);backdrop-filter:blur(10px)}.detail-tabs button{position:relative;min-height:52px;display:inline-flex;align-items:center;gap:8px;padding:0;color:var(--muted);background:transparent;border:0;cursor:pointer;font-size:.75rem;font-weight:700;white-space:nowrap}.detail-tabs button::after{position:absolute;right:0;bottom:-1px;left:0;height:2px;content:"";background:transparent}.detail-tabs button:hover{color:var(--ink)}.detail-tabs button:focus-visible{outline:2px solid var(--accent-dark);outline-offset:-4px}.detail-tabs button.is-active{color:var(--ink)}.detail-tabs button.is-active::after{background:var(--accent-dark)}.detail-tabs button span{min-width:20px;padding:3px 6px;color:#684a34;text-align:center;background:#f3e7dc;border-radius:999px;font-size:.6rem}.detail-workspace .detail-grid{gap:54px;margin-top:var(--detail-gap)}.detail-workspace .detail-primary{gap:var(--detail-gap)}.detail-workspace .detail-section:last-child{border-bottom:0}.detail-section-title{margin:-10px 0 24px;font-family:"Manrope",sans-serif;font-size:1.3rem}.intake-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;padding-bottom:26px;border-bottom:1px solid var(--line-dark)}.intake-intro .section-kicker{margin-bottom:9px}.intake-intro h2{margin:0;font-family:"Manrope",sans-serif;font-size:1.45rem}.intake-intro p{max-width:420px;margin:0;color:var(--muted);font-size:.72rem;line-height:1.5;text-align:right}.intake-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 42px}.intake-group{min-width:0;padding:30px 0 34px;border-bottom:1px solid var(--line)}.intake-group-wide{grid-column:1/-1}.intake-group h2{margin:0 0 22px;font-family:"Manrope",sans-serif;font-size:1rem}.intake-group .facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px}.room-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.room-detail{background:var(--surface);border:1px solid var(--line);border-radius:12px}.room-detail summary{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;cursor:pointer;list-style:none}.room-detail summary::-webkit-details-marker{display:none}.room-detail summary>span:first-child{display:grid;gap:3px}.room-detail summary strong{font-size:.8rem}.room-detail summary small{color:var(--muted);font-size:.66rem}.room-toggle{font-size:1.1rem;transition:transform 160ms ease}.room-detail[open] .room-toggle{transform:rotate(45deg)}.room-detail>.facts{margin:0 16px 18px;padding-top:18px;border-top:1px solid var(--line)}.room-detail:focus-within{border-color:var(--accent-dark)}

@media(max-width:980px){.detail-workspace .detail-grid{gap:32px}.intake-layout{gap:0 28px}.room-list{grid-template-columns:1fr}}
@media(max-width:720px){.detail-workspace{--detail-gap:24px}.detail-tabs{gap:22px;overflow-x:auto;margin-right:-14px;margin-left:-14px;padding:0 14px;scrollbar-width:none}.detail-tabs::-webkit-scrollbar{display:none}.detail-tabs button{min-height:48px}.detail-workspace .detail-grid{margin-top:24px}.detail-workspace .detail-aside{grid-row:auto}.intake-intro{align-items:flex-start;flex-direction:column;gap:10px}.intake-intro p{text-align:left}.intake-layout{grid-template-columns:1fr}.intake-group-wide{grid-column:auto}.intake-group .facts{grid-template-columns:1fr 1fr}.room-detail>.facts{grid-template-columns:1fr}}
@media(max-width:480px){.intake-group .facts{grid-template-columns:1fr}}

/* Rustiger dossierbeeld: ruimte groepeert, één lijn markeert de tabnavigatie. */
.detail-workspace{animation:none}.detail-workspace .detail-heading{padding-bottom:0;border-bottom:0}.detail-workspace .detail-tabs{margin-top:28px}.detail-workspace .detail-section{padding-bottom:0;border-bottom:0}.detail-workspace .detail-primary{align-content:start;gap:40px}.detail-workspace .intake-intro{align-items:center;padding-bottom:0;border-bottom:0}.detail-workspace .intake-intro h2{font-size:1.35rem}.detail-workspace .intake-group{padding:28px 0 18px;border-bottom:0}.detail-workspace .intake-layout{row-gap:4px}.detail-workspace .detail-aside{padding:22px;background:#faf7f4;border:0;border-radius:12px}.detail-workspace .detail-aside .section-kicker{margin-bottom:16px}.detail-workspace .rule-proof{display:block;margin:22px 0 0;padding:0;border:0}.detail-workspace .rule-proof summary{color:var(--accent-dark);cursor:pointer;font-size:.7rem;font-weight:700}.detail-workspace .rule-proof summary:focus-visible{outline:2px solid var(--accent-dark);outline-offset:4px}.detail-workspace .rule-proof>div{display:grid;gap:7px;margin-top:16px}.detail-workspace .rule-proof code{font-size:.67rem;line-height:1.45}.detail-workspace .room-detail>.facts{border-top:1px solid var(--line)}
.case-filters{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 16px}.case-filters button{min-height:36px;display:inline-flex;align-items:center;gap:9px;padding:0 12px;color:var(--muted);background:transparent;border:1px solid var(--line-dark);border-radius:999px;cursor:pointer;font-size:.71rem;font-weight:700}.case-filters button[aria-pressed="true"]{color:var(--ink);background:var(--green-soft);border-color:var(--accent)}.case-filters button:hover{color:var(--ink);border-color:var(--accent-dark)}.case-filters button:focus-visible{outline:2px solid var(--accent-dark);outline-offset:2px}.case-filters span{color:var(--accent-dark);font-size:.65rem}
@media(max-width:720px){.detail-workspace .intake-intro{align-items:flex-start}.detail-workspace .intake-layout{row-gap:0}.detail-workspace .intake-group{padding:22px 0 12px}.detail-workspace .detail-grid{gap:30px}.case-filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}.case-filters button{flex:0 0 auto}}

/* Dossieroverzicht: de lijst is het werkvlak, de filters blijven op hun plek. */
.cases-workspace{animation:none}
/* Fasegegevens gebruiken dezelfde lijst, met ruimte voor concrete veldnamen. */
.requirements-source-basis{max-width:75ch;margin:20px 0;color:var(--muted);font-size:14px;line-height:1.5}
.requirements-question{display:grid;gap:9px;margin:24px 0}
.requirements-question>label{color:var(--ink);font-size:15px;font-weight:650}
.requirements-question>div{display:flex;align-items:flex-end;gap:12px;min-width:0}
.requirements-question textarea{flex:1;min-width:0;min-height:76px;padding:12px;color:var(--ink);background:var(--surface);border:1px solid var(--line-dark);border-radius:5px;resize:vertical;font:inherit;font-size:15px;line-height:1.5;caret-color:var(--accent-dark)}
.requirements-question textarea::placeholder{color:var(--muted);opacity:1}
.requirements-question button{flex:0 0 auto;min-height:44px;padding:10px 15px;color:var(--theme-on-accent);background:var(--accent);border:1px solid var(--accent);border-radius:5px;cursor:pointer;font:inherit;font-size:14px;font-weight:650}
.requirements-question button:hover{background:var(--accent-dark);border-color:var(--accent-dark)}
.requirements-question button:disabled{opacity:.55;cursor:default}
.requirements-question :focus-visible,.requirements-interpretation summary:focus-visible{outline:2px solid var(--accent-dark);outline-offset:3px}
.requirements-question>p{max-width:75ch;margin:0;color:var(--muted);font-size:14px;line-height:1.5}
.requirements-interpretation,.requirements-assistant-notice{margin:24px 0;padding:17px 0;border-block:1px solid var(--line);font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.requirements-interpretation p,.requirements-assistant-notice p{max-width:75ch;margin:7px 0;color:var(--muted)}
.requirements-interpretation p:first-child,.requirements-assistant-notice p:first-child{margin-top:0}
.requirements-interpretation strong,.requirements-assistant-notice>strong{color:var(--ink)}
.requirements-interpretation summary{width:fit-content;margin-top:12px;color:var(--accent-dark);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.requirements-planner-mode strong{color:var(--ink)}
.requirements-interpretation .requirements-draft-note{color:var(--ink)}
.requirements-fact dl{display:grid;grid-template-columns:minmax(120px,max-content) 1fr;gap:8px 18px;margin:12px 0}
.requirements-fact dl>div{display:contents}
.requirements-fact dt{color:var(--muted)}
.requirements-fact dd{margin:0;color:var(--ink)}
.requirements-fact a{color:var(--accent-dark)}
.requirements-fact-matches{display:grid;gap:8px;margin-top:12px}
@media (max-width:560px){.requirements-fact dl{grid-template-columns:1fr}.requirements-fact dt{margin-top:6px}}
@media(max-width:720px){.requirements-question>div{align-items:stretch;flex-direction:column}.requirements-question textarea{font-size:16px}.requirements-question button{width:100%}}
.requirements-filters{display:grid;grid-template-columns:minmax(150px,1fr) minmax(160px,1fr) minmax(210px,1.3fr) auto;align-items:end;gap:14px;margin:22px 0 10px}
.requirements-filters label{display:grid;min-width:0;gap:7px;color:var(--muted);font-size:14px}
.requirements-filters select{width:100%;min-height:42px;padding:8px 10px;color:var(--ink);background:var(--surface);border:1px solid var(--line-dark);border-radius:5px;font:inherit;font-size:14px}
.requirements-filters button,.requirements-pagination button{min-height:42px;padding:9px 13px;color:var(--ink);background:transparent;border:1px solid var(--line-dark);border-radius:5px;cursor:pointer;font:inherit;font-size:14px;white-space:nowrap}
.requirements-filters button:hover,.requirements-pagination button:hover{border-color:var(--accent-dark);background:var(--green-soft)}
.requirements-filters button:disabled,.requirements-pagination button:disabled{opacity:.55;cursor:default}
.requirements-filters :focus-visible,.requirements-pagination :focus-visible,.requirements-proof summary:focus-visible{outline:2px solid var(--accent-dark);outline-offset:3px}
.requirements-help{max-width:75ch;margin:0 0 22px;color:var(--muted);font-size:14px;line-height:1.5}
.requirements-summary{display:grid;gap:5px;margin:22px 0 18px;color:var(--muted);font-size:14px;line-height:1.5;font-variant-numeric:tabular-nums}
.requirements-summary strong{color:var(--ink);font-size:15px}
.requirements-result{border-top:1px solid var(--line)}
.cases-workspace .requirements-row{width:100%;grid-template-columns:minmax(0,1fr) minmax(0,.85fr) minmax(0,.9fr) minmax(0,1.4fr);align-items:start;gap:22px;padding:18px 10px;border:0;min-height:90px}
.cases-workspace .requirements-row>span{display:grid;min-width:0;gap:5px;font-size:14px;line-height:1.4;overflow-wrap:anywhere}
.cases-workspace .requirements-row>span:last-child{justify-items:start}
.dashboard-page .cases-workspace .case-row.requirements-row strong{font-size:14px;white-space:normal;overflow:visible}
.dashboard-page .cases-workspace .case-row.requirements-row small{font-size:14px;line-height:1.45;color:var(--muted);white-space:normal;overflow:visible}
.requirements-row:disabled{cursor:wait}
.requirements-proof{padding:0 10px 15px;color:var(--muted);font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.requirements-proof summary{width:fit-content;cursor:pointer;color:var(--accent-dark);text-decoration:underline;text-underline-offset:3px}
.requirements-proof p{margin:12px 0}
.requirements-proof dl{display:grid;gap:13px;margin:16px 0}
.requirements-proof dt{color:var(--ink);font-weight:600}
.requirements-proof dd{margin:4px 0 0}
.requirements-proof dd small{display:block;margin-top:4px}
.requirements-proof>small{display:block;margin-top:12px}
.requirements-proof small{font-size:14px}
.requirements-pagination{display:flex;align-items:center;justify-content:flex-end;gap:18px;padding-top:22px;border-top:1px solid var(--line);font-size:14px;font-variant-numeric:tabular-nums}
.requirements-error{color:var(--danger);font-size:14px;line-height:1.5}
@media(max-width:1100px){.requirements-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.requirements-filters button{justify-self:start}.cases-workspace .requirements-row{gap:16px}}
@media(max-width:720px){.requirements-filters{grid-template-columns:1fr;gap:16px}.requirements-filters select{font-size:16px}.requirements-filters button{justify-self:stretch}.cases-workspace .requirements-row{grid-template-columns:1fr;gap:10px;padding:18px 4px}.cases-workspace .requirements-row>span:nth-child(n){display:grid}.requirements-location,.requirements-phase{grid-template-columns:1fr}.requirements-proof{padding-inline:4px}.requirements-pagination{justify-content:space-between;gap:10px}}
.cases-workspace .page-heading{align-items:center;margin-bottom:36px}
.cases-workspace .page-heading h1{margin:0 0 10px;font-size:clamp(2.1rem,3.2vw,3.1rem);letter-spacing:-.035em;line-height:1.08}
.cases-workspace .page-heading p{font-size:.85rem}
.cases-workspace .case-section{margin-top:0}
.cases-workspace .section-toolbar{margin-bottom:0}
.cases-workspace .section-toolbar h2{font-size:1.1rem}
.cases-workspace .case-filters{margin:24px 0 12px}
.cases-workspace .case-result-count{margin:0 0 10px;color:var(--muted);font-size:.72rem;font-variant-numeric:tabular-nums}
.cases-workspace .case-row:focus-visible{position:relative;z-index:1;outline:2px solid var(--accent-dark);outline-offset:-2px}
.cases-workspace .case-row>span:last-child .status{max-width:100%;line-height:1.25;white-space:normal}
.detail-status{display:grid;justify-items:end;gap:7px}
.detail-status small{color:var(--muted);font-size:.68rem}
.cases-workspace .case-mobile-meta,.cases-workspace .case-mobile-review{display:none}
@media(max-width:720px){.detail-status{justify-items:start}}
@media(max-width:720px){.cases-workspace .page-heading{align-items:stretch;gap:22px;margin-bottom:36px}.cases-workspace .page-heading h1{font-size:2.2rem}.cases-workspace .section-toolbar{gap:16px}.cases-workspace .case-filters{margin:19px 0 10px}.cases-workspace .case-row{gap:10px}.cases-workspace .case-row>span:last-child{min-width:105px}.cases-workspace .case-identity .case-mobile-meta,.cases-workspace .case-identity .case-mobile-review{display:block;font-size:.68rem;font-weight:400}.cases-workspace .case-identity .case-mobile-meta{color:var(--muted)}.cases-workspace .case-identity .case-mobile-review{color:var(--amber);font-weight:650}}

/* Aanvullende intake: de link naar het publieke vervolgformulier. Hij is maar
   één keer zichtbaar, dus hij mag niet wegvallen tussen de rest. */
.followup-link{display:grid;gap:10px;margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}
.followup-link .section-kicker{margin-bottom:0}
.followup-link p{margin:0}
.followup-link-value{overflow-wrap:anywhere;padding:10px;background:var(--surface);border:1px solid var(--line);border-radius:5px;font-size:.66rem;line-height:1.45}
.followup-link-actions{display:flex;flex-wrap:wrap;gap:8px}
.followup-link button{min-height:36px;padding:0 12px;background:transparent;border:1px solid var(--line-dark);border-radius:5px;cursor:pointer;font-size:.7rem;font-weight:650}
.followup-link button:disabled{opacity:.55;cursor:default}

/* Een duim is geen muisaanwijzer. Op een telefoon is alles wat je aantikt
   minstens 44 pixels hoog: dat is de ondergrens waarbij mensen niet meer
   mistikken. Een aantal knoppen zat op 36 of enkel op padding, en dat merk je
   pas wanneer iemand het echt op een toestel probeert. */
@media(max-width:720px){
  .back-link,
  .breadcrumbs button,
  .case-filters button,
  .empty-state a,
  .empty-state button,
  .followup-link button,
  .job-row>button,
  .review-card-footer button,
  .secondary-action,
  .teamleader-admin-banner button,
  .triage-modal-actions button{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
}

.quotation-preparation{display:grid;gap:16px}.quotation-preparation .section-kicker{margin:0}
.quotation-blockers{margin:0;padding:12px 16px 12px 32px;color:#80530d;background:#faeccf;border-left:3px solid #cf8c20;font-size:.72rem;line-height:1.6}
.quotation-form{display:grid;gap:20px}.quotation-line{display:grid;gap:14px;margin:0;padding:20px;border:1px solid var(--line-dark);border-radius:9px;background:var(--surface)}
.quotation-line legend{padding:0 8px;font-size:.8rem;font-weight:750}.quotation-line label{display:grid;gap:7px;font-size:.69rem;font-weight:650}
.quotation-line input,.quotation-line select,.quotation-line textarea{width:100%;min-height:42px;padding:9px 10px;color:var(--ink);background:var(--surface);border:1px solid var(--line-dark);border-radius:5px;font:inherit;font-weight:400}
.quotation-line textarea{resize:vertical}.quotation-line input:focus-visible,.quotation-line select:focus-visible,.quotation-line textarea:focus-visible{outline:2px solid var(--accent-dark);outline-offset:1px}
.quotation-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}.quotation-check{display:flex!important;align-items:start;gap:10px!important;line-height:1.5}.quotation-check input{width:auto;min-height:0;margin-top:2px}
.quotation-form-actions{display:flex;flex-wrap:wrap;gap:9px}.quotation-form-actions button,.quotation-line>button,.quotation-preparation .price-version>button{min-height:42px;padding:8px 12px;color:var(--navy);background:var(--surface);border:1px solid var(--line-dark);border-radius:5px;cursor:pointer;font-size:.7rem;font-weight:700}
.quotation-form-actions button[type=submit]{color:var(--theme-on-accent);background:var(--accent)}.quotation-form-actions button:disabled{opacity:.55;cursor:wait}.quotation-preview{margin-top:12px;padding:12px;background:var(--theme-surface-muted);border-left:3px solid var(--green);font-size:.7rem;line-height:1.5}.quotation-preview p{overflow-wrap:anywhere}
.quotation-financial-preview{display:grid;gap:15px;margin:15px 0}.quotation-preview-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 18px;margin:0}.quotation-preview-facts div,.quotation-preview-proofs div{min-width:0}.quotation-preview-facts dt,.quotation-preview-proofs dt{color:var(--muted);font-size:.65rem}.quotation-preview-facts dd,.quotation-preview-proofs dd{margin:2px 0 0;overflow-wrap:anywhere;font-weight:650}.quotation-preview-proofs{display:grid;gap:10px;margin:12px 0}.quotation-preview-proofs small{display:block;margin-top:3px;font-weight:400}.quotation-preview-lines{display:grid;gap:14px}.quotation-preview-lines section{display:grid;gap:12px;padding:13px;background:var(--surface);border:1px solid var(--line);border-radius:7px}.quotation-financial-preview summary{cursor:pointer;font-weight:700}
@media(max-width:720px){.quotation-fields,.quotation-preview-facts{grid-template-columns:1fr}.quotation-form-actions button{flex:1 1 100%}}
/* Bestanden meesturen bij het vervolgformulier. */
.upload-block{display:grid;gap:14px;margin:26px 0 0;padding:20px;border:1px solid var(--line);border-radius:8px}
.upload-block legend{padding:0 6px;color:var(--green);font-size:.68rem;font-weight:750;letter-spacing:.11em;text-transform:uppercase}
.upload-block p{margin:0}
.upload-block label{display:grid;gap:6px}
.upload-block input[type=file]{padding:10px 0;font-size:.78rem}
.upload-list{display:grid;gap:4px;margin:0;padding-left:18px;font-size:.76rem}

/* Meer informatie vragen: mailen of de link zelf bezorgen. */
.triage-channel{display:grid;gap:10px;margin:18px 0}
.triage-option{overflow:hidden;border:1px solid var(--line);border-radius:7px}
.triage-option.is-active{border-color:var(--accent-dark)}
.triage-channel .triage-choice{display:flex;align-items:flex-start;gap:11px;padding:14px;background:var(--surface);border:0;cursor:pointer}
.triage-channel .triage-choice.is-active{background:var(--theme-accent-soft)}
.triage-choice input{margin-top:3px;width:auto}
.triage-choice span{display:grid;gap:3px}
.triage-choice strong{font-size:.8rem}
.triage-choice small{color:var(--muted);font-size:.7rem;line-height:1.45}
.triage-mail-panel{display:grid;gap:4px;padding:0 14px 14px;background:var(--surface);border-top:1px solid var(--line)}
.triage-mail-details{background:none;border:0}
.triage-mail-details summary{padding:12px 0;color:var(--accent-dark);cursor:pointer;font-size:.72rem;font-weight:700}
.triage-mail-details summary:focus-visible{outline:2px solid var(--accent-dark);outline-offset:3px}
.triage-mail-body{padding:14px;background:var(--theme-surface-muted);border:1px solid var(--line);border-radius:5px;font-size:.76rem;line-height:1.55}
.triage-mail-body p{margin:0 0 10px}
.triage-mail-body p:last-child{margin:0}
.triage-mail-panel label{display:grid;gap:6px;margin-top:10px;font-size:.74rem}
.triage-mail-panel textarea{width:100%;padding:9px 11px;border:1px solid var(--line-dark);border-radius:5px;font:inherit;font-size:.76rem;resize:vertical}

/* Keep the sales exception focused on the one unresolved choice. */
.teamleader-review-modal{width:min(560px,100%);max-height:calc(100dvh - 40px)}
.teamleader-review-modal .triage-modal-actions{position:sticky;bottom:0;background:var(--surface);padding-top:16px;margin-top:20px}
.teamleader-exception-intro{color:var(--muted);line-height:1.5}
.teamleader-exception{border:0;padding:0;margin:22px 0}
.teamleader-exception legend{font-weight:600;margin-bottom:12px}
.teamleader-choice{display:flex!important;gap:12px;align-items:flex-start;padding:12px;margin:0!important;cursor:pointer;border-bottom:1px solid var(--line-dark)}
.teamleader-choice input{width:18px!important;min-height:18px!important;margin-top:3px!important;accent-color:var(--green);flex-shrink:0}
.teamleader-choice span{display:grid;gap:5px;overflow-wrap:anywhere}
.teamleader-choice small{color:var(--muted);line-height:1.5}
.teamleader-choice:focus-within{outline:2px solid var(--green);outline-offset:2px}
@media(max-width:600px){.teamleader-review-modal{max-height:calc(100dvh - 24px)}}

.teamleader-review-modal [hidden] { display: none !important; }
.teamleader-review-modal .teamleader-choice > span{font-size:.88rem;font-weight:400}
.teamleader-choice strong{line-height:1.45}
.teamleader-choice small,.teamleader-choice a{font-size:.78rem;font-weight:400}
.teamleader-review-modal .quiet{font-size:.8rem;line-height:1.5}

/* Readable dossier screens; keep shared intake and public form styles intact. */
.dashboard-page .cases-workspace .page-heading h1,
.dashboard-page .detail-workspace .detail-heading h1 {
  font-size: 2.125rem;
  line-height: 1.2;
  letter-spacing: -.025em;
  overflow-wrap: anywhere;
}
.dashboard-page .cases-workspace .page-heading p,
.dashboard-page .detail-workspace .detail-heading p {
  max-width: 65ch;
  font-size: .9375rem;
  line-height: 1.5;
}
.dashboard-page .cases-workspace .case-result-count,
.dashboard-page .cases-workspace .case-filters button,
.dashboard-page .cases-workspace .section-toolbar > div > span,
.dashboard-page .cases-workspace .search-field input,
.dashboard-page .cases-workspace .table-header {
  font-size: .875rem;
}
.dashboard-page .cases-workspace .case-filters span {
  color: var(--muted);
  font-size: .8125rem;
}
.dashboard-page .cases-workspace .case-row strong {
  font-size: .9375rem;
  line-height: 1.4;
}
.dashboard-page .cases-workspace .case-row small {
  font-size: .8125rem;
  line-height: 1.5;
}

.dashboard-page .detail-workspace .detail-heading > div > span {
  color: var(--muted);
  font-size: .8125rem;
  letter-spacing: .025em;
}
.dashboard-page .cases-workspace .case-identity strong {
  color: var(--ink);
  font-size: .9375rem;
  font-weight: 700;
  letter-spacing: 0;
}
.dashboard-page .cases-workspace .case-identity small {
  color: var(--muted);
  font-size: .8125rem;
  font-weight: 400;
}
.dashboard-page .cases-workspace .case-row > span:nth-child(3) small {
  white-space: normal;
}
.dashboard-page .detail-workspace .back-link,
.dashboard-page .detail-workspace .detail-tabs button,
.dashboard-page .detail-workspace .facts dt,
.dashboard-page .detail-workspace .customer-message small,
.dashboard-page .detail-workspace .triage-intro,
.dashboard-page .detail-workspace .triage-actions span,
.dashboard-page .detail-workspace .triage-notice,
.dashboard-page .detail-workspace .quiet,
.dashboard-page .detail-workspace .intake-intro p,
.dashboard-page .detail-workspace .owner small,
.dashboard-page .detail-workspace .rule-proof small,
.dashboard-page .detail-workspace .rule-proof summary,
.dashboard-page .detail-workspace .rule-proof code,
.dashboard-page .detail-workspace .room-detail summary small,
.dashboard-page .detail-workspace .job-row small,
.dashboard-page .detail-workspace .price-auto-state small {
  font-size: .875rem;
  line-height: 1.5;
}
.dashboard-page .detail-workspace .section-kicker {
  margin-bottom: 16px;
  color: var(--ink);
  font-size: .9375rem;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
}
.dashboard-page .detail-workspace .facts dd,
.dashboard-page .detail-workspace .customer-message p,
.dashboard-page .detail-workspace .triage-actions strong,
.dashboard-page .detail-workspace .owner strong,
.dashboard-page .detail-workspace .room-detail summary strong,
.dashboard-page .detail-workspace .job-row strong {
  font-size: 1rem;
  line-height: 1.5;
}
.dashboard-page .detail-workspace .customer-message p,
.dashboard-page .detail-workspace .triage-intro {
  max-width: 65ch;
}
.dashboard-page .detail-workspace .triage-intro {
  margin: 0 0 18px;
}
.dashboard-page .detail-workspace .rule-proof summary {
  color: var(--ink);
}
.dashboard-page .triage-modal > p,
.dashboard-page .triage-modal label > span,
.dashboard-page .triage-modal-actions button,
.dashboard-page .triage-modal .triage-form-error {
  font-size: .875rem;
  line-height: 1.5;
}
@media (max-width: 720px) {
  .dashboard-page .cases-workspace .page-heading h1,
  .dashboard-page .detail-workspace .detail-heading h1 {
    font-size: 1.875rem;
  }
  .dashboard-page .cases-workspace .case-identity strong {
    white-space: normal;
    overflow-wrap: anywhere;
  }
  .dashboard-page .cases-workspace .case-identity .case-mobile-meta,
  .dashboard-page .cases-workspace .case-identity .case-mobile-review {
    font-size: .8125rem;
    line-height: 1.5;
  }
  .dashboard-page .cases-workspace .case-identity .case-mobile-meta {
    color: var(--muted);
    font-weight: 400;
  }
  .dashboard-page .cases-workspace .case-identity .case-mobile-review {
    color: var(--amber);
    font-weight: 650;
  }
}

/* Alleen uitzonderingen krijgen woorden, en dan ook een eigen kleur. */
.case-alert{color:var(--theme-warning-text)!important}
.toolbar-filters{display:flex;align-items:center;gap:10px}
.sales-filter{position:relative;display:inline-flex}
.sales-filter select{min-height:40px;padding:0 40px 0 13px;appearance:none;color:var(--ink);background:var(--surface);border:1px solid var(--line-dark);border-radius:6px;font:inherit;font-size:.74rem}
.sales-filter>svg{position:absolute;top:50%;right:12px;width:16px;height:16px;color:var(--muted);transform:translateY(-50%) rotate(90deg);pointer-events:none}
@media(max-width:720px){.toolbar-filters{flex-direction:column;align-items:stretch;width:100%}.sales-filter select{width:100%}}

/* De plaatsbezoekwizard. Twee momenten naast elkaar op een breed scherm, onder
   elkaar op een tablet; een verkoper vult dit soms staand op de werf in. */
.site-visit-wizard{border:1px solid var(--theme-border);border-radius:10px;padding:18px 18px 8px;margin:18px 0 0;display:grid;gap:14px}
.site-visit-wizard legend{padding:0 6px;font-size:13px;font-weight:600;letter-spacing:.02em;color:var(--theme-text-muted)}
.site-visit-moment{display:grid;grid-template-columns:1fr 150px;gap:12px;align-items:end}
.site-visit-moment .case-alert{grid-column:1/-1;margin:0}
.site-visit-add{justify-self:start;background:var(--theme-surface-subtle);border:1px solid var(--theme-border);border-radius:7px;padding:8px 14px;font-size:13px}
.site-visit-add:hover{background:var(--surface)}
/* SP1.03d: het echte Google-venster. Standaard dicht, want het laadt een hele
   pagina van Google. */
.agenda-embed{border-bottom:1px solid var(--theme-border);background:var(--theme-surface-subtle)}
.agenda-embed>summary{display:flex;align-items:center;gap:6px;padding:8px 10px;font-size:13px;color:var(--theme-text-muted);cursor:pointer;list-style:none}
.agenda-embed>summary::-webkit-details-marker{display:none}
.agenda-embed[open]>summary{border-bottom:1px solid var(--theme-border)}
.agenda-embed iframe{display:block;width:100%;height:460px;border:0;background:var(--theme-surface)}
.agenda-embed .quiet{margin:0;padding:8px 10px;font-size:12px}
@media(max-width:720px){.agenda-embed iframe{height:360px}}

/* SP1.03b: het weekraster met vrije uren. Werkt met de tokens van het thema,
   zodat donkere modus meekomt zonder een tweede palet. */
.agenda-grid-wrap{border:1px solid var(--theme-border);border-radius:9px;overflow:hidden}
.agenda-grid-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;background:var(--theme-surface-subtle);border-bottom:1px solid var(--theme-border);font-size:13px;color:var(--theme-text-muted)}
.agenda-grid-head button{background:none;border:1px solid var(--theme-border);border-radius:6px;width:28px;height:28px;line-height:1;font-size:15px;color:inherit}
.agenda-grid-head button:disabled{opacity:.35}
/* SP1.03e: een echte agendaweek. Elk uur is even hoog, zodat een blok dat
   anderhalf uur duurt ook anderhalf vakje beslaat. */
.agenda-grid{display:grid;grid-template-columns:44px repeat(5,1fr);gap:1px;background:var(--theme-border);padding:1px}
.agenda-day,.agenda-hours{display:flex;flex-direction:column;background:var(--theme-surface)}
.agenda-day-label{display:block;font-size:11.5px;font-weight:600;color:var(--theme-text-muted);text-align:center;padding:6px 2px;text-transform:capitalize;min-height:26px}
/* De hoogte komt van de negen uurvakjes; de blokken liggen erover in procent. */
.agenda-day-body{position:relative;display:grid;grid-template-rows:repeat(9,26px)}

/* Het raster toont de hele werkweek, dus ook dagen die al voorbij zijn: die
   geven de week haar vorm en houden de kolommen op hun plaats. Zonder
   onderscheid lijken vijf gelijke kolommen vijf gelijke mogelijkheden, en moet
   je de datums lezen om te weten waar je bent.
   Voorbije dagen wijken daarom terug in plaats van te verdwijnen: minder
   verzadigd en lichter, maar nog leesbaar. */
/* Het verschil zit in de kolom, niet in het label. Alleen het label doffer
   maken werkte niet: de dagen die nog komen staan daar al in een gedempte
   kleur, en twee tinten grijs naast elkaar leest niemand als verleden tegen
   toekomst. Een eigen ondergrond voor de hele kolom zie je in één oogopslag. */
/* De kleur van de pagina achter de kaart, niet een gedempt oppervlak. In het
   donkere thema is "gedempt" juist lichter dan gewoon, waardoor voorbije dagen
   naar voren sprongen in plaats van terug te wijken. De paginakleur is in
   beide thema's donkerder dan het oppervlak, dus die wijkt altijd de goede
   kant op: de kolom leest als een gat in plaats van als een vlak. */
.agenda-day-past{background:var(--theme-canvas)}
.agenda-day-past .agenda-day-label{font-weight:500;color:var(--theme-text-soft);opacity:.55}
/* Niet de hele kolom doezelen: de uurvakjes staan al op .45, en twee lagen
   waas over elkaar maakt een dag onleesbaar in plaats van teruggetrokken. Het
   bezette blok draagt de kleur en de titel, dus dat is wat moet wijken. */
.agenda-day-past .agenda-busy{filter:saturate(.1);opacity:.45}
.agenda-day-past .agenda-slot{background:transparent}

/* Vandaag is het ijkpunt waartegen je de rest leest, en tegelijk géén keuze:
   een voorstel begint ten vroegste morgen (R-AGE-006). Vandaar een merk op de
   kop en geen gevulde kolom; een gevulde kolom zou aanklikbaar lijken terwijl
   er niets te klikken valt. De uren eronder blijven dof, en juist dat verschil
   tussen een heldere kop en doffe uren zegt "hier ben je, maar niet meer". */
.agenda-day-today .agenda-day-label{color:var(--theme-accent-strong);font-weight:700;
  letter-spacing:.01em;box-shadow:inset 0 -2px 0 var(--theme-accent-strong)}
.agenda-hours .agenda-day-body span{font-size:10.5px;color:var(--theme-text-soft);text-align:right;padding-right:5px;font-variant-numeric:tabular-nums;transform:translateY(-6px)}
.agenda-slot{border:0;border-top:1px solid var(--theme-border);background:var(--theme-surface);padding:0;cursor:default}
.agenda-slot:first-child{border-top:0}
.agenda-slot-free{background:var(--theme-surface-subtle);cursor:pointer}
/* Voorbij, te lang en buiten het venster zijn geen van drie een keuze. Eén
   grijstint volstaat; drie uit elkaar houden vraagt uitleg die er niet is. */
.agenda-slot-past,.agenda-slot-too_long,.agenda-slot-outside{background:var(--theme-surface-muted);opacity:.45}
/* Een keuze valt sinds 14/10/2026 op een kwartier, dus ze is geen heel vak
   meer. Ze krijgt een eigen blok op haar echte plaats én met haar echte duur;
   dat laatste viel met hele uren alleen maar te raden. Bovenop de bezette
   blokken, anders zie je je eigen keuze niet. */
.agenda-chosen{position:absolute;left:2px;right:2px;z-index:2;pointer-events:none;
  border-radius:4px;background:var(--theme-accent);
  box-shadow:inset 0 0 0 2px var(--theme-accent-strong)}
.agenda-chosen span{display:block;padding:1px 4px;font-size:10px;line-height:1.3;
  font-weight:600;color:var(--theme-on-accent);font-variant-numeric:tabular-nums}

/* Het voorbeeldvak dat onder de muis meeloopt.
   Eerst kleurde het hele uurvak op terwijl het tijdstip ernaast het kwartier
   aanwees: beeld en tekst wezen dus een ander moment aan. Nu staat het vak op
   precies de plaats en met precies de lengte van het bezoek dat de klik maakt,
   zoals in Google Agenda. */
.agenda-preview{position:absolute;left:2px;right:2px;z-index:3;pointer-events:none;
  border-radius:4px;border:2px dashed var(--theme-accent-strong);
  background:color-mix(in srgb, var(--theme-accent) 35%, transparent)}
.agenda-preview span{display:block;padding:0 4px;font-size:10px;line-height:1.4;
  font-weight:600;color:var(--theme-accent-strong);font-variant-numeric:tabular-nums}
/* Wat niet kan, licht ook niet op alsof het wel kan. */
.agenda-preview[data-ok="false"]{border-color:var(--theme-border-strong);
  background:color-mix(in srgb, var(--theme-text-soft) 20%, transparent)}
.agenda-preview[data-ok="false"] span{color:var(--theme-text-soft)}
/* Het bezette blok: beeld, geen knop. Kliks gaan erdoorheen naar het uurvakje,
   dat daar toch uitgeschakeld staat. */
.agenda-busy{position:absolute;left:2px;right:2px;z-index:1;pointer-events:none;border-radius:4px;
  background:repeating-linear-gradient(135deg,var(--theme-border-strong) 0 5px,transparent 5px 10px);
  border:1px solid var(--theme-border-strong);overflow:hidden}
/* De titel staat op een effen vlakje, anders leest ze niet over de arcering. */
.agenda-busy span{display:block;margin:1px;padding:1px 3px;font-size:10px;line-height:1.2;
  background:var(--theme-surface);color:var(--theme-text-muted);border-radius:3px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* Loopt de afspraak door buiten de werkuren, dan blijft die rand open. */
.agenda-busy-open-top{border-top:0;border-top-left-radius:0;border-top-right-radius:0}
.agenda-busy-open-bottom{border-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0}
@media(max-width:720px){
  .site-visit-moment{grid-template-columns:1fr}
  /* Vijf kolommen passen niet op een telefoon; scrollen is beter dan knijpen. */
  .agenda-grid{grid-template-columns:38px repeat(5,minmax(68px,1fr));overflow-x:auto}
}
/* Het bronmerkteken staat alleen op een dossier dat uit een mailbox komt. */
.case-chips{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin-top:2px}
.case-source,.case-assessment,.case-reassigned{justify-self:start;width:max-content;max-width:100%;
  padding:.08rem .35rem;border-radius:.25rem;font-size:.62rem;font-weight:600;line-height:1.5;white-space:nowrap}
.case-source{background:var(--theme-accent-soft,rgba(0,0,0,.06));color:var(--theme-accent-text,inherit)}
/* Het oordeel in de dossierlijst. Vier banden, zodat twijfel ook visueel twijfel is. */

.case-assessment.tone-high{background:rgba(22,163,74,.12);color:var(--theme-success-text,#166534)}
.case-assessment.tone-likely{background:rgba(22,163,74,.08);color:var(--theme-success-text,#166534)}
.case-assessment.tone-doubt{background:rgba(217,119,6,.12);color:var(--theme-warning-text,#92400e)}
.case-assessment.tone-low{background:rgba(217,119,6,.18);color:var(--theme-warning-text,#92400e)}
.case-assessment.tone-unknown{background:rgba(0,0,0,.06)}
/* S7.24 Een doorgestuurde mail valt op bij de nieuwe verkoper: van wie, en op de kaart ook waarom. */
.case-reassigned{background:var(--theme-info-surface);color:var(--theme-info-text);border:1px solid var(--theme-info-border)}
.triage-forwarded{margin:0 0 12px;padding:10px 12px;color:var(--theme-info-text);background:var(--theme-info-surface);border-left:3px solid var(--theme-info-indicator);font-size:.74rem;line-height:1.5}
/* S7.15 Bestanden via een link: gemeld, niet opgehaald. */
.file-links{display:grid;gap:8px;margin:10px 0 0;padding:0;list-style:none}
.file-links li{display:grid;gap:2px}
.file-links a{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:.74rem}
.file-link-expired{color:var(--theme-warning-text,#92400e);font-size:.68rem}
/* S7.17 Andere dossiers van dezelfde klant. */
.related-cases-card h2 .info-tip{margin-left:6px}
.related-cases{display:grid;gap:10px;margin:10px 0 0;padding:0;list-style:none}
.related-cases li{display:grid;gap:2px}
.related-cases a{display:flex;flex-wrap:wrap;gap:6px;align-items:baseline;font-size:.74rem}
.related-cases a span{color:var(--muted)}
.related-cases small{color:var(--muted);font-size:.68rem}
/* Het dossier van een mailaanvraag: eerst het bericht, onderaan de bijlagen in beeld. */
.mail-messages-panel,.documents-panel{margin-bottom:18px}
.mail-message{display:grid;gap:6px;padding:14px 0;border-top:1px solid var(--line)}
.mail-message:first-of-type{border-top:0}
.mail-message header{display:flex;justify-content:space-between;gap:10px;font-size:.74rem}
.mail-message time,.mail-message-meta{color:var(--muted);font-size:.7rem}
.mail-message-meta,.mail-message-subject{margin:0}
.mail-message-subject{font-weight:700;font-size:.78rem}
.mail-message-body{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.8rem;line-height:1.6;max-height:520px;overflow:auto}
.overview-panel .intake-panel-header .overview-edit{width:auto;min-height:32px;margin-left:auto;padding:0 14px}
.mail-extraction-take{grid-column:3;justify-self:end;padding:2px 0;color:var(--green);background:none;border:0;font-size:.7rem;font-weight:700;cursor:pointer;text-decoration:underline}
.customer-edit-panel{margin-bottom:18px}
.customer-edit-panel fieldset{margin:0 0 18px;padding:0;border:0}
.customer-edit-panel legend{margin-bottom:10px;color:var(--green);font-size:.68rem;font-weight:750;letter-spacing:.11em;text-transform:uppercase}
.customer-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}
.customer-edit-field{display:grid;gap:5px;font-size:.72rem;color:var(--muted)}
.customer-edit-field.is-wide{grid-column:1 / -1}
.customer-edit-field input,.customer-edit-field select,.customer-edit-field textarea{width:100%;min-height:38px;padding:7px 10px;color:var(--ink);background:var(--theme-surface);border:1px solid var(--line-dark);border-radius:5px;font:inherit;font-size:.8rem}
.customer-edit-field [data-prefilled]{border-color:var(--green)}
.customer-edit-prefilled{color:var(--green);font-weight:700}
.customer-edit-note{margin:0 0 12px;color:var(--muted);font-size:.68rem}
.customer-edit-actions{display:flex;gap:10px;align-items:center}
.customer-edit-actions .secondary-action{width:auto;padding:0 16px}
.customer-edit-room{margin:0 0 14px!important;padding:14px!important;border:1px solid var(--line-dark)!important;border-radius:6px}
.customer-edit-room legend{padding:0 6px}
.customer-edit-checks{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;margin-top:12px;font-size:.76rem;color:var(--ink)}
.customer-edit-checks.is-wide{grid-column:1 / -1;margin-top:0}
.customer-edit-checks>span{flex-basis:100%;font-size:.72rem;color:var(--muted)}
.customer-edit-checks label{display:inline-flex;gap:6px;align-items:center}
.customer-edit-fixtures{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;margin-top:14px}
.customer-edit-fixture{display:grid;grid-template-columns:minmax(0,1fr) auto 80px;gap:8px;align-items:center;font-size:.74rem;color:var(--ink)}
.customer-edit-fixture select,.customer-edit-fixture input{min-height:34px;padding:5px 8px;color:var(--ink);background:var(--theme-surface);border:1px solid var(--line-dark);border-radius:5px;font:inherit;font-size:.76rem}
.customer-edit-add-room{width:auto;padding:0 16px;margin-bottom:8px}
@media (max-width:560px){.customer-edit-grid{grid-template-columns:1fr}.customer-edit-fixtures{grid-template-columns:1fr}}
.mail-extraction-panel{margin-bottom:18px}
.mail-extraction-fields{list-style:none;margin:0;padding:0;display:grid}
.mail-extraction-field{display:grid;grid-template-columns:minmax(110px,30%) 1fr auto;gap:4px 12px;align-items:baseline;padding:9px 0;border-top:1px solid var(--line);font-size:.78rem}
.mail-extraction-field:first-child{border-top:0}
.mail-extraction-field span{color:var(--muted)}
.mail-extraction-field strong{overflow-wrap:anywhere}
.mail-extraction-field em{font-style:normal;font-size:.68rem;color:var(--muted)}
.mail-extraction-needs_review em,.mail-extraction-ambiguous em,.mail-extraction-conflict em{color:var(--warning,var(--muted));font-weight:700}
.mail-extraction-quote{grid-column:2 / -1;color:var(--muted);font-size:.7rem}
.mail-extraction-note{margin:10px 0 0;color:var(--muted);font-size:.7rem}
@media (max-width:560px){.mail-extraction-field{grid-template-columns:1fr auto}.mail-extraction-field span{grid-column:1 / -1}.mail-extraction-quote{grid-column:1 / -1}}
.document-preview{display:grid;gap:10px;padding:14px 0;border-top:1px solid var(--line)}
.document-preview:first-of-type{border-top:0}
.document-preview header{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;font-size:.76rem}
.document-preview header span{color:var(--muted)}
.document-download{margin-left:auto;font-weight:700;font-size:.72rem}
.document-frame{width:100%;height:min(80vh,900px);border:1px solid var(--line);border-radius:6px;background:var(--theme-surface)}
.document-image{display:block;max-width:100%;height:auto;border:1px solid var(--line);border-radius:6px}
/* Naslag die niet altijd in beeld moet: ingeklapt onder de actie en de eigenaar. */
.aside-more>summary{display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none;font-weight:700;font-size:.8rem}
.aside-more>summary::-webkit-details-marker{display:none}
.aside-more>summary span{color:var(--muted);font-weight:500;font-size:.72rem}
.aside-more>summary svg{margin-left:auto;transition:transform .15s}
.aside-more[open]>summary svg{transform:rotate(90deg)}
.aside-more .aside-card{margin:14px 0 0;padding:0;border:0;background:none;box-shadow:none}
.case-unassigned{color:var(--theme-text-soft);font-weight:500;font-style:italic}
.case-moment{color:var(--theme-text-soft)}
.file-links-block{padding-top:14px;border-top:1px solid var(--line)}
.file-links-block h3{margin:0 0 6px;font-size:.76rem}
.file-links-block h3{display:flex;align-items:center;gap:6px}

/* Uitleg die pas verschijnt als iemand erom vraagt: zweven, tabben of tikken.
   Geen `title`, want die wacht een seconde, verdwijnt vanzelf en bestaat niet
   voor een toetsenbord of een vinger. */
.info-tip{position:relative;display:inline-flex;vertical-align:middle;line-height:0}
.info-tip-button{display:grid;place-items:center;width:15px;height:15px;padding:0;
  color:var(--theme-text-soft);background:transparent;
  border:1px solid currentColor;border-radius:50%;
  font-family:inherit;font-size:9px;font-weight:700;font-style:italic;line-height:1;cursor:help}
.info-tip-button:hover,.info-tip-button:focus-visible{color:var(--theme-accent-strong)}
.info-tip-button:focus-visible{outline:2px solid var(--theme-accent-strong);outline-offset:2px}
.info-tip-bubble{position:absolute;bottom:calc(100% + 8px);left:50%;z-index:5;
  width:max-content;max-width:min(260px,70vw);padding:8px 10px;
  color:var(--theme-text);background:var(--theme-surface);
  border:1px solid var(--theme-border-strong);border-radius:7px;
  box-shadow:0 8px 24px #00141f33;
  font-size:.72rem;font-weight:400;font-style:normal;line-height:1.45;text-align:left;white-space:normal;
  opacity:0;visibility:hidden;transform:translate(-50%,3px);transition:opacity .12s,transform .12s,visibility .12s}
/* Het pijltje: twee lagen, zodat de rand doorloopt in plaats van erdoorheen. */
.info-tip-bubble::before,.info-tip-bubble::after{content:"";position:absolute;top:100%;left:50%;
  width:0;height:0;border:6px solid transparent;transform:translateX(-50%)}
.info-tip-bubble::before{border-top-color:var(--theme-border-strong)}
.info-tip-bubble::after{margin-top:-1px;border-top-color:var(--theme-surface)}
.info-tip:hover .info-tip-bubble,.info-tip-button:focus-visible+.info-tip-bubble{
  opacity:1;visibility:visible;transform:translate(-50%,0)}
@media (prefers-reduced-motion:reduce){.info-tip-bubble{transition:none}}
/* Na accepteren: de oorspronkelijke mail ingeklapt onder de gegevens. */
.original-mail>summary{display:flex;align-items:baseline;gap:10px;cursor:pointer;list-style:none}
.original-mail>summary::-webkit-details-marker{display:none}
.original-mail>summary h2{margin:0}
.original-mail>summary span{color:var(--muted);font-size:.74rem}
