.dashboard-body{min-height:100vh;background:#edf1eb;color:var(--logos-text-primary)}
.dashboard-body [hidden]{display:none!important}
.dashboard-shell{min-height:100vh;display:grid;grid-template-columns:272px minmax(0,1fr)}
.dash-sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:24px 18px;background:linear-gradient(180deg,var(--logos-forest-950),#031d17);color:white;z-index:20}
.dash-sidebar .brand{padding:4px 8px 24px;border-bottom:1px solid rgba(255,255,255,.1)}.dash-sidebar .brand-name{color:white}
.dash-nav{display:grid;gap:5px;margin-top:23px}.dash-nav button{display:flex;align-items:center;gap:12px;width:100%;min-height:46px;padding:11px 13px;border-radius:13px;background:transparent;color:rgba(255,255,255,.68);font-weight:600;text-align:left;cursor:pointer;transition:background .18s ease,color .18s ease}.dash-nav button:hover,.dash-nav button.active{background:rgba(255,255,255,.09);color:white}.dash-nav button svg{width:19px;height:19px;flex:0 0 19px;color:var(--logos-gold-300);fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.dash-sidebar-footer{margin-top:auto;padding:18px 8px 5px;border-top:1px solid rgba(255,255,255,.1)}.dash-sidebar-footer p{margin:0 0 10px;color:rgba(255,255,255,.55);font-size:.76rem;overflow-wrap:anywhere}
.dash-main{min-width:0}.dash-topbar{position:sticky;top:0;z-index:15;height:76px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 30px;background:rgba(251,248,241,.89);border-bottom:1px solid var(--logos-border);backdrop-filter:blur(16px)}.dash-topbar h1{font-family:Manrope;font-size:1.05rem;letter-spacing:0;margin:0}.church-switcher select{max-width:240px;min-height:38px;padding:8px 34px 8px 12px;border:1px solid var(--logos-border);border-radius:11px;background:#fff;color:var(--logos-forest-950);font:600 .78rem Manrope}.dash-topbar-actions{display:flex;align-items:center;gap:10px}.dash-mobile-menu{display:none;width:44px;height:44px;border-radius:12px;background:var(--logos-cream-100);color:var(--logos-forest-950);cursor:pointer}
.dash-content{width:min(1320px,100%);margin:auto;padding:34px 30px 70px}.dash-panel[hidden]{display:none}.dash-heading{display:flex;align-items:end;justify-content:space-between;gap:22px;margin-bottom:28px}.dash-heading h2{font-size:2.8rem;margin-bottom:5px}.dash-heading p{margin:0}.dash-actions{display:flex;gap:9px;flex-wrap:wrap}
.dash-card{border:1px solid var(--logos-border);border-radius:22px;background:white;box-shadow:0 10px 32px rgba(6,43,34,.06);padding:22px}.dash-card h3{margin:0 0 6px;font-size:.94rem}.dash-card p{margin-bottom:0}.metric-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:19px}.metric-card{position:relative;min-height:150px;overflow:hidden}.metric-label{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--logos-text-muted)}.metric-value{display:block;margin-top:15px;font-family:"Cormorant Garamond",serif;font-size:2.5rem;line-height:1;color:var(--logos-forest-950)}.metric-meta{display:block;margin-top:10px;font-size:.76rem;color:var(--logos-text-muted)}.metric-card.plan-card{background:linear-gradient(145deg,var(--logos-forest-950),var(--logos-forest-800));color:white}.metric-card.plan-card .metric-label,.metric-card.plan-card .metric-meta{color:rgba(255,255,255,.62)}.metric-card.plan-card .metric-value{color:white}.metric-card.plan-card::after{content:"";position:absolute;right:-22px;top:-35px;width:130px;height:130px;border:1px solid rgba(229,202,140,.25);border-radius:50%}
.progress{height:8px;margin-top:16px;border-radius:999px;background:var(--logos-cream-200);overflow:hidden}.progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--logos-forest-700),var(--logos-gold-500));border-radius:inherit;transition:width .5s var(--ease)}
.dash-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:19px}.stack{display:grid;gap:19px}.card-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.card-header h3{font-size:1.05rem;margin:0}.card-header a,.card-header button{font-size:.78rem}.viewer-link-box{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px;border-radius:14px;background:var(--logos-cream-100);border:1px solid var(--logos-border)}.viewer-link-box code{font-family:Manrope;font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qr-preview{display:grid;place-items:center;min-height:220px}.qr-preview img{width:170px;height:170px;padding:10px;background:white;border-radius:14px;border:1px solid var(--logos-border)}
.usage-chart{height:220px;display:flex;align-items:end;gap:12px;padding-top:30px}.usage-bar{flex:1;position:relative;min-height:8px;border-radius:10px 10px 3px 3px;background:linear-gradient(180deg,var(--logos-gold-400),var(--logos-forest-700))}.usage-bar::after{content:attr(data-label);position:absolute;left:50%;bottom:-28px;transform:translateX(-50%);font-size:.68rem;color:var(--logos-text-muted)}.chart-column{flex:1;height:100%;display:flex;align-items:center;justify-content:end;flex-direction:column;gap:7px}.chart-column span{display:block;width:100%;max-width:52px;border-radius:9px 9px 3px 3px;background:linear-gradient(180deg,var(--logos-gold-400),var(--logos-forest-700))}.chart-column small{color:var(--logos-text-muted);font-size:.62rem;white-space:nowrap}.recent-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 0;border-bottom:1px solid var(--logos-border)}.recent-row:last-child{border-bottom:0}.recent-row div{display:grid;gap:3px}.recent-row span{font-size:.72rem;color:var(--logos-text-muted)}
.table-wrap{overflow:auto}.dash-table{width:100%;border-collapse:collapse;font-size:.78rem}.dash-table th,.dash-table td{padding:13px 10px;text-align:left;border-bottom:1px solid var(--logos-border);vertical-align:top}.dash-table th{color:var(--logos-text-muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.07em}.dash-table tr:last-child td{border-bottom:0}.status-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;background:#e6f3eb;color:var(--logos-success);font-size:.7rem;font-weight:700}.status-pill::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.status-pill.warning{background:#fff3dd;color:var(--logos-warning)}.status-pill.danger{background:#fdecea;color:var(--logos-error)}.status-pill.neutral{background:var(--logos-cream-100);color:var(--logos-text-secondary)}
.empty-state{text-align:center;padding:34px;border:1px dashed var(--logos-border);border-radius:16px;background:var(--logos-cream-50)}.empty-state h3{margin-bottom:7px}.empty-state p{font-size:.82rem;margin:0 auto 16px;max-width:480px}.error-box,.notice-box{padding:14px 16px;border-radius:14px;font-size:.82rem}.error-box{background:#fdecea;color:#821e17}.notice-box{background:#fff6e6;color:#75500d}.success-box{background:#e8f4ed;color:#1b603a}.billing-card{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center}.billing-plan{display:flex;gap:18px;align-items:center}.billing-plan-mark{display:grid;place-items:center;width:58px;height:58px;border-radius:17px;background:var(--logos-forest-950);color:var(--logos-gold-300);font-family:"Cormorant Garamond",serif;font-size:2rem}.operator-app-mark{position:relative;width:58px;height:58px;flex:0 0 58px}.operator-app-mark>img{display:block;width:58px;height:58px;border-radius:17px;object-fit:cover;box-shadow:0 10px 22px rgba(0,50,40,.18)}.operator-app-mark>span{position:absolute;right:-7px;bottom:-7px;display:grid;place-items:center;width:27px;height:27px;border:2px solid #fff;border-radius:9px;background:var(--logos-forest-950);color:var(--logos-gold-300);box-shadow:0 5px 12px rgba(0,50,40,.22)}.operator-app-mark svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.billing-details{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:24px}.billing-detail{padding:15px;border-radius:15px;background:var(--logos-cream-50);border:1px solid var(--logos-border)}.billing-detail span{display:block;font-size:.68rem;text-transform:uppercase;color:var(--logos-text-muted)}.billing-detail strong{display:block;margin-top:7px;font-size:.9rem}
.team-grid,.session-cards{display:none}.team-row-actions{display:flex;gap:7px}.role-select{min-height:38px;padding:6px 10px;border:1px solid var(--logos-border);border-radius:10px;background:var(--logos-cream-50)}.mobile-record{padding:17px;border:1px solid var(--logos-border);border-radius:17px;background:white}.mobile-record>div{display:flex;justify-content:space-between;gap:10px}.mobile-record p{margin:8px 0;font-size:.76rem}.mobile-record small{color:var(--logos-text-muted)}
.skeleton{position:relative;overflow:hidden;background:var(--logos-cream-100);color:transparent!important}.skeleton::after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.85),transparent);animation:shimmer 1.5s infinite}@keyframes shimmer{to{transform:translateX(100%)}}
.dialog-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;background:rgba(3,25,19,.58);backdrop-filter:blur(5px)}.dialog-backdrop[hidden]{display:none}.dialog{width:min(600px,100%);max-height:min(780px,calc(100vh - 40px));overflow:auto;border-radius:24px;background:var(--logos-cream-50);box-shadow:0 30px 100px rgba(0,0,0,.34);padding:28px}.dialog-header{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:22px}.dialog-header h2{font-size:2.4rem;margin-bottom:5px}.dialog-close{width:42px;height:42px;border-radius:50%;background:var(--logos-cream-200);color:var(--logos-forest-950);cursor:pointer}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:24px}.plan-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.plan-choice{padding:15px;border:1px solid var(--logos-border);border-radius:15px;background:white;text-align:left;cursor:pointer}.plan-choice.selected{border-color:var(--logos-gold-500);box-shadow:0 0 0 2px rgba(198,154,73,.18)}.plan-choice strong,.plan-choice span{display:block}.plan-choice span{font-size:.75rem;color:var(--logos-text-muted)}
.toast-region{position:fixed;z-index:200;right:20px;bottom:20px;display:grid;gap:10px}.toast{width:min(360px,calc(100vw - 40px));padding:14px 16px;border-radius:14px;background:var(--logos-forest-950);color:white;box-shadow:var(--shadow-lg);animation:toastIn .25s var(--ease)}@keyframes toastIn{from{opacity:0;transform:translateY(10px)}}
.toast.error{background:#821e17}.dashboard-banner{display:flex;align-items:center;gap:14px;margin-bottom:22px;padding:15px 17px;border-radius:15px;background:#e8f4ed;color:#1b603a}.dashboard-banner span{margin-right:auto;font-size:.8rem}.dashboard-banner.warning{background:#fff3dd;color:#75500d}.dashboard-banner.danger{background:#fdecea;color:#821e17}.status-pill.live{background:#fdecea;color:#b9271b}.status-pill.active{background:#e6f3eb;color:var(--logos-success)}.plan-choice.current{background:var(--logos-cream-100)}.plan-choice em,.plan-choice small{display:block;margin-top:5px}.plan-choice em{font-style:normal;color:var(--logos-forest-800);font-weight:700}.hidden{display:none!important}

.admin-body .dash-sidebar{background:linear-gradient(180deg,#101915,#062b22)}.admin-filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:18px}.search-box{position:relative;flex:1;min-width:260px}.search-box input{width:100%;min-height:46px;padding:11px 42px 11px 14px;border:1px solid var(--logos-border);border-radius:13px;background:white}.search-clear{position:absolute;right:6px;top:6px;width:34px;height:34px;border-radius:9px;background:transparent;cursor:pointer}.filter-chip{min-height:39px;padding:8px 13px;border-radius:999px;background:white;border:1px solid var(--logos-border);color:var(--logos-text-secondary);font-weight:700;font-size:.75rem;cursor:pointer}.filter-chip.active{background:var(--logos-forest-950);color:white;border-color:var(--logos-forest-950)}.church-cards{display:none}.admin-drawer{position:fixed;z-index:90;top:0;right:0;width:min(680px,100%);height:100vh;padding:30px;overflow:auto;background:var(--logos-cream-50);box-shadow:-24px 0 80px rgba(0,0,0,.24);transform:translateX(100%);transition:transform .26s var(--ease)}.admin-drawer.open{transform:none}.drawer-scrim{position:fixed;inset:0;z-index:80;background:rgba(3,25,19,.55)}.details-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}.detail-item{padding:13px;border-radius:13px;background:white;border:1px solid var(--logos-border)}.detail-item span{display:block;font-size:.68rem;text-transform:uppercase;color:var(--logos-text-muted)}.detail-item strong{display:block;margin-top:5px;font-size:.82rem;overflow-wrap:anywhere}.cost-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.cost-card{padding:16px;border-radius:15px;background:var(--logos-forest-950);color:white}.cost-card span{display:block;font-size:.68rem;color:rgba(255,255,255,.6)}.cost-card strong{display:block;margin-top:6px;font-size:1.2rem}
.admin-guard{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:10px;padding:30px;text-align:center;background:radial-gradient(circle at 50% 20%,#f9f6ed,#e7eee6)}.admin-guard img{width:72px;height:72px;border-radius:20px;box-shadow:var(--shadow-md)}.admin-guard h1{font-size:clamp(2.3rem,5vw,3.5rem);margin:0}.admin-guard p{margin:0}.admin-guard .eyebrow{color:var(--logos-gold-600)}

.addon-manager{margin-top:18px}.addon-manager>div:first-child{margin-bottom:18px}.addon-manager h3{margin-bottom:6px}.addon-toggle{display:flex;align-items:flex-start;gap:12px;padding:15px;border:1px solid var(--logos-border);border-radius:15px;background:var(--logos-cream-50)}.addon-toggle input{width:20px;height:20px;accent-color:var(--logos-forest-700)}.addon-toggle span{display:grid;gap:3px}.addon-toggle small{color:var(--logos-text-muted)}.audio-usage-breakdown{display:grid;gap:8px}.audio-usage-breakdown>div{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 12px;border:1px solid var(--logos-border);border-radius:12px;background:var(--logos-cream-50)}.audio-usage-breakdown span{color:var(--logos-text-muted)}

@media(max-width:1120px){.metric-cards{grid-template-columns:repeat(2,1fr)}.dash-grid,.billing-card{grid-template-columns:1fr}.billing-details{grid-template-columns:repeat(2,1fr)}.cost-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.dashboard-shell{grid-template-columns:1fr}.dash-sidebar{position:fixed;left:0;top:0;width:min(310px,88vw);transform:translateX(-100%);transition:transform .24s var(--ease);box-shadow:20px 0 60px rgba(0,0,0,.25)}.dash-sidebar.open{transform:none}.dash-mobile-menu{display:block}.dash-topbar{height:68px;padding:0 16px}.church-switcher select{max-width:160px}.dash-content{padding:25px 16px 60px}.dash-heading{align-items:start;flex-direction:column}.dash-heading h2{font-size:2.45rem}.dash-nav button{min-height:48px}.billing-card{grid-template-columns:1fr}.dash-table.team-table,.dash-table.session-table,.admin-church-table{display:none}.team-grid,.session-cards,.church-cards{display:grid;gap:12px}.mobile-row-card{padding:17px;border:1px solid var(--logos-border);border-radius:17px;background:white}.mobile-row-head{display:flex;justify-content:space-between;gap:12px;align-items:start;margin-bottom:12px}.mobile-row-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;font-size:.76rem}.mobile-row-meta span{display:block;color:var(--logos-text-muted)}.mobile-row-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}.details-list{grid-template-columns:1fr}.admin-drawer{padding:22px}.plan-choice-grid{grid-template-columns:1fr}}
@media(max-width:820px){.dashboard-banner{align-items:flex-start;flex-direction:column}.dashboard-banner span{margin:0}.dashboard-banner .btn{width:100%}}
@media(max-width:520px){.metric-cards{grid-template-columns:1fr}.metric-card{min-height:130px}.billing-details{grid-template-columns:1fr}.viewer-link-box{align-items:flex-start;flex-direction:column}.dash-actions{width:100%}.dash-actions .btn{flex:1}.dash-topbar-actions #openViewerTop{display:none}.dash-topbar-actions .btn{white-space:nowrap;padding-inline:13px}.dash-topbar h1{max-width:105px;font-size:.92rem;line-height:1.1}.dash-topbar.has-church-switcher h1{display:none}.dash-topbar.has-church-switcher .church-switcher select{max-width:126px}.dialog{padding:22px}.dialog-actions{flex-direction:column-reverse}.dialog-actions .btn{width:100%}.mobile-row-meta{grid-template-columns:1fr}.cost-grid{grid-template-columns:1fr}}
