/* Hotel Phase 3 · Dynamic Operations Simulator v1 */
.p3-panel{margin:22px 0;padding:20px;border:1px solid var(--line);background:var(--surface);border-radius:18px}
.p3-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}
.p3-head h2{font-size:22px;line-height:1.15;margin:4px 0 0}.p3-head>strong{font-size:24px}
.p3-slider{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:10px;align-items:center;margin-top:8px}
.p3-slider input[type="range"]{width:100%;min-height:44px}.p3-slider button{min-width:44px;min-height:44px;border:1px solid var(--line);background:var(--surface-raised);border-radius:10px;font-size:22px}
.p3-slider button:focus-visible,.p3-buttons button:focus-visible,.p3-postures button:focus-visible{outline:3px solid var(--meridian-500);outline-offset:3px}
.p3-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px}.p3-metric{padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-raised);display:flex;flex-direction:column;gap:4px;min-width:0}
.p3-metric span{font-size:12px;color:var(--ink-secondary);text-transform:uppercase;letter-spacing:.05em}.p3-metric strong{font-size:17px;line-height:1.2;overflow-wrap:anywhere}.p3-metric small{color:var(--ink-secondary);line-height:1.3}
.p3-note{font-size:13px;line-height:1.45;color:var(--ink-secondary);margin:14px 0 0}
.p3-buttons,.p3-postures{display:flex;flex-wrap:wrap;gap:10px}.p3-buttons button,.p3-postures button{min-height:44px;border:1px solid var(--line);background:var(--surface-raised);border-radius:12px;padding:10px 14px;text-align:left}
.p3-buttons button.selected,.p3-postures button.selected{outline:2px solid var(--meridian-500);outline-offset:2px}.p3-postures button{display:flex;flex-direction:column;gap:4px;flex:1 1 190px}.p3-postures span{color:var(--ink-secondary)}
.p3-role-read{margin-top:14px;padding:14px;border-left:4px solid var(--meridian-500);background:var(--surface-raised)}.p3-role-read p{margin:6px 0 0;line-height:1.5}
.p3-carry{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.p3-carry>div{padding:10px 12px;border-radius:10px;background:var(--surface-raised);min-width:0}.p3-carry span{display:block;font-size:12px;color:var(--ink-secondary);margin-bottom:4px}.p3-carry strong{overflow-wrap:anywhere}
.p3-morning .p3-morning-block{margin:22px 0}.p3-morning .p3-morning-block>p{color:var(--ink-secondary);margin:0 0 10px;line-height:1.4}
.p3-assembled{margin-top:22px;padding:18px;border:1px solid var(--line);background:var(--surface-raised);border-radius:14px}.p3-assembled h2{font-size:22px;line-height:1.25}.p3-assembled dl{display:grid;gap:10px}.p3-assembled dl>div{display:grid;grid-template-columns:130px 1fr;gap:12px;padding-top:10px;border-top:1px solid var(--line)}.p3-assembled dt{font-weight:800}.p3-assembled dd{margin:0;line-height:1.45}
@media (max-width:900px){.p3-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.p3-panel{padding:16px;border-radius:14px}.p3-head{display:block}.p3-head>strong{display:block;margin-top:8px}.p3-metrics,.p3-carry{grid-template-columns:1fr}.p3-assembled dl>div{grid-template-columns:1fr;gap:4px}.p3-buttons button{flex:1 1 42%}.p3-slider{grid-template-columns:44px minmax(0,1fr) 44px}}
@media (prefers-reduced-motion:reduce){.p3-panel *{scroll-behavior:auto!important;transition:none!important}}
.p3-feedback{margin-top:16px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface-raised)}.p3-feedback h3{margin:0 0 10px;font-size:20px;line-height:1.25}.p3-feedback p{margin:0 0 12px;line-height:1.5}
