*{box-sizing:border-box}
:root{--bg:#f6f8fb;--panel:#ffffff;--ink:#17201c;--muted:#64726c;--line:#e3e8ee;--accent:#0f766e;--accent-dark:#115e59;--accent-light:#14b8a6;--success:#16a34a;--warning:#f59e0b;--info:#2563eb;--purple:#7c3aed;--danger:#dc2626;--danger-soft:#fff2ef;--shadow:0 16px 50px rgba(17,24,39,.08)}
html{scroll-behavior:smooth}
body{margin:0;font-family:Roboto,"Segoe UI",Arial,"Microsoft YaHei",sans-serif;background:radial-gradient(circle at top left,rgba(20,184,166,.08),transparent 34%),var(--bg);color:var(--ink);font-size:14px;font-variant-numeric:tabular-nums}
header{position:sticky;top:0;z-index:5;background:rgba(255,253,250,.96);border-bottom:1px solid var(--line);padding:14px 28px;display:flex;align-items:center;gap:24px;justify-content:space-between;backdrop-filter:blur(10px)}
.brand-title{display:grid;gap:2px}
h1{font-size:22px;line-height:1.1;margin:0;font-weight:700;letter-spacing:0}
.brand-title span{font-size:11px;text-transform:uppercase;color:var(--muted);font-weight:700;letter-spacing:.16em}
h2{font-size:17px;margin:0 0 14px;font-weight:700}h3{font-size:14px;margin:18px 0 8px}
a{color:var(--accent-dark);text-decoration:none}a:hover{text-decoration:underline}
nav{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
nav a{color:#2d3a34;font-weight:650;padding:7px 9px;border-radius:5px}
nav a:hover{background:#ece7df;text-decoration:none}
main{max-width:1360px;margin:0 auto;padding:22px}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:18px;margin-bottom:16px;box-shadow:0 1px 2px rgba(17,24,39,.03)}
.notice{background:#eef8f3;border:1px solid #b7dfcd;color:#0d5f45;padding:10px 12px;border-radius:5px;margin-bottom:12px}
.error{background:var(--danger-soft);color:#8f2f27;padding:10px 12px;border-radius:5px;margin-bottom:12px}
.muted{color:var(--muted);font-size:12px;line-height:1.5}
.login{min-height:100vh;display:grid;place-items:center}
.login-box{width:min(390px,calc(100vw - 32px));background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:24px;box-shadow:0 18px 50px rgba(55,48,38,.12)}
label{display:grid;gap:5px;margin-bottom:12px;font-weight:650;font-size:13px}
input,select,button,textarea{font:inherit}
input,select,textarea{border:1px solid #cfc8bc;border-radius:5px;padding:9px 10px;background:#fff;min-width:0;color:var(--ink)}
input:focus,select:focus,textarea:focus{outline:2px solid rgba(15,118,110,.18);border-color:var(--accent)}
textarea{min-height:96px;resize:vertical}
button,.button{display:inline-flex;align-items:center;justify-content:center;border:0;background:var(--accent);color:#fff;border-radius:5px;padding:9px 14px;font-weight:750;cursor:pointer;transition:background .18s ease,transform .18s ease}
button:hover,.button:hover{background:var(--accent-dark);color:#fff;text-decoration:none}
button:active,.button:active{transform:translateY(1px)}
.secondary{background:#f1eee8;color:#25332d;border:1px solid #d7d0c5}
.secondary:hover{background:#e8e2d8;color:#17201c}
.danger{background:var(--danger);color:#fff}
.danger:hover{background:#842d27;color:#fff}
.danger-compact{padding:8px 11px;font-size:12px}
.danger-mini{padding:4px 7px;font-size:11px;border-radius:4px;font-weight:700;min-height:0}
.lang-select{display:inline-flex;grid-auto-flow:column;align-items:center;gap:6px;margin:0;font-size:12px;color:var(--muted)}
.lang-select span{font-weight:700}.lang-select select{padding:6px 28px 6px 8px;min-width:132px}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.tabs a{border:1px solid #d4cec3;border-radius:5px;padding:8px 12px;background:#fff;color:#344039;font-weight:750}
.tabs a.active{background:var(--accent);border-color:var(--accent);color:#fff}
.page-tabs{display:flex;gap:8px;align-items:center;margin:0 0 16px;border-bottom:1px solid var(--line);padding-bottom:10px}
.page-tabs a{border:1px solid transparent;border-radius:5px;padding:9px 13px;color:#344039;font-weight:800;background:transparent}
.page-tabs a.active{background:#fff;border-color:var(--line);color:var(--accent-dark)}
.admin-split{display:grid;grid-template-columns:190px minmax(0,1fr);gap:16px;align-items:start}
.side-tabs{position:sticky;top:92px;display:grid;gap:6px;background:#fffdfa;border:1px solid var(--line);border-radius:7px;padding:8px}
.side-tabs a{padding:10px 12px;border-radius:5px;color:#344039;font-weight:800}
.side-tabs a.active,.side-tabs a:hover{background:var(--accent);color:#fff;text-decoration:none}
.split-content{min-width:0}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-bottom:16px}
.stat{background:#fff;border:1px solid var(--line);border-radius:8px;padding:16px;color:var(--ink);box-shadow:var(--shadow);overflow:hidden}
.stat strong{display:block;font-size:26px}.stat span{color:var(--muted)}
.stat strong{white-space:nowrap}
.products-pick{max-height:360px;overflow:auto;border:1px solid var(--line);border-radius:6px;padding:8px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
.products-pick label{display:block;font-weight:400;margin:0;padding:5px}
table{width:100%;border-collapse:collapse}
th,td{text-align:left;border-bottom:1px solid #e7e1d8;padding:9px 8px;vertical-align:top;font-size:13px}
th{font-size:11px;text-transform:uppercase;color:#5b655f;letter-spacing:.04em;background:#faf8f4}
tr:hover td{background:#fffaf2}
.product-management-table th,.product-management-table td{text-align:center;vertical-align:middle}
.product-management-table td:nth-child(5){text-align:center}
.product-management-table .muted{display:block;margin-top:4px}
.product-management-table .action-cell{text-align:center}
.row-actions{display:flex;gap:6px;align-items:flex-start;flex-wrap:wrap}
.link{width:100%;font-size:12px}
.toolbar{display:flex;gap:10px;margin-bottom:16px;align-items:center;flex-wrap:wrap}
.toolbar input{flex:1}.toolbar select{min-width:150px}
.bulk-toolbar{justify-content:flex-end}
.catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
.product-card{background:#fff;border:1px solid var(--line);border-radius:7px;overflow:hidden;display:flex;flex-direction:column}
.product-card img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;background:#eee9df}
.product-card h2{font-size:14px;line-height:1.3;margin:10px 10px 4px}
.product-card p,.product-card .stock{margin:0 10px 8px;color:var(--muted);font-size:12px}
.product-path{margin:10px 10px 0;color:#344039;font-size:12px;font-weight:750}
.price{margin:0 10px 4px;font-weight:750}.card-actions{margin:auto 10px 10px}.card-actions .button{width:100%}
.client-watermark{font-size:12px;color:var(--muted)}
.detail{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:20px}
.detail-image,.detail-info{background:#fff;border:1px solid var(--line);border-radius:7px}
.detail-image{padding:10px;align-self:start}.detail-image img{width:100%;height:auto;display:block}
.detail-info{padding:18px;align-self:start}
.inquiry-box{border-top:1px solid #e7e1d8;margin-top:18px;padding-top:18px}
.inline-form{display:inline-flex;gap:6px;margin:0;align-items:center}.inline-form select{max-width:130px}.inline-form button{padding:7px 10px}
.checkline{display:flex;align-items:center;gap:6px;margin:0;font-weight:500}
.client-edit-grid{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:8px;min-width:720px;align-items:start}
.client-edit-grid input,.client-edit-grid textarea{width:100%;min-height:40px}.client-edit-grid textarea{grid-column:1/-1;min-height:78px}.client-edit-grid button{justify-self:start}
.small-thumb{width:46px;height:46px}
.action-cell{position:relative}.row-actions-menu{position:relative;display:inline-block}.row-actions-menu summary{list-style:none}.row-actions-menu summary::-webkit-details-marker{display:none}
.kebab{width:42px;height:34px;padding:0;font-size:25px;font-weight:900;line-height:.6;background:#f1eee8;color:#1f2a25;border:1px solid #d7d0c5;display:inline-flex;align-items:center;justify-content:center;border-radius:5px;cursor:pointer}
.kebab:hover{background:#e8e2d8;color:#111}
.row-menu{display:none;position:absolute;right:0;top:38px;z-index:4;min-width:170px;background:#fff;border:1px solid var(--line);border-radius:7px;box-shadow:0 14px 36px rgba(55,48,38,.16);padding:6px}
.row-actions-menu[open] .row-menu{display:grid;gap:2px}
.row-menu a,.menu-button{display:block;width:100%;text-align:left;background:#fff;color:#17201c;border:0;border-radius:5px;padding:9px 10px;font-weight:650}
.row-menu a:hover,.menu-button:hover{background:#f5f0e8;color:#17201c;text-decoration:none}.danger-text{color:var(--danger)}
.link-row td{background:#fbf8f2}.link-row input{max-width:760px}
.client-modal-row td{padding:0;border:0;background:transparent}
.client-modal-row:hover td{background:transparent}
.modal-backdrop{display:none;position:fixed;inset:0;z-index:20;background:rgba(23,32,28,.32);padding:32px;align-items:center;justify-content:center}
.modal-backdrop.open{display:flex}.modal{width:min(980px,calc(100vw - 32px));max-height:calc(100vh - 64px);overflow:auto;background:#fffdfa;border:1px solid var(--line);border-radius:9px;box-shadow:0 24px 80px rgba(55,48,38,.24);padding:18px}
.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.price-modal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.price-modal-grid section{border:1px solid var(--line);border-radius:7px;padding:14px;background:#fff}
.thumb{width:80px;height:80px;object-fit:cover;border-radius:6px;border:1px solid #e2dcd2;background:#faf8f4}
.edit-product{display:grid;grid-template-columns:280px minmax(0,1fr);gap:16px;align-items:start}
.edit-preview img{width:100%;border-radius:7px;border:1px solid #e2dcd2;background:#faf8f4}
.catalog-browser{display:grid;grid-template-columns:240px minmax(0,1fr);gap:16px;align-items:start}
.catalog-sidebar{position:sticky;top:84px;background:#fff;border:1px solid var(--line);border-radius:7px;padding:8px;display:grid;gap:4px;max-height:calc(100vh - 110px);overflow:auto}
.catalog-sidebar a{display:flex;justify-content:space-between;gap:8px;color:#344039;border-radius:5px;padding:9px 10px;font-weight:750}
.catalog-sidebar a.active,.catalog-sidebar a:hover{background:var(--accent);color:#fff;text-decoration:none}
.catalog-sidebar span{font-weight:400;color:inherit;opacity:.8}
.catalog-results{min-width:0}.catalog-toolbar input{min-width:260px}
.result-heading{display:flex;justify-content:space-between;align-items:center;margin:0 0 12px}
.pagination{display:flex;gap:10px;align-items:center;justify-content:center;margin-top:16px}
.badge{display:inline-flex;align-items:center;gap:5px;border-radius:6px;padding:4px 7px;font-size:11px;font-weight:800;line-height:1}
.badge.success{background:#dcfce7;color:#166534}.badge.warning{background:#fef3c7;color:#92400e}.badge.danger{background:#fee2e2;color:#991b1b}.badge.info{background:#dbeafe;color:#1d4ed8}.badge.hot{background:#ffedd5;color:#c2410c}.badge.discount{background:#fee2e2;color:#b91c1c}.badge.neutral{background:#eef2f7;color:#475569}
.tag-row{display:flex;flex-wrap:wrap;gap:5px;justify-content:center;margin-top:6px}
.image-lightbox{position:fixed;inset:0;background:rgba(15,23,42,.72);z-index:40;display:none;align-items:center;justify-content:center;padding:32px}.image-lightbox.open{display:flex}.image-lightbox img{max-width:min(900px,90vw);max-height:85vh;border-radius:10px;background:#fff;box-shadow:0 30px 90px rgba(0,0,0,.28)}.image-lightbox button{position:absolute;top:24px;right:24px}
.chart-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr) minmax(280px,.8fr);gap:16px;margin-bottom:16px}.chart-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:18px;box-shadow:var(--shadow)}.sparkline{height:180px;display:flex;align-items:end;gap:14px;border-bottom:1px solid var(--line);padding-top:20px}.sparkline span{flex:1;background:linear-gradient(180deg,var(--accent-light),var(--accent));border-radius:6px 6px 0 0;min-height:18px}.donut{width:150px;height:150px;border-radius:50%;background:conic-gradient(var(--success) 0 42%,var(--warning) 42% 72%,var(--danger) 72% 100%);margin:16px auto;position:relative}.donut:after{content:"";position:absolute;inset:34px;background:#fff;border-radius:50%}.mini-bars{display:grid;gap:10px}.mini-bars div{display:grid;grid-template-columns:90px 1fr 60px;gap:10px;align-items:center}.mini-bars span:nth-child(2){height:10px;background:#e5e7eb;border-radius:999px;overflow:hidden}.mini-bars span:nth-child(2)::before{content:"";display:block;height:100%;width:var(--w,50%);background:var(--accent);border-radius:999px}
.quick-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.fixed-head thead th{position:sticky;top:72px;z-index:3}
.product-card:hover,.panel:hover,.stat:hover{transform:translateY(-1px);transition:transform .18s ease,box-shadow .18s ease}.product-card:hover,.stat:hover{box-shadow:0 18px 60px rgba(17,24,39,.12)}
@media(max-width:1100px){.chart-grid{grid-template-columns:1fr 1fr}}
@media(max-width:800px){header{display:block}.grid2,.detail,.stats-grid,.edit-product,.catalog-browser,.price-modal-grid,.admin-split,.chart-grid{grid-template-columns:1fr}.side-tabs{position:static}.products-pick{grid-template-columns:1fr}.toolbar{display:grid}.bulk-toolbar{justify-content:stretch}.catalog-grid{grid-template-columns:1fr}.catalog-sidebar{position:static;max-height:none}.catalog-toolbar input{min-width:0}.client-edit-grid{grid-template-columns:1fr;min-width:0}table.product-management-table,table.product-management-table thead,table.product-management-table tbody,table.product-management-table tr,table.product-management-table th,table.product-management-table td{display:block}.product-management-table thead{display:none}.product-management-table tr{border:1px solid var(--line);border-radius:8px;margin-bottom:12px;padding:10px;background:#fff}}
