/* ============================================================
   EventoSocial — assets/styles.css
   Diseño: Elegante, marfil/ivory, refinado
   ============================================================ */

/* ── Variables ── */
:root {
    --gold:      #8B7355;
    --gold-light:#A89070;
    --gold-dark: #6B5A42;
    --bg:        #F5F0E6;
    --bg2:       #EDE8DC;
    --bg3:       #E4DDD0;
    --bg4:       #D8D0C0;
    --border:    #C8BFA8;
    --text:      #2C2416;
    --text-muted:#6B5E4A;
    --text-dim:  #9A8E7A;
    --rose:      #E91E8C;
    --teal:      #26A69A;
    --blue:      #64B5F6;
    --amber:     #FF7043;
    --red:       #EF5350;
    --green:     #66BB6A;
    --sidebar-w: 240px;
    --topbar-h:  60px;
    --radius:    8px;
    --shadow:    0 2px 12px rgba(44,36,22,.12);
}

/* ── Reset ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:15px;-webkit-font-smoothing:antialiased}
body{font-family:'Jost',sans-serif;background:var(--bg);color:var(--text);line-height:1.6;overflow-x:hidden}
a{color:var(--gold);text-decoration:none}
a:hover{color:var(--gold-light)}
input,select,textarea,button{font-family:inherit;font-size:inherit}
img{max-width:100%}

/* ── Scrollbar ── */
::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-track{background:var(--bg3)}
::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}
::-webkit-scrollbar-thumb:hover{background:var(--gold-dark)}

/* ═══════════════════════════════════════════════════════════
   WELCOME PAGE
   ═══════════════════════════════════════════════════════════ */
.welcome-body{
    background:radial-gradient(ellipse at 20% 50%, #EDE0C8 0%, #F5F0E6 60%, #FAF7F0 100%);
    min-height:100vh;display:flex;align-items:center;justify-content:center;
    overflow:hidden;position:relative;
}
.particles{position:fixed;inset:0;pointer-events:none;overflow:hidden}
.particle{
    position:absolute;width:2px;height:2px;border-radius:50%;
    background:var(--gold-dark);opacity:0;
    animation:floatParticle var(--dur,8s) var(--del,0s) ease-in-out infinite;
}
@keyframes floatParticle{
    0%{opacity:0;transform:translateY(100vh) scale(0)}
    10%{opacity:.6}
    90%{opacity:.2}
    100%{opacity:0;transform:translateY(-20px) scale(1.5)}
}
.welcome-container{
    text-align:center;position:relative;z-index:10;
    animation:fadeInUp .8s ease forwards;
}
@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}

.welcome-logo{position:relative;margin-bottom:2rem}
.logo-ornament{width:120px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);margin:0 auto .8rem}
.logo-inner{padding:.5rem 0}
.logo-symbol{font-size:3rem;color:var(--gold);line-height:1;margin-bottom:.3rem;
    animation:pulse 3s ease-in-out infinite;
    text-shadow:0 0 20px rgba(139,115,85,.4),0 0 40px rgba(139,115,85,.15)}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
.logo-brand{display:flex;align-items:baseline;justify-content:center;gap:.15em}
.brand-evento{font-family:'Cormorant Garamond',serif;font-size:3.5rem;font-weight:300;color:var(--text);letter-spacing:.05em}
.brand-social{font-family:'Cormorant Garamond',serif;font-size:3.5rem;font-weight:600;color:var(--gold);letter-spacing:.05em}
.logo-tagline{font-size:.8rem;font-weight:300;letter-spacing:.3em;text-transform:uppercase;color:var(--text-muted);margin-top:.4rem}

.welcome-divider{display:flex;align-items:center;gap:1rem;margin:1.5rem auto;width:200px}
.divider-line{flex:1;height:1px;background:var(--border)}
.divider-diamond{color:var(--gold);font-size:.6rem}
.welcome-message{font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-weight:300;font-style:italic;color:var(--text-muted);margin-bottom:2.5rem;line-height:1.8}

.btn-bienvenido{
    display:inline-flex;align-items:center;gap:.8rem;
    padding:.9rem 2.5rem;
    background:linear-gradient(135deg,var(--gold-dark),var(--gold));
    color:var(--text);font-weight:700;letter-spacing:.15em;text-transform:uppercase;font-size:.85rem;
    border-radius:2px;border:none;cursor:pointer;
    transition:all .3s ease;
    box-shadow:0 0 30px rgba(139,115,85,.2);
}
.btn-bienvenido:hover{background:linear-gradient(135deg,var(--gold),var(--gold-light));color:var(--text);transform:translateY(-2px);box-shadow:0 8px 40px rgba(139,115,85,.4)}
.btn-arrow{transition:transform .3s}
.btn-bienvenido:hover .btn-arrow{transform:translateX(4px)}
.welcome-year{margin-top:3rem;font-size:.75rem;color:var(--text-dim);letter-spacing:.2em}

/* ═══════════════════════════════════════════════════════════
   LOGIN PAGE
   ═══════════════════════════════════════════════════════════ */
.login-body{background:var(--bg);min-height:100vh;display:flex;}
.login-split{display:flex;width:100%;min-height:100vh}

.login-panel-left{
    flex:1;position:relative;overflow:hidden;
    background:linear-gradient(135deg,#EDE0C4 0%,#F5EED8 100%);
    display:flex;align-items:center;justify-content:center;
}
.login-panel-left::before{
    content:'';position:absolute;inset:0;
    background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23F5F0E8' fill-opacity='0.08'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}
.panel-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(139,115,85,.08),rgba(0,0,0,.5))}
.panel-content{position:relative;z-index:1;text-align:center;padding:2rem}
.panel-logo{font-family:'Cormorant Garamond',serif;font-size:1.2rem;color:var(--gold);letter-spacing:.3em;text-transform:uppercase;margin-bottom:3rem}
.panel-headline{font-family:'Cormorant Garamond',serif;font-size:3.5rem;font-weight:300;color:var(--text);line-height:1.2;margin-bottom:1.5rem}
.panel-headline em{color:var(--gold);font-style:italic}
.panel-sub{font-size:.95rem;color:var(--text-muted);max-width:320px;margin:0 auto 3rem;line-height:1.7}
.panel-icons{display:flex;gap:1.5rem;justify-content:center;font-size:1.8rem;filter:drop-shadow(0 0 8px rgba(139,115,85,.3))}

.login-panel-right{
    width:480px;display:flex;align-items:center;justify-content:center;
    background:var(--bg2);border-left:1px solid var(--border);
}
.login-form-wrap{width:100%;max-width:380px;padding:2rem}
.login-brand{display:flex;align-items:center;gap:.6rem;margin-bottom:2.5rem;font-family:'Cormorant Garamond',serif;font-size:1.4rem}
.brand-symbol{color:var(--gold)}
.brand-name{color:var(--text)}
.login-title{font-family:'Cormorant Garamond',serif;font-size:2.2rem;font-weight:400;margin-bottom:.4rem;color:var(--text)}
.login-subtitle{color:var(--text-muted);font-size:.9rem;margin-bottom:2rem}

.login-form{display:flex;flex-direction:column;gap:1.2rem}
.btn-login{
    display:flex;align-items:center;justify-content:center;gap:.8rem;
    width:100%;padding:.85rem;margin-top:.5rem;
    background:linear-gradient(135deg,var(--gold-dark),var(--gold));
    color:var(--text);font-weight:700;font-size:.9rem;letter-spacing:.1em;
    border:none;border-radius:var(--radius);cursor:pointer;
    transition:all .3s;
}
.btn-login:hover{background:linear-gradient(135deg,var(--gold),var(--gold-light));transform:translateY(-1px);box-shadow:0 6px 24px rgba(139,115,85,.35)}
.login-hint{text-align:center;margin-top:1.5rem;color:var(--text-dim)}
.login-hint code{background:var(--bg3);padding:.1rem .4rem;border-radius:3px;font-size:.8rem;color:var(--gold)}

/* ═══════════════════════════════════════════════════════════
   LAYOUT PRINCIPAL
   ═══════════════════════════════════════════════════════════ */
.sidebar{
    position:fixed;left:0;top:0;bottom:0;width:var(--sidebar-w);
    background:var(--bg2);border-right:1px solid var(--border);
    display:flex;flex-direction:column;z-index:100;
    transition:transform .3s;
}
.sidebar-logo{
    padding:1.2rem 1.5rem;border-bottom:1px solid var(--border);
    display:flex;align-items:center;gap:.7rem;
    font-family:'Cormorant Garamond',serif;font-size:1.3rem;
}
.logo-icon{color:var(--gold);font-size:1.1rem}
.logo-text{color:var(--text)}
.logo-text strong{color:var(--gold)}

.sidebar-nav{flex:1;padding:1rem 0;overflow-y:auto;display:flex;flex-direction:column;gap:2px}
.nav-item{
    display:flex;align-items:center;gap:.85rem;
    padding:.7rem 1.5rem;color:var(--text-muted);
    font-size:.9rem;font-weight:400;letter-spacing:.02em;
    transition:all .2s;border-left:3px solid transparent;
}
.nav-item:hover{color:var(--text);background:var(--bg3);border-left-color:var(--border)}
.nav-item.active{color:var(--gold);background:rgba(139,115,85,.08);border-left-color:var(--gold)}
.nav-item i{width:18px;text-align:center;font-size:.95rem}

.sidebar-footer{
    padding:1rem 1.5rem;border-top:1px solid var(--border);
    display:flex;align-items:center;gap:.7rem;
}
.user-chip{display:flex;align-items:center;gap:.7rem;flex:1;min-width:0}
.user-name{font-size:.85rem;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.user-role{font-size:.72rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em}
.btn-logout{
    display:flex;align-items:center;justify-content:center;
    width:34px;height:34px;border-radius:var(--radius);
    background:var(--bg3);color:var(--text-muted);
    transition:all .2s;flex-shrink:0;
}
.btn-logout:hover{background:rgba(239,83,80,.2);color:var(--red)}

.topbar{
    position:fixed;top:0;left:var(--sidebar-w);right:0;height:var(--topbar-h);
    background:var(--bg2);border-bottom:1px solid var(--border);
    display:flex;align-items:center;padding:0 1.5rem;gap:1rem;z-index:90;
}
.page-title{font-family:'Cormorant Garamond',serif;font-size:1.35rem;font-weight:500;color:var(--text);flex:1}
.sidebar-toggle{background:none;border:none;cursor:pointer;color:var(--text-muted);font-size:1.1rem;display:none}
.topbar-right{display:flex;align-items:center;gap:.8rem}
.notif-btn{position:relative;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--bg3);border-radius:var(--radius);color:var(--text-muted)}
.notif-btn:hover{color:var(--gold);background:rgba(139,115,85,.1)}
.notif-badge{position:absolute;top:4px;right:4px;min-width:16px;height:16px;background:var(--red);border-radius:8px;font-size:.65rem;display:flex;align-items:center;justify-content:center;color:#fff;padding:0 3px}

.main-content{
    margin-left:var(--sidebar-w);padding-top:var(--topbar-h);
    min-height:100vh;padding:calc(var(--topbar-h) + 1.5rem) 1.5rem 1.5rem;
}

/* ═══════════════════════════════════════════════════════════
   COMPONENTES BASE
   ═══════════════════════════════════════════════════════════ */

/* Avatares */
.user-avatar{
    display:inline-flex;align-items:center;justify-content:center;
    width:36px;height:36px;border-radius:50%;
    font-size:.85rem;font-weight:600;color:var(--text);flex-shrink:0;
}
.user-avatar.sm{width:30px;height:30px;font-size:.75rem}
.user-avatar.xs{width:26px;height:26px;font-size:.7rem}

/* Badges */
.badge{display:inline-block;padding:.15rem .6rem;border-radius:2px;font-size:.75rem;font-weight:500;letter-spacing:.04em}
.badge-active{background:rgba(102,187,106,.15);color:#66BB6A}
.badge-inactive{background:rgba(239,83,80,.1);color:#EF5350}
.badge-warn{background:rgba(139,115,85,.12);color:var(--gold)}
.rol-badge{display:inline-block;padding:.2rem .7rem;border-radius:2px;font-size:.75rem;font-weight:500}

/* Cards */
.card{
    background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);
    padding:1.25rem;margin-bottom:1.2rem;
}
.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}
.card-title{font-family:'Cormorant Garamond',serif;font-size:1.1rem;font-weight:500;color:var(--text);display:flex;align-items:center;gap:.5rem}
.card-title i{color:var(--gold);font-size:.9rem}
.card-link{font-size:.8rem;color:var(--gold);font-weight:500}

/* Forms */
.field-group{display:flex;flex-direction:column;gap:.4rem;margin-bottom:.2rem}
.field-group.col-2{grid-column:span 2}
.field-label{font-size:.78rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted)}
.field-input{
    width:100%;padding:.65rem .9rem;
    background:var(--bg3);border:1px solid var(--border);
    border-radius:var(--radius);color:var(--text);
    transition:border-color .2s,box-shadow .2s;
    outline:none;
}
.field-input:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(139,115,85,.12)}
.field-input-wrap{position:relative}
.field-input-wrap .field-input{padding-left:2.5rem}
.field-icon{position:absolute;left:.85rem;top:50%;transform:translateY(-50%);color:var(--text-dim);font-size:.85rem}
.toggle-pass{position:absolute;right:.85rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--text-muted)}
select.field-input option{background:var(--bg3)}
textarea.field-input{resize:vertical;min-height:70px}
input[type="color"].field-input{height:42px;padding:.3rem}

/* Buttons */
.btn-primary{
    display:inline-flex;align-items:center;gap:.5rem;
    padding:.65rem 1.3rem;
    background:linear-gradient(135deg,var(--gold-dark),var(--gold));
    color:var(--text);font-weight:700;font-size:.85rem;letter-spacing:.05em;
    border:none;border-radius:var(--radius);cursor:pointer;
    transition:all .2s;white-space:nowrap;
}
.btn-primary:hover{background:linear-gradient(135deg,var(--gold),var(--gold-light));transform:translateY(-1px);box-shadow:0 4px 20px rgba(139,115,85,.3)}
.btn-outline{
    display:inline-flex;align-items:center;gap:.5rem;
    padding:.6rem 1.2rem;background:transparent;
    border:1px solid var(--border);color:var(--text-muted);
    border-radius:var(--radius);cursor:pointer;font-size:.85rem;
    transition:all .2s;
}
.btn-outline:hover{border-color:var(--gold);color:var(--gold);background:rgba(139,115,85,.06)}
.btn-danger{background:rgba(239,83,80,.15);border:1px solid rgba(239,83,80,.3);color:var(--red);padding:.6rem 1.2rem;border-radius:var(--radius);cursor:pointer;font-size:.85rem;transition:all .2s;display:inline-flex;align-items:center;gap:.5rem}
.btn-danger:hover{background:rgba(239,83,80,.25)}
.btn-sm{
    display:inline-flex;align-items:center;gap:.3rem;
    padding:.3rem .75rem;font-size:.78rem;
    background:var(--bg3);border:1px solid var(--border);
    color:var(--text-muted);border-radius:var(--radius);cursor:pointer;
    transition:all .2s;
}
.btn-sm:hover{border-color:var(--gold);color:var(--gold)}
.btn-sm.btn-edit{border-color:rgba(100,181,246,.3);color:var(--blue)}
.btn-sm.btn-danger{border-color:rgba(239,83,80,.3);color:var(--red)}
.btn-icon{
    display:inline-flex;align-items:center;justify-content:center;
    width:32px;height:32px;background:var(--bg3);border:1px solid var(--border);
    border-radius:var(--radius);cursor:pointer;color:var(--text-muted);
    transition:all .2s;font-size:.8rem;
}
.btn-icon:hover{border-color:var(--gold);color:var(--gold)}
.btn-icon.btn-danger-icon:hover{border-color:rgba(239,83,80,.4);color:var(--red)}
.btn-icon.xs{width:24px;height:24px;font-size:.7rem}

/* Toolbar */
.toolbar{
    display:flex;align-items:center;justify-content:space-between;
    gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap;
}
.toolbar-left{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;flex:1}
.toolbar-btns{display:flex;gap:.6rem}
.search-bar{
    display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;
    background:var(--bg2);border:1px solid var(--border);
    border-radius:var(--radius);padding:.35rem .7rem;
}
.search-bar i{color:var(--text-dim);font-size:.85rem}
.search-bar input{background:none;border:none;outline:none;color:var(--text);font-size:.85rem;min-width:160px}
.search-bar select{background:var(--bg3);border:1px solid var(--border);color:var(--text-muted);font-size:.8rem;padding:.25rem .5rem;border-radius:4px}

/* Alerts */
.alert{
    display:flex;align-items:center;gap:.7rem;
    padding:.85rem 1.1rem;border-radius:var(--radius);
    margin-bottom:1.2rem;font-size:.88rem;
}
.alert-success{background:rgba(102,187,106,.1);border:1px solid rgba(102,187,106,.25);color:#66BB6A}
.alert-error{background:rgba(239,83,80,.1);border:1px solid rgba(239,83,80,.25);color:var(--red)}
.alert-info{background:rgba(139,115,85,.1);border:1px solid rgba(139,115,85,.25);color:var(--gold)}

/* Modals */
.modal-overlay{
    display:none;position:fixed;inset:0;z-index:500;
    background:rgba(44,36,22,.55);backdrop-filter:blur(4px);
    align-items:center;justify-content:center;padding:1rem;
}
.modal-overlay.open{display:flex}
.modal{
    background:var(--bg2);border:1px solid var(--border);
    border-radius:var(--radius);width:100%;max-width:580px;
    max-height:90vh;overflow-y:auto;
    animation:modalIn .25s ease;
}
.modal.modal-lg{max-width:760px}
.modal.modal-sm{max-width:420px}
@keyframes modalIn{from{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:none}}
.modal-header{
    display:flex;align-items:center;justify-content:space-between;
    padding:1.1rem 1.4rem;border-bottom:1px solid var(--border);
}
.modal-header.danger{border-bottom-color:rgba(239,83,80,.3)}
.modal-title{font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-weight:500;color:var(--text)}
.modal-close{background:none;border:none;cursor:pointer;color:var(--text-muted);font-size:1.1rem;transition:color .2s}
.modal-close:hover{color:var(--text)}
.modal-form{padding:1.4rem}
.modal-body{padding:1rem 1.4rem}
.modal-actions{display:flex;gap:.7rem;justify-content:flex-end;margin-top:1.2rem;padding-top:1rem;border-top:1px solid var(--border)}
.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.form-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.9rem}
.form-section-title{font-size:.8rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin:1rem 0 .5rem;padding-bottom:.4rem;border-bottom:1px solid var(--border)}

/* Tables */
.table-wrap{overflow-x:auto;border-radius:var(--radius);border:1px solid var(--border)}
.data-table{width:100%;border-collapse:collapse;font-size:.875rem}
.data-table th{
    padding:.75rem 1rem;text-align:left;
    font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
    color:var(--text-muted);background:var(--bg4);border-bottom:1px solid var(--border);
}
.data-table td{padding:.75rem 1rem;border-bottom:1px solid rgba(44,36,22,.5);color:var(--text);vertical-align:middle}
.data-table tr:last-child td{border-bottom:none}
.data-table tr:hover td{background:rgba(139,115,85,.03)}
.data-table tr.row-inactive td{opacity:.5}
.actions-cell{display:flex;gap:.4rem;align-items:center}
.user-cell{display:flex;align-items:center;gap:.7rem}
.font-medium{font-weight:500}

/* Empty state */
.empty-state{text-align:center;padding:2rem;color:var(--text-dim);font-size:.88rem}
.empty-state.sm{padding:.8rem}
.empty-full{
    text-align:center;padding:4rem 2rem;color:var(--text-dim);
    grid-column:1/-1;
}
.empty-full i{font-size:3rem;margin-bottom:1rem;opacity:.3;display:block}

/* ═══════════════════════════════════════════════════════════
   DASHBOARD
   ═══════════════════════════════════════════════════════════ */
.dashboard-grid{display:grid;grid-template-columns:1fr 340px;gap:1.2rem;grid-template-rows:auto 1fr}
.metrics-row{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.dash-col.main{display:flex;flex-direction:column;gap:1.2rem}
.dash-col.aside{display:flex;flex-direction:column;gap:1.2rem}

.metric-card{
    background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);
    padding:1.1rem 1.25rem;display:flex;align-items:center;gap:1rem;
    position:relative;overflow:hidden;transition:border-color .2s;
}
.metric-card::after{content:'';position:absolute;top:0;left:0;right:0;height:2px}
.metric-card.gold::after{background:linear-gradient(90deg,var(--gold),var(--gold-light))}
.metric-card.rose::after{background:linear-gradient(90deg,var(--rose),#FF69B4)}
.metric-card.teal::after{background:linear-gradient(90deg,var(--teal),#4DB6AC)}
.metric-card.amber::after{background:linear-gradient(90deg,var(--amber),#FFCC02)}
.metric-card:hover{border-color:var(--bg4)}
.metric-icon{
    width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;
    font-size:1.1rem;flex-shrink:0;
}
.gold .metric-icon{background:rgba(139,115,85,.15);color:var(--gold)}
.rose .metric-icon{background:rgba(233,30,140,.12);color:var(--rose)}
.teal .metric-icon{background:rgba(38,166,154,.12);color:var(--teal)}
.amber .metric-icon{background:rgba(255,112,67,.12);color:var(--amber)}
.metric-value{font-family:'Cormorant Garamond',serif;font-size:2rem;font-weight:600;color:var(--text);line-height:1}
.metric-label{font-size:.75rem;color:var(--text-muted);margin-top:.15rem;text-transform:uppercase;letter-spacing:.06em}

/* Events list (dashboard) */
.events-list{display:flex;flex-direction:column;gap:.7rem}
.event-item{
    display:flex;align-items:center;gap:.9rem;
    padding:.8rem;background:var(--bg3);border-radius:6px;border:1px solid transparent;
    transition:border-color .2s;
}
.event-item:hover{border-color:var(--border)}
.event-type-badge{font-size:.72rem;font-weight:600;padding:.2rem .6rem;border-radius:2px;white-space:nowrap}
.event-info{flex:1;min-width:0}
.event-name{font-weight:500;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.event-meta{display:flex;gap:.8rem;font-size:.75rem;color:var(--text-muted);margin-top:.2rem;flex-wrap:wrap}
.event-meta span{display:flex;align-items:center;gap:.3rem}
.event-date{text-align:center;flex-shrink:0}
.date-day{font-family:'Cormorant Garamond',serif;font-size:1.6rem;font-weight:600;line-height:1;color:var(--gold)}
.date-month{font-size:.65rem;font-weight:600;letter-spacing:.1em;color:var(--text-muted);text-transform:uppercase}

/* Status bars */
.status-bars{display:flex;flex-direction:column;gap:.8rem}
.status-bar-row{display:flex;align-items:center;gap:.8rem}
.status-bar-label{font-size:.8rem;color:var(--text-muted);width:100px;flex-shrink:0}
.status-bar-track{flex:1;height:6px;background:var(--bg4);border-radius:3px;overflow:hidden}
.status-bar-fill{height:100%;border-radius:3px;transition:width 1s ease}
.status-bar-val{font-size:.8rem;font-weight:600;color:var(--text);width:24px;text-align:right}

/* Tasks list */
.tasks-list{display:flex;flex-direction:column;gap:.5rem}
.task-item{display:flex;align-items:center;gap:.7rem;padding:.6rem .8rem;background:var(--bg3);border-radius:6px}
.task-prio{width:4px;height:36px;border-radius:2px;flex-shrink:0}
.prio-low{background:var(--teal)}
.prio-med{background:var(--gold)}
.prio-high{background:var(--amber)}
.prio-urgent{background:var(--red)}
.task-body{flex:1;min-width:0}
.task-title{font-size:.85rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.task-event{font-size:.72rem;color:var(--text-muted)}
.task-status{font-size:.72rem;padding:.15rem .5rem;border-radius:2px;white-space:nowrap}
.st-init{background:rgba(139,115,85,.1);color:var(--gold)}
.st-proc{background:rgba(100,181,246,.1);color:var(--blue)}
.st-done{background:rgba(102,187,106,.1);color:var(--green)}

/* Quick actions */
.quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.quick-btn{
    display:flex;align-items:center;gap:.5rem;
    padding:.6rem .9rem;background:var(--bg3);
    border:1px solid var(--border);border-radius:var(--radius);
    color:var(--text-muted);font-size:.82rem;
    transition:all .2s;
}
.quick-btn:hover{border-color:var(--gold);color:var(--gold);background:rgba(139,115,85,.06)}
.quick-btn i{font-size:.8rem}

/* ═══════════════════════════════════════════════════════════
   EVENTS GRID
   ═══════════════════════════════════════════════════════════ */
.events-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}
.event-card{
    background:var(--bg2);border:1px solid var(--border);
    border-radius:var(--radius);padding:1.2rem;
    border-top:3px solid var(--accent,var(--gold));
    transition:border-color .2s,transform .2s;display:flex;flex-direction:column;gap:.7rem;
}
.event-card:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--border));transform:translateY(-2px)}
.ec-header{display:flex;align-items:center;justify-content:space-between}
.ec-tipo{font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.ec-estado{font-size:.7rem;padding:.2rem .6rem;border-radius:2px;font-weight:500}
.st-plan{background:rgba(139,115,85,.12);color:var(--gold)}
.st-proc{background:rgba(100,181,246,.12);color:var(--blue)}
.st-done{background:rgba(102,187,106,.12);color:var(--green)}
.st-cancel{background:rgba(239,83,80,.1);color:var(--red)}
.ec-title{font-family:'Cormorant Garamond',serif;font-size:1.2rem;font-weight:500;color:var(--text)}
.ec-details{display:flex;flex-direction:column;gap:.3rem;flex:1}
.ec-detail{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--text-muted)}
.ec-detail i{color:var(--text-dim);width:14px}
.ec-footer{display:flex;gap:.4rem;align-items:center;margin-top:.2rem}

/* ═══════════════════════════════════════════════════════════
   KANBAN
   ═══════════════════════════════════════════════════════════ */
.kanban-board{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;align-items:start}
.kanban-col{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}
.kanban-col-header{
    padding:.8rem 1rem;display:flex;align-items:center;gap:.6rem;
    border-bottom:1px solid var(--border);
    border-top:3px solid var(--col-color);
    font-size:.8rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
    color:var(--col-color);
}
.kanban-count{
    margin-left:auto;background:rgba(255,255,255,.08);
    width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;
    font-size:.7rem;color:var(--text-muted);font-weight:700;
}
.kanban-items{padding:.6rem;display:flex;flex-direction:column;gap:.5rem;min-height:80px}
.kanban-card{
    background:var(--bg3);border:1px solid var(--border);border-radius:6px;
    padding:.7rem;display:flex;gap:.6rem;align-items:flex-start;
    transition:border-color .2s;
}
.kanban-card:hover{border-color:var(--bg4)}
.kc-prio{width:4px;min-height:40px;border-radius:2px;flex-shrink:0;margin-top:.1rem}
.kc-body{flex:1;min-width:0}
.kc-title{font-size:.85rem;font-weight:500;color:var(--text);margin-bottom:.2rem}
.kc-event{font-size:.72rem;color:var(--text-dim)}
.kc-tag{display:inline-block;font-size:.68rem;padding:.1rem .4rem;border-radius:2px;margin:.3rem 0}
.kc-progress-note{font-size:.72rem;color:var(--text-muted);background:var(--bg4);border-radius:4px;padding:.3rem .5rem;margin-top:.3rem;display:flex;gap:.3rem}
.kc-meta{display:flex;gap:.7rem;font-size:.7rem;color:var(--text-dim);margin-top:.4rem;flex-wrap:wrap}
.kc-meta span{display:flex;align-items:center;gap:.25rem}
.kc-actions{display:flex;flex-direction:column;gap:.3rem;flex-shrink:0}

/* ═══════════════════════════════════════════════════════════
   TEAMS / PROVEEDORES
   ═══════════════════════════════════════════════════════════ */
.teams-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem}
.team-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}
.team-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1rem 1.1rem .8rem;gap:.5rem}
.team-name{font-weight:600;font-size:.95rem;color:var(--text)}
.team-event{font-size:.75rem;color:var(--text-muted);margin-top:.15rem}
.team-actions{display:flex;gap:.3rem;flex-shrink:0}
.team-desc{font-size:.82rem;color:var(--text-muted);padding:0 1.1rem .8rem;line-height:1.5}
.team-members{padding:.6rem 1.1rem 1rem;display:flex;flex-direction:column;gap:.4rem;border-top:1px solid var(--border)}
.member-item{display:flex;align-items:center;gap:.6rem;padding:.4rem .5rem;border-radius:5px}
.member-item:hover{background:var(--bg3)}
.member-info{flex:1;min-width:0}
.member-name{font-size:.82rem;font-weight:500}
.member-role{font-size:.7rem;color:var(--text-muted)}

.prov-section{margin-bottom:2rem}
.section-heading{font-family:'Cormorant Garamond',serif;font-size:1.2rem;font-weight:500;color:var(--gold);margin-bottom:.8rem;padding-bottom:.4rem;border-bottom:1px solid var(--border)}
.prov-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:.8rem}
.prov-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:.9rem 1rem}
.prov-card.prov-inactive{opacity:.5}
.prov-name{font-weight:600;font-size:.95rem;margin-bottom:.5rem;color:var(--text)}
.prov-detail{font-size:.78rem;color:var(--text-muted);display:flex;align-items:center;gap:.4rem;margin-bottom:.2rem}
.prov-detail i{width:12px;color:var(--text-dim)}
.prov-actions{margin-top:.7rem;padding-top:.6rem;border-top:1px solid var(--border)}

/* ═══════════════════════════════════════════════════════════
   CALENDARIO
   ═══════════════════════════════════════════════════════════ */
.calendar-wrap{max-width:1000px}
.calendar-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.2rem}
.cal-month{font-family:'Cormorant Garamond',serif;font-size:2rem;font-weight:400;color:var(--text)}
.cal-events-banner{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}
.cal-ev-chip{display:flex;align-items:center;gap:.5rem;padding:.35rem .75rem;border-radius:4px;font-size:.78rem}
.cal-ev-chip span:first-child{color:inherit;opacity:.7;text-transform:uppercase;font-size:.7rem;font-weight:600}
.cal-ev-chip strong{font-weight:600}
.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}
.cal-header-cell{background:var(--bg3);text-align:center;padding:.6rem;font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}
.cal-cell{background:var(--bg2);min-height:90px;padding:.5rem;position:relative;vertical-align:top}
.cal-cell.empty{background:var(--bg);opacity:.5}
.cal-cell.today{background:rgba(139,115,85,.05);outline:1px solid rgba(139,115,85,.3)}
.cal-day-num{font-size:.8rem;font-weight:600;color:var(--text-muted);margin-bottom:.3rem;text-align:right}
.cal-cell.today .cal-day-num{color:var(--gold)}
.cal-event-dot{font-size:.68rem;padding:.15rem .35rem;background:rgba(171,71,188,.1);border-left:2px solid #AB47BC;color:#AB47BC;border-radius:2px;margin-bottom:.2rem;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.cal-task-dot{font-size:.68rem;padding:.15rem .35rem;border-radius:2px;margin-bottom:.2rem;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--text-muted)}
.cal-legend{display:flex;gap:1.5rem;flex-wrap:wrap;margin-top:1rem;font-size:.78rem;color:var(--text-muted);align-items:center}
.legend-item{display:flex;align-items:center;gap:.4rem}
.legend-dot{width:10px;height:10px;border-radius:50%}

/* ═══════════════════════════════════════════════════════════
   INVITADOS
   ═══════════════════════════════════════════════════════════ */
.inv-stats{display:flex;gap:.8rem;flex-wrap:wrap;margin-bottom:1.2rem}
.inv-stat{
    display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;
    border-radius:var(--radius);font-size:.83rem;font-weight:500;
}
.inv-stat.confirmed{background:rgba(102,187,106,.08);color:var(--green);border:1px solid rgba(102,187,106,.2)}
.inv-stat.pending{background:rgba(139,115,85,.08);color:var(--gold);border:1px solid rgba(139,115,85,.2)}
.inv-stat.declined{background:rgba(239,83,80,.08);color:var(--red);border:1px solid rgba(239,83,80,.2)}
.inv-stat.total{background:var(--bg3);color:var(--text);border:1px solid var(--border)}

/* ═══════════════════════════════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════════════════════════════ */
@media(max-width:1200px){
    .kanban-board{grid-template-columns:repeat(2,1fr)}
    .dashboard-grid{grid-template-columns:1fr}
    .dash-col.aside{grid-row:auto}
}
@media(max-width:900px){
    .sidebar{transform:translateX(-100%)}
    .sidebar.open{transform:translateX(0)}
    .topbar{left:0}
    .main-content{margin-left:0}
    .sidebar-toggle{display:block}
    .login-panel-left{display:none}
    .login-panel-right{width:100%}
    .metrics-row{grid-template-columns:repeat(2,1fr)}
    .form-grid-2,.form-grid-3{grid-template-columns:1fr}
    .field-group.col-2{grid-column:auto}
}
@media(max-width:600px){
    .metrics-row{grid-template-columns:1fr}
    .kanban-board{grid-template-columns:1fr}
    .events-grid{grid-template-columns:1fr}
    .calendar-grid{font-size:.65rem}
    .cal-cell{min-height:60px}
}