:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#1d2939;background:#f5f7fa;font-synthesis:none}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{border:0;border-radius:9px;background:#2563eb;color:#fff;padding:.7rem 1rem;font-weight:700;cursor:pointer}button:hover{filter:brightness(.96)}button.secondary{background:#eef2f6;color:#344054}button.danger{background:#b42318}code{font-family:"SFMono-Regular",Consolas,monospace;word-break:break-all}.topbar{height:68px;background:#101828;color:#fff;display:flex;align-items:center;padding:0 max(24px,calc((100vw - 1280px)/2));gap:30px;position:sticky;top:0;z-index:5}.brand{display:flex;align-items:center;gap:10px;font-weight:800;white-space:nowrap}.brand-mark{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:#2563eb;color:#fff;font-size:28px;font-weight:900}.brand-mark.small{width:34px;height:34px;border-radius:9px;font-size:19px}.topbar nav{display:flex;gap:4px;flex:1}.topbar nav a{padding:10px 12px;border-radius:8px;color:#d0d5dd}.topbar nav a.active,.topbar nav a:hover{background:#344054;color:#fff}.inline-form{margin:0}.container{max-width:1280px;margin:0 auto;padding:32px 24px 60px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}.page-heading h1{margin:0 0 4px;font-size:30px}.muted{color:#667085;margin:.25rem 0}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:18px}.stat,.card{background:#fff;border:1px solid #e4e7ec;border-radius:14px;box-shadow:0 2px 8px rgba(16,24,40,.04)}.stat{padding:20px;display:flex;flex-direction:column;gap:6px}.stat span,.stat small{color:#667085}.stat strong{font-size:27px}.stat strong.ok{color:#067647}.stat strong.bad{color:#b42318}.card{padding:22px;margin-bottom:18px}.card h2{margin:0 0 16px;font-size:19px}.card h3{margin:0 0 10px;font-size:15px}.warning-card{border-left:4px solid #f79009}.alert{padding:12px 14px;border-radius:10px;margin-bottom:16px;border:1px solid}.alert.success{background:#ecfdf3;border-color:#abefc6;color:#067647}.alert.error{background:#fef3f2;border-color:#fecdca;color:#b42318}.alert.warning{background:#fffaeb;border-color:#fedf89;color:#b54708}.config-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.config-grid div,.copy-list>div{display:flex;flex-direction:column;gap:6px;background:#f8fafc;border:1px solid #eaecf0;border-radius:10px;padding:13px}.config-grid span,.copy-list span{font-size:13px;color:#667085;font-weight:700}.form-grid{display:grid;grid-template-columns:1.4fr 1.4fr 1fr auto;gap:14px;align-items:end}.form-grid.two{grid-template-columns:1fr 1fr auto}.form-action{display:flex;align-items:end;height:100%}label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#475467;font-weight:700}input,select{width:100%;border:1px solid #d0d5dd;border-radius:9px;background:#fff;color:#101828;padding:.68rem .75rem;outline:none}input:focus,select:focus{border-color:#84adff;box-shadow:0 0 0 3px #d1e0ff}.table-card{padding:0;overflow:auto}table{border-collapse:collapse;width:100%;min-width:780px}th,td{text-align:left;padding:13px 15px;border-bottom:1px solid #eaecf0;vertical-align:middle}th{background:#f9fafb;color:#475467;font-size:12px;text-transform:uppercase;letter-spacing:.04em}td{font-size:14px}tr:last-child td{border-bottom:0}td.actions,.actions{display:flex;gap:8px;align-items:center}.empty{text-align:center;color:#667085;padding:26px}.pill{display:inline-flex;padding:4px 9px;border-radius:999px;background:#f2f4f7;color:#475467;font-size:12px}.pill.online{background:#dcfae6;color:#067647}.group-list{display:grid;gap:18px}.group-card{margin:0}.group-head{display:grid;grid-template-columns:1fr 1.4fr;gap:14px;margin-bottom:18px}.member-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.check-list{border:1px solid #eaecf0;border-radius:10px;max-height:270px;overflow:auto;padding:6px}.check{display:flex;flex-direction:row;align-items:center;gap:10px;padding:9px;border-radius:8px}.check:hover{background:#f8fafc}.check input{width:auto}.check span{display:flex;flex-direction:column;color:#344054}.check small{font-weight:400;color:#667085}.copy-list{display:grid;gap:10px}.copy-list>div{display:grid;grid-template-columns:130px 1fr auto;align-items:center}.copy-list code{background:#fff;padding:8px;border-radius:7px;border:1px solid #eaecf0}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top,#dbeafe 0,#f5f7fa 46%)}.login-card{width:min(420px,100%);background:#fff;border:1px solid #e4e7ec;border-radius:18px;padding:34px;box-shadow:0 18px 50px rgba(16,24,40,.13)}.login-card .brand-mark{margin-bottom:18px}.login-card h1{margin:0;font-size:30px}.login-card form{display:grid;gap:15px;margin-top:24px}.login-card button{margin-top:4px}@media(max-width:900px){.topbar{height:auto;flex-wrap:wrap;padding:14px 18px;gap:10px}.topbar nav{order:3;width:100%;overflow:auto}.stats{grid-template-columns:1fr 1fr}.form-grid,.form-grid.two{grid-template-columns:1fr 1fr}.member-columns,.group-head,.config-grid{grid-template-columns:1fr}.copy-list>div{grid-template-columns:1fr}.container{padding:24px 14px}}@media(max-width:560px){.stats,.form-grid,.form-grid.two{grid-template-columns:1fr}.page-heading{align-items:flex-start;flex-direction:column}.topbar .inline-form{margin-left:auto}}

/* v1.5 group workspace */
.alert.info{background:#eff8ff;border-color:#b2ddff;color:#175cd3}.groups-heading{align-items:center}.group-summary-pills{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.summary-pill{display:inline-flex;gap:6px;align-items:center;background:#fff;border:1px solid #d0d5dd;border-radius:999px;padding:7px 11px;color:#475467;font-size:13px}.summary-pill strong{color:#101828}.summary-pill.attention{background:#fffaeb;border-color:#fedf89;color:#b54708}.groups-workspace{display:grid;grid-template-columns:320px minmax(0,1fr);gap:18px;align-items:start}.groups-sidebar{position:sticky;top:86px;display:grid;gap:18px}.compact-card{padding:16px;margin:0}.compact-card h2{margin:0;font-size:18px}.section-title-row,.editor-title-row,.member-card-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.section-title-row small{color:#667085}.search-field{margin-top:14px}.search-field span,.filter-field span{font-size:12px;color:#667085}.group-nav{display:grid;gap:6px;margin-top:12px;max-height:430px;overflow:auto}.group-nav-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px;border:1px solid transparent;border-radius:10px}.group-nav-item:hover{background:#f8fafc;border-color:#eaecf0}.group-nav-item.active{background:#eff4ff;border-color:#b2ccff}.group-nav-main{min-width:0;display:flex;flex-direction:column;gap:3px}.group-nav-main strong,.group-nav-main small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.group-nav-main small{color:#667085}.group-nav-counts{display:flex;flex-direction:column;gap:4px;flex:0 0 auto}.group-nav-counts span{background:#f2f4f7;border-radius:999px;padding:3px 7px;font-size:11px;color:#475467;text-align:center}.group-nav-item.active .group-nav-counts span{background:#d1e0ff;color:#1849a9}.compact-empty{padding:18px 8px}.stacked-form{display:grid;gap:12px;margin-top:14px}.groups-editor{min-width:0}.group-editor-form{display:grid;gap:18px}.group-editor-form>.card{margin:0}.group-details-card{padding:20px}.editor-title-row{align-items:center;margin-bottom:18px}.editor-title-row h2{font-size:24px;margin:2px 0 0}.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:800;color:#667085}.member-card{padding:0;overflow:hidden}.member-card-head{padding:20px 20px 14px}.member-card-head h2{margin:0 0 4px}.selection-counter{white-space:nowrap;border-radius:999px;background:#eff4ff;color:#1849a9;padding:7px 11px;font-size:13px}.member-toolbar{padding:12px 20px;display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:12px;align-items:end;background:#f9fafb;border-top:1px solid #eaecf0;border-bottom:1px solid #eaecf0}.member-toolbar.device-toolbar{grid-template-columns:minmax(260px,1fr) 130px 150px auto}.inline-search{margin:0}.filter-field{display:flex;flex-direction:column;gap:6px}.toolbar-actions{display:flex;gap:8px;justify-content:flex-end}.toolbar-actions button{white-space:nowrap;padding:.65rem .8rem}.responsive-table{overflow:auto}.member-table{min-width:660px}.device-assignment-table{min-width:980px}.member-table th{position:sticky;top:0;z-index:1}.member-table tr[hidden],.group-nav-item[hidden]{display:none}.member-table tbody tr:hover{background:#f8fafc}.member-table input[type=checkbox]{width:18px;height:18px;accent-color:#2563eb}.check-col{width:46px}.truncate-cell{display:block;max-width:310px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pill.unassigned{background:#f2f4f7;color:#475467}.pill.current-group{background:#dcfae6;color:#067647}.pill.other-group{background:#fff4ed;color:#b93815}.pill.role-admin{background:#f4ebff;color:#6941c6}.pill.role-operator{background:#eff8ff;color:#175cd3}.pill.role-viewer{background:#f2f4f7;color:#475467}.pill.role-pro{background:#fff4ed;color:#b93815}.status-text.ok-text,.ok-text{color:#067647;font-weight:700}.table-footer{padding:10px 20px;border-top:1px solid #eaecf0;background:#f9fafb;color:#667085;font-size:13px;text-align:right}.sticky-save-bar{position:sticky;bottom:14px;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;border-radius:14px;background:rgba(16,24,40,.96);color:#fff;box-shadow:0 10px 30px rgba(16,24,40,.22);backdrop-filter:blur(10px)}.sticky-save-bar .muted{color:#d0d5dd}.empty-state-card{text-align:center;padding:60px 24px}.create-group-card button{width:100%}
@media(max-width:1050px){.groups-workspace{grid-template-columns:1fr}.groups-sidebar{position:static;grid-template-columns:1fr 1fr}.group-nav{max-height:300px}.member-toolbar.device-toolbar{grid-template-columns:1fr 1fr}.toolbar-actions{justify-content:flex-start}.sticky-save-bar{bottom:8px}}
@media(max-width:700px){.groups-sidebar{grid-template-columns:1fr}.member-toolbar,.member-toolbar.device-toolbar{grid-template-columns:1fr}.group-summary-pills{justify-content:flex-start}.editor-title-row,.member-card-head{flex-direction:column}.editor-title-row .actions{width:100%}.editor-title-row .actions button{flex:1}.sticky-save-bar{align-items:stretch;flex-direction:column}.sticky-save-bar button{width:100%}}

/* v1.6 multi-page groups, configurable device table and device details */
textarea{width:100%;border:1px solid #d0d5dd;border-radius:9px;background:#fff;color:#101828;padding:.68rem .75rem;outline:none;resize:vertical;font:inherit}textarea:focus{border-color:#84adff;box-shadow:0 0 0 3px #d1e0ff}.button-link{display:inline-flex;align-items:center;justify-content:center;border-radius:9px;background:#2563eb;color:#fff;padding:.7rem 1rem;font-weight:700;white-space:nowrap}.button-link:hover{filter:brightness(.96)}.button-link.secondary{background:#eef2f6;color:#344054}.nowrap{white-space:nowrap}.no-margin{margin:0}.back-link{display:inline-flex;margin-bottom:8px;color:#175cd3;font-weight:700}.narrow-card{max-width:760px;margin-inline:auto}.form-actions-right{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:8px}.two-wide{grid-template-columns:1fr 1.4fr}.compact-muted{font-size:11px}.badge-list{display:flex;gap:5px;flex-wrap:wrap;align-items:center}.mini-badge{display:inline-flex;align-items:center;border-radius:999px;padding:3px 7px;background:#eef4ff;color:#3538cd;font-size:11px;font-weight:700}.card-heading-padded{padding:20px;display:flex;justify-content:space-between;align-items:end;gap:18px;border-bottom:1px solid #eaecf0}.card-heading-padded h2{margin:0}.wrap-value{white-space:pre-wrap;word-break:break-word;max-width:760px}.table-value{display:block;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-data-table{min-width:max(900px,100%)}.device-list-toolbar,.group-overview-toolbar{display:flex;align-items:end;justify-content:space-between;gap:18px}.device-list-toolbar .search-field,.group-overview-toolbar .search-field{flex:1;max-width:620px}

.nav-dropdown{position:relative}.nav-dropdown-toggle{background:transparent;color:#d0d5dd;font-weight:500;padding:10px 12px;border-radius:8px}.nav-dropdown-toggle:hover,.nav-dropdown.active .nav-dropdown-toggle,.nav-dropdown.open .nav-dropdown-toggle{background:#344054;color:#fff;filter:none}.nav-dropdown-menu{display:none;position:absolute;top:calc(100% + 8px);left:0;min-width:220px;padding:7px;background:#fff;color:#1d2939;border:1px solid #e4e7ec;border-radius:11px;box-shadow:0 14px 34px rgba(16,24,40,.18);z-index:20}.nav-dropdown.open .nav-dropdown-menu,.nav-dropdown:hover .nav-dropdown-menu{display:grid}.nav-dropdown-menu a{color:#344054!important;padding:10px 11px!important;border-radius:8px}.nav-dropdown-menu a:hover{background:#f2f4f7!important;color:#101828!important}

.group-tile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.group-tile{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:auto auto;gap:12px 14px;align-items:center;background:#fff;border:1px solid #e4e7ec;border-radius:16px;padding:20px;box-shadow:0 3px 12px rgba(16,24,40,.05);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.group-tile:hover{transform:translateY(-2px);border-color:#b2ccff;box-shadow:0 12px 28px rgba(16,24,40,.10)}.group-tile[hidden]{display:none}.group-tile-icon{grid-row:1/3;width:48px;height:48px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(145deg,#2e6cf6,#1849a9);color:#fff;font-size:22px;font-weight:900}.group-tile-body{min-width:0}.group-tile-body h2{margin:0 0 4px;font-size:19px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.group-tile-body p{margin:0;color:#667085;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.group-tile-stats{grid-column:2/3;display:flex;gap:8px;flex-wrap:wrap}.group-tile-stats span{background:#f8fafc;border:1px solid #eaecf0;border-radius:999px;padding:5px 9px;font-size:12px;color:#475467}.group-tile-arrow{grid-column:3;grid-row:1/3;font-size:25px;color:#98a2b3}.group-meta-card{margin-bottom:18px}.group-page-form{display:grid;gap:18px}.group-page-form>.card{margin:0}

.transfer-section{padding:0;overflow:hidden}.transfer-section>.section-title-row{padding:22px;border-bottom:1px solid #eaecf0;align-items:center}.transfer-section>.section-title-row h2{margin:3px 0 4px}.transfer-layout{display:grid;grid-template-columns:minmax(0,1fr) 190px minmax(0,1fr);gap:14px;padding:18px;background:#f8fafc}.transfer-column{min-width:0;background:#fff;border:1px solid #e4e7ec;border-radius:13px;overflow:hidden;display:flex;flex-direction:column;min-height:420px}.transfer-column-head{padding:14px;border-bottom:1px solid #eaecf0;background:#fff;display:grid;gap:10px}.transfer-column-head>div{display:flex;justify-content:space-between;gap:10px;align-items:center}.transfer-column-head h3{margin:0;font-size:15px}.transfer-column-head span{font-size:12px;color:#667085}.transfer-list{display:grid;gap:8px;padding:10px;overflow:auto;max-height:520px;align-content:start}.user-transfer-list{max-height:420px}.transfer-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px;border:1px solid #e4e7ec;border-radius:11px;background:#fff;transition:border-color .15s ease,background .15s ease}.transfer-item:hover{border-color:#b2ccff;background:#f9fbff}.transfer-item[hidden]{display:none}.item-select{width:18px;height:18px;accent-color:#2563eb}.transfer-item-main{min-width:0;display:grid;gap:4px}.transfer-item-main strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.transfer-item-main small{color:#667085;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-move{padding:.55rem .7rem;font-size:12px;white-space:nowrap}.item-move.add{background:#ecfdf3;color:#067647}.item-move.remove{background:#fef3f2;color:#b42318}.transfer-controls{display:flex;flex-direction:column;justify-content:center;gap:10px}.transfer-controls button{white-space:normal;line-height:1.25}.selection-counter{flex:0 0 auto}.sticky-save-bar .actions{flex-wrap:wrap}

.detail-hero{display:flex;justify-content:space-between;gap:20px;align-items:center}.detail-hero h2{font-size:28px;margin:3px 0 7px}.detail-section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.detail-card{margin:0}.detail-card dl{margin:0;display:grid}.detail-card dl>div{display:grid;grid-template-columns:minmax(130px,.7fr) minmax(0,1.3fr);gap:14px;padding:10px 0;border-bottom:1px solid #eaecf0}.detail-card dl>div:last-child{border-bottom:0}.detail-card dt{font-size:13px;color:#667085;font-weight:700}.detail-card dd{margin:0;word-break:break-word}

.column-config-list{display:grid;gap:9px;margin-top:16px}.column-config-row{display:grid;grid-template-columns:34px 105px minmax(190px,1fr) minmax(180px,1fr) auto;gap:12px;align-items:center;padding:11px;border:1px solid #e4e7ec;border-radius:11px;background:#fff}.column-config-row[hidden]{display:none}.column-config-row.dragging{opacity:.45;border-color:#84adff}.drag-handle{cursor:grab;font-size:20px;color:#98a2b3;text-align:center}.visibility-toggle{display:flex;flex-direction:row;align-items:center;gap:8px}.visibility-toggle input{width:18px;height:18px}.column-key{min-width:0;display:grid;gap:3px}.column-key span{font-size:11px;color:#667085;font-weight:700}.column-key code{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.column-move-buttons{display:flex;gap:5px}.column-move-buttons button{padding:.55rem .7rem}.settings-save{margin-top:16px}

@media(max-width:1100px){.group-tile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.transfer-layout{grid-template-columns:1fr}.transfer-controls{flex-direction:row}.transfer-controls button{flex:1}.detail-section-grid{grid-template-columns:1fr}.column-config-row{grid-template-columns:30px 95px 1fr auto}.column-key{grid-column:3}.column-move-buttons{grid-column:4;grid-row:1/3}.two-wide{grid-template-columns:1fr}}
@media(max-width:720px){.group-tile-grid{grid-template-columns:1fr}.device-list-toolbar,.group-overview-toolbar,.detail-hero,.card-heading-padded{align-items:stretch;flex-direction:column}.transfer-section>.section-title-row{align-items:flex-start;flex-direction:column}.transfer-item{grid-template-columns:auto minmax(0,1fr)}.item-move{grid-column:1/3;width:100%}.column-config-row{grid-template-columns:28px 1fr auto}.visibility-toggle{grid-column:2}.column-config-row>label:not(.visibility-toggle){grid-column:1/4}.column-key{grid-column:1/4}.column-move-buttons{grid-column:3;grid-row:1/3}.detail-card dl>div{grid-template-columns:1fr;gap:4px}.topbar nav{overflow:visible;flex-wrap:wrap}.nav-dropdown-menu{position:fixed;left:16px;right:16px;top:125px}}
.select-visible-link{justify-self:start;background:transparent;color:#175cd3;padding:0;font-size:12px}.select-visible-link:hover{text-decoration:underline;filter:none}

/* v1.7 branding, automatic group saving and recoverable clients */
.brand-logo-image{display:block;height:var(--brand-logo-height,38px);width:auto;max-width:230px;object-fit:contain;flex:0 0 auto}.brand-title{line-height:1}.login-card{text-align:center}.login-card form{text-align:left}.login-logo{display:block;max-width:min(300px,90%);max-height:150px;width:auto;height:auto;margin:0 auto 22px;object-fit:contain}.login-card .brand-mark{margin:0 auto 18px}.topbar .brand{align-self:stretch;align-items:center}.autosave-status{display:inline-flex;align-items:center;gap:7px;border:1px solid #d0d5dd;background:#fff;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:700;white-space:nowrap}.autosave-status::before{content:"";width:8px;height:8px;border-radius:50%;background:#98a2b3}.autosave-status.saving{color:#b54708;background:#fffaeb;border-color:#fedf89}.autosave-status.saving::before{background:#f79009;animation:pulse-save 1s infinite}.autosave-status.saved{color:#067647;background:#ecfdf3;border-color:#abefc6}.autosave-status.saved::before{background:#17b26a}.autosave-status.error{color:#b42318;background:#fef3f2;border-color:#fecdca}.autosave-status.error::before{background:#f04438}@keyframes pulse-save{50%{opacity:.35}}.danger-zone{border-color:#fecdca;background:#fffafa}.group-delete-zone{margin-top:18px}.group-delete-zone>div{display:flex;justify-content:space-between;align-items:center;gap:24px}.group-delete-zone h2{color:#b42318;margin-bottom:5px}.noscript-save{text-align:right}.section-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}.section-tabs a{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid #d0d5dd;background:#fff;border-radius:10px;color:#344054;font-weight:700}.section-tabs a:hover{border-color:#84adff;background:#f5f8ff}.section-tabs span{display:inline-grid;place-items:center;min-width:25px;height:22px;border-radius:999px;background:#f2f4f7;color:#475467;font-size:12px}.page-subheading{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin:38px 0 16px;scroll-margin-top:90px}.page-subheading h2{margin:0 0 4px;font-size:25px}.pill.restricted{background:#fef3f2;color:#b42318}.branding-settings label small{font-weight:400;color:#667085}.settings-logo-preview{display:block;max-width:260px;max-height:90px;object-fit:contain}.logo-remove-form{margin-top:14px}.branding-settings .form-grid{margin-top:18px}
@media(max-width:720px){.brand-title{display:none}.brand-logo-image{max-width:150px}.group-delete-zone>div,.branding-settings .section-title-row{align-items:stretch;flex-direction:column}.group-delete-zone form,.group-delete-zone button{width:100%}.autosave-status{align-self:flex-start}.settings-logo-preview{margin-inline:auto}.page-subheading{align-items:flex-start;flex-direction:column}}

/* v1.8 responsive UI, reliable navigation, comments and web-connect actions */
textarea{width:100%;border:1px solid #d0d5dd;border-radius:9px;background:#fff;color:#101828;padding:.75rem;outline:none;resize:vertical;font:inherit;line-height:1.45}textarea:focus{border-color:#84adff;box-shadow:0 0 0 3px #d1e0ff}.mobile-nav-toggle{display:none}.topbar>.inline-form{margin-left:auto}.topbar nav{min-width:0}.nav-dropdown{position:relative;color:#d0d5dd}.nav-dropdown summary{list-style:none;display:flex;align-items:center;gap:7px;padding:10px 12px;border-radius:8px;cursor:pointer;user-select:none;color:#d0d5dd}.nav-dropdown summary::-webkit-details-marker{display:none}.nav-dropdown summary:hover,.nav-dropdown summary:focus-visible,.nav-dropdown.active summary,.nav-dropdown[open] summary{background:#344054;color:#fff;outline:none}.nav-dropdown-menu{display:none;position:absolute;top:calc(100% + 8px);left:0;min-width:230px;padding:7px;background:#fff;color:#1d2939;border:1px solid #e4e7ec;border-radius:11px;box-shadow:0 14px 34px rgba(16,24,40,.18);z-index:50}.nav-dropdown:not([open]) .nav-dropdown-menu{display:none!important}.nav-dropdown[open] .nav-dropdown-menu{display:grid!important}.nav-dropdown-menu a{color:#344054!important;padding:10px 11px!important;border-radius:8px}.nav-dropdown-menu a:hover,.nav-dropdown-menu a:focus-visible{background:#f2f4f7!important;color:#101828!important;outline:none}

.role-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.role-grid article{padding:15px;border:1px solid #eaecf0;border-radius:11px;background:#f9fafb}.role-grid p{margin:9px 0 0;color:#475467;line-height:1.5}.role-admin{background:#e0e7ff;color:#3730a3}.role-operator{background:#dbeafe;color:#1d4ed8}.role-viewer{background:#ecfdf3;color:#067647}.role-pro{background:#f2f4f7;color:#475467}

.action-buttons,.detail-top-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.detail-top-actions{justify-content:flex-end}.button-link,.warning-button{display:inline-flex;align-items:center;justify-content:center;min-height:38px;border-radius:9px;padding:.62rem .85rem;font-weight:700;white-space:nowrap}.button-link{background:#2563eb;color:#fff}.button-link.secondary{background:#eef2f6;color:#344054}.button-link.connect{background:#067647}.warning-button{background:#f79009;color:#fff}.actions form,.action-buttons form,.detail-top-actions form{margin:0}.inline-comment{min-width:220px;max-width:360px}.inline-comment.saving,.device-comment-card textarea.saving{border-color:#f79009;background:#fffcf5}.inline-comment.saved,.device-comment-card textarea.saved{border-color:#17b26a}.inline-comment.error,.device-comment-card textarea.error{border-color:#f04438;background:#fff5f5}.comment-save-status{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:700;color:#667085}.comment-save-status::before{content:"";width:8px;height:8px;border-radius:50%;background:#98a2b3}.comment-save-status.saving{color:#b54708}.comment-save-status.saving::before{background:#f79009}.comment-save-status.saved{color:#067647}.comment-save-status.saved::before{background:#17b26a}.comment-save-status.error{color:#b42318}.comment-save-status.error::before{background:#f04438}.device-comment-card textarea{margin-top:8px}.table-value{display:block;max-width:360px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wrap-value{white-space:normal;word-break:break-word}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.action-config-list{display:grid;gap:9px;margin-top:16px}.action-config-row{grid-template-columns:34px 105px minmax(220px,1fr) auto}.action-config-label{display:grid;gap:3px}.action-config-label small{color:#667085}.action-config-row.dragging{opacity:.45;border-color:#84adff}.web-access-test{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px}.setup-details{margin-top:16px;border:1px solid #d0d5dd;border-radius:10px;background:#f9fafb}.setup-details summary{cursor:pointer;padding:13px 15px;font-weight:700}.setup-details-body{padding:0 15px 15px}.setup-details-body p{line-height:1.55}.checkbox-setting{display:flex;flex-direction:row;align-items:center;gap:10px}.checkbox-setting input{width:18px;height:18px;flex:0 0 auto}.updater-auto-install-toggle>span{display:block}.updater-auto-install-toggle>span,.updater-auto-install-toggle strong,.updater-auto-install-toggle small,.updater-auto-install-toggle em{cursor:default}.updater-auto-install-toggle>input{cursor:pointer}.form-actions-right{display:flex;justify-content:flex-end;gap:10px}.search-field.no-margin{margin:0}.card-heading-padded{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:20px 22px;border-bottom:1px solid #eaecf0}.card-heading-padded h2{margin:0}.summary-pill{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;border:1px solid #d0d5dd;background:#fff;border-radius:999px;padding:8px 12px}.summary-pill.attention{border-color:#fedf89;background:#fffaeb;color:#b54708}.back-link{display:inline-block;margin-bottom:8px;color:#175cd3;font-weight:700}

@media(max-width:1100px){.detail-top-actions{justify-content:flex-start}.role-grid{grid-template-columns:1fr}.action-config-row{grid-template-columns:30px 95px 1fr auto}}

@media(max-width:900px){.topbar{height:auto;min-height:68px;display:flex;flex-wrap:wrap;padding:12px 16px;gap:10px}.mobile-nav-toggle{display:inline-flex;order:2;margin-left:auto;background:#344054;color:#fff}.topbar>.inline-form{order:3;margin-left:0}.topbar nav{display:none;order:4;width:100%;flex-direction:column;gap:4px;padding-top:8px;border-top:1px solid rgba(255,255,255,.12);overflow:visible}.topbar nav.open{display:flex}.topbar nav>a,.nav-dropdown summary{width:100%}.nav-dropdown-menu{position:static;width:100%;margin-top:5px;box-shadow:none;border-color:#475467}.container{padding:22px 14px 50px}.page-heading{align-items:flex-start;flex-direction:column}.page-heading>.detail-top-actions{width:100%}.device-list-toolbar,.group-overview-toolbar{align-items:stretch;flex-direction:column}.device-list-toolbar .search-field,.group-overview-toolbar .search-field{max-width:none}.form-grid,.form-grid.two{grid-template-columns:1fr}.form-action,.form-action button{width:100%}.form-action button{justify-content:center}.role-grid{grid-template-columns:1fr}}

@media(max-width:760px){.responsive-data-table{padding:0;overflow:visible;background:transparent;border:0;box-shadow:none}.responsive-data-table table,.responsive-data-table tbody,.responsive-data-table tr,.responsive-data-table td{display:block;width:100%;min-width:0}.responsive-data-table thead{display:none}.responsive-data-table tbody{display:grid;gap:12px}.responsive-data-table tr{background:#fff;border:1px solid #e4e7ec;border-radius:13px;box-shadow:0 2px 8px rgba(16,24,40,.05);overflow:hidden}.responsive-data-table tr[hidden]{display:none}.responsive-data-table td{display:grid;grid-template-columns:minmax(118px,38%) minmax(0,1fr);gap:12px;align-items:start;padding:11px 14px;border-bottom:1px solid #eaecf0;text-align:left}.responsive-data-table td:last-child{border-bottom:0}.responsive-data-table td::before{content:attr(data-label);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#667085}.responsive-data-table td.actions,.responsive-data-table td.action-buttons{display:flex;flex-wrap:wrap;align-items:center}.responsive-data-table td.actions::before,.responsive-data-table td.action-buttons::before{flex:0 0 100%}.responsive-data-table td.empty{display:block;text-align:center}.responsive-data-table td.empty::before{display:none}.responsive-data-table .inline-comment{min-width:0;max-width:none}.responsive-data-table .table-value{max-width:none;white-space:normal;word-break:break-word}.responsive-data-table .button-link,.responsive-data-table button{flex:1 1 auto}.card-heading-padded{align-items:stretch;flex-direction:column;padding:16px}.detail-hero{align-items:flex-start}.detail-top-actions{width:100%}.detail-top-actions>*{flex:1 1 auto}.action-config-row,.column-config-row{grid-template-columns:30px 1fr auto}.action-config-row .visibility-toggle,.column-config-row .visibility-toggle{grid-column:2}.action-config-label{grid-column:1/4}.action-config-row .column-move-buttons,.column-config-row .column-move-buttons{grid-column:3;grid-row:1/3}.web-access-test{align-items:stretch;flex-direction:column}.web-access-test code{width:100%}.form-actions-right{justify-content:stretch}.form-actions-right button{width:100%}.copy-list>div{grid-template-columns:1fr}.transfer-layout{padding:10px}.transfer-column{min-height:320px}.transfer-list{max-height:400px}}

@media(max-width:520px){.topbar{align-items:center}.topbar .brand{max-width:calc(100% - 180px)}.brand-logo-image{max-width:120px}.brand-title{display:none}.mobile-nav-toggle{padding:.58rem .72rem}.topbar>.inline-form button{padding:.58rem .72rem}.container{padding-inline:10px}.card{padding:16px;border-radius:12px}.stats{grid-template-columns:1fr}.detail-top-actions>*{flex:1 1 100%}.action-buttons>*{flex:1 1 100%}.responsive-data-table td{grid-template-columns:1fr;gap:5px}.transfer-controls{flex-direction:column}.transfer-item{grid-template-columns:auto minmax(0,1fr)}.item-move{grid-column:1/3}.group-tile{padding:16px}.login-card{padding:24px 18px}.login-logo{max-width:80%}}

/* v1.9: own web client, deterministic group menu, custom device names and admin-coteki */
.topbar nav{align-self:stretch;align-items:center}
.nav-dropdown{align-self:stretch;display:flex;align-items:center}
.nav-dropdown summary{min-height:44px}
.nav-dropdown-menu{top:calc(100% + 10px)}
.coteki-nav-link{border:1px solid rgba(255,255,255,.16)}
.coteki-badge{display:inline-flex;align-items:center;white-space:nowrap;border-radius:999px;padding:6px 10px;background:#eef4ff;color:#3538cd;font-size:12px;font-weight:800}

.detail-top-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:nowrap}
.detail-top-actions>a,.detail-top-actions>form,.detail-top-actions button{flex:0 0 auto}
.detail-top-actions .button-link,.detail-top-actions button{min-height:38px;padding:.62rem .78rem}

.device-name-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:end;margin-top:14px}
.device-name-toggle{grid-column:1/-1;justify-content:flex-start;padding:12px 14px;border:1px solid #e4e7ec;border-radius:10px;background:#f9fafb}
.device-name-toggle input{flex:0 0 auto}
.device-name-card input[readonly]{background:#f2f4f7;color:#667085}
.comment-save-status.saved{color:#067647}.comment-save-status.saved::before{background:#17b26a}

.key-management-card textarea{font-family:"SFMono-Regular",Consolas,monospace;word-break:break-all}
.key-action-row{display:flex;justify-content:flex-end;margin-top:4px}
.key-export-form{margin-top:12px}
.compact-alert{margin:14px 0 0}

@media(max-width:900px){
  .topbar nav{align-self:auto;align-items:stretch}
  .nav-dropdown{align-self:auto;display:block}
  .nav-dropdown-menu{top:auto}
  .device-name-grid{grid-template-columns:1fr}
  .device-name-toggle{grid-column:1}
  .detail-top-actions{justify-content:flex-start;flex-wrap:wrap}
}
@media(max-width:560px){
  .detail-top-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .detail-top-actions>a,.detail-top-actions>form,.detail-top-actions button{width:100%}
  .detail-top-actions form{display:block}
  .key-action-row,.key-action-row button,.key-export-form,.key-export-form button{width:100%}
}

/* v1.9 final alignment: desktop navigation and dropdown share one baseline. */
@media(min-width:901px){
  .topbar nav{align-self:center;align-items:center;height:44px}
  .topbar nav>a{height:44px;display:flex;align-items:center}
  .nav-dropdown{align-self:center;display:block;height:44px;position:relative}
  .nav-dropdown summary{height:44px;min-height:44px;display:flex;align-items:center}
  .nav-dropdown-menu{top:calc(44px + 8px)}
}

/* v2.0: customer/coteki separation, configurable action colors and audit log */
.device-action-button{background:var(--action-color,#475467)!important;color:#fff!important;border-color:transparent!important}
.device-action-button:hover{filter:brightness(.93)}
.coteki-nav-badge{display:inline-flex;align-items:center;align-self:center;padding:6px 10px;border:1px solid rgba(255,255,255,.22);border-radius:999px;color:#d1e9ff;font-size:12px;font-weight:800;white-space:nowrap}
.coteki-only-card{border-color:#c7d7fe;background:linear-gradient(180deg,#fff 0%,#f8f9ff 100%)}
.action-config-row{grid-template-columns:34px 105px minmax(190px,1fr) 110px 94px auto}
.action-color-field{display:flex;flex-direction:row;align-items:center;gap:8px;font-size:12px;font-weight:700;color:#475467}
.action-color-field input[type=color]{width:44px;height:34px;padding:2px;border:1px solid #d0d5dd;border-radius:8px;background:#fff;cursor:pointer}
.action-color-preview{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 12px;border-radius:8px;font-size:12px;font-weight:800;white-space:nowrap}
.activity-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:16px 0}
.activity-summary-card{display:grid;gap:6px;min-height:128px}
.activity-summary-card>span{font-size:13px;font-weight:800;color:#667085;text-transform:uppercase;letter-spacing:.03em}
.activity-summary-card>strong{font-size:20px;word-break:break-word}
.activity-summary-card>small{color:#667085;line-height:1.45}
.activity-filter-bar{display:grid;grid-template-columns:minmax(260px,1.8fr) repeat(3,minmax(150px,.7fr));gap:12px;align-items:end;margin:18px 0}
.activity-filter-bar label{margin:0}
.activity-table-wrap{padding:0;margin-top:6px;box-shadow:none}
.activity-table-wrap table{min-width:1150px}
.activity-table-wrap td{vertical-align:top}
.error-pill{background:#fee4e2;color:#b42318}
.log-details summary{cursor:pointer;font-weight:700;color:#175cd3;white-space:nowrap}
.log-details pre{max-width:520px;max-height:240px;overflow:auto;margin:8px 0 0;padding:10px;border-radius:8px;background:#101828;color:#f2f4f7;font-size:11px;white-space:pre-wrap;word-break:break-word}
@media(max-width:1100px){.activity-filter-bar{grid-template-columns:1fr 1fr}.activity-summary-grid{grid-template-columns:1fr}}
@media(max-width:900px){.coteki-nav-badge{align-self:flex-start;margin:6px 10px}.action-config-row{grid-template-columns:30px 95px minmax(150px,1fr) 100px 86px auto}}
@media(max-width:760px){.action-config-row{grid-template-columns:30px 1fr auto}.action-config-row .action-color-field{grid-column:2}.action-config-row .action-color-preview{grid-column:2}.activity-filter-bar{grid-template-columns:1fr}.activity-table-wrap table{min-width:0}.activity-table-wrap .log-details pre{max-width:100%}}

.event-code {
    display: block;
    margin-top: .2rem;
    color: var(--muted, #667085);
    font-size: .72rem;
    overflow-wrap: anywhere;
}

/* v2.1: separate dashboard/log layouts, downloads and runtime webclient settings */
.dashboard-layout{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:start}
.dashboard-layout .dashboard-widget-wide{grid-column:1/-1}
.dashboard-layout .stat{margin:0;min-height:150px}
.settings-scope-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
.settings-scope-card{padding:18px;border:1px solid #e4e7ec;border-radius:14px;background:#fbfcfe}
.settings-scope-card h3{margin:0 0 14px}
.compact-config-list{gap:8px}
.compact-config-row{grid-template-columns:30px 100px minmax(0,1fr) auto;padding:10px 12px;background:#fff}
.compact-config-row .config-item-label{display:grid;gap:2px;min-width:0}
.compact-config-row .config-item-label small{color:#667085}
.log-column-row{grid-template-columns:30px 100px minmax(180px,1fr) minmax(110px,.55fr) auto}
.log-column-row>code{align-self:center;overflow-wrap:anywhere;color:#475467}
.portal-log-scope{margin-top:14px;border:1px solid #d0d5dd;border-radius:12px;background:#fff;overflow:hidden}
.portal-log-scope>summary{cursor:pointer;padding:15px 18px;font-weight:800;background:#f9fafb}
.portal-log-scope[open]>summary{border-bottom:1px solid #e4e7ec}
.portal-log-scope-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;padding:16px}
.filter-setting-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.filter-setting-grid fieldset,.event-type-fieldset{margin:0;padding:12px;border:1px solid #d0d5dd;border-radius:10px;background:#fff}
.filter-setting-grid legend,.event-type-fieldset legend{padding:0 6px;font-weight:800;color:#344054}
.filter-setting-grid label,.event-type-grid label,.all-event-types{display:flex;align-items:flex-start;gap:8px;margin:8px 0;font-weight:600;color:#344054}
.filter-setting-grid input,.event-type-grid input,.all-event-types input{width:auto;margin-top:2px}
.event-type-fieldset{margin-top:14px}
.event-type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;margin-top:10px;max-height:340px;overflow:auto;padding-right:4px}
.event-type-grid label{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 8px;padding:9px;border:1px solid #eaecf0;border-radius:8px;background:#f9fafb}
.event-type-grid label input{grid-row:1/3}
.event-type-grid label code{font-size:10px;overflow-wrap:anywhere;color:#667085}
.event-type-grid.disabled{opacity:.5}
.webclient-target-preview{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;margin:15px 0;padding:12px 14px;border:1px solid #b2ccff;border-radius:10px;background:#eff4ff}
.webclient-target-preview span{font-weight:800;color:#1849a9}
.webclient-target-preview code{overflow-wrap:anywhere}
.download-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:16px}
.download-card{display:flex;flex-direction:column;gap:14px;margin:0}
.download-card-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
.download-card-head h2{margin:8px 0 4px}
.package-meta{display:grid;gap:8px;margin:0}
.package-meta>div{display:grid;grid-template-columns:100px minmax(0,1fr);gap:10px}
.package-meta dt{font-weight:800;color:#667085}.package-meta dd{margin:0;min-width:0;overflow-wrap:anywhere}
.download-card-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:auto}
.download-mini-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:12px}
.download-mini-card{display:grid;gap:4px;padding:13px;border:1px solid #e4e7ec;border-radius:10px;text-decoration:none;color:#101828;background:#fff}
.download-mini-card:hover{border-color:#84adff;background:#f5f8ff}.download-mini-card span,.download-mini-card small{color:#667085}
.copy-deploy-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;margin-top:16px}.copy-deploy-row label{margin:0}
.update-endpoints{margin-top:16px}
.setup-details pre{margin:10px 0;padding:12px;border-radius:9px;background:#101828;color:#f2f4f7;overflow:auto}

@media(max-width:1200px){.dashboard-layout{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-scope-grid,.portal-log-scope-body{grid-template-columns:1fr}}
@media(max-width:900px){.filter-setting-grid{grid-template-columns:1fr 1fr}.event-type-grid{grid-template-columns:1fr}.compact-config-row,.log-column-row{grid-template-columns:30px 95px minmax(0,1fr) auto}.log-column-row>code{grid-column:3}.webclient-target-preview{grid-template-columns:1fr}.download-grid{grid-template-columns:1fr}}
@media(max-width:620px){.dashboard-layout{grid-template-columns:1fr}.dashboard-layout .dashboard-widget-wide{grid-column:auto}.filter-setting-grid{grid-template-columns:1fr}.compact-config-row,.log-column-row{grid-template-columns:30px minmax(0,1fr) auto}.compact-config-row .visibility-toggle,.log-column-row .visibility-toggle{grid-column:2}.compact-config-row .config-item-label,.log-column-row>label:not(.visibility-toggle),.log-column-row>code{grid-column:2/4}.compact-config-row .column-move-buttons,.log-column-row .column-move-buttons{grid-column:3;grid-row:1/3}.copy-deploy-row{grid-template-columns:1fr}.package-meta>div{grid-template-columns:1fr;gap:2px}}
.dashboard-layout>.dashboard-widget{grid-column:span var(--widget-span,1)}
.dashboard-layout>.dashboard-widget-wide{grid-column:span var(--widget-span,4)}
.widget-span-field{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:700;color:#475467}.widget-span-field select{min-width:116px;padding:.45rem .55rem}
.compact-config-row:has(.widget-span-field){grid-template-columns:30px 100px minmax(0,1fr) 140px auto}
@media(max-width:900px){.compact-config-row:has(.widget-span-field){grid-template-columns:30px 95px minmax(0,1fr) auto}.widget-span-field{grid-column:3}.compact-config-row:has(.widget-span-field) .column-move-buttons{grid-column:4}}
@media(max-width:620px){.compact-config-row:has(.widget-span-field){grid-template-columns:30px minmax(0,1fr) auto}.widget-span-field{grid-column:2/4}.compact-config-row:has(.widget-span-field) .column-move-buttons{grid-column:3}}


/* v2.2 — definitive responsive header and update/download UI */
.topbar{height:68px!important;min-height:68px!important;display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;align-items:center!important;gap:22px!important;padding:0 max(20px,calc((100vw - 1280px)/2))!important;flex-wrap:nowrap!important}
.topbar .brand{justify-self:start;min-width:0;max-width:260px}
.brand-logo-image{display:block;height:var(--brand-logo-height,38px);width:auto;max-width:190px;object-fit:contain;object-position:left center}
.topbar nav{display:flex!important;align-items:center!important;justify-content:flex-start;gap:4px;min-width:0;overflow:visible!important;width:auto!important;order:initial!important;padding:0!important;border:0!important}
.topbar>.inline-form{justify-self:end;margin:0!important;order:initial!important}
.mobile-nav-toggle{display:none!important}
.nav-dropdown{align-self:center!important;height:auto!important;display:block!important}
.nav-dropdown summary{min-height:40px!important;height:auto!important}
.nav-dropdown-menu{top:calc(100% + 8px)!important}
.package-icon{width:68px;height:68px;border-radius:15px;object-fit:contain;background:#f2f4f7;border:1px solid #e4e7ec;padding:7px;flex:0 0 auto}
.package-icon-small{width:42px;height:42px;border-radius:10px;padding:4px;grid-row:1/4;align-self:center}
.download-card-head{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:start}
.download-card-title{min-width:0}.download-card-title h2{overflow-wrap:anywhere}
.download-mini-card{grid-template-columns:auto minmax(0,1fr)!important;column-gap:10px!important}.download-mini-card strong,.download-mini-card span,.download-mini-card small{grid-column:2}
.input-action-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.input-action-row button{white-space:nowrap}
.generated-url-panel{display:grid;gap:12px;padding:16px;border:1px solid #b2ddff;background:#eff8ff;border-radius:12px}
.generated-url-actions{display:flex;flex-wrap:wrap;gap:8px}.generated-url-actions button{flex:0 1 auto}
.webclient-master-toggle{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:12px;padding:16px;margin-bottom:16px;border:1px solid #84adff;border-radius:12px;background:#f5f8ff;color:#1849a9}
.webclient-master-toggle input{width:20px;height:20px;margin-top:2px}.webclient-master-toggle span{display:grid;gap:3px}.webclient-master-toggle small{font-weight:400;color:#475467;line-height:1.4}
@media(max-width:900px){
  .topbar{height:64px!important;min-height:64px!important;grid-template-columns:minmax(0,1fr) auto!important;padding:0 14px!important;gap:10px!important;position:sticky!important}
  .topbar .brand{grid-column:1;max-width:calc(100vw - 92px);justify-self:start!important;margin:0!important}
  .brand-logo-image{max-width:150px;height:min(var(--brand-logo-height,38px),44px)}
  .brand-title{display:inline!important;overflow:hidden;text-overflow:ellipsis}
  .mobile-nav-toggle{display:inline-flex!important;grid-column:2;justify-self:end;align-items:center;justify-content:center;width:44px;height:42px;padding:0!important;font-size:0;background:#344054!important;order:initial!important;margin:0!important}
  .mobile-nav-toggle::before{content:'☰';font-size:23px;line-height:1;color:#fff}
  .topbar nav{display:none!important;position:fixed!important;top:64px!important;left:0!important;right:0!important;bottom:0!important;z-index:100!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;width:100%!important;padding:12px 14px 24px!important;background:#101828!important;border-top:1px solid rgba(255,255,255,.12)!important;overflow-y:auto!important}
  .topbar nav.open{display:flex!important}
  .topbar nav>a,.nav-dropdown summary{width:100%!important;min-height:48px!important;display:flex!important;align-items:center!important;padding:12px 14px!important}
  .nav-dropdown{width:100%!important;height:auto!important;align-self:stretch!important}
  .nav-dropdown-menu{position:static!important;width:100%!important;margin:4px 0 6px!important;padding:6px!important;box-shadow:none!important;border-color:#475467!important;background:#1d2939!important}
  .nav-dropdown-menu a{color:#e4e7ec!important;min-height:44px;display:flex;align-items:center}
  .coteki-nav-badge{margin:8px 12px}
  .topbar>.inline-form{display:none!important}
  .topbar nav.open~.inline-form{display:block!important;position:fixed;z-index:101;left:14px;right:14px;bottom:14px}
  .topbar nav.open~.inline-form button{width:100%;min-height:46px}
  .download-card-head{grid-template-columns:auto minmax(0,1fr)}.download-card-head>strong{grid-column:2}
}
@media(max-width:560px){
  .brand-title{display:none!important}.brand-logo-image{max-width:130px}
  .input-action-row{grid-template-columns:1fr}.input-action-row button{width:100%}
  .generated-url-actions{display:grid}.generated-url-actions button{width:100%}
  .download-card-head{grid-template-columns:1fr}.download-card-head>strong{grid-column:1}.package-icon{width:58px;height:58px}
}

/* v2.3 — password policies and strict vertical-only responsive layout */
html,body{width:100%;max-width:100%;overflow-x:hidden!important}
body{min-width:0}
img,svg,video,canvas{max-width:100%}
.container,.card,.stat,.page-heading,.topbar,.topbar nav,.topbar .brand,.form-grid,.config-grid,.stats,.dashboard-layout,.settings-scope-grid,.portal-log-scope-body,.column-config-list,.column-config-row,.member-columns,.groups-workspace,.groups-editor,.groups-sidebar,.transfer-board,.transfer-column,.download-grid,.activity-filter-bar{min-width:0;max-width:100%}
input,select,textarea,button,a,code,pre{max-width:100%}
input,select,textarea{min-width:0}
pre{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}
.table-card,.responsive-table,.responsive-data-table,.activity-table-wrap,.check-list,.group-nav,.event-type-grid,.setup-details pre{overflow-x:hidden!important}
table,.member-table,.device-assignment-table,.device-data-table{width:100%!important;min-width:0!important;max-width:100%!important;table-layout:fixed}
th,td{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:break-word}
td.actions,.actions,.user-row-actions{flex-wrap:wrap;min-width:0}
.user-row-actions form,.user-row-actions button{flex:0 1 auto}
.password-policy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.password-policy-panel{min-width:0;margin:0;padding:18px;border:1px solid #d0d5dd;border-radius:12px;background:#f9fafb}
.password-policy-panel legend{padding:0 8px;font-weight:800;color:#344054}
.policy-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 14px;margin:14px 0}
.policy-check-grid label{display:flex;flex-direction:row;align-items:flex-start;gap:8px;font-weight:600;color:#344054}
.policy-check-grid input{width:auto;flex:0 0 auto;margin-top:2px}
.compact-security-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}

@media(max-width:1100px){
  .container{width:100%;padding-left:14px!important;padding-right:14px!important}
  .password-policy-grid{grid-template-columns:1fr}
  .form-grid,.form-grid.two,.config-grid,.stats,.member-columns,.groups-workspace,.portal-log-scope-body,.settings-scope-grid{max-width:100%}
}

@media(max-width:900px){
  .container{padding:18px 10px 44px!important}
  .card{padding:16px;margin-bottom:14px}
  .page-heading,.section-title-row,.editor-title-row,.member-card-head{max-width:100%;flex-wrap:wrap}
  .form-grid,.form-grid.two,.compact-security-grid{grid-template-columns:1fr!important}
  .policy-check-grid{grid-template-columns:1fr}
  .copy-list>div,.webclient-target-preview,.copy-deploy-row,.input-action-row{grid-template-columns:1fr!important}
  .responsive-data-table{padding:0!important;background:transparent;border:0;box-shadow:none}
  .responsive-data-table table,.responsive-data-table tbody,.responsive-data-table tr,.responsive-data-table td{display:block;width:100%!important;max-width:100%!important}
  .responsive-data-table thead{display:none}
  .responsive-data-table tbody{display:grid;gap:12px}
  .responsive-data-table tr{border:1px solid #e4e7ec;border-radius:12px;background:#fff;box-shadow:0 2px 8px rgba(16,24,40,.04);overflow:hidden}
  .responsive-data-table td{display:grid!important;grid-template-columns:minmax(105px,34%) minmax(0,1fr);gap:10px;align-items:start;padding:11px 13px;border-bottom:1px solid #eaecf0}
  .responsive-data-table td:last-child{border-bottom:0}
  .responsive-data-table td::before{content:attr(data-label);font-size:11px;line-height:1.35;text-transform:uppercase;letter-spacing:.04em;color:#667085;font-weight:800;min-width:0}
  .responsive-data-table td.actions{display:flex!important;flex-wrap:wrap;gap:8px}
  .responsive-data-table td.actions::before{flex:0 0 100%}
  .responsive-data-table td.empty{display:block!important;text-align:center}
  .responsive-data-table td.empty::before{display:none}
  .responsive-data-table select,.responsive-data-table input,.responsive-data-table textarea{width:100%;min-width:0}
  .responsive-data-table .inline-form{max-width:100%}
  .responsive-data-table button,.responsive-data-table .button-link{white-space:normal;text-align:center}
  .column-config-row,.compact-config-row,.action-config-row,.log-column-row{max-width:100%!important;overflow:hidden}
  .topbar nav{overflow-x:hidden!important}
}

@media(max-width:560px){
  .container{padding-left:8px!important;padding-right:8px!important}
  .card{padding:14px;border-radius:11px}
  .login-shell{padding:12px;overflow-x:hidden}
  .login-card{padding:24px 18px;max-width:100%}
  .responsive-data-table td{grid-template-columns:1fr;gap:5px;padding:10px 12px}
  .responsive-data-table td.actions::before{flex-basis:100%}
  .responsive-data-table td.actions>*{width:100%;max-width:100%}
  .responsive-data-table td.actions .inline-form,.responsive-data-table td.actions .inline-form button{width:100%}
  .page-heading h1{font-size:25px}
  .topbar .brand{max-width:calc(100vw - 76px)!important}
  .brand-logo-image{max-width:112px!important}
  .download-card,.download-mini-card,.generated-url-panel,.password-policy-panel{max-width:100%;overflow:hidden}
}
.topbar{width:100%!important;max-width:100%!important;overflow-x:clip!important}
body>*{max-width:100%}

/* v2.4 — RustDesk users in customer portal */
.readonly-fieldset {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
}

/* v2.4.1 — live device status on the detail page */
.detail-name-status-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    min-width: 0;
}
.detail-name-status-row h2 {
    margin: 0;
    min-width: 0;
}
.device-live-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 24px;
    flex: 0 0 auto;
    vertical-align: middle;
}
.device-status-dot {
    display: inline-block;
    width: 13px;
    height: 13px;
    border-radius: 999px;
    border: 2px solid rgba(255, 255, 255, .92);
    flex: 0 0 auto;
}
.device-live-status.is-online .device-status-dot {
    background: #12b76a;
    box-shadow: 0 0 0 0 rgba(18, 183, 106, .48), 0 0 9px rgba(18, 183, 106, .66);
    animation: device-online-pulse 1.8s ease-out infinite;
}
.device-live-status.is-offline .device-status-dot {
    background: #d92d20;
    box-shadow: 0 0 8px rgba(217, 45, 32, .62);
    animation: none;
}
.device-live-status.mode-dot .device-status-text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
.device-live-status.mode-text .device-status-dot {
    display: none;
}
.device-live-status.mode-text .device-status-text {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 3px 10px;
    border-radius: 999px;
    font-size: 12px;
    line-height: 1.2;
    font-weight: 800;
}
.device-live-status.mode-text.is-online .device-status-text {
    color: #067647;
    background: #ecfdf3;
    border: 1px solid #abefc6;
}
.device-live-status.mode-text.is-offline .device-status-text {
    color: #b42318;
    background: #fef3f2;
    border: 1px solid #fecdca;
}
.status-preview-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 12px;
    padding: 12px 14px;
    border: 1px solid #eaecf0;
    border-radius: 10px;
    background: #f9fafb;
}
.status-preview-row > span:first-child {
    font-weight: 700;
    color: #475467;
}
@keyframes device-online-pulse {
    0% { box-shadow: 0 0 0 0 rgba(18, 183, 106, .48), 0 0 9px rgba(18, 183, 106, .66); }
    70% { box-shadow: 0 0 0 8px rgba(18, 183, 106, 0), 0 0 9px rgba(18, 183, 106, .66); }
    100% { box-shadow: 0 0 0 0 rgba(18, 183, 106, 0), 0 0 9px rgba(18, 183, 106, .66); }
}
@media (prefers-reduced-motion: reduce) {
    .device-live-status.is-online .device-status-dot {
        animation: none;
    }
}

/* v2.6.9: device-wide password editor, deterministic log pagination and
   mobile dashboard cards that never create implicit off-screen grid columns. */
.device-password-form{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-top:18px}
.device-password-form>label{flex:1 1 520px;margin:0;min-width:0}
.device-password-form>.danger{flex:0 0 auto}
.device-password-card .alert{margin:14px 0 0}.pill.attention{background:#fffaeb;color:#b54708}.pill.offline{background:#fef3f2;color:#b42318}
.activity-duration{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700}
.activity-pagination{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:16px;padding-top:14px;border-top:1px solid #eaecf0}
.activity-pagination>span{color:#475467;font-size:14px;text-align:center}
.activity-pagination button:disabled{opacity:.45;cursor:not-allowed}
.dashboard-layout>.dashboard-widget,.dashboard-layout>.dashboard-widget-wide{min-width:0;max-width:100%;overflow:visible}
.dashboard-layout .card,.dashboard-layout .stat,.activity-summary-card,.download-mini-card{min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:break-word}
.dashboard-layout .section-title-row,.dashboard-layout .section-title-row>div,.dashboard-layout .actions{min-width:0;max-width:100%}
.dashboard-layout code,.dashboard-layout input,.dashboard-layout pre{max-width:100%;overflow-wrap:anywhere;word-break:break-all}
@media(max-width:900px){
  .dashboard-layout{grid-template-columns:minmax(0,1fr)!important}
  .dashboard-layout>.dashboard-widget,.dashboard-layout>.dashboard-widget-wide{grid-column:1!important;width:100%!important}
  .dashboard-layout .section-title-row{align-items:stretch;flex-direction:column}
  .dashboard-layout .section-title-row>.actions{width:100%;justify-content:flex-start;flex-wrap:wrap}
  .dashboard-layout .stats,.activity-summary-grid,.download-mini-grid{grid-template-columns:minmax(0,1fr)!important}
  .activity-log-card{padding-inline:14px}
}
@media(max-width:620px){
  .device-password-form{align-items:stretch;flex-direction:column}
  .device-password-form>label,.device-password-form>.danger,.device-password-form .input-action-row,.device-password-form .input-action-row>*{width:100%;flex-basis:auto}
  .activity-pagination{align-items:stretch;flex-direction:column}
  .activity-pagination button{width:100%}
  .activity-pagination>span{order:-1}
  .dashboard-layout .card,.dashboard-layout .stat{padding:16px!important}
  .dashboard-layout .activity-summary-card{min-height:0}
}

/* v3.3 — unified header, plain-text language menu and personal device filters */
.language-settings-form{display:grid;gap:16px}
.language-checkbox-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.language-checkbox-grid .checkbox-setting{border:1px solid #eaecf0;border-radius:10px;padding:11px;background:#f9fafb}
.personal-settings-card{border-left:4px solid #84adff}
.personal-settings-card>.section-title-row{margin-bottom:16px}
.sortable-column{display:flex;align-items:center;justify-content:space-between;gap:8px;color:inherit;white-space:nowrap}
.sortable-column:hover{color:#1849a9}

/* Desktop header: brand, navigation and actions always share one row. */
.topbar{
  width:100%!important;
  height:68px!important;
  min-height:68px!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:18px!important;
  padding:0 max(20px,calc((100vw - 1280px)/2))!important;
  overflow:visible!important;
  flex-wrap:nowrap!important;
}
.topbar>.brand{grid-column:1!important;min-width:0;align-self:center!important}
.topbar>nav{
  grid-column:2!important;
  min-width:0!important;
  width:100%!important;
  height:44px!important;
  display:flex!important;
  align-items:center!important;
  white-space:nowrap!important;
  overflow:visible!important;
}
.topbar>.topbar-actions{
  grid-column:3!important;
  min-width:max-content!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:14px!important;
  margin:0!important;
  position:relative!important;
  overflow:visible!important;
  z-index:80!important;
}
.topbar-actions .inline-form{margin:0!important}
.topbar-logout button{min-height:40px;padding:9px 13px;white-space:nowrap}

/* The selector itself and every dropdown entry are text, not button tiles. */
.language-switcher{position:relative!important;display:block!important;margin:0!important;flex:0 0 auto!important}
.language-switcher>summary{
  all:unset!important;
  box-sizing:border-box!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  padding:4px 0!important;
  color:#f9fafb!important;
  font:500 15px/1.2 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif!important;
  cursor:pointer!important;
  white-space:nowrap!important;
}
.language-switcher>summary::-webkit-details-marker{display:none!important}
.language-switcher>summary:hover,.language-switcher>summary:focus-visible,.language-switcher[open]>summary{
  color:#fff!important;background:transparent!important;outline:none!important;
  text-decoration:underline!important;text-underline-offset:4px!important;
}
.language-chevron{font-size:10px;transition:transform .15s ease}
.language-switcher[open] .language-chevron{transform:rotate(180deg)}
.language-switcher-menu{
  position:absolute!important;
  top:calc(100% + 10px)!important;
  right:0!important;
  left:auto!important;
  z-index:1000!important;
  display:block!important;
  width:max-content!important;
  min-width:170px!important;
  max-width:260px!important;
  margin:0!important;
  padding:7px 0!important;
  border:1px solid #d0d5dd!important;
  border-radius:9px!important;
  background:#fff!important;
  color:#1d2939!important;
  box-shadow:0 16px 36px rgba(16,24,40,.18)!important;
  overflow:hidden!important;
}
.language-switcher:not([open])>.language-switcher-menu{display:none!important}
.topbar .language-switcher-menu .language-text-option{
  all:unset!important;
  box-sizing:border-box!important;
  display:flex!important;
  width:100%!important;
  min-width:170px!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  padding:9px 14px!important;
  color:#344054!important;
  background:transparent!important;
  font:500 14px/1.3 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif!important;
  text-align:left!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  cursor:pointer!important;
}
.topbar .language-switcher-menu .language-text-option:hover,
.topbar .language-switcher-menu .language-text-option:focus-visible{
  color:#101828!important;background:#f2f4f7!important;outline:none!important;text-decoration:none!important;
}
.topbar .language-switcher-menu .language-text-option.active{color:#175cd3!important;background:transparent!important;font-weight:700!important}
.topbar .language-switcher-menu .language-text-option.active:hover{background:#eff4ff!important}
.language-selected{margin-left:auto!important;color:#175cd3!important;font-weight:900!important}

/* Active-client search stays visible; all secondary filters are collapsible. */
.device-filter-card{padding:16px}
.device-filter-form{display:grid;gap:0}
.device-filter-search-row{display:grid;grid-template-columns:minmax(260px,1fr) auto auto;gap:12px;align-items:end}
.device-filter-search-row .summary-pill{align-self:center;white-space:nowrap}
.device-advanced-filters{margin-top:14px;border-top:1px solid #eaecf0;padding-top:10px}
.device-advanced-filters>summary{
  list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:6px 2px;color:#344054;font-size:14px;font-weight:750;cursor:pointer;
}
.device-advanced-filters>summary::-webkit-details-marker{display:none}
.device-advanced-filters>summary:hover{color:#1849a9}
.filter-chevron{font-size:11px;transition:transform .16s ease}
.device-advanced-filters[open] .filter-chevron{transform:rotate(180deg)}
.device-advanced-filters .device-filter-grid{display:grid;margin-top:12px;grid-template-columns:repeat(5,minmax(135px,1fr));gap:12px;align-items:end}
.device-advanced-filters .device-filter-actions{grid-column:1/-1;display:flex;gap:8px;align-items:center}
.password-only-form{grid-template-columns:minmax(280px,620px) auto!important;align-items:end}

@media(max-width:900px){
  .topbar{
    height:64px!important;min-height:64px!important;
    grid-template-columns:minmax(0,1fr) 44px auto!important;
    gap:8px!important;padding:0 12px!important;
  }
  .topbar>.brand{grid-column:1!important;max-width:100%!important}
  .mobile-nav-toggle{
    display:inline-flex!important;grid-column:2!important;justify-self:end!important;
    align-items:center!important;justify-content:center!important;width:44px!important;height:40px!important;
    padding:0!important;margin:0!important;background:#344054!important;font-size:0!important;
  }
  .mobile-nav-toggle::before{content:'☰';font-size:22px;line-height:1;color:#fff}
  .topbar>.topbar-actions{grid-column:3!important;gap:8px!important}
  .topbar-actions .topbar-logout{display:none!important}
  .topbar>nav{
    display:none!important;position:fixed!important;top:64px!important;left:0!important;right:0!important;bottom:0!important;
    z-index:100!important;width:100%!important;height:auto!important;padding:12px 14px 82px!important;
    background:#101828!important;flex-direction:column!important;align-items:stretch!important;
    overflow-y:auto!important;overflow-x:hidden!important;white-space:normal!important;
  }
  .topbar>nav.open{display:flex!important}
  .topbar nav>a,.nav-dropdown summary{width:100%}
  .nav-dropdown-menu{position:static!important;width:100%!important;margin-top:5px!important;box-shadow:none!important;border-color:#475467!important}
  .topbar:has(nav.open) .topbar-logout{
    display:block!important;position:fixed!important;left:14px!important;right:14px!important;bottom:14px!important;z-index:210!important;
  }
  .topbar:has(nav.open) .topbar-logout button{width:100%!important;min-height:46px!important}
  .language-switcher-menu{position:fixed!important;top:58px!important;right:12px!important;left:auto!important;max-width:calc(100vw - 24px)!important}
  .device-advanced-filters .device-filter-grid{grid-template-columns:1fr 1fr}
  .device-filter-search-row{grid-template-columns:minmax(0,1fr) auto}
  .device-filter-search-row .summary-pill{grid-column:1/-1;justify-self:start}
}
@media(max-width:760px){.language-checkbox-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){
  .brand-title{display:none}
  .device-filter-search-row{grid-template-columns:1fr}
  .device-filter-search-row>button{width:100%}
  .device-advanced-filters .device-filter-grid{grid-template-columns:1fr}
  .device-advanced-filters .device-filter-actions{flex-direction:column;align-items:stretch}
  .password-only-form{grid-template-columns:1fr!important}
}
@media(max-width:520px){
  .language-checkbox-grid{grid-template-columns:1fr}
  .topbar{grid-template-columns:minmax(0,1fr) 42px auto!important}
  .mobile-nav-toggle{width:42px!important}
}

/* v6.2 — explicit password administration and clickable dashboard statistics */
.user-create-grid{align-items:end}
.user-create-grid>label,.user-create-grid>.form-action{align-self:end}
.user-create-policy{margin:10px 0 0;font-size:12px;line-height:1.45}
.user-create-policy strong{color:#344054}
.dashboard-stat-link{position:relative;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}
.dashboard-stat-link:hover{transform:translateY(-2px);border-color:#84adff;box-shadow:0 8px 20px rgba(16,24,40,.09);filter:none}
.dashboard-stat-link:focus-visible{outline:3px solid #84adff;outline-offset:3px}
.dashboard-stat-link::after{content:"→";position:absolute;right:16px;top:14px;color:#98a2b3;font-size:18px;font-weight:800}
.reset-password-button{white-space:nowrap}
@media(max-width:900px){
  .user-create-grid{grid-template-columns:1fr!important}
  .user-create-policy{margin-top:12px}
}

/* v6.3 — web-only authenticator OTP and scheduled log retention */
.topbar-otp-link{
  display:inline-flex;align-items:center;justify-content:center;min-height:38px;
  padding:0 4px;color:#d0d5dd;font-size:13px;font-weight:750;white-space:nowrap;
  border-bottom:1px solid transparent
}
.topbar-otp-link:hover,.topbar-otp-link:focus-visible{color:#fff;border-bottom-color:#84adff;outline:none}
.otp-login-form{margin-bottom:12px!important}
.otp-cancel-form{display:block;text-align:center}
.otp-cancel-form button{width:100%}
.otp-code-input{font-variant-numeric:tabular-nums;letter-spacing:.28em;font-size:20px;font-weight:800;text-align:center}
.otp-setup-grid{display:grid;grid-template-columns:minmax(240px,360px) minmax(280px,1fr);gap:28px;align-items:start}
.otp-qr-panel{display:grid;justify-items:center;padding:20px;border:1px solid #eaecf0;border-radius:14px;background:#fff}
.otp-qr-panel img{display:block;width:min(100%,300px);height:auto;background:#fff;border-radius:10px}
.otp-secret-panel{display:grid;gap:14px;align-content:start}
.otp-secret-panel h3{margin:0}
.otp-secret-code{display:block;padding:14px;border:1px solid #d0d5dd;border-radius:10px;background:#f8fafc;font-size:18px;letter-spacing:.12em;overflow-wrap:anywhere;text-align:center}
.otp-secret-panel .copy{justify-self:start}
.otp-regenerate-form{margin-top:2px}
.otp-disable-form{margin-top:20px;max-width:680px}
.otp-settings-summary .button-link{display:inline-flex;margin-top:4px}
.log-cleanup-status{margin-top:16px}
.manual-cleanup-form{margin-top:14px}
.user-row-actions{flex-wrap:wrap}

@media(max-width:1100px){
  .topbar-otp-link{font-size:12px}
}
@media(max-width:900px){
  .topbar-otp-link{display:none}
  .otp-setup-grid{grid-template-columns:1fr}
  .otp-qr-panel{max-width:420px;width:100%;justify-self:center}
}

/* v6.5.1 — universal client updater deployment and device policy */
.updater-command-card,.update-distribution-card{display:grid;gap:16px}
.updater-command-list{display:grid;gap:12px}
.updater-command-list>div{
  display:grid;grid-template-columns:minmax(190px,260px) minmax(0,1fr) auto;
  gap:12px;align-items:center;padding:12px;border:1px solid #eaecf0;border-radius:10px;background:#f8fafc
}
.updater-command-list code{
  display:block;min-width:0;max-width:100%;padding:9px 11px;border:1px solid #d0d5dd;border-radius:8px;
  background:#fff;color:#101828;white-space:nowrap;overflow-x:auto;font-size:12px
}
.update-global-toggle{margin:0;padding:14px;border:1px solid #d0d5dd;border-radius:10px;background:#f8fafc}
.update-global-toggle span{display:grid;gap:3px}
.update-global-toggle small{color:#667085;font-weight:500}
.switch-cell{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.switch-cell input{width:18px;height:18px;margin:0}
.pill.updater-active{background:#ecfdf3;color:#027a48;border-color:#abefc6}
.pill.updater-stale{background:#fffaeb;color:#b54708;border-color:#fedf89}
.pill.updater-not_installed{background:#f2f4f7;color:#475467;border-color:#d0d5dd}
.update-distribution-card .search-field{max-width:620px}
.update-distribution-card .table-card{margin-top:2px}
@media(max-width:900px){
  .updater-command-list>div{grid-template-columns:1fr auto}
  .updater-command-list>div>span{grid-column:1/-1}
}
@media(max-width:620px){
  .updater-command-list>div{grid-template-columns:1fr}
  .updater-command-list .copy{width:100%}
}

/* v6.5.2 — compact per-device updater controls and consistent typography */
.updater-detail-card,.updater-detail-card input,.updater-detail-card button{font-family:inherit;font-size:14px}
.updater-detail-heading h2{font-size:20px;line-height:1.25}
.updater-detail-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start;margin-top:16px}
.updater-policy-panel{border:1px solid #eaecf0;border-radius:12px;background:#f9fafb;padding:16px}
.updater-policy-form{display:grid;gap:13px;margin:0}
.updater-policy-toggle{font-weight:400;white-space:nowrap}
.updater-policy-toggle span{font-weight:400}
.updater-global-hint{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:14px}
.updater-policy-form button{justify-self:start}
.updater-detail-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;margin:0;min-width:0}
.updater-detail-grid>div{display:grid;grid-template-columns:minmax(0,1fr);gap:3px;align-content:start;padding:10px 0;border-bottom:1px solid #eaecf0;min-width:0}
.updater-detail-grid>div.full-width{grid-column:1/-1}
.updater-detail-grid dt,.updater-detail-grid dd{font-family:inherit;font-size:14px;line-height:1.4;font-weight:400;margin:0;min-width:0}
.updater-detail-grid dt{color:#667085;white-space:normal}
.updater-detail-grid dd{color:#101828;overflow-wrap:anywhere}
.updater-detail-grid code{display:block;max-width:100%;overflow-x:auto;white-space:nowrap}
@media(max-width:1100px){.updater-detail-layout{grid-template-columns:1fr}.updater-detail-grid{grid-column:1;grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.updater-detail-grid{grid-template-columns:1fr}.updater-policy-toggle{white-space:normal}}

/* v6.5.8: pagination for device, user and group overviews. */
.list-pagination{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;margin:14px 0 24px;padding:12px 16px;border:1px solid #eaecf0;border-radius:12px;background:#fff}
.list-pagination>span{color:#475467;font-size:14px;text-align:center}
.list-pagination button:disabled{opacity:.45;cursor:not-allowed}
.list-pagination.single-page{display:none}
@media(max-width:720px){.list-pagination{align-items:stretch;flex-direction:column}.list-pagination button{width:100%}.list-pagination>span{order:-1}}

/* v6.5.9: updater-backed PC hardware and storage details. */
.hardware-detail-card{display:grid;gap:18px}
.hardware-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.hardware-subsection{display:grid;gap:10px;border-top:1px solid #eaecf0;padding-top:16px}
.hardware-subsection h3{margin:0;font-size:16px}
.hardware-table{overflow-x:auto!important}
.hardware-table table{min-width:760px}
@media(max-width:720px){.hardware-summary-grid{grid-template-columns:1fr}.hardware-table table{min-width:0}}


/* v6.6.1: consistent device-detail typography based on the server-values table. */
.device-detail-page{font-size:14px;line-height:1.45}
.device-detail-page :where(p,small,label,input,select,textarea,button,.button-link,.back-link,.muted,.pill,dt,dd,td,code,.comment-save-status,.device-status-text,.search-field span){font-size:14px!important;line-height:1.45}
.device-detail-page th{font-size:12px;line-height:1.4}
.device-detail-page .detail-card dt{font-size:14px;font-weight:400}
.device-detail-page .detail-card dd{font-size:14px}
.device-detail-page .hardware-subsection h3{font-size:16px}

/* v6.6.2: server-controlled randomized customer update window. */
.schedule-settings-panel{display:grid;gap:14px;padding:16px;border:1px solid #d0d5dd;border-radius:12px;background:#f9fafb}.schedule-settings-panel h3{margin:0}.schedule-settings-panel .section-title-row{margin:0}


/* v6.6.3: server-side customer download limit and retry queue. */
.download-limit-panel {
    margin-top: 1rem;
    padding: 1rem;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: color-mix(in srgb, var(--surface) 92%, var(--accent) 8%);
}
.download-limit-panel .section-title-row { align-items: flex-start; }
.download-limit-panel .pill { white-space: nowrap; }

.device-control-policy-card { display: grid; gap: 1.25rem; }
.device-control-policy-form { display: grid; gap: 1rem; }
.policy-option-grid, .policy-input-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; align-items: stretch; }
.policy-option-card { display: grid; align-content: start; gap: .55rem; padding: 1rem; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface-soft); }
.policy-option-card small, .policy-input-grid small, .policy-domain-preview small { color: var(--muted); line-height: 1.45; }
.policy-input-grid label { display: grid; grid-template-rows: 1.45rem 10rem auto; align-content: start; gap: .45rem; min-width: 0; }
.policy-input-grid textarea { width: 100%; height: 10rem; min-height: 10rem; margin: 0; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; }
.policy-domain-preview, .policy-status-panel, .policy-copy-form { display: grid; gap: .75rem; padding: 1rem; border: 1px solid var(--border); border-radius: var(--radius); }
.policy-copy-controls { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .8rem; align-items: end; }
.policy-copy-controls label { display: grid; gap: .4rem; }
.policy-copy-preview { min-height: 5rem; padding: .85rem; border: 1px dashed var(--border); border-radius: calc(var(--radius) - 2px); background: var(--surface-soft); }
.policy-preview-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem 1rem; margin: 0; }
.policy-preview-grid > div { min-width: 0; }
.policy-preview-grid dt { color: var(--muted); }
.policy-preview-grid dd { margin: .2rem 0 0; overflow-wrap: anywhere; }
.policy-preview-grid .full-width { grid-column: 1 / -1; }
@media (max-width: 800px) {
    .policy-option-grid, .policy-input-grid, .policy-preview-grid { grid-template-columns: 1fr; }
    .policy-copy-controls { grid-template-columns: 1fr; }
}

/* v6.6.6 — compact device action icons and separated client policy cards */
.device-action-button.icon-only-action{width:34px;height:34px;min-width:34px;min-height:34px;padding:0!important;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;line-height:1}
.device-action-button.icon-only-action .device-action-icon{width:18px;height:18px;display:block;flex:0 0 auto}
.actions.action-buttons .inline-form{display:inline-flex;vertical-align:middle}
.action-icon-only-setting{display:grid!important;grid-template-columns:auto minmax(0,1fr);gap:.15rem .65rem;align-items:start;margin:0 0 1rem;padding:.85rem 1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-soft)}
.action-icon-only-setting input{grid-row:1/3;margin-top:.2rem}
.action-icon-only-setting span{font-weight:700}
.action-icon-only-setting small{color:var(--muted);line-height:1.4}
.windows-update-policy-card .device-control-policy-form,.internet-lockdown-policy-card .device-control-policy-form{display:grid;gap:1rem}
.windows-update-policy-card .policy-option-card,.internet-lockdown-policy-card .policy-option-card{margin:0}
.policy-copy-card .policy-copy-form{border:0;padding:0}

/* v6.6.7 — signed remote full-uninstall status */
.device-full-uninstall-zone > div{align-items:flex-start;gap:24px}
.device-full-uninstall-zone form{flex:0 0 auto}
.remote-command-status{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px}
.device-full-uninstall-zone button[disabled]{opacity:.55;cursor:not-allowed}

/* v6.6.8 — aligned policy editors */
@media (max-width:800px){.policy-input-grid label{grid-template-rows:auto 10rem auto}}

/* v6.6.12 — retained three-day remote-removal report */
.removal-report-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}
.removal-report-meta>div{border:1px solid var(--border);border-radius:10px;padding:12px;min-width:0}
.removal-report-meta dt{font-weight:600;margin-bottom:5px}
.removal-report-meta dd{margin:0;overflow-wrap:anywhere}
.removal-report-log{margin:0;max-height:560px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;background:var(--surface-muted,#f5f7fa);border:1px solid var(--border);border-radius:10px;padding:14px;font:14px/1.5 ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace}
@media (max-width:900px){.removal-report-meta{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.removal-report-meta{grid-template-columns:1fr}}

/* v6.6.13 — live remote-removal journal */
.remote-removal-progress {
    width: 100%;
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--border-color, rgba(127, 127, 127, .25));
}
.remote-removal-progress h3 { margin: 0 0 .75rem; }
.remote-removal-progress .removal-report-log { max-height: 26rem; overflow: auto; }

/* v6.6.18 — short cleanup launcher, updater-only deletion and persistent remote deletion marker */
.remote-delete-triggered { white-space: nowrap; }

/* v6.6.19 — localized removal-status aliases and concise customer-admin uninstall text */

/* v6.6.21 — normal-admin server downloads and configurable login-page colors */

/* v6.6.21 — configurable login colors */
.login-shell{
  background:radial-gradient(circle at top,var(--login-page-accent,#dbeafe) 0,var(--login-page-background,#f5f7fa) 46%);
  color:var(--login-text-color,#1d2939);
}
.login-card{
  background:var(--login-card-background,#fff);
  border-color:var(--login-card-border,#e4e7ec);
  color:var(--login-text-color,#1d2939);
}
.login-card h1,.login-card label{color:var(--login-text-color,#1d2939)}
.login-card .muted{color:var(--login-muted-color,#667085)}
.login-card input{
  background:var(--login-input-background,#fff);
  color:var(--login-input-text,#101828);
  border-color:var(--login-input-border,#d0d5dd);
}
.login-card button:not(.secondary){background:var(--login-button-background,#2563eb);color:var(--login-button-text,#fff)}
.login-design-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:22px;align-items:start}
.login-design-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.login-design-fields input[type=color]{height:44px;padding:4px;cursor:pointer}
.login-design-preview{min-height:420px;display:grid;place-items:center;padding:24px;border:1px solid var(--border,#e4e7ec);border-radius:14px;background:radial-gradient(circle at top,var(--preview-page-accent,#dbeafe) 0,var(--preview-page-background,#f5f7fa) 52%)}
.login-design-preview-card{width:min(310px,100%);display:grid;gap:12px;padding:24px;border:1px solid var(--preview-card-border,#e4e7ec);border-radius:16px;background:var(--preview-card-background,#fff);color:var(--preview-text-color,#1d2939);box-shadow:0 14px 34px rgba(16,24,40,.12)}
.login-design-preview-card>img{display:block;max-width:170px;max-height:72px;margin:0 auto 4px;object-fit:contain}
.login-design-preview-card>.brand-mark{margin:0 auto 4px}
.login-design-preview-card h3{margin:0;text-align:center;font-size:23px;color:var(--preview-text-color,#1d2939)}
.login-design-preview-card>p{margin:0 0 5px;text-align:center;color:var(--preview-muted-color,#667085)}
.login-design-preview-card label{color:var(--preview-text-color,#1d2939)}
.login-design-preview-card input{background:var(--preview-input-background,#fff);color:var(--preview-input-text,#101828);border-color:var(--preview-input-border,#d0d5dd)}
.login-design-preview-card button{background:var(--preview-button-background,#2563eb);color:var(--preview-button-text,#fff)}
.login-design-actions{grid-column:1/-1;display:flex;justify-content:flex-end}
.login-design-reset{margin-top:12px}
@media(max-width:900px){.login-design-layout{grid-template-columns:1fr}.login-design-preview{min-height:360px}.login-design-actions{justify-content:stretch}.login-design-actions button{width:100%}}
@media(max-width:560px){.login-design-fields{grid-template-columns:1fr}}


/* v6.6.22 — per-language login title/subtitle controls */
.login-content-editor{grid-column:1/-1;display:grid;gap:14px;padding:16px;border:1px solid var(--border,#e4e7ec);border-radius:14px;background:rgba(127,127,127,.035)}
.login-content-heading{display:flex;align-items:end;justify-content:space-between;gap:18px}
.login-content-heading h3{margin:0 0 4px}
.login-content-heading p{margin:0}
.login-content-heading>label{min-width:240px}
.login-content-toggles{display:flex;flex-wrap:wrap;gap:10px 24px}
.login-translation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.login-translation-panel{display:grid;gap:10px;min-width:0;padding:14px;border:1px solid var(--border,#e4e7ec);border-radius:12px}
.login-translation-panel legend{padding:0 6px;font-weight:700}
.login-translation-panel textarea{min-height:82px;resize:vertical}
.login-design-reset-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.login-design-preview-card [hidden]{display:none!important}
@media(max-width:900px){.login-content-heading{align-items:stretch;flex-direction:column}.login-content-heading>label{min-width:0}.login-translation-grid{grid-template-columns:1fr}}
.login-design-preview-card [data-login-preview-subtitle]{white-space:pre-line}


/* v6.6.23 — browser title and favicon branding */
.favicon-preview{width:32px;height:32px;object-fit:contain;border:1px solid var(--border,#e4e7ec);border-radius:7px;padding:3px;background:#fff}
.browser-title-preview{display:grid;gap:5px;align-content:center;min-height:76px;padding:12px 14px;border:1px solid var(--border,#e4e7ec);border-radius:10px;background:var(--surface-muted,#f8fafc)}
.browser-title-preview span{font-size:12px;color:var(--muted,#667085)}
.browser-title-preview strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}
.favicon-remove-form{margin-top:12px}

/* v6.6.24 — align support/server package download permissions with normal administrators. */

/* v6.6.27 — clear three-token security layout */
.updater-token-settings{display:grid;gap:14px;padding:16px;border:1px solid #d0d5dd;border-radius:12px;background:#f8fafc}
.updater-token-settings .input-action-row{grid-template-columns:minmax(0,1fr) auto auto}
.updater-token-settings input[type="password"],.updater-token-settings input[type="text"]{font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace}
@media(max-width:1100px){.updater-token-settings .form-grid.three{grid-template-columns:1fr}.updater-token-settings .input-action-row{grid-template-columns:minmax(0,1fr) auto auto}}
@media(max-width:700px){.updater-token-settings .input-action-row{grid-template-columns:1fr}.updater-token-settings .input-action-row button{width:100%}}

/* v6.6.29 — structured update channel, client API and connection status */
.update-channel-card{overflow:hidden;padding:24px}
.update-channel-heading{align-items:center;padding-bottom:18px;border-bottom:1px solid #eaecf0}
.update-channel-heading>div{min-width:0}
.update-channel-card .update-channel-heading h2{margin:0 0 5px;font-size:20px}
.update-channel-card .section-title-row h3{margin:0 0 5px;font-size:16px}
.update-channel-card .section-title-row .muted{line-height:1.5}
.update-channel-card .compact-alert{margin:18px 0 0;line-height:1.55}
.update-channel-form{gap:18px;margin-top:18px}
.update-channel-toggle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.update-channel-toggle{display:flex;flex-direction:row;align-items:center;gap:11px;min-width:0;padding:13px 14px;border:1px solid #d0d5dd;border-radius:11px;background:#fff;color:#344054;font-weight:700;cursor:pointer}
.update-channel-toggle:hover{border-color:#84adff;background:#f8faff}
.update-channel-toggle input{width:18px;height:18px;flex:0 0 auto;margin:0;accent-color:#2563eb}
.update-channel-toggle span{min-width:0;line-height:1.35}
.update-channel-toggle.single{margin-top:14px}
.update-channel-section{min-width:0;padding:18px;border:1px solid #d0d5dd;border-radius:14px;background:#f8fafc}
.update-channel-section>.section-title-row{align-items:flex-start;margin:0 0 16px}
.update-channel-section>.section-title-row .pill{flex:0 0 auto;white-space:nowrap}
.schedule-settings-panel{gap:16px;padding:18px;border-radius:14px;background:#f8fafc}
.schedule-settings-panel>.muted{margin:0;line-height:1.5}
.download-limit-panel{display:grid;gap:14px;margin-top:0;padding:16px;border-color:#e4e7ec;border-radius:12px;background:#fff}
.download-limit-panel>.section-title-row{margin:0}
.download-limit-panel .update-channel-toggle.single{margin-top:0}
.update-field-grid{display:grid;gap:14px;align-items:start;min-width:0}
.update-field-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.update-field-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.update-field-grid .wide{grid-column:1/-1}
.update-field-grid label{min-width:0}
.update-field-grid label>small,.update-token-card>small{font-weight:400;color:#667085;line-height:1.45}
.update-field-grid input[readonly]{background:#f2f4f7;color:#475467}
.update-channel-basic-settings{background:#fff}
.update-links-grid,.update-notes-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}
.update-notes-grid textarea{min-height:142px;font-weight:400}
.updater-token-settings{gap:16px;padding:18px;border-radius:14px;background:#f8fafc}
.update-token-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.update-token-card{min-width:0;padding:14px;border:1px solid #e4e7ec;border-radius:12px;background:#fff}
.update-token-card .input-action-row{grid-template-columns:minmax(120px,1fr) auto auto;margin-top:1px}
.update-token-card .input-action-row button{padding-inline:.8rem}
.update-token-card input[type="password"],.update-token-card input[type="text"]{font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace}
.updater-token-settings>.muted{margin:0;line-height:1.5}
.generated-url-panel{gap:14px;padding:18px;border-radius:14px}
.generated-url-panel .generated-url-actions{padding-top:2px}
.generated-url-panel>.muted{margin:0;line-height:1.5}
.update-channel-form>.form-actions-right{padding-top:2px;margin-top:0}
.update-channel-form>.form-actions-right button{min-width:190px}
.update-channel-card .update-endpoints{margin-top:18px;padding-top:18px;border-top:1px solid #eaecf0}

@media(max-width:1200px){
  .update-token-grid{grid-template-columns:1fr}
  .update-token-card .input-action-row{grid-template-columns:minmax(0,1fr) auto auto}
}
@media(max-width:900px){
  .update-field-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}
  .update-channel-basic-settings .update-field-grid.three>label:nth-child(3){grid-column:1/-1}
}
@media(max-width:700px){
  .update-channel-card{padding:16px}
  .update-channel-heading{align-items:flex-start;flex-direction:column}
  .update-channel-toggle-grid,.update-field-grid.three,.update-field-grid.two,.update-links-grid,.update-notes-grid{grid-template-columns:1fr}
  .update-channel-basic-settings .update-field-grid.three>label:nth-child(3){grid-column:auto}
  .update-channel-section,.schedule-settings-panel,.updater-token-settings,.generated-url-panel{padding:14px}
  .update-channel-section>.section-title-row{align-items:flex-start;flex-direction:column}
  .update-token-card .input-action-row{grid-template-columns:1fr}
  .update-token-card .input-action-row button{width:100%}
  .update-channel-form>.form-actions-right button{width:100%;min-width:0}
}

/* v6.6.32: updater command controls and signed package-install progress. */
.updater-command-actions{display:grid;gap:10px;margin:14px 0 4px;padding:14px;border:1px solid #eaecf0;border-radius:12px;background:#f9fafb}
.updater-command-buttons{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.updater-command-buttons form{margin:0}
.updater-action-status{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-top:10px;border-top:1px solid #eaecf0}
.updater-action-status-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap;width:100%}
.updater-action-status progress{width:min(360px,100%);height:12px}
.updater-action-error{color:#b42318;overflow-wrap:anywhere}
@media(max-width:620px){.updater-command-buttons,.updater-command-buttons form,.updater-command-buttons button{width:100%}}

/* v6.9.0: structured full backup, native WSS and RDGen profiles. */
.backup-create-card,.backup-upload-card,.backup-history-card{display:grid;gap:18px}
.backup-password-form,.backup-final-confirmation{align-items:end}
.backup-full-action{grid-column:1/-1;justify-content:flex-end}
.backup-preview-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.backup-preview-summary>div{display:grid;gap:4px;padding:12px;border:1px solid #e4e7ec;border-radius:10px;background:#f9fafb;min-width:0}
.backup-preview-summary span{font-size:.78rem;color:#667085;text-transform:uppercase;letter-spacing:.04em}
.backup-preview-summary strong{overflow-wrap:anywhere}
.backup-mode-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr);gap:16px;align-items:end}
.backup-global-actions,.backup-category-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.backup-category-list{display:grid;gap:14px}
.backup-category{border:1px solid #d0d5dd;border-radius:14px;background:#fff;overflow:hidden}
.backup-category>summary{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:16px 18px;cursor:pointer;background:#f8fafc;list-style:none}
.backup-category>summary::-webkit-details-marker{display:none}
.backup-category>summary>span:first-child{display:grid;gap:4px}
.backup-category>summary small{color:#667085;font-weight:400}
.backup-category-body{display:grid;gap:14px;padding:16px}
.backup-dataset{display:grid;gap:12px;padding:14px;border:1px solid #e4e7ec;border-radius:12px;background:#fff}
.backup-dataset.is-incompatible{background:#fff7ed;border-color:#fed7aa}
.backup-dataset-heading{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
.backup-dataset-heading h3{margin:0 0 4px}
.backup-dataset-heading p{margin:0}
.backup-field-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.backup-field{display:flex;align-items:flex-start;gap:8px;padding:9px 10px;border:1px solid #eaecf0;border-radius:9px;background:#f9fafb;min-width:0;font-weight:500}
.backup-field input{margin-top:2px;flex:0 0 auto}
.backup-field span{overflow-wrap:anywhere}
.backup-field small{display:block;color:#b42318;font-weight:400}
.backup-field.is-disabled{opacity:.68;background:#fff4ed}
.backup-file-list{display:grid;gap:8px}
.backup-file-row{display:flex;align-items:flex-start;gap:10px;padding:10px;border:1px solid #eaecf0;border-radius:9px;background:#f9fafb}
.backup-file-row>span{display:grid;gap:3px;min-width:0}
.backup-file-row strong,.backup-file-row small{overflow-wrap:anywhere}
.backup-file-row small{color:#667085;font-weight:400}
.backup-file-row.is-disabled{opacity:.65}
.backup-preview-cancel{justify-content:flex-end}
.backup-sha{display:block;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.block-note{display:block;margin-top:4px;color:#667085}
@media(max-width:1200px){.backup-preview-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.backup-field-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){.backup-mode-grid{grid-template-columns:1fr}.backup-global-actions,.backup-category-actions{justify-content:flex-start}.backup-field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.backup-category>summary{align-items:flex-start;flex-direction:column}.backup-preview-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.backup-field-grid,.backup-preview-summary{grid-template-columns:1fr}.backup-dataset-heading{flex-direction:column}.backup-global-actions button,.backup-category-actions button{width:100%}}
.backup-history-actions{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center}.backup-history-restore-form{display:flex;gap:.45rem;align-items:center;flex-wrap:wrap}.backup-history-restore-form input[type=password]{min-width:170px;max-width:230px}.backup-final-confirmation>.alert{align-self:end;margin:0}
@media(max-width:760px){.backup-history-actions,.backup-history-restore-form{align-items:stretch;flex-direction:column}.backup-history-restore-form input[type=password]{max-width:none;width:100%}}


/* RDGen profile generator */
.rdgen-generator-card{margin-top:24px;display:grid;gap:20px}
.rdgen-profile-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:16px;border:1px solid var(--border);border-radius:14px;background:var(--surface-soft)}
.rdgen-load-form,.rdgen-template-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}
.rdgen-load-form label,.rdgen-template-form label{margin:0}
.rdgen-config-form{gap:18px}
.rdgen-section{display:grid;gap:14px;padding:18px;border:1px solid var(--border);border-radius:16px;background:var(--surface-soft)}
.rdgen-section .section-title-row{margin:0}
.rdgen-readonly-grid input,.rdgen-readonly-grid textarea{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.86rem;background:var(--surface)}
.rdgen-toggle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.rdgen-toggle-grid .checkbox-setting{min-height:54px;margin:0}
.rdgen-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.rdgen-delete-form{display:flex;justify-content:flex-end;border-top:1px solid var(--border);padding-top:16px}
@media(max-width:980px){.rdgen-profile-toolbar,.rdgen-toggle-grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.rdgen-profile-toolbar,.rdgen-toggle-grid,.rdgen-load-form,.rdgen-template-form{grid-template-columns:1fr}.rdgen-actions>*{width:100%;text-align:center}}


/* v6.9.0-R4: upstream-compatible RDGen media and configuration workflow. */
.rdgen-config-import{grid-column:1/-1;display:grid;grid-template-columns:minmax(260px,1fr) auto minmax(260px,1fr);gap:10px;align-items:end;padding-top:14px;border-top:1px solid var(--border)}
.rdgen-config-import label{margin:0}.rdgen-config-import .muted{align-self:center;margin:0}.rdgen-config-import .error-text{color:#b42318}
.rdgen-media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.rdgen-media-card{display:grid;gap:12px;align-content:start;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}
.rdgen-media-preview{height:180px;display:grid;place-items:center;overflow:hidden;border:1px dashed #98a2b3;border-radius:12px;background:#f8fafc}
.rdgen-media-preview img{display:block;max-width:100%;max-height:100%;object-fit:contain}.rdgen-media-preview.is-empty{color:#667085}
.rdgen-media-card input[type=file]{padding:.58rem;background:var(--surface-soft)}
@media(max-width:980px){.rdgen-media-grid{grid-template-columns:1fr 1fr}.rdgen-config-import{grid-template-columns:1fr auto}}
@media(max-width:680px){.rdgen-media-grid,.rdgen-config-import{grid-template-columns:1fr}.rdgen-config-import button{width:100%}}


/* R4.2: per-device RustDesk transport control */
.connection-mode-control{margin:18px 0;padding:16px;border:1px solid var(--border);border-radius:14px;background:var(--surface-soft)}
.connection-mode-control h3{margin:0 0 4px}
.connection-mode-form{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:12px;align-items:end;margin-top:14px}
.connection-mode-form label{display:grid;gap:6px}
.connection-mode-form select{min-height:42px}
@media(max-width:720px){.connection-mode-form{grid-template-columns:1fr}.connection-mode-form button{width:100%}}

/* R4.3: stable, compact updater card and short connection diagnostics */
.connection-mode-control{border:1px solid #eaecf0;border-radius:12px;background:#f9fafb;padding:16px;min-width:0}
.connection-mode-control .section-title-row{align-items:flex-start;gap:12px}
.connection-mode-control h3{margin:0;font-size:16px;line-height:1.3}
.connection-mode-control .muted{margin:.25rem 0 0;font-size:13px;line-height:1.4}
.connection-mode-form{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:10px;align-items:end;margin-top:12px}
.connection-mode-form label{min-width:0}
.connection-mode-form button{white-space:nowrap}
.updater-detail-grid .full-width dd.wrap-value{white-space:pre-line;line-height:1.55}
@media(max-width:720px){.connection-mode-form{grid-template-columns:1fr}.connection-mode-form button{width:100%}}


/* R4.9: automatic default group for newly registered clients */
.default-new-client-group-card{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:18px}.default-new-client-group-copy{max-width:760px}.default-new-client-group-copy h2{margin:0 0 6px}.default-new-client-group-copy p{margin:0}.default-new-client-group-form{display:flex;align-items:flex-end;gap:8px;min-width:min(100%,460px)}.default-new-client-group-form label{flex:1;margin:0}.default-new-client-group-form label>span,.default-new-client-group-readonly>span{display:block;margin-bottom:6px;font-size:13px;font-weight:700;color:#344054}.default-group-save-button{width:42px;height:42px;min-width:42px;padding:0;display:inline-grid;place-items:center;border-radius:9px}.default-group-save-button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.default-new-client-group-readonly{min-width:280px;padding:10px 12px;border:1px solid #e4e7ec;border-radius:9px;background:#f8fafc}.default-new-client-group-readonly strong{display:block;color:#101828}
@media(max-width:900px){.default-new-client-group-card{align-items:stretch;flex-direction:column}.default-new-client-group-form{min-width:0;width:100%}}

/* R4.10: one-time RustDesk installation together with the updater */
.updater-auto-install-toggle{margin:14px 0 18px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}
.updater-auto-install-toggle small{display:block;margin-top:4px}


/* R4.11: global updater option and live remote-support visibility */
.activity-running-text{font:inherit;color:inherit}
.updater-auto-install-toggle{margin:12px 0 0}
.updater-auto-install-save-status{display:block;margin-top:5px;color:var(--success,#067647);font-size:12px;font-style:normal;font-weight:700}
.remote-support-value{font-weight:600}
.remote-support-value.is-inactive{color:#667085;font-weight:400}
.remote-support-value.is-active{color:#067647}
.detail-remote-support{font-size:15px;font-weight:700;color:#067647;white-space:normal}
@media(max-width:700px){.detail-remote-support{width:100%}}

/* R4.12: only the checkbox itself toggles the automatic-install preference. */


/* Client detail: direct CMD actions, searchable command logbook and bottom updater interval card. */
.cmd-command-section{display:grid;gap:16px;margin:18px 0;padding:18px;border:1px solid #eaecf0;border-radius:14px;background:#fff}
.cmd-command-section .section-title-row{margin:0}
.cmd-command-buttons{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,260px));gap:10px;align-items:stretch;justify-content:start}
.cmd-command-buttons form{display:flex;margin:0;min-width:0}
.cmd-command-buttons .cmd-command-button{display:flex;flex:1;min-width:0;min-height:52px;align-items:center;justify-content:space-between;gap:10px;text-align:left}
.cmd-command-buttons .cmd-command-button span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cmd-command-buttons .cmd-command-button small{flex:0 0 auto;padding:.18rem .45rem;border-radius:999px;background:rgba(255,255,255,.2);font-size:.72rem;font-weight:700}
.cmd-logbook{display:grid;gap:14px;padding-top:4px}
.cmd-log-filter-bar{grid-template-columns:minmax(240px,1fr) minmax(160px,220px) minmax(160px,220px)}
.cmd-log-table td{vertical-align:top}
.cmd-log-command{display:block;margin-top:5px;max-width:34rem;overflow:hidden;text-overflow:ellipsis}
.cmd-log-command code{white-space:nowrap}
.cmd-log-details summary{cursor:pointer;font-weight:700;color:#344054}
.cmd-log-details p{margin:.65rem 0}
.cmd-log-details pre{max-width:42rem;max-height:20rem;margin:.55rem 0;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere}
.client-poll-card{display:grid;gap:14px;margin-top:18px}
.client-poll-form{max-width:640px}
.client-poll-form label{display:grid;gap:7px;margin:0}
.client-poll-form small{color:#667085}
@media(max-width:820px){.cmd-log-filter-bar{grid-template-columns:1fr}.cmd-command-buttons{grid-template-columns:1fr}.cmd-command-buttons form,.cmd-command-buttons button{width:100%}}
.command-template-list{display:grid;gap:1rem;margin-top:1.5rem}
.command-template-editor{display:grid;gap:.8rem;padding:1rem;border:1px solid var(--border);border-radius:10px;background:var(--surface,#fff)}
.relative-time{white-space:nowrap;font-variant-numeric:tabular-nums}


/* R4.27: four-role permission model and client-only lock screen */
.role-description{display:block;margin-top:.45rem;color:#667085;font-size:.78rem;line-height:1.45;max-width:44rem}
.role-legend-card{margin-bottom:1rem}.role-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.role-card{padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft)}.role-card p{margin:.65rem 0 0;color:#475467;line-height:1.5}
.client-only-shell{min-height:100vh}.client-only-card{text-align:center}.client-only-lock{font-size:3rem;line-height:1;margin-bottom:.75rem}.client-only-countdown{font-weight:800;font-variant-numeric:tabular-nums}.client-only-card .button-link{justify-content:center;margin-top:.75rem}
@media(max-width:760px){.role-legend{grid-template-columns:1fr}}

/* R4.38: compact user table without an inner horizontal scrollbar. */
#user-table{table-layout:fixed}
#user-table th:nth-child(1),#user-table td:nth-child(1){width:14%}
#user-table th:nth-child(2),#user-table td:nth-child(2){width:22%}
#user-table th:nth-child(3),#user-table td:nth-child(3){width:9%;white-space:nowrap}
#user-table th:nth-child(4),#user-table td:nth-child(4){width:22%}
#user-table th:last-child,#user-table td:last-child{width:33%}
#user-table td:first-child strong{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}
#user-table .user-row-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0;overflow:visible!important;white-space:normal}
#user-table .user-row-actions button,#user-table .user-row-actions .button-link{flex:0 0 auto;white-space:nowrap;font-size:.78rem;padding:.58rem .65rem}
@media(max-width:900px){#user-table th,#user-table td{width:100%!important}#user-table td:first-child strong{max-width:100%}#user-table .user-row-actions button,#user-table .user-row-actions .button-link{font-size:inherit;padding:.7rem 1rem}}
