        @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap');

        :root {
            --azul-profundo: #0E2586;
            --gris-fondo: #f4f7f9;
            --gris-claro: #e2e8f0;
            --blanco: #ffffff;
            --texto-oscuro: #2d3748;
            --texto-claro: #718096;
            --border-color: #cbd5e0;
            --amarillo: #FFD100;
            --color-manada: #FFD100;
            --color-tropa: #00853F;
            --color-compania: #00853F;
            --color-pioneros: #0055A5;
            --color-caminantes: #E31837;
            --success: #2ecc71;
            --warning: #f39c12;
            --danger: #e74c3c;
            --info: #3498db;
        }
        *{margin:0;padding:0;box-sizing:border-box;font-family:'Poppins',sans-serif;}
        body{background:var(--gris-fondo);min-height:100vh;color:var(--texto-oscuro);}

        .topbar{background:linear-gradient(135deg,var(--azul-profundo),#1a36a8);color:white;padding:14px 22px;display:flex;align-items:center;gap:12px;}
        .topbar h1{font-size:1.05rem;font-weight:600;flex:1;}

        .layout{display:grid;grid-template-columns:360px 1fr;gap:16px;max-width:1280px;margin:18px auto;padding:0 14px 60px;}

        .card{background:var(--blanco);border-radius:12px;padding:18px 20px;box-shadow:0 2px 10px rgba(0,0,0,0.06);border:1px solid var(--gris-claro);}
        .card h2{font-size:0.95rem;font-weight:600;color:var(--azul-profundo);margin-bottom:14px;display:flex;align-items:center;gap:8px;padding-bottom:10px;border-bottom:1px solid var(--gris-claro);}

        .fg{display:flex;flex-direction:column;gap:5px;margin-bottom:12px;}
        .fg label{font-size:0.8rem;font-weight:600;color:var(--texto-oscuro);}
        .fg input,.fg select,.fg textarea{padding:9px 12px;border:1px solid var(--border-color);border-radius:8px;font-size:0.88rem;font-family:inherit;outline:none;transition:0.18s;color:var(--texto-oscuro);background:var(--blanco);}
        .fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--azul-profundo);box-shadow:0 0 0 3px rgba(14,37,134,0.1);}
        .fg textarea{resize:vertical;min-height:72px;}

        .btn{padding:9px 18px;border:none;border-radius:8px;font-size:0.86rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:0.18s;font-family:inherit;}
        .btn-p{background:var(--azul-profundo);color:white;}
        .btn-p:hover{background:#1a36a8;transform:translateY(-1px);box-shadow:0 4px 10px rgba(14,37,134,0.25);}
        .btn-v{background:var(--success);color:white;}.btn-v:hover{background:#2ecc71;}
        .btn-r{background:var(--danger);color:white;}.btn-r:hover{background:#d9453a;}
        .btn-cancel{background:var(--gris-fondo);color:var(--texto-oscuro);border:1px solid var(--border-color);}
        .btn-cancel:hover{background:var(--gris-claro);}
        .btn-sm{padding:5px 11px;font-size:0.78rem;}
        .btn-full{width:100%;justify-content:center;margin-top:4px;}

        /* Lista reuniones */
        .reunion-item{border:1px solid var(--gris-claro);border-radius:10px;padding:13px 15px;margin-bottom:9px;cursor:pointer;transition:0.18s;background:var(--blanco);}
        .reunion-item:hover{border-color:var(--azul-profundo);background:#fafbff;}
        .reunion-item.sel{border-color:var(--azul-profundo);background:#eef3ff;box-shadow:0 0 0 3px rgba(14,37,134,0.08);}
        .ri-header{display:flex;align-items:flex-start;gap:10px;}
        .ri-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;margin-top:6px;}
        .ri-info{flex:1;min-width:0;}
        .ri-info h4{font-size:0.88rem;font-weight:600;color:var(--texto-oscuro);}
        .ri-info .meta{font-size:0.76rem;color:var(--texto-claro);display:flex;gap:10px;flex-wrap:wrap;margin-top:4px;align-items:center;}
        .ri-actions{margin-left:auto;opacity:0;transition:0.18s;}
        .reunion-item:hover .ri-actions{opacity:1;}

        /* Panel detalle */
        .det-header{padding:18px 20px;background:linear-gradient(135deg,var(--azul-profundo),#1a36a8);border-radius:10px 10px 0 0;color:white;}
        .det-header h2{font-size:1.1rem;font-weight:700;border:none;padding:0;color:white;margin:0;}
        .det-header p{font-size:0.8rem;opacity:0.85;margin-top:4px;}
        .det-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px;}
        .det-meta span{font-size:0.78rem;background:rgba(255,255,255,0.15);padding:4px 11px;border-radius:14px;display:flex;align-items:center;gap:5px;}

        /* Actividades */
        .act-timeline{margin-top:6px;}
        .act-item{display:flex;gap:12px;margin-bottom:10px;align-items:flex-start;}
        .act-time{font-size:0.76rem;font-weight:700;color:var(--azul-profundo);min-width:54px;text-align:right;padding-top:7px;}
        .act-content{flex:1;background:var(--gris-fondo);border-radius:8px;padding:9px 12px;border-left:3px solid var(--azul-profundo);}
        .act-content h5{font-size:0.85rem;font-weight:600;color:var(--texto-oscuro);margin-bottom:2px;}
        .act-content p{font-size:0.78rem;color:var(--texto-claro);}
        .act-tipo{font-size:0.68rem;font-weight:700;padding:2px 8px;border-radius:10px;display:inline-block;margin-bottom:5px;text-transform:uppercase;letter-spacing:0.3px;}
        .tipo-apertura{background:#dbeafe;color:#1e40af;}
        .tipo-desarrollo{background:rgba(0,133,63,0.15);color:var(--color-tropa);}
        .tipo-cierre{background:#fef3c7;color:#78350f;}
        .tipo-otro{background:var(--gris-claro);color:var(--texto-claro);}

        .add-act-form{background:var(--gris-fondo);border:1px solid var(--gris-claro);border-radius:9px;padding:14px;margin-top:14px;}
        .add-act-form h4{font-size:0.84rem;font-weight:600;margin-bottom:10px;color:var(--azul-profundo);display:flex;align-items:center;gap:6px;}
        .form-row-act{display:grid;grid-template-columns:1fr 1fr;gap:9px;}
        .form-row-act .fg{margin-bottom:0;}

        .estado-badge{display:inline-block;padding:3px 10px;border-radius:12px;font-size:0.7rem;font-weight:700;text-transform:uppercase;letter-spacing:0.3px;}
        .estado-planificada{background:#dbeafe;color:#1e40af;}
        .estado-realizada{background:rgba(0,133,63,0.15);color:var(--color-tropa);}
        .estado-cancelada{background:#fef2f2;color:var(--danger);}

        .tabs{display:flex;gap:3px;background:var(--gris-fondo);border-radius:9px;padding:3px;margin-bottom:16px;}
        .tab{flex:1;padding:8px;border:none;border-radius:7px;font-size:0.81rem;font-weight:500;cursor:pointer;background:transparent;color:var(--texto-claro);transition:0.16s;font-family:inherit;}
        .tab.act{background:var(--blanco);color:var(--azul-profundo);font-weight:700;box-shadow:0 2px 6px rgba(0,0,0,0.08);}
        .panel{display:none;}.panel.vis{display:block;}

        /* ── Vista Calendario ── */
        .view-toggle{display:flex;gap:6px;margin-left:auto;}
        .vtbtn{padding:6px 14px;border:2px solid rgba(255,255,255,.3);border-radius:8px;background:transparent;color:rgba(255,255,255,.8);font-size:0.8rem;font-weight:600;cursor:pointer;transition:.2s;display:flex;align-items:center;gap:5px;}
        .vtbtn.act{background:rgba(255,255,255,.25);color:white;border-color:rgba(255,255,255,.7);}
        /* ── Layout split: calendario + panel lateral ── */
        #splitLayout {
            display: grid;
            grid-template-columns: 1fr var(--panel-w, 360px);
            gap: 10px;
            height: calc(100vh - 80px);
            padding: 10px 12px;
        }
        #vistaCal{display:flex;flex-direction:column;gap:0;height:100%;min-height:0;}
        #fcWrapper{flex:1;background:white;border-radius:12px;overflow:hidden;padding:10px;box-shadow:0 2px 8px rgba(0,0,0,.07);min-height:0;}
        /* Panel lateral derecho */
        #panelLateral {
            background:white; border-radius:14px; overflow-y:auto;
            box-shadow:0 3px 14px rgba(15,23,42,.08);
            display:flex; flex-direction:column;
            transition: width .2s;
        }
        #pl-header {
            padding:12px 14px 10px; border-bottom:1px solid #f1f5f9;
            background:white; position:sticky; top:0; z-index:5;
            display:flex; align-items:center; gap:8px;
        }
        #pl-header .pl-title { flex:1; font-size:0.88rem; font-weight:800; color:#0E2586; }
        #pl-header .pl-sub { font-size:0.72rem; color:#64748b; margin-top:1px; }
        .pl-resize-btns { display:flex; gap:3px; }
        .pl-resize-btn {
            background:#f1f5f9; border:none; border-radius:5px;
            width:22px; height:22px; cursor:pointer; font-size:0.7rem;
            color:#475569; display:flex; align-items:center; justify-content:center;
            font-weight:700; transition:.12s;
        }
        .pl-resize-btn:hover { background:#e2e8f0; color:#0E2586; }
        #pl-body { flex:1; overflow-y:auto; padding:12px; }
        #pl-empty { text-align:center; padding:40px 20px; color:#94a3b8; }
        #pl-empty i { font-size:2.5rem; display:block; margin-bottom:12px; color:#e2e8f0; }
        /* Vista lista (funcional pero invisible — sirve de backend) */
        .layout#vistaLista { display:none !important; }
        @media(max-width:768px) {
            #splitLayout { display:block !important; }
            #vistaCal { height: calc(100vh - 130px); }
            #panelLateral {
                position:fixed; bottom:62px; left:0; right:0;
                height:65vh; border-radius:22px 22px 0 0;
                box-shadow:0 -6px 30px rgba(0,0,0,.2);
                z-index:300; display:none;
            }
            #panelLateral.activo { display:flex !important; animation:sheetUp .27s cubic-bezier(.32,.72,.35,1); }
            @keyframes sheetUp { from{transform:translateY(100%);opacity:.5} to{transform:translateY(0);opacity:1} }
        }
        /* FullCalendar overrides */
        .fc .fc-toolbar-title{font-size:.95rem;font-weight:700;color:#0E2586}
        .fc .fc-button{background:#0E2586;border-color:#0E2586;font-size:.76rem;padding:4px 10px}
        .fc .fc-button:hover{background:#122174;border-color:#122174}
        .fc .fc-button-active{background:#001558!important;border-color:#001558!important}
        .fc-event{cursor:pointer;border-radius:5px!important;font-size:.74rem!important;font-weight:600!important}
        .fc-daygrid-event{padding:2px 5px!important}
        .fc-event.ev-reunion{background:#0E2586!important;border-color:#0E2586!important}
        .fc-event.ev-google{background:#d97706!important;border-color:#d97706!important}
        .fc-event.ev-evento{background:#16a34a!important;border-color:#16a34a!important}
        .cal-legend{display:flex;gap:12px;padding:6px 14px;font-size:.75rem;background:white;border-radius:8px;box-shadow:0 1px 4px rgba(0,0,0,.06);margin-bottom:8px;align-items:center;flex-wrap:wrap}
        .cal-leg-item{display:flex;align-items:center;gap:4px;color:#475569}
        .cal-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}

        .empty{text-align:center;padding:28px;color:var(--texto-claro);}
        .empty i{font-size:1.8rem;margin-bottom:8px;display:block;color:var(--gris-claro);}

        .welcome-box{text-align:center;padding:50px 20px;color:var(--texto-claro);}
        .welcome-box i{font-size:3rem;margin-bottom:16px;display:block;color:var(--gris-claro);}
        .welcome-box p{font-size:0.92rem;line-height:1.6;}

        .filter-bar{display:flex;gap:7px;margin-bottom:12px;}
        .filter-bar select{flex:1;padding:7px 10px;border:1px solid var(--border-color);border-radius:7px;font-size:0.83rem;outline:none;font-family:inherit;background:var(--blanco);color:var(--texto-oscuro);}
        .filter-bar select:focus{border-color:var(--azul-profundo);}

        @media(max-width:760px){.layout{grid-template-columns:1fr;}.form-row-act{grid-template-columns:1fr;}}
