:root{--bg:#f4f5f7;--card:#fff;--text:#1c2330;--muted:#6b7587;--line:#dde1e8;--accent:#1f6feb;--accent-text:#fff;--danger:#d33a3a;--badge:#e8f0fe;--ok:#1a7f4b;--ok-bg:#e3f6ec;--warn:#b4540a;--warn-bg:#fdecd8}@media (prefers-color-scheme:dark){:root{--bg:#12151b;--card:#1b2029;--text:#e7eaf0;--muted:#9aa4b5;--line:#2c3340;--accent:#4c8dff;--accent-text:#fff;--danger:#ff6b6b;--badge:#22314d;--ok:#5fd39a;--ok-bg:#173325;--warn:#ffb26b;--warn-bg:#3a2a16}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font:16px/1.4 system-ui,-apple-system,sans-serif}h1{margin:0;font-size:1.25rem}h2{margin:0 0 .75rem;font-size:1.05rem}.page{max-width:720px;margin:0 auto;padding:16px}.bar{align-items:center;gap:12px;margin-bottom:16px;display:flex}.bar .grow{flex:1}button{font:inherit;border:1px solid var(--line);background:var(--card);color:var(--text);cursor:pointer;border-radius:10px;padding:10px 14px}button.primary{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}button.danger{color:var(--danger)}button:disabled{opacity:.6;cursor:default}input,textarea,select{width:100%;font:inherit;color:var(--text);background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px 12px}.filters{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}textarea{resize:vertical;min-height:84px}label.field{margin-bottom:14px;display:block}label.field>span{margin-bottom:6px;font-weight:600;display:block}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;margin-bottom:12px;padding:14px}.order-card{text-align:left;width:100%;display:block}.order-card .title{font-weight:600}.meta{color:var(--muted);flex-wrap:wrap;gap:4px 12px;margin-top:4px;font-size:.9rem;display:flex}.badge{background:var(--badge);border-radius:999px;padding:2px 10px;font-size:.85rem}.error{color:var(--danger);margin:8px 0}.empty{color:var(--muted);text-align:center;padding:32px 0}.photos{flex-wrap:wrap;gap:8px;margin-bottom:8px;display:flex}.thumb{background:var(--line);border-radius:10px;width:84px;height:84px;position:relative;overflow:hidden}.thumb img{object-fit:cover;width:100%;height:100%;display:block}.thumb .x{border-radius:50%;padding:0 7px;line-height:22px;position:absolute;top:2px;right:2px}.row{flex-wrap:wrap;gap:8px;display:flex}dl{margin:8px 0 0}dt{color:var(--muted);margin-top:8px;font-size:.85rem}dd{white-space:pre-wrap;margin:0}.badge.ok{background:var(--ok-bg);color:var(--ok)}.badge.warn{background:var(--warn-bg);color:var(--warn)}.card.closed{opacity:.75}.tabs{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.tabs button.active{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.tabs a{touch-action:manipulation;border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:10px;padding:10px 14px;text-decoration:none}.tabs a.active{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.badge.bad{background:var(--danger);color:#fff}.tiles{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:16px;display:grid}.tile{border:1px solid var(--line);background:var(--card);text-align:left;border-radius:14px;padding:12px}.tile .n{font-size:1.8rem;font-weight:700;line-height:1.1}.tile .l{color:var(--muted);font-size:.85rem}.tile.bad .n{color:var(--danger)}.tile.warn .n{color:var(--warn)}.tile.ok .n{color:var(--ok)}.card.overdue{border-left:5px solid var(--danger)}.card.soon{border-left:5px solid var(--warn)}.bars .brow{align-items:center;gap:8px;margin-bottom:6px;display:flex}.bars .name{text-overflow:ellipsis;white-space:nowrap;flex:0 0 38%;font-size:.9rem;overflow:hidden}.bars .track{background:var(--line);border-radius:6px;flex:1;height:14px;display:flex;overflow:hidden}.bars .seg-bad{background:var(--danger)}.bars .seg-ok{background:var(--accent)}.bars .cnt{color:var(--muted);flex:none;font-size:.85rem}.install{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:20;background:var(--card);border:1px solid var(--line);border-radius:16px;align-items:flex-start;gap:12px;max-width:696px;margin:0 auto;padding:14px;display:flex;position:fixed;box-shadow:0 8px 28px #0000002e}.install img{border-radius:12px;width:48px;height:48px}.install .grow{flex:1}.install .title{font-weight:600}.install .hint{color:var(--muted);margin:2px 0 10px;font-size:.9rem}.install .share{vertical-align:-2px;color:var(--accent)}.demo-banner{background:var(--warn-bg);color:var(--warn);text-align:center;z-index:10;padding:6px 12px;font-size:.85rem;font-weight:600;position:sticky;top:0}
