:root{font:15px/1.5 system-ui;color:#233747;background:#edf3f6;color-scheme:light}*{box-sizing:border-box}body{margin:0;padding:24px;min-height:100dvh}.shell{max-width:760px;margin:0 auto;background:#fff;border-radius:18px;padding:26px;box-shadow:0 8px 30px #223c5012}h1{font-size:25px;margin:0 0 4px}h2{font-size:18px}p{margin:10px 0}small,.muted{color:#687b87}.status{padding:12px;border-radius:10px;background:#e7f0f6;color:#2f6381;margin:18px 0}.status[data-status=connected]{background:#e0f3e8;color:#216a42}.status[data-status=closed]{background:#f5e8e5;color:#8b392d}button,.button{font:inherit;border:1px solid #b4d1df;background:#e4f1f8;color:#18668d;border-radius:9px;padding:10px 15px;cursor:pointer;text-decoration:none;display:inline-block}.primary{background:#177ba8;color:#fff;border-color:#177ba8}button:disabled{opacity:.5;cursor:default}.actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.notice{font-size:13px;color:#77632f;background:#fff7df;padding:10px;border-radius:9px}.accesses{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.accesses button{text-align:left;background:#f1f7fb;padding:15px}.accesses strong,.accesses small{display:block;overflow-wrap:anywhere}#qr{display:flex;justify-content:center;padding:12px}#qr img{max-width:100%;height:auto}#approval{background:#ecf6ed;border:1px solid #bed8c5;border-radius:12px;padding:15px}#log{min-height:24px;color:#626e7a;overflow-wrap:anywhere}footer{margin-top:24px;font-size:12px;color:#72818a}a{color:#176c96}[hidden]{display:none!important}@media(max-width:500px){body{padding:12px}.shell{padding:19px;border-radius:12px}.accesses{grid-template-columns:1fr}}
.file{display:block;margin:12px 0}.file input{display:block;width:100%;padding:12px;border:1px dashed #9db7c7;border-radius:12px;background:#f6fafc}.file span{display:none}.report{padding:12px;border-radius:10px;background:#f2f7ea;color:#35562b;margin:12px 0;font-size:14px}details{margin:14px 0}summary{cursor:pointer;color:#2f6381;padding:8px 0}section h2{margin-top:22px}
input[type=search],input:not([type]),#code{font:inherit;width:100%;padding:11px;border:1px solid #b4d1df;border-radius:9px;margin:8px 0}#code{font:700 22px/1.2 ui-monospace,Menlo,monospace;letter-spacing:2px;text-align:center;text-transform:uppercase}
label{display:block;margin:10px 0;font-weight:600;font-size:14px}label input,input[type=password],input[type=url]{display:block;font:inherit;font-weight:400;width:100%;padding:11px;border:1px solid #b4d1df;border-radius:9px;margin-top:5px}.link{border:0;background:none;color:#176c96;padding:4px 0;text-decoration:underline}
.keybox{margin:16px 0;padding:14px;border-radius:12px;background:#f6f9f8;border:1px solid #d9e7e2}.keybox p{margin:6px 0}.recovery{font:700 20px/1.3 ui-monospace,Menlo,monospace;letter-spacing:1px;text-align:center;background:#fff8dc;border:2px dashed #d9a400;border-radius:10px;padding:14px;margin:10px 0;color:#233747;overflow-wrap:anywhere;user-select:all}.targets{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:14px 0}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{padding:7px 13px;border-radius:999px;font-size:14px}.chip.on{background:#14574f;color:#fff;border-color:#14574f}.pcs{display:grid;gap:8px}.pc{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;background:#f1f4f6;border:2px solid #dde5ea;cursor:pointer;font-weight:400;margin:0}.pc input{width:22px;height:22px;flex:none;accent-color:#14574f;margin:0}.pc span{flex:1;min-width:0;overflow-wrap:anywhere}.pc span small{display:block;color:#687b87;font-size:12px}.pc .link{flex:none}.pc.ok{background:#e0f3e8;border-color:#bfe0cd}.pc.down{background:#f7ece9;border-color:#ecd0c9}.pc.down strong{color:#8b392d}.pc.sel{border-color:#14574f;box-shadow:0 0 0 1px #14574f inset}
.sheet{margin:16px 0;padding:16px;border-radius:14px;background:#f6f9f8;border:2px solid #14574f}.sheet h2{margin:0}.steps{display:grid;gap:10px;margin:14px 0}.step{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;padding:14px 16px;font-size:16px;background:#fff;border:1px solid #b4d1df;color:#18668d}.step small{color:#687b87;font-size:13px}.step.next{background:#14574f;border-color:#14574f;color:#fff}.step.next small{color:#d6ece6}.step.done{background:#e0f3e8;border-color:#bfe0cd;color:#216a42}.step.done b::after{content:" ✓"}.reveal{display:grid;grid-template-columns:auto 1fr;gap:8px 12px;align-items:center;padding:10px 0}.reveal code{font:600 18px/1.3 ui-monospace,Menlo,monospace;background:#fff;border:1px solid #d9e7e2;border-radius:8px;padding:8px 10px;overflow-wrap:anywhere;user-select:all}

dialog.sheet{position:fixed;inset:0;margin:auto;height:fit-content;width:min(520px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto;border:0;border-radius:18px;padding:20px;box-shadow:0 20px 60px #0b2a2a55}dialog.sheet::backdrop{background:#0b2a2a66}.pair{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0 6px}.big{padding:16px 10px;font-size:16px;font-weight:600}.big.done{background:#e0f3e8;border-color:#bfe0cd;color:#216a42}.big.done::after{content:" ✓"}#log{white-space:pre-line}
details.fold{margin:22px 0 8px}details.fold>summary{list-style:none;display:flex;align-items:center;gap:8px;padding:4px 0;color:#233747}details.fold>summary::-webkit-details-marker{display:none}details.fold>summary h2{margin:0;font-size:18px;font-weight:700}details.fold>summary::after{content:"▸";margin-left:auto;color:#687b87;font-size:22px;line-height:1;transition:transform .2s}details.fold[open]>summary::after{transform:rotate(90deg)}
.pwbox{margin:22px 0 8px;padding:14px 16px;border-radius:14px;border:2px solid #dde5ea}.pwbox h2{margin:0 0 4px}.pwbox.has{background:#e0f3e8;border-color:#bfe0cd}.pwbox.has h2{color:#216a42}.pwbox.none{background:#f7ece9;border-color:#ecd0c9}.pwbox.none h2{color:#8b392d}.pwbox .accesses button{background:#fff}
#log:empty{min-height:0;margin:0}

select{font:inherit;width:100%;padding:11px;margin:8px 0;border:1px solid #b4d1df;border-radius:9px;background:#fff;color:inherit}.checkline{display:flex;align-items:center;gap:10px;font-weight:500}.checkline input{width:20px;height:20px;margin:0;padding:0}.danger{color:#8b392d;border-color:#bd6258;background:#fff4f1}#capturePreview{background:#f3f8fa;color:inherit}#capturePreview h2{margin-top:0}
