*{box-sizing:border-box}body{color:#111827;background:#fff;margin:0;font-family:Arial,Helvetica,sans-serif}.app{min-height:100vh}.topbar{background:#fff;border-bottom:2px solid #9acd32;justify-content:space-between;align-items:center;padding:22px 32px;display:flex}.logo{width:300px;max-width:45vw;height:auto}.topbar nav{color:#374151;gap:42px;font-weight:700;display:flex}.topbar nav span:first-child{color:#008a20}.page{padding:28px 30px}.title{color:#0b1623;align-items:center;gap:18px;margin-bottom:22px;display:flex}.title svg{color:#008a20}.title h1{margin:0;font-size:34px}.title p{color:#64748b;margin:4px 0 0;font-size:18px}.form-card,.history{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:24px;box-shadow:0 4px 16px #0000000a}.form-card{grid-template-columns:1fr 1fr;gap:18px;display:grid}.section{border:1px solid #e5e7eb;border-radius:8px;padding:20px}.section.full,.actions.full,.message.full{grid-column:1/-1}.section h3{text-transform:uppercase;color:#007a1f;align-items:center;gap:10px;margin:0 0 20px;font-size:16px;display:flex}.section h3 svg{color:#008a20}label{margin:12px 0 8px;font-weight:700;display:block}input,select,textarea{background:#fff;border:1px solid #cfd6df;border-radius:7px;width:100%;padding:14px;font-size:16px}textarea{resize:vertical;min-height:110px}.two{grid-template-columns:1fr 1fr;gap:18px;display:grid}.actions{grid-template-columns:1fr 1fr 1.2fr;gap:24px;margin-top:6px;display:grid}button{color:#fff;cursor:pointer;background:#007a1f;border:none;border-radius:7px;justify-content:center;align-items:center;gap:10px;padding:15px 18px;font-size:16px;font-weight:800;display:flex}.whatsapp{background:#14b83a}.gray{background:#9ca3af}.message{color:#087f23;background:#f0fff4;border:1px solid #b7e4c7;border-radius:8px;padding:14px}.history{margin-top:24px}.history-head{justify-content:space-between;align-items:center;gap:20px;display:flex}.history h2{margin:0}.search{border:1px solid #d1d5db;border-radius:7px;align-items:center;gap:8px;min-width:360px;padding:0 10px;display:flex}.search input{border:none}.table{border-top:1px solid #e5e7eb;margin-top:16px}.row{border-bottom:1px solid #e5e7eb;grid-template-columns:80px 1.1fr 1.2fr 1.3fr 260px;align-items:center;gap:12px;padding:14px 0;display:grid}.row small{color:#64748b;display:block}footer{text-align:center;color:#008a20;flex-direction:column;align-items:center;gap:6px;margin:35px auto 0;display:flex}footer strong{letter-spacing:1px;font-size:30px}footer span{color:#64748b;font-size:18px}.receipt-template{color:#111;background:#fff;border:1px solid #ddd;width:1080px;height:700px;padding:28px;position:absolute;top:0;left:-99999px}.receipt-template.force-render{z-index:-1;top:0;left:0}.receipt-header{border-bottom:2px solid #9acd32;grid-template-columns:1.1fr 1fr 220px;align-items:center;padding-bottom:14px;display:grid}.receipt-header img{width:310px}.receipt-contact{color:#374151;flex-direction:column;gap:5px;font-size:15px;display:flex}.receipt-folio{text-align:center;border:2px solid #9acd32;border-radius:8px;padding:10px}.receipt-folio span{font-weight:800;display:block}.receipt-folio b{color:#c9252d;font-size:36px;display:block}.receipt-template h2{text-align:center;margin:14px 0 2px;font-size:30px}.receipt-sub{text-align:center;text-transform:uppercase;color:#374151;margin:0 0 14px}.receipt-grid{grid-template-columns:1fr 1fr 1fr;gap:8px;display:grid}.receipt-grid div{border:1px solid #cfd6df;border-radius:6px;min-height:58px;padding:9px}.receipt-grid label{color:#007a1f;text-transform:uppercase;margin:0 0 5px;font-size:13px}.receipt-grid p{margin:0;font-size:16px}.receipt-grid .wide{grid-column:1/-1}.terms{background:#f8fff0;border:1px solid #9acd32;border-radius:8px;margin-top:10px;padding:12px}.terms p{margin:5px 0 0}.signs{grid-template-columns:1fr 1fr;gap:80px;margin-top:38px;display:grid}.signs span{border-top:2px solid #333;display:block}.signs p{text-align:center;margin:6px 0 0;font-weight:700}@media (width<=900px){.topbar{align-items:flex-start;padding:16px}.logo{width:210px;max-width:60vw}.topbar nav{gap:12px;font-size:0}.topbar nav span{font-size:0}.page{padding:20px}.title h1{font-size:27px}.form-card{grid-template-columns:1fr;padding:14px}.two,.actions{grid-template-columns:1fr}.history-head{flex-direction:column;align-items:stretch}.search{min-width:0}.row{grid-template-columns:1fr;gap:6px}footer strong{font-size:26px}}.edit-mini{color:#fff;background:#374151;border:0;border-radius:10px;align-items:center;gap:6px;padding:8px 10px;font-weight:800;display:inline-flex}.row .edit-mini{justify-self:end}.editing-note{background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;padding:10px}.row-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.print-mini{color:#fff;background:#0f766e;border:0;border-radius:10px;align-items:center;gap:6px;padding:8px 10px;font-size:12px;font-weight:800;display:inline-flex}.wa-mini{color:#fff;background:#14b83a;border:0;border-radius:10px;align-items:center;gap:6px;padding:8px 10px;font-size:12px;font-weight:800;display:inline-flex}.status{color:#111827;background:#e5e7eb;border-radius:999px;margin-top:5px;padding:3px 8px;font-size:11px;font-weight:900;display:inline-block}.status.diagnóstico,.status.diagnostico{color:#92400e;background:#fef3c7}.status.esperando-autorización,.status.esperando-autorizacion{color:#9a3412;background:#ffedd5}.status.reparación,.status.reparacion{color:#1e40af;background:#dbeafe}.status.listo{color:#166534;background:#dcfce7}.status.entregado{color:#111827;background:#e5e7eb}.status.cancelado{color:#991b1b;background:#fee2e2}@media (width<=900px){.row{grid-template-columns:1fr}.row-actions{justify-content:flex-start}}.evidence-box .hint,.signature-box .hint{color:#64748b;margin:0 0 12px;font-size:13px}.photo-button{color:#fff;cursor:pointer;background:#0b8a2a;border-radius:10px;align-items:center;gap:8px;margin:0 10px 12px 0;padding:10px 14px;font-weight:800;display:inline-flex!important}.photo-button input{display:none}.small-inline{border-radius:10px!important;padding:9px 12px!important;font-size:13px!important}.photo-preview{grid-template-columns:repeat(4,1fr);gap:12px;margin-top:10px;display:grid}.photo-thumb{background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;height:120px;position:relative;overflow:hidden}.photo-thumb button{color:#fff;background:#b91c1c;border:0;border-radius:999px;justify-content:center;align-items:center;width:26px;height:26px;padding:0;font-size:18px;display:flex;position:absolute;top:6px;right:6px}.signature-pad{touch-action:none;background:#fff;border:1.5px dashed #94a3b8;border-radius:12px;width:100%;height:160px;margin-bottom:10px;display:block}.receipt-evidence{grid-template-columns:1fr 2fr;gap:8px;margin-top:10px;display:grid}.receipt-evidence label{color:#008a20;margin-bottom:4px;font-size:10px;font-weight:900;display:block}.receipt-signature,.receipt-photos{border:1px solid #ddd;border-radius:8px;padding:8px}.receipt-signature img{object-fit:contain;max-width:100%;height:52px}.receipt-photos div{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.receipt-photos img{object-fit:cover;border:1px solid #ddd;border-radius:6px;width:100%;height:62px}@media (width<=700px){.photo-preview{grid-template-columns:repeat(2,1fr)}.photo-thumb{height:110px}}.saved-badge{color:#fff;background:#16a34a;border-radius:999px;padding:3px 6px;font-size:10px;font-weight:800;position:absolute;bottom:6px;left:6px}.photo-thumb.existing{outline:2px solid #16a34a}.photo-preview{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))!important}.photo-thumb{background:#eef2f7}.photo-thumb img{object-fit:cover;width:100%;height:100%;display:block}.saved-badge{z-index:2}.debug-evidence{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:10px;margin:8px 0 12px;padding:8px 10px;font-size:12px;font-weight:800}.photo-thumb a{width:100%;height:100%;display:block}.calendar-toggle{color:#fff;background:#0f766e;border:0;border-radius:12px;align-items:center;gap:8px;padding:10px 14px;font-weight:900;display:inline-flex}.calendar-panel{background:#f0fdf4;border:1px solid #d1fae5;border-radius:16px;margin:14px 0 18px;padding:14px}.quick-dates{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.quick-dates button,.date-index button{color:#166534;background:#fff;border:1px solid #86efac;border-radius:999px;padding:8px 12px;font-weight:800}.date-picker-row{gap:6px;margin-bottom:12px;display:grid}.date-picker-row label{color:#166534;text-transform:uppercase;font-size:12px;font-weight:900}.date-picker-row input{margin:0}.calendar-summary{background:#fff;border:1px solid #bbf7d0;border-radius:12px;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-bottom:10px;padding:10px;display:flex}.calendar-summary strong{text-transform:capitalize}.calendar-summary span{color:#15803d;font-weight:900}.day-list{gap:8px;display:grid}.day-item{background:#fff;border:1px solid #e5e7eb;border-radius:12px;gap:3px;padding:10px;display:grid}.day-item b{font-size:18px}.day-item span{font-weight:900}.day-item small{color:#475569}.day-item .status{border-radius:999px;width:max-content;margin-top:4px;padding:4px 9px;font-size:12px;font-weight:900;display:inline-flex}.empty-day{color:#64748b;margin:0;font-weight:700}.date-index{margin-top:12px}.date-index summary{color:#166534;cursor:pointer;font-weight:900}.date-index div{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}@media (width<=700px){.calendar-summary{display:grid}.calendar-toggle{justify-content:center;width:100%}}.clients-toggle{color:#fff;background:#1f2937;border:0;border-radius:12px;align-items:center;gap:8px;padding:10px 14px;font-weight:900;display:inline-flex}.clients-panel{background:#eff6ff;border:1px solid #dbeafe;border-radius:16px;margin:14px 0 18px;padding:14px}.clients-search{background:#fff;border:1px solid #bfdbfe;border-radius:12px;align-items:center;gap:10px;margin-bottom:14px;padding:8px 10px;display:flex}.clients-search input{border:0;outline:none;margin:0;padding:8px}.clients-layout{grid-template-columns:.9fr 1.2fr;gap:14px;display:grid}.clients-list{gap:8px;max-height:480px;display:grid;overflow:auto}.client-card{text-align:left;color:#111827;background:#fff;border:1px solid #e5e7eb;border-radius:14px;gap:3px;padding:12px;display:grid}.client-card.active{background:#dbeafe;outline:2px solid #2563eb}.client-card strong{font-size:16px}.client-card span{color:#166534;font-weight:800}.client-card small{color:#64748b}.client-detail{background:#fff;border:1px solid #e5e7eb;border-radius:14px;min-height:220px;padding:14px}.client-placeholder{color:#64748b;text-align:center;padding:45px 10px;font-weight:800}.client-detail-head{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding-bottom:12px;display:flex}.client-detail-head h3{margin:0}.client-detail-head p{color:#166534;margin:4px 0 0;font-weight:900}.client-detail-head button,.client-visits button{color:#fff;background:#059669;border:0;border-radius:10px;padding:9px 12px;font-weight:900}.client-visits{gap:10px;max-height:360px;display:grid;overflow:auto}.client-visits article{border:1px solid #e5e7eb;border-radius:12px;gap:4px;padding:10px;display:grid}.client-visits b{color:#b91c1c;font-size:16px}.client-visits span{color:#64748b;font-size:12px}.client-visits p{margin:0;font-weight:800}.client-visits small{color:#475569}.client-visits div{flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.client-visits div button:nth-child(2){background:#374151}@media (width<=850px){.clients-layout{grid-template-columns:1fr}.clients-toggle{justify-content:center;width:100%}.client-detail-head{display:grid}}
