:root{--bg: #f5f7fa;--panel: #ffffff;--panel-2: #eaf1f8;--border: #e3e7ee;--text: #111827;--muted: #6b7280;--accent: #1e3a5f;--accent-2: #16314f;--danger: #d92d20;--warn: #e0a100;--ok: #0e9f6e;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.nav{display:flex;align-items:center;gap:1.25rem;padding:.75rem 1.25rem;background:var(--panel);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.nav .brand{display:inline-flex;align-items:center;font-weight:700;font-size:1.05rem;letter-spacing:.3px}.brand-logo{width:26px;height:26px;border-radius:7px;margin-right:8px}.nav .spacer{flex:1}.nav .email{color:var(--muted);font-size:.85rem}.container{max-width:1100px;margin:0 auto;padding:1.5rem 1.25rem}.filters{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1.25rem}input,select,button{font:inherit;color:var(--text);background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:.5rem .7rem}input:focus,select:focus{outline:none;border-color:var(--accent)}input::placeholder{color:var(--muted)}button{cursor:pointer;background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}button:hover{background:var(--accent-2)}button:disabled{opacity:.5;cursor:not-allowed}button.ghost{background:transparent;border-color:var(--border);color:var(--text)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.9rem}.card{background:var(--panel);border:1px solid var(--border);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;transition:border-color .15s}.card:hover{border-color:var(--accent)}.card .thumb{height:130px;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden}.card .thumb img{max-height:100%;max-width:100%;object-fit:contain}.card .thumb.empty{background:var(--panel-2);color:var(--muted);font-size:.8rem}.card .body{padding:.7rem .8rem}.card .denom{font-weight:600;font-size:.92rem;line-height:1.25}.card .meta{color:var(--muted);font-size:.78rem;margin-top:.35rem}.badge{display:inline-block;font-size:.72rem;padding:.1rem .45rem;border-radius:999px;border:1px solid var(--border);color:var(--muted)}.badge.marca{color:var(--accent);border-color:var(--accent)}.badge.aviso{color:var(--ok);border-color:var(--ok)}.center{min-height:70vh;display:flex;align-items:center;justify-content:center}.login-card{width:340px;background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:1.5rem}.login-logo{display:block;width:64px;height:64px;border-radius:16px;margin:0 auto 1rem;box-shadow:0 10px 24px #2456c847}.login-card h1{margin:0 0 .25rem;font-size:1.4rem;text-align:center}.login-card>p{text-align:center}.login-card p{color:var(--muted);margin:0 0 1.25rem;font-size:.9rem}.login-card label{display:block;font-size:.82rem;color:var(--muted);margin:.7rem 0 .25rem}.login-card input{width:100%}.login-card button{width:100%;margin-top:1.1rem;padding:.6rem}.error{color:var(--danger);font-size:.85rem;margin-top:.8rem}.aviso-ok{color:var(--ok);font-size:.85rem;margin-top:.7rem;font-weight:600}.fila-seguridad{display:flex;gap:.6rem;flex-wrap:wrap}.form-seguridad{display:flex;flex-direction:column;gap:.45rem;margin-top:.9rem;max-width:380px}.form-seguridad label{font-size:.82rem;font-weight:600;color:var(--muted)}.form-seguridad button{margin-top:.4rem;align-self:flex-start}.muted{color:var(--muted)}.detail{display:grid;grid-template-columns:360px 1fr;gap:2rem}.detail .img{background:#fff;border-radius:12px;padding:1rem;display:flex;align-items:center;justify-content:center;min-height:220px}.detail .img img{max-width:100%}.detail dl{display:grid;grid-template-columns:160px 1fr;gap:.5rem 1rem}.detail dt{color:var(--muted)}.detail dd{margin:0}.progress{height:12px;background:var(--panel-2);border-radius:999px;overflow:hidden;border:1px solid var(--border)}.progress>span{display:block;height:100%;background:var(--accent);transition:width .3s}.container.narrow{max-width:720px}.page-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 0 1rem}.page-head h2{margin:0}h3.seccion{margin:1.4rem 0 .6rem;font-size:.95rem;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.lista{display:flex;flex-direction:column;gap:.8rem}.marca-row{flex-direction:row;align-items:center;gap:.9rem;padding:.85rem 1rem;cursor:pointer}.marca-thumb{width:52px;height:52px;border-radius:12px;flex:none;background:var(--panel-2);color:var(--accent);font-weight:700;font-size:1.3rem;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;overflow:hidden}.marca-thumb img{width:100%;height:100%;object-fit:contain}.dot{width:15px;height:15px;border-radius:50%;flex:none}.acard{border:1px solid var(--border);border-radius:14px;background:var(--panel);padding:1rem 1.1rem;display:flex;flex-direction:column;gap:.8rem}.acard-head{display:flex;align-items:center;gap:.6rem}.acard-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem;border-top:1px solid var(--border);padding-top:.7rem;font-size:.85rem}.menu{position:relative;display:inline-block}.menu-pop{position:absolute;right:0;top:calc(100% + 6px);z-index:50;min-width:160px;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--border);border-radius:12px;box-shadow:0 10px 30px #10182824;padding:.3rem}.menu-pop>button{text-align:left;background:none;border:none;color:var(--text);font-weight:500;font-size:.9rem;padding:.5rem .7rem;border-radius:8px;cursor:pointer}.menu-pop>button:hover:not(:disabled){background:var(--panel-2)}.menu-pop>button:disabled{color:var(--muted);opacity:.6;cursor:default}.cal{position:relative;display:inline-block}.cal-btn{display:inline-flex;align-items:center;gap:.45rem}.cal-pop{position:absolute;top:calc(100% + 6px);left:0;z-index:50;width:258px;background:var(--panel);border:1px solid var(--border);border-radius:12px;box-shadow:0 10px 30px #10182824;padding:.7rem}.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.45rem}.cal-nav{background:none;border:none;color:var(--text);cursor:pointer;font-size:1.1rem;line-height:1;padding:.15rem .6rem;border-radius:8px}.cal-nav:hover{background:var(--panel-2)}.cal-mes{font-weight:700;font-size:.9rem;text-transform:capitalize}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.cal-dia-h{text-align:center;font-size:.68rem;color:var(--muted);font-weight:700;padding:.15rem 0}.cal-dia{aspect-ratio:1;border:none;background:none;border-radius:8px;font-size:.8rem;color:var(--muted);padding:0;font-weight:500}.cal-dia:disabled{opacity:.45;cursor:default}.cal-dia.con{background:var(--panel-2);color:var(--accent);font-weight:700;cursor:pointer}.cal-dia.con:hover,.cal-dia.sel{background:var(--accent);color:#fff}.cal-todas{width:100%;margin-top:.55rem;font-size:.85rem}.user-menu{position:relative}.user-btn{display:inline-flex;align-items:center;gap:.5rem}.user-avatar{width:24px;height:24px;border-radius:50%;background:var(--accent);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700}.user-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.user-pop{position:absolute;right:0;top:calc(100% + 8px);z-index:50;min-width:240px;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--border);border-radius:12px;box-shadow:0 10px 30px #10182824;padding:.4rem}.user-pop>a,.user-pop>button.cerrar{text-align:left;padding:.55rem .7rem;border-radius:8px;border:none;background:none;color:var(--text);font-weight:500;font-size:.9rem}.user-pop>a:hover,.user-pop>button.cerrar:hover{background:var(--panel-2);text-decoration:none}.user-pop>button.cerrar{color:var(--danger);cursor:pointer}.user-info{padding:.6rem .7rem .7rem;border-bottom:1px solid var(--border);margin-bottom:.3rem}.user-info .badge{margin-top:.4rem;display:inline-block}.user-nombre{font-weight:700}.user-correo{font-size:.82rem}a.btn-outline{display:inline-block;border:1px solid var(--accent);border-radius:8px;padding:.4rem .8rem;font-weight:600;background:var(--panel)}a.btn-outline:hover{background:var(--panel-2);text-decoration:none}button.danger-solid{background:var(--danger);border-color:var(--danger);color:#fff}button.danger-solid:hover{background:#b42318}.pill{font-size:.85rem;font-weight:700;padding:.2rem .7rem;border-radius:999px}.pill.soft{background:var(--panel-2);font-weight:600}.lado-titulo{font-size:.7rem;letter-spacing:.6px;color:var(--muted);font-weight:600}.lado-valor{font-weight:600}.chips{display:flex;flex-wrap:wrap;gap:.45rem}.chip{font-size:.78rem;font-weight:600;border:1px solid;border-radius:999px;padding:.18rem .6rem}.panel{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:1rem 1.2rem}.switch-row{display:flex;align-items:center;justify-content:space-between;padding:.65rem 0;border-bottom:1px solid var(--border);cursor:pointer}input[type=checkbox].sw{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:44px;height:26px;border-radius:999px;margin:0;background:var(--panel-2);border:1px solid var(--border);position:relative;cursor:pointer;transition:background .15s}input[type=checkbox].sw:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:var(--muted);transition:transform .15s,background .15s}input[type=checkbox].sw:checked{background:var(--ok);border-color:var(--ok)}input[type=checkbox].sw:checked:after{transform:translate(18px);background:#fff}.seg{display:flex;border:1px solid var(--border);border-radius:10px;overflow:hidden}.seg button{flex:1;background:transparent;border:none;border-radius:0;color:var(--text);padding:.55rem;font-weight:500}.seg button.on{background:var(--accent);color:#fff;font-weight:700}.seg button+button{border-left:1px solid var(--border)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#11182759;display:flex;align-items:center;justify-content:center;z-index:50;padding:1rem}.modal{width:440px;max-width:100%;max-height:92vh;overflow:auto;background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:1.3rem}.modal h3{margin:0 0 1rem}.modal label{display:block;font-size:.82rem;color:var(--muted);margin:.8rem 0 .25rem}.modal input,.modal select{width:100%}.modal-actions{display:flex;gap:.6rem;margin-top:1.2rem}.editor-thumb{height:120px;background:var(--panel-2);border:1px solid var(--border);border-radius:10px;display:flex;align-items:center;justify-content:center;overflow:hidden;margin-bottom:.6rem}.editor-thumb img{max-height:100%;max-width:100%;object-fit:contain;background:#fff}.file-btn{display:block;text-align:center;border:1px dashed var(--border);border-radius:10px;padding:.5rem;cursor:pointer;color:var(--muted);font-size:.85rem}.file-btn:hover{border-color:var(--accent);color:var(--accent)}button.ghost.danger{color:var(--danger);border-color:var(--danger)}.link-btn{background:none;border:none;color:var(--accent);padding:0;cursor:pointer;font-size:.85rem}.link-btn:hover{text-decoration:underline;background:none}.login-links{display:flex;flex-direction:column;gap:.5rem;align-items:center;margin-top:1rem}.legal-links{text-align:center;font-size:.75rem;margin:1rem 0 0}.legal h1{margin:.4rem 0 .3rem}.legal h2{font-size:1.05rem;margin:1.4rem 0 .4rem}.legal p,.legal li{line-height:1.55;font-size:.95rem}.legal ul{padding-left:1.2rem}.aviso{color:var(--ok);font-size:.85rem;margin-top:.8rem}@media(max-width:720px){.detail{grid-template-columns:1fr}.nav{flex-wrap:wrap;gap:.6rem 1rem}}
