:root{--color-black:#0d0d0d;--color-black-soft:#1a1a1a;--color-gold:#c9a227;--color-gold-light:#e0c159;--color-gold-dark:#9c7d1a;--color-white:#fff;--color-gray-bg:#f5f5f3;--color-gray-border:#e5e2d8;--color-text:#17171a;--color-text-muted:#6b6b64}*{box-sizing:border-box}body{color:var(--color-text);background:var(--color-gray-bg);margin:0;font-family:system-ui,Segoe UI,Roboto,sans-serif}#root{min-height:100vh}.app-shell{min-height:100vh;display:flex}.sidebar{background:linear-gradient(180deg, var(--color-black) 0%, var(--color-black-soft) 100%);width:240px;color:var(--color-white);border-right:1px solid #c9a22740;flex-direction:column;flex-shrink:0;padding:24px 16px;display:flex}.brand{align-items:center;gap:10px;margin-bottom:28px;display:flex}.brand-logo{object-fit:contain;border-radius:6px;width:34px;height:34px}.brand-title{color:var(--color-gold-light);letter-spacing:.3px;font-size:17px;font-weight:700}.brand-sub{opacity:.7;margin-top:1px;font-size:12px}.sidebar nav{flex-direction:column;flex:1;gap:4px;display:flex}.sidebar nav a{color:#d8d6cd;border-radius:8px;padding:10px 12px;font-size:14px;text-decoration:none}.sidebar nav a:hover{color:var(--color-gold-light);background:#c9a2271f}.sidebar nav a.active{background:linear-gradient(135deg, var(--color-gold) 0%, var(--color-gold-dark) 100%);color:var(--color-black);font-weight:600}.logout-btn{color:var(--color-gold-light);cursor:pointer;background:0 0;border:1px solid #c9a22766;border-radius:8px;padding:8px 12px;font-size:13px}.logout-btn:hover{background:#c9a2271f}.main-area{background:var(--color-gray-bg);flex-direction:column;flex:1;min-width:0;display:flex}.topbar{background:var(--color-white);border-bottom:1px solid var(--color-gray-border);justify-content:flex-end;padding:14px 32px;display:flex}.topbar-user{align-items:center;gap:10px;display:flex}.avatar{background:linear-gradient(135deg, var(--color-gold) 0%, var(--color-gold-dark) 100%);width:36px;height:36px;color:var(--color-black);border-radius:50%;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.user-email{color:var(--color-text);font-size:14px;font-weight:600}.user-role{color:var(--color-text-muted);font-size:12px}.content{flex:1;padding:32px}.page-header{border-left:4px solid var(--color-gold);margin-bottom:24px;padding-left:14px}.page-header h1{color:var(--color-black);margin:0;font-size:22px}.page-header p{color:var(--color-text-muted);margin:4px 0 0;font-size:14px}.card{background:var(--color-white);border:1px solid var(--color-gray-border);border-radius:10px;margin-bottom:20px;padding:20px 24px;box-shadow:0 1px 3px #0000000f}.card h2{color:var(--color-black);margin:0 0 14px;font-size:16px}.card-header-row{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.filtro-fecha{color:#555;align-items:center;gap:8px;font-size:13px;display:flex}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;border-bottom:1px solid var(--color-gray-border);padding:8px 10px}th{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.4px;font-size:12px;font-weight:600}.empty{color:#999;font-size:14px}.inline-form{flex-wrap:wrap;gap:8px;display:flex}.inline-form input,.inline-form select{border:1px solid var(--color-gray-border);border-radius:6px;padding:8px 10px;font-size:14px}.menu-form,.config-form{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.menu-form label,.config-form label{color:#555;flex-direction:column;gap:4px;font-size:13px;display:flex}.checkbox-label{align-items:center;flex-direction:row!important;gap:8px!important}.menu-form input,.menu-form textarea,.menu-form select,.config-form input,.config-form textarea,.config-form select{border:1px solid var(--color-gray-border);border-radius:6px;padding:8px 10px;font-family:inherit;font-size:14px}.form-actions{grid-column:1/-1;align-items:center;gap:12px;display:flex}button{background:var(--color-black);color:var(--color-gold-light);cursor:pointer;border:1px solid #0000;border-radius:7px;padding:9px 16px;font-size:14px;font-weight:600;transition:background .15s}button:hover{background:var(--color-black-soft)}button.secondary{background:var(--color-white);color:var(--color-black);border:1px solid var(--color-gray-border);font-weight:500}button.secondary:hover{border-color:var(--color-gold);background:#f0efe9}button:disabled{opacity:.6;cursor:default}.link-btn{color:var(--color-gold-dark);cursor:pointer;background:0 0;border:none;padding:0 6px;font-size:13px;font-weight:600}.link-btn:hover{background:0 0;text-decoration:underline}.link-btn.danger{color:#c0392b}.saved-msg{color:#2e8b57;font-size:13px}.stats-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.stat-card{background:var(--color-white);border:1px solid var(--color-gray-border);text-align:center;border-radius:10px;padding:24px;box-shadow:0 1px 3px #0000000f}.stat-value{color:var(--color-black);font-size:34px;font-weight:700}.stat-label{color:var(--color-text-muted);margin-top:6px;font-size:13px}.loading-screen{color:#666;justify-content:center;align-items:center;height:100vh;display:flex}.login-page{background:radial-gradient(circle at 50% 0%, #1f1f1f 0%, var(--color-black) 65%);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:var(--color-black-soft);border-radius:14px;flex-direction:column;gap:14px;width:340px;padding:40px 36px;display:flex;box-shadow:0 20px 60px #00000080,0 0 0 1px #c9a22733}.login-logo{object-fit:contain;border-radius:10px;width:64px;height:64px;margin:0 auto 6px}.login-card h1{color:var(--color-gold-light);text-align:center;letter-spacing:.5px;margin:0;font-size:22px}.login-subtitle{color:#999690;text-align:center;margin:-8px 0 8px;font-size:13px}.login-card label{color:#c9c6bd;flex-direction:column;gap:4px;font-size:13px;display:flex}.login-card input{color:var(--color-white);background:#101010;border:1px solid #c9a2274d;border-radius:8px;padding:11px 12px;font-size:14px}.login-card input:focus{border-color:var(--color-gold);outline:none}.login-card button{background:linear-gradient(135deg, var(--color-gold-light) 0%, var(--color-gold-dark) 100%);color:var(--color-black);margin-top:4px;font-weight:700}.login-card button:hover{background:linear-gradient(135deg, var(--color-gold) 0%, var(--color-gold-dark) 100%)}.login-error{color:#e07a6b;text-align:center;font-size:13px}.aforo-info{color:#555;margin:10px 0 0;font-size:13px}.aforo-warning{color:#c0392b;margin:10px 0 0;font-size:13px;font-weight:600}
