:root{--bg:#061524;--panel:#0b2036;--panel2:#102b49;--line:#1d4b78;--txt:#f4f8ff;--muted:#a9c2da;--brand:#2f9bff;--ok:#29d391;--warn:#ffcc66;--bad:#ff6b6b}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:linear-gradient(135deg,#020814,#061524 55%,#0b2d55);color:var(--txt);text-transform:uppercase}.login-bg{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:30px}.login-card{width:460px;background:rgba(11,32,54,.94);border:1px solid rgba(47,155,255,.25);border-radius:24px;padding:34px;box-shadow:0 24px 70px rgba(0,0,0,.45)}.login-card img{max-width:180px;display:block;margin:0 auto 24px}.layout{display:flex;min-height:100vh}.sidebar{width:286px;background:linear-gradient(180deg,#061524,#0c2d4d);border-right:1px solid rgba(255,255,255,.08);padding:20px;position:fixed;top:0;bottom:0;overflow:auto}.brand{display:flex;gap:12px;align-items:center;margin-bottom:22px}.brand img{width:44px;height:44px;border-radius:12px}.brand b{font-size:20px}.nav a{display:block;color:#dcecff;text-decoration:none;padding:12px 14px;border-radius:14px;margin:4px 0}.nav a:hover,.nav a.active{background:rgba(47,155,255,.18);box-shadow:inset 0 0 0 1px rgba(47,155,255,.25)}.content{margin-left:286px;width:calc(100% - 286px);padding:26px}.topbar{background:rgba(11,32,54,.85);border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:18px 22px;display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.card{background:rgba(11,32,54,.88);border:1px solid rgba(255,255,255,.08);border-radius:22px;padding:22px;margin-bottom:18px;box-shadow:0 20px 50px rgba(0,0,0,.20)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.kpi{background:linear-gradient(135deg,#0d2a47,#0a1d31);border:1px solid rgba(47,155,255,.18);border-radius:20px;padding:20px}.kpi .num{font-size:34px;font-weight:800;color:#fff}.kpi .lbl{color:var(--muted);font-size:13px}h1,h2,h3,label,th,td,p,span,a,button,input,select,textarea{color:var(--txt)}input,select,textarea{width:100%;background:#091a2c;border:1px solid #24547f;border-radius:12px;padding:12px;color:#fff;text-transform:uppercase}input::placeholder{color:#85a8c8}.btn{display:inline-block;border:0;background:linear-gradient(135deg,#1685f8,#36b5ff);color:white!important;padding:11px 16px;border-radius:12px;text-decoration:none;cursor:pointer;font-weight:700}.btn.secondary{background:#183550}.btn.danger{background:#b93b4b}.btn.ok{background:#129b68}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:12px;border-bottom:1px solid rgba(255,255,255,.08);text-align:left}.table th{color:#bfe0ff}.badge{display:inline-block;padding:6px 10px;border-radius:999px;background:#183550;color:#dcecff}.badge.ok{background:#0d684b}.badge.warn{background:#6b530d}.badge.bad{background:#7a2030}.switch{position:relative;display:inline-block;width:58px;height:30px}.switch input{display:none}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background:#314860;border-radius:30px;transition:.2s}.slider:before{position:absolute;content:"";height:24px;width:24px;left:3px;bottom:3px;background:white;border-radius:50%;transition:.2s}input:checked+.slider{background:#1685f8}input:checked+.slider:before{transform:translateX(28px)}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.tab{padding:10px 14px;background:#102b49;border-radius:12px}.alert{padding:14px;border-radius:12px;background:#102b49;border:1px solid #24547f;margin-bottom:12px}.small{color:var(--muted);font-size:12px}.timeline{border-left:3px solid #2f9bff;padding-left:18px}.event{margin-bottom:16px}.event:before{content:"";display:inline-block;width:12px;height:12px;background:#2f9bff;border-radius:50%;margin-left:-26px;margin-right:12px}
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.field label{display:block;margin-bottom:6px;color:#fff;font-weight:700}.field input,.field select,.field textarea{width:100%;padding:11px;border-radius:10px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:#fff;text-transform:uppercase}.field textarea{min-height:90px}.field option{color:#111}.actions{align-self:end}.btn.small{padding:6px 9px;font-size:12px}.btn.danger{background:#a83242}.timeline{border-left:3px solid #1685F8;margin-left:12px;padding-left:18px}.event{padding:10px 0;border-bottom:1px solid rgba(255,255,255,.09)}.badge{display:inline-block;padding:5px 9px;border-radius:999px;background:rgba(22,133,248,.22);border:1px solid rgba(22,133,248,.5);margin:2px}.two-col{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}.metric-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.muted{opacity:.75}.switch input{display:none}.slider{display:inline-block;width:52px;height:28px;border-radius:30px;background:#31425c;position:relative;vertical-align:middle}.slider:before{content:"";position:absolute;width:22px;height:22px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s}.switch input:checked+.slider{background:#1685F8}.switch input:checked+.slider:before{transform:translateX(24px)}

.modal-lite{display:none;position:fixed;inset:0;background:rgba(0,0,0,.66);z-index:9999;padding:30px}.modal-box{max-width:680px;margin:8vh auto;background:#0b2036;border:1px solid rgba(47,155,255,.35);border-radius:22px;padding:24px;box-shadow:0 30px 90px rgba(0,0,0,.55)}.badge.ok{background:#0d684b!important}.badge.warn{background:#6b530d!important}.badge.bad{background:#7a2030!important}

/* INVETO V30 - AYUDA CONTEXTUAL Y UX */
.btn.help{background:linear-gradient(135deg,#5b7cff,#36b5ff)}
.help-modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.72);z-index:10000;padding:24px}
.help-modal-box{max-width:980px;height:82vh;margin:4vh auto;background:#07192b;border:1px solid rgba(47,155,255,.45);border-radius:22px;box-shadow:0 30px 100px rgba(0,0,0,.65);overflow:hidden;display:flex;flex-direction:column}
.help-modal-head{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;background:#0b2036;border-bottom:1px solid rgba(255,255,255,.1)}
.help-modal iframe{border:0;width:100%;height:100%;background:#061524;color:#fff}
.help-doc{margin:0;border-radius:0;min-height:100vh}.help-section{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:16px;margin:14px 0}.help-section h2{margin-top:0;color:#bfe0ff}.security-note{border-color:rgba(41,211,145,.35)}
.module-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:12px}.module-heading h1{margin-bottom:6px}.list-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:14px}.search-inline{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.search-inline input{min-width:280px}.table tr:hover td{background:rgba(47,155,255,.06)}
@media(max-width:780px){.search-inline input{min-width:100%}.help-modal{padding:8px}.help-modal-box{height:92vh;margin:2vh auto}.module-heading{display:block}}


/* INVETO V32 - QA OBSERVACIONES DAVID */
html, body, input, select, textarea, button, table, th, td, p, a, span, label, h1, h2, h3 {font-family: Arial, Helvetica, sans-serif !important;}
.btn.help{background:#FFFFFF !important;color:#061524 !important;border:1px solid rgba(47,155,255,.55);box-shadow:0 8px 20px rgba(255,255,255,.10)}
.help-modal-box{max-width:1050px;height:86vh}
.help-modal iframe{overflow:auto}
.help-doc{height:auto;max-height:calc(86vh - 70px);overflow:auto;padding:22px;background:#061524;color:#fff}
.help-doc p,.help-doc li{line-height:1.55;text-transform:none;color:#f4f8ff}
.help-doc h1,.help-doc h2,.help-doc h3{text-transform:uppercase}
.kpi-link{display:block;text-decoration:none;color:inherit}
.kpi-link .kpi{transition:.18s ease;cursor:pointer}
.kpi-link .kpi:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.35);box-shadow:0 16px 40px rgba(47,155,255,.18)}
.form-help{font-size:12px;color:#a9c2da;margin-top:4px;text-transform:none;line-height:1.35}
.readonly-code{background:rgba(255,255,255,.04)!important;border-color:rgba(41,211,145,.35)!important;color:#b7ffdf!important;font-weight:700}
.header-warning{padding:10px 14px;border-radius:12px;background:rgba(255,204,102,.13);border:1px solid rgba(255,204,102,.35);margin-bottom:14px;color:#fff}
.demo-badge{background:rgba(41,211,145,.16);border:1px solid rgba(41,211,145,.4);padding:6px 10px;border-radius:999px;font-size:12px;color:#d7fff0}


/* INVETO V34 - AYUDA POR CAMPO Y CONTRASTE */
.field-help-btn{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;border:1px solid rgba(255,255,255,.75);background:rgba(255,255,255,.12);color:#fff!important;font-size:12px;font-weight:800;cursor:pointer;margin-left:6px;vertical-align:middle;padding:0;line-height:1}
.field-help-btn:hover{background:#fff;color:#061524!important}
#fieldHelpModal .modal-box,#fieldHelpModal .modal-box *{color:#fff!important}
#fieldHelpText{text-transform:none!important;color:#f4f8ff!important}
.help-doc,.help-doc *{color:#fff!important}
.help-section p,.help-section li{text-transform:none!important;color:#f4f8ff!important}

/* INVETO V37 - AGENTE WINDOWS / VISTAS TECNICAS RESPONSIVE */
.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}
.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.mini-card{background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.09);border-radius:16px;padding:15px;min-height:86px}
.mini-card b{color:#bfe0ff;font-size:12px;letter-spacing:.04em}
code{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:3px 7px;color:#b7ffdf;text-transform:none;word-break:break-all}
.table td,.table th{vertical-align:top}
@media(max-width:780px){.content{margin-left:0;width:100%;padding:14px}.sidebar{position:relative;width:100%;height:auto}.layout{display:block}.topbar{display:block}.table{display:block;overflow:auto}.grid,.grid-2,.grid-3{grid-template-columns:1fr}}

/* INVETO V44 - ORDEN, ELEGANCIA Y SEMAFOROS */
.nav-group{border:1px solid rgba(255,255,255,.08);border-radius:14px;margin:7px 0;background:rgba(255,255,255,.025);overflow:hidden}.nav-group summary{cursor:pointer;padding:12px 14px;color:#bfe0ff;font-size:12px;font-weight:800;letter-spacing:.03em;list-style:none}.nav-group summary::-webkit-details-marker{display:none}.nav-group summary:after{content:'+';float:right}.nav-group[open] summary:after{content:'-'}.nav-group div{padding:0 6px 7px}.nav-group a{font-size:12px;margin:2px 0;padding:9px 11px}.session-meta{font-size:11px;color:var(--muted);margin-top:5px}.top-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.idle-warning{display:none;position:sticky;top:10px;z-index:9000;background:#6b530d;border:1px solid #ffcc66;border-radius:14px;padding:12px 15px;margin-bottom:15px;align-items:center;gap:10px;flex-wrap:wrap}.score.green{border-color:#29d391;background:rgba(41,211,145,.12)}.score.lime{border-color:#8edb74;background:rgba(142,219,116,.10)}.score.yellow{border-color:#ffcc66;background:rgba(255,204,102,.11)}.score.orange{border-color:#ff9f43;background:rgba(255,159,67,.12)}.score.red{border-color:#ff6b6b;background:rgba(255,107,107,.12)}.score.gray{border-color:#8496a8;background:rgba(132,150,168,.10)}.traffic-light{display:flex;gap:5px;align-items:center;margin:8px 0}.traffic-light i{width:12px;height:12px;border-radius:50%;display:block;background:#314860}.traffic-light i.on.green{background:#29d391}.traffic-light i.on.yellow{background:#ffcc66}.traffic-light i.on.orange{background:#ff9f43}.traffic-light i.on.red{background:#ff6b6b}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.photo-card img{width:100%;height:140px;object-fit:cover;border-radius:12px;background:#07192b}.qr-box{background:#fff;border-radius:16px;padding:12px;display:inline-block}.qr-box img{display:block;width:180px;height:180px}.settings-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.status-line{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.08)}
html[data-theme='celeste']{--brand:#36b5ff;--line:#217ba8}html[data-theme='verde']{--brand:#29d391;--line:#22765b}html[data-theme='morado']{--brand:#8d7cff;--line:#594da1}html[data-theme='gris']{--brand:#8fa9bd;--line:#526574}
@media(max-width:780px){.top-actions{margin-top:12px}.nav-group summary{padding:14px}.idle-warning{position:fixed;left:10px;right:10px;top:10px}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* INVETO V41 - DETALLES DEL EQUIPO PREMIUM / REPORTES */
:root{--card-min-h:220px}
body{text-transform:none} .sidebar,.nav a,.topbar .small,.btn,.badge,h1,h2,h3,label,th{ text-transform:uppercase }
.detail-title{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap}
.detail-subtitle{color:#a9c2da;text-transform:none;line-height:1.45}
.detail-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}
.detail-tab{border:1px solid rgba(47,155,255,.25);background:rgba(47,155,255,.08);color:#dcecff;text-decoration:none;border-radius:999px;padding:9px 12px;font-size:12px;font-weight:800;cursor:pointer}
.detail-tab.active,.detail-tab:hover{background:rgba(47,155,255,.28);border-color:rgba(47,155,255,.65)}
.detail-section{display:none}.detail-section.active{display:block}
.uniform-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;align-items:stretch}.uniform-grid .card{min-height:var(--card-min-h);overflow:hidden}
.table-wrap{width:100%;overflow:auto;border-radius:14px}.table-wrap .table{min-width:520px}.table.compact th,.table.compact td{padding:9px;font-size:12px}.truncate{max-width:280px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pill{display:inline-block;padding:4px 9px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);margin:2px;font-size:12px}.yes{color:#d7fff0!important}.no{color:#ffccd4!important}.warn{color:#ffdd88!important}.score-box{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.score{border-radius:18px;border:1px solid rgba(47,155,255,.22);background:rgba(255,255,255,.045);padding:16px}.score .num{font-size:32px;font-weight:900}.score ul{margin:8px 0 0 18px;padding:0}.score li{text-transform:none;line-height:1.35;color:#dcecff}.timeline-controls{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:12px}.timeline-controls input,.timeline-controls select{max-width:220px}.event{position:relative}.event .muted{text-transform:none}.chart-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:16px}.chart-card{min-height:310px}.bar-row{display:grid;grid-template-columns:150px 1fr 60px;gap:10px;align-items:center;margin:10px 0}.bar-label{font-size:12px;color:#dcecff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-track{height:14px;border-radius:999px;background:rgba(255,255,255,.10);overflow:hidden}.bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#1685f8,#36b5ff)}.donut{width:170px;height:170px;border-radius:50%;margin:16px auto;background:conic-gradient(#36b5ff var(--p1),#29d391 0 var(--p2),#ffcc66 0 var(--p3),#ff6b7a 0)}.donut-center{width:102px;height:102px;border-radius:50%;background:#0b2036;margin:34px auto;display:flex;align-items:center;justify-content:center;text-align:center;font-weight:900}.export-bar{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.narrative{line-height:1.65;text-transform:none}.narrative p,.narrative li{text-transform:none}.empty-state{padding:18px;border-radius:16px;background:rgba(255,255,255,.045);border:1px dashed rgba(255,255,255,.16);color:#a9c2da;text-transform:none}
@media(max-width:1000px){.uniform-grid,.chart-grid{grid-template-columns:1fr}.content{padding:18px}.card{padding:16px}.topbar{gap:12px}.bar-row{grid-template-columns:110px 1fr 48px}.truncate{max-width:180px}}
@media(max-width:640px){.detail-tabs{display:grid;grid-template-columns:1fr 1fr}.detail-tab{text-align:center}.score-box{grid-template-columns:1fr}.table-wrap .table{min-width:620px}.login-card{width:auto}.sidebar{padding:14px}.content{padding:12px}.card{border-radius:16px}.kpi .num{font-size:26px}}
.hero-360{background:linear-gradient(135deg,rgba(16,43,73,.96),rgba(6,21,36,.96));border-color:rgba(47,155,255,.32)}
.grid-360{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.grid-360 .card{margin-bottom:0}.detail-list p{text-transform:none;line-height:1.55}.clean-list{margin:0;padding-left:18px}.clean-list li{text-transform:none;margin:8px 0;line-height:1.45}.export-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.module-heading .export-actions{justify-content:flex-end}
@media(max-width:760px){.grid-360{grid-template-columns:1fr}.export-actions .btn{width:100%;text-align:center}}

/* INVETO V44.2 - LEGIBILIDAD, SEMAFORO Y NAVEGACION DE DETALLE */
.detail-tabs{position:sticky;top:8px;z-index:80;padding:10px;background:#07192b;border:1px solid rgba(54,181,255,.30);border-radius:16px;box-shadow:0 12px 28px rgba(0,0,0,.28)}
.detail-tabs .detail-tab{display:inline-flex!important;align-items:center;justify-content:center;min-height:40px;background:#123454!important;color:#eaf6ff!important;border:1px solid #2b75a9!important;padding:10px 15px!important;box-shadow:none;text-decoration:none!important}
.detail-tabs .detail-tab:hover{background:#1c5790!important;border-color:#65c5ff!important;color:#fff!important;transform:translateY(-1px)}
.detail-tabs .detail-tab.active{background:linear-gradient(135deg,#1685f8,#36b5ff)!important;border-color:#8bd7ff!important;color:#fff!important;box-shadow:0 7px 18px rgba(22,133,248,.34)}
.detail-section{scroll-margin-top:90px}.traffic-light.large{display:grid;grid-template-columns:repeat(4,20px);gap:8px;width:max-content;padding:8px 10px;background:#06121f;border:1px solid rgba(255,255,255,.18);border-radius:999px;margin:0 0 14px}.traffic-light.large i{width:20px;height:20px;box-shadow:inset 0 0 0 2px rgba(255,255,255,.08)}
.score-name{font-size:12px;font-weight:900;letter-spacing:.06em;color:#bfe0ff;margin-bottom:4px}.score .num{line-height:1.05;margin:7px 0}.score .num span{font-size:15px;color:#a9c2da;margin-left:3px}.score-state{display:inline-block;font-weight:900;padding:6px 10px;border:1px solid currentColor;border-radius:999px;margin:2px 0 9px}.score p{line-height:1.55;text-transform:none;color:#e7f2fc}.score li{margin:7px 0}.indicator-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}.indicator-grid div{display:flex;align-items:center;gap:10px;padding:11px;border-radius:12px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.10)}.indicator-grid b{font-size:23px;color:#73c9ff}.indicator-grid span{text-transform:none;color:#dcecff}.score-legend{display:grid;gap:6px;margin-top:12px}.score-legend span{display:block;padding:7px 10px;border-left:7px solid;border-radius:7px;background:rgba(255,255,255,.04);text-transform:none}.legend-green{border-color:#29d391!important}.legend-lime{border-color:#8edb74!important}.legend-yellow{border-color:#ffcc66!important}.legend-orange{border-color:#ff9f43!important}.legend-red{border-color:#ff6b6b!important}
.status-line{display:grid!important;grid-template-columns:minmax(210px,1fr) minmax(160px,1fr);gap:24px!important;padding:13px 8px!important;align-items:center!important}.status-line>span:first-child,.status-line>b:first-child{color:#bfe0ff}.status-line>span:last-child,.status-line>b:last-child{text-align:right}.status-line .badge{justify-self:end}.status-line+.small{margin-top:14px;line-height:1.55}.relation-link{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:11px 12px;margin:7px 0;border:1px solid rgba(54,181,255,.20);border-radius:12px;background:rgba(54,181,255,.055);text-decoration:none;color:#eaf6ff}.relation-link:hover{background:rgba(54,181,255,.14);border-color:#36b5ff}.relation-link small{color:#a9c2da}
@media(max-width:700px){.detail-tabs{position:relative;top:auto}.status-line{grid-template-columns:1fr;gap:5px!important}.status-line>span:last-child,.status-line>b:last-child{text-align:left}.status-line .badge{justify-self:start}.indicator-grid{grid-template-columns:1fr}}

/* INVENTORY GT V45 - TEMAS, ALERTAS Y AYUDA INTERNA */
:root{--bg:#04111e;--bg2:#0b2d55;--panel:#0b2036;--panel2:#102b49;--line:#1d4b78;--brand:#2f9bff;--brand2:#36b5ff;--nav:#061524;--input:#091a2c}
html[data-theme='celeste']{--bg:#041923;--bg2:#0a5367;--panel:#0b2e3b;--panel2:#104657;--line:#2488a3;--brand:#26b9df;--brand2:#70def7;--nav:#041c28;--input:#082a35}
html[data-theme='verde']{--bg:#041a16;--bg2:#0c4f3b;--panel:#0b2c25;--panel2:#124638;--line:#287c63;--brand:#29d391;--brand2:#73edbd;--nav:#061f1a;--input:#092820}
html[data-theme='morado']{--bg:#140d24;--bg2:#462d78;--panel:#24183a;--panel2:#38275a;--line:#7052ad;--brand:#9b82ff;--brand2:#c0b0ff;--nav:#170f28;--input:#211632}
html[data-theme='gris']{--bg:#111820;--bg2:#34495a;--panel:#202c36;--panel2:#2d3d49;--line:#617889;--brand:#8fb9d1;--brand2:#c1d8e5;--nav:#151e26;--input:#1b252e}
body{background:linear-gradient(135deg,var(--bg),var(--nav) 52%,var(--bg2));transition:background .25s ease}.sidebar{background:linear-gradient(180deg,var(--nav),var(--bg2));border-color:color-mix(in srgb,var(--line) 50%,transparent)}.card,.topbar{background:color-mix(in srgb,var(--panel) 92%,transparent);border-color:color-mix(in srgb,var(--line) 45%,transparent)}.kpi{background:linear-gradient(135deg,var(--panel2),var(--panel));border-color:color-mix(in srgb,var(--brand) 36%,transparent)}.btn{background:linear-gradient(135deg,var(--brand),var(--brand2))}.btn.secondary,.badge,.tab{background:var(--panel2)}input,select,textarea,.field input,.field select,.field textarea{background:var(--input);border-color:var(--line)}.nav a:hover,.nav a.active{background:color-mix(in srgb,var(--brand) 20%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--brand) 38%,transparent)}
.topbar{display:grid;grid-template-columns:minmax(230px,1fr) minmax(260px,520px) minmax(230px,1fr);gap:18px}.top-actions{justify-content:flex-end}.landscape-tour{position:relative;height:64px;overflow:hidden;border-radius:15px;border:1px solid color-mix(in srgb,var(--brand) 45%,transparent);isolation:isolate}
.help-modal-content{height:100%;overflow:auto;background:var(--bg);padding:0}.help-modal-content .help-doc{min-height:100%;background:var(--bg)}.check-row{display:flex;gap:9px;align-items:flex-start;text-transform:none;margin-top:14px}.check-row input,.rule-check input{width:auto;flex:0 0 auto}.about-hero{background:linear-gradient(145deg,color-mix(in srgb,var(--panel) 94%,transparent),color-mix(in srgb,var(--brand) 11%,var(--panel)))}.about-copy{max-width:950px;line-height:1.75}.about-copy p{text-transform:none}.signature-card{display:flex;gap:14px;align-items:center;margin:26px 0;padding:18px;border:1px solid color-mix(in srgb,var(--brand) 45%,transparent);border-radius:16px;background:color-mix(in srgb,var(--brand) 9%,transparent)}.signature-card img{width:55px;height:55px;border-radius:12px}.signature-card p{margin:5px 0 0;text-transform:none}.about-hero blockquote{margin:24px 0 0;padding:20px;border-left:5px solid var(--brand);background:rgba(255,255,255,.04);font-size:18px;text-transform:none}.about-hero blockquote small{display:block;margin-top:9px;text-transform:none;color:var(--muted)}
.alert-kpis{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:12px}.alert-kpi{padding:16px;border-radius:16px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04)}.alert-kpi .num{font-size:30px;font-weight:900}.alert-semaphore{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.alert-dot{width:62px;height:62px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:900;border:4px solid rgba(255,255,255,.25);box-shadow:0 0 25px rgba(0,0,0,.28)}.alert-dot.red{background:#a9283c}.alert-dot.orange{background:#b76419}.alert-dot.yellow{background:#8a6b0f}.alert-dot.green{background:#14754f}.rule-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:14px}.rule-card{border:1px solid rgba(255,255,255,.11);border-radius:15px;padding:15px;background:rgba(255,255,255,.035)}.rule-card .rule-check{display:flex;gap:9px;align-items:flex-start}.compat-table code{white-space:nowrap}.install-command{display:block;margin-top:8px;padding:10px;background:#030a12;border:1px solid var(--line);border-radius:9px;word-break:break-all;text-transform:none}
@media(max-width:1150px){.topbar{grid-template-columns:1fr auto}.landscape-tour{grid-column:1/-1;grid-row:2}.alert-kpis{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.topbar{display:block}.landscape-tour{margin:12px 0}.alert-kpis{grid-template-columns:1fr 1fr}.identity-block{margin-bottom:10px}}

/* INVENTORY GT V46 - CONTRASTE, LISTAS, AYUDAS Y RESPONSIVE */
input,select,textarea,.field input,.field select,.field textarea{color:#fff!important;background-color:var(--input)!important;caret-color:#fff}
select option,select optgroup,.field option{color:#fff!important;background:#091a2c!important}
html[data-theme='celeste'] select option,html[data-theme='celeste'] select optgroup{background:#082a35!important}
html[data-theme='verde'] select option,html[data-theme='verde'] select optgroup{background:#092820!important}
html[data-theme='morado'] select option,html[data-theme='morado'] select optgroup{background:#211632!important}
html[data-theme='gris'] select option,html[data-theme='gris'] select optgroup{background:#1b252e!important}
.field-label-row{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:7px;min-height:24px}.field-label-row label{margin:0;flex:1;user-select:text}.field-label-row .field-help-btn{flex:0 0 24px;width:24px;height:24px;margin:0}.field textarea{min-height:120px;max-height:320px;overflow:auto;resize:vertical;line-height:1.45;text-transform:none}.module-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.add-related{margin-top:7px}.table-scroll{width:100%;overflow:auto;border-radius:14px}.table-scroll .table{min-width:760px}.danger-panel{border-color:#ff6b6b!important;background:rgba(255,107,107,.12)!important}
.catalog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px}.catalog-card{padding:17px;border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.04);border-radius:16px}.catalog-card h3{margin-top:0}.catalog-card p{text-transform:none;line-height:1.5;color:#dcecff}.catalog-values{max-height:180px;overflow:auto;padding-right:4px}.use-case-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}.use-case-grid>div{padding:14px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.04)}.use-case-grid p{text-transform:none;line-height:1.5}
.traffic-light.large{grid-template-columns:repeat(5,20px)}.traffic-light i.on.lime{background:#8edb74}.scrollable-text{max-height:240px;overflow:auto;white-space:pre-wrap;line-height:1.55;text-transform:none;padding-right:8px}.photo-card{border:1px solid rgba(255,255,255,.11);border-radius:15px;padding:10px;background:rgba(255,255,255,.04)}.photo-card .btn{margin-top:7px}.photo-preview{width:100%;max-height:70vh;object-fit:contain;background:#020814;border-radius:14px}.pagination{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin:15px 0}.pagination a,.pagination span{padding:8px 11px;border:1px solid var(--line);border-radius:9px;text-decoration:none}.pagination .active{background:var(--brand);font-weight:800}
@media(max-width:850px){.use-case-grid{grid-template-columns:1fr}.module-actions{justify-content:flex-start}.landscape-tour{min-width:0;width:100%}.catalog-grid{grid-template-columns:1fr}}

/* INVENTORY GT V48 - IDENTIDAD OFICIAL Y ACCESIBILIDAD */
:root,
html[data-theme='noche_inventorygt']{
  --bg:#0F172A;--bg2:#111827;--panel:#142338;--panel2:#1c3248;--line:#0099A8;
  --brand:#00B46E;--brand2:#22C1A3;--nav:#0F172A;--input:#111f33;--txt:#f8fbff;
  --muted:#b9ccd7;--ok:#00B46E;--warn:#FFD166;--bad:#F44336;--focus:#FFD166;
}
html[data-theme='verde_inventorygt']{
  --bg:#071b18;--bg2:#0b3329;--panel:#0e2925;--panel2:#12473c;--line:#00B46E;
  --brand:#22C1A3;--brand2:#00B46E;--nav:#081b18;--input:#0b2924;--txt:#f7fffc;--muted:#b7d8cf;
}
html[data-theme='turquesa_inventorygt']{
  --bg:#061a22;--bg2:#063d49;--panel:#0a2832;--panel2:#0b4653;--line:#22C1A3;
  --brand:#22C1A3;--brand2:#0099A8;--nav:#071b24;--input:#082831;--txt:#f4fdff;--muted:#b9d8de;
}
html[data-theme='claro_inventorygt']{
  --bg:#eef7f4;--bg2:#dcefeb;--panel:#ffffff;--panel2:#e2f3ee;--line:#0099A8;
  --brand:#00B46E;--brand2:#22C1A3;--nav:#0F172A;--input:#ffffff;--txt:#0F172A;--muted:#415466;
}
body{background:linear-gradient(135deg,var(--bg),var(--bg2));color:var(--txt)}
body,h1,h2,h3,p,label,th,td,span,a{color:var(--txt)}
.sidebar{background:linear-gradient(180deg,#0F172A,#111827 68%,#07372b);border-right-color:rgba(34,193,163,.30)}
.brand{display:block;margin:0 0 24px;padding:8px 5px 18px;border-bottom:1px solid rgba(34,193,163,.25)}
.brand .brand-logo{display:block;width:225px;max-width:100%;height:auto;max-height:108px;object-fit:contain;object-position:left center;border-radius:0}
.brand-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:2px;padding:0 5px}
.brand-meta b{color:#fff;font-size:12px}.brand-meta span{color:#b8d9d2;font-size:10px;letter-spacing:.08em}
.nav a,.nav-group summary{color:#e8f5f2}.nav a:hover,.nav a.active{background:rgba(0,180,110,.18);box-shadow:inset 0 0 0 1px rgba(34,193,163,.42)}
.nav-group{border-color:rgba(34,193,163,.18);background:rgba(255,255,255,.025)}
.topbar,.card{background:color-mix(in srgb,var(--panel) 96%,transparent);border-color:color-mix(in srgb,var(--line) 32%,transparent)}
.kpi{background:linear-gradient(135deg,var(--panel2),var(--panel));border-color:color-mix(in srgb,var(--brand) 38%,transparent)}
.btn{background:linear-gradient(135deg,var(--brand),var(--brand2));color:#0F172A!important;border:1px solid color-mix(in srgb,var(--brand) 62%,#0F172A);box-shadow:0 7px 18px rgba(0,180,110,.16)}
.btn:hover{filter:brightness(1.08);transform:translateY(-1px)}
.btn.secondary{background:#19334a;color:#fff!important;border-color:#2c5b70}.btn.help{background:#fff!important;color:#0F172A!important;border-color:#22C1A3}
.btn.danger{background:#F44336;color:#0F172A!important;border-color:#ff766d}.btn.ok{background:#00B46E;color:#0F172A!important}
.add-related,.btn.add-related{background:#F97316!important;color:#111827!important;border-color:#fb923c!important;box-shadow:0 8px 20px rgba(249,115,22,.22)}
input,select,textarea,.field input,.field select,.field textarea{background:var(--input)!important;border-color:color-mix(in srgb,var(--line) 65%,transparent)!important;color:var(--txt)!important}
.select-filter{margin-bottom:7px;text-transform:none!important}
.unit-input{display:grid;grid-template-columns:92px minmax(0,1fr);gap:8px}.unit-input select,.unit-input input{margin:0}
select option,select optgroup,.field option{background:#111827!important;color:#fff!important}
html[data-theme='claro_inventorygt'] select option,html[data-theme='claro_inventorygt'] select optgroup{background:#fff!important;color:#0F172A!important}
html[data-theme='claro_inventorygt'] .detail-tabs{background:#fff;border-color:rgba(0,153,168,.35)}
html[data-theme='claro_inventorygt'] .detail-tabs .detail-tab{background:#e7f5f2!important;color:#0F172A!important;border-color:#0099A8!important}
html[data-theme='claro_inventorygt'] .detail-tabs .detail-tab.active{background:#00B46E!important;color:#0F172A!important;border-color:#007b4c!important}
html[data-theme='claro_inventorygt'] .small,html[data-theme='claro_inventorygt'] .muted,html[data-theme='claro_inventorygt'] .form-help{color:#415466!important}
html[data-theme='claro_inventorygt'] .help-modal-box,html[data-theme='claro_inventorygt'] .help-modal-content,html[data-theme='claro_inventorygt'] .help-doc{background:#fff;color:#0F172A!important}

/* Inventory GT V50: paisajes ilustrados/pixel, permisos y ayudas extensas. */
.landscape-tour{height:78px;background:#0F172A;image-rendering:auto}
.landscape-tour:after{height:5px;background:linear-gradient(90deg,#00B46E,#22C1A3,#0099A8,#FFD166,#00B46E)}
.tour-frame{background-repeat:no-repeat;background-size:cover;background-position:center;filter:saturate(.98) contrast(1.02)}
.tour-frame>span{right:8px;bottom:8px;padding:3px 7px;background:rgba(15,23,42,.82);border:1px solid rgba(255,255,255,.18);font-size:8px}
.about-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,340px);gap:30px;align-items:start;margin-top:22px}.about-copy{max-width:none;text-align:justify;line-height:1.78}.about-photo{margin:0;position:sticky;top:18px;border-radius:20px;overflow:hidden;border:1px solid color-mix(in srgb,var(--brand) 55%,transparent);background:var(--panel);box-shadow:0 18px 45px rgba(0,0,0,.25)}.about-photo img{display:block;width:100%;height:auto;max-height:520px;object-fit:cover;object-position:center top}.about-photo figcaption{padding:11px 13px;text-align:center;font-size:11px;font-weight:800;letter-spacing:.04em;background:color-mix(in srgb,var(--panel) 92%,var(--brand));color:var(--text)}
.rule-channels{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;margin-top:10px}.rule-channels label{display:flex;gap:7px;align-items:flex-start;text-transform:none;font-size:12px}.rule-channels input,.permission-table input{width:auto}.recipient-categories{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px;margin:10px 0 16px}.recipient-card{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.pill-row{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}
.permission-card{border-color:color-mix(in srgb,var(--brand) 48%,var(--line))}.permission-table th:nth-child(3),.permission-table th:nth-child(4),.permission-table td:nth-child(3),.permission-table td:nth-child(4){text-align:center;width:90px}.view-only{margin-top:18px;border-color:#FFD166}.help-modal-box{max-width:1180px;height:90vh}.help-doc{padding:22px}.help-section{margin:0 0 18px;padding:17px 18px;border:1px solid var(--line);border-radius:15px;background:color-mix(in srgb,var(--panel) 94%,var(--brand) 6%)}.help-section h2{margin-top:0}.help-section p,.help-section li{text-transform:none;line-height:1.7}.help-flow{display:grid;gap:10px;counter-reset:helpsteps}.help-flow li{list-style:none;position:relative;padding:11px 12px 11px 48px;border-radius:12px;background:rgba(255,255,255,.035);counter-increment:helpsteps}.help-flow li:before{content:counter(helpsteps);position:absolute;left:12px;top:10px;width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:var(--brand);color:#fff;font-weight:900}.help-note{border-left:5px solid #FFD166}.help-troubleshoot{border-left:5px solid #F44336}
@media(max-width:900px){.about-layout{grid-template-columns:1fr}.about-photo{position:static;max-width:440px;margin:0 auto}.rule-channels,.recipient-categories{grid-template-columns:1fr}}
@media(max-width:700px){.landscape-tour{height:70px}.tour-frame>span{font-size:7px}.help-doc{padding:10px}}
html[data-theme='claro_inventorygt'] .help-doc *,html[data-theme='claro_inventorygt'] .help-section p,html[data-theme='claro_inventorygt'] .help-section li{color:#0F172A!important}
html[data-theme='claro_inventorygt'] .empty-state{color:#415466;background:#f4faf8;border-color:#b6d7cf}
html[data-theme='claro_inventorygt'] .relation-link{color:#0F172A;background:#edf9f6;border-color:#9ad9cc}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px}

.topbar{grid-template-columns:minmax(225px,.9fr) minmax(420px,1.55fr) minmax(220px,.9fr);align-items:center}
.landscape-tour{position:relative;min-width:420px;height:76px;overflow:hidden;border-radius:16px;border:1px solid rgba(34,193,163,.55);background:#73cce5;isolation:isolate;animation:none;box-shadow:inset 0 -14px 24px rgba(15,23,42,.24)}
.landscape-tour:after{content:'';position:absolute;left:0;right:0;bottom:0;height:7px;z-index:20;background:linear-gradient(90deg,#00B46E,#22C1A3,#0099A8,#FFD166,#00B46E)}
.tour-frame{position:absolute;inset:0;overflow:hidden;opacity:0;animation:inventorygtScenesV50 49s linear infinite}
.tour-frame>span{position:absolute;right:9px;bottom:10px;z-index:18;padding:3px 7px;border-radius:8px;background:rgba(15,23,42,.76);color:#fff;font-size:8px;font-weight:800;letter-spacing:.06em;text-shadow:none}
.tour-frame i{position:absolute;display:block}
.tour-frame:nth-child(1){animation-delay:0s}.tour-frame:nth-child(2){animation-delay:7s}.tour-frame:nth-child(3){animation-delay:14s}.tour-frame:nth-child(4){animation-delay:21s}.tour-frame:nth-child(5){animation-delay:28s}.tour-frame:nth-child(6){animation-delay:35s}.tour-frame:nth-child(7){animation-delay:42s}
@keyframes inventorygtScenesV50{0%,13.35%{opacity:1}14.285%,100%{opacity:0}}

.frame-atitlan{background:linear-gradient(#74d1ef 0 50%,#1d91bb 51% 76%,#175b56 77%)}
.frame-atitlan .mountain{bottom:23px;width:145px;height:48px;clip-path:polygon(50% 0,100% 100%,0 100%);background:linear-gradient(145deg,#4b7d5c 0 48%,#2f6048 49%)}
.frame-atitlan .mountain.one{left:3%}.frame-atitlan .mountain.two{left:42%;height:42px;background:#3d7254}.frame-atitlan .lake{left:0;right:0;bottom:7px;height:19px;background:repeating-linear-gradient(175deg,#22a9ca 0 5px,#63d1df 6px 8px)}
.frame-antigua{background:linear-gradient(#74c9ea 0 58%,#a25f38 59% 100%)}
.frame-antigua .volcano{left:6%;bottom:16px;width:180px;height:58px;background:#426c50;clip-path:polygon(48% 0,100% 100%,0 100%)}
.frame-antigua .arch{left:46%;bottom:7px;width:64px;height:49px;background:#e0ad42;border:6px solid #b7742f;border-bottom:0}
.frame-antigua .arch:after{content:'';position:absolute;left:17px;bottom:0;width:19px;height:31px;border-radius:12px 12px 0 0;background:#8a4b31}
.frame-antigua .street{left:0;right:0;bottom:7px;height:13px;background:repeating-linear-gradient(90deg,#704631 0 18px,#8c5b3c 19px 36px)}
.frame-parque{background:linear-gradient(#8fd4e6 0 52%,#5d9564 53% 100%)}
.frame-parque .palace{left:16%;right:15%;bottom:14px;height:38px;background:repeating-linear-gradient(90deg,#6f998f 0 15px,#527b72 16px 23px);border-top:8px solid #9db8ad;box-shadow:inset 0 -8px #345c54}
.frame-parque .fountain{left:48%;bottom:8px;width:27px;height:18px;border-radius:50% 50% 6px 6px;background:#a5d8db;border:3px solid #4b858b}
.frame-parque .trees{left:4%;bottom:10px;width:25px;height:34px;background:#1f6b46;border-radius:50%;box-shadow:415px 0 #1f6b46,380px 4px #2c7d53}
.frame-tikal{background:linear-gradient(#7bb8c1 0 46%,#1f583a 47% 100%)}
.frame-tikal .temple{bottom:12px;background:repeating-linear-gradient(to top,#a18d69 0 6px,#725f45 7px 10px);clip-path:polygon(42% 0,58% 0,62% 18%,70% 18%,74% 35%,82% 35%,88% 55%,100% 55%,100% 100%,0 100%,0 55%,12% 55%,18% 35%,26% 35%,30% 18%,38% 18%)}
.frame-tikal .temple.one{left:12%;width:82px;height:56px}.frame-tikal .temple.two{right:16%;width:62px;height:44px;filter:brightness(.84)}
.frame-tikal .jungle{left:0;right:0;bottom:7px;height:17px;background:repeating-radial-gradient(circle at 10px 16px,#184f34 0 11px,#276d46 12px 17px)}
.frame-futura{background:linear-gradient(#253a63 0 58%,#101827 59% 100%)}
.frame-futura .tower{left:42%;bottom:7px;width:62px;height:64px;background:linear-gradient(90deg,#9eb5bd 0 37%,#4a6874 38% 62%,#a8bbc1 63%);clip-path:polygon(50% 0,100% 15%,90% 100%,10% 100%,0 15%);box-shadow:inset 0 -12px rgba(15,23,42,.3)}
.frame-futura .city{left:0;right:0;bottom:7px;height:24px;background:repeating-linear-gradient(90deg,#17253a 0 24px,#223653 25px 42px);box-shadow:0 -4px #FFD166}
.frame-rio{background:linear-gradient(#8bd4e5 0 52%,#1985a4 53% 100%)}
.frame-rio .river{left:0;right:0;bottom:7px;height:30px;background:repeating-linear-gradient(175deg,#168db0 0 6px,#46c4d0 7px 9px)}
.frame-rio .castle{left:29%;bottom:19px;width:86px;height:34px;background:#a98553;border-top:7px solid #735532;box-shadow:inset 0 -7px #6f4e2c}
.frame-rio .castle:before,.frame-rio .castle:after{content:'';position:absolute;bottom:0;width:22px;height:46px;background:#967241;border-top:6px solid #62472e}.frame-rio .castle:before{left:-16px}.frame-rio .castle:after{right:-16px}
.frame-rio .palms{right:8%;bottom:18px;width:5px;height:42px;background:#6a4b2e;transform:rotate(8deg);box-shadow:-350px 4px #6a4b2e}
.frame-market{background:linear-gradient(#172743 0 58%,#51364f 59% 100%)}
.frame-market .market{left:8%;right:8%;bottom:10px;height:39px;background:repeating-linear-gradient(90deg,#F44336 0 38px,#FFD166 39px 76px,#00B46E 77px 114px,#0099A8 115px 152px);clip-path:polygon(0 28%,8% 0,16% 28%,24% 0,32% 28%,40% 0,48% 28%,56% 0,64% 28%,72% 0,80% 28%,88% 0,96% 28%,100% 16%,100% 100%,0 100%)}
.frame-market .textile{left:25%;right:25%;bottom:12px;height:19px;background:repeating-linear-gradient(45deg,#FFD166 0 5px,#F44336 6px 10px,#22C1A3 11px 15px,#0F172A 16px 20px)}


.status-line{row-gap:9px!important}.rule-card{line-height:1.45}.rule-card .form-help{margin:8px 0 0}.alert-kpi{border-color:color-mix(in srgb,var(--line) 45%,transparent)}
.traffic-light.large{grid-template-columns:repeat(5,20px)}
.about-copy{text-align:justify}.guatemala-panorama{position:relative;height:230px;overflow:hidden;border-radius:20px;margin:18px 0 24px;background:linear-gradient(#78d0e7 0 53%,#168db0 54% 100%);border:1px solid rgba(34,193,163,.55);isolation:isolate}.guatemala-panorama .sun{position:absolute;right:12%;top:25px;width:44px;height:44px;border-radius:50%;background:#FFD166;box-shadow:0 0 28px rgba(255,209,102,.6)}.guatemala-panorama .volcano{position:absolute;bottom:62px;width:58%;height:145px;clip-path:polygon(50% 0,100% 100%,0 100%);background:linear-gradient(145deg,#4c845f 0 49%,#2f6347 50%)}.guatemala-panorama .volcano.left{left:-8%}.guatemala-panorama .volcano.right{right:-8%;height:123px;background:linear-gradient(215deg,#568e68 0 49%,#326b4d 50%)}.guatemala-panorama .water{position:absolute;left:0;right:0;bottom:0;height:80px;background:repeating-linear-gradient(175deg,#168db0 0 9px,#42c0cf 10px 14px);z-index:3}.guatemala-panorama .village{position:absolute;left:7%;right:7%;bottom:64px;height:24px;z-index:4;background:repeating-linear-gradient(90deg,#F44336 0 15px,#FFD166 16px 30px,#00B46E 31px 45px,#0099A8 46px 60px);clip-path:polygon(0 45%,4% 0,8% 45%,12% 10%,16% 45%,20% 0,24% 45%,28% 10%,32% 45%,36% 0,40% 45%,44% 10%,48% 45%,52% 0,56% 45%,60% 10%,64% 45%,68% 0,72% 45%,76% 10%,80% 45%,84% 0,88% 45%,92% 10%,96% 45%,100% 0,100% 100%,0 100%)}.guatemala-panorama strong{position:absolute;right:18px;bottom:16px;z-index:6;padding:8px 12px;border-radius:10px;background:rgba(15,23,42,.82);color:#fff;letter-spacing:.05em;font-size:12px}
.public-brand{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-bottom:15px;margin-bottom:18px;border-bottom:1px solid rgba(34,193,163,.35)}.public-brand img{width:225px;max-width:60%;height:auto}.public-brand span{font-size:11px;color:var(--muted);font-weight:800;letter-spacing:.05em;text-align:right}

@media(prefers-reduced-motion:reduce){.tour-frame{animation:none;opacity:0}.tour-frame:first-child{opacity:1}}
@media(max-width:1180px){.topbar{grid-template-columns:1fr auto}.landscape-tour{grid-column:1/-1;grid-row:2;min-width:0}.brand .brand-logo{width:205px}}
@media(max-width:700px){.landscape-tour{height:68px}.tour-frame>span{font-size:7px}.brand .brand-logo{width:190px}}

/* V50: etiqueta QR imprimible para equipos y accesorios. */
.qr-sticker{display:flex;flex-direction:column;align-items:center;gap:8px;max-width:290px;padding:14px;margin:0 auto 16px;border:2px solid var(--line);border-radius:15px;background:#fff;color:#0F172A;text-align:center}.qr-sticker img{display:block;width:220px;height:220px;max-width:100%;object-fit:contain}.qr-sticker strong{font-size:20px;letter-spacing:.08em;color:#0F172A}.qr-sticker span{font-size:10px;font-weight:800;line-height:1.35;color:#334155}
.score.neutral{border-color:#64748b;background:color-mix(in srgb,var(--panel) 92%,#64748b 8%)}.score.neutral .num span,.score.neutral>p{display:none}.score.neutral .score-state{color:#cbd5e1}
@media print{body.print-qr-only *{visibility:hidden!important}body.print-qr-only .qr-print-card,body.print-qr-only .qr-print-card *{visibility:visible!important}body.print-qr-only .qr-print-card{position:fixed;inset:0 auto auto 0;width:70mm;margin:0;padding:4mm;border:0;box-shadow:none;background:#fff}body.print-qr-only .qr-print-card>h2,body.print-qr-only .qr-print-card>p,body.print-qr-only .qr-print-card>button,body.print-qr-only .qr-print-card>a{display:none!important}body.print-qr-only .qr-sticker{width:58mm;max-width:none;margin:0;padding:3mm;border:1px solid #0F172A;border-radius:3mm}body.print-qr-only .qr-sticker img{width:38mm;height:38mm}body.print-qr-only .qr-sticker strong{font-size:14pt}body.print-qr-only .qr-sticker span{font-size:8pt}}

/* Inventory GT V50: legibilidad, columnas configurables, PUSH y reportería */
.content p,.content li,.content td,.content .form-help,.content .scrollable-text{text-align:justify;text-justify:inter-word}
.content h1,.content h2,.content h3,.content th,.content label,.btn,.badge{text-align:initial}
.list-filter-panel{display:flex;gap:12px;flex-wrap:wrap;align-items:end;margin:14px 0}.list-filter-panel .field{min-width:180px;flex:1}.column-chooser{flex:2;min-width:260px;border:1px solid var(--border);border-radius:10px;padding:10px}.column-chooser summary{cursor:pointer;font-weight:700}.column-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:7px;margin-top:10px}.column-grid label{text-transform:none;font-weight:500}.os-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:28px;border-radius:8px;border:1px solid var(--border);font-size:10px;font-weight:900;letter-spacing:.4px}.push-btn,.btn.push-btn{background:#f59e0b!important;border-color:#f59e0b!important;color:#111827!important;font-weight:900}.actions-cell{white-space:nowrap}.justified-text{text-align:justify;white-space:pre-line}.detail-line{display:grid;grid-template-columns:minmax(170px,34%) 1fr;gap:12px;padding:8px 0;border-bottom:1px solid var(--border)}.detail-line:last-child{border-bottom:0}.detail-line b{text-align:left}.report-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.report-card{position:relative;overflow:hidden}.report-card .big-number{font-size:2rem;font-weight:800}.drill-link{color:inherit;text-decoration:none}.drill-link:hover .card,.drill-link:hover.card{transform:translateY(-1px)}.mini-pie{width:150px;height:150px;border-radius:50%;margin:12px auto;background:conic-gradient(var(--accent) 0 var(--pie),rgba(128,128,128,.20) var(--pie) 100%);display:grid;place-items:center}.mini-pie:after{content:attr(data-label);width:92px;height:92px;border-radius:50%;background:var(--card);display:grid;place-items:center;font-weight:800;text-align:center}.task-catalog{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.task-option{border:1px solid var(--border);border-radius:12px;padding:12px}.orange-callout{border-left:5px solid #f59e0b;background:rgba(245,158,11,.10);padding:12px;border-radius:8px}.methodology{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.methodology>div{border:1px solid var(--border);border-radius:12px;padding:12px}.status-history{border-left:3px solid var(--accent);padding-left:12px;margin:9px 0}.kpi .sub{font-size:.78rem;opacity:.8;margin-top:4px}


/* Inventory GT V51 — uniformidad visual, legibilidad, reportes y branding */
.brand-lockup{display:flex;align-items:center;gap:11px;min-width:0}.brand-bird{width:46px;height:46px;object-fit:contain;flex:0 0 auto}.brand-lockup>div{display:flex;flex-direction:column;line-height:1}.brand-lockup strong{font-size:21px;letter-spacing:.035em;white-space:nowrap}.brand-lockup strong em{font-style:normal;color:var(--accent)}.brand-lockup span{font-size:9px;letter-spacing:.13em;margin-top:7px;color:var(--muted);font-weight:800}.sidebar .brand{padding-block:18px}.sidebar .brand .brand-lockup{justify-content:flex-start}
.landscape-single{position:relative;min-width:360px;height:76px;border-radius:16px;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 55%,transparent);background:var(--panel)}.landscape-single img{width:100%;height:100%;display:block;object-fit:cover;object-position:center;transition:opacity .18s ease,transform .35s ease}.landscape-single img.changing{opacity:.12;transform:scale(1.015)}.landscape-single span{position:absolute;right:10px;bottom:8px;padding:5px 9px;border-radius:999px;background:rgba(15,23,42,.82);color:#fff;font-size:9px;font-weight:900;letter-spacing:.06em;box-shadow:0 4px 18px rgba(0,0,0,.25)}
.content p,.content li,.content .form-help,.content .scrollable-text{text-align:justify;text-justify:inter-word}.content td{text-align:left}.content h1,.content h2,.content h3,.content h4,.content th,.content label,.content .btn,.content .badge,.content .kpi,.content .detail-line span,.content .detail-line strong{text-align:left}
.card{margin-bottom:18px}.module-heading,.detail-title{gap:24px}.module-actions,.export-actions,.export-bar,.top-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.inline-action{display:inline-flex;margin:0}.hero-360{padding:24px}.hero-360 .module-heading,.hero-360 .detail-title{margin-bottom:20px}.detail-heading-copy{min-width:0}.detail-subtitle{line-height:1.55;margin-top:6px}
.detail-list{display:flex;flex-direction:column;gap:0;margin-top:14px;border:1px solid var(--border);border-radius:14px;overflow:hidden;background:color-mix(in srgb,var(--card) 96%,var(--accent) 4%)}.detail-list .detail-line{display:grid;grid-template-columns:minmax(180px,32%) minmax(0,1fr);gap:18px;padding:12px 15px;border-bottom:1px solid var(--border);align-items:start}.detail-list .detail-line:last-child{border-bottom:0}.detail-line>span{font-size:.78rem;font-weight:850;text-transform:uppercase;letter-spacing:.025em;color:var(--muted)}.detail-line>strong{font-size:.94rem;line-height:1.45;overflow-wrap:anywhere}.detail-line-long strong{font-weight:550;white-space:pre-line}.detail-list-wide{max-width:100%}.equipment-hero .detail-list{margin-top:4px}
.brand-identity{display:inline-flex;align-items:center;gap:8px;min-width:0}.brand-mini-logo{width:22px;height:22px;object-fit:contain;flex:0 0 22px}.brand-mini-fallback{display:inline-flex;align-items:center;justify-content:center;width:26px;height:22px;border-radius:6px;background:color-mix(in srgb,var(--accent) 14%,var(--panel));border:1px solid var(--border);font-size:9px;font-weight:900;letter-spacing:.04em;flex:0 0 auto}.brand-identity>span:last-child{overflow-wrap:anywhere}
.kpi-grid-v51{display:grid;grid-template-columns:repeat(5,minmax(145px,1fr));gap:14px;margin:18px 0}.kpi-v51{position:relative;min-height:132px;padding:18px;border:1px solid color-mix(in srgb,var(--accent) 45%,var(--border));border-radius:18px;background:linear-gradient(145deg,var(--card),color-mix(in srgb,var(--panel) 89%,var(--accent) 11%));text-decoration:none;color:inherit;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto 1fr;column-gap:12px;box-shadow:0 9px 28px rgba(0,0,0,.08);transition:.18s ease}.kpi-v51:hover{transform:translateY(-2px);border-color:var(--accent)}.kpi-icon{grid-row:1/3;display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:color-mix(in srgb,var(--accent) 18%,var(--panel));border:1px solid color-mix(in srgb,var(--accent) 50%,var(--border));font-size:10px;font-weight:950;letter-spacing:.05em}.kpi-v51 b{font-size:2.15rem;line-height:1}.kpi-v51 small{font-weight:850;letter-spacing:.025em}.kpi-v51 em{grid-column:1/-1;align-self:end;font-size:.72rem;font-style:normal;color:var(--muted);font-weight:750}
.report-primary{grid-template-columns:repeat(3,minmax(250px,1fr))}.report-card{min-height:335px}.report-card h2,.chart-card h2{margin-bottom:5px}.donut-wrap{display:block;text-decoration:none;color:inherit;width:max-content;margin:20px auto}.donut-chart{--value:0;position:relative;width:174px;height:174px;border-radius:50%;background:conic-gradient(var(--accent) calc(var(--value)*1%),color-mix(in srgb,var(--muted) 20%,transparent) 0);display:grid;place-items:center;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 25%,transparent)}.donut-chart:before{content:'';position:absolute;width:116px;height:116px;border-radius:50%;background:var(--card);box-shadow:0 0 0 1px var(--border)}.donut-chart>div{position:relative;z-index:1;text-align:center;display:flex;flex-direction:column}.donut-chart strong{font-size:1.75rem}.donut-chart span{font-size:.72rem;font-weight:850;color:var(--muted)}.chart-legend{display:flex;justify-content:center;gap:15px;flex-wrap:wrap;font-size:.78rem}.chart-legend>span{display:flex;align-items:center;gap:6px}.legend-dot{width:9px;height:9px;border-radius:50%;background:var(--accent)}.muted-dot{background:color-mix(in srgb,var(--muted) 32%,transparent)}.health-gauge{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:28px 0}.health-gauge>div{min-height:120px;border:1px solid var(--border);border-radius:16px;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:14px;text-align:center;background:color-mix(in srgb,var(--panel) 94%,var(--accent) 6%)}.health-gauge strong{font-size:2rem}.health-gauge span{font-size:.72rem;line-height:1.35;font-weight:800;color:var(--muted)}
.report-bars{grid-template-columns:repeat(2,minmax(310px,1fr))}.chart-card{min-height:310px}.chart-hint{font-size:.78rem;color:var(--muted);margin:0 0 16px}.chart-bar-link{display:grid;grid-template-columns:minmax(120px,32%) 1fr 35px;align-items:center;gap:11px;padding:8px 5px;border-radius:8px;text-decoration:none;color:inherit}.chart-bar-link:hover{background:color-mix(in srgb,var(--accent) 7%,transparent)}.chart-bar-name{font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chart-bar-track{height:12px;border-radius:999px;background:color-mix(in srgb,var(--muted) 19%,transparent);overflow:hidden}.chart-bar-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 55%,#fff 45%));box-shadow:0 0 12px color-mix(in srgb,var(--accent) 20%,transparent)}.chart-bar-link b{text-align:right}
.landscape-admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.landscape-admin-card img{width:100%;height:140px;object-fit:cover;border-radius:13px;border:1px solid var(--border)}.landscape-actions{display:flex;gap:7px;flex-wrap:wrap}.landscape-actions form{display:flex;gap:6px;align-items:center}.landscape-actions input[type=number]{width:72px;padding:7px}.btn.danger{border-color:#ef4444;color:#ef4444;background:transparent}
.about-intro-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:24px;margin-top:20px}.product-facts .detail-list{margin-top:0}.about-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.about-gallery figure{margin:0;border:1px solid var(--border);border-radius:16px;overflow:hidden;background:var(--panel)}.about-gallery img{width:100%;height:220px;object-fit:cover;display:block}.about-gallery figcaption{padding:10px 12px;font-size:.72rem;font-weight:850;letter-spacing:.025em}.signature-card img{width:78px;height:78px;object-fit:contain}
.pagination{display:flex;gap:7px;flex-wrap:wrap;margin-top:16px}
@media(max-width:1250px){.kpi-grid-v51{grid-template-columns:repeat(3,1fr)}.report-primary{grid-template-columns:1fr 1fr}.endpoint-health{grid-column:1/-1}.about-intro-grid{grid-template-columns:1fr}.topbar{grid-template-columns:1fr auto}.landscape-single{grid-column:1/-1;grid-row:2;min-width:0}}
@media(max-width:800px){.kpi-grid-v51,.report-primary,.report-bars,.about-gallery{grid-template-columns:1fr}.endpoint-health{grid-column:auto}.detail-list .detail-line{grid-template-columns:1fr;gap:4px}.health-gauge{grid-template-columns:1fr}.landscape-single{height:82px}.hero-360{padding:18px}.module-heading,.detail-title{gap:14px}.about-gallery img{height:180px}}


/* Inventory GT - uniformidad visual */
.detail-line{display:grid;grid-template-columns:minmax(180px,260px) 1fr;gap:14px;align-items:start;padding:11px 0;border-bottom:1px solid rgba(127,157,184,.16)}
.detail-line:last-child{border-bottom:0}.detail-line .detail-label,.detail-line>strong:first-child{font-weight:800;letter-spacing:.02em}.detail-line .detail-value{min-width:0}
.card p,.form-help,.muted,.scrollable-text,.long-text{text-align:justify;text-justify:inter-word;line-height:1.55}.module-heading p,.kpi p,.brand-chip,.badge,.table td,.table th,.btn{text-align:left}
.module-actions,.actions,.button-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.module-actions .btn,.actions .btn,.button-row .btn{margin:0}
.brand-ident{display:inline-flex;align-items:center;gap:7px;vertical-align:middle}.brand-ident img{width:18px;height:18px;object-fit:contain;background:#fff;border-radius:4px;padding:1px}.brand-ident .brand-fallback{width:21px;height:21px;display:inline-flex;align-items:center;justify-content:center;border-radius:5px;background:rgba(45,212,191,.13);border:1px solid rgba(45,212,191,.3);font-size:9px;font-weight:900}
.landscape-single{width:100%;height:72px;object-fit:cover;display:block;border-radius:14px}.landscape-frame{overflow:hidden}
@media(max-width:720px){.detail-line{grid-template-columns:1fr;gap:4px}.landscape-single{height:64px}}


.login-brand-v51{display:flex;justify-content:center;align-items:center;gap:12px;margin:0 auto 18px}.login-brand-v51 img{width:68px;height:68px;object-fit:contain}.login-brand-v51 strong{font-size:26px;letter-spacing:.02em}.login-brand-v51 em{font-style:normal;color:var(--accent)}
.public-product{display:inline-flex;align-items:center;gap:8px}.public-product img{width:34px!important;height:34px!important;object-fit:contain}.brand-mini-logo{background:#fff;border-radius:5px;padding:2px}


/* Inventory GT V54 - Dashboard ejecutivo, reportería visual y adjuntos enriquecidos */
.dashboard-v54,.report-v54{display:flex;flex-direction:column;gap:18px}.v54-dashboard-heading,.v54-report-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;padding:20px 4px 4px}.v54-dashboard-heading h1,.v54-report-hero h1{margin:4px 0 6px;font-size:2rem}.v54-dashboard-heading p,.v54-report-hero p{margin:0;color:var(--muted);max-width:820px}.eyebrow{font-size:.73rem;letter-spacing:.16em;font-weight:900;color:var(--accent)}.v54-heading-actions,.export-bar{display:flex;gap:9px;flex-wrap:wrap}
.v54-kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(145px,1fr));gap:14px}.v54-kpi{min-height:132px;padding:17px 18px;border:1px solid color-mix(in srgb,var(--accent) 34%,var(--border));border-radius:18px;background:linear-gradient(145deg,var(--card),color-mix(in srgb,var(--panel) 88%,var(--accent) 12%));box-shadow:0 12px 30px rgba(0,0,0,.08);display:flex;flex-direction:column;text-decoration:none;color:inherit;transition:.18s ease}.v54-kpi:hover{transform:translateY(-2px);border-color:var(--accent)}.v54-kpi span{font-size:.76rem;font-weight:900;letter-spacing:.04em}.v54-kpi strong{font-size:2.45rem;line-height:1;margin:13px 0 8px}.v54-kpi small{margin-top:auto;color:var(--muted);font-weight:700;line-height:1.3}
.v54-dashboard-grid{display:grid;gap:16px}.v54-main-row{grid-template-columns:minmax(0,2fr) minmax(300px,.8fr)}.v54-four-grid{grid-template-columns:repeat(4,minmax(220px,1fr))}.v54-bottom-grid{grid-template-columns:1fr 1.3fr 1fr}.v54-chart-card{min-height:310px}.v54-wide{min-height:350px}.v54-card-title{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.v54-card-title h2{margin:0 0 4px;font-size:1.05rem}.v54-card-title p{margin:0;color:var(--muted);font-size:.78rem}.v54-card-title>a{font-size:.72rem;font-weight:900;text-decoration:none;color:var(--accent);white-space:nowrap}
.v54-line-svg{width:100%;height:240px;color:var(--accent);overflow:visible}.v54-line-svg .gridline{stroke:color-mix(in srgb,var(--muted) 26%,transparent);stroke-width:1}.v54-line-svg .trendline{fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 4px 8px color-mix(in srgb,var(--accent) 26%,transparent))}.v54-line-svg .trenddot{fill:var(--card);stroke:currentColor;stroke-width:3}.v54-month-labels{display:grid;grid-template-columns:repeat(12,1fr);gap:2px;margin-top:-8px;color:var(--muted);font-size:.58rem;font-weight:800;text-align:center}
.v54-score-card{display:flex;flex-direction:column;align-items:stretch}.v54-score-ring{--score:0;width:178px;height:178px;margin:12px auto 18px;border-radius:50%;background:conic-gradient(var(--accent) calc(var(--score)*1%),color-mix(in srgb,var(--muted) 18%,transparent) 0);position:relative;display:grid;place-items:center}.v54-score-ring:before{content:'';position:absolute;width:122px;height:122px;border-radius:50%;background:var(--card);box-shadow:0 0 0 1px var(--border)}.v54-score-ring>div{z-index:1;display:flex;flex-direction:column;text-align:center}.v54-score-ring strong{font-size:2rem}.v54-score-ring span{font-size:.65rem;color:var(--muted);font-weight:900}.v54-score-lines{display:grid;gap:7px}.v54-score-lines span{display:flex;justify-content:space-between;border-bottom:1px solid var(--border);padding:7px 0;font-size:.78rem}
.v54-bar-row{display:grid;grid-template-columns:minmax(95px,34%) 1fr 34px;gap:10px;align-items:center;padding:8px 4px;border-radius:8px;text-decoration:none;color:inherit}.v54-bar-row:hover{background:color-mix(in srgb,var(--accent) 7%,transparent)}.v54-bar-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.75rem}.v54-bar-track{height:11px;background:color-mix(in srgb,var(--muted) 18%,transparent);border-radius:999px;overflow:hidden}.v54-bar-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 58%,white 42%));box-shadow:0 0 10px color-mix(in srgb,var(--accent) 20%,transparent)}.v54-bar-row b{text-align:right}
.v54-severity-list{display:grid;gap:9px}.v54-severity{display:flex;justify-content:space-between;align-items:center;padding:11px 13px;border-radius:11px;border-left:5px solid var(--muted);background:color-mix(in srgb,var(--panel) 94%,transparent);font-weight:800}.severity-critica{border-left-color:#dc3545}.severity-alta{border-left-color:#f97316}.severity-media{border-left-color:#eab308}.severity-baja{border-left-color:#22c55e}.severity-info{border-left-color:#38bdf8}.v54-compact-list{display:grid}.v54-compact-list>a{display:flex;justify-content:space-between;gap:15px;padding:11px 0;border-bottom:1px solid var(--border);text-decoration:none;color:inherit}.v54-compact-list>a:last-child{border-bottom:0}.v54-compact-list span{display:flex;flex-direction:column;min-width:0}.v54-compact-list span b,.v54-compact-list span:not(b){overflow:hidden;text-overflow:ellipsis}.v54-compact-list strong{text-align:right;font-size:.76rem;white-space:nowrap}.v54-compact-list strong small{display:block;color:var(--muted);margin-top:3px}.warn-text{color:#f59e0b}.v54-quality{display:flex;flex-direction:column;gap:10px}.v54-quality>strong{font-size:3rem}.v54-quality>span{font-size:.76rem;font-weight:850}.v54-quality-track{height:11px;background:color-mix(in srgb,var(--muted) 20%,transparent);border-radius:999px;overflow:hidden}.v54-quality-track i{display:block;height:100%;background:var(--accent);border-radius:inherit}.v54-quality small{color:var(--muted)}.v54-plan-strip{display:flex;justify-content:space-between;align-items:center;gap:20px}.v54-plan-strip h2{margin:0 0 4px}.v54-plan-strip p{margin:0;color:var(--muted)}
.v54-report-hero{padding:22px;border:1px solid var(--border);border-radius:18px;background:linear-gradient(135deg,var(--card),color-mix(in srgb,var(--panel) 88%,var(--accent) 12%));align-items:center}.v54-metric-stack{display:flex;flex-direction:column;gap:12px}.v54-metric-row{display:grid;grid-template-columns:1fr auto;gap:5px}.v54-metric-row span{font-size:.75rem;font-weight:850}.v54-metric-row b{font-size:.85rem}.v54-metric-row i{grid-column:1/-1;height:10px;border-radius:999px;background:linear-gradient(90deg,var(--accent) calc(var(--metric)*1%),color-mix(in srgb,var(--muted) 18%,transparent) 0)}.v54-health-summary{display:flex;flex-direction:column}.v54-health-summary>a{display:grid;grid-template-columns:60px 1fr;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--border);text-decoration:none;color:inherit}.v54-health-summary>a strong{font-size:1.45rem}.v54-health-summary>a span{font-size:.76rem}.attachment-slot-intro{grid-column:1/-1}.attachment-slot{padding:12px;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--panel) 94%,var(--accent) 6%)}.attachment-slot input[type=file]{margin-bottom:8px}
@media(max-width:1400px){.v54-four-grid{grid-template-columns:repeat(2,minmax(260px,1fr))}.v54-bottom-grid{grid-template-columns:1fr 1fr}.v54-bottom-grid>.card:last-child{grid-column:1/-1}}
@media(max-width:1080px){.v54-kpi-grid{grid-template-columns:repeat(3,1fr)}.v54-main-row{grid-template-columns:1fr}.v54-score-card{min-height:auto}.v54-month-labels span:nth-child(even){display:none}.v54-month-labels{grid-template-columns:repeat(6,1fr)}}
@media(max-width:720px){.v54-dashboard-heading,.v54-report-hero,.v54-plan-strip{align-items:stretch;flex-direction:column}.v54-kpi-grid,.v54-four-grid,.v54-bottom-grid{grid-template-columns:1fr}.v54-bottom-grid>.card:last-child{grid-column:auto}.v54-kpi{min-height:112px}.v54-line-svg{height:190px}.v54-month-labels{display:none}}
