:root{--border: #d6e0de;--panel: #ffffff;--surface: #f3f7f6;--text: #172026;--muted: #60706e;--accent: #126c5a;--shadow: 0 12px 32px rgba(24, 52, 48, .08);color:#172026;background:#f4f7f6;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px}.traffic-panel{display:grid;gap:18px}.traffic-head{align-items:end}.traffic-head h2,.traffic-card h3{margin:0}.traffic-head p,.traffic-card p{margin:5px 0 0;color:var(--muted)}.traffic-controls{display:grid;grid-template-columns:auto repeat(5,minmax(142px,1fr));align-items:end;gap:12px;padding:14px;border:1px solid var(--border);border-radius:10px;background:var(--panel)}.traffic-presets{display:flex;gap:5px}.traffic-presets button{white-space:nowrap}.traffic-presets button.active{border-color:var(--accent);background:var(--accent);color:#fff}.traffic-field{display:grid;min-width:0;gap:5px}.traffic-field>span{color:var(--muted);font-size:.78rem;font-weight:700}.traffic-field input,.traffic-field select{min-width:0;width:100%}.traffic-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.traffic-summary article,.traffic-card{border:1px solid var(--border);border-radius:10px;background:var(--panel);box-shadow:var(--shadow)}.traffic-summary article{display:grid;gap:6px;padding:17px}.traffic-summary span{color:var(--muted);font-size:.82rem;font-weight:700}.traffic-summary strong{font-size:clamp(1.25rem,2vw,1.8rem);overflow-wrap:anywhere}.traffic-card{padding:18px}.traffic-chart{display:grid;gap:8px;margin-top:14px}.traffic-chart-plot{position:relative}.traffic-chart-legend{display:flex;flex-wrap:wrap;align-items:center;gap:12px;color:var(--muted);font-size:.8rem}.traffic-chart-legend span{display:inline-flex;align-items:center;gap:6px}.traffic-chart-legend i{display:inline-block;width:18px;height:3px;border-radius:2px}.traffic-chart-legend strong{margin-left:auto;color:var(--text)}.traffic-received,.traffic-line-received{color:#16795f;stroke:#16795f;background:#16795f}.traffic-sent,.traffic-line-sent{color:#347bb8;stroke:#347bb8;background:#347bb8}.traffic-svg{display:block;width:100%;min-height:230px;overflow:visible;cursor:crosshair}.traffic-grid-line{stroke:var(--border);stroke-width:1}.traffic-grid-line-x{opacity:.5}.traffic-hover-line{stroke:var(--text);stroke-width:1;stroke-dasharray:3 3;opacity:.45;pointer-events:none}.traffic-point{stroke:var(--panel);stroke-width:2;pointer-events:none}.traffic-point-received{fill:#16795f}.traffic-point-sent{fill:#347bb8}.traffic-tooltip{position:absolute;top:8px;z-index:1;display:grid;gap:4px;min-width:170px;max-width:calc(100% - 16px);padding:9px 11px;border:1px solid var(--border);border-radius:8px;background:var(--panel);box-shadow:var(--shadow);color:var(--text);font-size:.78rem;pointer-events:none}.traffic-tooltip-center{transform:translate(-50%)}.traffic-tooltip-start{transform:translate(0)}.traffic-tooltip-end{transform:translate(-100%)}.traffic-tooltip strong{color:var(--text);font-size:.82rem}.traffic-tooltip span{display:flex;justify-content:space-between;gap:18px;color:var(--muted)}.traffic-tooltip b{color:var(--text)}.traffic-axis-label{fill:var(--muted);font-size:11px}.traffic-line{fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.traffic-detail-grid{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(390px,1.2fr);gap:18px}.traffic-bars{display:grid;gap:14px;margin-top:17px}.traffic-bar{display:grid;gap:5px}.traffic-bar-label{display:flex;justify-content:space-between;gap:12px;font-size:.9rem}.traffic-bar-label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.traffic-group-count{margin-left:8px;color:var(--muted);font-size:.76rem;font-style:normal;font-weight:500}.traffic-bar-track{height:9px;overflow:hidden;border-radius:999px;background:var(--surface)}.traffic-bar-track span{display:block;min-width:2px;height:100%;border-radius:inherit;background:linear-gradient(90deg,#16795f,#4cb795)}.traffic-bar small,.traffic-peers-card td small{color:var(--muted)}.traffic-peers-card .table-wrap{margin-top:14px;max-height:440px;overflow:auto}.traffic-peers-card tbody tr{cursor:pointer}.traffic-peers-card td small{display:block;max-width:180px;overflow:hidden;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem;text-overflow:ellipsis}.traffic-empty{border:1px dashed var(--border);background:var(--panel)}html[data-theme=dark] .traffic-controls,html[data-theme=dark] .traffic-summary article,html[data-theme=dark] .traffic-card,html[data-theme=dark] .traffic-empty,html[data-theme=dark] .traffic-tooltip{border-color:#35423f;background:#1a2220}html[data-theme=dark] .traffic-bar-track{background:#263532}html[data-theme=dark] .traffic-received,html[data-theme=dark] .traffic-line-received{color:#63caa9;stroke:#63caa9;background:#63caa9}html[data-theme=dark] .traffic-sent,html[data-theme=dark] .traffic-line-sent{color:#72b6ee;stroke:#72b6ee;background:#72b6ee}html[data-theme=dark] .traffic-point-received{fill:#63caa9}html[data-theme=dark] .traffic-point-sent{fill:#72b6ee}@media(max-width:1040px){.traffic-controls{grid-template-columns:repeat(3,minmax(160px,1fr))}.traffic-presets{grid-column:span 3}.traffic-detail-grid{grid-template-columns:1fr}}@media(max-width:620px){.traffic-controls,.traffic-summary{grid-template-columns:1fr}.traffic-presets{grid-column:auto}.traffic-presets button{flex:1}.traffic-head{align-items:stretch;flex-direction:column}.traffic-head>button{width:100%}.traffic-card{padding:14px}.traffic-chart-legend strong{width:100%;margin-left:0}}.help-layout{display:grid;grid-template-columns:minmax(190px,250px) minmax(0,1fr);gap:28px;align-items:start;max-width:1440px;margin:0 auto;padding:28px 32px 48px}.help-toc{position:sticky;top:24px;max-height:calc(100vh - 48px);overflow:auto;padding:20px 16px;border:1px solid var(--border);border-radius:16px;background:var(--panel);box-shadow:var(--shadow)}.help-toc-head{padding:0 8px 16px;border-bottom:1px solid var(--border)}.help-toc-head h2{margin:4px 0 0}.help-version-toggle{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-top:16px;padding:4px;border:1px solid var(--border);border-radius:9px;background:var(--surface)}.help-version-toggle button{min-height:32px;border:0;border-radius:6px;background:transparent;color:var(--muted);padding:0 8px;font-size:.82rem}.help-version-toggle button:hover,.help-version-toggle button.active{background:var(--panel);color:var(--text);box-shadow:0 2px 6px #1834301f}.help-version-toggle button.active{background:var(--accent);color:#fff;font-weight:700;box-shadow:0 3px 8px #126c5a47}.help-toc nav{display:grid;gap:2px;padding-top:12px}.help-toc-link{display:block;padding:8px;border-radius:8px;color:var(--muted);font-size:.9rem;line-height:1.35;text-decoration:none}.help-toc-link:hover{background:var(--surface);color:var(--text)}.help-toc-level-3{padding-left:20px;font-size:.82rem}.help-document{min-width:0;max-width:980px;padding:36px 48px 56px;border:1px solid var(--border);border-radius:20px;background:var(--panel);box-shadow:var(--shadow)}.help-document-head{margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid var(--border)}.help-document-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px}.help-version-control{flex:0 0 auto;min-width:190px}.help-version-control>span{display:block;margin-bottom:6px;color:var(--muted);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.help-document-head p{margin:8px 0 0;color:var(--muted);font-size:1.05rem}.help-document h1,.help-document h2,.help-document h3,.help-document h4{scroll-margin-top:28px;color:var(--text)}.help-document h1{margin:0 0 20px;font-size:clamp(1.8rem,3vw,2.5rem)}.help-document h2{margin:42px 0 16px;padding-top:8px;border-top:1px solid var(--border);font-size:1.55rem}.help-document h3{margin:30px 0 12px;font-size:1.16rem}.help-document p,.help-document li{color:var(--text);font-size:.97rem;line-height:1.72}.help-document p{margin:12px 0}.help-document ul,.help-document ol{margin:12px 0 18px;padding-left:26px}.help-document li+li{margin-top:6px}.help-document code{padding:2px 5px;border:1px solid var(--border);border-radius:5px;background:var(--surface);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.86em}.help-document a{color:var(--accent)}.help-table-wrap{margin:18px 0 24px;overflow-x:auto}.help-table{width:100%;min-width:560px;border-collapse:collapse}.help-table th,.help-table td{padding:11px 13px;border:1px solid var(--border);text-align:left;vertical-align:top;line-height:1.5}.help-table th{background:var(--surface);color:var(--text);font-size:.88rem}.help-table td{color:var(--text);font-size:.9rem}@media(max-width:900px){.help-layout{grid-template-columns:1fr;padding:20px 16px 36px}.help-toc{position:static;max-height:none}.help-toc nav{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.help-document{padding:28px 24px 42px}.help-document-toolbar{align-items:stretch;flex-direction:column}.help-version-control{width:100%}}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:inherit}button,input,select,textarea{font:inherit}button{min-height:38px;border:1px solid #b9c5c3;background:#fff;color:#172026;border-radius:6px;padding:0 14px;cursor:pointer}button:hover{background:#eef4f2}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid rgba(18,108,90,.22);outline-offset:2px}button.primary{background:#126c5a;border-color:#126c5a;color:#fff}button.danger{background:#a13d3d;border-color:#a13d3d;color:#fff}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}.login-theme-toggle{position:fixed;top:20px;right:20px}input,select,textarea{min-height:38px;border:1px solid #bdc9c7;background:#fff;border-radius:6px;padding:0 10px;color:#172026}.role-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px;width:100%}.role-option{display:grid;align-content:start;gap:6px;padding:10px;border:1px solid #d4dddb;border-radius:6px;background:#fff;color:#52615e;font-size:12px}.role-option.selected{border-color:#7eafa4;background:#edf6f3}.role-option-head{display:flex;align-items:center;gap:7px;color:#172026;font-size:14px}.permission-list{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.permission-list code{padding:3px 5px;border-radius:4px;background:#e7efed;color:#31534c;font-size:10px}.permission-list code.permission-inherited{opacity:.55;text-decoration:underline dotted}.updates-panel{display:grid;gap:16px}.updates-panel h2,.updates-panel h3{margin:0}.artifact-upload,.deployment-form{display:grid;align-items:end;gap:14px;padding:16px;border:1px solid #cdd9d6;border-radius:8px;background:#fff}.artifact-upload{grid-template-columns:minmax(300px,420px) minmax(280px,420px) auto;justify-content:start}.deployment-form{grid-template-columns:repeat(4,minmax(180px,1fr)) auto}.guided-toolbar{align-items:end}.guided-toolbar .guided-field{width:min(360px,100%)}.guided-field{display:grid;min-width:0;gap:5px}.guided-field input,.guided-field select{width:100%}.guided-field>span,.deployment-device-picker>strong{color:#445450;font-size:12px;font-weight:700}.guided-field small,.deployment-device-picker>small,.form-intro span{color:#60706d;font-size:11px;line-height:1.35}.form-intro{display:grid;grid-column:1 / -1;gap:4px;padding-bottom:2px}.form-intro strong{font-size:14px}.guided-toolbar button,.artifact-upload>button,.deployment-form>button{align-self:start;margin-top:21px;white-space:nowrap}.artifact-upload>button,.deployment-form>button{min-width:150px}.file-picker{position:relative;min-height:38px;display:flex;align-items:center;overflow:hidden;border:1px solid #bdc9c7;border-radius:6px;background:#fff;cursor:pointer}.file-picker:hover{border-color:#8ba8a2}.file-picker:focus-within{outline:3px solid rgba(18,108,90,.22);outline-offset:2px}.file-picker input{position:absolute;width:1px;height:1px;opacity:0}.file-picker-button{align-self:stretch;display:inline-flex;align-items:center;padding:0 14px;border-right:1px solid #bdc9c7;background:#eef4f2;color:#214a41;font-weight:700;white-space:nowrap}.file-picker-name{min-width:0;overflow:hidden;padding:0 12px;color:#60706d;text-overflow:ellipsis;white-space:nowrap}.file-picker-name.selected{color:#172026}.artifact-list,.deployment-devices{display:grid;gap:10px}.release-list{display:block}.release-list>.release-card+.release-card{margin-top:10px}.release-card,.deployment-detail,.log-panel{display:grid;gap:12px;padding:16px;border:1px solid #d4dddb;border-radius:8px;background:#fff}.release-card{gap:0;overflow:hidden;padding:0;border-color:#ccd8d5;box-shadow:0 2px 8px #1720260a}.release-card:hover{border-color:#aebfbb;box-shadow:0 5px 16px #17202612}.release-card-head{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;background:linear-gradient(135deg,#f8fbfa,#f1f7f5);border-bottom:1px solid #dce5e3}.release-identity,.artifact-identity{min-width:0;display:flex;align-items:center;gap:12px}.release-identity>div,.artifact-identity>div{min-width:0;display:grid;gap:5px}.release-identity h3,.artifact-identity strong{overflow-wrap:anywhere}.release-icon,.artifact-icon{width:34px;height:34px;flex:0 0 auto;display:grid;place-items:center;border-radius:8px;background:#126c5a;color:#fff;font-size:13px;font-weight:800}.artifact-icon{width:30px;height:30px;background:#dfece9;color:#31534c}.release-meta,.artifact-meta{display:flex;flex-wrap:wrap;gap:6px}.release-meta span,.artifact-meta span{padding:3px 7px;border-radius:999px;background:#e5efed;color:#52615e;font-size:11px}.release-details{display:grid;gap:10px;padding:12px 18px 0}.release-details p{margin:0;color:#445450}.release-card .artifact-list{padding:12px}.artifact-row,.deployment-devices>div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px;border:1px solid #e0e7e5;border-radius:6px}.artifact-row span,.deployment-list span,.deployment-devices span{color:#60706d;font-size:12px}.tag-list{display:flex;flex-wrap:wrap;gap:6px}.tag-list span{padding:3px 7px;border-radius:999px;background:#e3efec;color:#31534c;font-size:11px}.pager{display:flex;justify-content:center;align-items:center;gap:10px}.deployment-layout{height:clamp(820px,68vh,900px);min-height:0;display:grid;grid-template-columns:minmax(250px,.8fr) minmax(420px,1.5fr);align-items:stretch;gap:14px}.deployment-list{height:100%;min-height:0;display:block;overflow-y:auto;overscroll-behavior:contain;padding-right:6px;scrollbar-gutter:stable}.deployment-detail{height:100%;min-height:0;align-self:stretch;grid-template-rows:auto auto auto auto auto minmax(0,1fr);overflow:hidden}.deployment-detail>.deployment-devices{min-height:0;align-content:start;overflow-y:auto;overscroll-behavior:contain;padding-right:6px;scrollbar-gutter:stable}.deployment-list button{width:100%;height:auto;display:grid;justify-items:start;gap:8px;padding:12px 13px;text-align:left}.deployment-list button+button{margin-top:7px}.deployment-list .deployment-card{position:relative;overflow:hidden;border-left-width:5px;background:#fff}.deployment-list .deployment-card:hover{transform:translateY(-1px);box-shadow:0 4px 12px #17202614}.deployment-list .deployment-card.status-success{border-left-color:#2d8a57}.deployment-list .deployment-card.status-active{border-left-color:#3478b8}.deployment-list .deployment-card.status-partial{border-left-color:#d49a22}.deployment-list .deployment-card.status-failed{border-left-color:#b94747}.deployment-list .deployment-card.status-neutral{border-left-color:#82908d}.deployment-list button.selected{border-color:#126c5a;background:#edf6f3}.deployment-card-head{width:100%;display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.deployment-card-main{width:100%;display:flex;align-items:center;gap:11px}.deployment-card-content{min-width:0;flex:1;display:grid;gap:5px}.deployment-progress-ring{width:48px;height:48px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;box-shadow:inset 0 0 0 1px #17202614}.deployment-progress-ring>span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#fff;color:#445450;font-size:10px;font-weight:800}.deployment-card-head>strong{overflow-wrap:anywhere}.deployment-artifact{overflow-wrap:anywhere}.status-badge{flex:0 0 auto;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:800;line-height:1;text-transform:uppercase}.status-badge.status-success{background:#d9f0e1;color:#17623a}.status-badge.status-active{background:#dceafa;color:#245b91}.status-badge.status-partial{background:#fff0c9;color:#76520a}.status-badge.status-failed{background:#f8dddd;color:#8a2f2f}.status-badge.status-neutral{background:#e7eceb;color:#52615e}.deployment-counts{display:flex;flex-wrap:wrap;gap:5px}.deployment-list .deployment-counts>span{padding:3px 6px;border-radius:4px;background:#f0f4f3;color:#52615e;font-size:10px}.deployment-list .deployment-counts .count-success{background:#e2f3e8;color:#17623a}.deployment-list .deployment-counts .count-active{background:#e3eef9;color:#245b91}.deployment-list .deployment-counts .count-failed{background:#fae5e5;color:#8a2f2f}.deployment-dates{width:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(115px,1fr));gap:4px 8px;padding-top:7px;border-top:1px solid #e4eae8}.deployment-list .deployment-dates>span{display:grid;gap:1px;color:#60706d;font-size:10px}.deployment-dates strong{color:#445450;font-size:9px;text-transform:uppercase}.deployment-lifecycle{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:8px}.deployment-lifecycle>span{display:grid;gap:4px;padding:9px 10px;border-radius:6px;background:#f2f6f5;color:#445450;font-size:12px}.deployment-lifecycle strong{color:#60706d;font-size:10px;text-transform:uppercase}.deployment-target-context{display:grid;grid-template-columns:minmax(0,2fr) minmax(180px,1fr);gap:8px}.deployment-target-context>div{display:grid;align-content:start;gap:7px;padding:10px;border-radius:6px;background:#f2f6f5}.deployment-target-context>div>strong{color:#60706d;font-size:10px;text-transform:uppercase}.deployment-target-context>div>span:not(.tag-list){color:#445450;font-size:12px}.deployment-devices .deployment-device{position:relative;align-items:stretch;padding:12px;border-left-width:5px;background:#fff}.deployment-device.status-success{border-left-color:#2d8a57}.deployment-device.status-active{border-left-color:#3478b8}.deployment-device.status-pending,.deployment-device.status-neutral{border-left-color:#8b9ba8}.deployment-device.status-failed{border-left-color:#c84545;background:snow}.deployment-device.status-aborted{border-left-color:#7b556f}.deployment-device.status-skipped{border-left-color:#d49a22}.deployment-device-main{min-width:0;display:flex;align-items:flex-start;gap:10px}.deployment-device-main>div{min-width:0;display:grid;gap:5px}.deployment-device-main strong,.deployment-device-id{overflow-wrap:anywhere}.device-status-dot{width:11px;height:11px;flex:0 0 auto;margin-top:4px;border-radius:50%;background:#8b9ba8;box-shadow:0 0 0 3px #edf1f0}.device-status-dot.status-success{background:#2d8a57}.device-status-dot.status-active{background:#3478b8}.device-status-dot.status-pending{background:#d49a22}.device-status-dot.status-failed{background:#c84545}.device-status-dot.status-aborted{background:#7b556f}.device-status-dot.status-skipped{background:#d49a22}.deployment-device-identity{display:flex;flex-wrap:wrap;align-items:center;gap:5px}.deployment-device-identity>span:not(.group-label),.deployment-device-id{color:#60706d;font-size:11px}.deployment-device-state{min-width:150px;display:grid;justify-items:end;align-content:center;gap:5px;text-align:right}.device-status-badge{padding:4px 8px;border-radius:999px;background:#e7eceb;color:#52615e;font-size:10px;font-weight:800;text-transform:uppercase}.device-status-badge.status-success{background:#d9f0e1;color:#17623a}.device-status-badge.status-active{background:#dceafa;color:#245b91}.device-status-badge.status-pending{background:#fff0c9;color:#76520a}.device-status-badge.status-failed{background:#f8dddd;color:#8a2f2f}.device-status-badge.status-aborted{background:#eadfe7;color:#67445e}.device-status-badge.status-skipped{background:#fff0c9;color:#76520a}.deployment-summary{display:grid;gap:10px;padding:12px;border:1px solid #d7e0de;border-left-width:5px;border-radius:7px;background:#f8fbfa}.deployment-summary.status-success{border-left-color:#2d8a57}.deployment-summary.status-active{border-left-color:#3478b8}.deployment-summary.status-partial{border-left-color:#d49a22}.deployment-summary.status-failed{border-left-color:#b94747}.deployment-summary>div:first-child{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.deployment-summary>div:first-child>span:last-child{flex-basis:100%;color:#60706d;font-size:12px}.deployment-progress{height:14px;display:flex;overflow:hidden;border-radius:999px;background:#e1e8e6;box-shadow:inset 0 1px 2px #1720261f}.deployment-progress span{height:100%;display:block;min-width:2px}.deployment-progress .progress-success,.legend-success{background:#2d8a57}.deployment-progress .progress-active,.legend-active{background:#3478b8}.deployment-progress .progress-pending,.legend-pending{background:#8b9ba8}.deployment-progress .progress-failed,.legend-failed{background:#c84545}.deployment-progress .progress-aborted,.legend-aborted{background:#7b556f}.deployment-progress .progress-skipped,.legend-skipped{background:#d49a22}.deployment-progress-legend{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:6px}.deployment-progress-legend>span{display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;gap:5px;padding:6px 8px;border-radius:5px;background:#fff;color:#52615e;font-size:11px}.deployment-progress-legend>span.empty{opacity:.45}.deployment-progress-legend i{width:9px;height:9px;border-radius:50%}.deployment-progress-legend small{color:#7b8986}.deployment-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px}.deployment-stats-details{min-height:0;border:1px solid #dce4e2;border-radius:6px;background:#fafcfc}.deployment-stats-details summary{padding:8px 10px;color:#52615e;font-size:11px;font-weight:700;cursor:pointer}.deployment-stats-details[open]{max-height:190px;overflow-y:auto}.deployment-stats-details .deployment-stats{padding:0 8px 8px}.deployment-stats>div{display:grid;align-content:start;gap:4px;padding:9px;border:1px solid transparent;border-left-width:4px;border-radius:6px;background:#f2f6f5}.deployment-stats>div.status-success{border-color:#b9ddc7;border-left-color:#2d8a57;background:#edf8f1}.deployment-stats>div.status-active{border-color:#c7dcef;border-left-color:#3478b8;background:#f0f6fc}.deployment-stats>div.status-pending{border-color:#ead79e;border-left-color:#d49a22;background:#fff9e8}.deployment-stats>div.status-failed{border-color:#efc8c8;border-left-color:#c84545;background:#fff3f3}.deployment-stats>div.status-aborted{border-color:#ddcbd7;border-left-color:#7b556f;background:#f8f2f6}.deployment-stats>div.status-skipped{border-color:#ecd79e;border-left-color:#d49a22;background:#fff8e5}.deployment-stats>div.is-empty{border-color:#e2e8e6;border-left-color:#c6d0cd;background:#f6f8f7;opacity:.52;filter:saturate(.25)}.deployment-stats>div.is-empty:hover{opacity:.75}.deployment-stats span{display:flex;align-items:center;gap:7px;color:#60706d;font-size:11px;text-transform:capitalize}.deployment-stats .device-status-dot{width:8px;height:8px;margin-top:0;box-shadow:none}.deployment-device-picker{grid-column:span 2;max-height:190px;display:grid;gap:6px;overflow:auto;padding:8px;border:1px solid #bdc9c7;border-radius:6px;background:#fff}.deployment-device-picker label{display:flex;align-items:center;gap:7px}.log-panel pre{max-height:500px;overflow:auto}@media(max-width:900px){.deployment-layout{height:auto;grid-template-columns:1fr}.deployment-list,.deployment-detail{height:min(65vh,680px)}.artifact-upload,.deployment-form{grid-template-columns:repeat(2,minmax(0,1fr))}.artifact-upload>button,.deployment-form>button{justify-self:start}.deployment-lifecycle{grid-template-columns:repeat(2,minmax(0,1fr))}.deployment-target-context{grid-template-columns:1fr}}input[type=checkbox]{width:16px;height:16px;min-height:0;flex:0 0 auto;margin:0;padding:0;accent-color:#126c5a;cursor:pointer}.loading,.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.login-panel{width:min(420px,100%);display:grid;gap:16px;padding:28px;background:#fff;border:1px solid #d8e0df;border-radius:8px;box-shadow:0 14px 40px #17202614}.login-panel h1,header h1,.detail h2,.users-panel h2{margin:0;letter-spacing:0}.login-panel label{display:grid;gap:6px;color:#52615e}.eyebrow{margin:0 0 4px;color:#60706d;font-size:12px;text-transform:uppercase;letter-spacing:0;font-weight:700}.app-shell{min-height:100vh;display:flex;flex-direction:column;gap:16px;padding:22px}.app-footer{flex:0 0 auto;display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:28px;padding:14px 2px 2px;border-top:1px solid #d9e1df;color:#71807d;font-size:11px}.app-footer span:first-child{color:#52615e;font-weight:700}header,.toolbar,.tabs,.section-head,.button-row,.reject-row,.user-form,.user-row,.account{display:flex;align-items:center;gap:10px}.app-header{justify-content:space-between}.app-header,.header-actions{display:flex;align-items:center;gap:16px}.app-brand,.login-brand{display:flex;align-items:center;gap:12px}.brand-mark{display:block;flex:0 0 auto;width:68px;height:68px;object-fit:contain}.brand-mark-large{width:98px;height:98px}.login-brand{align-items:center;gap:14px}.login-brand .eyebrow{margin:0}.header-actions{justify-content:flex-end}.account strong{padding:4px 8px;border-radius:6px;background:#dce8e5}.tabs{border-bottom:1px solid #d4dddb}.tabs button{border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent}.tabs button.active{border-bottom-color:#126c5a;color:#126c5a;font-weight:700}.toolbar{flex-wrap:wrap}.toolbar input:not([type=checkbox]){min-width:min(360px,100%)}.toolbar .toggle{min-height:38px;padding:0 12px;border:1px solid #bdc9c7;border-radius:6px;background:#fff;color:#172026;white-space:nowrap}.toolbar .toggle:hover{background:#eef4f2}.toolbar .toggle:has(input:checked){border-color:#9bbdb5;background:#edf6f3}.anomalies-toggle{display:inline-flex;align-items:center;gap:7px;border-color:#dac778;color:#725100;background:#fffaf0}.anomalies-toggle:hover,.anomalies-toggle.active{border-color:#c5a83e;background:#fff1c7}.anomalies-toggle span,.anomaly-total{min-width:22px;min-height:22px;display:inline-grid;place-items:center;padding:0 6px;border-radius:999px;background:#e4bd3f;color:#4f3900;font-size:11px;font-weight:800}.anomalies-panel{display:grid;gap:12px;padding:16px;border:1px solid #dac778;border-radius:8px;background:#fffdf7}.anomalies-panel h2{margin:0;font-size:18px}.anomaly-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:8px}.anomaly-row{height:auto;min-height:68px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;border-color:#eadca7;background:#fff;text-align:left}.anomaly-copy{min-width:0;display:grid;gap:3px}.anomaly-copy strong,.anomaly-copy span{overflow:hidden;text-overflow:ellipsis}.anomaly-copy span{color:#6f6550;font-size:12px}.content-grid{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,460px);gap:18px}.content-grid.detail-collapsed{grid-template-columns:minmax(0,1fr)}.connectivity-summary,.profile-flags{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.sync-widget{display:flex;align-items:center;padding:4px;border:1px solid #d6dfdd;border-radius:9px;background:#ffffffd1;box-shadow:0 4px 14px #1720260a}.sync-item{min-width:118px;display:grid;grid-template-columns:7px minmax(0,1fr) 30px;align-items:center;gap:7px;padding:3px 5px 3px 8px}.sync-item+.sync-item{border-left:1px solid #e2e8e7}.sync-dot{width:7px;height:7px;border-radius:50%;background:#83a29b}.sync-running .sync-dot{background:#1976d2;box-shadow:0 0 0 4px #1976d21a}.sync-error .sync-dot{background:#b34141}.sync-copy{min-width:0;display:grid;gap:1px}.sync-copy strong,.sync-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sync-copy strong{font-size:11px;text-transform:uppercase;letter-spacing:.04em}.sync-copy span{color:#60706d;font-size:11px}.sync-button{width:30px;min-height:30px;display:grid;place-items:center;padding:0;border-color:transparent;background:transparent}.sync-running .sync-button .icon{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.connectivity,.profile-flags span{display:inline-flex;align-items:center;min-height:24px;padding:2px 8px;border-radius:6px;font-size:12px;font-weight:700;text-transform:capitalize}.connectivity-cell{display:flex;align-items:center;flex-wrap:nowrap;gap:6px}.table-anomalies{display:inline-flex;align-items:center;flex-wrap:nowrap;gap:4px}.anomaly-badge{display:inline-flex;align-items:center;width:fit-content;min-height:25px;gap:5px;padding:2px 8px;border:1px solid #e0c45e;border-radius:999px;background:#fff1c7;color:#725100;font-size:11px;font-weight:800;white-space:nowrap}.table-anomalies .anomaly-badge{width:24px;min-width:24px;min-height:24px;justify-content:center;padding:0}.anomaly-group{border-color:#df9a84;background:#fbe2da;color:#7e3422}.archive-device-panel{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px;border:1px solid #e3b6aa;border-radius:10px;background:#fff7f5}.archive-device-panel h3,.archive-device-panel p{margin:0}.archive-device-panel h3{color:#7d2c21}.danger-zone{display:grid;gap:10px;padding:14px;border:1px solid #d99588;border-radius:10px;background:#fff3f0}.danger-zone>h3{margin:0;color:#7d2c21}.danger-zone .archive-device-panel{padding:0;border:0;background:transparent}.device-name-edit{display:flex;align-items:center;flex-wrap:nowrap;gap:6px;width:100%}.device-name-edit input{min-width:0;width:100%}.device-name-edit button{flex:0 0 auto;white-space:nowrap}.vpn-ip-display{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.vpn-ip-warning{display:inline-flex;align-items:center;color:#a33d22}.archive-device-panel p{margin-top:4px;color:#6c5b57;font-size:13px}.connectivity-online{color:#17633e;background:#dff3e8}.connectivity-offline{color:#596462;background:#e8edec}.connectivity-never_online{color:#6e5d22;background:#f2ead0}.device-profile-list{display:grid;gap:12px;margin-top:18px}.device-profile{display:grid;gap:11px;padding:14px;border:1px solid #d8e0df;border-radius:8px;background:#fff}.device-profile>div:first-child{display:grid;gap:4px}.device-profile>div:first-child strong{overflow-wrap:anywhere}.device-profile>div:first-child span,.device-profile>span{color:#60706d;font-size:13px}.profile-current{border-color:#9bc9b7;background:#f0faf5;box-shadow:inset 3px 0 #2f8b68}.profile-stale{border-color:#d7bc69;background:#fffaf0}.profile-deleted{border-color:#d8dedd;background:#f4f6f5;box-shadow:none;opacity:.78}.profile-deleted>div:first-child strong{color:#65706e;text-decoration:line-through}.profile-flags span{background:#e6efed;color:#31534c}.vpn-device-actions{display:grid;gap:4px}.vpn-profile-summary{display:grid;gap:14px;padding:14px;border:1px solid #e2e9e7;border-radius:8px;background:#f8faf9}.vpn-profile-summary dl{row-gap:10px}.vpn-profile-summary .button-row,.device-profile .button-row{flex-wrap:wrap}.profile-flags .flag-stale,.stale-badge{background:#fff0bd;color:#725100}.profile-flags .flag-current{background:#d8f1e5;color:#176247}.profile-flags .flag-deleted{background:#e1e5e4;color:#4e5957}.stale-badge{display:inline-flex;align-items:center;min-height:24px;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:700}.error-text{color:#9a3030}.table-wrap,.detail,.users-panel,.groups-panel,.settings-panel,.credentials-panel,.export-panel{min-width:0;background:#fff;border:1px solid #d8e0df;border-radius:8px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{border-bottom:1px solid #edf1f0;padding:12px;text-align:left;white-space:nowrap}th{color:#60706d;font-size:12px;text-transform:uppercase;letter-spacing:0;background:#f8faf9}.sort-button{width:100%;min-height:24px;display:inline-flex;align-items:center;justify-content:space-between;gap:8px;border:0;background:transparent;color:inherit;border-radius:0;padding:0;font-size:inherit;font-weight:700;text-transform:uppercase}.sort-button:hover{background:transparent;color:#126c5a}td span{display:block;color:#60706d;font-size:13px}.muted{color:#60706d}.group-label{display:inline-flex;align-items:center;width:fit-content;min-height:24px;padding:2px 9px;border:1px solid var(--group-border);border-radius:999px;background:var(--group-bg);color:var(--group-color);font-size:12px;font-weight:700}tbody tr{cursor:pointer}tbody tr:hover,tbody tr.selected{background:#edf6f3}.badge{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;font-size:12px;font-weight:700}.badge-pending{background:#fff1c7;color:#725100}.badge-approved{background:#d7f2df;color:#176331}.badge-rejected{background:#f9d6d2;color:#85271d}.badge-downloaded_by_device{background:#dbe7ff;color:#224f9a}.badge-existing_peer{background:#e6e0f4;color:#563a83}.detail{display:grid;align-content:start;gap:18px;padding:18px;overflow:auto}.detail-tabs{display:flex;align-items:center;gap:4px;padding:4px;border-radius:8px;background:#f0f4f3;overflow-x:auto}.detail-tabs button{min-height:34px;display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;white-space:nowrap}.detail-tabs button.active{background:#fff;color:#126c5a;box-shadow:0 1px 4px #17202617;font-weight:700}.tab-count{min-width:20px;height:20px;display:inline-grid;place-items:center;border-radius:999px;background:#e1e9e7;font-size:11px}.warning-count{color:#725100;background:#ffe89a}.detail-full{width:min(1120px,100%);margin:0 auto}.detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.icon-row{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;justify-content:flex-end;flex-shrink:0}.icon-button{width:38px;padding:0;display:inline-grid;place-items:center}.service-grid{display:flex;gap:8px;flex-wrap:wrap}.service-grid button{width:62px;height:58px;display:grid;place-items:center;align-content:center;gap:3px;padding:0}.service-grid button span{font-size:11px;font-weight:800;letter-spacing:.05em}.stale-alert{width:100%;min-height:58px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;border-color:#d7bc69;background:#fffaf0;color:#725100;text-align:left}.stale-alert>span{display:grid;gap:2px}.stale-alert small{font-size:12px;color:#836f2d}.actions-panel{display:grid;gap:10px;padding:10px;border:1px solid #edf1f0;border-radius:6px;background:#f8faf9}.mender-group-panel{display:grid;gap:10px}.mender-group-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:8px}.mender-group-controls .button-row{grid-column:1 / -1}.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.metrics div,.attr-grid div{border:1px solid #edf1f0;border-radius:6px;padding:10px;min-width:0}.metrics span,.attr-grid span,dt{color:#60706d;font-size:12px}.metrics strong,.attr-grid strong{display:block;margin-top:4px;overflow-wrap:anywhere}section h3{margin:0 0 10px;font-size:15px}dl{display:grid;grid-template-columns:110px minmax(0,1fr);gap:8px 12px;margin:0}dd{margin:0;overflow-wrap:anywhere}pre{max-height:240px;overflow:auto;padding:12px;background:#f6f8f7;border:1px solid #e3eae8;border-radius:6px;white-space:pre-wrap;overflow-wrap:anywhere}.attr-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.reject-row{display:flex;align-items:center;gap:8px;margin-top:10px}.reject-row input{min-width:0;flex:1}.users-panel,.groups-panel,.settings-panel,.credentials-panel{padding:18px;display:grid;gap:16px}.settings-form,.credential-form{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.settings-form label{min-width:min(280px,100%);display:grid;gap:6px;color:#52615e}.credential-form input,.credential-form select{min-width:180px}.credential-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:12px}.credential-card{display:grid;align-content:start;gap:14px;padding:16px;border:1px solid #dce5e3;border-radius:8px;background:#fbfcfc}.credential-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.credential-card h3{margin:0 0 4px}.credential-owner{color:#60706d;font-size:13px}.credential-status{display:inline-flex;align-items:center;min-height:26px;padding:3px 9px;border-radius:999px;background:#e8edec;font-size:12px;font-weight:700;white-space:nowrap}.status-active{background:#d7f2df;color:#176331}.status-reissue_required,.status-error{background:#f9d6d2;color:#85271d}.status-provisioning{background:#dbe7ff;color:#224f9a}.status-revoked{background:#e8edec;color:#60706d}.credential-message{padding:9px 10px;border-radius:6px;background:#fff1c7;color:#725100;font-size:13px}.credential-details,.group-facts{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px}.credential-details>div,.group-facts>div{min-width:0;display:grid;gap:3px}.credential-details dt,.group-facts dt{color:#60706d;font-size:11px;font-weight:700;text-transform:uppercase}.credential-details dd,.group-facts dd{font-size:13px}.credential-routes{grid-column:1 / -1}.technical-value{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px!important;overflow-wrap:anywhere}.credential-actions{justify-content:flex-end;padding-top:2px;border-top:1px solid #e6ecea}.group-create-layout{display:grid;grid-template-columns:minmax(280px,360px) minmax(320px,620px);align-items:stretch;gap:16px}.group-form{display:grid;gap:10px;width:100%}.group-form input{min-width:0}.group-form>button{width:100%;white-space:nowrap}.group-form-title{color:#60706d;font-size:12px;font-weight:800;text-transform:uppercase}.group-name-input,.group-cidr-input{width:100%}.group-create-help{display:grid;align-content:start;gap:14px;padding:16px;border:1px solid #cfe1dc;border-radius:8px;background:linear-gradient(135deg,#f3faf7,#fff);color:#52615e}.group-create-help-header{display:flex;align-items:flex-start;gap:10px}.group-create-help-header strong{display:block;color:#1f2d2b;font-size:14px}.group-create-help-header span:not(.group-create-help-icon){display:block;margin-top:3px;color:#60706d;font-size:12px;line-height:1.35}.group-create-help-icon{width:30px;height:30px;display:grid;flex:0 0 auto;place-items:center;border-radius:8px;background:#dff4ed;color:#126c5a}.group-create-help ul{display:grid;gap:9px;margin:0;padding-left:18px;font-size:12px;line-height:1.45}.group-create-help li::marker{color:#126c5a}.group-create-help strong{color:#31534c}.address-stats-dashboard{display:grid;grid-template-columns:minmax(220px,1fr) minmax(260px,1.2fr) repeat(2,minmax(220px,1fr));align-items:center;gap:14px;padding:16px;border:1px solid #dce5e3;border-radius:8px;background:#fbfcfc}.address-stats-copy{display:grid;gap:4px}.address-stats-copy strong{color:#1f2d2b;font-size:18px}.address-stats-copy>span:last-child{color:#60706d;font-size:12px;line-height:1.35}.address-stat-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.address-stat-cards>div{display:grid;gap:4px;min-width:0;padding:10px;border:1px solid #e2eae8;border-radius:8px;background:#fff}.address-stat-cards span{color:#60706d;font-size:11px;font-weight:800;text-transform:uppercase}.address-stat-cards strong{color:#1f2d2b;font-size:18px}.address-pie{display:grid;grid-template-columns:82px minmax(0,1fr);align-items:center;gap:12px;min-width:0}.address-pie-chart{width:82px;height:82px;display:grid;place-items:center;border-radius:50%;box-shadow:inset 0 0 0 1px #17202614}.address-pie-chart span{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:#fff;color:#1f2d2b;font-size:12px;font-weight:800}.address-pie-legend{display:grid;gap:6px;min-width:0;color:#52615e;font-size:12px}.address-pie-legend span{display:flex;align-items:center;gap:7px;min-width:0}.address-pie-legend i{width:10px;height:10px;flex:0 0 auto;border-radius:50%}.group-create-method{display:grid;gap:6px;width:100%;margin:0;padding:0;border:0}.group-create-method legend{padding:0;color:#60706d;font-size:12px;font-weight:800;text-transform:uppercase}.segmented-control{display:inline-grid;grid-template-columns:1fr 1fr;gap:2px;width:100%;padding:2px;border:1px solid #dce5e3;border-radius:8px;background:#edf3f1}.segmented-control label{cursor:pointer}.segmented-control input{position:absolute;opacity:0;pointer-events:none}.segmented-control span{display:grid;place-items:center;min-height:32px;padding:0 10px;border-radius:6px;color:#52615e;font-size:12px;font-weight:800;white-space:nowrap}.segmented-control input:checked+span{background:#fff;color:#126c5a;box-shadow:0 1px 3px #1720261f}.group-size-control{display:grid;gap:6px;width:100%;min-width:0}.group-shared-pool-option{display:flex;align-items:flex-start;gap:9px;width:100%;padding:9px 10px;border:1px solid #dce5e3;border-radius:7px;background:#f4f8f7;color:#263633;cursor:pointer;font-size:12px}.group-shared-pool-option input{flex:0 0 auto;margin-top:2px}.group-shared-pool-option span{display:grid;gap:3px}.group-shared-pool-option small{color:#60706d;font-size:11px}.group-size-control label{display:flex;justify-content:space-between;gap:12px;color:#60706d;font-size:12px;font-weight:800;text-transform:uppercase}.group-size-control label strong{color:#1f2d2b;font-size:13px}.group-size-control input[type=range]{box-sizing:border-box;display:block;width:100%;min-width:0;margin:0;padding:0}.group-size-ticks{display:flex;justify-content:space-between;gap:4px;color:#60706d;font-size:11px;font-weight:700}.group-size-warning{width:100%;display:none;border-radius:6px;padding:6px 8px;background:#fff1c7;color:#725100;font-size:12px}.group-size-warning.visible{display:block}.group-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(480px,1fr));gap:12px}.group-card{display:grid;align-content:start;gap:16px;padding:16px;border:1px solid #dce5e3;border-radius:8px;background:#fbfcfc}.group-card-head,.group-card-actions{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.group-card h3{margin:0 0 8px}.group-statuses{display:flex;flex-wrap:wrap;gap:6px}.group-status-badge{display:inline-flex;align-items:center;min-height:25px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:800}.group-status-ready{background:#d7f2df;color:#176331}.group-status-pending{background:#fff1c7;color:#725100}.group-status-neutral{background:#e8edec;color:#52615e}.group-status-error{background:#f9d6d2;color:#85271d}.group-card-actions{align-items:center;padding-top:12px;border-top:1px solid #e6ecea}.group-device-link{display:inline-flex;align-items:center;gap:7px;color:#126c5a;font-weight:700}.group-addressing{display:flex;gap:8px;width:min(360px,100%)}.group-addressing input{width:150px;min-width:0}.export-panel{padding:16px;display:grid;gap:12px}.export-menu{position:relative;margin-left:auto}.export-menu summary{min-height:38px;display:flex;align-items:center;gap:7px;padding:0 12px;border:1px solid #bdc9c7;border-radius:6px;background:#fff;cursor:pointer;list-style:none}.export-menu summary::-webkit-details-marker{display:none}.export-menu[open] summary{border-color:#8cafaa;background:#edf6f3}.export-menu-popover{position:absolute;z-index:20;top:calc(100% + 6px);right:0;width:230px;display:grid;gap:4px;padding:6px;border:1px solid #d8e0df;border-radius:8px;background:#fff;box-shadow:0 14px 32px #17202624}.export-menu-popover button{height:auto;min-height:56px;display:grid;justify-items:start;align-content:center;gap:3px;padding:8px 10px;border-color:transparent;text-align:left}.export-menu-popover button span{color:#60706d;font-size:12px}.export-panel pre{max-height:340px;margin:0}.section-head{justify-content:space-between}.section-head h2,.section-head h3{margin:0}.user-form{flex-wrap:wrap}.user-form{padding:14px;border:1px solid #dce4e2;border-radius:8px;background:#f8faf9}.user-form>.role-picker{flex-basis:100%}.user-list{display:grid;gap:10px}.user-row{min-height:76px;display:grid;grid-template-columns:minmax(150px,.45fr) minmax(360px,1.4fr) minmax(300px,.9fr);align-items:start;gap:16px;padding:14px;border:1px solid #dce4e2;border-radius:8px;background:#fff}.user-identity{display:grid;gap:4px}.user-identity strong{font-size:15px}.user-identity span{color:#60706d;font-size:12px}.user-access,.user-account-actions,.readonly-user-controls{display:grid;align-content:start;gap:9px}.user-account-actions{grid-template-columns:auto minmax(140px,1fr) auto auto;align-items:center}.role-badges{display:flex;flex-wrap:wrap;gap:5px}.role-badges span{padding:4px 8px;border:1px solid #b9d4ce;border-radius:999px;background:#edf6f3;color:#31534c;font-size:11px;font-weight:700}.role-editor,.permission-details{min-width:0}.role-editor>summary,.permission-details>summary{display:flex;align-items:center;gap:8px;color:#52615e;cursor:pointer;font-size:12px;list-style-position:inside}.role-editor>summary{justify-content:space-between}.role-editor-panel{margin-top:10px;padding:10px;border:1px solid #dce4e2;border-radius:7px;background:#f8faf9}.role-editor-panel .role-picker{grid-template-columns:repeat(auto-fit,minmax(185px,1fr))}.role-editor-panel .role-option{padding:8px}.effective-permissions{max-height:160px;overflow:auto;padding:6px 0}.group-picker{position:relative;min-width:min(360px,100%);display:grid;gap:4px}.group-picker-label{color:#60706d;font-size:12px}.group-picker-summary{display:flex;align-items:center;gap:8px}.group-picker-summary>button{display:inline-flex;align-items:center;gap:7px;flex:0 0 auto}.group-picker-chips{min-width:120px;max-width:280px;display:flex;align-items:center;flex-wrap:wrap;gap:4px}.group-picker.disabled{opacity:.62}.group-picker-popover{position:absolute;z-index:30;top:calc(100% + 6px);right:0;width:min(360px,calc(100vw - 48px));display:grid;gap:8px;padding:10px;border:1px solid #cbd6d4;border-radius:8px;background:#fff;box-shadow:0 14px 32px #17202629}html[data-theme=dark]{--border: #344542;--panel: #1c2726;--surface: #253432;--text: #e8f0ee;--muted: #a9bbb7;--accent: #65c7ac;--shadow: 0 12px 32px rgba(0, 0, 0, .24);color:#e4ecea;background:#111716}html[data-theme=dark] .role-option-head{color:#e4ecea}html[data-theme=dark] button,html[data-theme=dark] input,html[data-theme=dark] select,html[data-theme=dark] textarea{border-color:#43514e;background-color:#202927;color:#e4ecea}html[data-theme=dark] button:hover{background-color:#293532}html[data-theme=dark] button.primary{border-color:#2d9b82;background:#187862;color:#fff}html[data-theme=dark] button.danger{border-color:#bd5959;background:#963f3f;color:#fff}html[data-theme=dark] input::placeholder,html[data-theme=dark] textarea::placeholder{color:#82918d}html[data-theme=dark] .login-panel,html[data-theme=dark] .artifact-upload,html[data-theme=dark] .deployment-form,html[data-theme=dark] .release-card,html[data-theme=dark] .deployment-detail,html[data-theme=dark] .log-panel,html[data-theme=dark] .deployment-list .deployment-card,html[data-theme=dark] .deployment-progress-legend>span,html[data-theme=dark] .deployment-device-picker,html[data-theme=dark] .sync-widget,html[data-theme=dark] .anomaly-row,html[data-theme=dark] .device-profile,html[data-theme=dark] .table-wrap,html[data-theme=dark] .detail,html[data-theme=dark] .users-panel,html[data-theme=dark] .groups-panel,html[data-theme=dark] .settings-panel,html[data-theme=dark] .credentials-panel,html[data-theme=dark] .export-panel,html[data-theme=dark] .detail-tabs button.active,html[data-theme=dark] .credential-card,html[data-theme=dark] .group-card,html[data-theme=dark] .group-create-help,html[data-theme=dark] .address-stats-dashboard,html[data-theme=dark] .address-stat-cards>div,html[data-theme=dark] .export-menu summary,html[data-theme=dark] .export-menu-popover,html[data-theme=dark] .user-row,html[data-theme=dark] .group-picker-popover,html[data-theme=dark] .role-option,html[data-theme=dark] .file-picker{border-color:#35423f;background:#1a2220;color:#e4ecea}html[data-theme=dark] .release-card-head{border-color:#35423f;background:linear-gradient(135deg,#202a27,#1a2321)}html[data-theme=dark] .toolbar .toggle,html[data-theme=dark] .file-picker-button{border-color:#43514e;background:#202927;color:#d9e5e2}html[data-theme=dark] .toolbar .toggle:hover,html[data-theme=dark] .toolbar .toggle:has(input:checked),html[data-theme=dark] .export-menu[open] summary,html[data-theme=dark] .tabs button:hover,html[data-theme=dark] tbody tr:hover,html[data-theme=dark] tbody tr.selected,html[data-theme=dark] .group-picker-options label:hover,html[data-theme=dark] .deployment-list button.selected{border-color:#41796d;background:#20342f}html[data-theme=dark] .artifact-icon,html[data-theme=dark] .release-meta span,html[data-theme=dark] .artifact-meta span,html[data-theme=dark] .tag-list span,html[data-theme=dark] .permission-list code,html[data-theme=dark] .account strong,html[data-theme=dark] .tab-count,html[data-theme=dark] .profile-flags span,html[data-theme=dark] .role-badges span{border-color:#3d5b54;background:#263a35;color:#b8d8d0}html[data-theme=dark] .deployment-lifecycle>span,html[data-theme=dark] .deployment-target-context>div,html[data-theme=dark] .deployment-list .deployment-counts>span,html[data-theme=dark] .deployment-summary,html[data-theme=dark] .deployment-stats-details,html[data-theme=dark] .deployment-stats>div,html[data-theme=dark] .vpn-profile-summary,html[data-theme=dark] .actions-panel,html[data-theme=dark] .user-form,html[data-theme=dark] .role-editor-panel,html[data-theme=dark] pre{border-color:#35423f;background:#171e1d}html[data-theme=dark] .danger-zone{border-color:#75483f;background:#281b19}html[data-theme=dark] .danger-zone>h3,html[data-theme=dark] .archive-device-panel h3{color:#f0aaa0}html[data-theme=dark] .archive-device-panel p{color:#d5aaa4}html[data-theme=dark] th{background:#202826;color:#a7b5b1}html[data-theme=dark] th,html[data-theme=dark] td,html[data-theme=dark] .tabs,html[data-theme=dark] .app-footer,html[data-theme=dark] .sync-item+.sync-item,html[data-theme=dark] .credential-actions,html[data-theme=dark] .group-card-actions,html[data-theme=dark] .group-picker-actions,html[data-theme=dark] .deployment-dates{border-color:#303c39}html[data-theme=dark] .detail-tabs{background:#141b1a}html[data-theme=dark] .anomalies-panel,html[data-theme=dark] .anomalies-toggle,html[data-theme=dark] .stale-alert,html[data-theme=dark] .profile-stale{border-color:#806d35;background:#2b271b;color:#f0d77e}html[data-theme=dark] .deployment-device.status-failed{background:#2b1c1c}html[data-theme=dark] .profile-current{border-color:#356c59;background:#182a24}html[data-theme=dark] .profile-deleted{border-color:#3b4543;background:#1d2423}html[data-theme=dark] .group-label{--group-bg: var(--group-dark-bg);--group-color: var(--group-dark-color);--group-border: var(--group-dark-border)}html[data-theme=dark] .guided-field>span,html[data-theme=dark] .deployment-device-picker>strong,html[data-theme=dark] .release-details p,html[data-theme=dark] .deployment-dates strong,html[data-theme=dark] .deployment-lifecycle>span,html[data-theme=dark] .deployment-target-context>div>span:not(.tag-list),html[data-theme=dark] .login-panel label,html[data-theme=dark] .settings-form label,html[data-theme=dark] .group-size-control label,html[data-theme=dark] .group-create-method legend,html[data-theme=dark] .group-form-title,html[data-theme=dark] .app-footer span:first-child{color:#c1ceca}html[data-theme=dark] .group-size-control label strong{color:#e4ecea}html[data-theme=dark] .group-create-help{background:linear-gradient(135deg,#17231f,#1a2220)}html[data-theme=dark] .group-create-help-header strong,html[data-theme=dark] .group-create-help strong,html[data-theme=dark] .address-stats-copy strong,html[data-theme=dark] .address-stat-cards strong,html[data-theme=dark] .address-pie-chart span{color:#dce8e5}html[data-theme=dark] .group-create-help-header span:not(.group-create-help-icon),html[data-theme=dark] .group-create-help,html[data-theme=dark] .address-stats-copy>span:last-child,html[data-theme=dark] .address-stat-cards span,html[data-theme=dark] .address-pie-legend{color:#a7b5b1}html[data-theme=dark] .group-create-help-icon{background:#203c35;color:#87d7c6}html[data-theme=dark] .address-pie-chart span{background:#1a2220}html[data-theme=dark] .segmented-control{border-color:#35423f;background:#141b1a}html[data-theme=dark] .segmented-control span{color:#a7b5b1}html[data-theme=dark] .segmented-control input:checked+span{background:#20342f;color:#87d7c6}html[data-theme=dark] .guided-field small,html[data-theme=dark] .deployment-device-picker>small,html[data-theme=dark] .form-intro span,html[data-theme=dark] .file-picker-name,html[data-theme=dark] .artifact-row span,html[data-theme=dark] .deployment-list span,html[data-theme=dark] .deployment-devices span,html[data-theme=dark] .deployment-progress-legend>span,html[data-theme=dark] .deployment-progress-legend small,html[data-theme=dark] .deployment-stats span,html[data-theme=dark] .eyebrow,html[data-theme=dark] .app-footer,html[data-theme=dark] .sync-copy span,html[data-theme=dark] .device-profile>div:first-child span,html[data-theme=dark] .device-profile>span,html[data-theme=dark] td span,html[data-theme=dark] .muted,html[data-theme=dark] .metrics span,html[data-theme=dark] .attr-grid span,html[data-theme=dark] dt,html[data-theme=dark] .credential-owner,html[data-theme=dark] .export-menu-popover button span,html[data-theme=dark] .user-identity span,html[data-theme=dark] .group-picker-label,html[data-theme=dark] .form-hint,html[data-theme=dark] .readonly-user,html[data-theme=dark] .empty{color:#92a29e}html[data-theme=dark] .sort-button:hover,html[data-theme=dark] .tabs button.active,html[data-theme=dark] .group-device-link{color:#66c7b0}html[data-theme=dark] .deployment-progress{background:#293331}html[data-theme=dark] .deployment-progress-ring>span{background:#1a2220;color:#b9c7c3}@media(max-width:620px){.login-theme-toggle{top:12px;right:12px}}.group-picker-options{max-height:220px;display:grid;gap:2px;overflow:auto}.group-picker-options label{min-height:36px;display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:5px}.group-picker-options label:hover{background:#edf6f3}.group-picker-actions{justify-content:flex-end;padding-top:4px;border-top:1px solid #edf1f0}.form-hint{flex-basis:100%;color:#60706d;font-size:12px}.toggle{display:inline-flex;gap:6px;align-items:center}.readonly-user{color:#60706d}.readonly-user-controls{grid-column:2 / -1}.error,.notice,.warning,.empty{border-radius:6px;padding:10px 12px}.error{background:#f9d6d2;color:#85271d}.notice{background:#d7f2df;color:#176331}.warning{display:grid;gap:4px;background:#fff1c7;color:#725100}.warning-with-icon{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px}.warning-with-icon>span{display:grid;gap:3px}.empty{color:#60706d}@media(max-width:980px){.content-grid{grid-template-columns:1fr}.app-header{align-items:flex-start;flex-direction:column}.header-actions{width:100%;justify-content:space-between}.user-row{grid-template-columns:1fr}.readonly-user-controls{grid-column:auto}}@media(max-width:620px){.app-shell{padding:14px}.app-brand{gap:9px}.brand-mark{width:36px;height:36px}.app-footer{align-items:flex-start;flex-direction:column}.deployment-devices .deployment-device{flex-direction:column}.deployment-device-state{width:100%;justify-items:start;text-align:left}.release-card-head,.artifact-row{align-items:stretch;flex-direction:column}.release-actions,.artifact-row .button-row{width:100%}.release-actions button,.artifact-row .button-row button{flex:1}.artifact-upload,.deployment-form{grid-template-columns:1fr}.deployment-device-picker{grid-column:auto}.artifact-upload>button,.deployment-form>button{width:100%}.metrics,.attr-grid,dl,.mender-group-controls{grid-template-columns:1fr}.button-row,.reject-row{align-items:stretch;flex-direction:column}.user-account-actions{grid-template-columns:1fr}.header-actions,.account{width:100%;align-items:stretch;flex-direction:column}.sync-widget{width:100%}.sync-item{width:50%;min-width:0}.export-menu{width:100%;margin-left:0}.export-menu summary{justify-content:center}.export-menu-popover{right:auto;left:0;width:min(100%,280px)}.anomaly-list,.group-list,.credential-list,.group-create-layout,.address-stats-dashboard{grid-template-columns:1fr}.address-pie{grid-template-columns:82px minmax(0,1fr)}.settings-form,.credential-form,.group-addressing,.group-card-actions,.credential-card-head{align-items:stretch;flex-direction:column}.credential-details,.group-facts{grid-template-columns:1fr}.credential-routes{grid-column:auto}.group-picker-summary{align-items:stretch;flex-direction:column}.group-picker-chips{max-width:none}.group-picker-popover{right:auto;left:0}}
