*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{border-width:0}.\!visible{visibility:visible!important}.visible{visibility:visible}.fixed{position:fixed}.inset-0{inset:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.bottom-0{bottom:0}.left-0{left:0}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.mb-5{margin-bottom:1.25rem}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.list-item{display:list-item}.hidden{display:none}.h-4{height:1rem}.min-h-0{min-height:0}.min-h-11{min-height:2.75rem}.w-4{width:1rem}.w-\[min\(280px\2c 85vw\)\]{width:min(280px,85vw)}.min-w-0{min-width:0}.min-w-11{min-width:2.75rem}.flex-1{flex:1 1 0%}.-translate-x-full{--tw-translate-x:-100%}.-translate-x-full,.translate-x-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x:0px}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rounded-md{border-radius:.375rem}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-\[var\(--color-border-tertiary\)\]{border-color:var(--color-border-tertiary)}.bg-\[\#eeedfe\]{--tw-bg-opacity:1;background-color:rgb(238 237 254/var(--tw-bg-opacity,1))}.bg-\[rgba\(31\2c 31\2c 29\2c 0\.35\)\]{background-color:rgba(31,31,29,.35)}.bg-\[var\(--color-background-primary\)\]{background-color:var(--color-background-primary)}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.pb-24{padding-bottom:6rem}.pb-\[max\(0\.5rem\2c env\(safe-area-inset-bottom\)\)\]{padding-bottom:max(.5rem,env(safe-area-inset-bottom))}.pt-2{padding-top:.5rem}.text-\[10px\]{font-size:10px}.text-sm{font-size:.875rem;line-height:1.25rem}.font-medium{font-weight:500}.text-\[\#3c3489\]{--tw-text-opacity:1;color:rgb(60 52 137/var(--tw-text-opacity,1))}.text-\[var\(--color-text-secondary\)\]{color:var(--color-text-secondary)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}:root{--font-sans:"Noto Sans KR",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--color-background-primary:#fff;--color-background-secondary:#f7f6f3;--color-background-tertiary:#f1efe8;--color-border-tertiary:#e6e4dd;--color-border-secondary:#d7d4cb;--color-text-primary:#1f1f1d;--color-text-secondary:#5f5e5a;--color-text-tertiary:#8a8881;--border-radius-md:8px;--border-radius-lg:12px;--brand-700:#1f6fb2;--brand-500:#4a9fd9;--brand-100:#dceef8;--brand-50:#f2f8fc;--ink-900:#1b2b3a;--ink-500:#5c6b7a;--line:#dce3ea;--surface:#fff;--status-ok:#2e8b57;--status-ok-bg:#e8f5ee;--status-warn:#c98a1b;--status-warn-bg:#fbf3e2;--status-danger:#c4453d;--status-danger-bg:#f8eaea}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);color:var(--color-text-primary);background:var(--color-background-tertiary);overflow-x:hidden}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app,.sr-only{overflow:hidden}.app{display:flex;height:100vh;min-height:600px;background:var(--color-background-tertiary)}.sidebar{background:var(--color-background-primary);border-right:.5px solid var(--color-border-tertiary);display:flex;flex-direction:column;flex-shrink:0}@media (min-width:768px){.sidebar{width:220px}}.sidebar-logo{padding:16px;border-bottom:.5px solid var(--color-border-tertiary)}.logo-text{font-size:13px;font-weight:500;color:var(--color-text-primary)}.logo-sub{font-size:11px;color:var(--color-text-secondary);margin-top:2px}.sidebar-user{padding:12px 16px;gap:8px;border-bottom:.5px solid var(--color-border-tertiary)}.avatar,.sidebar-user{display:flex;align-items:center}.avatar{width:28px;height:28px;border-radius:50%;justify-content:center;font-size:11px;font-weight:500;flex-shrink:0}.av-purple{background:#eeedfe;color:#3c3489}.av-teal{background:#e1f5ee;color:#0f6e56}.av-coral{background:#faece7;color:#993c1d}.user-name{font-size:12px;font-weight:500;color:var(--color-text-primary)}.role-badge{font-size:10px;color:var(--color-text-secondary)}.nav-section{padding:8px 0;flex:1;overflow-y:auto}.nav-label{font-size:10px;color:var(--color-text-tertiary);padding:8px 16px 4px;text-transform:uppercase;letter-spacing:.5px}.nav-item{display:flex;align-items:center;gap:8px;padding:7px 16px;font-size:13px;color:var(--color-text-secondary);cursor:pointer;transition:background .1s;text-decoration:none}.nav-item:hover{background:var(--color-background-secondary);color:var(--color-text-primary)}.nav-item.active{background:#eeedfe;color:#3c3489;font-weight:500}.nav-badge{margin-left:auto;background:#e24b4a;color:#fff;font-size:10px;padding:1px 5px;border-radius:8px}.nav-badge.amber{background:#ef9f27;color:#fff}.main{flex:1;display:flex;flex-direction:column;overflow:hidden}.topbar{background:var(--color-background-primary);border-bottom:.5px solid var(--color-border-tertiary);padding:0 20px;height:52px;display:flex;align-items:center;gap:12px}.page-title{font-size:15px;font-weight:500;color:var(--color-text-primary);flex:1}.topbar-btn{display:flex;align-items:center;gap:5px;padding:6px 12px;border:.5px solid var(--color-border-secondary);border-radius:var(--border-radius-md);font-size:12px;color:var(--color-text-secondary);cursor:pointer;background:var(--color-background-primary)}.topbar-btn:hover{background:var(--color-background-secondary)}.btn-primary{background:#3c3489;color:#fff;border-color:#3c3489}.btn-primary:hover{background:#26215c}.content{flex:1;overflow-y:auto;padding:16px}@media (min-width:768px){.content{padding:20px}}.dashboard-grid{display:grid;gap:12px;margin-bottom:20px}.stat-card{background:var(--color-background-secondary);border-radius:var(--border-radius-md);padding:14px}.stat-label{font-size:11px;color:var(--color-text-secondary);margin-bottom:6px}.stat-value{font-size:22px;font-weight:500;color:var(--color-text-primary)}.stat-sub{font-size:11px;color:var(--color-text-tertiary);margin-top:2px}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.section-title{font-size:14px;font-weight:500;color:var(--color-text-primary)}.view-all{font-size:12px;color:#534ab7;cursor:pointer;text-decoration:none}.boards-row{display:grid;gap:12px;margin-bottom:20px}.board-card{background:var(--color-background-primary);border:.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-lg);padding:14px}.board-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:8px}.board-card-top .board-card-link{flex:1}.board-item-actions{display:inline-flex;gap:6px;flex-shrink:0}.schedule-list-item-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.board-card-link{display:block;color:inherit;text-decoration:none}.dialog-checkbox-group{display:grid;gap:8px;margin-bottom:12px}.board-detail-layout{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.board-detail-panel-title{font-size:13px;font-weight:600;color:var(--color-text-primary);margin-bottom:12px}.board-overall-progress{margin-top:12px}.board-overall-progress-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.board-overall-progress-label{font-size:12px;font-weight:600;color:var(--color-text-primary)}.board-overall-progress-value{font-size:12px;color:var(--color-text-secondary)}.board-memo-item-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.board-progress-table td:last-child,.board-progress-table th:last-child{width:120px}.board-detail-summary{margin-bottom:12px}.board-inline-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-bottom:12px}.board-inline-form-stack{grid-template-columns:1fr}.board-progress-input{max-width:120px}.board-progress-table{width:100%;border-collapse:collapse;font-size:12px}.board-progress-table td,.board-progress-table th{border-bottom:.5px solid var(--color-border-tertiary);padding:8px 4px;text-align:left}.board-completed-doc-item,.board-memo-item{padding:10px 0;border-bottom:.5px solid var(--color-border-tertiary)}.board-completed-doc-item:last-child,.board-memo-item:last-child{border-bottom:none}.board-memo-content{margin:4px 0 0;font-size:13px;line-height:1.5;color:var(--color-text-primary)}@media (max-width:1100px){.board-detail-layout{grid-template-columns:1fr}}.board-card:hover{border-color:var(--color-border-secondary)}.board-header{display:flex;align-items:center;gap:8px;margin-bottom:10px}.board-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.board-name{font-size:13px;font-weight:500;color:var(--color-text-primary)}.board-meta{font-size:11px;color:var(--color-text-secondary);margin-bottom:8px}.progress-bar{height:4px;background:var(--color-background-secondary);border-radius:2px;overflow:hidden}.progress-fill{height:100%;border-radius:2px}.board-footer{display:flex;align-items:center;justify-content:space-between;margin-top:8px;font-size:11px;color:var(--color-text-secondary)}.member-stack{display:flex}.member-stack .avatar{width:20px;height:20px;font-size:9px;border:1.5px solid var(--color-background-primary);margin-left:-5px}.member-stack .avatar:first-child{margin-left:0}.bottom-row{display:grid;gap:12px}.meeting-minutes-item{padding:10px 0;border-bottom:.5px solid var(--color-border-tertiary)}.meeting-minutes-item-header{display:flex;align-items:flex-start;gap:12px}.meeting-minutes-item-main{min-width:0;flex:1}.meeting-minutes-item-actions{display:inline-flex;gap:6px;margin-left:auto;flex-shrink:0}.meeting-minutes-item:last-child{border-bottom:none}.meeting-minutes-summary{margin:6px 0 0;font-size:12px;line-height:1.5;color:var(--color-text-secondary)}.panel{background:var(--color-background-primary);border:.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-lg);padding:14px}.task-item{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:.5px solid var(--color-border-tertiary)}.task-item:last-child{border-bottom:none}.task-item-main{min-width:0;flex:1}.task-delegation-meta{margin-top:4px;font-size:11px;color:var(--color-text-secondary)}.task-check{width:16px;height:16px;border-radius:4px;border:.5px solid var(--color-border-secondary);flex-shrink:0;padding:0;background:transparent;cursor:pointer}.task-check.done{background:#1d9e75;border-color:#1d9e75;display:flex;align-items:center;justify-content:center}.task-check.done:after{content:"✓";color:#fff;font-size:10px}.task-text{font-size:12px;color:var(--color-text-primary);flex:1}.task-text.done{color:var(--color-text-tertiary);text-decoration:line-through}.task-item-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.task-action-btn{border:.5px solid var(--color-border-secondary);border-radius:999px;background:var(--color-background-primary);color:var(--color-text-secondary);font-size:11px;padding:4px 8px;cursor:pointer}.task-action-btn:hover:not(:disabled){color:#3c3489;border-color:#3c3489}.task-action-btn.danger:hover:not(:disabled){color:#e24b4a;border-color:#e24b4a}.task-action-btn:disabled{opacity:.6;cursor:wait}.task-tag{font-size:10px;padding:2px 7px;border-radius:10px;flex-shrink:0}.tag-purple{background:#eeedfe;color:#3c3489}.tag-teal{background:#e1f5ee;color:#0f6e56}.tag-amber{background:#faeeda;color:#854f0b}.tag-coral{background:#faece7;color:#993c1d}.tag-deadline{font-size:10px;color:var(--color-text-tertiary);margin-left:4px}.doc-item{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:.5px solid var(--color-border-tertiary)}.doc-item:last-child{border-bottom:none}.doc-icon{width:28px;height:28px;border-radius:var(--border-radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.doc-icon-symbol{width:14px;height:14px}.doc-name{font-size:12px;color:var(--color-text-primary);font-weight:500}.doc-meta{font-size:11px;color:var(--color-text-secondary)}.shared-documents-header{align-items:center}.shared-drive-shortcut{text-decoration:none}.shared-documents-header-actions{display:flex;align-items:center;gap:8px}.shared-documents-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:12px;align-items:stretch;min-height:calc(100vh - 180px)}.shared-documents-main,.shared-documents-sidebar{min-width:0}.shared-documents-main{display:flex;flex-direction:column;gap:12px;min-height:0}.shared-documents-list-panel{flex:1;display:flex;flex-direction:column;min-height:0;margin-bottom:0}.shared-documents-list{display:grid;gap:0;flex:1;min-height:0;overflow-y:auto}.shared-documents-panel-title{margin:0 0 12px;font-size:13px;font-weight:500;color:var(--color-text-secondary)}.shared-folder-list{display:grid;gap:8px}.shared-folder-item{width:100%;border:0;border-radius:var(--border-radius-md);padding:8px 10px;background:transparent;text-align:left;font-size:13px;color:var(--color-text-secondary);cursor:pointer}.shared-folder-item.active{background:#eeedfe;color:#3c3489;font-weight:500}.shared-folder-row{display:grid;gap:6px}.shared-folder-row-actions{display:flex;gap:6px;padding-left:4px}.shared-folder-create,.shared-folder-editor{display:grid;gap:8px}.shared-folder-create-actions{display:flex;justify-content:flex-end;gap:8px}.shared-folder-create-btn{width:100%;margin-top:12px}.shared-documents-form-panel,.shared-documents-list-panel,.shared-drive-panel{margin-bottom:12px}.shared-documents-form{max-width:640px}.shared-document-item{justify-content:space-between}.shared-document-item-main{min-width:0}.shared-document-link{text-decoration:none}.shared-document-link:hover{color:#3c3489}.shared-drive-panel-header{margin-bottom:8px}.grant-application-list{display:grid;gap:12px}.grant-application-card{display:grid;gap:0;overflow:hidden}.grant-application-trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:14px 16px;border:0;background:transparent;text-align:left;cursor:pointer}.grant-application-trigger-main{display:grid;gap:4px;min-width:0}.grant-application-name{font-size:15px;font-weight:500;color:var(--color-text-primary)}.grant-application-meta{font-size:12px;color:var(--color-text-tertiary)}.grant-application-chevron{display:inline-flex;font-size:14px;color:var(--color-text-tertiary);transition:transform .2s ease}.grant-application-trigger.open .grant-application-chevron{transform:rotate(180deg)}.grant-application-panel{display:grid;gap:8px;padding:0 16px 16px;border-top:.5px solid var(--color-border-tertiary)}.grant-application-toolbar{display:flex;flex-wrap:wrap;gap:8px;padding-top:16px}.grant-application-item{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:.5px solid var(--color-border-tertiary)}.grant-application-item:last-child{border-bottom:none}.grant-application-item-title{flex:1;min-width:0;font-size:13px;color:var(--color-text-primary)}.grant-application-item-title.done{color:var(--color-text-tertiary);text-decoration:line-through}.grant-application-item-actions{display:inline-flex;gap:6px;flex-shrink:0}.grant-application-hint{margin:0;font-size:12px;color:var(--color-text-tertiary)}.grant-application-add-btn{border:0;background:transparent;cursor:pointer}.doc-status{font-size:10px;padding:2px 7px;border-radius:10px;margin-left:auto;flex-shrink:0}.status-ing{background:#faeeda;color:#854f0b}.status-done{background:#eaf3de;color:#3b6d11}.status-todo{background:#f1efe8;color:#444441}.screen-tabs{display:flex;gap:6px;margin-right:auto}.tab{padding:4px 10px;border-radius:6px;font-size:11px;cursor:pointer;color:var(--color-text-secondary)}.tab.active{background:#eeedfe;color:#3c3489;font-weight:500}.dot-purple{background:#534ab7}.dot-teal{background:#0f6e56}.dot-coral{background:#993c1d}.dot-amber{background:#ba7517}.dot-blue{background:#185fa5}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.login-card{width:min(100%,420px);background:var(--color-background-primary);border:.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-lg);padding:28px}.login-back{display:inline-block;margin-bottom:12px;color:var(--color-text-secondary);font-size:14px;text-decoration:none}.login-back:hover{color:var(--color-text-primary);text-decoration:underline}.login-eyebrow{font-size:12px;color:var(--color-text-secondary);margin-bottom:8px}.login-card h1{font-size:24px;margin-bottom:8px}.login-description{font-size:13px;color:var(--color-text-secondary);margin-bottom:20px}.login-form{display:grid;gap:12px}.login-form-stack{display:grid;gap:20px}.login-section{display:grid;gap:12px;padding-top:4px;border-top:.5px solid var(--color-border-tertiary)}.login-section:first-child{padding-top:0;border-top:none}.login-section-title{margin:0;font-size:13px;font-weight:500;color:var(--color-text-primary)}.login-label{font-size:12px;color:var(--color-text-secondary)}.login-input{width:100%;border:.5px solid var(--color-border-secondary);border-radius:var(--border-radius-md);background:#fff}.login-button,.login-input{padding:10px 12px;font-size:14px}.login-button{margin-top:8px;border:none;border-radius:var(--border-radius-md);background:#3c3489;color:#fff;cursor:pointer}.login-button:disabled{opacity:.7;cursor:wait}.login-error{color:#e24b4a;font-size:12px}.login-hint{font-size:12px;color:var(--color-text-tertiary)}.tasks-portal{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px 20px;background:#f4f7fb}.tasks-portal-inner{width:min(100%,760px);text-align:center}.tasks-portal-brand{margin:0 0 10px;font-size:14px;font-weight:500;color:#12294a;letter-spacing:.02em}.tasks-portal-title{margin:0 0 36px;font-size:clamp(28px,5vw,40px);font-weight:700;line-height:1.25;color:#12294a}.tasks-portal-cards{display:grid;grid-template-columns:1fr;gap:16px}@media (min-width:640px){.tasks-portal-cards{grid-template-columns:1fr 1fr;gap:20px}}.tasks-portal-card{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:10px;min-height:160px;padding:24px;text-align:left;text-decoration:none;color:#12294a;background:#fff;border:1px solid #d7e0ec;border-radius:16px;box-shadow:0 1px 2px rgba(18,41,74,.04);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.tasks-portal-card--accent{border:2px solid #12294a}.tasks-portal-card:hover{transform:translateY(-4px);box-shadow:0 10px 24px rgba(18,41,74,.12)}.tasks-portal-card-icon{font-size:28px;line-height:1}.tasks-portal-card-title{font-size:20px;font-weight:700;line-height:1.35}.tasks-portal-card-desc{font-size:14px;line-height:1.5;color:#5a6b7d}.tasks-portal-footer{margin:36px 0 0;font-size:12px;color:#8a97a8}.certificate-page{min-height:100vh;display:flex;align-items:flex-start;justify-content:center;padding:32px 20px 48px;background:#f4f7fb}.certificate-card{width:min(100%,560px);padding:28px 24px 32px;background:#fff;border:1px solid #d7e0ec;border-radius:16px;box-shadow:0 1px 2px rgba(18,41,74,.04)}.certificate-back{display:inline-block;margin-bottom:16px;font-size:14px;font-weight:600;color:#5a6b7d;text-decoration:none}.certificate-back:hover{color:#12294a}.certificate-eyebrow{margin:0 0 8px;font-size:13px;font-weight:500;color:#5a6b7d}.certificate-card h1{margin:0 0 10px;font-size:clamp(24px,4vw,30px);font-weight:700;line-height:1.3;color:#12294a}.certificate-desc{margin:0 0 24px;font-size:15px;line-height:1.5;color:#5a6b7d}.certificate-form{display:grid;gap:10px}.certificate-label{margin-top:6px;font-size:14px;font-weight:600;color:#12294a}.certificate-input,.certificate-textarea{width:100%;padding:12px 14px;border:1px solid #c5d0de;border-radius:10px;font-size:16px;color:#12294a;background:#fff}.certificate-textarea{resize:vertical;min-height:100px;font-family:inherit;line-height:1.5}.certificate-input:focus,.certificate-textarea:focus{outline:2px solid #1e7be0;outline-offset:1px;border-color:#1e7be0}.certificate-submit{margin-top:12px;width:100%;min-height:48px;border:none;border-radius:12px;background:#12294a;color:#fff;font-size:16px;font-weight:700;cursor:pointer}.certificate-submit:disabled{opacity:.65;cursor:not-allowed}.certificate-error{margin:4px 0 0;font-size:14px;font-weight:600;color:#c0392b}.certificate-success{padding:24px 16px;text-align:center;border-radius:12px;background:#e8f8ee}.certificate-success-title{margin:0 0 8px;font-size:20px;font-weight:700;color:#12294a}.certificate-success-desc{margin:0;font-size:15px;line-height:1.5;color:#5a6b7d}.admin-page{min-height:100vh;display:flex;justify-content:center;padding:28px 16px 40px;background:#f4f7fb}.admin-page--wide{align-items:flex-start}.admin-card{width:min(100%,720px);padding:24px 20px 28px;background:#fff;border:1px solid #d7e0ec;border-radius:16px;box-shadow:0 1px 2px rgba(18,41,74,.04)}.admin-page--wide .admin-card{width:min(100%,1080px)}.admin-eyebrow{margin:0 0 8px;font-size:13px;color:#5a6b7d}.admin-card h1{margin:0 0 8px;font-size:clamp(24px,4vw,30px);color:#12294a}.admin-desc{margin:0 0 20px;color:#5a6b7d;line-height:1.5}.admin-table-wrap{overflow-x:auto;margin-bottom:20px}.admin-table{width:100%;border-collapse:collapse;font-size:14px}.admin-table td,.admin-table th{border:1px solid #d7e0ec;padding:10px 12px;text-align:left;vertical-align:top}.admin-table th{width:110px;background:#f2f6fb;color:#12294a;font-weight:700}.admin-table--list th{width:auto;white-space:nowrap}.admin-task-list h2{margin:0 0 8px;font-size:16px;color:#12294a}.admin-task-list ul{margin:0 0 20px;padding-left:18px;color:#12294a}.admin-approve-actions{display:grid;gap:16px}.admin-approve-btn{min-height:48px;border:none;border-radius:10px;font-size:16px;font-weight:700;cursor:pointer}.admin-approve-btn--primary{background:#12294a;color:#fff}.admin-approve-btn--danger{background:#fdecec;color:#a33}.admin-approve-btn:disabled{opacity:.65;cursor:not-allowed}.admin-reject-block{display:grid;gap:8px}.admin-reason-presets{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:4px}.admin-reason-preset-btn{max-width:100%;padding:8px 10px;border:1px solid #c5d0de;border-radius:10px;background:#f7f9fc;color:#12294a;font-size:12px;line-height:1.35;text-align:left;cursor:pointer}.admin-reason-preset-btn:hover{border-color:#8aa0b8;background:#eef3f9}.admin-revision-fields{display:flex;flex-wrap:wrap;gap:8px 14px}.admin-revision-field-check{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:#12294a;cursor:pointer}.admin-continue-link-box{display:grid;gap:8px;margin:0 0 12px;padding:12px;border-radius:12px;background:#eef3f9}.admin-continue-link-url{margin:0;font-size:12px;color:#5a6b7d;word-break:break-all}.admin-review-history{margin-top:24px;padding-top:16px;border-top:1px solid #d7e0ea}.admin-review-history-title{margin:0 0 12px;font-size:16px;font-weight:700;color:#12294a}.admin-review-history-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}.admin-review-history-list li{padding:12px;border-radius:10px;background:#f7f9fc;border:1px solid #e2e8f0}.admin-review-history-meta{margin:0 0 6px;font-size:12px;color:#5a6b7d}.admin-review-history-comment{margin:0;white-space:pre-wrap;font-size:14px;line-height:1.45;color:#12294a}.report-review-fields{margin:8px 0 0;font-size:13px;color:#5a6b7d}.admin-label{font-size:14px;font-weight:600;color:#12294a}.admin-textarea{width:100%;min-height:96px;padding:12px 14px;border:1px solid #c5d0de;border-radius:10px;font-size:16px;font-family:inherit}.admin-error{color:#c0392b;font-weight:600}.admin-approve-result{padding:16px;border-radius:12px;background:#e8f8ee;color:#12294a}.admin-approve-result-title{margin:0 0 6px;font-size:18px;font-weight:700}.admin-foot-link{margin-top:20px;font-size:14px}.admin-filter-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.admin-filter-pill{display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border-radius:999px;border:1px solid #c5d0de;background:#fff;color:#12294a;text-decoration:none;font-size:14px;font-weight:600}.admin-filter-pill.is-on{background:#12294a;border-color:#12294a;color:#fff}.admin-link-btn{border:none;background:none;padding:0;color:#1e7be0;font-size:14px;font-weight:700;cursor:pointer;text-decoration:underline}.admin-link-btn:disabled{opacity:.6;cursor:not-allowed}.admin-empty{text-align:center;color:#8a97a8}.admin-card-header-row{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}.admin-export-btn{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border-radius:10px;background:#12294a;color:#fff;text-decoration:none;font-size:14px;font-weight:700;border:none;cursor:pointer}.admin-export-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.admin-result-count{font-size:14px;font-weight:800;color:#12294a}.admin-instructors-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:8px 0 16px}.admin-search-label{flex:1;min-width:min(100%,280px)}.admin-search-input{width:100%;min-height:40px;padding:0 14px;border:1px solid #c5d0de;border-radius:10px;font-size:15px;color:#12294a;background:#fff}.admin-filter-group{margin-bottom:10px}.admin-filter-group-label{display:block;margin-bottom:6px;font-size:12px;font-weight:800;color:#5a6b7d}.admin-filter-row--chips{margin-bottom:0}.admin-sort-link{color:inherit;text-decoration:none;font-weight:800}.admin-sort-link.is-on{text-decoration:underline}.admin-pager{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:16px 0}.admin-pager-status{font-size:14px;font-weight:700;color:#12294a}.admin-date-filter{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:16px}@media (min-width:720px){.admin-date-filter{grid-template-columns:1fr 1fr auto;align-items:end}}.admin-date-filter label{display:grid;gap:6px;font-size:13px;font-weight:600;color:#5a6b7d}.admin-row-link a{color:inherit;text-decoration:none;font-weight:600}.admin-row-link:hover{background:#f7fafc}.admin-report-actions{display:grid;gap:16px;margin-top:8px}.report-resume-box{display:grid;gap:12px;padding:16px;border-radius:12px;background:#fff8e6;border:1px solid #f0d9a0}.report-resume-title{margin:0;font-size:16px;font-weight:700;color:#12294a}.report-resume-meta{margin:0;color:#5a6b7d;font-size:14px}.report-resume-actions{display:grid;gap:8px}.report-edit-page{min-height:100vh;padding:20px 16px 96px;background:#f4f7fb}.report-edit-card{width:min(100%,640px);margin:0 auto;padding:20px 16px 28px;background:#fff;border:1px solid #d7e0ec;border-radius:16px}.report-edit-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.report-save-status{margin:0;font-size:13px;color:#5a6b7d;white-space:nowrap}.report-review-box{margin:12px 0 16px;padding:14px;border-radius:12px;background:#fff8e6;border:1px solid #f0d9a0}.report-review-title{margin:0 0 6px;font-size:14px;font-weight:700;color:#12294a}.report-review-body{margin:0;white-space:pre-wrap;color:#12294a;line-height:1.5}.confirm-card--wide{max-width:720px}.instructor-consent-item{display:grid;gap:6px;padding:12px 0;border-bottom:1px solid #e2e8f0}.instructor-consent-body{margin:0;padding:12px;border-radius:10px;background:#f7f9fc;white-space:pre-wrap;font-family:inherit;font-size:13px;line-height:1.5;color:#12294a}.instructor-rrn-row{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center}.instructor-doc-previews{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}.instructor-doc-thumb{width:140px;height:100px;object-fit:cover;border-radius:10px;border:1px solid #d7e0ea;background:#f7f9fc}.instructor-signature-wrap{width:100%;height:200px;border:1px solid #c5d0de;border-radius:12px;overflow:hidden;background:#fff}.instructor-signature-canvas{width:100%;height:100%;display:block;touch-action:none}.inapp-banner{position:sticky;top:0;z-index:80;padding:12px 16px 14px;background:#ffe566;color:#12294a;border-bottom:1px solid #e6c200}.inapp-banner-text{margin:0;font-size:14px;line-height:1.5;font-weight:600}.inapp-banner-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;align-items:center}.inapp-banner-open{border:0;border-radius:8px;padding:8px 12px;background:#12294a;color:#fff;font-weight:700;font-size:13px;cursor:pointer}.inapp-banner-close,.inapp-banner-continue{border:0;background:transparent;color:#12294a;font-size:13px;font-weight:600;text-decoration:underline;cursor:pointer;padding:8px 4px}.inapp-banner-hint{margin:8px 0 0;font-size:13px;line-height:1.45;font-weight:500}.settlement-home-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;margin-left:8px;padding:0 6px;border-radius:999px;background:#c0392b;color:#fff;font-size:12px;font-weight:700;vertical-align:middle}.settlement-new-box{display:grid;gap:8px;margin-bottom:20px}.settlement-list-ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}.settlement-list-card{display:grid;gap:8px;padding:14px;border-radius:12px;border:1px solid #d7e0ea;background:#fff;text-decoration:none;color:inherit}.settlement-list-card-top{display:flex;justify-content:space-between;gap:8px;align-items:center}.settlement-list-card-meta{display:flex;flex-wrap:wrap;gap:10px;font-size:13px;color:#5a6b7d}.settlement-status{font-size:12px;font-weight:700;padding:4px 8px;border-radius:999px}.settlement-status--draft{background:#eef3f9;color:#5a6b7d}.settlement-status--submitted{background:#e8f1ff;color:#1d4f91}.settlement-status--revision{background:#fff3cd;color:#8a5a00}.settlement-status--confirmed{background:#e8f8ee;color:#1e7a46}.settlement-status--paid{background:#12294a;color:#fff}.settlement-summary-card{display:grid;gap:12px;margin-bottom:16px;padding:14px;border-radius:12px;background:#eef3f9}.settlement-summary-label{display:block;font-size:12px;color:#5a6b7d;margin-bottom:2px}.settlement-item-card{display:grid;gap:6px;margin-bottom:12px;padding:12px;border:1px solid #d7e0ea;border-radius:12px}.settlement-item-head{display:flex;justify-content:space-between;align-items:center}.settlement-item-nums{display:grid;grid-template-columns:1fr 1fr;gap:8px}.settlement-item-calc{margin:4px 0 0;font-size:13px;color:#5a6b7d}.settlement-totals{margin:16px 0;padding:16px;border-radius:12px;background:#12294a;color:#fff;display:grid;gap:10px}.settlement-totals>div{display:flex;justify-content:space-between;gap:12px;font-size:15px}.settlement-totals-net{margin-top:4px;padding-top:10px;border-top:1px solid hsla(0,0%,100%,.25);font-size:18px!important}.settlement-totals--confirm{background:#eef3f9;color:#12294a}.settlement-totals--confirm .settlement-totals-net{border-top-color:#c5d0de}.settlement-confirm-items{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:8px}.settlement-confirm-items li{display:grid;gap:2px;padding:10px;border-radius:10px;background:#f7f9fc;font-size:14px}.report-revision-flag{margin:0 0 8px;font-size:12px;font-weight:700;color:#c0392b}.report-activity-field,.report-basic-fields,.report-photos{border-radius:12px}.report-basic-fields{display:grid;gap:8px}.report-activity-field.is-revision,.report-basic-fields.is-revision,.report-photos.is-revision{padding:12px;border:1.5px solid #c0392b;background:#fff7f6}.report-link-box{display:grid;gap:8px;margin:0 0 16px;padding:12px;border-radius:12px;background:#eef3f9;color:#12294a;font-size:14px}.report-link-box p{margin:0}.report-steps{list-style:none;margin:0 0 20px;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.report-step{display:grid;justify-items:center;gap:4px;font-size:12px;color:#8a97a8;text-align:center}.report-step.is-done,.report-step.is-on{color:#12294a;font-weight:700}.report-step-num{width:28px;height:28px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#eef3f9;font-size:13px}.report-step.is-done .report-step-num,.report-step.is-on .report-step-num{background:#12294a;color:#fff}.report-step-body{margin-bottom:8px}.report-textarea{min-height:120px;resize:vertical;line-height:1.5}.report-activity-collapsed,.report-photo-placeholder{padding:24px 12px;text-align:center;border:1px dashed #c5d0de;border-radius:12px}.report-activity-open-row{display:grid;gap:10px;justify-items:stretch}.report-activity-open-hint{margin:0;font-size:13px;line-height:1.45;color:#5a6b7d;text-align:left}.report-activity-fields{display:grid;gap:16px}.report-activity-lesson-hint{margin:0;font-size:13px;font-weight:600;color:#12294a}.report-activity-field{display:grid;gap:6px}.report-activity-field-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.report-activity-field-head .confirm-label{margin:0}.report-activity-template-btn{flex-shrink:0;min-height:32px;padding:0 10px;border:1px solid #c5d0de;border-radius:8px;background:#eef3f9;color:#12294a;font-size:12px;font-weight:700;cursor:pointer}.report-activity-template-btn:disabled{opacity:.4;cursor:not-allowed}.report-activity-guide{margin:0;font-size:12px;line-height:1.45;color:#8a97a8}.report-photos{display:grid;gap:12px}.report-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.report-photo-tile{position:relative;aspect-ratio:1;border-radius:12px;overflow:hidden;background:#eef3f9;border:1px solid #d7e0ec}.report-photo-tile--button{padding:0;cursor:zoom-in}.report-photo-thumb{width:100%;height:100%;object-fit:cover;display:block}.report-photo-add{aspect-ratio:1;border-radius:12px;border:2px dashed #c5d0de;background:#f7fafc;color:#12294a;font-size:48px;font-weight:300;line-height:1;cursor:pointer}.report-photo-input{display:none}.report-photo-overlay{position:absolute;inset:0;display:grid;place-items:center;gap:8px;background:rgba(18,41,74,.35)}.report-photo-overlay--fail{background:rgba(160,40,40,.55)}.report-photo-spinner{width:28px;height:28px;border:3px solid hsla(0,0%,100%,.35);border-top-color:#fff;border-radius:50%;animation:report-spin .8s linear infinite}@keyframes report-spin{to{transform:rotate(1turn)}}.report-photo-badge{position:absolute;top:8px;left:8px;width:24px;height:24px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#fff}.report-photo-badge--ok{background:#2f9e6b}.report-photo-badge--fail{position:static;background:#c0392b}.report-photo-delete{position:absolute;top:6px;right:6px;width:28px;height:28px;border:none;border-radius:999px;background:rgba(18,41,74,.75);color:#fff;font-size:18px;line-height:1;cursor:pointer}.report-photo-retry{min-height:36px;padding:0 12px;border:none;border-radius:8px;background:#fff;color:#12294a;font-size:13px;font-weight:700;cursor:pointer}.report-photo-order{position:absolute;left:6px;right:6px;bottom:6px;display:flex;justify-content:space-between;gap:6px}.report-photo-order-btn{min-width:36px;min-height:32px;border:none;border-radius:8px;background:hsla(0,0%,100%,.92);color:#12294a;font-size:12px;font-weight:700;cursor:pointer}.report-photo-order-btn:disabled{opacity:.35;cursor:not-allowed}.report-photo-lightbox{position:fixed;inset:0;z-index:80;display:grid;place-items:center;gap:12px;padding:20px;background:rgba(8,16,28,.86)}.report-photo-lightbox-img{max-width:min(100%,960px);max-height:calc(100vh - 100px);object-fit:contain;border-radius:8px}.report-photo-lightbox-close{min-height:44px;padding:0 18px;border:none;border-radius:10px;background:#fff;color:#12294a;font-size:15px;font-weight:700;cursor:pointer}.admin-report-photos{margin:20px 0 24px}.admin-pdf-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}.admin-pdf-icon{display:inline-flex;align-items:center;justify-content:center;font-size:18px;text-decoration:none}.report-summary-list{margin:0 0 16px;display:grid;gap:10px}.report-summary-list>div{display:grid;gap:2px;padding-bottom:10px;border-bottom:1px solid #e8eef5}.report-summary-list dt{font-size:13px;color:#5a6b7d}.report-summary-list dd{margin:0;font-size:16px;color:#12294a;font-weight:600}.report-nav-bar{position:fixed;left:0;right:0;bottom:0;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:hsla(0,0%,100%,.96);border-top:1px solid #d7e0ec;backdrop-filter:blur(8px)}.report-nav-bar .confirm-add-btn,.report-nav-bar .confirm-submit{width:100%;margin:0}.report-nav-next:disabled{opacity:.45}.admin-inline-error{display:block;margin-top:4px;font-size:12px;color:#c0392b}.admin-cert-download{display:inline-flex;flex-direction:column}.confirm-page{min-height:100vh;display:flex;align-items:flex-start;justify-content:center;padding:24px 16px 40px;background:#f4f7fb}.confirm-card{width:min(100%,520px);padding:24px 20px 28px;background:#fff;border:1px solid #d7e0ec;border-radius:16px;box-shadow:0 1px 2px rgba(18,41,74,.04)}.confirm-back{display:inline-block;margin-bottom:14px;font-size:14px;font-weight:600;color:#5a6b7d;text-decoration:none}.confirm-back:hover{color:#12294a}.confirm-eyebrow{margin:0 0 6px;font-size:13px;font-weight:500;color:#5a6b7d}.confirm-title{margin:0 0 8px;font-size:clamp(24px,4.5vw,30px);font-weight:700;line-height:1.3;color:#12294a}.confirm-desc{font-size:15px;color:#5a6b7d}.confirm-desc,.confirm-success{margin:0 0 20px;line-height:1.5}.confirm-success{padding:18px 14px;border-radius:12px;background:#e8f8ee;font-size:16px;font-weight:600;color:#12294a}.confirm-form{display:grid;gap:8px}.confirm-label{margin-top:4px;font-size:14px;font-weight:600;color:#12294a}.confirm-input{width:100%;min-height:48px;padding:12px 14px;border:1px solid #c5d0de;border-radius:10px;font-size:16px;color:#12294a;background:#fff}.confirm-select{appearance:none}.confirm-input:focus{outline:2px solid #1e7be0;outline-offset:1px;border-color:#1e7be0}.confirm-task-block{margin-top:4px}.confirm-task-block,.confirm-task-draft{display:grid;gap:8px}.confirm-add-btn,.confirm-remove-btn{min-height:48px;border:none;border-radius:10px;font-size:15px;font-weight:700;cursor:pointer}.confirm-add-btn{background:#eef3f9;color:#12294a}.confirm-remove-btn{min-height:36px;padding:0 12px;background:#fdecec;color:#a33}.confirm-task-list{margin:0;padding:0;list-style:none;display:grid;gap:8px}.confirm-task-item{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:48px;padding:10px 12px;border:1px solid #d7e0ec;border-radius:10px;background:#f8fafc;font-size:15px;color:#12294a}.confirm-task-empty{margin:0;font-size:14px;color:#8a97a8}.confirm-error{margin:4px 0 0;font-size:14px;font-weight:600;color:#c0392b}.confirm-submit{margin-top:12px;width:100%;min-height:52px;border:none;border-radius:12px;background:#12294a;color:#fff;font-size:17px;font-weight:700;cursor:pointer}.confirm-submit:disabled{opacity:.65;cursor:not-allowed}.verify-page{align-items:center}.verify-card{width:min(100%,420px)}.verify-status{display:grid;justify-items:center;gap:12px;margin:8px 0 20px;text-align:center}.verify-icon{width:64px;height:64px}.verify-status-title{margin:0;font-size:clamp(22px,5.5vw,28px);font-weight:700;line-height:1.35;color:#12294a}.verify-status.is-ok .verify-status-title{color:#0f6b40}.verify-status.is-fail .verify-status-title{color:#a1271d}.verify-query{margin:0 0 16px;font-size:16px;color:#5a6b7d;word-break:break-all}.verify-form{display:grid;gap:8px}.verify-dl{margin:0 0 20px;display:grid;gap:14px}.verify-dl>div{display:grid;gap:4px}.verify-dl dt{font-size:14px;font-weight:600;color:#5a6b7d}.verify-dl dd{margin:0;font-size:20px;font-weight:700;line-height:1.4;color:#12294a;word-break:keep-all}@media (max-width:500px){.verify-icon{width:72px;height:72px}.verify-dl dd{font-size:22px}.verify-form .confirm-input,.verify-form .confirm-submit{min-height:56px;font-size:18px}}@font-face{font-family:Pretendard;src:url(/fonts/Pretendard-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Pretendard;src:url(/fonts/Pretendard-Regular.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Pretendard;src:url(/fonts/Pretendard-SemiBold.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Pretendard;src:url(/fonts/Pretendard-SemiBold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}.kiosk-shell{--kiosk-bg:#f5f8fb;--kiosk-navy:#1a2b42;--kiosk-muted:#6b7a90;--kiosk-yellow:#f59e0b;--kiosk-yellow-bg:#fffbeb;--kiosk-green:#16a34a;--kiosk-orange:#ea580c;--kiosk-blue:#3b82f6;--kiosk-line:#e5eaf0;--kiosk-gray:#6b7a90;--kiosk-white:#fff;--kiosk-shadow:0 1px 3px rgba(20,40,80,.06);--kiosk-card-h-list:96px;--kiosk-card-h-v:150px;--kiosk-card-h-product:200px;--kiosk-card-poster-text:80px;--kiosk-grid-list-max:720px;--kiosk-grid-v-max:1000px;--kiosk-topbar-h:52px;position:relative;min-height:100dvh;height:100dvh;display:flex;flex-direction:column;background:var(--kiosk-bg);color:var(--kiosk-navy);font-family:Pretendard,var(--font-sans),sans-serif;font-size:24px;font-weight:500;overflow-x:hidden;overflow-y:hidden}.kiosk-shell.is-advanced:after{content:"";position:absolute;inset:0;z-index:25;pointer-events:none;box-shadow:inset 0 0 0 3px #7c3aed}.kiosk-shell a:focus-visible,.kiosk-shell button:focus-visible{outline:5px solid #3b82f6;outline-offset:2px}.kiosk-topbar{position:sticky;top:0;z-index:20;flex-shrink:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:8px;align-items:center;height:auto;min-height:52px;padding:6px 16px;background:var(--kiosk-white);border-bottom:1px solid var(--kiosk-line)}.kiosk-topbar-left{display:grid;gap:6px;min-width:0}.kiosk-topbar-brand{font-size:13px;font-weight:700;color:#6b7a90;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:none}.kiosk-progress{display:flex;min-width:0;overflow:hidden}.kiosk-progress-compact{display:none;width:100%;min-width:0}.kiosk-progress-compact-text{margin:0;font-size:18px;font-weight:700;color:var(--kiosk-navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kiosk-progress-bar{width:100%;height:8px;border-radius:999px;background:#e8eef6;overflow:hidden}.kiosk-progress-bar-fill{display:block;height:100%;border-radius:inherit;background:var(--kiosk-blue);transition:width .2s ease}.kiosk-progress-pills{display:flex;flex-wrap:nowrap;gap:6px;min-width:0;overflow-x:auto;scrollbar-width:none}.kiosk-progress-pills::-webkit-scrollbar{display:none}.kiosk-progress-pill{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-height:32px;padding:4px 10px;border-radius:999px;background:#e8eef6;color:var(--kiosk-gray);font-size:13px;font-weight:700}.kiosk-progress-pill.is-current{background:#eff6ff;color:var(--kiosk-blue);box-shadow:inset 0 0 0 2px var(--kiosk-blue)}.kiosk-progress-pill.is-done{background:#d9f2e5;color:var(--kiosk-green)}.kiosk-topbar-actions{display:flex;align-items:center;gap:8px;justify-self:end}.kiosk-level-badge{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:2px 8px;border:1px solid #7c3aed;border-radius:6px;background:#f5f3ff;color:#7c3aed;font-size:12px;font-weight:700;line-height:1.2}.kiosk-level-badge.is-lg{padding:6px 12px;font-size:18px}.kiosk-level-badge.is-basic{border-color:#94a3b8;background:#f1f5f9;color:#64748b}.kiosk-advanced-toast{position:absolute;top:calc(var(--kiosk-topbar-h, 52px) + 10px);right:12px;left:auto;z-index:45;margin:0;padding:8px 14px;pointer-events:none;border:1px solid #7c3aed;border-radius:8px;background:#f5f3ff;color:#7c3aed;font-size:14px;font-weight:700;white-space:nowrap}.kiosk-teacher-btn{flex-shrink:0;min-width:72px;min-height:44px;padding:6px 12px;border:1px solid var(--kiosk-line);border-radius:12px;background:var(--kiosk-white);color:var(--kiosk-navy);font-size:18px;font-weight:700;cursor:pointer}.kiosk-teacher-btn:disabled{opacity:.45;cursor:not-allowed}.kiosk-guide-row{position:sticky;top:var(--kiosk-topbar-h,52px);z-index:19;flex-shrink:0;display:flex;flex-direction:column}.kiosk-guide{position:relative;display:flex;align-items:center;min-height:64px;padding:8px 52px 8px 16px;background:var(--kiosk-yellow-bg);color:var(--kiosk-navy);border-left:4px solid var(--kiosk-yellow);border-bottom:1px solid var(--kiosk-line)}.kiosk-guide-text{flex:1;margin:0;font-size:26px;font-weight:700;line-height:1.2;text-align:left;min-width:0}.kiosk-guide-text.is-alert{color:#c62828}.kiosk-replay-btn{position:absolute;top:10px;right:10px;z-index:2;flex-shrink:0;display:grid;place-items:center;min-width:44px;min-height:44px;padding:0;border:1px solid var(--kiosk-line);border-radius:12px;background:var(--kiosk-white);color:var(--kiosk-blue);font-size:22px;font-weight:700;cursor:pointer}.kiosk-replay-label{display:none}.kiosk-replay-btn:disabled{opacity:.45;cursor:not-allowed}@media (min-width:900px){.kiosk-shell{--kiosk-topbar-h:48px}.kiosk-topbar{height:auto;min-height:48px;padding:6px 16px}.kiosk-teacher-btn{min-height:40px}.kiosk-guide-row{flex-direction:row;flex-wrap:wrap;align-items:center;height:auto;min-height:56px;padding:6px 12px 6px 16px;gap:12px;background:var(--kiosk-yellow-bg);border-left:4px solid var(--kiosk-yellow);border-bottom:1px solid var(--kiosk-line)}.kiosk-guide{flex:1 1 auto;min-width:0;min-height:0;height:auto;padding:0;background:transparent;border:none}.kiosk-guide-text{font-size:22px}.kiosk-mission-banner-wrap{margin:0;max-width:none;flex:0 1 auto}.kiosk-mission-banner{margin:0;min-height:40px;max-width:none;padding:4px 12px;font-size:18px;background:var(--kiosk-white);border-left:4px solid var(--kiosk-yellow);flex-shrink:0}.kiosk-replay-btn{position:static;top:auto;right:auto}}.kiosk-teacher-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;border-top:1px solid var(--kiosk-line);text-align:left;font-size:20px;font-weight:700}.kiosk-seg{display:flex;flex-wrap:wrap;gap:8px}.kiosk-seg button{border:1px solid var(--kiosk-line);border-radius:12px;padding:10px 14px;background:#fff;font-size:18px;font-weight:700;cursor:pointer}.kiosk-seg button.is-on{background:var(--kiosk-white);border:2px solid var(--kiosk-blue);color:var(--kiosk-navy)}.kiosk-teacher-voice{text-align:right}.kiosk-teacher-voice b{display:block;font-size:18px}.kiosk-teacher-voice b.is-ok{color:var(--kiosk-green)}.kiosk-teacher-voice b.is-warn{color:#b45309}.kiosk-test-voice-btn{margin-top:8px;border:1px solid var(--kiosk-line);border-radius:12px;padding:8px 12px;background:#fff;font-size:15px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:8px}.kiosk-main{min-height:min-content;overflow-x:hidden;overflow-y:visible;padding:12px 16px 24px;flex:1 1 auto;display:flex;flex-direction:column;justify-content:flex-start}.kiosk-shell.is-catalog .kiosk-main-scroll,.kiosk-shell.is-catalog .kiosk-scroll-area,.kiosk-shell.is-choice .kiosk-main-scroll,.kiosk-shell.is-choice .kiosk-scroll-area{flex:1 1 auto;min-height:0}.kiosk-shell.is-catalog .kiosk-main,.kiosk-shell.is-choice .kiosk-main{min-height:min-content;justify-content:flex-start}.kiosk-shell.is-catalog .kiosk-main>*,.kiosk-shell.is-choice .kiosk-main>*{flex:0 0 auto;min-height:min-content;width:100%}.kiosk-shell.is-choice .kiosk-address,.kiosk-shell.is-choice .kiosk-bag-step,.kiosk-shell.is-choice .kiosk-car-select,.kiosk-shell.is-choice .kiosk-dinein,.kiosk-shell.is-choice .kiosk-method,.kiosk-shell.is-choice .kiosk-mission-select,.kiosk-shell.is-choice .kiosk-options,.kiosk-shell.is-choice .kiosk-pay,.kiosk-shell.is-choice .kiosk-program,.kiosk-shell.is-choice .kiosk-schedule,.kiosk-shell.is-choice .kiosk-transit-routes{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-height:min-content;overflow:visible;width:100%}.kiosk-shell.is-choice .kiosk-address-grid,.kiosk-shell.is-choice .kiosk-bag-step-grid,.kiosk-shell.is-choice .kiosk-dinein-grid,.kiosk-shell.is-choice .kiosk-method-grid,.kiosk-shell.is-choice .kiosk-online-card-select-grid,.kiosk-shell.is-choice .kiosk-options-grid,.kiosk-shell.is-choice .kiosk-program-grid,.kiosk-shell.is-choice .kiosk-schedule-grid{flex:0 0 auto;width:100%;max-width:var(--kiosk-grid-v-max);margin:0 auto;align-items:stretch;align-content:start;justify-items:stretch}.kiosk-shell.is-choice .kiosk-address-card,.kiosk-shell.is-choice .kiosk-bag-card,.kiosk-shell.is-choice .kiosk-dinein-card,.kiosk-shell.is-choice .kiosk-method-card,.kiosk-shell.is-choice .kiosk-options-card,.kiosk-shell.is-choice .kiosk-picker-card,.kiosk-shell.is-choice .kiosk-schedule-card{width:100%;max-width:none;height:auto;min-height:var(--kiosk-card-h-v);overflow:visible;align-self:stretch}.kiosk-shell.is-choice .kiosk-address-title,.kiosk-shell.is-choice .kiosk-car-select-guide,.kiosk-shell.is-choice .kiosk-dinein-title,.kiosk-shell.is-choice .kiosk-method-title,.kiosk-shell.is-choice .kiosk-mission-select-heading,.kiosk-shell.is-choice .kiosk-options-label,.kiosk-shell.is-choice .kiosk-options-math,.kiosk-shell.is-choice .kiosk-schedule-movie,.kiosk-shell.is-choice .kiosk-schedule-title,.kiosk-shell.is-choice .kiosk-transit-routes-title{flex-shrink:0}.kiosk-shell.is-choice .kiosk-mission-select-grid,.kiosk-shell.is-choice .kiosk-transit-route-grid{flex:0 0 auto;width:100%;max-width:var(--kiosk-grid-list-max);margin:0 auto;display:grid;grid-template-columns:1fr;align-items:stretch;justify-content:flex-start;gap:12px}.kiosk-shell.is-choice .kiosk-mission-card,.kiosk-shell.is-choice .kiosk-transit-route-card{width:100%;height:auto;min-height:var(--kiosk-card-h-list);overflow:visible;flex:none}.kiosk-shell.is-choice .kiosk-car-select-train{flex:0 0 auto;overflow-x:auto;overflow-y:visible;align-items:stretch;width:100%;max-width:var(--kiosk-grid-v-max)}.kiosk-scroll-area{position:relative;flex:1 1 auto;min-height:0;overflow:hidden;display:flex;flex-direction:column}.kiosk-scroll-body{height:100%;min-height:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.kiosk-main-scroll{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.kiosk-scroll-hint{position:absolute;right:0;bottom:0;left:0;z-index:5;padding:28px 14px 10px;background:linear-gradient(180deg,rgba(244,247,251,0),rgba(244,247,251,.88) 38%,rgba(244,247,251,.98));color:var(--kiosk-navy);font-size:18px;font-weight:700;text-align:center;pointer-events:none}.kiosk-bottombar{position:sticky;bottom:0;z-index:20;flex-shrink:0;display:grid;grid-template-columns:minmax(90px,1fr) minmax(0,1.4fr) minmax(90px,1fr);gap:12px;align-items:center;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:var(--kiosk-white);border-top:1px solid var(--kiosk-line)}.kiosk-bottom-total{margin:0;text-align:center;font-size:24px}.kiosk-bottom-total strong{display:block;margin-top:4px;font-size:28px}.kiosk-bottom-total.is-remain strong{display:inline;margin-top:0}.kiosk-nav-btn{min-height:90px;padding:12px 16px;border:none;border-radius:12px;font-size:28px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}.kiosk-nav-btn:disabled{opacity:.45;cursor:not-allowed}.kiosk-nav-btn--back{background:var(--kiosk-white);color:var(--kiosk-navy);border:1px solid var(--kiosk-line)}.kiosk-nav-btn--next{background:var(--kiosk-blue);color:var(--kiosk-white)}.kiosk-start{min-height:40vh;display:grid;place-content:center;gap:20px;text-align:center}.kiosk-start-intro{margin:0;font-size:28px;font-weight:700}.kiosk-start-button{min-height:120px;padding:24px 28px;border:none;border-radius:12px;background:var(--kiosk-blue);color:var(--kiosk-white);font-size:36px;font-weight:700;cursor:pointer;transition:transform .16s ease}.kiosk-start-button:hover{transform:translateY(-4px)}.kiosk-select-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%;max-width:var(--kiosk-grid-v-max);margin:0 auto;align-items:stretch}@media (min-width:501px){.kiosk-select-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:901px){.kiosk-select-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.kiosk-select.has-basket{display:flex;flex-direction:column;gap:14px;min-height:100%}.kiosk-select-main{min-width:0;flex:1 1 auto}.kiosk-select-note{margin:0 auto 12px;width:100%;max-width:var(--kiosk-grid-v-max);padding:14px 16px;border-radius:14px;background:#e8f4ff;border:2px solid #7eb6e8;font-size:22px;font-weight:700;color:var(--kiosk-navy);text-align:center;line-height:1.4}.kiosk-pool-ticket-people{margin:0 0 6px;font-size:24px;font-weight:700}.kiosk-photo-result,.kiosk-photo-shoot{display:flex;flex-direction:column;align-items:center;gap:16px;width:min(100%,560px);margin:0 auto}.kiosk-photo-result-guide,.kiosk-photo-shoot-status{margin:0;font-size:28px;font-weight:800;color:var(--kiosk-navy);text-align:center}.kiosk-photo-view{position:relative;width:min(100%,420px);aspect-ratio:3/4;overflow:hidden;border-radius:24px;background:#111827}.kiosk-photo-view.is-flash:after{content:"";position:absolute;inset:0;background:#fff;opacity:.88;pointer-events:none}.kiosk-photo-video.is-off{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.kiosk-photo-cell-img,.kiosk-photo-placeholder,.kiosk-photo-video{width:100%;height:100%;object-fit:cover}.kiosk-photo-char,.kiosk-photo-placeholder{display:grid;place-items:center;font-size:96px;background:#fef3c7}.kiosk-photo-facebox{position:absolute;inset:12% 14%;border:6px dashed #fff;border-radius:28px;pointer-events:none}.kiosk-photo-count{position:absolute;inset:0;display:grid;place-items:center;margin:0;font-size:96px;font-weight:900;color:#fff;text-shadow:0 4px 16px rgba(0,0,0,.55);pointer-events:none}.kiosk-photo-progress{margin:0;font-size:24px;font-weight:800}.photo-frame{position:relative;display:flex;flex-direction:column;width:min(100%,280px);aspect-ratio:5/8;padding:16px 16px 12px;border-radius:12px;box-sizing:border-box;overflow:hidden}.photo-frame.is-compact{width:min(100%,132px);padding:8px 8px 6px;border-radius:8px;margin:0 auto}.photo-frame.frame-basic{background:#1a1a1a}.photo-frame.frame-heart{background:#ff7ba9}.photo-frame.frame-star{background:#3b5bdb}.photo-frame.frame-animal{background:#ffd166}.photo-frame-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;flex:0 0 auto;width:100%;min-width:0}.photo-cell{position:relative;width:100%;min-width:0;min-height:0;aspect-ratio:3/4;overflow:hidden;border-radius:6px;background:#cfcfcf}.photo-cell-empty{background:#cfcfcf}.photo-cell-empty,.photo-cell-img{display:block;width:100%;height:100%}.photo-cell-img{min-width:0;min-height:0;object-fit:cover;object-position:center}.photo-cell-char{display:grid;place-items:center;width:100%;height:100%;background:#fff4d6;font-size:56px;line-height:1}.photo-frame.is-compact .photo-cell-char{font-size:22px}.photo-frame-logo{margin:auto 0 0;padding-top:10px;color:#fff;font-size:14px;font-weight:800;letter-spacing:.04em;text-align:center;line-height:1}.photo-frame.is-compact .photo-frame-logo{padding-top:6px;font-size:10px}.photo-frame-deco{position:absolute;z-index:1;font-size:20px;line-height:1;pointer-events:none}.photo-frame-deco.is-tl{top:4px;left:4px}.photo-frame-deco.is-tr{top:4px;right:4px}.photo-frame-deco.is-bl{bottom:28px;left:4px}.photo-frame-deco.is-br{bottom:28px;right:4px}.photo-frame.is-compact .photo-frame-deco{font-size:12px}.photo-frame.is-compact .photo-frame-deco.is-bl,.photo-frame.is-compact .photo-frame-deco.is-br{bottom:18px}.photo-frame-deco-row{position:absolute;left:12px;right:12px;z-index:1;display:flex;justify-content:space-around;pointer-events:none;font-size:18px;line-height:1}.photo-frame-deco-row.is-top{top:2px}.photo-frame-deco-row.is-bottom{bottom:26px}.photo-frame-deco-row.is-animal{justify-content:center;gap:10px}.photo-frame.is-compact .photo-frame-deco-row{font-size:11px;left:6px;right:6px}.photo-frame.is-compact .photo-frame-deco-row.is-bottom{bottom:16px}.kiosk-product-card.is-photo-frame .kiosk-product-media{height:auto;aspect-ratio:auto;max-height:none;overflow:visible;background:transparent}.kiosk-product-card.is-photo-frame .photo-frame{width:min(100%,132px);height:auto}.kiosk-photo-result .photo-frame{width:min(100%,280px)}.kiosk-photo-retake{min-height:56px;padding:0 22px;border:3px solid var(--kiosk-navy);border-radius:16px;background:#fff;font-size:24px;font-weight:800;color:var(--kiosk-navy)}.kiosk-receipt-lines--check li span:nth-child(2){flex:1 1 auto;text-align:left}.kiosk-receipt-check{flex:0 0 48px;width:48px;height:48px;border:3px solid #94a3b8;border-radius:12px;background:#fff;font-size:28px;font-weight:900;color:#16a34a;line-height:1}.kiosk-receipt-check.is-on{border-color:#16a34a;background:#dcfce7}.kiosk-receipt-check-ask,.kiosk-receipt-match-done{margin:14px 0 0!important;justify-content:center!important;font-size:24px;font-weight:800}.kiosk-receipt-match{display:block;width:100%;margin-top:16px;min-height:64px;border:0;border-radius:16px;background:#16a34a;color:#fff;font-size:28px;font-weight:800}.kiosk-teacher-desc{margin:8px 0 0}.kiosk-select-grid.is-compact{grid-template-columns:repeat(2,minmax(0,1fr))}.kiosk-basket{display:flex;flex-direction:column;flex:0 0 auto;min-height:200px;max-height:min(42vh,320px);border:1px solid var(--kiosk-line);border-radius:16px;background:var(--kiosk-white);overflow:hidden}.kiosk-basket-head{display:flex;align-items:center;gap:10px;padding:14px 16px 10px;border-bottom:1px solid var(--kiosk-line)}.kiosk-basket-title{margin:0;font-size:22px;font-weight:700;color:var(--kiosk-navy)}.kiosk-basket-list{display:flex;flex-direction:column;gap:8px;flex:1 1 auto;min-height:0;overflow:auto;padding:12px 12px 8px}.kiosk-basket-empty{margin:auto 0;padding:18px 8px;color:var(--kiosk-gray);font-size:18px;text-align:center}.kiosk-basket-row{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:10px;align-items:center;width:100%;padding:8px 10px;border:none;border-radius:12px;background:#f5f8fb;color:var(--kiosk-navy);text-align:left;cursor:pointer}.kiosk-basket-row.is-drop{animation:kiosk-basket-drop .3s ease}.kiosk-basket-thumb{display:grid;place-items:center;width:40px;height:40px;overflow:hidden;border-radius:10px;background:var(--kiosk-white)}.kiosk-basket-thumb .kiosk-item-photo{min-width:0;min-height:0;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.kiosk-basket-thumb .kiosk-item-emoji{font-size:28px;line-height:40px;text-align:center}.kiosk-basket-name{overflow:hidden;font-size:18px;font-weight:700;white-space:nowrap;text-overflow:ellipsis}.kiosk-basket-qty{font-size:18px;font-weight:700;color:var(--kiosk-gray)}.kiosk-basket-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px 14px;border-top:1px solid var(--kiosk-line);background:#fafcfe}.kiosk-basket-count{margin:0;font-size:18px;font-weight:700;color:var(--kiosk-navy)}.kiosk-basket-total{margin:0;color:var(--kiosk-blue);font-size:28px;font-weight:700;transform-origin:right center}.kiosk-basket-total.is-pulse{animation:kiosk-basket-pulse .3s ease}@keyframes kiosk-basket-drop{0%{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:translateY(0)}}@keyframes kiosk-basket-pulse{0%,to{transform:scale(1)}45%{transform:scale(1.14)}}@media (min-width:768px){.kiosk-topbar{grid-template-columns:auto minmax(0,1fr) auto auto}}@media (min-width:900px) and (orientation:landscape){.kiosk-main:has(.kiosk-select.has-basket){display:flex;overflow:hidden}.kiosk-select.has-basket{flex:1;flex-direction:row;align-items:stretch;min-height:0;width:100%}.kiosk-select-main{overflow:auto}.kiosk-basket{flex:0 0 260px;width:260px;max-height:none;min-height:0;height:100%}}@media (prefers-reduced-motion:reduce){.kiosk-basket-row.is-drop,.kiosk-basket-total.is-pulse{animation:none}}.kiosk-method{display:grid;gap:14px;justify-items:center;padding:4px 0}.kiosk-method-title{margin:0;font-size:28px;font-weight:700;color:var(--kiosk-navy)}.kiosk-method-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%;max-width:var(--kiosk-grid-v-max);margin:0 auto;align-items:stretch}.kiosk-method-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:var(--kiosk-card-h-v);height:auto;overflow:visible;padding:16px;border:1px solid var(--kiosk-line);border-radius:16px;color:var(--kiosk-navy);cursor:pointer;transition:border-color .16s ease,transform .16s ease}.kiosk-method-card,.kiosk-method-card.is-on{background:var(--kiosk-white);box-shadow:var(--kiosk-shadow)}.kiosk-method-card.is-on{border:2px solid var(--kiosk-blue);transform:none}.kiosk-method-emoji{line-height:1}.kiosk-method-name{font-size:26px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.kiosk-method-desc,.kiosk-method-name{flex:1;min-width:0;max-width:100%;overflow:hidden}.kiosk-method-desc{font-size:16px;font-weight:500;color:var(--kiosk-gray);text-align:center;line-height:1.3;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.kiosk-options{display:grid;gap:14px;padding:4px 0 8px}.kiosk-options-label{margin:0;font-size:28px;font-weight:700;text-align:center;color:var(--kiosk-navy)}.kiosk-options-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%;max-width:var(--kiosk-grid-v-max);margin:0 auto;align-items:stretch}.kiosk-options-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:var(--kiosk-card-h-v);height:auto;overflow:visible;padding:16px;border:1px solid var(--kiosk-line);border-radius:16px;background:#fff;box-shadow:var(--kiosk-shadow);cursor:pointer;transition:transform .15s ease,border-color .15s ease}.kiosk-options-card.is-on,.kiosk-options-card:focus-visible,.kiosk-options-card:hover{transform:none;border:2px solid var(--kiosk-blue);box-shadow:var(--kiosk-shadow)}.kiosk-options-emoji{font-size:56px;line-height:1}.kiosk-options-name{flex:1;min-width:0;max-width:100%;font-size:24px;font-weight:700;color:var(--kiosk-navy);text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kiosk-options-extra{font-size:20px;font-weight:700;color:var(--kiosk-orange,#e67e22)}.kiosk-options-math{width:100%;max-width:var(--kiosk-grid-v-max);margin:0 auto;padding:16px;border:1px solid var(--kiosk-line);border-radius:16px;background:#fff;display:grid;gap:8px;flex-shrink:0;box-shadow:var(--kiosk-shadow)}.kiosk-options-math-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:24px;font-weight:700;color:var(--kiosk-navy)}.kiosk-options-math-row span:first-child,.kiosk-options-math-total span:first-child{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kiosk-options-math-total{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-top:4px;padding-top:10px;border-top:2px solid var(--kiosk-line);font-size:32px;font-weight:700;color:var(--kiosk-navy)}.kiosk-address{display:grid;gap:24px;padding:8px 0 16px}.kiosk-address-title{margin:0;font-size:34px;font-weight:700;text-align:center;color:var(--kiosk-navy)}.kiosk-address-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px;width:100%;max-width:var(--kiosk-grid-v-max);margin:0 auto;align-items:stretch}.kiosk-address-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:var(--kiosk-card-h-v);height:auto;overflow:visible;padding:16px;border:1px solid var(--kiosk-line);border-radius:16px;background:#fff;box-shadow:var(--kiosk-shadow);cursor:pointer;transition:transform .15s ease,border-color .15s ease}.kiosk-address-card.is-on{transform:none;border:2px solid var(--kiosk-blue);background:var(--kiosk-white);box-shadow:var(--kiosk-shadow)}.kiosk-address-card:focus-visible,.kiosk-address-card:hover{transform:none}.kiosk-address-emoji{font-size:56px;line-height:1}.kiosk-address-name{flex:1;min-width:0;max-width:100%;font-size:30px;font-weight:700;color:var(--kiosk-navy);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kiosk-address-detail{margin:0;padding:18px 20px;border-radius:16px;background:#f3f7fc;font-size:24px;font-weight:700;text-align:center;color:var(--kiosk-navy);line-height:1.45}.kiosk-dinein{display:grid;gap:14px;padding:4px 0 8px}.kiosk-dinein-title{margin:0;font-size:28px;font-weight:700;text-align:center;color:var(--kiosk-navy)}.kiosk-dinein-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%;max-width:var(--kiosk-grid-v-max);margin:0 auto;align-items:stretch}.kiosk-dinein-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:var(--kiosk-card-h-v);height:auto;overflow:visible;padding:16px;border:1px solid var(--kiosk-line);border-radius:16px;background:#fff;box-shadow:var(--kiosk-shadow);cursor:pointer;transition:transform .15s ease,border-color .15s ease}.kiosk-dinein-card.is-on{transform:none;border:2px solid var(--kiosk-blue);background:var(--kiosk-white);box-shadow:var(--kiosk-shadow)}.kiosk-dinein-card:focus-visible,.kiosk-dinein-card:hover{transform:none}.kiosk-dinein-emoji{font-size:44px;line-height:1}.kiosk-dinein-name{flex:1;min-width:0;max-width:100%;font-size:32px;font-weight:700;color:var(--kiosk-navy);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kiosk-receipt-delivery{margin:0;font-size:18px;font-weight:500;color:var(--kiosk-gray);text-align:right;line-height:1.4}.kiosk-receipt-arrival{margin:8px 0 0;font-size:22px;font-weight:700;color:var(--kiosk-green);text-align:center}.kiosk-receipt-safety{margin:16px 0 0;padding:16px;border-radius:12px;background:#fffbeb;font-size:18px;font-weight:700;color:var(--kiosk-navy);line-height:1.45;text-align:center;border-left:4px solid var(--kiosk-yellow)}.kiosk-address-input{display:grid;gap:16px}.kiosk-address-input-layout{display:grid;grid-template-columns:minmax(240px,1fr) minmax(280px,1.1fr);gap:20px;align-items:start}.kiosk-sample-card{padding:16px;border-radius:16px;background:var(--kiosk-white);border:1px solid var(--kiosk-line);box-shadow:var(--kiosk-shadow)}.kiosk-sample-card-title{margin:0 0 16px;font-size:26px;font-weight:700;color:var(--kiosk-navy);line-height:1.35;display:flex;align-items:center;gap:8px}.kiosk-sample-card-list{margin:0;display:grid;gap:12px}.kiosk-sample-card-list div{display:grid;gap:4px}.kiosk-sample-card-list dt{font-size:18px;font-weight:700;color:var(--kiosk-gray)}.kiosk-sample-card-list dd{margin:0;font-size:28px;font-weight:700;color:var(--kiosk-navy);line-height:1.35}.kiosk-address-input-fields{display:grid;gap:18px}.kiosk-input-block{display:grid;gap:8px;opacity:.55}.kiosk-input-block.is-active,.kiosk-input-block.is-done{opacity:1}.kiosk-input-label{font-size:22px;font-weight:700;color:var(--kiosk-navy)}.kiosk-input-check{color:var(--kiosk-green)}.kiosk-input-wrap{display:grid;gap:6px}.kiosk-input-field{width:100%;min-height:70px;padding:14px 18px;border:1px solid var(--kiosk-line);border-radius:16px;font-size:28px;font-weight:700;color:var(--kiosk-navy);background:#fff}.kiosk-input-block.is-active .kiosk-input-field{border-color:var(--kiosk-green);box-shadow:0 0 0 3px rgba(74,222,128,.15)}.kiosk-input-block.is-done .kiosk-input-field{border-color:var(--kiosk-green);background:#f4fff8}.kiosk-input-underline{display:flex;flex-wrap:wrap;gap:2px;min-height:8px}.kiosk-input-char{display:inline-block;min-width:.65em;border-bottom:3px solid transparent;font-size:16px;line-height:1}.kiosk-input-char.is-bad{border-bottom-color:#ef4444;color:#ef4444}.kiosk-input-char.is-ok{border-bottom-color:var(--kiosk-green)}.kiosk-input-progress{margin:0;font-size:18px;font-weight:700;color:var(--kiosk-gray)}.kiosk-address-input-foot{display:flex;justify-content:center}.kiosk-osk-toggle{padding:12px 20px;border:1px solid var(--kiosk-line);border-radius:999px;background:#fff;font-size:22px;font-weight:700;color:var(--kiosk-navy);cursor:pointer}.kiosk-osk-toggle.is-on{border-color:var(--kiosk-blue);background:var(--kiosk-white)}.kiosk-osk{padding:8px 0 0}.kiosk-osk-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.kiosk-osk-grid.is-numeric{grid-template-columns:repeat(5,minmax(0,1fr));max-width:420px;margin:0 auto}.kiosk-osk-key{min-height:58px;border:1px solid var(--kiosk-line);border-radius:14px;background:#fff;font-size:28px;font-weight:700;color:var(--kiosk-navy);cursor:pointer}.kiosk-osk-key--wide{grid-column:span 2}.kiosk-card-register{padding:8px 0}.kiosk-card-register.is-finished .kiosk-card-register-layout{justify-items:end}.kiosk-card-register-layout{display:grid;grid-template-columns:1fr;gap:24px;align-items:start;transition:transform .5s ease}@media (min-width:760px){.kiosk-card-register-layout{grid-template-columns:minmax(240px,1fr) minmax(320px,1.1fr);align-items:center}}.kiosk-card-register-visual{display:grid;gap:12px;justify-items:center;transition:transform .6s ease}.kiosk-card-register.is-finished .kiosk-card-register-visual{transform:translateX(28px)}.kiosk-sample-credit-card{width:min(100%,340px);aspect-ratio:1.586;padding:24px 22px;border-radius:18px;background:linear-gradient(135deg,#2563eb,#1d4ed8 55%,#1e40af);box-shadow:0 14px 28px rgba(29,78,216,.28);color:#fff;display:grid;align-content:space-between}.kiosk-sample-credit-card.is-compact{width:min(100%,280px)}.kiosk-sample-credit-number{margin:0;font-size:28px;font-weight:700;letter-spacing:.08em}.kiosk-sample-credit-meta{display:flex;justify-content:space-between;gap:12px;font-size:18px;font-weight:700}.kiosk-card-register-done{margin:0;font-size:30px;font-weight:700;color:var(--kiosk-green)}.kiosk-card-register-form{display:grid;gap:12px;min-width:0}.kiosk-card-register-label{margin:0;font-size:22px;font-weight:700;color:var(--kiosk-navy)}.kiosk-card-register-hint{margin:-4px 0 0;font-size:18px;font-weight:700;color:var(--kiosk-gray)}.kiosk-card-segments{display:grid;grid-template-columns:repeat(2,minmax(132px,1fr));gap:12px}@media (min-width:520px){.kiosk-card-segments{grid-template-columns:repeat(4,minmax(88px,1fr))}}.kiosk-card-segment-wrap{display:grid;gap:6px;min-width:0}.kiosk-card-segment-no{font-size:16px;font-weight:700;color:var(--kiosk-gray);text-align:center}.kiosk-card-segment{min-height:70px;min-width:0;width:100%;padding:14px 10px;font-size:26px;letter-spacing:.06em;text-align:center;box-sizing:border-box}.kiosk-card-expiry{display:flex;align-items:center;gap:10px}.kiosk-card-expiry .kiosk-card-segment{width:88px}.kiosk-card-expiry-sep{font-size:28px;font-weight:700;color:var(--kiosk-navy)}.kiosk-quick-pay{display:grid;gap:20px;justify-items:center;padding:8px 0 16px}.kiosk-quick-pay-question{margin:0;font-size:34px;font-weight:700;color:var(--kiosk-navy);text-align:center}.kiosk-quick-pay-amount{margin:0;font-size:42px;font-weight:700;color:var(--kiosk-navy)}.kiosk-quick-pay-card{display:grid;justify-items:center}.kiosk-quick-pay-btn{min-width:240px;min-height:70px;padding:16px 28px;border:0;border-radius:12px;background:var(--kiosk-green);font-size:28px;font-weight:700;color:#fff;cursor:pointer;box-shadow:0 8px 20px rgba(34,197,94,.25)}.kiosk-quick-pay-status{margin:0;font-size:26px;font-weight:700;color:var(--kiosk-navy)}.kiosk-quick-pay-status.is-ok{color:var(--kiosk-green)}.kiosk-online-card-select{display:grid;gap:20px;padding:8px 0 16px}.kiosk-online-card-select-title{margin:0;font-size:30px;font-weight:700;text-align:center;color:var(--kiosk-navy)}.kiosk-online-card-select-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;width:100%;max-width:var(--kiosk-grid-v-max);margin:0 auto;align-items:stretch;justify-items:stretch}@media (max-width:760px){.kiosk-online-card-select-grid{grid-template-columns:1fr;justify-items:center}}.kiosk-online-card-pick{display:block;width:100%;max-width:280px;margin:0 auto;padding:0;border:3px solid transparent;border-radius:18px;background:transparent;box-shadow:0 10px 24px rgba(18,41,74,.16);cursor:pointer;overflow:visible;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.kiosk-online-card-pick .kiosk-card-image{overflow:hidden;box-shadow:none;border-radius:16px}.kiosk-online-card-pick .kiosk-card-image-name{font-size:20px;left:16px;bottom:12px}.kiosk-online-card-pick.is-on,.kiosk-online-card-pick:focus-visible,.kiosk-online-card-pick:hover{transform:translateY(-4px);border-color:var(--kiosk-blue);box-shadow:0 16px 32px rgba(18,41,74,.22)}.kiosk-online-card-pick.is-display{cursor:default;transform:none}.kiosk-online-card-pick-emoji{font-size:40px;line-height:1}.kiosk-online-card-pick-name{font-size:28px;font-weight:700}.kiosk-bank-transfer{display:grid;gap:20px;justify-items:center;padding:8px 0 16px}.kiosk-bank-transfer-title{margin:0;font-size:32px;font-weight:700;color:var(--kiosk-navy)}.kiosk-bank-transfer-info{width:min(100%,420px);margin:0;padding:24px;border-radius:16px;background:linear-gradient(180deg,#eef5ff,#f8fbff);border:1px solid var(--kiosk-line);display:grid;gap:14px}.kiosk-bank-transfer-info div{display:grid;grid-template-columns:88px 1fr;gap:12px;align-items:center}.kiosk-bank-transfer-info dt{font-size:18px;font-weight:700;color:var(--kiosk-gray)}.kiosk-bank-transfer-info dd{margin:0;font-size:28px;font-weight:700;color:var(--kiosk-navy)}.kiosk-bank-transfer-guide{margin:0;font-size:22px;font-weight:700;color:var(--kiosk-navy);text-align:center;line-height:1.4}.kiosk-bank-transfer-btn{min-width:240px;min-height:70px;padding:16px 28px;border:0;border-radius:12px;background:var(--kiosk-green);font-size:28px;font-weight:700;color:#fff;cursor:pointer;box-shadow:0 8px 20px rgba(34,197,94,.25)}.kiosk-bank-transfer-status{margin:0;font-size:26px;font-weight:700;color:var(--kiosk-navy)}.kiosk-bank-transfer-status.is-ok{color:var(--kiosk-green)}.kiosk-delivery{display:grid;gap:20px;justify-items:center;padding:8px 0 16px}.kiosk-delivery-guide{margin:0;font-size:26px;font-weight:700;color:var(--kiosk-navy);text-align:center;line-height:1.4}.kiosk-delivery-guide.is-large{font-size:30px}.kiosk-delivery-wait{display:grid;gap:24px;justify-items:center;width:100%}.kiosk-delivery-scene{position:relative;width:min(100%,420px);height:140px;overflow:hidden}.kiosk-delivery-house{position:absolute;right:12px;bottom:8px;font-size:72px;line-height:1}.kiosk-delivery-truck{position:absolute;left:-80px;bottom:16px;font-size:64px;line-height:1;transform:scaleX(-1);animation:kiosk-truck-deliver 2s ease-in-out forwards}.kiosk-delivery-scene.is-reduced .kiosk-delivery-house{position:static;font-size:80px}.kiosk-delivery-progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:min(100%,480px)}.kiosk-delivery-progress-item{display:grid;gap:6px;justify-items:center;padding:12px 8px;border-radius:16px;background:#eef2f7;color:#94a3b8;font-size:16px;font-weight:700;transition:background .25s ease,color .25s ease,transform .25s ease}.kiosk-delivery-progress-item span:first-child{font-size:34px;line-height:1}.kiosk-delivery-progress-item.is-on{background:var(--kiosk-white);color:var(--kiosk-navy);transform:translateY(-2px)}.kiosk-delivery-package-wrap{display:grid;gap:28px;justify-items:center;width:100%}.kiosk-delivery-box{position:relative;width:min(100%,280px);height:200px;padding:0;border:none;background:transparent;cursor:default;perspective:900px}.kiosk-delivery-box.is-tappable{cursor:pointer}.kiosk-delivery-box.is-tappable:focus-visible{outline:3px solid var(--kiosk-green);outline-offset:6px;border-radius:12px}.kiosk-delivery-box-body{position:absolute;inset:36px 0 0;border-radius:8px;background:linear-gradient(180deg,#c8a46e,#b0895a);box-shadow:inset 0 -8px 0 rgba(0,0,0,.08),0 12px 24px rgba(74,52,21,.18)}.kiosk-delivery-box-lid{position:absolute;top:0;left:0;right:0;height:42px;border-radius:8px 8px 4px 4px;background:linear-gradient(180deg,#d7b480,#c29a67);box-shadow:0 4px 0 rgba(0,0,0,.08);transform-origin:top center;transition:transform .5s ease}.kiosk-delivery-box.is-open .kiosk-delivery-box-lid{transform:rotateX(108deg)}.kiosk-delivery-box-tape{position:absolute;top:58px;left:50%;width:28px;height:110px;margin-left:-14px;background:hsla(0,0%,100%,.45);box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.35)}.kiosk-delivery-box-label{position:absolute;top:78px;left:50%;min-width:120px;padding:8px 14px;margin-left:-60px;border-radius:8px;background:#fffdf7;box-shadow:0 2px 8px rgba(0,0,0,.12);font-size:22px;font-weight:700;color:var(--kiosk-navy);text-align:center}.kiosk-delivery-items{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;width:min(100%,560px)}.kiosk-delivery-item{display:grid;gap:8px;justify-items:center;min-width:92px;animation:kiosk-item-pop .45s ease-out both}.kiosk-delivery-item.is-static{animation:none}.kiosk-delivery-item-media{display:grid;place-items:center;width:72px;height:72px;overflow:hidden;border-radius:16px;background:#fff;box-shadow:0 6px 16px rgba(18,41,74,.12)}.kiosk-delivery-item-media .kiosk-item-photo{min-width:0;min-height:0;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.kiosk-delivery-item-media .kiosk-item-emoji{font-size:40px;line-height:1}.kiosk-delivery-item-name{font-size:16px;font-weight:700;color:var(--kiosk-navy);text-align:center;line-height:1.25}.kiosk-delivery-item-qty{font-size:14px;font-weight:700;color:var(--kiosk-gray)}@keyframes kiosk-truck-deliver{0%{left:-80px}to{left:calc(100% - 120px)}}@keyframes kiosk-item-pop{0%{transform:translateY(42px) rotate(-10deg) scale(.35);opacity:0}55%{transform:translateY(-14px) rotate(6deg) scale(1.06);opacity:1}to{transform:translateY(0) rotate(0deg) scale(1);opacity:1}}@media (prefers-reduced-motion:reduce){.kiosk-delivery-truck{animation:none}.kiosk-delivery-box-lid{transition:none}.kiosk-delivery-item{animation:none}}.kiosk-cardpay{display:grid;gap:20px;justify-items:center;padding:8px 0 16px}.kiosk-cardpay-amount{margin:0;font-size:42px;font-weight:700;color:var(--kiosk-navy)}.kiosk-terminal{position:relative;display:grid;grid-template-rows:1fr auto;width:168px;height:260px;padding:16px 14px 18px;border-radius:22px;background:linear-gradient(180deg,#2b3648,#1a2230);box-shadow:0 12px 28px rgba(18,41,74,.22)}.kiosk-terminal-screen{display:grid;place-items:center;min-height:120px;padding:12px;border-radius:14px;background:#0f1724;color:#d7e8ff;font-size:22px;font-weight:700;text-align:center}.kiosk-terminal.is-ok .kiosk-terminal-screen{background:#123526;color:#7dffb2}.kiosk-terminal-check{font-size:54px;line-height:1;color:#4ade80}.kiosk-terminal-busy{display:inline-flex;align-items:center;gap:8px}.kiosk-terminal-dots{display:inline-flex;gap:5px}.kiosk-terminal-dots i{width:8px;height:8px;border-radius:999px;background:#7aa2d6;opacity:.25;animation:kiosk-dot-blink 1.2s ease-in-out infinite}.kiosk-terminal-dots i:nth-child(2){animation-delay:.2s}.kiosk-terminal-dots i:nth-child(3){animation-delay:.4s}@keyframes kiosk-dot-blink{0%,to{opacity:.25}40%{opacity:1}}.kiosk-terminal-slot{position:relative;display:grid;place-items:center;height:54px;margin-top:14px;border-radius:10px;background:#0b1018;box-shadow:inset 0 0 0 2px #3a465a}.kiosk-slot-card{position:absolute;top:50%;left:50%;width:118px;height:74px;padding:0;border:none;border-radius:10px;background:transparent;box-shadow:0 4px 10px rgba(0,0,0,.28);transform:translate(-50%,-50%);cursor:default;overflow:hidden}.kiosk-slot-card .kiosk-pay-card-chip{top:18px;left:14px;width:20px;height:16px}.kiosk-slot-card .kiosk-pay-card-stripe{right:12px;bottom:14px;width:38px;height:8px}.kiosk-slot-card.is-in{transform:translate(-50%,-42%)}.kiosk-slot-card.is-half{top:78%;cursor:pointer;animation:kiosk-card-eject .35s ease forwards}.kiosk-slot-card.is-pulled{animation:kiosk-card-pull .28s ease forwards}@keyframes kiosk-card-eject{0%{transform:translate(-50%,-50%)}to{transform:translate(-50%,18%)}}@keyframes kiosk-card-pull{to{transform:translate(-50%,120%);opacity:0}}.kiosk-pay-card-btn{display:grid;gap:12px;justify-items:center;padding:8px;border:none;background:transparent;color:var(--kiosk-navy);cursor:pointer}.kiosk-card-image{display:block;position:relative;overflow:hidden;width:100%;aspect-ratio:1.586;border-radius:16px;background:linear-gradient(135deg,#2f80ed,#1b4f9c);color:#fff;box-shadow:0 10px 24px rgba(18,41,74,.22)}.kiosk-card-image--blue{background:linear-gradient(135deg,#2563eb,#1d4ed8 55%,#1e40af)}.kiosk-card-image--green{background:linear-gradient(135deg,#16a34a,#15803d 55%,#166534)}.kiosk-card-image--purple{background:linear-gradient(135deg,#9333ea,#7e22ce 55%,#6b21a8)}.kiosk-card-image--silver{background:linear-gradient(135deg,#9aa4b2,#6b7280 55%,#4b5563)}.kiosk-card-image-photo{position:absolute;inset:0;z-index:0;min-width:0;min-height:0;width:100%;height:100%;object-fit:cover}.kiosk-card-image-shade{position:absolute;z-index:1;left:0;right:0;bottom:0;height:50%;background:linear-gradient(0deg,rgba(0,0,0,.45),transparent);pointer-events:none}.kiosk-card-image-balance{position:absolute;z-index:2;left:12px;right:12px;bottom:18%;margin:0;font-size:48px;font-weight:700;line-height:1.1;color:#fff;text-align:center}.kiosk-card-image:has(.kiosk-card-image-name) .kiosk-card-image-balance{bottom:28%}.kiosk-card-image-name{position:absolute;z-index:2;left:14px;bottom:10px;font-size:16px;font-weight:700;line-height:1.2;color:#fff}.kiosk-card-image--balance{width:min(100%,360px)}.kiosk-card-image--select{width:min(100%,280px)}.kiosk-card-image--tap{width:200px;box-shadow:0 10px 24px rgba(18,41,74,.22)}.kiosk-card-image--tap .kiosk-card-image-name{font-size:14px}.kiosk-card-image--pay{width:168px}.kiosk-card-image--slot{width:100%;height:100%;aspect-ratio:auto;border-radius:10px;box-shadow:none}.kiosk-pay-card-btn.is-inserting .kiosk-card-image{animation:kiosk-card-insert .45s ease forwards}.kiosk-transit-tap-card.is-tagging .kiosk-card-image{animation:kiosk-transit-tag-up .45s ease forwards}.kiosk-pay-card-chip{position:absolute;top:28px;left:22px;width:28px;height:22px;border-radius:4px;background:#f0c75e}.kiosk-pay-card-stripe{position:absolute;right:18px;bottom:22px;width:54px;height:10px;border-radius:999px;background:hsla(0,0%,100%,.55)}.kiosk-pay-card-label{font-size:22px;font-weight:700}.kiosk-cardpay-remove-hint,.kiosk-cardpay-wait-hint{margin:0;font-size:22px;font-weight:700;color:var(--kiosk-gray)}.kiosk-cardpay-remove-hint.is-ok{color:var(--kiosk-green)}@keyframes kiosk-card-insert{0%{transform:translateY(0) scale(1);opacity:1}70%{transform:translateY(-120px) scale(.72);opacity:.85}to{transform:translateY(-160px) scale(.5);opacity:0}}@media (max-width:640px){.kiosk-method-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.kiosk-pay-card-btn.is-inserting .kiosk-card-image,.kiosk-slot-card.is-half,.kiosk-slot-card.is-pulled,.kiosk-terminal-dots i{animation:none}.kiosk-slot-card.is-half{transform:translate(-50%,18%)}}.kiosk-transit-balance,.kiosk-transit-done{display:grid;gap:20px;justify-items:center;padding:16px 0}.kiosk-transit-card{position:relative;display:grid;gap:8px;justify-items:center;width:min(100%,360px);padding:28px 24px;border-radius:16px;background:linear-gradient(135deg,#2f80ed,#1b4f9c);color:#fff;box-shadow:0 12px 28px rgba(18,41,74,.22)}.kiosk-transit-card.is-small{width:min(100%,300px);padding:22px 20px}.kiosk-transit-card-icon{font-size:40px;line-height:1}.kiosk-transit-card-amount{margin:0;font-size:52px;font-weight:700;line-height:1.1}.kiosk-transit-card-amount.is-animated{transition:transform .2s ease}.kiosk-transit-balance-hint{margin:0;font-size:26px;font-weight:700;color:var(--kiosk-navy)}.kiosk-transit-routes{display:grid;gap:12px}.kiosk-transit-routes-title{margin:0;font-size:28px;font-weight:700;color:var(--kiosk-navy);text-align:center}.kiosk-transit-route-grid{display:grid;gap:12px;width:100%;max-width:var(--kiosk-grid-list-max);margin:0 auto;align-items:stretch}.kiosk-transit-route-card{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:4px;min-height:var(--kiosk-card-h-list);height:auto;overflow:visible;padding:14px 16px;border:1px solid var(--kiosk-line);border-radius:16px;background:var(--kiosk-white);color:var(--kiosk-navy);text-align:left;cursor:pointer}.kiosk-transit-route-card.is-on{border-color:var(--kiosk-blue);background:var(--kiosk-white)}.kiosk-transit-route-name{flex:1;min-width:0;font-size:24px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kiosk-transit-route-distance{font-size:22px;font-weight:700;color:#6b7a90}.kiosk-transit-route-path{min-width:0;font-size:18px;font-weight:700;color:#6b7a90;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kiosk-transit-fare-breakdown{display:grid;gap:8px;width:min(100%,320px);padding:16px;border-radius:16px;background:var(--kiosk-white);border:1px solid var(--kiosk-line);box-shadow:var(--kiosk-shadow);color:var(--kiosk-navy);text-align:center}.kiosk-transit-fare-line{font-size:clamp(24px,4vw,30px);font-weight:700;line-height:1.2}.kiosk-transit-fare-line.is-extra{color:#c62828}.kiosk-transit-fare-rule{height:3px;margin:4px 0;background:linear-gradient(90deg,transparent,#1a2b42,transparent)}.kiosk-transit-fare-total{font-size:clamp(30px,5vw,38px);font-weight:700;line-height:1.2}.kiosk-transit-tag{display:grid;gap:22px;justify-items:center;padding:8px 0}.kiosk-bus-terminal{display:grid;gap:0;width:140px;border:1px solid var(--kiosk-line);border-radius:16px;overflow:hidden;background:#2b3648;box-shadow:0 10px 24px rgba(18,41,74,.2)}.kiosk-bus-terminal.is-ok{border-color:#3ecf7a}.kiosk-bus-terminal-pad{height:28px;background:linear-gradient(180deg,#4ade80,#22c55e)}.kiosk-bus-terminal-screen{display:grid;gap:6px;place-items:center;min-height:72px;padding:10px;background:#0f1724;color:#d7e8ff;font-size:20px;font-weight:700}.kiosk-bus-terminal.is-ok .kiosk-bus-terminal-screen{background:#123526;color:#7dffb2}.kiosk-bus-terminal-check{font-size:36px;line-height:1;color:#4ade80}.kiosk-bus-terminal-body{height:100px;background:linear-gradient(180deg,#3a465a,#1a2230)}.kiosk-transit-tap-card{display:grid;gap:10px;justify-items:center;padding:6px;border:none;background:transparent;color:var(--kiosk-navy);cursor:pointer}.kiosk-transit-tap-card.is-tagging .kiosk-transit-tap-card-face{animation:kiosk-transit-tag-up .45s ease forwards}.kiosk-transit-tap-card-face{position:relative;width:200px;height:124px;border-radius:14px;background:linear-gradient(135deg,#2f80ed,#1b4f9c);box-shadow:0 10px 24px rgba(18,41,74,.22)}.kiosk-transit-tap-card-icon{position:absolute;top:28px;left:24px;font-size:32px}.kiosk-transit-tap-card-stripe{position:absolute;right:20px;bottom:24px;width:64px;height:10px;border-radius:999px;background:hsla(0,0%,100%,.55)}.kiosk-transit-tag-done,.kiosk-transit-tap-card-label{font-size:24px;font-weight:700}.kiosk-transit-tag-done{margin:0;color:var(--kiosk-green)}.kiosk-transit-dest-banner{flex-shrink:0;margin:0 16px;padding:12px 16px;border-radius:12px;background:var(--kiosk-yellow-bg);color:var(--kiosk-navy);font-size:28px;font-weight:700;text-align:center;border-left:4px solid var(--kiosk-yellow);display:flex;align-items:center;justify-content:center;gap:8px}.kiosk-mission-select{display:grid;gap:12px;padding:0;width:100%}.kiosk-mission-select-heading{margin:0;padding-top:0;font-size:26px;font-weight:700;color:var(--kiosk-navy);text-align:center;line-height:1.35}.kiosk-mission-select-grid{display:grid;grid-template-columns:1fr;gap:12px;width:100%;max-width:var(--kiosk-grid-list-max);margin:0 auto}.kiosk-mission-card{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:12px;align-items:center;height:auto;min-height:var(--kiosk-card-h-list);overflow:visible;padding:16px 14px;border:1px solid var(--kiosk-line);border-radius:16px;background:#fff;color:var(--kiosk-navy);cursor:pointer;text-align:left;box-shadow:var(--kiosk-shadow)}.kiosk-mission-card:focus-visible,.kiosk-mission-card:hover{transform:none;box-shadow:var(--kiosk-shadow);border:2px solid var(--kiosk-blue)}.kiosk-mission-card.is-title-only{min-height:72px}.kiosk-mission-card-num{display:grid;place-items:center;width:52px;height:52px;border-radius:999px;background:var(--kiosk-navy);color:#fff;font-size:24px;font-weight:700;flex-shrink:0}.kiosk-mission-card-num.is-free{background:#f5f8fb;font-size:28px}.kiosk-mission-card-body{display:grid;gap:4px;flex:1;min-width:0}.kiosk-mission-card-title{font-size:26px;font-weight:700;line-height:1.3;white-space:normal;overflow:visible}.kiosk-mission-card-detail{font-size:17px;font-weight:700;color:var(--kiosk-gray);line-height:1.25;white-space:normal;overflow:visible}.kiosk-mission-card-emojis{display:flex;gap:4px;align-items:center;flex-shrink:0;font-size:36px;line-height:1}.kiosk-mission-banner-wrap{position:relative;flex-shrink:0;margin:0 16px}.kiosk-mission-banner{display:flex;flex-wrap:nowrap;flex-shrink:0;gap:8px 12px;align-items:center;justify-content:center;width:100%;min-height:44px;height:auto;margin:0;padding:8px 16px;border:none;border-radius:12px;background:#fffbeb;color:var(--kiosk-navy);font-family:inherit;font-size:20px;font-weight:700;text-align:center;overflow:visible;border-left:4px solid var(--kiosk-yellow);box-shadow:none;cursor:pointer}.kiosk-mission-banner-label{white-space:nowrap}.kiosk-mission-banner-items{display:flex;flex-wrap:nowrap;gap:8px 12px;justify-content:center;align-items:center}.kiosk-mission-banner-item{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.kiosk-mission-banner-item.is-done{color:var(--kiosk-navy)}.kiosk-mission-banner-emoji{position:relative;display:grid;place-items:center;width:36px;height:36px;font-size:32px;line-height:1}.kiosk-mission-banner-check{position:absolute;right:-4px;bottom:-4px;z-index:1;display:grid;place-items:center;width:18px;height:18px;border-radius:999px;background:var(--kiosk-green);color:#fff}.kiosk-mission-banner-name,.kiosk-mission-banner-qty{font-size:20px;font-weight:700}.kiosk-mission-banner-pop{position:absolute;top:calc(100% + 6px);left:50%;z-index:30;width:max-content;max-width:min(90vw,420px);padding:12px 16px;border-radius:14px;background:var(--kiosk-white);color:var(--kiosk-navy);box-shadow:0 10px 28px rgba(18,41,74,.18);border:1px solid var(--kiosk-line);transform:translateX(-50%);text-align:left}.kiosk-mission-banner-pop-title{margin:0 0 8px;font-size:18px;font-weight:700;color:var(--kiosk-gray)}.kiosk-mission-banner-pop-list{margin:0;padding:0;list-style:none;display:grid;gap:8px}.kiosk-mission-banner-pop-list li{display:flex;align-items:center;gap:8px;font-size:22px;font-weight:700;line-height:1.3}.kiosk-mission-banner-pop-list li.is-done{color:var(--kiosk-green)}.kiosk-mission-banner-pop-check{display:grid;place-items:center;width:22px;height:22px;border-radius:999px;background:var(--kiosk-green);color:#fff;flex-shrink:0}.kiosk-mission-banner-pop-hint{margin:10px 0 0;font-size:16px;font-weight:700;color:var(--kiosk-gray)}.kiosk-cinema-banner{flex-shrink:0;justify-content:center;min-height:44px;height:auto;margin:0 16px;padding:8px 16px;border-radius:12px;background:var(--kiosk-white);border:1px solid var(--kiosk-line);box-shadow:var(--kiosk-shadow);color:var(--kiosk-navy);font-size:20px;font-weight:700;text-align:center;white-space:normal}.kiosk-cinema-banner,.kiosk-program{display:flex;align-items:center;overflow:visible}.kiosk-cinema-headcount,.kiosk-program,.kiosk-schedule{flex-direction:column;justify-content:flex-start;gap:12px;min-height:min-content}.kiosk-cinema-headcount,.kiosk-schedule{display:flex;align-items:center;overflow:visible}.kiosk-cinema-headcount-title,.kiosk-program-title,.kiosk-schedule-title{margin:0;font-size:clamp(24px,3.5vw,28px);font-weight:700;color:var(--kiosk-navy);text-align:center;flex-shrink:0}.kiosk-schedule-movie{margin:0;font-size:18px;font-weight:700;color:#6b7a90;text-align:center}.kiosk-program-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));justify-content:center;align-items:stretch;gap:12px;width:100%;max-width:var(--kiosk-grid-v-max);margin:0 auto}.kiosk-program-card{display:flex;flex-direction:column;align-items:stretch;gap:0;width:100%;min-width:0;height:auto;padding:0;overflow:visible;border:1px solid var(--kiosk-line);border-radius:16px;color:var(--kiosk-navy);text-align:center;cursor:pointer}.kiosk-program-card,.kiosk-program-card.is-on{background:var(--kiosk-white);box-shadow:var(--kiosk-shadow)}.kiosk-program-card.is-on{border:2px solid var(--kiosk-blue)}.kiosk-cinema-headcount-title,.kiosk-program-title,.kiosk-schedule-title{display:none}.kiosk-program-poster-frame{position:relative;display:flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:0;width:100%;height:auto;aspect-ratio:2/3;overflow:hidden;border-radius:15px 15px 0 0;background:transparent}.kiosk-program-card.is-on .kiosk-program-poster-frame{border-radius:14px 14px 0 0}.kiosk-program-card.is-on .kiosk-program-poster-frame:after{content:"";position:absolute;inset:0;background:rgba(59,130,246,.38);pointer-events:none}.kiosk-program-poster{position:absolute;inset:0;margin:auto;min-width:0;min-height:0;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;object-position:center;display:block}.kiosk-program-poster-check{position:absolute;z-index:1;top:50%;left:50%;display:grid;place-items:center;width:48px;height:48px;border-radius:999px;background:#3b82f6;color:#fff;transform:translate(-50%,-50%);pointer-events:none}.kiosk-program-emoji{font-size:56px;line-height:1}.kiosk-program-copy{display:flex;flex-direction:column;justify-content:center;gap:4px;min-height:var(--kiosk-card-poster-text);min-width:0;padding:8px 12px 12px}.kiosk-program-name{flex:1;font-size:24px;font-weight:700;line-height:1.2}.kiosk-program-meta,.kiosk-program-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kiosk-program-meta{font-size:16px;font-weight:500;line-height:1.3;color:#6b7a90}@media (max-width:600px){.kiosk-program-grid{grid-template-columns:1fr;max-width:320px}}.kiosk-schedule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;max-width:var(--kiosk-grid-v-max);margin:0 auto;align-items:stretch}.kiosk-schedule-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:var(--kiosk-card-h-v);height:auto;overflow:visible;padding:16px;border:1px solid var(--kiosk-line);border-radius:16px;color:var(--kiosk-navy);text-align:center;cursor:pointer}.kiosk-schedule-card,.kiosk-schedule-card.is-on{background:var(--kiosk-white);box-shadow:var(--kiosk-shadow)}.kiosk-schedule-card.is-on{border:2px solid var(--kiosk-blue)}.kiosk-schedule-card.is-soldout{border-color:#d7e0ec;background:#eef1f5;color:#8a97a8;cursor:not-allowed;box-shadow:var(--kiosk-shadow)}.kiosk-schedule-time{flex:1;min-width:0;max-width:100%;font-size:32px;font-weight:700;line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kiosk-schedule-seats{font-size:16px;font-weight:500;color:#6b7a90}.kiosk-cinema-headcount-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.kiosk-cinema-headcount-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 14px;border:1px solid var(--kiosk-line);border-radius:14px;background:var(--kiosk-white)}.kiosk-cinema-headcount-info{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px 10px;align-items:center;min-width:0}.kiosk-cinema-headcount-emoji{font-size:32px;line-height:1}.kiosk-cinema-headcount-name{font-size:22px;font-weight:700}.kiosk-cinema-headcount-price{font-size:18px;font-weight:700;color:var(--kiosk-navy);white-space:nowrap}.kiosk-cinema-headcount-qty{display:flex;gap:8px;align-items:center}.kiosk-cinema-headcount-sum{display:flex;justify-content:space-between;gap:12px;padding:12px 16px;border-radius:12px;background:var(--kiosk-white);border:1px solid var(--kiosk-line);box-shadow:var(--kiosk-shadow);font-size:22px;font-weight:700;color:var(--kiosk-navy)}.kiosk-cinema-headcount-sum strong{font-size:24px}.kiosk-receipt--cinema .kiosk-receipt-body{text-align:center}.kiosk-cinema-ticket-title{margin:0 0 8px;font-size:28px;font-weight:700}.kiosk-cinema-ticket-auditorium,.kiosk-cinema-ticket-time{margin:0 0 6px;font-size:20px;font-weight:700;color:#6b7a90}.kiosk-cinema-ticket-total{margin:12px 0 0;font-size:28px;font-weight:700;color:#1e7be0}.kiosk-receipt-lines--cinema{display:grid;gap:6px;margin:0;padding:0;list-style:none}.kiosk-receipt-lines--cinema li{font-size:20px;font-weight:700}.kiosk-mission-confirm{max-width:480px;text-align:center}.kiosk-mission-confirm-text{margin:0 0 24px;font-size:28px;font-weight:700;line-height:1.45;color:var(--kiosk-navy)}.kiosk-mission-confirm-actions{display:grid;gap:12px}.kiosk-mission-confirm-btn{min-height:64px;padding:14px 20px;border:1px solid var(--kiosk-line);border-radius:16px;background:#fff;font-size:24px;font-weight:700;color:var(--kiosk-navy);cursor:pointer}.kiosk-mission-confirm-btn.is-primary{background:var(--kiosk-green);border-color:var(--kiosk-green);color:#fff}.kiosk-mission-done{display:grid;gap:24px;justify-items:center;padding:24px 0 8px;text-align:center}.kiosk-mission-done-message{margin:0;font-size:34px;font-weight:700;color:var(--kiosk-navy)}.kiosk-mission-done-note{margin:0;font-size:26px;font-weight:700;color:var(--kiosk-green)}.kiosk-mission-done-goals{margin:0;padding:0;list-style:none;display:grid;gap:10px;font-size:24px;font-weight:700;color:var(--kiosk-navy)}.kiosk-mission-done-goals li{display:flex;align-items:center;justify-content:center;gap:8px}.kiosk-mission-done-goals .is-done{color:var(--kiosk-green)}.kiosk-mission-done-goals .is-missing{color:var(--kiosk-gray)}.kiosk-mission-done-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.kiosk-mission-done-btn{min-width:180px;min-height:64px;padding:14px 22px;border:1px solid var(--kiosk-line);border-radius:16px;background:var(--kiosk-green);font-size:22px;font-weight:700;color:#fff;cursor:pointer}.kiosk-mission-done-btn.is-secondary{background:#fff;color:var(--kiosk-navy);border:1px solid var(--kiosk-line)}.kiosk-transit-riding-wrap{position:relative;width:100%}.kiosk-transit-retry-mini{position:absolute;top:0;right:0;z-index:3;padding:8px 12px;border:1px solid var(--kiosk-line);border-radius:12px;background:var(--kiosk-white);color:var(--kiosk-navy);font-size:18px;font-weight:700;cursor:pointer}.kiosk-transit-retry-mini:disabled{opacity:.45;cursor:not-allowed}.kiosk-transit-riding{display:grid;gap:16px;justify-items:center;width:100%;padding:36px 0 8px}.kiosk-transit-riding.is-paused .kiosk-transit-announce,.kiosk-transit-riding.is-paused .kiosk-transit-scenery{opacity:.55}.kiosk-transit-miss-choice{display:grid;gap:18px;justify-items:center;width:min(100%,480px);padding:22px 16px;border-radius:16px;background:var(--kiosk-white);box-shadow:0 10px 28px rgba(18,41,74,.12)}.kiosk-transit-miss-choice-title{margin:0;font-size:30px;font-weight:700;color:var(--kiosk-navy);text-align:center;line-height:1.35}.kiosk-transit-miss-choice-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%}.kiosk-transit-miss-btn{min-height:100px;padding:16px 12px;border:1px solid var(--kiosk-line);border-radius:12px;background:var(--kiosk-white);color:var(--kiosk-navy);font-size:24px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}.kiosk-transit-miss-btn--retry{border:2px solid var(--kiosk-blue);background:var(--kiosk-white)}.kiosk-transit-miss-btn--continue{border:1px solid var(--kiosk-line)}.kiosk-seg--wrap{flex-wrap:wrap}.kiosk-seg--wrap button{flex:1 1 auto;min-width:120px}.kiosk-transit-riding.is-help{border:5px solid #3ecf7a;border-radius:16px;padding:12px;animation:kiosk-dest-help-pulse 1s ease-in-out infinite}.kiosk-transit-riding.is-reduced.is-help{animation:none;border-color:#3ecf7a}@keyframes kiosk-dest-help-pulse{0%,to{border-color:#3ecf7a;box-shadow:0 0 0 0 rgba(62,207,122,.35)}50%{border-color:#22c55e;box-shadow:0 0 0 10px rgba(62,207,122,0)}}.kiosk-transit-scenery{position:relative;width:min(100%,520px);height:160px;overflow:hidden;border-radius:16px;background:linear-gradient(180deg,#87ceeb,#e8f4fc 55%,#c8e6c9)}.kiosk-transit-scenery-track{display:flex;gap:28px;align-items:flex-end;height:100%;padding:0 16px 20px;animation:kiosk-scenery-scroll 4s linear infinite}.kiosk-transit-scenery.is-static .kiosk-transit-scenery-track{animation:none}.kiosk-scene-tree{width:36px;height:56px;border-radius:8px 8px 4px 4px;background:#2d8a4e;box-shadow:inset 0 -18px 0 #5c3d1e}.kiosk-scene-building{width:52px;height:72px;border-radius:6px 6px 0 0;background:#8a97a8}.kiosk-scene-building.tall{height:96px;background:#6b7c93}.kiosk-transit-window-frame{position:absolute;inset:12px;border:1px solid var(--kiosk-line);border-radius:10px;pointer-events:none}.kiosk-transit-announce{display:grid;gap:8px;justify-items:center;width:min(100%,480px);padding:20px 16px;border-radius:16px;background:#0f1724;color:#ffc93c;text-align:center}.kiosk-transit-announce-label{margin:0;font-size:20px;font-weight:700;color:#c6ceda}.kiosk-transit-announce-stop{margin:0;font-size:40px;font-weight:700;line-height:1.15;color:#ffc93c}.kiosk-transit-announce-help{margin:0;padding:6px 14px;border-radius:999px;background:#3ecf7a;color:#0f1724;font-size:22px;font-weight:700}.kiosk-transit-wrong-hint{margin:0;padding:10px 14px;border-radius:12px;background:#fff3e0;color:#c62828;font-size:20px;font-weight:700;text-align:center}.kiosk-transit-bell{width:min(100%,480px);min-height:120px;padding:20px 24px;border:none;border-radius:12px;background:var(--kiosk-orange);color:#fff;font-size:32px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}.kiosk-transit-bell:disabled{opacity:.45;cursor:not-allowed}.kiosk-transit-bell--exit:active:not(:disabled){transform:scale(.98)}.kiosk-transit-done-from{margin:0;font-size:22px;font-weight:700;color:var(--kiosk-gray)}.kiosk-transit-done-trip{margin:0;font-size:28px;font-weight:700;color:var(--kiosk-navy)}.kiosk-transit-done-detail{margin:0;font-size:26px;font-weight:700;color:var(--kiosk-navy)}.kiosk-transit-done-balance{margin:0;font-size:20px;font-weight:700;color:#6b7a90}.kiosk-transit-done-message{margin:0;font-size:32px;font-weight:700;color:var(--kiosk-green)}.kiosk-transit-done-gentle{margin:0;font-size:28px;font-weight:700;color:var(--kiosk-navy)}.kiosk-transit-done-missed{margin:0;font-size:24px;font-weight:700;color:var(--kiosk-gray)}.kiosk-transit-retry-btn{min-height:88px;min-width:min(100%,360px);padding:20px 32px;border:none;border-radius:16px;background:var(--kiosk-green);color:#fff;font-size:32px;font-weight:700;cursor:pointer;box-shadow:0 8px 20px rgba(21,154,91,.28)}.kiosk-transit-transfer{display:grid;gap:20px;justify-items:center;padding:16px 12px 8px;text-align:center}.kiosk-transit-transfer-title{margin:0;font-size:28px;font-weight:700;color:var(--kiosk-navy)}.kiosk-transit-transfer-visual{display:flex;align-items:center;justify-content:center;gap:20px;padding:20px 0}.kiosk-transit-transfer-vehicle{font-size:72px;line-height:1}.kiosk-transit-transfer-arrow{font-size:40px;font-weight:700;color:var(--kiosk-blue)}.kiosk-transit-transfer-hint{margin:0;font-size:20px;font-weight:700;color:var(--kiosk-gray);line-height:1.4}.kiosk-transit-transfer-timer{margin:0;font-size:22px;font-weight:700;color:var(--kiosk-navy)}.kiosk-transit-transfer-timer strong{font-size:28px;font-weight:700;color:var(--kiosk-blue)}.kiosk-transit-transfer-btn{min-height:88px;min-width:min(100%,400px);padding:20px 28px;border:none;border-radius:16px;background:var(--kiosk-blue);color:#fff;font-size:28px;font-weight:700;cursor:pointer;box-shadow:0 8px 20px rgba(37,99,235,.28)}.kiosk-transit-tag-balance-same{color:var(--kiosk-green)}.kiosk-transit-transfer-balance-note{margin:12px 0 0;font-size:24px;font-weight:700;color:var(--kiosk-green);display:inline-flex;align-items:center;gap:8px}.kiosk-transit-journey-list{list-style:none;margin:16px 0 0;padding:0;width:min(100%,480px);display:grid;gap:12px}.kiosk-transit-journey-list li{display:grid;gap:4px;text-align:left}.kiosk-transit-journey-line{font-size:22px;font-weight:700;color:var(--kiosk-navy)}.kiosk-transit-journey-meta{font-size:18px;font-weight:700;color:var(--kiosk-gray)}.kiosk-transit-journey-rule{width:min(100%,480px);height:2px;margin:12px 0 4px;background:repeating-linear-gradient(90deg,var(--kiosk-gray) 0 8px,transparent 8px 14px)}.kiosk-transit-journey-total{margin:0;font-size:26px;font-weight:700;color:var(--kiosk-navy)}.kiosk-transit-journey-total strong{font-size:32px;color:var(--kiosk-blue)}.kiosk-transit-recharge{display:grid;gap:16px;justify-items:center;padding:24px 16px;text-align:center}.kiosk-transit-recharge-title{margin:0;font-size:34px;font-weight:700;color:var(--kiosk-navy)}.kiosk-transit-recharge-msg{margin:0;font-size:24px;font-weight:700;color:#c62828}.kiosk-transit-recharge-soon{margin:0;padding:16px 20px;border-radius:14px;background:#f5f8fb;font-size:22px;font-weight:700;color:var(--kiosk-gray)}@keyframes kiosk-transit-tag-up{0%{transform:translateY(0);opacity:1}to{transform:translateY(-140px) scale(.7);opacity:0}}@keyframes kiosk-scenery-scroll{0%{transform:translateX(0)}to{transform:translateX(-50%)}}@media (prefers-reduced-motion:reduce){.kiosk-transit-riding.is-help,.kiosk-transit-scenery-track,.kiosk-transit-tap-card.is-tagging .kiosk-card-image{animation:none}}.kiosk-product-card{position:relative;display:flex;flex-direction:column;gap:6px;height:auto;min-height:var(--kiosk-card-h-product);overflow:visible;padding:16px;border:1px solid var(--kiosk-line);border-radius:16px;background:var(--kiosk-white);color:var(--kiosk-navy);text-align:left;cursor:pointer;box-shadow:var(--kiosk-shadow)}.kiosk-product-card.is-selected{border:2px solid var(--kiosk-blue)}.kiosk-product-badge{right:8px;place-items:center;width:44px;height:44px;border-radius:999px;background:var(--kiosk-green);color:var(--kiosk-white);font-size:24px}.kiosk-product-badge,.kiosk-product-remove{position:absolute;top:8px;z-index:2;display:grid;font-weight:700}.kiosk-product-remove{left:8px;place-items:center;width:44px;height:44px;border:none;border-radius:999px;background:#e24b4a;color:#fff;font-size:22px;cursor:pointer}.kiosk-product-media{display:flex;align-items:center;justify-content:center;flex-shrink:0;min-width:0;min-height:0;width:100%;height:110px;overflow:hidden;background:transparent}.kiosk-product-media .kiosk-item-photo{display:block;min-width:0;min-height:0;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;object-position:center}.kiosk-product-media .kiosk-item-emoji{font-size:72px;line-height:1}.kiosk-item-photo{display:block;max-width:100%;max-height:100%;width:auto;height:auto;min-width:0;min-height:0;object-fit:contain}.kiosk-item-emoji{font-size:72px;line-height:1}.kiosk-product-name{flex:1;font-size:22px;line-height:1.3}.kiosk-cart-name,.kiosk-product-name{margin:0;min-width:0;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kiosk-cart-name{font-size:24px}.kiosk-product-price{color:var(--kiosk-navy)}.kiosk-cart-line-total,.kiosk-product-price{margin:0;font-size:24px;font-weight:700;white-space:nowrap}.kiosk-cart-line-total{flex-shrink:0}.kiosk-cart-list{list-style:none;display:grid;gap:12px;margin:0;padding:0}.kiosk-cart-row{display:grid;grid-template-columns:minmax(0,1.2fr) auto auto auto;gap:12px;align-items:center;padding:14px;background:var(--kiosk-white);border-radius:16px}.kiosk-cart-item{display:flex;gap:12px;align-items:center;min-width:0}.kiosk-cart-thumb{display:grid;place-items:center;width:72px;height:72px;overflow:hidden;background:transparent;flex-shrink:0}.kiosk-cart-thumb .kiosk-item-photo{min-width:0;min-height:0;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.kiosk-cart-thumb .kiosk-item-emoji{font-size:36px}.kiosk-qty{display:inline-flex;align-items:center;gap:8px;flex-shrink:0}.kiosk-qty-btn{width:66px;height:66px;border:1px solid var(--kiosk-line);border-radius:50%;background:#e9eef6;color:var(--kiosk-navy);font-size:34px;font-weight:700;line-height:1;cursor:pointer}.kiosk-qty-value{min-width:46px;text-align:center;font-size:32px;font-weight:700}.kiosk-cart-trash{width:66px;height:66px;margin-left:16px;border:1px solid var(--kiosk-line);border-radius:12px;background:var(--kiosk-white);color:var(--kiosk-navy);font-size:28px;cursor:pointer;flex-shrink:0;display:grid;place-items:center}.kiosk-cart-sum{margin-top:18px;padding:18px;border-radius:16px;background:var(--kiosk-white);font-size:28px;text-align:right}.kiosk-confirm-modal{text-align:center}.kiosk-confirm-text{margin:8px 0 20px;font-size:28px;font-weight:700;line-height:1.4;color:var(--kiosk-navy)}.kiosk-confirm-actions{display:grid;gap:12px}.kiosk-change-exact,.kiosk-done-message,.kiosk-empty{margin:48px 0;text-align:center;font-size:36px;font-weight:700;line-height:1.4}.kiosk-change,.kiosk-pay{align-items:stretch;justify-content:center;gap:12px;min-height:min-content;overflow-x:hidden;overflow-y:visible}.kiosk-change,.kiosk-pay,.kiosk-pay-boards{display:flex;flex-direction:column;width:100%}.kiosk-pay-boards{gap:10px;flex-shrink:0}@media (min-width:900px){.kiosk-pay-boards{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:12px;align-items:start}}.kiosk-pay-summary{display:flex;align-items:center;min-height:60px;padding:10px 16px;border-radius:16px;background:var(--kiosk-white);font-size:24px;font-weight:700}.kiosk-pay-summary p{margin:0}.kiosk-pay-summary strong{font-weight:700}.kiosk-paid-cash{display:grid;gap:8px;padding:10px 16px 12px;border-radius:16px;background:var(--kiosk-white);min-width:0}.kiosk-paid-cash.is-empty{min-height:60px;height:60px;padding:0 16px;display:flex;align-items:center}.kiosk-paid-cash-head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.kiosk-paid-cash-title{margin:0;font-size:22px;font-weight:700;color:var(--kiosk-navy);min-width:0}.kiosk-paid-cash-title strong{font-weight:700}.kiosk-paid-cash-list{display:flex;flex-wrap:nowrap;gap:8px;align-items:flex-end;overflow-x:auto;overflow-y:hidden;padding-bottom:4px}.kiosk-paid-cash-item{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;flex:0 0 auto;width:auto;min-width:0;min-height:0;padding:6px 8px;border:1px solid var(--kiosk-line);border-radius:12px;background:#f8fafc;cursor:pointer}.kiosk-paid-cash-item:focus-visible,.kiosk-paid-cash-item:hover{border-color:#ef4444;background:#fff5f5}.kiosk-paid-cash-item-x{position:absolute;top:2px;right:2px;z-index:1;display:grid;place-items:center;width:22px;height:22px;border-radius:999px;background:#ef4444;color:#fff;font-size:14px;font-weight:700;line-height:1;opacity:0;transform:scale(.8);transition:opacity .15s ease,transform .15s ease;pointer-events:none}.kiosk-paid-cash-item:focus-visible .kiosk-paid-cash-item-x,.kiosk-paid-cash-item:hover .kiosk-paid-cash-item-x{opacity:1;transform:scale(1)}.kiosk-paid-cash-empty,.kiosk-paid-cash-total.is-empty{margin:0;font-size:22px;font-weight:700;color:#94a3b8}.kiosk-paid-cash-total{margin:0;font-size:22px;font-weight:700;color:var(--kiosk-navy)}.kiosk-paid-cash-hint{margin:0;font-size:16px;font-weight:700;color:var(--kiosk-gray)}.kiosk-paid-cash-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;flex-shrink:0}.kiosk-paid-cash-action{width:180px;min-height:44px;padding:8px 10px;border-radius:12px;background:#fff;font-size:18px;font-weight:700;color:var(--kiosk-navy);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px}.kiosk-paid-cash-action:disabled{opacity:.45;cursor:not-allowed}.kiosk-paid-cash-action.is-undo-all,.kiosk-paid-cash-action.is-undo-one{border:1px solid var(--kiosk-line)}.kiosk-paid-cash-confirm{max-width:480px;text-align:center}.kiosk-paid-cash-confirm-text{margin:0 0 24px;font-size:28px;font-weight:700;line-height:1.45;color:var(--kiosk-navy)}.kiosk-paid-cash-confirm-actions{display:grid;gap:12px}.kiosk-paid-cash-confirm-btn{min-height:64px;padding:14px 20px;border:1px solid var(--kiosk-line);border-radius:16px;background:#fff;font-size:24px;font-weight:700;color:var(--kiosk-navy);cursor:pointer}.kiosk-paid-cash-confirm-btn.is-primary{background:var(--kiosk-green);border-color:var(--kiosk-green);color:#fff}.kiosk-money-grid{width:100%;flex-shrink:0}.kiosk-money-bills,.kiosk-money-coins,.kiosk-money-grid{display:flex;flex-wrap:nowrap;justify-content:center;align-items:flex-end;gap:16px}@media (max-width:900px){.kiosk-money-grid{flex-wrap:wrap}.kiosk-money-bills,.kiosk-money-coins{width:100%}}.kiosk-money-btn{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:8px;flex:0 0 auto;width:auto;min-width:90px;min-height:90px;padding:12px 4px;border:none;border-radius:16px;background:transparent;cursor:pointer}.kiosk-money-btn-label,.kiosk-money-caption{font-size:24px;font-weight:700;color:var(--kiosk-navy);line-height:1.2;white-space:nowrap}.kiosk-money-caption{font-size:20px}.kiosk-money-frame{display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;background:transparent}.kiosk-money-frame.is-coin{border-radius:50%}.kiosk-money-photo{display:block;max-width:100%;max-height:100%;width:auto;height:auto;min-width:0;min-height:0;object-fit:contain}.kiosk-money{display:grid;place-items:center;width:100%;height:100%;min-height:0;font-size:16px;font-weight:700;color:var(--kiosk-navy)}.kiosk-money--bill{border-radius:8px;border:3px solid #2f6b3a;background:linear-gradient(135deg,hsla(0,0%,100%,.35),transparent 40%),linear-gradient(180deg,#c8efd4,#8fd6a8);box-shadow:inset 0 0 0 4px hsla(0,0%,100%,.35)}.kiosk-money--bill[data-unit="10000"]{background:linear-gradient(135deg,hsla(0,0%,100%,.35),transparent 40%),linear-gradient(180deg,#d9ecff,#8bb8ef);border-color:#2a5f9e}.kiosk-money--bill[data-unit="5000"]{background:linear-gradient(135deg,hsla(0,0%,100%,.35),transparent 40%),linear-gradient(180deg,#ffe3ef,#f3a0bf);border-color:#b04a74}.kiosk-money--bill[data-unit="1000"]{background:linear-gradient(135deg,hsla(0,0%,100%,.35),transparent 40%),linear-gradient(180deg,#c8efd4,#8fd6a8);border-color:#2f6b3a}.kiosk-money--coin{border-radius:50%;border:4px solid #b08a2e;background:radial-gradient(circle at 30% 30%,#fff4c8,#f0c84a 55%,#d7a628);box-shadow:inset 0 0 0 6px hsla(0,0%,100%,.28)}@media (max-width:500px){.kiosk-money-grid{max-width:100%;gap:10px}.kiosk-money-bills,.kiosk-money-coins{gap:10px}.kiosk-paid-cash-action{width:132px;font-size:16px}}.kiosk-pay-hint{flex-shrink:0;padding:10px 14px;border-radius:16px;background:#fff8df}.kiosk-change-amount,.kiosk-pay-hint-title{margin:0 0 8px;font-size:22px;font-weight:700}.kiosk-cash-row{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:16px}.kiosk-cash-chip{display:grid;justify-items:center;gap:4px}.kiosk-cash-chip-count{font-size:18px;font-weight:700}.kiosk-receipt-wrap{display:grid;justify-items:center;gap:18px}.kiosk-receipt{width:min(100%,420px);background:transparent}.kiosk-receipt-body{padding:28px 22px;background:var(--kiosk-white);font-family:Courier New,Courier,monospace;font-size:24px;line-height:1.45}.kiosk-receipt-store{margin:0 0 12px;text-align:center;font-size:28px;font-weight:700}.kiosk-receipt-rule{height:0;margin:14px 0;border-top:2px dashed #c5ced9}.kiosk-receipt-lines{list-style:none;margin:0;padding:0;display:grid;gap:10px}.kiosk-receipt-body>p,.kiosk-receipt-lines li{display:flex;justify-content:space-between;gap:12px;margin:0}.kiosk-receipt-thanks{margin-top:18px!important;justify-content:center!important;font-weight:700}.kiosk-receipt-zigzag{height:16px;background:var(--kiosk-white)}.kiosk-receipt-zigzag--top{clip-path:polygon(0 100%,4% 0,8% 100%,12% 0,16% 100%,20% 0,24% 100%,28% 0,32% 100%,36% 0,40% 100%,44% 0,48% 100%,52% 0,56% 100%,60% 0,64% 100%,68% 0,72% 100%,76% 0,80% 100%,84% 0,88% 100%,92% 0,96% 100%,100% 0,100% 100%)}.kiosk-receipt-zigzag--bottom{clip-path:polygon(0 0,4% 100%,8% 0,12% 100%,16% 0,20% 100%,24% 0,28% 100%,32% 0,36% 100%,40% 0,44% 100%,48% 0,52% 100%,56% 0,60% 100%,64% 0,68% 100%,72% 0,76% 100%,80% 0,84% 100%,88% 0,92% 100%,96% 0,100% 100%,100% 0)}.kiosk-receipt-seats-label{margin:8px 0 4px;font-size:18px;font-weight:700;color:#6b7a90;text-align:center}.kiosk-receipt-seats{margin:0 0 12px;font-size:clamp(32px,5vw,40px);font-weight:700;line-height:1.25;color:var(--kiosk-navy);text-align:center;letter-spacing:.04em}.kiosk-seat{display:flex;flex-direction:column;align-items:stretch;gap:12px;min-height:0}.kiosk-seat-screen{flex-shrink:0;padding:10px 14px;border-radius:12px;background:#1a2b42;color:#fff;font-size:clamp(18px,3vw,22px);font-weight:700;text-align:center}.kiosk-seat-guide{margin:0;font-size:clamp(22px,3.5vw,28px);font-weight:700;line-height:1.3;color:var(--kiosk-navy);text-align:center}.kiosk-seat-grid{--seat-cols:6;display:grid;grid-template-columns:repeat(var(--seat-cols),52px);justify-content:center;gap:6px;width:max-content;max-width:100%;margin:0 auto}.kiosk-seat-cell{position:relative;display:grid;place-items:center;width:52px;height:52px;padding:4px;border:1px solid var(--kiosk-line);border-radius:10px;background:#fff;color:#1a2b42;font-size:14px;font-weight:700;line-height:1;cursor:pointer}.kiosk-seat-cell.is-taken{border-color:#b8c2d0;background:#e8edf3;color:#8a97a8;cursor:not-allowed}.kiosk-seat-cell.is-selected{border-color:var(--kiosk-blue);background:var(--kiosk-green);color:#fff}.kiosk-seat-cell.is-locked{cursor:default}.kiosk-seat-cell:disabled:not(.is-taken){opacity:.85;cursor:default}.kiosk-seat-check{position:absolute;top:2px;right:3px;font-size:10px;line-height:1}.kiosk-seat-auto-btn{flex-shrink:0;min-height:64px;padding:14px 20px;border:none;border-radius:16px;background:var(--kiosk-blue);color:#fff;font-size:clamp(22px,3.5vw,26px);font-weight:700;cursor:pointer}.kiosk-seat-auto-btn:disabled{opacity:.55;cursor:not-allowed}.kiosk-car-select{display:flex;flex-direction:column;align-items:stretch;gap:16px;min-height:0}.kiosk-car-select-guide{margin:0;font-size:clamp(22px,3.5vw,28px);font-weight:700;line-height:1.3;color:var(--kiosk-navy);text-align:center}.kiosk-car-select-train{display:flex;align-items:stretch;gap:8px;width:100%;max-width:100%;overflow-x:auto;padding:4px 0}.kiosk-car-select-engine{flex-shrink:0;display:grid;place-items:center;font-size:clamp(28px,5vw,40px);padding:0 4px}.kiosk-car-select-cars{display:flex;align-items:stretch;gap:6px;flex:1;min-width:0}.kiosk-car-select-car{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:var(--kiosk-card-h-list);height:auto;overflow:visible;padding:10px 6px;border:1px solid var(--kiosk-line);border-radius:12px;background:#fff;color:var(--kiosk-navy);cursor:pointer}.kiosk-car-select-car.is-on{border-color:var(--kiosk-blue);background:#e8f8ee}.kiosk-car-select-car.is-sold-out{border-color:#d0d6de;background:#eef1f5;color:#8a97a8;cursor:not-allowed}.kiosk-car-select-car.is-few:not(.is-sold-out){border-color:#f0a030}.kiosk-car-select-car-num{font-size:28px;font-weight:700;line-height:1.1}.kiosk-car-select-car-status{font-size:16px;font-weight:700;line-height:1.2;text-align:center}.kiosk-car-select-car-status.is-sold{color:#8a97a8}.kiosk-car-select-car.is-few:not(.is-sold-out) .kiosk-car-select-car-status{color:#c56a00}.kiosk-car-select-car-warn{font-size:13px;font-weight:700;color:#e07a00}.kiosk-seat--train{gap:8px}.kiosk-seat-back-cars{align-self:flex-start;padding:8px 12px;border:1px solid var(--kiosk-line);border-radius:12px;background:var(--kiosk-white);color:var(--kiosk-navy);font-size:15px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:4px}.kiosk-seat-car-banner{flex-shrink:0;padding:8px 16px;border-radius:12px;background:#fffbeb;color:#1a2b42;font-size:clamp(20px,3.2vw,24px);font-weight:700;text-align:center;border-left:4px solid var(--kiosk-yellow)}.kiosk-seat-train-grid{display:flex;flex-direction:column;gap:4px;width:100%;max-width:min(100%,420px);margin:0 auto}.kiosk-seat-train-row{display:grid;grid-template-columns:1fr auto 1fr;gap:4px;align-items:stretch}.kiosk-seat-train-pair{display:grid;grid-template-columns:1fr 1fr;gap:4px}.kiosk-seat-train-aisle{display:grid;place-items:center;width:28px;font-size:11px;font-weight:700;color:#8a97a8;writing-mode:vertical-rl;letter-spacing:.08em}.kiosk-seat-cell.is-train{width:52px;height:52px;min-height:52px;max-height:52px;font-size:13px}.kiosk-seat-window{position:absolute;top:2px;left:3px;font-size:9px;line-height:1;opacity:.85}.kiosk-train-ticket-route{margin:0 0 8px;font-size:clamp(24px,4vw,30px)}.kiosk-train-ticket-route,.kiosk-train-ticket-total{font-weight:700;color:var(--kiosk-navy);text-align:center}.kiosk-train-ticket-total{margin:12px 0 0;font-size:clamp(26px,4vw,32px)}.kiosk-receipt-guide{margin:0;font-size:28px;font-weight:700;color:var(--kiosk-navy)}.kiosk-done{min-height:40vh;display:grid;place-items:center}.kiosk-modal-backdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:20px;background:rgba(18,41,74,.45)}.kiosk-modal{width:min(100%,520px);display:grid;gap:8px;padding:26px;border-radius:16px;background:var(--kiosk-white);text-align:left}.kiosk-modal h2{margin:0 0 8px;font-size:28px;text-align:center}.kiosk-modal>.kiosk-nav-btn{margin-top:12px}.kiosk-switch-link{flex-shrink:0;justify-self:start;font-size:16px;font-weight:700;color:#6b7a90;text-decoration:none;white-space:nowrap}.kiosk-switch-link:hover{color:var(--kiosk-navy);text-decoration:underline}.kiosk-student-badge{margin:0;padding:6px 16px;text-align:center;font-size:14px;font-weight:700;color:var(--kiosk-gray);background:#f5f8fb;border-bottom:1px solid #e5e9f0}.kiosk-link-name-field{display:grid;gap:8px;width:100%}.kiosk-link-name-input{width:100%;min-height:48px;padding:10px 14px;border:1px solid var(--kiosk-line);border-radius:12px;font-size:18px;font-weight:700;color:var(--kiosk-navy);background:#fff}.kiosk-link-name-input::placeholder{color:#9aa5b5;font-weight:500}.kiosk-wait-number{display:grid;gap:20px;justify-items:center;padding:12px;text-align:center}.kiosk-wait-number-hint{margin:0;font-size:22px;font-weight:700;color:var(--kiosk-navy)}.kiosk-wait-ticket{width:min(100%,280px);padding:24px 20px 28px;border-radius:8px;background:#fff;box-shadow:0 8px 24px rgba(0,0,0,.12);border:1px solid #e8ecf2}.kiosk-wait-ticket-store{margin:0 0 16px;font-size:18px;font-weight:700;color:var(--kiosk-gray)}.kiosk-wait-ticket-number{margin:0;font-size:88px;font-weight:700;line-height:1;color:var(--kiosk-navy)}.kiosk-wait-number-btn{min-height:80px;min-width:min(100%,360px);padding:16px 24px;border:none;border-radius:16px;background:var(--kiosk-blue);color:#fff;font-size:26px;font-weight:700;cursor:pointer}.kiosk-pickup-number-banner{font-size:32px;font-weight:700}.kiosk-pickup{display:grid;gap:16px;justify-items:center;padding:8px 12px 0}.kiosk-pickup-board{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:min(100%,520px)}.kiosk-pickup-board-col{padding:12px;border-radius:12px;background:#1a1a1a;min-height:140px}.kiosk-pickup-board-col.is-ready{border:1px solid var(--kiosk-line)}.kiosk-pickup-board-label{margin:0 0 10px;font-size:14px;font-weight:700;color:#9aa5b5;text-align:center}.kiosk-pickup-board-col.is-ready .kiosk-pickup-board-label{color:#6ee7a0}.kiosk-pickup-board-numbers{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.kiosk-pickup-board-num{min-width:44px;padding:6px 10px;border-radius:8px;background:#2a2a2a;color:#c8d0da;font-size:22px;font-weight:700;text-align:center}.kiosk-pickup-board-num.is-ready-num{background:#0f3d22;color:#6ee7a0}.kiosk-pickup-board-num.is-mine.is-blink{animation:kiosk-pickup-blink .8s ease-in-out infinite}.kiosk-pickup-board-help{margin:10px 0 0;font-size:18px;font-weight:700;color:#fbbf24;text-align:center}.kiosk-pickup-btn{min-height:88px;min-width:min(100%,400px);padding:18px 24px;border:none;border-radius:16px;background:var(--kiosk-green);color:#fff;font-size:28px;font-weight:700;cursor:pointer}.kiosk-pickup-tray{display:flex;align-items:center;gap:12px;padding:12px 20px;border-radius:16px;background:#f5f8fb}.kiosk-pickup-tray-icon{font-size:40px}.kiosk-pickup-tray-foods{display:flex;flex-wrap:wrap;gap:8px}.kiosk-pickup-food{font-size:36px;animation:kiosk-food-pop .4s ease}@keyframes kiosk-pickup-blink{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.08)}}@keyframes kiosk-food-pop{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.kiosk-age-check{display:grid;gap:16px;justify-items:center;padding:12px;text-align:center}.kiosk-age-check-warning{margin:0;width:min(100%,480px);padding:16px;border-radius:12px;background:#fffbeb;border:1px solid var(--kiosk-line);border-left:4px solid var(--kiosk-yellow);font-size:22px;font-weight:700;color:#b45309}.kiosk-age-check-product{display:grid;gap:12px;justify-items:center}.kiosk-age-check-image-wrap{width:120px;height:120px;display:grid;place-items:center;overflow:hidden}.kiosk-age-check-image-wrap .kiosk-item-photo{min-width:0;min-height:0;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.kiosk-age-check-name{margin:0;font-size:28px;font-weight:700;color:var(--kiosk-navy)}.kiosk-age-check-actions{display:grid;gap:12px;width:min(100%,400px)}.kiosk-age-check-btn{min-height:72px;padding:14px 18px;border:none;border-radius:16px;font-size:22px;font-weight:700;cursor:pointer}.kiosk-age-check-btn--adult{background:var(--kiosk-blue);color:#fff}.kiosk-age-check-btn--skip{background:#eef2f7;color:var(--kiosk-navy)}.kiosk-bag-step{display:grid;gap:16px;padding:12px;text-align:center}.kiosk-bag-step-title{margin:0;font-size:26px;font-weight:700;color:var(--kiosk-navy)}.kiosk-bag-step-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%;max-width:var(--kiosk-grid-v-max);margin:0 auto;align-items:stretch}.kiosk-bag-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:var(--kiosk-card-h-v);height:auto;overflow:visible;padding:16px;border:1px solid var(--kiosk-line);border-radius:16px;background:#fff;cursor:pointer}.kiosk-bag-card.is-on{border:2px solid var(--kiosk-blue);background:var(--kiosk-white)}.kiosk-bag-card-emoji{font-size:48px;line-height:1}.kiosk-bag-card-title{flex:1;min-width:0;max-width:100%;font-size:20px;font-weight:700;color:var(--kiosk-navy);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kiosk-bag-card-price{font-size:18px;font-weight:700;color:var(--kiosk-gray)}.kiosk-done-eco{margin:8px 0 0;font-size:22px;font-weight:700;color:var(--kiosk-green)}.kiosk-picker{--kiosk-bg:#f5f8fb;--kiosk-navy:#1a2b42;--kiosk-muted:#6b7a90;--kiosk-yellow:#f59e0b;--kiosk-yellow-bg:#fffbeb;--kiosk-green:#16a34a;--kiosk-orange:#ea580c;--kiosk-blue:#3b82f6;--kiosk-line:#e5eaf0;--kiosk-gray:#6b7a90;--kiosk-white:#fff;--kiosk-shadow:0 1px 3px rgba(20,40,80,.06);--kiosk-card-h-v:150px;--kiosk-grid-v-max:1000px;--kiosk-topbar-h:52px;min-height:100dvh;height:100dvh;display:flex;flex-direction:column;padding:0;background:var(--kiosk-bg);color:var(--kiosk-navy);font-family:Pretendard,var(--font-sans),sans-serif;font-weight:500;overflow-x:hidden;overflow-y:hidden}.kiosk-picker-topbar{position:sticky;top:0;z-index:20;flex-shrink:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;height:auto;min-height:52px;padding:6px 16px;background:var(--kiosk-white);border-bottom:1px solid var(--kiosk-line)}.kiosk-picker-topbar-empty{min-width:0}.kiosk-picker-scroll{min-height:0;height:auto}.kiosk-picker-scroll.kiosk-scroll-area{flex:1 1 auto;height:auto}.kiosk-picker-scroll .kiosk-scroll-body{overflow-x:hidden;overflow-y:auto;height:100%;padding:16px 16px 24px}.kiosk-picker-brand{margin:0;font-size:14px;font-weight:700;color:#1a2b42}.kiosk-picker-title{margin:0;font-size:clamp(22px,3.5vw,32px);font-weight:700;line-height:1.25}.kiosk-picker-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%;max-width:var(--kiosk-grid-v-max);margin:0 auto;height:auto;align-items:stretch;align-content:start;justify-items:stretch}@media (min-width:768px){.kiosk-picker-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:900px){.kiosk-picker-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.kiosk-picker-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:100%;max-width:none;min-height:var(--kiosk-card-h-v);height:auto;overflow:visible;padding:16px;border:1px solid #e5eaf0;border-radius:16px;background:#fff;color:#1a2b42;text-align:center;cursor:pointer;box-shadow:0 1px 3px rgba(20,40,80,.06);transition:transform .16s ease,box-shadow .16s ease}.kiosk-picker-card:active:not(:disabled),.kiosk-picker-card:hover:not(:disabled){transform:translateY(-4px);box-shadow:var(--kiosk-shadow)}.kiosk-picker-card.is-soon{opacity:.45;border-color:#8a97a8;cursor:not-allowed}.kiosk-picker-badge{position:absolute;top:12px;right:12px;padding:6px 10px;border-radius:999px;background:#8a97a8;color:#fff;font-size:14px;font-weight:700}.kiosk-picker-emoji{flex-shrink:0;font-size:56px;line-height:1}.kiosk-picker-name{font-size:22px;font-weight:700;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.kiosk-picker-desc,.kiosk-picker-name{flex:1;min-width:0;max-width:100%;overflow:hidden}.kiosk-picker-desc{font-size:15px;line-height:1.35;color:#6b7a90;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.kiosk-picker-teacher{width:100%;max-width:var(--kiosk-grid-v-max);margin:16px auto 0}.kiosk-picker-teacher-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:36px;padding:6px 12px;border:1px solid #e2e8f0;border-radius:8px;background:#f1f5f9;color:#64748b;font-size:13px;font-weight:600;cursor:pointer;text-align:left}.kiosk-picker-teacher-toggle-end{display:inline-flex;align-items:center;gap:8px;flex-shrink:0}.kiosk-picker-teacher-count{font-size:12px;font-weight:700;color:#7c3aed}.kiosk-picker-teacher-body{margin-top:8px;padding:12px;border:1px solid #e2e8f0;border-radius:12px;background:#fff}.kiosk-picker-teacher-bulk,.kiosk-picker-teacher-confirm-actions,.kiosk-picker-teacher-footer{display:flex;flex-wrap:wrap;gap:8px}.kiosk-picker-teacher-bulk button,.kiosk-picker-teacher-confirm-actions button,.kiosk-picker-teacher-footer button{min-height:40px;padding:6px 12px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#1a2b42;font-size:14px;font-weight:700;cursor:pointer}.kiosk-picker-teacher-confirm{margin:10px 0;padding:10px 12px;border-radius:8px;background:#f8fafc;border:1px solid #e2e8f0}.kiosk-picker-teacher-confirm p{margin:0 0 8px;font-size:15px;font-weight:700;color:#1a2b42}.kiosk-picker-teacher-list{list-style:none;margin:12px 0 0;padding:0}.kiosk-picker-teacher-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:48px;font-size:16px;font-weight:700;color:#1a2b42;border-top:1px solid #eef2f6}.kiosk-picker-teacher-name{min-width:0}.kiosk-picker-teacher-na{color:#94a3b8;font-size:16px;font-weight:600}.kiosk-picker-teacher .kiosk-seg button{min-height:36px;padding:4px 10px;font-size:14px;border-radius:8px}.kiosk-picker-teacher .kiosk-seg button.is-on{background:#1a2b42;border-color:#1a2b42;color:#fff}.kiosk-picker-teacher-common{margin-top:8px;padding-top:4px;border-top:1px solid #e2e8f0}.kiosk-picker-teacher-common .kiosk-picker-teacher-row{flex-wrap:wrap}.kiosk-picker-teacher-hint{margin:8px 0 0;font-size:15px;line-height:1.45;font-weight:700;color:#475569}.kiosk-picker-teacher-footer{margin-top:12px;padding-top:12px;border-top:1px solid #e2e8f0}.kiosk-picker-teacher-copied{margin:8px 0 4px;font-size:13px;font-weight:700;color:#16a34a}.kiosk-picker-teacher-linkbox{width:100%;min-height:64px;margin:0;padding:8px;border:1px solid #e2e8f0;border-radius:8px;font-size:12px;line-height:1.4;resize:vertical}@media (prefers-reduced-motion:reduce){.kiosk-picker-card{transition:none}.kiosk-picker-card:active:not(:disabled),.kiosk-picker-card:hover:not(:disabled){transform:none}}.kiosk-select-actions{margin-bottom:16px}.kiosk-select-scan-bar{flex-shrink:0;padding:0 16px 8px}.kiosk-scan-only-hint{margin:0 0 12px;text-align:center}.kiosk-scan-open-btn{min-height:56px;width:100%;padding:12px 16px;border:none;border-radius:12px;background:var(--kiosk-blue);color:#fff;font-size:22px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}.kiosk-scan{position:fixed;inset:0;z-index:60;display:flex;flex-direction:column;background:#0a1422}.kiosk-scan-top{padding:16px;text-align:center;background:var(--kiosk-white);color:var(--kiosk-navy);border-bottom:1px solid var(--kiosk-line)}.kiosk-scan-top p{margin:0;font-size:30px;font-weight:700}.kiosk-scan-top small{display:block;margin-top:6px;font-size:19px;font-weight:700;color:#a9bdd8}.kiosk-scan-brand{display:block;margin-top:4px;font-size:14px;font-weight:700;color:#8fa9cc;letter-spacing:.2px}.kiosk-scan-stage{position:relative;flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden}.kiosk-scan-stage video{width:100%;height:100%;object-fit:cover}.kiosk-scan-err{color:#fff;text-align:center;padding:30px}.kiosk-scan-err-icon{font-size:72px;line-height:1}.kiosk-scan-err p{margin:16px auto 0;max-width:640px;font-size:24px;font-weight:700;line-height:1.5;white-space:pre-line}.kiosk-scan-frame{position:absolute;width:min(78%,620px);aspect-ratio:5/3;border-radius:24px;box-shadow:0 0 0 4000px rgba(8,16,28,.55)}.kiosk-scan-corner{position:absolute;width:52px;height:52px;border:9px solid #ffc93c}.kiosk-scan-corner.tl{top:-4px;left:-4px;border-right:none;border-bottom:none;border-radius:24px 0 0 0}.kiosk-scan-corner.tr{top:-4px;right:-4px;border-left:none;border-bottom:none;border-radius:0 24px 0 0}.kiosk-scan-corner.bl{bottom:-4px;left:-4px;border-right:none;border-top:none;border-radius:0 0 0 24px}.kiosk-scan-corner.br{bottom:-4px;right:-4px;border-left:none;border-top:none;border-radius:0 0 24px 0}.kiosk-scan-laser{position:absolute;left:8%;right:8%;top:50%;height:5px;border-radius:5px;background:#ff4d4d;box-shadow:0 0 16px #ff4d4d;animation:kiosk-scan-sweep 2.4s ease-in-out infinite}@keyframes kiosk-scan-sweep{0%,to{transform:translateY(-70px)}50%{transform:translateY(70px)}}.kiosk-scan-basket{display:flex;align-items:center;gap:10px;min-height:70px;padding:12px 16px;overflow-x:auto;background:#0e1f38}.kiosk-scan-bempty{color:#7e93b2;font-size:20px;font-weight:700}.kiosk-scan-bchip{gap:8px;padding:8px 14px;border-radius:16px;background:hsla(0,0%,100%,.14);font-size:20px;font-weight:700;white-space:nowrap}.kiosk-scan-bchip,.kiosk-scan-bchip b{display:flex;align-items:center;color:#fff}.kiosk-scan-bchip b{justify-content:center;width:32px;height:32px;border-radius:50%;background:#3b82f6;font-size:19px}.kiosk-scan-bar{display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding:16px 18px;background:#1a2b42}.kiosk-scan-handbtn{padding:20px 28px;border:none;border-radius:12px;background:#fff;color:#1a2b42;font-size:24px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}.kiosk-scan-sum{flex:1;min-width:130px;text-align:center;color:#fff;font-size:26px;font-weight:700}.kiosk-scan-sum b{color:#fff}.kiosk-scan-go{padding:22px 40px;border:none;border-radius:12px;background:var(--kiosk-green);color:#fff;font-size:30px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}.kiosk-scan-go:disabled{background:#c6ceda;color:#7d8899;cursor:not-allowed}.kiosk-scan-toast{position:fixed;left:50%;bottom:38px;z-index:70;display:flex;align-items:center;gap:14px;max-width:92vw;padding:18px 30px;border-radius:16px;color:#fff;font-size:28px;font-weight:700;transform:translateX(-50%);box-shadow:0 14px 40px rgba(0,0,0,.35)}.kiosk-scan-toast.is-ok{background:var(--kiosk-green)}.kiosk-scan-toast.is-fail{background:var(--kiosk-orange)}.kiosk-scan-go--light{background:#fff;color:#1a2b42;width:100%}.kiosk-scan-handbtn--small{font-size:18px;padding:16px 20px}.kiosk-teacher-modal{display:flex;flex-direction:column;width:min(100%,560px);max-height:85vh;padding:14px 16px;overflow:hidden;gap:0}.kiosk-teacher-modal h2{margin:0 0 8px;font-size:20px;text-align:center;flex-shrink:0}.kiosk-teacher-body{display:grid;grid-template-columns:1fr 1fr;gap:0 16px;overflow-y:auto;flex:1;min-height:0;align-content:start}.kiosk-teacher-body>.kiosk-teacher-block,.kiosk-teacher-body>.kiosk-teacher-desc,.kiosk-teacher-body>.kiosk-teacher-row.is-full{grid-column:1/-1}.kiosk-teacher-modal .kiosk-teacher-row{flex-direction:column;align-items:stretch;gap:4px;padding:6px 0;font-size:15px;border-top-width:1px}.kiosk-teacher-modal .kiosk-teacher-block{gap:6px;padding:6px 0;border-top-width:1px}.kiosk-teacher-modal .kiosk-teacher-label{font-size:15px}.kiosk-teacher-modal .kiosk-seg button{padding:6px 10px;font-size:14px;border-width:2px;border-radius:8px}.kiosk-teacher-modal .kiosk-teacher-desc{font-size:12px}.kiosk-teacher-modal>.kiosk-teacher-footer{flex-shrink:0;padding-top:10px}.kiosk-teacher-modal>.kiosk-teacher-footer .kiosk-nav-btn{min-height:48px;padding:8px 12px;font-size:18px}.kiosk-teacher-modal .kiosk-bclist{max-height:160px}.kiosk-teacher-modal>.kiosk-teacher-copy{flex-shrink:0;font-size:11px}.kiosk-teacher-block{display:grid;gap:10px;padding:14px 0;border-top:1px solid var(--kiosk-line);text-align:left}.kiosk-teacher-now{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0;font-size:22px;font-weight:800;line-height:1.3;color:var(--kiosk-navy)}.kiosk-level-board{display:grid;gap:6px;margin:0;padding:0;list-style:none}.kiosk-level-board-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:40px}.kiosk-level-board-name{min-width:0;font-size:16px;font-weight:700;line-height:1.3}.kiosk-level-board-na{flex-shrink:0;color:#94a3b8;font-size:16px;font-weight:700}.kiosk-level-board .kiosk-seg{flex-shrink:0}.kiosk-teacher-label{font-size:20px;font-weight:700}.kiosk-teacher-desc{margin:0;font-size:14px;font-weight:500;line-height:1.5;color:#6b7a90}.kiosk-bclist{max-height:280px;overflow-y:auto;border:1px solid var(--kiosk-line);border-radius:14px}.kiosk-bcrow{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid #d5deea}.kiosk-bcrow:last-child{border-bottom:none}.kiosk-bcrow-emoji{font-size:30px;line-height:1}.kiosk-bcrow-name{flex:1;min-width:70px;font-size:17px;font-weight:700}.kiosk-bcrow code{font-size:14px;color:#4a5567;background:#eef2f7;padding:4px 8px;border-radius:8px}.kiosk-bcinput{flex:1;min-width:120px;padding:8px 10px;border:1px solid var(--kiosk-line);border-radius:10px;color:#1a2b42;font-size:17px;font-weight:700;letter-spacing:1px;font-family:ui-monospace,Menlo,monospace}.kiosk-bc-action{border:1px solid var(--kiosk-line);border-radius:12px;padding:8px 12px;background:#fff;color:#1a2b42;font-size:15px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:8px}.kiosk-bc-action.is-primary,.kiosk-bc-action.is-save{color:#fff}.kiosk-bc-action.is-primary,.kiosk-bc-action.is-save{background:var(--kiosk-blue);border-color:var(--kiosk-blue)}.kiosk-bc-action.is-del{border-color:var(--kiosk-line);color:var(--kiosk-navy)}.kiosk-bc-err{margin:8px 0 0;font-size:15px;font-weight:700;color:#c2410c}.kiosk-share-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.kiosk-copy-ok{margin:10px 0 0;font-size:14px;font-weight:700;color:#159a5b}.kiosk-codebox{width:100%;height:120px;margin-top:8px;padding:10px;border:1px solid var(--kiosk-line);border-radius:10px;background:#f7f9fc;color:#1a2b42;font-family:ui-monospace,Menlo,monospace;font-size:13px;resize:vertical}.kiosk-teacher-footer{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding-top:16px}.kiosk-teacher-copy{margin:8px 0 0;text-align:center;font-size:13px;font-weight:700;color:#8a97a8}@media (prefers-reduced-motion:reduce){.kiosk-money-btn,.kiosk-nav-btn,.kiosk-product-card,.kiosk-scan-open-btn,.kiosk-start-button{transition:none}.kiosk-start-button:hover{transform:none}.kiosk-scan-laser{animation:none}}.empty-state{display:grid;gap:8px}.topbar-btn:disabled{opacity:.45;cursor:not-allowed}.dialog-backdrop{position:fixed;inset:0;background:rgba(31,31,29,.35);display:flex;align-items:center;justify-content:center;padding:20px;z-index:50}.dialog-card{width:min(100%,440px);background:var(--color-background-primary);border:.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-lg);padding:20px;box-shadow:0 16px 40px rgba(31,31,29,.12)}.dialog-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.dialog-title{font-size:16px;font-weight:500}.dialog-close{border:none;background:transparent;color:var(--color-text-secondary);font-size:22px;line-height:1;cursor:pointer}.dialog-form{display:grid;gap:12px}.dialog-label{font-size:12px;color:var(--color-text-secondary)}.dialog-input{width:100%;border:.5px solid var(--color-border-secondary);border-radius:var(--border-radius-md);padding:10px 12px;font-size:14px;background:#fff}.dialog-checkbox-row{display:flex;align-items:flex-start;gap:8px;font-size:12px;color:var(--color-text-secondary);cursor:pointer}.dialog-checkbox-row input{margin-top:2px}.dialog-textarea{width:100%;min-height:120px;border:.5px solid var(--color-border-secondary);border-radius:var(--border-radius-md);padding:10px 12px;font-size:14px;background:#fff;resize:vertical}.list-item,.notice-item{padding:10px 0;border-bottom:.5px solid var(--color-border-tertiary)}.list-item:last-child,.notice-item:last-child{border-bottom:none}.list-title{font-size:13px;font-weight:500;color:var(--color-text-primary)}.list-meta{font-size:11px;color:var(--color-text-secondary);margin-top:4px}.notice-content{font-size:13px;color:var(--color-text-primary);line-height:1.5}.notice-item-header{display:flex;align-items:flex-start;gap:10px}.notice-item.important{background:#fffaf2;border-radius:var(--border-radius-md);margin:0 -8px;padding:10px 8px}.notice-badge{display:inline-flex;flex-shrink:0;margin-top:2px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:500;background:#faeeda;color:#ba7517}.notice-item-actions{display:inline-flex;gap:6px;margin-left:auto;flex-shrink:0}.notice-author{font-weight:500;color:var(--color-text-primary)}.notice-meta-separator{margin:0 4px}.schedule-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:12px}.dashboard-weekly-schedule{margin-bottom:16px}.calendar-week-label{font-size:12px;color:var(--color-text-tertiary)}.schedule-calendar-panel,.schedule-upcoming-panel{min-width:0}.calendar-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.calendar-title{font-size:16px;font-weight:500;color:var(--color-text-primary)}.calendar-nav-btn{border:.5px solid var(--color-border-secondary);border-radius:var(--border-radius-md);background:var(--color-background-primary);color:var(--color-text-secondary);font-size:12px;padding:6px 10px;cursor:pointer}.calendar-legend{display:flex;flex-wrap:wrap;gap:8px 12px;margin-bottom:12px}.calendar-legend-item{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--color-text-secondary)}.calendar-legend-dot{width:8px;height:8px;border-radius:50%}.calendar-grid,.calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekday{font-size:11px;color:var(--color-text-tertiary);text-align:center;padding:6px 0}.calendar-day{min-height:108px;border-top:.5px solid var(--color-border-tertiary);border-right:.5px solid var(--color-border-tertiary);padding:6px;background:var(--color-background-primary)}.calendar-day:nth-child(7n){border-right:none}.calendar-day.is-muted{background:var(--color-background-secondary)}.calendar-day.is-today .calendar-day-number{background:#eeedfe;color:#3c3489}.calendar-day-number{width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:11px;color:var(--color-text-secondary);margin-bottom:4px}.calendar-events{display:grid;gap:4px}.calendar-event{border-radius:6px;padding:4px 6px;font-size:10px;line-height:1.3}.calendar-event-title{display:block;font-weight:500;color:var(--color-text-primary)}.calendar-event-assignee,.calendar-inline-assignee{display:block;margin-top:2px;font-size:10px}.calendar-event.tone-purple,.calendar-inline-assignee.tone-purple,.calendar-legend-dot.tone-purple{background:#eeedfe;color:#3c3489}.calendar-event.tone-teal,.calendar-inline-assignee.tone-teal,.calendar-legend-dot.tone-teal{background:#e1f5ee;color:#0f6e56}.calendar-event.tone-coral,.calendar-inline-assignee.tone-coral,.calendar-legend-dot.tone-coral{background:#faece7;color:#993c1d}.task-board-panel{display:grid;gap:12px}.task-date-nav{display:flex;align-items:center;justify-content:space-between;gap:12px}.task-date-summary{text-align:center;position:relative}.task-date-picker{position:relative;display:inline-flex;flex-direction:column;align-items:center}.task-date-trigger{border:none;background:transparent;cursor:pointer;padding:0}.task-date-trigger:hover{color:#3c3489}.task-date-popover{position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%);z-index:20;width:min(320px,80vw);padding:12px;border:.5px solid var(--color-border-secondary);border-radius:var(--border-radius-lg);background:var(--color-background-primary);box-shadow:0 12px 32px rgba(15,23,42,.12)}.task-date-grid{margin-top:4px}.task-date-day{min-height:40px;border:none;cursor:pointer}.task-date-day.is-selected .calendar-day-number{background:#3c3489;color:#fff}.task-date-label{font-size:14px;font-weight:500;color:var(--color-text-primary)}.task-add-link,.task-today-btn{border:none;background:transparent;cursor:pointer}.task-today-btn{margin-top:4px;font-size:11px;color:#534ab7}.task-today-badge{margin-top:4px;display:inline-flex;padding:2px 8px;border-radius:999px;background:#eeedfe;color:#3c3489;font-size:10px}.task-filter-tabs{display:flex;gap:8px;flex-wrap:wrap}.task-filter-tab{border:.5px solid var(--color-border-secondary);border-radius:999px;background:var(--color-background-primary);color:var(--color-text-secondary);font-size:12px;padding:6px 12px;cursor:pointer}.task-filter-tab.active{background:#eeedfe;border-color:#3c3489;color:#3c3489;font-weight:500}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.dialog-button{border:.5px solid var(--color-border-secondary);border-radius:var(--border-radius-md);padding:8px 12px;background:var(--color-background-primary);color:var(--color-text-secondary);font-size:13px;cursor:pointer}.dialog-button.primary{background:#3c3489;border-color:#3c3489;color:#fff}.dialog-button.danger{background:#fff5f5;border-color:#f0c4c0;color:#c0392b}.dialog-actions .dialog-button.danger{margin-right:auto}.dialog-button:disabled{opacity:.7;cursor:wait}.dialog-error{color:#e24b4a;font-size:12px}.team-access-layout{display:grid;gap:16px}.team-access-intro-text{margin:0;font-size:13px;color:var(--color-text-secondary);line-height:1.5}.team-access-card{display:grid;gap:0;overflow:hidden}.team-access-trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:14px 16px;border:0;background:transparent;text-align:left;cursor:pointer}.team-access-trigger-main{display:grid;gap:4px;min-width:0}.team-access-trigger-id{font-size:12px;font-weight:500;color:var(--color-text-tertiary)}.team-access-trigger-name{font-size:15px;font-weight:500;color:var(--color-text-primary)}.team-access-trigger-meta{font-size:12px;color:var(--color-text-tertiary)}.team-access-trigger-side{display:inline-flex;align-items:center;gap:10px;flex-shrink:0}.team-access-chevron{display:inline-flex;font-size:14px;color:var(--color-text-tertiary);transition:transform .2s ease}.team-access-trigger.open .team-access-chevron{transform:rotate(180deg)}.team-access-panel{display:grid;gap:16px;padding:0 16px 16px;border-top:.5px solid var(--color-border-tertiary)}.team-access-group{display:grid;gap:12px}.team-access-group-title{margin:0;font-size:13px;font-weight:500;color:var(--color-text-secondary)}.team-access-empty{margin:0;padding:12px 16px;font-size:13px;color:var(--color-text-tertiary)}.team-access-create-card .team-access-panel{padding-top:16px}.team-access-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.team-access-name{font-size:15px;font-weight:500;color:var(--color-text-primary)}.team-access-meta{margin-top:4px;font-size:12px;color:var(--color-text-tertiary)}.team-access-role{display:inline-flex;padding:4px 10px;border-radius:999px;font-size:11px;background:#eeedfe;color:#3c3489}.team-access-role.role-guest{background:#faeeda;color:#ba7517}.team-access-role.role-admin{background:#faece7;color:#993c1d}.team-access-form{display:grid;gap:16px}.team-access-fields{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.team-access-matrix-wrap{overflow-x:auto}.team-access-matrix{width:100%;border-collapse:collapse}.team-access-matrix td,.team-access-matrix th{padding:10px 8px;border-bottom:.5px solid var(--color-border-tertiary);text-align:left;font-size:12px}.team-access-matrix thead th{color:var(--color-text-tertiary);font-weight:500}.team-access-matrix tbody th{color:var(--color-text-primary);font-weight:500}.team-access-checkbox{display:inline-flex;align-items:center;gap:6px;color:var(--color-text-secondary);cursor:pointer}.team-access-success{margin:0;font-size:12px;color:#1d9e75}.team-access-denied{display:grid;gap:8px}@media (max-width:1100px){.schedule-layout,.shared-documents-layout,.team-access-fields{grid-template-columns:1fr}}@media (max-width:767px){.topbar{height:auto;min-height:52px;padding:8px 12px}.task-item{flex-wrap:wrap;align-items:flex-start;gap:8px;padding:12px 0}.task-item .task-text{flex:1 1 calc(100% - 28px)}.task-item-actions{width:100%;justify-content:flex-end}.calendar-nav-btn,.grant-application-trigger,.task-add-link,.task-filter-tab,.task-today-btn{min-height:44px}.grant-application-item{flex-direction:column;align-items:stretch;gap:10px}.grant-application-item-actions{justify-content:flex-end}.dialog-backdrop{padding:0;align-items:stretch}.dialog-card{width:100%;max-width:none;height:100%;border-radius:0;padding:16px;overflow-y:auto;box-shadow:none}.dialog-input,.dialog-textarea,.login-input{font-size:16px}.dialog-close{min-width:44px;min-height:44px}.dialog-button,.task-action-btn{min-height:44px;padding:10px 14px}.board-progress-table thead{display:none}.board-progress-table,.board-progress-table tbody,.board-progress-table td,.board-progress-table tr{display:block;width:100%}.board-progress-table tr{margin-bottom:12px;padding:12px;border:.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-md);background:var(--color-background-secondary)}.board-progress-table td{border:0;padding:4px 0}.board-progress-table td:before{content:attr(data-label);display:block;font-size:11px;color:var(--color-text-secondary);margin-bottom:2px}.board-progress-table td:last-child{padding-top:8px}.team-access-matrix thead{display:none}.team-access-matrix,.team-access-matrix tbody,.team-access-matrix td,.team-access-matrix th,.team-access-matrix tr{display:block;width:100%}.team-access-matrix tr{margin-bottom:12px;padding:12px;border:.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-md);background:var(--color-background-secondary)}.team-access-matrix td,.team-access-matrix th{border:0;padding:4px 0}}@media (max-width:500px){.kiosk-topbar{grid-template-columns:auto minmax(0,1fr) auto auto;height:52px;min-height:52px;padding:0 12px;gap:6px}.kiosk-topbar-brand{max-width:none;font-size:12px}.kiosk-teacher-btn{min-width:64px;min-height:40px;padding:6px 10px;font-size:16px}.kiosk-progress-pill{min-height:28px;padding:3px 8px;font-size:12px}.kiosk-guide-text{font-size:22px}.kiosk-guide-situation{display:none}.kiosk-main{padding:10px 14px 14px}.kiosk-mission-select-heading{font-size:24px}.kiosk-mission-banner-wrap{margin:0 12px}.kiosk-mission-banner{padding:6px 12px;font-size:18px}.kiosk-mission-banner-items{gap:6px 8px}.kiosk-transit-dest-banner{margin:0 12px;padding:8px 12px;font-size:20px}.kiosk-select-scan-bar{padding:0 12px 6px}.kiosk-scan-open-btn{min-height:52px;font-size:20px}.kiosk-cart-row{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;grid-template-areas:"item trash" "qty price";gap:10px 12px;align-items:center}.kiosk-cart-item{grid-area:item;min-width:0}.kiosk-cart-trash{grid-area:trash;margin-left:0;justify-self:end}.kiosk-qty{grid-area:qty;justify-self:start}.kiosk-cart-line-total{grid-area:price;justify-self:end;text-align:right}.kiosk-cart-sum{display:none}.kiosk-bottombar{grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:10px 12px;padding:10px 12px calc(10px + env(safe-area-inset-bottom))}.kiosk-bottom-total{grid-column:1/-1;grid-row:1;margin:0;font-size:26px;font-weight:700;white-space:nowrap;line-height:1.2}.kiosk-bottom-total strong{display:inline;margin-top:0;font-size:26px;font-weight:700}.kiosk-nav-btn{min-height:70px;font-size:24px;padding:10px 12px}.kiosk-nav-btn--back{grid-column:1;grid-row:2}.kiosk-nav-btn--next{grid-column:2;grid-row:2}.kiosk-nav-btn-spacer{display:none}}.kiosk-ui-row{display:inline-flex;align-items:center;justify-content:center;gap:8px}.kiosk-method-emoji{display:grid;place-items:center;color:var(--kiosk-blue)}.kiosk-method-emoji svg{width:28px;height:28px}.kiosk-basket-icon{display:grid;place-items:center;color:var(--kiosk-blue);font-size:0;line-height:1}.kiosk-mission-banner-label{display:inline-flex;align-items:center;gap:8px}.kiosk-switch-link{display:inline-flex;align-items:center;gap:4px}.kiosk-scan-err-icon{display:grid;place-items:center;color:#fff}.kiosk-dev-preview-scale .kiosk-picker,.kiosk-shell.is-preview{width:1280px;height:800px;min-height:800px}.kiosk-teacher-preview-link{margin-right:auto;font-size:16px;font-weight:700;color:var(--kiosk-blue)}.kiosk-dev-preview{min-height:100vh;padding:24px 20px 48px;background:#0f1724;color:#e8eef6}.kiosk-dev-preview-top{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:16px;max-width:1280px;margin:0 auto 20px}.kiosk-dev-preview-kicker{margin:0 0 6px;font-size:13px;font-weight:700;letter-spacing:.04em;color:#f59e0b}.kiosk-dev-preview h1{margin:0;font-size:28px;font-weight:700}.kiosk-dev-preview-lead{margin:8px 0 0;max-width:52ch;font-size:15px;line-height:1.45;color:#9aa8bc}.kiosk-dev-preview-back,.kiosk-dev-preview-open{flex-shrink:0;font-size:14px;font-weight:700;color:#93c5fd;text-decoration:none}.kiosk-dev-preview-nav{display:flex;flex-wrap:wrap;gap:8px;max-width:1280px;margin:0 auto 20px}.kiosk-dev-preview-nav a{padding:6px 10px;border-radius:999px;background:#1b2838;color:#d7e3f2;font-size:13px;font-weight:700;text-decoration:none}.kiosk-dev-preview-grid{display:flex;flex-wrap:wrap;gap:16px;max-width:1280px;margin:0 auto}.kiosk-dev-preview-card{width:384px}.kiosk-dev-preview-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:8px}.kiosk-dev-preview-card-title{margin:0;font-size:13px;font-weight:700;color:#d7e3f2}.kiosk-dev-preview-frame{overflow:hidden;border:1px solid #2a3b50;border-radius:12px;background:#f5f8fb}.kiosk-dev-preview-scale{transform-origin:top left;pointer-events:none}.kiosk-dev-preview-placeholder{display:grid;place-items:center;height:100%;color:#6b7a90;font-size:14px;font-weight:700}@media (min-width:768px){.md\:static{position:static}.md\:z-auto{z-index:auto}.md\:mr-1{margin-right:.25rem}.md\:inline{display:inline}.md\:flex{display:flex}.md\:hidden{display:none}.md\:w-\[220px\]{width:220px}.md\:min-w-0{min-width:0}.md\:translate-x-0{--tw-translate-x:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:gap-3{gap:.75rem}.md\:px-3{padding-left:.75rem;padding-right:.75rem}.md\:px-5{padding-left:1.25rem;padding-right:1.25rem}.md\:pb-0{padding-bottom:0}.md\:text-\[15px\]{font-size:15px}}@media (min-width:1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}