:root{
  color-scheme:dark;--bg:#0a0b10;--panel:#10131a;--panel2:#151925;--line:#252b3a;--text:#eef1f7;--muted:#8d95a7;--accent:#7c5cff;--accent2:#9b87ff;--danger:#ff647c;--good:#49d7a1;--warn:#ffbd5a
}
*{box-sizing:border-box}html,body{margin:0;height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}button,input,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.center-view{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 50% 15%,#221b4d 0,#0a0b10 45%)}.card{background:linear-gradient(180deg,rgba(25,29,40,.96),rgba(15,18,26,.98));border:1px solid var(--line);border-radius:18px;box-shadow:0 18px 60px rgba(0,0,0,.28)}.auth-card{width:min(430px,92vw);padding:34px}.brand-mark{width:52px;height:52px;border-radius:16px;background:linear-gradient(135deg,var(--accent),#3f7cff);display:grid;place-items:center;font-weight:900;box-shadow:0 10px 30px rgba(124,92,255,.3)}.brand-mark.small{width:34px;height:34px;border-radius:11px;font-size:12px}.auth-card h1{margin:18px 0 6px;font-size:25px}.muted,.section-head p{color:var(--muted);margin:4px 0 0}.auth-card label,.dialog-form label,.vault-gate label{display:grid;gap:8px;margin-top:18px;color:#cbd1df;font-size:13px}.auth-card input,.dialog-form input,.dialog-form textarea,.list-toolbar input,.vault-gate input{width:100%;border:1px solid var(--line);background:#0d1017;color:var(--text);border-radius:11px;padding:12px 13px;outline:none}.auth-card input:focus,.dialog-form input:focus,.dialog-form textarea:focus,.list-toolbar input:focus,.vault-gate input:focus{border-color:#6b57d9;box-shadow:0 0 0 3px rgba(124,92,255,.12)}.primary,.ghost,.toolbar-btn,.icon-btn{border:0;border-radius:10px;color:var(--text)}.primary{background:linear-gradient(135deg,var(--accent),#5b7cff);padding:11px 15px;font-weight:700}.auth-card .primary{width:100%;margin-top:20px}.ghost,.toolbar-btn,.icon-btn{background:#171b26;border:1px solid var(--line);padding:9px 12px}.ghost:hover,.toolbar-btn:hover,.icon-btn:hover{background:#202638}.error{color:#ff8a9c;font-size:13px;margin-top:10px;min-height:18px}.app{display:grid;grid-template-columns:230px 1fr;height:100vh;overflow:hidden}.sidebar{background:#0d1017;border-right:1px solid var(--line);padding:16px 12px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;padding:2px 7px 18px}.sidebar nav{display:grid;gap:6px}.nav{display:flex;gap:10px;align-items:center;border:0;background:transparent;color:#a8b0c0;padding:11px 12px;border-radius:10px;text-align:left}.nav.active,.nav:hover{background:#171c28;color:#fff}.sidebar-bottom{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid var(--line);padding-top:13px}.user-badge{font-size:13px;color:#cbd1df;overflow:hidden;text-overflow:ellipsis}.main{overflow:auto;background:linear-gradient(135deg,#0a0c12,#0c1018)}.panel{padding:18px;height:100%}.browser-shell{height:calc(100vh - 36px);display:grid;grid-template-rows:auto auto 1fr;border:1px solid var(--line);background:#080a0e;border-radius:16px;overflow:hidden;box-shadow:0 24px 70px rgba(0,0,0,.35)}.browser-toolbar{display:flex;align-items:center;gap:7px;padding:10px;background:#121620;border-bottom:1px solid var(--line)}.traffic-lights{display:flex;gap:5px;margin-right:4px}.traffic-lights i{width:10px;height:10px;border-radius:50%;background:#444b59}.traffic-lights i:nth-child(1){background:#ff6b6b}.traffic-lights i:nth-child(2){background:#ffc75f}.traffic-lights i:nth-child(3){background:#5ad89e}.address-form{flex:1;display:flex;align-items:center;background:#0b0e14;border:1px solid var(--line);border-radius:11px;overflow:hidden}.address-form input{width:100%;border:0;background:transparent;color:#e9edf6;padding:10px 12px;outline:none}.scope{font-size:10px;font-weight:900;letter-spacing:.06em;margin-left:9px;padding:4px 7px;border-radius:6px}.scope.public{background:rgba(73,215,161,.12);color:var(--good)}.scope.private{background:rgba(255,189,90,.13);color:var(--warn)}.browser-status{height:30px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;background:#0d1016;color:#7f8798;font-size:11px;border-bottom:1px solid #191e29}.viewport-wrap{position:relative;overflow:hidden;display:grid;place-items:center;background:#050608}.viewport-wrap canvas{max-width:100%;max-height:100%;width:auto;height:auto;outline:none;display:block}.browser-overlay{position:absolute;inset:0;display:grid;place-items:center;background:rgba(6,7,10,.82);color:#aab2c3}.section-head{display:flex;align-items:center;justify-content:space-between;margin:4px 0 18px}.section-head h2{margin:0}.actions{display:flex;gap:8px}.vault-gate{max-width:520px;margin:50px auto;padding:26px}.vault-layout{display:grid;grid-template-columns:360px minmax(0,1fr);gap:14px;height:calc(100vh - 125px)}.vault-list-card{overflow:hidden}.list-toolbar{padding:12px;border-bottom:1px solid var(--line)}.vault-list{height:calc(100% - 62px);overflow:auto}.vault-item{padding:14px;border-bottom:1px solid #202532;cursor:pointer}.vault-item:hover,.vault-item.active{background:#171c28}.vault-item strong{display:block;margin-bottom:5px}.vault-item small{color:var(--muted)}.detail-card{padding:24px;overflow:auto}.empty-state{display:grid;place-items:center;color:var(--muted)}.detail-grid{display:grid;grid-template-columns:140px 1fr;gap:12px 18px}.detail-grid .k{color:var(--muted)}.detail-actions{display:flex;gap:8px;margin-top:22px}.password-row{display:flex;gap:7px}.password-row input{flex:1}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}dialog{padding:0;border:1px solid var(--line);border-radius:16px;background:#10141d;color:var(--text);width:min(720px,92vw);box-shadow:0 30px 100px rgba(0,0,0,.5)}dialog::backdrop{background:rgba(0,0,0,.72)}.dialog-form{padding:20px}.dialog-head,.dialog-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.dialog-head h3{margin:0}.dialog-actions{justify-content:flex-end;margin-top:18px}.toast{position:fixed;right:18px;bottom:18px;background:#1a2030;border:1px solid #2c3549;padding:12px 14px;border-radius:11px;opacity:0;transform:translateY(8px);pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:none}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);font-size:13px}th{color:#99a2b5;font-weight:600}
@media(max-width:900px){.app{grid-template-columns:72px 1fr}.brand strong,.nav span,.user-badge{display:none}.brand{justify-content:center}.nav{justify-content:center}.sidebar-bottom{justify-content:center}.toolbar-btn{display:none}.vault-layout{grid-template-columns:1fr}.detail-card{display:none}.two-col{grid-template-columns:1fr}}

/* v0.2.0 installer / admin */
.center-view{padding:24px;overflow:auto}.setup-card{margin:auto}.eyebrow{display:inline-block;margin-top:18px;font-size:10px;font-weight:900;letter-spacing:.14em;color:var(--accent2)}
.nav-section{padding:18px 12px 7px;color:#596276;font-size:10px;font-weight:800;letter-spacing:.13em}.admin-nav{display:grid;gap:6px}
.access-badge{font-size:10px;margin-top:3px;font-weight:800}.access-badge.on{color:var(--good)}.access-badge.off{color:var(--warn)}
.notice{margin-top:16px;padding:12px 14px;border:1px solid var(--line);background:#111620;border-radius:11px;color:#aeb6c7;font-size:12px;line-height:1.5}.success-note{border-color:rgba(73,215,161,.28);background:rgba(73,215,161,.07);color:#9ce8cc}.warn-note{border-color:rgba(255,189,90,.25);background:rgba(255,189,90,.07);color:#efca8f}.danger-note{border-color:rgba(255,100,124,.3);background:rgba(255,100,124,.07);color:#ff9dae}
.stats-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}.stat{padding:18px}.stat span{display:block;color:var(--muted);font-size:12px}.stat strong{display:block;font-size:27px;margin-top:6px}.table-wrap{overflow:auto}.subline{display:block;color:var(--muted);margin-top:3px}
.pill{display:inline-flex;align-items:center;border:1px solid var(--line);background:#171c27;color:#aeb6c7;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:800}.pill.admin{color:#c4b7ff;border-color:rgba(124,92,255,.32);background:rgba(124,92,255,.09)}.pill.ok{color:var(--good);border-color:rgba(73,215,161,.25);background:rgba(73,215,161,.07)}.pill.off{color:#99a2b5;background:#141821}
.mini-switch{position:relative;display:inline-block;width:42px;height:23px}.mini-switch input{opacity:0;width:0;height:0}.mini-switch span{position:absolute;inset:0;border-radius:999px;background:#232938;border:1px solid #30384b;transition:.2s}.mini-switch span:before{content:"";position:absolute;width:17px;height:17px;left:2px;top:2px;border-radius:50%;background:#929caf;transition:.2s}.mini-switch input:checked+span{background:rgba(73,215,161,.18);border-color:rgba(73,215,161,.45)}.mini-switch input:checked+span:before{transform:translateX(19px);background:var(--good)}.mini-switch input:disabled+span{opacity:.45;cursor:not-allowed}
.dialog-form select{width:100%;border:1px solid var(--line);background:#0d1017;color:var(--text);border-radius:11px;padding:12px 13px;outline:none}.permission-grid{display:grid;gap:8px;margin-top:18px}.switch-row{display:flex!important;align-items:center;justify-content:space-between;gap:18px;margin:0!important;padding:13px;border:1px solid var(--line);background:#0d1017;border-radius:11px}.switch-row span{display:grid;gap:3px}.switch-row small{color:var(--muted);font-size:11px}.switch-row input{width:20px;height:20px}.danger{border:1px solid rgba(255,100,124,.3);background:rgba(255,100,124,.09);color:#ff95a6;border-radius:10px;padding:9px 12px}.grow{flex:1}
.update-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.8fr);gap:14px}.update-card{padding:22px}.update-card h3{margin:0 0 16px}.detail-grid.compact{grid-template-columns:130px 1fr}.file-drop{display:grid;gap:9px;margin-top:20px;color:#cbd1df;font-size:13px}.file-drop input{border:1px dashed #343d52;background:#0d1017;border-radius:12px;padding:18px;width:100%;color:#aeb6c7}.progress{height:8px;border-radius:999px;background:#0b0e14;border:1px solid #1e2431;overflow:hidden;margin-top:16px}.progress i{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--accent),#5b7cff);transition:width .35s ease}.update-card .primary{margin-top:16px}.update-card .primary:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:1100px){.update-grid{grid-template-columns:1fr}.stats-row{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:700px){.stats-row{grid-template-columns:1fr}.section-head{align-items:flex-start;gap:12px;flex-direction:column}.section-head .actions{width:100%}.update-card{padding:16px}.detail-grid.compact{grid-template-columns:110px 1fr}}

/* v0.3.0 multi-tab / profiles / file transfer */
.browser-shell{grid-template-rows:auto auto auto 1fr}.toolbar-select{max-width:170px;border:1px solid var(--line);background:#0b0e14;color:#dfe5f2;border-radius:10px;padding:9px 10px;outline:none}.tabbar{display:flex;align-items:stretch;gap:5px;padding:7px 8px;background:#0e121a;border-bottom:1px solid var(--line);min-height:42px}.browser-tabs{display:flex;align-items:stretch;gap:5px;overflow-x:auto;flex:1;scrollbar-width:thin}.browser-tab{display:flex;align-items:center;gap:8px;min-width:150px;max-width:240px;padding:7px 8px 7px 11px;border:1px solid #242b3a;background:#121722;color:#9da6b7;border-radius:9px;cursor:pointer}.browser-tab.active{background:#1a2030;color:#fff;border-color:#39435b}.browser-tab .tab-scope{width:7px;height:7px;border-radius:50%;background:var(--good);flex:0 0 auto}.browser-tab.private .tab-scope{background:var(--warn)}.browser-tab .tab-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;flex:1}.browser-tab .tab-close{border:0;background:transparent;color:#70798b;padding:0 2px;font-size:14px}.browser-tab .tab-close:hover{color:#fff}.tab-action{width:34px;border:1px solid #293142;background:#151a25;color:#aeb7c8;border-radius:9px}.tab-action:disabled{opacity:.35}.files-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:14px}.file-card{padding:18px;overflow:hidden}.file-card-head h3{margin:0 0 4px}.inline-upload{display:flex;gap:9px;align-items:center;margin:16px 0}.inline-upload input{flex:1;border:1px dashed #343d52;background:#0d1017;border-radius:11px;padding:12px;color:#aeb6c7}.file-name-cell{max-width:280px}.file-name-cell strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.small-actions{display:flex;gap:6px;justify-content:flex-end}.small-actions .ghost,.small-actions .danger{padding:6px 9px;font-size:11px}.profile-list{display:grid;gap:8px;margin:18px 0}.profile-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--line);background:#0d1017;border-radius:11px}.profile-row .meta{display:grid;gap:4px}.profile-row .meta small{color:var(--muted)}.profile-row .profile-actions{display:flex;gap:6px}.profile-create{border-top:1px solid var(--line);padding-top:4px}.profile-create .primary{margin-top:14px}.chooser-existing{margin-top:18px;display:grid;gap:9px}.chooser-list{max-height:220px;overflow:auto;border:1px solid var(--line);border-radius:11px;background:#0d1017}.chooser-item{display:flex;align-items:center;gap:9px;padding:11px 12px;border-bottom:1px solid var(--line)}.chooser-item:last-child{border-bottom:0}.chooser-item small{color:var(--muted);margin-left:auto}.status-private{color:var(--warn)}.status-incognito{color:#c4b7ff}.file-expired{color:#ff9dae}
@media(max-width:1050px){.files-grid{grid-template-columns:1fr}.toolbar-select{max-width:130px}.browser-tab{min-width:130px}}
@media(max-width:760px){.toolbar-select,#manageProfilesBtn,#incognitoBtn{display:none}.tabbar{overflow:hidden}.browser-tab{min-width:120px}.files-grid{grid-template-columns:1fr}.inline-upload{align-items:stretch;flex-direction:column}}

/* v0.4.0 browser library, clipboard, KDBX and managed credential UI */
.icon-only{min-width:38px;padding:8px 10px}.zoom-select{max-width:86px}.viewport-wrap.zoomed{overflow:auto;place-items:start}.viewport-wrap:fullscreen{background:#050608;padding:0;display:flex;align-items:center;justify-content:center}.viewport-wrap:fullscreen canvas{max-width:none;max-height:none}
.library-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:14px;height:calc(100vh - 125px)}.library-card{padding:18px;overflow:hidden}.library-list{margin-top:14px;max-height:calc(100% - 48px);overflow:auto;border:1px solid var(--line);border-radius:11px}.library-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border-bottom:1px solid var(--line)}.library-item:last-child{border-bottom:0}.library-item strong,.library-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-item small{color:var(--muted);margin-top:4px}.library-actions{display:flex;gap:6px}.library-actions button{padding:6px 9px;font-size:11px}.scope-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--good);margin-right:6px}.scope-dot.private{background:var(--warn)}
.secret-result{margin-top:16px;border:1px solid rgba(124,92,255,.32);background:rgba(124,92,255,.07);border-radius:12px;padding:14px}.secret-line{display:grid;grid-template-columns:100px minmax(0,1fr) auto;gap:9px;align-items:center;margin:7px 0}.secret-line span{color:var(--muted);font-size:12px}.secret-value{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;word-break:break-all}.totp-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:800;font-size:18px;letter-spacing:.16em}.grant-list{display:grid;gap:7px;max-height:420px;overflow:auto;margin:16px 0}.grant-row{display:grid;grid-template-columns:minmax(0,1fr) 110px 110px;gap:10px;align-items:center;padding:11px 12px;border:1px solid var(--line);border-radius:11px;background:#0d1017}.grant-row small{display:block;color:var(--muted);margin-top:3px}.grant-check{display:flex;align-items:center;gap:7px;color:#c4cad7;font-size:12px}.grant-check input{width:18px;height:18px}.permission-use{color:var(--good)}.permission-reveal{color:#c4b7ff}.permission-denied{color:var(--muted)}
@media(max-width:1000px){.library-grid{grid-template-columns:1fr;height:auto}.library-list{max-height:430px}.zoom-select,#copyRemoteBtn,#pasteRemoteBtn{display:none}}@media(max-width:700px){.grant-row{grid-template-columns:1fr 1fr 1fr}}

/* v0.5.1 Agent telemetry, allowlist and vault-history UI */
#defaultLocationBtn.active-default{border-color:rgba(255,210,72,.7);box-shadow:0 0 0 1px rgba(255,210,72,.15) inset}
.agent-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-bottom:14px}
.agent-stat-card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:14px;min-width:0}
.agent-stat-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.agent-stat-value{font-size:14px;font-weight:700;margin-bottom:8px}
.traffic-meter{height:7px;background:rgba(255,255,255,.06);border-radius:999px;overflow:hidden;margin:8px 0}
.traffic-meter i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),#8f7cff);border-radius:inherit;min-width:3px}
.agent-stat-card small{display:block;color:var(--muted);line-height:1.5}
.history-list{display:flex;flex-direction:column;gap:9px;max-height:52vh;overflow:auto;padding-right:4px}
.history-row{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid var(--border);border-radius:12px;padding:12px;background:rgba(255,255,255,.02)}
.history-row.current{background:rgba(91,214,158,.06);border-color:rgba(91,214,158,.2)}
.history-row>div{min-width:0}.history-row small{display:block;color:var(--muted);margin-top:4px}
.wide-dialog{width:min(880px,92vw)}
.policy-cols textarea{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;resize:vertical}
.policy-cols small{display:block;color:var(--muted);line-height:1.45;margin-top:6px}
@media(max-width:760px){.policy-cols{grid-template-columns:1fr}.agent-stats-grid{grid-template-columns:1fr}}

/* v0.7.0 SSH/SFTP, HA Agent, mTLS and signed update UI */
.ssh-grid{display:grid;grid-template-columns:minmax(320px,390px) minmax(0,1fr);gap:14px;height:calc(100vh - 125px)}
.ssh-connect-card{padding:18px;overflow:auto}.ssh-connect-card h3{margin:0 0 16px}.ssh-connect-card .notice{margin-top:14px}
.ssh-terminal-card{padding:0;overflow:hidden;display:grid;grid-template-rows:auto 1fr;min-height:520px;background:#07090d}
.ssh-terminal-head{display:flex;align-items:center;gap:12px;padding:10px 13px;border-bottom:1px solid var(--line);background:#0d1017}
#sshTerminal{height:100%;min-height:0;padding:8px}.xterm{height:100%}.xterm-viewport{border-radius:0 0 12px 12px}
.agent-release-card{margin-top:14px;padding:16px;display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,330px) auto;gap:12px;align-items:center}.agent-release-card h3{margin:0 0 5px}.agent-release-card input[type=file]{border:1px dashed var(--line);border-radius:10px;padding:10px;background:#0d1017;color:var(--muted)}.agent-release-card .error{grid-column:1/-1}
.agent-nodes-list{display:grid;gap:9px;max-height:50vh;overflow:auto;margin:14px 0}.agent-node-row{display:grid;grid-template-columns:minmax(190px,1.5fr) minmax(150px,1fr) 90px auto auto auto;gap:8px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:12px;background:#0d1017}.agent-node-main small{display:block;color:var(--muted);margin-top:4px;line-height:1.35}.agent-node-row input[type=text],.agent-node-row input[type=number],.agent-node-row .node-name,.agent-node-row .node-priority{width:100%;border:1px solid var(--line);background:#090c12;color:var(--text);border-radius:9px;padding:8px}.tiny-check{display:flex!important;align-items:center;gap:5px!important;margin:0!important;white-space:nowrap}.tiny-check input{width:17px;height:17px}.agent-node-create{border-top:1px solid var(--line);padding-top:14px}.agent-node-create .primary{margin-top:10px}
@media(max-width:1150px){.ssh-grid{grid-template-columns:1fr;height:auto}.ssh-terminal-card{min-height:620px}.agent-node-row{grid-template-columns:1fr 1fr 90px auto}.agent-node-main{grid-column:1/-1}.agent-node-row .small-actions{grid-column:1/-1}}
@media(max-width:760px){.ssh-terminal-card{min-height:500px}.agent-release-card{grid-template-columns:1fr}.agent-node-row{grid-template-columns:1fr 1fr}.agent-node-row .node-name{grid-column:1/-1}}

/* v0.7.0 SSH profiles, SFTP and Agent PKI */
.sftp-grid{display:grid;grid-template-columns:minmax(300px,360px) minmax(0,1fr);gap:14px;height:calc(100vh - 125px)}
.sftp-connect-card{padding:18px;overflow:auto}.sftp-connect-card h3{margin:0 0 16px}.sftp-browser-card{padding:14px;overflow:hidden;display:flex;flex-direction:column;min-height:520px}
.sftp-toolbar{display:flex;gap:8px;align-items:center;margin-bottom:10px}.sftp-toolbar input{flex:1;border:1px solid var(--line);background:#0d1017;color:var(--text);border-radius:10px;padding:9px 11px}.sftp-toolbar .pill{margin-left:auto}
.file-button{display:inline-flex;align-items:center;border:1px solid var(--line);background:#171b26;color:var(--text);border-radius:10px;padding:9px 12px;cursor:pointer}.file-button:has(input:disabled){opacity:.45;cursor:not-allowed}
.linkish{border:0;background:transparent;color:#dfe5f2;padding:0;text-align:left}.linkish:hover{text-decoration:underline;color:#fff}
#sshProfile,#sshAuthSource,#sshCredential,#sftpProfile{width:100%;border:1px solid var(--line);background:#0d1017;color:var(--text);border-radius:11px;padding:12px 13px;outline:none}
.agent-security-card{margin-top:14px;padding:16px;display:grid;gap:8px}.agent-security-card code{word-break:break-all;color:#c9c0ff}
@media(max-width:1050px){.sftp-grid{grid-template-columns:1fr;height:auto}.sftp-browser-card{min-height:500px}}
@media(max-width:760px){.sftp-toolbar{flex-wrap:wrap}.sftp-toolbar input{flex-basis:100%}}
#sftpAuthMode,#sftpConnectForm select,#sftpConnectForm input,#sftpConnectForm textarea,#sshConnectForm select,#sshConnectForm input,#sshConnectForm textarea{width:100%;border:1px solid var(--line);background:#0d1017;color:var(--text);border-radius:11px;padding:11px 12px;outline:none}#sftpConnectForm label,#sshConnectForm label{display:grid;gap:7px;margin-top:12px;color:#cbd1df;font-size:13px}

/* v0.8.0 account security, WebAuthn and session management */
.top-gap{margin-top:14px}.wrap-actions{display:flex;flex-wrap:wrap;gap:8px}.code-box{white-space:pre-wrap;word-break:break-word;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:#080b11;border:1px solid var(--line);border-radius:11px;padding:12px;max-height:260px;overflow:auto}.security-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:14px 0}.security-stat{border:1px solid var(--line);background:#0d1017;border-radius:12px;padding:12px}.security-stat strong{display:block;font-size:16px;margin-top:4px}.security-stat small{color:var(--muted)}.session-current{border-color:rgba(91,214,158,.35);background:rgba(91,214,158,.05)}.second-factor-box{margin-top:14px;border:1px solid rgba(124,92,255,.28);background:rgba(124,92,255,.06);border-radius:12px;padding:14px}.second-factor-box .wrap-actions{margin-top:10px}.recovery-code-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.recovery-code-grid code{display:block;text-align:center;padding:9px;border:1px solid var(--line);border-radius:9px;background:#080b11}.pki-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}.pki-grid code{display:block;margin-top:5px}.danger-zone{border-color:rgba(255,92,122,.25)!important;background:rgba(255,92,122,.04)!important}@media(max-width:620px){.recovery-code-grid{grid-template-columns:1fr}}

/* v0.9.0 Device Inventory, Quick Connect and Remote Desktop */
.quick-connect-card{display:grid;grid-template-columns:minmax(200px,1fr) minmax(220px,1.4fr) 150px auto;gap:12px;align-items:center;margin-bottom:14px;padding:14px 16px}.quick-connect-card small{display:block;color:var(--muted);margin-top:4px;line-height:1.35}.quick-connect-card select,.desktop-connect-card select,.desktop-connect-card input,.desktop-connect-card textarea,#deviceDialog select,#deviceDialog input,#deviceDialog textarea{width:100%;border:1px solid var(--line);background:#0d1017;color:var(--text);border-radius:11px;padding:11px 12px;outline:none}.devices-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:13px}.device-card{padding:16px;min-width:0}.device-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.device-card-head>div{display:flex;align-items:center;gap:10px;min-width:0}.device-card h3{margin:0 0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-card small{color:var(--muted)}.device-icon{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(124,92,255,.28);background:rgba(124,92,255,.08);border-radius:11px;font-size:18px;flex:0 0 auto}.device-target{margin:14px 0;display:grid;gap:7px}.device-target code{display:block;background:#080b11;border:1px solid var(--line);border-radius:9px;padding:9px 10px;overflow:hidden;text-overflow:ellipsis}.device-target small{white-space:pre-wrap;max-height:4.2em;overflow:hidden}.device-protocols{display:flex;flex-wrap:wrap;gap:7px}.device-protocols button{min-width:54px;padding:7px 9px;font-size:11px}.protocol-grid{display:grid;grid-template-columns:1fr 150px;gap:10px;margin-top:12px}.protocol-grid>label{margin:0!important}.desktop-grid{display:grid;grid-template-columns:minmax(320px,390px) minmax(0,1fr);gap:14px;height:calc(100vh - 250px);min-height:560px}.desktop-connect-card{padding:18px;overflow:auto}.desktop-connect-card h3{margin:0 0 14px}.desktop-connect-card label{display:grid;gap:7px;margin-top:11px;color:#cbd1df;font-size:13px}.desktop-view-card{padding:0;overflow:hidden;display:grid;grid-template-rows:auto 1fr;background:#05070a;min-width:0}.desktop-view-head{display:flex;align-items:center;gap:12px;padding:10px 13px;border-bottom:1px solid var(--line);background:#0d1017}.desktop-view-head .muted{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.remote-desktop-display{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;min-height:0;background:#020305;outline:none}.remote-desktop-display>div:not(.empty-state){transform-origin:top left}.remote-desktop-display:fullscreen{width:100vw;height:100vh;background:#000}.remote-desktop-display .empty-state{padding:30px;text-align:center;color:var(--muted)}
@media(max-width:1100px){.quick-connect-card{grid-template-columns:1fr 1fr}.desktop-grid{grid-template-columns:1fr;height:auto}.desktop-view-card{min-height:650px}}
@media(max-width:720px){.quick-connect-card{grid-template-columns:1fr}.protocol-grid{grid-template-columns:1fr}.desktop-view-card{min-height:500px}}
.transfer-card{margin-top:18px}.transfer-actions{display:grid;gap:10px;margin-bottom:12px}.inline-form{display:grid;grid-template-columns:minmax(140px,.7fr) minmax(180px,1fr) auto auto;gap:8px;align-items:end}.traffic-history-card canvas{width:100%;height:280px;background:rgba(255,255,255,.02);border-radius:10px}.progress-mini{height:7px;background:rgba(255,255,255,.08);border-radius:99px;overflow:hidden;min-width:120px}.progress-mini i{display:block;height:100%;background:currentColor}.tunnel-secret{font-family:monospace;font-size:12px;word-break:break-all}.tunnel-item{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:12px;border-bottom:1px solid rgba(255,255,255,.08)}

/* v0.11 RBAC / notifications / backup */
.nav-count{display:inline-flex;align-items:center;justify-content:center;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:var(--accent,#7c3aed);font-size:11px;margin-left:6px}.notification-list{display:grid;gap:10px}.notification-item{padding:16px}.notification-item.unread{box-shadow:inset 3px 0 0 var(--accent,#7c3aed)}.notification-head{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.notification-head small{margin-left:auto}.notification-item p{margin:10px 0 0;white-space:pre-wrap}.filter-grid{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:10px;margin-bottom:12px}.filter-grid label{min-width:0}.permission-grid .switch-row{min-height:54px}.profile-row code{font-size:11px}.top-gap{margin-top:14px}@media(max-width:1200px){.filter-grid{grid-template-columns:repeat(3,minmax(150px,1fr))}}@media(max-width:720px){.filter-grid{grid-template-columns:1fr}.notification-head small{margin-left:0;width:100%}}

/* v0.11.4 - Home/search and unmistakable remote/proxy mode */
.viewport-wrap { position: relative; }
.tog-home { position: absolute; inset: 0; z-index: 4; display:flex; justify-content:center; align-items:center; padding:26px; overflow:auto; color:#f3f2fb; background:radial-gradient(ellipse at 48% 25%,#282049 0%,#100e23 48%,#090b16 100%); }
.tog-home.hidden {display:none;}
.tog-home-inner { width:min(680px,100%); margin:auto; text-align:center; }
.tog-home-logo { font-size:clamp(40px,5vw,70px);font-weight:850;letter-spacing:-2px;line-height:1.1; }
.tog-home-logo span {color:#a78bfa;}
.tog-home-subtitle {margin:6px 0 35px;letter-spacing:.5em;color:#b9a7ea;font-size:13px;font-weight:700;}
.tog-search-form {display:flex;align-items:center;gap:10px;border:1px solid #51416e;background:#211933;border-radius:24px;padding:8px 10px 8px 22px;box-shadow:0 16px 48px #0007;}
.tog-search-form span {font-size:27px;color:#b6a2ec;}
.tog-search-form input {flex:1;min-width:0;background:transparent;border:0;outline:0;color:white;padding:11px 2px;font-size:17px;}
.tog-search-form button {background:#7c59d8;color:white;border:0;border-radius:16px;padding:13px 24px;font-weight:700;cursor:pointer;}
.tog-home-inner p {margin-top:21px;color:#aaa3c1;font-size:14px;}
.tog-home-shortcuts {display:flex;justify-content:center;gap:12px;margin-top:28px;flex-wrap:wrap;}
.tog-home-shortcuts button {border:1px solid #554573;background:#231b37;color:#e8dfff;border-radius:14px;padding:12px 18px;cursor:pointer;}
.toolbar-btn.mode-active {background:#483178;border-color:#a78bfa;color:#fff;box-shadow:inset 0 0 0 1px #8d71d6;}
.incognito-mode .browser-shell {border-color:#977ed9;}
.incognito-mode .browser-status {background:#21182f;color:#eee0fc;}
#networkStatus {color:#bcb0f5;}
.visit-url {max-width:550px;display:inline-block;overflow-wrap:anywhere;font-family:ui-monospace,monospace;font-size:12px;color:#a1a4b7;}

.tog-privacy-note {font-size:12px!important;color:#8e82ae!important;margin-top:8px!important;line-height:1.45;}

/* v0.11.6: Isolated navigation, scroll persistence and legible browser controls. */
.app{grid-template-columns:230px minmax(0,1fr)}
.main{min-width:0;min-height:0}
.sidebar{height:100%;min-height:0;min-width:0;overflow:hidden}
.sidebar .brand,.sidebar-bottom{flex:0 0 auto}
.sidebar-nav{display:flex!important;flex-direction:column;gap:6px;flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#566078 #10151e;padding-right:4px}
.sidebar-nav::-webkit-scrollbar{width:8px}
.sidebar-nav::-webkit-scrollbar-track{background:#10151e;border-radius:8px}
.sidebar-nav::-webkit-scrollbar-thumb{background:#566078;border:2px solid #10151e;border-radius:8px}
.sidebar-nav .nav,.sidebar-nav .admin-nav{flex-shrink:0}
.sidebar-bottom{margin-top:0}
/* Two independent visibility safeguards. Never stack the other products under the Browser. */
#appView .main > section.panel:not(.is-active-panel){display:none!important}
#appView .main > section.panel.is-active-panel{display:block}
#appView .main > section#browserPanel.is-active-panel{display:block}
#browserPanel{min-height:0;overflow:hidden}
#browserPanel .browser-shell{height:calc(100vh - 36px);min-height:360px;grid-template-rows:auto auto auto minmax(0,1fr)}
#browserPanel .browser-toolbar{display:grid;grid-template-rows:auto auto;gap:0;padding:0;min-width:0}
#browserPanel .browser-toolbar-navigation,#browserPanel .browser-toolbar-options{display:flex;align-items:center;gap:8px;min-width:0;padding:9px 12px}
#browserPanel .browser-toolbar-navigation{border-bottom:1px solid #252b3a}
#browserPanel .browser-toolbar-navigation .address-form{flex:1 1 380px;min-width:160px;max-width:none}
#browserPanel .browser-toolbar-navigation .address-form input{min-width:0;width:100%;font-size:14px}
#browserPanel .browser-toolbar-navigation > button{flex:0 0 auto}
#browserPanel .browser-toolbar-options{flex-wrap:wrap;row-gap:6px;padding:7px 12px;background:#0f131c}
#browserPanel .browser-toolbar-options .toolbar-btn,#browserPanel .browser-toolbar-options .toolbar-select{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;max-width:100%;white-space:nowrap;min-height:34px;padding:7px 10px;font-size:12px}
#browserPanel .browser-toolbar-options .toolbar-select{display:block;max-width:220px}
#browserPanel .browser-toolbar-options #locationSelect{max-width:230px;min-width:150px}
#browserPanel .browser-toolbar-options #profileSelect{min-width:130px;max-width:190px}
#browserPanel .browser-toolbar-navigation .toolbar-btn{display:inline-flex}
#browserPanel .browser-toolbar-navigation .icon-only{min-width:34px}
#browserPanel .browser-toolbar-navigation .traffic-lights{flex:0 0 auto}
#browserPanel .browser-toolbar-navigation .icon-btn{padding:8px 10px;min-width:34px}
#browserPanel .browser-toolbar-navigation #zoomSelect{width:82px;max-width:82px;flex:none}
#browserPanel .browser-status{height:auto;min-height:30px;gap:8px;white-space:normal;flex-wrap:wrap;padding:6px 12px}
#browserPanel .browser-status > span:last-child{min-width:0;overflow-wrap:anywhere}
#browserPanel .viewport-wrap{min-height:0}
@media (max-width:1080px){
 #browserPanel .browser-toolbar-navigation{flex-wrap:wrap}
 #browserPanel .browser-toolbar-navigation .address-form{flex-basis:calc(100% - 120px);order:2}
 #browserPanel .browser-toolbar-navigation #bookmarkBtn{order:3}
 #browserPanel .browser-toolbar-navigation #copyRemoteBtn,#browserPanel .browser-toolbar-navigation #pasteRemoteBtn,#browserPanel .browser-toolbar-navigation #zoomSelect,#browserPanel .browser-toolbar-navigation #fullscreenBtn{order:3}
}
@media (max-width:900px){.sidebar-nav .nav{justify-content:center}.sidebar-nav .nav-section{font-size:0;padding:8px 0}.sidebar-nav{padding-right:0}}
@media (max-width:760px){
 #browserPanel .browser-toolbar-navigation .address-form{order:0;flex:1 1 100%;min-width:100%}
 #browserPanel .browser-toolbar-options #incognitoBtn,#browserPanel .browser-toolbar-options .toolbar-select{display:inline-flex}
 #browserPanel .browser-toolbar-navigation .traffic-lights{display:none}
 #browserPanel .browser-toolbar-options{max-height:168px;overflow-y:auto}
}
