:root{font-family: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;min-width:320px;min-height:100vh}#root{width:100%;min-height:100vh}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}}@keyframes slideUpFade{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideUp{0%{transform:translateY(15px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes keyboardSlideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.02)}to{transform:scale(1)}}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;width:100vw;background-color:#f0f2f5;margin:0;padding:0;overflow:hidden}.login-card{background:#fff;padding:40px;border-radius:16px;box-shadow:0 10px 25px #00000014;width:100%;max-width:380px;animation:slideUpFade .7s cubic-bezier(.25,.46,.45,.94) both;will-change:transform,opacity}.pulse-anim{animation:pulse 1.5s infinite ease-in-out}.inst-title{text-align:center;color:#1a1a1a;margin-bottom:30px;font-weight:600}.input-group{margin-bottom:20px;transition:max-height .4s ease,opacity .4s ease}.input-wrapper{position:relative;display:flex;align-items:center;width:100%}.input-wrapper input{width:100%;padding:14px 45px 14px 14px;border:1.5px solid #e1e1e1;border-radius:8px;font-size:16px;box-sizing:border-box;transition:border-color .3s ease}.field-icon{position:absolute;right:15px;font-size:18px;color:#2ecc71;pointer-events:none}input:focus{outline:none;border-color:#2ecc71}.login-button{width:100%;padding:14px;background:#2ecc71;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:opacity .3s ease,transform .2s ease}.login-button:active{transform:scale(.98)}.login-button:disabled{background:#95a5a6;cursor:not-allowed}.reg-link-container{text-align:center;margin-top:20px;font-size:14px;color:#666;opacity:0;max-height:0;overflow:hidden;transition:max-height .5s ease,opacity .5s ease}.login-card .reg-link-container{max-height:50px;opacity:1}.reg-link{color:#2ecc71;text-decoration:none;font-weight:700;margin-left:5px;transition:color .3s ease}.reg-link:hover{color:#27ae60;text-decoration:underline}.forgot-password-link{background:none;border:none;color:#3498db;cursor:pointer;font-size:14px;padding:0;text-decoration:underline}.forgot-password-link:hover{color:#2980b9}.forgot-overlay{position:fixed;inset:0;background:#00000080;z-index:2000;display:flex;align-items:center;justify-content:center;padding:20px}.forgot-modal{background:#fff;padding:24px;border-radius:12px;max-width:360px;width:100%;box-shadow:0 10px 40px #0003}.forgot-modal h3{margin:0 0 8px;font-size:1.2rem;color:#1a1a1a}.forgot-hint{margin:0 0 16px;font-size:.9rem;color:#666}.forgot-input{width:100%;padding:12px 14px;border:1px solid #ddd;border-radius:8px;font-size:1rem;margin-bottom:12px;box-sizing:border-box}.forgot-message{margin:0 0 12px;font-size:.9rem;color:#2e7d32}.forgot-message:empty{display:none}.forgot-actions{display:flex;gap:10px;justify-content:flex-end}.forgot-cancel{padding:10px 18px;background:#f5f5f5;border:1px solid #ddd;border-radius:8px;cursor:pointer;font-weight:600}.forgot-submit{padding:10px 18px;background:#2ecc71;color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600}.forgot-submit:disabled{opacity:.7;cursor:not-allowed}.stagger-8{animation:slideUp .3s ease-out .8s both}.virtual-keyboard-shelf{position:fixed;bottom:0;left:0;width:100%;background:#1a1a1a;padding:15px;box-shadow:0 -5px 25px #0000004d;z-index:1000;transform:translateY(100%);opacity:0;transition:transform .4s cubic-bezier(.4,0,.2,1),opacity .3s ease;will-change:transform,opacity;display:flex;flex-direction:column;align-items:center}.virtual-keyboard-shelf.show{transform:translateY(0);opacity:1}.keyboard-header{width:100%;max-width:900px;display:flex;justify-content:space-between;color:#4cd137;font-size:12px;margin-bottom:10px;text-transform:uppercase}.keys-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:8px;width:100%;max-width:900px}.key-btn{background:#333;color:#fff;border:none;padding:12px 5px;border-radius:5px;font-size:16px;cursor:pointer;transition:background .2s;-webkit-user-select:none;user-select:none}.key-btn:active{background:#4cd137;color:#000}.wide-key{grid-column:span 1.5;background:#444}.extra-wide-key{grid-column:span 2;background:#4cd137;color:#000;font-weight:700}.active-caps{background:#4cd137;color:#000}.close-kb{background:none;border:none;color:#666;cursor:pointer}.virtual-keyboard-container{position:fixed;bottom:0;left:0;width:100%;background:#2c3e50;padding:15px 5px;box-shadow:0 -5px 25px #0000004d;display:grid!important;grid-template-columns:repeat(10,1fr);gap:8px;z-index:9999;animation:keyboardSlideUp .4s cubic-bezier(.25,.46,.45,.94) both;box-sizing:border-box}.key{background:#ecf0f1;color:#2c3e50;padding:15px 0;text-align:center;border-radius:8px;font-size:16px;font-weight:700;cursor:pointer;display:flex;justify-content:center;align-items:center;-webkit-user-select:none;user-select:none;box-shadow:0 2px 5px #0003;transition:background .2s ease}.key.active-caps{background:#2ecc71!important;color:#fff!important}@media(min-width:1024px){.login-card{max-width:450px;padding:50px;box-shadow:0 20px 40px #0000001f;transition:max-height .5s ease-in-out,opacity .5s ease-in-out}.login-container{background:linear-gradient(135deg,#f5f7fa,#c3cfe2)}.inst-title{font-size:28px;margin-bottom:40px}}html,body{overflow-x:hidden;-webkit-user-select:none;user-select:none;margin:0;padding:0}.auth-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background-color:#f4f7f6;overflow-x:hidden;-webkit-user-select:none;user-select:none}.auth-card{background:#fff;padding:2.5rem;border-radius:20px;box-shadow:0 10px 25px #0000001a;width:100%;max-width:400px;text-align:center}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes pulse{0%{opacity:1}50%{opacity:.6}to{opacity:1}}.slide-up{animation:slideUp .6s ease-out forwards}.stagger-1{animation:slideUp .3s ease-out .1s both}.stagger-2{animation:slideUp .3s ease-out .2s both}.stagger-3{animation:slideUp .3s ease-out .3s both}.stagger-4{animation:slideUp .3s ease-out .4s both}.stagger-5{animation:slideUp .3s ease-out .5s both}.stagger-6{animation:slideUp .3s ease-out .6s both}.stagger-7{animation:slideUp .3s ease-out .7s both}.input-group input,.input-group select{width:100%;padding:12px;margin-bottom:15px;border:2px solid #e1e1e1;border-radius:10px;font-size:16px;transition:border-color .3s ease;background:#444;color:#fff}.input-group input:focus{border-color:#2ecc71;outline:none}.submit-btn{width:100%;padding:14px;background-color:#2ecc71;color:#fff;border:none;border-radius:10px;font-size:18px;cursor:pointer;transition:transform .2s active}.submit-btn:active{transform:scale(.98)}.pulse{animation:pulse 1.5s infinite}.status-message{margin-top:15px;padding:10px;border-radius:8px;max-height:0;opacity:0;transition:max-height .4s ease,opacity .4s ease;overflow:hidden}.status-message.show{max-height:100px;opacity:1}.status-message.success{background:#d4edda;color:#155724}.status-message.error{background:#f8d7da;color:#721c24}:root{--bg-dark: #0b0f19;--sidebar-color: #111827;--card-color: #1f2937;--accent-blue: #38bdf8;--text-white: #f9fafb;--text-gray: #9ca3af;--border-color: rgba(255, 255, 255, .05)}.app-container{display:flex;width:100vw;height:100vh;background-color:var(--bg-dark);color:var(--text-white);overflow:hidden}.overflow-hidden{-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.sidebar-container{width:280px;background-color:var(--sidebar-color);border-right:1px solid var(--border-color);padding:24px;display:flex;flex-direction:column;position:relative;z-index:100;pointer-events:auto}.sidebar-brand{display:flex;align-items:center;gap:12px;font-size:1.25rem;font-weight:700;color:var(--accent-blue);margin-bottom:40px}.brand-icon{background:var(--accent-blue);color:var(--bg-dark);width:35px;height:35px;display:flex;align-items:center;justify-content:center;border-radius:8px}.sidebar-nav{display:flex;flex-direction:column;gap:8px}.nav-item{background:transparent;border:none;color:var(--text-gray);padding:12px 16px;border-radius:12px;text-align:left;display:flex;align-items:center;gap:12px;cursor:pointer;transition:all .3s ease;font-size:1rem;pointer-events:auto;position:relative;z-index:1}.nav-item:hover,.nav-item.active{background:#38bdf81a;color:var(--accent-blue)}body.app-fullscreen .app-container,body.ordering-fullscreen .app-container,:root:fullscreen .app-container,:root:-webkit-full-screen .app-container{pointer-events:auto!important;position:relative;z-index:9998;touch-action:manipulation}body.app-fullscreen .sidebar-container,body.ordering-fullscreen .sidebar-container,:root:fullscreen .sidebar-container,:root:-webkit-full-screen .sidebar-container{pointer-events:auto!important;position:relative;z-index:99999;touch-action:manipulation}body.app-fullscreen .sidebar-container *,body.ordering-fullscreen .sidebar-container *,:root:fullscreen .sidebar-container *,:root:-webkit-full-screen .sidebar-container *{touch-action:manipulation}body.app-fullscreen .nav-item,body.ordering-fullscreen .nav-item,:root:fullscreen .nav-item,:root:-webkit-full-screen .nav-item{pointer-events:auto!important;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:rgba(56,189,248,.25)}body.app-fullscreen .main-content,body.ordering-fullscreen .main-content,:root:fullscreen .main-content,:root:-webkit-full-screen .main-content{pointer-events:auto!important;touch-action:manipulation}body.app-fullscreen .main-content button,body.app-fullscreen .main-content [role=button],body.app-fullscreen .main-content .stat-card,body.ordering-fullscreen .main-content button,body.ordering-fullscreen .main-content [role=button],body.ordering-fullscreen .main-content .stat-card,:root:fullscreen .main-content button,:root:fullscreen .main-content [role=button],:root:fullscreen .main-content .stat-card,:root:-webkit-full-screen .main-content button,:root:-webkit-full-screen .main-content [role=button],:root:-webkit-full-screen .main-content .stat-card{pointer-events:auto!important;touch-action:manipulation}body.app-fullscreen .mobile-nav-bar,body.ordering-fullscreen .mobile-nav-bar,:root:fullscreen .mobile-nav-bar{pointer-events:auto!important;touch-action:manipulation;position:relative;z-index:99999}body.app-fullscreen .mobile-nav-item,body.ordering-fullscreen .mobile-nav-item,:root:fullscreen .mobile-nav-item{pointer-events:auto!important;touch-action:manipulation}.main-content{flex:1;padding:40px;overflow-y:auto}.welcome-section h1{font-size:2.2rem;margin-bottom:8px}.welcome-section p{color:var(--text-gray)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-top:40px}.stat-card{background:var(--card-color);border:1px solid var(--border-color);padding:24px;border-radius:20px;display:flex;align-items:center;gap:20px;transition:transform .3s cubic-bezier(.4,0,.2,1);cursor:pointer}.stat-icon-wrapper{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;background:#ffffff0d}.stat-label{display:block;font-size:.9rem;color:var(--text-gray);margin-bottom:4px}.stat-value{font-size:1.75rem;font-weight:700}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseEffect{0%{transform:scale(1)}50%{transform:scale(1.02)}to{transform:scale(1)}}.fade-in{animation:fadeIn .8s ease forwards}.staggered-item{opacity:0;animation:fadeIn .6s ease forwards}.pulse-hover:hover{animation:pulseEffect 1.5s infinite;border-color:var(--accent-blue)}@media(max-width:768px){.desktop-only{display:none}.mobile-only{display:flex}.main-content{padding:20px 20px 100px}.mobile-header{justify-content:space-between;align-items:center;margin-bottom:30px}.profile-circle{width:35px;height:35px;background:var(--accent-blue);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--bg-dark)}.mobile-nav-bar{position:fixed;bottom:0;left:0;right:0;height:75px;background:#111827f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--border-color);display:flex;justify-content:space-around;align-items:center;z-index:1000}.mobile-nav-item{background:none;border:none;color:var(--text-gray);display:flex;flex-direction:column;align-items:center;gap:4px;font-size:.75rem}.mobile-nav-item.active{color:var(--accent-blue)}.mobile-nav-item .icon{font-size:1.5rem}}@media(min-width:769px){.mobile-only{display:none}}.item-master-container{padding:40px 20px;max-width:1300px;margin:0 auto;width:100%;min-height:100vh;background:#121212;color:#fff;box-sizing:border-box;-webkit-user-select:none;user-select:none;overflow-x:hidden;display:flex;flex-direction:column;align-items:center}.page-title{width:100%;max-width:1200px;font-size:clamp(1.2rem,5vw,1.8rem);font-weight:600;margin-bottom:25px;border-left:5px solid #2ecc71;padding-left:15px;color:#fff;text-align:left}.master-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:40px;width:100%;max-width:1200px;align-items:stretch;margin-top:10px}.input-section{width:100%;display:flex;flex-direction:column;gap:15px}.form-group{width:100%}.form-group .input-wrapper{display:flex;gap:10px;align-items:center;width:100%}.form-group label{display:block;color:#bbb;font-size:.9rem;margin-bottom:8px}.form-group input,.form-input{width:100%;padding:14px;background:#1e1e1e;border:1px solid #333;border-radius:10px;color:#fff;font-size:1rem;box-sizing:border-box;transition:border-color .3s ease,box-shadow .3s ease,transform .2s ease;will-change:transform}.form-input{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23bbb' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 15px center;background-size:18px}.form-group input:focus,.form-input:focus{border-color:#2ecc71;outline:none;box-shadow:0 0 12px #2ecc7133}.camera-box{width:100%;height:100%;background:#1e1e1e;padding:25px;border-radius:15px;border:1px solid #333;box-sizing:border-box;display:flex;flex-direction:column;justify-content:space-between}.video-container{position:relative;width:100%;aspect-ratio:4 / 3;background:#000;border-radius:12px;overflow:hidden;border:2px solid #222}.video-preview{width:100%;height:100%;object-fit:cover;will-change:opacity}.action-area{margin-top:40px;width:100%;max-width:1200px;display:flex;justify-content:center}.save-btn{width:100%;max-width:500px;padding:18px;background:#2ecc71;color:#fff;border:none;border-radius:12px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:transform .2s ease,background .3s ease,box-shadow .3s ease}.save-btn:active{transform:scale(.98)}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000bf;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;justify-content:center;align-items:center;z-index:2000;animation:fadeIn .3s ease-out forwards}.modal-content{background:#1e1e1e;padding:30px;border-radius:18px;width:95%;max-width:420px;border:1px solid #333;box-shadow:0 20px 40px #00000080;will-change:transform,opacity;animation:slideUpModal .4s cubic-bezier(.165,.84,.44,1) forwards}.modal-actions{display:flex;gap:12px;margin-top:25px;justify-content:flex-end}.add-plus-btn{background:#2ecc71;color:#fff;border:none;border-radius:10px;min-width:50px;width:50px;height:50px;font-size:24px;cursor:pointer;display:flex;justify-content:center;align-items:center;flex-shrink:0;transition:transform .2s cubic-bezier(.175,.885,.32,1.275),background .3s ease}.add-plus-btn:hover:not(:disabled){background:#27ae60;transform:scale(1.08)}.add-plus-btn:disabled{background:#333;cursor:not-allowed;opacity:.5}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUpModal{0%{transform:translate3d(0,40px,0);opacity:0}to{transform:translateZ(0);opacity:1}}@keyframes pulseEffect{0%{transform:scale(1);box-shadow:0 0 #2ecc7166}70%{transform:scale(1.02);box-shadow:0 0 0 10px #2ecc7100}to{transform:scale(1);box-shadow:0 0 #2ecc7100}}@keyframes slideInRight{0%{transform:translate3d(100%,0,0);opacity:0}to{transform:translateZ(0);opacity:1}}@keyframes progress-shrink{0%{width:100%}to{width:0%}}@keyframes pulse-bg{0%{background-color:#ffffff0d}50%{background-color:#fff3}to{background-color:#ffffff0d}}.fade-in-element{animation:fadeIn .6s cubic-bezier(.4,0,.2,1) forwards}.pulse{animation:pulseEffect 1.5s infinite}.custom-alert{position:fixed;top:20px;right:20px;z-index:9999;padding:15px 25px;border-radius:10px;color:#fff;display:flex;flex-direction:column;min-width:280px;overflow:hidden;box-shadow:0 10px 30px #0000004d}.custom-alert.success{background:#27ae60;border-left:6px solid #1e8449}.custom-alert.warning{background:#f39c12;border-left:6px solid #d35400}.custom-alert.error{background:#e74c3c;border-left:6px solid #c0392b}.custom-alert.info{background:#3498db;border-left:6px solid #2980b9}.slide-up-alert{animation:slideInRight .5s cubic-bezier(.175,.885,.32,1.275) forwards}.alert-progress-bar{height:4px;background:#fff6;width:100%;margin-top:10px;border-radius:2px;animation:progress-shrink 3s linear forwards}.pulse-overlay{position:absolute;inset:0;z-index:5;animation:pulse-bg 1.5s infinite ease-in-out}@media(max-width:900px){.item-master-container{padding:15px 15px 90px}.master-grid{grid-template-columns:1fr;gap:25px}.page-title{text-align:center;border-left:none;padding-left:0}.save-btn{max-width:100%;padding:16px}.add-plus-btn{min-width:45px;width:45px;height:45px}.custom-alert{width:calc(100% - 40px);right:20px;left:20px}}.help-circle-btn{width:28px;height:28px;border-radius:50%;background:#f39c12;color:#fff;border:none;cursor:pointer;font-weight:700;font-size:16px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 5px #0003;transition:transform .2s}.help-circle-btn:hover{transform:scale(1.1)}.help-overlay{background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.instruction-card{max-width:500px!important;border-top:5px solid #f39c12}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.close-x{background:none;border:none;font-size:24px;cursor:pointer;color:#999}.instruction-body{display:flex;flex-direction:column;gap:15px}.step-item{display:flex;gap:15px;align-items:flex-start;padding:10px;background:#f8f9fa;border-radius:8px}.step-number{background:#f39c12;color:#fff;font-weight:700;padding:4px 8px;border-radius:4px;font-size:12px}.step-item p{margin:0;font-size:14px;color:#444;line-height:1.4}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.scale-in-center{animation:scaleIn .3s cubic-bezier(.25,.46,.45,.94) both}@media(max-width:600px){.instruction-card{width:95%!important;margin:10px;max-height:90vh;overflow-y:auto}}.item-master-kot-options{display:flex;flex-direction:column;gap:12px;margin-top:14px;padding:14px;background:#1e1e1e;border:1px solid #333;border-radius:10px}.item-master-check-label{display:flex;align-items:center;gap:12px;cursor:pointer;font-size:.95rem;font-weight:600;color:#bbb}.item-master-check-label span{color:#e0e0e0}.item-master-checkbox{width:22px;height:22px;margin:0;flex-shrink:0;cursor:pointer;accent-color:#2ecc71;border-radius:4px}.billing-master-container{width:100vw;min-height:100vh;background-color:#f8fafc;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px 20px;box-sizing:border-box;-webkit-user-select:none;user-select:none;overflow-x:hidden;overflow-y:auto;position:relative}.billing-nav-header{width:100%;display:flex;justify-content:space-between;align-items:center;padding:20px 40px;position:absolute;top:0;left:0;box-sizing:border-box}.billing-back-btn{background:#fff;border:1px solid #e2e8f0;color:#1e293b;padding:10px 20px;border-radius:12px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:10px;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 6px -1px #0000001a}.billing-back-btn:hover{background:#3b82f6;border-color:#3b82f6;color:#fff;transform:translate(-5px);box-shadow:0 10px 20px #3b82f64d}.billing-back-btn span{font-size:1.2rem}.billing-status-tag{font-size:.75rem;font-weight:800;color:#10b981;text-transform:uppercase;letter-spacing:1.5px;background:#10b9811a;padding:6px 12px;border-radius:20px;border:1px solid rgba(16,185,129,.2)}.billing-title-section{text-align:center;margin-bottom:30px}.billing-title-section h1{font-size:clamp(1.5rem,4vw,2.5rem);color:#0f172a;font-weight:800;margin:0;text-transform:uppercase}.sale-types-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;width:100%;max-width:900px;margin:0 auto}.sale-card{background:#fff;border-radius:20px;padding:30px 15px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease-in-out;border:2px solid transparent;box-shadow:0 4px 15px #0000000d;min-height:180px}.sale-card:hover{transform:translateY(-5px);border-color:#3b82f6;box-shadow:0 10px 25px #3b82f61a}.sale-card:active{transform:scale(.95)}.card-icon{font-size:clamp(2rem,6vw,3.5rem);margin-bottom:15px}.card-label{font-size:clamp(1rem,2.5vw,1.4rem);font-weight:700;color:#1e293b;text-align:center}.card-desc{font-size:.85rem;color:#64748b;margin-top:5px;text-align:center}.billing-modal-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;box-sizing:border-box}.billing-modal-box{background:#fff;border-radius:16px;padding:24px;max-width:400px;width:100%;box-shadow:0 20px 50px #00000026}.billing-phone-input{width:100%;padding:14px 16px;font-size:1.1rem;border:2px solid #e2e8f0;border-radius:10px;outline:none;box-sizing:border-box;letter-spacing:1px}.billing-phone-input:focus{border-color:#3b82f6}.billing-phone-keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.billing-phone-key{padding:14px 10px;font-size:1.25rem;font-weight:700;border:1px solid #e2e8f0;border-radius:10px;background:#fff;color:#1e293b;cursor:pointer;transition:background .15s,transform .1s}.billing-phone-key:hover{background:#f1f5f9}.billing-phone-key:active{transform:scale(.96)}.billing-phone-key.key-bksp{background:#fef2f2;color:#dc2626;font-size:1.1rem}.billing-phone-key.key-bksp:hover{background:#fee2e2}.billing-phone-key.key-done{background:#10b981;color:#fff;font-size:1rem}.billing-phone-key.key-done:hover{background:#059669}.billing-modal-btn{flex:1;padding:12px 20px;border-radius:10px;font-weight:700;cursor:pointer;border:none;transition:.2s}.billing-modal-btn.cancel{background:#f1f5f9;color:#64748b}.billing-modal-btn.confirm{background:#10b981;color:#fff}.billing-modal-btn.confirm:hover{background:#059669}.billing-delivery-modal{max-width:420px;width:100%;max-height:85vh;overflow-y:auto}.billing-pending-loading{margin:12px 0;color:#64748b;font-size:.9rem}.billing-pending-label{margin:0 0 8px;font-size:.85rem;font-weight:600;color:#475569}.billing-pending-list{max-height:200px;overflow-y:auto;margin-bottom:8px;border:1px solid #e2e8f0;border-radius:10px;padding:6px;background:#f8fafc}.billing-pending-item{display:block;width:100%;text-align:left;padding:12px 14px;margin-bottom:6px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;cursor:pointer;font-size:1rem;color:#1e293b;transition:background .2s,border-color .2s}.billing-pending-item:last-child{margin-bottom:0}.billing-pending-item:hover{background:#eff6ff;border-color:#3b82f6}.billing-pending-phone{display:block;font-weight:600}.billing-pending-meta{display:block;font-size:.8rem;color:#64748b;margin-top:2px}.billing-master-container{overflow-x:hidden;overflow-y:auto}.sale-types-grid{box-sizing:border-box;padding:0 10px}@media(max-width:480px){.billing-nav-header{padding:15px 20px}.sale-types-grid{grid-template-columns:1fr;gap:16px;padding:0 5px}.sale-card{min-height:140px;padding:20px 12px}.card-label{font-size:1rem}.card-desc{font-size:.8rem}}@media(min-width:481px)and (max-width:768px){.sale-types-grid{max-width:100%;padding:0 15px}}.ts-app-wrapper{width:100vw;height:100vh;background-color:#f4f7f9!important;display:flex;flex-direction:column;overflow:hidden;-webkit-user-select:none;user-select:none}.ts-nav-bar{background:#1e293b;height:60px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;box-shadow:0 2px 8px #00000026;z-index:10}.ts-nav-title{color:#fff!important;font-size:1.2rem;margin:0;font-weight:700}.ts-back-btn{background:#ffffff1a;border:none;color:#fff;padding:8px 15px;border-radius:8px;cursor:pointer;font-weight:600;transition:background .2s}.ts-back-btn:hover{background:#fff3}.ts-scroll-area{flex:1;overflow-y:auto;padding:15px 20px}.ts-compact-category{margin-bottom:25px}.ts-mini-header{font-size:.95rem;color:#475569;margin-bottom:12px;padding-left:10px;border-left:4px solid #3b82f6;font-weight:700;text-transform:uppercase}.ts-compact-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:12px}.ts-mini-card{height:90px;background:#fff!important;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 5px #0000000d;border:2px solid transparent;transition:transform .2s ease,opacity .3s ease;position:relative;animation:tsFadeUp .4s ease-out both}.ts-mini-card:active{transform:scale(.95)}@keyframes tsFadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes occupiedGlow{0%{box-shadow:0 0 5px #ef444433;border-color:#ef4444}50%{box-shadow:0 0 15px #ef444480;border-color:#f87171}to{box-shadow:0 0 5px #ef444433;border-color:#ef4444}}.ts-mini-card.occupied{background:#fff5f5!important;border-width:2px;animation:tsFadeUp .4s ease-out both,occupiedGlow 2s infinite ease-in-out;color:#991b1b}.ts-mini-card.occupied .ts-node-state{background-color:#ef4444;color:#fff;padding:2px 10px;border-radius:20px;font-size:.65rem;font-weight:800;margin-top:5px;text-transform:uppercase;opacity:1}.ts-mini-card.available{border-color:#10b981;color:#065f46}.ts-mini-card.available .ts-node-state{color:#059669;font-weight:700;text-transform:uppercase;font-size:.7rem;opacity:.8}.ts-node-id{font-size:1.2rem;font-weight:900;letter-spacing:-.5px}.ts-indicator-dot{position:absolute;top:6px;right:6px;width:10px;height:10px;background:#ef4444;border-radius:50%;border:2px solid white;box-shadow:0 0 5px #ef4444cc}@media(min-width:1024px){.ts-compact-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:15px}.ts-mini-card{height:110px}}:root{--bg-main: #0f172a;--bg-card: rgba(15, 23, 42, .8);--bg-sidebar: #ffffff;--text-main: #f8fafc;--text-sidebar: #0f172a;--border-color: rgba(255, 255, 255, .05);--input-bg: #0f172a}[data-theme=light]{--bg-main: #f1f5f9;--bg-card: #ffffff;--bg-sidebar: #e2e8f0;--text-main: #0f172a;--text-sidebar: #0f172a;--border-color: #cbd5e1;--input-bg: #ffffff}.ord-wrapper{display:flex;width:100vw;height:100vh;background:var(--bg-main)!important;font-family:Segoe UI,Inter,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;color:var(--text-main)!important;overflow:hidden;overflow-x:hidden;user-select:none;-webkit-user-select:none;transition:background .3s ease,color .3s ease}.ord-main-content{flex:1;display:flex;flex-direction:column;padding:1.5rem;background:radial-gradient(circle at top left,#1e293b,#0f172a);overflow:hidden;transition:background .3s ease}[data-theme=light] .ord-main-content{background:linear-gradient(180deg,#f8fafc,#e2e8f0)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes skeletonPulse{0%{background-color:#ffffff08}50%{background-color:#ffffff14}to{background-color:#ffffff08}}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideUpFade{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.ord-header-compact{display:flex;justify-content:space-between;align-items:center;background:#ffffff08;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:8px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.05);margin-bottom:.5rem;transition:background .3s,border-color .3s}[data-theme=light] .ord-header-compact{background:#fff;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000f}.back-nav-btn{background:#334155;border:none;color:#f8fafc;padding:8px 16px;border-radius:10px;font-weight:600;cursor:pointer;transition:.3s cubic-bezier(.4,0,.2,1)}[data-theme=light] .back-nav-btn{background:#fff;color:#1e293b;border:1px solid #cbd5e1}.back-nav-btn:hover{background:#3b82f6;color:#fff;transform:translate(-4px);border-color:#3b82f6}.dept-bar{display:flex;flex-wrap:wrap;gap:8px;padding:8px 4px;margin-bottom:.75rem;background:#ffffff05;border-radius:12px;align-content:flex-start}[data-theme=light] .dept-bar{background:#fff;border:1px solid #e2e8f0}.dept-bar::-webkit-scrollbar{display:none}.dept-btn{padding:8px 14px;border-radius:10px;border:1px solid #334155;background:#1e293b;color:#f8fafc;white-space:nowrap;cursor:pointer;font-weight:600;font-size:.9rem;transition:.3s cubic-bezier(.4,0,.2,1)}[data-theme=light] .dept-btn{background:#fff;color:#475569;border:1px solid #cbd5e1}[data-theme=light] .dept-btn:hover{background:#f1f5f9;border-color:#94a3b8}.dept-btn.active{background:#2563eb;border-color:#60a5fa;box-shadow:0 0 15px #2563eb66}[data-theme=light] .dept-btn.active{background:#2563eb;color:#fff;border-color:#2563eb}.ord-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:14px;padding:6px;overflow-y:auto;flex:1;align-items:start}.ord-card{display:flex;flex-direction:column;justify-content:space-between;padding:12px!important;min-height:140px;width:100%;min-width:0;overflow:hidden;box-sizing:border-box;background:var(--bg-card)!important;border:1px solid var(--border-color)!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:14px;text-align:center;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .3s ease,border-color .3s ease;animation:fadeInUp .5s ease backwards;font-family:Segoe UI,Inter,system-ui,sans-serif}.ord-card div{color:var(--text-main)!important}.ord-item-name{font-weight:600;font-size:.85rem;line-height:1.35;text-align:center;color:var(--text-main);margin-bottom:10px;min-height:2.7em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word;flex-shrink:0}.ord-card:hover{background:#ffffff0d!important;border-color:#3b82f6;transform:translateY(-5px);box-shadow:0 10px 20px #0000004d}.ord-card:active{transform:scale(.95)}[data-theme=light] .ord-search-box{background:#fff!important;border:1px solid #e2e8f0!important;color:#1e293b!important}[data-theme=light] .ord-card{background:#fff!important;border:1px solid #e2e8f0!important}[data-theme=light] .ord-card:hover{background:#f8fafc!important;border-color:#3b82f6!important}[data-theme=light] .ord-card .ord-item-name{color:#1e293b!important}[data-theme=light] .price-btn.normal,[data-theme=light] .price-btn.large{background:#f8fafc!important;border-color:#cbd5e1!important}[data-theme=light] .price-btn.normal span:last-child,[data-theme=light] .price-btn.large span:last-child{color:#1e293b!important}.price-selection-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:auto;width:100%;min-width:0;flex-shrink:0}.price-selection-grid.single{grid-template-columns:1fr}.price-selection-grid.single .price-btn{min-height:52px;padding:12px 10px}.price-selection-grid.single .price-btn-value{font-size:1rem}.price-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px 6px;border-radius:10px;border:2px solid transparent;cursor:pointer;transition:transform .2s,box-shadow .2s,border-color .2s;min-height:48px;min-width:0;font-size:.85rem}.price-btn:active{transform:scale(.97)}.price-btn-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.price-btn-value{font-size:.88rem;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.price-btn.normal{background:#3b82f626;border-color:#3b82f680}.price-btn.normal .price-btn-label{color:#60a5fa}.price-btn.normal .price-btn-value{color:var(--text-main)}.price-btn.normal:hover{background:#3b82f640;border-color:#3b82f6;box-shadow:0 4px 12px #3b82f64d}.price-btn.large{background:#f59e0b26;border-color:#f59e0b80}.price-btn.large .price-btn-label{color:#f59e0b}.price-btn.large .price-btn-value{color:var(--text-main)}.price-btn.large:hover{background:#f59e0b40;border-color:#f59e0b;box-shadow:0 4px 12px #f59e0b4d}.fade-in{animation:slideUpFade .4s ease forwards}.ord-card.skeleton{animation:skeletonPulse 1.5s infinite}.ord-receipt-sidebar{width:380px;background:#fff;color:#0f172a;display:flex;flex-direction:column;box-shadow:-20px 0 60px #0006;z-index:10;position:relative;overflow:hidden;padding-top:52px;pointer-events:auto}body.ordering-fullscreen .ord-wrapper{pointer-events:auto!important;position:relative;z-index:9998;touch-action:manipulation}body.ordering-fullscreen .ord-wrapper .ord-header-compact,body.ordering-fullscreen .ord-wrapper .back-nav-btn,:root:fullscreen .ord-wrapper .ord-header-compact,:root:fullscreen .ord-wrapper .back-nav-btn{pointer-events:auto!important;touch-action:manipulation;position:relative;z-index:15}body.ordering-fullscreen .ord-wrapper .ord-main-content,body.ordering-fullscreen .ord-wrapper .ord-receipt-sidebar{pointer-events:auto!important;touch-action:manipulation}body.ordering-fullscreen .ord-wrapper .ord-receipt-sidebar{z-index:50}body.ordering-fullscreen .ord-wrapper .ord-receipt-sidebar *{touch-action:manipulation}body.ordering-fullscreen .ord-wrapper button,body.ordering-fullscreen .ord-wrapper input,body.ordering-fullscreen .ord-wrapper [role=button],body.ordering-fullscreen .ord-wrapper .split-checkbox,body.ordering-fullscreen .ord-wrapper a{pointer-events:auto!important;touch-action:manipulation}body.ordering-fullscreen .ord-wrapper .ord-main-content button,body.ordering-fullscreen .ord-wrapper .ord-main-content .ord-card{touch-action:manipulation;-webkit-tap-highlight-color:rgba(59,130,246,.2)}:root:fullscreen .ord-wrapper,:root:-webkit-full-screen .ord-wrapper,:root:-moz-full-screen .ord-wrapper{pointer-events:auto!important;position:relative;z-index:9998}:root:fullscreen .ord-wrapper button,:root:fullscreen .ord-wrapper input,:root:-webkit-full-screen .ord-wrapper button,:root:-webkit-full-screen .ord-wrapper input{pointer-events:auto!important}.ord-receipt-header{padding:.75rem 1rem;background:#f8fafc;border-bottom:2px dashed #e2e8f0;flex-shrink:0}.ord-receipt-items{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;touch-action:pan-y;overscroll-behavior-y:contain}.ord-receipt-items::-webkit-scrollbar{width:6px}.ord-receipt-items::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}.ord-cart-item{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;border-bottom:1px solid #f1f5f9;transition:max-height .3s ease,opacity .3s ease;overflow:hidden}.history-sidebar{position:absolute;top:0;right:-100%;width:100%;height:100%;background:#fff;z-index:100;transition:transform .4s ease-in-out;display:flex;flex-direction:column}.history-sidebar.active{display:flex!important;animation:slideInRight .4s cubic-bezier(.4,0,.2,1) forwards;will-change:transform,opacity;transform:translate(-100%);right:0}.history-header{padding:1.5rem;background:#1e293b;color:#fff;display:flex;justify-content:space-between;align-items:center}.history-content{flex:1;overflow-y:auto;padding:15px}.history-content::-webkit-scrollbar{width:4px}.history-content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}.history-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #f1f5f9;font-size:.9rem;color:#1e293b;font-weight:600}.status-badge{background:#e2e8f0;padding:2px 8px;border-radius:5px;font-size:.7rem}.split-checkbox{width:20px;height:20px;cursor:pointer;accent-color:#2563eb}.history-toggle-btn{background:#1e293b!important;color:#fff!important;border:none;padding:8px 15px;border-radius:8px;font-size:.8rem;font-weight:700;cursor:pointer;transition:.3s}.history-toggle-btn:hover{background:#3b82f6}.ord-qty-control{display:flex;align-items:center;background:#f1f5f9;padding:4px 8px;border-radius:30px;gap:10px}.ord-qty-btn{width:26px;height:26px;background:#3b82f6;color:#fff;border:none;border-radius:50%;cursor:pointer;font-weight:900;display:flex;align-items:center;justify-content:center;transition:.2s}.ord-qty-btn:hover{background:#2563eb}.ord-receipt-footer{padding:.5rem .75rem;background:#f8fafc;border-top:1px solid #e2e8f0;flex-shrink:0}.total-summary{display:flex;justify-content:space-between;font-size:1.2rem;font-weight:900;color:#1e293b;margin-bottom:.5rem}.btn-place-order{width:100%;padding:1.2rem;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border:none;border-radius:14px;font-size:1.2rem;font-weight:800;cursor:pointer;box-shadow:0 10px 25px #2563eb66;transition:.3s}.btn-place-order:disabled{background:#cbd5e1;box-shadow:none;cursor:not-allowed}.btn-place-order:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 15px 30px #2563eb80}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}@media(max-width:768px){.ord-wrapper{flex-direction:column;min-height:100vh;min-height:100dvh}.ord-receipt-sidebar{width:100%;order:1;flex:0 0 auto;height:auto;max-height:min(40vh,320px);min-height:188px;box-shadow:0 6px 28px #0000001f;border-bottom:1px solid #e2e8f0;display:flex;flex-direction:column;padding-top:50px}.ord-receipt-header{padding:.55rem .85rem}.ord-receipt-items{-webkit-overflow-scrolling:touch;touch-action:pan-y}.ord-cart-item{padding:8px 12px}.ord-main-content{order:2;flex:1;min-height:0;height:auto;padding:.9rem 1rem 1rem}.ord-grid{grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:10px}.total-summary{font-size:1.25rem}}@keyframes ordMobileSheetIn{0%{transform:translateY(18px);opacity:.85}to{transform:translateY(0);opacity:1}}.ord-mobile-find-items-btn{width:100%;min-height:52px;margin-bottom:.75rem;border:none;border-radius:12px;font-size:1.05rem;font-weight:800;cursor:pointer;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;box-shadow:0 6px 18px #2563eb59;transition:transform .15s ease,box-shadow .15s ease}.ord-mobile-find-items-btn:active{transform:scale(.98)}.ord-mobile-sheet-controls{flex-shrink:0;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:6px}[data-theme=light] .ord-mobile-sheet-controls{border-bottom-color:#e2e8f0}.ord-mobile-sheet-search{width:100%;box-sizing:border-box;padding:12px 16px!important;border-radius:12px!important;border:1px solid rgba(255,255,255,.12)!important;background:#0f172a8c!important;color:#f8fafc!important;font-size:.95rem!important;outline:none}.ord-mobile-sheet-search::placeholder{color:#f8fafc73}[data-theme=light] .ord-mobile-sheet-search{background:#fff!important;border:1px solid #cbd5e1!important;color:#0f172a!important}[data-theme=light] .ord-mobile-sheet-search::placeholder{color:#94a3b8}.ord-mobile-search-label{margin-top:4px}.ord-mobile-sheet-hint{margin:2px 0 0;font-size:.78rem;font-weight:600;color:#f8fafc80;line-height:1.35}[data-theme=light] .ord-mobile-sheet-hint{color:#64748b}.ord-mobile-category-label{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#f8fafcbf}[data-theme=light] .ord-mobile-category-label{color:#475569}.ord-mobile-dept-select{width:100%;min-height:48px;padding:12px 40px 12px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:#0f172abf;color:#f8fafc;font-size:1rem;font-weight:600;outline:none;cursor:pointer;box-sizing:border-box;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%2394a3b8' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10l-5 5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}[data-theme=light] .ord-mobile-dept-select{background-color:#fff;border:1px solid #cbd5e1;color:#0f172a;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23475569' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10l-5 5z'/%3E%3C/svg%3E")}.ord-mobile-items-overlay{position:fixed;inset:0;z-index:900;background:#0f172ab8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:flex-end;justify-content:center;padding:0;animation:modalFadeIn .22s ease-out forwards}.ord-mobile-items-panel{width:100%;max-height:92vh;min-height:0;background:linear-gradient(180deg,#1e293b,#0f172a);border-radius:20px 20px 0 0;box-shadow:0 -12px 48px #00000073;display:flex;flex-direction:column;animation:ordMobileSheetIn .32s ease forwards}[data-theme=light] .ord-mobile-items-panel{background:linear-gradient(180deg,#fff,#f1f5f9);box-shadow:0 -12px 40px #0f172a1f}.ord-mobile-items-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px 12px;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}[data-theme=light] .ord-mobile-items-panel-head{border-bottom-color:#e2e8f0}.ord-mobile-items-title{margin:0;font-size:1.05rem;font-weight:800;color:#f8fafc;line-height:1.3;flex:1;min-width:0}[data-theme=light] .ord-mobile-items-title{color:#0f172a}.ord-mobile-items-close{flex-shrink:0;width:44px;height:44px;border:none;border-radius:12px;background:#ffffff14;color:#f8fafc;font-size:1.25rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease}.ord-mobile-items-close:active{background:#ffffff26}[data-theme=light] .ord-mobile-items-close{background:#f1f5f9;color:#0f172a}[data-theme=light] .ord-mobile-items-close:active{background:#e2e8f0}.ord-mobile-items-panel-scroll{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;padding:10px 12px calc(24px + env(safe-area-inset-bottom,0px));touch-action:pan-y}.ord-mobile-sheet-grid.ord-grid{flex:none;overflow:visible;max-height:none;grid-template-columns:repeat(2,1fr);gap:10px}@media(min-width:400px){.ord-mobile-sheet-grid.ord-grid{grid-template-columns:repeat(auto-fill,minmax(148px,1fr))}}.ord-mobile-items-empty{margin:0;padding:2.5rem 1rem;text-align:center;font-size:.95rem;font-weight:600;color:#f8fafca6;line-height:1.5}[data-theme=light] .ord-mobile-items-empty{color:#64748b}.ord-action-footer{display:flex;flex-direction:column;gap:12px}.btn-secondary-action{background:#94a3b81a;color:#475569;border:1px solid #cbd5e1;padding:10px;border-radius:10px;font-weight:700;cursor:pointer;transition:.3s}.btn-secondary-action:hover{background:#f1f5f9}.btn-settle-bill{flex:1;padding:1.2rem;background:#10b981;color:#fff;border:none;border-radius:14px;font-size:1.1rem;font-weight:800;cursor:pointer;box-shadow:0 10px 25px #10b9814d}.btn-settle-bill:disabled{background:#cbd5e1;cursor:not-allowed;box-shadow:none}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalZoomIn{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.custom-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:modalFadeIn .3s ease-out forwards}.custom-modal-container{background:#1e1b2e;width:90%;max-width:400px;padding:24px;border-radius:20px;border:1px solid rgba(255,255,255,.1);box-shadow:0 20px 25px -5px #00000080;animation:modalZoomIn .3s cubic-bezier(.34,1.56,.64,1) forwards}.modal-title{color:#fff;font-size:1.1rem;font-weight:700;margin-bottom:15px;line-height:1.5}.modal-input{width:100%;padding:12px;background:#ffffff0d;border:2px solid #3f3b5a;border-radius:12px;color:#fff;font-size:1rem;outline:none;transition:.3s;margin-bottom:20px}.modal-input:focus{border-color:#a855f7;background:#ffffff14}.modal-actions{display:flex;gap:12px;justify-content:flex-end}.modal-btn{padding:10px 20px;border-radius:10px;font-weight:700;cursor:pointer;border:none;transition:.2s}.modal-btn-cancel{background:#3f3b5a;color:#fff}.modal-btn-confirm{background:#a855f7;color:#fff}.modal-btn:active{transform:scale(.95)}.history-invoice-block button:active{transform:scale(.92)}.reprint-label{background:#ef4444;color:#fff;padding:2px 6px;border-radius:4px;font-size:.6rem;font-weight:900;text-transform:uppercase;margin-right:5px}.note-modal-wide{max-width:450px!important}.common-notes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:15px;max-height:200px;overflow-y:auto;padding-right:5px}.note-pill{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#cbd5e1;padding:10px 5px;border-radius:8px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s ease;text-align:center}.note-pill:hover{background:#ffffff1a}.note-pill.active{background:#a855f7;color:#fff;border-color:#a855f7;box-shadow:0 4px 12px #a855f74d}.table-transfer-grid button{transition:transform .2s ease,background-color .3s ease;border:1px solid rgba(255,255,255,.1)!important;box-shadow:0 4px 6px #0000001a}.table-transfer-grid button:active{transform:scale(.95)}.table-transfer-grid button:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-2px)}.table-transfer-grid button:disabled{opacity:1;cursor:default;border:2px solid #3b82f6!important}.settle-container{padding:20px;max-width:500px;margin:auto;will-change:transform,opacity}.summary-row{display:flex;justify-content:space-between;padding:10px 0;font-weight:600}.vip-charge{color:#f59e0b}.total{font-size:1.5rem;color:#10b981;border-top:2px solid #eee}.pay-btn.active{background:#2563eb;color:#fff;transform:scale(1.05);transition:transform .2s cubic-bezier(.175,.885,.32,1.275)}.item-selection-zone{display:flex;gap:8px;height:55px;margin-bottom:10px}.size-btn{flex:1;border:1px solid rgba(255,255,255,.1);border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);background:#ffffff08}.size-btn.normal-trigger:hover{background:#10b98126;border-color:#10b981}.size-btn.large-trigger:hover{background:#ef444426;border-color:#ef4444}.size-label{font-size:.6rem;font-weight:900;text-transform:uppercase;opacity:.7}.size-price{font-size:.75rem;font-weight:700;color:#fff}.size-btn:active{transform:scale(.92)}.p-label{font-size:.65rem;text-transform:uppercase;font-weight:800;color:#94a3b8;letter-spacing:.5px;margin-bottom:2px}.p-value{font-size:.8rem;font-weight:900;color:#fff}.settle-keypad-overlay{position:fixed;inset:0;background:#0006;z-index:2500;display:flex;align-items:stretch;justify-content:flex-end}.settle-keypad-panel{width:280px;max-width:100%;background:#1e293b;padding:16px;border-left:1px solid #334155;box-shadow:-10px 0 30px #0000004d;display:flex;flex-direction:column}.settle-keypad-close{background:#10b981;color:#fff;border:none;padding:8px 16px;border-radius:8px;font-weight:700;cursor:pointer}.settle-keypad-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;flex:1}.settle-keypad-key{background:#334155;color:#f8fafc;border:none;border-radius:12px;font-size:1.4rem;font-weight:700;padding:16px;cursor:pointer;transition:.2s}.settle-keypad-key:hover{background:#475569}.settle-keypad-key:active{transform:scale(.95)}@media(max-width:480px){.ord-receipt-sidebar{max-height:min(38vh,300px);min-height:176px;padding-top:48px}.ord-main-content{padding:.5rem .75rem}.dept-bar{padding:8px 2px 10px}.dept-btn{padding:10px 14px;min-height:44px;font-size:.85rem}.ord-grid{gap:10px;grid-template-columns:repeat(2,1fr)}.ord-card{min-height:120px;padding:12px!important}.ord-item-name{font-size:.85rem}.price-btn{min-height:46px}.settle-keypad-panel{width:260px}.settle-keypad-key{font-size:1.2rem;padding:14px}}.ord-call-modal-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px;box-sizing:border-box}.ord-call-modal-box{background:#fff;border-radius:16px;padding:24px;max-width:420px;width:100%;max-height:85vh;overflow-y:auto;box-shadow:0 20px 50px #00000026}.ord-call-modal-title{margin:0 0 15px;font-size:1.2rem;color:#1e293b}.ord-call-modal-text{margin:0 0 8px;font-size:.9rem;color:#64748b}.ord-call-modal-text2{margin:12px 0 6px;font-size:.85rem;color:#64748b}.ord-call-pending-loading{margin:12px 0;color:#64748b;font-size:.9rem}.ord-call-pending-label{margin:0 0 8px;font-size:.85rem;font-weight:600;color:#475569}.ord-call-pending-list{max-height:200px;overflow-y:auto;margin-bottom:8px;border:1px solid #e2e8f0;border-radius:10px;padding:6px;background:#f8fafc}.ord-call-pending-item{display:block;width:100%;text-align:left;padding:12px 14px;margin-bottom:6px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;cursor:pointer;font-size:1rem;color:#1e293b;transition:background .2s,border-color .2s}.ord-call-pending-item:last-child{margin-bottom:0}.ord-call-pending-item:hover{background:#eff6ff;border-color:#3b82f6}.ord-call-pending-phone{display:block;font-weight:600}.ord-call-pending-meta{display:block;font-size:.8rem;color:#64748b;margin-top:2px}.ord-call-phone-input{width:100%;padding:14px 16px;font-size:1.1rem;border:2px solid #e2e8f0;border-radius:10px;outline:none;box-sizing:border-box;letter-spacing:1px;background:#f1f5f9;color:#1e293b}.ord-call-phone-input:focus{border-color:#3b82f6}.ord-call-phone-keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.ord-call-phone-key{padding:14px 10px;font-size:1.25rem;font-weight:700;border:1px solid #e2e8f0;border-radius:10px;background:#fff;color:#1e293b;cursor:pointer;transition:background .15s,transform .1s}.ord-call-phone-key:hover{background:#f1f5f9}.ord-call-phone-key:active{transform:scale(.96)}.ord-call-phone-key.key-bksp{background:#fef2f2;color:#dc2626;font-size:1.1rem}.ord-call-phone-key.key-bksp:hover{background:#fee2e2}.ord-call-phone-key.key-done{background:#10b981;color:#fff;font-size:1rem}.ord-call-phone-key.key-done:hover{background:#059669}.ord-call-modal-buttons{display:flex;gap:10px;margin-top:20px}.ord-call-modal-btn{flex:1;padding:12px 20px;border-radius:10px;font-weight:700;cursor:pointer;border:none;transition:.2s}.ord-call-modal-btn.cancel{background:#f1f5f9;color:#64748b}.ord-call-modal-btn.confirm{background:#10b981;color:#fff}.ord-call-modal-btn.confirm:hover{background:#059669}.reports-page{min-height:100vh;background:#f8fafc;color:#1e293b;padding:80px 20px 20px;box-sizing:border-box;width:100%;max-width:100vw;display:flex;justify-content:center}.reports-center-wrap{max-width:1200px;width:100%;min-width:0;box-sizing:border-box}.reports-header{text-align:center;margin-bottom:24px;position:relative}.reports-header-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:12px}.reports-back-btn,.reports-expenses-link{background:#fff;border:1px solid #e2e8f0;color:#1e293b;padding:10px 18px;border-radius:10px;font-weight:600;cursor:pointer}.reports-back-btn:hover,.reports-expenses-link:hover{background:#3b82f6;color:#fff;border-color:#3b82f6}.reports-expenses-link{background:#f0fdf4;border-color:#86efac;color:#166534}.reports-expenses-link:hover{background:#10b981;border-color:#10b981;color:#fff}.reports-header h1{margin:0 0 5px;font-size:clamp(1.3rem,4vw,1.8rem);color:#0f172a}.reports-header p{margin:0;font-size:.9rem;color:#64748b}.reports-body{width:100%;display:flex;flex-direction:column;align-items:stretch;box-sizing:border-box}.reports-section{background:#fff;border-radius:16px;padding:24px;box-shadow:0 4px 15px #0000000f;margin-bottom:24px;width:100%;box-sizing:border-box}.reports-section h2{margin:0 0 20px;font-size:1.15rem;color:#475569}.reports-date-section .reports-date-row{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end}.reports-date-section label{display:flex;flex-direction:column;gap:6px;font-size:.85rem;color:#64748b}.reports-date-section input[type=date]{padding:10px 14px;border:1px solid #e2e8f0;border-radius:8px;font-size:1rem;min-width:160px}.reports-apply-btn{padding:10px 24px;background:#10b981;color:#fff;border:none;border-radius:8px;font-weight:700;cursor:pointer}.reports-apply-btn:hover{background:#059669}.reports-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}.reports-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px}.reports-card{padding:20px;border-radius:12px;border:1px solid #e2e8f0;display:flex;flex-direction:column;gap:8px}.reports-card.highlight{background:linear-gradient(135deg,#10b981,#059669);border:none;color:#fff}.reports-card-label{font-size:.85rem;color:#64748b}.reports-card.highlight .reports-card-label{color:#ffffffe6}.reports-card-value{font-size:1.4rem;font-weight:800;color:#1e293b}.reports-card.highlight .reports-card-value{color:#fff}.reports-profit-section{margin-bottom:24px}.reports-profit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px}.reports-expense-card .reports-card-value{color:#dc2626}.reports-profit-card.profit .reports-card-value{color:#059669;font-weight:800}.reports-profit-card.loss .reports-card-value{color:#dc2626;font-weight:800}.reports-payment-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px}.reports-payment-card{padding:16px;border:1px solid #e2e8f0;border-radius:12px;display:flex;flex-direction:column;gap:6px;cursor:pointer;transition:border-color .2s,box-shadow .2s}.reports-payment-card:hover{border-color:#3b82f6;box-shadow:0 2px 8px #3b82f633}.reports-payment-card.selected{border-color:#2563eb;background:#eff6ff;box-shadow:0 2px 12px #2563eb40}.reports-filter-hint{margin:0 0 12px;font-size:.9rem;color:#64748b}.reports-payment-type{font-weight:700;color:#1e293b;font-size:1rem}.reports-payment-count{font-size:.85rem;color:#64748b}.reports-payment-total{font-size:1.2rem;font-weight:800;color:#10b981}.reports-table-section{overflow:hidden}.reports-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.reports-table{width:100%;min-width:500px;border-collapse:collapse;font-size:.9rem}.reports-table th,.reports-table td{padding:12px 16px;text-align:left;border-bottom:1px solid #e2e8f0;color:#1e293b!important}.reports-table th{background:#f8fafc;color:#0f172a!important;font-weight:700}.reports-table td.amount{font-weight:700;color:#10b981!important}.reports-skeleton,.reports-empty{color:#64748b;padding:20px;text-align:center}.reports-log-cancel{display:inline-block;padding:2px 8px;border-radius:6px;font-size:.8rem;font-weight:700;background:#fef2f2;color:#dc2626}.reports-log-reverse{display:inline-block;padding:2px 8px;border-radius:6px;font-size:.8rem;font-weight:700;background:#eff6ff;color:#2563eb}@media(min-width:769px){.reports-page{padding:90px 32px 24px}}@media(max-width:768px){.reports-grid-2{grid-template-columns:1fr;gap:16px}.reports-section{padding:16px}.reports-date-row{flex-direction:column;align-items:stretch}.reports-date-section input[type=date]{min-width:100%}.reports-back-btn{position:static;margin-bottom:12px;display:inline-block}.reports-header{margin-bottom:20px}}@media(max-width:480px){.reports-page{padding:70px 12px 12px}.reports-cards,.reports-payment-grid,.reports-profit-grid{grid-template-columns:1fr}}.daily-expenses-page{min-height:100vh;background:#f8fafc;color:#1e293b;padding:80px 20px 20px;box-sizing:border-box;width:100%;max-width:100vw;display:flex;justify-content:center}.daily-expenses-center-wrap{max-width:1200px;width:100%;min-width:0;box-sizing:border-box}.daily-expenses-header{text-align:center;margin-bottom:24px;position:relative}.daily-expenses-header-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:12px}.daily-expenses-back,.daily-expenses-reports-link{background:#fff;border:1px solid #e2e8f0;color:#1e293b;padding:10px 18px;border-radius:10px;font-weight:600;cursor:pointer}.daily-expenses-back:hover,.daily-expenses-reports-link:hover{background:#3b82f6;color:#fff;border-color:#3b82f6}.daily-expenses-reports-link{background:#f0fdf4;border-color:#86efac;color:#166534}.daily-expenses-reports-link:hover{background:#10b981;border-color:#10b981;color:#fff}.daily-expenses-header h1{margin:0 0 5px;font-size:clamp(1.3rem,4vw,1.8rem);color:#0f172a}.daily-expenses-header p{margin:0;font-size:.9rem;color:#64748b}.daily-expenses-body{width:100%;display:flex;flex-direction:column;align-items:stretch;box-sizing:border-box}.daily-expenses-section{background:#fff;border-radius:16px;padding:24px;box-shadow:0 4px 15px #0000000f;margin-bottom:24px}.daily-expenses-section h2{margin:0 0 16px;font-size:1.15rem;color:#0f172a}.daily-expenses-form{display:flex;flex-direction:column;gap:16px}.daily-expenses-form .form-row{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-start}.daily-expenses-form label{display:flex;flex-direction:column;gap:6px;font-size:.9rem;font-weight:600;color:#475569}.daily-expenses-form label span{display:block}.daily-expenses-form input[type=date],.daily-expenses-form input[type=number],.daily-expenses-form input[type=text],.daily-expenses-form select{padding:10px 14px;border:1px solid #e2e8f0;border-radius:10px;font-size:1rem;min-width:140px}.category-select-wrap{display:flex;align-items:center;gap:8px}.category-select-wrap select{flex:1;min-width:0}.btn-add-category{width:36px;height:36px;border:1px solid #e2e8f0;background:#f8fafc;border-radius:10px;font-size:1.2rem;font-weight:700;cursor:pointer;color:#64748b}.btn-add-category:hover{background:#e2e8f0;color:#0f172a}.add-category-inline{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.add-category-inline input{flex:1;min-width:160px}.btn-save-category,.btn-cancel-category{padding:8px 16px;border-radius:8px;font-weight:600;cursor:pointer;border:1px solid #e2e8f0}.btn-save-category{background:#10b981;color:#fff;border-color:#10b981}.btn-cancel-category{background:#f8fafc;color:#64748b}.btn-submit-expense{padding:12px 24px;background:#2563eb;color:#fff;border:none;border-radius:10px;font-weight:700;font-size:1rem;cursor:pointer;align-self:flex-start}.btn-submit-expense:hover:not(:disabled){background:#1d4ed8}.btn-submit-expense:disabled{opacity:.6;cursor:not-allowed}.daily-expenses-skeleton,.daily-expenses-empty{padding:24px;text-align:center;color:#64748b}.daily-expenses-total-row{display:flex;justify-content:space-between;padding:12px 0;margin-bottom:12px;border-bottom:2px solid #e2e8f0;font-size:1.1rem}.daily-expenses-total-row strong{color:#0f172a}.daily-expenses-table-wrap{overflow-x:auto}.daily-expenses-table{width:100%;border-collapse:collapse;font-size:.95rem}.daily-expenses-table th,.daily-expenses-table td{padding:10px 12px;text-align:left;border-bottom:1px solid #f1f5f9}.daily-expenses-table th{background:#f8fafc;font-weight:700;color:#475569}.daily-expenses-table .amount-col{text-align:right}.daily-expenses-table .actions-col{white-space:nowrap}.daily-expenses-group-row td{background:#f1f5f9;font-weight:700}.btn-edit-sm,.btn-delete-sm{padding:4px 10px;margin-right:6px;border-radius:6px;font-size:.8rem;font-weight:600;cursor:pointer;border:1px solid #e2e8f0}.btn-edit-sm{background:#eff6ff;color:#2563eb}.btn-delete-sm{background:#fef2f2;color:#dc2626}.btn-edit-sm:hover,.btn-delete-sm:hover{opacity:.9}.daily-expenses-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.daily-expenses-modal{background:#fff;border-radius:16px;padding:24px;max-width:420px;width:100%;box-shadow:0 20px 40px #0003}.daily-expenses-modal h3{margin:0 0 16px}.daily-expenses-desc{margin:0 0 12px;font-size:.9rem;color:#64748b}@media(max-width:768px){.daily-expenses-page{padding-top:20px}.daily-expenses-section{padding:16px}.daily-expenses-form .form-row{flex-direction:column}.daily-expenses-back,.daily-expenses-reports-link{position:relative;z-index:50;pointer-events:auto}}.settings-page{max-width:600px;width:100%;margin:0 auto;padding:1.5rem;min-height:100vh;color:#1e293b;box-sizing:border-box}.settings-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.settings-header .back-btn{background:#e2e8f0;border:none;padding:8px 14px;border-radius:8px;font-weight:600;cursor:pointer}.settings-header h1{margin:0;font-size:1.5rem;color:#1e293b}.settings-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:1.25rem;margin-bottom:1rem;color:#1e293b}.settings-card h2{margin:0 0 .5rem;font-size:1.1rem;color:#0f172a}.settings-desc{color:#64748b;font-size:.9rem;margin-bottom:1rem}.db-status-row{margin-bottom:1rem}.db-status-row .muted{color:#64748b}.db-status-row strong{color:#1e293b}.btn-primary{background:#2563eb;color:#fff;border:none;padding:10px 18px;border-radius:8px;font-weight:600;cursor:pointer}.btn-primary:disabled{opacity:.7;cursor:not-allowed}.settings-notify{padding:12px 16px;border-radius:8px;margin-top:1rem;font-weight:500}.settings-notify.success{background:#dcfce7;color:#166534;border:1px solid #86efac}.settings-notify.error{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5}.settings-form-row{margin-bottom:12px}.settings-form-row label{display:block;font-weight:600;margin-bottom:4px;font-size:.9rem;color:#1e293b}.settings-form-row input,.settings-form-row select{width:100%;padding:8px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:1rem;box-sizing:border-box}.settings-user-form input,.settings-user-form select{display:block;width:100%;padding:8px 12px;margin-bottom:8px;border:1px solid #e2e8f0;border-radius:8px;box-sizing:border-box}.settings-user-form div{margin-top:8px}.settings-users-table-wrap{overflow-x:auto}.settings-users-table{width:100%;border-collapse:collapse;font-size:.9rem}.settings-users-table th,.settings-users-table td{padding:8px 10px;text-align:left;border-bottom:1px solid #e2e8f0;color:#1e293b}.settings-users-table th{background:#f8fafc;font-weight:700;color:#0f172a!important}.settings-users-table td{color:#1e293b!important}.settings-phone-input{width:120px;padding:4px 8px;border-radius:6px;border:1px solid #e2e8f0}.settings-edit-btn{margin-left:8px;padding:2px 8px;font-size:.8rem;background:#e2e8f0;border:none;border-radius:4px;cursor:pointer}.settings-edit-btn:hover{background:#cbd5e1}.settings-gate-card{max-width:360px}.settings-gate-input{width:100%;padding:12px 14px;border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;margin-bottom:12px;box-sizing:border-box}.settings-gate-input:focus{outline:none;border-color:#2563eb}.settings-gate-error{margin:0 0 12px;color:#dc2626;font-size:.9rem}.settings-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.settings-modal{background:#fff;border-radius:12px;padding:1.25rem;max-width:400px;width:100%;max-height:90vh;overflow-y:auto;border:1px solid #e2e8f0}.settings-modal h3{margin:0 0 .5rem;font-size:1.1rem;color:#0f172a}.settings-pages-checkboxes{margin-top:8px}.muted{color:#64748b}.roster-page{width:100%;max-width:1400px;margin:0 auto;padding:1rem 1.5rem;min-height:100vh;box-sizing:border-box;font-family:Segoe UI,Inter,system-ui,sans-serif}.roster-header{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1rem}.roster-header .back-btn{background:#e2e8f0;border:none;padding:10px 16px;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer;color:#1e293b}.roster-header h1{margin:0;font-size:1.35rem;font-weight:700;flex:1;color:#0f172a}.roster-date{padding:10px 14px;border-radius:8px;border:1px solid #cbd5e1;font-size:1rem;color:#1e293b}.roster-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:1rem;border-bottom:1px solid #e2e8f0;padding-bottom:10px}.roster-tabs .tab{padding:10px 16px;border:none;background:#f1f5f9;border-radius:8px;font-weight:600;font-size:.95rem;cursor:pointer;color:#334155}.roster-tabs .tab.active{background:#2563eb;color:#fff}.roster-content{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:1.5rem}.roster-content .hint{color:#475569;font-size:1rem;line-height:1.5;margin-bottom:1rem}.roster-grid{display:flex;flex-direction:column;gap:10px;margin-bottom:1rem}.roster-row{display:flex;align-items:center;gap:1rem}.roster-row .name{min-width:160px;font-weight:600;font-size:1rem;color:#1e293b}.roster-row select{padding:10px 14px;border-radius:8px;border:1px solid #cbd5e1;font-size:1rem;color:#1e293b;background:#fff}.btn-save{background:#2563eb;color:#fff;border:none;padding:10px 20px;border-radius:8px;font-weight:600;cursor:pointer}.btn-save:disabled{opacity:.7;cursor:not-allowed}.steward-tables-section{margin-bottom:1rem}.steward-block{margin-bottom:1rem;padding:10px 0;border-bottom:1px solid #f1f5f9}.steward-block strong{display:block;margin-bottom:8px}.table-chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.chip{display:inline-flex;align-items:center;gap:4px;background:#e2e8f0;padding:4px 10px;border-radius:20px;font-size:.9rem}.chip-remove{background:none;border:none;cursor:pointer;font-size:1.1rem;line-height:1;padding:0 2px}.table-chips select{padding:6px 10px;border-radius:6px;border:1px solid #cbd5e1}.attendance-list{margin-bottom:1rem}.attendance-row{display:grid;grid-template-columns:1fr auto auto 1fr;gap:1rem;padding:8px 0;border-bottom:1px solid #f1f5f9}.attendance-row .small{font-size:.85rem;color:#64748b}.attendance-form{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:1rem 0;border-top:1px solid #e2e8f0}.attendance-form h3{margin:0 0 .5rem;width:100%;font-size:1.1rem;color:#1e293b}.attendance-form select,.attendance-form input{padding:10px 14px;border-radius:8px;border:1px solid #cbd5e1;font-size:1rem;color:#1e293b;background:#fff}.attendance-form input::placeholder{color:#64748b}.attendance-form button{background:#2563eb;color:#fff;border:none;padding:10px 18px;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer}.dashboard-cards{display:flex;flex-wrap:wrap;gap:1rem}.dash-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:1rem 1.25rem;min-width:160px}.dash-name{display:block;font-weight:700;margin-bottom:4px}.dash-count{color:#64748b;font-size:.95rem}.handover-form{display:flex;flex-direction:column;gap:12px;max-width:400px}.handover-form select{padding:10px 12px;border-radius:8px;border:1px solid #cbd5e1}.handover-tables{display:flex;flex-wrap:wrap;gap:10px}.handover-tables label{display:flex;align-items:center;gap:6px;cursor:pointer}.handover-form button{background:#2563eb;color:#fff;border:none;padding:10px 18px;border-radius:8px;font-weight:600;cursor:pointer}.handover-form button:disabled{opacity:.7;cursor:not-allowed}.help-tab{max-width:800px}.help-list{display:flex;flex-direction:column;gap:1rem}.help-item{display:flex;gap:1rem;align-items:flex-start;padding:.75rem 0;border-bottom:1px solid #f1f5f9}.help-letter{flex-shrink:0;width:2rem;height:2rem;background:#2563eb;color:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.1rem}.help-title{font-size:1.05rem;color:#1e293b}.help-text{margin:.25rem 0 0;font-size:1rem;line-height:1.5;color:#475569}.stewards-tab .stewards-list{margin-bottom:1rem}.stewards-table{width:100%;border-collapse:collapse;font-size:1rem}.stewards-table th,.stewards-table td{padding:12px 14px;text-align:left;border-bottom:1px solid #e2e8f0;color:#1e293b}.stewards-table th{font-weight:700;background:#f8fafc}.btn-add-steward{margin-bottom:1rem}.add-steward-form{max-width:400px;padding:1rem 0;border-top:1px solid #e2e8f0}.add-steward-form h3{margin:0 0 1rem;font-size:1.1rem;color:#1e293b}.add-steward-form label{display:block;margin-top:10px;margin-bottom:4px;font-weight:600;font-size:1rem;color:#334155}.add-steward-form input{width:100%;padding:10px 14px;border-radius:8px;border:1px solid #cbd5e1;font-size:1rem;color:#1e293b;background:#fff;box-sizing:border-box}.add-steward-form .form-actions{display:flex;gap:10px;margin-top:1rem}.add-steward-form button[type=submit]{background:#2563eb;color:#fff;border:none;padding:10px 18px;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer}.add-steward-form button[type=button]{background:#e2e8f0;color:#334155;border:none;padding:10px 18px;border-radius:8px;font-weight:600;cursor:pointer}.steward-message{margin-top:1rem;padding:10px 14px;border-radius:8px;font-size:1rem}.steward-message.success{background:#dcfce7;color:#166534}.steward-message.error{background:#fee2e2;color:#991b1b}:root{--grn-bg: #f8fafc;--grn-surface: #ffffff;--grn-border: #e2e8f0;--grn-text: #0f172a;--grn-text-muted: #64748b;--grn-accent: #0ea5e9;--grn-accent-soft: rgba(14, 165, 233, .08);--grn-success: #10b981;--grn-success-soft: rgba(16, 185, 129, .12);--grn-error-soft: rgba(239, 68, 68, .1);--grn-error-text: #b91c1c;--grn-shadow: 0 1px 3px rgba(0, 0, 0, .06);--grn-shadow-lg: 0 10px 40px -10px rgba(0, 0, 0, .12);--grn-radius: 12px;--grn-radius-sm: 8px;--grn-font: "Inter", system-ui, -apple-system, sans-serif}[data-theme=dark] .grn-page,.grn-page.dark{--grn-bg: #0f172a;--grn-surface: #1e293b;--grn-border: #334155;--grn-text: #f1f5f9;--grn-text-muted: #94a3b8;--grn-accent-soft: rgba(14, 165, 233, .15);--grn-success-soft: rgba(16, 185, 129, .15);--grn-error-soft: rgba(239, 68, 68, .15);--grn-shadow: 0 1px 3px rgba(0, 0, 0, .2);--grn-shadow-lg: 0 10px 40px -10px rgba(0, 0, 0, .4)}.grn-page{min-height:100vh;background:var(--grn-bg);font-family:var(--grn-font);padding:clamp(16px,3vw,28px) clamp(12px,2.5vw,24px) 40px;box-sizing:border-box}.grn-layout{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:clamp(20px,4vw,28px);align-items:start}.grn-main{min-width:0}.grn-wrap{max-width:100%}.grn-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;gap:16px}.grn-back{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:none;border-radius:var(--grn-radius-sm);background:var(--grn-surface);color:var(--grn-text-muted);font-size:.875rem;font-weight:600;cursor:pointer;box-shadow:var(--grn-shadow);transition:color .2s,background .2s,box-shadow .2s}.grn-back:hover{color:var(--grn-accent);background:var(--grn-accent-soft)}.grn-title{margin:0;font-size:1.5rem;font-weight:700;letter-spacing:-.02em;color:var(--grn-text)}.grn-steps{margin:-8px 0 20px;font-size:.8rem;color:var(--grn-text-muted)}.grn-steps span{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--grn-accent-soft);color:var(--grn-accent);font-weight:700;font-size:.7rem}.grn-card{background:var(--grn-surface);overflow:visible;border-radius:var(--grn-radius);box-shadow:var(--grn-shadow-lg);padding:24px;margin-bottom:20px;border:1px solid var(--grn-border)}.grn-card-title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--grn-text-muted);margin:0 0 16px}.grn-field{margin-bottom:18px}.grn-field:last-child{margin-bottom:0}.grn-label{display:block;font-size:.8125rem;font-weight:600;color:var(--grn-text);margin-bottom:6px}.grn-label span{color:var(--grn-text-muted);font-weight:500}.grn-input{width:100%;padding:12px 14px;border-radius:var(--grn-radius-sm);border:1px solid var(--grn-border);font-size:.9375rem;color:var(--grn-text);background:var(--grn-surface);transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.grn-input::placeholder{color:var(--grn-text-muted)}.grn-input:hover{border-color:#cbd5e1}.grn-input:focus{outline:none;border-color:var(--grn-accent);box-shadow:0 0 0 3px var(--grn-accent-soft)}.grn-row{display:flex;gap:12px;align-items:stretch}.grn-row .grn-field{flex:1;min-width:0}.grn-btn-icon{width:44px;min-width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--grn-radius-sm);border:1px solid var(--grn-accent);background:var(--grn-accent-soft);color:var(--grn-accent);font-size:1.25rem;font-weight:600;cursor:pointer;transition:background .2s,color .2s,transform .15s}.grn-btn-icon:hover{background:var(--grn-accent);color:#fff}.grn-card-search{overflow:visible;position:relative;z-index:10}.grn-search-wrap{position:relative}.grn-search-wrap .grn-input{margin-bottom:0}.grn-suggestions{list-style:none;margin:4px 0 0;padding:6px;border-radius:var(--grn-radius-sm);background:var(--grn-surface);border:1px solid var(--grn-border);box-shadow:0 12px 32px #0000002e;max-height:280px;overflow-y:auto;position:absolute;left:0;right:0;top:100%;z-index:999;min-width:100%;box-sizing:border-box}.grn-suggestion-item{padding:10px 12px;cursor:pointer;border-radius:6px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;transition:background .15s;border-bottom:1px solid var(--grn-border)}.grn-suggestion-item:last-child{border-bottom:none}.grn-suggestion-item:hover{background:var(--grn-accent-soft)}.grn-sug-name{font-weight:600;font-size:.9rem;color:var(--grn-text);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grn-sug-price{font-size:.8125rem;font-weight:700;color:var(--grn-success);flex-shrink:0}.grn-sug-meta{font-size:.7rem;color:var(--grn-text-muted);width:100%;flex-shrink:0}.grn-selected-chip{margin-top:12px;padding:14px 16px;border-radius:var(--grn-radius-sm);background:var(--grn-success-soft);border:1px solid rgba(16,185,129,.25);display:grid;grid-template-columns:1fr auto;gap:8px 16px;align-items:center}.grn-selected-chip .name{font-weight:600;font-size:.9375rem;color:var(--grn-text)}.grn-selected-chip .meta{font-size:.75rem;color:var(--grn-text-muted)}.grn-selected-chip .price{font-weight:700;font-size:1rem;color:var(--grn-success);text-align:right}.grn-save-btn{width:100%;padding:14px 20px;border:none;border-radius:var(--grn-radius-sm);background:var(--grn-success);color:#fff;font-weight:600;font-size:1rem;cursor:pointer;transition:background .2s,transform .15s;margin-top:8px;box-shadow:0 2px 8px #10b98159}.grn-save-btn:hover:not(:disabled){background:#059669;transform:translateY(-1px)}.grn-save-btn:active:not(:disabled){transform:translateY(0)}.grn-save-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.grn-add-line-btn{width:100%;padding:12px 16px;border:1px dashed var(--grn-accent);border-radius:var(--grn-radius-sm);background:var(--grn-accent-soft);color:var(--grn-accent);font-weight:600;font-size:.9375rem;cursor:pointer;transition:background .2s,color .2s}.grn-add-line-btn:hover:not(:disabled){background:var(--grn-accent);color:#fff}.grn-add-line-btn:disabled{opacity:.5;cursor:not-allowed;border-style:solid}.grn-kbd-hint{margin:8px 0 0;font-size:.75rem;color:var(--grn-text-muted)}.grn-kbd-hint kbd{padding:2px 6px;border-radius:4px;background:var(--grn-border);font-size:.7rem}.grn-add-confirm{margin:12px 0 0;padding:10px 12px;border-radius:var(--grn-radius-sm);background:var(--grn-success-soft);color:#047857;font-size:.875rem;font-weight:600;animation:grnFadeIn .3s ease}@keyframes grnFadeIn{0%{opacity:0}to{opacity:1}}.grn-lines-card{margin-top:4px}.grn-lines-head{margin-bottom:12px}.grn-lines-summary{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:8px;font-size:.875rem;color:var(--grn-text-muted)}.grn-total-val{font-weight:700;color:var(--grn-success)}.grn-clear-list{background:none;border:none;color:var(--grn-text-muted);font-size:.8125rem;text-decoration:underline;cursor:pointer}.grn-clear-list:hover{color:var(--grn-error-text)}.grn-hint-box{padding:14px 16px;border-radius:var(--grn-radius-sm);background:var(--grn-accent-soft);border:1px dashed var(--grn-accent)}.grn-lines-table{width:100%;border-collapse:collapse;font-size:.8125rem}.grn-lines-table th,.grn-lines-table td{padding:8px 10px;border-bottom:1px solid var(--grn-border);text-align:left;color:var(--grn-text)}.grn-lines-table th{font-weight:600;color:var(--grn-text-muted);background:#00000008}.grn-lines-table .num{text-align:right}.grn-lines-table .remove-cell{width:36px;text-align:center}.grn-remove-line{padding:4px 8px;border:none;border-radius:6px;background:var(--grn-error-soft);color:var(--grn-error-text);font-size:.75rem;cursor:pointer;font-weight:600}.grn-remove-line:hover{background:#ef444440}.grn-save-grn-btn{width:100%;padding:14px 20px;border:none;border-radius:var(--grn-radius-sm);background:var(--grn-success);color:#fff;font-weight:700;font-size:1rem;cursor:pointer;transition:background .2s,transform .15s;margin-top:12px;box-shadow:0 2px 8px #10b98159}.grn-save-grn-btn:hover:not(:disabled){background:#059669;transform:translateY(-1px)}.grn-save-grn-btn:disabled{opacity:.6;cursor:not-allowed}.grn-hint{margin:8px 0 0;font-size:.8125rem;color:var(--grn-text-muted);line-height:1.5}.grn-status{margin-top:16px;padding:12px 16px;border-radius:var(--grn-radius-sm);font-size:.875rem;font-weight:600;text-align:center}.grn-status-ok{background:var(--grn-success-soft);color:#047857}[data-theme=dark] .grn-status-ok,.grn-page.dark .grn-status-ok{color:#34d399}.grn-status-err{background:var(--grn-error-soft);color:var(--grn-error-text)}@keyframes grnSlideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.grn-ani{animation:grnSlideUp .45s cubic-bezier(.22,1,.36,1) forwards}.grn-ani-1{animation-delay:.05s}.grn-ani-2{animation-delay:.1s}.grn-ani-3{animation-delay:.15s}.grn-ani-4{animation-delay:.2s}.grn-ani-5{animation-delay:.25s}.grn-ani-6{animation-delay:.3s}.grn-ani-7{animation-delay:.35s}.grn-modal-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:24px;box-sizing:border-box}.grn-modal{background:var(--grn-surface);border-radius:var(--grn-radius);padding:28px;max-width:380px;width:100%;box-shadow:var(--grn-shadow-lg);border:1px solid var(--grn-border);animation:grnSlideUp .3s ease-out}.grn-modal h3{margin:0 0 20px;font-size:1.125rem;font-weight:700;color:var(--grn-text)}.grn-modal .grn-field{margin-bottom:16px}.grn-modal-actions{display:flex;gap:12px;margin-top:24px}.grn-btn-cancel{flex:1;padding:12px 16px;border:1px solid var(--grn-border);border-radius:var(--grn-radius-sm);background:var(--grn-surface);color:var(--grn-text-muted);font-weight:600;font-size:.9375rem;cursor:pointer;transition:background .2s,color .2s}.grn-btn-cancel:hover{background:var(--grn-border);color:var(--grn-text)}.grn-btn-save{flex:1;padding:12px 16px;border:none;border-radius:var(--grn-radius-sm);background:var(--grn-success);color:#fff;font-weight:600;font-size:.9375rem;cursor:pointer;transition:background .2s}.grn-btn-save:hover{background:#059669}.grn-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.grn-side{position:sticky;top:24px}.grn-side-card{background:var(--grn-surface);border-radius:var(--grn-radius);border:1px solid var(--grn-border);box-shadow:var(--grn-shadow-lg);overflow:hidden;min-height:320px;display:flex;flex-direction:column}.grn-side-head{padding:14px 16px;border-bottom:1px solid var(--grn-border);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.grn-side-title{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--grn-text-muted)}.grn-side-actions{display:flex;align-items:center;gap:8px}.grn-refresh-btn{width:36px;height:36px;padding:0;border:1px solid var(--grn-border);border-radius:var(--grn-radius-sm);background:var(--grn-surface);color:var(--grn-text-muted);font-size:1.1rem;cursor:pointer;transition:background .2s,color .2s}.grn-refresh-btn:hover{background:var(--grn-accent-soft);color:var(--grn-accent)}.grn-report-btn{padding:8px 14px;border:none;border-radius:var(--grn-radius-sm);background:var(--grn-accent);color:#fff;font-size:.8rem;font-weight:600;cursor:pointer;transition:background .2s}.grn-report-btn:hover{background:#0284c7}.grn-link{background:none;border:none;color:var(--grn-accent);font-weight:600;cursor:pointer;text-decoration:underline}.grn-side-err{color:var(--grn-error-text)}.grn-side-body{flex:1;min-height:200px;max-height:min(70vh,520px);overflow-y:auto;padding:14px}.grn-side-empty{margin:0;padding:20px;text-align:center;color:var(--grn-text-muted);font-size:.875rem}.grn-dept-block{margin-bottom:16px}.grn-dept-block:last-child{margin-bottom:0}.grn-dept-name{font-size:.8125rem;font-weight:700;color:var(--grn-text);margin-bottom:6px;padding-bottom:4px;border-bottom:1px solid var(--grn-border)}.grn-stock-tbl{width:100%;border-collapse:collapse;font-size:.8rem}.grn-stock-tbl{table-layout:fixed}.grn-stock-tbl th,.grn-stock-tbl td{padding:8px 10px;border-bottom:1px solid var(--grn-border);text-align:left;font-size:.8125rem;color:var(--grn-text);vertical-align:middle}.grn-stock-tbl th{font-weight:600;color:var(--grn-text-muted);background:#00000005}.grn-stock-tbl td.num{text-align:right;white-space:nowrap}.grn-stock-tbl td:first-child{overflow:hidden;text-overflow:ellipsis;max-width:0}.grn-stock-tbl tbody tr:hover{background:var(--grn-accent-soft)}.grn-td-empty{color:var(--grn-text-muted);font-style:italic;text-align:center!important}@media(max-width:920px){.grn-layout{grid-template-columns:1fr;max-width:560px;margin-left:auto;margin-right:auto}.grn-side{position:static}.grn-side-card{min-height:280px}.grn-side-body{max-height:400px}}@media(max-width:520px){.grn-grid-2{grid-template-columns:1fr}.grn-card{padding:20px}}.lock-screen-overlay{position:fixed;inset:0;z-index:99999;background:linear-gradient(135deg,#1e293b,#0f172a);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;box-sizing:border-box}.lock-screen-card{background:#fffffff2;padding:32px;border-radius:16px;box-shadow:0 20px 60px #0000004d;width:100%;max-width:360px;text-align:center}.lock-screen-icon{font-size:3rem;margin-bottom:12px}.lock-screen-card h2{margin:0 0 8px;font-size:1.4rem;color:#0f172a}.lock-screen-user{margin:0 0 6px;font-size:1rem;color:#1e293b}.lock-screen-user strong{color:#3b82f6}.lock-screen-hint{margin:0 0 20px;font-size:.9rem;color:#64748b}.lock-screen-card>p{margin:0 0 20px;font-size:.9rem;color:#64748b}.lock-screen-form{display:flex;flex-direction:column;gap:12px}.lock-screen-input{width:100%;min-height:52px;padding:16px 20px;border:2px solid #cbd5e1;border-radius:12px;font-size:1.15rem;box-sizing:border-box;background:#f8fafc;color:#0f172a}.lock-screen-input::placeholder{color:#94a3b8}.lock-screen-input:focus{outline:none;border-color:#3b82f6;background:#fff;box-shadow:0 0 0 3px #3b82f633}.lock-screen-error{margin:0;color:#dc2626;font-size:.9rem}.lock-screen-btn{padding:14px;background:#3b82f6;color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:700;cursor:pointer}.lock-screen-btn:hover:not(:disabled){background:#2563eb}.lock-screen-btn:disabled{opacity:.7;cursor:not-allowed}.lock-screen-keyboard{position:fixed;bottom:0;left:0;width:100%;background:#1a1a1a;padding:15px;box-shadow:0 -5px 25px #0000004d;z-index:100000;transform:translateY(100%);opacity:0;transition:transform .4s cubic-bezier(.4,0,.2,1),opacity .3s ease}.lock-screen-keyboard.show{transform:translateY(0);opacity:1}.lock-screen-kb-header{width:100%;max-width:900px;margin:0 auto 10px;display:flex;justify-content:space-between;align-items:center;color:#94a3b8;font-size:12px;text-transform:uppercase}.lock-screen-kb-close{background:none;border:none;color:#94a3b8;cursor:pointer;padding:4px 8px}.lock-screen-keys-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:8px;width:100%;max-width:900px;margin:0 auto}.lock-screen-key-btn{background:#334155;color:#fff;border:none;padding:12px 5px;border-radius:8px;font-size:16px;cursor:pointer;transition:background .2s;-webkit-user-select:none;user-select:none}.lock-screen-key-btn:active{background:#3b82f6}.lock-screen-key-btn.wide{grid-column:span 1.5;background:#475569}.lock-screen-key-btn.extra-wide{grid-column:span 2;background:#3b82f6;font-weight:700}.lock-screen-key-btn.active-caps{background:#3b82f6;color:#fff}@media(max-width:768px){.lock-screen-card{padding:24px}.lock-screen-keys-grid{grid-template-columns:repeat(5,1fr)}.lock-screen-key-btn.wide{grid-column:span 1}.lock-screen-key-btn.extra-wide{grid-column:span 2}}.floating-auth-bar{position:fixed;top:10px;right:10px;z-index:9999;display:flex;flex-direction:column;align-items:flex-end;pointer-events:auto;touch-action:manipulation}.floating-auth-bar .menu-trigger,.floating-auth-bar .floating-auth-btn{touch-action:manipulation;-webkit-tap-highlight-color:rgba(255,255,255,.1)}.floating-auth-bar .menu-trigger{width:36px;height:36px;padding:0;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;border:1px solid rgba(255,255,255,.2);background:#0f172ae6;color:#e2e8f0;transition:background .2s,color .2s;display:flex;align-items:center;justify-content:center}.floating-auth-bar .menu-trigger:hover{background:#1e293b;color:#fff}.floating-auth-dropdown{display:flex;flex-direction:column;gap:6px;margin-top:8px;min-width:160px;padding:6px;border-radius:10px;background:#0f172af7;border:1px solid rgba(255,255,255,.15);box-shadow:0 8px 24px #0006;pointer-events:auto}.floating-auth-btn{padding:8px 14px;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;border:1px solid rgba(255,255,255,.2);background:#0f172ae6;color:#e2e8f0;transition:background .2s,color .2s}.floating-auth-btn:hover{background:#1e293b;color:#fff}.floating-auth-btn.keyboard-btn{background:#3b82f640;border-color:#3b82f680;color:#93c5fd}.floating-auth-btn.keyboard-btn:hover{background:#3b82f666}.floating-auth-btn.exit-fs{background:#64748b4d}.floating-auth-btn.lock-btn{background:#f59e0b40;border-color:#f59e0b80;color:#fcd34d}.floating-auth-btn.lock-btn:hover{background:#f59e0b66}.floating-auth-btn.logout-btn{background:#ef444433;border-color:#ef444480;color:#fca5a5}.floating-auth-btn.logout-btn:hover{background:#ef444459}@media(max-width:768px){.floating-auth-bar{top:8px;right:8px}.floating-auth-bar .menu-trigger,.floating-auth-dropdown .floating-auth-btn{padding:6px 10px;font-size:.75rem}}.global-keyboard-overlay{position:fixed;inset:0;background:#0f172a66;z-index:99999;display:flex;justify-content:flex-end;animation:globalKbOverlayIn .3s ease-out forwards}@keyframes globalKbOverlayIn{0%{opacity:0}to{opacity:1}}.global-keyboard-panel{width:360px;max-width:95vw;height:100vh;background:linear-gradient(180deg,#1e293b,#0f172a);box-shadow:-8px 0 32px #00000059;display:flex;flex-direction:column;animation:globalKbSlideIn .35s cubic-bezier(.4,0,.2,1) forwards}.global-keyboard-panel.closing{animation:globalKbSlideOut .3s cubic-bezier(.4,0,.2,1) forwards}@keyframes globalKbSlideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes globalKbSlideOut{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.global-keyboard-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}.global-keyboard-title{color:#94a3b8;font-size:.9rem;font-weight:600}.global-keyboard-close{background:#3b82f6;color:#fff;border:none;padding:10px 18px;border-radius:10px;font-weight:700;font-size:.95rem;cursor:pointer;transition:background .2s}.global-keyboard-close:hover{background:#2563eb}.global-keyboard-body{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:20px}.global-keyboard-section{display:flex;flex-direction:column;gap:10px}.global-keyboard-numpad{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.global-keyboard-numpad .global-keyboard-key{padding:16px 10px;font-size:1.4rem;font-weight:600;min-height:54px}.global-keyboard-letters{min-width:0}.global-keyboard-row{display:grid;gap:6px;margin-bottom:8px}.global-keyboard-row:last-of-type{margin-bottom:0}.global-keyboard-row.row-1{grid-template-columns:repeat(10,1fr)}.global-keyboard-row.row-2{grid-template-columns:repeat(9,1fr)}.global-keyboard-row.row-3{grid-template-columns:repeat(7,1fr) 1.2fr 1.2fr}.global-keyboard-row.row-space{grid-template-columns:1fr}.global-keyboard-key{background:#334155;color:#fff;border:none;border-radius:10px;font-size:1.25rem;font-weight:600;cursor:pointer;min-width:32px;min-height:50px;padding:12px 10px;transition:background .15s,transform .1s;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.global-keyboard-key:hover{background:#475569}.global-keyboard-key:active{background:#3b82f6;transform:scale(.97)}.global-keyboard-key.key-bksp,.global-keyboard-key.key-caps{min-width:0;font-size:1rem}.global-keyboard-key.key-space{flex:1;min-width:140px;font-size:1rem}.global-keyboard-key.key-active{background:#3b82f6}@media(max-width:768px){.global-keyboard-overlay{display:none!important}}
