*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,Arial,sans-serif;background:#0f1221;color:#eceef8}.app{display:flex;min-height:100vh}.sidebar{width:260px;background:#161a2f;padding:16px;border-right:1px solid #2a3158;transition:transform .2s ease,width .2s ease}.sidebar-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.sidebar h1{font-size:20px;margin:0}.sidebar nav a{display:block;color:#cbd3ff;text-decoration:none;padding:12px;border-radius:10px;margin-bottom:6px;font-size:16px}.sidebar nav a.active,.sidebar nav a:hover{background:#2c376d;color:#fff}.icon-btn{background:#2c376d;color:#fff;border:none;border-radius:10px;padding:10px 12px;font-size:18px;line-height:1;cursor:pointer}.topbar{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px}.main{flex:1;padding:16px;min-width:0}.main h2{margin:0 0 4px}.main p{margin:0;color:#aab2d9}.card{background:#181d35;border:1px solid #2a3158;border-radius:14px;padding:14px;margin-bottom:14px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.tbl-wrap{overflow:auto;-webkit-overflow-scrolling:touch}.tbl{width:100%;border-collapse:collapse;font-size:14px;min-width:980px}.tbl th,.tbl td{padding:10px;border-bottom:1px solid #2a3158;text-align:left;vertical-align:top}.tag{padding:3px 8px;border-radius:999px;background:#2c376d;white-space:nowrap}.ad-profile{display:flex;align-items:center;gap:10px;min-width:200px}.avatar{width:36px;height:36px;border-radius:999px;object-fit:cover;border:1px solid #2a3158;background:#10152a}.avatar-missing{display:flex;align-items:center;justify-content:center;color:#aab2d9}

/* Desktop collapsed */
.app.desktop-collapsed .sidebar{width:0;padding:0;border-right:none;overflow:hidden}
.app.desktop-collapsed .main{padding:16px}

/* Mobile first for iPhone */
@media (max-width: 900px){
  .grid{grid-template-columns:1fr}
  .sidebar{position:fixed;left:0;top:0;bottom:0;z-index:30;transform:translateX(-100%);width:84vw;max-width:330px;box-shadow:0 0 0 9999px rgba(0,0,0,.35)}
  .app.mobile-open .sidebar{transform:translateX(0)}
  .main{padding:12px}
  .card{padding:12px}
  .main h2{font-size:22px}
}

.section-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.news-feed{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.news-card{background:#10152a;border:1px solid #2a3158;border-radius:14px;overflow:hidden}.news-card img{width:100%;height:130px;object-fit:cover;background:#0b1022}.news-card .ph{width:100%;height:130px;background:#20294f;display:flex;align-items:center;justify-content:center;color:#9aa4d6}.news-card .b{padding:10px}.news-card .src{font-size:12px;color:#9fb1ff}.news-card h4{font-size:14px;line-height:1.3;margin:6px 0 8px}.news-card p{font-size:12px;color:#b7c0ea;margin:0 0 8px}.news-card a{font-size:12px;color:#8ec5ff;text-decoration:none}.mini-list{display:grid;gap:8px}.mini-item{background:#10152a;border:1px solid #2a3158;border-radius:10px;padding:8px}.mini-item .k{font-size:11px;color:#9fb1ff}.mini-item .v{font-size:13px}.mini-form{display:grid;gap:8px}.mini-form input,.mini-form select{background:#0f1428;border:1px solid #2a3158;color:#eceef8;border-radius:8px;padding:10px;font-size:14px}.metric-card{background:#10152a;border:1px solid #2a3158;border-radius:12px;padding:10px}.metric-card .n{font-size:22px;font-weight:700}.metric-card .l{font-size:12px;color:#9fb1ff}.phase{background:#10152a;border:1px solid #2a3158;border-radius:12px;padding:12px;margin-bottom:12px}.phase h4{margin:0 0 6px}.phase .goal{color:#b7c0ea;font-size:13px;margin-bottom:8px}.phase ul{margin:6px 0 0 18px}.kpi-tags{display:flex;flex-wrap:wrap;gap:6px}.kpi{font-size:12px;background:#20294f;border:1px solid #2a3158;padding:4px 8px;border-radius:999px}.collapsible-card summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between}.collapsible-card summary::-webkit-details-marker{display:none}.collapsible-card summary h4{margin:0}.mt-2{margin-top:10px}

.tab-section{display:none}
.tab-section.active{display:block}
.alert-line{font-size:15px;font-weight:600}.meta-line{margin-top:6px;color:#aab2d9;font-size:12px}.badge-break{display:inline-block;background:#e5484d;color:#fff;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.4px}.d-none{display:none!important}

@media (min-width: 901px){
  #closeSidebar{display:none}
}