:root{--ink:#08131f;--muted:#647384;--line:#e5ebef;--bg:#f4f7f8;--card:#fff;--green:#16c98d;--green2:#0b9f70;--red:#e34655;--orange:#ef8c37;--blue:#2878d0;--shadow:0 16px 45px rgba(5,22,38,.08)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Manrope,system-ui,sans-serif;background:var(--bg);color:var(--ink)}button,input,select,textarea{font:inherit}button{cursor:pointer}.shell{min-height:100vh;display:grid;grid-template-columns:258px 1fr}.sidebar{background:var(--ink);color:#fff;padding:28px 18px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:11px;padding:0 10px 35px}.brand-mark{width:43px;height:43px;border-radius:13px;background:var(--green);color:var(--ink);display:grid;place-items:center;font-weight:900}.brand strong,.brand span{display:block}.brand span{font-size:12px;color:#8ca0b1;letter-spacing:.14em;text-transform:uppercase}.sidebar nav{display:grid;gap:7px}.nav-btn{border:0;background:transparent;color:#9babb9;padding:13px 14px;border-radius:11px;text-align:left;display:flex;align-items:center;gap:12px;font-weight:650}.nav-btn.active,.nav-btn:hover{background:#132637;color:#fff}.nav-btn.active{box-shadow:inset 3px 0 var(--green)}.nav-btn b{font-size:18px;width:23px}.profile-card{margin-top:auto;padding:14px 8px 0;border-top:1px solid #1e3345;display:flex;align-items:center;gap:10px}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#1b3b4d;color:var(--green);font-weight:800}.profile-card strong,.profile-card small{display:block;font-size:12px}.profile-card small{color:#8395a5}.icon-btn{border:0;background:transparent;font-size:20px;color:inherit;margin-left:auto;position:relative}main{min-width:0;padding:30px 36px 60px;max-width:1500px;width:100%;margin:auto}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}header p,.eyebrow{margin:0;color:var(--green2);font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:800}h1{font-size:28px;margin:4px 0 0}h2{margin:3px 0;font-size:22px}.header-actions{display:flex;align-items:center;gap:12px}.notification{width:42px;height:42px;border:1px solid var(--line);background:white;border-radius:12px}.notification i{position:absolute;right:1px;top:-5px;background:var(--red);color:white;border-radius:20px;font-size:10px;font-style:normal;padding:2px 5px}.primary,.secondary{border:0;border-radius:11px;padding:12px 17px;font-weight:750}.primary{background:var(--green);color:#062116;box-shadow:0 8px 18px rgba(22,201,141,.2)}.secondary{background:#edf2f4;color:var(--ink)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:20px}.stat{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:0 5px 18px rgba(6,25,40,.035);display:grid;grid-template-columns:1fr auto;gap:2px}.stat span{font-size:13px;color:var(--muted);font-weight:650}.stat strong{font-size:27px}.stat i{grid-row:1/3;grid-column:2;width:42px;height:42px;border-radius:12px;background:#eafaf5;display:grid;place-items:center;font-style:normal}.toolbar{display:flex;align-items:center;gap:9px;margin-bottom:15px}.toolbar h2{margin-right:auto}.chip{border:1px solid var(--line);background:#fff;border-radius:9px;padding:9px 12px;color:var(--muted);font-weight:650}.chip.active{background:var(--ink);color:#fff}.services{display:grid;gap:11px}.service-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:16px 18px;display:grid;grid-template-columns:90px minmax(0,1.4fr) minmax(180px,.8fr) 120px 34px;align-items:center;gap:16px;transition:.2s}.service-card:hover{transform:translateY(-1px);box-shadow:var(--shadow)}.time strong,.time small{display:block}.time strong{font-size:20px}.time small{font-size:12px;color:var(--muted)}.client{min-width:0}.client strong{display:block;font-size:15px}.client p{margin:4px 0 0;font-size:13px;color:var(--muted);white-space:normal;overflow-wrap:anywhere;word-break:break-word;line-height:1.45}.tech{display:flex;gap:8px;align-items:center;font-size:13px;font-weight:650}.tech .avatar{width:30px;height:30px;font-size:10px;background:#e8f1f4;color:var(--ink)}.priority{font-size:11px;font-weight:850;letter-spacing:.05em;padding:7px 9px;border-radius:7px;text-align:center}.urgente{background:#ffe7e9;color:#c62f3e}.alta{background:#fff0df;color:#c56b1f}.media{background:#e6f2ff;color:#2268ad}.baja{background:#e9f8ef;color:#298353}.captación{background:#f1eafd;color:#7450a7}.more{border:0;background:none;font-size:22px}.empty{padding:50px;text-align:center;background:#fff;border-radius:16px;border:1px solid var(--line);color:var(--muted)}dialog{border:0;border-radius:20px;padding:0;width:min(650px,calc(100vw - 24px));box-shadow:0 30px 90px rgba(0,0,0,.25)}dialog::backdrop{background:rgba(2,13,23,.7);backdrop-filter:blur(3px)}dialog form{padding:24px}.dialog-head{display:flex;align-items:start;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:16px}.close{border:0;background:#eef2f3;border-radius:50%;font-size:23px;width:35px;height:35px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:20px 0}label{font-size:13px;font-weight:750;display:grid;gap:7px}.span-2{grid-column:span 2}input,select,textarea{width:100%;border:1px solid #dce4e8;border-radius:10px;padding:12px;background:#fbfcfc;outline:none;color:var(--ink)}input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #16c98d20}textarea{min-height:88px;resize:vertical}.input-action{display:flex;gap:7px}.input-action button,.voice{border:1px solid var(--line);background:#fff;border-radius:10px;padding:0 12px;font-weight:700;white-space:nowrap}.voice{justify-self:start;padding:8px 11px;color:var(--green2)}.dialog-actions{display:flex;justify-content:flex-end;gap:9px}.detail-dialog{width:min(720px,calc(100vw - 20px))}.detail-wrap{padding:24px}.detail-top{display:flex;justify-content:space-between}.detail-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.meta{background:var(--bg);border-radius:11px;padding:12px}.meta small,.meta strong{display:block}.meta small{color:var(--muted);font-size:11px;margin-bottom:4px}.map{height:150px;border-radius:14px;background:linear-gradient(30deg,#e1ebea 25%,transparent 25%) 0 0/35px 35px,linear-gradient(-30deg,#d8e5e3 25%,transparent 25%) 0 0/35px 35px,#edf3f2;display:grid;place-items:center;margin:12px 0;color:var(--ink);font-weight:800;text-align:center;padding:20px}.close-grid{display:grid;gap:12px;margin-top:15px}.photo-btn{border:1px dashed #aec0c7;background:#f7fafb;border-radius:12px;padding:18px;font-weight:750}.signature{border:1px solid var(--line);border-radius:12px;width:100%;height:120px;touch-action:none;background:#fff}.mobile-nav{display:none}#toast{position:fixed;z-index:20;top:18px;left:50%;transform:translate(-50%,-90px);background:var(--ink);color:#fff;padding:12px 18px;border-radius:12px;box-shadow:var(--shadow);transition:.25s;font-size:13px;font-weight:650}#toast.show{transform:translate(-50%,0)}
@media(max-width:900px){.shell{display:block}.sidebar{display:none}main{padding:22px 16px 95px}header{align-items:flex-start}h1{font-size:22px}.header-actions .primary{width:43px;height:43px;overflow:hidden;font-size:0;padding:0}.header-actions .primary:first-letter{font-size:22px}.stats{grid-template-columns:1fr 1fr}.service-card{grid-template-columns:66px minmax(0,1fr) auto;gap:10px;padding:14px}.service-card .tech{grid-column:2}.service-card .priority{grid-row:1;grid-column:3}.service-card .more{grid-row:2;grid-column:3}.mobile-nav{position:fixed;display:flex;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--line);padding:7px 6px max(7px,env(safe-area-inset-bottom));z-index:10;justify-content:space-around}.mobile-nav .nav-btn{display:grid;place-items:center;gap:0;padding:6px;color:var(--muted);font-size:10px}.mobile-nav .nav-btn b{font-size:19px;text-align:center}.mobile-nav .nav-btn.active{background:#eafaf5;color:var(--green2);box-shadow:none}.toolbar{overflow:auto}.toolbar h2{font-size:18px;white-space:nowrap}.chip{white-space:nowrap}.detail-meta{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.stats{gap:9px}.stat{padding:13px}.stat strong{font-size:22px}.stat i{width:34px;height:34px}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.input-action{display:grid}.input-action button{padding:10px}.dialog-actions{display:grid;grid-template-columns:1fr 1fr}.service-card{grid-template-columns:58px minmax(0,1fr) auto}.client p{max-width:100%}}
.header-actions select{border:1px solid var(--line);background:#fff;border-radius:11px;padding:10px;color:var(--ink);font-weight:700}.inline-tools{display:flex;gap:8px;flex-wrap:wrap}.audio{border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 11px;font-weight:700;color:#b33743}.audio.recording{background:#ffe8ea;border-color:#f5aab1;animation:pulse 1s infinite}.audio.done{color:#237852;background:#eaf8f0}.status-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.status-pill{font-size:12px;background:#edf3f5;padding:7px 10px;border-radius:20px;font-weight:800}.status-pill.running{background:#e7faf3;color:#087c56}.required-note{font-size:12px;color:var(--muted);margin:0}.photo-preview{display:flex;gap:8px;flex-wrap:wrap}.photo-preview img{width:72px;height:72px;object-fit:cover;border-radius:10px}.service-card.running{border-left:4px solid var(--green)}@keyframes pulse{50%{opacity:.58}}
@media(max-width:900px){.header-actions select{max-width:118px;padding:9px 7px}.header-actions .primary span{display:none}.header-actions .primary{font-size:22px}.profile-card{display:none}}
.brand-mark{width:48px;height:48px;border-radius:15px;background:#071827;border:1px solid #1fc8ff66;display:grid;place-items:center;box-shadow:0 0 12px #00c8ff55,0 0 28px #17e5a533,0 10px 26px rgba(0,0,0,.35);overflow:hidden}.brand-mark img{width:48px;height:48px;display:block}
.tech small{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.04em}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}.contact-grid>div{border:1px solid var(--line);border-radius:11px;padding:12px}.contact-grid small,.contact-grid strong,.contact-grid a{display:block}.contact-grid small{color:var(--muted);font-size:10px;letter-spacing:.07em;margin-bottom:4px}.contact-grid a{color:var(--green2);font-weight:800;text-decoration:none}.order-section{border-left:3px solid var(--green);background:#f7faf9;border-radius:0 11px 11px 0;padding:11px 13px;margin:12px 0}.order-section h3{font-size:14px;margin:0 0 5px}.order-section p{font-size:14px;line-height:1.5;margin:0;color:#405161}.signature-help{font-size:12px;color:var(--muted);font-weight:500}.service-action{width:100%;padding:15px}.evidence-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.evidence-grid>div{display:grid;grid-template-columns:auto 1fr;column-gap:9px;align-items:center;background:var(--bg);padding:13px;border-radius:12px}.evidence-grid span{grid-row:1/3;font-size:24px}.evidence-grid strong,.evidence-grid small{display:block}.evidence-grid small{color:var(--muted)}
@media(max-width:600px){.contact-grid{grid-template-columns:1fr}.evidence-grid{grid-template-columns:1fr}.detail-meta{grid-template-columns:1fr 1fr}}
.status-filters{display:flex;gap:8px;overflow-x:auto;padding:0 0 13px;scrollbar-width:thin}.status-filters .chip{white-space:nowrap}.card-state{display:grid;gap:5px;justify-items:stretch}.mini-status,.overdue-label{font-size:9px;font-weight:900;letter-spacing:.04em;text-align:center;border-radius:6px;padding:4px 6px;background:#edf3f5;color:#506270}.mini-status.en-curso{background:#e7faf3;color:#087c56}.mini-status.completado{background:#e8f8ee;color:#247746}.mini-status.cancelado{background:#f3f3f3;color:#747474}.mini-status.pendiente{background:#fff3d7;color:#956410}.mini-status.asignado{background:#e8f2ff;color:#2369aa}.overdue-label{background:#ffe7e9;color:#c62f3e}.service-card.overdue{border-left:4px solid var(--red)}.reschedule-alert{margin:14px 0;padding:14px;border:1px solid #f2c7cb;background:#fff7f8;border-radius:13px;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}.reschedule-alert p{margin:4px 0 0;font-size:12px;color:var(--muted)}.reschedule-form{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end;padding-top:12px;border-top:1px solid #f2dadd}.reschedule-form[hidden]{display:none}.reschedule-form .primary{height:44px}.danger-action{width:100%;margin-top:12px;border:1px solid #efc5ca;background:#fff5f6;color:#b52f3d;border-radius:11px;padding:12px;font-weight:800}
@media(max-width:900px){.service-card .card-state{grid-row:1;grid-column:3}.service-card .card-state .priority{grid-row:auto;grid-column:auto}.reschedule-form{grid-template-columns:1fr 1fr}.reschedule-form .primary{grid-column:1/-1}.status-filters{margin-right:-16px;padding-right:16px}}
@media(max-width:520px){.reschedule-alert{grid-template-columns:1fr}.reschedule-alert .secondary{width:100%}.reschedule-form{grid-column:1;grid-template-columns:1fr}.reschedule-form .primary{grid-column:auto}}

/* Responsive hardening: every component stays inside the viewport. */
html,body{width:100%;max-width:100%;overflow-x:hidden}body{min-width:280px}img,svg,canvas{max-width:100%}main,section,article,header,nav,aside,div,form,label,.client,.tech,.tech-name,.time,.card-state,.meta,.order-section,.contact-grid>div,.evidence-grid>div{min-width:0}h1,h2,h3,p,span,strong,small,a,label,button{overflow-wrap:anywhere;word-break:normal}.shell{width:100%;max-width:100%}.sidebar{min-width:0}.header-actions{min-width:0;flex-wrap:wrap;justify-content:flex-end}.header-actions>*{min-width:0}.header-actions select{max-width:180px}.stats{grid-template-columns:repeat(4,minmax(0,1fr))}.stat{min-width:0}.stat span{line-height:1.25}.toolbar{min-width:0}.toolbar h2{min-width:0}.services{min-width:0}.service-card{position:relative;width:100%;max-width:100%;min-width:0}.service-card>*{min-width:0}.time small{line-height:1.35}.client strong,.client p,.tech-name{max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.client .address{display:block;line-height:1.45}.client .task-summary{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tech{max-width:100%}.tech .avatar{flex:0 0 30px}.tech-name{display:block}.card-state{min-width:0}.priority,.mini-status,.overdue-label{max-width:100%;white-space:normal}.more{min-width:34px;min-height:44px}.status-filters{width:100%;max-width:100%;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}.chip{flex:0 0 auto;max-width:100%}.empty{max-width:100%;overflow-wrap:anywhere}dialog{max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:hidden;margin:auto}dialog form,.detail-wrap{max-width:100%;max-height:calc(100dvh - 24px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.dialog-head,.detail-top{gap:12px;min-width:0}.dialog-head>div,.detail-top>div{min-width:0}.close{flex:0 0 35px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid>*{min-width:0}input,select,textarea{min-width:0;max-width:100%}.input-action{min-width:0}.input-action input{min-width:0}.inline-tools{max-width:100%}.inline-tools button,.photo-btn,.service-action,.danger-action{max-width:100%;white-space:normal}.detail-meta{grid-template-columns:repeat(3,minmax(0,1fr))}.meta strong,.contact-grid strong,.contact-grid a,.order-section p,.map{overflow-wrap:anywhere;word-break:break-word}.map{width:100%;max-width:100%;height:auto;min-height:132px;text-decoration:none}.photo-preview img{max-width:72px}.signature{display:block;max-width:100%}.reschedule-alert>*{min-width:0}.reschedule-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}#toast{width:max-content;max-width:calc(100vw - 24px);text-align:center;overflow-wrap:anywhere}

@media(max-width:1100px){main{padding-inline:24px}.service-card{grid-template-columns:78px minmax(0,1fr) minmax(135px,.55fr) 105px 34px;gap:12px}.stats{gap:12px}.stat{padding:15px}.detail-meta{grid-template-columns:repeat(2,minmax(0,1fr))}}

@media(max-width:900px){main{width:100%;max-width:100%;padding:20px 16px calc(92px + env(safe-area-inset-bottom))}.shell{display:block}header{gap:16px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card{grid-template-columns:64px minmax(0,1fr) minmax(92px,auto);gap:10px}.service-card .time{grid-column:1;grid-row:1}.service-card .client{grid-column:2;grid-row:1/3}.service-card .tech{grid-column:2;grid-row:3}.service-card .card-state{grid-column:3;grid-row:1/3}.service-card .more{grid-column:3;grid-row:3}.mobile-nav{width:100%;max-width:100%;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));overflow-x:auto}.mobile-nav .nav-btn{min-width:0;max-width:100%;line-height:1.15}.mobile-nav .nav-btn span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toolbar{overflow:visible}.toolbar h2{white-space:normal}.detail-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.reschedule-form{grid-template-columns:repeat(2,minmax(0,1fr))}.reschedule-form .primary{grid-column:1/-1}}

@media(max-width:700px){header{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;margin-bottom:18px}.header-actions{width:100%;display:grid;grid-template-columns:minmax(0,1fr) 44px 44px;gap:8px;justify-content:stretch}.header-actions select{width:100%;max-width:none}.header-actions .notification,.header-actions .primary{width:44px;height:44px;margin:0}.service-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 12px;padding:14px;padding-right:42px}.service-card .time{grid-column:1;grid-row:1;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.service-card .time strong{font-size:18px}.service-card .client{grid-column:1/-1;grid-row:2}.service-card .tech{grid-column:1;grid-row:3}.service-card .card-state{grid-column:2;grid-row:1;min-width:86px}.service-card .more{position:absolute;right:6px;bottom:8px;width:34px}.client .task-summary{-webkit-line-clamp:3}.contact-grid{grid-template-columns:1fr}.evidence-grid{grid-template-columns:1fr}.map{min-height:112px;padding:16px}.dialog-actions{display:grid;grid-template-columns:1fr 1fr}.dialog-actions button{min-width:0;white-space:normal}.form-grid{gap:12px}.detail-wrap,dialog form{padding:18px}.reschedule-alert{grid-template-columns:1fr auto}}

@media(max-width:480px){main{padding:16px 12px calc(88px + env(safe-area-inset-bottom))}h1{font-size:21px;line-height:1.2}h2{font-size:18px;line-height:1.25}.stats{gap:8px}.stat{padding:12px;border-radius:13px}.stat span{font-size:11px}.stat strong{font-size:21px}.stat i{width:32px;height:32px}.status-filters{margin-right:-12px;padding-right:12px}.chip{padding:8px 10px;font-size:12px}.service-card{padding:12px;padding-right:40px;border-radius:13px}.client strong{font-size:14px}.client p{font-size:12px}.tech{font-size:12px}.detail-meta{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.input-action{display:grid;grid-template-columns:minmax(0,1fr)}.input-action button{padding:11px}.inline-tools{display:grid;grid-template-columns:1fr 1fr}.inline-tools button{width:100%;padding:9px 7px;font-size:12px}.reschedule-alert{grid-template-columns:1fr}.reschedule-alert .secondary{width:100%}.reschedule-form{grid-column:1;grid-template-columns:1fr}.reschedule-form .primary{grid-column:auto}.detail-wrap,dialog form{padding:15px}.dialog-actions{gap:8px}.mobile-nav .nav-btn{padding:6px 2px;font-size:9px}.mobile-nav .nav-btn b{font-size:18px}.photo-btn{padding:15px 10px}.service-action{padding:14px 10px}}

@media(max-width:340px){main{padding-inline:9px}.header-actions{grid-template-columns:minmax(0,1fr) 42px 42px}.header-actions .notification,.header-actions .primary{width:42px;height:42px}.stats{grid-template-columns:1fr 1fr}.stat{padding:10px}.stat i{display:none}.service-card{padding-left:10px}.card-state{min-width:78px}.inline-tools{grid-template-columns:1fr}.dialog-actions{grid-template-columns:1fr}.mobile-nav .nav-btn span{font-size:8px}}

/* Evidencia, reportes y agenda técnica */
.service-location{margin:14px 0;border:1px solid var(--line);border-radius:15px;overflow:hidden;background:#fff}.location-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px}.location-head div{display:grid;gap:4px;min-width:0}.location-head small{color:var(--muted);font-size:10px;font-weight:850;letter-spacing:.06em}.location-head strong{overflow-wrap:anywhere}.service-location iframe{display:block;width:100%;height:230px;border:0;background:#edf3f2}.maps-go{flex:0 0 auto;border-radius:10px;padding:10px 13px;background:#e7faf3;color:#087c56;font-weight:850;text-decoration:none}.photo-preview{display:flex;gap:10px;flex-wrap:wrap}.photo-preview-item{position:relative;display:inline-block}.photo-preview-item img{width:88px;height:88px;object-fit:cover;border-radius:10px;border:1px solid var(--line)}.photo-preview-item button{position:absolute;right:-6px;top:-6px;width:25px;height:25px;border:0;border-radius:50%;background:var(--red);color:#fff;font-weight:900}.saved-evidence{margin-top:16px;border-top:1px solid var(--line);padding-top:14px}.saved-evidence h3{margin:0 0 10px}.saved-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.saved-photos button{padding:0;border:0;background:none;border-radius:11px;overflow:hidden}.saved-photos img{display:block;width:100%;height:145px;object-fit:cover}.saved-signature{margin-top:12px;padding:13px;border:1px solid var(--line);border-radius:12px;background:#f8fafb;display:grid;gap:7px}.saved-signature small{color:var(--muted);font-weight:850}.saved-signature img{display:block;width:min(360px,100%);height:130px;object-fit:contain;background:#fff;border:1px solid #d8e0e5;border-radius:8px;filter:contrast(1.2)}.evidence-loading,.evidence-empty{padding:16px;color:var(--muted);background:var(--bg);border-radius:11px}.pdf-actions,.report-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:14px}.notification-item.openable{cursor:pointer}.notification-item.openable:hover{border-color:var(--green);box-shadow:0 4px 16px rgba(22,201,141,.12)}.notification-open{align-self:center;white-space:nowrap}.technician-work{border:1px solid #bfe8da;background:#f0fbf7;border-radius:12px;padding:10px;min-width:86px;color:var(--ink);text-align:center}.technician-work strong,.technician-work small,.technician-work span{display:block}.technician-work strong{font-size:23px;color:var(--green2)}.technician-work small{font-size:10px}.technician-work span{margin-top:4px;font-size:10px;color:var(--green2);font-weight:850}.technician-work:hover,.technician-work:focus-visible{border-color:var(--green);box-shadow:0 0 0 3px #16c98d22}.technician-services-dialog{width:min(760px,calc(100vw - 24px))}.technician-services-panel{padding:22px;max-height:calc(100dvh - 24px);overflow:auto}.technician-services-panel .dialog-head p:last-child{margin:6px 0 0;color:var(--muted)}.technician-services-list{display:grid;gap:10px;margin-top:16px}.technician-service-row{border:1px solid var(--line);border-radius:13px;padding:13px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}.technician-service-row>div:first-child{display:grid;gap:4px}.technician-service-row small,.technician-service-row span{color:var(--muted);font-size:12px}.technician-service-row strong{font-size:15px}.technician-service-state{display:grid;gap:7px;min-width:130px}.technician-service-state .priority{font-size:10px}.report-actions button{flex:1 1 140px}

@media(max-width:700px){.location-head{align-items:stretch;flex-direction:column}.maps-go{text-align:center}.service-location iframe{height:190px}.saved-photos{grid-template-columns:repeat(2,minmax(0,1fr))}.saved-photos img{height:128px}.pdf-actions{display:grid;grid-template-columns:1fr}.technician-service-row{grid-template-columns:1fr}.technician-service-state{grid-template-columns:1fr 1fr;min-width:0}.technician-service-state button{grid-column:1/-1}.technician-services-panel{padding:16px}}

.card-quick-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px;padding-top:10px;border-top:1px solid var(--line);flex-wrap:wrap}.card-quick-actions button{border-radius:9px;padding:8px 12px;font-size:.78rem;font-weight:800}.quick-reassign{border-color:#8cccf0!important;background:#eff9ff!important;color:#0873aa!important}.quick-delete{border:1px solid #efc5ca;background:#fff5f6;color:#b52f3d}.input-action #googleAddressSearch{color:#1769c2;border-color:#b8d2ef;background:#f2f7fd}@media(max-width:700px){.card-quick-actions{justify-content:stretch}.card-quick-actions button{flex:1 1 auto}.service-card:has(.card-quick-actions){padding-right:14px}.service-card:has(.card-quick-actions) .more{display:none}}@media(max-width:420px){.card-quick-actions{display:grid;grid-template-columns:1fr 1fr}.card-quick-actions button:last-child:nth-child(odd){grid-column:1/-1}}

@media(max-height:520px) and (orientation:landscape){main{padding-top:12px}.stats{grid-template-columns:repeat(4,minmax(0,1fr))}.mobile-nav{padding-block:3px}.mobile-nav .nav-btn{grid-template-columns:auto 1fr;gap:4px}.mobile-nav .nav-btn b{font-size:15px}.detail-wrap,dialog form{max-height:calc(100dvh - 12px)}}

/* Readability, priority colors and service-type identity. */
html{font-size:16.5px}body,button,input,select,textarea{font-size:1rem}.client strong{font-size:1rem}.client p,.tech{font-size:.88rem}.time small,.required-note,.map-instruction{font-size:.8rem}.priority{border:1px solid currentColor;font-size:.7rem;line-height:1.1}.priority.urgente,.priority-legend .urgente{background:#d92f42;color:#fff;border-color:#d92f42}.priority.alta,.priority-legend .alta{background:#ffdfb8;color:#9b4800;border-color:#ef9a43}.priority.media,.priority-legend .media{background:#d9ecff;color:#155d9f;border-color:#6faee5}.priority.baja,.priority-legend .baja{background:#ddf5e6;color:#176b3b;border-color:#75c795}.priority.captación,.priority-legend .captación{background:#eee2ff;color:#6833a0;border-color:#b896df}.priority-legend{display:flex;flex-wrap:wrap;gap:4px;margin-top:1px}.priority-legend i{font-style:normal;font-size:.54rem;font-weight:900;letter-spacing:.025em;border:1px solid;border-radius:5px;padding:3px 5px}.service-type{margin-top:7px!important}.service-type-badge{display:inline-flex;align-items:center;max-width:100%;padding:4px 8px;border-radius:999px;border:1px solid;font-size:.72rem;font-weight:850;line-height:1.25;white-space:normal}.service-type-badge.servicio-tecnico{background:#e7f1ff;color:#195e9e;border-color:#94bde3}.service-type-badge.instalacion{background:#e5f8ef;color:#18714d;border-color:#89cfaf}.service-type-badge.mantenimiento-preventivo{background:#fff4d8;color:#8b5b00;border-color:#e4bf62}.service-type-badge.relevamiento{background:#f0e9ff;color:#6540a2;border-color:#bba5df}.service-type-badge.emergencia{background:#ffe5e8;color:#ba2638;border-color:#ec929d}.meta .service-type-badge{margin-top:2px}

/* Map picker: tapping a point stores its address and exact coordinates. */
.map-picker-dialog{width:min(820px,calc(100vw - 24px))}.map-picker-wrap{padding:22px;max-height:calc(100dvh - 24px);overflow:auto}.map-instruction{margin:14px 0;color:var(--muted);line-height:1.5}.map-picker-dialog #locationPickerMap{width:100%;height:min(440px,52dvh);min-height:300px;border:1px solid var(--line);border-radius:14px;overflow:hidden;z-index:1}.picked-address{display:grid;gap:4px;margin:12px 0;padding:12px 14px;border-radius:11px;background:#f3f7f7;border:1px solid var(--line);min-width:0}.picked-address small{font-size:.65rem;color:var(--muted);letter-spacing:.08em;font-weight:850}.picked-address strong{font-size:.86rem;line-height:1.45;overflow-wrap:anywhere}.map-picker-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.map-picker-actions button{min-width:0;white-space:normal}.map-picker-actions button:disabled{opacity:.5;cursor:not-allowed}.leaflet-control-attribution{font-size:9px!important}

.field-help,.optional{font-size:.72rem;color:var(--muted);font-weight:600}.map-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-bottom:12px}.map-search button{white-space:nowrap}.map{gap:12px;text-decoration:none}.map span{overflow-wrap:anywhere}.maps-go{display:inline-flex;align-items:center;justify-content:center;background:#178b58;color:#fff;text-decoration:none;border-radius:10px;padding:11px 16px;font-weight:850;box-shadow:0 7px 18px rgba(23,139,88,.22)}.saved-audios{display:flex;gap:8px;flex-wrap:wrap}.clients-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.client-card{display:grid;gap:6px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;box-shadow:0 6px 18px #07192b08}.client-card span,.client-card small{color:var(--muted);overflow-wrap:anywhere}.client-card small{font-size:.78rem}
.report-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:24px}.report-summary>div{background:#fff;border:1px solid var(--line);border-radius:15px;padding:17px;box-shadow:0 7px 22px #07192b0b}.report-summary span,.report-summary strong{display:block}.report-summary span{color:var(--muted);font-weight:750}.report-summary strong{font-size:1.8rem;margin-top:5px}.reports-section{margin-top:24px}.reports-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.report-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:17px;display:grid;gap:14px;box-shadow:0 7px 22px #07192b0b}.report-card-head{display:flex;align-items:start;justify-content:space-between;gap:12px}.report-card-head small,.report-card-head strong{display:block}.report-card-head small{color:var(--muted);font-size:.68rem;font-weight:850}.report-card-head strong{font-size:1.05rem;margin-top:3px}.report-card dl{display:grid;gap:9px;margin:0}.report-card dl div{border-top:1px solid var(--line);padding-top:8px}.report-card dt{color:var(--muted);font-size:.68rem;font-weight:850;text-transform:uppercase}.report-card dd{margin:3px 0 0;line-height:1.45;overflow-wrap:anywhere}.pending-report-list{display:grid;gap:10px}.pending-report-row{background:#fff;border:1px solid var(--line);border-radius:14px;padding:15px 16px;display:flex;justify-content:space-between;gap:16px;align-items:center}.pending-report-row.overdue{border-left:4px solid var(--red)}.pending-report-row small,.pending-report-row strong,.pending-report-row span{display:block}.pending-report-row small{font-size:.68rem;color:var(--muted);font-weight:850}.pending-report-row strong{margin:3px 0}.pending-report-row span{font-size:.8rem;color:var(--muted)}.pending-report-actions{display:flex;gap:8px;flex:0 0 auto}.view-all-services{white-space:nowrap}
@media(max-width:800px){.reports-grid{grid-template-columns:1fr}.pending-report-row{align-items:stretch;display:grid}.pending-report-actions{display:grid;grid-template-columns:1fr 1fr}.report-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:480px){.report-summary{gap:7px}.report-summary>div{padding:11px}.report-summary span{font-size:.68rem}.report-summary strong{font-size:1.35rem}.pending-report-actions{grid-template-columns:1fr}.view-all-services{font-size:.75rem;padding:8px 10px}}
.report-evidence{display:flex;gap:8px;flex-wrap:wrap}.report-evidence span{background:#edf7f3;border-radius:999px;color:#176447;font-size:12px;font-weight:800;padding:7px 10px}.report-map-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;flex:1 1 140px}.arrival-step{padding:14px;border:1px solid #bfe8d9;background:#f5fffb;border-radius:14px}
.app-version{display:inline-block;margin-top:3px;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.04em}.report-map-preview{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#f7faf9}.report-map-preview>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px}.report-map-preview span,.report-map-preview small,.report-map-preview strong{display:block}.report-map-preview small{color:var(--muted);font-size:10px;font-weight:850;letter-spacing:.05em}.report-map-preview strong{margin-top:3px;overflow-wrap:anywhere}.report-map-preview a{flex:0 0 auto;color:#087c56;font-size:12px;font-weight:850}.report-map-preview iframe{display:block;width:100%;height:210px;border:0;background:#edf3f2}.report-evidence button{border:1px solid #b9e6d6;border-radius:12px;background:#edf7f3;color:#176447;font-size:12px;font-weight:850;padding:8px;cursor:pointer;flex:1 1 170px;display:flex;align-items:center;gap:10px;text-align:left}.report-evidence button>span:last-child{display:grid;gap:2px}.report-evidence button strong,.report-evidence button small{display:block}.report-evidence button small{color:#457565;font-size:10px}.report-evidence-symbol{display:grid;place-items:center;width:56px;height:48px;font-size:24px}.report-evidence img{width:56px;height:48px;border-radius:8px;object-fit:cover;background:#fff;border:1px solid #cae3da}.report-evidence button:hover,.report-evidence button:focus-visible{border-color:var(--green);box-shadow:0 0 0 3px #16c98d22}.saved-photos h4{grid-column:1/-1;margin:0;color:var(--ink)}.evidence-highlight{outline:3px solid #16c98d66;box-shadow:0 0 0 7px #16c98d1f;transition:box-shadow .25s,outline .25s}
@media(max-width:700px){.report-map-preview>div{align-items:stretch;flex-direction:column}.report-map-preview iframe{height:190px}.report-map-preview a{align-self:flex-start}.report-evidence{display:grid;grid-template-columns:1fr}.report-evidence button{width:100%}}
.entity-actions{display:grid;gap:6px}.entity-actions button{padding:9px 11px}.danger-action.compact{font-size:.78rem}.detail-admin-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:16px}.detail-admin-actions button{min-width:0;white-space:normal}

@media(max-width:700px){html{font-size:16px}.client strong{font-size:.95rem}.client p,.tech{font-size:.85rem}.map-picker-wrap{padding:16px}.map-picker-dialog #locationPickerMap{height:46dvh;min-height:280px}.priority-legend{display:none}}
.evidence-empty{display:grid;gap:9px}.evidence-empty strong,.evidence-empty span{display:block}.evidence-empty button{justify-self:start}
@media(max-width:700px){.clients-grid{grid-template-columns:1fr}.map-search{grid-template-columns:1fr}.map-search button{width:100%}}
@media(max-width:600px){.detail-admin-actions{grid-template-columns:1fr}.entity-actions{grid-column:1/-1;grid-template-columns:1fr 1fr}.technician-card .entity-actions button{width:100%}}
@media(max-width:420px){.map-picker-actions{grid-template-columns:1fr}.map-picker-dialog #locationPickerMap{min-height:260px}.map-picker-wrap{padding:13px}.service-type-badge{font-size:.68rem}}

/* Dashboard indicators and colorful status filters. */
.stat{border-top:3px solid transparent}.stat span{font-size:.86rem;font-weight:850;letter-spacing:.025em;line-height:1.25}.stat i{font-size:24px;font-weight:900}.stat i svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.stat-total{border-top-color:#00c8ff}.stat-total i{background:#dff8ff;color:#00aee6;box-shadow:0 0 0 4px #00c8ff17}.stat-running{border-top-color:#8b5cf6}.stat-running i{background:#eee7ff;color:#7c3aed;box-shadow:0 0 0 4px #8b5cf617}.stat-completed{border-top-color:#18c875}.stat-completed i{background:#ddfaeb;color:#08a85c;box-shadow:0 0 0 4px #18c87517}.stat-pending{border-top-color:#ffad32}.stat-pending i{background:#fff2d9;color:#d87900;box-shadow:0 0 0 4px #ffad3217}.status-filters .chip{border-width:1.5px;transition:.18s;background:#fff}.status-filters .filter-todos{color:#078bb8;border-color:#5bd0f4}.status-filters .filter-pendiente{color:#9a6900;border-color:#e8be57}.status-filters .filter-asignado{color:#2068b0;border-color:#82b8ee}.status-filters .filter-en-curso{color:#6f3ac5;border-color:#b19ae7}.status-filters .filter-completado{color:#12804a;border-color:#79cea1}.status-filters .filter-cancelado{color:#bd3745;border-color:#eba1a9}.status-filters .filter-todos.active{background:#00aee6;border-color:#00aee6;color:#fff}.status-filters .filter-pendiente.active{background:#c68a0d;border-color:#c68a0d;color:#fff}.status-filters .filter-asignado.active{background:#2878d0;border-color:#2878d0;color:#fff}.status-filters .filter-en-curso.active{background:#7c3aed;border-color:#7c3aed;color:#fff}.status-filters .filter-completado.active{background:#0eaa60;border-color:#0eaa60;color:#fff}.status-filters .filter-cancelado.active{background:#d64150;border-color:#d64150;color:#fff}.status-filters .chip:hover{transform:translateY(-1px);box-shadow:0 5px 14px #18324518}

/* Local technician management for the administrator. */
.technicians-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:18px}.technicians-head h2{margin:4px 0}.technicians-head p:not(.eyebrow){margin:4px 0 0;color:var(--muted);font-size:.88rem}.technicians-head .primary{flex:0 0 auto}.technicians-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.technician-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:15px;padding:16px;box-shadow:0 6px 18px #07192b08}.technician-avatar{width:45px;height:45px;border-radius:13px;display:grid;place-items:center;background:#e3f9f2;color:#07875c;font-weight:900}.technician-info strong,.technician-info small{display:block;overflow-wrap:anywhere}.technician-info small{color:var(--muted);font-size:.72rem;margin-top:2px}.technician-info p{margin:5px 0 0;color:var(--muted);font-size:.75rem;line-height:1.45;overflow-wrap:anywhere}.technician-work{text-align:center;min-width:62px}.technician-work strong,.technician-work small{display:block}.technician-work strong{font-size:1.35rem;color:var(--green2)}.technician-work small{font-size:.62rem;color:var(--muted);line-height:1.2}.technician-card .secondary{padding:9px 11px}.sync-notice{margin-top:16px;padding:14px 16px;border:1px solid #c7dce8;background:#f1f8fb;border-radius:13px}.sync-notice strong{color:#17607f}.sync-notice p{margin:5px 0 0;color:#526b78;font-size:.82rem;line-height:1.5}
.access-status{display:inline-flex!important;margin-top:7px;padding:5px 9px;border-radius:999px;background:#edf2f4;color:#526575;font-size:.66rem!important;font-weight:850;border:1px solid #cdd9df}.access-status.access-active{background:#e4f9ef;color:#087c56;border-color:#8ed8bc}.access-status.access-pending,.access-status.access-checking{background:#fff3d9;color:#946100;border-color:#f1cf80}.access-status.access-not_sent,.access-status.access-no_email{background:#ffe9ec;color:#b52f3d;border-color:#efabb3}.resend-invite{display:block;margin-top:8px;border:1px solid #6ea9d9;background:#eef7ff;color:#1764a5;border-radius:9px;padding:7px 10px;font-size:.7rem;font-weight:850}.resend-invite:disabled{opacity:.65;cursor:wait}
main{margin:0 auto}.recovery-panel{margin-top:20px}.recovery-panel p{margin:8px auto 18px;max-width:560px;line-height:1.5}
.auth-gate{position:fixed;inset:0;z-index:100;background:radial-gradient(circle at top right,#14354a 0,#08131f 52%,#050b12 100%);display:grid;place-items:center;padding:18px;overflow:auto}.auth-gate[hidden]{display:none}.auth-card{width:min(440px,100%);background:#fff;border-radius:24px;padding:28px;box-shadow:0 30px 90px #0008;display:grid;gap:15px}.auth-logo{display:flex;align-items:center;gap:12px;margin-bottom:5px}.auth-logo img{width:50px;height:50px}.auth-logo strong,.auth-logo span{display:block}.auth-logo span{font-size:.75rem;color:var(--muted);margin-top:2px}.auth-card h1{margin:0;font-size:1.65rem}.auth-help{margin:0;color:var(--muted);font-size:.9rem;line-height:1.5}.auth-message{min-height:20px;margin:0;color:#b53845;font-size:.82rem;font-weight:700}.auth-card button{width:100%}.profile-card .icon-btn{min-width:38px}
.service-search{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;width:100%;margin:0 0 13px;padding:7px 8px 7px 13px;background:#fff;border:1px solid #cedbe1;border-radius:13px;box-shadow:0 5px 16px rgba(6,25,40,.04)}.service-search:focus-within{border-color:var(--green);box-shadow:0 0 0 3px #16c98d20}.service-search>span{font-size:1.35rem;color:var(--green2);font-weight:900}.service-search input{border:0;background:transparent;padding:8px 2px;box-shadow:none}.service-search input:focus{border:0;box-shadow:none}.service-search button{border:0;border-radius:9px;padding:8px 11px;background:#edf3f5;color:#405161;font-size:.78rem;font-weight:800}.service-search button[hidden]{display:none}

@media(max-width:1050px){.technicians-grid{grid-template-columns:1fr}}
@media(max-width:600px){.technicians-head{align-items:stretch;display:grid}.technicians-head .primary{width:100%}.technician-card{grid-template-columns:auto minmax(0,1fr) auto}.technician-card .secondary{grid-column:1/-1;width:100%}.stat span{font-size:.78rem}}
@media(max-width:600px){.service-search{grid-template-columns:auto minmax(0,1fr);padding-right:10px}.service-search button{grid-column:1/-1;width:100%}.service-search button[hidden]{display:none}}

/* Real notifications and saved-account switching */
.account-button{width:42px;height:42px;border:2px solid #163448;background:linear-gradient(145deg,#fff,#e8f5f4);border-radius:12px;color:#071827;margin-left:0;box-shadow:0 5px 14px rgba(7,24,39,.13)}.account-button svg{width:25px;height:25px;display:block;margin:auto;fill:#18c89233;stroke:#071827;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}.account-button:hover{border-color:var(--green2);box-shadow:0 0 0 3px #16c98d2b,0 6px 16px #0718271f}.profile-card .icon-btn.account-switch-profile{width:38px;height:38px;border:1px solid #315169;border-radius:10px;background:#10293b;color:#71efc3;display:grid;place-items:center}.profile-card .account-switch-profile svg{width:22px;height:22px;fill:#16c98d24;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}.notification i[hidden]{display:none}.notification-dialog{width:min(620px,calc(100vw - 20px))}.notification-panel,.account-panel{padding:22px;max-height:calc(100dvh - 24px);overflow:auto}.notification-permission{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;margin:16px 0;padding:14px;border:1px solid #c7dce8;background:#f1f8fb;border-radius:13px}.notification-permission p{margin:4px 0 0;color:#526b78;font-size:.78rem;line-height:1.45}.notification-permission.enabled{border-color:#91d5bb;background:#effaf6}.notification-permission.enabled .primary{background:#dff5ec;color:#087c56;box-shadow:none}.notification-list{display:grid;gap:9px}.notification-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:start;border:1px solid var(--line);border-radius:13px;padding:13px;background:#fff}.notification-item.unread{border-left:4px solid var(--green);background:#f8fffc}.notification-symbol{width:36px;height:36px;border-radius:11px;background:#e5f8f2;display:grid;place-items:center}.notification-copy strong,.notification-copy span,.notification-copy small{display:block}.notification-copy span{margin-top:3px;color:#405161;font-size:.82rem;line-height:1.4}.notification-copy small{margin-top:5px;color:var(--muted);font-size:.69rem}.notification-open{border:0;background:#edf3f5;border-radius:9px;padding:8px;color:#405161;font-weight:800}.account-dialog{width:min(520px,calc(100vw - 20px))}.current-account{margin:16px 0;padding:15px;border-radius:13px;background:#071827;color:#fff;display:grid;grid-template-columns:auto minmax(0,1fr);gap:11px;align-items:center}.current-account .avatar{width:42px;height:42px}.current-account strong,.current-account span,.current-account small{display:block;overflow-wrap:anywhere}.current-account span{color:#9fc1d3;font-size:.8rem;margin-top:2px}.current-account small{color:#6df0c0;font-size:.68rem;font-weight:800;margin-top:4px;text-transform:uppercase}.saved-accounts{display:grid;gap:8px;margin-bottom:12px}.saved-accounts h3{font-size:.82rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin:2px 0}.saved-account{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;text-align:left;border:1px solid var(--line);border-radius:12px;background:#fff;padding:12px}.saved-account:hover{border-color:var(--green)}.saved-account .avatar{width:38px;height:38px}.saved-account strong,.saved-account span{display:block}.saved-account span{font-size:.73rem;color:var(--muted);margin-top:2px;overflow-wrap:anywhere}.saved-account b{color:var(--green2)}.account-action{width:100%;margin-top:8px}.session-help{font-size:.72rem;line-height:1.5;color:var(--muted);margin:13px 2px 0}.saved-login-list{display:grid;gap:8px;margin:4px 0}.saved-login-button{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;text-align:left;border:1px solid var(--line);border-radius:12px;background:#f7fafb;padding:11px}.saved-login-button span,.saved-login-button strong{display:block;overflow-wrap:anywhere}.saved-login-button span{font-size:.72rem;color:var(--muted)}
@media(max-width:700px){.header-actions{grid-template-columns:repeat(3,44px);justify-content:end}.header-actions select:not([hidden]){grid-column:1/-1}.header-actions .account-button,.header-actions .notification,.header-actions .primary{width:44px;height:44px}.notification-permission{grid-template-columns:1fr}.notification-permission .primary{width:100%}.notification-item{grid-template-columns:auto minmax(0,1fr)}.notification-open{grid-column:1/-1;width:100%}.notification-panel,.account-panel{padding:17px}}
@media(max-width:360px){.technician-card{grid-template-columns:auto minmax(0,1fr)}.technician-work{grid-column:1/-1;text-align:left;display:flex;align-items:baseline;gap:7px}.stat span{font-size:.72rem}}

/* Report evidence controls: preserve the original aspect ratio on every screen. */
.photo-source-actions{display:flex;gap:9px;flex-wrap:wrap}.photo-source-actions button{flex:1 1 170px}.clear-signature{margin-top:9px;align-self:flex-start}.photo-preview-item{width:min(180px,calc(50% - 5px))}.photo-preview-item img{display:block;width:100%;height:auto;max-height:220px;object-fit:contain;background:#f4f7f8}.saved-photos{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.saved-photos button{background:#f4f7f8}.saved-photos img{width:100%;height:auto;max-height:none;object-fit:contain}.pdf-actions button{flex:1 1 170px}
@media(max-width:700px){.saved-photos img{height:auto;max-height:none}.saved-photos{grid-template-columns:1fr}.photo-preview-item{width:100%}}

.client-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.client-actions button{flex:1 1 130px}.pdf-preview-dialog{width:min(980px,calc(100vw - 12px));height:min(94dvh,980px);padding:0;overflow:hidden}.pdf-preview-shell{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr);background:#e8edf0}.pdf-preview-shell .dialog-head{padding:14px 16px;background:#fff;border-bottom:1px solid var(--line)}.pdf-preview-pages{overflow:auto;padding:12px;display:grid;justify-items:center;gap:12px;-webkit-overflow-scrolling:touch}.pdf-preview-pages canvas{display:block;width:min(100%,794px);height:auto;background:#fff;box-shadow:0 5px 22px #07182726}.pdf-preview-loading,.pdf-preview-error{align-self:start;width:min(100%,620px);padding:22px;border-radius:13px;background:#fff;color:var(--muted);text-align:center}.pdf-preview-error{color:#b52f3d}
@media(max-width:700px){.pdf-preview-dialog{width:100vw;height:100dvh;max-width:none;max-height:none;border-radius:0}.pdf-preview-pages{padding:7px}.pdf-preview-shell .dialog-head{padding:10px 12px}.report-actions .danger-action{width:100%}}

/* Keep account and dashboard cards stable when the active user changes. */
.saved-account,.saved-login-button{min-height:92px;grid-template-columns:42px minmax(0,1fr) 72px;align-items:center}
.saved-account .avatar,.saved-login-button .avatar{width:42px;height:42px;flex:0 0 42px}
.saved-account-copy{min-width:0;display:grid!important;align-content:center;gap:2px}
.saved-account-copy strong{display:-webkit-box!important;min-height:1.25em;line-height:1.25;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.saved-account-copy .saved-account-role{margin:0;color:#087c56;font-size:.67rem;font-weight:850;text-transform:uppercase;line-height:1.25}
.saved-account-copy .saved-account-email{margin:0;color:var(--muted);font-size:.7rem;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.saved-account b,.saved-login-button b{width:72px;text-align:right;white-space:nowrap;font-size:.75rem}
.profile-card{min-height:72px}
.profile-card>div{min-width:0;flex:1}
.profile-card strong{min-height:30px;line-height:1.25;display:flex;align-items:center}
.stat{height:92px;min-height:92px}
@media(max-width:480px){.saved-account,.saved-login-button{min-height:92px;padding:11px 10px;grid-template-columns:40px minmax(0,1fr) 66px}.saved-account .avatar,.saved-login-button .avatar{width:40px;height:40px}.saved-account b,.saved-login-button b{width:66px;font-size:.7rem}.stat{height:89px;min-height:89px}}
