textarea{font:inherit;color:inherit;border:1px solid #dfe4dc;border-radius:8px;padding:12px;resize:vertical;width:100%;background:white}textarea:focus{outline:2px solid #8fa994;outline-offset:2px}.large-modal{width:900px}.full-event-form{padding:6px 26px 30px}.full-event-form h3{font-size:17px;margin:25px 0 20px;padding-top:22px;border-top:1px solid #e4e9de}.full-event-form h3:first-child{border:0;padding-top:0}.full-event-form .form-actions{margin-top:25px}.settings-panel.wide{max-width:1050px}.step-editor{background:#f7f9f3;border:1px solid #e5eadc;border-radius:8px;padding:18px;margin:15px 0}.step-line{display:flex;gap:8px;align-items:center;margin-bottom:15px}.step-line strong{margin-right:auto;font-size:12px}.photo-list{display:flex;gap:15px;margin-top:15px;flex-wrap:wrap}.photo-list>div{position:relative}.photo-list img{width:140px;height:95px;object-fit:cover;border-radius:8px}.photo-list button{position:absolute;right:5px;bottom:5px}.report-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:10px 0 25px}.report-toolbar h2{font-size:21px}.report-toolbar p{margin-top:8px}.analysis-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:22px}.distribution{padding:25px}.distribution h2{margin-bottom:23px}.distribution>div{display:grid;grid-template-columns:100px 1fr 30px;align-items:center;gap:12px;margin-bottom:15px;font-size:12px}.distribution i{height:10px;background:#eef2e8;border-radius:5px;position:relative}.distribution i:before{content:'';display:block;width:var(--bar);height:10px;border-radius:5px;background:#9eae86}.distribution b{text-align:right;font-weight:500;color:#7a8968}.guest-action{padding:24px;margin-bottom:20px}.guest-action h2{font-size:19px;margin-bottom:16px}.guest-action p{font-size:12px;color:#849477;margin-bottom:17px}.guest-action form .button{margin-right:7px}.guest-action dl{font-size:12px;line-height:1.8}.guest-action dt{font-weight:600;margin-top:17px}.guest-action dd{margin:5px 0 15px;color:#8b987e}.guest-action .button.full{margin:9px 0}.event-gallery{display:flex;gap:10px;overflow:auto;margin-bottom:25px;scroll-snap-type:x mandatory}.event-gallery img{width:100%;height:220px;object-fit:cover;border-radius:12px;flex:none;scroll-snap-align:start}.profile-fields{margin:18px 0;padding:15px;background:#f5f7ef;border-radius:8px}.profile-fields summary{cursor:pointer;font-size:12px;color:#788b65}.profile-fields .form-grid{margin-top:15px}.profile-fields .muted{margin-top:10px}.preline{white-space:pre-line}.social-buttons{display:flex;flex-direction:column;gap:10px;margin:25px 0}.social.kakao{background:#fee500;color:#211b08;border-color:#eedb09}.social.naver{background:#03c75a;color:white;border-color:#03b752}.social.google{background:white;color:#444}.my-booking{border-bottom:1px solid #e6ebdf;padding:20px 0}.my-booking strong{font-size:13px}.my-booking p{margin:10px 0}.badge.payment_pending{background:#fff0d9;color:#aa7d38}.source.native{color:#ac754d}.guest-page{max-width:550px}.guest-ticket>a.button{font-size:11px;white-space:normal}.guest-action .button-group{margin-top:20px}.notice .mini{margin-left:auto}.privacy-note{color:#8b987e;font-size:11px}.report-toolbar .button-group{justify-content:flex-end}
@media(max-width:900px){.report-toolbar{align-items:flex-start;flex-direction:column}.report-toolbar .button-group{justify-content:flex-start}.analysis-grid{gap:14px}.distribution{padding:20px}.distribution>div{grid-template-columns:80px 1fr 22px}}
@media(max-width:680px){.full-event-form{padding:4px 18px 25px}.full-event-form h3{font-size:15px}.analysis-grid{grid-template-columns:1fr}.report-toolbar h2{font-size:19px}.report-toolbar .button-group{gap:6px}.report-toolbar .button{font-size:10px;padding:9px}.distribution>div{font-size:11px}.photo-list img{width:110px;height:80px}.guest-action{padding:21px}.guest-action>.button-group .button{font-size:10px}.guest-gallery img{height:180px}.large-modal{max-height:94vh}}
/* v0.3 reservation builder */
.booking-workbench{max-width:none;padding:18px 26px!important}.editor-topline{display:flex;justify-content:space-between;gap:12px;color:#849478;font-size:10px;letter-spacing:1px;margin:6px 0 20px}.editor-tabs{display:flex;gap:3px;overflow-x:auto;border-bottom:1px solid #e3e8dc;margin-bottom:28px;padding-bottom:0}.editor-tabs button{white-space:nowrap;border:0;border-bottom:3px solid transparent;background:none;color:#7c8b71;font-size:12px;padding:14px 15px;cursor:pointer}.editor-tabs small{display:block;font-size:9px;letter-spacing:1px;margin-bottom:6px;opacity:.7}.editor-tabs button.active{color:#3f5d39;border-bottom-color:#5d764b;background:#f0f4e9}.editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:34px;align-items:start}.editor-main{min-width:0}.editor-main [hidden]{display:none!important}.editor-main h3{margin-top:0}.editor-main .field{margin-bottom:16px}.event-preview{position:sticky;top:25px;border:1px solid #d8dfcf;border-radius:22px;background:#fcfcf7;overflow:hidden;padding:20px;box-shadow:0 10px 30px #28372108}.preview-brand{font-size:8px;letter-spacing:1px;color:#8b977e;margin-bottom:15px}.preview-cover{min-height:100px;background:linear-gradient(140deg,#374d39,#b7bc94);color:#f7f7e8;display:flex;align-items:center;padding:18px;border-radius:12px;word-break:break-word;font-size:14px}.event-preview h2{font-size:20px;margin:20px 0 12px;line-height:1.4;word-break:break-word}.event-preview p{font-size:11px;color:#7a896d;line-height:1.8;margin:12px 0;white-space:pre-wrap;word-break:break-word}.event-preview hr{border:0;border-top:1px solid #e4e8da;margin:20px 0}.event-preview strong{font-size:13px}.event-preview .preview-policy{background:#eef2e6;border-radius:8px;padding:12px}.preview-cta{display:block;text-align:center;font-size:12px;color:white;background:#4e663e;border-radius:8px;padding:14px;margin-top:20px}.event-preview small{display:block;font-size:8px;color:#929f85;margin-top:12px;line-height:1.6}.policy-callout{background:#eef3e7;border-left:3px solid #7c9363;padding:18px;margin:10px 0 22px;line-height:1.8;font-size:12px}.policy-callout p{margin-top:8px;color:#748463}.preset-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:23px}.preset-row .button{font-size:10px;padding:10px 12px}.policy-table{width:100%;font-size:11px;margin-bottom:16px}.policy-table input{width:90px;max-width:100%;padding:10px;border:1px solid #d9e0cf;border-radius:7px;background:white}.policy-table th{white-space:normal;line-height:1.7}.weekday-row{display:flex;gap:12px;justify-content:space-between;margin:20px 0;font-size:12px}.weekday-row label{display:flex;gap:5px;align-items:center}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;padding:13px;background:#edf1e4;border-radius:8px;font-size:14px}.booking-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin:16px 0 24px}.booking-calendar>span{text-align:center;font-size:10px;color:#909b82;padding:6px}.booking-calendar button{min-height:58px;border:1px solid #e7ebdf;background:white;border-radius:8px;color:#4d6045;cursor:pointer;font-size:12px}.booking-calendar button small{display:block;font-size:8px;margin-top:5px;color:#8a9879}.booking-calendar button.selected{background:#526c43;color:white;border-color:#526c43}.booking-calendar button.selected small{color:#e3ead9}.booking-calendar button.exception{box-shadow:inset 0 -3px #c4a76c}.booking-calendar button:disabled{opacity:.28;cursor:default}.exception-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:18px 0}.exception-heading h4{font-size:13px}.slot-edit-row,.slot-edit-label{display:grid;grid-template-columns:90px 66px 85px minmax(75px,1fr) 40px;gap:7px;align-items:center;margin:8px 0}.slot-edit-row input{width:100%;min-width:0;border:1px solid #dde3d4;background:#fff;padding:10px 6px;border-radius:6px;font-size:11px}.slot-edit-label{font-size:9px;color:#8b997c}.slot-edit-row .mini{padding:5px;font-size:9px}.batch-panel{margin-top:20px;background:#f3f5ec;padding:16px;border-radius:8px;font-size:11px}.batch-panel summary{cursor:pointer;margin-bottom:12px}.batch-panel .muted{margin-top:10px}#schedule-message{font-size:11px;color:#5b7944;margin-top:12px}.question-card{padding:18px;border:1px solid #e0e5d7;border-radius:10px;margin-bottom:16px}.question-card .step-line{margin-bottom:14px}.editor-save{position:sticky;bottom:0;z-index:3;background:#fafbf5ee;backdrop-filter:blur(10px);border-top:1px solid #e0e5d6;padding:16px 0;margin-top:25px}.editor-save>span{margin-right:auto;font-size:10px;color:#89967b}.editor-message{color:#b36d47;font-size:12px}.settings-panel.wide{max-width:none}.booking-workbench .muted{line-height:1.8}.booking-workbench .notice{line-height:1.8}
@media(min-width:1500px){.editor-layout{grid-template-columns:minmax(0,1fr) 310px;gap:45px}}
@media(max-width:1100px){.editor-layout{grid-template-columns:minmax(0,1fr) 230px;gap:20px}.editor-tabs button{padding:12px 10px;font-size:10px}}
@media(max-width:850px){.editor-layout{grid-template-columns:1fr}.event-preview{position:static;max-width:380px;margin:10px auto;width:100%}.slot-edit-row,.slot-edit-label{grid-template-columns:80px 55px 75px minmax(60px,1fr) 35px;gap:4px}.booking-workbench{padding:12px 16px!important}.editor-save{flex-wrap:wrap}.editor-topline{font-size:8px}.editor-save>span{display:none}}

#slot-editor{max-height:390px;overflow-y:auto;padding-right:5px}.slot-edit-label{position:sticky;top:0;background:#fafbf5;padding:8px 0;z-index:1}

.kiosk-shell{max-width:860px;margin:auto;padding:32px 24px;min-height:100vh}.kiosk-shell header{display:flex;justify-content:space-between;margin-bottom:28px;color:#536251}.kiosk-shell header strong{font-size:24px}.kiosk-card{padding:36px}.kiosk-card h1{font-size:32px}.kiosk-card .button{min-height:58px;font-size:18px;margin-top:16px}.kiosk-card input,.kiosk-card select{min-height:54px;font-size:20px}.kiosk-card input[type=checkbox]{min-height:24px;width:24px;flex-shrink:0}.kiosk-card .check-field{align-items:center;margin-top:24px}.kiosk-complete{text-align:center}.kiosk-complete h1 strong{display:block;font-size:76px}.kiosk-complete .qr-wrap{max-width:260px;margin:20px auto}#intake-error{color:#9c3028;min-height:24px}@media(max-width:600px){.kiosk-shell{padding:18px 12px}.kiosk-card{padding:22px}.kiosk-card h1{font-size:26px}.kiosk-card .form-grid{grid-template-columns:1fr}}

.kiosk-shell .field,.kiosk-shell .check-field,.kiosk-shell .muted,.kiosk-shell summary{font-size:16px;line-height:1.6}

.qr-export-preview{text-align:center}.qr-export-preview .qr-wrap{max-width:250px;margin:12px auto}.qr-export-preview input{font-size:12px}#qr-error{color:#9b4b27;margin:10px 0;line-height:1.5}

.business-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:18px}.business-card{border:1px solid #dce3d6;border-radius:12px;padding:22px}.business-card small{overflow-wrap:anywhere}.business-card .button{margin:4px}.business-card p{line-height:1.6}
.business-section{padding:25px;margin-bottom:20px}.business-section>p{margin:12px 0 18px}.business-section>.panel-heading{padding:0 0 18px;gap:18px;flex-wrap:wrap}.business-section>.panel-heading>div{min-width:0}.business-section .panel-heading p{overflow-wrap:anywhere}.business-grid{grid-template-columns:repeat(auto-fit,minmax(min(270px,100%),1fr))}.business-card{min-width:0}.business-card h3{margin:12px 0}.business-card p{margin:10px 0}.business-section .button{white-space:normal}

/* Compact phone intake proportions; retain larger tablet kiosk controls. */
.guest-page .kiosk-card{padding:24px}
.guest-page .kiosk-card h1{font-size:23px;line-height:1.4;letter-spacing:-.6px;margin:10px 0 12px}
.guest-page .kiosk-card>p{font-size:13px;line-height:1.65}
.guest-page .kiosk-card .field{font-size:13px;line-height:1.5;gap:7px;margin-bottom:16px}
.guest-page .kiosk-card input:not([type=checkbox]),.guest-page .kiosk-card select{font-size:16px;min-height:46px;padding:11px 12px;border-radius:10px;line-height:1.4}
.guest-page .kiosk-card input::placeholder{font-size:14px;color:#89938b}
.guest-page .kiosk-card .button{font-size:15px;min-height:48px;padding:12px 16px;margin-top:12px;border-radius:10px}
.guest-page .kiosk-card .check-field{font-size:12px;line-height:1.65;align-items:flex-start;gap:9px;margin-top:18px}
.guest-page .kiosk-card input[type=checkbox]{width:18px;height:18px;min-height:18px;margin-top:2px}
.guest-page .kiosk-card .muted{font-size:12px;line-height:1.65}
.guest-page .kiosk-card .profile-fields{padding:12px;margin:4px 0 16px}
.guest-page .kiosk-card .notice{font-size:13px;padding:12px 14px;line-height:1.6}
@media(max-width:600px){.guest-page .kiosk-card{padding:22px 20px}.guest-page .kiosk-card h1{font-size:22px}}

.staff-scanner{max-width:520px;margin:auto}.staff-scanner h1{font-size:26px}.staff-scanner video{display:block;width:100%;aspect-ratio:1;max-height:360px;object-fit:cover;background:#15251f;border-radius:16px;margin:18px 0}.staff-scanner .button-group{display:flex;gap:8px}.staff-scanner .button-group .button{flex:1}.staff-scanner details{margin:22px 0}.staff-scanner input{font-size:16px}.staff-scanner #staff-scan-result{margin:16px 0}

#pass-step-field[hidden]{display:none!important}#station-result{margin:16px 0}#station-result h2{font-size:22px}
/* Customer-facing mobile journey */
.guest-page{padding-bottom:110px}.customer-nav{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);display:flex;width:min(480px,calc(100% - 32px));background:#203b31;color:white;border-radius:22px;padding:8px;z-index:20;box-shadow:0 8px 30px #203b3130}.customer-nav a{flex:1;text-align:center;padding:14px 8px;border-radius:16px;color:white;text-decoration:none;font-size:14px;font-weight:700}.customer-nav a[aria-current]{background:#d7f1ba;color:#203b31}.customer-hero{padding:54px 28px;margin:24px 0;background:#eaf0e4;border-radius:28px}.customer-hero h1{font-size:clamp(32px,6vw,48px);letter-spacing:-2px;line-height:1.25;margin:20px 0}.customer-hero p{line-height:1.8;color:#536255;margin-bottom:28px}.customer-info,.customer-auth,.customer-ticket{padding:26px;margin:18px 0}.customer-info p,.customer-auth p{line-height:1.8}.customer-heading{padding:24px 0 8px}.customer-heading h1{font-size:30px;line-height:1.4}.customer-business{text-align:center;padding:28px 12px;color:#667065;font-size:13px}.customer-business a{margin:0 10px;color:#314b3d}.visit-steps{display:flex;gap:12px;justify-content:space-between;margin:24px 0}.visit-steps span{flex:1;padding:14px 8px;background:#f1f4ee;border-radius:14px;text-align:center;font-size:13px;line-height:1.8}.customer-tickets{display:grid;gap:12px}.customer-ticket h2{font-size:20px;margin:16px 0}.customer-ticket .button{margin-top:10px}.customer-auth .social-buttons{display:grid;gap:12px;margin:28px 0}.social.kakao{background:#fee500;color:#191919}.social.naver{background:#03c75a;color:#fff}.social:disabled{opacity:.55;cursor:not-allowed}.participation-row{padding:18px 0;border-top:1px solid #e8ece5;display:flex;align-items:center;justify-content:space-between;gap:12px}.participation-row h3{margin:0;font-size:16px}.participation-row p{margin:6px 0;font-size:13px;color:#61705e}.participation-row .button{flex-shrink:0}.guest-action dl dd{overflow-wrap:anywhere}@media(max-width:480px){.customer-hero{padding:32px 22px}.customer-info,.customer-auth,.customer-ticket{padding:20px}.guest-page{width:100%;max-width:100%;padding-inline:16px}.participation-row{align-items:flex-start;flex-direction:column}.guest-page input,.guest-page select{max-width:100%;min-width:0}}
