:root{--gold:#C9A84C;--gold-light:#E8C97A;--dark:#0D0D0D;--dark2:#141414;--dark3:#1C1C1C;--dark4:#252525;--text:#E8E8E8;--text-dim:#999;--accent:#7B3FBE;--accent2:#2E86AB;--success:#27AE60;--warning:#E67E22;--danger:#C0392B;}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Lato',sans-serif;background:var(--dark);color:var(--text);min-height:100vh}
#main-app{display:flex;width:100%;height:100vh;overflow:hidden}

/* ── SIDEBAR ── */
#sidebar{width:268px;background:var(--dark2);border-right:1px solid #2a2a2a;display:flex;flex-direction:column;height:100vh;overflow-y:auto;flex-shrink:0;transition:transform .3s}
.sb-header{padding:18px 18px 14px;border-bottom:1px solid #2a2a2a}
.sb-brand{display:flex;align-items:center;gap:10px}
.sb-brand img{width:32px;height:32px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 1px rgba(201,168,76,.35)}
.sb-header h1{font-family:'Cinzel',serif;font-size:12px;color:var(--gold);letter-spacing:2px;text-transform:uppercase;line-height:1.5}
.sb-header p{font-size:10px;color:var(--text-dim);margin-top:3px}

/* Section group */
.sb-group{border-bottom:1px solid #1e1e1e}
.sb-group-hdr{display:flex;align-items:center;gap:8px;padding:10px 18px;cursor:pointer;user-select:none;transition:background .15s}
.sb-group-hdr:hover{background:#1a1a1a}
.sb-group-icon{font-size:15px;width:20px;text-align:center;flex-shrink:0}
.sb-group-label{font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-dim);flex:1}
.sb-group-hdr.open .sb-group-label{color:var(--gold)}
.sb-chevron{font-size:9px;color:var(--text-dim);transition:transform .2s;flex-shrink:0}
.sb-group-hdr.open .sb-chevron{transform:rotate(90deg);color:var(--gold)}
.sb-group-hdr:not(.open) .sb-chevron{transform:rotate(0deg)}
.sb-children{display:none;background:#0f0f0f}
.sb-group-hdr.open + .sb-children{display:block}

/* Nav items inside groups */
.nav-item{display:flex;align-items:center;gap:9px;padding:8px 18px 8px 30px;cursor:pointer;font-size:12px;color:var(--text-dim);border-left:3px solid transparent;transition:all .15s}
.nav-item:hover{background:#181818;color:var(--text)}
.nav-item.active{background:#1a1a1a;color:var(--gold);border-left-color:var(--gold)}
.nav-item .ni{font-size:13px;width:16px;text-align:center;flex-shrink:0}

/* Dashboard single item */
.nav-item-top{display:flex;align-items:center;gap:9px;padding:10px 18px;cursor:pointer;font-size:12px;color:var(--text-dim);border-left:3px solid transparent;transition:all .15s}
.nav-item-top:hover{background:#1a1a1a;color:var(--text)}
.nav-item-top.active{color:var(--gold);border-left-color:var(--gold);background:#1a1a1a}

/* ── MAIN ── */
#main{flex:1;display:flex;flex-direction:column;height:100vh;overflow:hidden}
.topbar{background:var(--dark2);border-bottom:1px solid #2a2a2a;padding:0 24px;height:54px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}
.topbar h2{font-family:'Cinzel',serif;font-size:14px;color:var(--gold);letter-spacing:1px}
.topbar-right{display:flex;align-items:center;gap:14px}
.badge{background:var(--gold);color:var(--dark);font-size:10px;font-weight:700;padding:3px 10px;border-radius:20px}
.user-avatar{width:32px;height:32px;background:var(--accent);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;cursor:pointer}
.content{flex:1;overflow-y:auto;padding:24px}

/* ── COMPONENTS ── */
.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px;margin-bottom:24px}
.stat-card{background:var(--dark3);border:1px solid #2a2a2a;border-radius:10px;padding:18px;position:relative;overflow:hidden}
.stat-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--gold)}
.stat-card.blue::before{background:var(--accent2)}.stat-card.purple::before{background:var(--accent)}.stat-card.green::before{background:var(--success)}.stat-card.orange::before{background:var(--warning)}
.stat-label{font-size:10px;color:var(--text-dim);text-transform:uppercase;letter-spacing:1px}
.stat-value{font-family:'Cinzel',serif;font-size:26px;color:var(--gold);margin:5px 0 2px}
.stat-sub{font-size:11px;color:var(--text-dim)}

.panel{background:var(--dark3);border:1px solid #2a2a2a;border-radius:10px;padding:18px;margin-bottom:18px}
.panel-title{font-family:'Cinzel',serif;font-size:12px;color:var(--gold);margin-bottom:14px;letter-spacing:1px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}

.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}
.grid4{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:14px}

.form-group{margin-bottom:12px}
label{display:block;font-size:10px;color:var(--text-dim);margin-bottom:4px;text-transform:uppercase;letter-spacing:1px}
input,select,textarea{width:100%;background:var(--dark4);border:1px solid #333;border-radius:6px;padding:8px 11px;color:var(--text);font-size:12px;font-family:'Lato',sans-serif;outline:none;transition:border-color .2s}
input:focus,select:focus,textarea:focus{border-color:var(--gold)}
textarea{resize:vertical;min-height:80px}
select option{background:var(--dark3)}

.btn{padding:8px 18px;border-radius:6px;border:none;cursor:pointer;font-family:'Lato',sans-serif;font-size:12px;font-weight:700;transition:all .2s;letter-spacing:.4px}
.btn-gold{background:var(--gold);color:var(--dark)}.btn-gold:hover{background:var(--gold-light)}
.btn-outline{background:transparent;border:1px solid var(--gold);color:var(--gold)}.btn-outline:hover{background:var(--gold);color:var(--dark)}
.btn-ghost{background:var(--dark4);border:1px solid #333;color:var(--text-dim)}.btn-ghost:hover{border-color:var(--gold);color:var(--gold)}
.btn-sm{padding:4px 11px;font-size:11px}
.btn-danger{background:rgba(192,57,43,.15);color:var(--danger);border:1px solid var(--danger)}

table{width:100%;border-collapse:collapse;font-size:12px}
th{text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--text-dim);padding:7px 11px;border-bottom:1px solid #2a2a2a}
td{padding:9px 11px;border-bottom:1px solid #1e1e1e;color:var(--text)}
tr:hover td{background:var(--dark4)}

.status{display:inline-block;padding:2px 9px;border-radius:20px;font-size:10px;font-weight:700}
.status.active{background:rgba(39,174,96,.15);color:var(--success)}
.status.pending{background:rgba(230,126,34,.15);color:var(--warning)}
.status.inactive{background:rgba(192,57,43,.15);color:var(--danger)}

.page{display:none}.page.active{display:block}

.tabs{display:flex;gap:2px;margin-bottom:18px;border-bottom:1px solid #2a2a2a;flex-wrap:wrap}
.tab{padding:7px 16px;font-size:11px;cursor:pointer;color:var(--text-dim);border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .2s}
.tab.active{color:var(--gold);border-bottom-color:var(--gold)}
.tab-content{display:none}.tab-content.active{display:block}

.flex-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}

.activity-panel{overflow:hidden}
.activity-panel .activity-insights,.activity-insights{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0 14px;width:100%;max-width:100%}
.activity-panel .activity-metric,.activity-metric{display:block!important;background:linear-gradient(145deg,rgba(201,168,76,.08),rgba(26,26,26,.78));border:1px solid rgba(201,168,76,.18);border-radius:10px;padding:13px 14px;min-height:74px;position:relative;overflow:hidden;min-width:0}
.activity-metric::after{content:'';position:absolute;right:-20px;top:-28px;width:82px;height:82px;border-radius:50%;background:radial-gradient(circle,rgba(201,168,76,.16),transparent 68%)}
.activity-panel .activity-metric span,.activity-metric span{display:block!important;font-family:'Cinzel',serif;font-size:24px;color:var(--gold);line-height:1.1}
.activity-panel .activity-metric small,.activity-metric small{display:block!important;margin-top:8px;color:var(--text-dim);font-size:10px;text-transform:uppercase;letter-spacing:1px}
.activity-panel .activity-visual-grid,.activity-visual-grid{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(320px,.95fr);gap:14px;margin:0 0 16px;width:100%;max-width:100%}
.activity-panel .activity-card,.activity-card{display:block!important;background:linear-gradient(145deg,var(--dark4),rgba(19,19,31,.55));border:1px solid #2a2a2a;border-radius:10px;padding:14px;min-height:220px;overflow:hidden;min-width:0}
.activity-panel .activity-card-title,.activity-card-title{display:block!important;font-family:'Cinzel',serif;color:var(--gold);font-size:11px;letter-spacing:1px;margin-bottom:12px}
.activity-panel .activity-chart,.activity-chart{display:flex!important;flex-direction:column;gap:10px;width:100%;min-height:160px}
.activity-panel .activity-bar-row,.activity-bar-row{display:flex!important;flex-direction:column;gap:6px;width:100%}
.activity-panel .activity-bar-meta,.activity-bar-meta{display:flex!important;align-items:center;justify-content:space-between;gap:12px;font-size:11px;color:var(--text);width:100%}
.activity-bar-meta strong{font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.activity-bar-meta span{color:var(--text-dim);font-size:10px;white-space:nowrap}
.activity-panel .activity-bar-track,.activity-bar-track{display:block!important;height:9px;background:rgba(255,255,255,.06);border-radius:999px;overflow:hidden;width:100%}
.activity-bar-fill{height:100%;border-radius:999px;background:var(--gold);box-shadow:0 0 14px rgba(201,168,76,.28);transition:width .45s ease}
.activity-bar-fill.tone-1{background:var(--accent2);box-shadow:0 0 14px rgba(52,152,219,.22)}
.activity-bar-fill.tone-2{background:var(--success);box-shadow:0 0 14px rgba(39,174,96,.22)}
.activity-bar-fill.tone-3{background:var(--accent);box-shadow:0 0 14px rgba(142,68,173,.22)}
.activity-bar-fill.tone-4{background:var(--warning);box-shadow:0 0 14px rgba(230,126,34,.22)}
.activity-panel .activity-empty,.activity-empty{min-height:120px;display:flex!important;align-items:center;justify-content:center;text-align:center;color:var(--text-dim);font-size:11px;border:1px dashed rgba(255,255,255,.08);border-radius:8px;padding:14px}
.activity-panel .activity-map-card,.activity-map-card{display:flex!important;flex-direction:column;gap:10px}
.activity-panel .activity-map,.activity-map{position:relative!important;display:block!important;height:220px;min-height:220px;border-radius:10px;overflow:hidden;border:1px solid rgba(201,168,76,.18);background:
  radial-gradient(circle at 22% 34%,rgba(52,152,219,.26),transparent 22%),
  radial-gradient(circle at 66% 50%,rgba(39,174,96,.20),transparent 24%),
  radial-gradient(circle at 76% 24%,rgba(201,168,76,.20),transparent 18%),
  linear-gradient(135deg,rgba(8,8,16,.95),rgba(19,19,31,.88));
}
.activity-map::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);background-size:42px 42px;opacity:.42}
.activity-map::after{content:'';position:absolute;inset:12px;border:1px solid rgba(201,168,76,.16);border-radius:8px;pointer-events:none}
.activity-map.leaflet-ready::before,.activity-map.leaflet-ready::after{display:none}
.activity-map .leaflet-container{font-family:'Lato',sans-serif}
.activity-map .leaflet-tile{filter:saturate(.95) brightness(.78) contrast(1.08)}
.activity-map .leaflet-control-zoom a{background:rgba(19,19,31,.94);border-color:rgba(201,168,76,.28);color:var(--gold)}
.activity-map .leaflet-control-attribution{background:rgba(8,8,16,.72);color:var(--text-dim)}
.activity-map .leaflet-control-attribution a{color:var(--gold)}
.activity-map .leaflet-popup-content-wrapper,.activity-map .leaflet-popup-tip{background:#1a1a1a;color:var(--text);border:1px solid rgba(201,168,76,.25)}
.activity-map-popup strong{display:block;color:var(--gold);font-size:12px;margin-bottom:3px}
.activity-map-popup span{display:block;color:var(--text);font-size:11px}
.activity-map-popup small{display:block;color:var(--text-dim);font-size:10px;margin-top:4px}
.activity-map-pin{position:absolute;width:13px;height:13px;border-radius:50%;background:var(--gold);transform:translate(-50%,-50%);box-shadow:0 0 0 6px rgba(201,168,76,.16),0 0 22px rgba(201,168,76,.5);z-index:2}
.activity-map-pin::after{content:'';position:absolute;inset:-5px;border-radius:50%;border:1px solid currentColor;opacity:.45;animation:activityPulse 1.8s ease-out infinite}
.activity-map-pin.pin-1{background:var(--accent2);color:var(--accent2)}
.activity-map-pin.pin-2{background:var(--success);color:var(--success)}
.activity-map-pin.pin-3{background:var(--accent);color:var(--accent)}
.activity-map-pin.pin-4{background:var(--warning);color:var(--warning)}
.activity-map-list{display:grid;gap:7px;max-height:142px;overflow:auto}
.activity-map-item{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);border-radius:8px;padding:8px 10px}
.activity-map-item strong{display:block;font-size:11px;color:var(--text)}
.activity-map-item span{display:block;font-size:10px;color:var(--gold);margin-top:2px}
.activity-map-item small{display:block;font-size:9px;color:var(--text-dim);margin-top:2px}
.activity-table-wrap{overflow-x:auto;margin-top:14px;border-top:1px solid #2a2a2a;padding-top:8px}
@keyframes activityPulse{0%{transform:scale(.8);opacity:.55}100%{transform:scale(2.1);opacity:0}}
.ffr-src-pill{font-size:10px;padding:4px 10px;border-radius:20px;border:1px solid #2a2a2a;color:#555;background:#1a1a1a;transition:.25s}
.ffr-src-pill.active{background:rgba(39,174,96,.1);color:var(--success);border-color:rgba(39,174,96,.25)}
.ffr-src-pill.warning{background:rgba(230,126,34,.1);color:var(--warning);border-color:rgba(230,126,34,.25)}
.ffr-src-pill.missing{background:rgba(192,57,43,.08);color:var(--danger);border-color:rgba(192,57,43,.25)}

/* notice / card styles */
.notice-card{background:var(--dark4);border-left:3px solid var(--gold);padding:11px 14px;border-radius:0 8px 8px 0;margin-bottom:9px}
.notice-card h4{font-size:12px;margin-bottom:3px}.notice-card p{font-size:11px;color:var(--text-dim)}.notice-card .meta{font-size:10px;color:var(--text-dim);margin-top:5px}

.attend-bar{display:flex;align-items:center;gap:10px;margin-bottom:9px}
.attend-bar-label{width:110px;font-size:11px;color:var(--text-dim)}
.attend-bar-track{flex:1;background:var(--dark4);border-radius:4px;height:7px}
.attend-bar-fill{height:100%;border-radius:4px;background:var(--gold)}
.attend-bar-val{width:36px;font-size:11px;color:var(--gold);text-align:right}

.cell-card{background:var(--dark4);border-radius:8px;padding:12px;margin-bottom:9px;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.cell-card h4{font-size:12px}.cell-card p{font-size:10px;color:var(--text-dim);margin-top:2px}
.cell-metrics{display:flex;gap:14px}
.cell-metric{text-align:center}.cell-metric span{display:block;font-size:16px;font-family:'Cinzel',serif;color:var(--gold)}.cell-metric small{font-size:9px;color:var(--text-dim)}

.program-card{background:var(--dark4);border-radius:8px;padding:12px;margin-bottom:9px;border-left:3px solid var(--accent2)}
.program-card h4{font-size:13px;margin-bottom:3px}.program-card p{font-size:11px;color:var(--text-dim)}
.tags{display:flex;gap:5px;margin-top:7px;flex-wrap:wrap}
.tag{font-size:10px;padding:2px 8px;border-radius:20px;background:var(--dark3);color:var(--text-dim)}

/* action grid */
.action-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-bottom:18px}
.action-btn{background:var(--dark4);border:1px solid #2a2a2a;border-radius:8px;padding:12px 14px;text-align:center;cursor:pointer;transition:all .2s;color:var(--text-dim);font-size:11px;min-height:74px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.action-btn:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-2px)}
.a-icon{font-size:22px;margin-bottom:5px;display:block}

/* calendar */
.cal-day{background:var(--dark4);border-radius:6px;padding:10px;border-left:3px solid var(--gold);margin-bottom:8px}
.cal-day .date{font-size:10px;color:var(--text-dim);margin-bottom:4px}
.cal-day .event{font-size:12px;font-weight:700}
.cal-day .link-tag{font-size:10px;color:var(--accent2);text-decoration:none;margin-top:4px;display:inline-block}

/* photo gallery */
.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin-top:10px}
.photo-thumb{background:var(--dark4);border-radius:8px;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;font-size:28px;border:1px solid #2a2a2a;cursor:pointer;transition:border-color .2s}
.photo-thumb:hover{border-color:var(--gold)}

/* work queue */
.wq-item{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--dark4);border-radius:8px;margin-bottom:8px;border-left:3px solid transparent}
.wq-item.high{border-left-color:var(--danger)}.wq-item.med{border-left-color:var(--warning)}.wq-item.low{border-left-color:var(--success)}
.wq-text{flex:1}
.wq-text h4{font-size:12px;margin-bottom:2px}
.wq-text p{font-size:10px;color:var(--text-dim)}
.wq-badge{font-size:10px;padding:2px 8px;border-radius:20px;font-weight:700;flex-shrink:0}
.wq-badge.high{background:rgba(192,57,43,.15);color:var(--danger)}
.wq-badge.med{background:rgba(230,126,34,.15);color:var(--warning)}
.wq-badge.low{background:rgba(39,174,96,.15);color:var(--success)}

/* hub section cards */
.hub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin-bottom:20px}
.hub-card{background:var(--dark3);border:1px solid #2a2a2a;border-radius:12px;padding:20px;cursor:pointer;transition:all .2s;position:relative;overflow:hidden}
.hub-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--gold)}
.hub-card.blue::before{background:var(--accent2)}.hub-card.purple::before{background:var(--accent)}
.hub-card.green::before{background:var(--success)}.hub-card.orange::before{background:var(--warning)}
.hub-card.red::before{background:var(--danger)}
.hub-card:hover{border-color:var(--gold);transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.4)}
.hub-card .hc-icon{font-size:28px;margin-bottom:10px;display:block}
.hub-card .hc-title{font-family:'Cinzel',serif;font-size:12px;color:var(--gold);letter-spacing:1px;margin-bottom:6px}
.hub-card .hc-desc{font-size:11px;color:var(--text-dim);line-height:1.6}
.hub-card .hc-count{position:absolute;top:14px;right:14px;font-size:10px;padding:2px 8px;border-radius:20px;background:var(--dark4);color:var(--text-dim);border:1px solid #333}
.hub-section-title{font-family:'Cinzel',serif;font-size:11px;color:var(--text-dim);letter-spacing:2px;text-transform:uppercase;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #2a2a2a}
#page-hub_finance .stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));width:100%}
#page-hub_finance .hub-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));width:100%}
#page-hub_finance .hub-card{min-height:132px}
#page-hub_finance .panel{width:100%;overflow-x:auto}
#page-hub_finance table{min-width:900px}

/* scrollbar */
::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:var(--dark2)}::-webkit-scrollbar-thumb{background:#333;border-radius:4px}

.hamburger{display:none;cursor:pointer;font-size:20px;background:none;border:none;color:var(--text)}

/* ── LOGIN PAGE ── */
#login-screen{position:fixed;inset:0;z-index:9999;background:var(--dark);display:flex;align-items:center;justify-content:center;flex-direction:column}
#login-screen.hidden{display:none}
#main-app.hidden{display:none}
.login-box{width:100%;max-width:400px;padding:0 24px}
.login-logo{text-align:center;margin-bottom:36px}
.login-logo h1{font-family:'Cinzel',serif;font-size:14px;color:var(--gold);letter-spacing:3px;text-transform:uppercase;margin-bottom:6px}
.login-logo p{font-size:11px;color:var(--text-dim);letter-spacing:1px}
.login-logo .logo-icon{font-size:40px;margin-bottom:12px}
.login-logo .logo-icon img{width:58px;height:58px;border-radius:50%;object-fit:cover;display:inline-block}

.live-pill{font-family:'Lato',sans-serif;font-size:9px;letter-spacing:1px;text-transform:uppercase;border:1px solid rgba(39,174,96,.28);color:var(--success);background:rgba(39,174,96,.08);border-radius:999px;padding:3px 8px}
.dash-live-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:18px;padding-top:14px;border-top:1px solid #2a2a2a}
.dash-live-strip div{background:var(--dark4);border:1px solid #303030;border-radius:7px;padding:9px 10px}
.dash-live-strip span{display:block;font-family:'Cinzel',serif;font-size:14px;color:var(--gold);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dash-live-strip small{display:block;font-size:9px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.8px;margin-top:3px}
#app-toast{position:fixed;left:50%;bottom:24px;z-index:10050;transform:translate(-50%,18px);opacity:0;pointer-events:none;background:var(--dark3);border:1px solid #333;color:var(--text);border-radius:8px;padding:11px 16px;font-size:12px;box-shadow:0 18px 45px rgba(0,0,0,.36);transition:opacity .22s ease,transform .22s ease}
#app-toast.show{opacity:1;transform:translate(-50%,0)}
#app-toast.success{border-color:rgba(39,174,96,.4);color:var(--success)}
#app-toast.info{border-color:rgba(201,168,76,.35);color:var(--gold)}
#app-toast.warning{border-color:rgba(230,126,34,.4);color:var(--warning)}

/* Login animation layer */
#login-screen{background:radial-gradient(circle at 50% 14%,rgba(201,168,76,.12),transparent 24%),radial-gradient(circle at 82% 86%,rgba(123,63,190,.12),transparent 30%),var(--dark);overflow:hidden;animation:loginBgColor 16s ease-in-out infinite}
#login-screen::before{content:'';position:absolute;inset:-35%;background:conic-gradient(from 90deg,transparent,rgba(201,168,76,.08),transparent 32%,rgba(46,134,171,.06),transparent 65%);animation:loginAura 18s linear infinite,loginAuraColor 16s ease-in-out infinite;pointer-events:none}
#login-screen::after{content:'';position:absolute;inset:0;background:linear-gradient(120deg,transparent 0%,rgba(255,255,255,.035) 45%,transparent 58%);transform:translateX(-120%);animation:loginSweep 7s ease-in-out infinite,loginSweepColor 16s ease-in-out infinite;pointer-events:none}
#login-screen .login-box{position:relative;z-index:1;animation:loginBoxIn .75s cubic-bezier(.2,.8,.2,1) both}
#login-screen .login-logo{animation:loginFadeUp .7s ease-out .08s both}
#login-screen .login-logo h1{animation:loginTitleColor 16s ease-in-out infinite;text-shadow:0 0 22px currentColor}
#login-screen .login-logo p{animation:loginFadeUp .65s ease-out .24s both}
#login-screen .login-logo .logo-icon img{box-shadow:0 0 0 8px rgba(36,39,68,.72),0 14px 34px rgba(0,0,0,.45),0 0 32px rgba(201,168,76,.22);animation:logoFloat 4.8s ease-in-out infinite,logoPop .7s cubic-bezier(.2,.8,.2,1) both,logoColorGlow 16s ease-in-out infinite}
#login-screen .login-card{background:linear-gradient(180deg,rgba(255,255,255,.025),transparent 30%),var(--dark3);box-shadow:0 24px 60px rgba(0,0,0,.36);animation:loginCardIn .85s cubic-bezier(.2,.8,.2,1) .18s both}
#login-screen .login-card::before{left:-45%;right:auto;width:70%;animation:goldLine 3.2s ease-in-out infinite,loginLineColor 16s ease-in-out infinite}
#login-screen .login-card::after{content:'';position:absolute;inset:0;border-radius:14px;background:linear-gradient(135deg,rgba(201,168,76,.08),transparent 34%);opacity:.65;pointer-events:none;animation:loginCardWash 16s ease-in-out infinite}
#login-screen .login-card > *{position:relative;z-index:1}
#login-screen .login-input-wrap input{transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease,background .22s ease}
#login-screen .login-input-wrap input:focus{transform:translateY(-1px);box-shadow:0 0 0 3px rgba(201,168,76,.09),0 10px 24px rgba(0,0,0,.18);background:#292929}
#login-screen .login-btn{background:linear-gradient(135deg,var(--gold),var(--gold-light),var(--gold));background-size:220% 100%;transition:transform .22s ease,box-shadow .22s ease,filter .22s ease;animation:buttonSheen 4s ease-in-out infinite,buttonColorCycle 16s ease-in-out infinite}
#login-screen .login-btn:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(201,168,76,.18);filter:saturate(1.08)}
#login-screen .login-btn:active{transform:translateY(0)}
#login-screen .login-footer{animation:loginFadeUp .7s ease-out .42s both}
#login-screen .form-group,#login-screen .login-title,#login-screen .login-sub,#login-screen .login-btn,#login-screen .login-card > div[style]{animation:loginFadeUp .65s ease-out both}
#login-screen .login-title{animation-delay:.28s}
#login-screen .login-sub{animation-delay:.34s}
#login-screen .form-group:nth-of-type(1){animation-delay:.42s}
#login-screen .form-group:nth-of-type(2){animation-delay:.5s}
#login-screen .login-btn{animation-delay:.58s}
#login-screen .login-card > div[style]{animation-delay:.66s}

@keyframes loginAura{to{transform:rotate(360deg)}}
@keyframes loginSweep{0%,58%{transform:translateX(-120%)}78%,100%{transform:translateX(120%)}}
@keyframes loginBoxIn{from{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}
@keyframes loginCardIn{from{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes loginFadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes logoPop{from{opacity:0;transform:scale(.72) rotate(-8deg)}to{opacity:1;transform:scale(1) rotate(0)}}
@keyframes logoFloat{0%,100%{translate:0 0}50%{translate:0 -6px}}
@keyframes goldLine{0%,100%{left:-45%}50%{left:75%}}
@keyframes buttonSheen{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes loginBgColor{
  0%,100%{background-color:#0D0D1A;filter:hue-rotate(0deg)}
  25%{background-color:#08131F;filter:hue-rotate(18deg)}
  50%{background-color:#110D1F;filter:hue-rotate(44deg)}
  75%{background-color:#071A14;filter:hue-rotate(96deg)}
}
@keyframes loginAuraColor{
  0%,100%{background:conic-gradient(from 90deg,transparent,rgba(201,168,76,.10),transparent 30%,rgba(46,134,171,.07),transparent 66%)}
  25%{background:conic-gradient(from 90deg,transparent,rgba(46,134,171,.12),transparent 30%,rgba(201,168,76,.07),transparent 66%)}
  50%{background:conic-gradient(from 90deg,transparent,rgba(123,63,190,.12),transparent 30%,rgba(46,134,171,.08),transparent 66%)}
  75%{background:conic-gradient(from 90deg,transparent,rgba(39,174,96,.10),transparent 30%,rgba(230,126,34,.08),transparent 66%)}
}
@keyframes loginSweepColor{
  0%,100%{background:linear-gradient(120deg,transparent 0%,rgba(201,168,76,.045) 45%,transparent 58%)}
  25%{background:linear-gradient(120deg,transparent 0%,rgba(46,134,171,.05) 45%,transparent 58%)}
  50%{background:linear-gradient(120deg,transparent 0%,rgba(123,63,190,.05) 45%,transparent 58%)}
  75%{background:linear-gradient(120deg,transparent 0%,rgba(39,174,96,.045) 45%,transparent 58%)}
}
@keyframes loginTitleColor{
  0%,100%{color:#C9A84C}
  25%{color:#5BB8E8}
  50%{color:#9B5DE5}
  75%{color:#39C779}
}
@keyframes logoColorGlow{
  0%,100%{box-shadow:0 0 0 8px rgba(36,39,68,.72),0 14px 34px rgba(0,0,0,.45),0 0 34px rgba(201,168,76,.28)}
  25%{box-shadow:0 0 0 8px rgba(22,55,82,.7),0 14px 34px rgba(0,0,0,.45),0 0 34px rgba(91,184,232,.28)}
  50%{box-shadow:0 0 0 8px rgba(50,35,82,.7),0 14px 34px rgba(0,0,0,.45),0 0 34px rgba(155,93,229,.28)}
  75%{box-shadow:0 0 0 8px rgba(22,70,47,.68),0 14px 34px rgba(0,0,0,.45),0 0 34px rgba(57,199,121,.24)}
}
@keyframes loginLineColor{
  0%,100%{background:linear-gradient(90deg,transparent,#C9A84C,transparent)}
  25%{background:linear-gradient(90deg,transparent,#5BB8E8,transparent)}
  50%{background:linear-gradient(90deg,transparent,#9B5DE5,transparent)}
  75%{background:linear-gradient(90deg,transparent,#39C779,transparent)}
}
@keyframes loginCardWash{
  0%,100%{background:linear-gradient(135deg,rgba(201,168,76,.08),transparent 34%)}
  25%{background:linear-gradient(135deg,rgba(46,134,171,.09),transparent 34%)}
  50%{background:linear-gradient(135deg,rgba(123,63,190,.09),transparent 34%)}
  75%{background:linear-gradient(135deg,rgba(39,174,96,.08),transparent 34%)}
}
@keyframes buttonColorCycle{
  0%,100%{background-image:linear-gradient(135deg,#C9A84C,#E6C866,#C9A84C);box-shadow:0 0 0 rgba(201,168,76,0)}
  25%{background-image:linear-gradient(135deg,#2E86AB,#5BB8E8,#2E86AB);box-shadow:0 10px 26px rgba(46,134,171,.14)}
  50%{background-image:linear-gradient(135deg,#7B3FBE,#B381F0,#7B3FBE);box-shadow:0 10px 26px rgba(123,63,190,.14)}
  75%{background-image:linear-gradient(135deg,#27AE60,#6BE095,#27AE60);box-shadow:0 10px 26px rgba(39,174,96,.13)}
}

/* Refined launch login motion */
#login-screen{
  background:
    linear-gradient(145deg,#070914 0%,#0D0D1A 42%,#120F19 100%);
  overflow:hidden;
  animation:loginBackdropShift 18s ease-in-out infinite;
}
#login-screen::before{
  content:'';
  position:absolute;
  inset:-25%;
  background:
    conic-gradient(from 205deg at 50% 48%,transparent 0deg,rgba(201,168,76,.13) 46deg,transparent 84deg,rgba(46,134,171,.08) 150deg,transparent 235deg,rgba(201,168,76,.08) 296deg,transparent 360deg);
  opacity:.72;
  filter:blur(22px);
  animation:loginHaloRotate 28s linear infinite;
  pointer-events:none;
}
#login-screen::after{
  content:'';
  position:absolute;
  inset:0;
  background:
    linear-gradient(115deg,transparent 0%,transparent 37%,rgba(255,231,166,.055) 49%,transparent 62%,transparent 100%),
    repeating-linear-gradient(90deg,rgba(255,255,255,.018) 0 1px,transparent 1px 82px);
  transform:translateX(-120%);
  animation:loginLightSweep 9s ease-in-out infinite;
  pointer-events:none;
}
#login-screen .login-logo h1{
  color:var(--gold);
  text-shadow:0 0 24px rgba(201,168,76,.28);
  animation:loginFadeUp .7s ease-out .08s both,loginGoldPulse 5.5s ease-in-out infinite;
}
#login-screen .login-logo .logo-icon img{
  box-shadow:0 0 0 8px rgba(11,15,33,.84),0 16px 40px rgba(0,0,0,.5),0 0 34px rgba(201,168,76,.28);
  animation:logoFloat 5.5s ease-in-out infinite,logoPop .7s cubic-bezier(.2,.8,.2,1) both;
}
#login-screen .login-card{
  background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.012) 42%),rgba(20,20,24,.9);
  border-color:rgba(201,168,76,.16);
  box-shadow:0 28px 70px rgba(0,0,0,.48),0 0 0 1px rgba(255,255,255,.025) inset;
  backdrop-filter:blur(10px);
  animation:loginCardIn .85s cubic-bezier(.2,.8,.2,1) .18s both;
}
#login-screen .login-card::before{
  left:-40%;
  right:auto;
  width:68%;
  background:linear-gradient(90deg,transparent,rgba(232,201,122,.9),transparent);
  animation:goldLine 4.8s ease-in-out infinite;
}
#login-screen .login-card::after{
  content:'';
  position:absolute;
  inset:0;
  border-radius:14px;
  background:linear-gradient(135deg,rgba(201,168,76,.075),transparent 38%,rgba(46,134,171,.035));
  opacity:.8;
  pointer-events:none;
}
#login-screen .login-title{color:var(--gold);text-shadow:0 0 18px rgba(201,168,76,.18)}
#login-screen .login-btn{
  background:linear-gradient(135deg,#C9A84C,#E8C97A 48%,#B98F32);
  background-size:180% 100%;
  color:#080810;
  box-shadow:0 12px 26px rgba(201,168,76,.16);
  animation:buttonSheen 5s ease-in-out infinite;
}
#login-screen .login-btn:hover{
  box-shadow:0 16px 34px rgba(201,168,76,.24);
}
@keyframes loginBackdropShift{
  0%,100%{background-position:0% 50%;filter:saturate(1)}
  50%{background-position:100% 50%;filter:saturate(1.08)}
}
@keyframes loginHaloRotate{
  0%{transform:rotate(0deg) scale(1)}
  50%{transform:rotate(180deg) scale(1.04)}
  100%{transform:rotate(360deg) scale(1)}
}
@keyframes loginLightSweep{
  0%,52%{transform:translateX(-120%)}
  74%,100%{transform:translateX(120%)}
}
@keyframes loginGoldPulse{
  0%,100%{text-shadow:0 0 18px rgba(201,168,76,.20)}
  50%{text-shadow:0 0 30px rgba(201,168,76,.38)}
}

@media (prefers-reduced-motion:reduce){
  #login-screen,#login-screen::before,#login-screen::after,#login-screen .login-box,#login-screen .login-logo,#login-screen .login-logo h1,#login-screen .login-logo p,#login-screen .login-logo .logo-icon img,#login-screen .login-card,#login-screen .login-card::before,#login-screen .login-card::after,#login-screen .login-footer,#login-screen .form-group,#login-screen .login-title,#login-screen .login-sub,#login-screen .login-btn,#login-screen .login-card > div[style]{animation:none}
  #login-screen .login-input-wrap input:focus,#login-screen .login-btn:hover{transform:none}
}
.login-card{background:var(--dark3);border:1px solid #2a2a2a;border-radius:14px;padding:32px;position:relative;overflow:hidden}
.login-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.login-title{font-family:'Cinzel',serif;font-size:15px;color:var(--gold);letter-spacing:2px;margin-bottom:6px;text-align:center}
.login-sub{font-size:11px;color:var(--text-dim);text-align:center;margin-bottom:24px}
.login-err{background:rgba(192,57,43,.12);border:1px solid rgba(192,57,43,.3);color:var(--danger);font-size:11px;padding:9px 12px;border-radius:6px;margin-bottom:16px;display:none}
.login-err.show{display:block}
.login-input-wrap{position:relative;margin-bottom:14px}
.login-input-wrap input{padding-right:58px}
.login-eye{position:absolute;right:11px;top:50%;transform:translateY(-50%);cursor:pointer;color:var(--text-dim);font-size:11px;user-select:none;background:none;border:none;padding:2px 4px;min-width:38px;text-align:center}
.login-btn{width:100%;padding:11px;background:var(--gold);color:var(--dark);border:none;border-radius:6px;font-family:'Cinzel',serif;font-size:12px;letter-spacing:2px;cursor:pointer;transition:.2s;margin-top:4px;font-weight:700}
.login-btn:hover{background:var(--gold-light)}
.login-footer{text-align:center;margin-top:20px;font-size:10px;color:#444;letter-spacing:1px}

/* ── USER DROPDOWN ── */
.user-menu{position:relative}
.user-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:200px;background:var(--dark3);border:1px solid #333;border-radius:10px;box-shadow:0 8px 32px rgba(0,0,0,.6);z-index:500;display:none;overflow:hidden}
.user-dropdown.open{display:block}
.ud-header{padding:14px;border-bottom:1px solid #2a2a2a;text-align:center}
.ud-avatar{width:44px;height:44px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;font-size:18px;margin:0 auto 8px;overflow:hidden;border:2px solid rgba(201,168,76,.3)}
.ud-avatar img{width:100%;height:100%;object-fit:cover}
.ud-name{font-size:12px;font-weight:700;color:var(--text)}
.ud-role{font-size:10px;color:var(--gold);letter-spacing:1px;text-transform:uppercase}
.ud-item{display:flex;align-items:center;gap:9px;padding:10px 14px;font-size:12px;color:var(--text-dim);cursor:pointer;transition:.15s}
.ud-item:hover{background:var(--dark4);color:var(--text)}
.ud-item.danger:hover{color:var(--danger)}
.ud-divider{height:1px;background:#2a2a2a;margin:2px 0}

/* ── PERMISSIONS GRID ── */
.perm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;margin-top:12px}
.perm-item{display:flex;align-items:center;gap:8px;background:var(--dark4);border-radius:6px;padding:7px 10px;font-size:11px;color:var(--text-dim);cursor:pointer;transition:.15s;border:1px solid transparent}
.perm-item:hover{border-color:#333;color:var(--text)}
.perm-item input[type=checkbox]{accent-color:var(--gold);cursor:pointer;width:13px;height:13px}
.perm-item.checked{background:rgba(201,168,76,.07);border-color:rgba(201,168,76,.2);color:var(--text)}

/* ── USER TABLE ── */
.user-row-avatar{width:28px;height:28px;border-radius:50%;background:var(--accent);display:inline-flex;align-items:center;justify-content:center;font-size:11px;overflow:hidden;vertical-align:middle;margin-right:6px;border:1px solid rgba(201,168,76,.2)}
.user-row-avatar img{width:100%;height:100%;object-fit:cover}
.role-badge-admin{background:rgba(201,168,76,.15);color:var(--gold);padding:2px 8px;border-radius:20px;font-size:10px;font-weight:700;letter-spacing:.5px}
.role-badge-audience{background:rgba(46,134,171,.15);color:#5BB8E8;padding:2px 8px;border-radius:20px;font-size:10px;letter-spacing:.5px}

/* Profile page */
.profile-avatar-wrap{display:flex;flex-direction:column;align-items:center;gap:10px;margin-bottom:20px}
.profile-avatar-big{width:80px;height:80px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;font-size:32px;overflow:hidden;border:2px solid rgba(201,168,76,.3);cursor:pointer;position:relative}
.profile-avatar-big img{width:100%;height:100%;object-fit:cover}
.profile-avatar-big:hover::after{content:'Upload';position:absolute;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:11px;font-weight:700}
.pass-strength{height:3px;border-radius:2px;margin-top:4px;transition:width .3s,background .3s}

/* Nav permission lock icon */
.nav-locked{opacity:0.35;pointer-events:none}
.nav-locked::after{content:'Locked';font-size:9px;margin-left:4px}

@media(max-width:768px){
  #sidebar{position:fixed;z-index:100;transform:translateX(-100%)}
  #sidebar.open{transform:translateX(0)}
  .grid2,.grid3,.grid4{grid-template-columns:1fr}
  .stats-grid{grid-template-columns:1fr 1fr}
  .activity-insights{grid-template-columns:repeat(2,minmax(0,1fr))}
  .activity-visual-grid{grid-template-columns:1fr}
  .activity-map{min-height:220px}
  .hamburger{display:block}
}

/* Added: theme toggle, Claude assistant, WhatsApp/SMS preview */
body.ce-light{
  --gold:#A0762A;--gold-light:#C4923C;--dark:#EDE8DE;--dark2:#F9F5EE;--dark3:#FFFFFF;--dark4:#F3EDE2;--text:#1A1208;--text-dim:#6F6250;
  background:#EDE8DE;color:var(--text)
}
body.ce-light #sidebar{background:#F9F5EE;border-right-color:#DED4C4}
body.ce-light .topbar{background:#FFFFFF;border-bottom-color:#DED4C4}
body.ce-light .panel,body.ce-light .stat-card,body.ce-light .hub-card{background:#FFFFFF;border-color:#DED4C4;box-shadow:0 12px 28px rgba(88,66,31,.08)}
body.ce-light input,body.ce-light select,body.ce-light textarea{background:#FFFFFF;border-color:#D7CCBB;color:var(--text)}
.theme-btn{min-width:52px;height:34px;border-radius:8px;border:1px solid rgba(201,168,76,.45);background:rgba(201,168,76,.09);color:var(--gold);font-size:11px;font-weight:700;cursor:pointer;padding:0 10px}
.ai-fab{position:fixed;right:24px;bottom:24px;z-index:2000;width:58px;height:58px;border-radius:50%;border:none;background:linear-gradient(135deg,var(--gold-light),var(--gold));color:#111;font-size:24px;box-shadow:0 18px 40px rgba(201,168,76,.28);cursor:pointer}
.ai-panel{position:fixed;right:24px;bottom:94px;z-index:1999;width:min(430px,calc(100vw - 32px));height:min(640px,calc(100vh - 126px));background:var(--dark3);border:1px solid rgba(201,168,76,.3);border-radius:12px;box-shadow:0 24px 70px rgba(0,0,0,.42);display:flex;flex-direction:column;overflow:hidden;opacity:0;pointer-events:none;transform:translateY(16px);transition:.22s}
.ai-panel.open{opacity:1;pointer-events:auto;transform:none}.ai-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px;border-bottom:1px solid #2a2a2a;background:rgba(201,168,76,.09)}
.ai-head h3{font-family:'Cinzel',serif;font-size:13px;color:var(--gold);letter-spacing:.5px}.ai-close{width:30px;height:30px;border-radius:6px;border:1px solid #333;background:var(--dark4);color:var(--text);cursor:pointer}
.ai-thread{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px}.ai-msg{max-width:86%;padding:10px 12px;border-radius:10px;font-size:12px;line-height:1.45}.ai-msg.user{align-self:flex-end;background:rgba(46,134,171,.16);border:1px solid rgba(46,134,171,.3)}.ai-msg.bot{align-self:flex-start;background:var(--dark4);border:1px solid #333}
.ai-chips{display:flex;gap:7px;flex-wrap:wrap;padding:0 14px 12px}.ai-chip{border:1px solid rgba(201,168,76,.32);background:rgba(201,168,76,.08);color:var(--gold);border-radius:999px;padding:6px 10px;font-size:11px;font-weight:700;cursor:pointer}
.ai-input-row{display:flex;gap:8px;padding:12px;border-top:1px solid #2a2a2a}.ai-input-row input{flex:1}
.wa-preview-card{margin-top:16px}.wa-phone{background:#0B141A;border:1px solid #2a2a2a;border-radius:12px;padding:14px}.wa-bubble{background:#DCF8C6;color:#102015;border-radius:10px 10px 2px 10px;padding:12px;font-size:12px;line-height:1.5;white-space:pre-wrap;box-shadow:0 8px 20px rgba(0,0,0,.18)}.wa-meta{margin-top:8px;text-align:right;color:#667766;font-size:10px}.notice-status{display:none;margin-top:10px;font-size:11px;color:var(--success);font-weight:700}
body.ce-light .wa-phone{background:#E5DDD5;border-color:#D3C7B9}

/* Internal chat room */
.chat-shell{display:grid;grid-template-columns:330px minmax(0,1fr);gap:16px;height:calc(100vh - 168px);min-height:460px}
.chat-sidebar,.chat-main{background:var(--dark3);border:1px solid #2a2a2a;border-radius:10px;overflow:hidden;min-height:0}
.chat-sidebar{display:flex;flex-direction:column;min-height:0}
.chat-side-head,.chat-room-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid #2a2a2a;background:rgba(201,168,76,.04)}
.chat-muted{font-size:11px;color:var(--text-dim);line-height:1.45}
.chat-search-row{padding:12px;border-bottom:1px solid #242424}
.chat-search-row input{width:100%;font-size:12px}
.chat-recipient-list{flex:1;min-height:0;overflow:auto;padding:8px;display:flex;flex-direction:column;gap:7px}
.chat-recipient{display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;border:1px solid transparent;background:var(--dark4);border-radius:8px;padding:10px;cursor:pointer;transition:.16s}
.chat-recipient:hover,.chat-recipient.active{border-color:rgba(201,168,76,.45);background:rgba(201,168,76,.07)}
.chat-avatar{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(201,168,76,.12);color:var(--gold);font-weight:700;font-size:12px}
.chat-recipient-name{font-size:12px;font-weight:700;color:var(--text);margin-bottom:2px}
.chat-recipient-role{font-size:10px;color:var(--text-dim);line-height:1.3}
.chat-unread{min-width:18px;height:18px;border-radius:20px;background:var(--gold);color:var(--dark);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700}
.chat-main{display:flex;flex-direction:column;min-width:0;min-height:0}
.chat-room-title{font-family:'Cinzel',serif;color:var(--gold);font-size:17px;letter-spacing:1px;margin-bottom:4px}
.chat-room-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.chat-quick-actions{display:flex;gap:8px;flex-wrap:wrap;padding:10px 14px;border-bottom:1px solid #242424}
.chat-quick-actions button{border:1px solid rgba(201,168,76,.25);background:rgba(201,168,76,.07);color:var(--gold);border-radius:20px;padding:6px 10px;font-size:11px;font-weight:700;cursor:pointer}
.chat-thread{flex:1;min-height:0;overflow:auto;padding:18px;display:flex;flex-direction:column;gap:12px;background:linear-gradient(180deg,rgba(255,255,255,.01),transparent)}
.chat-day{align-self:center;font-size:10px;color:var(--text-dim);border:1px solid #2a2a2a;border-radius:20px;padding:4px 10px;background:var(--dark4)}
.chat-bubble{max-width:min(660px,82%);padding:11px 13px;border-radius:12px;border:1px solid #333;font-size:12px;line-height:1.5;box-shadow:0 10px 24px rgba(0,0,0,.12)}
.chat-bubble.sent{align-self:flex-end;background:rgba(201,168,76,.12);border-color:rgba(201,168,76,.28)}
.chat-bubble.received{align-self:flex-start;background:var(--dark4)}
.chat-bubble-meta{display:flex;justify-content:space-between;gap:12px;margin-bottom:5px;font-size:9px;text-transform:uppercase;letter-spacing:.7px;color:var(--text-dim)}
.chat-compose{border-top:1px solid #2a2a2a;padding:10px 14px;background:rgba(0,0,0,.08);flex-shrink:0}
.chat-compose textarea{height:48px;min-height:48px;resize:none}
.chat-compose-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}
body.ce-light .chat-sidebar,body.ce-light .chat-main{border-color:#DED4C4;background:#FFFFFF}
body.ce-light .chat-recipient,body.ce-light .chat-bubble.received{background:#F9F5EE;border-color:#DED4C4}
body.ce-light .chat-compose{background:#F9F5EE}
@media(max-width:900px){
  .chat-shell{grid-template-columns:1fr;height:auto;min-height:auto}
  .chat-recipient-list{max-height:260px}
  .chat-thread{min-height:360px}
}
@media(max-width:768px){.ai-fab{right:16px;bottom:16px}.ai-panel{left:12px;right:12px;bottom:82px;width:auto;height:min(580px,calc(100vh - 104px))}}
@media(max-width:560px){.activity-insights{grid-template-columns:1fr}}
