:root{
  --bg:#020b19;--bg-2:#041329;--panel:#061a36;--panel-2:#082244;--panel-3:#0a2d59;
  --line:rgba(111,166,255,.18);--line-strong:rgba(70,145,255,.34);--text:#f6f9ff;--muted:#9bb0ce;
  --blue:#0a66ff;--blue-2:#17a8ff;--cyan:#4cc9ff;--green:#20d987;--red:#ff5369;--amber:#ffbd45;--violet:#8d72ff;
  --shadow:0 24px 70px rgba(0,0,0,.34);--radius:20px;--radius-sm:14px;
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(circle at 60% 0%,#082d61 0,#03142d 29%,#020b19 70%);color:var(--text)}body{min-width:1180px}button,input,select{font:inherit}.hidden{display:none!important}.muted{color:var(--muted)}
.login-screen{position:fixed;inset:0;display:grid;place-items:center;overflow:hidden;background:linear-gradient(135deg,#020a17,#03152d 55%,#061d3d);z-index:100}.login-ambient{position:absolute;border-radius:999px;filter:blur(100px);opacity:.45}.ambient-a{width:560px;height:560px;background:#0b5cff;left:-180px;top:-130px}.ambient-b{width:520px;height:520px;background:#0a99ff;right:-180px;bottom:-180px}.premium-glass{background:linear-gradient(145deg,rgba(8,31,66,.94),rgba(3,18,40,.96));border:1px solid rgba(104,163,255,.28);box-shadow:0 40px 120px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.05);backdrop-filter:blur(28px)}.login-card{width:480px;border-radius:28px;padding:34px}.login-logo-wrap{background:#fff;border-radius:18px;padding:16px 22px;margin-bottom:28px;box-shadow:0 14px 34px rgba(0,0,0,.2)}.brand-logo-login{width:250px;display:block;margin:auto}.eyebrow{font-size:11px;letter-spacing:.18em;font-weight:800;color:#70b8ff}.login-card h1{font-size:34px;margin:8px 0 8px}.login-greeting{font-weight:700;margin:0 0 4px}.login-form{display:grid;gap:14px;margin-top:26px}.login-form label{display:grid;gap:7px;color:var(--muted);font-size:12px}.login-form input,.tools input,.tools select,.select-compact,#action-device,.ai-input-row input{background:#071a35;border:1px solid var(--line);color:#fff;border-radius:12px;padding:12px 14px;outline:none}.login-form input:focus,.tools input:focus,.tools select:focus,.select-compact:focus,#action-device:focus,.ai-input-row input:focus{border-color:#3888ff;box-shadow:0 0 0 3px rgba(10,102,255,.14)}.btn{border:0;border-radius:12px;padding:12px 18px;font-weight:800;cursor:pointer}.btn-primary{background:linear-gradient(135deg,#0a66ff,#168cff);color:#fff;box-shadow:0 12px 28px rgba(10,102,255,.24)}.btn-secondary{background:#0a1f40;color:#dceaff;border:1px solid var(--line)}.btn-block{width:100%}.login-error{background:rgba(255,83,105,.12);border:1px solid rgba(255,83,105,.38);padding:10px 12px;border-radius:10px;color:#ff9baa}.login-foot{margin-top:20px;padding-top:18px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.status-dot{width:9px;height:9px;border-radius:50%;background:var(--green);display:inline-block;box-shadow:0 0 12px rgba(32,217,135,.7);margin-right:6px}
.app-shell{display:grid;grid-template-columns:238px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,#020b19,#03132a);border-right:1px solid var(--line);padding:18px 14px;display:flex;flex-direction:column;z-index:20}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:0 4px 18px;border-bottom:1px solid rgba(255,255,255,.05)}.logo-tile{width:104px;height:44px;background:#fff;border-radius:10px;display:flex;align-items:center;padding:7px 8px}.brand-logo{max-width:100%;height:auto;display:block}.brand-copy{display:grid;gap:2px}.brand-copy strong{font-size:12px}.brand-copy span{font-size:10px;color:var(--muted)}.main-nav{display:grid;gap:5px;padding:18px 0;overflow:auto}.nav-item{border:0;background:transparent;color:#9fb1ca;padding:11px 12px;border-radius:11px;display:flex;align-items:center;gap:12px;text-align:left;font-size:13px;cursor:pointer;transition:.2s}.nav-item:hover{background:rgba(10,102,255,.08);color:#fff}.nav-item.active{background:linear-gradient(90deg,rgba(10,102,255,.42),rgba(10,102,255,.08));border:1px solid rgba(42,126,255,.25);color:#fff;box-shadow:inset 3px 0 0 #168cff}.nav-icon{width:20px;text-align:center;color:#72b9ff;font-weight:900}.nav-separator{height:1px;background:rgba(255,255,255,.05);margin:4px 10px}.sidebar-bottom{margin-top:auto;display:grid;gap:10px}.admin-session{display:grid;grid-template-columns:34px 1fr 30px;gap:8px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.025)}.admin-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#0a66ff,#8d72ff);font-weight:800}.admin-session div{display:grid}.admin-session strong{font-size:11px}.admin-session span:not(.admin-avatar){font-size:9px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100px}.admin-session button{background:transparent;border:0;color:#9cb6d8;cursor:pointer}.system-chip{display:grid;grid-template-columns:12px 1fr 28px;align-items:center;gap:8px;padding:9px 10px;background:#041b30;border:1px solid rgba(32,217,135,.18);border-radius:11px}.system-chip div{display:grid}.system-chip strong{font-size:10px}.system-chip span{font-size:9px;color:#7dd9ae}.pulse-line{font-size:22px!important;color:#20d987!important}.panel-version{text-align:center;font-size:9px;color:#7391b7}.panel-version strong{color:#a9d2ff}
.main-content{padding:22px 26px 42px;min-width:0}.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px}.topbar h1{font-size:28px;line-height:1.1;margin:6px 0 5px;letter-spacing:-.03em}.topbar p{margin:0;color:var(--muted);font-size:13px}.topbar-right{display:flex;align-items:center;gap:12px}.greeting-card{display:grid;grid-template-columns:auto auto;column-gap:14px;align-items:center;background:rgba(6,26,54,.62);border:1px solid var(--line);padding:9px 12px;border-radius:13px;min-width:235px}.greeting-card span{color:#8fc4ff;font-size:11px;font-weight:700}.greeting-card strong{grid-row:1/3;grid-column:2;font-size:18px}.greeting-card small{color:var(--muted);font-size:10px}.icon-btn{width:38px;height:38px;border-radius:11px;border:1px solid var(--line);background:#061a36;color:#fff;cursor:pointer}.alert{padding:12px 14px;border-radius:12px;background:rgba(255,83,105,.12);border:1px solid rgba(255,83,105,.28);color:#ffabb7;margin-bottom:14px}.view{display:none}.view.active{display:block}.panel{background:linear-gradient(145deg,rgba(8,31,66,.92),rgba(4,20,44,.92));border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 16px 50px rgba(0,0,0,.14),inset 0 1px 0 rgba(255,255,255,.025);overflow:hidden}.panel-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:18px 20px;border-bottom:1px solid rgba(255,255,255,.055)}.panel-head.compact{padding:15px 18px}.panel-head h2{margin:3px 0 0;font-size:18px}.panel-head p{margin:4px 0 0;color:var(--muted);font-size:12px}.select-compact{padding:9px 10px;font-size:11px;max-width:280px}.tools{display:flex;gap:8px;align-items:center}.tools input{width:280px}.tools select{min-width:160px}.link-button{border:0;background:transparent;color:#69b4ff;cursor:pointer;font-weight:700}.kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(145px,1fr));gap:10px;margin-bottom:12px}.kpi-card{position:relative;overflow:hidden;padding:16px 16px 14px;border:1px solid var(--line);background:linear-gradient(145deg,#071d3d,#061630);border-radius:15px;min-height:112px}.kpi-card span{font-size:11px;color:#b5c6dd}.kpi-card strong{display:block;font-size:28px;margin:7px 0 3px;letter-spacing:-.04em}.kpi-card small{font-size:9px;color:#7893b7}.kpi-accent{position:absolute;left:0;right:0;bottom:0;height:2px;opacity:.8}.kpi-accent.blue{background:#0a66ff}.kpi-accent.green{background:#20d987}.kpi-accent.red{background:#ff5369}.kpi-accent.cyan{background:#4cc9ff}.kpi-accent.violet{background:#8d72ff}.kpi-accent.amber{background:#ffbd45}.text-good{color:var(--green)!important}.text-danger{color:var(--red)!important}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr) minmax(310px,.78fr);gap:12px}.map-panel{position:relative;min-height:492px}.map-canvas{height:355px;background:#04142a;z-index:1}.leaflet-container{font-family:inherit;background:#04142a}.leaflet-tile-pane{filter:saturate(.65) hue-rotate(170deg) brightness(.55) contrast(1.15)}.leaflet-control-attribution{font-size:8px!important;background:rgba(2,11,25,.74)!important;color:#91a7c4!important}.leaflet-control-attribution a{color:#64b5ff!important}.map-legend{display:flex;gap:8px;padding:10px 14px;background:rgba(2,11,25,.55)}.location-pill{flex:1;display:flex;gap:9px;align-items:center;text-align:left;background:#071c3b;border:1px solid var(--line);color:#fff;border-radius:12px;padding:9px 11px;cursor:pointer}.location-pill div{display:grid}.location-pill strong{font-size:10px}.location-pill span:not(.pin){font-size:9px;color:var(--muted)}.pin{width:10px;height:10px;border-radius:50%;display:inline-block;box-shadow:0 0 0 5px rgba(10,102,255,.14),0 0 16px currentColor}.pin.blue{background:#168cff;color:#168cff}.pin.amber{background:#ffbd45;color:#ffbd45}.watchdog-list{padding:10px 14px;display:grid;gap:8px}.watch-row{display:grid;grid-template-columns:1fr auto;gap:3px 10px;padding:10px 11px;border:1px solid rgba(111,166,255,.12);background:rgba(2,11,25,.38);border-radius:11px}.watch-row span{font-size:10px;color:#b7c7dc}.watch-row strong{font-size:13px}.watch-row small{grid-column:1/3;font-size:8px;color:#6887ae}.status-badge{border-radius:999px;padding:6px 9px;font-size:9px;font-weight:800}.status-badge.good{color:#63e8a8;background:rgba(32,217,135,.1);border:1px solid rgba(32,217,135,.2)}.status-badge.warn{color:#ffd07c;background:rgba(255,189,69,.1);border:1px solid rgba(255,189,69,.2)}.status-badge.bad{color:#ff8b9a;background:rgba(255,83,105,.1);border:1px solid rgba(255,83,105,.2)}.automation-policy{margin:0 14px 14px;padding:11px;background:linear-gradient(145deg,rgba(10,102,255,.1),rgba(76,201,255,.04));border:1px solid rgba(76,201,255,.16);border-radius:12px}.automation-policy span{display:block;font-size:9px;color:#86c6ff;font-weight:800}.automation-policy div{margin-top:6px;font-size:9px;color:#c3d2e7;line-height:1.7}.automation-policy b{color:#fff}.automation-policy small{display:block;margin-top:6px;color:#6f8bad;font-size:8px;line-height:1.45}.ai-panel{background:radial-gradient(circle at 88% 8%,rgba(21,117,255,.22),transparent 25%),linear-gradient(145deg,#061a38,#041128)}.ai-head{display:flex;justify-content:space-between;padding:17px 17px 12px;border-bottom:1px solid rgba(255,255,255,.05)}.ai-head h2{margin:3px 0;font-size:19px}.ai-head p{margin:0;color:#6faeea;font-size:9px}.ai-orb{width:58px;height:58px;border-radius:50%;position:relative;display:grid;place-items:center;background:radial-gradient(circle,#0a66ff 0,#07316e 40%,#04142c 75%);box-shadow:0 0 35px rgba(10,102,255,.38)}.ai-orb span{position:absolute;inset:7px;border:1px solid rgba(93,194,255,.45);border-radius:50%;animation:spin 6s linear infinite}.ai-orb span:nth-child(2){inset:14px;animation-direction:reverse;animation-duration:4s}.ai-orb b{font-size:12px;z-index:2}.ai-metrics{display:grid;gap:7px;padding:12px 15px}.ai-metrics>div{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding-bottom:7px;border-bottom:1px solid rgba(255,255,255,.04)}.ai-metrics span{font-size:9px;color:#aec0d8}.ai-metrics strong{font-size:10px;color:#84c9ff}.ai-metrics small{grid-column:1/3;font-size:8px;color:#637e9f}.ai-suggestion{margin:0 15px 10px;padding:10px;border-radius:10px;background:rgba(0,0,0,.16);border:1px solid rgba(108,168,255,.11);font-size:9px;line-height:1.55;color:#c7d7ea}.voice-btn{margin:0 15px 14px;width:calc(100% - 30px);display:flex;align-items:center;gap:10px;border:1px solid rgba(66,155,255,.3);background:linear-gradient(90deg,rgba(10,102,255,.14),rgba(10,102,255,.05));color:#fff;border-radius:13px;padding:10px;cursor:pointer}.voice-btn .mic{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#0a66ff;box-shadow:0 0 22px rgba(10,102,255,.55);animation:pulse 2.2s ease-in-out infinite}.voice-btn div{display:grid;text-align:left}.voice-btn strong{font-size:10px}.voice-btn small{font-size:8px;color:#7f9ec3}.voice-transcript{margin:0 15px 14px;padding:9px;background:#031326;border-radius:10px;font-size:9px;color:#a9c5e8}.location-overview-grid{display:grid;grid-template-columns:1fr 1fr .8fr;gap:12px;margin-top:12px}.device-summary{padding:16px}.device-summary-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.device-summary-head h3{margin:0;font-size:16px}.device-summary-head .lab{color:#4cc9ff}.device-summary-head .carso{color:#ffbd45}.device-summary-body{display:grid;grid-template-columns:1fr 92px;gap:14px}.device-summary-data{display:grid;gap:8px}.device-summary-data div{display:flex;justify-content:space-between;gap:15px;font-size:10px}.device-summary-data span{color:#7995b8}.device-summary-data strong{text-align:right}.score-ring{width:82px;height:82px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,#061a36 56%,transparent 58%),conic-gradient(#20d987 0deg,#20d987 360deg);box-shadow:0 0 24px rgba(32,217,135,.1)}.score-ring span{font-size:17px;font-weight:900}.global-summary{padding-bottom:14px}.global-score{display:flex;gap:14px;align-items:center;padding:14px}.global-score div:last-child{display:grid}.global-score div:last-child span{font-size:10px;color:var(--muted)}.global-lines{padding:0 14px;display:grid;gap:6px}.global-lines div{display:flex;justify-content:space-between;font-size:10px}.global-lines span{color:#829ab9}.quick-actions-panel{margin-top:12px}.quick-actions{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;padding:12px}.quick-actions button{display:flex;gap:10px;align-items:center;text-align:left;background:#071c3b;border:1px solid var(--line);color:#fff;border-radius:12px;padding:11px;cursor:pointer}.quick-actions button>span{font-size:22px;color:#55b9ff}.quick-actions button div{display:grid}.quick-actions strong{font-size:10px}.quick-actions small{font-size:8px;color:#748eaf}
.full-map-panel{min-height:740px}.full-map{height:560px;background:#04142a}.map-addresses{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px}.map-addresses article{display:flex;gap:12px;border:1px solid var(--line);border-radius:12px;padding:11px;background:rgba(0,0,0,.12)}.map-addresses strong{font-size:11px}.map-addresses p{margin:3px 0 0;color:var(--muted);font-size:9px;line-height:1.5}.device-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px}.device-card{border:1px solid var(--line);border-radius:14px;padding:14px;background:linear-gradient(145deg,#071b38,#05142d)}.device-card-head{display:flex;justify-content:space-between;gap:12px}.device-card h3{margin:0;font-size:16px}.device-card p{margin:3px 0;color:var(--muted);font-size:10px}.device-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.device-meta div{padding:9px;border:1px solid rgba(255,255,255,.05);border-radius:9px;display:grid}.device-meta span{font-size:8px;color:#7893b7}.device-meta strong{font-size:10px}.device-card-footer{display:flex;justify-content:flex-end;margin-top:11px}.detail-btn{background:#0a2448;color:#dcecff;border:1px solid var(--line);border-radius:9px;padding:8px 10px;cursor:pointer;font-size:9px}.watchdog-device-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:14px}.watchdog-device-card{border:1px solid var(--line);border-radius:14px;padding:14px;background:#061831}.watchdog-device-card h3{margin:0}.watchdog-device-card .health-row{display:flex;justify-content:space-between;align-items:center;margin:14px 0}.watchdog-signals{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.watchdog-signals div{padding:9px;border-radius:9px;background:rgba(0,0,0,.14);display:grid}.watchdog-signals span{font-size:8px;color:#748eaf}.watchdog-signals strong{font-size:11px}.policy-panel{margin-top:12px}.timeline-policy{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;padding:14px}.timeline-policy div{padding:12px;border-left:2px solid #168cff;background:#061831;border-radius:0 10px 10px 0}.timeline-policy b{display:block;color:#69b4ff;font-size:11px;margin-bottom:5px}.timeline-policy span{font-size:9px;line-height:1.5;color:#9eb3cf}.ai-workspace{min-height:680px}.ai-workspace-head{display:flex;justify-content:space-between;padding:20px;border-bottom:1px solid rgba(255,255,255,.05)}.ai-workspace-head h2{margin:4px 0}.ai-workspace-head p{margin:0;color:var(--muted)}.compact-voice{width:auto;margin:0;min-width:240px}.ai-workspace-grid{display:grid;grid-template-columns:1.4fr .7fr;gap:14px;padding:14px}.ai-chat-card,.ai-side-analysis{border:1px solid var(--line);border-radius:14px;background:#04152f;padding:14px}.ai-conversation{height:420px;overflow:auto;display:grid;align-content:start;gap:10px}.ai-message{max-width:78%;display:flex;gap:8px}.ai-message span{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:#0a66ff;font-size:9px;font-weight:900;flex:none}.ai-message p{margin:0;background:#082348;border:1px solid rgba(100,165,255,.14);padding:10px;border-radius:0 12px 12px 12px;font-size:10px;line-height:1.6}.ai-message.user{margin-left:auto;flex-direction:row-reverse}.ai-message.user span{background:#153358}.ai-message.user p{background:#0a2448;border-radius:12px 0 12px 12px}.ai-input-row{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:12px}.ai-side-analysis h3{margin-top:0}.ai-side-analysis>div{display:grid;gap:9px}.analysis-card{padding:11px;border-radius:10px;background:#061d3b;border:1px solid rgba(100,165,255,.11)}.analysis-card span{font-size:8px;color:#7593b9}.analysis-card strong{display:block;margin-top:4px;font-size:12px}.device-view>.panel{margin-bottom:12px}.device-analytics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:14px}.device-analytics-grid>div{padding:12px;background:#061a35;border:1px solid var(--line);border-radius:11px;display:grid}.device-analytics-grid span{font-size:8px;color:#7893b7}.device-analytics-grid strong{margin-top:5px;font-size:17px}.device-event-list{padding:12px 14px;display:grid;gap:7px}.device-event-list>div{display:grid;grid-template-columns:140px 1fr auto;gap:10px;padding:9px;border-bottom:1px solid rgba(255,255,255,.04);font-size:9px}.device-event-list span{color:#819bbb}.device-event-list small{color:#7191b5}.remote-action-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:14px}.remote-action{position:relative;text-align:left;min-height:132px;padding:16px;border-radius:14px;border:1px solid var(--line);background:linear-gradient(145deg,#071c3a,#05142d);color:#fff;cursor:pointer}.remote-action:hover{border-color:#2f7fe6;transform:translateY(-1px)}.remote-action strong{display:block;margin:12px 0 6px;font-size:14px}.remote-action p{margin:0;color:var(--muted);font-size:10px;line-height:1.5}.action-tag{font-size:8px;font-weight:900;padding:4px 6px;border-radius:999px}.action-tag.scheduled{color:#ffd178;background:rgba(255,189,69,.1);border:1px solid rgba(255,189,69,.25)}.action-tag.immediate{color:#7eeab0;background:rgba(32,217,135,.1);border:1px solid rgba(32,217,135,.25)}.notice{margin:0 14px 14px;padding:11px 13px;border-radius:11px;border:1px solid rgba(32,217,135,.2);background:rgba(32,217,135,.06);color:#b7e7cc;font-size:9px;line-height:1.55}.action-feedback{margin:0 14px 12px;padding:10px;border-radius:10px;font-size:10px}.action-feedback.success{background:rgba(32,217,135,.08);border:1px solid rgba(32,217,135,.2);color:#7eeab0}.action-feedback.error{background:rgba(255,83,105,.08);border:1px solid rgba(255,83,105,.2);color:#ff9baa}.orders-panel{margin-top:12px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:10px}th{color:#758eaf;text-transform:uppercase;letter-spacing:.05em;font-size:8px;text-align:left;padding:10px 12px;background:rgba(0,0,0,.1)}td{padding:11px 12px;border-top:1px solid rgba(255,255,255,.04);color:#d8e4f5}.empty{text-align:center;color:#7189a8;padding:28px}.order-state,.event-pill{display:inline-flex;padding:4px 6px;border-radius:999px;font-size:8px;font-weight:800;background:#0b2a50}.order-state.pending{color:#ffd178}.order-state.executed{color:#70e7aa}.order-state.failed{color:#ff93a0}.history-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;padding:14px}.history-summary div{padding:11px;background:#061a35;border:1px solid var(--line);border-radius:10px;display:grid}.history-summary span{font-size:8px;color:#7b95b6}.history-summary strong{margin-top:4px}.timeline{padding:0 14px 14px}.timeline-item{display:grid;grid-template-columns:10px 1fr;gap:10px;padding:11px;border-left:1px solid rgba(96,160,255,.18)}.timeline-item>i{width:8px;height:8px;border-radius:50%;background:#168cff;margin-left:-15px;box-shadow:0 0 12px rgba(22,140,255,.4)}.timeline-item.error>i{background:#ff5369}.timeline-item.warning>i{background:#ffbd45}.event-head{display:flex;gap:7px;align-items:center}.event-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:5px;color:#6683a7;font-size:8px}.premium-dialog{width:min(680px,90vw);border:1px solid var(--line-strong);border-radius:18px;padding:0;background:#05152e;color:#fff;box-shadow:0 30px 100px rgba(0,0,0,.6)}.premium-dialog::backdrop{background:rgba(0,6,15,.75);backdrop-filter:blur(8px)}.dialog-head{display:flex;justify-content:space-between;align-items:flex-start;padding:18px;border-bottom:1px solid rgba(255,255,255,.06)}.dialog-head h2{margin:4px 0 0}.dialog-content{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:16px}.detail-card{padding:11px;border:1px solid var(--line);background:#061a35;border-radius:10px;display:grid}.detail-card span{font-size:8px;color:#7993b6}.detail-card strong{margin-top:4px}.confirm-body{padding:18px}.confirm-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.session-dialog{width:420px}.badge{display:inline-flex;align-items:center;gap:5px;padding:5px 7px;border-radius:999px;font-size:8px;font-weight:900}.badge.on{color:#66e8a8;background:rgba(32,217,135,.11)}.badge.off{color:#ff98a5;background:rgba(255,83,105,.11)}
@keyframes pulse{0%,100%{box-shadow:0 0 12px rgba(10,102,255,.35)}50%{box-shadow:0 0 28px rgba(10,102,255,.8)}}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:1380px){body{min-width:1100px}.app-shell{grid-template-columns:220px 1fr}.main-content{padding:18px}.kpi-grid{grid-template-columns:repeat(3,1fr)}.dashboard-grid{grid-template-columns:1.3fr .8fr}.ai-panel{grid-column:1/3}.location-overview-grid{grid-template-columns:1fr 1fr}.global-summary{grid-column:1/3}.quick-actions{grid-template-columns:repeat(3,1fr)}}

/* =========================================================
   V2.0.1 - Correccion de renderizado del acceso administrativo
   El logo original NO se altera; solo se controla su presentacion CSS.
   ========================================================= */
.login-screen{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:100dvh!important;
  width:100vw!important;
  padding:32px!important;
  overflow:auto!important;
}
.login-card{
  position:relative!important;
  z-index:2!important;
  width:min(520px,calc(100vw - 64px))!important;
  max-width:520px!important;
  min-width:0!important;
  padding:34px!important;
  margin:auto!important;
  overflow:hidden!important;
}
.login-logo-wrap{
  width:100%!important;
  min-width:0!important;
  height:112px!important;
  max-height:112px!important;
  padding:18px 24px!important;
  margin:0 0 28px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
}
.login-logo-wrap > img.brand-logo-login,
img.brand-logo.brand-logo-login{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:300px!important;
  max-height:76px!important;
  min-width:0!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:0 auto!important;
  flex:0 1 auto!important;
}
.logo-tile{
  overflow:hidden!important;
  justify-content:center!important;
}
.logo-tile > img.brand-logo{
  width:auto!important;
  height:auto!important;
  max-width:88px!important;
  max-height:30px!important;
  object-fit:contain!important;
}
.login-card h1{
  font-size:34px!important;
  line-height:1.06!important;
  overflow-wrap:normal!important;
}
.login-greeting,.login-card .muted{
  max-width:100%!important;
}
.login-form,.login-form label,.login-form input,.login-form button{
  min-width:0!important;
  max-width:100%!important;
}
@media (max-width:700px){
  .login-screen{padding:18px!important;}
  .login-card{width:min(100%,460px)!important;padding:26px 24px!important;border-radius:22px!important;}
  .login-logo-wrap{height:96px!important;max-height:96px!important;padding:14px 18px!important;margin-bottom:22px!important;}
  .login-logo-wrap > img.brand-logo-login,
  img.brand-logo.brand-logo-login{max-width:260px!important;max-height:66px!important;}
  .login-card h1{font-size:30px!important;}
}


/* =========================================================
   V2.0.3 - Correccion critica de transicion Login -> Panel
   La regla V2.0.1 de .login-screen usaba display:flex!important,
   por lo que la clase .hidden no podia ocultar la pantalla.
   Este selector tiene mayor especificidad y se declara al final.
   ========================================================= */
#login-screen.hidden{display:none!important;}
#app-shell.hidden{display:none!important;}


/* =========================================================
   V2.1.2 - Seguridad de sesión + Watchdog Fase 1 refinada
   ========================================================= */
.panel-version{font-size:10px;letter-spacing:.01em}.panel-version strong{font-weight:800;color:#b9d9ff}
.nav-group{display:grid;gap:3px}.nav-group-toggle{width:100%}.nav-chevron{margin-left:auto;color:#5faeff;font-size:15px;transition:transform .2s}.device-nav-submenu{display:none;margin:0 0 4px 28px;padding:3px 0 3px 9px;border-left:1px solid rgba(84,154,255,.2);gap:3px}.device-nav-submenu.open{display:grid}.subnav-item{display:grid;grid-template-columns:8px minmax(0,1fr);align-items:center;gap:8px;background:transparent;border:0;color:#8fa8c8;text-align:left;padding:7px 8px;border-radius:8px;font-size:10px;cursor:pointer}.subnav-item:hover,.subnav-item.active{background:rgba(10,102,255,.12);color:#fff}.subnav-status{width:6px;height:6px;border-radius:50%}.subnav-status.on{background:var(--green);box-shadow:0 0 8px rgba(32,217,135,.7)}.subnav-status.off{background:var(--red)}.subnav-empty{font-size:9px;color:#607d9f;padding:5px 8px}
#view-dashboard.active{display:flex;flex-direction:column;min-height:calc(100vh - 120px)}#view-dashboard .dashboard-grid{flex:1;min-height:0}.main-content{padding-bottom:22px}.topbar{margin-bottom:12px}.kpi-grid{margin-bottom:10px}.kpi-card{min-height:104px;padding:14px}.dashboard-grid{grid-template-columns:minmax(0,1.48fr) minmax(286px,.72fr) minmax(306px,.8fr);align-items:stretch}.map-panel,.watchdog-panel,.ai-panel{min-height:0;height:100%}.map-canvas{height:clamp(315px,42vh,410px)}
.map-state-filter{min-width:190px}.map-device-cards{overflow:auto;scrollbar-width:thin}.map-legend.map-device-cards{display:flex;gap:8px;min-height:64px}.map-legend .location-pill{min-width:180px}.map-addresses.map-device-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;padding:14px}.map-addresses .location-pill{width:100%;min-height:64px}.map-empty{width:100%;padding:14px;color:#7893b7;font-size:10px;text-align:center}
.device-card-footer{justify-content:stretch}.dashboard-detail-btn{width:100%;border-color:rgba(72,155,255,.28);background:linear-gradient(90deg,rgba(10,102,255,.16),rgba(10,102,255,.04));font-weight:800}.device-tech-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;padding:0 14px 14px}.device-tech-strip>div{padding:10px;border:1px solid rgba(111,166,255,.12);background:rgba(2,11,25,.28);border-radius:10px;display:grid}.device-tech-strip span{font-size:8px;color:#7893b7}.device-tech-strip strong{font-size:10px;margin-top:4px}
.ai-panel{position:relative}.ai-orb{width:72px;height:72px;animation:liaListen 1.2s ease-in-out infinite}.ai-orb b{font-size:11px;text-transform:none}.ai-orb span{inset:8px;animation-duration:4.2s}.ai-orb span:nth-child(2){inset:17px;animation-duration:2.8s}.ai-orb.listening{animation:liaListenActive .72s ease-in-out infinite}.voice-btn{padding:12px 13px;border-color:rgba(74,167,255,.42);background:linear-gradient(90deg,rgba(10,102,255,.2),rgba(10,102,255,.06))}.voice-btn .mic{position:relative;width:48px;height:48px;flex:0 0 48px;background:radial-gradient(circle at 42% 38%,#42b8ff,#0a66ff 58%,#0642a0);animation:liaMic 1.05s ease-in-out infinite;box-shadow:0 0 0 6px rgba(10,102,255,.08),0 0 28px rgba(10,102,255,.62)}.voice-btn .mic:before,.voice-btn .mic:after,.voice-btn .mic i{content:"";position:absolute;border-radius:50%;inset:-8px;border:1px solid rgba(88,187,255,.34);animation:liaWave 1.55s ease-out infinite}.voice-btn .mic:after{inset:-15px;animation-delay:.45s}.voice-btn .mic i{inset:15px;background:#dff5ff;border:0;box-shadow:0 0 10px #fff;animation:none}.voice-btn strong{font-size:12px}.voice-btn small{font-size:9px;color:#88b8ee}.voice-btn.listening{border-color:#4ec5ff;box-shadow:0 0 0 1px rgba(78,197,255,.25),0 0 32px rgba(10,102,255,.14)}.voice-btn.listening .mic{animation:liaMicActive .62s ease-in-out infinite}.compact-voice{min-width:300px}.compact-voice .mic{width:54px;height:54px;flex-basis:54px}
@keyframes liaMic{0%,100%{transform:scale(.96);box-shadow:0 0 0 5px rgba(10,102,255,.07),0 0 18px rgba(10,102,255,.45)}50%{transform:scale(1.06);box-shadow:0 0 0 10px rgba(10,102,255,.10),0 0 38px rgba(10,102,255,.8)}}
@keyframes liaMicActive{0%,100%{transform:scale(.98)}50%{transform:scale(1.12)}}
@keyframes liaWave{0%{opacity:.75;transform:scale(.82)}100%{opacity:0;transform:scale(1.28)}}
@keyframes liaListen{0%,100%{box-shadow:0 0 28px rgba(10,102,255,.32)}50%{box-shadow:0 0 52px rgba(10,102,255,.72)}}
@keyframes liaListenActive{0%,100%{transform:scale(.98);box-shadow:0 0 38px rgba(10,102,255,.5)}50%{transform:scale(1.08);box-shadow:0 0 70px rgba(76,201,255,.88)}}
.full-map-panel{min-height:calc(100vh - 150px)}.full-map{height:clamp(480px,62vh,690px)}
@media(max-width:1380px){.dashboard-grid{grid-template-columns:1.35fr .82fr}.ai-panel{grid-column:1/3}.map-canvas{height:330px}.device-tech-strip{grid-template-columns:repeat(3,1fr)}}

/* Compactacion para pantallas de administracion de 1366 px sin duplicar filas del Resumen. */
@media(max-width:1380px){
  body{min-width:1180px}
  .app-shell{grid-template-columns:210px minmax(0,1fr)}
  .main-content{padding:14px 16px 16px}
  .topbar{margin-bottom:10px}.topbar h1{font-size:25px}.topbar p{font-size:12px}
  .kpi-grid{grid-template-columns:repeat(6,minmax(118px,1fr));gap:8px}
  .kpi-card{min-height:92px;padding:11px 12px}.kpi-card strong{font-size:23px;margin:4px 0 2px}.kpi-card span{font-size:10px}
  .dashboard-grid{grid-template-columns:minmax(0,1.28fr) minmax(245px,.72fr) minmax(270px,.82fr);gap:9px}
  .ai-panel{grid-column:auto}
  .map-canvas{height:298px}.map-panel{min-height:0}
  .panel-head.compact{padding:11px 13px}.panel-head h2{font-size:16px}
  .watchdog-list{padding:8px 10px;gap:6px}.watch-row{padding:7px 8px}.automation-policy{margin:0 10px 10px;padding:8px}
  .ai-head{padding:12px 12px 9px}.ai-head h2{font-size:16px}.ai-orb{width:62px;height:62px}
  .ai-metrics{padding:8px 11px;gap:5px}.ai-suggestion{margin:0 11px 7px;padding:8px}.voice-btn{margin:0 11px 9px;width:calc(100% - 22px);padding:8px}.voice-btn .mic{width:42px;height:42px;flex-basis:42px}
}


/* =========================================================
   V2.1.2 - WATCHDOG FASE 1 SEGURA
   ========================================================= */
.watchdog-control-panel{margin-bottom:12px;background:linear-gradient(145deg,rgba(4,25,56,.98),rgba(4,18,42,.98));border-color:rgba(55,145,255,.28)}
.watchdog-engine-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:14px}
.watchdog-engine-grid>div{display:grid;gap:4px;min-height:92px;padding:12px;border:1px solid rgba(86,155,255,.14);background:linear-gradient(145deg,rgba(8,33,70,.88),rgba(4,20,45,.9));border-radius:12px}
.watchdog-engine-grid span{font-size:8px;color:#7f9fc7;text-transform:uppercase;letter-spacing:.06em;font-weight:800}.watchdog-engine-grid strong{font-size:12px;line-height:1.3}.watchdog-engine-grid small{font-size:8px;color:#6e8fb8;line-height:1.45}
.watchdog-safety-note,.watchdog-architecture-note{margin:0 14px 12px;padding:11px 13px;border-radius:11px;border:1px solid rgba(48,196,255,.18);background:rgba(20,121,255,.06);color:#b9d8f5;font-size:9px;line-height:1.55}.watchdog-safety-note b,.watchdog-safety-note strong,.watchdog-architecture-note strong{color:#eaf6ff}
.watchdog-toolbar{display:flex;justify-content:flex-end;gap:8px;padding:0 14px 14px}.watchdog-toolbar .btn{min-width:220px}
.watchdog-card-actions{display:flex;gap:8px;margin-top:12px}.watchdog-card-actions .detail-btn{flex:1}.danger-soft{border-color:rgba(255,83,105,.25);color:#ffb0bb;background:rgba(255,83,105,.06)}
.watchdog-state-good{border-color:rgba(32,217,135,.17)}.watchdog-state-warn{border-color:rgba(255,189,69,.26);box-shadow:0 0 28px rgba(255,189,69,.04)}.watchdog-state-bad{border-color:rgba(255,83,105,.35);box-shadow:0 0 32px rgba(255,83,105,.06)}
.watchdog-timeline div:nth-child(1){border-left-color:#4cc9ff}.watchdog-timeline div:nth-child(2){border-left-color:#ffbd45}.watchdog-timeline div:nth-child(3){border-left-color:#8c7bff}.watchdog-timeline div:nth-child(4){border-left-color:#168cff}.watchdog-timeline div:nth-child(5){border-left-color:#ff5369}
.watchdog-pilot-policy{border-color:rgba(48,196,255,.2);background:linear-gradient(90deg,rgba(10,102,255,.08),rgba(10,102,255,.02))}
.device-watchdog-summary{border-color:rgba(64,161,255,.2)}
@media(max-width:1380px){.watchdog-engine-grid{grid-template-columns:repeat(2,1fr)}.watchdog-toolbar .btn{min-width:180px}.watchdog-timeline{grid-template-columns:repeat(5,1fr)}}


/* =========================================================
   V2.1.2 - WATCHDOG refinado + coherencia operativa
   ========================================================= */
.status-badge.neutral,.badge.neutral{color:#aab8ca;background:rgba(133,151,177,.10);border:1px solid rgba(133,151,177,.20)}
.subnav-status.neutral{background:#71819a;box-shadow:none}.pin.neutral{background:#71819a;color:#71819a}
.device-badge-stack{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.admin-badge{display:inline-flex;align-items:center;padding:4px 7px;border-radius:999px;font-size:8px;font-weight:900;letter-spacing:.04em;border:1px solid rgba(111,166,255,.18);color:#a9bdd5;background:rgba(111,166,255,.07)}.admin-operativa{color:#6ee7ac;border-color:rgba(32,217,135,.20);background:rgba(32,217,135,.07)}.admin-mantenimiento{color:#ffd078;border-color:rgba(255,189,69,.24);background:rgba(255,189,69,.08)}.admin-retirada,.admin-fuera_servicio{color:#aab8ca;border-color:rgba(133,151,177,.20);background:rgba(133,151,177,.08)}
#view-watchdog.active{display:grid;gap:10px}.watchdog-command-center{overflow:visible}.watchdog-command-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:10px 14px 8px}.watchdog-command-strip>div{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;padding:9px 11px;border:1px solid rgba(86,155,255,.12);background:rgba(2,13,31,.28);border-radius:10px}.watchdog-command-strip span{font-size:8px;color:#7897bf;text-transform:uppercase;letter-spacing:.05em;font-weight:800}.watchdog-command-strip strong{font-size:10px;text-align:right}
.watchdog-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:0 14px 10px}.watchdog-summary-grid>div{position:relative;padding:10px 11px;border-radius:11px;background:linear-gradient(145deg,#071d3a,#06162f);border:1px solid rgba(87,148,232,.13);min-height:70px}.watchdog-summary-grid span{display:block;font-size:8px;color:#8aa5c8}.watchdog-summary-grid strong{display:block;margin:3px 0 1px;font-size:20px;letter-spacing:-.03em}.watchdog-summary-grid small{font-size:7px;color:#617fa7}
.watchdog-policy-line{margin:0 14px 9px;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:14px;border-radius:11px;border:1px solid rgba(76,201,255,.14);background:linear-gradient(90deg,rgba(10,102,255,.075),rgba(10,102,255,.015))}.watchdog-policy-line>div:first-child{display:grid;gap:2px}.watchdog-policy-line strong{font-size:10px;color:#dff2ff}.watchdog-policy-line span{font-size:8px;color:#82a6ce}.watchdog-inline-actions{display:flex;align-items:center;gap:7px;flex:0 0 auto}.watchdog-inline-actions>.detail-btn{white-space:nowrap}.watchdog-test-tools{position:relative}.watchdog-test-tools summary{list-style:none;cursor:pointer;border:1px solid rgba(111,166,255,.18);background:#061a35;color:#cfe0f7;padding:7px 9px;border-radius:9px;font-size:9px;font-weight:700}.watchdog-test-tools summary::-webkit-details-marker{display:none}.watchdog-test-tools[open]>button{position:absolute;right:0;top:38px;z-index:30;width:245px;box-shadow:0 18px 45px rgba(0,0,0,.42);background:#0b1c39}.watchdog-safety-mini{margin:0 14px 12px;color:#829fc3;font-size:8px;display:flex;align-items:center;gap:6px}.watchdog-safety-mini span{color:#20d987}
.watchdog-device-section{overflow:visible}.watchdog-device-grid-compact{padding:10px 14px 12px;gap:10px}.watchdog-device-card{padding:12px;background:linear-gradient(145deg,#061a36,#05152e)}.watchdog-device-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.watchdog-device-title{display:flex;align-items:center;gap:8px}.watchdog-device-title h3{font-size:15px;margin:0}.watchdog-device-top p{margin:3px 0 0;color:#6f8caf;font-size:8px}.watchdog-device-statusline{display:flex;align-items:center;gap:8px;margin:9px 0;padding:7px 8px;border-radius:9px;background:rgba(0,0,0,.12);border:1px solid rgba(111,166,255,.08)}.watchdog-device-statusline>span:last-child{font-size:8px;color:#8aa4c5;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.watchdog-device-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.watchdog-device-metrics>div{padding:8px 9px;border-radius:9px;background:rgba(0,0,0,.13);border:1px solid rgba(111,166,255,.07);display:grid}.watchdog-device-metrics span{font-size:7px;color:#6f8dad}.watchdog-device-metrics strong{margin-top:2px;font-size:10px}.watchdog-card-actions{margin-top:8px}.watchdog-card-actions button:disabled{opacity:.38;cursor:not-allowed}.watchdog-state-neutral{border-color:rgba(133,151,177,.16);filter:saturate(.72)}
.watchdog-recent-panel{min-height:0}.watchdog-recent-incidents{padding:6px 14px 10px;display:grid}.watchdog-recent-row{display:grid;grid-template-columns:130px 150px minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 4px;border-bottom:1px solid rgba(255,255,255,.045);font-size:8px}.watchdog-recent-row span{color:#718db0}.watchdog-recent-row strong{color:#bed3ec}.watchdog-recent-row b{font-size:8px}.watchdog-recent-row small{color:#7e9abb}.watchdog-policy-dialog-grid{display:grid;gap:8px}.watchdog-policy-dialog-grid>div{display:grid;gap:4px;padding:11px 12px;border-left:2px solid #168cff;background:#061831;border-radius:0 10px 10px 0}.watchdog-policy-dialog-grid b{font-size:10px;color:#72baff}.watchdog-policy-dialog-grid span{font-size:9px;color:#9cb4d1;line-height:1.5}.policy-native-note{margin-top:14px;font-size:9px;line-height:1.55}
@media(max-width:1380px){#view-watchdog.active{gap:8px}.watchdog-command-strip{padding:8px 10px 6px;gap:6px}.watchdog-command-strip>div{min-height:38px;padding:7px 8px}.watchdog-summary-grid{padding:0 10px 8px;gap:6px}.watchdog-summary-grid>div{min-height:60px;padding:8px}.watchdog-summary-grid strong{font-size:17px}.watchdog-policy-line{margin:0 10px 7px;padding:8px 9px}.watchdog-safety-mini{margin:0 10px 9px}.watchdog-device-grid-compact{padding:8px 10px 10px}.watchdog-device-card{padding:10px}.watchdog-device-metrics>div{padding:7px}.watchdog-recent-incidents{padding:4px 10px 8px}}

/* V2.1.5 · explicación transparente de salud operativa */
.health-explanation{display:block;margin-top:3px;font-size:7px!important;line-height:1.25;color:#7fa2c9!important;font-weight:500}.device-analytics-grid .health-explanation{margin-top:5px;max-width:220px}


/* V2.1.6 · Integración Watchdog Native */
.native-watchdog-strip{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr .8fr;gap:6px;margin:0 0 9px;padding:7px;border:1px solid rgba(32,217,135,.16);background:linear-gradient(90deg,rgba(32,217,135,.055),rgba(22,140,255,.035));border-radius:10px}.native-watchdog-strip>div{display:grid;gap:2px;padding:5px 7px;border-radius:8px;background:rgba(0,0,0,.10)}.native-watchdog-strip span{font-size:7px;color:#7293ba}.native-watchdog-strip strong{font-size:9px;color:#d8edff}.native-watchdog-strip.native-good{border-color:rgba(32,217,135,.24)}.native-watchdog-strip.native-warn{border-color:rgba(255,189,69,.28);background:rgba(255,189,69,.045)}.native-watchdog-strip.native-bad{border-color:rgba(255,83,105,.30);background:rgba(255,83,105,.045)}.native-watchdog-strip.native-neutral{border-color:rgba(133,151,177,.16);background:rgba(133,151,177,.035)}.watchdog-native-result{margin:0 14px 14px;padding:10px 12px;border:1px solid rgba(32,217,135,.16);border-radius:10px;background:rgba(32,217,135,.04);display:grid;gap:3px}.watchdog-native-result span{font-size:8px;color:#75a1c8}.watchdog-native-result strong{font-size:10px;color:#dff6ec}.watchdog-device-card .status-badge.good{white-space:nowrap}.watchdog-command-strip .text-good{color:#4ce6a2}
@media(max-width:1380px){.native-watchdog-strip{grid-template-columns:repeat(3,1fr)}}


/* =========================================================
   V2.1.6 - Refinamiento visual solicitado 12-ago-2026
   Historial / marca / acciones remotas
   ========================================================= */

/* Historial: los cuatro filtros permanecen siempre dentro del panel. */
#view-history .panel-head{
  display:grid;
  grid-template-columns:minmax(180px,.62fr) minmax(0,2.38fr);
  align-items:start;
  gap:14px;
}
#view-history .history-tools{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  width:100%;
  min-width:0;
}
#view-history .history-tools select{
  width:100%;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
}
@media (max-width:1280px){
  #view-history .panel-head{grid-template-columns:1fr;}
  #view-history .history-tools{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:720px){
  #view-history .history-tools{grid-template-columns:1fr;}
}

/* Marca: usa el PNG blanco/transparente entregado, sin tarjeta blanca. */
.login-logo-wrap{
  background:linear-gradient(145deg,rgba(4,17,39,.82),rgba(2,10,24,.78))!important;
  border:1px solid rgba(109,166,255,.18)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 14px 34px rgba(0,0,0,.20)!important;
}
.logo-tile{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:4px 2px!important;
  width:104px!important;
  height:44px!important;
}
.login-logo-wrap > img.brand-logo-login,
.logo-tile > img.brand-logo{
  filter:none!important;
  object-fit:contain!important;
}
.login-logo-wrap > img.brand-logo-login{max-width:276px!important;max-height:72px!important;}
.logo-tile > img.brand-logo{max-width:96px!important;max-height:34px!important;}

/* Acciones remotas: cinco acciones compactas en una fila en escritorio. */
#view-actions .remote-action-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
  padding:14px;
}
#view-actions .remote-action{
  min-height:112px;
  padding:13px 13px 12px;
  border-radius:12px;
  border:1px solid rgba(105,158,235,.20);
  background:linear-gradient(145deg,#0a2140,#081a33);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
#view-actions .remote-action:hover{
  border-color:rgba(76,145,240,.48);
  background:linear-gradient(145deg,#0b274c,#091e3a);
  transform:translateY(-1px);
}
#view-actions .remote-action strong{
  margin:9px 0 5px;
  font-size:12px;
  line-height:1.25;
}
#view-actions .remote-action p{
  font-size:9px;
  line-height:1.38;
}
#view-actions .action-tag{
  font-size:7px;
  padding:3px 6px;
}
@media (max-width:1320px){
  #view-actions .remote-action-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media (max-width:900px){
  #view-actions .remote-action-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:620px){
  #view-actions .remote-action-grid{grid-template-columns:1fr;}
}
