:root{--brand: #a3154f;--brand-600: #8b1043;--brand-50: #fbeef3;--teal: #0f5e57;--teal-50: #e7f3f1;--gold: #c8963e;--gold-50: #fbf3e2;--bg: #f6f5f3;--surface: #ffffff;--surface-2: #faf9f7;--border: #e8e5e1;--border-strong: #d6d1cb;--text: #1f1a1c;--text-2: #5d5559;--text-3: #8f878b;--sidebar: #1d1418;--sidebar-text: #c9bfc3;--sidebar-active: #2d2025;--good: #1e7a4a;--good-50: #e8f5ee;--warn: #9a6a00;--warn-50: #fdf4dc;--bad: #b42331;--bad-50: #fdecee;--info: #2d5bb9;--info-50: #ebf1fc;--radius: 10px;--radius-lg: 14px;--shadow: 0 1px 2px rgba(31, 26, 28, .05), 0 1px 1px rgba(31, 26, 28, .03);--shadow-lg: 0 20px 50px -12px rgba(31, 26, 28, .25);--sidebar-w: 248px}*{box-sizing:border-box}html,body{margin:0}body{font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px;line-height:1.5;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}h1,h2,h3,h4{margin:0;font-weight:600;letter-spacing:-.01em}p{margin:0}img{display:block;max-width:100%}.num{font-variant-numeric:tabular-nums}.shell{display:grid;grid-template-columns:var(--sidebar-w) 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:var(--sidebar);color:var(--sidebar-text);display:flex;flex-direction:column;padding:18px 12px;overflow-y:auto}.sidebar__brand{display:flex;align-items:center;gap:10px;padding:4px 8px 18px;border-bottom:1px solid rgba(255,255,255,.07);margin-bottom:12px}.sidebar__brand img{width:38px;height:38px;border-radius:50%;object-fit:cover;border:1px solid var(--gold)}.sidebar__brand b{font-family:Cormorant Garamond,serif;font-size:19px;color:#fff;display:block;line-height:1.1}.sidebar__brand small{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}.nav-group{margin-top:14px}.nav-group__label{font-size:10.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#7f7378;padding:0 10px 6px}.nav-link{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;font-weight:500;font-size:13.5px;transition:background .15s,color .15s}.nav-link:hover{background:#ffffff0d;color:#fff}.nav-link.active{background:var(--sidebar-active);color:#fff;box-shadow:inset 2px 0 0 var(--gold)}.nav-link .pill{margin-left:auto;background:var(--brand);color:#fff;font-size:11px;font-weight:600;padding:1px 7px;border-radius:99px}.sidebar__foot{margin-top:auto;padding:12px 8px 0;border-top:1px solid rgba(255,255,255,.07);font-size:12px}.main{min-width:0;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:20;height:60px;background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:14px;padding:0 28px}.topbar__search{flex:1;max-width:420px;position:relative}.topbar__search svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--text-3)}.topbar__search input{width:100%;height:36px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);padding:0 12px 0 34px;outline:none}.topbar__search input:focus{border-color:var(--brand);background:#fff}.topbar__right{margin-left:auto;display:flex;align-items:center;gap:8px}.avatar{width:34px;height:34px;border-radius:50%;background:var(--brand-50);color:var(--brand);display:grid;place-items:center;font-weight:600;font-size:13px;flex-shrink:0}.content{padding:26px 28px 60px;max-width:1480px;width:100%}.menu-btn{display:none}@media (max-width: 1000px){.shell{grid-template-columns:1fr}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-w);z-index:60;transform:translate(-100%);transition:transform .25s}.sidebar.open{transform:none;box-shadow:var(--shadow-lg)}.menu-btn{display:inline-grid}.content,.topbar{padding-left:16px;padding-right:16px}}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px;flex-wrap:wrap}.page-head h1{font-size:22px}.page-head p{color:var(--text-2);margin-top:4px}.page-head__actions{display:flex;gap:8px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:36px;padding:0 14px;border-radius:8px;border:1px solid var(--border-strong);background:var(--surface);font-weight:500;font-size:13.5px;white-space:nowrap;transition:background .15s,border-color .15s,box-shadow .15s}.btn:hover{background:var(--surface-2);border-color:#c3bcb5}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn--primary:hover{background:var(--brand-600);border-color:var(--brand-600)}.btn--danger{color:var(--bad)}.btn--danger.solid{background:var(--bad);border-color:var(--bad);color:#fff}.btn--ghost{border-color:transparent;background:transparent}.btn--ghost:hover{background:var(--surface-2);border-color:transparent}.btn--sm{height:30px;padding:0 10px;font-size:12.5px}.btn--icon{width:36px;padding:0}.btn--sm.btn--icon{width:30px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.card__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px 0}.card__head h3{font-size:15px}.card__head p{font-size:12.5px;color:var(--text-3)}.card__body{padding:16px 18px 18px}.grid{display:grid;gap:16px}.grid-kpi{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-main{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}@media (max-width: 1280px){.grid-kpi{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 1100px){.grid-main,.grid-2,.grid-3{grid-template-columns:1fr}.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.grid-kpi,.grid-4{grid-template-columns:1fr 1fr}}.kpi{padding:16px 18px;display:grid;gap:6px}.kpi__label{font-size:12.5px;color:var(--text-2);font-weight:500;display:flex;align-items:center;gap:8px}.kpi__label svg{color:var(--text-3)}.kpi__value{font-size:26px;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.delta{display:inline-flex;align-items:center;gap:3px;font-size:12px;font-weight:600}.delta.up{color:var(--good)}.delta.down{color:var(--bad)}.delta.flat{color:var(--text-3)}.kpi__foot{font-size:12px;color:var(--text-3);display:flex;gap:6px;align-items:center}.alerts{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:16px}.alert-tile{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);transition:border-color .15s}.alert-tile:hover{border-color:var(--border-strong)}.alert-tile .ico{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;flex-shrink:0}.alert-tile b{font-size:17px;display:block;line-height:1.1}.alert-tile span{font-size:12px;color:var(--text-2)}@media (max-width: 1280px){.alerts{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 640px){.alerts{grid-template-columns:1fr 1fr}}.table-wrap{overflow-x:auto}table.table{width:100%;border-collapse:collapse;font-size:13.5px}.table th{text-align:left;font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-3);padding:10px 14px;background:var(--surface-2);border-bottom:1px solid var(--border);white-space:nowrap}.table td{padding:11px 14px;border-bottom:1px solid var(--border);vertical-align:middle}.table tbody tr:last-child td{border-bottom:0}.table tbody tr{transition:background .1s}.table tbody tr:hover{background:var(--surface-2)}.table tr.clickable{cursor:pointer}.table .right{text-align:right}.table .num{text-align:right;font-variant-numeric:tabular-nums}.cell-product{display:flex;align-items:center;gap:10px;min-width:220px}.cell-product img{width:38px;height:46px;border-radius:6px;object-fit:cover;background:var(--surface-2);flex-shrink:0}.cell-product b{font-weight:500;display:block}.cell-product small{color:var(--text-3);font-size:12px}.table-toolbar{display:flex;gap:10px;padding:12px 14px;border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center}.table-foot{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-top:1px solid var(--border);font-size:12.5px;color:var(--text-2);gap:10px;flex-wrap:wrap}.pager{display:flex;gap:4px}.input,.select,.textarea{height:36px;border:1px solid var(--border-strong);border-radius:8px;padding:0 11px;background:#fff;outline:none;width:100%;transition:border-color .15s,box-shadow .15s}.textarea{height:auto;min-height:90px;padding:9px 11px;resize:vertical}.input:focus,.select:focus,.textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px #a3154f1f}.input-search{position:relative;min-width:220px;flex:1;max-width:320px}.input-search svg{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--text-3)}.input-search .input{padding-left:32px}.toolbar-select{width:auto;min-width:140px}.field{display:grid;gap:6px}.field>label{font-size:12.5px;font-weight:500;color:var(--text-2)}.field .hint{font-size:12px;color:var(--text-3)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid .span-2{grid-column:1 / -1}@media (max-width: 640px){.form-grid{grid-template-columns:1fr}}.switch{position:relative;display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-size:13.5px}.switch input{position:absolute;opacity:0}.switch i{width:34px;height:20px;border-radius:99px;background:var(--border-strong);position:relative;transition:background .2s;flex-shrink:0}.switch i:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0003;transition:transform .2s}.switch input:checked+i{background:var(--teal)}.switch input:checked+i:after{transform:translate(14px)}.switch input:focus-visible+i{box-shadow:0 0 0 3px #0f5e5740}.checkbox{accent-color:var(--brand);width:15px;height:15px}.badge{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:99px;font-size:12px;font-weight:500;white-space:nowrap;background:var(--surface-2);color:var(--text-2);border:1px solid var(--border)}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.badge.plain:before{display:none}.badge.good{background:var(--good-50);color:var(--good);border-color:transparent}.badge.warn{background:var(--warn-50);color:var(--warn);border-color:transparent}.badge.bad{background:var(--bad-50);color:var(--bad);border-color:transparent}.badge.info{background:var(--info-50);color:var(--info);border-color:transparent}.badge.brand{background:var(--brand-50);color:var(--brand);border-color:transparent}.badge.teal{background:var(--teal-50);color:var(--teal);border-color:transparent}.seg{display:flex;gap:2px;border-bottom:1px solid var(--border);padding:0 14px;overflow-x:auto}.seg button{border:0;background:none;padding:12px 10px;font-weight:500;color:var(--text-2);border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;display:flex;gap:6px;align-items:center}.seg button.active{color:var(--brand);border-color:var(--brand)}.seg button span{font-size:11.5px;background:var(--surface-2);border:1px solid var(--border);border-radius:99px;padding:0 6px;color:var(--text-3)}.chip-group{display:inline-flex;border:1px solid var(--border-strong);border-radius:8px;overflow:hidden;background:#fff}.chip-group button{border:0;background:none;height:34px;padding:0 12px;font-weight:500;font-size:13px;color:var(--text-2)}.chip-group button+button{border-left:1px solid var(--border)}.chip-group button.active{background:var(--text);color:#fff}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#1d141873;display:flex;align-items:flex-start;justify-content:center;padding:6vh 16px;overflow-y:auto;animation:fade .15s}.modal{width:100%;max-width:560px;background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:pop .18s ease-out}.modal.lg{max-width:880px}.modal__head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.modal__head h3{font-size:16px}.modal__body{padding:20px}.modal__foot{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--border);background:var(--surface-2);border-radius:0 0 var(--radius-lg) var(--radius-lg)}.drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#1d141859;animation:fade .15s}.drawer{position:fixed;top:0;right:0;bottom:0;z-index:101;width:min(620px,100vw);background:var(--surface);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;animation:slide .22s ease-out}.drawer__body{flex:1;overflow-y:auto;padding:20px;display:grid;gap:18px;align-content:start}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:translateY(8px) scale(.98)}}@keyframes slide{0%{transform:translate(40px);opacity:0}}.muted{color:var(--text-3)}.text-2{color:var(--text-2)}.empty{padding:48px 20px;text-align:center;color:var(--text-3);display:grid;gap:8px;justify-items:center}.empty svg{color:var(--border-strong)}.spinner{width:22px;height:22px;border-radius:50%;border:2px solid var(--border);border-top-color:var(--brand);animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.center{display:grid;place-items:center;padding:60px}.skeleton{background:linear-gradient(90deg,#f0eeeb,#f7f6f4,#f0eeeb);background-size:200% 100%;animation:shimmer 1.2s infinite;border-radius:8px}@keyframes shimmer{to{background-position:-200% 0}}.toasts{position:fixed;right:20px;bottom:20px;z-index:200;display:grid;gap:8px}.toast{background:var(--text);color:#fff;padding:11px 14px;border-radius:10px;font-size:13.5px;box-shadow:var(--shadow-lg);display:flex;gap:10px;align-items:center;min-width:260px;max-width:380px;animation:pop .2s}.toast.error{background:var(--bad)}.list{display:grid}.list-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}.list-row:last-child{border-bottom:0}.bar-track{height:6px;background:var(--surface-2);border-radius:99px;overflow:hidden;border:1px solid var(--border)}.bar-track span{display:block;height:100%;border-radius:99px;background:var(--brand)}.legend{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12.5px;color:var(--text-2)}.legend span{display:inline-flex;align-items:center;gap:6px}.legend i{width:10px;height:10px;border-radius:3px;flex-shrink:0}.chart-tip{background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px -8px #1f1a1c40;padding:8px 10px;font-size:12.5px;min-width:140px}.chart-tip b{display:block;margin-bottom:4px}.chart-tip div{display:flex;justify-content:space-between;gap:14px;color:var(--text-2)}.chart-tip div span:last-child{color:var(--text);font-weight:600;font-variant-numeric:tabular-nums}.kv{display:grid;grid-template-columns:140px 1fr;gap:8px 12px;font-size:13.5px}.kv dt{color:var(--text-3)}.kv dd{margin:0}.timeline{display:grid;gap:0;position:relative}.timeline__item{display:grid;grid-template-columns:18px 1fr;gap:10px;padding-bottom:14px;position:relative}.timeline__item:before{content:"";position:absolute;left:5px;top:14px;bottom:0;width:2px;background:var(--border)}.timeline__item:last-child:before{display:none}.timeline__dot{width:12px;height:12px;border-radius:50%;border:2px solid var(--teal);background:#fff;margin-top:4px}.img-grid{display:flex;flex-wrap:wrap;gap:10px}.img-tile{position:relative;width:92px;height:112px;border-radius:8px;overflow:hidden;border:1px solid var(--border);background:var(--surface-2)}.img-tile img{width:100%;height:100%;object-fit:cover}.img-tile button{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:50%;border:0;background:#0009;color:#fff;display:grid;place-items:center;padding:0}.img-tile .cover{position:absolute;left:4px;bottom:4px;font-size:10px;background:var(--brand);color:#fff;border-radius:4px;padding:1px 5px}.img-add{width:92px;height:112px;border-radius:8px;border:1.5px dashed var(--border-strong);display:grid;place-items:center;color:var(--text-3);cursor:pointer;font-size:12px;text-align:center}.img-add:hover{border-color:var(--brand);color:var(--brand)}.swatch{width:14px;height:14px;border-radius:50%;border:1px solid rgba(0,0,0,.12);display:inline-block;vertical-align:-2px}.login{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login__art{background:radial-gradient(circle at 30% 30%,#b51a52,#5e0a2d 70%);color:#fbf5ea;display:grid;place-items:center;padding:40px;position:relative;overflow:hidden}.login__art img{width:220px;height:220px;border-radius:50%;border:2px solid var(--gold);box-shadow:0 30px 60px -20px #00000080;object-fit:cover}.login__art h2{font-family:Cormorant Garamond,serif;font-size:40px;margin-top:24px;text-align:center}.login__art p{text-align:center;opacity:.8;letter-spacing:.2em;text-transform:uppercase;font-size:11px;margin-top:6px;color:#e6c886}.login__form{display:grid;place-items:center;padding:40px 20px;background:var(--surface)}.login__form form{width:100%;max-width:380px;display:grid;gap:16px}@media (max-width: 860px){.login{grid-template-columns:1fr}.login__art{min-height:260px}.login__art img{width:120px;height:120px}}@media print{.sidebar,.topbar,.no-print{display:none!important}.shell{display:block}.card{box-shadow:none}}
