.restaurant-workshop {--restaurant-panel-space:24px;max-width:1160px;padding-bottom:70px;hyphens:none;}
.restaurant-workshop p {text-align:left;text-align-last:auto;hyphens:none;}
.restaurant-workshop h1 {max-width:850px;font-size:clamp(2rem,5vw,3.8rem);line-height:1.12;margin:16px 0 24px;}
.restaurant-workshop h2 {line-height:1.25;}
.restaurant-intro {padding:36px 0 46px;}
.restaurant-intro .intro {max-width:760px;}
.restaurant-intro .text-link {display:inline-block;margin:16px 20px 0 0;}
.restaurant-scene {background:var(--tint);border:1px solid var(--line);border-radius:var(--radius);padding:28px;margin-bottom:48px;}
.restaurant-chain {list-style:none;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:30px 0;}
.restaurant-chain li {border-top:3px solid var(--brand);padding-top:14px;position:relative;}
.restaurant-chain strong,.restaurant-chain span {display:block;}
.restaurant-chain span {font-size:.88rem;color:var(--muted);margin-top:8px;}
.restaurant-lab {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start;margin:28px 0;}
.restaurant-form {display:grid;gap:20px;margin:0;min-width:0;}
.restaurant-result-column {position:sticky;top:24px;max-height:calc(100svh - 48px);overflow:auto;scrollbar-gutter:stable;min-width:0;}
.restaurant-result-column .restaurant-results {margin:0;}
.restaurant-live-summary {display:none;}
.restaurant-live-summary[hidden] {display:none;}
.restaurant-form fieldset {border:1px solid var(--line);border-radius:var(--radius);min-width:0;padding:24px;margin:0;}
.restaurant-form legend {font-weight:700;padding:0 8px;}
.restaurant-form label {display:block;font-weight:600;margin:8px 0;}
.restaurant-form input[type=number],.restaurant-form select {width:100%;min-width:0;min-height:48px;border:1px solid #b8aaa2;border-radius:8px;padding:10px 12px;background:#fff;color:var(--ink);font:inherit;}
.restaurant-form small {display:block;color:var(--muted);line-height:1.5;margin-top:8px;}
.restaurant-fields {display:grid;grid-template-columns:1fr;gap:20px;}
.restaurant-form button {justify-self:start;white-space:normal;}
.restaurant-checks {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 20px;}
.restaurant-checks label {display:flex;gap:12px;align-items:flex-start;padding:10px 0;font-weight:400;min-height:44px;}
.restaurant-checks input {flex:none;margin-top:5px;width:20px;height:20px;accent-color:var(--action);}
.restaurant-note {font-size:.9rem;color:var(--muted);margin:0;}
.restaurant-results {padding:28px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);margin:30px 0;}
.restaurant-results[hidden],.restaurant-error[hidden] {display:none;}
.restaurant-bar-row {display:flex;gap:14px;justify-content:space-between;flex-wrap:wrap;}
.restaurant-bar-track {display:flex;min-height:24px;background:#f3f0ed;border-radius:6px;overflow:hidden;margin:10px 0 24px;}
.restaurant-bar {display:block;min-width:0;transition:width 250ms ease;}
.restaurant-bar-stock_loss {background:#d04c35;}
.restaurant-bar-lost_contribution {background:#71615a;}
.restaurant-bar-extra {background:#b7a28a;}
.restaurant-table-wrap {max-width:100%;overflow-x:auto;}
.restaurant-table {border-collapse:collapse;width:100%;font-size:.94rem;}
.restaurant-table caption {text-align:left;color:var(--muted);font-size:.86rem;padding-bottom:12px;}
.restaurant-table td,.restaurant-table th {border-bottom:1px solid var(--line);padding:14px 8px;vertical-align:top;}
.restaurant-table th {text-align:left;font-weight:600;}
.restaurant-table td {text-align:right;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;}
.restaurant-table thead th:not(:first-child) {text-align:right;}
.restaurant-table tr:last-child {font-weight:700;}
.restaurant-key {display:inline-block;border-left:4px solid transparent;padding-left:8px;}
.restaurant-key-stock_loss {border-color:#d04c35;}
.restaurant-key-lost_contribution {border-color:#71615a;}
.restaurant-key-extra {border-color:#b7a28a;}
.restaurant-difference {font-size:1.15rem;font-weight:650;padding:20px;background:var(--tint);border-radius:10px;}
.restaurant-method summary,.restaurant-risk-area summary {min-height:48px;cursor:pointer;font-weight:650;padding:14px 0;}
.restaurant-error {border-left:4px solid var(--action);padding:16px 20px;background:var(--tint);}
.restaurant-save {border-left:4px solid var(--brand);padding:8px 0 12px 24px;margin:38px 0 56px;}
.restaurant-risk-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px;align-items:start;}
.restaurant-risk-area {border-top:1px solid var(--line);padding:8px 0;}
.restaurant-risk-area h3 {font-size:1rem;margin:24px 0 8px;}
.restaurant-risk-area li {margin-bottom:10px;}
.restaurant-audiences {margin-top:50px;}
@media(max-width:900px) {
  .restaurant-lab {grid-template-columns:1fr;}
  .restaurant-result-column {position:static;max-height:none;overflow:visible;scrollbar-gutter:auto;}
  .restaurant-live-summary {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;position:sticky;top:12px;z-index:3;padding:12px 16px;border:1px solid #b8aaa2;border-radius:12px;background:#fff;box-shadow:0 4px 16px #302e2c14;}
  .restaurant-live-summary>div {min-width:0;}
  .restaurant-live-summary>div>span {display:block;color:var(--muted);font-size:.75rem;}
  .restaurant-live-summary strong {display:block;margin-top:4px;font-size:clamp(.95rem,3.8vw,1.2rem);line-height:1.35;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;}
  .restaurant-form:invalid .restaurant-live-summary {display:none;}
}
@media(max-width:760px) {
  .restaurant-fields,.restaurant-checks,.restaurant-risk-grid {grid-template-columns:1fr;}
  .restaurant-chain {grid-template-columns:1fr;gap:16px;}
  .restaurant-chain li {border-top:0;border-left:3px solid var(--brand);padding:0 0 0 16px;}
  .restaurant-chain span {margin-top:2px;}
  .restaurant-scene,.restaurant-results,.restaurant-form fieldset {padding:20px;}
  .restaurant-table {font-size:.82rem;}
  .restaurant-table td,.restaurant-table th {padding:12px 4px;}
  .restaurant-table th:first-child {width:42%;}
  .restaurant-key {padding-left:5px;}
}
@media(prefers-reduced-motion:reduce) {.restaurant-bar {transition:none;}}

.restaurant-map-method {border-top:1px solid var(--line);padding:20px 0;margin:20px 0;}
.restaurant-map-method>summary {cursor:pointer;min-height:48px;padding:12px 0;font-size:1.2rem;font-weight:650;}
.restaurant-map-steps {list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:0;}
.restaurant-map-steps li {border:1px solid var(--line);border-top:4px solid var(--brand);border-radius:10px;background:var(--tint);padding:18px;}
.restaurant-map-steps span,.restaurant-map-steps strong {display:block;}
.restaurant-map-steps span {font-size:.85rem;color:var(--muted);margin-bottom:12px;}
@media(max-width:760px) {.restaurant-map-steps {grid-template-columns:1fr;}.restaurant-map-steps li {border-top-width:1px;border-left:4px solid var(--brand);}}
/* One shared row keeps assumptions aligned across both plans. */
.restaurant-scenario-table {table-layout:fixed;}
.restaurant-scenario-table th:first-child {width:40%;}
.restaurant-scenario-table td {vertical-align:middle;padding:12px 6px;}
.restaurant-scenario-table input {text-align:right;font-variant-numeric:tabular-nums;padding:10px 6px!important;}
.restaurant-sr-only {position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
.restaurant-cause-chain {list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
.restaurant-cause-chain li {position:relative;background:#f5f1ec;border:1px solid var(--line);border-radius:12px;padding:18px;animation:restaurant-reveal .3s ease both;}
.restaurant-cause-chain li:nth-child(2) {animation-delay:.08s;}
.restaurant-cause-chain li:nth-child(3) {animation-delay:.16s;background:#edf2ef;}
.restaurant-cause-chain li:not(:last-child)::after {content:'→';position:absolute;right:-16px;top:30px;font-size:22px;color:var(--brand);z-index:1;}
.restaurant-cause-chain p {font-size:.92rem;line-height:1.55;}
.restaurant-assessment {border:1px solid var(--line);border-radius:12px;padding:20px;margin:24px 0;min-width:0;}
.restaurant-assessment legend {font-weight:700;}
.restaurant-assessment label {display:block;margin:12px 0 7px;}
.restaurant-assessment select,.restaurant-assessment textarea {width:100%;min-height:48px;border:1px solid #b8aaa2;border-radius:8px;padding:10px;background:white;color:var(--ink);font:inherit;}
.restaurant-rating-fields,.restaurant-treatment-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.restaurant-treatment {border:1px solid var(--line);border-radius:12px;padding:16px;cursor:pointer;}
.restaurant-treatment:has(input:checked) {border-color:var(--brand);background:#f5ede4;box-shadow:inset 0 0 0 1px var(--brand);}
.restaurant-treatment strong,.restaurant-treatment span {display:block;margin-top:12px;}
.restaurant-treatment span {font-size:.92rem;line-height:1.5;}
.restaurant-professional-detail {margin-top:20px;}
.restaurant-board {margin:44px 0;padding:28px;border:1px solid var(--line);border-radius:20px;background:#faf8f5;}
.restaurant-matrix {table-layout:fixed;min-width:520px;}
.restaurant-matrix td {height:110px;text-align:left;background:#f1ede5;border:4px solid #faf8f5;}
.restaurant-matrix tbody tr:first-child td:last-child {background:#edd8ce;}
.restaurant-matrix tbody tr:last-child td:first-of-type {background:#e5ebe4;}
.restaurant-risk-token {display:inline-block;padding:8px 10px;margin:4px;border:1px solid #baa994;border-radius:8px;background:white;color:var(--ink);font-size:.8rem;text-decoration:none;}
.restaurant-unrated {border:1px dashed #b8aaa2;border-radius:12px;padding:16px;margin:20px 0;}
@keyframes restaurant-reveal {from {opacity:0;transform:translateY(7px);}to {opacity:1;transform:none;}}
@media(max-width:640px) {.restaurant-cause-chain,.restaurant-rating-fields,.restaurant-treatment-grid{grid-template-columns:1fr;}.restaurant-cause-chain li:not(:last-child)::after{content:'↓';right:20px;top:auto;bottom:-20px;}.restaurant-board{padding:16px;}.restaurant-scenario-table{font-size:.8rem;}.restaurant-scenario-table th:first-child{width:34%;}}
@media(prefers-reduced-motion:reduce) {.restaurant-cause-chain li{animation:none;}}
.restaurant-risk-grid {grid-template-columns:1fr;}
/* Narrative scenes replace the rejected line-icon presentation. */
.restaurant-risk-grid {grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch;margin-top:24px;}
.restaurant-risk-area {overflow:hidden;border:1px solid var(--line);border-radius:16px;background:#fff;padding:0;}
.restaurant-risk-area>summary {display:block;list-style:none;padding:0;cursor:pointer;}
.restaurant-risk-area>summary::-webkit-details-marker {display:none;}
.restaurant-risk-photo {display:block;width:100%;height:190px;object-fit:cover;}
.restaurant-risk-caption {display:grid;grid-template-rows:1fr auto;gap:12px;padding:20px;font-weight:700;line-height:1.4;}
.restaurant-risk-caption small {display:block;font-weight:400;font-size:.8rem;margin-top:0;color:var(--muted);}
.restaurant-risk-area[open] {grid-column:1/-1;padding:var(--restaurant-panel-space);}
.restaurant-risk-area[open]>summary {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:24px;}
.restaurant-risk-area[open] .restaurant-risk-photo {height:240px;border-radius:12px;}
.restaurant-risk-area[open] .restaurant-risk-caption {padding:0;font-size:1.6rem;}
.restaurant-step-label {display:block;color:#986a51;font-size:.8rem;margin-bottom:14px;}
.restaurant-profile,.restaurant-guidance {padding:var(--restaurant-panel-space);margin:32px 0;border:1px solid var(--line);border-radius:20px;background:#faf8f5;}
.restaurant-profile-fields {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:24px 0;}
.restaurant-profile-fields>div {display:grid;grid-template-rows:subgrid;grid-row:span 2;gap:10px;min-width:0;}
.restaurant-profile-fields label {display:block;margin:0;}
.restaurant-profile-fields input,.restaurant-profile-fields select {width:100%;min-width:0;min-height:48px;border:1px solid #b8aaa2;border-radius:8px;padding:10px;background:white;font:inherit;color:var(--ink);}
.restaurant-profile button {margin-top:20px;white-space:normal;}
.restaurant-frequency-grid,.restaurant-guidance-actions,.restaurant-insurance-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:24px 0;}
.restaurant-frequency-grid article,.restaurant-guidance-actions article,.restaurant-insurance-grid article {background:white;border:1px solid var(--line);border-radius:12px;padding:20px;}
.restaurant-guidance-actions {grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));}
.restaurant-guidance-actions article {display:flex;flex-direction:column;gap:12px;min-width:0;}
.restaurant-guidance-actions article p {margin:0;}
.restaurant-guidance-actions article a {margin-top:auto;padding-top:8px;}
.restaurant-frequency-grid strong {display:block;font-size:2rem;margin:16px 0;color:var(--brand);}
.restaurant-guidance-actions article[hidden] {display:none;}
.restaurant-source-details,.restaurant-insurance-guidance,.restaurant-self-rating {margin-top:24px;}
.restaurant-source-details a {overflow-wrap:anywhere;}
@media(max-width:800px) {.restaurant-risk-grid,.restaurant-profile-fields {grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:560px) {.restaurant-risk-grid,.restaurant-profile-fields,.restaurant-frequency-grid,.restaurant-guidance-actions,.restaurant-insurance-grid {grid-template-columns:1fr;}.restaurant-risk-area[open]>summary {display:block;}.restaurant-risk-area[open] .restaurant-risk-photo {height:auto;}.restaurant-workshop{--restaurant-panel-space:16px;}}
.restaurant-risk-area:not([open])>summary {display:flex;flex-direction:column;height:100%;}
.restaurant-risk-area:not([open]) .restaurant-risk-caption {flex:1;min-height:134px;}
.restaurant-profile>summary,.restaurant-optional-map>summary {min-height:48px;cursor:pointer;font-weight:650;font-size:1.15rem;}
.restaurant-benchmark[hidden],.restaurant-guidance [data-guidance-reserve][hidden] {display:none;}

.restaurant-optional-map {border:1px solid var(--line);border-radius:var(--radius);padding:0 var(--restaurant-panel-space);margin:32px 0;}
.restaurant-optional-map>summary {padding:18px 0;}
@media(max-width:900px) {.restaurant-guidance-actions {grid-template-columns:1fr;}}

.restaurant-profile {padding:0 var(--restaurant-panel-space);}
.restaurant-profile>summary {padding:18px 0;}
.restaurant-profile>section {padding-bottom:var(--restaurant-panel-space);}
