:root{--primary-color: #2563EB;--secondary-color: #06B6D4;--sidebar-color: #1f2937;--accent-color: #10b981;--primary-gradient: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);--primary-soft: color-mix(in srgb, var(--primary-color) 12%, transparent);--primary-soft-strong: color-mix(in srgb, var(--primary-color) 22%, transparent);--primary-shadow: color-mix(in srgb, var(--primary-color) 32%, transparent);--accent-gradient: linear-gradient(135deg, var(--accent-color) 0%, color-mix(in srgb, var(--accent-color) 82%, #000) 100%)}html,body{width:100%;height:100%;max-width:100%;max-height:100%}html,body{height:100dvh;height:100vh}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#f5f7fa,#e8ecf1);position:relative;overflow-x:hidden;overflow:hidden;overscroll-behavior:none;-webkit-user-select:text;user-select:text;-webkit-touch-callout:none}input:not([type=checkbox]):not([type=radio]):not([type=file]),textarea,select{-webkit-text-security:none;caret-color:var(--primary-color, #2563EB);touch-action:manipulation;-webkit-appearance:none;-moz-appearance:none;appearance:none}input[type=checkbox],input[type=radio]{-webkit-appearance:auto!important;-moz-appearance:auto!important;appearance:auto!important;width:20px;height:20px;cursor:pointer;accent-color:var(--primary-color, #2563EB)}input:not([type=file]):not([type=checkbox]):not([type=radio]),textarea{-webkit-user-modify:read-write-plaintext-only;autocomplete:off!important;autocorrect:off!important;autocapitalize:off!important;spellcheck:false!important}input[inputmode=none],textarea[inputmode=none]{-webkit-user-select:text;user-select:text;caret-color:var(--primary-color, #2563EB);cursor:text;-webkit-text-size-adjust:100%;text-size-adjust:100%}input[inputmode=none]:focus,textarea[inputmode=none]:focus,input:focus,textarea:focus{outline:2px solid var(--primary-color, #2563EB);outline-offset:-2px;caret-color:var(--primary-color, #2563EB)}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 30px white inset!important;-webkit-text-fill-color:inherit!important;transition:background-color 5000s ease-in-out 0s}input::-ms-reveal,input::-ms-clear{display:none}input::-webkit-credentials-auto-fill-button{visibility:hidden;pointer-events:none;position:absolute;right:0}input[type=text],input[type=number],input[type=tel],input[type=email],input[type=password],textarea{-webkit-autocorrect:off;-webkit-autocapitalize:off;autocorrect:off;autocapitalize:off}@media print{body:after,body:before{content:""!important;display:none!important;visibility:hidden!important;height:0!important;width:0!important;opacity:0!important;z-index:-1!important}#root>*:not(.receipt-overlay-wrapper){display:none!important;visibility:hidden!important}body{background:#fff!important}}body:before{content:"";position:fixed;top:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle,color-mix(in srgb,var(--primary-color) 3%,transparent) 1px,transparent 1px);background-size:50px 50px;pointer-events:none;z-index:0}#root{min-height:100vh}button{cursor:pointer;font-family:inherit}.keyboard-launch-btn{display:inline-flex;align-items:center;gap:6px;background:linear-gradient(135deg,#1f2937,#111827);color:#fff;border:none;border-radius:999px;padding:10px 18px;font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;box-shadow:0 10px 20px #0f172a40;transition:transform .2s ease,box-shadow .2s ease}.keyboard-launch-btn:hover{transform:translateY(-1px);box-shadow:0 14px 24px #0f172a4d}.keyboard-launch-btn:active{transform:translateY(0);box-shadow:0 8px 16px #0f172a33}input,select,textarea{font-family:inherit}.container{max-width:1400px;margin:0 auto;padding:20px}@media (max-width: 1366px){.container{padding:18px}.card{padding:24px;margin-bottom:20px}}@media (max-width: 1024px){.container{padding:16px}.card{padding:20px;margin-bottom:18px;border-radius:16px}.card:hover{transform:translateY(-2px)}}@media (max-width: 768px){.container{padding:12px}.card{padding:16px;margin-bottom:16px;border-radius:12px}}.card{background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:20px;box-shadow:0 8px 32px #00000014,0 2px 8px #0000000a,inset 0 1px #fffc;padding:28px;margin-bottom:24px;border:1px solid rgba(255,255,255,.6);position:relative;transform-style:preserve-3d;transition:all .4s cubic-bezier(.4,0,.2,1)}.card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border-radius:20px;background:linear-gradient(135deg,color-mix(in srgb,var(--primary-color) 5%,transparent) 0%,transparent 50%);opacity:0;transition:opacity .3s ease;pointer-events:none}.card:hover{transform:translateY(-4px);box-shadow:0 16px 48px #0000001f,0 4px 16px #00000014,inset 0 1px #ffffffe6}.card:hover:before{opacity:1}@media (max-width: 1366px){.modal-content{max-width:90%;padding:24px}.modal-body{max-height:65vh}}@media (max-width: 1024px){.modal-content{max-width:85%;padding:20px;margin:20px}.modal-header h2{font-size:20px}.modal-body{max-height:60vh;padding:16px}.modal-footer,.modal-actions{padding:14px 16px;gap:10px}.modal-footer .btn,.modal-actions .btn{padding:10px 18px;font-size:13px}}@media (max-width: 768px){.modal-content{max-width:95%;padding:16px;margin:10px}.modal-header{padding:14px 16px}.modal-header h2{font-size:18px}.modal-body{max-height:55vh;padding:12px}.modal-footer,.modal-actions{padding:12px;flex-direction:column}.modal-footer .btn,.modal-actions .btn{width:100%;padding:12px}}@media (max-width: 1024px){.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive table{min-width:600px}}@media (max-width: 1024px){.form-grid{grid-template-columns:1fr;gap:12px}.form-group label{font-size:13px}.form-group input,.form-group select,.form-group textarea{padding:10px 12px;font-size:13px}}@media (max-width: 1024px){.btn{padding:10px 18px;font-size:13px}.btn-sm{padding:6px 12px;font-size:12px}.btn-lg{padding:12px 24px;font-size:14px}}@media (max-width: 768px){.btn{padding:10px 16px;font-size:12px}.btn-icon{padding:8px}}.pwa-install-prompt{position:fixed;bottom:20px;left:50%;transform:translate(-50%);z-index:100000;animation:slideUp .5s ease-out}.pwa-install-content{background:var(--primary-gradient);color:#fff;padding:20px 24px;border-radius:16px;box-shadow:0 12px 40px var(--primary-shadow);display:flex;align-items:center;gap:16px;max-width:90vw;position:relative}.pwa-install-icon{font-size:40px;animation:bounce 2s infinite}.pwa-install-text{flex:1}.pwa-install-text h3{margin:0 0 4px;font-size:18px;font-weight:700}.pwa-install-text p{margin:0;font-size:14px;opacity:.95}.pwa-install-btn{background:#fff;color:var(--primary-color);border:none;padding:12px 24px;border-radius:10px;font-weight:700;font-size:14px;cursor:pointer;transition:all .3s;white-space:nowrap}.pwa-install-btn:hover{transform:scale(1.05);box-shadow:0 4px 12px #0003}.pwa-close-btn{position:absolute;top:8px;right:8px;background:#fff3;color:#fff;border:none;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;transition:all .2s}.pwa-close-btn:hover{background:#ffffff4d}@keyframes slideUp{0%{transform:translate(-50%,100px);opacity:0}to{transform:translate(-50%);opacity:1}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@media (max-width: 768px){.pwa-install-prompt{bottom:10px;left:10px;right:10px;transform:none}.pwa-install-content{flex-direction:column;text-align:center;padding:16px 20px}.pwa-install-text h3{font-size:16px}.pwa-install-text p{font-size:13px}.pwa-install-btn{width:100%}}.btn-outline{background-color:#fff;color:var(--primary-color);border:2px solid var(--primary-color)}label,.label,dt,dd{-webkit-user-select:text;user-select:text}:where(.table-responsive,.table-container,.transactions-table-container,.report-table-container,.staff-table-card,.attendance-table-wrap,.supplier-table,.blog-table,[class*=table-wrapper],[class*=table-container]){overflow:auto!important;overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none}:where(.table-responsive,.table-container,.transactions-table-container,.report-table-container,.staff-table-card,.attendance-table-wrap,.supplier-table,.blog-table,[class*=table-wrapper],[class*=table-container])::-webkit-scrollbar{width:0;height:0}:is(table,th,td,caption,[role=gridcell],[class*=table],[class*=Table],.blog-row){-webkit-user-select:text!important;user-select:text!important}.btn-outline:hover{background-color:var(--primary-soft);border-color:var(--secondary-color);color:var(--secondary-color)}.btn-success{background:var(--accent-gradient);color:#fff}.btn-success:hover{filter:brightness(.94)}.btn-danger{background-color:#ef4444;color:#fff}.btn-danger:hover{background-color:#dc2626}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:6px;font-weight:500;color:#374151}.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px 16px;border:2px solid rgba(209,213,219,.4);border-radius:12px;font-size:14px;background:#fffc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:inset 0 2px 4px #0000000a,0 0 #2563eb00}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color);background:#fff;box-shadow:inset 0 2px 4px #0000000a,0 0 0 4px var(--primary-soft-strong),0 8px 24px var(--primary-soft);transform:translateY(-1px)}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:12px;text-align:left;border-bottom:1px solid #e5e7eb}.table th{background-color:#f9fafb;font-weight:600;color:#374151}.table tbody tr:hover{background-color:#f9fafb}.grid{display:grid;gap:20px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.btn-primary:not(.btn-danger),button.btn-primary:not(.btn-danger),.save-btn{background:var(--primary-gradient)!important;border-color:var(--primary-color)!important;color:#fff!important;box-shadow:0 8px 22px var(--primary-shadow)!important}.btn-primary:hover:not(:disabled):not(.btn-danger),button.btn-primary:hover:not(:disabled):not(.btn-danger),.save-btn:hover:not(:disabled){filter:brightness(1.03);box-shadow:0 10px 26px var(--primary-shadow)!important}.btn-accent,.btn-success:not(.btn-danger),button.btn-success:not(.btn-danger){background:var(--accent-gradient)!important;border-color:var(--accent-color)!important;color:#fff!important}.btn-outline,.btn-outline-secondary,button.btn-outline,button.btn-outline-secondary{border-color:var(--primary-color)!important;color:var(--primary-color)!important}.btn-outline:hover:not(:disabled),.btn-outline-secondary:hover:not(:disabled),.btn-secondary:hover:not(:disabled){border-color:var(--primary-color)!important;color:var(--primary-color)!important;background:var(--primary-soft)!important}.btn-icon:hover:not(.delete):not(.btn-danger){background:var(--primary-gradient)!important;color:#fff!important}@media (max-width: 768px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.flex{display:flex;gap:10px}.flex-between{display:flex;justify-content:space-between;align-items:center}.badge{padding:6px 14px;border-radius:20px;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;box-shadow:0 2px 8px #0000001a;position:relative;overflow:hidden}.badge:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}.badge:hover:before{left:100%}.badge-success{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#065f46;border:1px solid rgba(6,95,70,.1)}.badge-warning{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;border:1px solid rgba(146,64,14,.1)}.badge-danger{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#991b1b;border:1px solid rgba(153,27,27,.1)}.badge-info{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1e40af;border:1px solid rgba(30,64,175,.1)}html,body,#root{min-height:100%}.main-content,.sidebar-nav,.modal-overlay,.modal,.modal-body,.payment-modal,.preview-content,.void-modal-body,.void-results-table-container,.products-grid,.products-list,.category-grid,.cart-items,.parked-orders,.parked-orders-list,.table-responsive,[class*=table-container],[class*=table-wrapper],[class*=scroll-pane],[class*=list-container]{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-gutter:stable}.modal-overlay,.modal.active{align-items:flex-start!important;justify-content:center!important;overflow-y:auto!important;overflow-x:hidden!important;padding:clamp(12px,2vw,24px)!important}.modal-content,.payment-modal,.preview-modal,.void-modal-container,.receipt-container,.receipt-modal{max-height:calc(100dvh - 32px)!important;overflow-y:auto!important;overflow-x:hidden!important;scrollbar-gutter:stable}.modal-body{min-height:0;overflow-y:auto!important;overflow-x:hidden!important}@media (pointer: fine) and (min-width: 769px){.modal-content,.payment-modal,.preview-modal,.void-modal-container,.receipt-container,.receipt-modal{resize:both;min-width:min(320px,calc(100vw - 32px));min-height:180px}}.modal-overlay,.void-modal-overlay{align-items:center!important;justify-content:center!important;padding:clamp(8px,1.4vw,18px)!important}.modal-content,.payment-modal,.preview-modal,.void-modal-container,.help-modal,.customer-modal,.discount-modal,.notes-modal,.refund-modal,.parked-modal{resize:none!important;width:min(92vw,720px)!important;max-width:720px!important;max-height:min(78dvh,680px)!important;overflow:hidden!important;border-radius:14px}.payment-modal:not(.preview-modal){width:min(92vw,560px)!important;max-width:560px!important;overflow-y:auto!important}.preview-modal,.void-modal-container,.parked-modal{width:min(92vw,760px)!important;max-width:760px!important}.modal-body,.preview-content,.void-modal-body,.parked-orders-list{min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;scrollbar-gutter:stable}.modal-header,.modal-footer,.modal-actions,.void-modal-header,.void-modal-footer,.preview-modal .payment-actions{flex-shrink:0}@media (max-width: 768px){.modal-content,.payment-modal,.preview-modal,.void-modal-container,.help-modal,.customer-modal,.discount-modal,.notes-modal,.refund-modal,.parked-modal{width:calc(100vw - 16px)!important;max-width:calc(100vw - 16px)!important;max-height:calc(100dvh - 16px)!important}}html{min-width:0;-webkit-text-size-adjust:100%;text-size-adjust:100%}body,#root{min-width:0;max-width:100%}img,video,canvas,svg{max-width:100%}button,input,select,textarea,.btn,.card,.modal-content{min-width:0}.container,.settings-container,.transactions-container,.customers-page,.staff-page,.reports-container,.tutorial-page{width:100%;max-width:100%}.page-title,.settings-header h1,.transactions-header h1,.reports-header h1,.simple-reports-header h1,.tutorial-title h1,.staff-title-group .page-title{overflow-wrap:anywhere}.table-container,.transactions-table-container,.report-table-container,.staff-table-card,.customers-page .table-container{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width: 1024px){.flex-between,.settings-header,.transactions-header,.customers-header,.staff-header,.reports-header,.simple-reports-header,.section-header,.tutorial-header,.admin-section-header,.saas-admin-header{flex-wrap:wrap;gap:12px}.customers-actions,.transactions-header-actions,.header-actions,.staff-toolbar-actions,.filter-actions,.printer-actions,.logo-upload-actions,.payment-method-actions,.admin-top-actions,.saas-actions{flex-wrap:wrap}.grid-2,.grid-3,.grid-4{grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr))}}@media (max-width: 768px){.main-content>.container,.main-content>.customers-page,.main-content>.staff-page,.main-content>.transactions-container,.main-content>.settings-container,.main-content>.reports-container,.main-content>.tutorial-page{padding-top:max(68px,calc(env(safe-area-inset-top) + 60px))!important}.container,.settings-container,.transactions-container,.customers-page,.staff-page,.reports-container,.tutorial-page{padding-left:12px!important;padding-right:12px!important}.page-title,.settings-header h1,.transactions-header h1,.reports-header h1,.simple-reports-header h1,.tutorial-title h1,.staff-title-group .page-title{font-size:clamp(20px,6vw,26px)!important;line-height:1.15}.settings-header,.transactions-header,.customers-header,.staff-header,.reports-header,.simple-reports-header,.section-header,.tutorial-header,.staff-toolbar,.customers-toolbar,.transactions-filters{flex-direction:column;align-items:stretch!important}.customers-actions,.transactions-header-actions,.header-actions,.staff-toolbar-actions,.filter-actions,.printer-actions,.logo-upload-actions,.payment-method-actions{width:100%}.customers-actions .btn,.transactions-header-actions .btn,.header-actions .btn,.staff-toolbar-actions button,.filter-actions .btn,.printer-actions .btn,.logo-upload-actions label,.payment-method-actions .btn,.staff-add-btn{width:100%;justify-content:center}.form-row,.form-grid,.settings-content,.tutorial-content{grid-template-columns:1fr!important}.table-responsive table{min-width:560px}}@media (max-width: 480px){.main-content>.container,.main-content>.customers-page,.main-content>.staff-page,.main-content>.transactions-container,.main-content>.settings-container,.main-content>.reports-container,.main-content>.tutorial-page{padding-left:10px!important;padding-right:10px!important}.card{padding:14px!important}.modal-footer,.modal-actions{align-items:stretch}}:where(.modal-overlay,.modal-backdrop,.dialog-overlay){padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));overflow:auto;overscroll-behavior:contain}:where(.modal-content,.modal-card,.dialog-card){max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain}:where(.modal-content,.modal-card,.dialog-card) :where(input,select,textarea,button){max-width:100%}:where(.tabs-container,.settings-tabs,.transaction-tabs,.report-tabs,.inventory-tabs){max-width:100%;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scroll-snap-type:x proximity}:where(.tabs-container,.settings-tabs,.transaction-tabs,.report-tabs,.inventory-tabs)>*{flex:0 0 auto;white-space:nowrap;scroll-snap-align:start}table thead th.app-sortable-header{position:relative;padding-right:30px!important;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .16s ease,color .16s ease}table thead th.app-sortable-header:hover,table thead th.app-sortable-header:focus-visible{background:#2563eb14;color:#1d4ed8;outline:none}table thead th.app-sortable-header:after{position:absolute;right:11px;top:50%;color:#94a3b8;content:"↕";font-size:14px;font-weight:800;line-height:1;transform:translateY(-50%)}table thead th.app-sortable-header[aria-sort=ascending]:after{color:#2563eb;content:"↑"}table thead th.app-sortable-header[aria-sort=descending]:after{color:#2563eb;content:"↓"}@media (pointer:coarse){:where(button,.btn,[role=button],input,select){min-height:44px}}@media (max-width:640px){:where(.modal-overlay,.modal-backdrop,.dialog-overlay){padding:0;align-items:stretch}:where(.modal-content,.modal-card,.dialog-card){width:100%;max-width:none;max-height:100dvh;border-radius:0}html,body,#root{width:100%;max-width:100%;overflow-x:hidden}:where(input,textarea,select){font-size:16px!important}:where(.main-content,.page-content){width:100%;min-width:0;padding-left:clamp(10px,3vw,16px);padding-right:clamp(10px,3vw,16px)}}
