:root{color:#1f2b23;font-synthesis:none;text-rendering:optimizelegibility;background:#f5f7f1;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}#root{min-height:100svh}:root{--ink:#1d2e22;--muted:#6d7b70;--line:#dce5da;--card:#fff;--green:#27643a;--lime:#b7e95e;--soft:#edf5e8;--alert:#c54835}.app-shell{background:#f5f7f1;max-width:720px;min-height:100svh;margin:auto;padding-bottom:90px}.topbar{color:#fff;background:#1d3d2a;justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.topbar strong{font-size:18px;display:block}.eyebrow{color:var(--muted);letter-spacing:.09em;text-transform:uppercase;font-size:11px;font-weight:800;display:block}.topbar .eyebrow{color:#cbe7b9}.topbar-actions{align-items:center;gap:8px;display:flex}.avatar,.topbar-button{border:0;border-radius:999px;padding:9px 14px;font-size:13px;font-weight:800}.avatar{color:#1d3d2a;background:#fff}.topbar-button{color:#fff;background:0 0;border:1px solid #89a995}.content{padding:22px 16px}.page-intro{margin-bottom:20px}.page-intro h1,.login-card h1{letter-spacing:-.04em;margin:4px 0 7px;font-size:clamp(28px,7vw,38px);line-height:1.05}.page-intro p,.section-heading p{color:var(--muted);font-size:14px}.row{justify-content:space-between;align-items:flex-start;display:flex}.round-add{background:var(--green);color:#fff;border:0;border-radius:50%;width:44px;height:44px;font-size:24px}.stat-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:29px;display:grid}.stat-grid article{background:var(--soft);border-radius:15px;padding:14px 10px}.stat-grid article:nth-child(2){background:#faefd2}.stat-grid strong{font-size:25px;display:block}.stat-grid span{color:var(--muted);font-size:12px}.section-heading{justify-content:space-between;align-items:center;margin:24px 1px 10px;display:flex}.section-heading h2{margin:0 0 3px;font-size:18px}.text-button{color:var(--green);background:0 0;border:0;font-weight:800}.card-list,.request-list{gap:9px;display:grid}.product-card,.user-card{background:var(--card);border:1px solid var(--line);border-radius:15px;align-items:center;gap:11px;padding:13px;display:flex}.product-card.low{background:#fff8f5;border-color:#efbdad}.product-icon{width:40px;height:40px;color:var(--green);text-transform:uppercase;background:#dceecf;border-radius:12px;flex:0 0 40px;place-items:center;font-size:18px;font-weight:900;display:grid}.product-data{flex:1;min-width:0}.product-data strong,.user-card strong,.request-card strong{display:block}.product-data span,.user-card span,.request-card span,.movement-list span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;display:block;overflow:hidden}.quantity{text-align:right}.quantity strong{font-size:18px;display:block}.quantity span{color:var(--muted);white-space:nowrap;font-size:11px}.product-entry{border-radius:15px;overflow:hidden}.product-entry .product-card{border-radius:15px 15px 0 0}.inline-actions{border:1px solid var(--line);background:#fff;border-top:0;border-radius:0 0 15px 15px;gap:8px;padding:8px 12px;display:flex}.inline-actions button{flex:1;min-height:34px}.user-card>div:nth-child(2){flex:1;min-width:0}.user-card.inactive{opacity:.62;background:#f4f4f4}.compact{border-radius:9px;min-height:34px;padding:6px 9px;font-size:12px}.danger-button{color:#fff;background:#b33142;border:0;border-radius:11px;min-height:40px;padding:9px 12px;font-weight:800}.danger-text{color:#9b2838;background:#fff0f1;border-radius:11px;margin:0;padding:12px;font-size:13px;line-height:1.4}.readonly-field{color:#324237;align-content:center;gap:6px;min-height:47px;font-size:13px;font-weight:750;display:grid}.readonly-field strong{background:#f6f8f5;border:1px solid #cdd8ca;border-radius:11px;padding:10px 12px}.filters{gap:10px;margin-bottom:15px;display:grid}.filters input{width:100%}.toggle{color:var(--muted);align-items:center;gap:7px;font-size:13px;display:flex}.toggle input{width:auto}.empty{min-height:160px;color:var(--muted);text-align:center;border:1px dashed #c8d4c5;border-radius:16px;place-content:center;padding:22px;display:grid}.empty strong{color:var(--green);font-size:30px}.empty.error strong,.form-error{color:var(--alert)}.full{width:100%;margin-top:20px}form{gap:14px;display:grid}label{color:#324237;gap:6px;font-size:13px;font-weight:750;display:grid}input,select,textarea{outline-color:var(--green);width:100%;min-height:47px;color:var(--ink);background:#fff;border:1px solid #cdd8ca;border-radius:11px;padding:10px 12px}textarea{resize:vertical;min-height:88px}.two-columns{grid-template-columns:1fr 1fr;gap:10px;display:grid}.primary,.secondary{border-radius:12px;min-height:48px;font-weight:850}.primary{background:var(--green);color:#fff;border:0}.primary:disabled{opacity:.6}.secondary{color:var(--ink);background:#fff;border:1px solid #ccd8c8}.form-card{border:1px solid var(--line);background:#fff;border-radius:17px;padding:16px}.form-error{margin:0;font-size:13px}.form-help{color:var(--muted);margin:-5px 0 0;font-size:12px;line-height:1.35}.notice{color:#245838;background:#dff2d6;border-radius:10px;margin:12px 16px -5px;padding:11px 13px;font-size:13px;font-weight:700}.request-card{border:1px solid var(--line);background:#fff;border-radius:15px;padding:15px}.request-top{justify-content:space-between;gap:10px;display:flex}.status{border-radius:99px;flex:none;padding:4px 8px;font-size:11px;font-weight:850}.status.pending{color:#8c5b02;background:#fff0cf}.status.approved{color:#22633a;background:#dff2d6}.status.rejected{color:#9b3426;background:#fde0db}.muted,.note{color:var(--muted);margin:9px 0 0;font-size:13px}.note{color:#496152;font-style:italic}.request-card small{color:var(--muted);margin-top:10px;font-size:11px;display:block}.action-row{gap:8px;margin-top:14px;display:flex}.action-row button{flex:1;min-height:40px}.movement-list{gap:2px;display:grid}.movement-list article{border-bottom:1px solid var(--line);justify-content:space-between;padding:12px 2px;font-size:13px;display:flex}.movement-list small{color:var(--muted);font-size:11px;display:block}.positive{color:#227043;text-align:right;font-weight:800}.negative{color:var(--alert);text-align:right;font-weight:800}.bottom-nav{z-index:5;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#fffffff5;justify-content:center;gap:2px;padding:8px max(10px,50vw - 350px);display:flex;position:fixed;bottom:0;left:0;right:0}.nav-button{max-width:128px;min-height:57px;color:var(--muted);background:0 0;border:0;border-radius:11px;flex:1;place-content:center;gap:2px;font-size:10px;display:grid}.nav-button span{font-size:19px;line-height:17px}.nav-button.active{color:#1d5e35;background:#e2f1d5;font-weight:850}.login-page,.centered{place-items:center;min-height:100svh;padding:18px;display:grid}.centered{color:var(--muted);place-content:center;gap:12px}.login-page{background:radial-gradient(circle at 12% 15%,#ffe1ed 0 10%,#0000 35%),radial-gradient(circle at 88% 82%,#e6d8ff 0 7%,#0000 31%),linear-gradient(145deg,#a93d65,#6f3d77)}.login-card{background:#fffafdf7;border:1px solid #ffffffa6;border-radius:28px;width:min(100%,410px);padding:30px 24px;box-shadow:0 20px 50px #40143147}.login-card h1{color:#552039}.login-card p{color:#7b6370;margin:0 0 22px;line-height:1.5}.login-card small{color:#8a7180;font-size:11px}.login-card .primary{background:#b83f69;box-shadow:0 8px 18px #b83f693d}.login-card .primary:hover{background:#9f3058}.login-card input{background:#fff;border-color:#e7c6d3;outline-color:#b83f69}.brand-mark{color:#8c244d;background:linear-gradient(145deg,#f7c2d4,#e995b2);border-radius:17px;place-items:center;width:52px;height:52px;margin-bottom:18px;font-size:29px;display:grid;box-shadow:0 8px 16px #b83f692e}.loader{border:3px solid #bfd4bd;border-top-color:var(--green);border-radius:50%;width:24px;height:24px;animation:.8s linear infinite spin}.modal-backdrop{z-index:10;background:#11221873;align-items:end;display:grid;position:fixed;inset:0}.modal{width:100%;max-width:720px;padding:20px 16px max(22px, env(safe-area-inset-bottom));background:#fff;border-radius:24px 24px 0 0;margin:auto}.modal header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.modal h2{margin:0}.close{background:#edf2eb;border:0;border-radius:50%;width:34px;height:34px;font-size:25px;line-height:1}.modal{max-height:94svh;overflow-y:auto}@keyframes spin{to{transform:rotate(360deg)}}@media (width>=600px){.content{padding:30px}.modal{border-radius:24px;margin-bottom:8vh}.modal-backdrop{align-items:center}.stat-grid article{padding:17px}}
