: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{flex-direction:row;align-items:center}.checkbox-setting input{width:18px;height:18px}.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}
.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}
}
