:root{--bg:#f4f7fb;--card:#fff;--ink:#142039;--muted:#596a86;--line:#d8e1f0;--blue:#245efa;--soft:#edf3ff;--input:#f9fbff;--purple:#8656ce}*{box-sizing:border-box}html{color-scheme:light}[data-theme=dark]{color-scheme:dark;--bg:#0f172a;--card:#152036;--ink:#f0f4fc;--muted:#adbbd1;--line:#30405a;--blue:#85aaff;--soft:#203354;--input:#19273d;--purple:#bc9cea}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 'Plus Jakarta Sans',sans-serif}a{color:var(--blue)}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.theme{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--card);color:var(--ink)}.theme svg{width:21px;height:21px}.sun,[data-theme=dark] .moon{display:none}[data-theme=dark] .sun{display:block}main{max-width:1180px;margin:auto;padding:42px 24px}.eyebrow{display:block;font-size:11px;font-weight:800;letter-spacing:1.7px;color:var(--blue);margin-bottom:12px}h1,h2{font-family:'DM Serif Display',serif;font-weight:400;line-height:1.15;letter-spacing:-.6px}h1{font-size:46px;margin:0 0 15px}h2{font-size:28px;margin:0 0 16px}.intro{margin-bottom:30px}.intro p{margin:0;color:var(--muted)}.layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,1fr);gap:22px;align-items:start}.workspace,.results,.panel{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:26px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-head h2{margin:0}.small{font-size:12px;line-height:1.7}.muted{color:var(--muted)}.role{padding:20px 0;border-bottom:1px solid var(--line);margin-bottom:20px}.role-top{display:flex;gap:12px;align-items:center;margin-bottom:16px}.role-top input{font-weight:700;flex:1;min-width:0}.fields{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600}input,select{width:100%;min-width:0;padding:11px 12px;background:var(--input);border:1px solid var(--line);border-radius:6px;color:var(--ink);font-size:16px}select{font-size:14px}input:focus,select:focus{outline:2px solid var(--blue);outline-offset:1px}.pay-type{margin-bottom:14px;max-width:200px}.text-button{border:0;background:transparent;color:var(--blue);font-size:12px;font-weight:700;padding:8px 0}.outline,.primary{display:inline-flex;justify-content:center;align-items:center;border:1px solid var(--line);border-radius:6px;padding:12px 17px;font-size:13px;font-weight:700;background:var(--card);color:var(--ink);text-decoration:none}.primary{background:#245efa;color:#fff;border-color:#245efa}.adjust{margin-top:18px}.adjust>summary{display:inline-block;padding:8px 12px;border-radius:6px;background:var(--soft);color:var(--blue);font-size:12px;font-weight:700;cursor:pointer}.adjust[open]>summary{margin-bottom:16px}.advanced{display:grid;grid-template-columns:1fr 1fr;gap:15px}.advanced p{grid-column:1/-1;margin:0}.results{position:sticky;top:24px}.periods{display:inline-flex;border:1px solid var(--line);border-radius:7px;overflow:hidden;margin-bottom:18px}.periods button{font-size:12px;border:0;padding:8px 16px;background:var(--card);color:var(--muted)}.periods button[aria-pressed=true]{background:var(--soft);color:var(--blue);font-weight:700}.headline{font-size:47px;font-weight:700;letter-spacing:-2px;line-height:1.2}.results #subline{font-size:13px;margin-top:9px}.cost-bar{display:flex;height:10px;border-radius:8px;overflow:hidden;background:var(--line);margin:24px 0 15px}.cost-bar span{min-width:0}.uplift{font-size:14px;font-weight:600;color:var(--blue)}dl{margin:20px 0}dl div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:9px 0;font-size:13px}dd{margin:0;font-weight:600}.panel{margin-top:24px}summary{cursor:pointer}#what-if>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none}summary::-webkit-details-marker{display:none}#what-if strong{font-family:'DM Serif Display',serif;font-weight:400;font-size:25px}#what-if .eyebrow{margin-bottom:7px}.plus{color:var(--blue);font-size:28px}.scenario-fields{display:grid;grid-template-columns:1fr 1fr auto;gap:18px;align-items:end}.scenario-totals{display:flex;flex-wrap:wrap;gap:26px;margin-top:22px}.scenario-totals strong{display:block;font-size:22px}.utilities{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin:20px 0}.utilities #status{font-size:12px;color:var(--muted)}.next{background:var(--soft)}.next p{color:var(--muted);max-width:750px}.actions{display:flex;gap:12px;flex-wrap:wrap}.explainer,.faq{max-width:900px;margin:50px auto 0}.explainer p,.faq p{font-size:14px;color:var(--muted)}.faq details{padding:16px 0;border-bottom:1px solid var(--line)}.faq summary{font-size:14px;font-weight:600}#error{color:#b64136;font-size:13px}.print-heading{display:none}@media(max-width:800px){.layout{grid-template-columns:1fr}.results{position:static}.headline{font-size:42px}.scenario-fields{grid-template-columns:1fr 1fr}.scenario-fields button{grid-column:1/-1}h1{font-size:36px}main{padding:28px 16px}.workspace,.results,.panel{padding:20px}.fields{gap:10px}.fields label{font-size:11px}.section-head{align-items:start}.advanced{grid-template-columns:1fr}#what-if strong{font-size:23px}.utilities{gap:12px}.role-top .text-button{font-size:11px}}@media print{body{background:#fff;color:#111}header,.intro,.utilities,.next,.faq,.explainer,#add,#example,.role-top button,.adjust,.pay-type,#what-if{display:none!important}main{padding:0}.print-heading{display:block;margin-bottom:20px}.print-heading img{display:block;width:160px;margin-bottom:16px}.print-heading h2{font:700 18px 'Plus Jakarta Sans',sans-serif}.layout{display:block}.workspace,.results{border:1px solid #bbb;break-inside:avoid;margin-bottom:18px;position:static}.periods{display:none}input,select{border:0;background:white;color:black;padding:0}.role{break-inside:avoid}.results{color:#111}a{color:#111}}
:root .cost-donut{display:block;height:auto;overflow:visible;margin:8px 0 16px;background:transparent}.cost-donut svg{display:block;width:min(100%,250px);height:auto;margin:auto;overflow:visible}.donut-segment{cursor:pointer;pointer-events:stroke;transition:stroke-width .18s ease;outline:none}.donut-segment.active,.donut-segment:focus-visible{stroke-width:44}.donut-segment:focus-visible{filter:drop-shadow(0 0 2px var(--ink))}.donut-center{fill:var(--muted);font:600 13px 'Plus Jakarta Sans',sans-serif;pointer-events:none}.donut-caption{text-align:center;font-size:12px;min-height:42px;margin:0;color:var(--muted)}@media(prefers-reduced-motion:reduce){.donut-segment{transition:none}}@media print{.cost-donut svg{width:180px;print-color-adjust:exact;-webkit-print-color-adjust:exact}.donut-caption{display:none}}
.legend-swatch{display:inline-block;width:12px;height:12px;flex-shrink:0;border-radius:3px;margin-right:9px}#breakdown dt{display:flex;align-items:center}.hospitality-options{padding:0 16px 16px}.extra-option{border-top:1px solid var(--line);padding:14px 0}.extra-option summary{font-weight:700;cursor:pointer;font-size:14px}.extra-option .advanced{padding-top:18px}.extra-option .advanced>p,.seasonal-fields{grid-column:1/-1}.seasonal-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.seasonal-fields[hidden]{display:none}.additional-totals{border-top:1px solid var(--line);padding-top:12px}.additional-totals>div{display:flex;justify-content:space-between;gap:16px;font-size:14px;margin:12px 0}.additional-totals strong{white-space:nowrap}.comparison-row{display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr auto;gap:12px;align-items:end;border-bottom:1px solid var(--line);padding:20px 0}.comparison-row p{grid-column:1/-1;margin:0}.adjust>summary{color:var(--blue);font-weight:700}.results{max-height:none}@media(max-width:800px){.comparison-row{grid-template-columns:1fr 1fr}.additional-totals>div{flex-wrap:wrap}}@media print{#staffing-comparison{display:none}.legend-swatch{print-color-adjust:exact;-webkit-print-color-adjust:exact}.additional-totals{break-inside:avoid}}
.department-table{overflow-x:auto}.department-table table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}.department-table th,.department-table td{padding:14px 12px;border-bottom:1px solid var(--line);white-space:nowrap}.department-table th:first-child{white-space:normal;min-width:120px}.department-table td{text-align:right}.department-table caption{text-align:left;padding-bottom:12px}.department-table tfoot{font-weight:700}.department-section h2{margin-top:8px}@media print{.department-table{overflow:visible}.department-table th,.department-table td{padding:8px 4px;font-size:11px}}
.department-table thead th:not(:first-child){text-align:right}.department-table td{font-variant-numeric:tabular-nums}.hospitality-intro{max-width:780px;margin:16px 0 24px}.hospitality-intro summary{font-weight:700;color:var(--blue);cursor:pointer;font-size:14px}.hospitality-intro p,.hospitality-intro li{font-size:16px;line-height:1.7}.hospitality-intro ul{padding-left:22px}.hospitality-intro li{margin:7px 0}
.tronc-hours-options{grid-column:1/-1;display:grid;gap:14px;grid-template-columns:1fr 1fr}.tronc-hours-options p{grid-column:1/-1}.tronc-hours-options[hidden],.tronc-custom[hidden]{display:none}@media(max-width:600px){.tronc-hours-options{grid-template-columns:1fr}}
.cover-inputs{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:14px}.cover-inputs input:disabled{opacity:.5}.additional-totals:empty{display:none}@media(max-width:600px){.cover-inputs{grid-template-columns:1fr}}
.hospitality-options{padding:0}.tronc-period-heading{display:flex;align-items:center;gap:8px;margin-bottom:8px}.tronc-period-heading>label{margin:0}.period-info{position:relative;border:0;padding:0}.period-info>summary{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:1px solid var(--muted);border-radius:50%;font-size:12px;cursor:pointer;list-style:none}.period-info>summary::-webkit-details-marker{display:none}.period-info>summary:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.period-info>p{position:absolute;z-index:10;right:0;top:24px;width:min(280px,70vw);margin:0;padding:14px;background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:8px;box-shadow:0 6px 20px #0002}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
