:root{--bg-page: #f5f6f8;--bg-header: #ffffff;--bg-card: #ffffff;--bg-input: #ffffff;--bg-subtle: #f7f8fa;--border: #e1e4e8;--border-soft:#eef0f3;--text: #1a1f29;--text-mid: #4a5260;--text-soft: #8a8f98;--accent: #f9d449;--accent-dk: #cfa910}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg-page);color:var(--text);font-family:Inter,system-ui,-apple-system,sans-serif;font-size:14px;line-height:1.5;min-height:100vh}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit;font-size:inherit}.page{min-height:100vh;display:flex;flex-direction:column}.header{background:var(--bg-header);border-bottom:1px solid var(--border);padding:.7rem 1.25rem;box-shadow:0 1px #00000005}.header-inner{max-width:880px;margin:0 auto;display:flex;align-items:center;gap:1.25rem}.header-brand{display:inline-flex;align-items:center;gap:.5rem;font-family:Bebas Neue,sans-serif;font-size:1.3rem;letter-spacing:.04em;color:var(--text);flex-shrink:0}.header-brand svg{color:var(--accent)}.header-brand .accent{color:var(--accent-dk)}.header-nav{display:flex;gap:.25rem;flex:1}.header-nav a{color:var(--text-soft);font-weight:600;padding:.4rem .85rem;border-radius:6px;font-size:.86rem;letter-spacing:.01em;transition:background .12s,color .12s}.header-nav a:hover{color:var(--text);background:var(--bg-subtle)}.header-nav a.activo{color:var(--accent-dk);background:#f9d44921}.header-right{display:inline-flex;align-items:center;gap:.75rem;margin-left:auto}.header-user{font-size:.84rem;color:var(--text-mid)}.btn-logout{background:transparent;border:1px solid var(--border);color:var(--text-mid);padding:.32rem .85rem;border-radius:6px;font-size:.8rem;font-weight:600;transition:border-color .12s,color .12s}.btn-logout:hover{border-color:#ef4444;color:#ef4444}.contenido{flex:1;max-width:880px;width:100%;margin:0 auto;padding:1.25rem 1.25rem 3rem}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:1rem 1.25rem 1.1rem;margin-bottom:1rem;box-shadow:0 1px 3px #00000008}.card-head{display:flex;align-items:center;justify-content:space-between;position:relative;padding-bottom:.55rem;margin-bottom:.7rem;flex-wrap:wrap;gap:.5rem}.card-head:after{content:"";position:absolute;left:0;bottom:0;width:38px;height:2px;background:var(--accent);border-radius:1px}.card-titulo{font-family:Bebas Neue,sans-serif;font-size:1.08rem;letter-spacing:.05em;color:var(--text)}.btn-primario{background:var(--accent);color:var(--text);border:none;border-radius:7px;padding:.6rem 1.2rem;font-family:Barlow Condensed,sans-serif;font-size:.95rem;font-weight:700;letter-spacing:.04em;cursor:pointer;transition:background .12s}.btn-primario:hover{background:#ffe273}.btn-primario:disabled{opacity:.55;cursor:wait}.btn-secundario{background:transparent;border:1px solid var(--border);color:var(--text-mid);border-radius:7px;padding:.5rem 1.05rem;font-family:Barlow Condensed,sans-serif;font-size:.9rem;font-weight:600;cursor:pointer;transition:border-color .12s,color .12s,background .12s}.btn-secundario:hover{border-color:var(--accent-dk);color:var(--accent-dk);background:#f9d4490f}.input{width:100%;background:var(--bg-input);border:1px solid var(--border);color:var(--text);padding:.55rem .75rem;border-radius:7px;font-size:.92rem;transition:border-color .12s,box-shadow .12s}.input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #f9d4492e}.label{display:block;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-soft);margin-bottom:.3rem}.toast{position:fixed;bottom:1rem;left:50%;transform:translate(-50%);z-index:9999;background:var(--bg-card);border:1px solid var(--border);border-left:3px solid var(--accent);padding:.6rem 1.1rem;border-radius:7px;font-size:.88rem;color:var(--text);box-shadow:0 6px 20px #00000014}.toast-error{border-left-color:#ef4444;color:#b91c1c}.spinner{display:inline-block;width:18px;height:18px;border:2.5px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.status-dot{display:inline-block;width:9px;height:9px;border-radius:50%;vertical-align:middle;margin-right:.4rem}.status-verde{background:#22c55e;box-shadow:0 0 0 3px #22c55e24}.status-naranja{background:#f97316;box-shadow:0 0 0 3px #f9731624}.status-rojo{background:#ef4444;box-shadow:0 0 0 3px #ef444424}.status-gris{background:#cbd0d6}@media(max-width:760px){.header{padding:.55rem .85rem}.header-inner{gap:.5rem}.header-brand{font-size:1.1rem}.header-nav,.header-user{display:none}.contenido{padding:.85rem .7rem 2rem}.card{padding:.85rem 1rem 1rem}}
