:root{--bg:#f5f7f6;--surface:#fff;--surface-2:#edf1ef;--line:#dce3e0;--line-strong:#c4cfca;--fg:#15201b;--muted:#56655e;--faint:#86948d;--accent:#0d6a73;--accent-soft:#dff0f1;--accent-fg:#fff;--ok:#21844d;--ok-soft:#e1f3e8;--warn:#a96f06;--warn-soft:#fbf0d8;--crit:#c43b31;--crit-soft:#fbe3e0;--info:#3c6fb0;--info-soft:#e4edf8;--shadow:0 1px 2px #12201a0f, 0 6px 20px #12201a12;--shadow-pop:0 18px 60px #0a141038;--font:"PingFang SC", "Noto Sans SC", "Microsoft YaHei", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--r:10px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#0e1311;--surface:#151c19;--surface-2:#1c2521;--line:#27322d;--line-strong:#36433d;--fg:#e4ebe7;--muted:#9caaa3;--faint:#6c7a73;--accent:#55b8c1;--accent-soft:#143236;--accent-fg:#06201f;--ok:#4fc283;--ok-soft:#14301f;--warn:#e2aa3e;--warn-soft:#352a11;--crit:#f0695d;--crit-soft:#3b1b18;--info:#7fa9e3;--info-soft:#18263a;--shadow:0 1px 2px #0000004d, 0 6px 20px #00000040;--shadow-pop:0 18px 60px #0000008c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--fg);font:14px/1.5 var(--font);-webkit-font-smoothing:antialiased;margin:0}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}button:disabled{cursor:default;opacity:.55}:is(button,input,select,textarea,a):focus-visible{outline:2px solid var(--accent);outline-offset:2px}a{color:var(--accent)}input,select,textarea{font:inherit;color:var(--fg);background:var(--surface);border:1px solid var(--line-strong);border-radius:8px;width:100%;padding:9px 11px}input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.mono{font-family:var(--mono);font-size:12.5px}.num{font-variant-numeric:tabular-nums}.wrap{padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px))}.btn{border:1px solid var(--line-strong);background:var(--surface);white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:8px 14px;font-weight:500;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-2)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.btn.primary:hover:not(:disabled){filter:brightness(1.08);background:var(--accent)}.btn.block{width:100%;padding:11px 14px}.btn.ghost{color:var(--muted);border-color:#0000}.btn.sm{padding:4px 9px;font-size:12.5px}.link{color:var(--accent);font-weight:500}.auth{min-height:100%;padding:max(24px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));place-items:center;display:grid}.auth-card{background:var(--surface);border:1px solid var(--line);width:min(440px,100%);box-shadow:var(--shadow);border-radius:14px;flex-direction:column;gap:18px;padding:28px;display:flex}.brand{letter-spacing:-.01em;align-items:center;gap:9px;font-weight:650;display:flex}.brand-mark{background:var(--fg);width:26px;height:26px;color:var(--bg);border-radius:7px;place-items:center;font-size:13px;font-weight:700;display:grid}.auth h1{letter-spacing:-.015em;text-wrap:balance;margin:0;font-size:21px}.auth .sub{color:var(--muted);margin:4px 0 0}.field{flex-direction:column;gap:6px;display:flex}.field label{font-size:13px;font-weight:550}.field .hint{color:var(--faint);font-size:12px}.meter{background:var(--surface-2);border-radius:2px;height:4px;overflow:hidden}.meter>i{border-radius:2px;height:100%;transition:width .2s;display:block}.error{background:var(--crit-soft);color:var(--crit);border-radius:8px;padding:9px 12px;font-size:13px}.step{color:var(--muted);align-items:center;gap:10px;font-size:13px;display:flex}.spinner{border:2px solid var(--line-strong);border-top-color:var(--accent);border-radius:50%;flex:none;width:16px;height:16px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.recovery{font-family:var(--mono);letter-spacing:.04em;text-align:center;border:1px dashed var(--line-strong);background:var(--surface-2);-webkit-user-select:all;user-select:all;word-break:break-all;border-radius:10px;padding:16px;font-size:19px}.check{align-items:flex-start;gap:9px;font-size:13.5px;display:flex}.check input{width:auto;margin-top:3px}.row{flex-wrap:wrap;gap:8px;display:flex}.divider{color:var(--faint);align-items:center;gap:10px;font-size:12px;display:flex}.divider:before,.divider:after{content:"";background:var(--line);flex:1;height:1px}.top{top:env(safe-area-inset-top,0px);z-index:20;background:var(--surface);border-bottom:1px solid var(--line);position:sticky}.top-in{flex-wrap:wrap;align-items:center;gap:14px;padding-block:8px;display:flex}.nav{gap:2px;display:flex}.nav button{color:var(--muted);border-radius:7px;align-items:center;gap:6px;padding:6px 11px;font-size:13.5px;display:flex}.nav button:hover{background:var(--surface-2)}.nav button[aria-current=page]{background:var(--surface-2);color:var(--fg);font-weight:600}.top .spacer{flex:1}.lockstate{color:var(--ok);align-items:center;gap:6px;font-size:12.5px;display:inline-flex}.dot{border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}main.page{padding-block:24px 60px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px;display:flex}.page-head h1{letter-spacing:-.015em;margin:0;font-size:22px}.page-head p{color:var(--muted);margin:2px 0 0;font-size:13px}.empty{border:1px dashed var(--line-strong);border-radius:var(--r);text-align:center;color:var(--muted);justify-items:center;gap:10px;padding:40px 24px;display:grid}.empty b{color:var(--fg);font-size:15px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.faint{color:var(--faint)}.kbd{font-family:var(--mono);border:1px solid var(--line-strong);color:var(--muted);background:var(--surface);border-bottom-width:2px;border-radius:4px;padding:0 5px;font-size:11px}.search-btn{border:1px solid var(--line);background:var(--surface-2);max-width:420px;color:var(--muted);text-align:left;border-radius:8px;flex:220px;align-items:center;gap:8px;padding:6px 10px;font-size:13px;display:flex}.search-btn:hover{border-color:var(--line-strong)}.lockstate{color:var(--muted)}.st-ok{background:var(--ok)}.st-warn{background:var(--warn)}.st-crit{background:var(--crit)}.st-info{background:var(--info)}.st-none{background:var(--faint)}.svc-badge{color:#fff;border-radius:6px;flex:none;place-items:center;font-weight:700;line-height:1;display:inline-grid}.pill{background:var(--surface-2);color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:4px 7px;font-size:11.5px;line-height:1;display:inline-flex}.pill.live{background:var(--crit-soft);color:var(--crit)}.pill.test{background:var(--info-soft);color:var(--info)}.pill.ok{background:var(--ok-soft);color:var(--ok)}.pill.warn{background:var(--warn-soft);color:var(--warn)}.pill.crit{background:var(--crit-soft);color:var(--crit)}.pill.none{background:var(--surface-2);color:var(--muted)}.label{letter-spacing:.06em;text-transform:uppercase;color:var(--faint);font-size:11px;font-weight:550}.sub{color:var(--muted);margin:2px 0 0;font-size:13px}.hint{color:var(--faint);font-size:12px}.creds{grid-template-columns:330px minmax(0,1fr);align-items:start;gap:16px;display:grid}.tree{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);top:calc(env(safe-area-inset-top,0px) + 64px);flex-direction:column;max-height:calc(100vh - 100px);display:flex;position:sticky;overflow:hidden}.tree-tools{border-bottom:1px solid var(--line);gap:8px;padding:10px;display:flex}.tree-tools input{background:var(--surface-2);flex:1;min-width:0;padding:6px 9px;font-size:13px}.tree-tools select{width:auto;padding:6px 8px;font-size:13px}.tree-body{padding:6px 0 10px;overflow-y:auto}.t-cat{padding:10px 12px 4px}.t-row{text-align:left;align-items:center;gap:8px;width:100%;min-width:0;padding:5px 12px;font-size:13px;display:flex}.t-row:hover{background:var(--surface-2)}.t-row[aria-current=true]{background:var(--accent-soft)}.t-row .t{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.t-row small{color:var(--faint);font-size:11.5px}.t-svc{font-weight:600}.t-acc{color:var(--muted);padding-left:24px}.t-cred{padding-left:40px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);flex-direction:column;gap:16px;min-width:0;padding:18px;display:flex}.det-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.det-head h2{letter-spacing:-.01em;margin:2px 0 4px;font-size:19px}.fields{flex-direction:column;gap:8px;display:flex}.field-card{border:1px solid var(--line);border-radius:8px;padding:9px 11px}.field-main{align-items:center;gap:8px;min-width:0;display:flex}.field-card .name{color:var(--faint);font-size:11.5px;display:block}.field-card .val{font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;display:block;overflow:hidden}.history{border-top:1px dashed var(--line);gap:6px;margin-top:8px;padding-top:8px;display:grid}.hist-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.section-title{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:8px;display:flex}.section-title h4{margin:0;font-size:13.5px}.list{border:1px solid var(--line);border-radius:8px;flex-direction:column;display:flex;overflow:hidden}.list-row{border-bottom:1px solid var(--line);text-align:left;align-items:center;gap:9px;padding:9px 11px;font-size:13.5px;display:flex}.list-row:last-child{border-bottom:0}.list-row:hover{background:var(--surface-2)}.list-row .t{flex:1;min-width:0}.modal-back{z-index:50;padding:calc(env(safe-area-inset-top,0px) + 6vh) max(16px, env(safe-area-inset-right,0px)) 24px max(16px, env(safe-area-inset-left,0px));background:#080e0c66;justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--surface);border:1px solid var(--line);width:min(520px,100%);box-shadow:var(--shadow-pop);border-radius:14px;flex-direction:column;gap:14px;padding:20px;display:flex}.modal.wide{width:min(760px,100%)}.modal-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.modal-head h2{margin:0;font-size:17px}.form{flex-direction:column;gap:14px;display:flex}fieldset.field{border:0;margin:0;padding:0}fieldset.field legend{margin-bottom:6px;font-size:13px;font-weight:550}.grid2{grid-template-columns:1fr 1fr;gap:8px;display:grid}.matrix-wrap{border:1px solid var(--line);border-radius:8px;overflow-x:auto}.matrix{border-collapse:collapse;width:100%;min-width:460px;font-size:12.5px}.matrix th,.matrix td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;padding:7px 10px}.matrix th{color:var(--muted);background:var(--surface-2);font-size:12px;font-weight:550}.matrix tr:last-child td{border-bottom:0}.matrix .group-row td{background:var(--bg)}.pal-back{z-index:60;padding:calc(env(safe-area-inset-top,0px) + 9vh) max(16px, env(safe-area-inset-right,0px)) 16px max(16px, env(safe-area-inset-left,0px));background:#080e0c66;justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0}.pal{background:var(--surface);border:1px solid var(--line);width:min(680px,100%);box-shadow:var(--shadow-pop);border-radius:14px;flex-direction:column;max-height:78vh;display:flex;overflow:hidden}.pal textarea{font:inherit;border:0;border-bottom:1px solid var(--line);box-shadow:none;color:var(--fg);resize:none;background:0 0;border-radius:0;outline:0;padding:16px 18px 12px;font-size:15.5px}.pal textarea:focus{box-shadow:none}.pal-note{color:var(--muted);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:6px;padding:8px 18px;font-size:12.5px;display:flex}.pal-body{padding:6px;overflow-y:auto}.pal-item{text-align:left;border-radius:8px;align-items:center;gap:10px;width:100%;min-width:0;padding:8px 10px;font-size:13.5px;display:flex}.pal-item.hl{background:var(--surface-2)}.pal-item .t{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.pal-item small{color:var(--faint);white-space:nowrap;font-size:12px}.pal-foot{border-top:1px solid var(--line);color:var(--faint);align-items:center;gap:6px;padding:7px 14px;font-size:11.5px;display:flex}.toasts{left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 22px);z-index:90;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;transform:translate(-50%)}.toast{background:var(--fg);color:var(--bg);box-shadow:var(--shadow-pop);border-radius:8px;max-width:min(560px,100vw - 32px);padding:8px 14px;font-size:13px}.toast.error{background:var(--crit);color:#fff}@media (width<=900px){.creds{grid-template-columns:1fr}.tree{max-height:none;position:static}.tree-body{max-height:340px}.grid2{grid-template-columns:1fr}}.nav .count{background:var(--crit);color:#fff;border-radius:999px;padding:0 6px;font-size:11px;font-weight:600;line-height:17px}.verify-box{border:1px solid var(--line);background:var(--bg);border-radius:8px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.verify-msg{border-radius:6px;padding:7px 10px;font-size:13px}.verify-msg.invalid{background:var(--crit-soft);color:var(--crit)}.verify-msg.unknown{background:var(--warn-soft);color:var(--warn)}.verify-msg.valid{background:var(--ok-soft);color:var(--ok)}.inbox{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:start;gap:16px;display:grid}.inbox-list{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}.inbox-group{padding:10px 14px 4px}.inbox-row{text-align:left;border-top:1px solid var(--line);align-items:center;gap:10px;width:100%;min-width:0;padding:10px 14px;display:flex}.inbox-row:hover{background:var(--surface-2)}.inbox-row[aria-current=true]{background:var(--accent-soft)}.inbox-row .txt{flex:1;min-width:0}.inbox-row .txt b{text-overflow:ellipsis;white-space:nowrap;font-weight:550;display:block;overflow:hidden}.inbox-row .txt small{color:var(--faint);font-size:12px}@media (width<=900px){.inbox{grid-template-columns:1fr}}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;display:flex}.views{flex-wrap:wrap;gap:4px;display:flex}.views button{color:var(--muted);border-radius:7px;padding:5px 10px;font-size:13px}.views button:hover{background:var(--surface-2)}.views button[aria-pressed=true]{background:var(--fg);color:var(--bg);font-weight:550}.tool-right{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;font-size:13px;display:flex}.tool-right select{width:auto;padding:5px 8px;font-size:13px}.active-filters{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:12px;display:flex}.fchip{border:1px solid var(--line-strong);background:var(--surface);border-radius:7px;align-items:center;gap:6px;padding:3px 4px 3px 9px;font-size:12.5px;display:inline-flex}.fchip span{color:var(--muted)}.fchip button{width:20px;height:20px;color:var(--muted);border-radius:5px}.facet-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:14px;padding:14px;display:grid}.facet h5{color:var(--faint);margin:0 0 6px;font-size:12px;font-weight:550}.fopt{text-align:left;border-radius:6px;align-items:center;gap:8px;width:100%;padding:4px 6px;font-size:13px;display:flex}.fopt:hover:not(:disabled){background:var(--surface-2)}.fopt .box{border:1.5px solid var(--line-strong);width:14px;height:14px;color:var(--accent-fg);border-radius:4px;flex:none;place-items:center;font-size:10px;display:grid}.fopt[aria-pressed=true] .box{background:var(--accent);border-color:var(--accent)}.fopt .n{color:var(--faint);margin-left:auto;font-size:12px}.health{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);margin-bottom:18px;overflow:hidden}.health.has-crit{border-color:color-mix(in srgb, var(--crit) 35%, var(--line))}.health-bar{flex-wrap:wrap;align-items:center;gap:6px;padding:10px 12px;display:flex}.health-bar .title{margin-right:6px;font-weight:600}.sevbtn{color:var(--muted);border-radius:7px;align-items:center;gap:7px;padding:4px 9px;font-size:13px;display:inline-flex}.sevbtn:hover{background:var(--surface-2)}.sevbtn b{color:var(--fg)}.sevbtn[aria-pressed=true]{background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line-strong)}.health-bar .more{color:var(--accent);margin-left:auto;font-size:13px;font-weight:550}.health-list{border-top:1px solid var(--line)}.hrow{border-bottom:1px solid var(--line);grid-template-columns:auto 48px minmax(0,1fr) auto;align-items:center;gap:12px;padding:9px 12px;display:grid}.hrow:last-child{border-bottom:0}.hrow .sev{background:var(--crit);border-radius:2px;align-self:stretch;width:3px}.hrow .txt{min-width:0}.hrow .txt b{text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:600;display:block;overflow:hidden}.hrow .txt small{color:var(--muted);font-size:12px;display:block}.allgood{color:var(--ok);align-items:center;gap:8px;font-weight:600;display:flex}.grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px;display:grid}.group-title{border-bottom:1px solid var(--line);grid-column:1/-1;align-items:baseline;gap:8px;margin-top:8px;padding-bottom:2px;display:flex}.card{text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);flex-direction:column;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex;overflow:hidden}.card:hover{border-color:var(--line-strong);box-shadow:var(--shadow);transform:translateY(-1px)}.shotbox{border-bottom:1px solid var(--line);position:relative}.thumb{aspect-ratio:16/10;object-fit:cover;object-position:top;background:var(--surface-2);width:100%;display:block}.thumb-missing{text-align:center;color:var(--muted);background:repeating-linear-gradient(135deg, var(--surface-2) 0 10px, var(--bg) 10px 20px);place-items:center;font-size:12px;display:grid}.mini{object-fit:cover;object-position:top;border:1px solid var(--line);border-radius:4px;width:48px;height:30px;font-size:0;display:block}.mini.noimg{background:repeating-linear-gradient(135deg, var(--surface-2) 0 5px, var(--bg) 5px 10px)}.shot-age{color:#fff;background:#0c1210b8;border-radius:5px;padding:2px 6px;font-size:11px;position:absolute;bottom:8px;right:8px}.card-body{flex-direction:column;gap:8px;padding:11px 13px 13px;display:flex}.card-title{align-items:center;gap:8px;min-width:0;display:flex}.card-title b{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:600;overflow:hidden}.card-title .pill{margin-left:auto}.card-sub{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;margin-top:-4px;font-size:12.5px;display:flex}.tag{border:1px solid var(--line);color:var(--muted);border-radius:5px;padding:0 5px;font-size:11px}.metrics{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.metric .k{color:var(--faint);font-size:10.5px}.metric .v{font-size:13.5px;font-weight:600}.metric .v.bad{color:var(--crit)}.card-issue{border-radius:7px;align-items:center;gap:7px;padding:6px 8px;font-size:12.5px;display:flex}.card-issue.crit{background:var(--crit-soft);color:var(--crit)}.card-issue.warn{background:var(--warn-soft);color:var(--warn)}.card-issue.info{background:var(--info-soft);color:var(--info)}.drawer-back{z-index:40;background:#080e0c52;position:fixed;inset:0}.drawer{background:var(--bg);width:min(600px,100%);box-shadow:var(--shadow-pop);padding:calc(env(safe-area-inset-top,0px) + 18px) max(18px, env(safe-area-inset-right,0px)) calc(env(safe-area-inset-bottom,0px) + 40px) 18px;flex-direction:column;gap:16px;animation:.2s ease-out slide;display:flex;position:fixed;top:0;bottom:0;right:0;overflow-y:auto}@keyframes slide{0%{opacity:.4;transform:translate(24px)}to{opacity:1;transform:none}}.hero{border-radius:var(--r);border:1px solid var(--line);position:relative;overflow:hidden}.hero-btn{box-shadow:var(--shadow);position:absolute;bottom:10px;right:10px}.tabs{border-bottom:1px solid var(--line);gap:2px;display:flex;overflow-x:auto}.tabs button{color:var(--muted);white-space:nowrap;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 12px;font-size:13px}.tabs button[aria-selected=true]{color:var(--fg);border-color:var(--fg);font-weight:600}.sev-banner{border-radius:8px;align-items:flex-start;gap:10px;padding:10px 12px;font-size:13.5px;display:flex}.sev-banner .dot{margin-top:6px}.sev-banner.crit{background:var(--crit-soft)}.sev-banner.warn{background:var(--warn-soft)}.sev-banner.info{background:var(--info-soft)}.facts{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;display:grid}.fact{background:var(--surface-2);border-radius:8px;flex-direction:column;padding:9px 11px;display:flex}.fact .k{color:var(--faint);font-size:11px}.fact .v{font-size:15px;font-weight:620}.fact .v.bad{color:var(--crit)}.kvlist{grid-template-columns:max-content 1fr;gap:6px 14px;margin:0;font-size:13px;display:grid}.kvlist dt{color:var(--faint)}.kvlist dd{overflow-wrap:anywhere;min-width:0;margin:0}.cell{border-radius:6px;align-items:center;gap:6px;max-width:100%;padding:2px 4px 2px 7px;display:inline-flex}.cell.warn{background:var(--warn-soft);color:var(--warn)}.cell.crit{background:var(--crit-soft);color:var(--crit)}.cell.none{color:var(--faint)}.cell.plain{background:var(--surface-2);font-family:var(--mono);font-size:12px}.cell .x{width:18px;height:18px;color:var(--muted);border-radius:4px}.cell .x:hover{background:var(--line)}.danger{border:1px solid color-mix(in srgb, var(--crit) 30%, var(--line));border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.notice{background:var(--info-soft);border-radius:8px;padding:9px 12px;font-size:13px}textarea{font:inherit;color:var(--fg);background:var(--surface);border:1px solid var(--line-strong);border-radius:8px;width:100%;padding:9px 11px}@media (width<=480px){.metrics{grid-template-columns:repeat(2,1fr)}.hrow{grid-template-columns:auto minmax(0,1fr) auto}.hrow .mini{display:none}}.graph-wrap{border:1px solid var(--line);border-radius:var(--r);background:var(--bg);padding:4px;overflow-x:auto}.graph-wrap svg{min-width:520px;display:block}.graph-wrap .h{fill:var(--faint);letter-spacing:.04em;font-size:11px}.gnode rect{fill:var(--surface);stroke:var(--line-strong)}.gnode rect.focus{fill:var(--accent-soft);stroke:var(--accent)}.gnode rect.bad{fill:var(--crit-soft);stroke:var(--crit)}.gnode.click{cursor:pointer}.gnode.click:hover rect,.gnode.click:focus rect{stroke:var(--accent)}.gnode:focus{outline:none}.gnode .t{fill:var(--fg);font-size:12.5px;font-weight:550}.gnode .s{fill:var(--faint);font-size:11px;font-family:var(--mono)}.edge{fill:none;stroke:var(--line-strong);stroke-width:1.4px}.edge.bad{stroke:var(--crit);stroke-dasharray:4 3}.graph-empty{color:var(--muted);border:1px dashed var(--line-strong);border-radius:8px;padding:12px;font-size:13px}.op-steps{border:1px solid var(--line);border-radius:8px;flex-direction:column;margin:0;padding:0;list-style:none;display:flex;overflow:hidden}.op-step{border-bottom:1px solid var(--line);gap:10px;padding:9px 12px;font-size:13.5px;display:flex}.op-step:last-child{border-bottom:0}.op-step .ic{text-align:center;width:18px;color:var(--faint);flex:none}.op-step.done .ic{color:var(--ok)}.op-step.failed .ic{color:var(--crit)}.op-step.active{background:var(--accent-soft)}.op-step .body{flex:1;min-width:0}.hint.bad{color:var(--crit)}.sync-hint{background:var(--warn-soft);color:var(--warn);border-radius:7px;align-items:center;gap:10px;margin-top:8px;padding:7px 10px;font-size:13px;display:flex}.sync-hint span{flex:1}.settings{grid-template-columns:repeat(auto-fit,minmax(420px,1fr));align-items:start;gap:16px;display:grid}@media (width<=480px){.settings{grid-template-columns:1fr}}.avatar{background:var(--surface-2);width:26px;height:26px;color:var(--muted);border-radius:50%;flex:none;place-items:center;font-size:11.5px;font-weight:650;display:inline-grid}.preview-back{z-index:70;background:var(--bg);position:fixed;inset:0;overflow-y:auto}.preview-bar{z-index:2;background:var(--info-soft);border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-block:10px;font-size:13px;display:flex;position:sticky;top:0}.notice.warn{background:var(--warn-soft)}.asbar{background:var(--info-soft);border-bottom:1px solid var(--line);font-size:13px}.asbar .wrap{padding-block:8px}.seg{background:var(--surface-2);border-radius:8px;align-self:flex-start;gap:2px;padding:2px;display:inline-flex}.seg button{color:var(--muted);border-radius:6px;padding:4px 10px;font-size:12.5px}.seg button[aria-checked=true]{background:var(--surface);color:var(--fg);font-weight:600;box-shadow:0 1px 2px #00000014}.data-tab{flex-direction:column;gap:14px;display:flex}.dgroup{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);flex-direction:column;gap:10px;padding:14px;display:flex}.dgroup h4{margin:0;font-size:13.5px}.dgroup.empty-group{background:0 0;border-style:dashed;flex-flow:wrap;justify-content:space-between;align-items:baseline;gap:10px;padding:10px 14px}.tiles{grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:8px;display:grid}.tile{text-align:left;border:1px solid var(--line);background:var(--surface);border-radius:8px;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 10px;display:flex}.tile:hover:not(:disabled){border-color:var(--line-strong)}.tile[aria-selected=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.tile .k{color:var(--faint);font-size:11.5px}.tile .v{letter-spacing:-.01em;font-size:18px;font-weight:650}.tile .d{align-items:center;gap:6px;min-height:18px;display:flex}.delta{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.delta.good{color:var(--ok)}.delta.bad{color:var(--crit)}.chart{position:relative}.chart svg{width:100%;height:auto;display:block;overflow:visible}.chart .grid{stroke:var(--line);stroke-width:1px}.chart .tick{fill:var(--faint);font-variant-numeric:tabular-nums;font-size:11px}.chart .line{fill:none;stroke:var(--accent);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.chart .pt{fill:var(--accent);stroke:var(--surface);stroke-width:2px}.chart .cross{stroke:var(--line-strong);stroke-width:1px}.chart .tip{pointer-events:none;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);white-space:nowrap;border-radius:7px;align-items:baseline;gap:8px;padding:4px 8px;font-size:12.5px;display:flex;position:absolute;top:0}.spark{vertical-align:middle;display:inline-block}.spark path{fill:none;stroke:var(--accent);stroke-width:1.5px;stroke-linejoin:round}.spark circle{fill:var(--accent)}.spark-none{width:84px;display:inline-block}.top-table{flex-direction:column;gap:8px;display:flex}.matrix .r{text-align:right}.portfolio tr.click{cursor:pointer}.portfolio tr.click:hover td{background:var(--surface-2)}.portfolio .sort{color:var(--muted);font-size:12px;font-weight:550}.pcell{justify-content:flex-end;align-items:center;gap:8px;display:inline-flex}.srcs{flex-direction:column;gap:10px;display:flex}.src{border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:10px;padding:10px 12px;display:flex}.src-head{flex-wrap:wrap;align-items:flex-start;gap:10px;display:flex}.src-head .dot{margin-top:6px}.src-head .t{flex:1;min-width:200px}.src-form{border-top:1px dashed var(--line);flex-direction:column;gap:10px;padding-top:10px;display:flex}.report-back{z-index:80;background:var(--surface-2);position:fixed;inset:0;overflow-y:auto}.report-bar{z-index:2;background:var(--surface);border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding-block:10px;display:flex;position:sticky;top:0}.report{background:var(--surface);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:26px;width:min(820px,100% - 32px);margin:24px auto 60px;padding:36px 40px;display:flex}.report h1{letter-spacing:-.02em;margin:4px 0 0;font-size:26px}.report h2{margin:0 0 10px;font-size:15px}.report section p{margin:0 0 6px;line-height:1.7}.report-tiles{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:12px;display:grid}.rt{border-top:2px solid var(--line);flex-direction:column;padding-top:6px;display:flex}.rt .k{color:var(--muted);font-size:12px}.rt .v{font-size:22px;font-weight:650}.rt .d{color:var(--muted);font-size:12px}@media (width<=560px){.report{padding:22px 18px}}@media print{body.printing-report>:not(.report-back),body.printing-report .no-print{display:none!important}body.printing-report .report-back{background:#fff;position:static;overflow:visible}.report{border:0;width:100%;margin:0;padding:0}.report section{break-inside:avoid}}.todos{flex-direction:column;gap:12px;display:flex}.list-row.todo{flex-wrap:wrap;align-items:flex-start}.list-row.todo.ready{background:var(--ok-soft)}.todo-note{color:var(--muted);margin-top:4px;font-size:12.5px;display:block}.todo-note.good{color:var(--ok)}.todo-note.bad,.hint .bad,span.bad{color:var(--crit)}.totp{align-items:center;gap:8px;display:inline-flex}.totp b{letter-spacing:.06em;font-size:17px}.totp.compact b{font-size:15px}.totp .ring .bg{fill:none;stroke:var(--line);stroke-width:2.5px}.totp .ring .fg{fill:none;stroke:var(--accent);stroke-width:2.5px;stroke-linecap:round;transition:stroke-dasharray .9s linear}.totp .ring .fg.low{stroke:var(--warn)}.pwgen{border:1px dashed var(--line-strong);border-radius:8px;flex-direction:column;gap:8px;padding:10px;display:flex}.pwgen .pw{word-break:break-all;font-size:14px}.login-search{max-width:520px;margin-bottom:14px;font-size:15px}.logins{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px;display:grid}.login-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);flex-direction:column;gap:10px;padding:12px 14px;display:flex}.lc-head{align-items:center;gap:10px;display:flex}.lc-head .t{flex-direction:column;flex:1;min-width:0;display:flex}.lc-head .t b,.lc-head .t .hint{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lc-rows{flex-direction:column;gap:6px;display:flex}.lc-row{grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:34px;display:grid}.lc-row .k{color:var(--faint);font-size:12px}.lc-row .v{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lc-row .v .totp{width:100%}@media (width<=560px){.logins{grid-template-columns:1fr}.login-search{max-width:none}.lc-row .btn.sm{padding:8px 12px;font-size:13.5px}.nav{max-width:100%;overflow-x:auto}}.lc-row .v:has(.totp){grid-column:2/4}.totp.compact .btn{margin-left:auto}
