@font-face{font-family:PB Warnjai Bold;src:local("PB Warnjai Bold"),url(/assets/PBWarnjaiBold-B2fmoAjk.ttf) format("truetype"),url(/fonts/PBWarnjaiBold.ttf) format("truetype"),url(/PBWarnjaiBold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}.simple-splash-container{width:100vw;height:100vh;overflow:hidden;position:relative;background:#000;display:flex;flex-direction:column;justify-content:center;align-items:center;font-family:PB Warnjai Bold,Noto Sans Lao,Segoe UI,sans-serif}.simple-logo-container{position:relative;margin-bottom:60px;display:flex;flex-direction:column;align-items:center}.simple-logo-image{width:120px;height:120px;border-radius:24px;object-fit:contain;filter:drop-shadow(0 0 20px rgba(225,142,12,.5));margin-bottom:20px;animation:simple-logo-glow 3s ease-in-out infinite}@keyframes simple-logo-glow{0%,to{filter:drop-shadow(0 0 20px rgba(225,142,12,.5));transform:scale(1)}50%{filter:drop-shadow(0 0 30px rgba(225,142,12,.8));transform:scale(1.03)}}.simple-app-title{font-family:PB Warnjai Bold,Noto Sans Lao,sans-serif;font-size:32px;font-weight:700;color:#e18e0c;letter-spacing:1px;margin-bottom:8px;text-align:center;text-shadow:0 2px 10px rgba(225,142,12,.3)}.simple-app-subtitle{font-family:PB Warnjai Bold,Noto Sans Lao,sans-serif;font-size:14px;color:#888;font-weight:500;letter-spacing:3px;text-transform:uppercase;text-align:center}.simple-loading-circle{position:relative;width:200px;height:200px;margin:30px 0}.simple-circle-outer{position:absolute;width:100%;height:100%;border-radius:50%;border:2px solid rgba(225,142,12,.1);display:flex;justify-content:center;align-items:center}.simple-circle-inner{position:absolute;width:80%;height:80%;border-radius:50%;border:2px solid rgba(225,142,12,.2)}.simple-circle-progress{position:absolute;width:100%;height:100%;border-radius:50%;border:3px solid transparent;border-top:3px solid #E18E0C;border-right:3px solid rgba(225,142,12,.7);animation:simple-spin 1.5s linear infinite}@keyframes simple-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.simple-progress-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:PB Warnjai Bold,Noto Sans Lao,sans-serif;font-size:36px;font-weight:700;color:#e18e0c;text-shadow:0 0 10px rgba(225,142,12,.3)}.simple-percent{font-family:PB Warnjai Bold,Noto Sans Lao,sans-serif;font-size:16px;color:#888;margin-left:2px}.simple-loading-dots{display:flex;justify-content:center;gap:8px;margin-top:20px}.simple-dot{width:8px;height:8px;background:#e18e0c;border-radius:50%;opacity:.3}.simple-status-text{margin-top:25px;font-family:PB Warnjai Bold,Noto Sans Lao,sans-serif;font-size:14px;color:#888;text-align:center;min-height:20px}.simple-footer{position:absolute;bottom:30px;width:100%;text-align:center}.simple-version{font-family:PB Warnjai Bold,Noto Sans Lao,sans-serif;font-size:12px;color:#555;letter-spacing:1px}.simple-powerby{font-family:PB Warnjai Bold,Noto Sans Lao,sans-serif;font-size:11px;color:#444;margin-top:5px}.simple-skip-button{position:absolute;top:30px;right:30px;padding:10px 20px;background:#1e1e1ecc;border:1px solid rgba(225,142,12,.3);color:#e18e0c;border-radius:20px;cursor:pointer;font-family:PB Warnjai Bold,Noto Sans Lao,sans-serif;font-size:13px;font-weight:500;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease;z-index:100}.simple-skip-button:hover{background:#e18e0c1a;border-color:#e18e0c99;transform:translateY(-2px);box-shadow:0 5px 15px #0003}.simple-completion-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000;display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:1000}.simple-completion-check{width:100px;height:100px;background:#e18e0c;border-radius:50%;display:flex;justify-content:center;align-items:center;font-size:48px;font-weight:700;color:#000;margin-bottom:20px;animation:simple-check-pop .6s ease-out}@keyframes simple-check-pop{0%{transform:scale(0)}70%{transform:scale(1.1)}to{transform:scale(1)}}.simple-completion-text{font-family:PB Warnjai Bold,Noto Sans Lao,sans-serif;font-size:24px;font-weight:600;color:#e18e0c;text-align:center}@media (max-width: 768px){.simple-logo-image{width:100px;height:100px}.simple-app-title{font-size:28px}.simple-loading-circle{width:180px;height:180px}.simple-progress-text{font-size:32px}.simple-skip-button{top:25px;right:25px;padding:8px 16px;font-size:12px}}@media (max-width: 480px){.simple-logo-image{width:80px;height:80px;border-radius:20px}.simple-app-title{font-size:24px}.simple-app-subtitle{font-size:12px;letter-spacing:2px}.simple-loading-circle{width:160px;height:160px}.simple-circle-progress{border-width:2px}.simple-progress-text{font-size:28px}.simple-percent{font-size:14px}.simple-skip-button{top:20px;right:20px;padding:6px 14px;font-size:11px}.simple-status-text{font-size:12px}.simple-version{font-size:11px}.simple-powerby{font-size:10px}}@supports not (font-family: "PB Warnjai Bold"){.simple-app-title,.simple-app-subtitle,.simple-skip-button,.simple-progress-text,.simple-status-text,.simple-version,.simple-powerby,.simple-completion-text{font-family:Noto Sans Lao,Segoe UI,DejaVu Sans,Arial Unicode MS,sans-serif}}.simple-status-text{transition:opacity .3s ease}.simple-logo-container:hover .simple-logo-image{animation:simple-logo-glow 1s ease-in-out infinite}body,html{margin:0;padding:0;font-family:Segoe UI,Arial,sans-serif;background:linear-gradient(135deg,#0c0c0c,#1a1a1a);color:#fff;height:100vh;width:100vw;display:flex;justify-content:center;align-items:center;overflow:hidden}.container{display:flex;width:90vw;height:90vh;box-shadow:0 8px 30px #000c;border-radius:16px;overflow:hidden;background:#111;position:relative;transform-origin:center center;transform:scale(calc(min(100vw,1400px) / 900));max-width:90vw;max-height:90vh}.left-panel{width:50%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:linear-gradient(145deg,#141414,#202020);padding:30px;box-sizing:border-box}.right-panel{width:50%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(145deg,#141414,#202020);padding:30px;box-sizing:border-box;overflow-y:auto;overflow-x:hidden;transform:scale(1.05);transform-origin:center center}.time-display{font-size:13px;color:#aaa;margin-bottom:25px;font-weight:300;position:absolute;top:15px;width:90%;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.5)}.logo-container{position:relative;height:50px;width:50px;margin-bottom:5px;display:flex;align-items:center;justify-content:center}.logo-image{height:180px;width:180px;object-fit:contain;display:block;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.app-title{color:#f4a261;font-size:30px;margin:12px 0 18px;font-weight:700;text-shadow:1px 1px 4px rgba(0,0,0,.4);line-height:1.2}.app-subtitle{color:#aaa;font-size:13px;margin-bottom:25px;text-shadow:0 1px 2px rgba(0,0,0,.3)}.app-description{margin-top:25px;color:#ccc;font-size:13px;line-height:1.4;width:85%;text-shadow:0 1px 1px rgba(0,0,0,.2)}.app-description p{margin:8px 0}.login-container{display:flex;flex-direction:column;align-items:center;width:100%;height:100%;justify-content:center;max-width:320px;transform:scale(1.05)}.login-title{color:#f4a261;font-size:22px;margin-bottom:20px;font-weight:600;text-align:center;text-shadow:0 1px 3px rgba(0,0,0,.3)}.pin-display-container{width:100%;display:flex;flex-direction:column;align-items:center;margin-bottom:20px}.input-box{width:190px;padding:10px;text-align:center;font-size:16px;background-color:#1e1e1e;border:1px solid rgba(255,255,255,.15);color:#fff;border-radius:8px;margin-bottom:12px;letter-spacing:3px;font-weight:700;transition:all .3s ease;box-sizing:border-box;box-shadow:inset 0 1px 3px #0006}.input-box:focus{outline:none;border-color:#f4a261;box-shadow:0 0 0 2px #f4a26133,inset 0 1px 3px #0006}.pin-dots{display:flex;gap:6px;margin-top:8px;justify-content:center}.pin-dot{width:8px;height:8px;border-radius:50%;background-color:#252525;border:1px solid rgba(255,255,255,.15);transition:all .3s ease}.pin-dot.filled{background-color:#f4a261;border-color:#f4a261;transform:scale(1.1);box-shadow:0 0 6px #f4a26166}.keypad-container{display:flex;flex-direction:column;align-items:center;width:100%}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-bottom:15px;width:100%;max-width:180px}.keypad-button{width:55px;height:55px;font-size:20px;background:linear-gradient(145deg,#2d2d2d,#363636);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600;transition:all .2s ease;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 5px #0000004d,inset 0 1px #ffffff1a}.keypad-button:hover{background:linear-gradient(145deg,#363636,#3f3f3f);transform:translateY(-2px);box-shadow:0 4px 10px #0006,inset 0 1px #ffffff26}.keypad-button:active{transform:translateY(0);box-shadow:0 1px 3px #0000004d,inset 0 1px #ffffff0d}.keypad-button.backspace{background:linear-gradient(145deg,#3d3d3d,#464646);font-size:22px}.keypad-button.clear{background:linear-gradient(145deg,#e76f51,#f4a261);box-shadow:0 2px 5px #e76f514d,inset 0 1px #ffffff1a}.keypad-button.clear:hover{background:linear-gradient(145deg,#f4a261,#e76f51);box-shadow:0 4px 10px #e76f5166,inset 0 1px #ffffff26}.enter-button{width:160px;height:45px;font-size:14px;background:linear-gradient(145deg,#f4a261,#e76f51);color:#fff;border:none;border-radius:22px;cursor:pointer;font-weight:600;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .3s ease;margin:12px 0;box-shadow:0 3px 8px #f4a2614d,inset 0 1px #fff3}.enter-button:hover:not(:disabled){background:linear-gradient(145deg,#e76f51,#f4a261);transform:translateY(-2px);box-shadow:0 5px 15px #f4a26166,inset 0 1px #ffffff40}.enter-button:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 5px #f4a2614d,inset 0 1px #ffffff26}.enter-button:disabled{background:linear-gradient(145deg,#444,#555);opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:none}.help-text{color:#aaa;font-size:10px;margin-top:12px;text-align:center;width:100%;line-height:1.3;padding:0 12px;text-shadow:0 1px 1px rgba(0,0,0,.2)}@media (max-width: 768px){.container{flex-direction:column;width:300px;height:600px;transform:scale(.9)}.left-panel{height:35%;padding:20px}.right-panel{height:65%;padding:15px;transform:scale(.9)}.keypad-button{width:50px;height:50px;font-size:18px}.grid{max-width:165px;gap:5px}.login-container{transform:scale(1)}}@media (min-width: 769px) and (max-width: 1200px){.container{width:750px;height:480px;transform:scale(.95)}.keypad-button{width:53px;height:53px;font-size:19px}.grid{max-width:175px;gap:5px}.right-panel{transform:scale(1.02)}}@media (min-width: 1201px) and (max-width: 1600px){.right-panel{transform:scale(1.07)}.keypad-button{width:57px;height:57px;font-size:21px}.grid{max-width:190px}}@media (min-width: 1601px){.right-panel{transform:scale(1.1)}.keypad-button{width:60px;height:60px;font-size:22px}.grid{max-width:200px}}.right-panel::-webkit-scrollbar{width:5px}.right-panel::-webkit-scrollbar-track{background:#ffffff0d;border-radius:2px}.right-panel::-webkit-scrollbar-thumb{background:linear-gradient(to bottom,#f4a26199,#e76f5199);border-radius:2px}.right-panel::-webkit-scrollbar-thumb:hover{background:linear-gradient(to bottom,#f4a261cc,#e76f51cc)}@media (hover: none) and (pointer: coarse){.keypad-button,.enter-button{min-height:44px;min-width:44px}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(4px)}}.input-box.shake-error{border-color:#e76f51!important;background-color:#e76f511a!important;animation:shake .4s cubic-bezier(.36,.07,.19,.97) both}.container,.left-panel,.right-panel,.logo-image,.app-title,.keypad-button,.input-box,.enter-button{transition:all .3s ease}.header{display:flex;justify-content:space-between;align-items:center;padding:10px;background-color:#303030;position:fixed;top:0;left:0;right:0;z-index:100;height:3vh;width:100%}.header .user-info{font-size:12px;font-weight:400}.table-grid{display:flex;flex-wrap:wrap;gap:0;position:fixed;top:14vh;left:0;width:100%;height:88vh;overflow-y:auto;background-color:#303030;align-content:flex-start}.table-item{margin:0;padding:10px 0;background-color:#f0f0f0;border:1px solid #303030;cursor:pointer;width:12.5%;border-radius:2px;height:80px;text-align:center;display:flex;align-items:center;justify-content:center;font-size:1.2vw}@media (max-width: 1024px){.table-item{width:12.5%;font-size:1.5vw}}@media (min-width: 1366px){.table-item{width:12.5%;height:90px;font-size:1.8vw}}@media (min-width: 1600px){.table-item{width:10%;height:90px}}@media (min-width: 1920px){.table-item{width:calc(100% / 12);height:80px}}@media (min-width: 2048px){.table-item{width:5%;height:40px}}.table-grid.too-many-tables .table-item{width:calc(100% / 15);height:40px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal-content{background:linear-gradient(135deg,#1a1a2e,#16213e);border-radius:16px;width:90%;max-width:400px;border:1px solid rgba(255,255,255,.1);box-shadow:0 20px 60px #00000080;overflow:hidden}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid rgba(255,255,255,.1);background:#0003}.modal-header h3{margin:0;font-size:18px;color:#ffa726;font-weight:600}.modal-close{background:none;border:none;color:#888;font-size:28px;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s ease}.modal-close:hover{background:#ffa7261a;color:#ffa726}.modal-body{padding:24px;text-align:center}.warning-icon{font-size:48px;margin-bottom:16px;animation:pulse 1.5s infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}.modal-message{font-size:16px;color:#fff;margin-bottom:20px;line-height:1.5}.device-info{background:#0000004d;border-radius:12px;padding:16px;margin-bottom:20px;border:1px solid rgba(255,255,255,.05);text-align:left}.info-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.info-row:last-child{margin-bottom:0}.info-label{color:#888;font-size:14px;min-width:80px}.info-value{color:#e18e0c;font-weight:500;font-size:14px;text-align:right;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.warning-box{background:#ffa7261a;border-radius:8px;padding:16px;margin-bottom:24px;border-left:4px solid #FFA726}.warning-text{color:#ffa726;font-size:14px;margin:0;line-height:1.5}.action-buttons{display:flex;gap:12px}.action-btn{flex:1;padding:14px;border:none;border-radius:10px;font-size:15px;font-weight:500;cursor:pointer;transition:all .3s ease}.btn-cancel{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2)}.btn-cancel:hover{background:#fff3;transform:translateY(-2px)}.btn-force{background:linear-gradient(135deg,#e18e0c,#ffa726);color:#000;font-weight:600}.btn-force:hover{transform:translateY(-2px);box-shadow:0 8px 20px #e18e0c4d}.table-item{position:relative}.table-status-badge{position:absolute;top:8px;right:8px;background:#ef4444e6;color:#fff;font-size:10px;padding:2px 6px;border-radius:10px;font-weight:600}.loading-text{color:#fff;text-align:center;width:100%;font-size:18px;grid-column:1 / -1}.spinner{border:4px solid #f3f3f3;border-top:4px solid #3498db;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin:20px auto}.status-legend{display:flex;gap:15px;margin-left:auto}.legend-item{display:flex;align-items:center;gap:5px;font-size:14px}.legend-dot{width:12px;height:12px;border-radius:50%}.legend-dot.available{background-color:#4caf50}.legend-dot.occupied{background-color:#f44336}.empty-state{text-align:center;padding:40px;grid-column:1 / -1}.refresh-btn{margin-top:15px;padding:8px 20px;background-color:#2196f3;color:#fff;border:none;border-radius:4px;cursor:pointer}.refresh-btn:hover{background-color:#1976d2}.session-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:10000;padding:5px}.session-modal-container{background:#1e1e1e;border-radius:8px;width:100%;max-width:380px;max-height:65vh;overflow:hidden;border:1px solid #444;box-shadow:0 4px 20px #00000080}.session-modal-container.extra-compact{max-width:350px;max-height:60vh}.session-modal-header{padding:10px 14px;background:#2a2a2a;border-bottom:1px solid #444;display:flex;justify-content:space-between;align-items:center}.session-modal-title{display:flex;align-items:center;gap:8px}.session-modal-title h3{color:#fff;font-size:14px;margin:0 0 2px;font-weight:600}.subtitle{color:#aaa;font-size:10px;margin:0}.title-icon{font-size:18px;color:#ff6b6b}.session-modal-close{background:#444;border:none;color:#fff;width:24px;height:24px;border-radius:50%;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}.session-modal-close:hover:not(:disabled){background:#666}.session-modal-close:disabled{opacity:.5;cursor:not-allowed}.table-info-section{padding:8px 14px;background:#252525}.table-info-badge{display:flex;align-items:center;gap:8px;background:#333;padding:8px 12px;border-radius:6px;border-left:2px solid #ff6b6b}.table-icon{font-size:18px}.table-details h4{color:#fff;margin:0;font-size:13px}.status-indicator{margin-left:auto;padding:2px 6px;border-radius:8px;font-size:9px;font-weight:600;display:flex;align-items:center;gap:4px;background:#ff6b6b1a;color:#ff6b6b;border:1px solid rgba(255,107,107,.3);white-space:nowrap}.status-dot{width:4px;height:4px;border-radius:50%;background:#ff6b6b}.warning-message.small{padding:6px 14px;background:#ffc1071a;border-left:2px solid #ffc107;margin:4px 14px;border-radius:4px;display:flex;gap:6px;align-items:flex-start;font-size:11px;line-height:1.2}.warning-icon{font-size:12px;color:#ffc107;flex-shrink:0;margin-top:1px}.warning-text-small{color:#ffd54f;margin:0;font-size:11px;line-height:1.3}.sessions-section{padding:0 14px 10px;flex:1;min-height:0}.section-header h5{color:#fff;font-size:12px;margin:0 0 8px;font-weight:600;display:flex;align-items:center;gap:4px}.no-sessions.small{text-align:center;padding:15px 14px;background:#2a2a2a;border-radius:4px;border:1px dashed #444}.no-sessions-icon{font-size:20px;color:#666;margin-bottom:6px}.no-sessions p{color:#888;font-size:12px;margin:0}.sessions-list.extra-compact{max-height:160px;overflow-y:auto;display:flex;flex-direction:column;gap:6px;padding-right:3px}.sessions-list.extra-compact::-webkit-scrollbar{width:4px}.sessions-list.extra-compact::-webkit-scrollbar-track{background:#2a2a2a;border-radius:2px}.sessions-list.extra-compact::-webkit-scrollbar-thumb{background:#555;border-radius:2px}.session-item.extra-compact{background:#2a2a2a;border:1px solid #444;border-radius:5px;padding:8px;cursor:pointer;transition:all .2s ease;display:flex;gap:8px;align-items:flex-start}.session-item.extra-compact:hover{background:#333;border-color:#555}.session-item.extra-compact.selected{background:#2196f31a;border-color:#2196f3;box-shadow:0 0 0 1px #2196f333}.session-selector{padding-top:4px}.session-radio{width:14px;height:14px;border:1px solid #666;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:8px;color:#fff;transition:all .2s ease}.session-radio.checked{background:#2196f3;border-color:#2196f3}.user-info{display:flex;align-items:center;gap:6px;margin-bottom:6px}.user-avatar.small{width:26px;height:26px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:11px;flex-shrink:0}.user-name-small{color:#fff;margin:0 0 1px;font-size:11px;font-weight:600}.user-id-small{color:#aaa;font-size:9px;margin:0;font-family:monospace}.session-details.extra-compact{background:#252525;padding:6px;border-radius:4px;display:grid;grid-template-columns:repeat(3,1fr);gap:4px;font-size:9px}.detail-row{display:flex;flex-direction:column;gap:1px}.detail-label-small{color:#888;font-weight:500;font-size:8px;text-transform:uppercase}.detail-value-small{color:#ddd;display:flex;align-items:center;gap:3px;word-break:break-word;font-size:9px}.modal-actions.extra-compact{padding:10px 14px;border-top:1px solid #444;background:#252525}.action-buttons.extra-compact{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.action-btn.extra-small{padding:6px 8px;border:none;border-radius:4px;font-size:10px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:4px;transition:all .2s ease;min-height:28px}.action-btn.extra-small:hover:not(.disabled):not(:disabled){transform:translateY(-1px)}.action-btn.extra-small:active:not(.disabled):not(:disabled){transform:translateY(0)}.kick-out-btn.extra-small{background:linear-gradient(135deg,#ff5252,#ff1744);color:#fff;border:1px solid rgba(255,82,82,.3)}.kick-out-btn.extra-small:hover:not(.disabled){background:linear-gradient(135deg,#f44,#f03)}.kick-out-btn.extra-small.disabled{opacity:.5;cursor:not-allowed}.force-enter-btn.extra-small{background:linear-gradient(135deg,#ff9800,#f57c00);color:#fff;border:1px solid rgba(255,152,0,.3)}.force-enter-btn.extra-small:hover:not(:disabled){background:linear-gradient(135deg,#f57c00,#ef6c00)}.select-other-btn.extra-small{background:linear-gradient(135deg,#4caf50,#2e7d32);color:#fff;border:1px solid rgba(76,175,80,.3)}.select-other-btn.extra-small:hover:not(:disabled){background:linear-gradient(135deg,#43a047,#1b5e20)}.cancel-btn.extra-small{background:#444;color:#fff;border:1px solid #555}.cancel-btn.extra-small:hover:not(:disabled){background:#555}.btn-icon{font-size:10px}.loading-spinner.extra-small{width:12px;height:12px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}@media (max-width: 480px){.session-modal-container.extra-compact{max-width:92%;max-height:70vh}.session-modal-header,.table-info-section,.warning-message.small,.sessions-section,.modal-actions.extra-compact{padding:8px 12px}.warning-message.small{margin:4px 12px}.session-modal-title h3{font-size:13px}.subtitle{font-size:9px}.action-buttons.extra-compact{grid-template-columns:1fr;gap:5px}.action-btn.extra-small{padding:5px 7px;font-size:9px;min-height:26px}.session-details.extra-compact{grid-template-columns:repeat(2,1fr);font-size:8px}.sessions-list.extra-compact{max-height:140px}.warning-text-small{font-size:10px}}@media (max-width: 350px){.session-details.extra-compact{grid-template-columns:1fr}.table-info-badge{flex-wrap:wrap}.status-indicator{margin-left:0;margin-top:4px;width:100%;justify-content:center;font-size:8px}.action-btn.extra-small{font-size:8px;padding:4px 6px}.btn-icon{font-size:9px}.session-modal-container.extra-compact{max-width:95%;max-height:75vh}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:9999;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fadeIn .2s ease-out}.modal-container{background:linear-gradient(135deg,#141414f2,#0a0a0afa);padding:20px;border-radius:12px;width:340px;box-shadow:0 6px 24px #0006,0 0 0 1px #ffffff0d;position:relative;overflow:hidden;animation:modalSlideIn .25s cubic-bezier(.34,1.56,.64,1);border:1px solid rgba(255,255,255,.08)}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-15px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-container:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:#ff4d4d}.close-btn{position:absolute;top:8px;right:8px;background:#ffffff12;border:none;width:22px;height:22px;border-radius:5px;color:#888;font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;z-index:1}.close-btn:hover{background:#ff4d4d33;color:#ff4d4d;transform:rotate(90deg)}.modal-header{text-align:center;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.08)}.warning-icon{font-size:1.3rem;color:#ff4d4d;margin-bottom:3px;display:inline-block}.modal-title{color:#fff;font-size:1.1rem;font-weight:600;display:inline-block;margin:0 0 0 5px}.info-row-single{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding:10px;background:#ffffff08;border-radius:8px;border:1px solid rgba(255,255,255,.05)}.info-item-single{display:flex;flex-direction:column;align-items:center;text-align:center;flex:1;padding:0 4px}.info-label-single{color:#888;font-size:.65rem;font-weight:500;text-transform:uppercase;letter-spacing:.3px;margin-bottom:2px;white-space:nowrap}.info-value-single{color:#fff;font-size:.9rem;font-weight:600;white-space:nowrap}.highlight{color:#ff4d4d;font-weight:700}.info-item-single:not(:last-child):after{content:"";position:absolute;right:0;top:25%;height:50%;width:1px;background:#ffffff1a}.info-item-single{position:relative}.textarea-container{margin-bottom:14px}.textarea-label{display:flex;justify-content:space-between;align-items:center;color:#ddd;font-size:.75rem;font-weight:500;margin-bottom:5px}.char-counter{color:#666;font-size:.65rem;font-weight:400}.void-textarea{width:94%;min-height:65px;max-height:85px;padding:8px 10px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#fff;font-size:.8rem;font-family:inherit;resize:vertical;transition:all .15s ease;line-height:1.4}.void-textarea:focus{outline:none;border-color:#ff4d4d;background:#ffffff12;box-shadow:0 0 0 2px #ff4d4d1a}.void-textarea::placeholder{color:#666;font-size:.75rem}.modal-buttons{display:flex;gap:8px;margin-top:18px}.cancel-btn{flex:1;padding:9px;background:#ffffff12;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#aaa;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .15s ease}.cancel-btn:hover:not(:disabled){background:#ffffff1f;color:#fff;border-color:#fff3}.confirm-btn{flex:1;padding:9px;background:linear-gradient(135deg,#ff4d4d,#f33);border:none;border-radius:6px;color:#fff;font-size:.8rem;font-weight:700;cursor:pointer;transition:all .15s ease;box-shadow:0 2px 10px #ff4d4d40}.confirm-btn:hover:not(:disabled){background:linear-gradient(135deg,#f33,#ff1a1a);transform:translateY(-1px);box-shadow:0 3px 12px #ff4d4d59}.confirm-btn:active:not(:disabled){transform:translateY(0)}.cancel-btn:disabled,.confirm-btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:none!important}.loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000d9;display:flex;flex-direction:column;justify-content:center;align-items:center;border-radius:12px;z-index:10}.loading-spinner{width:28px;height:28px;border:2px solid rgba(255,255,255,.1);border-top:2px solid #ff4d4d;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:8px}.loading-text{color:#fff;font-size:.75rem;font-weight:500}.warning-note{margin-top:12px;padding:6px;background:#ff4d4d12;border:1px solid rgba(255,77,77,.15);border-radius:5px;text-align:center}.warning-note p{color:#ff8a8a;font-size:.65rem;margin:0;line-height:1.3}.void-textarea::-webkit-scrollbar{width:3px}.void-textarea::-webkit-scrollbar-track{background:#ffffff08}.void-textarea::-webkit-scrollbar-thumb{background:#ff4d4d4d;border-radius:1.5px}@media (max-width: 380px){.modal-container{width:92%;padding:16px;margin:0 10px}.info-row-single{padding:8px}.info-label-single{font-size:.6rem}.info-value-single{font-size:.85rem}}@font-face{font-family:PB Warnjai Bold;src:url(/fonts/PB_Warnjai_Bold.ttf) format("truetype"),url(/fonts/PBWarnjaiBold.woff) format("woff"),url(/fonts/PBWarnjaiBold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}*{font-family:PB Warnjai Bold,Noto Sans Lao,Phetsarath OT,Saysettha OT,sans-serif}.discount-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.discount-modal-container{width:580px;height:560px;background:linear-gradient(145deg,#2c2f36,#1e2026);color:#fff;padding:20px;border-radius:16px;display:flex;flex-direction:column;box-shadow:0 12px 35px #0009,0 0 0 1px #ff98001a,inset 0 1px #ffffff1a;border:1px solid rgba(255,152,0,.15);animation:slideUp .4s cubic-bezier(.175,.885,.32,1.275);position:relative;overflow:hidden;font-family:PB Warnjai Bold,Noto Sans Lao,sans-serif}.discount-modal-container:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#ff9800,#ff5722);border-radius:16px 16px 0 0}@keyframes slideUp{0%{opacity:0;transform:translateY(25px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.discount-modal-header{text-align:center;margin-bottom:15px;position:relative;padding-bottom:10px}.discount-modal-header:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:70px;height:2px;background:linear-gradient(90deg,transparent,#FF9800,transparent);border-radius:2px}.discount-title{font-size:22px;font-weight:700;background:linear-gradient(90deg,#ff9800,#ffd180);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:5px;font-family:PB Warnjai Bold,sans-serif;line-height:1.1}.discount-info{font-size:11px;color:#b0b7c3;background:#ff98001a;padding:6px 12px;border-radius:6px;display:inline-block;border:1px solid rgba(255,152,0,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-family:PB Warnjai Bold,sans-serif;line-height:1.3}.discount-modal-content{display:flex;justify-content:space-between;gap:20px;margin:10px 0;flex-grow:1}.discount-left-section{width:48%;background:#1e2026cc;border-radius:10px;padding:16px;border:1px solid rgba(255,255,255,.1);box-shadow:inset 0 2px 6px #0000004d;font-family:PB Warnjai Bold,sans-serif}.discount-label{font-size:11px;font-weight:700;color:#ffd180;margin-bottom:6px;display:block;font-family:PB Warnjai Bold,sans-serif;text-transform:none;letter-spacing:.3px}.discount-radio-group{display:flex;gap:12px;margin-bottom:16px;background:#ff98000d;padding:10px;border-radius:6px;border:1px solid rgba(255,152,0,.1)}.discount-radio-group label{display:flex;align-items:center;font-size:11px;color:#e0e0e0;cursor:pointer;padding:6px 10px;border-radius:5px;transition:all .3s ease;flex:1;justify-content:center;font-family:PB Warnjai Bold,sans-serif;line-height:1.3;position:relative}.discount-radio-group label:hover{background:#ff98001a}.discount-radio-group input[type=radio]{display:none}.discount-radio-group label:before{content:"";width:16px;height:16px;border:2px solid #FF9800;border-radius:50%;margin-right:6px;transition:all .3s ease;background:transparent;box-sizing:border-box}.discount-radio-group label:after{content:"";position:absolute;left:15px;width:8px;height:8px;border-radius:50%;background:#ff9800;transform:scale(0);transition:transform .3s ease;box-shadow:0 0 5px #ff980080}.discount-radio-group input[type=radio]:checked+span{color:#ff9800;font-weight:700}.discount-radio-group input[type=radio]:checked+span:before{border-color:#ff9800;background:#ff98001a}.discount-radio-group input[type=radio]:checked+span:after{transform:scale(1)}.radio-label{font-family:PB Warnjai Bold,sans-serif;font-size:11px;line-height:1.3}.discount-select,.discount-input-field,.discount-major-select{width:95%;padding:10px 12px;border-radius:6px;border:1px solid rgba(255,255,255,.1);background:#282b33cc;color:#fff;font-size:12px;margin-bottom:12px;transition:all .3s ease;box-shadow:inset 0 2px 3px #0003;font-family:PB Warnjai Bold,sans-serif;line-height:1.3;margin-left:auto;margin-right:auto;display:block}.discount-select:focus,.discount-input-field:focus,.discount-major-select:focus{outline:none;border-color:#ff9800;box-shadow:0 0 0 1px #ff980033,inset 0 2px 3px #0000004d;transform:translateY(-1px)}.discount-input-field::placeholder{color:#aaa;font-family:PB Warnjai Bold,sans-serif;font-size:11px}.discount-major-select option{font-family:PB Warnjai Bold,sans-serif;padding:6px;font-size:12px}.discount-options-container{display:grid;gap:6px;margin-top:12px}.discount-percentage-options{grid-template-columns:repeat(6,1fr);width:100%;max-width:330px;margin:0 auto}.discount-fixed-options{grid-template-columns:repeat(3,1fr);width:100%;max-width:300px;margin:0 auto}.discount-option-btn{height:34px;background:linear-gradient(145deg,#3a3f47,#2c2f36);color:#fff;border:1px solid rgba(255,255,255,.1);cursor:pointer;border-radius:6px;font-size:11px;font-weight:700;transition:all .3s ease;position:relative;overflow:hidden;font-family:PB Warnjai Bold,sans-serif;display:flex;align-items:center;justify-content:center;line-height:1.1}.discount-option-btn:hover{transform:translateY(-2px);border-color:#ff9800;box-shadow:0 3px 8px #ff98004d}.discount-percentage-options .discount-option-btn{width:40px;height:32px;font-size:10px;padding:0}.discount-fixed-options .discount-option-btn{width:90px;height:32px;font-size:10px;padding:0}.discount-right-section{width:48%;background:#1e2026cc;border-radius:10px;padding:16px;border:1px solid rgba(255,255,255,.1);box-shadow:inset 0 2px 6px #0000004d;display:flex;flex-direction:column;align-items:center}.discount-value-input{width:100%;padding:14px;border-radius:8px;border:2px solid transparent;background:linear-gradient(145deg,#2c2f36,#1e2026) padding-box,linear-gradient(145deg,#ff9800,#ff5722) border-box;color:#fff;font-size:18px;font-weight:700;text-align:center;margin-bottom:16px;transition:all .3s ease;font-family:PB Warnjai Bold,sans-serif;letter-spacing:.5px}.discount-value-input:focus{outline:none;box-shadow:0 0 15px #ff98004d;transform:scale(1.01)}.discount-value-input::placeholder{color:#aaa;font-size:14px;font-weight:700;font-family:PB Warnjai Bold,sans-serif}.discount-number-pad{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;width:100%;max-width:200px}.discount-number-pad .discount-num-btn{padding:12px 8px;font-size:16px;font-weight:700;border:none;border-radius:8px;background:linear-gradient(145deg,#3a3f47,#2c2f36);color:#fff;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden;box-shadow:2px 2px 4px #0000004d,-2px -2px 4px #ffffff0d;min-height:42px;display:flex;align-items:center;justify-content:center;font-family:"Microsoft Sans Serif",Segoe UI,sans-serif;line-height:1}.discount-number-pad .discount-num-btn:hover{transform:translateY(-1px);box-shadow:0 4px 10px #ff98004d}.discount-number-pad .discount-num-btn:active{transform:translateY(0);box-shadow:0 2px 5px #ff980033}.discount-number-pad .discount-num-btn:nth-child(10),.discount-number-pad .discount-num-btn:nth-child(12){background:linear-gradient(145deg,#ff5722,#ff9800);color:#fff;font-size:14px;font-family:"Microsoft Sans Serif",Segoe UI,sans-serif}.discount-number-pad .discount-num-btn:nth-child(10){font-size:16px}.discount-number-pad .discount-num-btn:nth-child(12){font-size:18px}.discount-button-group{display:flex;justify-content:flex-end;gap:12px;margin-top:16px;padding-top:12px;border-top:1px solid rgba(255,255,255,.1)}.discount-button-group .discount-btn{padding:12px 25px;font-size:14px;font-weight:700;border:none;border-radius:8px;cursor:pointer;transition:all .4s ease;letter-spacing:.3px;position:relative;overflow:hidden;min-width:140px;font-family:PB Warnjai Bold,sans-serif;line-height:1.3;text-transform:none}.discount-button-group .discount-btn:hover{transform:translateY(-1px)}.discount-button-group .discount-cancel-btn{background:linear-gradient(145deg,#6c757d,#5a6268);color:#fff;box-shadow:0 3px 10px #6c757d66}.discount-button-group .discount-cancel-btn:hover{box-shadow:0 5px 15px #6c757d99}.discount-button-group .discount-confirm-btn{background:linear-gradient(145deg,#28a745,#218838);color:#fff;box-shadow:0 3px 10px #28a74566}.discount-button-group .discount-confirm-btn:hover{box-shadow:0 5px 15px #28a74599;background:linear-gradient(145deg,#34ce57,#28a745)}.discount-modal-container,.discount-modal-header,.discount-label,.discount-radio-group label,.radio-label,.discount-select,.discount-input-field,.discount-major-select,.discount-option-btn,.discount-value-input,.discount-btn{font-family:PB Warnjai Bold,sans-serif!important}@media (max-width: 650px){.discount-modal-container{width:95%;height:auto;max-height:85vh;overflow-y:auto;padding:15px}.discount-modal-content{flex-direction:column;gap:15px}.discount-left-section,.discount-right-section{width:100%;padding:12px}.discount-percentage-options{grid-template-columns:repeat(3,1fr)}.discount-number-pad{max-width:180px;gap:4px}.discount-number-pad .discount-num-btn{padding:10px 6px;font-size:14px;min-height:38px;font-family:"Microsoft Sans Serif",Segoe UI,sans-serif}.discount-button-group{flex-direction:column;gap:10px}.discount-button-group .discount-btn{width:100%;padding:12px;font-size:13px}.discount-title{font-size:20px}.discount-info{font-size:10px;padding:5px 10px}.discount-percentage-options .discount-option-btn{font-size:9px;height:30px;width:35px}}.discount-modal-container::-webkit-scrollbar{width:5px}.discount-modal-container::-webkit-scrollbar-track{background:#ff98001a;border-radius:6px}.discount-modal-container::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#ff9800,#ff5722);border-radius:6px}.discount-num-btn{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.discount-label,.radio-label,.discount-btn{word-spacing:.5px}@font-face{font-family:PBWarnjaiBold;src:url(/assets/PBWarnjaiBold-B2fmoAjk.ttf) format("truetype");font-weight:400;font-style:normal}:root{--scale-factor: 1;--base-font-size: 16px;--header-height: 8vh;--sidebar-width: 7vw;--invoice-width: 21vw;--summary-height: 15vh;--major-height: 11vh;--sub-width: 10vw;--sale-width: 61vw;--gap: 1px;--bg-dark: #222;--bg-medium: #303030;--bg-light: #3d3d3d;--text-primary: #fff;--text-secondary: #ccc;--accent-primary: #4CAF50;--accent-secondary: #ff9800;--danger: #ff4d4d;--border-color: #444}body{font-family:PBWarnjaiBold,sans-serif;font-size:var(--base-font-size);margin:0;padding:0;overflow:hidden;height:100vh;width:100vw;background-color:var(--bg-dark)}.order-page{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:var(--bg-dark);padding:var(--gap);box-sizing:border-box;overflow:hidden;display:grid;grid-template-areas:"header header header header" "sidebar invoice sub major" "sidebar invoice sub sale" "summary summary sub sale";grid-template-rows:var(--header-height) var(--major-height) 1fr var(--summary-height);grid-template-columns:var(--sidebar-width) var(--invoice-width) var(--sub-width) 1fr}.header{display:flex;align-items:flex-start;background:#333;padding:10px 20px;height:60px;box-shadow:0 2px 10px #0000004d;z-index:100;border-bottom:2px solid #444;justify-content:flex-start}.back-btn{background:#555;color:#fff;border:none;padding:2px 12px;border-radius:4px;cursor:pointer;font-size:1.2rem;transition:all .2s ease;margin-right:10px}.back-btn:hover{background-color:var(--border-color);transform:translateY(-1px)}.table-no{font-size:.65rem;font-weight:500;color:#fff;background:transparent;padding:6px 12px;border-radius:4px;white-space:nowrap;margin-right:10px}.search-input{padding:8px 12px;border-radius:4px;border:1px solid #555;background:#222;color:#fff;min-width:120px;font-size:.9rem;margin-right:10px}.search-input:focus{border-color:var(--accent-secondary);box-shadow:0 0 5px #ff980080}.quantity-container{display:flex;align-items:center;gap:5px;background:#444;padding:4px;border-radius:4px;margin-right:10px}.quantity-btn{width:25px;height:25px;border-radius:50%;border:1px solid var(--accent-primary);background-color:var(--bg-medium);font-size:12px;color:var(--accent-primary);display:flex;justify-content:center;align-items:center;cursor:pointer;min-width:25px;min-height:25px;transition:all .2s ease}.quantity-btn:hover{background-color:var(--accent-primary);color:#fff;transform:scale(1.1)}.quantity-input{padding:0 5px;font-size:14px;border-radius:15px;border:1px solid var(--accent-primary);color:var(--text-secondary);background-color:var(--bg-medium);width:40px;text-align:center;height:100%;-moz-appearance:textfield;-webkit-appearance:none;box-sizing:border-box}.quantity-input::-webkit-outer-spin-button,.quantity-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.logout-btn{background:linear-gradient(135deg,#f44336,#d32f2f);color:#fff;border:none;padding:8px 20px;border-radius:4px;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .3s ease;white-space:nowrap}.logout-btn:hover{background-color:#f33;transform:translateY(-1px);box-shadow:0 2px 5px #ff4d4d4d}.layout-2{grid-area:sidebar;background-color:var(--bg-medium);border-radius:5px;display:flex;flex-direction:column;gap:5px;padding:5px;box-sizing:border-box;overflow-y:auto;overflow-x:hidden;height:calc(100vh - var(--header-height) - var(--summary-height) - (var(--gap) * 3));margin-bottom:0}.layout-2::-webkit-scrollbar{width:6px}.layout-2::-webkit-scrollbar-track{background:var(--bg-dark);border-radius:3px;margin:2px 0}.layout-2::-webkit-scrollbar-thumb{background:#555;border-radius:3px}.layout-2::-webkit-scrollbar-thumb:hover{background:#777}.button-item-layout2{background-color:var(--bg-light);color:var(--text-primary);border:1px solid var(--border-color);border-radius:4px;font-size:12px;padding:10px 5px;cursor:pointer;width:100%;flex-shrink:0;min-height:50px;display:flex;align-items:center;justify-content:center;text-align:center;word-wrap:break-word;overflow:hidden;transition:all .2s ease}.button-item-layout2:hover{background-color:var(--accent-secondary);color:#000;transform:translateY(-2px);box-shadow:0 2px 5px #0003}.button-item-layout2.active{background-color:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.layout-3{grid-area:invoice;background-color:var(--bg-light);border-radius:5px;display:flex;flex-direction:column;overflow:hidden;height:calc(100vh - var(--header-height) - var(--summary-height) - (var(--gap) * 3));margin-bottom:0}.invoice-table-container{width:100%;height:100%;overflow-y:auto;overflow-x:hidden}.invoice-table-container::-webkit-scrollbar{width:8px}.invoice-table-container::-webkit-scrollbar-track{background:var(--bg-dark);border-radius:4px;margin:2px 0}.invoice-table-container::-webkit-scrollbar-thumb{background:#555;border-radius:4px}.invoice-table-container::-webkit-scrollbar-thumb:hover{background:#777}.invoice-table{width:100%;border-collapse:collapse;font-size:13px;color:var(--text-primary);table-layout:fixed}.invoice-table th,.invoice-table td{padding:10px 8px;border-bottom:1px solid var(--border-color);text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.invoice-table th{background:var(--bg-medium);font-weight:700;position:sticky;top:0;z-index:10;color:var(--text-primary)}.invoice-table th:nth-child(1),.invoice-table td:nth-child(1){width:20%}.invoice-table th:nth-child(2),.invoice-table td:nth-child(2){width:40%}.invoice-table th:nth-child(3),.invoice-table td:nth-child(3){width:20%}.invoice-table th:nth-child(4),.invoice-table td:nth-child(4){width:20%;text-align:right;font-family:monospace}.invoice-table tbody tr:hover{background-color:#ffffff0d;cursor:pointer}.invoice-table tbody tr.selected{background-color:#4caf5033}.layout-4{grid-area:summary;background-color:var(--bg-medium);border-radius:5px;padding:8px 15px;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;overflow:hidden;height:var(--summary-height);margin-top:-2px}.summary-content{flex:1;display:flex;flex-direction:column;justify-content:center;gap:4px}.summary-line{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:700;color:var(--text-secondary);white-space:nowrap;padding:2px 0;height:28px}.summary-line.sub-total{color:var(--text-secondary)}.summary-line.discount{color:#ff6b6b}.summary-line.grand-total{border-top:2px solid var(--border-color);padding-top:6px;margin-top:4px;font-size:14px;color:var(--accent-primary);font-weight:700;height:32px}.summary-value{min-width:100px;text-align:right;font-family:monospace;font-weight:700;font-size:13px}.layout-4-buttons{display:flex;justify-content:space-between;gap:10px;margin-top:8px}.settle-btn,.print-btn-direct{flex:1;padding:8px 10px;font-size:13px;border-radius:6px;border:none;cursor:pointer;text-align:center;white-space:nowrap;font-weight:700;transition:all .2s ease;min-height:36px}.settle-btn{background-color:var(--accent-secondary);color:#000}.settle-btn:hover{background-color:#e68900;transform:translateY(-2px);box-shadow:0 2px 5px #0003}.print-btn-direct{background-color:var(--accent-primary);color:#fff}.print-btn-direct:hover{background-color:#3d8b40;transform:translateY(-2px);box-shadow:0 2px 5px #0003}.layout-5{grid-area:major;background-color:var(--bg-medium);border-radius:5px;display:flex;overflow-x:auto;gap:6px;padding:6px;align-items:center;height:var(--major-height)}.major-item-btn{background-color:var(--bg-light);color:var(--text-primary);font-size:14px;border:none;cursor:pointer;border-radius:4px;white-space:nowrap;width:170px;height:90%;padding:0 15px;flex-shrink:0;display:flex;align-items:center;justify-content:center;text-align:center;transition:all .2s ease;font-weight:700}.major-item-btn:hover,.major-item-btn.selected{background-color:var(--accent-primary);color:#fff;transform:translateY(-2px);box-shadow:0 2px 5px #0003}.layout-6{grid-area:sub;background-color:var(--bg-medium);border-radius:5px;display:flex;flex-direction:column;gap:4px;padding:6px;overflow-y:auto;overflow-x:hidden;height:calc(100vh - var(--header-height) - (var(--gap) * 2));margin-bottom:1px}.layout-6::-webkit-scrollbar{width:6px}.layout-6::-webkit-scrollbar-track{background:var(--bg-dark);border-radius:3px;margin:2px 0}.layout-6::-webkit-scrollbar-thumb{background:#555;border-radius:3px}.layout-6::-webkit-scrollbar-thumb:hover{background:#777}.sub-item-btn{background-color:var(--bg-light);color:var(--text-primary);font-size:13px;border:none;cursor:pointer;border-radius:4px;padding:10px 6px;width:100%;min-height:70px;display:flex;align-items:center;justify-content:center;text-align:center;word-wrap:break-word;overflow:hidden;flex-shrink:0;box-sizing:border-box;transition:all .2s ease}.sub-item-btn:hover,.sub-item-btn.selected{background-color:var(--accent-secondary);color:#000;transform:translateY(-2px);box-shadow:0 2px 5px #0003}.layout-7{grid-area:sale;background-color:var(--bg-medium);border-radius:5px;overflow:hidden;padding:8px;height:calc(100vh - var(--header-height) - var(--major-height) - (var(--gap) * 3));margin-bottom:1px}.sale-items-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(135px,1fr));gap:7px;width:100%;height:100%;overflow-y:auto;align-content:start;padding:5px}.sale-items-grid::-webkit-scrollbar{width:8px}.sale-items-grid::-webkit-scrollbar-track{background:var(--bg-dark);border-radius:4px;margin:2px 0}.sale-items-grid::-webkit-scrollbar-thumb{background:#555;border-radius:4px}.sale-items-grid::-webkit-scrollbar-thumb:hover{background:#777}.sale-item-btn{padding:16px 12px;background-color:#088408;color:#fff;border:none;border-radius:4px;cursor:pointer;text-align:center;font-size:14px;min-height:90px;display:flex;flex-direction:column;justify-content:center;align-items:center;word-wrap:break-word;transition:all .2s ease;position:relative;overflow:hidden}.sale-item-btn:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(rgba(0,0,0,.1),transparent);pointer-events:none}.sale-item-btn .price{font-size:12px;color:#f4f4f4;margin-top:6px;font-weight:700}.sale-item-btn:hover{background-color:var(--accent-secondary);color:#000;transform:translateY(-3px) scale(1.02);box-shadow:0 4px 8px #0003;z-index:1}.sale-item-btn .item-name{font-weight:700;margin-bottom:5px}.sale-item-btn.out-of-stock{background-color:#666;opacity:.7;cursor:not-allowed}.sale-item-btn.out-of-stock:hover{background-color:#666;transform:none}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:2000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal{width:350px;min-height:220px;background:var(--bg-light);padding:25px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;border-radius:12px;box-shadow:0 8px 25px #0000004d;border:1px solid var(--border-color)}.modal-title{color:var(--text-primary);font-size:18px;margin-bottom:20px;text-align:center}.qty-container{display:flex;align-items:center;gap:15px;margin:20px 0}.qty-container button{width:50px;height:40px;font-size:20px;border:none;background:var(--accent-secondary);color:#000;cursor:pointer;border-radius:8px;font-weight:700;transition:all .2s ease}.qty-container button:hover{background:#e68900;transform:scale(1.05)}.qty-container input{width:70px;height:45px;text-align:center;font-size:18px;border:2px solid var(--accent-primary);border-radius:8px;outline:none;background:var(--bg-medium);color:var(--text-primary);font-weight:700}.modal-buttons{display:flex;justify-content:space-between;width:100%;gap:15px;margin-top:20px}.modal-buttons button{flex:1;padding:12px;border-radius:8px;border:none;cursor:pointer;font-size:14px;font-weight:700;transition:all .2s ease}.modal-buttons .cancel{background:var(--bg-medium);color:var(--text-primary);border:1px solid var(--border-color)}.modal-buttons .cancel:hover{background:var(--border-color);transform:translateY(-2px)}.modal-buttons .save{background:var(--accent-primary);color:#fff}.modal-buttons .save:hover{background:#3d8b40;transform:translateY(-2px)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-dark);border-radius:4px}::-webkit-scrollbar-thumb{background:#555;border-radius:4px;border:2px solid var(--bg-dark)}::-webkit-scrollbar-thumb:hover{background:var(--accent-secondary)}@media (max-width: 1024px){:root{--gap: 1px}.search-input{width:150px}.print-btn{width:80px;min-width:80px}.logout-btn{padding:0 10px;min-width:70px}}@media print{.order-page{display:block!important;height:auto!important;grid-template-areas:none!important;grid-template-rows:auto!important;grid-template-columns:auto!important;padding:0!important}.layout-2,.layout-5,.layout-6,.layout-7,.header{display:none!important}.layout-3,.layout-4{display:block!important;width:100%!important;position:static!important;height:auto!important;margin:0!important;padding:20px!important;background:#fff!important;color:#000!important;border-radius:0!important}.invoice-table{color:#000!important;border:1px solid #ccc!important}.invoice-table th{background:#f0f0f0!important;color:#000!important}.summary-line.grand-total{color:#2e7d32!important}}.checkbox-container{display:flex;align-items:center;gap:8px;color:#fff;font-size:.85rem;white-space:nowrap;margin-right:100vh;margin-left:auto}.checkbox-container input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:#4CAF50}.checkbox-container label{cursor:pointer;white-space:nowrap;font-size:.85rem;-webkit-user-select:none;user-select:none}@media (max-width: 1024px){.checkbox-container label{font-size:.8rem}}@media (max-width: 768px){.checkbox-container{margin-left:5px}.checkbox-container label{font-size:.75rem}}.qty-popup-modal{width:300px;min-height:260px;max-height:100vh;background:linear-gradient(135deg,#2c3e50,#1a1a2e);padding:0;border-radius:8px;box-shadow:0 4px 15px #0000004d;border:1px solid #4CAF50;overflow:hidden;font-family:PBWarnjaiBold,sans-serif;margin:10px}.qty-popup-header{background:linear-gradient(135deg,#4caf50,#2e7d32);padding:12px;text-align:center;border-bottom:1px solid #1B5E20}.qty-popup-title{color:#fff;font-size:16px;font-weight:700;margin:0}.qty-popup-content{padding:12px;background:#2a2a2a;max-height:calc(80vh - 100px);overflow-y:auto}.qty-popup-item-info{background:#333;border-radius:6px;padding:10px;margin-bottom:12px;border-left:2px solid #4CAF50}.qty-popup-item-name{color:gold;font-size:14px;font-weight:700;margin-bottom:5px;text-align:center;line-height:1.2}.qty-popup-item-price{color:#4caf50;font-size:13px;text-align:center;font-weight:700}.qty-popup-quantity-section{margin-bottom:12px}.qty-popup-quantity-label{color:#fff;font-size:13px;margin-bottom:6px;font-weight:700;text-align:center}.qty-popup-quantity-controls{display:flex;align-items:center;justify-content:center;gap:12px}.qty-popup-minus-btn,.qty-popup-plus-btn{width:35px;height:35px;border-radius:50%;border:none;background:#4caf50;color:#fff;font-size:18px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.qty-popup-btn-text{color:#fff;font-weight:700}.qty-popup-quantity-display{background:#333;border:1px solid #4CAF50;border-radius:6px;width:70px;height:30px;display:flex;align-items:center;justify-content:center}.qty-popup-quantity-number{color:gold;font-size:20px;font-weight:700}.qty-popup-taste-section{margin-bottom:12px;background:#333;border-radius:6px;padding:10px;border-left:2px solid #FF9800}.qty-popup-taste-label{color:#fff;font-size:13px;margin-bottom:6px;font-weight:700}.taste-select{width:100%;padding:6px 8px;border-radius:4px;border:1px solid #FF9800;background:#222;color:#fff;font-size:13px;font-family:PBWarnjaiBold,sans-serif;font-weight:700;cursor:pointer;outline:none}.qty-popup-total-section{background:#333;border-radius:6px;padding:10px;border-top:1px solid #444}.qty-popup-total-label{color:#fff;font-size:13px;margin-bottom:5px;font-weight:700}.qty-popup-total-amount{color:gold;font-size:16px;font-weight:700;text-align:right;font-family:monospace}.qty-popup-buttons{display:flex;gap:8px;padding:12px;background:#2a2a2a;border-top:1px solid #444}.qty-popup-cancel-btn,.qty-popup-confirm-btn{flex:1;padding:8px;border-radius:4px;border:none;cursor:pointer;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;min-height:35px}.qty-popup-cancel-btn{background:#f44336;color:#fff}.qty-popup-confirm-btn{background:#4caf50;color:#fff}.qty-popup-cancel-text,.qty-popup-confirm-text{font-weight:700}@media (max-width: 480px){.qty-popup-modal{width:280px;min-height:240px;max-height:70vh}}.delete-icon-btn{background:transparent;border:none;color:#f44;cursor:pointer;font-size:18px;padding:4px 8px;border-radius:4px;transition:all .2s ease;display:flex;align-items:center;justify-content:center;width:36px;height:36px}.delete-icon-btn:hover{background:#f44!important;color:#fff!important;transform:scale(1.1)!important;box-shadow:0 2px 8px #f446}.delete-icon-btn:active{transform:scale(.95)!important}.invoice-table th:nth-child(1),.invoice-table td:nth-child(1){width:85%}.invoice-table th:nth-child(2),.invoice-table td:nth-child(2){width:15%;text-align:center}@media (max-width: 768px){.delete-icon-btn{width:32px;height:32px;font-size:16px;padding:3px 6px}.invoice-table th:nth-child(1),.invoice-table td:nth-child(1){width:80%}.invoice-table th:nth-child(2),.invoice-table td:nth-child(2){width:20%}}.print-modal-overlay{position:fixed;top:0;left:0;width:100%;height:85%;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:2000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.print-modal{background:linear-gradient(145deg,#2d2d2d,#252525);border-radius:12px;width:90%;max-width:800px;max-height:85vh;padding:24px;box-shadow:0 10px 30px #0006,0 0 0 1px #ffffff0d;overflow:hidden;color:#f0f0f0;font-family:Segoe UI,system-ui,sans-serif;position:relative}.print-modal:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#4caf50,#2196f3,#9c27b0);border-radius:12px 12px 0 0}.print-header{text-align:center;margin-bottom:20px}.print-header h2{font-size:24px;font-weight:700;color:#fff;margin:0 0 8px;background:linear-gradient(135deg,#4caf50,#2196f3);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.print-header .subtitle{font-size:14px;color:#aaa;margin:0;display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap}.print-header .subtitle span{background:#ff98001a;padding:4px 12px;border-radius:20px;font-size:13px;color:#ff9800;border:1px solid rgba(255,152,0,.2)}.print-header .summary{display:flex;justify-content:center;gap:15px;margin-top:12px;font-size:13px}.print-header .summary-item{display:flex;align-items:center;gap:6px;color:#ccc}.print-header .summary-item strong{color:#4caf50;font-weight:600}.print-modal-content{background:#28282899;border-radius:8px;padding:16px;margin:0 0 20px;max-height:45vh;overflow-y:auto;border:1px solid rgba(255,255,255,.08)}.print-table{width:100%;border-collapse:collapse;font-size:14px}.print-table thead{position:sticky;top:0;z-index:10}.print-table th{background:linear-gradient(180deg,#3a3a3a,#333);color:#ff9800;font-weight:600;text-align:left;padding:12px 10px;border-bottom:2px solid #4CAF50;text-transform:uppercase;font-size:12px;letter-spacing:.5px;white-space:nowrap}.print-table th:first-child{border-radius:6px 0 0}.print-table th:last-child{border-radius:0 6px 0 0}.print-table td{padding:10px;border-bottom:1px solid rgba(255,255,255,.05);vertical-align:middle}.print-table tbody tr{transition:background-color .2s ease}.print-table tbody tr:hover{background:#ffffff08}.print-table tbody tr:nth-child(2n){background:#ffffff05}.item-name{font-weight:600;color:#fff}.item-qty{display:inline-block;background:#4caf5026;color:#4caf50;padding:4px 10px;border-radius:12px;font-weight:600;font-size:13px;border:1px solid rgba(76,175,80,.3)}.item-description{color:#aaa;font-size:13px;font-style:italic}.status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-align:center;min-width:80px}.status-printed{background:#4caf5026;color:#4caf50;border:1px solid rgba(76,175,80,.3)}.status-pending{background:#ff980026;color:#ff9800;border:1px solid rgba(255,152,0,.3);animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.no-data{text-align:center;padding:40px 20px;color:#888;font-size:16px}.no-data:before{content:"📭";font-size:32px;display:block;margin-bottom:10px;opacity:.5}.loading{text-align:center;padding:40px 20px;color:#aaa;font-size:16px}.loading:after{content:"...";animation:dots 1.5s infinite}@keyframes dots{0%,20%{content:"."}40%{content:".."}60%,to{content:"..."}}.print-modal-buttons{display:flex;justify-content:center;gap:16px;margin-top:24px;padding-top:20px;border-top:1px solid rgba(255,255,255,.08)}.print-button{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;border:none;padding:14px 36px;border-radius:8px;cursor:pointer;font-size:15px;font-weight:600;letter-spacing:.5px;transition:all .3s ease;display:flex;align-items:center;gap:8px;box-shadow:0 4px 12px #4caf504d}.print-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #4caf5066;background:linear-gradient(135deg,#45a049,#4caf50)}.print-button:active:not(:disabled){transform:translateY(0)}.print-button:disabled{background:#555;cursor:not-allowed;opacity:.6;box-shadow:none;transform:none}.print-cancel{background:#f4433626;color:#f44336;border:1px solid rgba(244,67,54,.3);padding:14px 28px;border-radius:8px;cursor:pointer;font-size:15px;font-weight:600;letter-spacing:.5px;transition:all .3s ease;display:flex;align-items:center;gap:8px}.print-cancel:hover:not(:disabled){background:#f4433640;transform:translateY(-2px)}.print-cancel:active:not(:disabled){transform:translateY(0)}.print-cancel:disabled{opacity:.5;cursor:not-allowed;transform:none}.print-modal-content::-webkit-scrollbar{width:8px}.print-modal-content::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.print-modal-content::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#4caf50,#2196f3);border-radius:4px}.print-modal-content::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#45a049,#1976d2)}@media (max-width: 768px){.print-modal{width:95%;padding:20px;max-height:90vh}.print-header h2{font-size:20px}.print-header .subtitle{font-size:12px}.print-table{font-size:13px}.print-table th,.print-table td{padding:8px 6px}.print-modal-buttons{flex-direction:column;gap:12px}.print-button,.print-cancel{width:100%;justify-content:center}}@media (max-width: 480px){.print-table{display:block;overflow-x:auto;white-space:nowrap}.print-header .summary{flex-direction:column;gap:8px;align-items:center}}.home-screen{display:flex;flex-direction:column;padding:3px;flex-grow:1;height:100%;overflow:hidden}.header{display:flex;justify-content:flex-start;align-items:center;padding:10px;background-color:#303030;position:fixed;top:0;left:0;right:0;z-index:100;height:3vh;width:100%}.header .user-info{font-size:14px;font-weight:400;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-left:5px}.logout-btn{position:absolute;top:50%;right:30px;transform:translateY(-50%);padding:6px 18px;background-color:red;color:#fff;border:none;cursor:pointer;border-radius:5px;font-size:12px}.outlet-container{display:flex;flex-wrap:wrap;gap:5px;position:fixed;top:6vh;left:0;width:100%;height:6vh;padding:3px;background-color:#303030;z-index:99;overflow:hidden}.outlet-item{padding:15px;background-color:#3d3d3d;border:none;cursor:pointer;flex:1;border-radius:2px;height:85%;display:flex;justify-content:center;align-items:center;margin:5px;color:#f0f0f0}.outlet-item.selected{background-color:#4caf50;color:#fff}.table-grid{display:flex;flex-wrap:wrap;gap:1px;position:fixed;top:14vh;left:0;width:100%;height:88vh;overflow-y:auto;background-color:#303030}.table-item{padding:15px;background-color:#f0f0f0;border:none;cursor:pointer;width:calc(12.5% - 2px);border-radius:2px;height:50px;text-align:center;display:flex;align-items:center;justify-content:center}.popup-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;align-items:center;justify-content:center}.popup{width:300px;height:150px;background:#ff9191;color:#000;padding:20px;text-align:center;border-radius:10px;display:flex;flex-direction:column;justify-content:center;align-items:center}.popup button{display:flex;background-color:#5a0000;color:#fff;justify-content:space-around;width:100%;gap:10px;margin:10px}@media (max-width: 1024px){.table-item{width:calc(12.5% - 1px);font-size:1.5vw}}@media (min-width: 1366px){.table-item{width:calc(12.5% - 1px);height:90px;font-size:2.5vw}}@media (min-width: 1600px){.table-item{width:calc(10% - 1px);height:90px}}@media (min-width: 1920px){.table-item{width:calc(100% / 12 - 1px);height:80px}}@media (min-width: 2048px){.table-item{width:calc(5% - 1px);height:40px}}.table-grid.too-many-tables .table-item{width:calc(100% / 15 - 1px);height:40px}.table-item.available{background-color:#3d3d3d;color:#fff}.table-item.occupied{background-color:#4caf50;color:#fff}.table-item.current-table{background:linear-gradient(135deg,#4caf50,#2e7d32);border-color:gold;cursor:not-allowed;opacity:.9}.table-item.selected-new{background:linear-gradient(135deg,#ff9800,#f57c00);border-color:gold;transform:scale(1.05);box-shadow:0 0 15px #ff980080}.table-status{font-size:10px;margin-top:5px;font-weight:700;padding:2px 5px;border-radius:3px}.table-item.available .table-status{color:#4caf50;background:#4caf501a}.table-item.occupied .table-status{color:#f44336;background:#f443361a}.table-item.current-table .table-status{color:gold;background:#ffd7001a}.table-item.selected-new .table-status{color:#2196f3;background:#2196f31a}.selected-table-info{background:linear-gradient(135deg,#2196f3,#1976d2);padding:15px;margin:10px;border-radius:8px;color:#fff;text-align:center;border:2px solid #4CAF50;box-shadow:0 4px 8px #0003;position:fixed;bottom:70px;left:10px;right:10px;z-index:98}.selected-table-title{font-weight:700;margin-bottom:5px;font-size:14px;color:gold}.selected-table-name{font-size:18px;font-weight:700;margin-bottom:3px}.selected-table-buttons{display:flex;gap:10px;margin-top:10px;justify-content:center}.confirm-btn,.cancel-btn{padding:8px 20px;border:none;border-radius:4px;font-weight:700;cursor:pointer;transition:all .2s ease}.confirm-btn{background:#4caf50;color:#fff}.confirm-btn:hover{background:#3d8b40;transform:translateY(-2px)}.cancel-btn{background:#f44336;color:#fff}.cancel-btn:hover{background:#d32f2f;transform:translateY(-2px)}.popup-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.popup{width:90%;max-width:400px;background:linear-gradient(135deg,#2c3e50,#1a1a2e);color:#fff;padding:25px;text-align:center;border-radius:10px;border:2px solid #4CAF50;box-shadow:0 10px 30px #00000080}.popup h3{margin-top:0;color:gold;font-size:18px;margin-bottom:15px}.popup-content{background:#333;padding:15px;border-radius:6px;margin-bottom:20px}.from-table,.to-table{margin-bottom:10px}.table-label{color:gold;font-weight:700;font-size:14px;margin-bottom:5px}.table-value{font-size:18px;font-weight:700;margin-bottom:5px}.from-table .table-value{color:#4caf50}.to-table .table-value{color:#2196f3}.popup-buttons{display:flex;gap:10px;width:100%}.popup-buttons button{flex:1;padding:10px;border:none;border-radius:6px;font-weight:700;cursor:pointer;transition:all .2s ease;font-size:14px}.popup-cancel-btn{background:#f44336;color:#fff}.popup-cancel-btn:hover{background:#d32f2f;transform:translateY(-2px);box-shadow:0 4px 8px #f443364d}.popup-confirm-btn{background:#4caf50;color:#fff}.popup-confirm-btn:hover{background:#3d8b40;transform:translateY(-2px);box-shadow:0 4px 8px #4caf504d}@media (max-width: 1024px){.table-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}.table-item{font-size:14px;min-height:70px}}@media (max-width: 768px){.table-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));top:170px;height:calc(100vh - 170px)}.outlet-container{top:110px}.current-table-display{margin-top:55px}.table-item{font-size:13px;min-height:65px;padding:10px 3px}}@media (max-width: 480px){.table-grid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:5px;padding:8px}.table-item{font-size:12px;min-height:60px;padding:8px 2px}.outlet-item{min-width:80px;font-size:12px;padding:6px 8px}.header .user-info{font-size:14px}.popup{width:95%;padding:20px}}@media (min-width: 1366px){.table-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.table-item{min-height:90px;font-size:16px}}@media (min-width: 1600px){.table-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}@media (min-width: 1920px){.table-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.table-item{min-height:100px;font-size:18px}}.table-grid::-webkit-scrollbar{width:8px}.table-grid::-webkit-scrollbar-track{background:#333;border-radius:4px}.table-grid::-webkit-scrollbar-thumb{background:#555;border-radius:4px}.table-grid::-webkit-scrollbar-thumb:hover{background:#666}@tailwind base;@tailwind components;@tailwind utilities;:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;width:100vw;height:100vh;background-color:#242424;color:#fff;overflow:hidden}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}body{@apply bg-gray-900 text-white flex items-center justify-center min-h-screen;}:root{@apply font-sans text-gray-200 bg-gray-900;}a{@apply text-blue-400 font-medium hover:text-blue-300;}button{@apply rounded-lg border border-transparent px-4 py-2 text-lg font-medium bg-gray-700 hover:bg-gray-600 transition duration-300;}.spinner{width:50px;height:50px;border:5px solid #f3f3f3;border-top:5px solid #3498db;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.splash-container{width:100vw;height:100vh;overflow:hidden;position:relative;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);color:#fff;display:flex;justify-content:center;align-items:center;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.splash-background{position:absolute;width:100%;height:100%;overflow:hidden}.floating-shapes{position:absolute;width:100%;height:100%}.floating-shape{position:absolute;opacity:.3}.splash-content{position:relative;z-index:10;width:90%;max-width:800px;text-align:center;padding:40px 20px;background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:24px;border:1px solid rgba(255,255,255,.1);box-shadow:0 20px 60px #0000004d}.logo-section{margin-bottom:60px}.logo-circle{width:150px;height:150px;margin:0 auto 30px;position:relative;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;display:flex;justify-content:center;align-items:center;box-shadow:0 10px 30px #667eea66}.logo-inner{width:120px;height:120px;background:#ffffff1a;border-radius:50%;display:flex;justify-content:center;align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.logo-icon{font-size:60px;animation:pulse 2s infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.app-title{font-size:42px;font-weight:700;margin-bottom:10px;background:linear-gradient(to right,#00c6ff,#0072ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 5px 15px rgba(0,114,255,.2)}.app-subtitle{font-size:18px;opacity:.8;letter-spacing:2px}.loading-section{margin:40px 0}.loading-tip{display:flex;align-items:center;justify-content:center;gap:15px;margin-bottom:40px;min-height:40px}.tip-icon{font-size:24px;animation:bounce 1s infinite alternate}@keyframes bounce{0%{transform:translateY(0)}to{transform:translateY(-5px)}}.tip-text{font-size:18px;font-weight:500;color:#a0e7ff}.progress-container{width:100%;height:6px;background:#ffffff1a;border-radius:3px;margin-bottom:20px;overflow:hidden;position:relative}.progress-bar{height:100%;background:linear-gradient(to right,#00c6ff,#0072ff);border-radius:3px;position:relative;transition:width .3s ease}.progress-bar:after{content:"";position:absolute;top:0;right:0;width:20px;height:100%;background:linear-gradient(to right,transparent,rgba(255,255,255,.4));animation:shine 1.5s infinite}@keyframes shine{0%{transform:translate(-100%)}to{transform:translate(100%)}}.progress-text{position:absolute;right:0;top:-25px;font-size:14px;font-weight:600;color:#00c6ff}.loading-dots{display:flex;justify-content:center;gap:8px;margin-top:30px}.loading-dot{width:12px;height:12px;background:linear-gradient(to right,#00c6ff,#0072ff);border-radius:50%}.splash-footer{margin-top:60px;border-top:1px solid rgba(255,255,255,.1);padding-top:20px}.version-info{display:flex;justify-content:center;align-items:center;gap:15px;margin-bottom:15px;opacity:.7;font-size:14px}.separator{opacity:.5}.tech-stack{display:flex;justify-content:center;gap:20px}.tech-item{padding:6px 15px;background:#ffffff1a;border-radius:20px;font-size:12px;font-weight:500;letter-spacing:1px;transition:all .3s ease}.tech-item:hover{background:#fff3;transform:translateY(-2px)}.completion-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0a192ff2;display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:100}.completion-check{width:100px;height:100px;background:linear-gradient(135deg,#4caf50,#2e7d32);border-radius:50%;display:flex;justify-content:center;align-items:center;font-size:50px;font-weight:700;margin-bottom:30px;box-shadow:0 10px 30px #4caf5066}.completion-text{font-size:28px;font-weight:600;color:#4caf50;text-align:center}.skip-button{position:absolute;top:20px;right:20px;padding:10px 20px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;border-radius:20px;cursor:pointer;font-weight:500;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease;z-index:100}.skip-button:hover{background:#fff3;border-color:#ffffff4d}.error-container{display:flex;justify-content:center;align-items:center;height:100vh;background:linear-gradient(135deg,#1a1a2e,#16213e);color:#fff;text-align:center;padding:20px}.error-content{background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:40px;border-radius:20px;border:1px solid rgba(255,255,255,.1);max-width:500px}.error-icon{font-size:60px;margin-bottom:20px;animation:bounce 1s infinite}.error-title{color:#f44336;font-size:24px;margin-bottom:15px}.error-message{margin-bottom:25px;opacity:.9}.home-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:12px 30px;border-radius:25px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease}.home-button:hover{transform:translateY(-2px);box-shadow:0 10px 20px #667eea4d}.auth-loading-container{display:flex;justify-content:center;align-items:center;height:100vh;background:linear-gradient(135deg,#1a1a2e,#16213e);flex-direction:column}.auth-loading-text{margin-top:20px;font-size:18px;color:#a0e7ff;animation:fadeInOut 2s infinite}@keyframes fadeInOut{0%,to{opacity:.5}50%{opacity:1}}@media (max-width: 768px){.splash-content{width:95%;padding:30px 15px}.logo-circle{width:120px;height:120px}.logo-inner{width:90px;height:90px}.logo-icon{font-size:45px}.app-title{font-size:32px}.app-subtitle,.tip-text{font-size:16px}.completion-check{width:80px;height:80px;font-size:40px}.completion-text{font-size:22px}}@media (max-width: 480px){.splash-content{padding:20px 10px}.logo-circle{width:100px;height:100px;margin-bottom:20px}.logo-inner{width:80px;height:80px}.logo-icon{font-size:40px}.app-title{font-size:24px}.loading-tip{flex-direction:column;gap:10px}.error-content{padding:20px}.error-icon{font-size:40px}.error-title{font-size:20px}}.flex-center{display:flex;justify-content:center;align-items:center}.flex-col-center{display:flex;flex-direction:column;justify-content:center;align-items:center}.text-gradient{background:linear-gradient(to right,#00c6ff,#0072ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.text-glow{text-shadow:0 0 10px rgba(0,114,255,.5)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.float-animation{animation:float 3s ease-in-out infinite}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.shimmer-effect{background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);background-size:1000px 100%;animation:shimmer 2s infinite}.glass-effect{background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}::-webkit-scrollbar-thumb{background:linear-gradient(to bottom,#00c6ff,#0072ff);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(to bottom,#0072ff,#0052cc)}
