:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#eef2f6;color:#111827;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.app-shell{display:grid;grid-template-columns:252px minmax(0,1fr);min-height:100vh}.sidebar{background:#111820;color:#e9f0f7;display:flex;flex-direction:column;padding:22px 14px}.brand-block{display:flex;align-items:center;min-height:72px}.brand-block.large{margin-bottom:58px}.brand-logo,.brand-mark{width:210px;height:auto}.brand-logo{display:block;max-width:100%;max-height:68px;border-radius:0;object-fit:contain}.large-logo{width:min(520px,100%);max-height:150px}.brand-mark{display:grid;place-items:center;border-radius:8px;background:#19a37b;color:#fff;font-weight:900}.brand-block strong{display:block;font-size:18px}.brand-block span{color:#9eb1c7;font-size:13px}.nav-list{display:grid;gap:8px;margin-top:34px}.nav-list button,.ghost-button,.primary-button,.danger-button,.secondary-button,.icon-button,.segmented button{border:0;border-radius:8px;min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease}.nav-list button{justify-content:flex-start;padding:0 12px;background:transparent;color:#c9d6e3}.nav-list svg{width:18px;height:18px}.nav-list button.active,.nav-list button:hover{background:#203042;color:#fff}.sidebar-footer{margin-top:auto;border-top:1px solid #263544;padding-top:16px;display:grid;gap:3px}.sidebar-footer small{color:#8ea2b7}.user-menu-button{min-height:36px;margin-top:10px;padding:0 10px;display:inline-flex;align-items:center;justify-content:flex-start;gap:8px;border:1px solid #314255;border-radius:8px;background:#182433;color:#e9f0f7;font-weight:800}.user-menu-button:hover{background:#203042}.workspace{padding:28px;min-width:0}.topbar{min-height:58px;display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:22px}.eyebrow{margin:0 0 4px;color:#16725a;text-transform:uppercase;font-size:12px;font-weight:800;letter-spacing:0}h1,h2{margin:0}h1{font-size:26px}h2{font-size:17px}.topbar-actions,.button-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.account-button{min-height:44px;max-width:290px;padding:0 12px;display:inline-flex;align-items:center;gap:9px;border:1px solid #d3dce7;border-radius:8px;background:#fff;color:#1f334a}.account-button:hover{background:#f8fbff;transform:translateY(-1px)}.account-button span{min-width:0;display:grid;gap:1px;text-align:left}.account-button strong,.account-button small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-button strong{font-size:13px}.account-button small{color:#63748a;font-size:11px}.icon-button{width:42px;background:#fff;color:#28384d;border:1px solid #d3dce7}.danger-icon-button{width:38px;min-width:38px;height:38px;border:1px solid #fecaca;border-radius:8px;background:#fff5f5;color:#b42318;display:inline-flex;align-items:center;justify-content:center}.danger-icon-button:hover{background:#fee2e2}.ghost-button,.secondary-button{padding:0 14px;background:#fff;color:#1f334a;border:1px solid #d3dce7}.primary-button{padding:0 16px;background:#2563a7;color:#fff;font-weight:800}.danger-button{padding:0 14px;background:#b42318;color:#fff;font-weight:800}.primary-button:hover,.danger-button:hover,.secondary-button:hover,.ghost-button:hover,.icon-button:hover{transform:translateY(-1px)}.notice,.form-error{border-radius:8px;padding:12px 14px;margin-bottom:16px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412}.inline-field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.stats-grid{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr));gap:14px;margin-bottom:16px}.stat-card,.panel{background:#fff;border:1px solid #d8e1ec;border-radius:8px;box-shadow:0 12px 26px #1018280d}.stat-card{min-height:118px;padding:16px;display:grid;gap:8px;align-content:start}.stat-card div{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;color:#fff}.stat-card.blue div{background:#2563a7}.stat-card.green div{background:#168253}.stat-card.teal div{background:#0f8b8d}.stat-card.red div{background:#c2413a}.stat-card.amber div{background:#b7791f}.stat-card span{color:#607086;font-size:13px;font-weight:700}.stat-card strong{font-size:30px}.split-grid,.management-grid,.device-layout{display:grid;gap:16px}.split-grid{grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr)}.management-grid{grid-template-columns:minmax(0,1fr) 390px}.device-layout{grid-template-columns:minmax(0,1fr) 390px;align-items:start}.script-library-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px;align-items:start}.script-library-main,.script-library-side{min-width:0}.library-toolbar{display:grid;grid-template-columns:minmax(280px,1fr) auto;gap:12px;align-items:center;margin-bottom:14px}.script-category-tabs{display:inline-flex;flex-wrap:wrap;gap:6px}.script-category-tabs button{min-height:36px;padding:0 11px;border:1px solid #d5dfeb;border-radius:8px;background:#fff;color:#27364a;font-weight:800}.script-category-tabs button.active,.script-category-tabs button:hover{background:#203042;color:#fff}.script-library-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.script-card{min-width:0;display:grid;gap:12px;padding:14px;border:1px solid #dbe4ee;border-radius:8px;background:#fbfdff}.script-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.script-card-head span,.script-card-head strong{color:#16725a;font-size:12px;font-weight:900;text-transform:uppercase}.script-card-head h2{margin-top:3px}.script-card-head p{margin:5px 0 0;color:#63748a;font-size:13px}.script-card pre{min-height:118px;max-height:190px;overflow:auto;margin:0;padding:10px;border-radius:8px;background:#0f1720;color:#dbeafe;font:12px/1.45 Cascadia Mono,Consolas,monospace;white-space:pre-wrap}.script-library-side{display:grid;gap:12px}.library-target-box{display:grid;gap:5px;padding:12px;border:1px solid #dbe4ee;border-radius:8px;background:#f8fbff}.library-target-box span,.library-target-box small{color:#63748a;font-size:13px}.device-main-column{display:grid;gap:16px;min-width:0}.installer-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:end}.installer-grid>*{min-width:0}.installer-download{min-height:43px;width:100%;min-width:0;white-space:nowrap}.installer-grid>.installer-download{grid-column:span 2}.installer-grid>.installer-config{grid-column:1 / -1}.panel{padding:16px;min-width:0}.panel-header{min-height:44px;display:flex;align-items:start;justify-content:space-between;margin-bottom:12px}.panel-header span{display:block;margin-top:3px;color:#63748a;font-size:13px}.table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.filter-row{display:grid;grid-template-columns:minmax(180px,260px) minmax(180px,240px);gap:10px;margin-bottom:12px}.search-box{flex:1;min-width:220px;height:42px;display:flex;align-items:center;gap:8px;padding:0 12px;border-radius:8px;background:#f8fafc;border:1px solid #cfdae6;color:#64748b}.search-box input{border:0;outline:0;flex:1;min-width:0;background:transparent}.segmented{display:inline-flex;border:1px solid #cfdae6;border-radius:8px;overflow:hidden}.segmented button{border-radius:0;background:#fff;color:#405169;min-width:82px;padding:0 12px}.segmented button.active{background:#203042;color:#fff}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:740px}th{color:#5d6c81;background:#f5f8fb;font-size:12px;text-align:left;text-transform:uppercase;letter-spacing:0}th,td{padding:12px;border-bottom:1px solid #e4eaf2;vertical-align:middle}tbody tr{cursor:pointer}tbody tr:hover{background:#f8fbff}td strong{display:block;font-size:14px}td span{display:block;color:#66788f;font-size:12px;margin-top:2px}td small{display:block;color:#8390a3;font-size:11px;margin-top:2px}.row-action-cell{width:54px;text-align:right}.status-badge{width:92px;min-height:28px;display:inline-flex;justify-content:center;align-items:center;gap:5px;border-radius:999px;font-size:12px;font-weight:800}.status-badge.online{background:#e8f7ef;color:#126b43}.status-badge.offline{background:#fff0ed;color:#a63a32}.event-list,.data-list,.form-stack,.form-panel{display:grid;gap:10px}.event-row,.data-row{min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-radius:8px;border:1px solid #dbe4ee;background:#fbfdff}.event-row{display:grid;align-items:start}.event-row span,.event-row small,.data-row span,.row-metrics small{color:#63748a}.event-row.warning{border-left:4px solid #b7791f}.event-row.critical{border-left:4px solid #c2413a}.row-metrics{min-width:120px;display:grid;justify-items:end;gap:4px}label{display:grid;gap:6px;color:#46566d;font-size:13px;font-weight:800}input,select,textarea{width:100%;border:1px solid #cbd7e4;border-radius:8px;padding:10px 11px;background:#fff;color:#111827;outline:none}input:focus,select:focus,textarea:focus{border-color:#2563a7;box-shadow:0 0 0 3px #2563a71f}.device-detail{position:sticky;top:20px}.detail-title{display:flex;justify-content:space-between;gap:12px;margin-bottom:14px}.detail-title h2{margin-top:8px;font-size:22px}.device-owner-name{display:block;margin-top:6px;color:#1f334a}.detail-title span{display:block;margin-top:4px;color:#66788f}.remote-box{display:grid;gap:9px;padding:14px;border:1px solid #bdd7ea;border-radius:8px;background:#f3f9fd;margin-bottom:14px}.remote-heading{display:flex;align-items:start;justify-content:space-between;gap:12px}.remote-box span,.info-cell span{color:#65758a;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:0}.remote-box strong{font-size:22px}.rustdesk-badge{width:fit-content;min-height:26px;display:inline-flex;align-items:center;justify-content:center;padding:0 10px;border-radius:999px;font-size:12px;font-weight:900;white-space:nowrap}.rustdesk-badge.online{color:#126b43;background:#e8f7ef}.rustdesk-badge.offline{color:#a63a32;background:#fff0ed}.rustdesk-badge.not-installed{color:#5d6c81;background:#eef2f6}.rustdesk-detail{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.info-cell{min-height:68px;border:1px solid #dbe4ee;border-radius:8px;padding:10px;display:grid;gap:5px;align-content:start;background:#fff}.info-cell.wide{grid-column:1 / -1}.info-cell strong{overflow-wrap:anywhere}.empty-state{min-height:150px;display:grid;place-items:center;color:#6c7c90;border:1px dashed #b9c7d8;border-radius:8px;background:#fbfdff}.command-log-panel{margin-top:14px}.command-log-list{display:grid;gap:8px}.command-log-row{border:1px solid #dbe4ee;border-radius:8px;background:#fff;overflow:hidden}.command-log-row summary{min-height:42px;display:grid;grid-template-columns:90px 1fr auto;align-items:center;gap:10px;padding:0 10px;cursor:pointer}.command-log-row summary span{width:fit-content;padding:3px 8px;border-radius:999px;background:#eef2f6;color:#405169;font-size:12px;font-weight:900}.command-log-row.completed summary span{background:#e8f7ef;color:#126b43}.command-log-row.error summary span{background:#fff0ed;color:#a63a32}.command-log-row pre{max-height:240px;overflow:auto;margin:0;padding:10px;border-top:1px solid #e4eaf2;background:#0f1720;color:#dbeafe;font:12px/1.45 Cascadia Mono,Consolas,monospace;white-space:pre-wrap}.technical-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:35;padding:18px;overflow:auto;background:#eaf0f6}.technical-screen{width:min(1540px,100%);min-height:calc(100vh - 36px);margin:0 auto;display:grid;grid-template-rows:auto auto 1fr;gap:14px}.technical-header,.technical-actions,.technical-section,.metric-card,.technical-main .command-log-panel,.technical-side .command-log-panel{background:#fff;border:1px solid #d8e1ec;border-radius:8px;box-shadow:0 12px 26px #1018280d}.technical-header{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px}.technical-title-row,.technical-header-actions{display:flex;align-items:center;gap:12px}.technical-title-row h1{font-size:25px}.technical-title-row span{display:block;margin-top:4px;color:#66788f}.technical-header-actions{flex-wrap:wrap;justify-content:flex-end}.live-dot{min-height:28px;display:inline-flex;align-items:center;justify-content:center;padding:0 10px;border-radius:999px;background:#e8f7ef;color:#126b43;font-size:12px;font-weight:900}.live-dot.loading{background:#eaf3ff;color:#2563a7}.technical-actions{min-height:58px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px}.technical-content-grid{display:grid;grid-template-columns:minmax(0,1fr) 430px;gap:16px;align-items:start}.technical-main,.technical-side{min-width:0}.technical-side{display:grid;gap:16px}.technical-section,.technical-main .command-log-panel,.technical-side .command-log-panel{padding:16px}.technical-main .technical-section,.technical-main .command-log-panel{margin-top:16px}.technical-side .command-log-panel{margin-top:0}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.metric-card{min-height:178px;padding:14px;display:grid;gap:10px}.metric-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.metric-card-head>span{width:38px;height:38px;display:grid;place-items:center;border-radius:8px;color:#fff}.metric-card.blue .metric-card-head>span{background:#2563a7}.metric-card.green .metric-card-head>span{background:#168253}.metric-card.amber .metric-card-head>span{background:#b7791f}.metric-card-head div{display:grid;justify-items:end;gap:2px}.metric-card-head small{color:#65758a;font-size:12px;font-weight:900;text-transform:uppercase}.metric-card-head strong{font-size:28px}.metric-chart{height:70px;display:grid;place-items:center;overflow:hidden;border:1px solid #e1e9f2;border-radius:8px;background:linear-gradient(to right,rgba(99,116,138,.11) 1px,transparent 1px),linear-gradient(to bottom,rgba(99,116,138,.11) 1px,transparent 1px),#f8fbff;background-size:25% 100%,100% 33%;color:#66788f;font-size:12px;font-weight:800}.metric-chart svg{width:100%;height:100%}.metric-chart polyline{fill:none;stroke:#2563a7;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.metric-card.green .metric-chart polyline{stroke:#168253}.metric-card.amber .metric-chart polyline{stroke:#b7791f}.metric-card p{margin:0;color:#63748a;font-size:12px;font-weight:700}.technical-remote-box{margin-bottom:10px}.device-owner-panel{display:grid;gap:12px}.owner-current{min-height:72px;display:grid;gap:4px;padding:12px;border:1px solid #dbe4ee;border-radius:8px;background:#f8fbff}.owner-current span,.owner-current small{color:#65758a;font-size:12px;font-weight:800}.owner-current span{text-transform:uppercase}.owner-current strong{overflow-wrap:anywhere;font-size:18px}.owner-form{display:grid;gap:10px}.technical-identity-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.technical-event-list{display:grid;gap:8px}.technical-event{min-height:60px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px;border:1px solid #dbe4ee;border-left:4px solid #2563a7;border-radius:8px;background:#fbfdff}.technical-event.warning{border-left-color:#b7791f}.technical-event.critical{border-left-color:#c2413a}.technical-event strong,.technical-event span{display:block}.technical-event span,.technical-event small{margin-top:3px;color:#63748a;font-size:12px}.context-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;border:0;background:transparent}.device-context-menu{position:fixed;z-index:31;width:210px;padding:8px;display:grid;gap:4px;border:1px solid #c8d5e3;border-radius:8px;background:#fff;box-shadow:0 18px 40px #0f172a2e}.device-context-menu strong{padding:8px 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#1f334a;border-bottom:1px solid #e4eaf2}.device-context-menu button{min-height:38px;display:flex;align-items:center;gap:8px;padding:0 10px;border:0;border-radius:7px;background:transparent;color:#24364d;text-align:left}.device-context-menu button:hover{background:#eef6ff}.modal-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;padding:18px;background:#080d1670}.command-modal{width:min(680px,100%);display:grid;gap:14px;padding:18px;border:1px solid #c8d5e3;border-radius:8px;background:#fff;box-shadow:0 24px 64px #080d1647}.profile-modal{width:min(520px,100%);display:grid;gap:14px;padding:18px;border:1px solid #c8d5e3;border-radius:8px;background:#fff;box-shadow:0 24px 64px #080d1647}.modal-title{display:flex;align-items:start;justify-content:space-between;gap:14px}.modal-title span{color:#16725a;font-size:12px;font-weight:900;text-transform:uppercase}.command-modes{width:fit-content}.command-modal textarea{min-height:210px;resize:vertical;font-family:Cascadia Mono,Consolas,monospace;font-size:13px;line-height:1.45}.modal-actions{justify-content:flex-end}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) 420px;background:linear-gradient(135deg,#111820eb,#1f334ad6),url(https://images.unsplash.com/photo-1516321318423-f06f85e504b3?auto=format&fit=crop&w=1600&q=80) center/cover}.login-hero{color:#fff;padding:46px;display:flex;flex-direction:column;justify-content:space-between}.hero-grid{display:grid;grid-template-columns:repeat(2,minmax(160px,220px));gap:12px}.hero-grid div{min-height:76px;display:flex;align-items:center;gap:10px;padding:14px;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:#ffffff14;font-weight:800}.login-panel{margin:28px;align-self:center;background:#fff;border-radius:8px;padding:28px;box-shadow:0 24px 60px #080d1647}.login-panel h1{margin-bottom:20px}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1180px){.stats-grid{grid-template-columns:repeat(3,minmax(140px,1fr))}.split-grid,.management-grid,.device-layout,.script-library-layout,.technical-content-grid{grid-template-columns:1fr}.device-detail{position:static}.installer-grid{grid-template-columns:1fr 1fr}}@media(max-width:820px){.app-shell,.login-page{grid-template-columns:1fr}.sidebar{position:static;padding:14px}.nav-list{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:16px}.sidebar-footer{display:none}.workspace{padding:16px}.topbar,.table-toolbar,.technical-header,.inline-field{align-items:stretch;flex-direction:column}.account-button{width:100%;max-width:none}.technical-title-row,.technical-header-actions{align-items:flex-start;justify-content:flex-start}.filter-row,.rustdesk-detail,.metric-grid,.library-toolbar,.script-library-list{grid-template-columns:1fr}.stats-grid{grid-template-columns:1fr 1fr}.login-hero{min-height:340px;padding:24px}.login-panel{margin:0;border-radius:0}}@media(max-width:520px){.stats-grid,.hero-grid,.detail-grid,.technical-identity-grid{grid-template-columns:1fr}.technical-layer{padding:0}.technical-screen{min-height:100vh}.technical-header,.technical-actions,.technical-section,.technical-main .command-log-panel,.technical-side .command-log-panel,.metric-card{border-radius:0}.segmented{width:100%}.segmented button{flex:1;min-width:0}.installer-grid,.inline-field{grid-template-columns:1fr}.installer-grid>.installer-download{grid-column:auto}}
