:root{--bg: #0f172a;--panel: #1e293b;--border: #334155;--text: #e2e8f0;--muted: #94a3b8;--accent: #0066CC;--danger: #ef4444;--on: #22c55e;color-scheme:dark}*{box-sizing:border-box}html{min-height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px}#root{min-height:100dvh}.wrap{max-width:1000px;margin:0 auto;padding:clamp(1rem,4vw,1.5rem);width:100%}header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}h1{font-size:1.4rem;margin:0}.brand{display:flex;align-items:center;gap:.6rem}.brand-mark{width:28px;height:28px;flex:none}.muted{color:var(--muted)}.error{background:#ef44441f;border:1px solid var(--danger);color:#fecaca;padding:.6rem .8rem;border-radius:8px;margin-bottom:1rem}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.6rem .7rem;border-bottom:1px solid var(--border);vertical-align:middle}th{color:var(--muted);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.03em}tr.inactive td{opacity:.55}td.target{max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}td.actions{white-space:nowrap;text-align:right}td.actions button{margin-left:.35rem}a{color:var(--accent);overflow-wrap:anywhere}.badge{display:inline-block;padding:.1rem .5rem;border-radius:999px;font-size:.75rem;font-weight:600}.badge.on{background:#22c55e26;color:var(--on)}.badge.off{background:#94a3b826;color:var(--muted)}button{background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:7px;padding:.35rem .7rem;font-size:.85rem;cursor:pointer;min-height:2.25rem;touch-action:manipulation}button:hover{border-color:var(--muted)}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.danger{color:#fca5a5}button:disabled{opacity:.5;cursor:default}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:grid;place-items:center;padding:1rem;overflow-y:auto}.modal{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:1.25rem;width:100%;max-width:30rem;max-height:calc(100dvh - 2rem);overflow-y:auto}.modal h2{margin:0 0 1rem;font-size:1.1rem}.modal label{display:block;margin-bottom:.85rem;color:var(--muted);font-size:.85rem}.modal label.checkbox{display:flex;align-items:center;gap:.5rem;color:var(--text)}.modal input[type=text],.modal input[type=url]{display:block;width:100%;margin-top:.3rem;padding:.5rem .6rem;background:var(--bg);border:1px solid var(--border);border-radius:7px;color:var(--text);font-size:.9rem}.modal-actions{display:flex;justify-content:flex-end;gap:.25rem;margin-top:1rem}img.qr{display:block;width:min(256px,100%);aspect-ratio:1;height:auto;background:#fff;border-radius:8px;margin:.5rem auto}@media (max-width: 700px){.wrap{padding:1rem}header{align-items:stretch;flex-direction:column}h1{font-size:1.25rem}header .primary{width:100%}table,thead,tbody,tr,th,td{display:block}table{border-collapse:separate}thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}tbody{display:grid;gap:.9rem}tr{background:#1e293b8c;border:1px solid var(--border);border-radius:12px;padding:.75rem}th,td{border-bottom:0;padding:.35rem 0}td{display:grid;grid-template-columns:minmax(5.5rem,35%) 1fr;gap:.75rem;align-items:start}td:before{content:attr(data-label);color:var(--muted);font-size:.75rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase}td.target{max-width:none;overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:anywhere}td.actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;padding-top:.7rem;text-align:initial;white-space:normal}td.actions:before{content:none}td.actions button{margin-left:0;width:100%}.overlay{padding:.75rem}.modal{max-height:calc(100dvh - 1.5rem);max-width:none;padding:1rem}.modal-actions{display:grid;gap:.5rem}.modal-actions button{width:100%}}
