/* Civiltek Industrial · GMAO NEXORA */
:root{--bg:#0f1417;--panel:#151c20;--panel2:#1a2328;--line:#2b383e;--line2:#36464d;--text:#e6edef;--muted:#93a6ae;--accent:#3fd3c9;--accent2:#1f6f69;--warn:#f0b955;--bad:#f07a6a;--ok:#5fd39a;--crit:#ff6b5b;--radius:6px;color-scheme:dark}
*{box-sizing:border-box;letter-spacing:0}
[hidden]{display:none!important}
html,body{margin:0;height:100%;background:var(--bg);color:var(--text);font:14px/1.45 system-ui,"Segoe UI",Roboto,Arial,sans-serif}
button,input,select,textarea{font:inherit;color:inherit}
.ico{width:18px;height:18px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.gm-boot{position:fixed;inset:0;display:grid;place-items:center;color:var(--muted);font-size:13px}
.gm-spin{display:inline-block;width:16px;height:16px;border:2px solid var(--line2);border-top-color:var(--accent);border-radius:50%;animation:gm-spin .8s linear infinite;margin-right:10px;vertical-align:-3px}
@keyframes gm-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.gm-spin{animation-duration:2.4s}}

/* Layout */
.gm-app{display:grid;grid-template-columns:220px minmax(0,1fr);grid-template-rows:56px minmax(0,1fr) 28px;grid-template-areas:"top top" "nav main" "status status";height:100vh;height:100dvh;overflow:hidden}
.gm-top{grid-area:top;display:flex;align-items:center;gap:14px;padding:0 14px;border-bottom:1px solid var(--line);background:#121a1e}
.gm-brand{display:flex;align-items:baseline;gap:7px;text-decoration:none;color:var(--text);white-space:nowrap}
.gm-brand b{font-weight:700;letter-spacing:.06em;color:var(--accent);font-size:15px}.gm-brand span{font-size:14px}
.gm-ctx{display:flex;flex-direction:column;min-width:0;padding-left:14px;border-left:1px solid var(--line)}
.gm-ctx strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gm-ctx span{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gm-quick{margin-left:auto;width:min(300px,28vw)}
.gm-user{display:flex;flex-direction:row;align-items:center;gap:8px;border:1px solid var(--line);border-radius:var(--radius);padding:3px 4px 3px 4px;background:var(--panel)}
.gm-user select{background:transparent;border:0;max-width:220px;padding:4px 2px;cursor:pointer}.gm-user select option{background:var(--panel)}
.gm-avatar{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--accent2);color:#dffcf8;font-size:11px;font-weight:700}
[data-role=responsable] .gm-avatar{background:#6b4f1d;color:#ffe8b8}[data-role=tecnico] .gm-avatar{background:#284a6b;color:#d8ecff}
.gm-icon-btn{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--line);border-radius:var(--radius);background:transparent;cursor:pointer;color:var(--muted)}
.gm-icon-btn:hover{color:var(--text);border-color:var(--line2);background:var(--panel2)}
.gm-menu{display:none}
.gm-nav{grid-area:nav;overflow:auto;border-right:1px solid var(--line);background:#121a1e;padding:8px 8px 20px}
.gm-nav p{margin:16px 10px 6px;font-size:10.5px;letter-spacing:.08em;color:#7f949c}
.gm-nav button{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:0;border-radius:var(--radius);background:transparent;color:#c9d6da;cursor:pointer;text-align:left;font-size:13px}
.gm-nav button:hover{background:var(--panel2);color:var(--text)}
.gm-nav button[aria-current=page]{background:#1d3a38;color:#7ff0e6;box-shadow:inset 2px 0 0 var(--accent)}
.gm-count{margin-left:auto;font-size:11px;font-weight:600;color:#bfeee8;background:#26403f;border-radius:10px;padding:0 7px;min-width:20px;text-align:center}.gm-count:empty{display:none}.gm-count.warn{background:#5b3e14;color:#ffd590}
.gm-scrim{display:none}
.gm-main{grid-area:main;overflow:auto;position:relative;display:flex;flex-direction:column;min-width:0}
.gm-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;padding:18px 24px 10px}
.gm-head h1{margin:2px 0 0;font-size:22px;font-weight:650}.gm-crumb{margin:0;font-size:11px;color:var(--muted)}
.gm-sel{margin:4px 0 0;font-size:12px;color:#9fd9d3;overflow-wrap:anywhere}
.gm-view{padding:6px 24px 32px;display:flex;flex-direction:column;gap:16px}
.gm-frame{flex:1;position:relative;min-height:420px;margin:0 0 0;border-top:1px solid var(--line)}
.gm-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:var(--bg)}
.gm-loading{position:absolute;inset:0;display:grid;place-content:center;grid-auto-flow:column;align-items:center;color:var(--muted);z-index:1;background:var(--bg)}.gm-loading[hidden]{display:none}
.gm-status{grid-area:status;display:flex;justify-content:space-between;gap:12px;align-items:center;padding:0 14px;border-top:1px solid var(--line);font-size:11px;color:#8aa0a8;background:#121a1e}

/* Controles */
.gm-btn{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border:1px solid var(--line2);border-radius:var(--radius);background:var(--panel2);cursor:pointer;font-size:13px;white-space:nowrap;min-height:34px}
.gm-btn:hover:not(:disabled){border-color:#4f646c;background:#202c32}
.gm-btn.primary{background:#1f6f69;border-color:#2a8c84;color:#f0fffd}.gm-btn.primary:hover:not(:disabled){background:#23807a}
.gm-btn.danger{background:#4a2420;border-color:#7a3a33;color:#ffd9d3}
.gm-btn.ghost{background:transparent}
.gm-btn.small{padding:4px 9px;min-height:28px;font-size:12px}
.gm-btn:disabled{opacity:.55;cursor:not-allowed}.gm-btn .ico{width:16px;height:16px}
.gm-link{background:none;border:0;padding:0;color:var(--accent);cursor:pointer;text-decoration:underline;text-underline-offset:2px;font-size:inherit;display:inline-flex;gap:4px;align-items:center}.gm-link .ico{width:13px;height:13px}
:is(button,a,input,select,textarea,tr.click):focus-visible{outline:2px solid var(--accent);outline-offset:2px}
input,select,textarea{background:#10171a;border:1px solid var(--line2);border-radius:var(--radius);padding:7px 9px;min-height:34px;width:100%}
textarea{resize:vertical}input:disabled,select:disabled,textarea:disabled{opacity:.6}
label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}
label>input,label>select,label>textarea{color:var(--text);font-size:13px}
.gm-search{flex-direction:row;align-items:center;position:relative;min-width:220px;flex:1;max-width:380px}
.gm-search .ico{position:absolute;left:9px;width:15px;height:15px;color:var(--muted)}.gm-search input{padding-left:31px}
.gm-quick .gm-search{max-width:none;min-width:0}
.gm-select{flex-direction:row;align-items:center;gap:6px}.gm-select select{width:auto;min-width:120px}
.gm-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.gm-toolbar .grow,.grow{flex:1}
.gm-chips{display:flex;flex-wrap:wrap;gap:6px}
.gm-chip{border:1px solid var(--line2);border-radius:16px;background:transparent;padding:5px 11px;cursor:pointer;font-size:12.5px;color:#c9d6da}
.gm-chip b{font-weight:600;color:var(--muted);margin-left:3px}
.gm-chip[aria-pressed=true]{background:#1d3a38;border-color:#2c7a72;color:#bff6ef}.gm-chip[aria-pressed=true] b{color:#7ff0e6}
.gm-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px}
.gm-muted{color:var(--muted)}.small{font-size:12px}.gm-h2{font-size:15px;margin:8px 0 0}
.gm-tag{font-size:10.5px;border:1px solid #3b5c5a;color:#9fe3db;border-radius:3px;padding:0 4px;vertical-align:1px}.gm-tag.extra{border-color:#6b5420;color:#f5cf7f}
.late{color:var(--warn);font-weight:600}.crit-t{color:var(--crit)}
.gm-badge{display:inline-block;font-size:11.5px;padding:2px 8px;border-radius:10px;background:#26343a;color:#c9d6da;white-space:nowrap}
.st-pendiente,.st-evaluado{background:#4a3a16;color:#ffd88f}.st-aprobada,.st-programada{background:#1d3550;color:#a9d3ff}.st-ejecucion,.st-ot{background:#16413d;color:#8ff3e8}.st-terminada{background:#3b2f52;color:#d8c4ff}.st-cerrada,.st-cerrado{background:#21342a;color:#9fe6b9}.st-rechazada,.st-anulada,.st-descartado{background:#40211e;color:#ffb3a8}.st-borrador,.st-abierto{background:#2b3438;color:#d5e0e3}
.gm-sev{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:4px;font-size:12px;font-weight:700}.sev-A{background:#5a2621;color:#ffc3b9}.sev-B{background:#4d3b15;color:#ffd994}.sev-C{background:#25363d;color:#c3d6dd}

/* Tarjetas e indicadores */
.gm-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
.gm-kpi{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;display:flex;flex-direction:column;gap:2px;position:relative}
.gm-kpi span{font-size:11.5px;color:var(--muted)}.gm-kpi strong{font-size:23px;font-weight:650;font-variant-numeric:tabular-nums}.gm-kpi small{font-size:11.5px;color:#9cb0b7}
.gm-kpi.ok{box-shadow:inset 3px 0 0 #2e9c80}.gm-kpi.warn{box-shadow:inset 3px 0 0 var(--warn)}
.gm-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.gm-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.span-2{grid-column:span 2}.span-3{grid-column:1/-1}
.gm-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;min-width:0}
.gm-card>header{display:flex;justify-content:space-between;gap:10px;align-items:baseline;margin-bottom:10px;flex-wrap:wrap}
.gm-card h2{margin:0;font-size:14.5px;font-weight:650}.gm-card>header>span{font-size:12px;color:var(--muted)}.gm-card h3{font-size:13.5px;margin:16px 0 8px}
.gm-big{font-size:18px;font-weight:650;margin:2px 0 6px}
.gm-legend{display:inline-flex;gap:6px;align-items:center;font-size:11.5px}.gm-legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-left:8px}
.l-prev,.b-prev{background:#2fb3a8;fill:#2fb3a8}.l-corr,.b-corr{background:#e0905a;fill:#e0905a}.l-crit{background:var(--crit)}.l-norm{background:#3d8fd1}.l-float{background:transparent;border:1px dashed #7d929a}
.gm-chart{width:100%;height:auto;display:block}.gm-chart text{fill:#8aa0a8;font-size:10px}.gm-chart .grid{stroke:#26343a;stroke-width:1}
.gm-alerts,.gm-inbox,.gm-mini,.gm-checks{list-style:none;margin:0;padding:0}
.gm-alerts li{display:flex;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}.gm-alerts li:last-child{border:0}.gm-alerts li span{flex:1}.gm-alerts .warn .ico{color:var(--warn)}.gm-alerts .ok .ico{color:var(--ok)}
.gm-inbox{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px}
.gm-inbox button{width:100%;text-align:left;display:flex;flex-direction:column;gap:3px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel2);cursor:pointer}
.gm-inbox button:hover{border-color:#3f6460}.gm-inbox strong{font-size:12px;color:var(--accent)}.gm-inbox span{font-size:13px}.gm-inbox small{font-size:11.5px;color:var(--muted);display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.gm-mini li{padding:6px 0;border-bottom:1px solid var(--line);font-size:13px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.gm-details{margin-top:10px;font-size:12.5px;color:var(--muted)}.gm-details summary{cursor:pointer;color:#bcd0d6}
.gm-progress{display:block;height:5px;border-radius:3px;background:#24323a;overflow:hidden;margin-top:5px}.gm-progress i{display:block;height:100%;background:var(--accent)}.gm-progress.warn i{background:var(--warn)}
.gm-bar{display:flex;height:9px;border-radius:5px;background:#24323a;overflow:hidden;min-width:120px}.gm-bar .b1{background:#2fb3a8}.gm-bar .b2{background:#3d8fd1}

/* Tablas */
.gm-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}
.gm-card .gm-table-wrap{border:0;background:transparent}
.gm-table{width:100%;border-collapse:collapse;font-size:13px}
.gm-table th{position:sticky;top:0;background:#182227;text-align:left;font-weight:600;font-size:11.5px;color:#9db0b7;padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap}
.gm-table td{padding:8px 10px;border-bottom:1px solid #222e33;vertical-align:top}
.gm-table tr:last-child td{border-bottom:0}.gm-table td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.gm-table td.wrap{min-width:220px}.gm-table td small{color:var(--muted)}
.gm-table tr.click{cursor:pointer}.gm-table tr.click:hover td{background:#1a252a}
.gm-table tr.crit td:first-child{box-shadow:inset 3px 0 0 var(--crit)}
.gm-table.tree tr.parent td{background:#172126;font-weight:600}.gm-indent{display:inline-block;width:16px}
.gm-dur{width:76px;min-height:28px;padding:3px 6px;text-align:right}
.gm-more{text-align:center}
.gm-empty{display:flex;gap:12px;align-items:center;justify-content:center;padding:28px;border:1px dashed var(--line2);border-radius:var(--radius);color:var(--muted)}.gm-empty .ico{width:22px;height:22px}.gm-empty p{margin:0}.gm-empty strong{color:#c9d6da}

/* Inspecciones */
.gm-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}
.gm-insp{display:flex;flex-direction:column;gap:4px;text-align:left;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);cursor:pointer}
.gm-insp:hover{border-color:#3f6460}.gm-insp strong{font-size:14px}.gm-insp>span{font-size:12.5px;color:var(--muted)}.gm-insp small{color:var(--muted)}.gm-insp .gm-badge{align-self:flex-start;margin-top:4px}
.gm-eyebrow{margin:0;font-size:11px;color:var(--accent);letter-spacing:.04em}
.gm-points{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.gm-points li{border:1px solid var(--line);border-radius:var(--radius);padding:12px;background:var(--panel2)}
.gm-point-head{display:flex;flex-direction:column;gap:2px;margin-bottom:8px}.gm-point-head small{color:var(--muted)}
.gm-seg{display:inline-flex;border:1px solid var(--line2);border-radius:var(--radius);overflow:hidden;margin-bottom:8px}
.gm-seg label{flex-direction:row;align-items:center;gap:6px;padding:6px 12px;cursor:pointer;color:#c9d6da;font-size:12.5px;border-right:1px solid var(--line2)}.gm-seg label:last-child{border:0}
.gm-seg input{width:auto;min-height:0;accent-color:var(--accent)}
.gm-seg label:has(input:checked).r-ok{background:#1e3d2e;color:#a7f0c5}.gm-seg label:has(input:checked).r-observacion{background:#4a3a16;color:#ffd88f}.gm-seg label:has(input:checked).r-defecto{background:#4f231f;color:#ffb3a8}
.gm-thumb{width:84px;height:62px;object-fit:cover;border-radius:4px;border:1px solid var(--line2)}
.gm-file{flex-direction:row;align-items:center;gap:8px;border:1px dashed var(--line2);border-radius:var(--radius);padding:8px 12px;cursor:pointer;color:#c9d6da;width:fit-content}
.gm-file.small{padding:5px 10px}.gm-file input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}.gm-file:focus-within{outline:2px solid var(--accent)}.gm-file.disabled{opacity:.5;cursor:not-allowed}
.gm-preview{max-width:220px;border-radius:4px;border:1px solid var(--line2)}

/* Diálogos */
.gm-dialog{width:min(920px,calc(100vw - 32px));max-height:calc(100dvh - 40px);padding:0;border:1px solid var(--line2);border-radius:10px;background:#131b1f;color:var(--text);display:none;flex-direction:column}
.gm-dialog[open]{display:flex}.gm-dialog::backdrop{background:rgba(4,8,10,.72)}
.gm-dlg-head{display:flex;justify-content:space-between;gap:16px;padding:16px 20px 12px;border-bottom:1px solid var(--line)}
.gm-dlg-head h2{margin:2px 0 6px;font-size:18px;line-height:1.3}.gm-dlg-head p{margin:0;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.gm-dlg-body{padding:14px 20px 18px;overflow:auto;display:flex;flex-direction:column;gap:14px;flex:1}
.gm-dlg-body h3{margin:4px 0 8px;font-size:14px}.gm-dlg-body h4{margin:0 0 8px;font-size:13px}
.gm-dlg-foot{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;padding:12px 20px;border-top:1px solid var(--line)}.gm-dlg-foot:empty{display:none}
.gm-flow{display:flex;list-style:none;margin:0;padding:0;gap:4px;flex-wrap:wrap;counter-reset:f}
.gm-flow li{flex:1;min-width:92px;font-size:11px;color:#7d929a;padding:6px 6px 0;border-top:3px solid #2a383e;counter-increment:f}
.gm-flow li::before{content:counter(f) ". "}.gm-flow li.done{border-color:#2a8c84;color:#9fd9d3}.gm-flow li.now{border-color:var(--accent);color:var(--text);font-weight:600}
.gm-dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px 18px;margin:0}
.gm-dl div{display:flex;flex-direction:column;gap:1px;padding-bottom:6px;border-bottom:1px solid #222e33}.gm-dl dt{font-size:11.5px;color:var(--muted)}.gm-dl dd{margin:0;font-size:13px}
.gm-desc{margin:0;white-space:pre-wrap;background:var(--panel2);border-radius:var(--radius);padding:10px 12px}
.gm-actions{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid #2a5c57;border-radius:var(--radius);background:#132623}
.gm-inline{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end}.gm-inline label{min-width:130px}.gm-inline label.grow{flex:1;min-width:200px}
.gm-block{display:flex;flex-direction:column;gap:10px}
.gm-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;align-items:end}
.gm-loto{border:1px solid var(--line2);border-radius:var(--radius);padding:8px 12px;margin:0;display:flex;flex-direction:column;gap:6px}.gm-loto legend{font-size:12px;color:var(--muted);padding:0 4px}
.gm-loto label,.gm-check{flex-direction:row;align-items:flex-start;gap:8px;color:var(--text);font-size:13px}.gm-loto input,.gm-check input,.gm-checks input{width:16px;height:16px;min-height:0;margin-top:2px;accent-color:var(--accent);flex-shrink:0}
.gm-note{margin:0;padding:8px 12px;border-left:3px solid var(--accent);background:#14282a;border-radius:4px;font-size:12.5px;display:flex;gap:8px;align-items:center}.gm-note.warn{border-color:var(--warn);background:#2a2414}
.gm-evidence{list-style:none;padding:0;margin:0 0 10px;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}
.gm-evidence li{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:var(--radius);padding:6px;background:var(--panel2)}
.gm-evidence img,.gm-doc{width:64px;height:48px;object-fit:cover;border-radius:4px;flex-shrink:0;display:grid;place-items:center;background:#22313a}
.gm-evidence div{display:flex;flex-direction:column;min-width:0}.gm-evidence strong{font-size:12.5px;overflow-wrap:anywhere}.gm-evidence small{color:var(--muted);font-size:11px}
.gm-timeline{list-style:none;margin:0;padding:0 0 0 14px;border-left:2px solid var(--line2)}
.gm-timeline li{position:relative;padding:0 0 10px 6px;display:flex;flex-direction:column;font-size:12.5px}
.gm-timeline li::before{content:"";position:absolute;left:-20px;top:5px;width:10px;height:10px;border-radius:50%;background:var(--accent2);border:2px solid #131b1f}
.gm-timeline time{color:var(--muted);font-size:11px}.gm-timeline span{color:#b6c7cd}

/* Parada / Gantt */
.gm-gantt-card{padding-bottom:6px}
.gm-gantt{--name:290px;overflow-x:auto;font-size:12px}
.gm-gantt .g-head,.gm-gantt .g-row{display:grid;grid-template-columns:var(--name) minmax(calc(var(--days) * 46px),1fr);align-items:center;min-height:30px}
.gm-gantt .g-head{position:sticky;top:0;color:var(--muted);font-size:11px;border-bottom:1px solid var(--line)}
.g-name{position:sticky;left:0;background:var(--panel);padding:5px 10px 5px 0;z-index:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.g-name b{color:var(--muted);font-weight:600;margin-right:4px}
.g-days{display:grid;grid-template-columns:repeat(var(--days),1fr);height:100%}
.g-days span{border-left:1px solid #222e33;text-align:center;padding:3px 0;display:flex;flex-direction:column;justify-content:center}
.g-days small{font-size:10px;color:#71878f}
.g-track{position:relative;height:30px;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(100% / var(--days) - 1px),#222e33 calc(100% / var(--days) - 1px),#222e33 calc(100% / var(--days)))}
.g-bar{position:absolute;top:7px;height:16px;border-radius:3px;background:#3d8fd1}
.g-row.crit .g-bar{background:var(--crit)}.g-row.crit .g-name{color:#ffd1cb}
.g-float{position:absolute;top:14px;height:0;border-top:2px dashed #7d929a}
.g-row{border-bottom:1px solid #1d282d}
.g-sep{padding:12px 0 4px;color:var(--muted);font-size:11.5px;border-bottom:1px solid var(--line)}
.g-row.res .g-days span{font-weight:600;font-variant-numeric:tabular-nums}.g-row.res .use{background:#16413d;color:#a7f3ea}.g-row.res .over{background:#5a2621;color:#ffc3b9}
.gm-checks li{padding:7px 0;border-bottom:1px solid var(--line);display:flex}.gm-checks label{flex-direction:row;gap:8px;color:var(--text);font-size:13px;cursor:pointer}
.gm-checks li>span{display:flex;flex-direction:column;font-size:13px}.gm-checks small{color:var(--muted);font-size:11px}
.gm-auto{display:grid;place-items:center;width:22px;margin-right:6px;color:var(--warn)}.gm-checks li.done .gm-auto{color:var(--ok)}

/* Avisos emergentes */
.gm-toasts{position:fixed;right:16px;bottom:40px;display:flex;flex-direction:column;gap:8px;z-index:50;max-width:min(420px,calc(100vw - 32px))}
.gm-toast{padding:10px 14px;border-radius:var(--radius);background:#1d3a38;border:1px solid #2c7a72;color:#e6fffb;font-size:13px;box-shadow:0 8px 24px rgba(0,0,0,.35);transition:opacity .3s,transform .3s}
.gm-toast.error{background:#3d1f1b;border-color:#7a3a33;color:#ffe1dc}.gm-toast.out{opacity:0;transform:translateY(6px)}

/* Responsive */
@media (max-width:1100px){.gm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.span-3{grid-column:1/-1}.gm-ctx{display:none}}
@media (max-width:820px){
  .gm-app{grid-template-columns:1fr;grid-template-rows:52px minmax(0,1fr) auto;grid-template-areas:"top" "main" "status"}
  .gm-top{gap:8px;padding:0 10px}.gm-menu{display:grid}.gm-quick{display:none}.gm-hide-sm{display:none}
  .gm-brand b{font-size:13px}.gm-brand span{font-size:12.5px}.gm-user{margin-left:auto;position:relative;padding:3px}.gm-user select{position:absolute;inset:0;opacity:0;width:100%;max-width:none}
  .gm-nav{position:fixed;top:52px;bottom:0;left:0;width:min(290px,84vw);z-index:30;transform:translateX(-102%);transition:transform .2s ease;box-shadow:8px 0 24px rgba(0,0,0,.4)}
  .nav-open .gm-nav{transform:none}.nav-open .gm-scrim{display:block;position:fixed;inset:52px 0 0;background:rgba(0,0,0,.5);z-index:29}
  .gm-head{padding:14px 16px 6px}.gm-head h1{font-size:19px}.gm-view{padding:6px 16px 28px}
  .gm-grid,.gm-grid.two{grid-template-columns:1fr}.span-2,.span-3{grid-column:auto}
  .gm-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.gm-kpi strong{font-size:19px}
  .gm-status{flex-direction:column;align-items:flex-start;gap:0;padding:4px 12px}
  .gm-toolbar>.gm-search{max-width:none;min-width:100%}
  .gm-table-wrap{border:0;background:transparent}
  .gm-table thead{display:none}.gm-table,.gm-table tbody,.gm-table tr,.gm-table td{display:block;width:100%}
  .gm-table tr{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);margin-bottom:8px;padding:6px 10px}
  .gm-card .gm-table tr{background:var(--panel2)}
  .gm-table td{border:0;padding:3px 0;display:flex;justify-content:space-between;gap:12px;text-align:right}
  .gm-table td::before{content:attr(data-label);color:var(--muted);font-size:11.5px;text-align:left;flex-shrink:0}
  .gm-table td[data-label=""]::before{display:none}
  .gm-table td.wrap{min-width:0}.gm-table td.num{white-space:normal}
  .gm-table tr.crit td:first-child{box-shadow:none}.gm-table tr.crit{border-left:3px solid var(--crit)}
  .gm-gantt{--name:150px}.gm-gantt .g-head,.gm-gantt .g-row{grid-template-columns:var(--name) calc(var(--days) * 40px)}
  .gm-dialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0;margin:0}
  .gm-dlg-head,.gm-dlg-body,.gm-dlg-foot{padding-left:14px;padding-right:14px}
  .gm-flow li{min-width:70px;font-size:10px}
  .gm-inline label,.gm-inline label.grow{min-width:100%}
  .gm-frame{min-height:calc(100dvh - 150px)}
  .gm-toasts{left:12px;right:12px;bottom:72px}
}

/* Impresión */
#gm-print{display:none}
@media print{
  @page{size:A4;margin:14mm 12mm}
  body.gm-printing>*{display:none!important}body.gm-printing #gm-print{display:block!important}
  html,body{background:#fff!important;color:#111!important;height:auto}
  .pr-doc{font:10.5pt/1.4 Arial,sans-serif;color:#111}
  .pr-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2px solid #1f6f69;padding-bottom:6px;margin-bottom:10px}
  .pr-head strong{display:block;font-size:12pt;letter-spacing:.05em;color:#1f6f69}.pr-head span{font-size:9pt;color:#444}
  .pr-id{text-align:right}.pr-id strong{font-size:14pt;color:#111;letter-spacing:0}
  .pr-doc h1{font-size:14pt;margin:4px 0 10px}.pr-doc h2{font-size:11pt;margin:14px 0 6px;border-bottom:1px solid #bbb;padding-bottom:2px}
  .pr-doc table{width:100%;border-collapse:collapse;page-break-inside:auto}.pr-doc tr{page-break-inside:avoid}
  .pr-grid th,.pr-grid td,.pr-list th,.pr-list td,.pr-sign td{border:1px solid #999;padding:4px 6px;text-align:left;vertical-align:top;font-size:9.5pt}
  .pr-grid th,.pr-list th{background:#eef3f3;width:auto;font-weight:600}
  .pr-list td.box{width:22px;text-align:center}.pr-list td.sig{width:110px;color:#999;font-size:8pt}
  .pr-box{border:1px solid #999;min-height:60px;padding:6px;white-space:pre-wrap}
  .pr-ev{display:flex;flex-wrap:wrap;gap:8px}.pr-ev figure{margin:0;width:150px}.pr-ev img{width:150px;height:110px;object-fit:cover;border:1px solid #999}.pr-ev figcaption{font-size:8pt}
  .pr-sign{margin-top:16px;page-break-inside:avoid}.pr-sign tr:last-child td{height:54px}
  .pr-gantt tr.crit td{color:#b3261e;font-weight:600}
  .pr-gantt td.bar{position:relative;width:35%;min-width:200px}.pr-gantt td.bar i{position:absolute;top:5px;bottom:5px;background:#3d8fd1;-webkit-print-color-adjust:exact;print-color-adjust:exact}.pr-gantt tr.crit td.bar i{background:#d93a2b}
  .pr-foot{margin-top:14px;font-size:8pt;color:#666;border-top:1px solid #ccc;padding-top:4px}
}
