@import"https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@400;500;700;900&family=Bebas+Neue&family=Rajdhani:wght@600;700&display=swap";input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;max-width:100%}:root{--bg: #0a0800;--surface: #120f02;--surface2: #1c1703;--border: #3d3000;--border-gold: #c8920a;--accent: #ff8c00;--accent2: #e06b00;--accent-glow: #ffa500;--gold: #ffd700;--gold2: #c8920a;--ki-blue: #00bfff;--ki-yellow: #ffe135;--saiyan-gold: #ffd700;--danger: #e53935;--warn: #ff8f00;--ok: #43a047;--text: #fff5e0;--text2: #9b8a60;--text3: #5a4e38;--bg2: #1c1703;--primary: #ff8c00;--radius: 12px;--shadow: 0 4px 24px rgba(0,0,0,.8);--text-xs: clamp(11px, 1.1vw + .4rem, 12px);--text-sm: clamp(14px, 1.3vw + .5rem, 15px);--text-base: clamp(16px, 1.5vw + .5rem, 17px);--text-md: clamp(16px, 1.6vw + .5rem, 18px);--text-lg: clamp(18px, 1.8vw + .5rem, 20px);--text-xl: clamp(17px, 1.9vw + .5rem, 20px);--text-2xl: clamp(18px, 2.2vw + .5rem, 24px);--text-3xl: clamp(22px, 2.8vw + .5rem, 30px);--touch-min: 44px;--gap-sm: clamp(6px, 1vw, 10px);--gap-md: clamp(10px, 1.5vw, 16px);--gap-lg: clamp(14px, 2vw, 24px);--text-nav: clamp(22px, 2.3vw + .8rem, 24px);--font-body: var(--text-base);--font-caption: var(--text-xs);--font-data: var(--text-base);--font-label: var(--text-sm);--font-ui: var(--text-sm);--font-heading: var(--text-xl);--font-title: var(--text-2xl);--font-display: var(--text-3xl);--leading-tight: 1.2;--leading-snug: 1.4;--leading-normal: 1.5;--leading-relaxed: 1.6;--weight-regular: 400;--weight-medium: 500;--weight-emphasis: 600;--tracking-tighter: -.02em;--tracking-tight: -.01em;--tracking-normal: 0em;--tracking-wide: .01em;--tracking-wider: .03em;--tracking-widest: .04em}@keyframes ki-pulse{0%,to{opacity:.7}50%{opacity:1}}@keyframes power-level{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes aura-flicker{0%,to{box-shadow:0 0 20px #ff8c0059,inset 0 0 10px #ff8c000d}50%{box-shadow:0 0 30px #ffa50080,inset 0 0 15px #ffa50014}}@keyframes saiyan-glow{0%,to{text-shadow:0 0 10px var(--saiyan-gold),0 0 20px rgba(255,215,0,.3),2px 2px 0 rgba(0,0,0,.8)}50%{text-shadow:0 0 18px var(--saiyan-gold),0 0 36px rgba(255,165,0,.6),2px 2px 0 rgba(0,0,0,.8)}}@keyframes energy-sweep{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes logo-pulse{0%,to{filter:drop-shadow(0 0 4px rgba(255,200,0,.9)) drop-shadow(0 0 12px rgba(255,140,0,.7)) drop-shadow(0 0 24px rgba(200,70,0,.4))}50%{filter:drop-shadow(0 0 8px rgba(255,220,0,1)) drop-shadow(0 0 20px rgba(255,160,0,.9)) drop-shadow(0 0 40px rgba(220,90,0,.6))}}@keyframes scan-line{0%,to{opacity:.2;transform:scaleX(.4)}50%{opacity:1;transform:scaleX(1)}}html{font-size:clamp(16px,2vw,18px)}html,body{overflow-x:hidden;max-width:100vw;line-height:1.6;touch-action:pan-y;-webkit-text-size-adjust:100%}body{font-family:Noto Sans TC,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;background:var(--bg);background-image:radial-gradient(ellipse at 15% 50%,rgba(255,140,0,.05) 0%,transparent 50%),radial-gradient(ellipse at 85% 20%,rgba(255,215,0,.03) 0%,transparent 50%),radial-gradient(ellipse at 50% 100%,rgba(200,100,0,.06) 0%,transparent 50%),linear-gradient(180deg,#0a0800,#0d0c02 60%,#080600);color:var(--text);font-size:var(--text-base);line-height:1.6;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}p,span,div,td,th,li,label,input,select,textarea,button{font-family:inherit}.app-shell{display:flex;min-height:100vh}.sidebar{width:200px;min-width:200px;background:linear-gradient(180deg,#161000fc,#0a0800);border-right:2px solid var(--border-gold);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:100;box-shadow:4px 0 30px #ff8c001f,inset -1px 0 #ffd7000f;overflow:hidden}.sidebar:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,transparent 0%,var(--accent) 25%,var(--gold) 50%,var(--accent) 75%,transparent 100%);background-size:100% 300%;animation:power-level 4s ease infinite;z-index:2}.sidebar:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 70% 20%,rgba(255,140,0,.07) 0%,transparent 50%),radial-gradient(ellipse at 30% 80%,rgba(255,215,0,.04) 0%,transparent 40%);pointer-events:none}.sidebar-logo{padding:14px 10px 10px;border-bottom:1px solid rgba(200,146,10,.25);background:linear-gradient(135deg,rgba(255,140,0,.06) 0%,rgba(255,215,0,.02) 60%,transparent 100%);position:relative;z-index:1}.logo-img-wrap{position:relative;display:flex;align-items:center;justify-content:center;padding:4px 6px 6px}.logo-img-wrap:before{content:"";position:absolute;bottom:0;left:5%;right:5%;height:1px;height:2px;background:linear-gradient(90deg,transparent,rgba(255,215,0,.9),rgba(255,140,0,.7),transparent);animation:scan-line 2.8s ease-in-out infinite;border-radius:1px}.logo-img-wrap:after{content:"";position:absolute;inset:-4px;border-radius:6px;background:radial-gradient(ellipse at 50% 100%,rgba(255,140,0,.1) 0%,transparent 70%);pointer-events:none}.logo-img{width:100%;max-width:180px;height:auto;display:block;object-fit:contain;filter:drop-shadow(0 0 4px rgba(255,200,0,.9)) drop-shadow(0 0 12px rgba(255,140,0,.7)) drop-shadow(0 0 24px rgba(200,70,0,.4));animation:logo-pulse 3.5s ease-in-out infinite}.sidebar-logo p{font-size:var(--text-xs);color:var(--text2);margin-top:6px;letter-spacing:.12em;font-family:Rajdhani,sans-serif;text-align:center;opacity:.7}.sidebar-nav{flex:1;padding:8px 0;overflow-y:auto;position:relative;z-index:1}.nav-item{display:flex;align-items:center;gap:12px;padding:13px 16px;color:#fff5dcb3;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);font-size:var(--text-nav);font-weight:600;border-left:3px solid transparent;text-decoration:none;white-space:nowrap;overflow:hidden;position:relative;letter-spacing:.05em;min-height:var(--touch-min)}.nav-item:after{content:"";position:absolute;bottom:0;left:16px;right:16px;height:1px;background:linear-gradient(90deg,transparent,rgba(200,146,10,.12),transparent)}.mobile-bottom-nav{display:none}.nav-item:hover{color:var(--gold);background:linear-gradient(90deg,#ff8c0024,#ff8c000a);border-left-color:var(--accent);padding-left:20px;text-shadow:0 0 8px rgba(255,165,0,.4)}.nav-item.active{color:var(--gold);background:linear-gradient(90deg,#ff8c002e,#ff8c000f);border-left-color:var(--gold);font-weight:700;animation:aura-flicker 2.5s ease-in-out infinite}.nav-icon{font-size:33px;width:42px;text-align:center;flex-shrink:0;filter:drop-shadow(0 0 3px rgba(255,165,0,.25))}.main-content{margin-left:200px;flex:1;padding:28px 32px;min-height:100vh;overflow-x:hidden;min-width:0}.mobile-topbar{display:none}.alert-bar{font-size:var(--text-sm);font-weight:700;background:#e539351a;border:1px solid rgba(229,57,53,.35);border-left:4px solid var(--danger);color:#ff6b6b;border-radius:10px;padding:10px 16px;margin-bottom:12px;display:flex;align-items:center;flex-wrap:wrap;gap:6px;letter-spacing:.04em;box-shadow:0 2px 12px #e5393526;font-family:Rajdhani,Noto Sans TC,sans-serif}.alert-bar.warn{background:#ff8f001a;border-color:#ff8f0059;border-left-color:var(--warn);color:#ffb300;box-shadow:0 2px 12px #ff8f0026}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;position:relative;padding-bottom:14px}.page-header:after{content:"";position:absolute;bottom:0;left:0;height:2px;width:100%;background:linear-gradient(90deg,var(--accent) 0%,var(--gold) 10%,rgba(200,146,10,.2) 40%,transparent 100%);border-radius:2px}.page-title{font-family:Bebas Neue,Noto Sans TC,sans-serif;font-size:clamp(22px,3vw,30px);font-weight:400;color:var(--text);letter-spacing:.1em;display:flex;align-items:center;gap:10px;text-shadow:0 0 16px rgba(255,140,0,.25),2px 2px 4px rgba(0,0,0,.8)}.page-sub{font-size:var(--text-sm);color:var(--text2);margin-top:3px;letter-spacing:.04em}.card{background:linear-gradient(145deg,#161102f5,#0c0a00fa);border:1px solid var(--border-gold);border-radius:14px;padding:18px;box-shadow:0 2px 16px #00000080,inset 0 0 0 1px #ffd7000a;overflow:hidden;min-width:0;position:relative}.card:before{content:"";position:absolute;top:0;left:0;width:18px;height:18px;border-top:2px solid var(--accent);border-left:2px solid var(--accent);border-radius:14px 0 0;pointer-events:none}.card:after{content:"";position:absolute;bottom:0;right:0;width:18px;height:18px;border-bottom:2px solid var(--gold2);border-right:2px solid var(--gold2);border-radius:0 0 14px;pointer-events:none}.card-no-deco:before,.card-no-deco:after{display:none}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px;margin-bottom:24px}.stats-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px}.stat-card{background:linear-gradient(135deg,#201600eb,#100c00f5);border:1px solid var(--border-gold);border-radius:14px;padding:18px;position:relative;overflow:hidden;transition:all .2s}.stat-card:before{content:"◆";position:absolute;top:8px;right:10px;font-size:8px;color:var(--gold);opacity:.35}.stat-card:after{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent),var(--gold),transparent)}.stat-card:hover{border-color:var(--accent);box-shadow:0 4px 20px #ff8c002e;transform:translateY(-2px)}.stat-label{font-family:Rajdhani,Noto Sans TC,sans-serif;font-size:var(--text-base);font-weight:700;color:var(--gold2);letter-spacing:.08em;margin-bottom:8px}.stat-value{font-family:Bebas Neue,monospace;font-size:clamp(26px,3vw,34px);font-weight:400;color:var(--text);letter-spacing:.04em;line-height:1}.stat-value.accent{color:var(--accent);text-shadow:0 0 10px rgba(255,140,0,.4)}.stat-value.danger{color:var(--danger);text-shadow:0 0 10px rgba(229,57,53,.4)}.stat-value.ok{color:var(--ok);text-shadow:0 0 10px rgba(67,160,71,.4)}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;width:100%;isolation:isolate;cursor:grab;user-select:none;contain:inline-size;scroll-snap-type:x proximity;border-radius:10px;border:1px solid var(--border);scrollbar-width:thin;scrollbar-color:var(--border-gold) transparent}.table-wrap::-webkit-scrollbar{height:5px}.table-wrap::-webkit-scrollbar-track{background:transparent}.table-wrap::-webkit-scrollbar-thumb{background:var(--border-gold);border-radius:4px}.table-wrap.dragging{cursor:grabbing}table{width:100%;border-collapse:collapse;font-size:var(--text-base);word-break:keep-all;overflow-wrap:break-word}tbody tr:nth-child(2n) td{background:#ff8c000b}tbody tr:nth-child(odd) td{background:transparent}tbody tr:hover td{background:#ff8c001a!important;transition:background .12s}tbody tr:hover td:first-child{border-left:2px solid var(--accent)}.stock-critical{color:var(--danger)!important;font-weight:900;font-size:var(--text-lg);letter-spacing:-.02em}.stock-low{color:var(--warn)!important;font-weight:700;font-size:var(--text-md)}.stock-ok{color:var(--ok)!important;font-weight:700}.qty-highlight{font-weight:900;color:var(--ok);font-size:var(--text-lg)}.qty-low{font-weight:900;color:var(--danger)!important}.qty-zero{font-weight:900;color:var(--text2);opacity:.5}.important-num{font-weight:700;font-size:var(--text-md)}.stock-qty{font-size:var(--text-md);font-weight:900;color:var(--ok)}.stock-qty.low{color:var(--warn);text-shadow:0 0 8px rgba(255,143,0,.3)}.stock-qty.zero{color:var(--danger);text-shadow:0 0 8px rgba(229,57,53,.3);font-weight:900}table.orders-table{table-layout:fixed;min-width:1560px}.orders-table th:nth-child(1){width:90px}.orders-table th:nth-child(2){width:80px}.orders-table th:nth-child(3){width:130px}.orders-table th:nth-child(4){width:96px}.orders-table th:nth-child(5){width:130px}.orders-table th:nth-child(6){width:280px}.orders-table th:nth-child(7){width:112px}.orders-table th:nth-child(8){width:112px}.orders-table th:nth-child(9){width:56px}.orders-table th:nth-child(10){width:110px}.orders-table th:nth-child(11){width:164px}.orders-table th:nth-child(12){width:110px}.orders-table.select-mode{min-width:1596px}.orders-table.select-mode th:nth-child(1){width:36px}.orders-table.select-mode th:nth-child(2){width:90px}.orders-table.select-mode th:nth-child(3){width:80px}.orders-table.select-mode th:nth-child(4){width:130px}.orders-table.select-mode th:nth-child(5){width:96px}.orders-table.select-mode th:nth-child(6){width:130px}.orders-table.select-mode th:nth-child(7){width:280px}.orders-table.select-mode th:nth-child(8){width:112px}.orders-table.select-mode th:nth-child(9){width:112px}.orders-table.select-mode th:nth-child(10){width:56px}.orders-table.select-mode th:nth-child(11){width:110px}.orders-table.select-mode th:nth-child(12){width:164px}.orders-table.select-mode th:nth-child(13){width:110px}.orders-table td:nth-child(10),.orders-table td:nth-child(11){font-weight:700;letter-spacing:.01em}.orders-table td{vertical-align:middle;font-size:var(--text-base);line-height:1.55;padding:12px 10px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;min-height:64px}.orders-table td:nth-child(1){overflow:visible;padding-right:4px}.orders-table td:nth-child(5){white-space:normal}.orders-table td:nth-child(6){overflow:visible;white-space:normal}.orders-table td:nth-child(11){white-space:normal}.orders-table.select-mode td:nth-child(10),.orders-table.select-mode td:nth-child(11){font-weight:400;letter-spacing:0}.orders-table.select-mode td:nth-child(11),.orders-table.select-mode td:nth-child(12){font-weight:700;letter-spacing:.01em}.orders-table.select-mode td:nth-child(1){overflow:hidden;padding-right:10px}.orders-table.select-mode td:nth-child(2){overflow:visible;padding-right:4px}.orders-table.select-mode td:nth-child(6){white-space:normal}.orders-table.select-mode td:nth-child(7){overflow:visible;white-space:normal}.orders-table.select-mode td:nth-child(12){white-space:normal}.op-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;font-size:var(--text-sm);line-height:1;border-radius:7px;border:1px solid var(--border);background:transparent;color:var(--text2);cursor:pointer;transition:opacity .15s,background .15s;flex-shrink:0}.op-btn:hover{background:#ffffff12;opacity:.85}.op-btn-danger{color:var(--danger);border-color:#ef444459}.op-btn-danger:hover{background:#ef44441a}.items-cell{display:flex;flex-wrap:wrap;gap:3px;max-height:100px;overflow-y:auto;padding:2px 0}.item-tag{display:inline-flex;align-items:center;gap:3px;background:#ff8c0012;border:1px solid rgba(200,146,10,.3);border-radius:6px;padding:3px 8px;font-size:var(--text-sm);white-space:nowrap;line-height:1.4}th{text-align:center;white-space:nowrap;padding:12px 14px;background:linear-gradient(90deg,#ff8c0017,#ff8c000a);color:var(--gold);font-family:Rajdhani,Noto Sans TC,sans-serif;font-size:var(--text-sm);font-weight:700;letter-spacing:.12em;text-transform:uppercase;border-bottom:2px solid var(--border-gold);text-shadow:0 0 8px rgba(255,215,0,.25)}td{padding:11px 14px;border-bottom:1px solid rgba(61,48,0,.5);vertical-align:middle;font-size:var(--text-base);line-height:1.6;transition:background .12s;text-align:center}tr:last-child td{border-bottom:none}.table-sticky-first td:first-child,.table-sticky-first th:first-child{position:sticky;left:0;z-index:1;background:var(--surface)}.badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:var(--text-xs);font-weight:700;white-space:nowrap;font-family:Rajdhani,sans-serif}.badge-rent{background:#43a04724;color:#66bb6a;border:1px solid rgba(67,160,71,.35)}.badge-overdue{background:#e5393524;color:#ff6b6b;border:1px solid rgba(229,57,53,.35);animation:ki-pulse 2s ease-in-out infinite;box-shadow:0 0 6px #e5393533}.badge-warn{background:#ff8f0024;color:#ffc107;border:1px solid rgba(255,143,0,.35)}.badge-done{background:#9b8a601a;color:var(--text2);border:1px solid rgba(61,48,0,.5)}.badge-shipped{background:#ff8c0026;color:#fa3;border:1px solid rgba(255,140,0,.4)}.btn{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border-radius:8px;min-height:var(--touch-min);border:1px solid var(--border-gold);cursor:pointer;font-size:var(--text-sm);font-family:Rajdhani,Noto Sans TC,sans-serif;font-weight:700;transition:all .18s cubic-bezier(.4,0,.2,1);letter-spacing:.08em;text-transform:uppercase;position:relative;overflow:hidden;touch-action:manipulation;white-space:nowrap}.btn:before{content:"";position:absolute;top:0;left:-100%;bottom:0;width:60%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);transition:left .4s}.btn:hover:before{left:150%}.btn-primary{background:linear-gradient(135deg,#ff9010,#e06b00 60%,#c05000);color:#fff5e0;border-color:transparent;font-weight:700;box-shadow:0 2px 16px #ff8c0066,inset 0 1px #ffd70033;text-shadow:0 1px 2px rgba(0,0,0,.5)}.btn-primary:hover{background:linear-gradient(135deg,#ffaa20,#ff8c00 60%,#e06b00);box-shadow:0 4px 24px #ff8c0099,inset 0 1px #ffd7004d;transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-ghost{background:#ff8c0014;color:var(--gold);border-color:#ff8c0066}.btn-ghost:hover{color:var(--gold);border-color:var(--gold2);background:#ff8c001a;box-shadow:0 0 12px #ff8c001f}.btn-ghost.active{color:var(--gold);border-color:var(--accent);background:#ff8c001f;box-shadow:0 0 12px #ff8c002e}.btn-danger{background:#e539351a;color:#ff6b6b;border-color:#e5393559}.btn-danger:hover{background:#e5393533;box-shadow:0 0 12px #e5393540}@media (min-width: 769px){.btn{min-height:38px}.btn-sm{min-height:34px}}.btn-sm{padding:6px 14px;font-size:var(--text-sm)}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-family:Rajdhani,Noto Sans TC,sans-serif;font-size:var(--text-sm);font-weight:700;color:var(--gold2);letter-spacing:.12em;text-transform:uppercase}.form-group input,.form-group select,.form-group textarea{min-height:var(--touch-min);background:#161102eb;border:1px solid rgba(61,48,0,.9);border-radius:8px;padding:11px 14px;color:var(--text);font-family:inherit;font-size:var(--text-base);line-height:1.6;transition:all .18s;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #ff8c001a,0 0 14px #ff8c0014;background:#201600f2}input[type=date],input[type=date]::-webkit-datetime-edit,input[type=date]::-webkit-datetime-edit-fields-wrapper,.form-group input[type=date],.form-group input[type=date]::-webkit-datetime-edit,.form-group input[type=date]::-webkit-datetime-edit-fields-wrapper{color-scheme:dark;color:var(--text)}input[type=date]::-webkit-calendar-picker-indicator,.form-group input[type=date]::-webkit-calendar-picker-indicator{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Crect x='3' y='4' width='18' height='17' rx='2' stroke='%23ffd700' stroke-width='2'/%3E%3Cline x1='3' y1='9' x2='21' y2='9' stroke='%23ffd700' stroke-width='2'/%3E%3Cline x1='8' y1='2' x2='8' y2='6' stroke='%23ffd700' stroke-width='2' stroke-linecap='round'/%3E%3Cline x1='16' y1='2' x2='16' y2='6' stroke='%23ffd700' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:contain;background-color:transparent;filter:none;cursor:pointer;opacity:1;width:22px;height:22px;padding:0;border-radius:4px}input[type=date]::-webkit-calendar-picker-indicator:hover,.form-group input[type=date]::-webkit-calendar-picker-indicator:hover{background-color:#ffd7001f}.form-group select option{background:#1c1703}.form-group .location-input{display:flex;gap:6px;width:100%}.form-group .location-input select{width:90px!important;flex-shrink:0;padding:9px 8px}.form-group .location-input input{flex:1;min-width:0;width:auto!important}.search-row{display:flex;gap:10px;align-items:center;margin-bottom:16px;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px}.search-input{background:#161102f2;border:2px solid var(--border-gold);border-radius:12px;padding:0 18px;color:var(--text);font-family:inherit;font-size:var(--text-base);height:52px;min-width:200px;flex:1;transition:border-color .18s,box-shadow .18s,background .18s;line-height:1;box-sizing:border-box}.search-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #ff8c001f,inset 0 0 12px #ff8c000a;background:#201600fa}.search-row .btn{flex-shrink:0;white-space:nowrap;min-width:auto}.modal-overlay{position:fixed;inset:0;background:#000000e0;backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:999;padding:20px}.modal{background:linear-gradient(160deg,#1a1301fc,#0e0a00fc);border:1px solid var(--border-gold);border-radius:16px;width:100%;max-width:640px;max-height:92vh;overflow-y:auto;padding:28px;box-shadow:0 0 60px #ff8c001a,0 20px 60px #000000d9,inset 0 0 0 1px #ffd7000a;font-size:var(--text-base);line-height:1.6;position:relative}.modal:before{content:"";position:absolute;top:0;left:0;width:28px;height:28px;border-top:2px solid var(--accent);border-left:2px solid var(--accent);border-radius:16px 0 0;pointer-events:none}.modal-title{font-family:Bebas Neue,Noto Sans TC,sans-serif;font-size:clamp(20px,2.5vw,28px);font-weight:400;color:var(--gold);letter-spacing:.1em;margin-bottom:20px;text-shadow:0 0 14px rgba(255,215,0,.35)}.modal-footer{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;margin-top:20px;padding-top:14px;border-top:1px solid rgba(61,48,0,.7)}.modal-footer .btn{white-space:nowrap;font-size:var(--text-sm);padding:7px 12px}.cal-wrap{overflow-x:auto}.cal-grid{display:grid;min-width:700px}.cal-header-row,.cal-row{display:grid;grid-template-columns:180px repeat(var(--days, 7),1fr);border-bottom:1px solid rgba(61,48,0,.5)}.cal-cell{padding:6px 4px;border-right:1px solid rgba(61,48,0,.35);font-size:var(--text-base);min-height:38px;position:relative}.cal-cell:last-child{border-right:none}.cal-day-label{text-align:center;font-size:var(--text-xs);color:var(--text2);padding:6px 4px;border-right:1px solid rgba(61,48,0,.35);font-family:Rajdhani,sans-serif;letter-spacing:.06em}.cal-day-label.today{color:var(--gold);font-weight:700;text-shadow:0 0 8px rgba(255,215,0,.35)}.cal-product-name{font-size:var(--text-base);padding:8px;background:#161102f2;border-right:1px solid rgba(61,48,0,.35);display:flex;align-items:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:sticky;left:0;z-index:2}.cal-block{position:absolute;inset:2px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:var(--text-base);font-weight:600;overflow:hidden;white-space:nowrap;cursor:default}.cal-block-rent{background:#43a0472e;color:#66bb6a;border:1px solid rgba(67,160,71,.38)}.cal-block-overdue{background:#e539352e;color:#ff6b6b;border:1px solid rgba(229,57,53,.38)}.cal-block-highlight{background:#ff8c0038;color:#fa0;border:1px solid rgba(255,140,0,.45)}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:#0a0800cc}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--accent),var(--gold2));border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--gold)}input,select,textarea{line-height:1.6}.modal-kit-form{--text-xs: clamp(13px, 1.3vw + .45rem, 14px);--text-sm: clamp(15px, 1.42vw + .55rem, 16px);--text-base: clamp(16px, 1.6vw + .58rem, 17px);--text-md: clamp(16px, 1.7vw + .58rem, 18px);--text-lg: clamp(17px, 1.85vw + .58rem, 20px);font-size:var(--text-base)}.modal-kit-form .modal-title{font-size:clamp(20px,2.5vw,28px)!important}.modal-order-form{--text-xs: clamp(14px, 1.32vw + .5rem, 15px);--text-sm: clamp(16px, 1.44vw + .6rem, 17px);--text-base: clamp(18px, 1.68vw + .6rem, 20px);--text-md: clamp(18px, 1.8vw + .6rem, 20px);--text-lg: clamp(20px, 2vw + .6rem, 23px);--text-xl: clamp(22px, 2.28vw + .6rem, 26px);--text-2xl: clamp(24px, 2.64vw + .6rem, 30px);font-size:var(--text-base)}.modal-order-form .modal-title{font-size:clamp(20px,2.5vw,28px)!important}.mobile-cards{display:none!important}.mobile-order-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px 16px;margin-bottom:10px;line-height:1.65;box-shadow:0 2px 12px #00000073;position:relative}.mobile-order-card:before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;background:linear-gradient(180deg,var(--accent),var(--gold2));border-radius:0 3px 3px 0}.mobile-order-card .card-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.mobile-order-card .card-no{font-family:monospace;font-size:var(--text-xl);font-weight:700;color:var(--accent)}.mobile-order-card .card-name{font-size:var(--text-lg);font-weight:700;color:var(--text);flex:1}.mobile-order-card .card-products{font-size:var(--text-base);font-weight:700;color:var(--text);margin-bottom:8px;line-height:1.65}.mobile-order-card .card-row{display:flex;justify-content:space-between;align-items:center;font-size:var(--text-sm);margin-top:6px;color:var(--text2)}.mobile-order-card .card-amount{font-family:monospace;font-size:var(--text-lg);font-weight:700;color:var(--ok)}.mobile-order-card .card-date{font-family:monospace;font-size:var(--text-sm);color:var(--text2)}.mobile-order-card .card-quantity{font-size:var(--text-2xl);font-weight:900;color:var(--ok);letter-spacing:-.02em}.mobile-order-card .card-label{font-size:var(--text-xs);color:var(--text2);font-weight:500;letter-spacing:.04em}.mobile-order-card .card-product-name{font-size:var(--text-lg);font-weight:700;color:var(--text)}.mobile-order-card .card-order-no{font-family:monospace;font-size:var(--text-xl);font-weight:700;color:var(--accent)}.mobile-order-card .card-customer{font-size:var(--text-md);font-weight:600;color:var(--text)}@media (min-width: 769px) and (max-width: 1024px){.sidebar{width:195px;min-width:195px}.main-content{margin-left:195px;padding:18px 14px}.nav-item{font-size:var(--text-nav);padding:12px 14px}th,td{padding:9px 10px}tbody tr{line-height:1.6}.orders-table{min-width:860px}.btn{font-size:var(--text-sm);padding:8px 14px}.btn-sm{font-size:var(--text-sm);padding:6px 10px}}@media (max-width: 768px){.sidebar{width:80vw;max-width:280px;transform:translate(-100%);transition:transform .25s cubic-bezier(.4,0,.2,1)}.sidebar.open{transform:translate(0)}.nav-item{font-size:var(--text-nav);padding:14px 20px}.nav-icon{font-size:30px}.main-content{margin-left:0;padding:calc(74px + env(safe-area-inset-top,0px)) 14px calc(136px + env(safe-area-inset-bottom,0px))}.page-header{flex-direction:row;align-items:flex-start;margin-bottom:16px;flex-wrap:wrap;gap:10px}.page-title{font-size:clamp(22px,6vw,28px);white-space:nowrap}.page-sub{font-size:14px;white-space:nowrap}.card{padding:12px;border-radius:12px}.stat-grid{grid-template-columns:1fr 1fr;gap:10px}.stats-grid-2{grid-template-columns:1fr!important}.stat-value{font-size:clamp(24px,6vw,30px)}.table-wrap{overflow-x:auto!important;-webkit-overflow-scrolling:touch;border-radius:0;border:none}table{min-width:600px;font-size:var(--text-sm)}th,td{padding:8px 10px;white-space:nowrap}.orders-table-wrap{overflow-x:visible}.orders-table-wrap table,.orders-table-card{display:none!important}.mobile-cards{display:block!important}.btn,.btn-sm,label.btn{min-height:44px!important;touch-action:manipulation}input:not([style*="display:none"]):not([type=hidden]):not([type=file]),select,textarea{min-height:44px!important;font-size:16px!important;touch-action:manipulation}input[type=file]{min-height:0!important;height:0!important;padding:0!important;border:none!important}label:has(input[type=file]){position:relative;overflow:hidden}button{touch-action:manipulation}.search-input{width:100%!important;font-size:16px!important;height:52px!important}.form-grid{grid-template-columns:1fr!important;gap:10px}.form-group input,.form-group select,.form-group textarea{font-size:16px!important;padding:10px 12px!important;min-height:44px!important}.form-group .location-input select{width:80px!important;font-size:16px;padding:10px 8px}.form-group .location-input input{font-size:16px!important;padding:10px}.modal-overlay{align-items:center;padding:calc(env(safe-area-inset-top,0px) + 12px) 10px calc(env(safe-area-inset-bottom,0px) + 12px)}.modal{margin:0;width:100%;max-width:100%;border-radius:16px;max-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 56px);overflow-y:auto;padding:0 20px 20px}.modal:before,.modal:after{display:none}.modal-title{position:sticky;top:0;background:#0e0a00fc;z-index:10;padding:16px 20px 12px;margin:0 -20px 16px;border-radius:16px 16px 0 0;border-bottom:2px solid var(--border-gold);font-size:clamp(18px,5vw,24px)}.modal-footer{gap:8px;flex-wrap:wrap}.modal-footer .btn{flex:1;min-width:80px;justify-content:center}.badge{font-size:12px;padding:3px 8px}.alert-bar{font-size:14px;padding:10px 14px;flex-wrap:nowrap;overflow-x:auto}.btn{font-size:15px;padding:10px 14px;white-space:nowrap}.btn-sm{font-size:14px;padding:9px 13px;white-space:nowrap}.inventory-actions{width:100%;flex-wrap:wrap!important;gap:6px!important}.inventory-actions .btn,.inventory-actions label.btn{flex:1 1 auto;min-width:calc(50% - 6px);justify-content:center;text-align:center}.inventory-actions .btn-primary{flex:1 1 100%;min-width:100%}.qty-highlight{font-size:clamp(18px,5vw,22px);font-weight:900;color:var(--ok)}.qty-low{color:var(--danger)!important}.stock-qty{font-size:clamp(16px,4.5vw,20px)}.mobile-topbar{display:flex;align-items:center;justify-content:space-between;position:fixed;top:0;left:0;right:0;z-index:150;height:calc(60px + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) 14px 0 14px;background:linear-gradient(135deg,#140e00fa,#0a0800fc);border-bottom:2px solid var(--border-gold);box-shadow:0 2px 16px #0009,0 1px #ff8c001f}.mobile-topbar-logo{font-family:Bebas Neue,sans-serif;font-size:20px;color:var(--accent);letter-spacing:.12em;text-shadow:0 0 10px rgba(255,140,0,.5)}.menu-toggle-sm{width:44px;height:44px;background:#ff8c0014;border:1px solid rgba(200,146,10,.4);border-radius:8px;color:var(--accent);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;touch-action:manipulation}.menu-toggle-sm:hover{background:#ff8c002e;box-shadow:0 0 10px #ff8c0040}.mobile-bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:linear-gradient(180deg,#0e0a00f7,#080600fc);border-top:2px solid var(--border-gold);z-index:150;padding-top:6px;padding-bottom:calc(env(safe-area-inset-bottom,0px) + 10px);box-shadow:0 -4px 20px #ff8c0014;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none}.mobile-bottom-nav::-webkit-scrollbar{display:none}.mobile-bottom-nav a{flex:0 0 20vw;min-width:65px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4px;color:#fff5dc80;text-decoration:none;font-size:14px;font-weight:700;font-family:Noto Sans TC,sans-serif;letter-spacing:.02em;white-space:nowrap;gap:3px;position:relative;transition:all .15s;min-height:77px}.mobile-bottom-nav a .nav-icon-wrap{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:10px;transition:background .15s;flex-shrink:0}.mobile-bottom-nav a.active .nav-icon-wrap{background:#ffd7001a}.mobile-bottom-nav a img{display:block;width:26px;height:26px;object-fit:contain;background:transparent;border:none;outline:none;box-shadow:none;border-radius:0;padding:0;filter:saturate(.4) brightness(.7);transition:all .15s}.mobile-bottom-nav a span.nav-label{font-size:13px;font-weight:700;white-space:nowrap;line-height:1.2}.mobile-bottom-nav a.active{color:var(--gold)}.mobile-bottom-nav a.active img{filter:saturate(1.3) brightness(1.1) drop-shadow(0 0 5px rgba(255,215,0,.5))}.mobile-bottom-nav a.active:after{content:"";position:absolute;top:-2px;left:20%;right:20%;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent);border-radius:0 0 2px 2px}.mobile-bottom-nav a span:first-child{font-size:32px;line-height:1}.table-wrap table td:first-child,.table-wrap table th:first-child{position:sticky;left:0;z-index:1;background:var(--surface)}}@media (max-width: 380px){.nav-item{font-size:var(--text-base);padding:12px 14px}.btn,.btn-sm{font-size:var(--text-sm);padding:8px 10px}.mobile-order-card{padding:10px 12px}.stat-value{font-size:clamp(20px,5.5vw,26px)}}.size-row-grid{grid-template-columns:2fr 1fr 1.5fr 1.5fr!important}@media (max-width: 600px){.size-row-grid{grid-template-columns:1fr 1fr!important}}.text-display{font-size:var(--font-display);font-weight:var(--weight-medium);line-height:var(--leading-tight);letter-spacing:var(--tracking-tighter);font-variant-numeric:tabular-nums}.text-title{font-size:var(--font-title);font-weight:var(--weight-medium);line-height:var(--leading-tight)}.text-heading{font-size:var(--font-heading);font-weight:var(--weight-medium);line-height:var(--leading-tight)}.text-body{font-size:var(--font-body);font-weight:var(--weight-regular);line-height:var(--leading-relaxed)}.text-label{font-size:var(--font-label);font-weight:var(--weight-medium);line-height:var(--leading-snug);letter-spacing:var(--tracking-widest)}.text-ui{font-size:var(--font-ui);font-weight:var(--weight-medium);line-height:var(--leading-snug)}.text-caption{font-size:var(--font-caption);font-weight:var(--weight-regular);line-height:var(--leading-snug)}.text-data{font-size:var(--font-data);font-weight:var(--weight-regular);line-height:var(--leading-normal)}.text-nav{font-size:var(--font-nav);font-weight:var(--weight-medium);line-height:var(--leading-snug)}.leading-tight{line-height:var(--leading-tight)}.leading-snug{line-height:var(--leading-snug)}.leading-normal{line-height:var(--leading-normal)}.leading-relaxed{line-height:var(--leading-relaxed)}.weight-regular{font-weight:var(--weight-regular)}.weight-medium{font-weight:var(--weight-medium)}.weight-emphasis{font-weight:var(--weight-emphasis)}.numeric{font-variant-numeric:tabular-nums}.kpi-value{font-size:var(--font-display);font-weight:var(--weight-medium);line-height:var(--leading-tight);letter-spacing:var(--tracking-tighter);font-variant-numeric:tabular-nums}.kpi-label{font-size:var(--font-label);font-weight:var(--weight-medium);line-height:var(--leading-snug);letter-spacing:var(--tracking-wider)}.kpi-sublabel{font-size:var(--font-caption);font-weight:var(--weight-regular);line-height:var(--leading-snug);color:var(--text2)}.col-numeric{text-align:right;font-variant-numeric:tabular-nums;font-size:var(--font-data);font-weight:var(--weight-regular)}.col-id{font-family:DM Mono,ui-monospace,monospace;font-size:var(--font-caption);font-weight:var(--weight-regular);letter-spacing:.02em;color:var(--text2)}.ds-density-compact{--leading-normal: 1.35;--leading-relaxed: 1.5}.ds-density-compact th,.ds-density-compact td{padding:7px 10px!important}.cm-page{max-width:900px;margin:0 auto;padding:16px 14px 100px}.cm-page-title{font-size:var(--text-xl);font-weight:700;color:var(--gold);margin-bottom:16px;letter-spacing:.04em;text-shadow:0 0 12px rgba(255,215,0,.3)}.cm-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px;align-items:center}.cm-input{background:var(--surface2);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:14px;padding:7px 12px;outline:none;transition:border-color .15s}.cm-input:focus{border-color:var(--accent)}.cm-select{background:var(--surface2);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:14px;padding:7px 10px;outline:none;cursor:pointer}.cm-search{flex:1;min-width:160px}.cm-info{font-size:12px;color:var(--text2);margin-bottom:8px}.cm-list{display:flex;flex-direction:column;gap:8px}.cm-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px 16px;cursor:pointer;transition:border-color .15s,background .15s;display:flex;align-items:center;gap:12px}.cm-card:hover{border-color:var(--accent);background:#ff8c000a}.cm-card-name{font-size:15px;font-weight:600;color:var(--text);white-space:nowrap}.cm-card-phone{font-size:13px;color:var(--text2);font-family:monospace;white-space:nowrap}.cm-card-meta{font-size:11px;color:var(--text2);white-space:nowrap}.cm-card-tags{display:flex;gap:4px;flex-wrap:wrap}.cm-pagination{display:flex;justify-content:center;gap:6px;margin-top:16px;flex-wrap:wrap}.cm-page-btn{padding:5px 12px;border-radius:7px;border:1px solid var(--border);background:transparent;color:var(--text2);font-size:13px;cursor:pointer;transition:all .15s}.cm-page-btn:hover{border-color:var(--accent);color:var(--accent)}.cm-page-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.cm-page-btn:disabled{opacity:.4;cursor:default}.cm-empty{padding:40px;text-align:center;color:var(--text2);font-size:14px}.cm-overlay{position:fixed;inset:0;background:#000000bf;z-index:200;display:flex;align-items:center;justify-content:center;padding:16px}.cm-modal{background:var(--surface);border:1px solid var(--border-gold);border-radius:14px;width:100%;max-width:500px;max-height:88vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 8px 40px #000c}.cm-modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:16px 20px;border-bottom:1px solid var(--border);flex-shrink:0}.cm-modal-title{font-size:16px;font-weight:700;color:var(--gold);letter-spacing:.03em}.cm-modal-body{overflow-y:auto;flex:1;padding:0 20px 20px}.cm-modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:12px 20px;border-top:1px solid var(--border);flex-shrink:0}.cm-btn{padding:7px 14px;border-radius:8px;border:none;cursor:pointer;font-size:14px;font-weight:500;white-space:nowrap;transition:opacity .15s}.cm-btn:disabled{opacity:.4;cursor:default}.cm-btn-primary{background:var(--accent);color:#fff}.cm-btn-primary:hover:not(:disabled){opacity:.85}.cm-btn-ghost{background:transparent;border:1px solid var(--border);color:var(--text2)}.cm-btn-ghost:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.cm-btn-danger{background:transparent;border:1px solid rgba(229,57,53,.4);color:var(--danger)}.cm-btn-sm{padding:4px 10px;font-size:13px}.cm-icon-btn{background:transparent;border:none;color:var(--text2);cursor:pointer;font-size:16px;padding:4px 6px;border-radius:6px;transition:color .15s}.cm-icon-btn:hover{color:var(--text)}.cm-row{display:flex;align-items:baseline;gap:8px;padding:7px 0;border-bottom:1px solid var(--border);font-size:14px}.cm-row:last-child{border-bottom:none}.cm-row-label{color:var(--text2);min-width:72px;flex-shrink:0}.cm-row-value{color:var(--text);flex:1}.cm-pay-bar{display:flex;gap:8px;flex-wrap:wrap;padding:12px 20px;border-bottom:1px solid var(--border);background:#ff8c000a;flex-shrink:0}
