:root{--bg:#f4f6f3;--fg:#1d2a25;--muted:#5d6b65;--card:#fff;--line:#d8e0db;--brand:#2f5d50;--brand-fg:#fff;--accent:#e0a526;--red:#c62828;--orange:#ef6c00;--yellow:#f2b705;--info:#4a7fa8;--ok:#2e7d32;--clear:#8fb39b;--unknown:#8a8f8c;--manual:#8a8f8c;--hh:48px;--tb:58px}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--fg);margin:0;font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:var(--brand)}h1{margin:.3rem 0 .4rem;font-size:1.4rem}h2{margin:1.2rem 0 .4rem;font-size:1.1rem}.muted{color:var(--muted)}.small{font-size:.85rem}.err{color:var(--red)}.warn{color:#8a4b00}header.top{height:var(--hh);background:var(--brand);color:var(--brand-fg);z-index:1000;justify-content:space-between;align-items:center;padding:0 12px;display:flex;position:fixed;inset:0 0 auto}.brand{color:inherit;font-size:1.1rem;font-weight:700;text-decoration:none}.langsw button{color:#fff;font:inherit;cursor:pointer;background:0 0;border:1px solid #ffffff80;border-radius:6px;margin-left:4px;padding:4px 9px;font-size:.8rem}.langsw button.on{color:var(--brand);background:#fff}nav.tabbar{height:var(--tb);border-top:1px solid var(--line);z-index:1000;padding-bottom:env(safe-area-inset-bottom);background:#fff;display:flex;position:fixed;inset:auto 0 0}nav.tabbar a{color:var(--muted);flex-direction:column;flex:1;justify-content:center;align-items:center;font-size:.72rem;text-decoration:none;display:flex}nav.tabbar a span{font-size:1.25rem;line-height:1}nav.tabbar a.on{color:var(--brand);font-weight:700}main#app{padding-top:var(--hh);padding-bottom:calc(var(--tb) + env(safe-area-inset-bottom));min-height:100dvh}.page{max-width:820px;margin:0 auto;padding:12px 14px 28px}.page.wide{max-width:1100px}.btn{border:1px solid var(--brand);color:var(--brand);font:inherit;cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:6px;min-height:40px;padding:9px 13px;font-size:.95rem;text-decoration:none;display:inline-flex}.btn.primary{background:var(--brand);color:#fff}.btn.danger{border-color:var(--red);color:var(--red)}.btn.small{min-height:30px;padding:4px 10px;font-size:.85rem}.btn:disabled{opacity:.5;cursor:default}.row,.actions{flex-wrap:wrap;gap:8px;margin:8px 0;display:flex}input[type=search],input[type=text],textarea,select{border:1px solid var(--line);width:100%;font:inherit;background:#fff;border-radius:8px;padding:10px}select{width:auto;max-width:100%}.searchform{gap:8px;display:flex}.searchform input{flex:1}.results,.cards,.trows{margin:8px 0;padding:0;list-style:none}.results li{background:var(--card);border:1px solid var(--line);border-radius:10px;align-items:center;gap:8px;margin-bottom:8px;padding:8px 10px;display:flex}.results li>a:first-child{color:inherit;flex:1;align-items:center;gap:10px;min-height:44px;text-decoration:none;display:flex}.results small{display:block}.ri{text-align:center;width:28px;color:var(--brand);font-size:1.4rem}.card{background:var(--card);border:1px solid var(--line);border-radius:10px;margin-bottom:10px;padding:10px 12px}.cards .card{gap:10px;display:flex}.cbody{flex:1;min-width:0}.cbody textarea{margin:6px 0}.pick input{width:22px;height:22px;margin-top:4px}.banner{background:#fff3e0;border:1px solid #ffcc80;border-radius:8px;margin:8px 0;padding:8px 12px}.disc{color:var(--muted);border-left:3px solid var(--line);margin:8px 0;padding-left:8px;font-size:.8rem}.mapwrap{inset:var(--hh) 0 calc(var(--tb) + env(safe-area-inset-bottom)) 0;position:fixed}#map{position:absolute;inset:0}.sheet{z-index:900;background:#fff;border-radius:12px;max-width:560px;margin:0 auto;padding:10px 12px;position:absolute;bottom:8px;left:8px;right:8px;box-shadow:0 2px 14px #00000047}.sheet[hidden]{display:none}.sheet-h{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.icon{cursor:pointer;background:0 0;border:0;padding:6px 10px;font-size:1.2rem}.maploc{cursor:pointer;background:#fff;border:2px solid #00000040;border-radius:4px;width:34px;height:34px;padding:0;font-size:1.1rem}.leaflet-control-layers{max-width:78vw}.rmap{background:#cfd8d2;border-radius:10px;height:190px;margin:8px 0;overflow:hidden}.chips{flex-wrap:wrap;gap:6px;margin:8px 0;display:flex}.chip{border:1px solid var(--line);background:#fff;border-radius:99px;align-items:center;gap:5px;padding:3px 9px;font-size:.85rem;display:inline-flex}.dot{color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:24px;height:24px;font-size:.85rem;font-weight:700;display:inline-flex}.dot i{font-style:normal;line-height:1}.chip .dot{width:18px;height:18px;font-size:.7rem}.dot.sev-red{background:var(--red)}.dot.sev-red i:before{content:"!"}.dot.sev-orange{background:var(--orange)}.dot.sev-orange i:before{content:"!"}.dot.sev-yellow{background:var(--yellow);color:#3a2c00}.dot.sev-yellow i:before{content:"•"}.dot.sev-info{background:var(--info)}.dot.sev-info i:before{content:"i"}.dot.sev-ok{background:var(--ok)}.dot.sev-ok i:before{content:"✓"}.dot.sev-clear{background:var(--clear)}.dot.sev-clear i:before{content:"✓"}.dot.sev-unknown{background:var(--unknown)}.dot.sev-unknown i:before{content:"?"}.dot.sev-manual{color:var(--manual);border:2px dashed var(--manual);background:#fff}.dot.sev-manual i:before{content:"↗"}details.sec{margin:10px 0}details.sec>summary{cursor:pointer;list-style:none}details.sec>summary h2{display:inline}.trow{background:var(--card);border:1px solid var(--line);border-left:5px solid var(--clear);border-radius:10px;gap:10px;margin:7px 0;padding:9px 11px;display:flex}.trow.sev-red{border-left-color:var(--red)}.trow.sev-orange{border-left-color:var(--orange)}.trow.sev-yellow{border-left-color:var(--yellow)}.trow.sev-info{border-left-color:var(--info)}.trow.sev-unknown{border-left-color:var(--unknown);background:#f3f3f3}.trow.sev-manual{border-left-style:dashed;border-left-color:var(--manual)}.tbody{flex:1;min-width:0}.tbody p{margin:.2rem 0}.tbody summary{cursor:pointer;color:var(--brand);font-size:.85rem}.noteblock textarea{margin:6px 0}.spinner{border:4px solid var(--line);border-top-color:var(--brand);border-radius:50%;width:34px;height:34px;margin:14px 0;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.tablewrap{overflow-x:auto}table.cmp{border-collapse:collapse;width:100%;min-width:560px;font-size:.9rem}table.cmp th,table.cmp td{border:1px solid var(--line);vertical-align:top;text-align:left;background:#fff;padding:6px 8px}table.cmp tbody th{background:#eef2ef;min-width:110px;position:sticky;left:0}.article h2{margin-top:1.4rem}.article ul,.article ol{padding-left:1.3rem}.printhead{display:none}#toast{left:50%;bottom:calc(var(--tb) + 18px);color:#fff;opacity:0;z-index:3000;pointer-events:none;background:#222;border-radius:8px;max-width:90vw;padding:9px 14px;transition:all .25s;position:fixed;transform:translate(-50%,20px)}#toast.show{opacity:.95;transform:translate(-50%)}@media (width>=760px){.sheet{width:420px;margin:0;bottom:14px;left:12px;right:auto}}@media print{header.top,nav.tabbar,.noprint,#toast,.leaflet-control-container{display:none!important}main#app{padding:0}body{background:#fff}.printhead{border-bottom:1px solid #999;margin-bottom:8px;font-size:.8rem;display:block}.trow{break-inside:avoid}.rmap{height:170px}.page{max-width:none;padding:0}details>summary{list-style:none}details:not([open])>:not(summary){display:block}}.plan-control{color:#16382c;background:#fff;border-radius:6px;max-width:195px;padding:8px 10px;box-shadow:0 1px 6px #0003}.plan-control label{display:block}.plan-control input[type=range]{width:150px;max-width:100%;display:block}.mapwrap{flex-direction:column;display:flex}.mapwrap>#map{flex:auto;min-height:130px;position:relative;inset:auto}.mapwrap>.sheet{border-radius:12px 12px 0 0;flex:none;width:100%;max-width:none;max-height:42%;margin:0;position:relative;bottom:auto;left:auto;right:auto;overflow:auto}.plan-control{max-width:min(195px,100vw - 95px)}
