:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#183449;background:#f3f6f7;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input,textarea,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #e7834e;outline-offset:2px}.hidden{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.topbar{height:76px;padding:0 max(22px,calc((100vw - 1120px)/2));background:#102a43;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:39px;height:39px;border-radius:10px;background:#e7834e;color:#102a43;font-weight:900;display:grid;place-items:center;letter-spacing:-.08em}.brand strong,.brand small{display:block}.brand strong{font-size:15px;letter-spacing:.01em}.brand small{font-size:11px;color:#bbcad4;margin-top:2px}.connection{font-size:12px;border:1px solid #6d8ba0;padding:7px 10px;border-radius:99px;white-space:nowrap}.connection.offline{border-color:#e7834e;color:#ffccb0}.shell{max-width:1120px;margin:auto;padding:0 22px 70px}.intro{display:flex;align-items:end;justify-content:space-between;gap:24px;padding:48px 0 42px;border-bottom:1px solid #d6e0e6}.eyebrow{font-size:11px;letter-spacing:.16em;font-weight:800;color:#c26334;margin:0 0 10px}.intro h1{font-family:Georgia,serif;font-weight:500;font-size:clamp(38px,5vw,61px);line-height:1.03;letter-spacing:-.035em;margin:0;color:#102a43}.intro h1 em{color:#c26334;font-style:normal}.intro p:last-child{color:#647989;max-width:520px;line-height:1.5;margin:16px 0 0}.button{display:inline-flex;align-items:center;justify-content:center;border-radius:10px;border:1px solid transparent;font-weight:700;font-size:14px;padding:12px 17px;min-height:44px;text-decoration:none;white-space:nowrap}.button.primary{background:#d7723f;color:#fff;box-shadow:0 3px 8px #d7723f22}.button.primary:hover{background:#bb5d30}.button.secondary{background:#fff;border-color:#cbd8df;color:#1b4057}.button.secondary:hover{background:#eef4f6}.tabs{display:flex;gap:30px;border-bottom:1px solid #d6e0e6;margin-bottom:29px;overflow:auto}.tab{border:0;background:none;color:#617687;font-weight:700;padding:18px 0 15px;white-space:nowrap;border-bottom:3px solid transparent}.tab.active{border-color:#d7723f;color:#102a43}.section-head,.detail-heading,.card-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}.section-head{margin:0 0 18px}.section-head h2,.detail-heading h2{font-family:Georgia,serif;font-weight:500;font-size:33px;color:#102a43;margin:0}.section-head h3{font-family:Georgia,serif;font-size:25px;font-weight:500;margin:0}.count{font-size:13px;font-weight:700;color:#63798a}.stack{display:grid;gap:12px}.stack.compact{gap:8px}.work-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:14px}.card,.info-card{background:#fff;border:1px solid #dce5e9;border-radius:14px;box-shadow:0 4px 18px #102a4309}.card{padding:20px}.card:hover{border-color:#b5c9d3}.work-card{width:100%;text-align:left;display:block}.work-card h3,.agenda-card h3{font-size:19px;margin:8px 0;color:#102a43}.work-card p,.agenda-card p{font-size:13px;color:#6c8090;line-height:1.45;margin:6px 0}.card-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:19px;border-top:1px solid #edf1f3;padding-top:13px;font-size:12px;color:#647989}.pill{font-size:11px;font-weight:800;letter-spacing:.04em;color:#175f80;background:#e9f4f8;padding:5px 8px;border-radius:5px;display:inline-block}.pill.sanitation{color:#74508a;background:#f2eaf7}.pill.mixed{color:#7c6b28;background:#f7f2dd}.agenda-card{display:flex;align-items:center;gap:16px}.date-tile{min-width:62px;text-align:center;background:#eaf2f5;border-radius:10px;padding:10px;color:#143d55}.date-tile strong{display:block;font-size:25px;line-height:1}.date-tile span{font-size:11px;text-transform:uppercase;font-weight:800}.agenda-body{flex:1}.agenda-card .button{margin-left:auto}.search{display:block;margin-bottom:20px}.search input{width:100%;max-width:430px;padding:12px 14px;border:1px solid #cbd8df;background:#fff;border-radius:9px}.empty{background:#fff;border:1px dashed #b9cbd4;border-radius:14px;padding:32px;color:#607687;text-align:center}.empty strong{display:block;color:#183449;margin-bottom:6px}.info-card{padding:22px}.info-card h3{margin:0 0 8px;color:#102a43;font-size:17px}.info-card p{color:#647989;line-height:1.5;margin:8px 0 17px}.info-card+.info-card{margin-top:14px}.fine{font-size:12px!important;color:#6e8190;line-height:1.45}.file-button{position:relative;overflow:hidden;cursor:pointer}.file-button input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}.text-button{border:0;background:none;padding:0;color:#326581;font-weight:700;margin:0 0 25px}.detail-heading{margin-bottom:24px;align-items:end}.muted{color:#6d8290;font-size:14px;margin:8px 0 0}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.detail-grid .info-card+.info-card{margin-top:0}dl{display:grid;grid-template-columns:100px 1fr;gap:11px;margin:18px 0 22px;font-size:13px}dt{color:#758895}dd{margin:0;color:#203d50;font-weight:600;overflow-wrap:anywhere}.card-heading{align-items:start}.card-heading .button{font-size:12px;padding:8px 10px;min-height:36px}.file-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #edf1f3;padding:12px 0;font-size:13px}.file-row span{overflow-wrap:anywhere}.file-row button,.file-row a{border:0;background:none;color:#326581;font-weight:700;white-space:nowrap}.visits-head{margin:34px 0 17px}.filter-label{font-size:12px;color:#68808d}.filter-label select{display:block;margin-top:5px;max-width:220px;background:white;border:1px solid #cbd8df;border-radius:8px;padding:8px}.visit-card{padding:20px 22px}.visit-top{display:flex;justify-content:space-between;align-items:start;gap:12px}.visit-date{font-weight:800;color:#102a43}.visit-card p{white-space:pre-wrap;line-height:1.5;color:#314b5c;margin:16px 0}.location-line{font-size:12px;color:#6c8090;margin:12px 0}.photos{display:flex;gap:9px;overflow:auto;padding-top:7px}.photos img{width:120px;height:95px;object-fit:cover;border-radius:8px;cursor:zoom-in}.dialog{width:min(94vw,570px);max-height:min(92vh,850px);border:0;border-radius:17px;box-shadow:0 24px 90px #102a4366;padding:27px;background:#fff;color:#183449}.dialog::backdrop{background:#102a4388}.dialog form{display:grid;gap:16px}.dialog-head{display:flex;justify-content:space-between;align-items:start}.dialog h2{font-family:Georgia,serif;font-size:29px;font-weight:500;margin:0}.close{border:0;background:none;font-size:30px;line-height:1;color:#617687}.dialog label:not(.file-button){font-size:13px;font-weight:700;display:grid;gap:7px}.dialog label span{color:#c26334}.dialog input:not([type=file]):not([type=hidden]),.dialog textarea,.dialog select{width:100%;padding:11px 12px;border:1px solid #cbd8df;border-radius:8px;background:#fff;color:#183449}.dialog textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid #edf1f3;padding-top:18px}.location-box{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f0f5f7;border-radius:10px;padding:14px}.location-box strong{font-size:13px}.location-box p{margin:4px 0 0}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(20px);background:#102a43;color:#fff;padding:12px 17px;border-radius:9px;box-shadow:0 7px 25px #102a433d;font-size:13px;opacity:0;pointer-events:none;transition:.2s;max-width:min(90vw,440px);text-align:center}.toast.visible{opacity:1;transform:translateX(-50%) translateY(0)}
@media(max-width:700px){.topbar{height:65px;padding:0 16px}.shell{padding:0 16px 65px}.intro{padding:36px 0 30px;display:block}.intro .button{margin-top:22px;width:100%}.tabs{gap:22px}.detail-grid{grid-template-columns:1fr}.detail-heading{display:block}.detail-heading .button{margin-top:18px}.agenda-card{align-items:start}.agenda-card .button{padding:8px 10px;min-height:36px}.card{padding:16px}.dialog{padding:20px}.form-row{grid-template-columns:1fr}.location-box{display:block}.location-box .button{margin-top:10px;width:100%}}

/* Paleta azul eléctrico y naranja. */
:root{color:#082752;background:#eff5ff}
button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-color:#ff7a18}
.topbar{background:#0756e8}
.brand-mark{background:#ff7a18;color:#082752}
.brand small{color:#d8e6ff}
.connection{border-color:#a9cbff}
.connection.offline{border-color:#ffb066;color:#fff2e7}
.eyebrow{color:#b94a00}
.intro h1,.section-head h2,.detail-heading h2,.section-head h3,.dialog h2,.info-card h3,.work-card h3,.agenda-card h3,.visit-date{color:#082752}
.intro h1 em{color:#e65c00}
.button.primary{background:#ff7a18;color:#082752;box-shadow:0 3px 9px #ff7a182b}
.button.primary:hover{background:#ef6500}
.button.secondary{border-color:#bfd0ee;color:#064cce}
.button.secondary:hover{background:#e7efff}
.tab.active{border-color:#ff7a18;color:#082752}
.card:hover{border-color:#80aaff}
.pill{color:#064cce;background:#e5eeff}
.pill.sanitation{color:#a84100;background:#fff0e4}
.pill.mixed{color:#0756e8;background:#e5eeff}
.date-tile{color:#064cce;background:#e5eeff}
.text-button,.file-row button,.file-row a{color:#064cce}
.location-box{background:#eaf1ff}
.toast{background:#0756e8}
.setup-warning{max-width:1120px;margin:15px auto 0;padding:12px 16px;border:1px solid #ffb066;border-radius:10px;background:#fff0e4;color:#713000;font-size:13px;line-height:1.5}
.work-notes{margin-top:14px}
.note-form{display:grid;grid-template-columns:145px 1fr auto;gap:10px;align-items:start;margin:16px 0}
.note-form select,.note-form textarea{width:100%;border:1px solid #bfd0ee;border-radius:8px;background:#fff;color:#082752;padding:10px 12px}
.note-form textarea{resize:vertical;min-height:44px}
.note-entry{border-top:1px solid #e5eeff;padding:12px 0}
.note-entry p{white-space:pre-wrap;color:#203d50;margin:7px 0 0}
.note-entry small{color:#647989;margin-left:9px}
@media(max-width:700px){.setup-warning{margin:12px 16px 0}.note-form{grid-template-columns:1fr}.note-form .button{width:100%}}
.agenda-status{display:inline-block;margin-left:7px;padding:5px 8px;border-radius:5px;font-size:11px;font-weight:800;background:#e5eeff;color:#064cce}
.agenda-status.overdue{background:#fff0e4;color:#a84100}
.agenda-status.today{background:#fff0e4;color:#713000}
.date-tile small{display:block;margin-top:2px;font-size:10px}
.visit-actions{display:flex;align-items:center;gap:8px}
.visit-actions .button{min-height:32px;padding:5px 9px;font-size:12px}
.pressure-section{margin-top:14px}.pressure-section .card-heading{align-items:center}.pressure-section .fine{margin-bottom:14px}.pressure-row{border-top:1px solid #e5eeff;padding:12px 0;display:flex;align-items:center;justify-content:space-between;gap:12px}.pressure-row strong,.pressure-row small{display:block}.pressure-row strong{color:#082752;font-size:13px}.pressure-row small{color:#647989;margin-top:4px}.pressure-actions{display:flex;gap:7px}.pressure-actions .button{padding:7px 9px;min-height:36px;font-size:12px}.pressure-dialog{width:min(94vw,680px)}.pressure-dialog h3{font-size:15px;color:#082752;margin:4px 0 -6px}.pressure-print{display:none}
.sketch-section{margin-top:14px}.sketch-section .fine{margin-bottom:16px}.sketch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.sketch-card{border:1px solid #dce5e9;border-radius:10px;overflow:hidden;padding:10px;display:grid;gap:8px}.sketch-card img{width:100%;aspect-ratio:900/520;object-fit:contain;background:#fff;border:1px solid #dce5e9}.sketch-card strong{color:#082752}.sketch-card p{font-size:12px;margin:0;white-space:pre-wrap}.sketch-card-actions{display:flex;gap:7px;flex-wrap:wrap}.sketch-card-actions .button{font-size:11px;padding:6px 8px;min-height:34px}.sketch-dialog{width:min(96vw,1040px)}.sketch-tools{display:grid;grid-template-columns:135px 1fr 170px;gap:12px;align-items:end}.sketch-tools input[type=color]{height:43px;padding:3px!important}.sketch-tools input[type=range]{padding:0!important;border:0!important}.sketch-tools output{font-size:12px;color:#647989}.sketch-actions{display:flex;flex-wrap:wrap;gap:7px}.sketch-actions .button{font-size:12px;padding:7px 11px;min-height:36px}.sketch-actions .active-tool{background:#e5eeff;border-color:#0756e8;color:#082752}#sketch-canvas,.signature-box canvas{display:block;width:100%;height:auto;background:#fff;border:2px solid #bfd0ee;border-radius:9px;touch-action:none;cursor:crosshair}#sketch-canvas{aspect-ratio:900/520}.signature-box{background:#f8fbff;border:1px solid #dce5e9;border-radius:10px;padding:10px}.signature-box .card-heading{margin-bottom:8px}.signature-box strong{font-size:13px;color:#082752}.signature-box .button{font-size:11px;padding:6px 9px;min-height:32px}
.altimeter-card{max-width:640px;padding:28px;border:1px solid #bfd0ee;border-top:5px solid #ff7a18;border-radius:16px;background:linear-gradient(145deg,#f4f8ff,#fff);box-shadow:0 8px 30px #08275212}.altimeter-label{margin:0;color:#53677d;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.altimeter-reading{display:flex;align-items:baseline;gap:12px;color:#0756e8;margin:8px 0}.altimeter-reading output{font-size:clamp(64px,11vw,108px);font-weight:800;line-height:1.1;letter-spacing:-.07em;font-variant-numeric:tabular-nums}.altimeter-reading span{font-size:34px;font-weight:700}.altimeter-status{min-height:36px;margin:10px 0 18px;color:#082752;line-height:1.4}.altimeter-details{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px 0;border-top:1px solid #dce5f5;border-bottom:1px solid #dce5f5}.altimeter-details span,.altimeter-details strong{display:block}.altimeter-details span{color:#617687;font-size:12px}.altimeter-details strong{color:#082752;font-size:15px;margin-top:4px}.altimeter-actions{display:flex;gap:10px;margin-top:20px}.altimeter-actions .button:disabled{opacity:.45;cursor:not-allowed}.altimeter-note{max-width:640px;margin:16px 0;color:#53677d;font-size:13px;line-height:1.55}
@media(max-width:700px){.pressure-section .card-heading,.pressure-row{align-items:stretch;flex-direction:column}.pressure-actions .button{flex:1}}
@media(max-width:700px){.sketch-section .card-heading{align-items:stretch;flex-direction:column}.sketch-tools{grid-template-columns:1fr 1fr}.sketch-tools label:last-child{grid-column:1/-1}.sketch-actions .button{flex:1}}
@media(max-width:700px){.altimeter-card{padding:20px}.altimeter-actions .button{flex:1}.altimeter-details{grid-template-columns:1fr}}
.brand-icon{width:48px;height:48px;object-fit:contain;flex:none}.intro-icon{width:clamp(96px,13vw,148px);height:auto;aspect-ratio:1;object-fit:contain;flex:none;filter:drop-shadow(0 10px 18px #0827521e)}
@media(max-width:700px){.brand-icon{width:42px;height:42px}.intro-icon{display:block;width:118px;margin:18px auto 0}}
@media(max-width:700px){.intro{padding:10px 0 12px}.intro>div,.intro-icon{display:none}.intro .button{margin:0;width:100%}.tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;overflow:visible;margin-bottom:18px}.tab{min-width:0;padding:14px 2px 12px;font-size:12px;text-align:center;white-space:nowrap}}
body{background-color:#f8fbff;background-image:linear-gradient(#ffffff55,#ffffff55),url("./fondo-papel-cuadriculado-v1.png");background-repeat:no-repeat,no-repeat;background-position:center top,center center;background-size:cover,cover;background-attachment:fixed,fixed}
.visits-actions{display:flex;align-items:end;gap:12px}.visits-actions .button{min-height:38px;padding:8px 12px}.visits-actions .button:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:700px){.visits-head{align-items:stretch;flex-direction:column}.visits-actions{align-items:stretch;flex-direction:column}.visits-actions .button{width:100%}.filter-label select{max-width:none;width:100%}}
@media print{
  @page{size:A4;margin:13mm 13mm 16mm}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  body{background:#fff;color:#082752;font-family:Arial,sans-serif;font-size:9pt}
  body>:not(#pressure-print){display:none!important}
  .pressure-print{display:block!important;max-width:none;margin:0;padding:0}
  .report-page{min-height:267mm;display:flex;flex-direction:column;box-sizing:border-box;break-after:page}
  .report-page:last-child{break-after:auto}
  .report-header{display:grid;grid-template-columns:52mm 1fr;column-gap:10mm;align-items:center;border-bottom:2px solid #0756e8;padding:0 0 4mm;min-height:23mm}
  .report-header img{grid-row:1/3;width:51mm;height:auto;object-fit:contain}
  .report-brand{color:#082752;font-size:14pt;font-weight:700;line-height:1.15}
  .report-subtitle{color:#53677d;font-size:8pt}
  .report-status{align-self:flex-start;color:#9a3d00;font-size:7pt;font-weight:700;margin:3mm 0 1mm}
  .report-block{margin:3mm 0 0;break-inside:avoid}
  .report-block h2{font-size:10pt;color:#0756e8;background:#eaf1ff;border-left:2mm solid #ff7a18;padding:2mm 3mm;margin:0 0 2mm;font-weight:500}
  .report-grid{display:grid;gap:1.5mm 4mm}
  .report-columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .report-columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .report-field{display:flex;flex-direction:column;justify-content:flex-end;min-width:0;min-height:10mm;border-bottom:1px solid #0756e8;padding:1mm 0;break-inside:avoid}
  .report-field span{font-size:7pt;color:#53677d}
  .report-field strong{font-size:8pt;color:#082752;font-weight:600;white-space:pre-wrap;overflow-wrap:anywhere}
  .report-caution{color:#9a3d00;font-size:7pt;line-height:1.3;margin:2mm 0 0;break-inside:avoid}
  .signature-grid{display:grid;grid-template-columns:1fr 1fr;gap:4mm;margin-top:3mm}
  .report-signature{height:25mm;border:1px solid #0756e8;padding:2mm;display:flex;flex-direction:column;justify-content:flex-end;box-sizing:border-box}
  .report-signature span,.report-signature small{font-size:7pt;color:#53677d}
  .report-signature img{width:100%;max-height:13mm;object-fit:contain;object-position:left bottom}
  .report-signature .signature-line{height:12mm}
  .report-signature strong{font-size:7.5pt;color:#082752}
  .report-scheme-caption{font-size:8pt;color:#53677d;margin:2mm 0}
  .report-scheme-frame{border:1px solid #b9cbe9;min-height:165mm;display:flex;align-items:center;justify-content:center}
  .report-scheme-frame img{max-width:100%;max-height:165mm;object-fit:contain}
  .report-scheme-frame p{font-size:8pt;color:#53677d;text-align:center;padding:4mm}
  .report-footer{border-top:1px solid #a6bce3;padding-top:2mm;margin-top:auto;color:#53677d;font-size:7pt}
}
