:root{--bg:#f6f7f5;--panel:#fff;--ink:#1d2420;--muted:#5d6a63;--line:#dfe4e0;--brand:#2f5d46;--brand-ink:#fff;--warn:#8a5a00;--bad:#b3261e;--good:#1f7a45;color:var(--ink);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{margin:0}a{color:var(--brand)}h1{margin:0 0 12px;font-size:1.5rem}h2{margin:24px 0 8px;font-size:1.1rem}.small{color:var(--muted);font-size:.85rem}.error{color:var(--bad)}.ok{color:var(--good)}.note{border-left:4px solid var(--brand);background:#eef4f0;padding:10px 12px}label{margin:10px 0;font-weight:500;display:block}input,select{border:1px solid var(--line);background:#fff;border-radius:6px;width:100%;margin-top:4px;padding:10px;font-size:1rem;display:block}input[type=checkbox]{width:auto;margin:0 4px 0 0;display:inline}button{background:var(--brand);color:var(--brand-ink);cursor:pointer;border:0;border-radius:6px;padding:10px 16px;font-size:1rem}button.link{color:var(--brand);background:0 0;padding:0;font-size:.9rem;text-decoration:underline}.small-btn{color:var(--ink);background:#e7ece9;padding:4px 8px;font-size:.8rem}.danger{color:var(--bad);background:#f6e1df}form.inline{align-items:center;gap:4px;margin:2px 4px 2px 0;display:inline-flex}form.inline label{margin:0;font-weight:400;display:inline}form.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}form.row input{flex:220px;width:auto;margin:0}form.row select{width:auto;margin:0}.auth{place-items:center;min-height:100vh;padding:16px;display:grid}.card{background:var(--panel);border:1px solid var(--line);border-radius:10px;width:100%;max-width:400px;padding:24px}.brand{color:var(--brand);margin:0 0 12px;font-weight:700}.qr{background:#fff;margin:12px auto;display:block}code{word-break:break-all}.shell{grid-template-columns:220px 1fr;min-height:100vh;display:grid}.side{background:var(--panel);border-right:1px solid var(--line);height:100vh;padding:16px;position:sticky;top:0;overflow:auto}nav a{color:var(--ink);border-radius:6px;padding:7px 8px;text-decoration:none;display:block}nav a:hover{background:#eef2ef}nav .group{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:14px 0 4px 8px;font-size:.75rem}nav .who{border-top:1px solid var(--line);margin-top:16px;padding:12px 8px 0}.content{width:100%;max-width:1400px;padding:24px;overflow-x:hidden}.mobile{display:none}.tiles{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;padding:0;list-style:none;display:grid}.tiles a{background:var(--panel);border:1px solid var(--line);color:var(--ink);border-radius:8px;padding:14px;font-weight:600;text-decoration:none;display:block}.scroll{overflow-x:auto}table{border-collapse:collapse;background:var(--panel);width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:8px 10px;font-size:.92rem}td.actions{white-space:normal;min-width:260px}@media (max-width:760px){.shell{display:block}.side{display:none}.mobile{background:var(--panel);border-bottom:1px solid var(--line);z-index:10;display:block;position:sticky;top:0}.mobile summary{cursor:pointer;justify-content:space-between;align-items:center;padding:12px 16px;list-style:none;display:flex}.mobile summary::-webkit-details-marker{display:none}.mobile summary .brand{margin:0}.mobile .menu{border:1px solid var(--line);border-radius:6px;padding:4px 10px;font-size:.9rem}.mobile nav{padding:0 16px 12px}.content{padding:16px}}.park{align-items:flex-end;gap:6px;margin:0 0 8px;display:flex}.park label{flex:1;margin:0;font-weight:400}.park select{padding:6px;font-size:.9rem}.codes{columns:2;padding:0;font-size:1.05rem;list-style:none}.codes li{padding:4px 0}.pill{background:#e7ece9;border-radius:10px;padding:1px 8px;font-size:.78rem;display:inline-block}.pill.warn{color:var(--warn);background:#fdf0d5}.pill.good{color:var(--good);background:#e3f3e8}.pill.bad{color:var(--bad);background:#f6e1df}.filters{flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0 12px;display:flex}.filters a.on{color:var(--ink);font-weight:700;text-decoration:none}.cards{gap:12px;display:grid}.card2{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:14px}.card2 h3{margin:0 0 6px;font-size:1rem}textarea{width:100%;font:inherit;border:1px solid var(--line);border-radius:6px;padding:8px}.num{text-align:right;white-space:nowrap}dl.kv{grid-template-columns:max-content 1fr;gap:4px 12px;margin:0;display:grid}dl.kv dt{color:var(--muted)}a.button{background:var(--brand);color:var(--brand-ink);border-radius:6px;padding:8px 14px;text-decoration:none;display:inline-block}.filters label{align-items:center;gap:4px;margin:0;font-weight:400;display:inline-flex}.filters label select{width:auto;margin:0;padding:6px}
