:root{--paper: #ede4d3;--paper-raised: #f8f3e8;--ink: #2a211a;--ink-soft: #6b5d4d;--crust: #b9812f;--crust-dark: #8f611f;--stamp-green: #3f5c43;--stamp-rust: #9c3b2e;--line: #d3c4a5;--font-display: "PT Serif", Georgia, serif;--font-body: "IBM Plex Sans", system-ui, -apple-system, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Consolas, monospace;--radius: 3px;--shadow-stub: 0 2px 0 var(--line), 0 3px 6px rgba(42, 33, 26, .12)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font-body);background:var(--paper);color:var(--ink);line-height:1.45}h1,h2,h3{font-family:var(--font-display);font-weight:700;margin:0 0 .6em;letter-spacing:-.01em}h1{font-size:1.6rem}h2{font-size:1.35rem}h3{font-size:.95rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft)}a{color:var(--crust-dark)}button,input,select{font-family:inherit;font-size:16px}:focus-visible{outline:3px solid var(--crust);outline-offset:2px}button{cursor:pointer;border:none;border-radius:var(--radius);padding:.7rem 1.1rem;font-weight:600;background:var(--crust);color:var(--paper-raised);transition:background-color .15s ease,transform .1s ease}button:hover{background:var(--crust-dark)}button:active{transform:translateY(1px)}button:disabled{background:var(--line);color:var(--ink-soft);cursor:not-allowed}button.secondary{background:transparent;color:var(--ink);border:1.5px solid var(--line)}button.secondary:hover{background:var(--paper-raised)}input[type=text],input[type=password],input[type=number]{background:var(--paper-raised);border:1.5px solid var(--line);border-radius:var(--radius);padding:.65rem .75rem;color:var(--ink)}input:focus{border-color:var(--crust)}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}.app-header{background:var(--ink);color:var(--paper);padding:.9rem 1rem;display:flex;align-items:center;justify-content:space-between}.app-header .brand{font-family:var(--font-display);font-weight:700;font-size:1.1rem;letter-spacing:.02em}.app-header .brand:before{content:"№";color:var(--crust);margin-right:.35em}.app-header button.secondary{color:var(--paper);border-color:#ede4d359;font-size:.8rem;padding:.45rem .8rem}.app-header button.secondary:hover{background:#ede4d31f}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem}.login-form{display:flex;flex-direction:column;gap:.9rem;width:100%;max-width:340px;background:var(--paper-raised);border:1.5px solid var(--line);border-radius:var(--radius);padding:2rem 1.75rem;box-shadow:var(--shadow-stub)}.login-form h1{text-align:center;margin-bottom:.1em}.login-form .subtitle{text-align:center;color:var(--ink-soft);font-size:.85rem;margin:0 0 .8rem}.login-form input,.login-form button{padding:.8rem}.error{color:var(--stamp-rust);font-size:.9rem;margin:0}.requester-shell{min-height:100vh}.requester-nav{display:flex;background:var(--ink)}.requester-nav a{flex:1;text-align:center;padding:.9rem .5rem;color:var(--paper);opacity:.6;text-decoration:none;font-weight:600;font-size:.9rem;letter-spacing:.02em;border-bottom:3px solid transparent}.requester-nav a.active,.requester-nav a:hover{opacity:1;border-bottom-color:var(--crust)}.new-request-page,.my-requests-page,.admin-items-page{padding:1.25rem 1rem 3rem;max-width:720px;margin:0 auto}.search-row{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1rem}.search-row form{display:flex;gap:.5rem;flex:1;min-width:200px}.search-row form input{flex:1;min-width:0}.search-results,.added-items{list-style:none;margin:0 0 1.25rem;padding:0;display:flex;flex-direction:column;gap:.7rem}.search-result-row,.free-text-add,.added-items li,.request-card{background:var(--paper-raised);border:1.5px dashed var(--line);border-radius:var(--radius);box-shadow:var(--shadow-stub);padding:.9rem 1rem}.search-result-row{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}.search-result-row div{flex-basis:100%}.search-result-row input[type=number]{width:4.5rem}.search-result-row input:not([type=number]){flex:1;min-width:120px}.free-text-add{display:flex;flex-direction:column;gap:.6rem;border-color:var(--stamp-rust)}.free-text-add p{margin:0;color:var(--ink-soft);font-size:.9rem}.added-items li{font-family:var(--font-mono);font-size:.92rem;display:flex;justify-content:space-between;align-items:center;gap:.75rem}.status{display:inline-block;font-family:var(--font-body);font-weight:700;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;padding:.25em .6em;border:2px solid currentColor;border-radius:var(--radius);transform:rotate(-2deg);white-space:nowrap}.status-new{color:var(--ink-soft)}.status-in_progress{color:var(--crust-dark)}.status-ordered{color:#2f5f8a}.status-purchased{color:var(--stamp-green)}.request-card{display:flex;flex-direction:column;gap:.6rem}.request-card-header{font-family:var(--font-display);font-weight:700;color:var(--ink-soft);font-size:.85rem}.request-card ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.request-card li{display:flex;justify-content:space-between;align-items:center;gap:.75rem;font-family:var(--font-mono);font-size:.9rem}.barcode-scanner{position:fixed;top:0;right:0;bottom:0;left:0;background:#14100cf0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:1.5rem;z-index:50}.barcode-video{width:100%;max-width:420px;border-radius:var(--radius);border:3px solid var(--crust)}.barcode-scanner .error{color:#f0b8ac}.barcode-scanner button{background:var(--paper-raised);color:var(--ink)}.admin-items-page{max-width:1200px}.status-filter-bar{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.1rem}.filter-chip{background:var(--paper-raised);color:var(--ink-soft);border:1.5px solid var(--line);border-radius:999px;padding:.45rem .9rem;font-size:.82rem;font-weight:600;display:inline-flex;align-items:center;gap:.4em}.filter-chip:hover{background:var(--paper);color:var(--ink)}.filter-chip.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.filter-chip .chip-count{font-family:var(--font-mono);font-size:.75rem;opacity:.75}.empty-state{color:var(--ink-soft);font-style:italic}.stale-warning{background:#f3e4c9;border:1.5px solid var(--crust);border-left-width:5px;border-radius:var(--radius);padding:.75rem 1rem;font-size:.9rem;color:var(--crust-dark)}.items-table-wrap{background:var(--paper-raised);border-radius:var(--radius);box-shadow:var(--shadow-stub);overflow-x:auto}.items-table{width:100%;min-width:900px;border-collapse:collapse;font-size:.88rem}.items-table th{position:sticky;top:0;z-index:1;text-align:left;font-family:var(--font-display);font-weight:700;font-size:.76rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);background:var(--paper-raised);border-bottom:2px solid var(--line);padding:.7rem;white-space:nowrap}.items-table td{padding:.55rem .7rem;border-bottom:1px solid var(--line);vertical-align:middle}.items-table tbody tr:nth-child(2n){background:#d3c4a524}.items-table tbody tr:hover{background:#b9812f14}.item-name{font-family:var(--font-body);font-weight:600}.item-comment{font-family:var(--font-body);font-size:.78rem;color:var(--ink-soft);margin-top:.15em}.items-table td:nth-child(2),.items-table td:nth-child(4),.items-table td:nth-child(6){font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap}.days-badge{display:inline-block;font-family:var(--font-mono);font-size:.78rem;font-weight:600;padding:.2em .55em;border-radius:var(--radius);white-space:nowrap}.days-badge.days-ok{background:#3f5c4324;color:var(--stamp-green)}.days-badge.days-warn{background:#b9812f29;color:var(--crust-dark)}.days-badge.days-critical{background:#9c3b2e24;color:var(--stamp-rust)}.days-badge.days-unknown{color:var(--ink-soft)}.price-input,.supplier-input{width:100%;min-width:7rem;background:var(--paper);border:1.5px solid var(--line);border-radius:var(--radius);padding:.4rem .55rem;font-family:var(--font-mono);font-size:.85rem;color:var(--ink)}.supplier-input{font-family:var(--font-body);min-width:10rem}.price-input:focus,.supplier-input:focus{border-color:var(--crust);background:var(--paper-raised)}.price-input::placeholder,.supplier-input::placeholder{color:var(--ink-soft);opacity:.7}.status-select{padding:.4rem .55rem;border:1.5px solid currentColor;border-radius:var(--radius);background:var(--paper);font-weight:600;font-size:.8rem}.status-select.status-new{color:var(--ink-soft)}.status-select.status-in_progress{color:var(--crust-dark)}.status-select.status-ordered{color:#2f5f8a}.status-select.status-purchased{color:var(--stamp-green)}@media (max-width: 640px){.items-table-wrap{max-height:70vh;overflow-y:auto}}
