:root{color:#111827;background:#f3f4f6;font-family:Pretendard Variable,Pretendard,Noto Sans KR,sans-serif;line-height:1.5;font-weight:400}*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(circle at top,#fff 0,#f8fafc 32%,#eef2f7)}button,input{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;padding:24px 16px}.panel{width:min(760px,100%);margin:0 auto;border:1px solid #dbe3ec;border-radius:20px;background:#fffffff0;box-shadow:0 18px 48px #0f172a14}.narrow-panel{max-width:480px;padding:32px 24px}.app-panel{padding:24px}.top-bar,.section-head,.button-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.top-bar{align-items:center;min-height:28px}.top-bar-action{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex-shrink:0;padding:0;border:0;border-radius:0;background:transparent;color:#475569;font:inherit;font-size:.875rem;line-height:1.2;font-weight:400;text-decoration:underline;text-underline-offset:.16em;text-decoration-thickness:1px;box-shadow:none}.tab-bar{display:flex;align-items:stretch;justify-content:flex-start;gap:20px;width:100%;margin:12px 0 20px;padding:0;border-bottom:1px solid #dbe3ec;border-radius:0;background:transparent}.tab{position:relative;min-width:0;border:0;padding:10px 2px 12px;border-radius:0;background:transparent;color:#475569;font-size:.9375rem;line-height:1.2;font-weight:600}.tab.active{color:#111827;background:transparent;box-shadow:none}.tab.active:after{content:"";position:absolute;right:0;bottom:-1px;left:0;height:2px;border-radius:999px;background:#0f172a}.section{display:flex;flex-direction:column;gap:16px}.section+.section{margin-top:28px;padding-top:28px;border-top:1px solid #e5e7eb}.stack{display:flex;flex-direction:column;gap:16px}.field{display:flex;flex-direction:column;gap:8px}.field input{width:100%;border:1px solid #cbd5e1;border-radius:12px;padding:14px 16px;background:#fff}.primary-button,.secondary-button,.danger-button,.date-chip,.time-chip{border-radius:12px;border:1px solid transparent;transition:background-color .18s ease,border-color .18s ease,opacity .18s ease}.primary-button{border:0;padding:12px 16px;background:#0f172a;color:#fff}.primary-button:disabled,.secondary-button:disabled,.danger-button:disabled,.date-chip:disabled,.time-chip:disabled{cursor:not-allowed;opacity:.45}.secondary-button{padding:12px 16px;border-color:#cbd5e1;background:#fff;color:#111827}.danger-button{padding:12px 16px;border-color:#fecaca;background:#fff;color:#b91c1c}.date-grid,.time-grid{display:grid;gap:12px}.date-grid{grid-template-columns:repeat(auto-fit,minmax(92px,1fr))}.time-grid{grid-template-columns:repeat(auto-fit,minmax(88px,1fr))}.date-chip,.time-chip{min-height:64px;padding:12px 14px;border-color:#dbe3ec;background:#fff;color:#0f172a}.date-chip{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between}.time-chip{min-height:56px;padding:10px 12px}.date-chip.active,.time-chip.active{border-color:#111827;background:#111827;color:#fff}.selection-status{min-height:1.5em}.selection-status-mobile{display:none}.info-card,.room-card,.reservation-card{border:1px solid #dbe3ec;border-radius:16px;padding:16px;background:#fff}.room-card,.reservation-card{display:flex;align-items:center;justify-content:space-between;gap:16px}.room-card-disabled{background:#f8fafc;color:#94a3b8}.room-name{margin:0 0 6px;font-size:1rem;font-weight:700}.eyebrow,.muted,.error-text,h1,h2,p{margin:0}.eyebrow{font-size:.875rem;color:#475569}.muted{color:#64748b}.section-title-muted{color:#94a3b8}.error-text{color:#b91c1c}.list-stack{display:flex;flex-direction:column;gap:12px}code{font-family:SFMono-Regular,Consolas,monospace}@media (max-width: 960px){.date-grid{display:flex;gap:12px;overflow-x:auto;overflow-y:hidden;padding-bottom:6px;margin-bottom:6px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}.date-chip{flex:0 0 132px;min-height:88px;padding:10px 14px;scroll-snap-align:start}}@media (max-width: 640px){.app-shell{padding:0}.panel{min-height:100vh;border:0;border-radius:0}.app-panel,.narrow-panel{padding:20px 16px 24px}.section-head,.room-card,.reservation-card,.button-row{flex-direction:column;align-items:stretch}.top-bar{flex-direction:row;align-items:center}.tab-bar{margin-top:10px}.tab{padding:9px 2px 11px;font-size:.875rem}.selection-status-desktop{display:none}.selection-status-mobile{display:block}.time-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.time-chip{min-height:52px;padding:8px 6px;font-size:.9375rem}}
