:root{--bg:#f4f6f8;--card:#fff;--ink:#1c2430;--muted:#6b7686;--line:#e3e8ee;--brand:#1668dc;--brand-dark:#0f4fb0;--green:#1a7f37;--green-bg:#e9f7ef;--amber:#9a6700;--amber-bg:#fff6e0;--red:#c0392b;--red-bg:#fdecea;--radius:10px;--shadow:0 1px 3px #10182814}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:15px;line-height:1.45}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}.app-shell{flex-direction:column;min-height:100vh;display:flex}.topbar{background:var(--ink);color:#fff;z-index:10;align-items:center;gap:18px;height:56px;padding:0 20px;display:flex;position:sticky;top:0}.brand{color:#fff;white-space:nowrap;font-size:17px;font-weight:700}.brand:hover{text-decoration:none}.nav{flex:1;gap:4px;display:flex}.nav a{color:#cfd6e4;border-radius:6px;padding:8px 12px;font-size:14px}.nav a:hover{color:#fff;background:#ffffff14;text-decoration:none}.nav a.active{color:#fff;background:#ffffff24;font-weight:600}.topbar-right{align-items:center;gap:10px;margin-left:auto;display:flex}.topbar select{color:#fff;background:#2a3444;border:1px solid #3d4a61;border-radius:6px;padding:6px 8px;font-size:13px}.btn-link{color:#cfd6e4;cursor:pointer;background:0 0;border:none;font-size:14px}.btn-link:hover{color:#fff}.main{width:100%;max-width:1080px;margin:0 auto;padding:24px 20px 60px}.cards{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-bottom:22px;display:grid}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px 18px}.card .label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12.5px}.card .value{margin-top:4px;font-size:26px;font-weight:700}.card .value.green{color:var(--green)}.card .value.amber{color:var(--amber)}.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:20px;padding:20px}.panel h2{margin:0 0 14px;font-size:17px}.panel h3{margin:18px 0 10px;font-size:15px}table.tbl{border-collapse:collapse;width:100%;font-size:14px}.tbl th,.tbl td{text-align:left;border-bottom:1px solid var(--line);padding:10px 8px}.tbl th{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:12.5px;font-weight:600}.tbl tr:hover td{background:#f8fafc}.tbl .num{text-align:right;font-variant-numeric:tabular-nums}.tbl .row-actions{white-space:nowrap;text-align:right}.btn{cursor:pointer;background:var(--brand);color:#fff;border:1px solid #0000;border-radius:8px;padding:9px 16px;font-size:14px;font-weight:600;display:inline-block}.btn:hover{background:var(--brand-dark)}.btn:disabled{opacity:.55;cursor:default}.btn.secondary{color:var(--ink);border-color:var(--line);background:#fff}.btn.secondary:hover{background:#f2f5f8}.btn.danger{background:var(--red)}.btn.small{border-radius:6px;padding:6px 10px;font-size:13px}.btn+.btn{margin-left:8px}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.toolbar .spacer{flex:1}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:18px;display:flex}.page-head h1{margin:0;font-size:22px}.form-grid{grid-template-columns:1fr 1fr;gap:12px 16px;display:grid}.field{flex-direction:column;gap:5px;display:flex}.field.full{grid-column:1/-1}.field label{color:var(--muted);font-size:13px;font-weight:600}.field label .req{color:var(--red)}input[type=text],input[type=email],input[type=password],input[type=date],input[type=month],input[type=number],select,textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:8px;padding:9px 11px;font-size:14px}input:focus,select:focus,textarea:focus{border-color:var(--brand);outline:2px solid #1668dc40}textarea{resize:vertical;min-height:70px}.check-row{align-items:center;gap:8px;font-size:14px;display:flex}.check-row input{width:auto}.hint{color:var(--muted);font-size:12.5px}.form-actions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.error-box{background:var(--red-bg);color:var(--red);border:1px solid #f5c6c0;border-radius:8px;margin-bottom:14px;padding:10px 14px;font-size:14px}.ok-box{background:var(--green-bg);color:var(--green);border:1px solid #bfe6cd;border-radius:8px;margin-bottom:14px;padding:10px 14px;font-size:14px}.warn-box{background:var(--amber-bg);color:var(--amber);border:1px solid #ecd9a8;border-radius:8px;margin-bottom:14px;padding:10px 14px;font-size:14px}.badge{border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}.badge.pendiente_confirmar{background:var(--amber-bg);color:var(--amber)}.badge.confirmado{background:var(--green-bg);color:var(--green)}.badge.corregido{color:var(--brand);background:#e8effe}.badge.sin_recibo{background:var(--red-bg);color:var(--red)}.badge.risk{background:var(--amber-bg);color:var(--amber)}.missing-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.missing-list li{border:1px solid var(--line);background:#fffdf5;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;display:flex}.missing-list .issue{font-size:14px}.empty{color:var(--muted);text-align:center;padding:24px}.inbox-item{border:1px solid var(--line);border-radius:var(--radius);background:#fff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px;padding:14px 16px;display:flex}.inbox-item .info{flex:1;min-width:220px}.inbox-item .title{font-weight:600}.inbox-item .meta{color:var(--muted);margin-top:2px;font-size:13px}.inbox-item .ops{gap:8px;display:flex}.auth-wrap{max-width:420px;margin:60px auto}.auth-card{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px;padding:28px}.auth-card h1{margin:0 0 4px;font-size:22px}.auth-card .tagline{color:var(--muted);margin-bottom:20px;font-size:13.5px}.tabs{gap:6px;margin-bottom:18px;display:flex}.tabs button{border:1px solid var(--line);cursor:pointer;color:var(--muted);background:#f8fafc;border-radius:8px;flex:1;padding:9px;font-size:14px;font-weight:600}.tabs button.active{color:var(--brand);border-color:var(--brand);background:#fff}.auth-card .field{margin-bottom:12px}.modal-backdrop{z-index:50;background:#0f172a73;justify-content:center;align-items:flex-start;padding:40px 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:#fff;border-radius:12px;width:100%;max-width:640px;padding:24px;box-shadow:0 12px 40px #0000002e}.modal h2{margin:0 0 16px;font-size:18px}.loading{text-align:center;color:var(--muted);padding:40px}@media (width<=640px){.form-grid{grid-template-columns:1fr}.nav{overflow-x:auto}.topbar{gap:10px;padding:0 12px}.main{padding:16px 12px 60px}}
