@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-thai-thai-400-normal-BEOmKAI1.woff2) format("woff2"),url(/assets/noto-sans-thai-thai-400-normal-Dxb_unuU.woff) format("woff");unicode-range:U+02D7,U+0303,U+0331,U+0E01-0E5B,U+200C-200D,U+25CC}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-thai-latin-ext-400-normal-nBP59pVw.woff2) format("woff2"),url(/assets/noto-sans-thai-latin-ext-400-normal-B-1H0YkH.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-thai-latin-400-normal-BaWBrqFP.woff2) format("woff2"),url(/assets/noto-sans-thai-latin-400-normal-Dh_FJjOB.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/noto-sans-thai-thai-500-normal-CU_X86GQ.woff2) format("woff2"),url(/assets/noto-sans-thai-thai-500-normal-BOGXO2tw.woff) format("woff");unicode-range:U+02D7,U+0303,U+0331,U+0E01-0E5B,U+200C-200D,U+25CC}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/noto-sans-thai-latin-ext-500-normal-B-ZWb8SZ.woff2) format("woff2"),url(/assets/noto-sans-thai-latin-ext-500-normal-CrEHO7C8.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/noto-sans-thai-latin-500-normal-fyBKClF1.woff2) format("woff2"),url(/assets/noto-sans-thai-latin-500-normal-BC04jsmm.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/noto-sans-thai-thai-600-normal-Cs73sVjl.woff2) format("woff2"),url(/assets/noto-sans-thai-thai-600-normal-CmgB8_JK.woff) format("woff");unicode-range:U+02D7,U+0303,U+0331,U+0E01-0E5B,U+200C-200D,U+25CC}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/noto-sans-thai-latin-ext-600-normal-maHHBsez.woff2) format("woff2"),url(/assets/noto-sans-thai-latin-ext-600-normal-PkMZo0xa.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/noto-sans-thai-latin-600-normal-CemcjnVR.woff2) format("woff2"),url(/assets/noto-sans-thai-latin-600-normal-Dbc-dNO6.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/noto-sans-thai-thai-700-normal-Cm52XUnT.woff2) format("woff2"),url(/assets/noto-sans-thai-thai-700-normal-C9ISMlQq.woff) format("woff");unicode-range:U+02D7,U+0303,U+0331,U+0E01-0E5B,U+200C-200D,U+25CC}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/noto-sans-thai-latin-ext-700-normal-uJk63onE.woff2) format("woff2"),url(/assets/noto-sans-thai-latin-ext-700-normal-xdwl2Xg6.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/noto-sans-thai-latin-700-normal-_dn-40wb.woff2) format("woff2"),url(/assets/noto-sans-thai-latin-700-normal-C4AMFKt5.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{font-family:Noto Sans Thai,system-ui,sans-serif;color:#182139;background:#f5f7fb;font-synthesis:none;--blue: #2453ef;--border: #dce2ed;--muted: #697386}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{outline-offset:4px}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}button{border:0}a{color:var(--blue)}h1,h2,h3,p{margin-top:0}h1{font-size:30px;line-height:1.4;margin-bottom:10px}h2{font-size:21px}h3{font-size:18px}p{line-height:1.75;color:var(--muted)}small{font-size:12px;color:var(--muted)}label{display:block}input:not([type=checkbox]):not([type=range]),select{padding:11px 13px;background:#fff;border:1px solid var(--border);border-radius:8px;color:inherit;min-width:0}input[type=checkbox]{accent-color:var(--blue);width:18px;height:18px;vertical-align:middle;margin-right:8px}input[type=range]{width:100%;accent-color:var(--blue)}.primary,.secondary,.text-button,.icon-button{display:inline-flex;gap:12px;align-items:center;justify-content:center;border-radius:8px;font-weight:600;text-decoration:none;white-space:nowrap}.primary{background:var(--blue);color:#fff;padding:14px 23px;min-height:52px}.primary:hover{background:#1642d3}.secondary{background:#fff;border:1px solid var(--border);color:#273958;padding:11px 18px;min-height:44px}.text-button{padding:8px;background:transparent;color:var(--blue)}.icon-button{width:40px;height:40px;background:#fff;border:1px solid var(--border);font-size:25px}.brand{letter-spacing:.25em;font-weight:750;font-size:20px;line-height:1.4;color:#0d1420}.brand small{display:block;font-size:10px;letter-spacing:.18em;color:#182139;font-weight:600}.error{background:#fff0f0;color:#a8283d;border:1px solid #ffd5da;padding:14px 18px;border-radius:9px;display:flex;gap:10px;align-items:center;margin:12px 0}.loading{display:flex;gap:12px;align-items:center;justify-content:center;padding:80px 20px;color:var(--muted)}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.icon-button.spinning svg{animation:spin .7s linear}.info-note{background:#eef3ff;border-radius:9px;padding:15px 20px;color:#53658c;margin:20px 0;font-size:14px}.demo-chip,.badge{color:#2750c0;background:#eaf0ff;font-size:12px;padding:5px 10px;border-radius:6px}.badge{margin-left:5px}.mode-note{font-size:12px;margin:0 0 20px}.standalone{max-width:750px;margin:80px auto;padding:30px}.standalone h1{margin-top:30px}.login-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(130deg,#e9eefb,#fff 60%,#fce5ec)}.login-card{background:#fff;width:min(440px,92vw);padding:45px;border:1px solid var(--border);border-radius:16px;box-shadow:0 20px 80px #1e3d7f0b}.login-card h1{margin-top:38px}.login-card label{font-size:14px}.login-card input{width:100%;margin:8px 0 22px}.login-card .primary{width:100%}.pairing-code{display:grid;gap:4px;justify-items:center;padding:16px;border:2px dashed var(--blue);border-radius:10px;margin:10px 0}.pairing-code strong{font-size:40px;letter-spacing:6px;font-family:ui-monospace,Consolas,monospace}.booth-pairing ol{padding-left:20px}.admin-notice{background:#fff8e6;color:#7a5200;border:1px solid #ffe2a8;padding:12px 16px;border-radius:9px;margin:12px 0;line-height:1.6}.modal-hint{font-size:13px;line-height:1.6;margin:2px 0 10px}.demo-notice{margin-top:25px;color:var(--muted);font-size:12px;line-height:1.8}.admin-shell{display:flex;min-height:100vh}.sidebar{width:235px;flex-shrink:0;background:#fff;border-right:1px solid var(--border);padding:28px 18px;position:fixed;height:100vh;overflow-y:auto;display:flex;flex-direction:column;z-index:10}.sidebar-top{display:flex;align-items:flex-start;justify-content:space-between}.sidebar-top>.brand{padding:3px 14px 34px}.menu-button,.menu-close,.menu-backdrop{display:none}.sidebar nav{display:grid;gap:8px}.sidebar nav button{background:#fff;display:flex;gap:13px;align-items:center;text-align:left;padding:14px 13px;border-radius:8px;color:#46516c;font-size:14px}.sidebar nav button.active{background:var(--blue);color:#fff;box-shadow:0 6px 18px #2453ef20}.sidebar-bottom{margin-top:auto;display:grid;gap:13px;font-size:12px;padding:20px 10px 0}.sidebar-bottom button{display:flex;gap:10px;background:transparent;color:#697386;text-align:left;padding:8px 0}.connection{color:#9c7319}.connection:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;display:inline-block;margin-right:7px}.connection.online{color:#229a68}.admin-main{margin-left:235px;padding:30px 36px;min-width:0;width:calc(100% - 235px);max-width:1700px}.admin-header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px}.breadcrumb{font-size:12px;margin:0 0 8px}.header-actions{display:flex;gap:14px;align-items:center}.avatar{background:#f9dbe5;border-radius:50%;width:38px;height:38px;display:grid;place-items:center;font-weight:700}.filterbar{background:#fff;border:1px solid var(--border);border-radius:10px;padding:15px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:24px}.filterbar input,.filterbar select{font-size:13px}.branch-filter{position:relative;min-width:150px}.branch-filter summary{list-style:none;cursor:pointer;padding:10px 14px;border:1px solid var(--border);border-radius:8px;font-size:14px}.branch-options{position:absolute;top:48px;left:0;z-index:20;min-width:240px;background:#fff;border:1px solid var(--border);box-shadow:0 10px 30px #17233e17;padding:12px;border-radius:9px}.branch-options label{padding:10px;font-size:14px}.branch-options button{background:#edf2ff;color:var(--blue);padding:8px 12px;border-radius:6px;width:100%;text-align:left}.search-input{flex:1;min-width:150px!important}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:24px}.metric{background:#fff;border:1px solid var(--border);border-radius:12px;padding:22px;display:grid;gap:10px}.metric>span{font-size:13px;color:var(--muted)}.metric strong{font-size:30px;letter-spacing:-.025em;line-height:1.3}.metric.accent{background:#eef3ff;border-color:#d2dfff}.metric.accent strong{color:var(--blue)}.metric small{font-size:11px}.surface{background:#fff;border:1px solid var(--border);border-radius:12px;padding:25px;margin-bottom:24px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.section-heading h2{margin-bottom:0}.section-heading p{font-size:13px;margin:8px 0 0}.revenue-chart{padding:5px 0 25px;display:grid;gap:24px}.revenue-row{display:grid;grid-template-columns:160px 1fr 110px;gap:20px;align-items:center;font-size:14px}.revenue-row strong{text-align:right}.bar-track{height:24px;border-radius:4px;background:#f4f6fc;overflow:hidden}.bar-track>div{height:100%;background:#496ff1;border-radius:4px;min-width:0;transition:width .3s}.stat-strip{border-top:1px solid var(--border);padding-top:20px;display:flex;gap:35px;flex-wrap:wrap;font-size:13px;color:var(--muted)}.stat-strip b{color:#182139;margin-left:8px}.terminal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.terminal-card{background:#fafbfe;border:1px solid var(--border);border-radius:10px;padding:22px;display:grid;gap:12px;justify-items:start;align-content:start}.terminal-card>svg{color:var(--blue)}.terminal-card h3{margin:0}.terminal-card span{color:var(--muted);font-size:12px}.terminal-card button{margin-top:8px;width:100%}.table-surface{padding:0;overflow:hidden}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px;text-align:left}th{background:#fafbfe;color:var(--muted);font-size:12px;font-weight:500;white-space:nowrap}th,td{padding:18px 16px;border-bottom:1px solid #e7ebf3}td small{display:block;margin-top:4px;font-size:11px}td b{font-weight:600}td .text-button{font-size:12px}.status{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-size:12px}.status:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.status.good{color:#239365}.status.waiting{color:#ae791e}.status.bad{color:#c54052}.empty{display:grid;justify-items:center;gap:10px;padding:70px 25px;color:#98a2b5}.empty p{font-size:14px;max-width:500px;text-align:center}.pagination{display:flex;justify-content:space-between;padding:18px;color:var(--muted);font-size:12px;gap:10px}.pagination button{background:#fff;border:1px solid var(--border);padding:6px 10px;border-radius:5px;color:inherit}.inline-actions{display:flex;gap:9px;align-items:center}.switch-label{font-size:13px}.template-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:30px}.template-grid .photo-frame{max-width:240px;margin:0 auto 22px}.template-grid>div{text-align:center}.template-grid p{font-size:13px}.modal-backdrop{position:fixed;inset:0;background:#14223d60;z-index:40;display:flex;justify-content:center;align-items:center;padding:30px}.modal{background:#fff;border-radius:15px;box-shadow:0 25px 90px #10203f44;width:min(980px,100%);max-height:94vh;overflow:auto}.paper-modal{padding:28px;max-width:620px}.paper-modal label{display:grid;gap:8px;margin:18px 0}.paper-modal button{margin-right:12px}.paper-inventory td small{display:block;margin-top:6px}.paper-inventory td strong{color:#a83a35}.modal>header{padding:24px 30px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:start;gap:20px}.modal>header h2{margin:0}.modal>header p{margin:8px 0 0;font-size:13px}.config-content{padding:25px 30px}.config-content [hidden]{display:none!important}.config-tabs{display:flex;gap:8px;padding:12px 30px;border-bottom:1px solid var(--border);overflow-x:auto}.config-tabs button{background:transparent;border:0;padding:10px 14px;white-space:nowrap;border-radius:6px;color:var(--muted)}.config-tabs button.active{background:#edf3ff;color:var(--blue)}.template-library-tools{display:flex;gap:12px;align-items:center;margin:24px 0 12px;flex-wrap:wrap}.template-library-tools input{flex:1;min-width:180px}.template-library{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px}.template-library-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:16px;min-width:0}.template-library-card h3{margin:16px 0 6px;overflow-wrap:anywhere}.template-library-card p{font-size:12px}.template-open{display:flex;justify-content:center;width:100%;background:#f2f4f7;padding:16px;border:0;border-radius:8px;cursor:pointer}.template-thumbnail{position:relative;width:180px;aspect-ratio:2/3;overflow:hidden;box-shadow:0 2px 8px #0002}.template-thumbnail img{position:absolute;object-fit:cover}.template-thumbnail img.template-thumbnail-overlay{inset:0;width:100%;height:100%;object-fit:fill}.template-card-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.template-card-actions button{padding:8px 12px}.template-card-actions .danger{color:#a83a35}.branch-template-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px}.branch-template-options label{border:1px solid var(--border);padding:12px;border-radius:8px;cursor:pointer;overflow-wrap:anywhere}.branch-template-options label:has(input:checked){border-color:var(--blue);background:#f3f7ff}.branch-template-options .photo-frame,.branch-template-options .custom-frame-preview{max-width:130px;margin:0 auto 12px}.branch-template-options label button{display:block;margin-top:8px;width:100%}.library-add{margin-top:14px;border-top:1px dashed var(--border);padding-top:10px}.library-add-item{border:1px dashed var(--border);padding:12px;border-radius:8px;display:grid;gap:8px;overflow-wrap:anywhere}.library-add-item>:first-child{max-width:130px;margin:0 auto}.publish-targets{display:grid;gap:6px;border:1px solid var(--border);border-radius:8px;padding:8px 12px;margin:0 0 10px}.publish-targets label{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.publish-targets small{color:var(--muted)}.toggle-grid{display:flex;flex-wrap:wrap;gap:18px;margin-bottom:16px}.toggle-grid label{font-size:14px;white-space:nowrap}.config-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:20px 0}fieldset{border:1px solid var(--border);border-radius:9px;padding:18px;margin:15px 0}legend{font-size:14px;padding:0 8px;color:var(--blue)}.config-grid label{font-size:13px;margin-bottom:13px}.config-grid label input:not([type=checkbox]),.config-grid label select{display:block;width:100%;margin-top:7px}.modal>footer{padding:20px 30px;border-top:1px solid var(--border);display:flex;gap:12px;justify-content:flex-end;position:sticky;bottom:0;background:#fff}.detail-body{padding:25px 30px;display:grid;grid-template-columns:1fr 1fr;gap:30px}.detail-photos{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-content:start}.detail-photos img{width:100%;height:160px;object-fit:contain;background:#f2f4f9;border-radius:8px}.detail-photos small{display:block}.detail-body details{border-top:1px solid var(--border);padding-top:15px}.detail-body details label{font-size:13px;margin:15px 0}.detail-body details input{display:block;width:100%;margin-top:8px}.timeline{list-style:none;padding:0 0 0 15px;border-left:1px solid #d1ddf8;margin:25px 0}.timeline li{padding:0 0 20px 10px;font-size:12px}.timeline li small{display:block;font-size:11px}.danger-button{background:#fff0f1;color:#bc2441;border-radius:7px;padding:10px;margin:15px 0}.modal>.error{margin:15px 30px}.photo-frame{aspect-ratio:2/3;background:#fff;padding:5% 5% 4%;display:flex;flex-direction:column;box-shadow:0 3px 12px #1b244021;border:1px solid #e3e7ee;overflow:hidden;max-height:100%}.photo-frame.sweet{background:#f7dce6}.photo-frame.film{background:#18181e;color:#fff}.slots{display:grid;gap:3.5%;flex:1;min-height:0;margin-bottom:13%}.slots.six{grid-template-columns:1fr 1fr;grid-template-rows:repeat(3,1fr)}.slots.single{grid-template-columns:1fr}.slots img{width:100%;height:100%;object-fit:cover;min-height:0;min-width:0}.frame-logo{text-align:center;font-size:clamp(9px,1.3vw,22px);letter-spacing:.22em;line-height:1.3;font-weight:750}.frame-logo span{display:block;font-size:.4em;letter-spacing:.16em;margin-top:5px}.frame-choice .photo-frame,.frame-choice .custom-frame-preview{width:min(100%,30vh,290px)!important;height:auto;margin:auto}.kiosk{background:#fff;min-height:100dvh;position:relative;padding:92px 40px 85px;overflow:hidden}.kiosk-header{position:absolute;left:40px;right:40px;top:23px;display:flex;justify-content:space-between;align-items:center;z-index:15;pointer-events:none}.kiosk-header>*{pointer-events:auto}.language{padding:8px 12px!important;font-size:14px;border:1px solid #d1d8e5!important;border-radius:9px!important;max-width:130px;min-height:42px;background:#fffd!important}.kiosk-demo{position:absolute;top:70px;left:40px;font-size:11px;color:#8b7890;z-index:4}.kiosk-page{max-width:1500px;margin:auto;padding:28px 20px}.kiosk-page>h1{text-align:center;font-size:38px;margin:5px 0 36px}.kiosk-footer{position:absolute;left:40px;right:40px;bottom:20px;display:flex;justify-content:space-between;align-items:center;color:#8992a4;font-size:12px}.kiosk .primary{min-height:65px;font-size:20px;padding:16px 28px}.kiosk .secondary{min-height:52px}.next-button{display:flex;margin:32px 0 0 auto;min-width:250px}.kiosk-error{position:relative;z-index:30;max-width:800px;margin:auto}.welcome{border:0;position:absolute;inset:0;background:#f6dbe6;width:100%;color:#15151b;overflow:hidden}.welcome-photos{position:absolute;inset:6% -1%;display:flex;justify-content:space-between;align-items:center;pointer-events:none}.welcome-photos>.custom-frame-preview{width:26%!important;max-height:95%;transform:rotate(-12deg);box-shadow:0 6px 24px #1b244033}.welcome-photos>.custom-frame-preview:last-child{transform:rotate(12deg)}.welcome-copy{position:relative;width:50%;margin:auto;background:#f6dbe6c9;padding:40px 10px}.welcome-brand{font-size:clamp(18px,3vw,44px);letter-spacing:.3em;font-weight:700}.welcome h1{font-size:clamp(35px,5vw,74px);margin-top:55px;margin-bottom:10px;line-height:1.5}.welcome p{color:#453840;font-size:25px}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.service-card{padding:0;border-radius:10px;overflow:hidden;background:#f0f1f5;box-shadow:0 5px 20px #1d306711}.service-card>img,.service-card>div{display:block;height:43vh;min-height:230px;width:100%;object-fit:cover}.service-card>span{background:var(--blue);color:#fff;display:flex;gap:20px;align-items:center;text-align:left;padding:24px 30px;font-size:27px;font-weight:600}.service-card>span>svg:first-child{width:42px;height:42px}.service-card>span>svg:last-child{margin-left:auto}.print-service>div{background:#e7e5e0;padding:20px;display:grid;place-items:center}.print-service .custom-frame-preview{height:100%;transform:rotate(8deg);width:auto!important;min-width:170px;box-shadow:0 4px 16px #1b244026}.quantity-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:center;max-width:1100px;margin:50px auto}.quantity-layout>div:first-child{text-align:center}.quantity-control{display:flex;align-items:center;justify-content:center;gap:45px;margin:20px 0 35px}.quantity-control button{width:75px;height:75px;background:#edf2ff;border-radius:10px;color:var(--blue);display:grid;place-items:center}.quantity-control strong{font-size:90px;font-weight:600;min-width:105px}.quantity-layout h3{font-size:25px}.receipt{background:#f4f6fc;border-radius:14px;padding:30px}.receipt>div{display:flex;justify-content:space-between;gap:20px;padding:12px 0;font-size:17px}.receipt .receipt-total{border-top:1px solid #d9e1f0;margin-top:15px;padding:25px 0;align-items:center}.receipt-total strong{font-size:40px;color:var(--blue)}.receipt .primary{width:100%;margin-top:20px}.payment-panel{display:grid;grid-template-columns:1fr 1fr;gap:40px;max-width:1050px;margin:50px auto}.payment-symbol{background:#edf3ff;border:1px dashed #b7c9ff;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;gap:15px;color:var(--blue)}.payment-symbol b{letter-spacing:.2em}.payment-symbol p{max-width:300px;text-align:center;font-size:14px}.payment-total{font-size:60px;color:var(--blue);display:block;margin:15px 0}.frame-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:25px}.frame-choice{background:#fff;border:2px solid transparent;border-radius:10px;padding:15px 20px;color:inherit;min-width:0;flex:1 1 200px;max-width:350px}.frame-choice.selected{border-color:var(--blue);background:#f7f9ff}.frame-choice h3{margin:18px 0 7px;letter-spacing:.05em}.frame-choice small{font-size:13px}.kiosk.capturing{padding:0;height:100dvh}.live-view{position:absolute;inset:0}.live-view{background:#111}.live-view>img{width:100%;height:100%;object-fit:contain}.crop-guide{position:absolute;inset:0;pointer-events:none}.crop-guide svg{position:absolute;inset:0}.crop-guide-safe{fill:none;stroke:#fff;stroke-width:4}.crop-guide-slot{fill:none;stroke:#ffffffb0;stroke-width:2;stroke-dasharray:10 8}.crop-guide-label{position:absolute;transform:translate(-50%);background:#000000a0;color:#fff;border-radius:20px;padding:6px 14px;font-size:16px;white-space:nowrap}.shot-progress{position:absolute;top:25px;left:50%;transform:translate(-50%);background:#ffffffc4;border-radius:30px;padding:10px 24px;font-size:23px;font-weight:600}.countdown{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:clamp(120px,22vw,310px);line-height:1;color:#fff;font-weight:700;text-shadow:0 2px 25px #00000020}.countdown .spin{width:100px;height:100px}.camera-demo{position:absolute;bottom:12px;left:20px;background:#ffffffbd;padding:5px 9px;border-radius:4px;font-size:10px;color:#604b59}.review-page{display:grid;grid-template-columns:.85fr 1.4fr;gap:65px;align-items:center;min-height:70vh}.final-preview{height:65vh;display:grid;place-items:center}.final-preview img{height:100%;max-width:100%;object-fit:contain;box-shadow:0 3px 18px #10204015}.review-options h1{font-size:38px}.filter-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:32px 0;max-height:52vh;overflow-y:auto;padding-right:4px}.filter-choice{background:#fff;border:2px solid transparent;border-radius:9px;padding:6px;color:#182139}.filter-choice.selected{border-color:var(--blue)}.filter-choice img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:5px;display:block;margin-bottom:10px}.filter-choice span{font-size:14px}.confirm-print{display:flex;margin:38px 0 0 auto;min-width:300px}.ai-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;max-width:1100px;margin:auto}.ai-card{background:#fff;border:2px solid #e2e6ef;border-radius:12px;padding:15px;color:inherit}.ai-card.selected{border-color:var(--blue);background:#f6f8ff}.ai-card img{width:100%;height:30vh;object-fit:cover;border-radius:8px}.ai-card h3{margin:15px 0 5px}.ai-card p{margin:0;color:var(--blue)}.ai-card small{display:block;font-size:10px;margin-top:10px}.upload-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center}.upload-qr{text-align:center}.qr{width:220px;height:220px;background:#fff;object-fit:contain}.upload-qr p{max-width:400px;margin:15px auto}.upload-qr small{display:block;font-size:10px;margin:15px auto;max-width:400px}.received-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:30px 0}.received-grid>div{height:200px;border:1px dashed #c6d2e9;background:#f6f8fc;border-radius:9px;display:grid;place-items:center;color:#a9b7d0;overflow:hidden}.received-grid img{width:100%;height:100%;object-fit:cover}.complete-page{display:grid;grid-template-columns:.8fr 1.3fr;gap:75px;align-items:center}.complete-page>div:first-child{height:65vh;display:grid;place-items:center}.complete-photo{max-height:100%;max-width:100%;object-fit:contain;box-shadow:0 4px 20px #22304616}.complete-still{min-height:0;height:100%;display:flex;align-items:center;justify-content:center}.complete-page>.complete-media{grid-template-rows:minmax(0,1fr) minmax(0,.65fr);gap:16px}.complete-animation{margin:0;min-height:0;height:100%;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}.complete-animation img{min-height:0;max-height:calc(100% - 28px);max-width:100%;object-fit:contain;border-radius:12px}.complete-animation figcaption{font-size:14px;color:#59647b}.complete-animation p{font-size:15px;text-align:center}.finish-session{width:100%;margin-top:16px;min-height:56px}.finish-hint{font-size:13px;color:#59647b;margin:8px 0 0}.privacy-screen{min-height:100vh}.idle-return{position:relative;z-index:2;align-self:center;text-align:center;margin:8px auto 0;padding:8px 18px;border-radius:20px;background:#f3f5ff;color:#394b80;font-size:16px}.idle-return strong{font-variant-numeric:tabular-nums}.complete-page h1{font-size:55px}.complete-status{display:flex;align-items:center;gap:12px;color:#328868}.download-box{display:flex;align-items:center;gap:35px;margin:25px 0}.download-box .qr{width:210px;height:210px}.end-countdown{display:flex;align-items:center;gap:22px;background:#f3f5ff;border:1px solid #e5e9ff;padding:20px 24px;border-radius:22px;font-size:20px}.end-countdown-ring{position:relative;flex:0 0 92px;width:92px;height:92px;color:#3154ed}.end-countdown-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.end-countdown-ring circle{fill:none;stroke-width:6}.end-ring-track{stroke:#dfe5ff}.end-ring-value{stroke:currentColor;stroke-linecap:round;transition:stroke-dashoffset .5s linear}.end-countdown-ring>span{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:30px;font-weight:600;line-height:1.1;font-variant-numeric:tabular-nums}.end-countdown-ring small{font-size:11px;font-weight:400;margin-top:5px}.end-countdown-copy{display:grid;gap:6px;min-width:0}.end-countdown-copy strong{font-weight:500}.end-countdown-copy>span{color:#737e96;font-size:.8em}@media(prefers-reduced-motion:reduce){.end-ring-value{transition:none}}@media(max-width:600px){.end-countdown{padding:14px 16px;gap:14px}.end-countdown-ring{flex-basis:76px;width:76px;height:76px}}.mobile-shell{max-width:500px;margin:0 auto;background:#fff;min-height:100dvh;padding:25px}.mobile-shell header{display:flex;justify-content:space-between;align-items:center;margin-bottom:40px}.mobile-shell .brand{font-size:16px}.mobile-shell h1{font-size:27px}.mobile-shell>p{font-size:12px}.mobile-progress{display:flex;justify-content:space-between;font-size:13px;background:#f2f5fc;padding:14px;border-radius:8px;margin:25px 0}.upload-button{display:flex;align-items:center;justify-content:center;gap:12px;background:#edf2ff;color:var(--blue);border:1px dashed #98aff5;padding:30px;border-radius:10px;cursor:pointer}.upload-button input{display:none}.crop-window{aspect-ratio:4/3;overflow:hidden;border:2px solid var(--blue);border-radius:8px;margin:25px 0}.crop-window img{width:100%;height:100%;object-fit:cover}.mobile-shell label{font-size:14px;margin-top:15px}.mobile-shell .primary{width:100%;margin:20px 0}.mobile-success{text-align:center;padding:50px 0;color:#28936a}.mobile-success svg{margin-bottom:20px}.download-photo{display:block;width:100%;max-height:65vh;object-fit:contain}@media(min-width:1700px){.kiosk-page{padding-top:50px}.kiosk-page>h1{font-size:46px}}@media(max-width:1100px){.admin-main{padding:25px 22px}.sidebar{width:205px}.admin-main{margin-left:205px;width:calc(100% - 205px)}.metrics{gap:12px}.metric{padding:17px}.metric strong{font-size:25px}.kiosk{padding-left:25px;padding-right:25px}.kiosk-page{padding-left:0;padding-right:0}.review-page{gap:30px}.service-card>span{font-size:23px;padding:20px}.quantity-layout{gap:30px}.frame-grid{gap:10px}.frame-choice{padding:10px}.kiosk-page>h1{font-size:33px}.filter-grid{gap:5px}.complete-page{gap:35px}.download-box{gap:15px}.download-box .qr{width:160px;height:160px}}@media(max-width:750px){.admin-header h1{font-size:23px}.header-actions{gap:8px}.header-actions .demo-chip{display:none}.metrics{grid-template-columns:1fr 1fr}.metric strong{font-size:25px}.terminal-grid,.template-grid{grid-template-columns:1fr}.revenue-row{grid-template-columns:100px 1fr 85px;gap:10px;font-size:11px}.surface{padding:18px}.table-surface{padding:0}.stat-strip{gap:15px}.filterbar{padding:10px;gap:7px}.filterbar input[type=date]{width:132px}.modal-backdrop{padding:10px}.modal>header{padding:20px}.config-content,.detail-body{padding:20px}.config-grid,.detail-body{grid-template-columns:1fr}.detail-photos img{height:130px}.section-heading{align-items:start;flex-direction:column}.kiosk{padding:105px 18px 85px}.kiosk-header{left:20px;right:20px}.kiosk-demo{left:20px;top:76px;font-size:9px;max-width:90%}.kiosk-footer{left:20px;right:20px}.kiosk-page>h1{font-size:28px}.service-grid{gap:15px}.service-card>img,.service-card>div{height:33vh;min-height:180px}.service-card>span{font-size:16px;gap:8px;padding:15px 12px}.service-card>span>svg:first-child{width:25px;height:25px}.service-card>span>svg:last-child{display:none}.quantity-layout,.payment-panel,.upload-layout,.review-page,.complete-page{grid-template-columns:1fr;gap:25px;margin:15px auto}.quantity-control{margin:0 0 15px;gap:30px}.quantity-control strong{font-size:65px}.quantity-control button{width:60px;height:60px}.quantity-layout h3{font-size:20px}.quantity-layout p{font-size:12px}.receipt{padding:22px}.receipt-total strong{font-size:32px}.frame-choice .photo-frame,.frame-choice .custom-frame-preview{width:min(100%,153px)!important}.frame-choice h3{font-size:13px}.frame-choice small{font-size:10px}.frame-grid{gap:5px}.final-preview{height:38vh}.review-options h1{font-size:28px}.filter-grid{margin:20px 0}.filter-choice span{font-size:11px}.confirm-print{margin:20px 0 0;width:100%;min-width:0}.ai-grid{gap:8px}.ai-card{padding:8px}.ai-card img{height:180px}.ai-card h3{font-size:14px}.welcome-photos>.custom-frame-preview{width:30%!important;height:65%;max-height:450px}.welcome-copy{width:60%;padding:25px 0}.welcome h1{font-size:34px;margin-top:35px}.welcome p{font-size:17px}.received-grid>div{height:150px}.complete-page>div:first-child{height:40vh}.complete-page h1{font-size:38px}.download-box{justify-content:center}.end-countdown{font-size:17px}.shot-progress{top:85px;font-size:18px}.camera-demo{font-size:8px}.kiosk-header .brand{font-size:16px}.payment-symbol{padding:25px}.payment-total{font-size:45px}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition:none!important}}.studio-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.studio-toolbar>div{flex:1 1 260px}.studio-toolbar p{margin:0;font-size:14px}.studio-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:24px;align-items:start}.studio-properties{padding:22px}.studio-properties label{font-size:13px;margin-bottom:14px}.studio-properties input:not([type=file]),.studio-properties select{display:block;width:100%;margin-top:6px}.studio-properties input[type=color]{height:42px;padding:4px}.studio-properties hr{border:0;border-top:1px solid var(--border);margin:24px 0}.studio-properties .section-heading{margin-bottom:10px}.studio-properties .section-heading h3{margin:0}.studio-upload{position:relative;overflow:hidden;cursor:pointer;width:100%;font-size:12px!important}.studio-upload input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}.studio-notice{padding:15px 20px;background:#e5f6ee;color:#246b48;border-radius:8px;margin-bottom:20px}.slot-list{display:grid;gap:6px}.slot-list button{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#f5f7fb;border:1px solid transparent;border-radius:6px;text-align:left;color:inherit}.slot-list button.selected{border-color:var(--blue);background:#eef2ff}.slot-row{display:flex;gap:6px;align-items:stretch}.slot-row>button:first-child{flex:1}.slot-row.selected>button:first-child{border-color:var(--blue);background:#eef2ff}.slot-list .slot-remove{flex:0 0 auto;justify-content:center;padding:0 10px;color:#c54052}.slot-list .slot-remove:disabled{color:var(--muted)}.shot-count{display:grid;gap:4px;margin:4px 0 2px}.slot-properties{margin-top:25px}.slot-numbers{display:grid;grid-template-columns:1fr 1fr;gap:8px}.slot-actions{display:flex;gap:7px}.slot-actions .secondary{padding:8px;flex:1}.studio-workspace{padding:25px;background:#e9edf4;border-radius:12px;text-align:center}.studio-canvas-label{display:flex;justify-content:space-between;color:#657089;font-size:12px;max-width:480px;margin:0 auto 14px;gap:20px}.template-canvas{aspect-ratio:2/3;width:min(100%,480px);position:relative;margin:0 auto;box-shadow:0 12px 40px #21315120;touch-action:none}.canvas-slot{position:absolute;cursor:move;-webkit-user-select:none;user-select:none;outline:1px solid #ffffff70;touch-action:none}.canvas-slot.selected{outline:3px solid var(--blue)}.canvas-slot img{width:100%;height:100%;object-fit:cover;pointer-events:none}.canvas-slot>span{position:absolute;top:4px;left:4px;color:#fff;background:#182139ab;border-radius:3px;padding:2px 6px;font-size:11px;pointer-events:none}.resize-handle{position:absolute;bottom:-6px;right:-6px;width:15px;height:15px;background:var(--blue);border:2px solid white;cursor:nwse-resize;touch-action:none}.canvas-overlay{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none;z-index:20}.canvas-cut{position:absolute;top:0;bottom:0;left:50%;border-left:1px dashed #e65291;pointer-events:none;z-index:30}.studio-workspace>p{font-size:12px;margin:18px 0}.studio-buttons{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.template-preview-modal{max-width:550px;text-align:center}.template-preview-modal>img{max-height:65vh;max-width:100%;margin:20px auto;display:block}.template-preview-modal>p{font-size:13px}.studio-properties small{line-height:1.6;display:block}.studio-properties .slot-list small{font-size:11px}@media(max-width:1050px){.studio-layout{grid-template-columns:250px minmax(0,1fr)}.studio-properties,.studio-workspace{padding:15px}}@media(max-width:760px){.studio-layout{display:flex;flex-direction:column-reverse}.studio-properties,.studio-workspace{width:100%}.studio-toolbar{align-items:start}.studio-toolbar h2{font-size:19px}}.fleet-panel{margin-bottom:24px}.fleet-panel .terminal-grid{margin:20px 0 28px}.fleet-panel .terminal-card,.fleet-incident>div{min-width:0;overflow-wrap:anywhere}@media(max-width:1100px){.fleet-panel .terminal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.fleet-panel .terminal-grid{grid-template-columns:minmax(0,1fr)}}.fleet-connectivity.online{color:#25694c}.fleet-connectivity.offline{color:#b12c3d}.fleet-connectivity.unknown{color:#776b54}.fleet-incident{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:18px;margin-top:12px;border:1px solid #eed3b6;background:#fff8ed;border-radius:12px}.fleet-incident small{display:block;margin-top:6px;color:#76654e}.out-of-service{display:grid;place-items:center;background:#ece9ee}.out-of-service .welcome-copy{background:transparent;text-align:center}.operations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(380px,100%),1fr));gap:18px}.operations-card{display:flex;flex-direction:column;gap:12px}.operations-card header{display:flex;justify-content:space-between;gap:12px}.operations-card h3{margin:0}.operations-toggles,.operations-hours{display:grid;gap:8px}.operations-hours{grid-template-columns:1fr 1fr;align-items:end}.operations-hours label:nth-child(3),.operations-hours button{grid-column:1 / -1}.operations-hours button{justify-self:start}.operations-hours label,.operations-toggles label{display:flex;gap:8px;align-items:center}.operations-hours label{flex-direction:column;align-items:stretch;font-size:13px;color:var(--muted)}.operations-session{color:var(--muted)}.operations-buttons{display:flex;flex-wrap:wrap;gap:8px}.operations-buttons .danger{color:#b42318}.command-log{list-style:none;padding:0;margin:0;display:grid;gap:4px;font-size:13px}.command-log li{display:grid;grid-template-columns:1fr 1fr auto;gap:8px}.command-state.failed,.command-state.expired{color:#b42318}.command-state.applied{color:#067647}.channel-row{flex-wrap:wrap;margin-bottom:12px}.channel-chip{display:flex;gap:10px;align-items:center;border:1px solid var(--border);border-radius:8px;padding:8px 12px}.payment-codes{display:flex;gap:24px;justify-content:center;flex-wrap:wrap}.payment-codes figure{margin:0;display:grid;gap:8px;justify-items:center;max-width:260px}.payment-codes img,.payment-codes .qr-placeholder{width:240px;height:240px;border-radius:12px;background:#fff}.test-badge{display:inline-block;padding:4px 10px;border-radius:999px;background:#fff3cd;color:#7a5a00;font-size:.85rem}.pay-methods{display:grid;gap:12px;margin-top:16px}.pay-done{display:flex;gap:14px;align-items:center;padding:18px 20px;margin:18px 0;border-radius:12px;background:#e7f7ee;border:2px solid #239365;color:#18734d;font-size:22px;line-height:1.35}.pay-done svg{flex:0 0 auto}.pay-charging{position:fixed;inset:0;z-index:50;display:grid;place-content:center;justify-items:center;gap:16px;padding:24px;text-align:center;background:#ffffffeb;font-size:20px;font-weight:600}.kiosk-header-actions{display:flex;align-items:center;gap:16px}.privacy-link{background:none;border:0;color:inherit;text-decoration:underline;font-size:15px;cursor:pointer}.privacy-modal{max-width:640px;padding:32px}.privacy-modal p{line-height:1.6}.ai-toggle{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:8px 0}.ai-toggle button{padding:10px 22px;border-radius:999px;border:2px solid #d5d9e4;background:#fff;font-weight:600}.ai-toggle button.selected{border-color:var(--blue);color:var(--blue)}.ai-toggle small{flex-basis:100%}.wedding-template{max-width:220px;border-radius:8px;display:block;margin:8px 0}.trend-chart{display:flex;align-items:flex-end;gap:4px;height:180px;padding:8px 0 22px;overflow-x:auto}.trend-col{flex:1 0 14px;height:100%;display:flex;flex-direction:column;justify-content:flex-end;position:relative}.trend-col>div{background:#496ff1;border-radius:3px 3px 0 0;min-height:1px}.trend-col span{position:absolute;bottom:-20px;left:0;right:0;text-align:center;font-size:11px;color:#69708a}.trend-sub{font-size:14px;margin:18px 0 10px}.hour-strip{display:grid;grid-template-columns:repeat(24,1fr);gap:3px}.hour-strip div{display:grid;gap:4px;text-align:center;font-size:10px;color:#69708a}.hour-strip i{height:26px;border-radius:3px;background:#496ff1}.compact-table{width:100%;border-collapse:collapse;font-size:13px}.compact-table td{padding:6px 8px;border-bottom:1px solid #eef0f6;overflow-wrap:anywhere}.compact-table .num{text-align:right;white-space:nowrap}.ok-note{color:#1f8a4c;font-size:14px}.welcome .welcome-voucher{margin-top:18px;font-size:20px}.spacer{flex:1}.muted{color:var(--muted);font-size:13px}.google-login{display:flex;justify-content:center;margin:18px 0 6px}.login-divider{text-align:center;color:var(--muted);font-size:13px;margin:12px 0}.login-fallback{margin-top:22px;border-top:1px solid var(--border);padding-top:14px}.login-fallback summary{cursor:pointer;color:var(--muted);font-size:13px;margin-bottom:14px}.booth-access{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr))}.booth-access .surface{padding:18px}.booth-access h3{margin:0 0 4px}.booth-access ul{list-style:none;padding:0;margin:12px 0;display:grid;gap:8px}.booth-access li,.booth-access .booth-add{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.booth-access li>span{flex:1;min-width:140px;overflow-wrap:anywhere}.booth-access .booth-add select:first-child{flex:1;min-width:160px}.segmented{display:inline-flex;border:1px solid var(--border);border-radius:10px;overflow:hidden}.segmented button{border:0;border-radius:0;background:transparent;padding:8px 14px}.segmented button[aria-pressed=true]{background:var(--blue);color:#fff}.user-branches{display:grid;gap:8px;max-height:280px;overflow:auto}.user-branches label{display:flex!important;align-items:center;gap:10px;margin:0!important}.user-branches label span{flex:1}.mobile-success p{overflow-wrap:anywhere}.paper-modal label.switch-label{display:flex;align-items:center;gap:8px}@media(orientation:landscape),(max-height:1300px){.frame-grid{flex-wrap:nowrap;justify-content:safe center;overflow-x:auto;padding:4px 4px 12px;scroll-snap-type:x proximity}.frame-choice{flex:0 0 clamp(170px,18vw,330px);scroll-snap-align:center}}@media(orientation:landscape)and (max-height:900px){.kiosk{padding:84px 32px 50px}.kiosk-demo{top:64px}.kiosk-page{padding:8px 16px}.kiosk-page>h1,.review-options h1{font-size:clamp(26px,4.2vh,38px);margin:0 0 clamp(12px,2.5vh,36px)}.idle-return{margin:0 auto;padding:4px 14px;font-size:14px}.kiosk .primary{min-height:54px;padding:12px 24px;font-size:18px}.next-button,.confirm-print{margin-top:clamp(10px,2vh,32px)}.service-card>img,.service-card>div{height:calc(100dvh - 330px);min-height:180px}.service-card>span{padding:16px 24px}.quantity-layout{margin:clamp(8px,3vh,50px) auto}.quantity-control{margin:8px 0 16px}.quantity-control strong{font-size:72px}.frame-choice .photo-frame,.frame-choice .custom-frame-preview{width:min(100%,calc((100dvh - 360px) * 2 / 3),290px)!important}.frame-choice{padding:10px 14px}.review-page{min-height:0;gap:40px}.final-preview,.complete-page>div:first-child{height:calc(100dvh - 170px)}.filter-grid{margin:12px 0;max-height:calc(100dvh - 350px)}.complete-page h1{font-size:clamp(34px,6vh,55px);margin-bottom:8px}.download-box{margin:12px 0}.download-box .qr{width:clamp(130px,22vh,210px);height:clamp(130px,22vh,210px)}.finish-session{margin-top:10px}}.frame-choice h3{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}@media(max-width:900px){.sidebar{width:min(290px,85vw);padding:18px 14px;transform:translate(-105%);transition:transform .2s ease;z-index:50;box-shadow:0 0 40px #18213933}.sidebar.open{transform:none}.sidebar-top>.brand{padding:4px 10px 20px}.sidebar nav{gap:2px}.sidebar nav button{padding:12px 13px}.menu-close{display:grid}.menu-backdrop{display:block;position:fixed;inset:0;background:#18213966;z-index:40}.menu-button{display:grid;flex-shrink:0}.admin-header>div:not(.header-actions){flex:1;min-width:0}.admin-header .breadcrumb{display:none}.admin-main{margin-left:0;width:100%;padding:14px 14px 24px}}@media(max-width:750px){.admin-main table,.admin-main tbody,.admin-main tr,.admin-main td{display:block;width:100%}.admin-main thead{display:none}.admin-main tbody tr{padding:10px 14px;border-bottom:1px solid #e7ebf3}.admin-main td{display:grid;grid-template-columns:36% minmax(0,1fr);column-gap:14px;align-items:start;padding:6px 0;border:0;text-align:right;overflow-wrap:anywhere}.admin-main td>*{grid-column:2;min-width:0;justify-self:end}.admin-main td[data-label]:before{content:attr(data-label);grid-column:1;grid-row:1 / span 20;text-align:left;color:var(--muted);font-size:12px}.admin-main td[data-label=""]:before,.admin-main td:not([data-label]):before{content:none}.admin-main td[data-label=""],.admin-main td:not([data-label]),.admin-main td[colspan]{grid-template-columns:minmax(0,1fr);text-align:left}.admin-main td[data-label=""]>*,.admin-main td:not([data-label])>*,.admin-main td[colspan]>*{grid-column:1;justify-self:start}.admin-main td small{margin-top:2px}}@media(max-width:750px){.operations-hours{grid-template-columns:1fr 1fr}.operations-hours label:nth-child(3),.operations-hours button{grid-column:1 / -1}.operations-card header,.fleet-incident{flex-wrap:wrap}.fleet-incident{padding:14px;gap:10px}.inline-actions input{flex:1;min-width:0}.operations-hours input{min-width:0;width:100%}}.branch-actions{display:flex;justify-content:flex-end;margin-bottom:14px}.frame-choice .photo-frame,.frame-choice .custom-frame-preview{position:relative}.slot-cell{position:relative;min-height:0;min-width:0}.slot-cell img{display:block}.slot-number{position:absolute;left:6%;top:8%;min-width:1.9em;height:1.9em;padding:0 .3em;display:grid;place-items:center;border-radius:999px;background:#182139d9;color:#fff;font-size:clamp(12px,1.6vh,18px);font-weight:700;font-style:normal;line-height:1;box-shadow:0 0 0 2px #fff;pointer-events:none;z-index:2}.cut-line{position:absolute;top:0;bottom:0;left:50%;border-left:2px dashed #e65291;pointer-events:none;z-index:3}.kiosk-starting{position:absolute;inset:0;z-index:40;display:grid;place-content:center;justify-items:center;gap:12px;background:#fffffff2;font-size:22px;color:#394b80}.filter-options{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px}.filter-options label{padding:8px;font-size:13px}.filter-options img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:6px;margin-bottom:8px;background:#eef1f7}.operations-list{display:grid;gap:12px}.operations-list>.operations-card{padding:0;margin:0;display:block}.operations-card>summary{list-style:none;cursor:pointer;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;padding:16px 20px}.operations-card>summary::-webkit-details-marker{display:none}.operations-card>summary:after{content:"";width:9px;height:9px;border-right:2px solid #7a849b;border-bottom:2px solid #7a849b;transform:rotate(45deg);margin-left:auto;flex-shrink:0;transition:transform .15s}.operations-card[open]>summary:after{transform:rotate(-135deg)}.operations-title{min-width:0}.operations-title h3{margin:0 0 2px}.operations-title small{color:var(--muted)}.operations-chips{display:flex;flex-wrap:wrap;gap:6px}.chip{display:inline-block;padding:3px 10px;border-radius:999px;background:#eef1f7;font-size:13px;font-weight:500;white-space:nowrap}.chip.fleet-connectivity.online{background:#e3f5ec}.chip.fleet-connectivity.offline{background:#fde8ea}.chip.warn{background:#fff1dc;color:#8a5300}.chip.info{background:#e6edff;color:#2742a8}.operations-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 32px;padding:4px 20px 20px;border-top:1px solid var(--border)}.operations-column{display:flex;flex-direction:column;gap:12px;min-width:0}.operations-column h4{margin:12px 0 0;font-size:14px;color:var(--muted);font-weight:600}.operations-toggles label span small{display:block;color:var(--muted);font-size:12px}.operations-toggles label{align-items:flex-start}.operations-toggles label input{margin-top:4px}@media(max-width:900px){.operations-body{grid-template-columns:minmax(0,1fr);gap:8px;padding:4px 14px 16px}.operations-card>summary{padding:14px}}.test-picker .test-branch{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:14px 0;border-bottom:1px solid var(--border)}.test-picker .test-branch>div{flex:1 1 200px;display:grid}.test-bench{height:100vh;display:grid;grid-template-rows:auto 1fr;background:#1c2233}.test-toolbar{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;padding:8px 16px;background:#fff;font-size:14px}.test-toolbar button,.test-toolbar a.secondary,.test-toolbar select{padding:6px 12px;min-height:0;font-size:14px}.test-toolbar a.secondary{border:1px solid var(--border);border-radius:8px;text-decoration:none;color:inherit}.test-badge{padding:3px 10px;border-radius:999px;background:#fff3cd;color:#7a5200}.test-segment{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.test-segment a{padding:6px 12px;color:inherit;text-decoration:none}.test-segment a[aria-current=page]{background:var(--blue);color:#fff}.test-status{margin-left:auto}.test-stage{min-height:0;padding:16px;display:grid;place-items:center;overflow:hidden}.test-screen{overflow:hidden;background:#fff;box-shadow:0 10px 40px #0006}.test-screen iframe{border:0;display:block}
