@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Oswald:wght@500;600;700&display=swap');
:root{--bg:#f3f5f7;--ink:#18212a;--muted:#6d7782;--dark:#111820;--dark2:#18222c;--line:#e3e7ea;--red:#d8342e;--red2:#aa211e;--amber:#e49b19;--green:#2b9958;--white:#fff;--shadow:0 10px 30px rgba(22,31,41,.07)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,Arial,sans-serif;color:var(--ink);background:var(--bg)}a{text-decoration:none;color:inherit}.eyebrow{text-transform:uppercase;letter-spacing:.11em;font-size:10px;font-weight:800;color:#87919b;margin:0 0 5px}.eyebrow.red{color:var(--red)}.muted{color:var(--muted)}.brand-mark{width:68px;height:68px;border-radius:18px;background:linear-gradient(145deg,#e3463f,#a91818);display:grid;place-items:center;font:700 36px Oswald;color:#fff;box-shadow:0 12px 28px #8c141448}.brand-mark.small{width:42px;height:42px;border-radius:11px;font-size:23px}.login-body{background:#0e151d}.login-shell{min-height:100vh;display:grid;grid-template-columns:1.15fr .85fr}.login-brand{position:relative;overflow:hidden;color:white;padding:9vw;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(circle at 20% 20%,#9d231f55 0,transparent 35%),linear-gradient(140deg,#131d27,#080d12)}.login-brand:after{content:"";position:absolute;width:560px;height:560px;border:1px solid #ffffff10;border-radius:50%;right:-170px;bottom:-240px;box-shadow:0 0 0 80px #ffffff05,0 0 0 160px #ffffff03}.login-brand h1{font:700 clamp(42px,6vw,78px) Oswald;margin:22px 0 8px;letter-spacing:.02em}.login-brand h1 span{color:#e13a33}.login-brand>p:not(.eyebrow){color:#afbac4;font-size:17px;max-width:480px;line-height:1.7}.security-note{margin-top:40px;color:#7fd19b;font-size:13px}.login-card{background:#fff;padding:10vw;display:flex;flex-direction:column;justify-content:center}.login-card h2{font:600 34px Oswald;margin:4px 0}.login-card form{margin-top:25px}.login-card label{display:block;font-size:12px;font-weight:700;margin:18px 0;color:#34404b}.login-card input{display:block;width:100%;margin-top:8px;border:1px solid #d9dee3;border-radius:8px;padding:14px 15px;font:inherit;outline:0}.login-card input:focus{border-color:var(--red);box-shadow:0 0 0 3px #d8342e15}.mobile-brand{display:none;align-items:center;gap:12px;margin-bottom:40px}.btn{border:0;border-radius:7px;padding:12px 17px;font:700 12px Inter;text-transform:uppercase;letter-spacing:.02em;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:10px}.btn.primary{color:#fff;background:linear-gradient(135deg,#e43d36,#bd251f);box-shadow:0 7px 18px #c42b2533}.btn.outline{background:white;border:1px solid #d8dde1;color:#2b3540}.btn.wide{width:100%;margin-top:10px;justify-content:space-between;padding:15px 18px}.login-help{text-align:center;color:#8b949d;font-size:11px;margin-top:28px}.alert{background:#fff0ef;color:#a7221d;border:1px solid #f3cbc8;border-radius:7px;padding:12px;margin-top:15px;font-size:13px}.app-layout{display:grid;grid-template-columns:235px 1fr;min-height:100vh}.sidebar{background:linear-gradient(180deg,#141d26,#0d141b);color:#d4dbe1;position:fixed;width:235px;height:100vh;display:flex;flex-direction:column;z-index:20}.logo{height:82px;padding:19px 18px;display:flex;gap:11px;align-items:center;border-bottom:1px solid #ffffff10}.logo b{font:600 18px Oswald;color:white}.logo small{font-size:8px;display:block;color:#7f8b96;margin-top:3px;letter-spacing:.12em}.sidebar nav{padding:15px 10px}.sidebar nav a{display:flex;align-items:center;gap:13px;padding:12px 14px;font-size:12px;border-radius:6px;margin:3px 0}.sidebar nav a i{width:18px;text-align:center;font-style:normal;color:#aab3bc}.sidebar nav a:hover,.sidebar nav a.active{background:linear-gradient(90deg,#cf322d,#a92621);color:#fff}.sidebar nav a.active i{color:#fff}.sidebar-foot{margin:auto 16px 18px;border-top:1px solid #ffffff10;padding-top:16px;display:flex;gap:10px;align-items:center}.sidebar-foot b,.sidebar-foot small{font-size:10px;display:block}.sidebar-foot small{color:#77838e;margin-top:3px}.status-dot{width:9px;height:9px;border-radius:50%;background:#32b867;box-shadow:0 0 0 5px #32b86718}.main{grid-column:2;min-width:0}.main header{height:82px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 28px;position:sticky;top:0;z-index:10}.main header h1{font:600 25px Oswald;margin:0}.main header .eyebrow{margin-bottom:1px}.menu{display:none;background:none;border:0;font-size:22px;margin-right:12px}.header-actions{margin-left:auto;display:flex;align-items:center;gap:16px}.icon-btn{position:relative;width:39px;height:39px;border-radius:50%;border:1px solid var(--line);background:white}.badge{position:absolute;right:-2px;top:-2px;background:var(--red);color:#fff;border:2px solid white;border-radius:10px;font-size:8px;padding:1px 4px}.operator{display:flex;align-items:center;gap:9px}.avatar{width:36px;height:36px;border-radius:50%;background:#2a3540;color:#fff;display:grid;place-items:center;font-weight:700}.operator b,.operator small{display:block;font-size:11px}.operator small{color:#89939c;margin-top:2px}.logout{color:#8f98a0}.welcome{padding:27px 28px 18px;display:flex;align-items:flex-end}.welcome p{margin:0 0 3px;color:#77828c;font-size:12px;text-transform:capitalize}.welcome h2{font:600 23px Oswald;margin:0}.quick-actions{margin-left:auto;display:flex;gap:9px}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:0 28px 18px}.stat{position:relative;overflow:hidden;color:white;border-radius:9px;padding:20px;display:flex;align-items:center;gap:16px;min-height:112px;box-shadow:var(--shadow)}.stat:after{content:"";position:absolute;width:150px;height:150px;border:25px solid #ffffff0a;border-radius:50%;right:-65px;bottom:-95px}.stat.red{background:linear-gradient(135deg,#db3a33,#a9211c)}.stat.amber{background:linear-gradient(135deg,#eda51f,#bc7011)}.stat.green{background:linear-gradient(135deg,#35a963,#207944)}.stat-icon{width:44px;height:44px;border-radius:10px;background:#ffffff18;display:grid;place-items:center;font-size:21px}.stat span,.stat small{display:block}.stat span{font-size:10px;text-transform:uppercase;font-weight:700}.stat strong{display:block;font:600 32px Oswald;margin:1px 0}.stat small{font-size:9px;color:#ffffffbd}.stat>b{margin-left:auto}.dashboard-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:16px;padding:0 28px 25px}.panel{background:#fff;border:1px solid var(--line);border-radius:9px;box-shadow:var(--shadow);overflow:hidden}.panel-head{height:74px;padding:17px 19px;border-bottom:1px solid var(--line);display:flex;align-items:center}.panel-head h3{font:600 17px Oswald;margin:0}.panel-head>a,.panel-head>span{margin-left:auto;font-size:10px;color:var(--red);font-weight:700}.live{color:#299458!important}.emergency-list{padding:8px 16px}.emergency-row{display:flex;align-items:center;gap:12px;padding:13px 3px;border-bottom:1px solid #edf0f2}.emergency-row:last-child{border:0}.em-icon{width:35px;height:35px;border-radius:8px;display:grid;place-items:center;color:white}.em-icon.danger{background:#db3831}.em-icon.warning{background:#e69d1b}.emergency-row div:nth-child(2){min-width:0}.emergency-row b,.emergency-row span{display:block}.emergency-row div:nth-child(2) b{font-size:11px;text-transform:uppercase}.emergency-row div:nth-child(2) span{font-size:9px;color:#7d8790;margin-top:5px}.em-time{margin-left:auto;text-align:right}.em-time b{font-size:11px;color:#313b44}.em-time span{font-size:8px;text-transform:uppercase;color:var(--red);margin-top:4px}.empty{padding:25px;color:var(--muted);font-size:12px}.map{height:243px;background:#dce1df;position:relative;overflow:hidden}.map:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(25deg,transparent 0 32px,#c2c9c7 33px 35px),repeating-linear-gradient(115deg,transparent 0 50px,#eef1ef 51px 57px);opacity:.85}.street{position:absolute;background:#f9faf8;box-shadow:0 0 0 1px #c9cecc;z-index:1}.s1{width:130%;height:12px;left:-15%;top:44%;transform:rotate(-11deg)}.s2{height:130%;width:10px;left:62%;top:-15%;transform:rotate(18deg)}.s3{width:90%;height:8px;left:10%;top:74%;transform:rotate(8deg)}.s4{height:100%;width:7px;left:28%;top:0;transform:rotate(-8deg)}.marker{position:absolute;z-index:3;color:#fff;width:30px;height:38px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);display:grid;place-items:center;font-size:11px;font-weight:800;box-shadow:0 4px 8px #0003}.marker::first-line{transform:rotate(45deg)}.m1{background:var(--red);left:59%;top:31%}.m2{background:var(--amber);left:31%;top:62%}.m3{background:var(--green);left:76%;top:66%}.map-label{position:absolute;z-index:2;font-size:8px;color:#606966;background:#ffffffa0;padding:2px 4px}.l1{top:36%;left:16%;transform:rotate(-11deg)}.l2{bottom:16%;left:46%;transform:rotate(8deg)}.map-note{position:absolute;z-index:4;left:12px;bottom:10px;background:#17212bdd;color:#fff;border-radius:5px;padding:7px 9px;font-size:8px}.latest-list{padding:7px 17px}.latest-list>div{display:flex;align-items:center;padding:12px 2px;border-bottom:1px solid #edf0f2}.latest-list>div:last-child{border:0}.history-icon{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:#e9f6ee;color:var(--green);font-size:11px}.latest-list p{margin:0 10px}.latest-list b,.latest-list small{display:block;font-size:10px}.latest-list small{color:#8b949c;margin-top:4px}.latest-list time{margin-left:auto;font-size:9px;color:#8b949c}.month{background:#f0f2f4;color:#68727c!important;padding:5px 7px;border-radius:4px}.chart-wrap{height:185px;position:relative;display:flex;align-items:center;padding:22px}.donut{width:106px;height:106px;border-radius:50%;background:conic-gradient(var(--red) 0 42%,var(--amber) 42% 73%,#354453 73%);position:relative}.donut:after{content:"";position:absolute;inset:18px;border-radius:50%;background:#fff}.chart-total{position:absolute;left:44px;text-align:center;z-index:2}.chart-total strong,.chart-total span{display:block}.chart-total strong{font:600 22px Oswald}.chart-total span{font-size:7px;color:#8a949c}.legend{margin-left:25px;flex:1}.legend p{display:flex;align-items:center;font-size:9px;color:#68737c;border-bottom:1px solid #edf0f2;padding:7px 0;margin:0}.legend i{width:7px;height:7px;border-radius:50%;margin-right:7px}.legend b{margin-left:auto;color:#26313a}.lg-red{background:var(--red)}.lg-amber{background:var(--amber)}.lg-slate{background:#354453}footer{padding:0 28px 24px;font-size:9px;color:#929aa2}footer span{float:right}
@media(max-width:900px){.app-layout{grid-template-columns:1fr}.sidebar{transform:translateX(-100%);transition:.2s}.nav-open .sidebar{transform:none;box-shadow:20px 0 40px #0005}.nav-open:after{content:"";position:fixed;inset:0;background:#0007;z-index:15}.main{grid-column:1}.menu{display:block}.stat-grid{grid-template-columns:1fr}.dashboard-grid{grid-template-columns:1fr}.login-shell{grid-template-columns:1fr}.login-brand{display:none}.login-card{min-height:100vh;padding:8vw}.mobile-brand{display:flex}}
@media(max-width:600px){.main header{height:68px;padding:0 15px}.main header h1{font-size:21px}.operator div{display:none}.welcome{padding:20px 15px 14px;align-items:flex-start;gap:15px}.welcome h2{font-size:19px}.quick-actions{gap:6px}.quick-actions .btn{font-size:9px;padding:10px}.quick-actions .outline{display:none}.stat-grid,.dashboard-grid{padding-left:15px;padding-right:15px}.stat{min-height:96px;padding:15px}.stat strong{font-size:28px}.map{height:260px}.panel-head{height:68px}.login-card{padding:25px}.login-card h2{font-size:29px}footer{padding:0 15px 20px}}
.module-content{padding:28px}.module-title{display:flex;align-items:flex-end;margin-bottom:22px}.module-title h2{font:600 28px Oswald;margin:0}.module-title>div>p:last-child{font-size:12px;color:var(--muted);margin:6px 0 0}.module-title>.btn,.module-title>.quick-actions{margin-left:auto}.mini-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:20px}.mini-stats article{background:#fff;border:1px solid var(--line);border-radius:8px;padding:16px 18px;box-shadow:var(--shadow)}.mini-stats span,.mini-stats b{display:block}.mini-stats span{font-size:9px;text-transform:uppercase;color:#7e8891;font-weight:700}.mini-stats b{font:600 27px Oswald;margin-top:4px}.green-text b{color:var(--green)}.amber-text b{color:var(--amber)}.success{background:#eaf7ef;border:1px solid #c9ead5;color:#227743;padding:12px 15px;border-radius:7px;font-size:12px;margin:0 0 18px}.records-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.record-card{display:flex;background:#fff;border:1px solid var(--line);border-radius:9px;padding:15px;box-shadow:var(--shadow)}.record-photo{width:78px;height:88px;border-radius:8px;background:#e7ebee;overflow:hidden;display:grid;place-items:center;flex:0 0 auto}.record-photo img,.vehicle-image img{width:100%;height:100%;object-fit:cover}.record-photo span{font:600 23px Oswald;color:#65717b}.record-main{padding-left:14px;min-width:0;flex:1}.record-main h3,.vehicle-info h3{font:600 17px Oswald;margin:6px 0 2px}.record-main p,.vehicle-info p{font-size:9px;color:#7b858e;margin:0}.status-pill{display:inline-block;border-radius:20px;background:#eef1f3;color:#68727b;padding:4px 7px;font-size:7px;font-weight:800;text-transform:uppercase;font-style:normal}.status-pill.disponible,.status-pill.operativo{background:#e8f6ed;color:#247a44}.status-pill.en_servicio{background:#fff3db;color:#a76c09}.status-pill.mantenimiento,.status-pill.licencia{background:#fff0d9;color:#9d650b}.status-pill.no_disponible,.status-pill.fuera_servicio,.status-pill.faltante,.status-pill.vencido{background:#fee9e7;color:#b12c26}.record-main dl,.vehicle-info dl{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:13px 0 0;border-top:1px solid #edf0f2;padding-top:10px}.record-main dt,.vehicle-info dt{font-size:7px;color:#969ea5;text-transform:uppercase}.record-main dd,.vehicle-info dd{font-size:9px;font-weight:700;margin:3px 0 0}.vehicle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.vehicle-card{background:#fff;border:1px solid var(--line);border-radius:9px;overflow:hidden;box-shadow:var(--shadow)}.vehicle-image{height:150px;background:linear-gradient(145deg,#202c37,#111920);position:relative;display:grid;place-items:center}.vehicle-image>span{font-size:46px;color:#ffffff25}.vehicle-image>b{position:absolute;left:12px;bottom:10px;background:var(--red);color:white;font:600 14px Oswald;border-radius:4px;padding:4px 8px}.vehicle-info{padding:15px}.drawer{display:none;position:fixed;z-index:100;inset:0;background:#0b1118b8;justify-content:flex-end}.drawer.open{display:flex}.drawer-card{width:min(600px,100%);height:100%;overflow:auto;background:#fff;box-shadow:-20px 0 50px #0004}.drawer-head{padding:22px 24px;border-bottom:1px solid var(--line);display:flex;align-items:center;position:sticky;top:0;background:#fff;z-index:2}.drawer-head h3{font:600 23px Oswald;margin:0}.drawer-head button{margin-left:auto;border:0;background:#edf0f2;width:34px;height:34px;border-radius:50%;font-size:21px}.form-grid{padding:20px 24px;display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-grid label{font-size:10px;font-weight:700;color:#4b5660}.form-grid input,.form-grid select,.form-grid textarea{display:block;width:100%;border:1px solid #d9dee2;border-radius:6px;padding:11px;margin-top:6px;font:12px Inter;background:#fff}.form-grid textarea{min-height:76px;resize:vertical}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{outline:0;border-color:var(--red);box-shadow:0 0 0 3px #d8342e12}.form-grid .span-2{grid-column:span 2}.form-grid .check{display:flex;align-items:center;gap:8px}.form-grid .check input{width:auto;margin:0}.form-actions{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--line);padding-top:17px}.inventory-table{background:#fff;border:1px solid var(--line);border-radius:9px;overflow:hidden;box-shadow:var(--shadow)}.table-head,.table-row{display:grid;grid-template-columns:1fr 1.4fr 1fr .8fr .8fr;gap:15px;align-items:center}.table-head{background:#18222c;color:#fff;padding:12px 16px}.table-head b{font-size:8px;text-transform:uppercase;letter-spacing:.06em}.table-row{padding:13px 16px;border-bottom:1px solid #edf0f2;font-size:10px}.table-row:last-child{border:0}.table-row span strong,.table-row span small{display:block}.table-row span strong{font-size:10px}.table-row span small,.table-row span>strong+*{font-size:8px;color:#89939b;margin-top:3px}
@media(max-width:1000px){.vehicle-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.module-content{padding:18px 15px}.module-title{align-items:flex-start;gap:15px}.module-title h2{font-size:23px}.module-title>div>p:last-child{display:none}.module-title>.btn{font-size:9px;padding:10px;margin-left:auto}.mini-stats{grid-template-columns:repeat(2,1fr)}.records-grid,.vehicle-grid{grid-template-columns:1fr}.table-head{display:none}.table-row{grid-template-columns:1fr 1fr}.table-row span:nth-child(3){display:none}.inventory-table{background:transparent;border:0;box-shadow:none}.table-row{background:#fff;border:1px solid var(--line);border-radius:7px;margin-bottom:8px}.module-title>.quick-actions{display:flex}.module-title>.quick-actions .outline{display:none}.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:span 1}}
.demo-person{background-image:url('/assets/demo/bomberos-demo.png');background-size:auto 200%;background-position:var(--px) var(--py);background-repeat:no-repeat}.demo-vehicle{background-image:url('/assets/demo/unidades-demo.png');background-size:200% auto;background-position:var(--px) var(--py);background-repeat:no-repeat}.card-link{display:block;color:var(--red);font-size:10px;font-weight:800;margin-top:12px;padding-top:10px;border-top:1px solid #edf0f2}.card-link:hover{text-decoration:underline}.drawer-close{margin-left:auto;width:34px;height:34px;border-radius:50%;background:#edf0f2;display:grid;place-items:center;font-size:22px}.profile-hero{display:flex;gap:18px;align-items:center;padding:24px;background:#f5f7f8;border-bottom:1px solid var(--line)}.profile-photo{width:125px;height:145px;border-radius:9px;flex:0 0 auto;background-size:auto 200%}.profile-hero h2{font:600 26px Oswald;margin:8px 0 3px}.profile-hero p{margin:0;color:var(--muted);font-size:12px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);margin:24px;border:1px solid var(--line);border-radius:8px;overflow:hidden}.detail-grid>div{background:#fff;padding:14px}.detail-grid>div.wide{grid-column:span 2}.detail-grid span,.detail-grid b{display:block}.detail-grid span{font-size:9px;text-transform:uppercase;color:#8b949c;font-weight:700;margin-bottom:5px}.detail-grid b{font-size:12px}.vehicle-detail-photo{height:320px;background-color:#e8ecee;background-size:200% auto}.detail-section{padding:0 24px 24px}.detail-section>h3{font:600 19px Oswald;border-bottom:1px solid var(--line);padding-bottom:10px}.detail-item{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;border-bottom:1px solid #edf0f2;padding:11px 0}.detail-item b,.detail-item small{display:block;font-size:11px}.detail-item small{color:#8a949d;margin-top:3px;font-size:9px}.detail-item>strong{font-size:11px}
/* Legibilidad general: un punto más en todas las vistas operativas. */
body{font-size:15px}.eyebrow{font-size:11px}.sidebar nav a{font-size:13px}.sidebar-foot b,.sidebar-foot small{font-size:11px}.main header .operator b,.main header .operator small{font-size:12px}.welcome p{font-size:13px}.stat span{font-size:11px}.stat small{font-size:10px}.panel-head>a,.panel-head>span{font-size:11px}.emergency-row div:nth-child(2) b{font-size:12px}.emergency-row div:nth-child(2) span{font-size:10px}.em-time b{font-size:12px}.em-time span{font-size:9px}.latest-list b,.latest-list small{font-size:11px}.latest-list time{font-size:10px}.legend p{font-size:10px}.module-title>div>p:last-child{font-size:13px}.mini-stats span{font-size:10px}.record-main p,.vehicle-info p{font-size:10px}.record-main dt,.vehicle-info dt{font-size:8px}.record-main dd,.vehicle-info dd{font-size:10px}.status-pill{font-size:8px}.form-grid label{font-size:11px}.form-grid input,.form-grid select,.form-grid textarea{font-size:13px}.table-head b{font-size:9px}.table-row{font-size:11px}.table-row span strong{font-size:11px}.table-row span small{font-size:9px}
@media(max-width:600px){.profile-photo{width:95px;height:115px}.detail-grid{margin:15px}.vehicle-detail-photo{height:190px}.detail-section{padding:0 15px 20px}}
.vehicle-image{height:200px}.demo-vehicle{background-position-x:var(--px)}.demo-vehicle[style*="--py:0%"]{background-position-y:18%}.demo-vehicle[style*="--py:100%"]{background-position-y:82%}
.btn.danger{background:#fff;color:#b52823;border:1px solid #e6b5b2}.record-actions{display:flex;gap:9px;justify-content:flex-end;padding:18px 24px;border-top:1px solid var(--line);background:#fafbfb}.record-actions form{margin:0}.edit-card{max-width:850px;background:#fff;border:1px solid var(--line);border-radius:9px;box-shadow:var(--shadow)}.catalog-panel{background:#fff;border:1px solid var(--line);border-radius:9px;box-shadow:var(--shadow);margin-bottom:18px}.section-heading{display:flex;align-items:center;padding:16px 18px;border-bottom:1px solid var(--line)}.section-heading h3{font:600 19px Oswald;margin:0}.section-heading>span{margin-left:auto;color:var(--muted);font-size:11px}.catalog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}.catalog-grid article{background:#fff;padding:13px;display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center}.element-icon{width:34px;height:34px;border-radius:7px;background:#eef1f3;display:grid;place-items:center;color:var(--red)}.catalog-grid b,.catalog-grid small{display:block;font-size:11px}.catalog-grid small{font-size:9px;color:var(--muted);margin-top:3px}.catalog-grid a,.catalog-grid button,.stock-action button{border:0;background:none;color:var(--red);font:700 9px Inter;cursor:pointer;padding:3px}.catalog-grid form{grid-column:3}.catalog-grid form button{color:#8b949c}.stock-action{display:flex!important;align-items:center;gap:8px}.stock-action form{margin:0}
@media(max-width:800px){.catalog-grid{grid-template-columns:1fr}.record-actions{position:sticky;bottom:0}.edit-card .form-grid{grid-template-columns:1fr}.edit-card .span-2{grid-column:span 1}}
.flow-header{display:flex;align-items:center;margin-bottom:18px;min-height:42px}.flow-header>a{font-size:11px;color:var(--muted);font-weight:700}.flow-steps{display:flex;align-items:center;margin:auto}.flow-steps span{display:flex;align-items:center;gap:7px;color:#8a949c;font-size:10px;font-weight:700;text-transform:uppercase}.flow-steps span b{width:25px;height:25px;border-radius:50%;background:#e5e9ec;display:grid;place-items:center;color:#68737c}.flow-steps span.active{color:var(--red)}.flow-steps span.active b{background:var(--red);color:#fff;box-shadow:0 0 0 5px #d8342e16}.flow-steps span.done{color:var(--green)}.flow-steps span.done b{background:var(--green);color:#fff}.flow-steps i{width:55px;height:1px;background:#dce1e4;margin:0 9px}.secure-label{font-size:10px;color:var(--green);font-weight:700}.call-hero{background:linear-gradient(130deg,#161f29,#263542);color:#fff;border-radius:11px;padding:25px 28px;display:flex;align-items:center;margin-bottom:17px;position:relative;overflow:hidden}.call-hero:after{content:"";width:220px;height:220px;border:40px solid #ffffff08;border-radius:50%;position:absolute;right:-70px;top:-90px}.eyebrow.light{color:#a8b2bb}.call-hero h2{font:600 31px Oswald;margin:0}.call-hero p:last-child{font-size:11px;color:#b8c1c9;margin:6px 0 0}.call-time{margin-left:auto;text-align:right;z-index:1}.call-time span,.call-time small{display:block;font-size:9px;color:#aeb9c2}.call-time b{display:block;font:600 29px Oswald;margin:1px 0}.emergency-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:17px;align-items:start}.form-column{display:grid;gap:14px}.form-section{background:#fff;border:1px solid var(--line);border-radius:10px;padding:22px;box-shadow:var(--shadow);position:relative}.section-number{position:absolute;right:20px;top:16px;font:700 34px Oswald;color:#edf0f2}.section-title h3{font:600 20px Oswald;margin:0}.section-title p{font-size:10px;color:var(--muted);margin:4px 0 18px}.type-options{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.type-options input{display:none}.type-options span{border:1px solid #dfe4e7;border-radius:8px;padding:13px;display:block;cursor:pointer;transition:.18s;min-height:94px}.type-options i{width:27px;height:27px;border-radius:6px;background:#eef1f3;display:grid;place-items:center;font-style:normal;color:#64717b}.type-options b,.type-options small{display:block}.type-options b{font-size:10px;margin-top:8px}.type-options small{font-size:8px;color:#8a949c;margin-top:3px}.type-options input:checked+span{border-color:var(--red);background:#fff7f6;box-shadow:0 0 0 2px #d8342e16}.type-options input:checked+span i{background:var(--red);color:#fff}.priority-row{display:flex;align-items:center;gap:7px;border-top:1px solid var(--line);margin-top:18px;padding-top:16px}.priority-row>span{font-size:10px;font-weight:700;margin-right:auto}.priority-row input{display:none}.priority-row label b{display:block;border:1px solid #dfe3e6;border-radius:5px;padding:8px 13px;font-size:9px;cursor:pointer}.priority-row label:has(input:checked) b{background:#26333e;color:#fff;border-color:#26333e}.priority-row label:has(input[value=alta]:checked) b,.priority-row label:has(input[value=critica]:checked) b{background:var(--red);border-color:var(--red)}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field-grid label{font-size:10px;font-weight:700;color:#515c65}.field-grid label.wide{grid-column:span 2}.field-grid input,.field-grid textarea{display:block;width:100%;border:1px solid #dce1e4;border-radius:7px;padding:12px;margin-top:6px;font:12px Inter;resize:vertical}.field-grid input:focus,.field-grid textarea:focus{outline:0;border-color:var(--red);box-shadow:0 0 0 3px #d8342e10}.location-box{border:1px dashed #cfd6da;border-radius:8px;padding:12px;margin-top:12px;display:flex;align-items:center;gap:11px;background:#fafbfb}.radar{width:38px;height:38px;border-radius:50%;background:#eaf0f3;display:grid;place-items:center;color:#566674;position:relative}.radar i{position:absolute;inset:7px;border:1px solid #aebbc4;border-radius:50%}.location-box b,.location-box p{display:block;margin:0}.location-box b{font-size:10px}.location-box p{font-size:8px;color:#8b949c;margin-top:3px}.location-box button{margin-left:auto;border:0;background:#e9edf0;border-radius:5px;padding:8px 10px;font:700 9px Inter}.location-box.located{border-color:var(--green);background:#f2faf5}.call-summary{background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);padding:20px;position:sticky;top:102px}.call-summary h3{font:600 20px Oswald;margin:0}.summary-empty{text-align:center;background:#f5f7f8;border-radius:7px;padding:18px;margin:15px 0}.summary-empty span{font-size:23px;color:#98a2aa}.summary-empty b,.summary-empty p{display:block}.summary-empty b{font-size:10px;margin-top:5px}.summary-empty p{font-size:8px;color:#8a949c;margin:3px 0}.call-summary ul{list-style:none;padding:0;margin:0 0 15px}.call-summary li{padding:10px 0;border-bottom:1px solid #edf0f2}.call-summary li span,.call-summary li b{display:block}.call-summary li span{font-size:8px;text-transform:uppercase;color:#939ca4}.call-summary li b{font-size:10px;margin-top:3px;text-transform:capitalize}.call-summary>small{display:block;text-align:center;color:#8c969e;font-size:8px;margin-top:10px}.dispatch-alert{display:flex;align-items:center;border-radius:10px;padding:18px 20px;color:#fff;margin-bottom:16px;background:linear-gradient(125deg,#d63a33,#a8201b);box-shadow:0 9px 24px #bd2b2540}.dispatch-alert.media{background:linear-gradient(125deg,#dc921b,#b66d0f)}.dispatch-alert.baja{background:linear-gradient(125deg,#348c5a,#236a42)}.dispatch-symbol{width:48px;height:48px;border-radius:10px;background:#ffffff18;display:grid;place-items:center;font-size:22px;margin-right:14px}.dispatch-alert p{font-size:8px;font-weight:800;letter-spacing:.08em;margin:0}.dispatch-alert h2{font:600 24px Oswald;margin:3px 0}.dispatch-alert span{font-size:10px;color:#ffffffce}.dispatch-alert time{margin-left:auto;text-align:right}.dispatch-alert time b,.dispatch-alert time small{display:block}.dispatch-alert time b{font:600 25px Oswald}.dispatch-alert time small{font-size:8px;color:#ffffffc0}.dispatch-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:16px;align-items:start}.dispatch-layout>div{display:grid;gap:15px}.selection-panel{background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);overflow:hidden}.selection-head{padding:16px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center}.selection-head>div{display:flex;align-items:center;gap:10px}.selection-head h3{font:600 18px Oswald;margin:0}.selection-head>b{margin-left:auto;background:#f0f2f4;border-radius:15px;padding:6px 9px;font-size:8px}.step-icon{width:35px;height:35px;border-radius:8px;background:#fff0ef;color:var(--red);display:grid;place-items:center}.selection-list{padding:9px 15px}.select-card{position:relative;display:flex;align-items:center;gap:11px;padding:11px 4px;border-bottom:1px solid #edf0f2;cursor:pointer}.select-card>input,.crew-card>input{display:none}.checkmark{width:21px;height:21px;border:1px solid #cad1d6;border-radius:5px;display:grid;place-items:center;color:transparent}.select-card:has(input:checked) .checkmark,.crew-card:has(input:checked) .checkmark{background:var(--red);border-color:var(--red);color:#fff}.unit-mini{width:45px;height:34px;border-radius:5px;background:#e9edf0;display:grid;place-items:center}.select-card b,.select-card small{display:block}.select-card b{font-size:10px}.select-card small{font-size:8px;color:#87919a;margin-top:3px}.availability{margin-left:auto;font-style:normal;color:var(--green);background:#e9f6ee;border-radius:12px;padding:5px 8px;font-size:7px;font-weight:800;text-transform:uppercase}.crew-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:14px}.crew-card{display:grid;grid-template-columns:auto 48px 1fr;gap:9px;align-items:center;border:1px solid #e0e4e7;border-radius:8px;padding:10px;cursor:pointer}.crew-card:has(input:checked){border-color:var(--red);background:#fff8f7}.crew-photo{width:46px;height:51px;border-radius:6px}.crew-card b,.crew-card small{display:block}.crew-card b{font-size:9px}.crew-card small{font-size:7px;color:#87919a;margin:2px 0 5px}.crew-card select{width:100%;border:1px solid #dfe3e6;border-radius:4px;padding:5px;font-size:8px;background:#fff}.dispatch-summary{background:linear-gradient(160deg,#18232d,#0f171e);color:#fff;border-radius:10px;padding:20px;position:sticky;top:100px;box-shadow:0 15px 35px #10182033}.dispatch-summary h3{font:600 21px Oswald;margin:0 0 16px}.dispatch-metric{display:inline-flex;align-items:center;gap:10px;width:48%;padding:11px;background:#ffffff0b;border:1px solid #ffffff10}.dispatch-metric>span{font-size:19px;color:#d8423b}.dispatch-metric b,.dispatch-metric small{display:block}.dispatch-metric b{font:600 23px Oswald}.dispatch-metric small{font-size:7px;color:#91a0ac}.dispatch-route{margin:17px 0;border-left:2px solid #43505b;padding-left:15px;position:relative}.dispatch-route span,.dispatch-route b{display:block}.dispatch-route span{font-size:7px;color:#8796a2;text-transform:uppercase}.dispatch-route b{font-size:9px;margin:3px 0 13px}.dispatch-button{width:100%;border:0;border-radius:7px;background:linear-gradient(135deg,#df3b34,#b9221d);color:#fff;padding:14px;display:flex;align-items:center;gap:11px;cursor:pointer;box-shadow:0 8px 20px #bd282344}.dispatch-button>span{font-size:23px}.dispatch-button b,.dispatch-button small{display:block;text-align:left}.dispatch-button b{font-size:11px}.dispatch-button small{font-size:7px;color:#ffffffbd;margin-top:2px}.dispatch-warning{font-size:8px;color:#8796a2;line-height:1.5;text-align:center}.empty-selection{padding:25px;text-align:center;color:var(--muted);font-size:10px}.emergency-board{background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow)}.board-tabs{padding:12px 16px;border-bottom:1px solid var(--line)}.board-tabs button{border:0;background:none;padding:8px 13px;font:700 10px Inter;color:#7a858e}.board-tabs button.active{color:var(--red);background:#fff0ef;border-radius:5px}.board-card{display:grid;grid-template-columns:5px 40px 1fr 150px 80px 150px;gap:13px;align-items:center;padding:14px 16px;border-bottom:1px solid #edf0f2}.priority-stripe{height:54px;border-radius:4px;background:#9da6ad}.priority-stripe.alta,.priority-stripe.critica{background:var(--red)}.priority-stripe.media{background:var(--amber)}.priority-stripe.baja{background:var(--green)}.board-icon{width:38px;height:38px;border-radius:8px;background:#fff0ef;color:var(--red);display:grid;place-items:center}.board-main>div{display:flex;align-items:center;gap:7px}.board-main h3{font:600 15px Oswald;margin:5px 0 2px}.board-main p,.board-main small{font-size:8px;color:#838e97;margin:0}.board-resources{display:flex;gap:13px}.board-resources span{font-size:8px;color:#87919a}.board-resources b{font-size:11px;color:#26313b}.board-card time b,.board-card time small{display:block}.board-card time b{font:600 16px Oswald}.board-card time small{font-size:8px;color:#8a949c}.board-action{text-align:right}.board-action .btn{font-size:8px;padding:9px}.dispatch-success{display:flex;gap:11px;align-items:center;background:#e9f7ef;border:1px solid #c6ead3;color:#237745;border-radius:8px;padding:12px 15px;margin-bottom:15px}.dispatch-success>span{width:30px;height:30px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center}.dispatch-success b,.dispatch-success p{display:block;margin:0}.dispatch-success b{font-size:11px}.dispatch-success p{font-size:9px;margin-top:2px}.incident-hero{background:linear-gradient(130deg,#1a2630,#0e171e);border-radius:11px;color:#fff;padding:24px 27px;display:flex;align-items:center;margin-bottom:16px;border-left:6px solid var(--amber)}.incident-hero.alta,.incident-hero.critica{border-color:var(--red)}.incident-hero.baja{border-color:var(--green)}.incident-hero p{font-size:8px;letter-spacing:.08em;color:#e15a54;font-weight:800}.incident-hero h2{font:600 27px Oswald;margin:4px 0}.incident-hero span{font-size:10px;color:#b7c1c9}.incident-status{margin-left:auto;text-align:right}.incident-status i{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 6px #e49b1920}.incident-status span,.incident-status b{display:block;text-transform:capitalize}.incident-status span{font-size:8px;color:#91a0ab;margin-top:8px}.incident-status b{font:600 17px Oswald}.incident-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:16px}.incident-grid>div{display:grid;gap:16px}.incident-panel{background:#fff;border:1px solid var(--line);border-radius:9px;box-shadow:var(--shadow)}.timeline{display:flex;padding:25px 20px}.timeline>div{flex:1;position:relative;text-align:center}.timeline>div:before{content:"";height:2px;background:#e2e6e9;position:absolute;left:0;right:0;top:14px}.timeline>div:first-child:before{left:50%}.timeline>div:last-child:before{right:50%}.timeline i{position:relative;width:29px;height:29px;border-radius:50%;background:#e6eaed;color:#84909a;display:grid;place-items:center;margin:auto;font-style:normal;font-size:9px;font-weight:800}.timeline .complete i{background:var(--green);color:#fff}.timeline .current i{background:var(--amber);color:#fff}.timeline b,.timeline span{display:block}.timeline b{font-size:9px;margin-top:9px}.timeline span{font-size:8px;color:#89939c;margin-top:3px}.incident-data{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line)}.incident-data>div{background:#fff;padding:13px 18px}.incident-data .wide{grid-column:span 2}.incident-data span,.incident-data b{display:block}.incident-data span{font-size:8px;color:#8a949c;text-transform:uppercase}.incident-data b{font-size:10px;margin-top:4px}.resources h4{font-size:8px;text-transform:uppercase;color:#87919a;padding:12px 17px;margin:0;background:#f6f7f8}.resource-row{display:flex;align-items:center;gap:10px;padding:10px 15px;border-bottom:1px solid #edf0f2}.resource-icon,.resource-avatar{width:34px;height:36px;border-radius:6px;background-color:#e9edf0;display:grid;place-items:center}.resource-row b,.resource-row small{display:block}.resource-row b{font-size:9px}.resource-row small{font-size:7px;color:#87919a;margin-top:2px}.resource-row>i{margin-left:auto;color:var(--green);font-style:normal;font-size:7px;text-transform:uppercase;font-weight:800}.next-stage{background:#fff8e9;border:1px solid #f0dbaf;border-radius:8px;padding:14px;margin-top:14px}.next-stage span,.next-stage b,.next-stage p{display:block}.next-stage span{font-size:7px;color:#a67921;text-transform:uppercase}.next-stage b{font:600 16px Oswald;margin-top:3px}.next-stage p{font-size:8px;color:#866c3c;margin:4px 0 0}
@media(max-width:1000px){.emergency-layout,.dispatch-layout,.incident-grid{grid-template-columns:1fr}.call-summary,.dispatch-summary{position:static}.type-options{grid-template-columns:repeat(2,1fr)}.board-card{grid-template-columns:5px 40px 1fr 90px 130px}.board-resources{display:none}}
@media(max-width:650px){.flow-header{align-items:flex-start}.flow-steps span{font-size:0}.flow-steps i{width:20px}.secure-label{display:none}.call-hero{padding:20px}.call-hero h2{font-size:26px}.emergency-layout{display:block}.form-column{margin-bottom:14px}.type-options{grid-template-columns:1fr 1fr}.priority-row{flex-wrap:wrap}.priority-row>span{width:100%}.field-grid{grid-template-columns:1fr}.field-grid label.wide{grid-column:span 1}.crew-grid{grid-template-columns:1fr}.board-card{grid-template-columns:5px 35px 1fr 105px}.board-card time{display:none}.board-action .btn{white-space:normal}.timeline{display:grid;grid-template-columns:1fr 1fr;gap:18px}.timeline>div:before{display:none}.incident-data{grid-template-columns:1fr}.incident-data .wide{grid-column:span 1}}
.address-search{display:flex;margin-top:6px}.address-search input{margin:0!important;border-radius:7px 0 0 7px!important}.address-search button{border:0;background:#27343f;color:#fff;border-radius:0 7px 7px 0;padding:0 15px;font:700 10px Inter;white-space:nowrap}.address-search button:disabled{opacity:.65}.incident-map{height:340px;border-radius:9px;margin-top:13px;border:1px solid #d8dee2;overflow:hidden;z-index:1}.map-results{display:grid;gap:5px;margin-top:10px}.map-results>button{border:1px solid #dce1e4;background:#fff;border-radius:6px;padding:10px 12px;text-align:left;cursor:pointer}.map-results>button:hover{border-color:var(--red);background:#fff8f7}.map-results b,.map-results span{display:block}.map-results b{font-size:11px}.map-results span{font-size:9px;color:#7e8992;margin-top:3px}.map-message{background:#fff5df;color:#875e15;border-radius:6px;padding:10px;font-size:10px}.map-confirmation{display:flex;align-items:center;gap:10px;border:1px solid #dce1e4;background:#f7f8f9;border-radius:7px;padding:11px 13px;margin-top:9px}.map-confirmation>span{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:#e8ecef}.map-confirmation b,.map-confirmation p{display:block;margin:0}.map-confirmation b{font-size:11px}.map-confirmation p{font-size:9px;color:#7f8a93;margin-top:2px}.map-confirmation.confirmed{border-color:#9dd5b2;background:#eff9f3}.map-confirmation.confirmed>span{background:var(--green);color:#fff}.map-confirmation.required-map{border-color:var(--red);box-shadow:0 0 0 3px #d8342e15}
/* Tipografía ampliada para todo el circuito operativo. */
.flow-header>a,.flow-steps span,.secure-label{font-size:12px}.call-hero p:last-child{font-size:12px}.call-time span,.call-time small{font-size:10px}.section-title p{font-size:11px}.type-options b{font-size:11px}.type-options small{font-size:9px}.priority-row>span{font-size:11px}.priority-row label b{font-size:10px}.field-grid label{font-size:11px}.field-grid input,.field-grid textarea{font-size:13px}.call-summary li span{font-size:9px}.call-summary li b{font-size:11px}.call-summary>small,.summary-empty p{font-size:9px}.summary-empty b{font-size:11px}.dispatch-alert p{font-size:9px}.dispatch-alert span{font-size:11px}.dispatch-alert time small{font-size:9px}.selection-head>b{font-size:9px}.select-card b{font-size:11px}.select-card small{font-size:9px}.availability{font-size:8px}.crew-card b{font-size:10px}.crew-card small{font-size:8px}.crew-card select{font-size:9px}.dispatch-metric small{font-size:8px}.dispatch-route span{font-size:8px}.dispatch-route b{font-size:10px}.dispatch-button b{font-size:12px}.dispatch-button small{font-size:8px}.dispatch-warning{font-size:9px}.board-tabs button{font-size:11px}.board-main h3{font-size:16px}.board-main p,.board-main small{font-size:9px}.board-resources span{font-size:9px}.board-card time small{font-size:9px}.board-action .btn{font-size:9px}.incident-hero p{font-size:9px}.incident-hero span{font-size:11px}.incident-status span{font-size:9px}.timeline b{font-size:10px}.timeline span{font-size:9px}.incident-data span{font-size:9px}.incident-data b{font-size:11px}.resources h4{font-size:9px}.resource-row b{font-size:10px}.resource-row small,.resource-row>i{font-size:8px}.next-stage span{font-size:8px}.next-stage p{font-size:9px}
.select-card.unavailable,.crew-card.unavailable{opacity:.58;background:#f3f5f6;cursor:not-allowed}.select-card.unavailable .availability{color:#a62a25;background:#fde9e7;max-width:150px;text-align:center}.crew-card.unavailable select{background:#e6eaed}.busy-note{display:block;color:#b12c26;font-style:normal;font-size:8px;font-weight:800;text-transform:uppercase;margin-top:5px}.board-action form{margin-top:5px}.link-danger{border:0;background:none;color:#b52b25;font:700 9px Inter;cursor:pointer}.incident-cancel{display:flex;align-items:center;gap:15px;background:#fff;border:1px solid #e8c5c2;border-radius:8px;padding:14px 16px;margin-top:16px}.incident-cancel div{flex:1}.incident-cancel b,.incident-cancel span{display:block}.incident-cancel b{font-size:11px}.incident-cancel span{font-size:9px;color:#7e8992;margin-top:3px}.incident-cancel form{margin:0}
.station-badge{display:table;width:max-content;margin:0 0 7px;padding:5px 9px;border-radius:999px;background:#eaf0f5;color:#354c61;font-size:10px;font-weight:800;line-height:1;text-transform:uppercase;letter-spacing:.04em;border:1px solid #d6e0e8}.station-badge.prominent{margin:12px 0 8px;background:#fff1dd;color:#9a5c00;border-color:#f2d7a9}.select-card .station-badge,.crew-card .station-badge{margin-bottom:5px;font-size:9px;padding:4px 7px;background:#fff3e2;color:#925800;border-color:#f0d6ae}.vehicle-info>.station-badge,.record-main .station-badge{background:#eef3f7;color:#314b61}
