@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Plus+Jakarta+Sans:wght@500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap";:root{--navy-950:#060E1C;--navy-900:#0B1729;--navy-800:#122138;--navy-700:#1A2D4A;--navy-600:#223B5E;--teal-400:#2DE0BD;--teal-500:#00C9A7;--teal-600:#00A589;--teal-700:#008770;--amber-400:#FFB547;--amber-500:#F5A623;--amber-600:#D4901E;--red-500:#E8544A;--red-600:#C93E35;--green-500:#1A8A4A;--green-50:#E8FAF0;--green-600:#0F6F3A;--blue-500:#4A90E2;--white:#FFFFFF;--gray-50:#F7F9FC;--gray-100:#EEF2F7;--gray-150:#E4EAF3;--gray-200:#D8E0ED;--gray-300:#B8C4D8;--gray-400:#8A9BB8;--gray-500:#647593;--gray-600:#4A5C7A;--gray-700:#2F4060;--gray-800:#1E2D45;--gray-900:#0F1A30;--sidebar-w:248px;--font:"Inter",sans-serif;--font-display:"Plus Jakarta Sans",sans-serif;--mono:"JetBrains Mono",monospace;--radius-sm:6px;--radius:10px;--radius-lg:14px;--radius-xl:20px;--shadow-xs:0 1px 2px rgba(12,24,41,.04);--shadow-sm:0 2px 4px rgba(12,24,41,.05), 0 1px 2px rgba(12,24,41,.03);--shadow:0 4px 16px rgba(12,24,41,.06), 0 2px 4px rgba(12,24,41,.04);--shadow-md:0 10px 28px rgba(12,24,41,.08), 0 4px 8px rgba(12,24,41,.04);--shadow-lg:0 20px 48px rgba(12,24,41,.14), 0 8px 16px rgba(12,24,41,.06);--shadow-xl:0 32px 80px rgba(12,24,41,.22);--grad-teal:linear-gradient(135deg,#2DE0BD 0%,#00A589 100%);--grad-amber:linear-gradient(135deg,#FFB547 0%,#E8890A 100%);--grad-red:linear-gradient(135deg,#F27D74 0%,#C93E35 100%);--grad-blue:linear-gradient(135deg,#6BA6EC 0%,#2C6AC0 100%);--grad-navy:linear-gradient(135deg,#1A2D4A 0%,#060E1C 100%)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;font-family:var(--font);font-size:14px;background:var(--gray-50);color:var(--gray-800);-webkit-font-smoothing:antialiased;line-height:1.5}button,input,select{font-family:var(--font)}.layout{display:flex;height:100vh;overflow:hidden;background:var(--gray-50)}.sidebar{width:var(--sidebar-w);min-width:var(--sidebar-w);background:var(--grad-navy);display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;border-right:1px solid rgba(255,255,255,.04);position:relative}.sidebar:before{content:"";position:absolute;top:0;left:0;right:0;height:180px;background:radial-gradient(circle at top left,rgba(0,201,167,.15),transparent 70%);pointer-events:none}.sidebar-brand{padding:24px 20px 22px;border-bottom:1px solid rgba(255,255,255,.06);position:relative}.brand-logo{display:flex;align-items:center;gap:11px}.brand-icon{width:38px;height:38px;background:var(--grad-teal);border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--navy-900);box-shadow:0 8px 20px #00c9a759,inset 0 1px #ffffff4d}.brand-text{display:flex;flex-direction:column;gap:1px}.brand-name{font-family:var(--font-display);font-size:16px;font-weight:700;color:var(--white);letter-spacing:-.3px}.brand-sub{font-size:10.5px;color:var(--teal-400);letter-spacing:.08em;text-transform:uppercase;font-weight:500}.nav-section{padding:18px 14px 4px}.nav-label{font-size:10px;font-weight:600;color:var(--gray-500);letter-spacing:.1em;text-transform:uppercase;padding:0 10px;margin-bottom:8px}.nav-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--radius);color:var(--gray-400);cursor:pointer;font-size:13px;font-weight:500;transition:all .18s cubic-bezier(.4,0,.2,1);margin-bottom:3px;border:none;background:transparent;width:100%;text-align:left;position:relative}.nav-item:hover{background:#ffffff0d;color:var(--white)}.nav-item.active{background:linear-gradient(90deg,#00c9a72e,#00c9a70a);color:var(--teal-400);font-weight:600;box-shadow:inset 3px 0 0 var(--teal-500)}.nav-item.active:after{content:"";position:absolute;right:12px;width:5px;height:5px;border-radius:50%;background:var(--teal-400);box-shadow:0 0 8px var(--teal-400)}.nav-item svg{width:17px;height:17px;flex-shrink:0;stroke-width:1.8}.sidebar-footer{margin-top:auto;padding:18px;border-top:1px solid rgba(255,255,255,.06)}.user-card{display:flex;align-items:center;gap:10px;padding:10px;background:#ffffff08;border-radius:var(--radius);border:1px solid rgba(255,255,255,.05)}.avatar{width:34px;height:34px;border-radius:50%;background:var(--grad-teal);display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--navy-900);font-size:13px;flex-shrink:0}.user-card-text{flex:1;min-width:0}.user-card-text p:first-child{font-size:12px;color:var(--white);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-card-text p:last-child{font-size:11px;color:var(--gray-400)}.main{flex:1;overflow-y:auto;display:flex;flex-direction:column}.topbar{background:#ffffffd9;-webkit-backdrop-filter:saturate(180%) blur(12px);backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--gray-150);padding:0 32px;height:68px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100}.topbar-left{display:flex;align-items:center;gap:14px;min-width:0;flex:1}.topbar-title{min-width:0}.topbar-left h1{font-family:var(--font-display);font-size:18px;font-weight:700;color:var(--gray-900);letter-spacing:-.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-left p{font-size:12.5px;color:var(--gray-500);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-right{display:flex;gap:10px;align-items:center;flex-shrink:0}.menu-toggle{display:none;background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius);width:38px;height:38px;cursor:pointer;align-items:center;justify-content:center;color:var(--gray-700);box-shadow:var(--shadow-xs);flex-shrink:0;transition:all .15s}.menu-toggle:hover{background:var(--gray-50);border-color:var(--gray-300)}.nav-backdrop{display:none}.content{padding:28px 32px 40px;flex:1;max-width:1600px;margin:0 auto;width:100%}.btn{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border-radius:var(--radius);font-family:var(--font);font-size:13px;font-weight:600;cursor:pointer;border:none;white-space:nowrap;transition:all .18s cubic-bezier(.4,0,.2,1);letter-spacing:-.1px}.btn:active{transform:translateY(1px)}.btn-teal{background:var(--grad-teal);color:var(--navy-900);box-shadow:0 4px 12px #00c9a747,inset 0 1px #ffffff4d}.btn-teal:hover{box-shadow:0 8px 20px #00c9a766,inset 0 1px #ffffff4d;transform:translateY(-1px)}.btn-amber{background:var(--grad-amber);color:var(--white);box-shadow:0 4px 12px #f5a6234d,inset 0 1px #ffffff40}.btn-amber:hover{box-shadow:0 8px 20px #f5a62366;transform:translateY(-1px)}.btn-ghost{background:var(--white);color:var(--gray-700);border:1px solid var(--gray-200);box-shadow:var(--shadow-xs)}.btn-ghost:hover{background:var(--gray-50);border-color:var(--gray-300)}.btn-excel{background:linear-gradient(135deg,#2c8a56,#155233);color:var(--white);box-shadow:0 4px 12px #1d6f4247}.btn-excel:hover{box-shadow:0 8px 20px #1d6f4266;transform:translateY(-1px)}.btn-red{background:var(--grad-red);color:var(--white)}.btn-icon{padding:7px;border-radius:var(--radius-sm);background:var(--white);border:1px solid var(--gray-200);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .15s;box-shadow:var(--shadow-xs)}.btn-icon:hover{background:var(--gray-50);border-color:var(--gray-300);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-sm{padding:7px 12px;font-size:12px;border-radius:var(--radius-sm)}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:28px}.metric-card{background:var(--white);border-radius:var(--radius-lg);padding:22px;border:1px solid var(--gray-150);position:relative;overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s}.metric-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.metric-card:after{content:"";position:absolute;top:-40px;right:-40px;width:140px;height:140px;border-radius:50%;opacity:.06;pointer-events:none}.metric-card.c-blue:after{background:var(--blue-500)}.metric-card.c-teal:after{background:var(--teal-500)}.metric-card.c-amber:after{background:var(--amber-500)}.metric-card.c-red:after{background:var(--red-500)}.metric-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.metric-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--white);box-shadow:0 4px 12px #00000014,inset 0 1px #fff3}.metric-card.c-blue .metric-icon{background:var(--grad-blue)}.metric-card.c-teal .metric-icon{background:var(--grad-teal);color:var(--navy-900)}.metric-card.c-amber .metric-icon{background:var(--grad-amber)}.metric-card.c-red .metric-icon{background:var(--grad-red)}.metric-trend{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:600;padding:3px 8px;border-radius:99px;background:var(--green-50);color:var(--green-600)}.metric-label{font-size:11.5px;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}.metric-val{font-family:var(--font-display);font-size:30px;font-weight:700;line-height:1.1;color:var(--gray-900);letter-spacing:-.8px}.metric-sub{font-size:12px;color:var(--gray-500);margin-top:8px}.card{background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--gray-150);margin-bottom:22px;box-shadow:var(--shadow-sm);overflow:hidden}.card-header{padding:18px 22px;border-bottom:1px solid var(--gray-100);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.card-title{font-family:var(--font-display);font-size:15px;font-weight:700;color:var(--gray-900);letter-spacing:-.2px}.card-sub{font-size:12px;color:var(--gray-500);margin-top:3px}.card-body{padding:0}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}thead th{padding:12px 20px;text-align:left;font-size:10.5px;font-weight:700;color:var(--gray-500);text-transform:uppercase;letter-spacing:.08em;background:var(--gray-50);border-bottom:1px solid var(--gray-150);white-space:nowrap}tbody td{padding:14px 20px;border-bottom:1px solid var(--gray-100);vertical-align:middle}tbody tr:last-child td{border-bottom:none}tbody tr{transition:background .12s}tbody tr:hover td{background:var(--gray-50)}.tfoot-row td{background:linear-gradient(180deg,var(--gray-50),var(--gray-100));font-weight:700;border-top:2px solid var(--gray-200);padding:14px 20px}.badge{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:99px;font-size:11px;font-weight:600;letter-spacing:-.1px}.badge:before{content:"";width:6px;height:6px;border-radius:50%;box-shadow:0 0 6px currentColor}.badge-green{background:var(--green-50);color:var(--green-600)}.badge-green:before{background:#2ecc71}.badge-amber{background:#fef5e4;color:#a06c10}.badge-amber:before{background:var(--amber-500)}.badge-red{background:#fdecea;color:#b33028}.badge-red:before{background:var(--red-500)}.prog-wrap{background:var(--gray-100);border-radius:99px;height:7px;overflow:hidden;width:120px;position:relative}.prog-fill{height:100%;border-radius:99px;transition:width .6s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.prog-fill:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:22px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:12px;font-weight:600;color:var(--gray-700);letter-spacing:-.1px}.form-group input,.form-group select{padding:11px 14px;border-radius:var(--radius);border:1px solid var(--gray-200);font-family:var(--font);font-size:13px;color:var(--gray-900);background:var(--white);transition:all .15s;outline:none;width:100%}.form-group input::-moz-placeholder{color:var(--gray-400)}.form-group input::placeholder{color:var(--gray-400)}.form-group input:hover,.form-group select:hover{border-color:var(--gray-300)}.form-group input:focus,.form-group select:focus{border-color:var(--teal-500);box-shadow:0 0 0 4px #00c9a71f}.form-section-title{font-family:var(--font-display);font-size:13.5px;font-weight:700;color:var(--gray-900);margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--gray-100);letter-spacing:-.2px;display:flex;align-items:center;gap:8px}.form-section-title:before{content:"";width:3px;height:14px;background:var(--grad-teal);border-radius:2px}.preview-box{background:linear-gradient(135deg,#00c9a70a,#4a90e20a);border:1px solid rgba(0,201,167,.2);border-radius:var(--radius-lg);padding:18px;margin-bottom:18px}.preview-title{font-size:11px;font-weight:700;color:var(--teal-700);text-transform:uppercase;letter-spacing:.08em;display:flex;align-items:center;gap:6px}.preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:12px}.preview-item{background:var(--white);border-radius:var(--radius);padding:12px 14px;border:1px solid var(--gray-150)}.preview-item p:first-child{font-size:10.5px;color:var(--gray-500);font-weight:600;text-transform:uppercase;letter-spacing:.06em;margin-bottom:5px}.preview-item p:last-child{font-family:var(--font-display);font-size:15px;font-weight:700;color:var(--gray-900)}.export-bar{background:var(--grad-navy);border-radius:var(--radius-lg);padding:16px 22px;margin-bottom:22px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;box-shadow:var(--shadow-md);position:relative;overflow:hidden}.export-bar:before{content:"";position:absolute;top:-60%;right:-5%;width:300px;height:300px;background:radial-gradient(circle,rgba(0,201,167,.2),transparent 70%);pointer-events:none}.export-bar-left{display:flex;align-items:center;gap:12px;flex-wrap:wrap;position:relative}.export-bar p{font-size:13px;font-weight:700;color:var(--white);display:flex;align-items:center;gap:8px;letter-spacing:-.2px}.export-bar select{font-size:12px;padding:8px 12px;border-radius:var(--radius);border:1px solid rgba(255,255,255,.12);background:#ffffff0f;color:var(--white);font-family:var(--font);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer}.export-bar select option{background:var(--navy-800)}.export-btn-group{display:flex;gap:8px;flex-wrap:wrap;position:relative}.inline-sale{display:flex;align-items:center;gap:6px}.inline-sale input{width:70px;padding:7px 10px;border-radius:var(--radius-sm);border:1px solid var(--gray-200);font-family:var(--font);font-size:12px;text-align:center;outline:none;transition:all .15s}.inline-sale input:focus{border-color:var(--amber-500);box-shadow:0 0 0 3px #f5a62326}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#060e1c8c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:1000;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .22s}.modal-overlay.open{opacity:1;pointer-events:all}.modal{background:var(--white);border-radius:var(--radius-xl);width:500px;max-width:calc(100vw - 40px);box-shadow:var(--shadow-xl);transform:translateY(24px) scale(.98);transition:all .22s cubic-bezier(.4,0,.2,1);overflow:hidden}.modal-overlay.open .modal{transform:translateY(0) scale(1)}.modal-header{padding:22px 26px 18px;border-bottom:1px solid var(--gray-100);display:flex;align-items:center;justify-content:space-between}.modal-header h2{font-family:var(--font-display);font-size:16px;font-weight:700;letter-spacing:-.3px;color:var(--gray-900)}.modal-close{background:var(--gray-50);border:1px solid var(--gray-150);cursor:pointer;padding:6px;border-radius:var(--radius-sm);color:var(--gray-500);font-size:16px;line-height:1;width:30px;height:30px;display:flex;align-items:center;justify-content:center;transition:all .15s}.modal-close:hover{background:var(--gray-100);color:var(--gray-800)}.modal-body{padding:22px 26px}.modal-footer{padding:18px 26px;border-top:1px solid var(--gray-100);display:flex;gap:10px;justify-content:flex-end;background:var(--gray-50)}.toast{position:fixed;bottom:26px;right:26px;z-index:9999;padding:14px 20px 14px 18px;border-radius:var(--radius-lg);font-size:13px;font-weight:600;color:var(--white);transition:all .28s cubic-bezier(.4,0,.2,1);max-width:340px;box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.1);animation:toastIn .3s cubic-bezier(.4,0,.2,1)}@keyframes toastIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.toast.success{background:linear-gradient(135deg,#1f9e57,#0f6f3a)}.toast.error{background:linear-gradient(135deg,#ec645b,#b33028)}.toast:before{content:"";width:6px;height:36px;border-radius:3px;background:#ffffff80;flex-shrink:0}.chip{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:99px;font-size:11.5px;font-weight:600;background:var(--gray-100);color:var(--gray-600);border:1px solid var(--gray-150)}.chip-teal{background:#00c9a71a;color:var(--teal-700);border-color:#00c9a733}.chip-live:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--teal-500);box-shadow:0 0 #00c9a780;animation:pulse 2s infinite}@keyframes pulse{0%{box-shadow:0 0 #00c9a780}70%{box-shadow:0 0 0 8px #00c9a700}to{box-shadow:0 0 #00c9a700}}.mono{font-family:var(--mono);font-size:12px;color:var(--gray-600)}.attr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:18px;padding:22px}.attr-card{border:1px solid var(--gray-150);border-radius:var(--radius-lg);padding:18px;position:relative;background:var(--white);transition:all .22s cubic-bezier(.4,0,.2,1);overflow:hidden}.attr-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--grad-teal);opacity:0;transition:opacity .2s}.attr-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);border-color:var(--gray-200)}.attr-card:hover:before{opacity:1}.attr-card-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:14px;gap:10px}.attr-card-name{font-family:var(--font-display);font-size:15px;font-weight:700;color:var(--gray-900);letter-spacing:-.2px;line-height:1.3;margin-bottom:6px}.attr-card-actions{display:flex;gap:6px;flex-shrink:0}.attr-prices{display:flex;gap:10px;margin-bottom:14px}.attr-price-item{background:linear-gradient(135deg,var(--gray-50),var(--gray-100));border:1px solid var(--gray-150);border-radius:var(--radius);padding:10px 12px;flex:1}.attr-price-item label{font-size:10px;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:.08em;display:block;margin-bottom:4px}.attr-price-item span{font-family:var(--font-display);font-size:16px;font-weight:700;color:var(--gray-900);letter-spacing:-.3px}.attr-stock{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.attr-stock-item{text-align:center;background:var(--gray-50);border:1px solid var(--gray-100);border-radius:var(--radius-sm);padding:8px 4px}.attr-stock-item span:first-child{display:block;font-size:9.5px;color:var(--gray-500);font-weight:600;text-transform:uppercase;margin-bottom:3px;letter-spacing:.04em}.attr-stock-item span:last-child{font-family:var(--font-display);font-size:13px;font-weight:700}.add-attr-btn{border:2px dashed var(--gray-200);border-radius:var(--radius-lg);padding:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;cursor:pointer;color:var(--gray-500);font-size:13px;font-weight:600;transition:all .18s;background:transparent;min-height:180px}.add-attr-btn:hover{border-color:var(--teal-500);color:var(--teal-600);background:#00c9a70a}.search-input{padding:9px 14px 9px 36px;border-radius:var(--radius);border:1px solid var(--gray-200);font-family:var(--font);font-size:13px;width:220px;outline:none;transition:all .15s;background:var(--white) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%238A9BB8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'><circle cx='11' cy='11' r='8'/><path d='m21 21-4.3-4.3'/></svg>") no-repeat 12px center}.search-input:focus{border-color:var(--teal-500);box-shadow:0 0 0 4px #00c9a71a}.filter-select{padding:8px 12px;border-radius:var(--radius);border:1px solid var(--gray-200);font-family:var(--font);font-size:12.5px;background:var(--white);cursor:pointer;transition:all .15s;font-weight:500;color:var(--gray-700)}.filter-select:hover{border-color:var(--gray-300)}.filter-select:focus{outline:none;border-color:var(--teal-500);box-shadow:0 0 0 3px #00c9a71f}.chart-card{background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--gray-150);padding:22px;box-shadow:var(--shadow-sm)}.chart-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px}.chart-title{font-family:var(--font-display);font-size:15px;font-weight:700;color:var(--gray-900);letter-spacing:-.2px}.chart-sub{font-size:12px;color:var(--gray-500);margin-top:3px}.bar-chart{display:flex;flex-direction:column;gap:14px}.bar-row{display:grid;grid-template-columns:140px 1fr 90px;gap:14px;align-items:center}.bar-label{font-size:12.5px;font-weight:600;color:var(--gray-700);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bar-track{background:var(--gray-100);border-radius:99px;height:10px;overflow:hidden;position:relative}.bar-fill{height:100%;border-radius:99px;background:var(--grad-teal);transition:width .8s cubic-bezier(.4,0,.2,1);position:relative}.bar-fill:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent);animation:shimmer 2.5s infinite}.bar-val{font-family:var(--font-display);font-size:13px;font-weight:700;color:var(--gray-900);text-align:right}.split-2{display:grid;grid-template-columns:2fr 1fr;gap:20px;margin-bottom:22px}@media (max-width:1100px){.split-2{grid-template-columns:1fr}}.mini-list{display:flex;flex-direction:column}.mini-item{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--gray-100)}.mini-item:last-child{border-bottom:none}.mini-item-left{display:flex;align-items:center;gap:10px;min-width:0}.mini-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.mini-text p:first-child{font-size:13px;font-weight:600;color:var(--gray-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-text p:last-child{font-size:11.5px;color:var(--gray-500);margin-top:1px}.mini-val{font-family:var(--font-display);font-size:13px;font-weight:700;color:var(--teal-700);text-align:right;white-space:nowrap}.auth-page{min-height:100vh;width:100%;background:radial-gradient(ellipse at top left,#122138,#060e1c 60%);display:flex;align-items:center;justify-content:center;padding:24px;position:relative;overflow:hidden}.auth-bg-orbs{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.auth-bg-orbs:before{content:"";position:absolute;top:-20%;left:-10%;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(0,201,167,.22),transparent 60%)}.auth-bg-orbs:after{content:"";position:absolute;bottom:-30%;right:-10%;width:700px;height:700px;border-radius:50%;background:radial-gradient(circle,rgba(74,144,226,.18),transparent 60%)}.auth-shell{width:100%;max-width:420px;position:relative;z-index:2}.auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:28px;justify-content:center}.auth-brand .brand-icon{width:42px;height:42px;border-radius:12px}.auth-card{background:#fffffff7;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);padding:28px 28px 22px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.auth-card-header{margin-bottom:22px}.auth-card-header h2{font-family:var(--font-display);font-size:22px;font-weight:700;color:var(--gray-900);letter-spacing:-.5px;margin-bottom:5px}.auth-card-header p{font-size:13px;color:var(--gray-500)}.auth-form{display:flex;flex-direction:column;gap:14px}.auth-field{display:flex;flex-direction:column;gap:6px}.auth-field label{font-size:12px;font-weight:600;color:var(--gray-700)}.auth-input-wrap{position:relative}.auth-input-icon{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--gray-400);pointer-events:none}.auth-input-wrap input{width:100%;padding:12px 14px 12px 38px;border-radius:var(--radius);border:1px solid var(--gray-200);font-family:var(--font);font-size:13.5px;color:var(--gray-900);background:var(--white);outline:none;transition:all .15s}.auth-input-wrap input:hover{border-color:var(--gray-300)}.auth-input-wrap input:focus{border-color:var(--teal-500);box-shadow:0 0 0 4px #00c9a724}.auth-submit{width:100%;padding:12px 16px;justify-content:center;font-size:14px;margin-top:4px}.auth-submit:disabled{opacity:.7;cursor:not-allowed}.auth-error{background:#fdecea;color:#b33028;padding:10px 14px;border-radius:var(--radius);font-size:12.5px;font-weight:500;border:1px solid rgba(232,84,74,.2)}.auth-switch{text-align:center;font-size:12.5px;color:var(--gray-500);padding-top:14px;margin-top:6px;border-top:1px solid var(--gray-100)}.auth-switch button{background:none;border:none;color:var(--teal-600);font-weight:600;cursor:pointer;padding:0;font-size:12.5px}.auth-switch button:hover{color:var(--teal-700);text-decoration:underline}.auth-footnote{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:18px;font-size:11.5px;color:#ffffff80;font-weight:500}.sign-out-btn{width:100%;margin-top:10px;padding:8px 10px;background:#ffffff0a;color:var(--gray-400);border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-sm);font-family:var(--font);font-size:12px;font-weight:500;display:flex;align-items:center;justify-content:center;gap:7px;cursor:pointer;transition:all .15s}.sign-out-btn:hover{background:#e8544a1f;color:#f5908a;border-color:#e8544a33}.range-switch{display:inline-flex;background:var(--gray-100);padding:3px;border-radius:var(--radius);border:1px solid var(--gray-150)}.range-btn{padding:6px 12px;border-radius:6px;border:none;background:transparent;font-family:var(--font);font-size:11.5px;font-weight:600;color:var(--gray-600);cursor:pointer;transition:all .15s}.range-btn:hover{color:var(--gray-900)}.range-btn.active{background:var(--white);color:var(--teal-700);box-shadow:var(--shadow-xs)}.trend-wrap{position:relative;margin-bottom:16px}.trend-tip{position:absolute;top:-2px;transform:translate(-50%);background:var(--navy-900);color:var(--white);padding:8px 12px;border-radius:var(--radius);box-shadow:var(--shadow-lg);pointer-events:none;min-width:120px;text-align:center;border:1px solid rgba(255,255,255,.08);font-size:11px}.trend-tip-date{font-size:10.5px;color:var(--gray-400);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.trend-tip-rev{font-family:var(--font-display);font-size:15px;font-weight:700;color:var(--teal-400);margin-top:2px}.trend-tip-qty{font-size:11px;color:var(--gray-300);margin-top:1px}.trend-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding-top:18px;border-top:1px solid var(--gray-100)}.trend-stat p:first-child{font-size:10.5px;color:var(--gray-500);text-transform:uppercase;letter-spacing:.06em;font-weight:600;margin-bottom:4px}.trend-stat p:last-child{font-family:var(--font-display);font-size:15px;font-weight:700;color:var(--gray-900);letter-spacing:-.2px}@media (max-width:1100px){.trend-stats{grid-template-columns:repeat(2,1fr)}:root{--sidebar-w:68px}.brand-text,.nav-label,.nav-item span,.user-card-text{display:none}.sidebar-brand{padding:20px 12px}.brand-logo{justify-content:center}.nav-item{justify-content:center;padding:11px}.nav-item.active:after{display:none}.sidebar-footer{padding:12px}.user-card{justify-content:center;padding:6px}.content{padding:20px}.topbar{padding:0 20px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid{grid-template-columns:1fr}.preview-grid{grid-template-columns:1fr 1fr}.bar-row{grid-template-columns:100px 1fr 70px}.attr-stock{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.menu-toggle{display:inline-flex}.topbar-clock,.btn-label{display:none}.btn{padding:9px 12px}.topbar{height:60px;padding:0 14px;gap:10px}.topbar-left h1{font-size:16px}.topbar-left p{font-size:11px}.topbar-right{gap:6px}.content{padding:16px 14px 28px}.sidebar{position:fixed;top:0;bottom:0;left:0;z-index:200;width:260px;min-width:260px;transform:translate(-100%);transition:transform .28s cubic-bezier(.4,0,.2,1);box-shadow:0 20px 60px #00000059}.layout.nav-open .sidebar{transform:translate(0)}.layout.nav-open .nav-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;background:#060e1c8c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.sidebar .brand-text,.sidebar .nav-label,.sidebar .nav-item span,.sidebar .user-card-text{display:block}.sidebar .brand-logo{justify-content:flex-start}.sidebar .sidebar-brand{padding:22px 20px}.sidebar .nav-item{justify-content:flex-start;padding:10px 12px}.sidebar .nav-item.active:after{display:block}.sidebar .sidebar-footer{padding:16px}.sidebar .user-card{justify-content:flex-start;padding:10px}.metrics{grid-template-columns:1fr;gap:12px;margin-bottom:18px}.metric-card{padding:16px}.metric-val{font-size:24px}.card-header{padding:14px 16px}tbody td{padding:12px 14px}thead th{padding:10px 14px}.export-bar{padding:14px 16px;flex-direction:column;align-items:stretch}.export-bar-left,.export-btn-group{width:100%}.export-btn-group{justify-content:stretch}.export-btn-group .btn{flex:1;justify-content:center}.attr-grid{grid-template-columns:1fr;gap:14px;padding:16px}.attr-stock{grid-template-columns:repeat(4,1fr)}.split-2{grid-template-columns:1fr}.modal{width:100%;max-width:calc(100vw - 24px);border-radius:var(--radius-lg)}.modal-header,.modal-body,.modal-footer{padding-left:18px;padding-right:18px}.modal-footer{flex-direction:column-reverse}.modal-footer .btn{width:100%;justify-content:center}.toast{left:14px;right:14px;bottom:14px;max-width:none}.search-input{width:100%}.range-switch{overflow-x:auto;max-width:100%}.preview-grid{grid-template-columns:1fr}.bar-row{grid-template-columns:90px 1fr 60px;gap:10px}.bar-label{font-size:11.5px}.auth-card{padding:22px 20px 18px}.auth-card-header h2{font-size:19px}.trend-stats{grid-template-columns:repeat(2,1fr);gap:10px}}@media (max-width:480px){.metric-val{font-size:22px}.topbar-right .btn{padding:8px 10px}.topbar-left h1{font-size:15px}.topbar-left p{display:none}.attr-stock{grid-template-columns:repeat(2,1fr)}.card-header{flex-direction:column;align-items:flex-start}}
