:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f6f7f8;color:#17201b;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(180deg,rgba(64,110,91,.12),transparent 320px),#f6f7f8}button,input{font:inherit}button{cursor:pointer}.app-shell{width:min(1280px,calc(100vw - 32px));margin:0 auto;padding:32px 0 56px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px}.product-name{margin:0 0 6px;font-size:.92rem;font-weight:750;color:#2f6b4f}h1,h2,p{margin-top:0}h1{margin-bottom:0;font-size:clamp(2.2rem,4vw,4.6rem);line-height:.98;letter-spacing:0}h2{margin-bottom:8px;font-size:1.1rem;line-height:1.2}.muted{color:#607067;line-height:1.55}.icon-button,.primary-button,.secondary-button{border:1px solid #cbd8d0;background:#fff;color:#17201b;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 14px;font-weight:700}.icon-button{width:42px;padding:0}.primary-button{background:#1f7a56;border-color:#1f7a56;color:#fff}.secondary-button{background:#fff}.status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.status-card,.panel{background:#ffffffeb;border:1px solid #dce5df;border-radius:8px;box-shadow:0 20px 40px #212d260f}.status-card{min-height:112px;padding:16px}.status-card span{display:block;margin:12px 0 6px;color:#607067;font-size:.78rem;font-weight:700;text-transform:uppercase}.status-card strong{display:block;word-break:break-word}.status-card.good .status-icon{color:#1f7a56}.status-card.warn .status-icon{color:#a05f1b}.status-icon svg{width:22px;height:22px}.panel{margin-top:14px;padding:20px}.two-column{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.45fr);gap:18px;align-items:stretch}.access-box{border:1px dashed #abc1b5;border-radius:8px;padding:16px;background:#f8fbf9}.access-box.connected{border-style:solid;border-color:#b7d8c8;background:#f2fbf6}.access-box span{display:block;color:#607067;font-size:.78rem;font-weight:800;text-transform:uppercase}.access-box strong{display:block;margin:8px 0;font-size:1.35rem;letter-spacing:0}.access-box p{margin-bottom:0;color:#607067}.access-form{display:grid;gap:12px}.access-form label{display:grid;gap:6px}.access-form label span{color:#607067;font-size:.78rem;font-weight:800;text-transform:uppercase}.access-form small{display:inline-flex;align-items:center;gap:5px;color:#607067;font-size:.76rem;overflow-wrap:anywhere}.access-form input{min-height:40px;border:1px solid #cbd8d0;border-radius:8px;padding:0 12px;background:#fff}.access-form input:disabled{color:#8a958f;background:#f4f7f5}.form-error{margin:0;color:#9a321f;font-weight:700}.helper-card{display:grid;gap:9px;margin-top:14px;padding:12px;border:1px solid #dce5df;border-radius:8px;background:#f8fbf9}.helper-card p{margin:0;color:#607067;line-height:1.45}.helper-title{display:inline-flex;align-items:center;gap:8px;color:#2f6b4f;font-size:.78rem;font-weight:800;text-transform:uppercase}.helper-card code{display:block;padding:10px;border:1px solid #e1e9e4;border-radius:6px;background:#fff;color:#17201b;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.82rem;line-height:1.45;overflow-wrap:anywhere}.status-note{display:grid;gap:4px;padding:12px;border:1px solid #b7d8c8;border-radius:8px;background:#f2fbf6}.status-note p{margin:0;color:#607067}.status-note a{color:#1f7a56;font-weight:800}.recovery-details{display:grid;gap:12px;margin-top:4px;border-top:1px solid #e1e9e4;padding-top:12px}.recovery-details summary{color:#2f6b4f;cursor:pointer;font-weight:800}.recovery-details[open]{gap:12px}.password-setup{display:grid;gap:10px;margin-top:16px;padding:14px;border:1px solid #b7d8c8;border-radius:8px;background:#f2fbf6}.password-setup p{margin:0;color:#607067;line-height:1.45}.password-setup label{display:grid;gap:6px}.password-setup label span{color:#607067;font-size:.78rem;font-weight:800;text-transform:uppercase}.password-setup input{min-height:40px;border:1px solid #cbd8d0;border-radius:8px;padding:0 12px;background:#fff}.success-message{margin:0;color:#1f7a56;font-weight:800}.password-note{margin-top:16px}.locked-matrix{display:flex;gap:14px;align-items:start;padding:18px;border:1px solid #dce5df;border-radius:8px;background:#f8fbf9}.locked-matrix svg{color:#2f6b4f;flex:0 0 auto}.locked-matrix h3{margin:0 0 6px;font-size:1rem}.locked-matrix p{margin-bottom:10px;color:#607067;line-height:1.5}.locked-matrix span{display:inline-flex;padding:4px 8px;border-radius:999px;background:#eef2ef;color:#526158;font-size:.78rem;font-weight:800}.table-header{display:flex;justify-content:space-between;align-items:start;gap:18px;margin-bottom:16px}.search-form{display:flex;align-items:center;gap:8px;min-width:min(360px,100%);min-height:40px;padding:0 12px;border:1px solid #cbd8d0;border-radius:8px;background:#fff}.search-form input{width:100%;border:0;outline:0}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:1020px}th,td{padding:11px 10px;border-bottom:1px solid #e6ece8;text-align:left;white-space:nowrap}th{color:#607067;font-size:.78rem;text-transform:uppercase}th button{display:inline-flex;align-items:center;gap:6px;border:0;padding:0;background:transparent;color:inherit;font-size:inherit;font-weight:800;text-transform:inherit}.active-sort{color:#1f7a56}.mono{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.92rem}.confidence{display:inline-flex;min-width:64px;justify-content:center;padding:4px 8px;border-radius:999px;font-size:.78rem;font-weight:800;background:#eef2ef;color:#526158}.confidence.medium{background:#fff3dd;color:#8a5b1d}.confidence.higher{background:#e5f6ee;color:#1f7a56}.installations{display:grid;gap:10px}.installation{display:flex;gap:10px;align-items:start;padding:12px;border:1px solid #e1e9e4;border-radius:8px}.installation svg{color:#1f7a56}.installation span{display:block;margin-top:3px;color:#607067}@media(max-width:860px){.status-grid,.two-column{grid-template-columns:1fr}.table-header{display:block}.search-form{margin-top:14px}}
