:root{--az:#0033a0;--az2:#0a4bd1;--bg:#f3f5fa;--card:#fff;--tx:#14213d;--mut:#5b6785;--bd:#dfe4ef;--ok:#16794a;--okb:#e3f5ec;--wa:#a35c00;--wab:#fff1dc;--er:#b3261e;--erb:#fde7e5;--in:#0b57d0;--inb:#e6efff}
*{box-sizing:border-box}html,body{margin:0}body{font:15px/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--tx);-webkit-text-size-adjust:100%}
button,input,select,textarea{font:inherit;color:inherit}
header.top{background:var(--az);color:#fff;padding:10px 16px;display:flex;align-items:center;gap:10px;position:sticky;top:0;z-index:5}
header.top img{height:26px;background:#fff;border-radius:5px;padding:2px 6px}
header.top .t{flex:1;font-weight:700;font-size:16px;line-height:1.1}header.top .t small{display:block;font-weight:400;opacity:.8;font-size:12px}
header.top button{background:rgba(255,255,255,.15);border:0;color:#fff;border-radius:8px;padding:6px 10px}
nav.tabs{display:flex;gap:4px;overflow-x:auto;background:#fff;border-bottom:1px solid var(--bd);padding:0 8px;position:sticky;top:46px;z-index:4}
nav.tabs button{border:0;background:none;padding:12px 12px;font-weight:600;color:var(--mut);white-space:nowrap;border-bottom:3px solid transparent}
nav.tabs button.on{color:var(--az);border-color:var(--az)}
main{max-width:1100px;margin:0 auto;padding:14px 14px 90px}
.card{background:var(--card);border:1px solid var(--bd);border-radius:12px;padding:14px;margin-bottom:12px}
.card h3{margin:0 0 6px;font-size:16px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.sp{flex:1}
.mut{color:var(--mut);font-size:13px}h2{font-size:18px;margin:6px 0 10px}
.chip{display:inline-block;border-radius:99px;padding:2px 9px;font-size:12px;font-weight:600;background:#eef1f8;color:var(--mut)}
.chip.ok{background:var(--okb);color:var(--ok)}.chip.wa{background:var(--wab);color:var(--wa)}.chip.er{background:var(--erb);color:var(--er)}.chip.in{background:var(--inb);color:var(--in)}
.btn{background:var(--az);color:#fff;border:0;border-radius:10px;padding:11px 16px;font-weight:600;cursor:pointer}
.btn.sec{background:#fff;color:var(--az);border:1.5px solid var(--az)}.btn.gr{background:#eef1f8;color:var(--tx)}.btn.er{background:var(--er)}.btn.sm{padding:6px 11px;font-size:13px;border-radius:8px}
.btn:disabled{opacity:.5}.btn.wide{width:100%}
input,select,textarea{width:100%;padding:10px;border:1.5px solid var(--bd);border-radius:10px;background:#fff}
label{display:block;font-weight:600;font-size:13px;margin:10px 0 4px;color:var(--mut)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media(max-width:560px){.grid2{grid-template-columns:1fr}}
.login{max-width:420px;margin:0 auto;padding:24px 16px}.login img{display:block;height:46px;margin:6px auto 14px}
.login h1{text-align:center;font-size:20px;margin:0 0 14px}
.pg{margin:12px 0 4px;font-size:12px;font-weight:700;color:var(--mut);text-transform:uppercase;letter-spacing:.05em}
.persons{display:grid;grid-template-columns:1fr 1fr;gap:8px}.persons button{text-align:left;background:#fff;border:1.5px solid var(--bd);border-radius:10px;padding:10px;font-weight:600}
.persons button small{display:block;font-weight:400;color:var(--mut)}
.pin{display:flex;gap:10px;justify-content:center;margin:14px 0}.pin i{width:16px;height:16px;border-radius:50%;border:2px solid var(--az)}.pin i.f{background:var(--az)}
.pad{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-width:280px;margin:0 auto}.pad button{padding:16px;font-size:20px;font-weight:700;border:1.5px solid var(--bd);border-radius:12px;background:#fff}
.seg{display:flex;gap:6px;flex-wrap:wrap}.seg button{flex:1;min-width:76px;padding:10px 8px;border:1.5px solid var(--bd);border-radius:10px;background:#fff;font-weight:600}
.seg button.bueno.on{background:var(--okb);border-color:var(--ok);color:var(--ok)}.seg button.regular.on{background:var(--wab);border-color:var(--wa);color:var(--wa)}.seg button.malo.on{background:var(--erb);border-color:var(--er);color:var(--er)}
.item{border-top:1px solid var(--bd);padding:12px 0}.item:first-child{border-top:0}.item .q{font-weight:600;margin-bottom:8px}
.fotos{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.fotos img{width:64px;height:64px;object-fit:cover;border-radius:8px;border:1px solid var(--bd)}
.fbtn{display:inline-block;padding:8px 12px;border:1.5px dashed var(--az);border-radius:10px;color:var(--az);font-weight:600;font-size:13px;cursor:pointer}.fbtn input{display:none}
.tbl{width:100%;border-collapse:collapse;font-size:13px}.tbl th,.tbl td{padding:7px 6px;border-bottom:1px solid var(--bd);text-align:left;vertical-align:top}.tbl th{color:var(--mut);font-size:12px}
.scroll{overflow-x:auto}
.wk{border-collapse:separate;border-spacing:3px;min-width:760px;width:100%}.wk th{font-size:12px;color:var(--mut);padding:4px}.wk th.sn{color:var(--in)}.wk td{background:#fff;border:1px solid var(--bd);border-radius:8px;vertical-align:top;padding:4px;min-width:96px;height:52px}
.wk td.nm{min-width:130px;font-weight:600;font-size:13px}.wk td.d{background:#f1f2f6;color:#99a;font-size:11px}.wk td.v{background:#fff6e0;color:var(--wa);font-size:11px}
.wk .tk{display:block;margin-bottom:3px;border-radius:6px;padding:3px 5px;font-size:11px;font-weight:600;background:var(--inb);color:var(--in);cursor:pointer;line-height:1.15}
.wk .tk.cerrada{background:var(--okb);color:var(--ok)}.wk .tk.vencida,.wk .tk.reprogramar{background:var(--erb);color:var(--er)}.wk .tk.act{background:#efe9ff;color:#5b3fb5}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-bottom:12px}.kpi{background:#fff;border:1px solid var(--bd);border-radius:12px;padding:10px}.kpi b{font-size:22px;display:block}.kpi span{font-size:12px;color:var(--mut)}
.bar{height:8px;background:#e8ecf5;border-radius:6px;overflow:hidden;min-width:60px}.bar i{display:block;height:100%;background:var(--az)}
.modal{position:fixed;inset:0;background:rgba(10,20,50,.5);display:flex;align-items:flex-end;justify-content:center;z-index:20}
.modal>div{background:#fff;width:100%;max-width:520px;max-height:92vh;overflow:auto;border-radius:16px 16px 0 0;padding:16px}
@media(min-width:700px){.modal{align-items:center}.modal>div{border-radius:16px}}
#toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:#14213d;color:#fff;padding:10px 16px;border-radius:10px;opacity:0;pointer-events:none;transition:.25s;z-index:30;max-width:90vw;text-align:center}#toast.on{opacity:1}#toast.er{background:var(--er)}
.empty{text-align:center;color:var(--mut);padding:26px 10px}
.banner{background:var(--wab);color:var(--wa);border-radius:10px;padding:9px 12px;margin-bottom:12px;font-size:13px}

.login{padding-top:18px}.login h1{font-size:22px}
.search{border-radius:12px;padding:12px;margin-bottom:6px}
.pg{display:flex;align-items:center;gap:8px}.pg .lt{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:6px;color:#fff;font-size:12px}
.persons button{display:flex;align-items:center;gap:10px;box-shadow:0 1px 2px rgba(20,33,61,.06);transition:.15s}.persons button:active,.persons button:hover{border-color:var(--az);transform:translateY(-1px)}
.av{flex:none;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:700;font-size:14px}.nmb{min-width:0;font-size:14px;line-height:1.2}
@media(max-width:420px){.persons{grid-template-columns:1fr}}
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.pc{display:flex;align-items:center;gap:10px;text-align:left;background:#fff;border:1.5px solid var(--bd);border-radius:12px;padding:10px;cursor:pointer}.pc.on{border-color:var(--az);background:var(--inb)}
.dn{flex:none;width:46px;height:46px;border-radius:50%;background:conic-gradient(var(--ok) calc(var(--p)*1%),#e3e8f3 0);display:grid;place-items:center;position:relative}.dn:before{content:"";position:absolute;inset:6px;background:#fff;border-radius:50%}.pc.on .dn:before{background:var(--inb)}.dn b{position:relative;font-size:11px}
.pi{min-width:0;line-height:1.2;font-size:13px}.pi small{display:block;color:var(--mut)}.pi em{color:var(--er);font-style:normal;font-weight:600}
.lista td small{display:block;color:var(--mut);font-size:11px}.lista td small.rj{color:var(--er);font-weight:600}.lista td small.am{color:var(--wa);font-weight:600}.lista tr.clk{cursor:pointer}.lista tr.clk:hover{background:#f5f8ff}
.lista{background:#fff;border-radius:12px;overflow:hidden}.lista th{background:#f0f3fa}

.chk{max-height:220px;overflow:auto;border:1.5px solid var(--bd);border-radius:10px;padding:4px}
.ck{display:flex;align-items:center;gap:10px;margin:0;padding:6px;border-radius:8px;font-weight:600;color:var(--tx);cursor:pointer}.ck:hover{background:#f3f6fd}.ck input{width:20px;height:20px;flex:none}.ck small{display:block;font-weight:400;color:var(--mut)}
.av.sm{width:28px;height:28px;font-size:11px}
.fotos img.zoom{cursor:zoom-in}.pdf,.fotos .pdf{display:inline-block;padding:8px 10px;border-radius:8px;background:var(--erb);color:var(--er);font-weight:600;font-size:13px;text-decoration:none}
.fbtn.pdfb{border-color:var(--mut);color:var(--mut)}
