:root{--red:#b4232d;--red-soft:#f9e2e4;--ink:#2a1518;--muted:#746267;--bg:#f8f5f5;--paper:#fff;--line:#eadbdd}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.45 system-ui,sans-serif}.app{display:none;grid-template-columns:220px 1fr;grid-template-rows:70px 1fr;min-height:100vh}.app.ready{display:grid}.auth-screen{min-height:100vh;display:grid;place-items:center;padding:20px}.auth-screen.hidden{display:none}.auth-card{width:min(390px,100%);padding:32px;background:var(--paper);border:1px solid var(--line);border-radius:14px;text-align:center}.auth-mark{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;margin:0 auto 14px;background:var(--red);color:#fff;font-weight:800;font-style:italic}.auth-card h1{margin:0}.auth-card form{display:grid;gap:14px;margin-top:24px;text-align:left}.auth-card label{display:grid;gap:5px;color:var(--muted);font-size:13px}.auth-card input{border:1px solid var(--line);border-radius:7px;padding:10px;font:inherit}.auth-card .primary{width:100%}.auth-card small{min-height:18px;text-align:center;color:var(--muted)}.link-button{border:0;background:transparent;color:var(--red);padding:3px;text-decoration:underline}header{grid-column:1/-1;background:var(--paper);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:10px 28px}.brand{display:flex;align-items:center;gap:11px}.mark{width:42px;height:42px;display:block;object-fit:cover;border-radius:50%;border:2px solid var(--red-soft)}.brand strong,.brand span{display:block}.brand span,.sync{font-size:12px;color:var(--muted)}.header-actions{display:flex;align-items:center;gap:16px}.header-actions select,.month select{border:1px solid var(--line);border-radius:7px;padding:8px;background:var(--paper);color:var(--ink)}aside{background:#fffafa;padding:18px 12px;border-right:1px solid var(--line)}.nav{width:100%;text-align:left;border:0;background:transparent;padding:11px 13px;border-radius:7px;color:var(--muted);font:inherit;cursor:pointer}.nav.active{background:var(--red-soft);color:var(--ink);font-weight:650}main{padding:30px;max-width:1300px;width:100%}.view{display:none}.view.active{display:block}.title{display:flex;justify-content:space-between;align-items:start;gap:18px;margin-bottom:25px}h1{font-size:25px;margin:0 0 3px}h2{font-size:16px;margin:0}p{margin:0;color:var(--muted)}button{font:inherit;cursor:pointer}.primary{border:0;border-radius:7px;background:var(--red);color:#fff;padding:10px 14px;font-weight:650}.secondary{border:1px solid var(--line);border-radius:7px;background:#fff;padding:9px 13px}.stock-actions{display:flex;gap:9px;flex-wrap:wrap}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px}.stats article,.panel,.stock-card{background:var(--paper);border:1px solid var(--line);border-radius:10px}.stats article{padding:16px}.stats span,.stock-card span{display:block;color:var(--muted);font-size:13px}.stats strong{font-size:25px;display:block;margin-top:4px}.columns{display:grid;grid-template-columns:1.3fr .8fr;gap:18px}.panel h2{padding:15px 17px;border-bottom:1px solid var(--line)}.movement{display:flex;justify-content:space-between;gap:12px;padding:13px 17px;border-bottom:1px solid var(--line)}.movement:last-child{border:0}.movement small{display:block;color:var(--muted)}.in{color:#247244}.out{color:var(--red)}.balance{padding:17px;display:grid;grid-template-columns:1fr auto;gap:13px}.balance span{color:var(--muted)}.balance hr{grid-column:1/-1;border:0;border-top:1px solid var(--line);width:100%}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;min-width:600px}th,td{padding:13px 16px;border-bottom:1px solid var(--line);text-align:left}th{font-size:13px;color:var(--muted);font-weight:600}.right{text-align:right}.stock-card{max-width:480px;padding:30px}.stock-card strong{font-size:44px;display:block;margin:6px 0 10px}.prices{padding:20px;display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:17px;max-width:700px}.prices label,dialog label{display:grid;gap:6px;color:var(--muted);font-size:13px}.prices input,dialog input,dialog select{border:1px solid var(--line);border-radius:7px;padding:10px;font:inherit;color:var(--ink);background:white}.month{font-size:13px;color:var(--muted);display:grid;gap:5px}dialog{width:min(440px,calc(100% - 32px));border:0;border-radius:12px;padding:0;box-shadow:0 20px 55px #2a151855}dialog::backdrop{background:#2a151866}dialog form{padding:22px;display:grid;gap:14px}.dialog-title{display:flex;align-items:center;justify-content:space-between}.close{border:0;background:transparent;font-size:26px;color:var(--muted)}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:6px}@media(max-width:720px){.app{grid-template-columns:1fr;grid-template-rows:70px auto 1fr}header{padding:10px 16px}.sync{display:none}aside{display:flex;overflow:auto;padding:8px;border-right:0;border-bottom:1px solid var(--line)}.nav{width:auto;white-space:nowrap;padding:9px 11px}main{padding:20px}.columns,.stats,.prices{grid-template-columns:1fr}.title{display:block}.title .primary,.title .month,.stock-actions{margin-top:12px}.header-actions{gap:7px}.brand strong{font-size:13px}}

.header-actions{flex-wrap:wrap;gap:8px}header{min-height:70px;height:auto}.app{grid-template-rows:auto 1fr}.auth-card{width:min(480px,100%)}.auth-card input{min-width:0;width:100%}.auth-card p{font-size:14px}@media(max-width:720px){header{flex-wrap:wrap;gap:10px}.header-actions{width:100%}.sync{display:block;width:100%}.app{grid-template-rows:auto auto 1fr}}

.origin-heading{margin:22px 0 12px}.mill-stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.dispatch-filter{display:flex;flex-wrap:wrap;gap:12px;padding:14px;margin-bottom:16px;align-items:end}.dispatch-filter label{display:grid;gap:5px}.dispatch-filter input{padding:9px;border:1px solid var(--line);border-radius:7px;font:inherit}.dispatch-filter div{display:flex;flex-wrap:wrap;gap:7px}[hidden]{display:none!important}

.material-stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}#undo-deletion{padding:12px;background:#fff3ce;margin-bottom:12px}#pdf-message{margin-bottom:12px}.table-wrap td:last-child{white-space:nowrap}
