:root{--fox:#e8590c;--fox-d:#c2410c;--fox-l:#fff4ec;--ink:#1f1a17;--muted:#6b625a;--line:#e7e2dc;--paper:#faf8f6;--good:#15803d;--bad:#b91c1c;--warn:#b45309}
*{box-sizing:border-box}html,body{margin:0}body{font:14px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);background:var(--paper)}
a{color:var(--fox-d);text-decoration:none}a:hover{text-decoration:underline}
.top{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:10px 20px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
.brand{font-weight:700;color:var(--ink);font-size:16px}.brand span,.accent{color:var(--fox)}
.nav{display:flex;gap:2px;flex-wrap:wrap;flex:1}.nav a{padding:6px 10px;border-radius:8px;color:var(--ink)}.nav a:hover{background:var(--paper);text-decoration:none}.nav a[aria-current]{background:var(--fox-l);color:var(--fox-d);font-weight:600}
.me{display:flex;gap:10px;align-items:center}.me form{margin:0}
main{max-width:1280px;margin:0 auto;padding:20px 16px 48px}main.wide{max-width:none;padding:12px}
h1{font-size:22px;margin:0}h2{font-size:15px;margin:0 0 10px}
.head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px;margin-bottom:16px}
.muted{color:var(--muted)}.sm{font-size:12px}.good{color:var(--good)}.bad{color:var(--bad)}.warn{color:var(--warn)}
.ok{background:#ecfdf3;color:var(--good);padding:8px 12px;border-radius:8px}.err{background:#fef2f2;color:var(--bad);padding:8px 12px;border-radius:8px}
.btn,.btn-ghost{display:inline-block;border-radius:8px;padding:8px 14px;font:inherit;cursor:pointer;border:1px solid var(--fox);background:var(--fox);color:#fff}
.btn:hover{background:var(--fox-d);text-decoration:none}.btn-ghost{background:#fff;color:var(--ink);border-color:var(--line)}.btn-ghost:hover{border-color:var(--fox);text-decoration:none}
.link{background:none;border:0;color:var(--fox-d);cursor:pointer;font:inherit;padding:0}
input,select{font:inherit;border:1px solid var(--line);border-radius:8px;padding:7px 9px;background:#fff;max-width:100%}
label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}label input,label select{color:var(--ink);font-size:14px}
.filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;margin-bottom:16px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px}
.kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;margin-bottom:16px}
.kpi{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px}.kl{font-size:12px;color:var(--muted)}.kv{font-size:22px;font-weight:650;margin:2px 0}.ks{font-size:12px;color:var(--muted)}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:16px}.grid2 .card{margin:0}
@media(max-width:520px){.grid2{grid-template-columns:1fr}}
.chart{height:320px;width:100%}.chart.tall{height:400px}
.tbl{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;font-weight:600;color:var(--muted);font-size:12px;background:var(--paper);position:sticky;top:0}
th,td{padding:7px 9px;border-bottom:1px solid var(--line);vertical-align:top}td.r,th.r{text-align:right;white-space:nowrap}tbody tr:hover{background:#fffaf6}
.gl{font-size:12px;opacity:.6}tr.cur td{background:#fff7f0}td.fc{color:#7c3aed}.strike{text-decoration:line-through}.loy{color:var(--fox);letter-spacing:1px}
.dl{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin:0}.dl dt{font-size:12px;color:var(--muted)}.dl dd{margin:2px 0 0}
.login{max-width:380px;margin:12vh auto}.login form{display:flex;flex-direction:column;gap:12px;margin-top:16px}.narrow{max-width:420px}.narrow form{display:flex;flex-direction:column;gap:10px}
.row-form{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.inline{display:inline-flex;gap:6px;align-items:center;margin:0 8px 4px 0}.inline input{padding:4px 6px;font-size:12px;width:140px}
.graph-wrap{display:flex;gap:12px;height:calc(100vh - 90px);min-height:520px}
.graph-side{width:300px;flex-shrink:0;overflow-y:auto;margin:0;display:flex;flex-direction:column;gap:12px}
.graph-side fieldset{border:1px solid var(--line);border-radius:8px;padding:8px 10px;margin:0}.graph-side legend{font-size:12px;color:var(--muted)}
.chk{flex-direction:row;align-items:center;gap:8px;color:var(--ink);font-size:13px;padding:2px 0}.btns{display:flex;gap:8px}
.cy{flex:1;background:#fff;border:1px solid var(--line);border-radius:12px;min-width:0}
.dot{width:10px;height:10px;border-radius:50%;display:inline-block}
.t-seller{background:#e8590c}.t-curator{background:#9a3412}.t-client{background:#2563eb}.t-contact{background:#7c3aed}.t-product{background:#059669}.t-supplier{background:#475569}
.wk-head{margin-bottom:14px}.wk-brand{color:var(--fox-d);font-weight:600;font-size:13px}.wk-ai ul{padding-left:18px}.wk-ai li{margin-bottom:6px}.card h3{font-size:13px;margin:12px 0 6px}
body.print{background:#fff}body.print main{max-width:none;padding:0 4px}body.print .card{break-inside:avoid;border-color:#ddd}body.print .tbl{overflow:visible}body.print th{position:static}
@page{size:A4;margin:12mm}
.rv-sum{font-size:15px;margin:0 0 10px}.rv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.rv-grid h3{font-size:13px;margin:0 0 6px}.rv-list{margin:0;padding-left:18px}.rv-list li{margin-bottom:8px}.rv-high b{color:var(--bad)}.rv-old{border-top:1px solid var(--line);padding:8px 0}.rv-old summary{cursor:pointer;font-size:13px}
.g-info{border-top:1px solid var(--line);padding-top:10px}.g-info h3{margin:0 0 4px;font-size:15px}
@media(max-width:800px){.graph-wrap{flex-direction:column;height:auto}.graph-side{width:auto}.cy{height:70vh}}
textarea{font:inherit;border:1px solid var(--line);border-radius:8px;padding:7px 9px;background:#fff;color:var(--ink);font-size:14px;resize:vertical;width:100%}
.task-form{display:flex;flex-direction:column;gap:10px;margin-top:12px}.tf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}
.sum-btn{cursor:pointer;font-weight:600;color:var(--fox-d)}details.card[open] .sum-btn{margin-bottom:4px}
.inl{display:inline-flex;gap:6px;align-items:center;margin:0 8px 6px 0}.btns-row{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.pre{white-space:pre-wrap;word-break:break-word;margin:0}.msg{max-width:720px}.msg-kira{color:#7c2d12}.pager{display:flex;gap:16px;justify-content:center;margin:12px 0 0}
.tabs{display:flex;gap:4px;flex-wrap:wrap;margin:-4px 0 16px;border-bottom:1px solid var(--line)}.tabs a{padding:8px 12px;color:var(--ink);border-bottom:2px solid transparent}.tabs a[aria-current]{color:var(--fox-d);border-bottom-color:var(--fox);font-weight:600}.tabs a:hover{text-decoration:none;color:var(--fox-d)}
.c-form{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0}.c-form input[name=name]{width:150px}.c-form select{max-width:220px}
fieldset.days{border:1px solid var(--line);border-radius:8px;padding:6px 10px;display:flex;gap:12px;flex-wrap:wrap;margin:0}fieldset.days legend{font-size:12px;color:var(--muted)}
.job-form fieldset.sched,.job-form fieldset.rcp{border:1px solid var(--line);border-radius:8px;padding:8px 12px;margin:8px 0;display:flex;flex-direction:column;gap:8px}.job-form legend{font-size:12px;color:var(--muted)}
.job-form .days,.job-form .chk-list{display:flex;gap:6px 14px;flex-wrap:wrap}.job-form .inl{display:flex;gap:6px;align-items:center}
dl.jobkv{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin:0 0 12px}dl.jobkv dt{color:var(--muted);font-size:13px}dl.jobkv dd{margin:0}
.risk{display:inline-block;min-width:44px;text-align:center;border-radius:999px;padding:2px 8px;font-weight:600;font-size:13px}.risk-green{background:#e3f5e8;color:#1e6b34}.risk-yellow{background:#fdf3d4;color:#8a6100}.risk-red{background:#fde2e0;color:#a3261b}
.pri{font-size:12px;font-weight:600;border-radius:6px;padding:1px 6px}.pri-high{background:#fde2e0;color:#a3261b}.pri-medium{background:#fdf3d4;color:#8a6100}.pri-low{background:#eef2f5;color:#55606b}
.neg { color: #b42318; }
