/* Single advisor workflow: chooser above event data; one settings host. */
.advisor-view #advisor-case-picker{display:grid;grid-template-columns:minmax(120px,1fr) minmax(150px,2fr);gap:10px;margin:8px 0}
.advisor-view #advisor-case-picker label{min-width:0;margin:0;font-size:13px}
.advisor-view #advisor-case-picker input,.advisor-view #advisor-case-picker select{width:100%;min-width:0}
.advisor-view #customer-toolbar .badge{white-space:normal;font-size:11px}
.advisor-view #customer-settings #personnel-settings{margin:8px 0;padding:0;border:0;background:none}
.advisor-view #customer-settings #staff-access h2{font-size:17px}
.advisor-view .source-info{font-size:12px;margin-top:4px}
.advisor-view .source-info summary{color:#b31d2d;cursor:pointer}
@media(max-width:600px){.advisor-view #advisor-case-picker{gap:6px;grid-template-columns:minmax(95px,1fr) minmax(150px,1.5fr)}}
/* Small visual cross, accessible target and original summary arrow retained. */
details .disclosure-close,#case-picker .disclosure-close{display:block;min-height:32px;width:32px;padding:0;margin:2px auto 4px;font-size:22px;line-height:1}
fieldset{min-inline-size:0}.preset-table select{min-width:160px}.preset-table td:nth-child(3){min-width:180px}.preset-table input[type=time]{min-width:140px}.preset-table{min-width:1450px;border-collapse:collapse}.preset-table th,.preset-table td{padding:8px;border-bottom:1px solid #d5ddd6;vertical-align:top}.preset-table th{font-size:12px;text-align:left}.preset-table td:first-child{min-width:240px}.preset-table input[type=checkbox]{width:20px;min-height:20px}.preset-table small{display:block;overflow-wrap:anywhere}
/* Editable price tables, confined mobile scrolling. */
.price-scroll{max-width:100%;overflow-x:auto}.price-table{border-collapse:collapse;width:100%;table-layout:fixed;margin:8px 0 16px}.price-table th,.price-table td{padding:6px;border-bottom:1px solid #d7dedb;text-align:left;overflow-wrap:anywhere;font-size:14px}.price-table input{width:100%;min-width:0;padding:7px;font-variant-numeric:tabular-nums}.price-table th{font-weight:600}#service-prices th:first-child{width:36%}#service-prices th:nth-child(2){width:30%}#weekday-prices{min-width:570px}#prices-editor{min-width:0}#prices-editor .hint{margin:8px 0}@media(max-width:500px){.price-table th,.price-table td{padding:4px;font-size:12px}.price-table input{padding:6px 3px;font-size:14px}}
/* Immediate selection + amount, one shared service label. */
body{padding-bottom:0}.comparison-grid .service-row{grid-template-columns:240px minmax(0,1fr)}.comparison-grid.compare .service-row{grid-template-columns:240px repeat(2,minmax(0,1fr))}.service-label{overflow-wrap:anywhere;padding:15px 12px;font-weight:600}.choice-price{display:grid;grid-template-columns:minmax(120px,1fr) 155px;column-gap:12px;align-items:start}.choice-price .choice{position:relative;display:grid;grid-template-rows:44px 23px;align-items:center}.choice-price .choice>label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.choice-price select{margin:0;height:44px}.choice-price output{height:44px;display:flex;align-items:center;justify-content:flex-end;text-align:right;font-variant-numeric:tabular-nums;font-weight:700;font-size:14px}.choice-price .origin{margin:0}.choice-price .option-checkbox{margin:0}.service-row .pair-cell{min-width:0}#compact-summary{position:fixed;bottom:0;left:0;right:0;z-index:9;background:#eaf3ed;border-top:2px solid #185b43;padding:8px 24px;box-shadow:0 -3px 10px #0002;font-size:14px}#compact-summary small{display:block;font-size:12px}.summary-sides{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}@media(max-width:650px){#compact-summary{padding:6px 10px;font-size:12px}.summary-sides{gap:8px}#compact-summary small{font-size:10px}.comparison-grid .service-row{grid-template-columns:160px minmax(0,1fr)}.comparison-grid.compare .service-row{grid-template-columns:160px repeat(2,minmax(0,1fr))}}
.bool-toggle{width:52px;height:44px;justify-self:start;font-size:25px;font-weight:800;padding:0;line-height:1}.bool-toggle.is-on{color:#185b43;background:#eaf3ed}.bool-toggle.is-off{color:#a1262c;background:#fff0f0}.bool-toggle.unknown{color:#785115;background:#fff5df}.bool-toggle:disabled{opacity:1;cursor:not-allowed}.unpriced-reason{font-size:11px;line-height:1.25;color:#785115}
.consulting-rows{display:grid;gap:.4rem}.consulting-rows>div{display:flex;justify-content:space-between;gap:1rem;padding:.8rem;border-bottom:1px solid #d4ded8;flex-wrap:wrap}.consulting-rows strong{white-space:normal}#consulting-plan{padding:1rem;background:white;border-radius:12px} [data-pair="amount-ka"] .service-label{white-space:normal;overflow-wrap:anywhere;hyphens:auto;line-height:1.4}.ka-arithmetic{white-space:normal!important;overflow-wrap:anywhere;line-height:1.5}
.plan-editor-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,160px);gap:1rem;padding:.5rem 0;border-bottom:1px solid #d4ded8}.plan-editor-row input[type="checkbox"]{width:auto;display:inline-block;margin-right:.5rem}.plan-editor-row input[type="time"]{min-width:0;width:100%}@media(max-width:500px){.plan-editor-row{grid-template-columns:1fr;gap:.25rem}}
:root{--ink:#202f2b;--muted:#596660;--line:#d5ddd6;--green:#185b43;--pale:#eaf3ed;--amber:#785115;--amber-bg:#fff5df}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:#fff;color:var(--ink);font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-size:15px;line-height:1.5}.shell{max-width:1450px;padding:26px 32px 50px;margin:auto}header{display:flex;justify-content:space-between;gap:15px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:24px}.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:700}.badge{font-size:12px;color:var(--muted);border:1px solid var(--line);border-radius:20px;padding:6px 12px}h1{font-size:30px;letter-spacing:-.7px;margin:0 0 14px}h2{font-size:21px;margin:0 0 12px}p{margin:8px 0 14px}.warning,#error{background:var(--amber-bg);color:var(--amber);padding:14px 18px;border-radius:8px;font-size:14px}#error{border:2px solid #994626;position:sticky;top:0;z-index:10}label{display:block;font-weight:600;font-size:14px}input,select,button,textarea{font:inherit;color:inherit;min-height:44px;border:1px solid #a8b5ad;border-radius:6px;background:#fff;padding:9px 10px}select,input,textarea{width:100%;min-width:0;margin-top:5px}input[type=number]{text-align:right;font-variant-numeric:tabular-nums}button{cursor:pointer}button:hover:not(:disabled){background:var(--pale);border-color:var(--green)}button:disabled{opacity:.55;cursor:wait}:focus-visible{outline:3px solid #247fdb;outline-offset:2px}.primary-button{background:var(--green);color:#fff}.primary-button:hover:not(:disabled){color:var(--green)}.shared{margin:26px 0;padding-bottom:14px;border-bottom:1px solid var(--line)}.shared-grid{display:grid;grid-template-columns:1.25fr repeat(3,1fr) 1.3fr;gap:16px}.hint{font-size:13px;color:var(--muted);font-weight:400}.toolbar{display:flex;align-items:end;gap:12px;margin:20px 0;flex-wrap:wrap}.table-scroll{overflow-x:auto;max-width:100%;border:1px solid var(--line);border-radius:8px}.comparison-grid{width:100%}.pair-row{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch}.compare .pair-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.pair-cell{min-width:0;padding:12px 20px;border-bottom:1px solid var(--line);border-left:1px solid transparent}.pair-cell+ .pair-cell{border-left:1px solid var(--line)}.location-row{background:var(--pale)}.option-checkbox{height:49px;display:flex;align-items:center}.option-checkbox input{width:24px;height:24px;min-height:24px;margin:0}.origin{display:block;height:20px;font-size:12px;color:var(--muted);margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pair-cell>label{height:22px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pair-cell>select{height:44px}.line{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:24px}.line strong{white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums}.full-help{border-bottom:1px solid var(--line);padding:6px 20px;background:#f8faf8;font-size:13px}.full-help summary{cursor:pointer;color:var(--muted)}.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.help-grid>div{min-width:0;overflow-wrap:anywhere}.total-row{background:var(--green);color:#fff}.result{height:100%;display:grid;grid-template-rows:1fr auto auto}.result>span{display:block;font-size:13px}.amount{display:block;text-align:right;font-size:28px;font-variant-numeric:tabular-nums;margin:8px 0}.quantities{font-size:13px}.blocked{font-size:13px}.blocked ul{padding-left:18px}.minimum{color:var(--amber)}.comparison-note{padding:18px;background:var(--pale);margin:18px 0;border-radius:8px}.override-tools,.unsupported{margin:16px 0;padding:12px;border:1px solid var(--line);border-radius:6px}.override-tools label{max-width:500px;display:inline-block;vertical-align:bottom}.override-tools button{margin-left:12px}.settings,.persistence{border-top:1px solid var(--line);margin-top:32px;padding-top:24px}.settings{background:#f8faf8;padding:24px;border:1px solid var(--line);border-radius:8px}.settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:16px 0}.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.check{display:flex;align-items:center;gap:10px;margin:12px 0;font-weight:500}.check input{width:20px;height:20px;min-height:20px;margin:0}fieldset{border:1px solid var(--line);border-radius:6px;margin:20px 0;padding:16px}legend{font-weight:600}.savebar{display:flex;align-items:end;gap:16px;flex-wrap:wrap}.savebar label{min-width:250px;flex:1}footer{margin-top:40px;border-top:1px solid var(--line);padding-top:20px;color:var(--muted);font-size:13px}#versions{overflow-wrap:anywhere}#settings-status,#save-status{font-weight:600}summary{cursor:pointer}small{overflow-wrap:anywhere}@media(max-width:800px){.shell{padding:20px 16px}.shared-grid{grid-template-columns:1fr 1fr}.settings-grid{grid-template-columns:1fr 1fr}.compare{min-width:900px}header{align-items:start;flex-direction:column}.settings{padding:16px}.check-grid{grid-template-columns:1fr}}@media(max-width:480px){.shared-grid,.settings-grid{grid-template-columns:1fr}.savebar{display:block}.savebar>*{width:100%;margin:8px 0}h1{font-size:27px}.toolbar{display:grid}.override-tools button{margin:12px 0;width:100%}.settings{padding:12px}.pair-cell{padding:12px}.help-grid{gap:16px}.amount{font-size:25px}}
/* Administration: scoped configuration, aligned comparison retained. */
.location-row .pair-cell,.location-row label,.location-row .eyebrow,.location-row select{text-align:left}.location-row select{text-align-last:left;direction:ltr;appearance:none;-webkit-appearance:none;padding-inline-end:32px;background-image:linear-gradient(45deg,transparent 50%,#596660 50%),linear-gradient(135deg,#596660 50%,transparent 50%);background-position:calc(100% - 17px) 19px,calc(100% - 12px) 19px;background-size:5px 5px;background-repeat:no-repeat}.location-row option{text-align:left;text-align-last:left;color:var(--ink)}.admin-entry{margin-left:auto;font-size:14px}.toolbar details{position:relative}.toolbar details[open]{flex-basis:100%;order:4;border-top:1px solid var(--line);padding:12px 0}.toolbar summary,#case-visibility>summary,.override-tools>summary{cursor:pointer;min-height:44px;padding:10px 0}.display-toggle.is-on{color:var(--green)}.display-toggle.is-off{color:#a1262c}.admin-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}.admin-nav{display:flex;flex-wrap:wrap;gap:6px;border-bottom:1px solid var(--line);padding:16px 0}.admin-nav [aria-pressed=true]{background:var(--pale);border-color:var(--green);font-weight:700}.admin-section{max-width:100%;padding:20px 0;min-width:0}.admin-section>label{max-width:700px;margin-bottom:16px}.admin-section h3{margin-top:0}.location-color-controls{display:grid;grid-template-columns:minmax(0,180px) minmax(0,320px);gap:16px;max-width:100%}.location-color-controls input[type=color]{padding:4px;cursor:pointer}.location-color-controls input{height:44px}.section-intro{max-width:900px;color:var(--muted)}.admin-savebar{display:flex;gap:10px;flex-wrap:wrap;padding:18px 0;border-top:1px solid var(--line)}.audit-table{border-collapse:collapse;width:100%;font-size:13px}.audit-table th,.audit-table td{padding:9px;border-bottom:1px solid var(--line);text-align:left}.audit-table td:nth-child(2),.audit-table td:nth-child(3),.audit-table td:nth-child(4){text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.audit-list dt{font-weight:700;margin-top:12px}.audit-list dd{margin:0}.admin-section small{overflow-wrap:anywhere}.visibility-sides{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.check small{display:block;font-weight:400;color:var(--amber)}.not-shown{font-size:12px;color:var(--muted)}#case-visibility{margin:10px 0}.settings{max-width:100%;min-width:0}.settings .check input{flex-shrink:0}.override-tools{font-size:13px}.admin-section .table-scroll{max-width:100%}@media(max-width:650px){.admin-heading{align-items:start;flex-direction:column}.admin-nav button{flex:1 1 140px}.admin-savebar button{width:100%}.visibility-sides{grid-template-columns:minmax(0,1fr)}.admin-entry{margin-left:0}.settings{padding:14px}.audit-table{min-width:630px}}
/* One shared preset and one financial table; responsive paired columns. */
.preset-time-row{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:0 16px}.preset-time-row .origin{grid-column:1/-1;height:auto;white-space:normal;overflow:visible}.package-choice{grid-column:1/-1;max-width:420px}
.fixed-row output{display:block;text-align:right;font-weight:700;font-variant-numeric:tabular-nums;min-height:44px;padding-top:10px}.comparison-grid [data-pair="blocks"],.comparison-grid .location-row,.comparison-grid .total-row{grid-template-columns:240px minmax(0,1fr)}.comparison-grid.compare [data-pair="blocks"],.comparison-grid.compare .location-row,.comparison-grid.compare .total-row{grid-template-columns:240px repeat(2,minmax(0,1fr))}[data-pair="blocks"]:before,.location-row:before,.total-row:before{content:""}.full-help{padding-top:3px;padding-bottom:3px}
@media(max-width:1100px){.comparison-grid .service-row,.comparison-grid [data-pair="blocks"],.comparison-grid .location-row,.comparison-grid .total-row{grid-template-columns:160px minmax(0,1fr)}.comparison-grid.compare .service-row,.comparison-grid.compare [data-pair="blocks"],.comparison-grid.compare .location-row,.comparison-grid.compare .total-row{grid-template-columns:160px repeat(2,minmax(0,1fr))}.choice-price{grid-template-columns:minmax(90px,1fr) 125px;gap:6px}.pair-cell{padding:10px}.choice-price output{font-size:13px}}
@media(max-width:800px){.compare{min-width:0}.comparison-grid .service-row,.comparison-grid [data-pair="blocks"],.comparison-grid .location-row,.comparison-grid .total-row{grid-template-columns:minmax(0,1fr)}.comparison-grid.compare .service-row,.comparison-grid.compare [data-pair="blocks"],.comparison-grid.compare .location-row,.comparison-grid.compare .total-row{grid-template-columns:repeat(2,minmax(0,1fr))}.service-label{grid-column:1/-1;padding:8px 10px 0}[data-pair="blocks"]:before,.location-row:before,.total-row:before{display:none}.choice-price{grid-template-columns:minmax(0,1fr);gap:0}.choice-price .choice{grid-template-rows:44px minmax(23px,auto)}.choice-price output{height:44px;font-size:13px}.choice-price .origin{white-space:normal;height:auto;min-height:23px;font-size:10px}.fixed-row output{min-height:32px;padding-top:0}.preset-time-row{grid-template-columns:minmax(0,1fr)}.preset-time-row>div+div{margin-top:12px}.amount{font-size:20px}.pair-cell>label{height:auto;white-space:normal}.pair-cell .origin{white-space:normal;height:auto}.summary-sides{gap:12px}.blocked{overflow-wrap:anywhere}.preset-time-row .origin{margin-top:8px}}


.management-bar{display:flex;flex-wrap:wrap;gap:.6rem;margin:.8rem 0}.management-bar p{flex-basis:100%}

/* Four consistent columns per variant; mobile scrolls the entire shared table. */
.comparison-grid{min-width:720px}.comparison-grid.compare{min-width:1280px}
.comparison-grid .service-row,.comparison-grid [data-pair="blocks"],.comparison-grid .location-row,.comparison-grid .total-row{grid-template-columns:180px minmax(0,1fr)}
.comparison-grid.compare .service-row,.comparison-grid.compare [data-pair="blocks"],.comparison-grid.compare .location-row,.comparison-grid.compare .total-row{grid-template-columns:180px repeat(2,minmax(0,1fr))}
.comparison-grid .service-label{grid-column:auto;padding:15px 12px}.comparison-grid [data-pair="blocks"]:before,.comparison-grid .location-row:before,.comparison-grid .total-row:before{display:block}
.calc-columns,.choice-price.calc-columns{display:grid;grid-template-columns:minmax(130px,1.2fr) minmax(80px,.8fr) minmax(95px,.9fr) minmax(115px,1fr);gap:4px 8px;align-items:start}
.service-label.afternoon-label{overflow-wrap:normal;word-break:normal}
.calc-columns>[data-quantity]{grid-column:2}
.calc-columns>span{padding-top:10px;text-align:right;font-variant-numeric:tabular-nums}.calc-columns>output{padding:0;height:44px;display:flex;font-size:14px}.column-headings{background:#f0f3f1;font-size:12px}.column-headings b:not(:first-child){text-align:right}.calculation-detail{grid-column:1/-1;color:#65716c;background:#f5f6f5;padding:5px 8px;font-size:12px;line-height:1.5}.calculation-detail b{color:#785115;font-weight:600}.choice-price.calc-columns .origin{white-space:normal;height:auto;font-size:11px}.weight-row{display:grid;grid-template-columns:minmax(160px,2fr) repeat(3,minmax(70px,1fr));gap:10px;border-bottom:1px solid #d5ddd6;padding:10px 0}.weight-row small{grid-column:1/-1}@media(max-width:600px){.weight-row{grid-template-columns:repeat(3,minmax(0,1fr))}.weight-row>b{grid-column:1/-1}}
/* Authorized tighter row rhythm: identical shared tracks and 44px controls retained. */
.comparison-grid .service-row .pair-cell{padding-top:5px;padding-bottom:5px}
.comparison-grid .service-row .service-label{padding-top:10px;padding-bottom:10px}
#confirmation-panel{max-width:100%;overflow-wrap:anywhere;border-top:1px solid var(--line);margin-top:32px;padding-top:24px}
#confirmation-panel>label:not(.check){max-width:420px}
#confirmation-panel button{max-width:100%;white-space:normal;margin:4px 8px 4px 0}
#confirmation-panel .check input{flex-shrink:0}
/* Date display shares the native control's 44px; focused editing stays native. */
.event-date-control{position:relative;height:44px;margin-top:5px}.event-date-control input{margin:0;height:44px;color:transparent}.event-date-control>span{position:absolute;z-index:1;left:10px;right:32px;top:0;line-height:44px;font-size:12px;font-weight:400;white-space:nowrap;pointer-events:none}.event-date-control:focus-within input{color:var(--ink)}.event-date-control:focus-within>span{visibility:hidden}
/* Dynamic management: white surface, shared timeline tracks, numeric alignment. */
#case-timeline,#preset-timeline-editor{min-width:0;background:#fff;margin:1rem 0;padding:.8rem;border:1px solid #dce3df;border-radius:.5rem}
#preset-timeline-editor:empty{display:none}.timeline-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;padding:.8rem 0;border-bottom:1px solid #dce3df}.timeline-row label{display:flex;flex-direction:column;gap:.3rem;min-width:0}.timeline-row input,.timeline-row select{width:100%;min-width:0;box-sizing:border-box}.timeline-row input[type=number]{text-align:right}.timeline-tools{grid-column:1/-1;display:flex;gap:.4rem;flex-wrap:wrap;align-items:center}.timeline-tools small{overflow-wrap:anywhere}.timeline-summary>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.8rem;border-bottom:1px solid #e3e7e5;padding:.5rem 0}.timeline-summary output{text-align:right;font-variant-numeric:tabular-nums}.timeline-summary span{overflow-wrap:anywhere}
@media(max-width:600px){.timeline-row{grid-template-columns:repeat(2,minmax(0,1fr))}.management-bar>*{max-width:100%}.management-bar select{max-width:100%}.timeline-tools small{flex-basis:100%}}
/* Accessible explanatory disclosures: pointer, keyboard and touch. */
.info-help{display:inline-block;padding:0;margin:0 0 0 4px;border:0;font-weight:400}
.info-help>summary{display:inline-block;cursor:pointer;list-style:none;font-size:17px;min-height:28px;padding:0 4px;color:var(--green)}
.info-help>summary::-webkit-details-marker{display:none}
.info-help .info-content{position:fixed;top:30vh;left:50%;transform:translateX(-50%);width:520px;max-width:calc(100vw - 32px);max-height:55vh;overflow:auto;padding:12px;background:white;border:1px solid var(--line);box-shadow:0 4px 20px #0003;z-index:50;font-size:13px;text-align:left;font-weight:400}
.info-help .help-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.info-help .disclosure-close{grid-column:1/-1}
.info-help .calculation-detail{display:block;margin-top:5px}
/* Compact paired tracks: one shared row defines both variants. */
.comparison-grid,.comparison-grid.compare{min-width:0}
.comparison-grid .calc-columns{grid-template-columns:minmax(0,1.2fr) minmax(0,.7fr) minmax(0,.9fr) minmax(0,1fr);gap:3px 6px}
.comparison-grid .choice-price .choice{grid-template-rows:auto;min-width:0}
.comparison-grid .origin:empty,.result>span:empty,.location-row .eyebrow{display:none}
.comparison-grid .pair-cell{padding:6px 8px;min-width:0;overflow-wrap:anywhere}
.comparison-grid .service-label{padding:8px;font-size:13px}
.comparison-grid .calc-columns>*{min-width:0}
.comparison-grid .choice-price output{font-size:13px;text-align:right;overflow-wrap:anywhere;height:auto;min-height:34px}
.comparison-grid .choice-price select{height:34px;min-height:34px;padding:4px;font-size:12px}
.comparison-grid .bool-toggle{height:34px;min-height:34px;width:38px;font-size:22px}
.comparison-grid .calc-columns>span{padding-top:6px;font-size:12px}
.comparison-grid .result{padding:8px}.quantities{font-size:12px}
@media(max-width:800px){
 .comparison-grid .service-row,.comparison-grid .location-row,.comparison-grid .total-row,.comparison-grid [data-pair="blocks"]{grid-template-columns:minmax(0,1fr)}
 .comparison-grid.compare .service-row,.comparison-grid.compare .location-row,.comparison-grid.compare .total-row,.comparison-grid.compare [data-pair="blocks"]{grid-template-columns:repeat(2,minmax(0,1fr))}
 .comparison-grid .service-label{grid-column:1/-1;padding:5px 8px 0}
 .comparison-grid .location-row:before,.comparison-grid .total-row:before,.comparison-grid [data-pair="blocks"]:before{display:none}
 .comparison-grid .calc-columns{grid-template-columns:repeat(2,minmax(0,1fr))}
 .comparison-grid .calc-columns>.choice{grid-column:1/-1}
 .comparison-grid .calc-columns>[data-quantity]{grid-column:1}
 .comparison-grid .calc-columns>output{grid-column:1/-1;justify-content:flex-end}
 .comparison-grid .column-headings{display:none}
 .comparison-grid [data-quantity]:before{content:'Menge: ';font-size:10px}
 .comparison-grid [data-rate]:before{content:'Preis: ';font-size:10px}
 .comparison-grid .location-row .eyebrow{display:none}
 .comparison-grid .pair-cell{padding:5px;overflow-wrap:anywhere}
 .comparison-grid .amount{font-size:18px}
}


/* Amount and its explanation each receive their own line. */
.comparison-grid .calc-columns>output.secure-amount{display:block;text-align:right}
.secure-amount>small{display:block;font-weight:400}

/* Shared customer/advisor presentation without changing authorization. */
:is(.customer-view,.advisor-view) header {position:relative;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
:is(.customer-view,.advisor-view) #customer-settings {position:relative;margin-right:auto}
:is(.customer-view,.advisor-view) #customer-settings summary {cursor:pointer;font-weight:600}
:is(.customer-view,.advisor-view) #customer-settings[open] {max-width:100%;padding:10px;background:#fff;border:1px solid #d8dedb;border-radius:8px}
:is(.customer-view,.advisor-view) #customer-settings select {max-width:100%}
:is(.customer-view,.advisor-view) #customer-info {font-size:14px;background:#f5f6f3;color:#34423b;border:1px solid #dce1dc;padding:14px;border-radius:8px}
:is(.customer-view,.advisor-view) #customer-info p {margin:6px 0}
:is(.customer-view,.advisor-view) #customer-calculation-title {text-decoration:underline;text-underline-offset:6px}
:is(.customer-view,.advisor-view) [data-total].result {display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:12px;background:#f3f5f2;color:#253b30;padding:12px;border:1px solid #d8dedb;border-radius:6px;min-height:0}
:is(.customer-view,.advisor-view) [data-total].result span {font-size:14px;line-height:1.25}
:is(.customer-view,.advisor-view) [data-total].result .amount {font-size:20px;line-height:1.25;white-space:nowrap;font-weight:600;margin:0}
@media(max-width:600px){:is(.customer-view,.advisor-view) [data-total].result {gap:8px;padding:10px}:is(.customer-view,.advisor-view) [data-total].result span {font-size:12px}:is(.customer-view,.advisor-view) [data-total].result .amount {font-size:17px}}

/* One authentic brand anchor, independent of comparison columns. */
:is(.customer-view,.advisor-view) header{padding-right:180px;min-height:142px;align-content:center}
:is(.customer-view,.advisor-view) #customer-brand-logo{position:absolute;right:0;top:0;width:160px;height:auto;display:block}
:is(.customer-view,.advisor-view) #customer-info{font-size:14px;line-height:1.5;padding:10px 14px}
:is(.customer-view,.advisor-view) #customer-info p{margin:4px 0}
@media(max-width:600px){:is(.customer-view,.advisor-view) header{padding-right:124px;min-height:104px;gap:6px}:is(.customer-view,.advisor-view) #customer-brand-logo{width:112px}:is(.customer-view,.advisor-view) header .badge{font-size:11px;padding:4px 6px}:is(.customer-view,.advisor-view) #customer-settings[open]{flex-basis:100%}}

/* Warm is a customer-only reading rhythm, never a calculation mode. */
:is(.customer-view,.advisor-view) #customer-settings summary{min-height:44px;padding:10px 0}
:is(.customer-view,.advisor-view) .customer-theme-choice{max-width:420px;margin:10px 0}
:is(.customer-view,.advisor-view).customer-warm{--ink:#36352f;--muted:#676259;--line:#ded8cb;--green:#705926;--pale:#f3eee2;background:#faf8f3;color:var(--ink)}
:is(.customer-view,.advisor-view).customer-warm .shell{max-width:1380px}
:is(.customer-view,.advisor-view).customer-warm header{border-color:#d4c5a4}
:is(.customer-view,.advisor-view).customer-warm h1,:is(.customer-view,.advisor-view).customer-warm h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:0;line-height:1.3}
:is(.customer-view,.advisor-view).customer-warm h1{font-size:32px}
:is(.customer-view,.advisor-view).customer-warm h2{font-size:24px}
:is(.customer-view,.advisor-view).customer-warm #customer-calculation-title{text-decoration:none;margin-top:28px;margin-bottom:6px}
:is(.customer-view,.advisor-view).customer-warm #customer-info{background:#fffdf8;border-color:#e4ddce;color:#575145;padding:14px 18px;border-radius:4px}
:is(.customer-view,.advisor-view).customer-warm #customer-info strong{font-weight:600;color:#4e4536}
:is(.customer-view,.advisor-view).customer-warm .shared{background:#fff;padding:22px 24px 18px;border:1px solid #e4ded2;border-radius:4px;margin:24px 0}
:is(.customer-view,.advisor-view).customer-warm .shared-grid{gap:20px 24px}
:is(.customer-view,.advisor-view).customer-warm .shared h2{margin-bottom:18px}
:is(.customer-view,.advisor-view).customer-warm .preset-time-row{border-top:1px solid #e9e4db;padding-top:16px;margin-top:4px}
:is(.customer-view,.advisor-view).customer-warm .table-scroll{background:#fff;border-radius:4px;border-color:#dcd4c3}
:is(.customer-view,.advisor-view).customer-warm .location-row{background:#f2ecdf}
:is(.customer-view,.advisor-view).customer-warm .column-headings{background:#faf8f3;color:#645d50}
:is(.customer-view,.advisor-view).customer-warm .comparison-grid .service-label{font-size:14px;font-weight:500;padding-top:14px;padding-bottom:14px}
:is(.customer-view,.advisor-view).customer-warm .comparison-grid .service-row .pair-cell{padding-top:9px;padding-bottom:9px}
:is(.customer-view,.advisor-view).customer-warm [data-total].result{background:#f2ecdf;border-color:#cbbd9b;color:#403923;border-radius:3px}
:is(.customer-view,.advisor-view).customer-warm input,:is(.customer-view,.advisor-view).customer-warm select{border-color:#b6ad9b;border-radius:4px}
:is(.customer-view,.advisor-view).customer-warm .toolbar{border-top:1px solid #ded8cb;padding-top:18px;margin-top:28px}
:is(.customer-view,.advisor-view).customer-warm .bool-toggle.is-on{color:#185b43;background:#edf3ed}
:is(.customer-view,.advisor-view).customer-warm #customer-settings[open]{background:#fffdf8;border-color:#d5c9af}
@media(max-width:600px){:is(.customer-view,.advisor-view).customer-warm .shared{padding:18px 14px}:is(.customer-view,.advisor-view).customer-warm .shared-grid{gap:16px}:is(.customer-view,.advisor-view).customer-warm h2{font-size:22px}:is(.customer-view,.advisor-view).customer-warm .comparison-grid .service-label{padding:10px 8px 4px}:is(.customer-view,.advisor-view).customer-warm .comparison-grid .service-row .pair-cell{padding:7px 5px}}

/* Narrow comparison: readable label above amount, single-location stays inline. */
@media(max-width:600px){:is(.customer-view,.advisor-view) .compare [data-total].result{display:flex;flex-direction:column;align-items:stretch;gap:6px}:is(.customer-view,.advisor-view) .compare [data-total].result span{width:100%;overflow-wrap:normal}:is(.customer-view,.advisor-view) .compare [data-total].result .amount{text-align:right}}

:is(.customer-view,.advisor-view).customer-warm .total-row{background:#f2ecdf}

:is(.customer-view,.advisor-view).customer-warm .shared-grid{align-items:end}

/* Shared photo/brand row; existing controls flow beneath it, never over it. */
header.photo-brand-header{display:flex;position:relative;flex-wrap:wrap;align-items:center;align-content:start;gap:12px;padding-right:0;padding-top:150px;min-height:0}
.photo-brand-header #visit-photo-placeholder{position:absolute;left:0;top:0;margin:0;width:min(320px,calc(100% - 184px));height:127px;display:flex;align-items:center;justify-content:center;padding:18px;border:1px solid #a99057;border-radius:4px;background:#252521;color:#f4e4ba;overflow:hidden;text-align:center;font-size:14px;line-height:1.5}
.photo-brand-header #visit-photo-placeholder::before,.photo-brand-header #visit-photo-placeholder::after{content:"";position:absolute;width:72px;height:72px;border:1px solid #a99057;transform:rotate(45deg);opacity:.45;pointer-events:none}
.photo-brand-header #visit-photo-placeholder::before{left:-49px;top:-22px}
.photo-brand-header #visit-photo-placeholder::after{right:-49px;bottom:-22px}
.photo-brand-header #visit-photo-placeholder figcaption{position:relative;max-width:260px}
.photo-brand-header #visit-photo-placeholder strong{display:block;font-family:Georgia,serif;font-size:22px;font-weight:normal;line-height:1.15;text-wrap:balance}
.photo-brand-header #visit-photo-placeholder figcaption span{display:block;margin-top:10px;font-size:12px;line-height:1.3;color:#d8c9a7}
@media(max-width:600px){.photo-brand-header #visit-photo-placeholder strong{font-size:17px}.photo-brand-header #visit-photo-placeholder figcaption span{font-size:10px;margin-top:5px}}
#loaded-case-context{flex-basis:100%;margin:0;overflow-wrap:anywhere;font-size:13px;line-height:1.5;color:#494438}
.photo-brand-header #visit-photo{width:100%;height:100%;object-fit:cover}
.photo-brand-header #visit-photo[hidden]{display:none}
header.photo-brand-header #customer-brand-logo{position:absolute;right:0;top:0;width:160px;height:auto;display:block}
@media(max-width:600px){header.photo-brand-header{padding-top:112px;gap:8px}.photo-brand-header #visit-photo-placeholder{width:calc(100% - 136px);height:89px;padding:12px;font-size:13px}header.photo-brand-header #customer-brand-logo{width:112px}.photo-brand-header .badge{max-width:100%;white-space:normal}}


/* Shared presentation; staff controls and internal warnings retain their role. */
.advisor-view header.photo-brand-header > .badge,.advisor-view header.photo-brand-header > #loaded-case-context{grid-column:1/-1}
.advisor-view header.photo-brand-header > .badge{justify-self:start}
.advisor-view #loaded-case-context{font-size:12px;line-height:1.4}
:is(.customer-view,.advisor-view) header.photo-brand-header{display:grid;grid-template-columns:minmax(0,1fr) 160px;gap:10px 24px;padding:0 0 12px;align-items:start}
:is(.customer-view,.advisor-view) header.photo-brand-header #customer-settings{grid-column:1/-1;grid-row:1;margin:0;width:100%}
:is(.customer-view,.advisor-view) header.photo-brand-header #visit-photo-placeholder{position:relative;grid-column:1;grid-row:2;top:auto;left:auto;width:min(320px,100%);height:127px}
:is(.customer-view,.advisor-view) header.photo-brand-header #customer-brand-logo{position:relative;grid-column:2;grid-row:2;top:auto;right:auto;width:160px}
:is(.customer-view,.advisor-view) #customer-calculation-title,:is(.customer-view,.advisor-view).customer-warm #customer-calculation-title{font-size:28px;margin:16px 0 8px;text-decoration:none}
:is(.customer-view,.advisor-view) #customer-info{margin:8px 0}
:is(.customer-view,.advisor-view) #access-expiry{font-size:13px;margin:8px 0 16px;color:var(--muted)}
#buffet-info{display:inline-block;margin-left:5px}
#buffet-info-toggle,#personnel-info-toggle{padding:0;width:44px;height:44px;min-height:44px;background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:50%;font-size:19px}
#buffet-info-toggle:focus-visible{outline:3px solid var(--green);outline-offset:2px}
#buffet-info-panel,#personnel-info-panel{position:fixed;z-index:1000;inset:15vh auto auto 50%;transform:translateX(-50%);width:min(600px,calc(100vw - 32px));max-height:70vh;overflow:auto;background:#fffdf8;color:#303a33;border:1px solid #a99057;border-radius:8px;box-shadow:0 8px 30px #0003;padding:18px;font-size:14px;font-weight:400;line-height:1.55;text-align:left;white-space:normal}
#buffet-info-panel[hidden]{display:none}
#buffet-info-panel > button{float:right;min-width:44px;min-height:44px;margin:0 0 8px 12px}
#buffet-info-text p{margin:8px 0 16px}
@media(max-width:600px){:is(.customer-view,.advisor-view) header.photo-brand-header{grid-template-columns:minmax(0,1fr) 112px;gap:8px 24px}:is(.customer-view,.advisor-view) header.photo-brand-header #visit-photo-placeholder{height:89px;width:100%}:is(.customer-view,.advisor-view) header.photo-brand-header #customer-brand-logo{width:112px}:is(.customer-view,.advisor-view) #customer-calculation-title,:is(.customer-view,.advisor-view).customer-warm #customer-calculation-title{font-size:26px;margin-top:12px}}

/* Customer-only compact actions; existing controls and handlers are retained. */
:is(.customer-view,.advisor-view) #customer-toolbar{grid-column:1/-1;grid-row:1;position:relative;display:flex;align-items:flex-start;gap:8px;width:100%;min-height:44px}
:is(.customer-view,.advisor-view) .customer-settings-slot{flex:0 0 148px;min-height:44px}
:is(.customer-view,.advisor-view) header.photo-brand-header #customer-settings{width:148px;max-width:none;margin:0;padding:0;border:0;background:transparent}
:is(.customer-view,.advisor-view) #customer-settings > summary{list-style:none;display:flex;align-items:center;gap:7px;padding:0;min-height:44px;font-size:14px}
:is(.customer-view,.advisor-view) #customer-settings > summary::-webkit-details-marker{display:none}
:is(.customer-view,.advisor-view) #customer-settings > summary::before{content:'☰';display:grid;place-items:center;border:1px solid #8b948e;border-radius:7px;width:32px;height:32px;font-size:22px;background:#fff;color:#303a33}
:is(.customer-view,.advisor-view) header.photo-brand-header #customer-settings[open]{position:absolute;z-index:1001;top:48px;left:0;width:min(480px,100%);padding:8px 12px;background:#fff;border:1px solid #a99057;border-radius:8px;box-shadow:0 8px 24px #0002}
:is(.customer-view,.advisor-view) #customer-toolbar > button{min-height:44px;margin:0;padding:8px 10px;font-size:14px}
:is(.customer-view,.advisor-view) #customer-toolbar > #logout{margin-left:auto}
:is(.customer-view,.advisor-view) #customer-toolbar > #print{display:grid;place-items:center;flex:0 0 44px;height:44px;border:1px solid #8b948e;border-radius:7px;color:#303a33;background:#fff;font-size:0;text-decoration:none}
:is(.customer-view,.advisor-view) #customer-toolbar > #print[hidden]{display:none}
:is(.customer-view,.advisor-view) #customer-toolbar > #print svg{width:24px;height:24px;display:block}
:is(.customer-view,.advisor-view) #customer-settings[open] > summary,:is(.customer-view,.advisor-view) .unsupported[open] > summary{padding-right:48px}
:is(.customer-view,.advisor-view) #customer-settings > .disclosure-close,:is(.customer-view,.advisor-view) .unsupported > .disclosure-close{position:absolute;right:8px;top:8px;float:none;margin:0;min-width:36px;min-height:36px;width:36px;padding:0;clear:none}
:is(.customer-view,.advisor-view) .unsupported{position:relative}
:is(.customer-view,.advisor-view) .unsupported > .disclosure-close{top:4px}
:is(.customer-view,.advisor-view).customer-warm header.photo-brand-header #customer-settings[open]{background:#fffdf8}
@media(max-width:480px){:is(.customer-view,.advisor-view) #customer-toolbar{gap:5px;flex-wrap:wrap}:is(.customer-view,.advisor-view) .customer-settings-slot{flex-basis:132px}:is(.customer-view,.advisor-view) #customer-settings > summary{font-size:12px;gap:4px}:is(.customer-view,.advisor-view) #customer-toolbar > button{font-size:12px;padding:8px 7px}:is(.customer-view,.advisor-view) #customer-toolbar > #print{flex-basis:38px}:is(.customer-view,.advisor-view) #customer-toolbar > #save{max-width:110px}}

/* Customer frozen boundary: the calculation and the bounded header scroll independently. */
:is(.customer-view,.advisor-view){height:100dvh;overflow:hidden}
:is(.customer-view,.advisor-view) .shell{height:100dvh;display:flex;flex-direction:column;padding:12px 24px 0;overflow:hidden}
:is(.customer-view,.advisor-view) #customer-pinned-header{flex:0 1 auto;max-height:68dvh;min-height:0;overflow:auto;scrollbar-gutter:stable;border-bottom:2px solid var(--line);padding:2px 4px 8px;overscroll-behavior:contain}
:is(.customer-view,.advisor-view) #customer-calculation-scroll{flex:1 1 0;min-height:0;overflow:auto;overscroll-behavior:contain;padding:0 4px 20px;scrollbar-gutter:stable}
:is(.customer-view,.advisor-view) #customer-pinned-header header{margin:0;padding-bottom:6px}
:is(.customer-view,.advisor-view) #customer-pinned-header .shared{margin:8px 0 0;padding:8px 0;border:0;background:transparent}
:is(.customer-view,.advisor-view) #customer-pinned-header .shared h2{font-size:20px;margin:0 0 8px}
:is(.customer-view,.advisor-view) #customer-pinned-header .shared-grid{gap:8px 12px;align-items:end}
:is(.customer-view,.advisor-view) #customer-pinned-header .shared-grid label{min-width:0}
:is(.customer-view,.advisor-view) #customer-budget-info{display:inline-flex;flex:0 0 44px}
:is(.customer-view,.advisor-view) #customer-budget-info-toggle{width:44px;height:44px;padding:0;border:2px solid #ae252c;border-radius:50%;background:#fff;color:#ae252c;font:bold 24px Georgia,serif}
:is(.customer-view,.advisor-view) #customer-budget-info-panel{position:fixed;z-index:1002;inset:10dvh auto auto 50%;transform:translateX(-50%);width:min(600px,calc(100vw - 24px));max-height:80dvh;overflow:auto;background:#fffdf8;color:#303a33;border:1px solid #a99057;border-radius:8px;box-shadow:0 8px 30px #0003;padding:18px;font-size:14px;line-height:1.55;text-align:left;white-space:normal}
:is(.customer-view,.advisor-view) #customer-budget-info-panel > button{float:right;min-width:44px;min-height:44px;margin:0 0 8px 12px}
:is(.customer-view,.advisor-view) #customer-budget-info-panel #customer-info{background:transparent;border:0;padding:0;margin:0}
:is(.customer-view,.advisor-view) #customer-budget-info-panel #access-expiry{clear:both;margin:12px 0 0;font-weight:600}
:is(.customer-view,.advisor-view) header.photo-brand-header #customer-settings[open]{position:fixed;top:60px;left:24px;width:min(480px,calc(100vw - 48px));max-height:calc(100dvh - 72px);overflow:auto}
@media(max-width:600px){
 :is(.customer-view,.advisor-view) .shell{padding:6px 8px 0}
 :is(.customer-view,.advisor-view) #customer-pinned-header .shared-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 8px}
 :is(.customer-view,.advisor-view) #customer-pinned-header .shared-grid > label:first-child{grid-column:1/-1}
 :is(.customer-view,.advisor-view) #customer-pinned-header .shared h2{font-size:18px}
 :is(.customer-view,.advisor-view) #customer-pinned-header .shared-grid label{font-size:12px}
 :is(.customer-view,.advisor-view) #customer-pinned-header #customer-calculation-title{font-size:24px;margin:8px 0}
 :is(.customer-view,.advisor-view) #customer-toolbar{display:grid;grid-template-columns:minmax(0,1fr) 38px 44px;column-gap:4px;row-gap:2px}
 .advisor-view #customer-toolbar > .badge{grid-column:1/-1;grid-row:3;justify-self:start;max-width:100%;overflow-wrap:anywhere}
 :is(.customer-view,.advisor-view) #customer-toolbar > .customer-settings-slot{grid-column:1;grid-row:1}
 :is(.customer-view,.advisor-view) #customer-toolbar > #print{grid-column:2;grid-row:1}
 :is(.customer-view,.advisor-view) #customer-toolbar > #customer-budget-info{grid-column:3;grid-row:1}
 :is(.customer-view,.advisor-view) #customer-toolbar > #save{grid-column:1;grid-row:2;justify-self:start}
 :is(.customer-view,.advisor-view) #customer-toolbar > #logout{grid-column:2/4;grid-row:2}
 :is(.customer-view,.advisor-view) #customer-pinned-header .shared-grid > label[for="date"]{grid-column:1/-1}
 :is(.customer-view,.advisor-view) .customer-settings-slot{flex-basis:122px}
 :is(.customer-view,.advisor-view) #customer-toolbar > #logout{margin-left:0}
 :is(.customer-view,.advisor-view) header.photo-brand-header #customer-settings[open]{left:12px;width:calc(100vw - 24px)}
}
/* Phone summary only: quantities/rates remain in the model and in Buffet info. */
@media screen and (max-width:600px){
 :is(.customer-view,.advisor-view) .comparison-grid .calc-columns > [data-quantity],
 :is(.customer-view,.advisor-view) .comparison-grid .calc-columns > [data-rate],
 :is(.customer-view,.advisor-view) .comparison-grid .secure-amount > small{display:none}
 :is(.customer-view,.advisor-view) .comparison-grid .calc-columns{grid-template-columns:minmax(0,1fr)}
 :is(.customer-view,.advisor-view) .comparison-grid .calc-columns > output{grid-column:1}
}
/* Secure code controls: explicit server validation, no price logic. */
.secure-code-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:5px;margin:5px 0}
.secure-code-entry input,.secure-code-entry button{margin:0;min-width:0;height:44px}
.secure-code-entry button{padding:6px 8px;font-size:12px}
.action-subtotal,.action-deduction{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}
.action-subtotal output,.action-deduction output{font-variant-numeric:tabular-nums;font-weight:600}
.service-minimum{display:block;line-height:1.4;white-space:normal;font-size:12px;color:var(--muted)}
#event-occasion{display:block;margin-top:8px}
@media(max-width:600px){:is(.customer-view,.advisor-view) .comparison-grid [data-pair="action-code"]{grid-template-columns:minmax(0,1fr)}:is(.customer-view,.advisor-view) .comparison-grid [data-pair="action-code"]>.pair-cell{grid-column:1;padding:8px}}
@media print{
 :is(.customer-view,.advisor-view),:is(.customer-view,.advisor-view) .shell{height:auto;overflow:visible;display:block}
 :is(.customer-view,.advisor-view) #customer-pinned-header,:is(.customer-view,.advisor-view) #customer-calculation-scroll{max-height:none;overflow:visible}
}
