*{box-sizing:border-box}html{background:#edf3fa;color:#24364b;font-family:"Malgun Gothic",system-ui,sans-serif}body{margin:0;min-height:100dvh;touch-action:manipulation}button,input{font:inherit}button{cursor:pointer;min-height:62px;border:0;border-radius:16px;color:inherit;background:#eaf0f7;font-weight:700;touch-action:manipulation}button:disabled{cursor:default;background:#e1e7ef;color:#8291a2}button:focus-visible,a:focus-visible{outline:4px solid #85b4ff;outline-offset:3px}a{text-decoration:none;color:inherit}[hidden]{display:none!important}.kiosk{--u:clamp(16px,3.1vw,32px);width:min(100%,1080px);min-height:100dvh;margin:auto;padding:calc(var(--u)*1.05) calc(var(--u)*1.5);display:flex;flex-direction:column;background:linear-gradient(160deg,#f5f9ff,#fff)}header{display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{font-size:calc(var(--u)*1.12);font-weight:800}.icon-button{font-size:calc(var(--u)*1.25);width:calc(var(--u)*2.2);min-height:calc(var(--u)*2.1);background:transparent}.mode-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:calc(var(--u)*.65) 0 calc(var(--u)*1.2);font-size:calc(var(--u)*.68);color:#65758c}.mode-bar #mode{border-radius:10px;background:#fff0d5;color:#8b6115;padding:6px 12px}.mode-bar.live #mode{background:#e4f3e9;color:#236644}.screen{flex:1}.step{font-size:calc(var(--u)*.7);color:#6a7f9a;letter-spacing:3px}h1{font-size:calc(var(--u)*1.55);letter-spacing:-1.3px;line-height:1.4;margin:calc(var(--u)*.3) 0 calc(var(--u)*1)}.amount-box{display:flex;align-items:center;justify-content:flex-end;background:#fff;border:2px solid #d6e3f4;border-radius:22px;padding:calc(var(--u)*.85);margin-bottom:calc(var(--u)*.8);gap:12px}.amount-box input{width:100%;min-width:0;background:transparent;border:0;text-align:right;font-size:calc(var(--u)*2.25);font-weight:800;color:#253d60;outline:none}.amount-box span{font-size:calc(var(--u)*1.1)}.keypad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:calc(var(--u)*.45)}.keypad button{font-size:calc(var(--u)*1.6);min-height:calc(var(--u)*3);background:#edf3fb;border:1px solid #dce6f2;border-radius:calc(var(--u)*.6)}.keypad button:active{background:#d5e5ff}.keypad button.small{font-size:calc(var(--u)*.9)}.room-field{margin:calc(var(--u)*.7) 0}.room-field label{display:block;font-size:calc(var(--u)*.83);font-weight:700;margin-bottom:8px}.room-field label span{font-weight:400;color:#8190a3}.room-field>div{display:flex;gap:12px}.room-field input{width:100%;min-width:0;border:1px solid #cdd8e5;border-radius:12px;padding:12px 18px;background:#fff;font-size:calc(var(--u)*.9);color:inherit}.room-field button{min-width:calc(var(--u)*4)}.purpose-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:calc(var(--u)*.75) 0}.purpose-buttons button{font-size:calc(var(--u)*.84);min-height:calc(var(--u)*2.5);border:2px solid transparent;background:#edf3fb}.purpose-buttons [aria-pressed=true]{background:#e3edff;color:#285fcc;border-color:#4b83e5}.primary{width:100%;background:#346cde;color:#fff;font-size:calc(var(--u)*1.15);min-height:calc(var(--u)*3.2);margin-top:calc(var(--u)*.65)}.secondary{font-size:calc(var(--u)*.9);padding:12px 20px;background:#eaf0f7}.wide{width:100%;margin-top:calc(var(--u)*.55);min-height:calc(var(--u)*2.5)}.big-total{font-size:calc(var(--u)*2.4);font-weight:800;color:#254976;margin:calc(var(--u)*1.4) 0;letter-spacing:-1px;overflow-wrap:anywhere}.summary{font-size:calc(var(--u)*1.05);display:grid;grid-template-columns:1fr 1.3fr;gap:calc(var(--u)*1);margin:0;background:#fff;padding:calc(var(--u)*1.2);border-radius:20px;border:1px solid #dce6f2}.summary dt{color:#708298}.summary dd{margin:0;text-align:right;font-weight:700}.instruction{font-size:calc(var(--u)*1.02);line-height:1.75;color:#65748b;margin:calc(var(--u)*1.8) 0}.state-icon{font-size:calc(var(--u)*3);color:#4474c8;margin:calc(var(--u)*1.2) 0}.notice{font-size:calc(var(--u)*.83);color:#ad392f;min-height:1.8em;margin:calc(var(--u)*.7) 0 0}footer{margin-top:auto;padding-top:10px;font-size:calc(var(--u)*.65);text-align:center;color:#77879e}.receipt{border:1px solid #dbe5f0;background:#fff;padding:calc(var(--u)*1);border-radius:18px;font-size:calc(var(--u)*.85);white-space:pre-line}.mock-controls{border:2px dashed #dfba70;border-radius:20px;padding:calc(var(--u)*.8);background:#fffaf0;margin-top:calc(var(--u)*1)}.mock-controls p{font-size:calc(var(--u)*.75);color:#8d671e;margin:0}.mock-more{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.mock-more button{font-size:calc(var(--u)*.75);min-height:calc(var(--u)*2.3);background:#f3e9d4}dialog{--u:clamp(18px,3vw,28px);width:min(92vw,820px);border:1px solid #d5e2f0;border-radius:24px;padding:calc(var(--u)*1.2);color:#263950;max-height:88dvh;overflow:auto}dialog::backdrop{background:#15243dcc}dialog h2{font-size:calc(var(--u)*1.15);margin:0 0 20px}output{display:block;text-align:center;min-height:72px;font-size:calc(var(--u)*1.8);font-weight:700}.dialog-header{display:flex;align-items:center;justify-content:space-between}.history-row{border-top:1px solid #dbe4ef;padding:18px 0;font-size:calc(var(--u)*.8);display:grid;gap:7px}.history-row button{font-size:inherit;min-height:54px}.history-row strong{font-size:calc(var(--u)*.94)}.pair-value{font-size:calc(var(--u)*1.4);font-weight:800;letter-spacing:3px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(min-aspect-ratio:1/1){.kiosk{max-width:720px;--u:24px}.keypad button{min-height:74px}.mode-bar{margin-bottom:20px}}@media(max-width:400px){.kiosk{--u:16px;padding:18px}.keypad button{min-height:58px}.purpose-buttons button{min-height:54px}.primary{min-height:64px}.mode-bar{font-size:12px}}

.room-field button{flex-shrink:0;white-space:nowrap}
/* SAMWOO interior palette; preserve payment sizes, hidden states, and interactions. */
@media screen{
 html{background:#f5f3ed;color:#173e36}.kiosk{background:#f5f3ed;color:#173e36}.kiosk header{border-bottom:1px solid #d9dfd6;padding-bottom:0}.kiosk .brand{color:#173e36}.kiosk .brand:before{content:'S';display:inline-grid;place-items:center;width:1.6em;height:1.7em;border:1px solid #173e36;border-radius:1em 1em 3px 3px;font-family:Georgia,serif;margin-right:.45em;font-weight:400;font-size:.85em;vertical-align:middle}
 .kiosk button,dialog button{background:#e7ecdf;color:#173e36;border-radius:12px}.kiosk button:disabled,dialog button:disabled{background:#dfe4dc;color:#7b8b80}.kiosk button:focus-visible,dialog button:focus-visible,.kiosk a:focus-visible{outline-color:#a86c46}
 .kiosk .primary,dialog .primary,.pay-tabs button[aria-pressed=true],.calendar-days button.selected{background:#173e36;color:#fff}.kiosk .primary:disabled,dialog .primary:disabled{background:#dfe4dc;color:#7b8b80}
 .kiosk .keypad button,dialog .keypad button,.kiosk .secondary,.kiosk .purpose-buttons button,.kiosk .floor-tabs button,.kiosk .date-button,.kiosk .phone-button{background:#eaf0e5;border-color:#becbbb;color:#173e36}
 .kiosk .keypad button:active,dialog .keypad button:active{background:#cddbc6}.kiosk .purpose-buttons [aria-pressed=true],.kiosk .floor-tabs [aria-pressed=true],.kiosk .room-button[aria-pressed=true]{background:#dce7d3;border-color:#173e36;color:#173e36}
 .kiosk .stay-card,.kiosk .stay-layout #review,.kiosk .room-button,.kiosk .amount-box,.kiosk .summary,.kiosk .date-card,.kiosk .receipt{background:#fffefa;border-color:#d9dfd6;box-shadow:none}.kiosk .stay-layout:not(.direct-review) .summary{background:#eef2e8}
 .kiosk .room-button:disabled{background:#eff0e9}.kiosk .review-room,.kiosk .big-total,.kiosk .amount-box input,.kiosk .state-icon{color:#173e36}.kiosk .room-button span,.kiosk .mode-bar,.kiosk .vat-label,.kiosk .review-period,.kiosk .instruction,.kiosk .summary dt,.kiosk .link-label,.kiosk .link-description,.kiosk .date-card span,.kiosk footer{color:#60716a}
 .kiosk .mode-bar.live #mode{background:#e2ecdc;color:#295638}.kiosk .room-field select{border-color:#b9c9bb;background:#fffefa;color:#173e36}.kiosk .icon-button{background:transparent}.kiosk .staff-link{border-color:#d9dfd6;color:#173e36}.calendar-days [data-today=true]{border-color:#61845b}.calendar-days button.outside{background:#f5f4ed;color:#8a958e}
 dialog{background:#fffefa;color:#173e36;border-color:#d9dfd6}dialog::backdrop{background:#102f27bf}.history-row{border-color:#d9dfd6}.customer .notice{color:#a43b2a}
}
