    /* ── Events page ──────────────────────────────────────────────────────── */
    .u4ea-events-page { max-width:1100px; margin:2rem auto; padding:0 1.2rem 4rem; color:#a0c0d0; font-family:inherit; }
    .u4ea-events-main { display:flex; flex-direction:column; }
    /* Header */
    .u4ea-events-ph { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1rem; margin-bottom:2rem; padding-bottom:1.2rem; border-bottom:1px solid rgba(0,255,136,.15); }
    .u4ea-events-ph-title { display:flex; align-items:center; gap:.75rem; }
    .u4ea-events-ph-icon { font-size:2rem; }
    .u4ea-events-ph h1 { font-family:"Orbitron",monospace; font-size:1.3rem; font-weight:700; color:#00ff88; letter-spacing:1.5px; text-transform:uppercase; margin:0; }
    .u4ea-events-ph-sub { font-size:.75rem; color:rgba(160,200,208,.5); margin-top:.15rem; }
    .u4ea-events-actions { display:flex; gap:.6rem; flex-wrap:wrap; }
    .u4ea-events-btn { display:inline-flex; align-items:center; gap:.4rem; padding:.5rem 1.1rem; border-radius:6px; font-size:.78rem; font-weight:600; cursor:pointer; border:1px solid; transition:all .2s; letter-spacing:.3px; }
    .u4ea-events-btn-sub { background:rgba(0,212,255,.08); border-color:rgba(0,212,255,.25); color:#00d4ff; }
    .u4ea-events-btn-sub:hover, .u4ea-events-btn-sub.subscribed { background:rgba(0,212,255,.18); border-color:#00d4ff; }
    .u4ea-events-btn-add { background:rgba(0,255,136,.08); border-color:rgba(0,255,136,.25); color:#00ff88; }
    .u4ea-events-btn-add:hover { background:rgba(0,255,136,.18); border-color:#00ff88; }
    /* Controls */
    .u4ea-events-controls { display:flex; align-items:center; gap:.75rem; margin-bottom:1.25rem; flex-wrap:wrap; }
    .u4ea-events-nav-btn { background:rgba(0,255,136,.06); border:1px solid rgba(0,255,136,.15); color:#00ff88; width:34px; height:34px; border-radius:6px; cursor:pointer; font-size:1rem; display:flex; align-items:center; justify-content:center; transition:all .18s; flex-shrink:0; }
    .u4ea-events-nav-btn:hover { background:rgba(0,255,136,.18); border-color:#00ff88; }
    .u4ea-events-period { display:flex; align-items:center; gap:.5rem; }
    .u4ea-events-month-label { font-family:"Orbitron",monospace; font-size:.95rem; font-weight:700; color:#d0e8f0; min-width:170px; text-align:center; }
    .u4ea-events-picker-btn { background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1); color:#8ab8c8; padding:.28rem .6rem; border-radius:5px; cursor:pointer; font-size:.75rem; transition:all .18s; }
    .u4ea-events-picker-btn:hover { border-color:rgba(0,212,255,.4); color:#00d4ff; }
    .u4ea-events-picker-drop { background:rgba(8,12,20,.97); border:1px solid rgba(0,255,136,.2); border-radius:8px; padding:.75rem 1rem; display:flex; align-items:center; gap:.6rem; flex-wrap:wrap; box-shadow:0 8px 30px rgba(0,0,0,.5); }
    .u4ea-events-picker-drop select { background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); border-radius:5px; color:#c0dce8; padding:.35rem .6rem; font-size:.8rem; cursor:pointer; }
    .u4ea-events-picker-drop button { background:rgba(0,255,136,.1); border:1px solid rgba(0,255,136,.3); color:#00ff88; padding:.35rem .9rem; border-radius:5px; cursor:pointer; font-size:.78rem; transition:all .18s; }
    .u4ea-events-picker-drop button:hover { background:rgba(0,255,136,.22); }
    /* Legend */
    .u4ea-events-legend { display:flex; gap:.7rem; flex-wrap:wrap; margin-left:auto; }
    .u4ea-events-legend-item { display:flex; align-items:center; gap:.3rem; font-size:.68rem; color:rgba(160,192,208,.6); background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.08); border-radius:999px; padding:.28rem .55rem; cursor:pointer; }
    .u4ea-events-legend-item.active { color:#d8f5ff; border-color:rgba(0,255,136,.28); background:rgba(0,255,136,.08); }
    .u4ea-events-legend-dot { width:8px; height:8px; border-radius:50%; flex-shrink:0; }
    .u4ea-events-view-tabs { display:none; gap:.5rem; margin:0 0 1rem; }
    .u4ea-events-view-tab { flex:1; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.1); color:#8ab8c8; border-radius:7px; padding:.55rem .7rem; font-size:.76rem; font-weight:700; cursor:pointer; }
    .u4ea-events-view-tab.active { background:rgba(0,255,136,.12); border-color:rgba(0,255,136,.35); color:#00ff88; }
    /* Calendar grid */
    .u4ea-events-cal { background:rgba(0,0,0,.3); border:1px solid rgba(0,255,136,.1); border-radius:10px; overflow:hidden; }
    .u4ea-events-dow { display:grid; grid-template-columns:repeat(7,1fr); background:rgba(0,255,136,.04); border-bottom:1px solid rgba(0,255,136,.1); }
    .u4ea-events-dow-cell { text-align:center; padding:.5rem .25rem; font-family:"Orbitron",monospace; font-size:.55rem; font-weight:700; letter-spacing:.8px; text-transform:uppercase; color:rgba(0,255,136,.5); }
    .u4ea-events-grid { display:grid; grid-template-columns:repeat(7,1fr); }
    .u4ea-events-day { min-height:100px; padding:.4rem .35rem .35rem; border-right:1px solid rgba(255,255,255,.04); border-bottom:1px solid rgba(255,255,255,.04); position:relative; transition:background .15s; }
    .u4ea-events-day:nth-child(7n) { border-right:none; }
    .u4ea-events-day.other-month { opacity:.35; }
    .u4ea-events-day.today { background:rgba(0,255,136,.04); }
    .u4ea-events-day.today .u4ea-events-daynum { color:#00ff88; background:rgba(0,255,136,.15); border-radius:50%; width:22px; height:22px; display:flex; align-items:center; justify-content:center; }
    .u4ea-events-day.mod-clickable { cursor:pointer; }
    .u4ea-events-day.mod-clickable:hover { background:rgba(0,255,136,.03); }
    .u4ea-events-daynum { font-size:.72rem; color:rgba(160,192,208,.5); font-weight:600; margin-bottom:.3rem; width:22px; height:22px; display:flex; align-items:center; justify-content:center; }
    .u4ea-events-chips { display:flex; flex-direction:column; gap:2px; }
    .u4ea-events-chip { display:flex; align-items:center; gap:.25rem; padding:.18rem .35rem; border-radius:4px; font-size:.63rem; font-weight:600; cursor:pointer; transition:opacity .15s; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; max-width:100%; border:none; text-align:left; }
    .u4ea-events-chip:hover { opacity:.8; }
    .u4ea-events-chip-emoji { flex-shrink:0; font-size:.7rem; }
    .u4ea-events-chip-time { flex-shrink:0; font-family:"Orbitron",monospace; font-size:.52rem; opacity:.85; }
    .u4ea-events-chip-text { overflow:hidden; text-overflow:ellipsis; min-width:0; }
    .u4ea-events-more { font-size:.6rem; color:rgba(160,192,208,.45); padding:.1rem .2rem; cursor:pointer; }
    .u4ea-events-more:hover { color:#00d4ff; }
    /* Event detail modal */
    .u4ea-events-modal-bg { position:fixed; inset:0; background:rgba(0,0,0,.7); z-index:100000; display:flex; align-items:center; justify-content:center; padding:1rem; backdrop-filter:blur(4px); }
    .u4ea-events-modal { background:rgba(8,12,20,.97); border:1px solid rgba(0,255,136,.2); border-radius:12px; width:100%; max-width:520px; max-height:90vh; overflow-y:auto; position:relative; box-shadow:0 8px 40px rgba(0,0,0,.6); }
    .u4ea-events-modal-close { position:absolute; top:.75rem; right:.85rem; background:none; border:none; color:rgba(90,160,200,.5); font-size:1.1rem; cursor:pointer; line-height:1; padding:4px; z-index:1; }
    .u4ea-events-modal-close:hover { color:#ff4466; }
    .u4ea-events-modal-thumb { width:100%; height:180px; object-fit:cover; border-radius:11px 11px 0 0; display:block; }
    .u4ea-events-modal-body { padding:1.25rem 1.4rem 1.5rem; }
    .u4ea-events-modal-type { font-family:"Orbitron",monospace; font-size:.55rem; font-weight:700; letter-spacing:.8px; text-transform:uppercase; padding:.2rem .55rem; border-radius:3px; display:inline-block; margin-bottom:.6rem; }
    .u4ea-events-modal-title { font-family:"Orbitron",monospace; font-size:1.05rem; font-weight:700; color:#d0e8f0; margin-bottom:.5rem; line-height:1.3; }
    .u4ea-events-modal-meta { display:flex; flex-wrap:wrap; gap:.6rem 1.2rem; margin-bottom:.85rem; }
    .u4ea-events-modal-meta-item { display:flex; align-items:center; gap:.35rem; font-size:.75rem; color:rgba(160,200,220,.7); }
    .u4ea-events-modal-desc { font-size:.8rem; color:#8ab8c8; line-height:1.55; margin-bottom:1rem; white-space:pre-wrap; }
    .u4ea-events-modal-actions { display:flex; gap:.6rem; flex-wrap:wrap; }
    .u4ea-events-modal-sub-btn { flex:1; min-width:120px; padding:.55rem 1rem; border-radius:7px; border:1px solid rgba(0,212,255,.3); background:rgba(0,212,255,.08); color:#00d4ff; font-size:.78rem; font-weight:600; cursor:pointer; transition:all .18s; }
    .u4ea-events-modal-sub-btn.subbed { background:rgba(0,212,255,.2); border-color:#00d4ff; }
    .u4ea-events-modal-sub-btn:hover { background:rgba(0,212,255,.2); }
    .u4ea-events-modal-edit-btn { padding:.55rem 1rem; border-radius:7px; border:1px solid rgba(255,180,.2); background:rgba(255,180,0,.06); color:#ffb400; font-size:.78rem; font-weight:600; cursor:pointer; transition:all .18s; }
    .u4ea-events-modal-edit-btn:hover { background:rgba(255,180,0,.15); }
    .u4ea-events-modal-del-btn  { padding:.55rem 1rem; border-radius:7px; border:1px solid rgba(255,60,80,.2); background:rgba(255,60,80,.06); color:#ff3c50; font-size:.78rem; font-weight:600; cursor:pointer; transition:all .18s; }
    .u4ea-events-modal-del-btn:hover { background:rgba(255,60,80,.15); }
    .u4ea-events-modal-join-btn { flex:1; min-width:120px; padding:.55rem 1rem; border-radius:7px; border:1px solid rgba(0,255,136,.3); background:rgba(0,255,136,.08); color:#00ff88; font-size:.78rem; font-weight:600; text-align:center; text-decoration:none; transition:all .18s; }
    .u4ea-events-modal-join-btn:hover { background:rgba(0,255,136,.18); color:#00ff88; }
    /* Create / edit modal */
    .u4ea-events-form { display:flex; flex-direction:column; gap:.75rem; }
    .u4ea-events-form-title { font-family:"Orbitron",monospace; font-size:.85rem; font-weight:700; color:#00ff88; margin-bottom:.25rem; }
    .u4ea-events-form label { font-size:.72rem; color:rgba(160,200,220,.65); display:block; margin-bottom:.28rem; }
    .u4ea-events-form input[type=text],
    .u4ea-events-form input[type=url],
    .u4ea-events-form input[type=date],
    .u4ea-events-form input[type=time],
    .u4ea-events-form input[type=number],
    .u4ea-events-form select,
    .u4ea-events-form textarea { width:100%; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1); border-radius:6px; color:#c0dce8; font-size:.8rem; padding:.45rem .65rem; box-sizing:border-box; font-family:inherit; }
    .u4ea-events-form input:focus,
    .u4ea-events-form select:focus,
    .u4ea-events-form textarea:focus { border-color:rgba(0,255,136,.4); outline:none; }
    .u4ea-events-form textarea { resize:vertical; min-height:80px; }
    .u4ea-events-form-row { display:grid; grid-template-columns:1fr 1fr; gap:.65rem; }
    .u4ea-events-colors { display:flex; gap:.5rem; flex-wrap:wrap; }
    .u4ea-events-color-swatch { width:28px; height:28px; border-radius:50%; cursor:pointer; border:2px solid transparent; transition:transform .15s,border-color .15s; flex-shrink:0; }
    .u4ea-events-color-swatch.active, .u4ea-events-color-swatch:hover { transform:scale(1.15); border-color:rgba(255,255,255,.6); }
    .u4ea-events-form-btns { display:flex; gap:.6rem; justify-content:flex-end; padding-top:.5rem; border-top:1px solid rgba(255,255,255,.07); }
    .u4ea-events-form-save { background:rgba(0,255,136,.1); border:1px solid rgba(0,255,136,.3); color:#00ff88; padding:.5rem 1.3rem; border-radius:7px; font-size:.8rem; font-weight:600; cursor:pointer; transition:all .18s; }
    .u4ea-events-form-save:hover { background:rgba(0,255,136,.22); }
    .u4ea-events-form-cancel { background:none; border:1px solid rgba(255,255,255,.1); color:rgba(160,192,208,.6); padding:.5rem 1rem; border-radius:7px; font-size:.8rem; cursor:pointer; transition:all .18s; }
    .u4ea-events-form-cancel:hover { border-color:rgba(255,60,80,.4); color:#ff4466; }
    /* Upcoming list */
    .u4ea-events-upcoming { margin-top:2.5rem; }
    .u4ea-events-upcoming h2 { font-family:"Orbitron",monospace; font-size:.8rem; font-weight:700; color:#00ff88; letter-spacing:1.2px; text-transform:uppercase; margin-bottom:1rem; }
    .u4ea-events-list { display:flex; flex-direction:column; gap:.6rem; }
    .u4ea-events-list-item { display:flex; align-items:center; gap:1rem; background:rgba(0,0,0,.3); border:1px solid rgba(255,255,255,.06); border-left:3px solid; border-radius:8px; padding:.7rem 1rem; cursor:pointer; transition:background .18s; }
    .u4ea-events-list-item:hover { background:rgba(0,0,0,.5); }
    .u4ea-events-list-date { text-align:center; min-width:44px; flex-shrink:0; }
    .u4ea-events-list-date-day { font-family:"Orbitron",monospace; font-size:1.4rem; font-weight:700; color:#d0e8f0; line-height:1; }
    .u4ea-events-list-date-mon { font-size:.6rem; text-transform:uppercase; letter-spacing:.5px; color:rgba(160,192,208,.5); }
    .u4ea-events-list-thumb { width:52px; height:52px; border-radius:6px; object-fit:cover; flex-shrink:0; }
    .u4ea-events-list-info { flex:1; min-width:0; }
    .u4ea-events-list-type { font-family:"Orbitron",monospace; font-size:.5rem; font-weight:700; letter-spacing:.6px; text-transform:uppercase; opacity:.7; }
    .u4ea-events-list-title { font-size:.85rem; font-weight:600; color:#d0e8f0; margin:.15rem 0 .2rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
    .u4ea-events-list-time { font-size:.7rem; color:rgba(160,192,208,.55); }
    .u4ea-events-list-subs { font-size:.65rem; color:rgba(160,192,208,.4); flex-shrink:0; }
    .u4ea-events-empty { text-align:center; padding:3rem 1rem; color:rgba(160,192,208,.35); }
    .u4ea-events-empty-icon { font-size:2.5rem; margin-bottom:.75rem; }
    .u4ea-events-empty p { font-size:.8rem; }
    @media (max-width:600px) {
        .u4ea-events-view-tabs { display:flex; }
        .u4ea-events-main.mobile-list .u4ea-events-cal { display:none; }
        .u4ea-events-main.mobile-list .u4ea-events-upcoming { order:-1; margin-top:0; }
        .u4ea-events-main.mobile-calendar .u4ea-events-upcoming { display:none; }
        .u4ea-events-day { min-height:70px; }
        .u4ea-events-ph { flex-direction:column; align-items:flex-start; }
        .u4ea-events-controls { align-items:flex-start; }
        .u4ea-events-legend { margin-left:0; width:100%; }
        .u4ea-events-form-row { grid-template-columns:1fr; }
    }
