:root{
  --bg:#080a0d;--sidebar:#0d1015;--panel:#10141a;--panel2:#141921;--panel3:#181e27;
  --line:#252c36;--line2:#1b212a;--text:#f4f6f8;--muted:#9099a8;--muted2:#697382;
  --accent:#ff7a00;--orange:#ff7a00;--green:#16d49a;--cyan:#38c8e8;--purple:#a66eff;
  --yellow:#f2b94b;--red:#ff5b68;--sidebar-w:284px;--radius:14px;--shadow:0 16px 50px rgba(0,0,0,.18)
}
*{box-sizing:border-box}html{background:var(--bg);color-scheme:dark}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}a{color:inherit}input,select,textarea{outline:none}input:focus,select:focus,textarea:focus,button:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 26%,transparent);border-color:color-mix(in srgb,var(--accent) 60%,var(--line))!important}.muted{color:var(--muted)}.danger-text{color:var(--red)!important}.loading{padding:28px;color:var(--muted);text-align:center}.fatal{max-width:620px;margin:80px auto;padding:28px}.fatal button{min-height:44px;padding:0 16px;border:1px solid var(--line);background:var(--panel);border-radius:10px}.toast{position:fixed;right:18px;bottom:18px;z-index:9999;max-width:min(460px,calc(100vw - 36px));padding:13px 15px;background:#14201b;border:1px solid rgba(22,212,154,.32);border-radius:12px;box-shadow:var(--shadow);font-weight:700}.toast.error{background:#241216;border-color:rgba(255,91,104,.38)}

/* Layout */
.app-shell{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;overflow:auto;background:var(--sidebar);border-right:1px solid var(--line2);padding:14px 12px 18px;z-index:30}.main{min-width:0;overflow:hidden}.content{width:100%;padding:24px 28px 48px}.app-shell.collapsed{--sidebar-w:78px}.app-shell.collapsed .brand-copy,.app-shell.collapsed .cluster-copy,.app-shell.collapsed .cluster-card .chev,.app-shell.collapsed .section-label,.app-shell.collapsed .nav-label,.app-shell.collapsed .nav-badge,.app-shell.collapsed .sidebar-footer .nav-label{display:none}.app-shell.collapsed .brand{justify-content:center}.app-shell.collapsed .brand-mark{margin:0}.app-shell.collapsed .cluster-card{grid-template-columns:1fr;place-items:center;padding:10px}.app-shell.collapsed .cluster-icon{margin:0}.app-shell.collapsed .nav-btn{justify-content:center;padding-inline:0}.app-shell.collapsed .nav-icon{font-size:18px}.app-shell.collapsed .sidebar-footer{margin-top:16px}.mobile-overlay{display:none}

/* Sidebar */
.brand{display:flex;align-items:center;gap:11px;padding:2px 6px 14px}.brand-mark{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;flex:0 0 auto;background:linear-gradient(145deg,#ff8b2d,#e85c00);box-shadow:0 7px 22px rgba(255,122,0,.17);font-size:20px;font-weight:900;color:#fff}.brand strong,.brand small{display:block}.brand strong{font-size:16px;line-height:1.2}.brand small{margin-top:3px;color:#7c8694;font-size:10px;letter-spacing:.12em}.sidebar-close{display:none;margin-left:auto;width:38px;height:38px;border:0;background:transparent;color:var(--muted);font-size:24px}.cluster-card{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr) 20px;gap:8px;align-items:center;margin:0 0 16px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--panel2);cursor:pointer}.cluster-icon{color:var(--accent);font-size:19px}.cluster-card strong,.cluster-card small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cluster-card strong{font-size:14px}.cluster-card small{margin-top:2px;color:var(--muted);font-size:12px}.cluster-card .chev{color:var(--muted)}.cluster-card select{position:absolute;inset:0;opacity:0;cursor:pointer}.section-label{margin:17px 10px 7px;color:#66707f;font-size:10px;letter-spacing:.13em;font-weight:800}.nav-list{display:grid;gap:2px}.nav-btn{width:100%;min-height:44px;display:flex;align-items:center;gap:10px;padding:9px 10px;border:1px solid transparent;border-radius:10px;background:transparent;color:#a6afbd;text-align:left;transition:.16s ease}.nav-btn:hover{background:#141922;color:#e3e7ec}.nav-btn.active{color:#fff;background:rgba(255,122,0,.09);border-color:rgba(255,122,0,.16)}.nav-btn.active .nav-icon{color:var(--accent)}.nav-icon{width:24px;flex:0 0 24px;text-align:center;color:#7e8998}.nav-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:650}.nav-badge{margin-left:auto;min-width:24px;height:24px;padding:0 7px;display:grid;place-items:center;border-radius:99px;background:#1c222b;color:#8993a1;font-size:11px}.sidebar-footer{margin-top:14px;padding-top:12px;border-top:1px solid var(--line2)}

/* Top bar and global search */
.topbar{min-height:68px;display:grid;grid-template-columns:auto minmax(260px,620px) auto;gap:18px;align-items:center;padding:10px 22px;border-bottom:1px solid var(--line2);background:rgba(8,10,13,.92);backdrop-filter:blur(14px);position:sticky;top:0;z-index:20}.top-left,.top-actions{display:flex;align-items:center;gap:9px;min-width:0}.top-actions{justify-content:flex-end}.top-copy{min-width:0}.breadcrumb{font-size:10px;letter-spacing:.13em;color:#6f7987;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.page-title{font-size:17px;font-weight:850;margin-top:1px}.icon-btn{width:40px;height:40px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:#9da6b3;display:grid;place-items:center}.icon-btn:hover{color:#fff;background:var(--panel2)}.icon-btn.menu{display:none}.desktop-collapse{display:grid}.connection{min-height:40px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:#a1aab8;white-space:nowrap}.connection.ok{color:#7df1ce;border-color:rgba(22,212,154,.22);background:rgba(22,212,154,.055)}.notify{position:relative}.notify span{position:absolute;right:-4px;top:-5px;min-width:18px;height:18px;padding:0 4px;border-radius:99px;background:var(--accent);color:#fff;font-size:10px;display:grid;place-items:center}.notify span:empty{display:none}.global-search{position:relative;display:flex;align-items:center;gap:9px;min-width:0;height:42px;padding:0 11px;border:1px solid var(--line);border-radius:11px;background:#0d1116}.global-search>span{color:#707b89}.global-search input{width:100%;min-width:0;border:0;background:transparent;font-size:14px}.search-results{display:none;position:absolute;left:0;right:0;top:calc(100% + 8px);padding:6px;background:#11161d;border:1px solid var(--line);border-radius:12px;box-shadow:0 22px 60px rgba(0,0,0,.42);z-index:100}.search-results.show{display:grid}.search-result{display:grid;grid-template-columns:28px minmax(0,1fr);gap:9px;align-items:center;width:100%;padding:10px;border:0;border-radius:8px;background:transparent;color:var(--text);text-align:left}.search-result:hover{background:#191f28}.search-result strong,.search-result small{display:block}.search-result strong{font-size:14px}.search-result small{margin-top:2px;color:var(--muted);font-size:12px}.search-empty{padding:12px;color:var(--muted);font-size:13px}

/* Common content */
.hero,.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin:2px 0 18px;flex-wrap:wrap}.hero h1,.page-head h1{margin:0;font-size:29px;line-height:1.12;letter-spacing:-.035em;font-weight:900}.hero p,.page-head p{margin:6px 0 0;color:var(--muted);font-size:14px}.eyebrow{display:flex;align-items:center;gap:7px;margin-bottom:10px;color:#8f9aaa;font-size:10px;letter-spacing:.12em;font-weight:800}.eyebrow i{width:7px;height:7px;border-radius:99px;background:var(--green);box-shadow:0 0 0 5px rgba(22,212,154,.07)}.actions,.hero-actions,.row-actions{display:flex;gap:8px;align-items:center}.actions.wrap,.row-actions{flex-wrap:wrap}.btn{min-height:42px;padding:9px 13px;border:1px solid var(--line);border-radius:10px;background:var(--panel2);color:#e6e9ed;font-weight:750;font-size:14px;transition:.15s ease}.btn:hover{background:#1a2029;border-color:#343c48}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 8px 24px color-mix(in srgb,var(--accent) 14%,transparent)}.btn.primary:hover{filter:brightness(1.08)}.btn.secondary{background:var(--panel2)}.btn.danger{color:#ffb6bc;border-color:rgba(255,91,104,.28);background:rgba(255,91,104,.06)}.btn.tiny{min-height:34px;padding:6px 9px;font-size:12px}.panel{background:linear-gradient(180deg,#11151b,#0f1318);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 1px 0 rgba(255,255,255,.015) inset}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 17px;border-bottom:1px solid var(--line2)}.panel-head h3,.section-card h3{margin:0;font-size:15px}.panel-head p{margin:3px 0 0;color:var(--muted);font-size:12px}.section-card{padding:16px}.section-card>h3{margin-bottom:13px}.section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.metrics-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.resource-card{padding:16px}.resource-title{display:flex;justify-content:space-between;align-items:center;gap:10px}.resource-title strong{font-size:16px}.resource-card p,.resource-card small{color:var(--muted)}.resource-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0}.resource-card dl>div{padding:10px;border:1px solid var(--line2);border-radius:9px;background:#0d1116}.resource-card dt{font-size:11px;color:var(--muted)}.resource-card dd{margin:3px 0 0;font-weight:800}.big-stat{font-size:29px;font-weight:900;letter-spacing:-.03em}.progress{height:7px;border-radius:99px;background:#222832;overflow:hidden}.progress span{display:block;height:100%;border-radius:99px}.pill{display:inline-flex;align-items:center;justify-content:center;min-height:27px;padding:4px 8px;border-radius:99px;background:#1d232c;border:1px solid #29313b;color:#aeb6c1;font-size:11px;font-weight:750}.pill.ok{color:#82f2cf;border-color:rgba(22,212,154,.24);background:rgba(22,212,154,.07)}.pill.warning{color:#ffd279;border-color:rgba(242,185,75,.25);background:rgba(242,185,75,.08)}.pill.danger{color:#ffb1b8;border-color:rgba(255,91,104,.25);background:rgba(255,91,104,.08)}.pill.neutral{color:#b0b8c4}.info-box,.warning-box{padding:11px 12px;border-radius:10px;border:1px solid rgba(56,200,232,.22);background:rgba(56,200,232,.05);color:#b8c6cf;font-size:13px}.warning-box{border-color:rgba(242,185,75,.25);background:rgba(242,185,75,.06)}

/* Dashboard */
.dashboard-controls{display:flex;align-items:flex-end;justify-content:flex-end;gap:8px;flex-wrap:wrap}.dash-range{display:grid;gap:4px;color:var(--muted);font-size:11px}.dash-range select{min-width:128px;height:42px;border:1px solid var(--line);background:var(--panel);border-radius:10px;padding:0 10px}.live-status{height:42px;padding:0 11px;display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(22,212,154,.2);border-radius:10px;background:rgba(22,212,154,.05);color:#8bf4d5;font-size:12px}.live-status i,.live-chip i{width:7px;height:7px;border-radius:99px;background:var(--green);box-shadow:0 0 0 4px rgba(22,212,154,.06)}.dashboard-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:stretch}.widget{min-width:0}.metric-card{padding:15px 16px}.metric-head{display:flex;align-items:center;gap:8px;color:#b9c1cc;font-size:13px;font-weight:750}.metric-head>span:first-child{margin-right:auto}.live-chip{display:inline-flex;align-items:center;gap:5px;color:#69dcb9;font-size:9px;letter-spacing:.07em}.metric-chip{padding:3px 7px;border-radius:99px;background:#1c222b;color:#8993a1;font-size:10px}.metric-value{margin-top:9px;font-size:29px;line-height:1;font-weight:900;letter-spacing:-.04em}.metric-sub{margin-top:7px;color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.spark-svg{width:100%;height:70px;margin-top:10px;display:block}.spark-base{stroke:#252b34;stroke-width:.8}.spark.empty{height:70px;display:grid;place-items:center;color:#596270;font-size:11px}.metric-stats{display:flex;justify-content:space-between;gap:8px;color:#76808e;font-size:11px;margin:2px 0 8px}.metric-card>.progress{margin-top:2px}.dashboard-grid .span-2{grid-column:span 2}.dashboard-grid .span-3{grid-column:span 3}.dashboard-grid .panel.widget{overflow:hidden}.score{min-height:146px;display:grid;place-items:center;background:radial-gradient(circle,rgba(22,212,154,.09),transparent 66%)}.score>div{width:126px;height:86px;border:2px solid rgba(22,212,154,.38);border-radius:50%;display:grid;place-items:center;transform:rotate(12deg)}.score strong,.score small{transform:rotate(-12deg)}.score strong{font-size:34px}.score small{font-size:11px;color:var(--muted);margin-left:2px}.score.warn>div{border-color:rgba(242,185,75,.46)}.health-list{padding:3px 16px 14px}.health-list>div{display:flex;justify-content:space-between;gap:10px;padding:8px 0;color:#9aa4b2;font-size:13px}.health-list b{color:#dde1e6}.stats-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:14px}.stats-strip>div{padding:11px;border-radius:10px;background:#0d1116;border:1px solid var(--line2)}.stats-strip span,.stats-strip b{display:block}.stats-strip span{font-size:11px;color:var(--muted)}.stats-strip b{margin-top:4px;font-size:20px}.widget-tools{display:flex;align-items:center;gap:6px;margin:12px -2px -2px;padding-top:10px;border-top:1px dashed #2a313b;color:#707b89;font-size:11px}.widget-tools span{margin-right:auto}.widget-tools button{width:32px;height:32px;border:1px solid var(--line);border-radius:8px;background:#171c24}.widget.dragging{opacity:.5}.capacity-box{padding:12px 15px}.capacity-row{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--line2);font-size:13px}.capacity-row:last-child{border-bottom:0}

/* Lists and problems */
.list{display:grid}.list-row{display:flex;align-items:center;gap:11px;padding:12px 15px;border-bottom:1px solid var(--line2)}.list-row:last-child{border-bottom:0}.list-row>div{min-width:0;flex:1}.list-row strong,.list-row small{display:block}.list-row strong{font-size:13px}.list-row small{margin-top:3px;color:var(--muted);font-size:12px}.severity{width:28px;height:28px;display:grid;place-items:center;flex:0 0 auto;border-radius:8px;font-weight:900}.severity.warning{color:var(--yellow);background:rgba(242,185,75,.09)}.severity.critical{color:var(--red);background:rgba(255,91,104,.09)}.empty-inline{padding:18px;color:var(--muted);font-size:13px}.empty-state{max-width:680px;margin:70px auto;padding:36px;text-align:center}.empty-icon{width:58px;height:58px;margin:0 auto 14px;display:grid;place-items:center;border-radius:16px;background:#171d25;color:var(--accent);font-size:26px}.empty-state h2{margin:0;font-size:24px}.empty-state p{max-width:480px;margin:8px auto 18px;color:var(--muted)}

/* Tables + machines */
.table-scroll{width:100%;overflow:auto}.machine-table{width:100%;border-collapse:collapse;min-width:780px}.machine-table th{padding:10px 13px;border-bottom:1px solid var(--line);color:#717b89;font-size:10px;text-align:left;letter-spacing:.09em;text-transform:uppercase}.machine-table td{padding:11px 13px;border-bottom:1px solid var(--line2);font-size:13px;vertical-align:middle}.machine-table tbody tr:hover{background:#131820}.machine-table tbody tr:last-child td{border-bottom:0}.machine-table tr[hidden]{display:none}.machine-name{display:flex;align-items:center;gap:9px;border:0;background:transparent;color:var(--text);text-align:left;padding:0}.machine-name>span:last-child{min-width:0}.machine-name strong,.machine-name small{display:block}.machine-name strong{font-size:13px}.machine-name small{margin-top:3px;color:var(--muted);font-size:11px}.machine-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;background:rgba(56,200,232,.08);border:1px solid rgba(56,200,232,.18);color:var(--cyan);flex:0 0 auto}.machine-icon.qemu{color:var(--orange);background:rgba(255,122,0,.08);border-color:rgba(255,122,0,.18)}.machine-filterbar{display:grid;grid-template-columns:minmax(260px,1fr) auto auto;gap:9px;margin-bottom:10px}.search-field{height:44px;display:flex;align-items:center;gap:9px;padding:0 11px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.search-field span{color:#737e8c}.search-field input{width:100%;border:0;background:transparent;min-width:0}.machine-filterbar select,.v1-toolbar select{min-height:44px;padding:0 34px 0 11px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.bulk-panel{margin:0 0 10px;border:1px solid var(--line);border-radius:10px;background:#0d1116}.bulk-panel summary{padding:11px 13px;cursor:pointer;font-weight:750;font-size:13px}.bulk-panel[open] summary{border-bottom:1px solid var(--line2)}.v1-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px}.machine-panel{overflow:hidden}.machine-check{width:17px;height:17px}.row-actions{justify-content:flex-end}

/* Forms/admin */
.field{display:grid;gap:6px;margin:10px 0}.field>span,.field>label{color:var(--muted);font-size:12px}.field input,.field select,.field textarea,.admin-card input,.admin-card select,.admin-card textarea{width:100%;min-height:44px;padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:#0c1015}.field textarea,.admin-card textarea{min-height:110px;resize:vertical}.check{display:flex!important;align-items:center;gap:8px!important;min-height:38px;color:#c0c7d0!important;font-size:13px!important}.check input{width:17px!important;height:17px!important;min-height:0!important}.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-card{padding:16px}.admin-card.full{grid-column:1/-1}.admin-card>h3{margin:0 0 12px;font-size:16px}.admin-card>label{display:grid;gap:5px;margin:10px 0;color:var(--muted);font-size:12px}.module-toggles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 12px}.server-list,.bookmark-list,.update-history,.audit-list{display:grid}.server-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--line2)}.server-row:last-child{border-bottom:0}.server-row strong,.server-row small{display:block}.server-row small{color:var(--muted);margin-top:3px}.update-panel{display:grid;gap:12px}.update-current{display:flex;align-items:center;justify-content:space-between;gap:12px}.zip-drop{padding:15px;border:1px dashed #343d49;border-radius:11px;background:#0d1116}.zip-drop input{width:100%}.progress-line{height:6px;border-radius:99px;background:#222832;overflow:hidden}.progress-line span{display:block;height:100%;background:var(--accent)}

/* Discord notifications */
.discord-admin{display:grid;gap:12px}.discord-intro{display:flex;align-items:center;justify-content:space-between;gap:14px}.discord-intro strong,.discord-intro small{display:block}.discord-intro strong{font-size:15px}.discord-intro small{margin-top:4px;color:var(--muted);font-size:12px}.discord-channel-list{display:grid;border:1px solid var(--line);border-radius:11px;overflow:hidden}.discord-channel{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px;background:#0d1116;border-bottom:1px solid var(--line2)}.discord-channel:last-child{border-bottom:0}.discord-channel-main{min-width:0;flex:1}.discord-channel-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.discord-channel-title strong{font-size:14px}.discord-channel-main>small{display:block;margin-top:5px;color:var(--muted);font-size:12px;line-height:1.55}.discord-event-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 14px;padding:10px 12px;border:1px solid var(--line2);border-radius:10px;background:#0c1015}.notification-other{margin-top:12px}

/* Detail/info */
.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.detail-tile{padding:10px;border:1px solid var(--line2);border-radius:9px;background:#0d1116}.detail-tile span,.detail-tile b{display:block}.detail-tile span{color:var(--muted);font-size:11px}.detail-tile b{margin-top:3px}.kv-list{display:grid}.kv-list>div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line2)}.kv-list>div:last-child{border-bottom:0}.code-log{max-height:440px;overflow:auto;padding:12px;border:1px solid var(--line2);border-radius:9px;background:#090c10;color:#b8c2cf;font:12px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap}.audit-row{display:grid;grid-template-columns:170px minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px 15px;border-bottom:1px solid var(--line2)}.audit-row time{color:var(--muted);font-size:11px}.audit-row strong,.audit-row small{display:block}.audit-row small{margin-top:3px;color:var(--muted)}.diff{display:grid;gap:6px;margin:12px 0}.diff>div{display:grid;grid-template-columns:90px 1fr 1fr;gap:8px;font-size:12px}.diff del{color:#d78389}.diff ins{color:#7bddc2;text-decoration:none}.dep-edge-list{display:grid;gap:8px}.dep-edge-list>div{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:10px;align-items:center;padding:10px;border:1px solid var(--line2);border-radius:9px}.dep-edge-list i{font-style:normal;color:var(--muted);font-size:11px;text-align:center}.backup-machine-grid{display:grid;gap:8px}.backup-machine{display:grid;grid-template-columns:minmax(170px,1.2fr) repeat(2,minmax(130px,.8fr)) auto;gap:10px;align-items:center;padding:11px 13px;border:1px solid var(--line2);border-radius:10px;background:#0d1116}.backup-machine strong,.backup-machine small,.backup-machine b{display:block}.backup-machine small{color:var(--muted);margin-top:3px}.action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.machine-menu{display:grid;gap:10px}.node-power{display:flex;gap:8px;flex-wrap:wrap}.bookmarks{display:grid;gap:4px}.bookmarks a{padding:8px 10px;border-radius:8px;color:#98a2b0;text-decoration:none}.bookmarks a:hover{background:#151a22;color:#fff}

/* Modal + consoles */
.modal{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:20px;background:rgba(0,0,0,.64);backdrop-filter:blur(4px)}.modal>div,.modal-card{width:min(980px,100%);max-height:calc(100vh - 40px);overflow:auto;background:#10151b;border:1px solid #2a323e;border-radius:15px;box-shadow:0 30px 90px rgba(0,0,0,.55)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line)}.modal-head h2{margin:0;font-size:17px}.modal-body{padding:16px}.modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--line)}.console-toolbar{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-bottom:8px}.console-host{height:min(68vh,700px);min-height:380px;background:#050607;border:1px solid #252c36;border-radius:10px;overflow:hidden}.console-host canvas{max-width:100%}

/* Login */
.auth-screen{min-height:100vh;display:grid;place-items:center;padding:22px;background:radial-gradient(circle at 50% 35%,rgba(255,122,0,.07),transparent 35%),var(--bg)}.auth-card{width:min(430px,100%);padding:26px;background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.auth-logo{width:52px;height:52px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(145deg,#ff8a28,#e95d00);font-size:25px;font-weight:900}.auth-card h1{margin:16px 0 4px;font-size:26px}.auth-card p{margin:0 0 17px;color:var(--muted)}.auth-card>label{display:grid;gap:6px;margin:11px 0;color:#a8b0bb;font-size:12px}.auth-card input{min-height:46px;padding:10px 11px;border:1px solid var(--line);border-radius:10px;background:#0c1015}.auth-card .btn{width:100%;margin-top:8px}

/* Responsive */
@media(max-width:1280px){.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid .span-3{grid-column:span 2}.cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar{grid-template-columns:auto minmax(220px,1fr) auto}.content{padding:22px}.backup-machine{grid-template-columns:1fr 1fr}.backup-machine>.actions{grid-column:1/-1}}
@media(max-width:980px){:root{--sidebar-w:250px}.topbar{grid-template-columns:auto minmax(180px,1fr)}.top-actions{grid-column:1/-1;justify-content:flex-end;display:none}.global-search{justify-self:stretch}.section-grid,.two-col,.admin-grid{grid-template-columns:1fr}.admin-card.full{grid-column:auto}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.app-shell,.app-shell.collapsed{display:block}.sidebar{position:fixed;left:0;top:0;bottom:0;width:min(88vw,320px);height:100vh;transform:translateX(-105%);transition:transform .2s ease;box-shadow:24px 0 70px rgba(0,0,0,.45)}.sidebar.open{transform:translateX(0)}.app-shell.collapsed .brand-copy,.app-shell.collapsed .cluster-copy,.app-shell.collapsed .cluster-card .chev,.app-shell.collapsed .section-label,.app-shell.collapsed .nav-label,.app-shell.collapsed .nav-badge,.app-shell.collapsed .sidebar-footer .nav-label{display:block}.app-shell.collapsed .cluster-card{grid-template-columns:34px minmax(0,1fr) 20px;place-items:initial;padding:12px}.app-shell.collapsed .nav-btn{justify-content:flex-start;padding:9px 10px}.mobile-overlay.show{display:block;position:fixed;inset:0;z-index:25;background:rgba(0,0,0,.55)}.sidebar-close{display:block}.icon-btn.menu{display:grid}.desktop-collapse{display:none}.sidebar-footer{display:none}.topbar{position:sticky;grid-template-columns:minmax(0,1fr) auto;padding:9px 12px;gap:9px}.global-search{grid-column:1/-1;grid-row:2}.top-actions{display:flex;grid-column:auto}.connection{display:none}.content{padding:18px 14px 38px}.hero,.page-head{align-items:flex-start}.hero-actions,.dashboard-controls{width:100%;justify-content:flex-start}.machine-filterbar{grid-template-columns:1fr 1fr}.machine-filterbar .search-field{grid-column:1/-1}.cards-grid,.metrics-grid{grid-template-columns:1fr 1fr}.discord-intro,.discord-channel{align-items:flex-start;flex-direction:column}.discord-channel .row-actions{width:100%;justify-content:flex-start}.discord-event-grid{grid-template-columns:1fr}.action-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){body{font-size:15px}.top-actions .icon-btn:not(.notify){display:none}.content{padding-inline:12px}.hero h1,.page-head h1{font-size:25px}.dashboard-grid,.cards-grid,.metrics-grid,.stats-strip,.machine-filterbar,.detail-grid,.module-toggles{grid-template-columns:1fr}.dashboard-grid .span-2,.dashboard-grid .span-3{grid-column:auto}.metric-value{font-size:27px}.hero-actions>*{flex:1 1 auto}.dashboard-controls>*{flex:1 1 100%}.dashboard-controls .btn{width:100%}.dash-range select,.live-status{width:100%;justify-content:center}.machine-panel{border:0;background:transparent}.machine-panel .table-scroll{overflow:visible}.machine-table{min-width:0;display:block}.machine-table thead{display:none}.machine-table tbody{display:grid;gap:9px}.machine-table tr{display:grid!important;grid-template-columns:1fr 1fr;background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:hidden;padding:10px}.machine-table td{display:flex!important;align-items:center;justify-content:space-between;gap:10px;padding:8px;border:0!important;font-size:13px}.machine-table td::before{content:attr(data-label);color:var(--muted);font-size:11px}.machine-table td[data-label="Machine"]{grid-column:1/-1;display:block!important;padding-bottom:10px;border-bottom:1px solid var(--line2)!important}.machine-table td[data-label="Machine"]::before{display:none}.machine-table td[data-label="Sélection"]{position:absolute;right:12px}.machine-table td[data-label="Actions"]{grid-column:1/-1}.machine-table td[data-label="Actions"]::before{display:none}.machine-table .row-actions{width:100%;justify-content:flex-start}.machine-table .row-actions .btn{flex:1}.backup-machine{grid-template-columns:1fr}.backup-machine>.actions{grid-column:auto}.audit-row{grid-template-columns:1fr}.audit-row time{grid-column:auto}.dep-edge-list>div{grid-template-columns:1fr;text-align:left}.dep-edge-list i{text-align:left}.action-grid{grid-template-columns:1fr}.modal{padding:0;place-items:end center}.modal>div,.modal-card{max-height:92vh;border-radius:16px 16px 0 0}.console-host{height:55vh;min-height:300px}.discord-channel-main>small{font-size:12px}.global-search input{font-size:16px}.field input,.field select,.field textarea,.admin-card input,.admin-card select,.admin-card textarea,.machine-filterbar select{font-size:16px}}
@media(max-width:380px){.top-copy .breadcrumb{display:none}.page-title{font-size:16px}.btn{padding-inline:11px}.metric-head{flex-wrap:wrap}.metric-head>span:first-child{flex-basis:100%}.resource-card dl{grid-template-columns:1fr}.top-actions{gap:5px}.icon-btn{width:38px;height:38px}}

/* v1.3.0 - update center + mail */
.update-alert{min-height:38px;padding:7px 11px;border:1px solid rgba(59,130,246,.42);border-radius:10px;background:rgba(59,130,246,.12);color:#bfdbfe;font-weight:800;white-space:nowrap}.update-alert:hover{background:rgba(59,130,246,.2)}
.update-check-config{display:grid;gap:11px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#0d1116}.update-check-config h4,.mail-admin h4{margin:0;font-size:15px}.update-check-config p,.mail-admin p{margin:4px 0 0;color:var(--muted);font-size:12px}.update-notify-options{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 0}.update-remote{display:grid;gap:9px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#0d1116}.update-remote strong,.update-remote small{display:block}.update-remote small{color:var(--muted)}.update-remote ul{margin:0;padding-left:20px;color:#cbd3dd;font-size:13px;line-height:1.6}.update-remote.available{border-color:rgba(59,130,246,.35);background:rgba(59,130,246,.06)}.update-remote.ok{border-color:rgba(16,185,129,.28);background:rgba(16,185,129,.05)}.update-remote.danger{border-color:rgba(239,68,68,.3);background:rgba(239,68,68,.05)}.zip-separator{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px}.zip-separator:before,.zip-separator:after{content:"";height:1px;flex:1;background:var(--line)}
.mail-admin{display:grid;gap:12px;margin-top:14px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#0d1116}.mail-box{display:grid;gap:8px;padding:12px;border:1px solid var(--line2);border-radius:10px;background:#0b0f14}.mail-box>strong{font-size:14px}.mail-box>small{color:var(--muted);font-size:12px;line-height:1.5}.mail-smtp-fallback{padding:10px 12px;border:1px solid var(--line2);border-radius:10px;background:#0b0f14}.mail-smtp-fallback summary{cursor:pointer;font-weight:700}
@media(max-width:820px){.update-alert{display:none}.update-current{align-items:flex-start;flex-direction:column}.update-check-config .two-col{grid-template-columns:1fr}.update-notify-options{padding-top:0}}
.metric-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}.metric-strip>div{padding:12px;border:1px solid var(--line2);border-radius:10px;background:#0b0f14}.metric-strip span,.metric-strip strong{display:block}.metric-strip span{color:var(--muted);font-size:12px}.metric-strip strong{font-size:24px;margin-top:3px}.mail-smtp-fallback ul{margin:7px 0 0;padding-left:18px;line-height:1.5}
@media(max-width:560px){.metric-strip{grid-template-columns:1fr}}

/* v1.4.0 — logo & alert detail UX */
.brand-mark{padding:3px;background:linear-gradient(145deg,#181c24,#0d1117);border:1px solid rgba(255,122,0,.28);box-shadow:0 8px 24px rgba(255,122,0,.14)}
.brand-mark img,.auth-logo img{width:100%;height:100%;object-fit:contain;display:block}
.auth-logo{padding:5px;background:linear-gradient(145deg,#181c24,#0d1117);border:1px solid rgba(255,122,0,.28)}
.problem-list{gap:0}.problem-row{width:100%;border:0;border-bottom:1px solid var(--line2);background:transparent;color:inherit;text-align:left;cursor:pointer;transition:.15s ease;grid-template-columns:auto minmax(0,1fr) auto}.problem-row:last-child{border-bottom:0}.problem-row:hover{background:#151a22}.problem-copy{min-width:0;display:grid;gap:4px}.problem-copy small{display:block;color:var(--muted);font-size:12px;line-height:1.45}.problem-side{margin-left:auto;display:flex;align-items:center;gap:12px}.problem-more{color:#8d98a8;font-size:12px;white-space:nowrap}.problem-row:hover .problem-more{color:var(--accent)}
.problem-detail-head{display:grid;grid-template-columns:38px minmax(0,1fr);gap:13px;align-items:start;padding-bottom:16px;border-bottom:1px solid var(--line)}.problem-detail-head .severity{width:38px;height:38px}.problem-detail-head p{margin:9px 0 0;color:#c0c7d1;line-height:1.55}.problem-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:16px}.problem-fact{padding:11px 12px;border:1px solid var(--line);background:var(--panel2);border-radius:10px}.problem-fact span,.problem-fact strong{display:block}.problem-fact span{font-size:11px;color:var(--muted);margin-bottom:4px}.problem-fact strong{font-size:13px;overflow-wrap:anywhere}.problem-items{margin-top:18px}.problem-items h3{font-size:14px;margin:0 0 8px}.problem-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:#0d1117;margin-top:7px}.problem-item div{min-width:0}.problem-item strong,.problem-item small{display:block}.problem-item strong{font-size:13px}.problem-item small{margin-top:3px;color:var(--muted);font-size:11px;overflow-wrap:anywhere}.problem-recommendation{margin-top:18px;padding:13px 14px;border:1px solid rgba(255,122,0,.22);border-left:4px solid var(--accent);border-radius:10px;background:rgba(255,122,0,.06)}.problem-recommendation strong{font-size:12px;color:#ffb16f;text-transform:uppercase;letter-spacing:.06em}.problem-recommendation p{margin:5px 0 0;line-height:1.55;color:#c4cbd5;font-size:13px}.branding-preview{display:flex;align-items:center;gap:12px;margin:4px 0 14px;padding:11px;border:1px solid var(--line);background:var(--panel2);border-radius:11px}.branding-preview img{width:52px;height:52px;object-fit:contain}.branding-preview strong,.branding-preview small{display:block}.branding-preview strong{font-size:16px}.branding-preview small{margin-top:3px;color:var(--muted);font-size:11px}
@media(max-width:560px){.problem-row{grid-template-columns:auto minmax(0,1fr)}.problem-side{grid-column:2;margin-left:0;justify-content:space-between;width:100%}.problem-facts{grid-template-columns:1fr}.problem-item{align-items:flex-start;flex-direction:column}.problem-item .btn{width:100%}}

/* v1.5.0-beta.1 — beta identity, multi-node dashboards, security update emphasis */
.beta-badge,.page-beta{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:rgba(255,122,0,.14);border:1px solid rgba(255,122,0,.32);color:#ff9d52;font-size:9px;font-weight:900;letter-spacing:.08em;padding:2px 6px;vertical-align:middle}.page-beta{margin-left:6px}.brand-mark{color:var(--accent);padding:6px;background:#121720}.brand-symbol{width:100%;height:100%;display:block}.brand-mark.preview{width:52px;height:52px;flex:0 0 52px}.auth-logo{color:var(--accent);padding:8px}.auth-logo .brand-symbol{width:100%;height:100%}.beta-warning{padding:13px 14px;margin-bottom:14px;border:1px solid rgba(255,122,0,.28);border-left:4px solid var(--accent);border-radius:11px;background:rgba(255,122,0,.07)}.beta-warning strong{color:#ffad6b}.beta-warning p{margin:5px 0 0;color:#aeb7c3;font-size:13px;line-height:1.5}.manual-report-box{margin:12px 0;padding:12px;border:1px solid var(--line);border-radius:11px;background:var(--panel2)}.manual-report-box>strong{display:block;margin-bottom:8px}.security-callout{margin-top:13px;padding:12px 13px;border:1px solid rgba(239,68,68,.28);border-left:4px solid #ef4444;border-radius:10px;background:rgba(239,68,68,.07)}.security-callout strong{color:#ff9ba3}.security-callout p{margin:7px 0}.security-callout code,.cve-line code{display:inline-block;margin:2px 3px 2px 0;padding:2px 5px;border-radius:5px;background:#211417;color:#ff9ba3;font-size:11px}.security-callout small{color:var(--muted);line-height:1.45}.pve-update-row.critical{border-left:3px solid #ef4444;background:rgba(239,68,68,.045)}.pve-update-row.security{border-left:3px solid #f59e0b;background:rgba(245,158,11,.035)}.pve-update-row.important{border-left:3px solid #3b82f6}.critical-metric strong{color:#ff727d}.cve-line{margin-top:6px;color:#ff9ba3;font-size:11px}.dashboard-group-list,.dashboard-source-list{display:grid;gap:9px}.dashboard-source{padding:12px;border:1px solid var(--line);border-radius:11px;background:var(--panel2)}.dashboard-source>strong,.dashboard-source>small{display:block}.dashboard-source>small{margin-top:4px}.dashboard-node-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:10px}.dashboard-controls .dash-range:first-child select{min-width:210px}.warning-box{margin-bottom:12px}.beta-update .update-current strong{display:flex;align-items:center;gap:8px}
@media(max-width:620px){.dashboard-node-checks{grid-template-columns:1fr}.dashboard-controls .dash-range:first-child select{min-width:0;width:100%}.dashboard-controls .dash-range{flex:1 1 100%}}
.update-alert.critical{background:rgba(239,68,68,.12)!important;border-color:rgba(239,68,68,.45)!important;color:#ff9199!important}.update-alert.security{background:rgba(245,158,11,.10)!important;border-color:rgba(245,158,11,.38)!important;color:#ffc45e!important}.dashboard-security{margin:0 0 14px}.dashboard-security.warning{border-color:rgba(245,158,11,.3);border-left-color:#f59e0b;background:rgba(245,158,11,.06)}

/* v1.5.0-beta.2 — notification center, users/RBAC, mobile polish */
.user-logout{min-height:42px;display:flex;align-items:center;gap:8px;padding:5px 9px;border:1px solid var(--line);border-radius:11px;background:var(--panel);color:#c7ced8}.user-logout:hover{border-color:rgba(255,91,104,.35);background:rgba(255,91,104,.06)}.user-dot{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:rgba(255,122,0,.12);color:#ff9d52;font-weight:900}.user-logout-copy{display:grid;text-align:left;line-height:1.1}.user-logout-copy b{font-size:12px}.user-logout-copy small{font-size:10px;color:var(--muted);margin-top:3px}
.dash-refresh-control{display:grid;grid-template-columns:auto 58px auto auto;align-items:center;gap:6px;min-height:42px;padding:5px 7px;border:1px solid var(--line);border-radius:10px;background:var(--panel2)}.dash-refresh-control>span{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted);white-space:nowrap}.dash-refresh-control>span i{width:7px;height:7px;border-radius:50%;background:var(--green)}.dash-refresh-control input{width:58px;height:30px;padding:4px 7px;border:1px solid var(--line);border-radius:7px;background:#0d1116;text-align:center}.dash-refresh-control>b{font-size:11px;color:var(--muted)}.dash-refresh-control .btn{min-height:30px;height:30px;padding:3px 8px}
.notification-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:12px}.notification-stat{padding:15px}.notification-stat span,.notification-stat strong,.notification-stat small{display:block}.notification-stat span{color:var(--muted);font-size:12px}.notification-stat strong{font-size:25px;margin:3px 0}.notification-stat small{color:#9ba5b3}.notification-center-section{margin-top:12px;overflow:hidden}.notification-body{padding:16px}.notification-center-section .problem-list{padding:0}.notification-center-section .discord-admin{padding:0}.notification-center-section .discord-intro{padding:0 0 12px}
.users-panel{overflow:hidden}.user-list{display:grid}.panel-user-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:13px 15px;border-bottom:1px solid var(--line2)}.panel-user-row:last-child{border-bottom:0}.panel-user-avatar{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:rgba(255,122,0,.1);border:1px solid rgba(255,122,0,.18);font-weight:900;color:#ffad6b}.panel-user-copy{min-width:0}.panel-user-copy strong,.panel-user-copy small{display:block}.panel-user-copy strong{font-size:14px}.panel-user-copy small{margin-top:3px;color:var(--muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.security-note{margin-top:12px;padding:14px 16px;border-left:4px solid var(--green)}.security-note strong{color:#9ff5d9}.security-note p{margin:5px 0 0;color:var(--muted);font-size:12px}.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:12px}.permission-grid[hidden]{display:none}.totp-setup{display:grid;gap:10px}.totp-setup textarea{width:100%;resize:vertical}
.auth-security{display:block;margin:-2px 0 12px;color:var(--muted);font-size:11px;line-height:1.45}.detail-tile small{display:block;margin-top:4px;color:var(--muted);font-size:10px}.toast.warning{background:#241d10;border-color:rgba(242,185,75,.4)}
@media(max-width:1180px){.topbar{grid-template-columns:auto minmax(180px,1fr) auto}.user-logout-copy{display:none}.user-logout{padding:5px 7px}.notification-summary{grid-template-columns:repeat(3,minmax(120px,1fr))}}
@media(max-width:900px){.topbar{grid-template-columns:minmax(0,1fr) auto}.global-search{grid-column:1/-1;grid-row:2}.notification-summary{grid-template-columns:1fr 1fr}.panel-user-row{grid-template-columns:42px minmax(0,1fr) auto}.panel-user-state{grid-column:3}.panel-user-row .row-actions{grid-column:2/-1}.dash-refresh-control{flex:1 1 180px}}
@media(max-width:820px){.content{padding:18px 14px 36px}.topbar{padding:9px 12px;gap:9px}.desktop-collapse{display:none}.top-actions .connection{max-width:145px;overflow:hidden;text-overflow:ellipsis}.hero,.page-head{align-items:flex-start}.hero-actions,.actions{width:100%}.hero-actions>.btn{flex:1}.dashboard-controls{display:grid;grid-template-columns:1fr 1fr}.dashboard-controls .dash-range,.dashboard-controls .dash-refresh-control{width:100%;min-width:0}.dashboard-controls .dash-refresh-control{grid-column:1/-1}.notification-summary{grid-template-columns:1fr}.panel-user-row{grid-template-columns:40px minmax(0,1fr)}.panel-user-state{grid-column:2}.panel-user-row .row-actions{grid-column:1/-1}.panel-user-row .row-actions .btn{flex:1}.permission-grid{grid-template-columns:1fr}}
@media(max-width:560px){body{font-size:15px}.content{padding:14px 10px 30px}.topbar{grid-template-columns:minmax(0,1fr) auto}.top-copy .breadcrumb{display:none}.page-title{font-size:16px}.top-actions{gap:5px}.top-actions .connection{display:none}.user-logout{width:40px;height:40px;padding:5px;justify-content:center}.user-logout>span:last-child{display:none}.global-search{height:44px}.hero h1,.page-head h1{font-size:24px}.dashboard-controls{grid-template-columns:1fr}.dashboard-controls .dash-refresh-control{grid-column:auto}.dash-refresh-control{grid-template-columns:minmax(0,1fr) 58px auto auto}.notification-body{padding:12px}.discord-channel{padding:12px}.discord-channel .row-actions{width:100%;margin-top:9px}.discord-channel .row-actions .btn{flex:1}.panel-head{padding:13px}.panel-user-row{padding:12px}.modal .two-col{grid-template-columns:1fr}.auth-card{width:min(100%,calc(100vw - 22px));padding:22px 18px}.machine-filterbar{grid-template-columns:1fr}.machine-filterbar>*{width:100%}.btn{min-height:44px}.btn.tiny{min-height:38px}}

/* v1.5.0-beta.6 — OTA server integration */
.ota-settings{display:grid;gap:12px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--panel2)}
.ota-identity{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ota-identity>div{padding:10px 11px;border:1px solid var(--line2);border-radius:9px;background:#0d1116}.ota-identity span,.ota-identity strong,.ota-identity code{display:block}.ota-identity span{color:var(--muted);font-size:11px}.ota-identity strong{margin-top:3px;font-size:12px}.ota-identity code{margin-top:5px;word-break:break-all;color:#aab4c1;font-size:10px}
.ota-release,.ota-empty{margin-top:13px;padding:14px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(180deg,#11171d,#0e1318)}.ota-release.verified{border-color:rgba(22,212,154,.26);box-shadow:0 0 0 1px rgba(22,212,154,.03) inset}.ota-release.unverified{border-color:rgba(242,185,75,.28)}.ota-release .panel-head{padding:0 0 12px;border:0}.ota-release h4{margin:0;font-size:16px}.ota-release p{margin:4px 0 0;color:var(--muted);font-size:12px}.ota-empty{display:grid;gap:4px;color:var(--muted)}.ota-empty strong{color:var(--text)}
.metric-strip.compact{margin:8px 0 12px}.release-notes{margin:10px 0;padding:11px 12px;border:1px solid var(--line2);border-radius:9px;background:#0d1116}.release-notes strong{display:block;margin-bottom:6px}.release-notes ul,.security-callout ul{margin:0;padding-left:18px}.release-notes li,.security-callout li{margin:4px 0;color:#b8c0cc;font-size:12px;line-height:1.45}
.success-box{padding:11px 12px;border:1px solid rgba(22,212,154,.25);border-left:4px solid var(--green);border-radius:10px;background:rgba(22,212,154,.06)}.success-box strong{color:#91efd3}.success-box p{margin:5px 0 0;color:#aeb7c3;font-size:12px}
.zip-fallback{margin-top:14px;border:1px solid var(--line);border-radius:11px;background:var(--panel2);padding:0 13px 13px}.zip-fallback summary{padding:12px 0;cursor:pointer;font-weight:800}.zip-fallback .zip-drop{margin-top:8px}
@media(max-width:700px){.ota-identity{grid-template-columns:1fr}.ota-settings>.two-col{grid-template-columns:1fr}.ota-settings .update-notify-options{display:grid;grid-template-columns:1fr 1fr}.ota-settings .actions .btn{flex:1 1 100%}}

/* v1.5.0-beta.6 — OTA officiel sans configuration */
.official-ota-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px;border:1px solid rgba(22,212,154,.24);border-radius:11px;background:rgba(22,212,154,.055)}
.official-ota-card>div{display:flex;align-items:center;gap:11px;min-width:0}.official-ota-card strong,.official-ota-card small{display:block}.official-ota-card strong{font-size:14px}.official-ota-card small{margin-top:3px;color:var(--muted);font-size:11px;word-break:break-all}.official-ota-icon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:#171d22;border:1px solid var(--line);font-size:18px;color:var(--accent)}
.ota-dev{padding:10px 12px;border:1px dashed var(--line);border-radius:10px;background:#0c1015}.ota-dev summary{cursor:pointer;font-weight:700;font-size:12px;color:#9ba5b1}.ota-dev[open] summary{margin-bottom:10px}
@media(max-width:620px){.official-ota-card{align-items:flex-start;flex-direction:column}.official-ota-card>.pill{align-self:flex-start}}

/* v1.5.0-beta.6 — dernières versions OTA */
.ota-latest-block{margin-top:18px;border-top:1px solid var(--border);padding-top:18px}
.ota-latest-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}
.ota-latest-release{background:var(--panel-2,#111821);border:1px solid var(--border);border-radius:14px;padding:14px;min-width:0}
.ota-latest-release.beta{border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}
.ota-latest-release.stable{border-color:rgba(44,205,142,.35)}
.ota-latest-release.empty{opacity:.75}
.ota-latest-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;flex-wrap:wrap}
.ota-latest-head>div{display:grid;gap:4px}.ota-latest-head strong{font-size:21px}.ota-channel-label{font-size:11px;font-weight:800;letter-spacing:.11em;color:var(--muted)}
.ota-latest-release h5{font-size:15px;margin:12px 0 5px}.ota-latest-release>p{margin:6px 0 0;color:var(--muted);line-height:1.45}
.ota-latest-meta{display:flex;flex-wrap:wrap;gap:7px 12px;margin-top:12px;padding-top:10px;border-top:1px solid var(--border);font-size:12px;color:var(--muted)}
.ota-latest-list,.ota-latest-security{margin-top:12px;padding:10px 11px;border-radius:10px;background:rgba(255,255,255,.025)}
.ota-latest-list b,.ota-latest-security b{font-size:13px}.ota-latest-list ul,.ota-latest-security ul{margin:7px 0 0;padding-left:19px;color:var(--muted);font-size:13px;line-height:1.45}
.ota-latest-security{background:rgba(255,169,58,.07);border:1px solid rgba(255,169,58,.18)}
.ota-latest-footer{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:9px;font-size:11px;color:var(--muted)}
@media(max-width:780px){.ota-latest-grid{grid-template-columns:1fr}.ota-latest-head strong{font-size:19px}}

.onboarding-note{margin-bottom:14px;padding:13px 14px;border:1px solid rgba(255,122,0,.25);border-radius:11px;background:rgba(255,122,0,.06)}.onboarding-note strong{display:block;margin-bottom:5px;color:#ffad6b}.onboarding-note p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}
