:root{
  --green:#075b45;
  --green-2:#0a7457;
  --green-3:#0f8a67;
  --green-soft:#eaf6f1;
  --green-soft-2:#f2faf6;
  --line:#d7e3de;
  --line-2:#e8efec;
  --bg:#eef3f1;
  --card:#ffffff;
  --text:#18382f;
  --muted:#687b75;
  --muted-2:#8b9a95;
  --red:#e12d3b;
  --orange:#e98a38;
  --yellow:#e0b72c;
  --blue:#2b6f9d;
  --shadow:0 12px 34px rgba(20,63,49,.08);
  --shadow-soft:0 5px 18px rgba(20,63,49,.05);
  --radius:16px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{touch-action:manipulation}

/* ===== App header ===== */
.topbar{min-height:74px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:24px;padding:10px 24px;position:sticky;top:0;z-index:1200;box-shadow:0 4px 18px rgba(16,55,43,.04)}
.brand{display:flex;align-items:center;gap:11px;min-width:355px}
.brand-mark{position:relative;width:50px;height:50px;border-radius:15px;background:linear-gradient(145deg,var(--green-2),var(--green));color:#fff;display:grid;place-items:center;font-size:25px;font-weight:900;box-shadow:0 8px 20px rgba(7,91,69,.18)}
.brand-mark::after{content:"";position:absolute;width:22px;height:2px;background:#fff;opacity:.9;transform:rotate(-45deg)}
.brand b{display:block;font-size:22px;letter-spacing:.055em;color:var(--green);line-height:1.05}
.brand small{display:block;color:var(--muted);font-size:10px;margin-top:4px;white-space:nowrap}
.nav{display:flex;align-items:center;gap:4px;flex:1;min-width:0}
.nav a{padding:9px 11px;border-radius:10px;color:#3f5f55;font-weight:750;font-size:12px;white-space:nowrap}
.nav a:hover{background:var(--green-soft);color:var(--green)}
.system-strip{display:flex;align-items:center;gap:9px;margin-left:auto}
.mode-chip{min-width:112px;display:flex;align-items:center;gap:8px;background:#dff5e9;color:var(--green);border:1px solid #cbe9d9;padding:7px 10px;border-radius:11px}
.mode-dot{width:10px;height:10px;border-radius:50%;background:#18b76f;box-shadow:0 0 0 3px rgba(24,183,111,.12)}
.mode-chip b,.mode-chip small{display:block;line-height:1.1}.mode-chip b{font-size:10px}.mode-chip small{font-size:8px;color:#5b786e;margin-top:2px}
.clock-box{padding:0 10px;border-left:1px solid var(--line);border-right:1px solid var(--line);min-width:78px;text-align:center}
.clock-box b,.clock-box small{display:block}.clock-box b{font-size:14px;color:#1d3931}.clock-box small{font-size:9px;color:var(--muted);margin-top:2px}
.account{display:flex;align-items:center;gap:9px}.account div{text-align:right}.account b,.account small{display:block}.account b{font-size:11px}.account small{color:var(--muted);font-size:9px}

.page{max-width:1920px;margin:0 auto;padding:18px 20px 52px}
.flash-stack{display:grid;gap:8px;margin-bottom:12px}.flash{padding:11px 13px;border-radius:11px;border:1px solid;font-size:12px}.flash-success{background:#e9f8ef;border-color:#bce3ca}.flash-danger{background:#fff0f1;border-color:#f2c4c8}.flash-warning{background:#fff8e2;border-color:#ebd998}

/* ===== Buttons ===== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid transparent;border-radius:10px;padding:9px 13px;font-weight:800;font-size:12px;cursor:pointer;transition:.16s ease;background:#fff;min-height:40px}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--green);color:#fff;box-shadow:0 8px 18px rgba(7,91,69,.15)}
.btn-primary:hover{background:#064c3a}
.btn-light{background:#fff;border-color:var(--line);color:var(--green)}
.btn-soft{background:var(--green-soft);border-color:#d8ebe3;color:var(--green)}
.btn-danger{background:#b42332;color:#fff}.btn-small{padding:7px 9px;font-size:11px;min-height:34px}.btn-block{width:100%}

/* ===== General cards ===== */
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:15px;box-shadow:var(--shadow-soft);margin-bottom:12px}
.panel.narrow{max-width:620px}.panel-title{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--line-2);padding-bottom:10px;margin-bottom:11px;min-height:35px}.panel-title h2{font-size:14px;margin:0;color:#153d32;letter-spacing:.01em}.panel-title .priority,.panel-title .mini-state{margin-left:auto}.panel-title-icon{width:30px;height:30px;border-radius:9px;background:var(--green-soft);color:var(--green);display:grid;place-items:center;font-size:15px}.mini-state{font-size:9px;color:var(--green-2);font-weight:900;letter-spacing:.06em}.subtle{color:var(--muted);font-size:10px}

/* ===== Forms ===== */
label{display:grid;gap:5px;font-size:10px;font-weight:800;color:#456158;min-width:0}
input,select,textarea{width:100%;border:1px solid #ccdcd5;background:#fbfdfc;border-radius:9px;padding:8px 9px;color:#17382e;outline:none;transition:.14s ease;font-size:12px;min-height:38px}
input:focus,select:focus,textarea:focus{border-color:#5ba889;box-shadow:0 0 0 3px rgba(7,91,69,.08);background:#fff}
textarea{min-height:68px;resize:vertical;line-height:1.35}
.field-grid{display:grid;gap:8px;margin-bottom:8px}.field-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.field-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.field-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.field-grid.six{grid-template-columns:repeat(6,minmax(0,1fr))}.coord-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-bottom:9px}

/* ===== Dashboard ===== */
.hero-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:22px}.action-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;display:flex;gap:12px;align-items:center;box-shadow:var(--shadow-soft)}.action-card.primary{background:linear-gradient(145deg,var(--green-2),var(--green));color:#fff}.action-card>span{font-size:26px}.action-card b,.action-card small{display:block}.action-card b{text-transform:uppercase;font-size:12px}.action-card small{margin-top:3px;opacity:.75;font-size:10px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:17px 0 12px}.section-head.compact{margin-top:26px}.section-head span{font-size:9px;color:var(--green-2);letter-spacing:.16em;font-weight:900}.section-head h1,.section-head h2{margin:2px 0 0;color:var(--green);font-size:24px}.section-head p{margin:4px 0;color:var(--muted);font-size:11px}.toolbar{display:flex;gap:7px;flex-wrap:wrap}.mission-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.mission-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;box-shadow:var(--shadow-soft);transition:.15s}.mission-card:hover{transform:translateY(-2px);border-color:#b6d2c6}.mission-card-top{display:flex;justify-content:space-between;gap:8px}.mission-card h3{margin:13px 0 4px;font-size:14px}.mission-card p{margin:0 0 12px;color:var(--muted);font-size:11px}.mission-card dl{margin:0;display:grid;gap:7px}.mission-card dl div{display:flex;justify-content:space-between;gap:9px;border-top:1px solid #edf2ef;padding-top:7px}.mission-card dt{color:var(--muted);font-size:10px}.mission-card dd{margin:0;font-size:10px;text-align:right}.tag,.priority{display:inline-flex;align-items:center;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:900}.tag{background:var(--green-soft);color:var(--green)}.priority-critico{background:#ffe1e4;color:#b5192a}.priority-urgente{background:#ffecd9;color:#a5530c}.priority-prioritario{background:#fff4bf;color:#7b6500}.priority-estable{background:#dff4e8;color:#176a45}

/* ===== Mission form: mockup-inspired operational cockpit ===== */
.mission-form{--map-h:610px}
.mission-form .section-head{margin:4px 0 10px;align-items:center}.mission-form .section-head h1{font-size:20px}.mission-form .section-head p{font-size:10px}.mission-form .section-head .toolbar{align-items:center}
.quick-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px}.quick-action{background:#fff;border:1px solid var(--line);border-radius:12px;min-height:58px;padding:9px 11px;display:flex;align-items:center;gap:9px;box-shadow:var(--shadow-soft)}.quick-action.primary{background:linear-gradient(145deg,#0a7155,#05533e);color:#fff}.quick-action-icon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--green-soft);color:var(--green);font-size:18px;flex:0 0 36px}.quick-action.primary .quick-action-icon{background:rgba(255,255,255,.16);color:#fff}.quick-action b,.quick-action small{display:block}.quick-action b{font-size:11px}.quick-action small{font-size:9px;opacity:.7;margin-top:2px}

.mission-meta{display:grid;grid-template-columns:1.05fr .8fr .8fr .75fr;gap:7px;background:#fff;border:1px solid var(--line);border-radius:13px;padding:9px;margin-bottom:10px;box-shadow:var(--shadow-soft)}.mission-meta label{margin:0}.mission-meta input,.mission-meta select{min-height:36px;padding:7px 8px}

.cockpit-grid{display:grid;grid-template-columns:255px minmax(420px,1.25fr) 315px 410px;grid-template-areas:"left map middle right";gap:10px;align-items:start}.cockpit-left{grid-area:left}.cockpit-map{grid-area:map}.cockpit-middle{grid-area:middle}.cockpit-right{grid-area:right}.cockpit-grid .panel{margin-bottom:10px;padding:12px;border-radius:13px}

.rescue-panel .coord-grid input{font-size:13px;font-weight:750}.gps-primary{min-height:44px;font-size:11px}.gps-utilities{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:7px}.gps-utilities .btn{font-size:9px;padding:7px;min-height:34px}.gps-foot{display:flex;align-items:center;justify-content:space-between;gap:7px;padding-top:8px;margin-top:7px;border-top:1px solid var(--line-2);font-size:9px;color:var(--muted)}

.place-list{display:grid;gap:0}.place-row{display:grid;grid-template-columns:82px minmax(0,1fr);align-items:center;gap:7px;padding:5px 0;border-bottom:1px solid var(--line-2)}.place-row:last-child{border-bottom:0}.place-row span{font-size:9px;color:#5b6e68;font-weight:750}.place-row input{border:0;border-bottom:1px solid #d8e5df;border-radius:0;padding:4px 2px;min-height:28px;background:transparent}.place-row input:focus{box-shadow:none;border-bottom-color:var(--green)}

.map-panel{padding:0!important;overflow:hidden;position:relative}.map-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 10px;border-bottom:1px solid var(--line);background:#fff}.map-switch{display:flex;gap:4px;background:#eff5f2;border-radius:9px;padding:3px}.map-switch button{border:0;background:transparent;border-radius:7px;padding:6px 10px;color:#38564d;font-weight:800;font-size:9px;cursor:pointer}.map-switch button.active{background:var(--green);color:#fff}.map-caption{display:flex;align-items:center;gap:7px;font-size:9px;color:var(--muted)}.map-caption b{color:var(--green)}#rescueMap{height:var(--map-h);min-height:420px;border-radius:0}.map-search{position:absolute;z-index:450;top:56px;left:12px;right:12px;display:flex;gap:6px;pointer-events:none}.map-search input{pointer-events:auto;background:rgba(255,255,255,.96);box-shadow:0 5px 20px rgba(0,0,0,.12);border-color:#e1e8e5;min-height:40px}.map-search button{pointer-events:auto;min-width:42px;border:0;border-radius:9px;background:var(--green);color:white;font-weight:900}.map-coordinate-badge{position:absolute;z-index:450;left:12px;bottom:12px;background:rgba(10,32,26,.86);color:#fff;border-radius:10px;padding:8px 10px;font-size:9px;line-height:1.4;box-shadow:0 5px 18px rgba(0,0,0,.18);backdrop-filter:blur(6px)}.map-coordinate-badge b{display:block;font-size:11px}

.patient-panel .field-grid{margin-bottom:0}.compact-selects{display:grid;grid-template-columns:1fr 1fr;gap:7px}.extraction-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:9px}.extraction-choice{display:block}.extraction-choice input{display:none}.extraction-choice span{min-height:48px;border:1px solid var(--line);border-radius:9px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:5px;text-align:center;color:#35564c;font-size:8px;font-weight:850;cursor:pointer;transition:.15s}.extraction-choice span i{font-style:normal;font-size:16px}.extraction-choice input:checked+span{background:var(--green);color:#fff;border-color:var(--green);box-shadow:0 6px 14px rgba(7,91,69,.18)}

.priority-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin-bottom:9px}.priority-choice{display:block}.priority-choice input{display:none}.priority-choice span{min-height:34px;display:flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid var(--line);font-size:8px;font-weight:900;cursor:pointer}.priority-choice.critico span{background:#fff1f2;color:#be1f2c}.priority-choice.urgente span{background:#fff4e8;color:#a45a19}.priority-choice.prioritario span{background:#fff8cf;color:#725e08}.priority-choice.estable span{background:#e9f8ef;color:#176a45}.priority-choice.critico input:checked+span{background:var(--red);color:#fff;border-color:var(--red)}.priority-choice.urgente input:checked+span{background:var(--orange);color:#fff;border-color:var(--orange)}.priority-choice.prioritario input:checked+span{background:var(--yellow);color:#293107;border-color:var(--yellow)}.priority-choice.estable input:checked+span{background:#51b57d;color:#fff;border-color:#51b57d}

.medical-panel label{font-size:9px}.medical-panel textarea{min-height:54px}.medical-row{display:grid;grid-template-columns:110px minmax(0,1fr);align-items:center;gap:7px;margin-bottom:7px}.medical-row>span{font-size:9px;font-weight:800;color:#4d665d}.medical-row .field-grid{margin:0}.medical-inline{display:grid;grid-template-columns:1fr 1fr;gap:6px}.medical-inline.triple{grid-template-columns:1fr 1fr 1fr}.medical-note{font-size:9px;color:#6b7f78;background:#f5f8f7;border-radius:8px;padding:7px;margin:8px 0 0}

.summary-panel{background:linear-gradient(180deg,#fff,#f8fbfa)}.summary-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line-2);padding-bottom:9px;margin-bottom:8px}.summary-head h2{margin:0;font-size:13px}.generated-chip{font-size:8px;font-weight:850;color:#fff;background:var(--green-2);padding:5px 7px;border-radius:8px}.summary-table{display:grid;gap:0}.summary-row{display:grid;grid-template-columns:83px 1fr;gap:7px;padding:5px 6px;border-bottom:1px solid #e9efec;font-size:9px}.summary-row:nth-child(odd){background:#f6f9f8}.summary-row span{color:#6e807a;font-weight:850}.summary-row b{font-weight:750;word-break:break-word}.summary-actions{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:6px;margin-top:9px}.summary-actions .btn{font-size:8px;padding:7px 5px;min-height:34px}

.secondary-stack{display:grid;grid-template-columns:1.1fr 1fr;gap:10px;margin-top:10px}.secondary-stack details{background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow-soft);overflow:hidden}.secondary-stack summary{cursor:pointer;list-style:none;padding:11px 13px;font-size:11px;font-weight:850;color:#23473c;display:flex;align-items:center;gap:8px}.secondary-stack summary::-webkit-details-marker{display:none}.secondary-stack details[open] summary{border-bottom:1px solid var(--line-2)}.details-body{padding:12px}.details-wide{grid-column:1/-1}

.mission-status-panel{margin-top:10px;padding:11px 14px}.mission-status-panel .panel-title{margin-bottom:8px}.status-track{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}.status-track form{margin:0}.status-step{width:100%;border:0;background:transparent;border-radius:10px;padding:5px 4px;color:#697b75;cursor:pointer;position:relative}.status-step::before{content:"";position:absolute;height:2px;background:#b9c8c2;left:-50%;right:50%;top:17px;z-index:0}.status-track form:first-child .status-step::before{display:none}.status-step span{position:relative;z-index:1;width:25px;height:25px;border-radius:50%;background:#879791;color:white;display:grid;place-items:center;margin:0 auto 5px;font-size:9px}.status-step b{display:block;font-size:8px;line-height:1.2}.status-step small{display:block;font-size:7px;font-weight:600;color:#8a9994;margin-top:2px}.status-step.done{color:var(--green)}.status-step.done::before{background:var(--green)}.status-step.done span{background:var(--green)}

.sticky-save{position:sticky;bottom:10px;z-index:600;display:flex;justify-content:flex-end;pointer-events:none;padding-top:4px}.sticky-save .btn{pointer-events:auto;box-shadow:0 10px 30px rgba(0,0,0,.18);min-width:150px}

/* ===== Detail/list/admin/report ===== */
.detail-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:12px}.detail-grid.three{grid-template-columns:repeat(3,1fr)}.detail-list{margin:0;display:grid;gap:0}.detail-list div{display:grid;grid-template-columns:130px 1fr;padding:7px 0;border-bottom:1px solid #edf2ef}.detail-list dt{font-size:10px;color:var(--muted)}.detail-list dd{margin:0;font-weight:650;font-size:11px}.coordinate-display{display:flex;justify-content:space-between;align-items:center;padding-top:9px}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-soft)}table{border-collapse:collapse;width:100%}th,td{padding:10px 11px;border-bottom:1px solid #edf2ef;text-align:left;white-space:nowrap;font-size:11px}th{font-size:9px;color:#5f756d;text-transform:uppercase;letter-spacing:.08em}.row-actions{display:flex;align-items:center;gap:7px}.reset-form{display:flex;gap:5px}.reset-form input{width:180px;padding:7px 8px}.filters{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.chip{background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 10px;font-size:10px;font-weight:800}.chip.active{background:var(--green);color:white}.empty-state{padding:25px;background:#fff;border:1px dashed #bdcec7;border-radius:14px;color:var(--muted);font-size:11px}
.login-shell{min-height:calc(100vh - 120px);display:grid;place-items:center}.login-card{width:min(430px,94vw);background:#fff;border:1px solid var(--line);border-radius:18px;padding:32px;box-shadow:var(--shadow);text-align:center}.login-symbol{width:62px;height:62px;border-radius:18px;background:linear-gradient(145deg,var(--green-2),var(--green));color:#fff;display:grid;place-items:center;font-size:34px;margin:auto}.login-card h1{color:var(--green);margin:14px 0 4px}.login-card p{color:var(--muted);font-size:12px}.stack-form{display:grid;gap:11px;text-align:left;margin-top:19px}.check{display:flex;align-items:center;gap:8px}.check input{width:auto;min-height:0}
.report-sheet{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px;max-width:1100px;margin:auto}.report-head{display:flex;justify-content:space-between;border-bottom:3px solid var(--green);padding-bottom:13px}.report-head span{color:var(--green);font-weight:900;letter-spacing:.15em}.report-head h1{margin:2px 0}.report-head div:last-child{text-align:right}.report-head small{display:block}.report-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:15px 0}.report-kpis div{background:#f3f7f5;border-radius:10px;padding:10px}.report-kpis span{display:block;font-size:9px;color:var(--muted)}.report-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.report-sheet section{border-top:1px solid #e6eeea;padding-top:10px;margin-top:10px}.report-sheet h2{font-size:13px;color:var(--green)}.report-sheet p{font-size:11px;line-height:1.5}.report-sheet footer{margin-top:18px;font-size:9px;color:var(--muted)}.report-actions{display:flex;justify-content:center;gap:8px;margin:16px;flex-wrap:wrap}.leaflet-container{background:#d9e3df}.leaflet-control-layers{font-size:10px}

/* ===== Laptop 1180–1599: 3-column layout ===== */
@media (min-width:1180px) and (max-width:1599px){
  .topbar{padding:9px 16px;gap:14px}.brand{min-width:285px}.brand b{font-size:18px}.brand small{font-size:8px}.nav a{font-size:10px;padding:8px}.mode-chip{min-width:95px}.clock-box{min-width:68px}
  .page{padding:14px 14px 46px}.mission-form{--map-h:455px}.cockpit-grid{grid-template-columns:235px minmax(400px,1fr) 360px;grid-template-areas:"left map right" "left middle right";gap:9px}.cockpit-middle{display:grid;grid-template-columns:1fr 1fr;gap:9px}.cockpit-middle .panel{margin-bottom:0}.cockpit-middle .patient-panel,.cockpit-middle .extraction-panel{min-width:0}.cockpit-middle .aircraft-panel{grid-column:1/-1}.secondary-stack{grid-template-columns:1fr 1fr}.mission-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* ===== Tablet / small laptop ===== */
@media (max-width:1179px){
  .topbar{min-height:68px;padding:9px 14px;gap:10px;flex-wrap:wrap}.brand{min-width:0;flex:1}.brand small{display:none}.system-strip{margin-left:auto}.nav{order:3;width:100%;overflow-x:auto;padding-bottom:2px}.nav a{font-size:10px}.page{padding:12px}.quick-actions{grid-template-columns:repeat(3,1fr)}.mission-meta{grid-template-columns:1fr 1fr 1fr 1fr}.cockpit-grid{grid-template-columns:1fr 1fr;grid-template-areas:"map map" "left middle" "right right"}.mission-form{--map-h:420px}.cockpit-right{display:grid;grid-template-columns:1fr 1fr;gap:10px}.cockpit-right .panel{margin-bottom:0}.secondary-stack{grid-template-columns:1fr}.details-wide{grid-column:auto}.mission-grid{grid-template-columns:repeat(2,1fr)}.detail-grid,.detail-grid.three{grid-template-columns:1fr 1fr}.field-grid.six{grid-template-columns:repeat(4,1fr)}
}

/* ===== Mobile / portrait tablet ===== */
@media (max-width:767px){
  .topbar{padding:8px 10px}.brand-mark{width:42px;height:42px;border-radius:12px;font-size:21px}.brand b{font-size:17px}.mode-chip{display:none}.clock-box{display:none}.account div{display:none}.account .btn{min-height:36px;padding:7px 10px}.nav{gap:3px}.nav a{font-size:9px;padding:7px 8px}.page{padding:9px 8px 38px}.section-head{align-items:flex-start}.section-head h1{font-size:20px}.section-head .toolbar{width:100%;justify-content:flex-end}.mission-form .section-head{flex-direction:column;align-items:stretch}.mission-form .section-head .toolbar{justify-content:stretch}.mission-form .section-head .toolbar .btn{flex:1}.quick-actions{grid-template-columns:1fr 1fr}.quick-action:last-child{grid-column:1/-1}.mission-meta{grid-template-columns:1fr 1fr}.cockpit-grid{grid-template-columns:1fr;grid-template-areas:"map" "left" "middle" "right"}.mission-form{--map-h:360px}.cockpit-right{display:block}.cockpit-right .panel{margin-bottom:10px}.secondary-stack{grid-template-columns:1fr}.field-grid.two,.field-grid.three,.field-grid.four,.field-grid.six{grid-template-columns:1fr 1fr}.mission-grid,.hero-actions,.detail-grid,.detail-grid.three{grid-template-columns:1fr}.status-track{overflow-x:auto;grid-template-columns:repeat(5,minmax(105px,1fr));padding-bottom:3px}.report-kpis{grid-template-columns:1fr 1fr}.report-grid{grid-template-columns:1fr}.summary-actions{grid-template-columns:1fr 1fr}.summary-actions .btn:first-child{grid-column:1/-1}
}

@media (max-width:480px){
  .brand b{font-size:15px}.brand-mark{width:38px;height:38px}.page{padding:7px}.quick-actions{grid-template-columns:1fr}.quick-action:last-child{grid-column:auto}.mission-meta{grid-template-columns:1fr}.field-grid.two,.field-grid.three,.field-grid.four,.field-grid.six,.coord-grid,.compact-selects,.medical-inline,.medical-inline.triple{grid-template-columns:1fr}.priority-grid{grid-template-columns:1fr 1fr}.extraction-grid{grid-template-columns:1fr 1fr}.gps-utilities{grid-template-columns:1fr}.mission-form{--map-h:320px}.map-search{left:8px;right:8px}.panel{padding:11px}.summary-actions{grid-template-columns:1fr}.summary-actions .btn:first-child{grid-column:auto}.report-kpis{grid-template-columns:1fr}.report-head{flex-direction:column;gap:10px}.report-head div:last-child{text-align:left}.reset-form{flex-direction:column}.reset-form input{width:100%}
}

@media print{.topbar,.no-print,.report-actions,.sticky-save{display:none!important}.page{padding:0}.report-sheet{border:0;box-shadow:none;max-width:none}}

/* ==========================================================
   MAPA OPERACIONAL V2 · Consola de coordenadas
   ========================================================== */
.map-panel.cockpit-map{
  background:#0d211b;
  border:1px solid #cfded8;
  box-shadow:0 14px 34px rgba(16,52,42,.12);
}
.map-toolbar{
  min-height:58px;
  padding:9px 12px;
}
.map-toolbar>div:first-child{display:flex;flex-direction:column;gap:2px;min-width:0}
.map-title{font-size:12px;color:var(--green);letter-spacing:.02em}
.map-subtitle{font-size:9px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.map-switch{flex:0 0 auto}
.map-switch button{padding:7px 10px;font-size:9px}
#rescueMap{
  height:clamp(500px,58vh,690px);
  min-height:500px;
  background:#dfe9e4;
}
.coordinate-console{
  position:absolute;
  z-index:520;
  top:72px;
  left:14px;
  width:min(360px,calc(100% - 28px));
  padding:12px;
  border:1px solid rgba(255,255,255,.65);
  border-radius:14px;
  background:rgba(255,255,255,.96);
  box-shadow:0 14px 32px rgba(8,35,27,.18);
  backdrop-filter:blur(12px);
}
.coordinate-console-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:9px}
.coordinate-console-head>div{display:flex;flex-direction:column;gap:2px}
.coordinate-console-head strong{font-size:13px;color:#123c31}
.coordinate-kicker{font-size:8px;letter-spacing:.12em;font-weight:900;color:var(--green)}
.coordinate-state{font-size:8px;font-weight:900;letter-spacing:.06em;color:#6b7e77;background:#eef4f1;border-radius:999px;padding:5px 7px;white-space:nowrap}
.coordinate-state.ready{color:#fff;background:var(--green)}
.coordinate-input-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.coordinate-input-grid label{margin:0}
.coordinate-input-grid label>span{display:block;margin:0 0 4px;font-size:8px;font-weight:900;letter-spacing:.06em;color:#577168}
.coordinate-input-grid input{
  width:100%;
  min-height:40px;
  padding:8px 9px;
  border:1px solid #cfddd7;
  border-radius:9px;
  background:#fff;
  color:#173f34;
  font-size:12px;
  font-weight:800;
  font-variant-numeric:tabular-nums;
  outline:none;
}
.coordinate-input-grid input:focus{border-color:#2b8b70;box-shadow:0 0 0 3px rgba(21,112,87,.10)}
.coordinate-actions{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:6px;margin-top:8px}
.coord-btn{min-height:34px;border:1px solid #d2dfda;border-radius:9px;background:#fff;color:#31594e;font-size:8px;font-weight:900;cursor:pointer}
.coord-btn:hover{background:#f3f8f6}
.coord-btn.primary{border-color:var(--green);background:var(--green);color:#fff}
.coordinate-readout{display:grid;grid-template-columns:.9fr 1.4fr;gap:6px;margin-top:8px;padding-top:8px;border-top:1px solid #e6eeeb}
.coordinate-readout>div{min-width:0}
.coordinate-readout span{display:block;font-size:7px;font-weight:900;letter-spacing:.08em;color:#7a8c86}
.coordinate-readout b{display:block;margin-top:2px;color:#173f34;font-size:8px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}
.map-coordinate-badge{left:14px;bottom:14px;min-width:210px;border:1px solid rgba(255,255,255,.12)}
.map-coordinate-badge>span:first-child{font-size:7px;letter-spacing:.1em;font-weight:900;color:#aee6d4}
.map-coordinate-badge b{font-size:12px;font-variant-numeric:tabular-nums}
.map-mouse-position{
  position:absolute;
  z-index:450;
  right:14px;
  bottom:14px;
  padding:7px 9px;
  border-radius:9px;
  background:rgba(10,32,26,.80);
  color:#d8eee6;
  font-size:8px;
  font-weight:700;
  font-variant-numeric:tabular-nums;
  backdrop-filter:blur(6px);
}
.map-status-pill{
  position:absolute;
  z-index:450;
  top:72px;
  right:14px;
  display:flex;
  align-items:center;
  gap:6px;
  padding:7px 9px;
  border-radius:999px;
  background:rgba(11,42,33,.82);
  color:#fff;
  box-shadow:0 6px 18px rgba(0,0,0,.18);
  backdrop-filter:blur(6px);
  font-size:8px;
}
.map-status-pill>span:first-child{color:#4fe2ad}
.map-status-pill b{font-size:8px}
.map-status-pill>span:last-child{color:#c3d9d1}
.csart-map-marker{background:transparent;border:0}
.csart-map-marker .pin-wrap{position:relative;width:34px;height:34px;display:grid;place-items:center}
.csart-map-marker .pin-pulse{position:absolute;width:34px;height:34px;border-radius:50%;background:rgba(0,100,79,.22);animation:csartPulse 1.8s ease-out infinite}
.csart-map-marker .pin-core{position:relative;width:20px;height:20px;border:3px solid #fff;border-radius:50%;background:#00644f;box-shadow:0 4px 12px rgba(0,0,0,.28)}
.csart-map-marker .pin-core:after{content:"";position:absolute;left:50%;top:50%;width:5px;height:5px;border-radius:50%;background:#fff;transform:translate(-50%,-50%)}
@keyframes csartPulse{0%{transform:scale(.5);opacity:1}100%{transform:scale(1.8);opacity:0}}

@media(max-width:1599px){
  #rescueMap{height:clamp(455px,55vh,610px);min-height:455px}
  .coordinate-console{width:min(335px,calc(100% - 28px))}
}
@media(max-width:1199px){
  #rescueMap{height:460px;min-height:460px}
  .coordinate-console{width:min(360px,calc(100% - 28px))}
}
@media(max-width:767px){
  .map-toolbar{align-items:flex-start;flex-direction:column}
  .map-switch{width:100%;display:grid;grid-template-columns:repeat(3,1fr)}
  .map-switch button{width:100%}
  .coordinate-console{position:relative;top:auto;left:auto;width:auto;margin:8px;border-radius:12px;box-shadow:0 7px 20px rgba(8,35,27,.10)}
  .map-status-pill{top:auto;right:8px;bottom:48px}
  #rescueMap{height:360px;min-height:360px}
  .map-coordinate-badge{left:8px;bottom:8px;min-width:0;max-width:65%}
  .map-mouse-position{display:none}
}
@media(max-width:430px){
  .coordinate-input-grid{grid-template-columns:1fr}
  .coordinate-actions{grid-template-columns:1fr 1fr}
  .coordinate-actions .primary{grid-column:1/-1}
  .coordinate-readout{grid-template-columns:1fr}
  #rescueMap{height:330px;min-height:330px}
}

/* ==========================================================
   MAPA OPERACIONAL V3 · Consola DMS compacta
   ========================================================== */
.coordinate-console.dms-console{
  width:min(300px,calc(100% - 24px));
  top:68px;
  left:12px;
  padding:9px;
  border-radius:12px;
  box-shadow:0 10px 26px rgba(8,35,27,.17);
}
.dms-console .coordinate-console-head{margin-bottom:6px;gap:6px}
.dms-console .coordinate-console-head strong{font-size:11px}
.dms-console .coordinate-kicker{font-size:7px}
.dms-console .coordinate-state{font-size:7px;padding:4px 6px}
.dms-label-row,
.dms-row{
  display:grid;
  grid-template-columns:28px 48px 42px 61px 38px;
  gap:4px;
  align-items:center;
}
.dms-label-row{
  margin-bottom:3px;
  color:#70847d;
  font-size:6px;
  font-weight:900;
  letter-spacing:.05em;
  text-align:center;
}
.dms-row{margin-bottom:5px}
.dms-row>b{
  color:var(--green);
  font-size:8px;
  letter-spacing:.06em;
}
.dms-row input,
.dms-row select{
  width:100%;
  height:31px;
  min-width:0;
  border:1px solid #cfddd7;
  border-radius:7px;
  background:#fff;
  color:#173f34;
  font-size:10px;
  font-weight:850;
  text-align:center;
  padding:3px 4px;
  outline:none;
  font-variant-numeric:tabular-nums;
}
.dms-row input:focus,
.dms-row select:focus{
  border-color:#2b8b70;
  box-shadow:0 0 0 2px rgba(21,112,87,.10);
}
.dms-row select{padding:2px;cursor:pointer}
.dms-console .coordinate-actions.compact-actions{
  grid-template-columns:1fr 1.15fr 34px;
  gap:4px;
  margin-top:6px;
}
.dms-console .coord-btn{
  min-height:31px;
  border-radius:7px;
  font-size:7px;
  padding:4px 5px;
}
.dms-console .coord-btn.icon-only{
  padding:0;
  font-size:14px;
}
.dms-console .coordinate-readout.compact-readout{
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:center;
  gap:6px;
  margin-top:6px;
  padding-top:6px;
}
.dms-console .compact-readout>span{
  font-size:6px;
  color:#7a8c86;
  font-weight:900;
  letter-spacing:.06em;
}
.dms-console .compact-readout>b{
  margin:0;
  text-align:right;
  font-size:7px;
  color:#31594e;
  overflow:visible;
  text-overflow:clip;
}
.sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
@media(max-width:1599px){
  .coordinate-console.dms-console{width:min(292px,calc(100% - 24px))}
}
@media(max-width:767px){
  .coordinate-console.dms-console{
    position:relative;
    top:auto;
    left:auto;
    width:auto;
    margin:7px;
    padding:8px;
  }
  .dms-label-row,.dms-row{
    grid-template-columns:28px 52px 46px 68px 42px;
  }
}
@media(max-width:360px){
  .dms-label-row,.dms-row{
    grid-template-columns:25px 1fr 1fr 1.3fr 38px;
    gap:3px;
  }
  .dms-row input,.dms-row select{font-size:9px}
}

/* ==========================================================
   OFFLINE FIRST · Estado de red y sincronización
   ========================================================== */
.network-chip{display:flex;align-items:center;gap:7px;padding:6px 9px;border:1px solid #dbe7e2;border-radius:12px;background:#f9fcfa;color:#365c51;min-width:112px}
.network-chip>span:last-child{display:flex;flex-direction:column;line-height:1.05}
.network-chip b{font-size:8px;letter-spacing:.07em}
.network-chip small{font-size:7px;color:#7a8c86;margin-top:3px}
.network-dot{width:8px;height:8px;border-radius:50%;background:#23a36d;box-shadow:0 0 0 3px rgba(35,163,109,.12)}
.network-chip.is-offline{background:#fff8e9;border-color:#ead9ae;color:#8a6510}
.network-chip.is-offline .network-dot{background:#d89517;box-shadow:0 0 0 3px rgba(216,149,23,.14)}
.network-chip.has-pending:not(.is-offline){background:#eef8f4;border-color:#b9ddce}
.offline-notice-stack{position:fixed;z-index:99999;right:16px;bottom:16px;display:grid;gap:8px;width:min(390px,calc(100vw - 32px));pointer-events:none}
.offline-notice{pointer-events:auto;padding:11px 13px;border-radius:12px;border:1px solid #d8e5df;background:#fff;color:#224a3f;box-shadow:0 12px 28px rgba(4,37,28,.16);font-size:11px;font-weight:750;line-height:1.35}
.offline-success{background:#edf9f4;border-color:#b9dfcf;color:#145d45}
.offline-warning{background:#fff8e8;border-color:#ead5a0;color:#7b5b12}
.offline-danger{background:#fff1f1;border-color:#efc5c5;color:#963838}
.offline-info{background:#eff7fb;border-color:#c8dde8;color:#335e73}
.mission-form.offline-queued .sticky-save .btn-primary::after{content:" · PENDIENTE DE ENVÍO";font-size:.8em;opacity:.8}
@media(max-width:980px){.network-chip{min-width:0}.network-chip small{display:none}}
@media(max-width:760px){.network-chip{padding:6px 8px}.network-chip>span:last-child{display:none}.offline-notice-stack{right:8px;bottom:8px;width:calc(100vw - 16px)}}

/* ==========================================================
   MAPA OPERACIONAL V5 · Diseño minimalista + dock inferior
   ========================================================== */
.minimal-map-panel{
  padding:0!important;
  overflow:hidden;
  position:relative;
  background:#fff!important;
  border-radius:18px!important;
}
.minimal-map-panel .map-toolbar{
  position:relative;
  z-index:560;
  min-height:62px;
  padding:10px 14px;
  background:#fff;
  border-bottom:1px solid #e3ece8;
}
.minimal-map-panel .map-title{font-size:13px;font-weight:900;color:#0a5d47}
.minimal-map-panel .map-subtitle{font-size:9px;color:#6d8079}
.minimal-map-panel .map-switch{
  display:flex;
  gap:3px;
  padding:4px;
  border-radius:12px;
  background:#f1f6f3;
  border:1px solid #e3ece8;
}
.minimal-map-panel .map-switch button{
  min-width:62px;
  padding:7px 9px;
  border:0;
  border-radius:9px;
  background:transparent;
  color:#34594e;
  font-size:8px;
  font-weight:900;
  cursor:pointer;
}
.minimal-map-panel .map-switch button.active{
  background:#0b6a50;
  color:#fff;
  box-shadow:0 5px 14px rgba(7,91,69,.18);
}
.minimal-map-panel #rescueMap{
  height:clamp(520px,60vh,710px);
  min-height:520px;
  border-radius:0;
}
.rescue-helper{
  margin:-2px 0 10px;
  color:#70837c;
  font-size:9px;
  line-height:1.45;
}
.rescue-metrics{grid-template-columns:1fr 1fr!important}

.coordinate-console.coordinate-dock{
  position:absolute;
  z-index:700;
  top:auto!important;
  left:16px!important;
  bottom:16px!important;
  width:min(420px,calc(100% - 32px))!important;
  padding:11px!important;
  border:1px solid rgba(255,255,255,.76)!important;
  border-radius:15px!important;
  background:rgba(255,255,255,.95)!important;
  box-shadow:0 16px 34px rgba(3,31,23,.20)!important;
  backdrop-filter:blur(14px)!important;
}
.coordinate-dock .dock-head{margin:0 0 7px!important;align-items:center}
.coordinate-dock .dock-head strong{font-size:12px!important}
.coordinate-dock .coordinate-kicker{font-size:6px!important;letter-spacing:.14em}
.coordinate-head-actions{display:flex;align-items:center;gap:6px}
.coordinate-dock .coordinate-state{font-size:6px!important;padding:4px 6px!important}
.coord-clear{
  width:25px;height:25px;border:1px solid #d9e5e0;border-radius:8px;background:#fff;
  color:#526d64;font-size:15px;line-height:1;cursor:pointer;display:grid;place-items:center
}
.coord-clear:hover{background:#f4f8f6;color:#0b6a50}
.coordinate-tabs{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:3px;
  padding:3px;
  margin-bottom:7px;
  border-radius:10px;
  background:#edf3f0;
}
.coord-tab{
  min-height:29px;
  border:0;
  border-radius:8px;
  background:transparent;
  color:#4e6960;
  font-size:8px;
  font-weight:900;
  cursor:pointer;
}
.coord-tab.active{background:#0b6a50;color:#fff;box-shadow:0 4px 11px rgba(7,91,69,.16)}
.coordinate-tab-panel[hidden]{display:none!important}
.coordinate-tab-panel.active{display:block}
.coordinate-dock .dms-label-row,
.coordinate-dock .dms-row{
  grid-template-columns:30px 58px 52px 72px 46px;
  gap:5px;
}
.coordinate-dock .dms-label-row{margin:0 0 3px;font-size:6px}
.coordinate-dock .dms-row{margin-bottom:5px}
.coordinate-dock .dms-row>b{font-size:8px}
.coordinate-dock .dms-row input,
.coordinate-dock .dms-row select{
  height:32px;
  min-height:32px;
  padding:3px 5px;
  border-radius:8px;
  font-size:10px;
}
.decimal-row{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.decimal-row label{font-size:7px;letter-spacing:.06em;color:#61776f}
.decimal-row input{
  min-height:35px;
  border-radius:8px;
  font-size:11px;
  font-weight:850;
  font-variant-numeric:tabular-nums;
}
.coordinate-dock .dock-actions{
  display:grid!important;
  grid-template-columns:1fr 1fr 1fr!important;
  gap:5px!important;
  margin-top:7px!important;
}
.coordinate-dock .dock-actions .coord-btn{
  min-height:31px!important;
  border-radius:8px!important;
  padding:4px 6px!important;
  font-size:7px!important;
}
.coordinate-summary-line{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-top:7px;
  padding-top:7px;
  border-top:1px solid #e6eeeb;
  color:#647a72;
  font-size:7px;
  font-weight:800;
  font-variant-numeric:tabular-nums;
  overflow:hidden;
}
.coordinate-summary-line span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.coordinate-summary-line span:first-child{color:#244f43;flex:1.25}
.coordinate-summary-line span:last-child{flex:.85;text-align:right}
.minimal-map-panel .map-status-pill{
  top:76px;
  right:16px;
  padding:8px 10px;
  font-size:8px;
  background:rgba(6,48,36,.88);
}
.minimal-map-panel .map-coordinate-badge{
  left:auto;
  right:16px;
  bottom:16px;
  min-width:210px;
  max-width:270px;
  padding:10px 12px;
  border-radius:12px;
  background:rgba(5,42,32,.90);
  box-shadow:0 10px 24px rgba(0,0,0,.18);
  backdrop-filter:blur(8px);
}
.minimal-map-panel .map-coordinate-badge b{font-size:10px}
.minimal-map-panel .map-mouse-position{
  right:16px;
  bottom:82px;
  max-width:290px;
}

@media(max-width:1599px){
  .minimal-map-panel #rescueMap{height:clamp(470px,57vh,625px);min-height:470px}
  .coordinate-console.coordinate-dock{width:min(390px,calc(100% - 32px))!important}
}
@media(max-width:1199px){
  .minimal-map-panel #rescueMap{height:500px;min-height:500px}
  .coordinate-console.coordinate-dock{width:min(410px,calc(100% - 32px))!important}
}
@media(max-width:767px){
  .minimal-map-panel .map-toolbar{padding:9px 10px;gap:8px}
  .minimal-map-panel .map-switch{width:100%;grid-template-columns:repeat(3,1fr)}
  .minimal-map-panel #rescueMap{height:440px;min-height:440px}
  .coordinate-console.coordinate-dock{
    position:absolute!important;
    left:10px!important;
    right:10px!important;
    bottom:10px!important;
    width:auto!important;
    margin:0!important;
    padding:9px!important;
  }
  .coordinate-dock .dms-label-row,
  .coordinate-dock .dms-row{grid-template-columns:28px 1fr 1fr 1.25fr 42px;gap:4px}
  .minimal-map-panel .map-coordinate-badge{display:none}
  .minimal-map-panel .map-mouse-position{display:none}
  .minimal-map-panel .map-status-pill{top:116px;right:10px}
}
@media(max-width:480px){
  .minimal-map-panel #rescueMap{height:470px;min-height:470px}
  .coordinate-console.coordinate-dock{left:7px!important;right:7px!important;bottom:7px!important}
  .coordinate-summary-line{display:none}
  .coordinate-dock .dock-actions{grid-template-columns:1.2fr 1fr!important}
  .coordinate-dock .dock-actions .coord-btn:last-child{display:none}
  .decimal-row{grid-template-columns:1fr 1fr}
}

/* CSART_COORDS_MINIMIZE_START */

/* Panel de coordenadas */
.csart-coords-detected {
    position: relative !important;
    transition:
        width .22s ease,
        height .22s ease,
        min-height .22s ease,
        padding .22s ease,
        background .22s ease,
        box-shadow .22s ease !important;
}

/* Botón minimizar */
.csart-coords-toggle {
    position: absolute;
    top: 12px;
    right: 52px;
    z-index: 9999;

    width: 36px;
    height: 36px;

    border: 1px solid #d6e4dd;
    border-radius: 11px;

    background: rgba(255,255,255,.96);
    color: #08684f;

    display: flex;
    align-items: center;
    justify-content: center;

    cursor: pointer;

    box-shadow: 0 5px 16px rgba(0,45,34,.10);

    transition:
        transform .18s ease,
        background .18s ease,
        box-shadow .18s ease;
}

.csart-coords-toggle:hover {
    background: #edf8f3;
    transform: translateY(-1px);
    box-shadow: 0 7px 20px rgba(0,45,34,.15);
}

.csart-coords-toggle svg {
    width: 18px;
    height: 18px;
    stroke-width: 2;
}


/* ==========================
   ESTADO MINIMIZADO
   ========================== */

.csart-coords-detected.csart-coords-minimized {
    width: 52px !important;
    min-width: 52px !important;
    max-width: 52px !important;

    height: 52px !important;
    min-height: 52px !important;
    max-height: 52px !important;

    padding: 0 !important;

    border: 0 !important;
    border-radius: 15px !important;

    background: transparent !important;
    box-shadow: none !important;

    overflow: visible !important;
}

/* Ocultar absolutamente todo menos el botón */
.csart-coords-detected.csart-coords-minimized
> *:not(.csart-coords-toggle) {
    display: none !important;
}

/* Botón restaurar */
.csart-coords-detected.csart-coords-minimized
.csart-coords-toggle {
    position: absolute;

    top: 0;
    left: 0;
    right: auto;

    width: 48px;
    height: 48px;

    border-radius: 14px;

    background: #06694f;
    border-color: #06694f;

    color: #ffffff;

    box-shadow:
        0 10px 26px rgba(0,55,42,.24);
}


/* Tooltip */
.csart-coords-toggle::after {
    content: attr(data-tooltip);

    position: absolute;

    right: 0;
    top: calc(100% + 8px);

    white-space: nowrap;

    background: #0b342b;
    color: #fff;

    font-size: 10px;
    font-weight: 700;

    padding: 6px 9px;

    border-radius: 8px;

    opacity: 0;
    pointer-events: none;

    transform: translateY(-3px);
    transition: .15s ease;
}

.csart-coords-toggle:hover::after {
    opacity: 1;
    transform: translateY(0);
}


/* Laptop */
@media (max-width: 1366px) {

    .csart-coords-toggle {
        width: 34px;
        height: 34px;
        right: 48px;
    }

}


/* Tablet / móvil */
@media (max-width: 768px) {

    .csart-coords-toggle {
        top: 10px;
        right: 48px;
    }

    .csart-coords-detected.csart-coords-minimized {
        width: 50px !important;
        height: 50px !important;
    }

    .csart-coords-detected.csart-coords-minimized
    .csart-coords-toggle {
        width: 46px;
        height: 46px;
    }

}

/* CSART_COORDS_MINIMIZE_END */

/* CSART_MOBILE_OPERATOR_V3_START */

/* ==========================================================
   CSART EVAC · MOBILE OPERADOR
   ========================================================== */

@media (max-width: 767px) {

  html,
  body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }


  /* ========================================================
     CABECERA
     ======================================================== */

  .topbar {
    min-height: 0 !important;
    padding: 8px 9px 6px !important;

    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;

    gap: 6px !important;

    width: 100% !important;
    max-width: 100vw !important;
  }

  .brand {
    min-width: 0 !important;
    flex: 1 1 160px !important;
    gap: 8px !important;
  }

  .brand-mark {
    width: 40px !important;
    height: 40px !important;

    flex: 0 0 40px;

    border-radius: 12px !important;
    font-size: 20px !important;
  }

  .brand b {
    font-size: 16px !important;
    line-height: 1 !important;
    letter-spacing: .04em !important;
  }

  .brand small {
    display: none !important;
  }


  /* indicador online compacto */

  .system-strip {
    flex: 0 0 auto !important;
    margin-left: auto !important;
    gap: 4px !important;
  }

  .network-chip {
    width: 34px !important;
    min-width: 34px !important;
    height: 34px !important;

    padding: 0 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    border-radius: 11px !important;
  }

  .network-chip > span:last-child {
    display: none !important;
  }

  .network-dot {
    margin: 0 !important;
  }

  .mode-chip,
  .clock-box {
    display: none !important;
  }


  /* salir */

  .account {
    flex: 0 0 auto !important;
    gap: 0 !important;
  }

  .account > div {
    display: none !important;
  }

  .account .btn {
    min-height: 36px !important;
    height: 36px !important;

    padding: 6px 11px !important;

    border-radius: 11px !important;
    font-size: 11px !important;
  }


  /* navegación en segunda fila */

  .nav {
    order: 50 !important;

    flex: 0 0 100% !important;

    width: 100% !important;
    max-width: 100% !important;

    display: flex !important;

    overflow-x: auto !important;
    overflow-y: hidden !important;

    gap: 3px !important;

    padding: 5px 1px 1px !important;

    border-top: 1px solid #edf2ef;

    scrollbar-width: none;

    -webkit-overflow-scrolling: touch;
  }

  .nav::-webkit-scrollbar {
    display: none;
  }

  .nav a {
    flex: 0 0 auto;

    min-height: 34px;

    display: flex;
    align-items: center;

    padding: 6px 10px !important;

    border-radius: 9px;

    font-size: 10px !important;
    font-weight: 800 !important;

    background: #f7faf8;
  }


  /* ========================================================
     ZONA PRINCIPAL
     ======================================================== */

  .page {
    padding: 8px 7px 105px !important;
  }

  .panel {
    border-radius: 16px !important;
    box-shadow:
      0 7px 22px rgba(16, 63, 49, .06) !important;
  }


  /* ========================================================
     ACCIONES RÁPIDAS
     ======================================================== */

  .quick-actions {
    display: flex !important;

    overflow-x: auto !important;

    gap: 7px !important;

    padding-bottom: 3px;

    scrollbar-width: none;

    -webkit-overflow-scrolling: touch;
  }

  .quick-actions::-webkit-scrollbar {
    display: none;
  }

  .quick-action {
    flex: 0 0 165px !important;

    min-height: 48px !important;

    padding: 7px 9px !important;

    border-radius: 12px !important;
  }

  .quick-action-icon {
    width: 30px !important;
    height: 30px !important;

    flex-basis: 30px !important;

    font-size: 15px !important;
  }

  .quick-action b {
    font-size: 10px !important;
  }

  .quick-action small {
    display: none !important;
  }


  /* ========================================================
     CAMPOS: tamaño táctil real
     evita zoom automático de Safari
     ======================================================== */

  input,
  select,
  textarea {
    font-size: 16px !important;
  }

  input,
  select {
    min-height: 44px !important;
  }

  textarea {
    min-height: 86px !important;
  }

  label {
    font-size: 11px !important;
  }

  .btn {
    min-height: 44px;
  }


  /* ========================================================
     MAPA
     ======================================================== */

  .minimal-map-panel {
    position: relative !important;

    overflow: hidden !important;

    padding: 0 !important;

    border-radius: 18px !important;

    box-shadow:
      0 10px 28px rgba(8, 50, 38, .12) !important;
  }


  .minimal-map-panel #rescueMap {
    height: clamp(360px, 55dvh, 470px) !important;
    min-height: 360px !important;

    border-radius: 18px !important;
  }


  /* --------------------------------------------------------
     Selector de las tres capas SOBRE el mapa
     -------------------------------------------------------- */

  .minimal-map-panel .map-toolbar {
    position: absolute !important;

    top: 8px !important;
    right: 8px !important;
    left: auto !important;

    z-index: 760 !important;

    width: auto !important;
    min-height: 0 !important;

    padding: 4px !important;

    border: 1px solid rgba(214, 228, 221, .92) !important;
    border-radius: 13px !important;

    background: rgba(255,255,255,.94) !important;

    box-shadow:
      0 8px 22px rgba(0,0,0,.13) !important;

    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
  }

  .minimal-map-panel .map-toolbar > div:first-child {
    display: none !important;
  }

  .minimal-map-panel .map-switch {
    width: auto !important;

    display: grid !important;
    grid-template-columns: repeat(3, auto) !important;

    gap: 3px !important;

    padding: 2px !important;

    background: transparent !important;
  }

  .minimal-map-panel .map-switch button {
    min-height: 34px !important;

    padding: 0 8px !important;

    border-radius: 9px !important;

    font-size: 9px !important;
    font-weight: 850 !important;

    white-space: nowrap;
  }

  .minimal-map-panel
  .map-switch button[data-basemap="map"]::before {
    content: "▦ ";
  }

  .minimal-map-panel
  .map-switch button[data-basemap="satellite"]::before {
    content: "◉ ";
  }

  .minimal-map-panel
  .map-switch button[data-basemap="terrain"]::before {
    content: "△ ";
  }


  /* Estado punto */

  .minimal-map-panel .map-status-pill {
    top: 55px !important;
    right: 8px !important;

    max-width: calc(100% - 70px);

    padding: 6px 9px !important;

    border-radius: 999px !important;

    font-size: 8px !important;
  }


  /* ocultar elementos secundarios en celular */

  .minimal-map-panel .map-coordinate-badge,
  .minimal-map-panel .map-mouse-position {
    display: none !important;
  }


  /* ========================================================
     CUADRO DE COORDENADAS
     ======================================================== */

  /*
   * neutraliza cualquier versión anterior del minimizador
   */

  .csart-coords-toggle {
    display: none !important;
  }


  .coordinate-console.coordinate-dock,
  .coordinate-console.coordinate-dock.csart-coords-minimized {
    position: absolute !important;

    z-index: 900 !important;

    left: 10px !important;
    right: auto !important;

    top: auto !important;
    bottom: 10px !important;

    width: min(300px, calc(100% - 20px)) !important;

    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;

    margin: 0 !important;

    padding: 8px !important;

    overflow: visible !important;

    border:
      1px solid rgba(255,255,255,.82) !important;

    border-radius: 16px !important;

    background:
      rgba(255,255,255,.96) !important;

    box-shadow:
      0 14px 34px rgba(3,31,23,.22) !important;

    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
  }


  /* permitir de nuevo contenido que un parche anterior ocultara */

  .coordinate-console.coordinate-dock.csart-coords-minimized
  > * {
    display: revert !important;
  }


  .coordinate-dock .coordinate-console-head {
    min-height: 31px !important;

    margin: 0 0 5px !important;

    padding: 0 !important;
  }

  .coordinate-dock .coordinate-kicker {
    font-size: 6px !important;
  }

  .coordinate-dock .dock-head strong {
    font-size: 12px !important;
  }

  .coordinate-head-actions {
    gap: 4px !important;
  }

  .coordinate-dock .coordinate-state {
    font-size: 6px !important;
    padding: 4px 5px !important;
  }


  .coord-clear {
    width: 30px !important;
    height: 30px !important;

    min-height: 30px !important;

    border-radius: 9px !important;

    font-size: 16px !important;
  }


  /* botón minimizar */

  .mobile-coord-toggle {
    width: 30px;
    height: 30px;

    min-width: 30px;
    min-height: 30px;

    padding: 0;

    border:
      1px solid #d6e5de;

    border-radius: 9px;

    background: #fff;

    color: #075b45;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 7px;

    font-size: 16px;
    font-weight: 850;

    cursor: pointer;
  }

  .mobile-coord-toggle svg {
    width: 16px;
    height: 16px;
  }

  .mobile-toggle-label {
    display: none;
  }


  /* pestañas DMS / Decimal */

  .coordinate-tabs {
    min-height: 30px !important;

    margin-bottom: 5px !important;

    padding: 2px !important;
  }

  .coord-tab {
    min-height: 28px !important;

    padding: 3px 5px !important;

    font-size: 9px !important;
  }


  /* DMS compacto */

  .coordinate-dock .dms-label-row,
  .coordinate-dock .dms-row {
    grid-template-columns:
      24px 48px 44px 62px 42px !important;

    gap: 4px !important;
  }

  .coordinate-dock .dms-label-row {
    margin-bottom: 2px !important;

    font-size: 6px !important;
  }

  .coordinate-dock .dms-row {
    margin-bottom: 4px !important;
  }

  .coordinate-dock .dms-row > b {
    font-size: 8px !important;
  }

  .coordinate-dock .dms-row input,
  .coordinate-dock .dms-row select {
    height: 36px !important;
    min-height: 36px !important;

    padding: 3px 4px !important;

    border-radius: 8px !important;

    font-size: 16px !important;

    text-align: center;
  }


  .coordinate-dock .decimal-row {
    grid-template-columns: 1fr 1fr !important;

    gap: 5px !important;
  }

  .coordinate-dock .decimal-row input {
    min-height: 38px !important;

    font-size: 16px !important;
  }


  /* botones coordenadas */

  .coordinate-dock .dock-actions {
    display: grid !important;

    grid-template-columns:
      1.05fr .9fr .9fr !important;

    gap: 4px !important;

    margin-top: 5px !important;
  }

  .coordinate-dock
  .dock-actions
  .coord-btn {
    min-height: 36px !important;

    padding: 4px 5px !important;

    font-size: 8px !important;

    border-radius: 9px !important;
  }


  .coordinate-summary-line {
    display: none !important;
  }


  /* ========================================================
     COORDENADAS MINIMIZADAS
     ======================================================== */

  .coordinate-console.coordinate-dock.mobile-collapsed {
    width: 142px !important;
    min-width: 142px !important;

    height: 46px !important;
    min-height: 46px !important;

    padding: 0 !important;

    overflow: visible !important;

    border: none !important;

    background: transparent !important;

    box-shadow: none !important;

    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }


  .coordinate-dock.mobile-collapsed
  > * {
    display: none !important;
  }


  .coordinate-dock.mobile-collapsed
  .coordinate-console-head {
    display: flex !important;

    width: 142px !important;
    height: 46px !important;

    margin: 0 !important;
  }


  .coordinate-dock.mobile-collapsed
  .coordinate-console-head
  > div:first-child {
    display: none !important;
  }


  .coordinate-dock.mobile-collapsed
  .coordinate-head-actions {
    display: block !important;

    width: 142px !important;
    height: 46px !important;
  }


  .coordinate-dock.mobile-collapsed
  .coordinate-state,
  .coordinate-dock.mobile-collapsed
  .coord-clear {
    display: none !important;
  }


  .coordinate-dock.mobile-collapsed
  .mobile-coord-toggle {
    width: 142px !important;
    height: 46px !important;

    padding: 0 14px !important;

    display: flex !important;

    justify-content: center !important;

    border: 0 !important;

    border-radius: 14px !important;

    background:
      linear-gradient(
        135deg,
        #087156,
        #05533f
      ) !important;

    color: #fff !important;

    box-shadow:
      0 10px 24px rgba(2,53,40,.27) !important;

    font-size: 12px !important;
  }


  .coordinate-dock.mobile-collapsed
  .mobile-toggle-label {
    display: inline !important;
  }


  /* ========================================================
     GUARDAR MISIÓN
     ======================================================== */

  .mission-form .sticky-save {
    position: fixed !important;

    left: 10px !important;
    right: 10px !important;

    bottom:
      calc(
        10px + env(safe-area-inset-bottom)
      ) !important;

    z-index: 1150 !important;

    width: auto !important;

    padding: 0 !important;

    pointer-events: none !important;
  }


  .mission-form .sticky-save .btn {
    width: 100% !important;

    min-width: 0 !important;
    min-height: 52px !important;

    border-radius: 14px !important;

    pointer-events: auto !important;

    font-size: 14px !important;

    box-shadow:
      0 11px 28px rgba(4,68,51,.28) !important;
  }


  /* ========================================================
     PANELES DE FORMULARIO
     ======================================================== */

  .rescue-panel,
  .patient-panel,
  .extraction-panel,
  .cockpit-right .panel {
    padding: 12px !important;
  }

  .panel-title h2 {
    font-size: 15px !important;
  }

}


/* teléfono estrecho */

@media (max-width: 420px) {

  .coordinate-console.coordinate-dock,
  .coordinate-console.coordinate-dock.csart-coords-minimized {
    width: min(286px, calc(100% - 16px)) !important;

    left: 8px !important;
    bottom: 8px !important;
  }

  .coordinate-dock .dms-label-row,
  .coordinate-dock .dms-row {
    grid-template-columns:
      22px 44px 40px 58px 40px !important;
  }

  .minimal-map-panel
  .map-switch button {
    padding: 0 6px !important;

    font-size: 8px !important;
  }

}


/* CSART_MOBILE_OPERATOR_V3_END */

/* CSART_MOBILE_V4_START */

/* =========================================================
   AJUSTE FINAL CELULAR
   ========================================================= */

@media (max-width: 767px) {


    /* =====================================================
       MAPA
       ===================================================== */

    .minimal-map-panel {
        position: relative !important;
        overflow: hidden !important;

        border-radius: 18px !important;

        background: #dce7e1 !important;
    }


    .minimal-map-panel #rescueMap {
        height: 450px !important;
        min-height: 450px !important;

        border-radius: 18px !important;
    }



    /* =====================================================
       3 CAPAS
       ===================================================== */

    .minimal-map-panel .map-toolbar {

        top: 10px !important;
        right: 10px !important;

        width: auto !important;

        padding: 4px !important;

        border-radius: 14px !important;

        background:
            rgba(255,255,255,.96) !important;

        box-shadow:
            0 8px 20px rgba(0,0,0,.14) !important;

        backdrop-filter: blur(12px);
        -webkit-backdrop-filter: blur(12px);
    }


    .minimal-map-panel .map-switch {

        display: flex !important;

        gap: 3px !important;

        width: auto !important;

        padding: 0 !important;
    }


    .minimal-map-panel
    .map-switch button {

        width: auto !important;
        min-width: 0 !important;

        height: 38px !important;
        min-height: 38px !important;

        padding:
            0 9px !important;

        border-radius:
            10px !important;

        font-size:
            9px !important;

        font-weight:
            800 !important;

        white-space:
            nowrap !important;
    }



    /* =====================================================
       PUNTO DE EXTRACCIÓN
       CORRECCIÓN DEL ÓVALO GIGANTE
       ===================================================== */

    .minimal-map-panel
    .map-status-pill {

        position: absolute !important;

        top: 62px !important;
        right: 10px !important;
        left: auto !important;

        width: auto !important;
        min-width: 0 !important;
        max-width:
            calc(100% - 85px) !important;

        height: 34px !important;
        min-height: 34px !important;
        max-height: 34px !important;

        padding:
            0 11px !important;

        margin: 0 !important;

        display:
            inline-flex !important;

        align-items:
            center !important;

        justify-content:
            center !important;

        gap: 6px !important;

        border-radius:
            999px !important;

        background:
            rgba(4,65,49,.92) !important;

        color:
            #ffffff !important;

        font-size:
            9px !important;

        font-weight:
            700 !important;

        line-height:
            1 !important;

        white-space:
            nowrap !important;

        overflow:
            hidden !important;

        text-overflow:
            ellipsis !important;

        box-shadow:
            0 6px 18px
            rgba(0,0,0,.18) !important;

        backdrop-filter:
            blur(8px);

        -webkit-backdrop-filter:
            blur(8px);

        z-index:
            850 !important;
    }


    .minimal-map-panel
    .map-status-pill::before {

        content: "";

        width: 7px;
        height: 7px;

        flex:
            0 0 7px;

        display:
            block;

        border-radius:
            50%;

        background:
            #31d995;

        box-shadow:
            0 0 0 3px
            rgba(49,217,149,.14);
    }


    .minimal-map-panel
    .map-status-pill * {

        width:
            auto !important;

        height:
            auto !important;

        min-width:
            0 !important;

        min-height:
            0 !important;

        margin:
            0 !important;

        padding:
            0 !important;

        background:
            transparent !important;

        border:
            0 !important;

        border-radius:
            0 !important;

        font-size:
            inherit !important;

        line-height:
            1 !important;

        white-space:
            nowrap !important;
    }



    /* =====================================================
       BOTÓN COORDENADAS
       ===================================================== */

    .coordinate-console.coordinate-dock.mobile-collapsed {

        left: 12px !important;
        bottom: 12px !important;

        width: 150px !important;
        min-width: 150px !important;

        height: 48px !important;
        min-height: 48px !important;
    }


    .coordinate-dock.mobile-collapsed
    .mobile-coord-toggle {

        width: 150px !important;
        height: 48px !important;

        border-radius:
            14px !important;

        font-size:
            12px !important;

        background:
            linear-gradient(
                135deg,
                #08765a,
                #056149
            ) !important;

        box-shadow:
            0 8px 22px
            rgba(2,70,52,.25) !important;
    }



    /* =====================================================
       LEAFLET
       ===================================================== */

    .leaflet-control-zoom {

        margin-top:
            10px !important;

        margin-left:
            10px !important;
    }


    .leaflet-control-zoom a {

        width:
            38px !important;

        height:
            38px !important;

        line-height:
            38px !important;

        font-size:
            20px !important;
    }


    .leaflet-control-attribution {

        font-size:
            8px !important;

        padding:
            2px 5px !important;

        background:
            rgba(255,255,255,.86) !important;
    }



    /* =====================================================
       ESCALA
       ===================================================== */

    .leaflet-control-scale {

        margin-right:
            9px !important;

        margin-bottom:
            9px !important;
    }



    /* =====================================================
       GUARDAR MISIÓN
       MÁS PEQUEÑO Y SIN TAPAR TODO
       ===================================================== */

    .mission-form
    .sticky-save {

        position:
            fixed !important;

        left:
            auto !important;

        right:
            12px !important;

        bottom:
            calc(
                12px +
                env(safe-area-inset-bottom)
            ) !important;

        width:
            205px !important;

        max-width:
            calc(100vw - 24px) !important;

        height:
            50px !important;

        min-height:
            50px !important;

        padding:
            0 !important;

        margin:
            0 !important;

        background:
            transparent !important;

        border:
            0 !important;

        box-shadow:
            none !important;

        pointer-events:
            none !important;

        z-index:
            1200 !important;
    }


    .mission-form
    .sticky-save
    .btn {

        width:
            205px !important;

        height:
            50px !important;

        min-height:
            50px !important;

        padding:
            0 18px !important;

        margin:
            0 !important;

        display:
            flex !important;

        align-items:
            center !important;

        justify-content:
            center !important;

        border-radius:
            14px !important;

        font-size:
            13px !important;

        font-weight:
            800 !important;

        background:
            #07694f !important;

        color:
            #ffffff !important;

        box-shadow:
            0 9px 24px
            rgba(3,73,54,.28) !important;

        pointer-events:
            auto !important;
    }



    /* espacio inferior para que el botón
       no cubra el último formulario */

    .mission-form {

        padding-bottom:
            90px !important;
    }



    /* =====================================================
       TARJETA PUNTO DE RESCATE
       ===================================================== */

    .rescue-panel {

        margin-top:
            10px !important;

        padding:
            14px !important;

        border-radius:
            17px !important;
    }


    .rescue-panel
    .panel-title {

        margin-bottom:
            10px !important;
    }


    .rescue-panel
    .panel-title h2 {

        font-size:
            17px !important;
    }



    /* =====================================================
       BOTÓN OBTENER UBICACIÓN
       ===================================================== */

    .rescue-panel
    button,
    .rescue-panel
    .btn {

        min-height:
            46px !important;

        border-radius:
            12px !important;
    }

}



/* =========================================================
   CELULARES PEQUEÑOS
   ========================================================= */

@media (max-width: 390px) {

    .minimal-map-panel
    .map-switch button {

        padding:
            0 6px !important;

        font-size:
            8px !important;
    }


    .mission-form
    .sticky-save {

        width:
            185px !important;
    }


    .mission-form
    .sticky-save
    .btn {

        width:
            185px !important;

        font-size:
            12px !important;
    }


    .minimal-map-panel
    .map-status-pill {

        font-size:
            8px !important;

        padding:
            0 9px !important;
    }

}


/* CSART_MOBILE_V4_END */

/* CSART_LAPTOP_V5_START */


/* ============================================================
   IMPORTANTE
   El botón especial de coordenadas es SOLO para celular.
   Evita el cuadro blanco gigante que apareció en laptop.
   ============================================================ */

.mobile-coord-toggle {
    display: none !important;
}


/* ============================================================
   LAPTOP / PC
   768px - 1599px
   ============================================================ */

@media (min-width: 768px) and (max-width: 1599px) {


    /* --------------------------------------------------------
       MAPA
       -------------------------------------------------------- */

    .minimal-map-panel {
        position: relative !important;
        overflow: hidden !important;

        border-radius: 20px !important;

        box-shadow:
            0 8px 26px rgba(7, 60, 45, .08) !important;
    }


    .minimal-map-panel #rescueMap {
        height: 570px !important;
        min-height: 570px !important;

        border-radius: 0 0 18px 18px !important;
    }



    /* --------------------------------------------------------
       TRES CAPAS
       -------------------------------------------------------- */

    .minimal-map-panel .map-toolbar {
        min-height: 62px !important;

        padding: 11px 16px !important;

        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;

        background: #ffffff !important;

        border-bottom:
            1px solid #e3ebe7 !important;
    }


    .minimal-map-panel .map-switch {
        display: grid !important;

        grid-template-columns:
            repeat(3, minmax(82px, 1fr)) !important;

        width: auto !important;
        min-width: 300px !important;

        padding: 4px !important;

        gap: 4px !important;

        border-radius: 14px !important;

        background: #f1f6f3 !important;
    }


    .minimal-map-panel .map-switch button {
        height: 37px !important;
        min-height: 37px !important;

        padding: 0 13px !important;

        border: 0 !important;
        border-radius: 10px !important;

        font-size: 11px !important;
        font-weight: 800 !important;

        white-space: nowrap !important;
    }


    .minimal-map-panel .map-switch button.active {
        background: #087058 !important;
        color: #ffffff !important;

        box-shadow:
            0 5px 14px rgba(7, 104, 80, .18) !important;
    }



    /* --------------------------------------------------------
       PUNTO DE EXTRACCIÓN
       -------------------------------------------------------- */

    .minimal-map-panel .map-status-pill {
        position: absolute !important;

        top: 82px !important;
        right: 18px !important;

        width: auto !important;
        min-width: 0 !important;
        max-width: 260px !important;

        height: 34px !important;
        min-height: 34px !important;

        padding: 0 13px !important;

        display: inline-flex !important;
        align-items: center !important;

        gap: 7px !important;

        border-radius: 999px !important;

        background:
            rgba(4, 61, 47, .92) !important;

        color: #ffffff !important;

        font-size: 10px !important;
        font-weight: 750 !important;

        white-space: nowrap !important;

        box-shadow:
            0 7px 18px rgba(0,0,0,.16) !important;

        z-index: 700 !important;
    }


    .minimal-map-panel .map-status-pill::before {
        content: "";

        width: 7px;
        height: 7px;

        flex: 0 0 7px;

        border-radius: 50%;

        background: #31d99a;
    }



    /* ========================================================
       PANEL DE COORDENADAS
       Diseño compacto para laptop
       ======================================================== */

    .coordinate-console.coordinate-dock,
    .coordinate-console.coordinate-dock.csart-coords-minimized {

        position: absolute !important;

        left: 18px !important;
        bottom: 18px !important;

        top: auto !important;
        right: auto !important;

        width: 535px !important;
        max-width: calc(100% - 300px) !important;

        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;

        padding: 13px 14px !important;

        overflow: visible !important;

        border:
            1px solid rgba(206, 222, 214, .95) !important;

        border-radius: 18px !important;

        background:
            rgba(255,255,255,.97) !important;

        box-shadow:
            0 14px 36px rgba(2, 43, 32, .20) !important;

        backdrop-filter: blur(12px);
        -webkit-backdrop-filter: blur(12px);

        z-index: 800 !important;
    }


    /* Neutraliza el modo minimizado móvil en laptop */

    .coordinate-console.coordinate-dock.csart-coords-minimized
    > * {
        display: revert !important;
    }


    .coordinate-console.coordinate-dock.csart-coords-minimized {
        width: 535px !important;

        background:
            rgba(255,255,255,.97) !important;

        box-shadow:
            0 14px 36px rgba(2, 43, 32, .20) !important;
    }



    /* --------------------------------------------------------
       CABECERA COORDENADAS
       -------------------------------------------------------- */

    .coordinate-dock .coordinate-console-head {

        min-height: 38px !important;

        margin: 0 0 8px !important;
        padding: 0 0 8px !important;

        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;

        border-bottom:
            1px solid #e8efeb !important;
    }


    .coordinate-dock .coordinate-kicker {
        font-size: 8px !important;

        letter-spacing: .08em !important;

        color: #087058 !important;
    }


    .coordinate-dock .dock-head strong {
        font-size: 15px !important;

        color: #123f34 !important;
    }


    .coordinate-head-actions {
        display: flex !important;
        align-items: center !important;

        gap: 6px !important;
    }


    .coordinate-dock .coordinate-state {
        padding: 5px 8px !important;

        border-radius: 999px !important;

        font-size: 8px !important;
        font-weight: 850 !important;
    }


    .coord-clear {
        width: 31px !important;
        height: 31px !important;

        min-height: 31px !important;

        padding: 0 !important;

        border-radius: 9px !important;
    }



    /* --------------------------------------------------------
       DMS / DECIMAL
       -------------------------------------------------------- */

    .coordinate-tabs {
        height: 37px !important;
        min-height: 37px !important;

        margin-bottom: 8px !important;

        padding: 3px !important;

        border-radius: 11px !important;
    }


    .coord-tab {
        height: 31px !important;
        min-height: 31px !important;

        font-size: 9px !important;

        border-radius: 8px !important;
    }



    /* --------------------------------------------------------
       CAMPOS DMS EN FILA COMPACTA
       -------------------------------------------------------- */

    .coordinate-dock .dms-label-row,
    .coordinate-dock .dms-row {

        grid-template-columns:
            34px
            68px
            68px
            92px
            62px !important;

        gap: 6px !important;

        align-items: center !important;
    }


    .coordinate-dock .dms-label-row {

        margin-bottom: 3px !important;

        font-size: 7px !important;
    }


    .coordinate-dock .dms-row {

        margin-bottom: 6px !important;
    }


    .coordinate-dock .dms-row > b {

        font-size: 9px !important;

        color: #087058 !important;
    }


    .coordinate-dock .dms-row input,
    .coordinate-dock .dms-row select {

        width: 100% !important;

        height: 39px !important;
        min-height: 39px !important;

        padding: 4px 7px !important;

        border-radius: 9px !important;

        font-size: 13px !important;
        font-weight: 750 !important;

        text-align: center !important;
    }



    /* --------------------------------------------------------
       DECIMAL
       -------------------------------------------------------- */

    .coordinate-dock .decimal-row {

        display: grid !important;

        grid-template-columns:
            1fr 1fr !important;

        gap: 8px !important;
    }


    .coordinate-dock .decimal-row input {

        height: 40px !important;

        border-radius: 9px !important;
    }



    /* --------------------------------------------------------
       BOTONES COORDENADAS
       -------------------------------------------------------- */

    .coordinate-dock .dock-actions {

        display: grid !important;

        grid-template-columns:
            1.08fr .95fr .95fr !important;

        gap: 7px !important;

        margin-top: 7px !important;
    }


    .coordinate-dock
    .dock-actions
    .coord-btn {

        height: 39px !important;
        min-height: 39px !important;

        padding: 0 10px !important;

        border-radius: 10px !important;

        font-size: 9px !important;
        font-weight: 850 !important;
    }



    /* --------------------------------------------------------
       RESUMEN INFERIOR
       -------------------------------------------------------- */

    .coordinate-summary-line {

        min-height: 22px !important;

        margin-top: 7px !important;

        padding-top: 6px !important;

        font-size: 8px !important;

        border-top:
            1px solid #e7eeea !important;
    }



    /* ========================================================
       PANEL PUNTO CONFIRMADO
       ======================================================== */

    .map-coordinate-badge {

        left: auto !important;
        right: 18px !important;

        bottom: 18px !important;

        width: 245px !important;
        max-width: 245px !important;

        padding: 11px 13px !important;

        border-radius: 14px !important;

        background:
            rgba(4, 51, 40, .94) !important;

        color: #ffffff !important;

        box-shadow:
            0 10px 25px rgba(0,0,0,.20) !important;
    }



    /* ========================================================
       CURSOR
       ======================================================== */

    .map-mouse-position {

        right: 18px !important;
        bottom: 108px !important;

        max-width: 250px !important;

        padding: 6px 10px !important;

        font-size: 8px !important;

        border-radius: 9px !important;
    }



    /* ========================================================
       BOTÓN GUARDAR
       Laptop: visible pero no tapa formulario
       ======================================================== */

    .mission-form .sticky-save {

        position: fixed !important;

        right: 18px !important;
        bottom: 18px !important;
        left: auto !important;

        width: 190px !important;
        height: 48px !important;

        padding: 0 !important;

        background: transparent !important;

        border: 0 !important;

        box-shadow: none !important;

        z-index: 1100 !important;

        pointer-events: none !important;
    }


    .mission-form
    .sticky-save
    .btn {

        width: 190px !important;
        height: 48px !important;
        min-height: 48px !important;

        padding: 0 17px !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        border-radius: 13px !important;

        background: #07694f !important;

        color: #ffffff !important;

        font-size: 12px !important;
        font-weight: 850 !important;

        box-shadow:
            0 9px 22px rgba(2, 67, 50, .22) !important;

        pointer-events: auto !important;
    }



}


/* ============================================================
   LAPTOP 1366 x 768
   Aún más compacto
   ============================================================ */

@media
(min-width: 1000px)
and (max-width: 1400px)
and (max-height: 850px) {


    .minimal-map-panel #rescueMap {

        height: 510px !important;
        min-height: 510px !important;
    }


    .coordinate-console.coordinate-dock,
    .coordinate-console.coordinate-dock.csart-coords-minimized {

        width: 490px !important;

        padding: 10px 12px !important;
    }


    .coordinate-console.coordinate-dock.csart-coords-minimized {

        width: 490px !important;
    }


    .coordinate-dock .dms-label-row,
    .coordinate-dock .dms-row {

        grid-template-columns:
            31px
            62px
            62px
            82px
            57px !important;

        gap: 5px !important;
    }


    .coordinate-dock .dms-row input,
    .coordinate-dock .dms-row select {

        height: 36px !important;
        min-height: 36px !important;

        font-size: 12px !important;
    }


    .coordinate-dock
    .dock-actions
    .coord-btn {

        height: 36px !important;
        min-height: 36px !important;
    }

}


/* ============================================================
   CELULAR
   volver a habilitar el botón de coordenadas móvil
   ============================================================ */

@media (max-width: 767px) {

    .mobile-coord-toggle {

        display: inline-flex !important;
    }

}


/* CSART_LAPTOP_V5_END */

/* CSART_COORDS_DESKTOP_TOGGLE_START */

@media (min-width: 768px) {

  .desktop-coords-toggle {
    position: absolute;
    left: 18px;
    bottom: 18px;

    z-index: 920;

    min-width: 150px;
    height: 46px;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;

    padding: 0 16px;

    border: 0;
    border-radius: 14px;

    background: linear-gradient(135deg, #08725a, #05523f);
    color: #fff;

    font-size: 12px;
    font-weight: 800;

    cursor: pointer;

    box-shadow:
      0 10px 26px rgba(4, 59, 45, .24);

    transition:
      transform .18s ease,
      box-shadow .18s ease,
      opacity .18s ease;
  }

  .desktop-coords-toggle:hover {
    transform: translateY(-1px);

    box-shadow:
      0 13px 30px rgba(4, 59, 45, .28);
  }

  .coordinate-console.coordinate-dock.coords-hidden-desktop {
    display: none !important;
  }

  .desktop-coords-toggle.is-open {
    left: auto;
    right: 18px;
    bottom: 18px;

    min-width: 46px;
    width: 46px;
    padding: 0;

    border-radius: 13px;

    background: rgba(255,255,255,.96);
    color: #076b52;

    border: 1px solid #d5e3dc;

    box-shadow:
      0 8px 20px rgba(0,0,0,.14);
  }

  .desktop-coords-toggle.is-open .desktop-toggle-label {
    display: none;
  }

}

@media (max-width: 767px) {
  .desktop-coords-toggle {
    display: none !important;
  }
}

/* CSART_COORDS_DESKTOP_TOGGLE_END */
