:root{--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-tertiary: #334155;--text-primary: #f8fafc;--text-secondary: #94a3b8;--accent-primary: #3b82f6;--accent-hover: #2563eb;--border-color: #334155;--input-bg: #0f172a;--success: #10b981;--error: #ef4444;font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:var(--text-primary);background-color:var(--bg-primary);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;margin:0;padding:0}body{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{color:var(--text-primary);font-weight:600}input,select,textarea{font-family:inherit}button{cursor:pointer}:root{--bg-color: #121212;--card-bg: #1e1e1e;--input-bg: #2c2c2c;--border-color: #333;--primary-color: #3b82f6;--primary-hover: #2563eb;--text-main: #e5e5e5;--text-muted: #a3a3a3;--danger: #ef4444;--success: #22c55e;--count-bg-primary: #0a0a0a;--count-bg-secondary: #1a1a1a;--count-bg-tertiary: #2a2a2a;--count-text-primary: #ffffff;--count-text-secondary: #a0a0a0;--count-text-tertiary: #666666;--count-accent-primary: #3b82f6;--count-accent-secondary: #2563eb;--count-success: #10b981;--count-warning: #f59e0b;--count-danger: #ef4444;--count-info: #3b82f6;--count-border: #333333}*{box-sizing:border-box}body{background-color:var(--bg-color);color:var(--text-main);font-family:Inter,system-ui,-apple-system,sans-serif;margin:0;padding:0;overflow-x:hidden}.app-container{max-width:1400px;margin:0 auto;padding:20px}.header{text-align:center;margin-bottom:30px}.header h1{margin:0;font-size:2rem;font-weight:700;background:linear-gradient(to right,#60a5fa,#a78bfa);-webkit-background-clip:text;background-clip:text;color:transparent}.header p{margin:5px 0 0;color:var(--text-muted)}.main-layout{display:grid;grid-template-columns:350px minmax(0,1fr);gap:24px;align-items:start}@media(max-width:1024px){.main-layout{grid-template-columns:minmax(0,1fr)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.back-button{display:inline-flex;align-items:center;gap:8px;background:#3b82f633;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(59,130,246,.3);color:var(--text-main);padding:10px 20px;border-radius:12px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:1rem;margin-bottom:20px;z-index:100}.back-button:hover{background:#3b82f64d;border-color:#3b82f680;transform:translate(-4px)}@media(max-width:768px){.back-button{position:fixed;top:15px;left:15px;z-index:9999;margin-bottom:0;background:#1e1e1ed9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 4px 12px #0000004d;border:1px solid rgba(255,255,255,.1)}.stock-query-container,.app-container{padding-top:70px!important}.header{margin-top:10px}}.cache-info-bar{position:fixed;bottom:0;left:0;right:0;background:linear-gradient(to right,#1e1e1ef2,#282828f2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid rgba(255,255,255,.1);padding:8px 20px;display:flex;justify-content:center;gap:30px;font-size:.75rem;color:#999;z-index:1000;box-shadow:0 -2px 10px #0000004d}.cache-info-item{display:flex;align-items:center;gap:8px;white-space:nowrap}.cache-info-item .icon{display:flex;align-items:center;color:#666}.cache-info-item .label{color:#ccc;font-weight:500}.cache-info-item .value{font-weight:600}@media(max-width:768px){.cache-info-bar{padding:6px 2px;gap:4px;justify-content:space-around}.cache-info-item{gap:2px;font-size:.6rem;flex:0 1 auto;justify-content:center}.cache-info-item .label{display:inline}}.section-card{background-color:var(--card-bg);border-radius:12px;padding:20px;border:1px solid var(--border-color);box-shadow:0 4px 6px -1px #0000001a}.section-title{margin-top:0;margin-bottom:20px;font-size:1.1rem;font-weight:600;color:var(--text-main);border-bottom:1px solid var(--border-color);padding-bottom:10px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.compact-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.form-group{display:flex;flex-direction:column;gap:6px}.full-width{grid-column:1 / -1}.form-label{font-size:.85rem;color:var(--text-muted);font-weight:500}.form-input{background-color:var(--input-bg);border:1px solid var(--border-color);border-radius:6px;padding:10px;color:var(--text-main);font-size:.95rem;transition:border-color .2s,box-shadow .2s;width:100%;max-width:100%;box-sizing:border-box}.form-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #3b82f633}.form-input[readOnly]{opacity:.7;cursor:not-allowed}.add-btn{background-color:var(--primary-color);color:#fff;border:none;padding:12px;border-radius:6px;font-weight:600;cursor:pointer;width:100%;margin-top:10px;transition:background-color .2s}.add-btn:hover{background-color:var(--primary-hover)}.save-all-btn{background-color:var(--success);color:#fff;border:none;padding:8px 16px;border-radius:6px;font-weight:600;cursor:pointer;font-size:.9rem}.save-all-btn:disabled{opacity:.7;cursor:wait}.delete-btn{background:transparent;border:none;color:var(--danger);cursor:pointer;font-size:1.1rem;padding:4px;border-radius:4px}.delete-btn:hover{background-color:#ef44441a}.product-list-section{margin-top:24px}.list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;border-bottom:1px solid var(--border-color);padding-bottom:10px}.list-header .section-title{margin-bottom:0;border-bottom:none;padding-bottom:0}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:1rem;border:1px solid var(--border-color);border-radius:8px}.product-table{width:100%;min-width:1000px;border-collapse:collapse;font-size:.9rem}.product-table th{text-align:left;padding:12px;color:var(--text-muted);font-weight:500;border-bottom:1px solid var(--border-color)}.product-table td{padding:12px;border-bottom:1px solid var(--border-color);white-space:nowrap}.product-table .mono{font-family:Roboto Mono,monospace;color:var(--primary-color)}.summary-container{display:flex;justify-content:flex-end;margin-top:24px;padding-top:16px;border-top:2px solid var(--border-color)}.summary-table{width:100%;max-width:400px;border-collapse:collapse}.summary-table td{padding:8px 12px;text-align:right}.summary-label{color:var(--text-muted);font-weight:500}.summary-value{color:var(--text-main);font-family:Roboto Mono,monospace;font-weight:600}.summary-label.strong,.summary-value.strong{font-weight:700;color:var(--text-main);border-top:1px solid var(--border-color);padding-top:12px}.summary-label.highlight,.summary-value.highlight{font-size:1.1rem;font-weight:800;color:var(--success);padding-top:12px}.modal-overlay{position:fixed;inset:0;background-color:#000000bf;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:1000;display:flex;justify-content:center;align-items:center;padding:20px;animation:fadeIn .2s ease-out}.modal-content{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 20px 50px #00000080;animation:scaleIn .3s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column}.modal-close{position:absolute;top:12px;right:12px;background:#ef4444e6;border:none;color:#fff;width:36px;height:36px;border-radius:50%;font-size:1.3rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;z-index:10;box-shadow:0 2px 8px #0003}.modal-close:hover{background:#dc2626;transform:scale(1.1)}.modal-image-container{width:100%;height:400px;background-color:#fff;display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--border-color);padding:20px;position:relative}.modal-image-container img{max-width:100%;max-height:100%;object-fit:contain}.modal-image-placeholder{width:100%;height:300px;background-color:var(--input-bg);display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-muted);font-size:3rem}.modal-image-placeholder p{font-size:1rem;margin-top:10px}.modal-header{padding:20px;border-bottom:1px solid var(--border-color)}.modal-header h2{margin:0 0 10px;font-size:1.4rem;color:var(--text-main);line-height:1.4}.modal-badges{display:flex;gap:10px;flex-wrap:wrap}.badge{padding:4px 8px;border-radius:6px;font-size:.8rem;font-family:Roboto Mono,monospace;font-weight:500}.badge.code{background:#3b82f626;color:#60a5fa;border:1px solid rgba(59,130,246,.3)}.badge.barcode{background:#ffffff1a;color:var(--text-muted);border:1px solid rgba(255,255,255,.2)}.modal-body{padding:20px}.modal-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:25px}.modal-stat-card{background:var(--input-bg);padding:12px;border-radius:10px;display:flex;flex-direction:column;align-items:center;text-align:center;border:1px solid var(--border-color)}.modal-stat-card .label{font-size:.75rem;color:var(--text-muted);margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}.modal-stat-card .value{font-size:1.2rem;font-weight:700;font-family:Roboto Mono,monospace;color:var(--text-main)}.modal-stat-card .value.small-text{font-size:.9rem}.modal-stat-card.total{background:#22c55e1a;border-color:#22c55e4d}.modal-section{margin-bottom:25px;background:#ffffff08;padding:15px;border-radius:12px;border:1px solid var(--border-color)}.modal-section-title{margin:0 0 15px;font-size:1rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;display:flex;align-items:center;gap:10px}.modal-section-title:after{content:"";flex:1;height:1px;background:var(--border-color);opacity:.5}.sales-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.modal-details-list{display:flex;flex-direction:column;gap:10px}.detail-row{display:flex;justify-content:space-between;padding:10px;background:var(--input-bg);border-radius:8px;font-size:.9rem}.detail-key{color:var(--text-muted)}.detail-value{font-weight:500;color:var(--text-main)}.spin-anim{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.custom-select-wrapper{position:relative;width:100%}.custom-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:#fff;border:1px solid var(--border-color);border-radius:8px;padding:14px 40px 14px 16px;color:#333;font-size:1.1rem;width:100%;cursor:pointer;transition:border-color .2s,box-shadow .2s;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='%23666' 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 12px center;background-size:18px}.custom-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.custom-select{width:100%;background-color:var(--input-bg);color:var(--text-main);border:1px solid var(--border-color);border-radius:6px;padding:10px;font-size:.95rem;appearance:none;-webkit-appearance:none;-moz-appearance:none;cursor:pointer;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a3a3a3' 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 10px center;background-size:16px}.menu-container{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:20px;background:linear-gradient(135deg,#1e1e1e,#121212);position:relative;margin-bottom:24px}.api-test-btn{position:absolute;top:20px;right:20px;background:transparent;border:1px solid #ffa500;color:orange;padding:0 16px;border-radius:20px;cursor:pointer;font-size:1.2rem;display:flex;align-items:center;justify-content:center;transition:all .3s ease;width:auto;height:40px;white-space:nowrap;z-index:100}.api-test-btn:hover{background:#ffa5001a}.api-test-btn span{opacity:1;margin-left:8px;font-size:.9rem;font-weight:600}.logout-btn{background:transparent;border:1px solid #ef4444;color:#ef4444;padding:0 16px;border-radius:20px;cursor:pointer;font-size:1.2rem;display:flex;align-items:center;justify-content:center;transition:all .3s ease;width:auto;height:40px;white-space:nowrap}.logout-btn:hover{background:#ef44441a}.logout-btn span{opacity:1;margin-left:8px;font-size:.9rem;font-weight:600}.menu-header{text-align:center;margin-bottom:60px;animation:fadeInDown .6s ease-out}.menu-header h1{font-size:3rem;font-weight:800;background:linear-gradient(135deg,#60a5fa,#a78bfa,#ec4899);-webkit-background-clip:text;background-clip:text;color:transparent;margin:0 0 10px;letter-spacing:-1px}.menu-header p{color:var(--text-muted);font-size:1.1rem;margin:0}.menu-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px;max-width:900px;width:100%}.menu-card{background:linear-gradient(135deg,#3b82f61a,#a78bfa1a);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:40px 30px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;animation:fadeInUp .6s ease-out}.menu-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#3b82f633,#a78bfa33);opacity:0;transition:opacity .3s ease;z-index:0}.menu-card:hover:before{opacity:1}.menu-card:hover{transform:translateY(-8px);border-color:#3b82f680;box-shadow:0 20px 40px #3b82f633}.menu-card:active{transform:translateY(-4px)}.menu-card-content{position:relative;z-index:1;text-align:center}.menu-icon{font-size:4rem;margin-bottom:20px;display:block;filter:drop-shadow(0 4px 8px rgba(0,0,0,.3))}.menu-card h2{font-size:1.5rem;font-weight:700;color:var(--text-main);margin:0 0 10px}.menu-card p{color:var(--text-muted);font-size:.95rem;margin:0;line-height:1.5}@media(max-width:768px){.menu-header h1{font-size:2rem}.menu-grid{grid-template-columns:repeat(2,1fr);gap:12px}.menu-card{padding:20px 10px;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:160px}.menu-icon{font-size:2.5rem;margin-bottom:12px}.menu-card h2{font-size:1rem;margin-bottom:6px;line-height:1.2}.menu-card p{font-size:.75rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}}.test-modal-overlay{position:fixed;inset:0;background:#000c;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .3s ease-out}.test-modal-content{background:#1e1e1e;border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:30px;width:90%;max-width:500px;max-height:80vh;overflow-y:auto;box-shadow:0 25px 50px -12px #00000080;animation:scaleUp .3s ease-out}.test-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid rgba(255,255,255,.1)}.test-modal-header h2{margin:0;font-size:1.5rem;background:linear-gradient(135deg,#60a5fa,#a78bfa);-webkit-background-clip:text;background-clip:text;color:transparent}.test-close-btn{background:transparent;border:none;color:var(--text-muted);font-size:1.5rem;cursor:pointer;padding:5px;transition:color .2s}.test-close-btn:hover{color:var(--text-main)}.test-results-list{display:flex;flex-direction:column;gap:10px}.test-result-item{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#ffffff08;border-radius:12px;border:1px solid rgba(255,255,255,.05);transition:all .2s}.test-result-item:hover{background:#ffffff0d}.test-item-info{display:flex;align-items:center;gap:12px}.test-status-icon{font-size:1.2rem;display:flex;align-items:center;justify-content:center;width:24px;height:24px}.test-item-name{font-weight:500;color:var(--text-main);text-transform:capitalize}.test-item-details{text-align:right}.test-item-count{font-family:Roboto Mono,monospace;color:#4ade80;font-weight:600}.test-item-error{color:#ef4444;font-size:.8rem;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.test-loading-spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.1);border-top-color:#60a5fa;border-radius:50%;animation:spin 1s linear infinite}@keyframes scaleUp{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.stock-query-container{max-width:1200px;margin:0 auto;padding:20px 20px 60px}.search-section{margin-bottom:30px}.search-input{width:100%;max-width:600px;padding:16px 20px;font-size:1.1rem;background:var(--input-bg);border:2px solid var(--border-color);border-radius:12px;color:var(--text-main);transition:all .3s ease}.search-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 4px #3b82f61a}.stock-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}.stock-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;padding:10px;transition:all .2s ease;display:flex;flex-direction:column;gap:8px;position:relative;overflow:hidden}.stock-card:hover{border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 4px 12px #0003}.stock-card-content{display:flex;flex-direction:column;gap:8px;flex:1}.stock-header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.stock-card h3{margin:0;color:var(--text-main);font-size:.9rem;font-weight:600;line-height:1.3;display:-webkit-box;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex:1}.stock-sales-summary{margin-top:8px;padding:6px;background:#ffffff08;border-radius:6px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:4px;font-size:.75rem}.stock-sales-summary .summary-item{display:flex;flex-direction:column;align-items:center}.stock-sales-summary .summary-label{color:var(--text-muted);font-size:.65rem}.stock-sales-summary .summary-value{font-weight:700;color:#e5e5e5}.stock-sales-summary .summary-value.highlight{color:#60a5fa}.stock-code-badge{font-size:.7rem;color:var(--text-muted);background:#ffffff0d;padding:2px 6px;border-radius:4px;white-space:nowrap;font-family:Roboto Mono,monospace;border:1px solid rgba(255,255,255,.1)}.stock-barcode{font-size:.75rem;color:var(--text-muted);font-family:Roboto Mono,monospace;display:flex;align-items:center;gap:4px}.stock-stats-grid{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:6px;margin-top:auto;background:#0003;padding:6px;border-radius:6px}.stat-item{display:flex;flex-direction:column;align-items:center;text-align:center;padding:2px}.stat-item .label{font-size:.65rem;text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px;opacity:.8}.stat-item .value{font-size:.9rem;font-weight:700;font-family:Roboto Mono,monospace}.stat-item.total{background:#22c55e1a;border-radius:4px;border:1px solid rgba(34,197,94,.2)}.text-yellow{color:#fbbf24}.text-blue{color:#60a5fa}.text-green{color:#22c55e}.no-results{text-align:center;padding:60px 20px;color:var(--text-muted);font-size:1.1rem}.stock-image-container{width:100%;height:180px;background-color:#f9fafb;border-radius:6px;margin-bottom:12px;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.stock-image-container img{width:100%;height:100%;object-fit:contain;transition:transform .3s ease;mix-blend-mode:multiply}.stock-card:hover .stock-image-container img{transform:scale(1.05)}.no-image-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-muted);font-size:2rem;opacity:.5;width:100%;height:100%}@media(max-width:768px){.stock-grid{grid-template-columns:1fr;gap:10px}.stock-card{padding:10px;display:flex;flex-direction:row;gap:12px;align-items:stretch}.stock-card:not(:has(.stock-image-container)) .stock-card-content{width:100%}.stock-image-container{width:auto!important;height:100%!important;flex:0 0 33.333%!important;max-width:33.333%;margin-bottom:0!important;align-self:stretch}.stock-image-container img{width:100%;height:100%;object-fit:contain}.stock-card-content{flex:1;display:flex;flex-direction:column;gap:8px;min-width:0}.stock-header{flex-direction:column;align-items:flex-start;gap:4px}.stock-card h3{font-size:.85rem;-webkit-line-clamp:2;line-clamp:2}.stock-code-badge{font-size:.65rem;padding:2px 6px}.stock-barcode{font-size:.7rem;flex-wrap:nowrap}.stock-stats-grid{gap:4px;padding:6px;grid-template-columns:1fr 1fr 1fr}.stat-item .label{font-size:.6rem;letter-spacing:0}.stat-item .value{font-size:.8rem}.stock-sales-summary{padding:6px;gap:4px;grid-template-columns:1fr 1fr 1fr}.stock-sales-summary .summary-label{font-size:.6rem}}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:#0f172a;background-image:radial-gradient(at 0% 0%,hsla(253,16%,7%,1) 0,transparent 50%),radial-gradient(at 50% 0%,hsla(225,39%,30%,1) 0,transparent 50%),radial-gradient(at 100% 0%,hsla(339,49%,30%,1) 0,transparent 50%);position:relative;overflow:hidden}.login-container:before{content:"";position:absolute;width:120%;height:120%;background:radial-gradient(circle at 50% 50%,rgba(59,130,246,.1),transparent 60%),radial-gradient(circle at 80% 20%,rgba(139,92,246,.15),transparent 40%);filter:blur(60px);z-index:0;animation:float 10s ease-in-out infinite alternate}.login-container:after{content:"";position:absolute;inset:0;background:linear-gradient(45deg,rgba(255,255,255,.05) 0%,transparent 50%,rgba(255,255,255,.05) 100%);background-size:200% 200%;animation:moveBg 15s linear infinite;pointer-events:none}@keyframes moveBg{0%{background-position:0% 0%}to{background-position:100% 100%}}@keyframes float{0%{transform:translate(-5%,-5%)}to{transform:translate(5%,5%)}}.login-card{position:relative;z-index:1;background:#1e1e1e66;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);box-shadow:0 25px 50px -12px #00000080;border-radius:24px;padding:40px;width:100%;max-width:400px;transition:transform .3s ease}.login-card:hover{transform:translateY(-5px);border-color:#fff3}.custom-select-wrapper{position:relative;display:flex}.custom-select{width:100%;background-color:var(--input-bg);color:var(--text-main);border:1px solid var(--border-color);border-radius:6px;padding:10px;font-size:.95rem;appearance:none;-webkit-appearance:none;-moz-appearance:none;cursor:pointer;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a3a3a3' 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 10px center;background-size:16px}.custom-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #3b82f633}.custom-select option{background-color:var(--card-bg);color:var(--text-main)}:root{--count-bg-primary: #0a0a0a;--count-bg-secondary: #1a1a1a;--count-bg-tertiary: #2a2a2a;--count-text-primary: #ffffff;--count-text-secondary: #a0a0a0;--count-text-tertiary: #666666;--count-accent-primary: #3b82f6;--count-accent-secondary: #2563eb;--count-success: #10b981;--count-warning: #f59e0b;--count-danger: #ef4444;--count-info: #3b82f6;--count-border: #333333}.stock-count-container{background-color:var(--count-bg-primary);min-height:100vh;color:var(--count-text-primary);padding-bottom:80px}.count-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background-color:var(--count-bg-secondary);border-bottom:1px solid var(--count-border);position:sticky;top:0;z-index:100}.count-header-title{font-size:1.25rem;font-weight:700;color:var(--count-text-primary);margin:0}.count-header-actions{display:flex;gap:12px;align-items:center}.count-icon-btn{background:transparent;border:none;color:var(--count-text-secondary);font-size:1.3rem;cursor:pointer;padding:8px;border-radius:8px;transition:all .2s;display:flex;align-items:center;justify-content:center}.count-icon-btn:hover{background-color:var(--count-bg-tertiary);color:var(--count-text-primary)}.count-bottom-nav{position:fixed;bottom:0;left:0;right:0;background-color:var(--count-bg-secondary);border-top:1px solid var(--count-border);display:flex;justify-content:space-around;padding:12px 0 max(12px,env(safe-area-inset-bottom));z-index:1000}.count-nav-item{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1;background:none;border:none;color:var(--count-text-secondary);cursor:pointer;padding:8px;transition:color .2s;font-size:.75rem;font-weight:500}.count-nav-item.active{color:var(--count-accent-primary)}.count-nav-item .icon{font-size:1.5rem}.count-fab{position:fixed;bottom:30px;right:20px;background:var(--count-accent-primary);color:#fff;border:none;border-radius:28px;padding:14px 28px;font-size:1rem;font-weight:700;cursor:pointer;box-shadow:0 8px 24px #3b82f666;display:flex;align-items:center;gap:8px;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:999}.count-fab:hover{transform:translateY(-2px);box-shadow:0 12px 32px #3b82f680}.count-fab:active{transform:translateY(0)}.count-sessions-list{padding:20px}.count-session-card{background-color:var(--count-bg-secondary);border:1px solid var(--count-border);border-radius:12px;padding:16px;margin-bottom:16px;cursor:pointer;transition:all .2s}.count-session-card:hover{border-color:var(--count-accent-primary);transform:translateY(-2px);box-shadow:0 4px 12px #3b82f633}.count-session-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.count-session-name{font-size:1.1rem;font-weight:600;color:var(--count-text-primary);margin:0}.count-session-status{padding:4px 12px;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase}.count-session-status.active{background-color:#10b98133;color:var(--count-success)}.count-session-status.completed{background-color:#3b82f633;color:var(--count-info)}.count-session-info{display:flex;flex-direction:column;gap:6px;color:var(--count-text-secondary);font-size:.9rem}.count-session-progress{margin-top:12px}.count-progress-bar{width:100%;height:6px;background-color:var(--count-bg-tertiary);border-radius:3px;overflow:hidden;margin-top:6px}.count-progress-fill{height:100%;background:linear-gradient(90deg,var(--count-accent-primary),var(--count-accent-secondary));border-radius:3px;transition:width .3s ease}.count-scanner-container{position:relative;width:100%;height:60vh;background-color:var(--count-bg-primary);display:flex;align-items:center;justify-content:center;overflow:hidden}.count-scanner-video{width:100%;height:100%;object-fit:cover}.count-scanner-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.6) 0%,transparent 30%,transparent 70%,rgba(0,0,0,.6) 100%);pointer-events:none}.count-scanner-frame{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:80%;max-width:300px;aspect-ratio:1;border:2px solid var(--count-accent-primary);border-radius:12px;box-shadow:0 0 0 9999px #00000080}.count-scanner-line{position:absolute;top:0;left:0;right:0;height:2px;background:var(--count-accent-primary);box-shadow:0 0 10px var(--count-accent-primary);animation:scan 2s linear infinite}@keyframes scan{0%,to{top:0}50%{top:100%}}.count-scanner-controls{position:absolute;bottom:20px;left:0;right:0;display:flex;justify-content:center;gap:20px;z-index:10}.count-scanner-btn{background-color:#0009;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);color:#fff;padding:12px;border-radius:50%;font-size:1.5rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;width:48px;height:48px}.count-scanner-btn:hover{background-color:#000c;transform:scale(1.1)}.count-product-card{background-color:var(--count-bg-secondary);border:1px solid var(--count-border);border-radius:12px;padding:20px;margin:20px}.count-product-header{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--count-border)}.count-product-image{width:80px;height:80px;border-radius:8px;object-fit:cover;background-color:var(--count-bg-tertiary)}.count-product-info{flex:1}.count-product-name{font-size:1.1rem;font-weight:600;color:var(--count-text-primary);margin:0 0 6px}.count-product-code{font-size:.85rem;color:var(--count-text-secondary);font-family:Roboto Mono,monospace}.count-product-stock{display:flex;align-items:center;gap:8px;padding:12px;background-color:var(--count-bg-tertiary);border-radius:8px;margin-top:12px}.count-product-stock-label{font-size:.9rem;color:var(--count-text-secondary)}.count-product-stock-value{font-size:1.2rem;font-weight:700;color:var(--count-accent-primary);font-family:Roboto Mono,monospace}.count-input-section{padding:20px}.count-input-label{font-size:.9rem;color:var(--count-text-secondary);margin-bottom:12px;display:block;font-weight:500}.count-input-controls{display:flex;align-items:center;justify-content:center;gap:20px;margin-bottom:20px}.count-input-btn{width:56px;height:56px;border-radius:50%;background-color:var(--count-bg-tertiary);border:2px solid var(--count-border);color:var(--count-text-primary);font-size:1.8rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.count-input-btn:hover{background-color:var(--count-accent-primary);border-color:var(--count-accent-primary);transform:scale(1.1)}.count-input-btn:active{transform:scale(.95)}.count-input-value{font-size:3rem;font-weight:700;color:var(--count-text-primary);font-family:Roboto Mono,monospace;min-width:120px;text-align:center}.count-difference{padding:16px;border-radius:12px;margin:20px;text-align:center;font-weight:600;font-size:1.1rem;display:flex;align-items:center;justify-content:center;gap:8px}.count-difference.equal{background-color:#10b9811a;border:1px solid rgba(16,185,129,.3);color:var(--count-success)}.count-difference.shortage{background-color:#ef44441a;border:1px solid rgba(239,68,68,.3);color:var(--count-danger)}.count-difference.excess{background-color:#f59e0b1a;border:1px solid rgba(245,158,11,.3);color:var(--count-warning)}.count-save-btn{width:calc(100% - 40px);margin:0 20px 20px;padding:18px;background:linear-gradient(135deg,var(--count-accent-primary),var(--count-accent-secondary));color:#fff;border:none;border-radius:12px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .3s;box-shadow:0 4px 12px #3b82f64d}.count-save-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #3b82f666}.count-save-btn:active{transform:translateY(0)}.count-save-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.count-records-list{padding:20px}.count-record-card{background-color:var(--count-bg-secondary);border:1px solid var(--count-border);border-radius:12px;padding:16px;margin-bottom:12px;transition:all .2s}.count-record-card:hover{border-color:var(--count-accent-primary)}.count-record-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.count-record-product{flex:1}.count-record-name{font-size:1rem;font-weight:600;color:var(--count-text-primary);margin:0 0 4px}.count-record-code{font-size:.8rem;color:var(--count-text-secondary);font-family:Roboto Mono,monospace}.count-record-stats{display:flex;gap:16px;margin-top:12px;font-size:.9rem}.count-record-stat{display:flex;flex-direction:column;gap:2px}.count-record-stat-label{color:var(--count-text-secondary);font-size:.75rem}.count-record-stat-value{color:var(--count-text-primary);font-weight:600;font-family:Roboto Mono,monospace}.count-record-badge{padding:6px 12px;border-radius:8px;font-size:.8rem;font-weight:700;white-space:nowrap}.count-record-badge.equal{background-color:#10b98133;color:var(--count-success)}.count-record-badge.shortage{background-color:#ef444433;color:var(--count-danger)}.count-record-badge.excess{background-color:#f59e0b33;color:var(--count-warning)}.count-record-time{font-size:.75rem;color:var(--count-text-tertiary);margin-top:8px}.count-empty-state{text-align:center;padding:60px 20px;color:var(--count-text-secondary)}.count-empty-icon{font-size:4rem;margin-bottom:16px;opacity:.5}.count-empty-text{font-size:1rem;margin:0}.count-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:16px}.count-spinner{width:48px;height:48px;border:4px solid var(--count-bg-tertiary);border-top-color:var(--count-accent-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(min-width:768px){.stock-count-container{max-width:480px;margin:0 auto;box-shadow:0 0 40px #00000080;min-height:100vh}.count-fab{right:calc(50% - 220px)}.count-header{max-width:480px;margin:0 auto;left:0;right:0}}@media(min-width:1024px){.stock-count-container,.count-header{max-width:600px}.count-fab{right:calc(50% - 280px)}}@media(min-width:1024px){.count-desktop-layout{max-width:1200px;margin:0 auto;padding:40px 20px}.count-desktop-header{margin-bottom:32px}.count-desktop-title{font-size:2rem;font-weight:700;color:var(--count-text-primary);margin:0 0 8px}.count-desktop-subtitle{color:var(--count-text-secondary);font-size:1rem}.count-table-container{background-color:var(--count-bg-secondary);border:1px solid var(--count-border);border-radius:12px;overflow:hidden}.count-table{width:100%;border-collapse:collapse}.count-table th{background-color:var(--count-bg-tertiary);color:var(--count-text-secondary);font-weight:600;text-align:left;padding:16px;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.count-table td{padding:16px;border-top:1px solid var(--count-border);color:var(--count-text-primary)}.count-table tr:hover{background-color:var(--count-bg-tertiary)}}.count-modal-overlay{position:fixed;inset:0;background-color:#000000bf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.count-modal{background-color:var(--count-bg-secondary);border:1px solid var(--count-border);border-radius:16px;width:100%;max-width:500px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.count-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--count-border);background-color:var(--count-bg-tertiary)}.count-modal-title{margin:0;font-size:1.25rem;font-weight:700;color:var(--count-text-primary)}.count-modal-close{background:transparent;border:none;color:var(--count-text-secondary);cursor:pointer;padding:4px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s}.count-modal-close:hover{background-color:var(--count-bg-primary);color:var(--count-text-primary)}.count-modal-body{padding:24px;overflow-y:auto;flex:1}.count-form-group{margin-bottom:20px}.count-form-label{display:block;margin-bottom:8px;font-size:.9rem;font-weight:600;color:var(--count-text-primary)}.count-form-input,.count-form-textarea{width:100%;padding:12px 16px;background-color:var(--count-bg-primary);border:1px solid var(--count-border);border-radius:8px;color:var(--count-text-primary);font-size:.95rem;font-family:inherit;transition:all .2s}.count-form-input:focus,.count-form-textarea:focus{outline:none;border-color:var(--count-accent-primary);box-shadow:0 0 0 3px #3b82f61a}.count-form-input.error{border-color:var(--count-danger)}.count-form-input::placeholder,.count-form-textarea::placeholder{color:var(--count-text-tertiary)}.count-form-textarea{resize:vertical;min-height:80px}.count-form-error{display:block;margin-top:6px;font-size:.85rem;color:var(--count-danger)}.count-info-box{background-color:#3b82f61a;border:1px solid rgba(59,130,246,.3);border-radius:8px;padding:12px 16px;margin-top:20px;color:var(--count-text-secondary)}.count-modal-footer{display:flex;gap:12px;padding:20px 24px;border-top:1px solid var(--count-border);background-color:var(--count-bg-tertiary)}.count-btn{flex:1;padding:12px 24px;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px}.count-btn-secondary{background-color:transparent;border:1px solid var(--count-border);color:var(--count-text-primary)}.count-btn-secondary:hover{background-color:var(--count-bg-primary);border-color:var(--count-text-secondary)}.count-btn-primary{background:linear-gradient(135deg,var(--count-accent-primary),var(--count-accent-secondary));color:#fff;box-shadow:0 4px 12px #3b82f64d}.count-btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 16px #3b82f666}.count-btn-primary:active{transform:translateY(0)}@media(max-width:640px){.count-modal{max-width:100%;border-radius:16px 16px 0 0;max-height:95vh}.count-modal-header,.count-modal-body,.count-modal-footer{padding:16px 20px}.count-modal-footer{flex-direction:column-reverse}.count-btn{width:100%}}.count-scanner-fullscreen{position:fixed;inset:0;background-color:#000;z-index:3000;display:flex;flex-direction:column}.count-scanner-container{position:relative;flex:1;display:flex;flex-direction:column;overflow:hidden}.count-scanner-video{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}.count-scanner-overlay{position:absolute;inset:0;background:#0000004d;pointer-events:none}.count-scanner-frame{position:absolute;top:35%;left:50%;transform:translate(-50%,-50%);width:70%;max-width:280px;aspect-ratio:1;z-index:5}.count-scanner-bottom-controls{position:absolute;bottom:0;left:0;right:0;padding:24px 20px 30px;background:linear-gradient(to top,rgba(0,0,0,.9),transparent);z-index:10;display:flex;flex-direction:column;gap:16px}.count-scanner-corner{position:absolute;width:30px;height:30px;border-color:#fff;border-style:solid;border-width:0;box-shadow:0 0 4px #00000080}.count-scanner-corner.top-left{top:0;left:0;border-top-width:4px;border-left-width:4px;border-top-left-radius:12px}.count-scanner-corner.top-right{top:0;right:0;border-top-width:4px;border-right-width:4px;border-top-right-radius:12px}.count-scanner-corner.bottom-left{bottom:0;left:0;border-bottom-width:4px;border-left-width:4px;border-bottom-left-radius:12px}.count-scanner-corner.bottom-right{bottom:0;right:0;border-bottom-width:4px;border-right-width:4px;border-bottom-right-radius:12px}.count-scanner-top-controls{position:absolute;top:0;left:0;right:0;padding:20px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(to bottom,rgba(0,0,0,.6),transparent);z-index:10}.count-scanner-icon-btn{width:40px;height:40px;border-radius:50%;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.2);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.count-scanner-icon-btn:active{transform:scale(.95);background:#0009}.count-scanner-status{background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:6px 12px;border-radius:20px;color:#fff;font-size:.85rem;font-weight:500;border:1px solid rgba(255,255,255,.1)}.count-scanner-bottom-controls{position:absolute;bottom:0;left:0;right:0;padding:24px 20px 40px;background:linear-gradient(to top,rgba(0,0,0,.9),transparent);z-index:10;display:flex;flex-direction:column;gap:20px}.count-scanner-actions{display:flex;justify-content:center;gap:32px}.count-scanner-action-btn{width:48px;height:48px;border-radius:50%;background:#ffffff26;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:none;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.count-scanner-action-btn.active{background:#fff;color:#000}.count-scanner-action-btn:active{transform:scale(.95)}.count-scanner-input-form{width:100%;max-width:320px;margin:0 auto}.count-scanner-input{width:100%;background:#ffffff26;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.2);border-radius:12px;padding:12px 16px;color:#fff;font-size:1rem;text-align:center;outline:none;transition:all .2s}.count-scanner-input::placeholder{color:#fff9}.count-scanner-input:focus{background:#ffffff40;border-color:#fff}.count-scanner-error{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background-color:#ef4444e6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:20px;border-radius:16px;text-align:center;width:85%;max-width:300px;z-index:20}.count-scanner-error p{color:#fff;margin-bottom:16px;font-size:.95rem;line-height:1.5}.count-scanner-retry-btn{background:#fff;color:var(--count-danger);border:none;padding:8px 20px;border-radius:20px;font-weight:600;font-size:.9rem;cursor:pointer}.recent-orders-wrapper{background:linear-gradient(135deg,#3b82f61a,#a78bfa1a);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:20px;overflow:hidden;margin-bottom:30px;width:100%;max-width:800px;margin-left:auto;margin-right:auto;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;cursor:default;animation:fadeInUp .6s ease-out}.recent-orders-wrapper:hover{transform:translateY(-5px);border-color:#3b82f680;box-shadow:0 20px 40px #3b82f633}.recent-orders-header{background:#ffffff0d;padding:15px 25px;display:flex;justify-content:space-between;align-items:center;color:var(--text-main);border-bottom:1px solid rgba(255,255,255,.1)}.recent-orders-header h3{margin:0;font-size:1.1rem;font-weight:700;display:flex;align-items:center;gap:10px}.recent-orders-header .badge{background:var(--primary-color);color:#fff;padding:4px 12px;border-radius:20px;font-size:.85rem;font-weight:600;box-shadow:0 2px 4px #0003}.recent-orders-content{padding:15px;display:flex;flex-direction:column;gap:15px}.order-card{background:#0003;border:1px solid rgba(255,255,255,.05);border-radius:12px;padding:12px 16px;transition:all .2s ease;cursor:pointer;width:100%}.order-card:hover{background:#ffffff1a;transform:translate(5px);border-color:#3b82f64d}.order-top{display:flex;justify-content:space-between;font-size:.85rem;color:var(--text-muted);margin-bottom:6px}.order-marketplace{color:#60a5fa;font-weight:600}.order-product{margin-bottom:8px}.order-product strong{display:block;color:var(--text-main);font-size:.95rem;margin-bottom:2px}.order-product small{color:var(--text-muted);font-size:.8rem}.order-details{display:flex;justify-content:space-between;align-items:center;padding-top:8px;border-top:1px solid rgba(255,255,255,.05);font-size:.9rem}.order-details span:first-child{color:#fbbf24;font-weight:600}.order-details span:last-child{color:#34d399;font-weight:700}.recent-orders-content::-webkit-scrollbar{width:6px}.recent-orders-content::-webkit-scrollbar-track{background:#0000001a}.recent-orders-content::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.recent-orders-content::-webkit-scrollbar-thumb:hover{background:#fff3}@media(max-width:768px){.recent-orders-wrapper{margin:0 0 20px;width:100%;border-radius:16px}.date-filter-dropdown{display:block!important;flex:1 1 auto;min-width:120px}.date-filter-buttons{display:none!important}}.date-filter-dropdown{display:none}.date-filter-buttons{display:flex;gap:8px;align-items:center}.stat-card{background:linear-gradient(135deg,#3b82f61a,#a78bfa1a);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:20px;transition:all .3s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 16px #0003;border-color:#3b82f64d}.stat-card .stat-label{font-size:.85rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.stat-card .stat-value{font-size:2rem;font-weight:700;color:var(--text-main);font-family:Roboto Mono,monospace}
