:root{--background: #fafafa;--foreground: #171717;--card: #ffffff;--muted: #f2f2f2;--muted-foreground: #737373;--border: #e5e5e5;--primary: #171717;--primary-foreground: #ffffff;--success: #16a34a;--warning: #d97706;--destructive: #dc2626;--radius: 8px;--sidebar-w: 240px;--font-ui: "Inter", system-ui, sans-serif;--font-display: "Space Grotesk", system-ui, sans-serif}*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--background);color:var(--foreground);font-family:var(--font-ui);-webkit-font-smoothing:antialiased}button,input,select{font:inherit}.app{display:grid;grid-template-columns:var(--sidebar-w) 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;border-right:1px solid var(--border);background:var(--card);padding:20px 14px;display:flex;flex-direction:column;gap:20px}.brand,.login-brand{display:flex;align-items:center;gap:10px}.brand{padding:4px 8px 8px}.brand-mark{width:32px;height:32px;border-radius:8px;background:var(--primary);color:var(--primary-foreground);display:grid;place-items:center;font-family:var(--font-display);font-weight:700;font-size:.85rem}.brand-text{font-family:var(--font-display);font-weight:600;font-size:1.05rem;letter-spacing:-.02em}.brand-sub{font-size:.7rem;color:var(--muted-foreground);margin-top:1px}.nav{display:flex;flex-direction:column;gap:2px;flex:1}.nav button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;text-align:left;padding:9px 10px;border-radius:8px;color:var(--muted-foreground);cursor:pointer;font-size:.875rem;font-weight:500}.nav button:hover{background:var(--muted);color:var(--foreground)}.nav button.active{background:var(--primary);color:var(--primary-foreground)}.sidebar-foot{border:1px solid var(--border);border-radius:10px;background:var(--muted);padding:12px;font-size:.75rem;color:var(--muted-foreground);line-height:1.45;display:flex;flex-direction:column;gap:8px}.main{min-width:0;display:flex;flex-direction:column;height:100vh;overflow:auto}.content{padding:24px 28px 40px;min-width:0;flex:1}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;flex-wrap:wrap}.page-head h1{margin:0;font-family:var(--font-display);font-size:1.6rem;font-weight:600;letter-spacing:-.03em}.page-head p{margin:6px 0 0;color:var(--muted-foreground);font-size:.875rem;max-width:40rem;line-height:1.45}.pill{border:1px solid var(--border);background:var(--card);border-radius:999px;padding:5px 10px;font-size:.72rem;color:var(--muted-foreground)}.panel{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.panel+.panel{margin-top:12px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid var(--border)}.panel-head h2{margin:0;font-family:var(--font-display);font-size:.95rem;font-weight:600}.panel-body{padding:14px;display:flex;flex-direction:column;gap:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid label,.panel-body>label{display:flex;flex-direction:column;gap:6px;font-size:.78rem;color:var(--muted-foreground)}.panel-body input,.panel-body select,.filter-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);border-radius:8px;padding:10px 12px;background:#fff;color:var(--foreground)}.hint{font-size:.75rem;color:var(--muted-foreground)}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:var(--card);color:var(--foreground);border-radius:8px;padding:7px 12px;font-size:.78rem;font-weight:500;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.row-actions{display:flex;gap:6px;white-space:nowrap}.btn:hover{background:var(--muted)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:var(--primary);color:var(--primary-foreground);border-color:var(--primary)}.btn.primary:hover{opacity:.9}.btn.danger{color:var(--destructive);border-color:#fecaca}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#17171773;display:grid;place-items:center;padding:24px;z-index:20}.modal-back .login-card h2{margin:0 0 8px;font-family:var(--font-display)}.preview-back{padding:16px;place-items:stretch}.preview-modal{display:flex;flex-direction:column;height:calc(100vh - 32px);background:var(--card);border:1px solid var(--border);border-radius:16px;overflow:hidden}.preview-toolbar{display:flex;justify-content:space-between;gap:16px;align-items:end;padding:14px 16px;border-bottom:1px solid var(--border)}.preview-toolbar h2{margin:0 0 4px;font-family:var(--font-display);font-size:1.1rem}.preview-toolbar p{margin:0;color:var(--muted-foreground);font-size:.8rem}.preview-actions{display:flex;gap:8px;align-items:center}.preview-actions input{width:260px;border:1px solid var(--border);border-radius:8px;padding:8px 10px}.preview-progress{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--border);background:#fafafa}.preview-progress-track{flex:1;height:8px;border-radius:999px;background:var(--muted);overflow:hidden}.preview-progress-fill{height:100%;background:var(--primary);border-radius:999px;transition:width .16s ease}.preview-progress span{color:var(--muted-foreground);font-size:.78rem;white-space:nowrap}.preview-frame{flex:1;width:100%;border:0;background:var(--background)}.table-wrap{overflow:auto;max-height:min(70vh,720px)}table{width:100%;border-collapse:collapse;font-size:.8125rem}th,td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border);vertical-align:middle}th{font-size:.68rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted-foreground);font-weight:600;background:#fcfcfc;position:sticky;top:0}tr:hover td{background:#fafafa}.qty{width:72px}.thumb{width:40px;height:52px;object-fit:cover;border-radius:6px;background:var(--muted)}.link{word-break:break-all;color:inherit}.banner{margin-bottom:14px;padding:10px 12px;border-radius:8px;border:1px solid var(--border);background:var(--muted);color:var(--muted-foreground);font-size:.8rem}.banner.ok{color:var(--success);background:#f0fdf4;border-color:#bbf7d0}.banner.bad{color:var(--destructive);background:#fef2f2;border-color:#fecaca}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(1200px 600px at 10% -10%,#e8eef7 0%,transparent 55%),radial-gradient(900px 500px at 100% 0%,#f3efe6 0%,transparent 50%),var(--background)}.login-card{width:min(420px,100%);background:var(--card);border:1px solid var(--border);border-radius:14px;padding:28px 24px 24px;box-shadow:0 12px 40px #1717170f}.login-brand{margin-bottom:20px}.login-card h1{margin:0 0 6px;font-family:var(--font-display);font-size:1.45rem;letter-spacing:-.02em}.login-blurb{margin:0 0 16px;color:var(--muted-foreground);font-size:.875rem;line-height:1.45}.login-form{display:flex;flex-direction:column;gap:12px}.login-form label{display:flex;flex-direction:column;gap:6px;font-size:.78rem;color:var(--muted-foreground)}.login-form input{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);border-radius:8px;padding:10px 12px;background:#fff;color:var(--foreground)}.login-form input:focus{outline:2px solid rgba(23,23,23,.15);border-color:#a3a3a3}.login-error{font-size:.8rem;color:var(--destructive);background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:8px 10px}.login-info{font-size:.8rem;color:var(--success);background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:8px 10px}.login-form .btn.primary{margin-top:4px;width:100%}.login-admin{margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}.linkish{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;padding:0;color:var(--foreground);text-decoration:underline;text-underline-offset:3px;cursor:pointer;font-size:.8rem}.copy-row,.url-field{font-size:.8rem}.copy-row{display:flex;gap:8px;margin:0 0 16px}.copy-row input,.url-field{flex:1;min-width:0;width:100%;border:1px solid var(--border);border-radius:8px;padding:8px 10px;background:var(--muted);color:var(--foreground)}.preview-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.preview-row img{width:64px;height:80px;object-fit:contain;background:var(--muted);border:1px solid var(--border);border-radius:8px}.sheet{min-height:100vh;padding:24px 24px 96px;max-width:1240px;margin:0 auto}.sheet-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px}.sheet-note{margin:0;color:var(--muted-foreground);font-size:.85rem}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}.kpi{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px}.kpi span{display:block;color:var(--muted-foreground);font-size:.72rem;letter-spacing:.04em;text-transform:uppercase}.kpi strong{display:block;margin-top:4px;font-family:var(--font-display);font-size:1.25rem;letter-spacing:-.03em}.sheet-bar{position:sticky;top:0;z-index:2;background:color-mix(in srgb,var(--background) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:10px 0 12px;display:flex;flex-direction:column;gap:10px}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:var(--card);color:var(--foreground);border-radius:999px;padding:6px 10px;font-size:.78rem;cursor:pointer}.chip.on{background:var(--primary);color:var(--primary-foreground);border-color:var(--primary)}.sheet-controls{display:flex;gap:8px;align-items:center}.sheet-controls input,.sheet-controls select{border:1px solid var(--border);border-radius:8px;padding:8px 10px;background:var(--card)}.sheet-controls input{flex:1;min-width:0}.count{color:var(--muted-foreground);font-size:.8rem;white-space:nowrap}.sheet-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(236px,1fr));gap:14px;margin-top:8px}.style-card{background:var(--card);border:1px solid var(--border);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}.ph{aspect-ratio:4 / 5;background:var(--muted);display:grid;place-items:center;color:var(--muted-foreground);font-size:.8rem}.ph img{width:100%;height:100%;object-fit:contain}.style-body{padding:12px;display:flex;flex-direction:column;gap:8px}.pills{display:flex;flex-wrap:wrap;gap:4px}.pill{font-size:.68rem;border-radius:999px;padding:3px 7px;background:var(--muted);color:var(--muted-foreground)}.pill.note{background:#f3efe6;color:#6b5b3e}.style-body h2{margin:0;font-family:var(--font-display);font-size:1.02rem;letter-spacing:-.02em}.print{margin:0;font-size:.85rem}.nums{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.nums span{display:block;color:var(--muted-foreground);font-size:.68rem;text-transform:uppercase;letter-spacing:.03em}.nums strong{font-size:.85rem}.sizes{display:flex;flex-wrap:wrap;gap:4px}.sz{font-size:.7rem;border:1px solid var(--border);border-radius:6px;padding:3px 6px;display:inline-flex;gap:4px}.sz em{font-style:normal;color:var(--muted-foreground)}.meta,.style-body details p{margin:0;color:var(--muted-foreground);font-size:.78rem;line-height:1.4}.style-body summary{cursor:pointer;font-size:.78rem}.listing{font-size:.78rem;color:var(--foreground);text-underline-offset:3px}.interest{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.interest label{display:flex;flex-direction:column;gap:4px;font-size:.68rem;color:var(--muted-foreground)}.interest-bar{position:static;margin-top:18px;display:flex;gap:12px;align-items:end;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:12px;box-shadow:0 10px 30px #17171714}.interest-bar.on{position:sticky;bottom:12px}.interest-bar>div{display:flex;flex-direction:column;min-width:120px}.interest-bar>div span{color:var(--muted-foreground);font-size:.75rem}.interest-bar label{display:flex;flex-direction:column;gap:4px;font-size:.72rem;color:var(--muted-foreground);flex:1}.interest-bar input{border:1px solid var(--border);border-radius:8px;padding:8px 10px}@media(max-width:800px){.app{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.main{height:auto}.form-grid{grid-template-columns:1fr}.content{padding:16px}.kpis{grid-template-columns:1fr 1fr}.sheet{padding:16px 12px 120px}.sheet-head,.interest-bar,.sheet-controls{flex-direction:column;align-items:stretch}}
