:root{
  --blue:#0000FF; --ink:#000; --paper:#fff; --band:#F2F2F2; --line:#D9D9D9; --grey:#929292;
  --warn:#D40000; --ok:#0A7D2B; --input:#FFF9DB;
  --font:"Montserrat",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
}
*{box-sizing:border-box}
html{font-size:15px}
body{margin:0;font-family:var(--font);color:var(--ink);background:var(--paper);line-height:1.4}
a{color:var(--blue)}
h1,h2,h3{font-weight:800;text-transform:uppercase;letter-spacing:.01em;line-height:1.1;margin:0 0 .6em}
h1{font-size:1.7rem;color:var(--blue);margin:1.2rem 0 1rem}
h2{font-size:1.15rem;margin:2rem 0 .8rem}
h3{font-size:.85rem;color:#000;margin:1.2rem 0 .4rem}
p{margin:.4em 0 .8em}
.muted{color:var(--grey)} .small{font-size:.85rem} .meta{font-size:.8rem;color:var(--grey)}
b{font-weight:600}

/* ---------- каркас */
.top{display:flex;align-items:center;gap:2rem;padding:.8rem 1.5rem;border-bottom:1px solid var(--line)}
.brand img{height:30px;display:block}
.nav{display:flex;gap:1.4rem;flex-wrap:wrap}
.nav a{margin-right:1.2rem;color:var(--ink);text-decoration:none;font-weight:600;font-size:.9rem;padding:.3rem 0;border-bottom:2px solid transparent}
.nav a.on{border-bottom-color:var(--blue);color:var(--blue)}
.who{margin-left:auto;display:flex;gap:1rem;align-items:center;font-size:.9rem}
.who a{color:var(--grey)}
.page{padding:0 1.5rem 7rem;max-width:1600px;margin:0 auto}
.foot span{margin-right:2rem}
.foot{display:flex;gap:2rem;padding:1.2rem 1.5rem;border-top:1px solid var(--line);color:var(--grey);font-size:.8rem;flex-wrap:wrap}
.flash{margin:0;padding:.8rem 1.5rem;font-weight:600;border-bottom:1px solid var(--line)}
.flash.ok{background:#EAF7EE;color:var(--ok)} .flash.err{background:#FDECEC;color:var(--warn)}
.alert{background:#FDECEC;border-left:4px solid var(--warn);padding:.8rem 1rem;margin:1rem 0}
.alert ul{margin:.4rem 0 0;padding-left:1.2rem} .alert a{color:var(--warn)}
.empty{color:var(--grey);padding:2rem 0}

/* ---------- формы */
input,select,textarea,button{font:inherit}
input[type=text],input[type=password],input[type=email],input[type=number],input[type=date],input:not([type]),select,textarea{
  width:100%;padding:.5rem .6rem;border:1px solid var(--line);border-radius:3px;background:#fff}
input:focus,select:focus,textarea:focus{outline:2px solid var(--blue);outline-offset:0;border-color:var(--blue)}
label{display:block;font-size:.85rem;color:var(--grey);font-weight:500}
label input,label select,label textarea{margin-top:.25rem;color:var(--ink);font-weight:500}
.stack label{margin-bottom:.9rem} .form-narrow{max-width:560px}
.check{display:flex;align-items:center;gap:.5rem;color:var(--ink)} .check input{width:auto;margin:0}
.btn{display:inline-block;padding:.6rem 1.1rem;border:1px solid var(--ink);background:#fff;color:var(--ink);text-decoration:none;font-weight:600;border-radius:3px;cursor:pointer;line-height:1.2}
.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff}
.btn.small{padding:.35rem .7rem;font-size:.8rem}
.btn:disabled{opacity:.4;cursor:default}
.btn:focus-visible{outline:3px solid #99f}
.actions{display:flex;gap:1rem;justify-content:flex-end;margin:2rem 0} .actions.left{justify-content:flex-start;margin:1rem 0}
.inline-form{display:flex;gap:.8rem;align-items:flex-end;flex-wrap:wrap;margin:.5rem 0}
.inline-form label{min-width:180px}
.toolbar{display:flex;gap:2rem;justify-content:space-between;flex-wrap:wrap;align-items:flex-end;margin:.5rem 0 1rem}
.w-s{width:5.5rem!important} .w-m{width:7rem!important} .w-l{width:16rem!important}
.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.8rem 1.5rem}

/* ---------- вход */
.login-page .page{padding-bottom:2rem}
.login-card{max-width:400px;margin:4rem auto}

/* ---------- условия партнёра */
.terms{border:1px solid var(--line);padding:1.2rem 1.4rem;margin:0 0 1.5rem;display:grid;grid-template-columns:260px 1fr;gap:1rem 2.5rem;align-items:start}
.terms-main{border-right:1px solid var(--line);padding-right:1.5rem}
.terms-mode{font-weight:800;text-transform:uppercase;font-size:1rem;line-height:1.2}
.terms-disc{font-size:2rem;font-weight:800;color:var(--blue);margin-top:.4rem;line-height:1} .terms-disc b{font-weight:800}
.terms-grid{display:grid;grid-template-columns:max-content 1fr;gap:.35rem 1.2rem;margin:0;font-size:.9rem}
.terms-grid dt{color:var(--grey)} .terms-grid dd{margin:0}
.terms p{grid-column:1/-1;margin:0}
@media (max-width:800px){.terms{grid-template-columns:1fr}.terms-main{border-right:0;border-bottom:1px solid var(--line);padding:0 0 1rem}}

/* ---------- каталог */
.drop-title{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;background:var(--band);padding:.7rem 1rem;margin:2.2rem 0 .4rem;font-size:1.15rem;color:var(--blue)}
.drop-date{font-size:.8rem;color:var(--ink);text-transform:none;font-weight:500;letter-spacing:0}
.line-title{padding:.2rem 1rem;color:var(--grey)}
table.cat{width:100%;border-collapse:collapse;table-layout:fixed}
table.cat th{font-size:.72rem;font-weight:500;color:var(--grey);text-align:left;padding:.3rem .5rem;border-bottom:1px solid var(--line)}
table.cat td{padding:.5rem;border-bottom:1px solid var(--line);vertical-align:middle}
.c-img{width:78px} .c-img img{width:64px;height:64px;object-fit:contain;display:block}
.noimg{font-size:.65rem;color:var(--grey);display:block;width:64px;text-align:center}
.c-info .art{font-weight:600} .c-info .desc{font-size:.88rem} .c-info .note{border-bottom:1px dotted var(--grey);cursor:help}
.c-price{width:130px} .c-price .rrc{font-size:.8rem;color:var(--grey);text-decoration:line-through} .c-price .pp{font-weight:600}
.c-price .rrc.muted{text-decoration:none}
.c-moq{width:64px;font-size:.85rem;color:var(--grey);white-space:nowrap}
.c-sizes{width:auto}
.sizes{display:flex;flex-wrap:wrap;gap:.35rem}
.sz{display:flex;flex-direction:column;align-items:center;font-size:.7rem;color:var(--grey);font-weight:600;margin:0}
.sz input{width:52px;padding:.35rem .2rem;text-align:center;background:var(--input);margin-top:.1rem;-moz-appearance:textfield}
.sz input::-webkit-outer-spin-button,.sz input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.sz input:disabled{background:#f7f7f7;color:var(--grey)}
.sz input.has{background:#fff;border-color:var(--ink);font-weight:600}
.c-tot{width:120px;text-align:right}
.c-tot .tq{font-weight:600} .c-tot .ts{font-size:.85rem;color:var(--grey)}
.moq-warn{font-size:.72rem;color:var(--warn);font-weight:600;min-height:1em}
tr.prod.under td{background:#FFF4F4} tr.prod.under .tq{color:var(--warn)}
tr.prod.filled .tq{color:var(--blue)}
.comment{max-width:700px;margin:2rem 0}
@media (max-width:900px){
  table.cat thead{display:none}
  table.cat tr.prod{display:grid;grid-template-columns:78px 1fr;gap:.2rem .6rem;padding:.6rem 0;border-bottom:1px solid var(--line)}
  table.cat td{border:0;padding:.15rem .3rem}
  .c-img{grid-row:1/4} .c-price,.c-moq,.c-tot{width:auto;text-align:left;display:inline-block}
  .c-sizes{grid-column:1/-1}
}

/* ---------- панель итога */
.orderbar{position:fixed;left:0;right:0;bottom:0;background:var(--blue);color:#fff;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 1.5rem;box-shadow:0 -4px 16px rgba(0,0,0,.12);z-index:20;flex-wrap:wrap}
.ob-stats{display:flex;gap:1.6rem;align-items:baseline;flex-wrap:wrap;font-size:.95rem}
.ob-stats b{font-size:1.25rem;font-weight:800}
.ob-stats>span{margin-right:1.2rem}
.ob-warn{color:#FFD5D5;font-weight:600} .ob-warn:empty{display:none}
.ob-actions{display:flex;gap:1rem;align-items:center}
.ob-save{font-size:.78rem;opacity:.75}
.orderbar .btn.primary{background:#fff;color:var(--blue);border-color:#fff}
.orderbar .btn.primary:disabled{opacity:.5}

/* ---------- таблицы */
table.lines,table.sched{width:100%;border-collapse:collapse;font-size:.92rem}
table.lines th,table.sched th{text-align:left;font-size:.75rem;font-weight:500;color:var(--grey);padding:.4rem .5rem;border-bottom:1px solid var(--line)}
table.lines td,table.sched td{padding:.5rem;border-bottom:1px solid var(--line);vertical-align:middle}
table.lines .c-img img{width:48px;height:48px;object-fit:contain}
th.num,td.num{text-align:right;white-space:nowrap}
tr.band td{background:var(--band);font-weight:800;text-transform:uppercase;color:var(--blue);font-size:.85rem}
table.sched tfoot td{font-weight:600;background:var(--band)}
tr.inactive td{color:var(--grey)}
table.admin-cat td{padding:.35rem .4rem} table.admin-cat input{padding:.3rem .4rem}
table.modes input{padding:.3rem .4rem;font-size:.85rem}
.status{display:inline-block;padding:.15rem .55rem;border-radius:2rem;font-size:.75rem;font-weight:600;background:var(--band)}
.st-new{background:#E6E6FF;color:var(--blue)} .st-confirmed{background:#EAF7EE;color:var(--ok)} .st-shipped{background:var(--band)} .st-cancelled{background:#FDECEC;color:var(--warn)}
.order-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}
.order-side{display:flex;gap:1rem;align-items:center;margin-top:1.4rem}
.totals{display:flex;gap:2.5rem;flex-wrap:wrap;margin:1rem 0 .5rem}
.totals div{display:flex;flex-direction:column;margin-right:2rem} .totals span{font-size:.78rem;color:var(--grey)} .totals b{font-size:1.4rem;font-weight:800}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
