:root{--bg: #f5f6f4;--surface: #ffffff;--text: #1c211d;--muted: #5f6b62;--line: #dde3de;--primary: #2e6b3f;--primary-ink: #ffffff;--primary-soft: #e3efe6;--danger: #b3261e;--good: #1e7a3c;--good-soft: #dff3e5;--warn: #8a5a00;--warn-soft: #fff1cc;--bad-soft: #fbe2df;--info: #1f4fa8;--info-soft: #e1eafb;--neutral-soft: #eceeec;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.5;color:var(--text);background:var(--bg);color-scheme:light}@media(prefers-color-scheme:dark){:root{--bg: #111412;--surface: #1a1e1b;--text: #e4e8e4;--muted: #9aa59d;--line: #2d342f;--primary: #7cc792;--primary-ink: #0d2416;--primary-soft: #203427;--danger: #ff8a80;--good: #7cd296;--good-soft: #1c3324;--warn: #f4c95d;--warn-soft: #3a3016;--bad-soft: #3d1f1c;--info: #9cbcff;--info-soft: #1d2a44;--neutral-soft: #262b27;color-scheme:dark}}*{box-sizing:border-box}body{margin:0;background:var(--bg)}h1{font-size:26px;margin:0}h2{font-size:18px;margin:28px 0 12px}h3{font-size:16px;margin:8px 0 4px}p{margin:4px 0}a{color:var(--primary)}.muted{color:var(--muted)}.error{color:var(--danger)}button{font:inherit;padding:8px 14px;border-radius:8px;border:1px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer}button:hover{border-color:var(--muted)}button:disabled{opacity:.6;cursor:default}button.primary{background:var(--primary);border-color:var(--primary);color:var(--primary-ink);font-weight:600}button.danger{color:var(--danger)}button.link{border:0;padding:0;background:none;color:var(--text);font-weight:600;text-align:left}button.link:hover{text-decoration:underline}button.icon{border:0;font-size:22px;padding:0 8px;background:none}input,select,textarea{font:inherit;width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text)}textarea{resize:vertical}.layout{display:flex;min-height:100vh}.sidebar{width:248px;flex-shrink:0;background:var(--surface);border-right:1px solid var(--line);padding:20px 14px;display:flex;flex-direction:column;gap:20px;position:sticky;top:0;height:100vh}.sidebar nav{display:flex;flex-direction:column;gap:2px}.sidebar nav a{padding:9px 12px;border-radius:8px;color:var(--text);text-decoration:none}.sidebar nav a:hover{background:var(--neutral-soft)}.sidebar nav a.active{background:var(--primary-soft);color:var(--primary);font-weight:600}.sidebar-foot{margin-top:auto;display:flex;flex-direction:column;gap:8px;align-items:flex-start}.brand{display:flex;gap:10px;align-items:center}.logo{width:40px;height:40px;border-radius:10px;background:var(--primary);color:var(--primary-ink);display:grid;place-items:center;font-weight:800}.content{flex:1;padding:32px 40px;max-width:1200px;min-width:0}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px}.actions,.row-actions,.form-actions{display:flex;gap:8px;flex-wrap:wrap}.row-actions{justify-content:flex-end}.form-actions{justify-content:flex-end;margin-top:8px}.section-head{display:flex;justify-content:space-between;align-items:center}.tabs{display:flex;gap:6px;margin-bottom:16px;flex-wrap:wrap}.tabs button{border-radius:999px}.tabs button.active{background:var(--primary-soft);color:var(--primary);border-color:var(--primary);font-weight:600}table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden}th,td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--line);vertical-align:middle}th{font-size:13px;color:var(--muted);font-weight:600;background:var(--neutral-soft)}tr:last-child td{border-bottom:0}tr.past td{color:var(--muted)}tr.clickable{cursor:pointer}tr.clickable:hover td{background:var(--neutral-soft)}td.ellipsis{max-width:360px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.badge{display:inline-block;white-space:nowrap;padding:2px 9px;border-radius:999px;font-size:12.5px;font-weight:600;background:var(--neutral-soft);color:var(--muted)}.badge.good{background:var(--good-soft);color:var(--good)}.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.bad{background:var(--bad-soft);color:var(--danger)}.badge.info{background:var(--info-soft);color:var(--info)}.waste{display:inline-block;padding:2px 10px;border-radius:6px;font-weight:600;font-size:13px}.waste.ko{background:#3a3a3a;color:#fff}.waste.plast_kov_vkm{background:#f2c200;color:#000}.waste.papier{background:#1f5fd1;color:#fff}.waste.sklo{background:#1e9e4a;color:#fff}.waste.bio{background:#8a5a2b;color:#fff}.waste.ine{background:var(--neutral-soft);color:var(--text)}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:6px}.card-head{display:flex;gap:6px;align-items:center}.card .row-actions{justify-content:flex-start;margin-top:8px}.right{margin-left:auto;font-size:13px}.price{color:var(--primary)}.photos{display:flex;gap:8px;flex-wrap:wrap}.photos img,img.preview{width:120px;height:90px;object-fit:cover;border-radius:8px;border:1px solid var(--line)}.empty{padding:40px;text-align:center;color:var(--muted);background:var(--surface);border:1px dashed var(--line);border-radius:12px}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.tile{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:18px;border-radius:12px;text-align:left}.tile.alert{border-color:var(--warn);background:var(--warn-soft)}.tile-value{font-size:32px;font-weight:800;line-height:1.1}.tile-label{font-weight:600}.panel{margin-top:20px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:4px 20px 20px}.panel button{margin-top:12px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:grid;place-items:center;padding:16px;z-index:10}.modal{background:var(--surface);border-radius:14px;width:min(620px,100%);max-height:calc(100vh - 32px);overflow:auto;padding:20px 24px 24px}.modal-head{display:flex;justify-content:space-between;align-items:center}.modal-head h2{margin:0}.form{display:flex;flex-direction:column;gap:14px;margin-top:12px}.field{display:flex;flex-direction:column;gap:5px}.field>span{font-weight:600;font-size:14px}.check{display:flex;gap:8px;align-items:center}.check input{width:auto}.login{min-height:100vh;display:grid;place-items:center;padding:16px}.login-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:28px;width:min(400px,100%);display:flex;flex-direction:column;gap:14px}.notice{background:var(--warn-soft);color:var(--warn);padding:10px 12px;border-radius:8px;font-size:14px}@media(max-width:760px){.layout{flex-direction:column}.sidebar{width:100%;height:auto;position:static;border-right:0;border-bottom:1px solid var(--line)}.sidebar nav{flex-direction:row;overflow-x:auto}.sidebar nav a{white-space:nowrap}.sidebar-foot{flex-direction:row;align-items:center}.content{padding:20px 16px}.page-header{flex-direction:column}table{display:block;overflow-x:auto}}table.diff{margin:4px 0;font-size:13.5px}table.diff td{word-break:break-word;max-width:320px}
