:root{--fondo: #ffffff;--panel: #f9f9f8;--hover: #f1f1ef;--texto: #191919;--suave: #6f6e69;--tenue: #a19f9a;--linea: #e9e9e7;--marca: #191919;--radio: 10px;--gris-f: #f1f1ef;--gris-t: #5f5e5b;--azul-f: #e7f0fb;--azul-t: #1f5fa8;--ambar-f: #fbf0dc;--ambar-t: #8a5a00;--morado-f: #f1ebfa;--morado-t: #6b3fa0;--rojo-f: #fdebec;--rojo-t: #b42318;--verde-f: #e8f3ec;--verde-t: #2b7a4b;--rojo: var(--rojo-t);--rojo-fondo: var(--rojo-f);--ambar: var(--ambar-t);--ambar-fondo: var(--ambar-f);font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;color:var(--texto);background:var(--fondo);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}*{box-sizing:border-box}body{margin:0;background:var(--fondo);line-height:1.45}h1,h2,h3{margin:0 0 10px;letter-spacing:-.01em}h2{font-size:17px;font-weight:600}h3{font-size:12px;font-weight:600;color:var(--tenue);text-transform:uppercase;letter-spacing:.05em;margin-top:20px}hr{border:0;border-top:1px solid var(--linea);margin:8px 0;width:100%}.centro{display:grid;place-items:center;min-height:60vh;color:var(--suave)}.app{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}.lateral{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:4px;background:var(--panel);border-right:1px solid var(--linea);padding:14px 10px}.marca{display:flex;align-items:center;gap:10px;font-weight:600;padding:6px 10px 14px}.marca img{width:28px;height:28px;border-radius:7px}.lateral nav{display:flex;flex-direction:column;gap:2px}.lateral .pie{margin-top:auto;display:flex;flex-direction:column;gap:2px;border-top:1px solid var(--linea);padding-top:10px}.item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:none;border:0;border-radius:7px;padding:8px 10px;font-size:14px;color:var(--suave)}.item:hover{background:var(--hover);color:var(--texto)}.item.activa{background:var(--hover);color:var(--texto);font-weight:600}.persona{display:flex;align-items:center;gap:10px;padding:6px 10px}.persona b{display:block;font-size:14px}.persona small{display:block;font-size:12px;color:var(--suave)}.avatar{width:30px;height:30px;border-radius:50%;background:var(--marca);color:#fff;display:grid;place-items:center;font-size:13px;font-weight:600;flex-shrink:0}main{width:100%;max-width:900px;margin:0 auto;padding:40px 48px 64px}.titulo{display:flex;align-items:center;gap:10px;font-size:30px;font-weight:700;margin-bottom:22px}.titulo svg{color:var(--tenue)}.nueva{display:flex;align-items:center;justify-content:center;gap:6px;margin:0 2px 12px;padding:9px 12px}.modal-fondo{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:#0000004d;display:flex;align-items:flex-start;justify-content:center;padding:12vh 16px 16px;animation:aparecer .15s ease-out}.modal{width:100%;max-width:520px;background:var(--fondo);border-radius:14px;padding:18px;box-shadow:0 12px 40px #00000026;animation:subir .2s ease-out}.modal .entre{margin-bottom:8px}.fila.dos>label{flex:1 1 180px}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%);z-index:40;background:var(--marca);color:#fff;padding:10px 16px;border-radius:10px;font-size:14px;box-shadow:0 6px 20px #0003;animation:aparecer .2s ease-out}.fab,.barra-movil,.hoja-fondo{display:none}button{font:inherit;cursor:pointer;color:inherit}.primario{background:var(--marca);color:#fff;border:1px solid var(--marca);border-radius:8px;padding:8px 14px;font-size:14px;font-weight:500;white-space:nowrap}.primario:hover{background:#333}.primario:disabled{opacity:.5;cursor:default}.secundario{background:var(--fondo);color:var(--texto);border:1px solid var(--linea);border-radius:8px;padding:8px 14px;font-size:14px;font-weight:500;white-space:nowrap}.secundario:hover{background:var(--hover)}.link{background:none;border:0;border-radius:6px;color:var(--suave);padding:6px 8px;font-size:14px;display:inline-flex;align-items:center;gap:6px}.link:hover{background:var(--hover);color:var(--texto)}.ancho{width:100%;margin-bottom:16px;padding:11px 14px}input,select,textarea{font:inherit;font-size:14px;color:var(--texto);background:var(--fondo);border:1px solid var(--linea);border-radius:8px;padding:9px 11px;min-width:0}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--marca);box-shadow:0 0 0 3px #19191914}input::placeholder,textarea::placeholder{color:var(--tenue)}input:not([type=checkbox]),textarea{width:100%}textarea{resize:vertical}.fila input[type=date]{width:auto}input[type=checkbox]{width:18px;height:18px;accent-color:var(--marca);margin:0;flex-shrink:0;cursor:pointer}label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--suave)}label.check{flex-direction:row;align-items:center;gap:8px;color:var(--texto);font-size:14px;cursor:pointer}.tarjeta{background:var(--fondo);border:1px solid var(--linea);border-radius:12px;padding:16px;margin-bottom:16px;display:flex;flex-direction:column;gap:12px}.tarjeta h3{margin:0}.fila{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.entre{justify-content:space-between;margin-bottom:12px}.espacio{flex:1}.anotar .fila{justify-content:flex-end}.lista{list-style:none;padding:0;margin:0 0 16px;display:flex;flex-direction:column;gap:8px}.lista li{position:relative;background:var(--fondo);border:1px solid var(--linea);border-radius:var(--radio);padding:12px 14px;display:flex;flex-wrap:wrap;gap:10px 12px;align-items:center;transition:border-color .15s,box-shadow .15s}.lista li:hover{border-color:#dcdcd9;box-shadow:0 1px 3px #0000000a}.lista li.urgente{box-shadow:inset 3px 0 0 var(--rojo-t)}.lista li.terminada .cuerpo>span:first-child,.hechos li .cuerpo>span:first-child{text-decoration:line-through;color:var(--tenue)}.lista li.terminada,.hechos li{background:var(--panel)}.lista li .panel{flex-basis:100%;display:flex;flex-direction:column;gap:8px;padding-top:4px}.lista li .panel.fila{flex-direction:row}form.panel{display:flex;flex-direction:column;gap:10px}.tarjeta .lista{margin:0}.tarjeta .lista li{background:var(--panel);border-color:transparent}.cuerpo{flex:1 1 220px;display:flex;flex-direction:column;gap:4px;min-width:0}.cuerpo>span:first-child{font-size:15px;overflow-wrap:anywhere}.meta{display:flex;gap:6px 10px;flex-wrap:wrap;align-items:center;font-size:12.5px;color:var(--suave)}.comentario{margin:4px 0 0;font-size:13px;background:var(--ambar-f);color:var(--ambar-t);padding:7px 10px;border-radius:7px}.chip{font-size:12px;padding:1px 7px;border-radius:4px;font-weight:500;white-space:nowrap}.chip.rojo{background:var(--rojo-f);color:var(--rojo-t)}.chip.ambar{background:var(--ambar-f);color:var(--ambar-t)}.chip-boton{border:1px solid var(--linea);background:var(--fondo);border-radius:99px;padding:5px 12px;font-size:13px;color:var(--suave)}.chip-boton:hover{background:var(--hover)}.chip-boton.on{background:var(--marca);border-color:var(--marca);color:#fff}select.estado,span.estado{border:0;border-radius:6px;font-size:13px;font-weight:500;padding:5px 10px;white-space:nowrap}select.estado{-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:28px;width:auto;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-opacity='.45' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 9px center}select.estado:focus{box-shadow:0 0 0 3px #1919191a}.estado-pendiente{background-color:var(--gris-f);color:var(--gris-t)}.estado-en_proceso{background-color:var(--azul-f);color:var(--azul-t)}.estado-esperando_cliente{background-color:var(--ambar-f);color:var(--ambar-t)}.estado-en_revision{background-color:var(--morado-f);color:var(--morado-t)}.estado-con_observaciones{background-color:var(--rojo-f);color:var(--rojo-t)}.estado-terminada{background-color:var(--verde-f);color:var(--verde-t)}select.estado option{background:#fff;color:var(--texto)}.indicadores{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}.indicadores button{background:var(--fondo);border:1px solid var(--linea);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;align-items:flex-start;gap:2px;font-size:13px;color:var(--suave);text-align:left}.indicadores button:hover{background:var(--panel)}.indicadores b{font-size:28px;font-weight:700;color:var(--texto);line-height:1.1}.indicadores .alerta b{color:var(--rojo-t)}.barra-carga{display:grid;grid-template-columns:100px 1fr 32px;gap:12px;align-items:center;background:none;border:0;border-radius:6px;padding:6px 4px;text-align:left;font-size:14px}.barra-carga:hover{background:var(--hover)}.pista{height:8px;background:var(--hover);border-radius:99px;overflow:hidden}.pista span{display:block;height:100%;background:var(--marca);border-radius:99px}.fotos{flex-basis:100%;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.subir-foto{cursor:pointer}.subir-foto.deshabilitado{opacity:.5;pointer-events:none}.miniaturas{flex-basis:100%;display:flex;flex-wrap:wrap;gap:10px}.miniaturas figure{margin:0;display:flex;flex-direction:column;align-items:center}.miniaturas img{width:92px;height:92px;object-fit:cover;border-radius:8px;border:1px solid var(--linea)}.vacio{color:var(--tenue);text-align:center;padding:40px 0;font-size:14px}.aviso{background:var(--panel);border:1px solid var(--linea);color:var(--texto);padding:10px 14px;border-radius:8px;font-size:14px}.error{color:var(--rojo-t);font-size:14px;margin:0}.login{display:grid;place-items:center;min-height:100vh;padding:16px;background:var(--panel)}.login .tarjeta{width:100%;max-width:380px;padding:28px;gap:14px;box-shadow:0 4px 24px #0000000d}.login .logo{width:52px;height:52px;border-radius:12px}.login h1{font-size:22px;margin:0}.login .sub{color:var(--suave);margin:0;font-size:14px}.login .primario{padding:11px;margin-top:4px}@media (max-width: 860px){.app{display:block}.lateral{display:none}main{padding:20px 16px calc(96px + env(safe-area-inset-bottom))}.titulo{font-size:26px;margin-bottom:16px}input,select,textarea{font-size:16px;padding:11px 12px}select.estado{font-size:14px;padding:7px 30px 7px 12px}.primario,.secundario{padding:10px 16px;font-size:15px}.link{padding:8px 10px}.lista li{padding:14px}.lista li .cuerpo{flex-basis:100%}.indicadores{grid-template-columns:repeat(2,1fr)}.barra-carga{grid-template-columns:80px 1fr 28px}.barra-movil{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:10;background:#fffffff0;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--linea);padding:6px 4px calc(6px + env(safe-area-inset-bottom))}.barra-movil button{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;background:none;border:0;padding:6px 2px;font-size:11px;color:var(--tenue);min-width:0}.barra-movil button span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.barra-movil button.activa{color:var(--texto);font-weight:600}.hoja-fondo{display:flex;align-items:flex-end;position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;background:#0000004d;animation:aparecer .15s ease-out}.hoja{width:100%;background:var(--fondo);border-radius:16px 16px 0 0;padding:16px 12px calc(16px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:2px;animation:subir .2s ease-out}.hoja .entre{padding:0 6px 4px;margin-bottom:4px}.hoja .item{padding:12px 10px;font-size:16px}.fab{display:grid;place-items:center;position:fixed;z-index:11;right:16px;bottom:calc(78px + env(safe-area-inset-bottom));width:56px;height:56px;border-radius:50%;border:0;background:var(--marca);color:#fff;box-shadow:0 6px 20px #00000040}.fab:active{transform:scale(.95)}.modal-fondo{align-items:flex-end;padding:0}.modal{max-width:none;border-radius:16px 16px 0 0;padding:18px 16px calc(18px + env(safe-area-inset-bottom));max-height:92vh;overflow-y:auto}.toast{bottom:calc(84px + env(safe-area-inset-bottom))}}@keyframes aparecer{0%{opacity:0}}@keyframes subir{0%{transform:translateY(24px);opacity:.6}}@media (prefers-reduced-motion: reduce){.hoja-fondo,.hoja{animation:none}}
