:root{--navy:#0b2f6b;--navy2:#082653;--blue:#1688d4;--light:#eaf5fc;--pale:#f4f8fb;--gray:#637487;--line:#dbe5ee;--white:#fff;--danger:#d93636;--warning:#ee9b21;--success:#18895d;--shadow:0 14px 38px rgba(13,47,91,.12)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,Arial,sans-serif;color:#19324b;background:#eef4f8}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.muted{color:var(--gray);margin:.3rem 0 0}.toast{position:fixed;right:24px;top:24px;z-index:9999;max-width:420px;background:#15314b;color:white;padding:14px 18px;border-radius:12px;box-shadow:var(--shadow);opacity:0;transform:translateY(-15px);pointer-events:none;transition:.25s}.toast.show{opacity:1;transform:none}.toast.error{background:#a52626}.toast.warn{background:#9a5a10}.login-screen{min-height:100vh;display:grid;place-items:center;padding:30px;background:radial-gradient(circle at 15% 20%,rgba(22,136,212,.17),transparent 32%),radial-gradient(circle at 90% 85%,rgba(11,47,107,.12),transparent 30%),linear-gradient(145deg,#f9fcfe,#e9f2f8)}.login-panel{width:min(460px,100%);background:white;border-radius:28px;padding:34px;box-shadow:0 25px 70px rgba(11,47,107,.18);border:1px solid rgba(255,255,255,.7)}.login-brand{text-align:center}.client-logo{max-height:64px;max-width:230px;object-fit:contain;margin-bottom:15px}.app-icon{width:92px;height:92px;object-fit:contain;border-radius:23px;box-shadow:0 10px 28px rgba(22,136,212,.2)}.login-brand h1{margin:16px 0 5px;color:var(--navy);letter-spacing:.06em}.login-brand p{color:var(--gray);line-height:1.5}.login-form{display:grid;gap:14px;margin-top:26px}.login-form label,.form-grid label,.modal-card>form label,.settings-grid label{display:grid;gap:7px;font-size:.88rem;font-weight:600;color:#344e66}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:11px;background:white;padding:12px 13px;color:#19324b;outline:none;transition:.2s}input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(22,136,212,.12)}input:disabled{background:#f1f5f8;color:#768798}.btn{border:0;border-radius:11px;padding:11px 16px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn.primary{background:linear-gradient(135deg,var(--navy),var(--blue));color:white}.btn.light{background:#edf4f9;color:var(--navy)}.btn.ghost{background:transparent;color:var(--navy)}.btn.warning{background:#fff0da;color:#8a4b00}.btn.danger{background:#fee8e8;color:#a32020}.btn.full{width:100%}.btn:disabled{opacity:.5;cursor:not-allowed}.login-footer,.app-footer{display:flex;align-items:center;justify-content:center;gap:9px;color:#718295;font-size:.75rem}.login-footer{border-top:1px solid var(--line);margin-top:30px;padding-top:20px}.login-footer img{height:38px;max-width:140px;object-fit:contain}.setup-alert,.info-banner{background:var(--light);border:1px solid #cbe7f8;border-radius:12px;padding:13px;display:grid;gap:3px}.setup-alert span,.info-banner span{font-size:.85rem;color:var(--gray)}.modal-backdrop{position:fixed;inset:0;background:rgba(8,30,55,.55);z-index:5000;display:grid;place-items:center;padding:20px;backdrop-filter:blur(5px)}.modal-card{width:min(760px,100%);max-height:90vh;overflow:auto;background:white;border-radius:22px;padding:25px;box-shadow:0 30px 80px rgba(0,0,0,.25)}.setup-card{max-width:540px}.setup-card h2{text-align:center}.setup-card>p{text-align:center;color:var(--gray)}.setup-icon{display:block;width:85px;margin:0 auto}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modal-header h3{margin:0;color:var(--navy)}.icon-button{width:36px;height:36px;border:0;border-radius:10px;background:#eef4f8;color:var(--navy);font-size:1.2rem}.danger-text{color:var(--danger)}.app-shell{min-height:100vh;display:grid;grid-template-columns:260px 1fr}.sidebar{position:fixed;inset:0 auto 0 0;width:260px;background:linear-gradient(180deg,var(--navy2),var(--navy));color:white;padding:20px 15px;display:flex;flex-direction:column;z-index:100}.sidebar-brand{display:flex;align-items:center;gap:12px;padding:4px 6px 21px;border-bottom:1px solid rgba(255,255,255,.14)}.sidebar-brand img{width:48px;height:48px;border-radius:13px}.sidebar-brand div{display:grid}.sidebar-brand strong{letter-spacing:.05em}.sidebar-brand small{color:#a9c9e8}.main-nav{display:grid;gap:5px;margin:18px 0;overflow:auto}.main-nav button{border:0;background:transparent;color:#d7e8f6;padding:11px 12px;border-radius:10px;text-align:left;font-weight:600;display:flex;gap:11px;align-items:center}.main-nav button span{width:24px;text-align:center;font-size:1.1rem}.main-nav button:hover,.main-nav button.active{background:rgba(255,255,255,.13);color:white}.sidebar-user{margin-top:auto;border-top:1px solid rgba(255,255,255,.14);padding:16px 5px 0;display:grid;grid-template-columns:42px 1fr 36px;align-items:center;gap:9px}.avatar{width:42px;height:42px;border-radius:50%;background:var(--blue);display:grid;place-items:center;font-weight:800}.sidebar-user-text{display:grid;min-width:0}.sidebar-user-text strong,.sidebar-user-text small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-text small{color:#b3cee5}.main-area{grid-column:2;min-width:0;display:flex;flex-direction:column;min-height:100vh}.topbar{position:sticky;top:0;z-index:90;background:rgba(248,251,253,.9);backdrop-filter:blur(14px);padding:20px 28px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.topbar h2{margin:0;color:var(--navy);font-size:1.45rem}.topbar p{margin:4px 0 0;color:var(--gray);font-size:.9rem}.topbar-actions{display:flex;align-items:center;gap:10px}.status-pill{padding:7px 10px;border-radius:20px;font-size:.78rem;font-weight:700}.status-pill.success{background:#dff5ec;color:#126944}.status-pill.warning{background:#fff0d9;color:#8b5008}.page-content{padding:26px;flex:1}.app-footer{padding:18px;border-top:1px solid var(--line);background:white}.app-footer img{height:30px;max-width:120px;object-fit:contain}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.stat-card{text-align:left;background:white;border:1px solid var(--line);border-radius:17px;padding:18px;display:grid;gap:6px;box-shadow:0 7px 20px rgba(23,60,91,.05)}.stat-card span{color:var(--gray);font-weight:700}.stat-card strong{font-size:2rem;color:var(--navy)}.stat-card small{color:#7b8b99}.stat-card.danger{border-left:5px solid var(--danger)}.stat-card.warning{border-left:5px solid var(--warning)}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(320px,.85fr);gap:18px;margin-top:18px}.panel{background:white;border:1px solid var(--line);border-radius:17px;padding:18px;box-shadow:0 7px 20px rgba(23,60,91,.04);margin-bottom:18px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:15px}.panel h3,.panel-head h3{margin:0;color:var(--navy)}.panel-head p{margin:4px 0 0;color:var(--gray);font-size:.85rem}.mini-map{height:390px;border-radius:13px;overflow:hidden}.main-map{height:calc(100vh - 220px);min-height:520px;border-radius:15px;overflow:hidden;border:1px solid var(--line)}.map-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:15px}.map-side{background:white;border:1px solid var(--line);border-radius:15px;padding:15px;overflow:auto;max-height:calc(100vh - 220px)}.map-side h3{color:var(--navy);margin-top:0}.map-toolbar,.list-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:16px}.legend{display:flex;gap:18px;font-size:.85rem;color:var(--gray)}.legend span{display:flex;gap:6px;align-items:center}.dot{width:10px;height:10px;border-radius:50%;display:inline-block}.dot.online{background:var(--blue)}.dot.tracker{background:var(--navy)}.dot.emergency{background:var(--danger)}.event-list{display:grid;gap:10px}.event-row{display:grid;grid-template-columns:10px 1fr auto;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid #edf2f6}.event-row>div{display:grid;gap:3px}.event-row small,.event-row time{color:var(--gray);font-size:.75rem}.event-dot{width:9px;height:9px;border-radius:50%;background:var(--blue)}.event-dot.critical{background:var(--danger)}.event-dot.warning{background:var(--warning)}.emergency-mini{display:grid;gap:3px;padding:12px;border-radius:11px;background:#fff3f3;border:1px solid #ffd8d8}.emergency-mini strong{color:#9f2525}.emergency-mini span,.emergency-mini small{font-size:.78rem;color:var(--gray)}.cards-list{display:grid;gap:12px}.emergency-card,.alert-card{background:white;border:1px solid var(--line);border-radius:15px;padding:17px;display:flex;gap:15px}.emergency-card{border-left:5px solid var(--danger)}.emergency-card.closed{border-left-color:#8ca0b3}.emergency-icon{flex:0 0 43px;height:43px;border-radius:50%;display:grid;place-items:center;background:#fee5e5;color:var(--danger);font-size:1.5rem;font-weight:900}.emergency-body{flex:1}.card-title-line{display:flex;justify-content:space-between;gap:10px;align-items:center}.card-title-line h3{margin:0;color:var(--navy);font-size:1rem}.emergency-card p,.alert-card p{margin:8px 0;color:var(--gray)}.emergency-card small,.alert-card small{color:#8795a3}.card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}.severity-bar{width:5px;border-radius:5px;background:var(--blue)}.severity-bar.critical{background:var(--danger)}.severity-bar.warning{background:var(--warning)}.badge{display:inline-flex;align-items:center;padding:5px 8px;border-radius:20px;background:#edf3f7;color:#53687a;font-size:.72rem;font-weight:800}.badge.open,.badge.critical{background:#fee5e5;color:#a72727}.badge.assumed,.badge.acknowledged,.badge.warning{background:#fff0d9;color:#8c5108}.badge.closed,.badge.active,.badge.online{background:#ddf5eb;color:#126c47}.badge.offline,.badge.inactive,.badge.blocked,.badge.error{background:#eceff2;color:#5f6d79}.filter-tabs{display:flex;background:white;border:1px solid var(--line);border-radius:11px;padding:4px}.filter-tabs button{border:0;background:transparent;padding:8px 13px;border-radius:8px;color:var(--gray);font-weight:700}.filter-tabs button.active{background:var(--navy);color:white}.search-box input{min-width:270px}.table-wrap{overflow:auto;background:white;border:1px solid var(--line);border-radius:15px}table{width:100%;border-collapse:collapse;min-width:720px}th,td{text-align:left;padding:13px 14px;border-bottom:1px solid #edf2f6;font-size:.86rem}th{background:#f5f9fc;color:#506579;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}tbody tr:hover{background:#f9fcfe}.row-actions{display:flex;gap:6px}.empty-cell{text-align:center;color:var(--gray);padding:30px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.form-grid .full,.form-actions.full{grid-column:1/-1}.check-field{display:flex!important;align-items:center;gap:9px;margin-top:25px}.check-field input{width:18px;height:18px}.form-actions{display:flex;justify-content:flex-end;margin-top:8px}.alarm-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.device-card{background:white;border:1px solid var(--line);border-radius:15px;padding:17px;display:flex;gap:14px;align-items:center}.device-icon{width:48px;height:48px;border-radius:14px;background:var(--light);display:grid;place-items:center;color:var(--navy);font-size:1.4rem}.device-card h3{margin:0;color:var(--navy)}.device-card p{margin:5px 0;color:var(--gray);font-size:.83rem}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.danger-zone{display:flex;justify-content:space-between;align-items:center;border-left:5px solid var(--danger)}.danger-zone h3,.danger-zone p{margin:0}.danger-zone p{color:var(--gray);margin-top:5px}.info-banner{margin-bottom:16px}.loading-card,.empty-state{background:white;border:1px solid var(--line);border-radius:15px;padding:38px;text-align:center;color:var(--gray);display:grid;gap:8px}.empty-state strong{color:var(--navy)}.empty-inline{padding:20px;text-align:center;color:var(--gray)}.leaflet-popup-content{font-family:Inter,Arial,sans-serif;line-height:1.45}.tv-mode .sidebar{display:none}.tv-mode .main-area{grid-column:1/-1}.tv-mode .topbar{padding:12px 20px}.tv-mode .app-footer{display:none}.tv-mode .page-content{padding:15px}.tv-mode .main-map{height:calc(100vh - 145px)}@media(max-width:1100px){.stats-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.map-layout,.settings-grid{grid-template-columns:1fr}.map-side{max-height:none}.alarm-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:780px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;width:auto;height:auto;padding:12px}.sidebar-brand,.sidebar-user{display:none}.main-nav{display:flex;overflow:auto;margin:0}.main-nav button{white-space:nowrap}.main-area{grid-column:1}.topbar{padding:15px}.topbar-actions .status-pill{display:none}.page-content{padding:15px}.stats-grid{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.form-grid .full,.form-actions.full{grid-column:auto}.alarm-grid{grid-template-columns:1fr}.map-toolbar,.list-toolbar{align-items:stretch;flex-direction:column}.search-box input{min-width:0}.main-map{height:65vh;min-height:420px}.login-panel{padding:25px}.card-title-line{align-items:flex-start;flex-direction:column}}@media(max-width:480px){.stats-grid{grid-template-columns:1fr}.topbar{align-items:flex-start}.topbar-actions{flex-direction:column}.emergency-card{padding:13px}.emergency-icon{display:none}}

.activation-card{display:grid;gap:16px;text-align:center;padding:8px 0 4px}.activation-code{font-size:2.3rem;font-weight:800;letter-spacing:.35em;color:#0b2f6b;background:#eef7ff;border:1px solid #b8ddfb;border-radius:14px;padding:18px 12px;text-indent:.35em}.activation-card .form-actions{justify-content:center}.activation-card .muted{margin:0}

/* Ajuste visual do ícone EKLIPTRACK — versão 4 */
.app-icon{
  width:100px;
  height:100px;
  padding:7px;
  object-fit:contain;
  background:linear-gradient(145deg,#ffffff,#f4f9fd);
  border:1px solid #dce9f3;
  border-radius:26px;
  box-shadow:0 12px 30px rgba(11,47,107,.16);
}
.sidebar-brand img{
  width:50px;
  height:50px;
  padding:4px;
  object-fit:contain;
  background:#ffffff;
  border:1px solid rgba(255,255,255,.65);
  border-radius:15px;
  box-shadow:0 7px 18px rgba(0,0,0,.18);
}
.setup-icon{
  width:92px;
  height:92px;
  padding:6px;
  object-fit:contain;
  background:linear-gradient(145deg,#ffffff,#f4f9fd);
  border:1px solid #dce9f3;
  border-radius:24px;
  box-shadow:0 10px 24px rgba(11,47,107,.13);
}
