:root{color:#203a32;--green:#176d50;--forest:#123c31;--border:#e0e8e2;--muted:#64786d;--shadow:0 4px 20px #183b2e06;background:#f5f7f4;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--border);color:#29483b;background:#fff;border-radius:10px;margin:4px 4px 4px 0;padding:11px 16px;font-weight:600;transition:background .15s,border-color .15s}button:hover{background:#edf5ef;border-color:#bdd7c8}button:disabled{opacity:.55;cursor:wait}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,tr:focus-visible{outline-offset:3px;outline:3px solid #50aa86}button[type=submit]{background:var(--green);color:#fff;border-color:var(--green)}button[type=submit]:hover{background:#10573f}input,select,textarea{color:#213b2e;background:#fff;border:1px solid #cbd8ce;border-radius:9px;width:100%;min-height:44px;margin-top:6px;padding:11px 12px;display:block}textarea{resize:vertical}input[type=file]{padding:9px;font-size:13px}label{color:#455f50;margin:12px 0;font-size:.9rem;font-weight:500;display:block}h1{letter-spacing:-.8px;margin:5px 0;font-size:30px;font-weight:700}h2{letter-spacing:-.2px;margin:0 0 20px;font-size:18px;font-weight:650}h3{font-size:16px}.shell{grid-template-columns:262px minmax(0,1fr);min-height:100vh;display:grid}aside{background:var(--forest);color:#ecf5ed;flex-direction:column;height:100vh;padding:28px 17px 20px;display:flex;position:sticky;top:0;overflow:auto}aside nav{flex:1}aside button{text-align:left;color:#d3e4d9;background:0 0;border:1px solid #0000;align-items:center;gap:12px;width:100%;margin:3px 0;padding:11px 12px;font-size:13px;font-weight:500;line-height:1.4;display:flex}aside button:hover{color:#fff;background:#204e3e;border-color:#0000}aside button.active{color:#fff;background:#2b6951;border-color:#3c7a60;box-shadow:inset 3px 0 #9ae0b6}.icon{flex-shrink:0;width:20px;height:20px}main{width:100%;min-width:0;max-width:1600px;padding:32px 36px}.brand{color:inherit;white-space:nowrap;letter-spacing:-.5px;align-items:center;gap:10px;font-size:21px;font-weight:650;display:flex}.brand>span:last-child{font-size:20px}.brand b{color:#9cddb2;font-size:14px;font-weight:600}.brand-mark{color:#164d35;letter-spacing:-1px;background:#e7f3e8;border-radius:11px;flex-shrink:0;place-items:center;width:39px;height:39px;font-size:16px;display:grid}.brand-caption{color:#b1cfba;letter-spacing:1.7px;margin:12px 0 24px 49px;font-size:9px}.profile{border-top:1px solid #ffffff16;border-bottom:1px solid #ffffff16;align-items:center;gap:10px;min-width:0;margin-bottom:24px;padding:15px 8px;display:flex}.profile>div{min-width:0}.profile strong{font-size:12px;font-weight:600;display:block}.profile div span{color:#b5cfbd;white-space:nowrap;text-overflow:ellipsis;margin-top:4px;font-size:11px;display:block;overflow:hidden}.avatar{background:#325c49;border:1px solid #47735b;border-radius:50%;flex-shrink:0;place-items:center;width:34px;height:34px;font-size:11px;display:grid}.nav-caption{color:#9bbca7;letter-spacing:1.4px;margin:0 12px 10px;font-size:10px}.logout{border-top:1px solid #ffffff20!important;border-radius:0!important;margin-top:20px!important}.eyebrow{letter-spacing:1.5px;color:#65816d;margin:0 0 10px;font-size:10px;font-weight:650}.page-subtitle{color:var(--muted);margin:8px 0 0;font-size:13px}header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px;display:flex}.refresh{box-shadow:var(--shadow);flex-shrink:0;align-items:center;gap:8px;font-size:13px;display:flex}.card{border:1px solid var(--border);box-shadow:var(--shadow);background:#fff;border-radius:16px;margin:22px 0;padding:25px}.fields{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0 22px;display:grid}.metrics{grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:18px;display:grid}.metric{border:1px solid var(--border);box-shadow:var(--shadow);background:#fff;border-radius:15px;padding:20px 22px}.metric-top{color:#526c5c;justify-content:space-between;align-items:center;gap:12px;font-size:12px;font-weight:600;display:flex}.metric .icon{color:var(--green);background:#e9f4ec;border-radius:10px;width:36px;height:36px;padding:8px}.metric:nth-child(2) .icon{color:#a26714;background:#fff3d8}.metric strong{letter-spacing:-1px;margin:12px 0 5px;font-size:34px;font-weight:650;display:block}.metric small{color:var(--muted);font-size:11px}.quick-actions{grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:12px;margin:22px 0 0;display:grid}.quick-actions button{text-align:left;background:#edf4ee;border-color:#d7e4d9;align-items:center;gap:10px;margin:0;padding:16px;font-size:13px;display:flex}.quick-actions button .icon:last-child{width:16px;margin-left:auto}.dashboard-grid{grid-template-columns:1.4fr 1fr;align-items:start;gap:22px;display:grid}.dashboard-grid .card{min-height:220px}.dashboard-grid p{color:#4e6657;line-height:1.7}.table{border:1px solid var(--border);border-radius:10px;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}.table table{min-width:720px}th{text-align:left;color:#5d7464;background:#f5f8f4;font-size:11px;font-weight:650}td,th{overflow-wrap:anywhere;border-bottom:1px solid #e7eee7;max-width:350px;padding:14px 12px}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#f2f8f2}tr[tabindex]{cursor:pointer}.empty,.muted{color:var(--muted);font-size:13px}.empty{text-align:center;background:#f7faf6;border:1px dashed #d5e1d5;border-radius:10px;padding:20px}.error,.success{overflow-wrap:anywhere;border:1px solid;border-radius:10px;margin:12px 0;padding:15px 18px}.error{color:#983a26;background:#fff1ed;border-color:#efc6bb}.success{color:#24623a;background:#edf8ed;border-color:#c8e5cd}.notice{border-bottom:1px solid #e2ebdf;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;font-size:13px;line-height:1.6;display:flex}.notice:last-child{border-bottom:0}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0;display:flex}footer{color:#6d8373;border-top:1px solid var(--border);margin-top:30px;padding-top:18px;font-size:11px}pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f5f8f3;border-radius:8px;padding:20px;font-size:13px}article{border-top:1px solid #dfe8dc;padding:15px 0}form+form{border-top:1px solid #dfe8dc;margin-top:24px;padding-top:18px}.login{border:1px solid var(--border);background:#fff;border-radius:20px;max-width:470px;margin:8vh auto;padding:38px;box-shadow:0 15px 60px #143a2e0d}.login .brand b{color:var(--green)}.login h1{margin:32px 0 14px;font-size:27px}.login p{color:var(--muted);line-height:1.7}.login button[type=submit]{width:100%;margin:16px 0}.field{margin:10px 0}.field>label{margin:0 0 6px}.field input,.field select,.field textarea{margin-top:0}.evidence{border-radius:10px;max-width:100%;max-height:350px;margin:12px 0;display:block}@media (max-width:1100px){main{padding:26px}.dashboard-grid{grid-template-columns:1fr}.dashboard-grid .card{min-height:0;margin-bottom:0}.dashboard-grid .card:last-child{margin-top:0}}@media (max-width:760px){.shell{display:block}aside{height:auto;padding:18px 16px 12px;display:block;position:static}.brand-caption,.nav-caption{display:none}.profile{border:0;margin:12px 0 15px;padding:0}.profile .avatar{width:28px;height:28px}.profile strong{font-size:11px}.profile div span{max-width:280px}aside nav{scrollbar-width:thin;gap:6px;padding:0 0 8px;display:flex;overflow-x:auto}aside nav button{white-space:nowrap;flex-shrink:0;width:auto;padding:11px 13px;font-size:12px}.logout{width:auto;font-size:12px;border:0!important;margin-top:8px!important;padding:8px 0!important}main{padding:22px 16px}.card{border-radius:13px;margin:18px 0;padding:19px}h1{font-size:25px}.eyebrow{font-size:9px}.page-subtitle{font-size:12px;line-height:1.6}header{align-items:flex-start;gap:10px;margin-bottom:22px}.refresh{margin-top:18px;padding:10px;font-size:12px}.refresh .icon{width:16px;height:16px}.fields{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.metric{padding:15px}.metric-top{gap:6px;font-size:11px}.metric .icon{width:30px;height:30px;padding:7px}.metric strong{font-size:29px}.metric small{font-size:10px;line-height:1.4;display:block}.quick-actions{grid-template-columns:1fr;gap:8px;margin-top:18px}.quick-actions button{min-height:48px;padding:12px 15px}.dashboard-grid{gap:18px}.dashboard-grid .card:last-child{margin-top:0}.notice{flex-wrap:wrap;align-items:flex-start;gap:8px}.login{width:auto;margin:5vh 16px;padding:28px}.table{padding-bottom:8px}.table td,.table th{word-break:normal;overflow-wrap:normal;min-width:80px}}@media (prefers-reduced-motion:reduce){button{transition:none}}.header-actions{align-items:center;gap:8px;display:flex}.primary-action{background:var(--green);border-color:var(--green);color:#fff;align-items:center;gap:8px;font-size:13px;display:flex}.primary-action:hover{color:#fff;background:#10573f}.operation-panels{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}.operation-panels .card{min-width:0;margin-bottom:0}.equipment-panels .card{min-width:0;margin:22px 0 0}.status-badge{color:#536b58;white-space:nowrap;text-transform:capitalize;background:#eef3ec;border-radius:20px;align-items:center;padding:5px 9px;font-size:10px;font-weight:650;display:inline-flex}.status-badge.operativo,.status-badge.cerrado{color:#2e6940;background:#e7f4e9}.status-badge.fuera_servicio,.status-badge.critica{color:#a34b31;background:#fff0eb}.status-badge.mantenimiento,.status-badge.reparacion,.status-badge.asignado{color:#986321;background:#fff4df}.text-action{color:var(--green);background:0 0;border:0;align-items:center;gap:8px;margin:8px 0 0;padding:10px 0;font-size:12px;display:flex}.text-action:hover{color:#104d37;background:0 0}.text-action .icon{width:15px}.chart-caption{color:var(--muted);margin:0;font-size:11px!important}.activity-chart{width:100%;height:165px;margin-top:12px;display:block}.equipment-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.equipment-tile{text-align:left;background:#fbfcf9;flex-direction:column;align-items:flex-start;gap:8px;min-width:0;margin:0;padding:12px;font-size:12px;font-weight:400;display:flex}.equipment-tile strong{overflow-wrap:anywhere;font-size:12px}.equipment-tile>span:not(.status-badge){color:var(--muted);font-size:11px}.equipment-picture{background:#eef3e9;border-radius:8px;place-items:center;width:100%;height:75px;display:grid}.equipment-picture .icon{color:#4d7052;stroke-width:1.1px;width:47px;height:47px}.preventive-list .notice{justify-content:flex-start}.preventive-list .notice>div{min-width:0}.preventive-list strong{font-size:12px;display:block}.preventive-list span{color:var(--muted);font-size:11px;display:block}.preventive-list .icon{color:var(--green);background:#edf5ed;border-radius:8px;width:34px;height:34px;padding:7px}@media (max-width:1100px){.operation-panels{grid-template-columns:1fr 1fr}.equipment-panels{grid-template-columns:1.4fr 1fr}}@media (max-width:760px){.header-actions{flex-direction:column;align-items:stretch;gap:4px}.header-actions button{margin:0;padding:10px;font-size:11px}.header-actions .icon{width:15px;height:15px}.operation-panels,.equipment-panels{grid-template-columns:1fr}.equipment-panels .card:last-child{margin-top:0}.equipment-cards{grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}.operation-panels .table table{min-width:400px}}.equipment-picture{background:#fafbf7;border-radius:10px;height:120px;overflow:hidden}.equipment-artwork{object-fit:contain;width:100%;height:100%;padding:4px;display:block}.equipment-artwork.compact{width:76px;height:58px;padding:2px}.equipment-tile{background:#fff;border-color:#e1e9de;gap:9px;padding:12px}.equipment-tile strong{font-size:13px;line-height:1.4}.equipment-tile>span:not(.status-badge){font-size:11px}.equipment-identity{background:#fafcf8;border:1px solid #e5ecdf;border-radius:12px;align-items:center;gap:24px;margin-bottom:24px;padding:20px;display:flex}.equipment-identity>.equipment-artwork{flex-shrink:0;width:240px;height:155px;padding:8px}.equipment-identity h3{margin:0 0 8px;font-size:21px}.equipment-identity p{color:#6c7d6f;margin:6px 0 12px;font-size:13px}.illustration-caption{color:#7d8e7e!important;margin-top:10px!important;font-size:10px!important}.status-badge{white-space:nowrap;border:1px solid #0000;align-items:center;gap:6px;padding:5px 9px;font-size:10px;font-weight:600;line-height:1.2;display:inline-flex}.status-dot{background:currentColor;border-radius:50%;flex-shrink:0;width:5px;height:5px}.priority-critica{color:#b7443b;background:#fff0ef;border-color:#f0d0cc}.priority-alta{color:#a76c24;background:#fff4e5;border-color:#f3dfbe}.priority-media{color:#92731d;background:#fff9df;border-color:#eee3b2}.priority-baja{color:#527f3e;background:#edf5e9;border-color:#d8e8cc}.priority-programado{color:#557080;background:#edf3f7}.state-operativo,.state-cerrado,.state-recibido,.state-aprobado{color:#4d7d3e;background:#edf6e9;border-color:#dbe8cf}.state-fuera_servicio,.state-rechazado{color:#a9473e;background:#fff0ef;border-color:#f0d4cf}.state-mantenimiento,.state-reparacion,.state-esperando_refacciones{color:#9d712e;background:#fff5e5;border-color:#efdfbf}.state-diagnostico,.state-reportado,.state-asignado,.state-verificacion,.state-solicitado,.state-comprado{color:#5b7962;background:#eef3ef;border-color:#dce8de}.state-cancelado{color:#7b807a;background:#f0f1f0}.priority-summary{flex-wrap:wrap;align-items:center;gap:12px;margin:-3px 0 16px;display:flex}.priority-summary>span{align-items:center;gap:6px;display:flex}.priority-summary strong{color:#637567;font-size:11px;font-weight:600}.overdue-date{color:#a94d40}.overdue-date small{margin-top:5px;font-size:9px;display:block}.operation-panels .table table{min-width:560px}.operation-panels td,.operation-panels th{padding:13px 10px;font-size:11px}.operation-panels .card{padding:22px}.quick-actions{margin-top:16px}.card h2{font-weight:650}.equipment-cards{gap:12px}.metric:nth-child(3) .icon{color:#aa7540;background:#fff4e4}.metric:nth-child(4) .icon{color:#5c7753;background:#f0f4e9}@media (max-width:760px){.equipment-identity{flex-direction:column;align-items:flex-start;gap:10px;padding:16px}.equipment-identity>.equipment-artwork{width:100%;height:170px}.equipment-picture{height:108px}.equipment-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.equipment-artwork.compact{width:65px;height:52px}.priority-summary{gap:9px}.priority-summary .status-badge{padding:4px 7px;font-size:9px}.operation-panels .card{padding:18px}.equipment-tile strong{font-size:12px}}@media (min-width:761px){.operation-panels .table table{min-width:510px}.operation-panels td,.operation-panels th{padding:12px 8px}}
