:root{--bg: #f4f6f8;--surface: #ffffff;--line: #d9dee3;--text: #1c2a33;--muted: #5c6b76;--brand: #1f3a4d;--brand-ink: #ffffff;--accent: #2f7d8c;--danger: #b3261e;--ok: #1b6e3c;--radius: 6px;--font: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;color-scheme:light dark}@media(prefers-color-scheme:dark){:root{--bg: #14191d;--surface: #1d252b;--line: #34414a;--text: #e8edf0;--muted: #9aa8b2;--brand: #0f2230;--accent: #5fb3c2;--danger: #ef8a84;--ok: #6fcf97}}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.5 var(--font)}h1{font-size:1.5rem;margin:0 0 1rem}h2{font-size:1.1rem;margin:0 0 .75rem}h3{font-size:1rem;margin:0 0 .5rem}a{color:var(--accent)}code,pre{font-family:ui-monospace,Menlo,Consolas,monospace}pre{background:var(--bg);padding:.75rem;border-radius:var(--radius);-webkit-user-select:all;user-select:all}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.shell{min-height:100%;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap;padding:.6rem 1rem;padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right));background:var(--brand);color:var(--brand-ink)}.brand{font-weight:700;letter-spacing:.02em}.topbar nav{display:flex;gap:.25rem;flex:1;flex-wrap:wrap}.topbar a{color:inherit;text-decoration:none;padding:.35rem .7rem;border-radius:var(--radius);opacity:.85}.topbar a:hover{opacity:1;background:#ffffff1a}.topbar a.active{opacity:1;background:#ffffff2e}.topbar-end{display:flex;align-items:center;gap:.75rem}.topbar .link{color:inherit;opacity:.85}main{padding:1.25rem 1rem 3rem;width:100%;max-width:1100px;margin:0 auto}.narrow{max-width:560px}label{display:block;margin-bottom:.85rem;font-size:.9rem;color:var(--muted)}input,select,textarea{display:block;width:100%;margin-top:.25rem;padding:.55rem .65rem;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}input:disabled{opacity:.6}input:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.lang select{width:auto;margin:0;padding:.3rem .5rem;font-size:.85rem}.toolbar{display:flex;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap}.toolbar input{margin:0;flex:2 1 220px}.toolbar select{margin:0;flex:1 1 180px;width:auto}button{font:inherit;cursor:pointer;padding:.5rem .9rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--text)}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.55;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.danger{color:var(--danger)}button.link{border:0;background:none;padding:0;color:var(--accent);text-decoration:underline}button.link.danger{color:var(--danger)}.actions{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.actions.end{justify-content:flex-end}.right{text-align:right}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.1rem;margin-bottom:1rem}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:0 1rem}.grid h2,.grid .actions{grid-column:1 / -1}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--line)}th,td{text-align:left;padding:.55rem .7rem;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}caption{text-align:left;padding:.4rem .7rem;font-size:.85rem;color:var(--muted)}table.compact th,table.compact td{padding:.3rem .45rem;text-align:right;font-size:.85rem}table.compact tbody th{text-transform:none}table.compact th:first-child,table.compact td:first-child{text-align:left}tr.waiting{background:color-mix(in srgb,var(--accent) 10%,transparent)}.list{list-style:none;padding:0;margin:0 0 1rem}.list .card{padding:0;margin-bottom:.5rem}.list .row{display:flex;justify-content:space-between;gap:1rem;width:100%;border:0;background:none;padding:.8rem 1.1rem;text-align:left}.detail{padding:0 1.1rem 1rem}.badges{display:flex;gap:.35rem;margin-top:.25rem}.badge{font-size:.72rem;padding:.05rem .45rem;border-radius:99px;border:1px solid var(--line);color:var(--muted)}.muted{color:var(--muted)}.error{color:var(--danger)}.ok{color:var(--ok)}.recovery pre{white-space:pre-wrap;font-size:1rem}.qr svg{width:260px;max-width:100%;height:auto;display:block}.center-note{min-height:100%;display:grid;place-items:center;color:var(--muted)}.gate{min-height:100%;display:grid;place-items:center;padding:1.5rem 1rem;position:relative}.gate-card{width:100%;max-width:400px;margin:0}.gate-card h1{text-align:center;color:var(--brand)}@media(prefers-color-scheme:dark){.gate-card h1{color:var(--text)}}.gate-card button.primary{width:100%;margin-top:.25rem}.gate-lang{position:absolute;top:.75rem;right:.75rem}@media(max-width:640px){.topbar{gap:.5rem}.topbar-end{width:100%;justify-content:space-between}}.detail .card{margin-bottom:1.25rem}.grid .wide{grid-column:1 / -1}textarea{resize:vertical}label.check{display:flex;align-items:center;gap:.6rem;color:var(--text);font-size:1rem}label.check input{width:auto;margin:0}fieldset.times{border:1px solid var(--line);border-radius:var(--radius);margin:0 0 1rem;padding:.6rem .8rem .2rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:0 .75rem}fieldset.times legend{padding:0 .4rem;color:var(--muted);font-size:.85rem}input.cell{width:5.5rem;margin:0;padding:.3rem .45rem;text-align:right}table.positions td{vertical-align:middle}.add-line{margin-top:1.25rem;border-top:1px solid var(--line);padding-top:1rem}dl.facts{display:flex;flex-wrap:wrap;gap:1.5rem;margin:0 0 1rem}dl.facts div{min-width:7rem}dl.facts dt{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}dl.facts dd{margin:.1rem 0 0;font-size:1.35rem;font-weight:600}table.compact tfoot th,table.compact tfoot td{font-weight:600;border-top:2px solid var(--line)}table.bands td,table.lines td{font-variant-numeric:tabular-nums}ul.problems{margin:0;padding-left:1.2rem}.tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--line);margin-bottom:1.25rem}.tab{border:0;border-bottom:3px solid transparent;border-radius:0;background:none;padding:.55rem 1rem;color:var(--muted)}.tab.active{color:var(--text);border-bottom-color:var(--accent);font-weight:600}.temp-password{border-color:var(--accent)}.temp-value code{font-size:1.25rem;font-weight:600;-webkit-user-select:all;user-select:all}.bulk h3{margin-top:0}.bulk .toolbar{margin-bottom:.5rem}table.access td{vertical-align:top}ul.members{list-style:none;margin:0 0 .4rem;padding:0}ul.members li{display:flex;align-items:center;gap:.6rem;margin-bottom:.3rem}ul.members select,table.access select{width:auto;margin:0;padding:.3rem .45rem;font-size:.9rem}fieldset.plain{border:0;margin:0;padding:0;min-width:0}fieldset.plain:disabled button[type=submit],fieldset.plain:disabled .add-line,fieldset.plain:disabled button.link{display:none}.danger-card{border-color:var(--danger)}.danger-card h2{color:var(--danger)}fieldset.decision{border:1px solid var(--line);border-radius:var(--radius);margin:0 0 1rem;padding:.6rem .9rem .8rem}fieldset.decision legend{padding:0 .4rem;font-weight:600}fieldset.decision label.check{margin:.35rem 0}fieldset.decision select{margin:.2rem 0 .6rem 1.7rem;width:auto}button.danger-solid{background:var(--danger);border-color:var(--danger);color:#fff}.small{font-size:.8rem}
