@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter Fallback;src:local("Arial");ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.00%;size-adjust:107.12%}.__className_f367f3{font-family:Inter,Inter Fallback;font-style:normal}.__variable_f367f3{--font-inter:"Inter","Inter Fallback"}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}:root{--bg:#f4f6fa;--bg-elev:#ffffff;--panel:#ffffff;--panel-2:#ffffff;--border:#e3e8ef;--border-soft:#eceff4;--card-bg:linear-gradient(180deg,#ffffff,#fbfcfe);--text:#0f1828;--muted:#586173;--faint:#8a93a5;--accent:#10b981;--accent-2:#059669;--accent-ink:#ffffff;--danger:#e11d48;--warn:#b45309;--ok:#16a34a;--info:#2563eb;--accent-soft-bg:rgba(16,185,129,0.1);--accent-soft-border:rgba(16,185,129,0.35);--danger-soft-bg:rgba(225,29,72,0.08);--danger-soft-border:rgba(225,29,72,0.3);--warn-soft-bg:rgba(180,83,9,0.1);--warn-soft-border:rgba(180,83,9,0.32);--hover-surface:rgba(15,23,42,0.045);--btn-bg:#f1f4f9;--btn-bg-hover:#e7ecf3;--btn-border-hover:#d3dae5;--chip-bg:rgba(15,23,42,0.04);--sidebar-bg:linear-gradient(180deg,#ffffff,#f7f9fc);--sidebar-border:#e6eaf1;--topbar-bg:rgba(255,255,255,0.85);--scrim:rgba(15,23,42,0.4);--skel-base:rgba(15,23,42,0.05);--skel-shine:rgba(15,23,42,0.1);--scrollbar:#c8d0dc;--selection:rgba(16,185,129,0.18);--body-glow-1:rgba(16,185,129,0.06);--body-glow-2:rgba(37,99,235,0.05);--shadow:0 1px 2px rgba(16,24,40,0.06),0 12px 28px -16px rgba(16,24,40,0.16);--ring:0 0 0 3px rgba(16,185,129,0.22);--radius:14px;--radius-sm:9px;--radius-pill:999px;--container:1100px;--sidebar:248px;--banner-h:48px}[data-theme=dark]{--bg:#07080c;--bg-elev:#0d0f15;--panel:#10131d;--panel-2:#141827;--border:#232a3b;--border-soft:#1a2030;--card-bg:linear-gradient(180deg,#141827,#10131d);--text:#eef1f7;--muted:#98a2b6;--faint:#69728a;--accent:#5eead4;--accent-2:#34d399;--accent-ink:#04211a;--danger:#fb7185;--warn:#fbbf24;--ok:#4ade80;--info:#60a5fa;--accent-soft-bg:rgba(94,234,212,0.08);--accent-soft-border:rgba(94,234,212,0.4);--danger-soft-bg:rgba(251,113,133,0.08);--danger-soft-border:rgba(251,113,133,0.4);--warn-soft-bg:rgba(251,191,36,0.08);--warn-soft-border:rgba(251,191,36,0.4);--hover-surface:rgba(255,255,255,0.04);--btn-bg:#141827;--btn-bg-hover:#1b2132;--btn-border-hover:#2c3346;--chip-bg:rgba(255,255,255,0.02);--sidebar-bg:linear-gradient(180deg,#0c0f17,#090b11);--sidebar-border:#1a2030;--topbar-bg:rgba(11,13,19,0.82);--scrim:rgba(0,0,0,0.55);--skel-base:rgba(255,255,255,0.04);--skel-shine:rgba(255,255,255,0.09);--scrollbar:#2a3142;--selection:rgba(94,234,212,0.25);--body-glow-1:rgba(52,211,153,0.07);--body-glow-2:rgba(96,165,250,0.05);--shadow:0 1px 2px rgba(0,0,0,0.4),0 12px 28px -16px rgba(0,0,0,0.65);--ring:0 0 0 3px rgba(94,234,212,0.25)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;min-height:100dvh;background:radial-gradient(1100px 560px at 82% -12%,var(--body-glow-1),transparent 60%),radial-gradient(820px 460px at -8% -4%,var(--body-glow-2),transparent 55%),var(--bg);color:var(--text);font-family:var(--font-inter),ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::-moz-selection{background:var(--selection)}::selection{background:var(--selection)}a{color:var(--accent-2);text-decoration:none}a:hover{text-decoration:underline}.shell{min-height:100dvh}.brand-mark{display:inline-flex;align-items:center;gap:11px;color:var(--text);font-weight:700;letter-spacing:-.01em}.brand-mark,.brand-mark:hover{text-decoration:none}.brand-logo{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;font-size:12.5px;font-weight:800;letter-spacing:.02em;color:#ffffff;background:linear-gradient(135deg,var(--accent),var(--accent-2));box-shadow:0 0 0 1px rgba(16,185,129,.25),0 8px 20px -8px rgba(16,185,129,.5)}.brand-name{font-size:15px;white-space:nowrap}.sidebar{position:fixed;top:0;left:0;bottom:0;width:var(--sidebar);display:flex;flex-direction:column;gap:6px;padding:18px 14px;background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);z-index:60}.sidebar-head{display:flex;align-items:center;justify-content:space-between;padding:4px 6px 14px}.sidebar-head .drawer-close{display:none}.side-nav{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:14px;padding-top:4px}.side-group-title{margin:0 0 6px;padding:0 10px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}.side-link{display:flex;align-items:center;gap:11px;padding:9px 10px;border-radius:10px;color:var(--muted);font-size:14px;font-weight:500;text-decoration:none;transition:background .14s,color .14s}.side-link:hover{color:var(--text);background:var(--hover-surface);text-decoration:none}.side-link .side-icon{display:inline-flex;color:var(--faint);transition:color .14s}.side-link:hover .side-icon{color:var(--muted)}.side-link.active{color:var(--text);background:var(--accent-soft-bg);box-shadow:inset 2px 0 0 var(--accent-2)}.side-link.active .side-icon{color:var(--accent-2)}.sidebar-foot{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:12px 6px 2px;border-top:1px solid var(--sidebar-border)}.topbar{display:none;position:sticky;top:0;z-index:40;align-items:center;gap:12px;padding:10px 14px;background:var(--topbar-bg);backdrop-filter:saturate(140%) blur(12px);-webkit-backdrop-filter:saturate(140%) blur(12px);border-bottom:1px solid var(--border-soft)}.icon-btn{display:inline-grid;place-items:center;width:38px;height:38px;padding:0;border-radius:10px;background:transparent;border:1px solid var(--border);color:var(--text)}.icon-btn:hover{background:var(--hover-surface)}.scrim{display:none}.main{margin-left:var(--sidebar)}.container{max-width:var(--container);margin:0 auto;padding:28px 24px 72px}@media (max-width:900px){.topbar{display:flex}.main{margin-left:0}.sidebar{transform:translateX(-100%);transition:transform .22s ease;box-shadow:var(--shadow);width:min(86vw,300px)}.sidebar.open{transform:translateX(0)}.sidebar-head .drawer-close{display:inline-grid}.scrim{display:block;position:fixed;inset:0;z-index:55;background:var(--scrim);opacity:0;pointer-events:none;transition:opacity .22s ease}.scrim.show{opacity:1;pointer-events:auto}.container{padding:20px 16px 56px}}h1{font-size:22px;font-weight:700;letter-spacing:-.02em;margin:2px 0 18px}h2{font-size:15px;font-weight:650;letter-spacing:-.01em;margin:0 0 12px}.muted{color:var(--muted)}.card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:20px;margin-bottom:16px;box-shadow:var(--shadow)}.card>h2:first-child{position:relative;padding-left:12px}.card>h2:first-child:before{content:"";position:absolute;left:0;top:2px;bottom:2px;width:3px;border-radius:2px;background:linear-gradient(180deg,var(--accent),var(--accent-2))}.page-head{margin:2px 0 18px}.page-head h1{margin:0 0 4px}.empty,.page-head .sub{color:var(--muted);font-size:14px}.empty{padding:18px 4px}.cfg-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 2px;border-bottom:1px solid var(--border-soft)}.cfg-row:last-child{border-bottom:0}.cfg-label{color:var(--text);font-size:14px}.cfg-val{display:inline-flex;align-items:center;gap:10px}.cfg-note{font-size:12.5px}@media (max-width:560px){.cfg-note{display:none}}.cfg-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;margin-top:4px}@media (max-width:680px){.cfg-grid{grid-template-columns:1fr}}.cfg-field{display:flex;flex-direction:column;gap:6px}.cfg-field-label{font-size:13px;color:var(--muted);display:flex;align-items:center}.cfg-field input,.cfg-field select,.cfg-field textarea{width:100%}.cfg-field textarea{resize:vertical;font:inherit}.cfg-field-help{font-size:12px;color:var(--faint)}.manual-list,.manual-steps{margin:4px 0 0;padding-left:20px}.manual-list li,.manual-steps li{margin:9px 0;color:var(--muted)}.manual-list li strong,.manual-steps li strong{color:var(--text)}.manual-steps{counter-reset:step;list-style:none;padding-left:0}.manual-steps li{position:relative;padding-left:38px;min-height:26px}.manual-steps li:before{counter-increment:step;content:counter(step);position:absolute;left:0;top:0;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;font-size:12px;font-weight:700;color:#ffffff;background:linear-gradient(135deg,var(--accent),var(--accent-2))}.table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-wrap>table{min-width:560px}table{width:100%;border-collapse:separate;border-spacing:0;font-size:14px}td,th{text-align:left;padding:11px 12px;border-bottom:1px solid var(--border-soft);vertical-align:top;overflow-wrap:break-word;word-break:break-word}thead th{color:var(--faint);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.04em}tbody tr{transition:background .12s}tbody tr:hover{background:var(--hover-surface)}tbody tr:last-child td{border-bottom:0}button,input,select,textarea{font:inherit}input,select,textarea{color:var(--text);background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-sm);padding:9px 12px;transition:border-color .15s,box-shadow .15s}input::-moz-placeholder,textarea::-moz-placeholder{color:var(--faint)}input::placeholder,textarea::placeholder{color:var(--faint)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring)}input[type=file]{padding:7px 10px}input[type=checkbox],input[type=radio]{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;width:18px;height:18px;flex:0 0 auto;padding:0;margin:0;border:none;background:none;border-radius:0;box-shadow:none;accent-color:var(--accent);vertical-align:middle}input[type=checkbox]:focus,input[type=checkbox]:focus-visible,input[type=radio]:focus,input[type=radio]:focus-visible{box-shadow:none;outline:2px solid var(--accent);outline-offset:2px}input[type=file]::file-selector-button{margin-right:10px;padding:6px 12px;border-radius:7px;border:1px solid var(--border);background:var(--btn-bg);color:var(--text);cursor:pointer;font-weight:500}button{cursor:pointer;border-radius:var(--radius-sm);padding:9px 16px;background:var(--btn-bg);border:1px solid var(--border);color:var(--text);font-weight:600;transition:transform .04s,background .15s,border-color .15s,box-shadow .15s,filter .15s}button:hover{background:var(--btn-bg-hover);border-color:var(--btn-border-hover)}button:active{transform:translateY(1px)}button:focus-visible{outline:none;box-shadow:var(--ring)}button:disabled{opacity:.55;cursor:not-allowed}button.primary{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#ffffff;border-color:transparent;box-shadow:0 6px 20px -8px rgba(16,185,129,.55)}button.primary:hover{filter:brightness(1.06);border-color:transparent}button.danger{background:transparent;border-color:var(--danger-soft-border);color:var(--danger)}button.danger:hover{background:var(--danger-soft-bg);border-color:var(--danger)}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:var(--radius-pill);font-size:12px;font-weight:600;line-height:1.4;border:1px solid var(--border);background:var(--chip-bg)}.badge,.badge.draft{color:var(--muted)}.badge.approved,.badge.ok,.badge.published{color:var(--accent-2);border-color:var(--accent-soft-border);background:var(--accent-soft-bg)}.badge.error{color:var(--danger);border-color:var(--danger-soft-border);background:var(--danger-soft-bg)}.badge.paused,.badge.pending{color:var(--warn);border-color:var(--warn-soft-border);background:var(--warn-soft-bg)}.btn-sm{padding:4px 10px;font-size:12px}.btn-sm,.skip-link{font-weight:600;border-radius:var(--radius-sm)}.skip-link{position:absolute;left:8px;top:-48px;z-index:1000;padding:8px 14px;background:var(--accent,#10b981);color:#fff;transition:top .15s ease}.skip-link:focus{top:8px}.thumb-remove{position:absolute;top:-6px;right:-6px;width:20px;height:20px;padding:0;border-radius:999px;font-size:13px;line-height:1;background:var(--danger,#dc2626);color:#fff;border:1px solid var(--surface,#fff)}.file-thumb{width:44px;height:44px;-o-object-fit:cover;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--chip-bg)}.thumb-btn{padding:0;border:none;background:none;cursor:zoom-in;line-height:0;border-radius:var(--radius-sm)}.thumb-btn:hover .file-thumb{border-color:var(--accent)}.prod-cell{display:flex;align-items:center;gap:.6rem}.prod-cell-text{display:flex;flex-direction:column;gap:2px;min-width:0}.prod-cell-title{font-weight:500;line-height:1.25}.prod-cell-sub{font-size:13px}.prod-thumb-empty{width:44px;height:44px;flex:0 0 auto;display:grid;place-items:center;font-size:20px;opacity:.5;border-radius:var(--radius-sm);border:1px dashed var(--border);background:var(--chip-bg)}.lightbox{border:none;padding:0;background:transparent;max-width:92vw;max-height:92vh;overflow:visible}.lightbox::backdrop{background:rgba(0,0,0,.72)}.lightbox img{display:block;max-width:92vw;max-height:88vh;-o-object-fit:contain;object-fit:contain;border-radius:12px;background:#fff;cursor:zoom-out}.lightbox-close{position:absolute;top:10px;right:10px;width:40px;height:40px;display:grid;place-items:center;padding:0;border-radius:999px;border:none;background:rgba(255,255,255,.95);color:#111;cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.35);transition:background .15s,transform .15s}.lightbox-close:hover{background:#fff;transform:scale(1.06)}.lightbox-close svg{display:block}.lightbox[open]{animation:lb-pop .16s ease-out}.lightbox[open]::backdrop{animation:lb-fade .16s ease-out}@keyframes lb-pop{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes lb-fade{0%{opacity:0}to{opacity:1}}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;display:grid;place-items:center;border-radius:999px;border:none;background:rgba(255,255,255,.92);color:#111;font-size:28px;line-height:1;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.3)}.lightbox-nav.prev{left:10px}.lightbox-nav.next{right:10px}.lightbox-count{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);background:rgba(0,0,0,.6);color:#fff;padding:3px 12px;border-radius:999px;font-size:13px}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}code{background:var(--chip-bg);border:1px solid var(--border-soft);border-radius:6px;padding:1px 6px;font-size:12.5px}.auth-wrap{min-height:100dvh;display:grid;grid-template-columns:minmax(0,1fr);place-items:center;padding:24px}*{scrollbar-color:var(--scrollbar) transparent}.skel{border-radius:8px;background:linear-gradient(100deg,var(--skel-base) 30%,var(--skel-shine) 50%,var(--skel-base) 70%);background-size:200% 100%;animation:shimmer 1.2s ease-in-out infinite}.skel-title{height:26px;width:220px;margin:6px 0 18px}.skel-line{height:14px;margin-bottom:14px}.skel-block{height:64px}.skel-row{height:18px;margin:12px 0}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.spinner{display:inline-block;width:14px;height:14px;border:2px solid;border-right:2px solid transparent;border-radius:50%;vertical-align:-2px;margin-right:7px;animation:spin .7s linear infinite}.btn-loading{display:inline-flex;align-items:center}.upload-status{display:flex;align-items:center;gap:4px;color:var(--muted);font-size:14px}@keyframes spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:1.6s}}.dropzone{display:flex;flex-direction:column;align-items:center;gap:4px;padding:22px 16px;border:2px dashed var(--border);border-radius:var(--radius-sm);background:var(--bg-elev);cursor:pointer;text-align:center;transition:border-color .15s,background .15s}.dropzone:hover{border-color:var(--accent-soft-border)}.dropzone.drag{border-color:var(--accent);background:var(--accent-soft-bg)}.dropzone-icon{font-size:28px}.up-list{list-style:none;margin:12px 0 0;padding:0}.up-file{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--border-soft)}.up-ico{font-size:20px;flex:0 0 auto}.up-main{flex:1 1 auto;min-width:0}.up-row{display:flex;justify-content:space-between;gap:10px}.up-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.up-size{flex:0 0 auto;font-size:13px}.up-bar{height:6px;margin:5px 0;background:var(--border);border-radius:999px;overflow:hidden}.up-bar>i{display:block;height:100%;background:linear-gradient(135deg,var(--accent),var(--accent-2));transition:width .2s ease}.up-state{font-size:12.5px;color:var(--muted)}.up-state.done{color:var(--accent-2)}.up-state.error{color:var(--danger,#dc2626)}.up-remove{flex:0 0 auto;width:28px;height:28px;display:grid;place-items:center;padding:0;border-radius:999px;border:1px solid var(--border);background:var(--btn-bg);color:var(--text);font-size:16px;cursor:pointer}.install-banner{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;gap:12px;height:var(--banner-h);padding:0 16px;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#ffffff;font-size:14px;font-weight:500;box-shadow:0 4px 16px -6px rgba(0,0,0,.35)}.install-banner>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.install-banner .spacer{flex:1}body.has-install-banner{padding-top:var(--banner-h)}body.has-install-banner .sidebar,body.has-install-banner .topbar{top:var(--banner-h)}.install-banner button{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.35);color:#ffffff}.install-banner button:hover{background:rgba(255,255,255,.26);border-color:rgba(255,255,255,.5)}@media (max-width:560px){.card>form.row>.input,.card>form.row>button,.card>form.row>input:not([type=checkbox]):not([type=radio]),.card>form.row>select,.card>form.row>textarea{width:100%;flex:1 1 100%;min-width:0!important}.pager{justify-content:center}.pager-controls{width:100%;justify-content:space-between}}.pager{justify-content:space-between;flex-wrap:wrap;margin-top:14px}.pager,.pager-controls{display:flex;align-items:center;gap:10px}.page-size,.pager-page{font-size:13px}.page-size{display:inline-flex;align-items:center;gap:6px}.page-size select{width:auto;padding:4px 8px;font-size:13px}.table-filters{flex-wrap:wrap;align-items:center}.table-filters input[type=text],.table-filters select{min-height:38px}@media (max-width:640px){.table-filters>*{flex:1 1 100%;min-width:0}}a.btn-sm,label.btn-sm{display:inline-flex;align-items:center;text-decoration:none;background:var(--btn-bg);border:1px solid var(--border);color:var(--text);transition:background .15s,border-color .15s}a.btn-sm:hover,label.btn-sm:hover{background:var(--btn-bg-hover);border-color:var(--btn-border-hover)}.btn-sm.disabled{display:inline-flex;align-items:center;border:1px solid var(--border-soft);color:var(--faint);background:transparent;cursor:not-allowed}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.toast-viewport{position:fixed;bottom:16px;right:16px;z-index:1000;display:flex;flex-direction:column;gap:8px;max-width:min(360px,calc(100vw - 32px))}.toast{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-sm);background:var(--bg-elev);border:1px solid var(--border);box-shadow:var(--shadow);font-size:14px;animation:toast-in .18s ease-out}.toast-ok{border-left:4px solid var(--ok)}.toast-error{border-left:4px solid var(--danger)}.toast-info{border-left:4px solid var(--accent)}.toast span{flex:1}.toast-close{border:none;background:transparent;color:var(--muted);font-size:18px;line-height:1;cursor:pointer;padding:0 2px}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.confirm-dialog{border:1px solid var(--border);border-radius:var(--radius);padding:20px;max-width:420px;width:calc(100vw - 32px);background:var(--bg-elev);color:var(--text);box-shadow:var(--shadow)}.confirm-dialog::backdrop{background:rgba(8,12,20,.45)}.publish-overlay{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(8,12,20,.5);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);animation:lb-fade .15s ease-out}.publish-overlay-card{background:var(--bg-elev);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px 24px;max-width:420px;width:calc(100vw - 32px);text-align:center;animation:lb-pop .18s ease-out}.publish-overlay-card p{margin:8px 0 0}.publish-spinner{width:34px;height:34px;border-width:3px;color:var(--accent,#16a34a);margin:0 auto 12px;display:block}.publish-check{width:56px;height:56px;margin:0 auto 12px;border-radius:50%;background:var(--accent,#16a34a);color:#fff;font-size:30px;line-height:56px;font-weight:700}.publish-success-title{display:block;font-size:18px}.no-underline{text-decoration:none}.empty-state{text-align:center;padding:32px 16px;color:var(--muted)}.empty-state-icon{font-size:34px;margin-bottom:8px}.empty-state-title{font-weight:600;color:var(--text);margin:0 0 4px}.empty-state .btn-sm{margin-top:12px}.char-counter{display:block;text-align:right;font-size:12px;color:var(--muted);margin-top:2px}@media (max-width:640px){table.cards-mobile thead{display:none}table.cards-mobile,table.cards-mobile tbody,table.cards-mobile td,table.cards-mobile tr{display:block;width:100%}.table-wrap>table.cards-mobile{min-width:0}table.cards-mobile tr{border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 12px;margin-bottom:10px;background:var(--bg-elev)}table.cards-mobile td{display:flex;justify-content:space-between;gap:12px;align-items:center;border:none;padding:6px 0;text-align:right}table.cards-mobile td:before{content:attr(data-label);font-size:12px;font-weight:600;color:var(--muted);text-align:left;flex:0 0 auto}table.cards-mobile td.cell-stack{flex-direction:column;align-items:stretch;text-align:left}}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.stat-card{display:flex;flex-direction:column;gap:2px;padding:14px 16px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--card-bg);color:var(--text);text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s}a.stat-card:hover{text-decoration:none;border-color:var(--btn-border-hover);box-shadow:var(--shadow);transform:translateY(-1px)}.stat-value{font-size:26px;font-weight:700;letter-spacing:-.02em}.stat-label{font-size:13px;color:var(--muted)}.stat-card.ok .stat-value{color:var(--ok)}.stat-card.warn .stat-value{color:var(--warn)}.stat-card.error .stat-value{color:var(--danger)}.stat-card.accent .stat-value{color:var(--accent-2)}.catalog{max-width:1000px;margin:0 auto;padding:24px 16px 48px}.catalog-head{text-align:center;margin-bottom:24px}.catalog-head h1{margin:0 0 4px}.catalog-blurb{margin:12px auto 0;max-width:640px;background:var(--accent-soft-bg);border:1px solid var(--accent-soft-border);color:var(--text);border-radius:var(--radius-sm);padding:8px 14px;font-size:14px;white-space:pre-line}.catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px}.catalog-card{flex-direction:column;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.catalog-card,.catalog-img{display:flex;overflow:hidden}.catalog-img{aspect-ratio:1/1;background:var(--bg);align-items:center;justify-content:center}.catalog-img img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.catalog-noimg{font-size:44px;opacity:.5}.catalog-body{display:flex;flex-direction:column;gap:4px;padding:12px;flex:1}.catalog-name{font-size:15px;font-weight:600;margin:0;line-height:1.3}.catalog-pres{font-size:13px;margin:0}.catalog-price{font-size:18px;font-weight:700;color:var(--accent-2);margin:4px 0 8px}.catalog-wa{margin-top:auto;display:block;text-align:center;background:#25d366;color:#fff;font-weight:600;padding:9px 12px;border-radius:var(--radius-sm);text-decoration:none}.catalog-wa:hover{background:#1ebe5a}.catalog-empty{text-align:center;padding:48px 16px}.catalog-pager{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:24px}.catalog-foot{text-align:center;margin-top:32px;font-size:13px}:where(a,button,input,select,textarea):focus-visible{outline:none;box-shadow:var(--ring);border-radius:var(--radius-sm)}.btn-sm,.card,.side-link,.stat-card,button{transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .06s ease}.btn-sm:active,button:active{transform:translateY(1px)}@media (max-width:768px){.btn-sm,.side-link,button,input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],select{min-height:44px}input,select,textarea{font-size:16px}.stat-grid{gap:10px}}.photo-strip{display:flex;flex-wrap:wrap;gap:8px}.photo-strip-img{width:80px;height:80px;-o-object-fit:contain;object-fit:contain;border:1px solid var(--border);border-radius:10px;background:#fff}.sticky-actions{position:sticky;top:8px;z-index:20}.photo-picker-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:100;display:flex;align-items:center;justify-content:center;padding:16px}.photo-picker{background:var(--bg-elev);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);width:min(900px,100%);max-height:85vh;overflow:auto;padding:16px}.photo-pick-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px}.photo-pick{position:relative;padding:0;border:2px solid var(--border);border-radius:10px;background:#fff;cursor:pointer;overflow:hidden;aspect-ratio:1}.photo-pick img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;display:block}.photo-pick.sel{border-color:var(--accent-2);box-shadow:var(--ring)}.photo-pick.blocked{opacity:.4;cursor:not-allowed}.photo-pick-check{position:absolute;top:4px;right:4px;background:var(--accent-2);color:#fff;width:22px;height:22px;display:flex;justify-content:center}.photo-pick-check,.refresh-fab{border-radius:999px;align-items:center;font-size:13px}.refresh-fab{position:fixed;right:16px;bottom:16px;z-index:50;display:inline-flex;gap:8px;padding:9px 14px;border:1px solid var(--border);background:var(--bg-elev);color:var(--text);box-shadow:var(--shadow);font-weight:600;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,opacity .12s ease}.refresh-fab:hover{transform:translateY(-1px)}.refresh-fab:active{transform:translateY(0)}.refresh-fab:focus-visible{outline:none;box-shadow:var(--ring)}.refresh-fab:disabled{cursor:default;opacity:.7}.refresh-ico{font-size:16px;line-height:1;color:var(--accent-2)}.refresh-ico.spin{animation:refresh-spin .7s linear infinite}.refresh-label{color:var(--muted);font-weight:500}@keyframes refresh-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.refresh-ico.spin{animation:none}}@media (max-width:768px){.refresh-fab{right:12px;bottom:calc(12px + env(safe-area-inset-bottom, 0px))}}.\!visible{visibility:visible!important}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.m-0{margin:0}.mx-0{margin-left:0;margin-right:0}.mx-auto{margin-left:auto;margin-right:auto}.my-10{margin-top:2.5rem;margin-bottom:2.5rem}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-5{margin-bottom:1.25rem}.ml-2{margin-left:.5rem}.mt-0{margin-top:0}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-2\.5{margin-top:.625rem}.mt-3{margin-top:.75rem}.mt-3\.5{margin-top:.875rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.\!hidden{display:none!important}.hidden{display:none}.h-12{height:3rem}.min-h-\[44px\]{min-height:44px}.min-h-dvh{min-height:100dvh}.w-12{width:3rem}.w-\[100px\]{width:100px}.w-\[110px\]{width:110px}.w-\[130px\]{width:130px}.w-\[150px\]{width:150px}.w-\[22\%\]{width:22%}.w-\[30\%\]{width:30%}.w-\[400px\]{width:400px}.w-\[60px\]{width:60px}.w-\[64px\]{width:64px}.w-\[70px\]{width:70px}.w-\[90px\]{width:90px}.w-full{width:100%}.min-w-\[200px\]{min-width:200px}.min-w-\[320px\]{min-width:320px}.max-w-\[460px\]{max-width:460px}.max-w-\[520px\]{max-width:520px}.max-w-full{max-width:100%}.flex-1{flex:1 1 0%}.grow{flex-grow:1}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.whitespace-normal{white-space:normal}.border{border-width:1px}.p-6{padding:1.5rem}.text-center{text-align:center}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[34px\]{font-size:34px}.text-base{font-size:1rem;line-height:1.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-semibold{font-weight:600}.lowercase{text-transform:lowercase}.text-rose-500{--tw-text-opacity:1;color:rgb(244 63 94/var(--tw-text-opacity,1))}.no-underline{text-decoration-line:none}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}@media (min-width:640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}