/* operator-dashboard.css — Cameras Decoded responsive dashboard */
:root{--green:#8deb00;--green-dim:rgba(141,235,0,.08);--green-glow:rgba(141,235,0,.22);--dark:#08080a;--panel:rgba(12,12,14,.9);--panel-2:rgba(18,18,21,.92);--border:rgba(255,255,255,.08);--text:#fff;--muted:rgba(255,255,255,.6);--faint:rgba(255,255,255,.36);--gold:#e0b12d;--radius:16px;--sidebar:256px;--mono:'Space Mono',monospace;--sans:'Montserrat',sans-serif}
*{box-sizing:border-box}html{color-scheme:dark;scroll-behavior:smooth}body{margin:0;min-height:100vh;background:#050705;color:var(--text);font-family:var(--sans);overflow-x:hidden;background-image:radial-gradient(circle at 12% 14%,rgba(141,235,0,.11),transparent 34%),radial-gradient(circle at 82% 68%,rgba(141,235,0,.06),transparent 35%),linear-gradient(rgba(141,235,0,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(141,235,0,.025) 1px,transparent 1px);background-size:100% 100%,100% 100%,24px 24px,24px 24px}a{color:inherit;text-decoration:none}button,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--green);outline-offset:3px}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:8px;left:50%;z-index:10050;transform:translate(-50%,-140%);padding:10px 16px;border-radius:9px;background:var(--green);color:#08080a;font-weight:800}.skip-link:focus{transform:translate(-50%,0)}
@property --angle{syntax:'<angle>';initial-value:0deg;inherits:false}@keyframes spinBorder{to{--angle:360deg}}@keyframes fadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}
.chasing-border{position:relative;border:1px solid transparent!important;background-clip:padding-box;overflow:visible}.chasing-border:before{content:"";position:absolute;inset:-0.5px;border-radius:inherit;padding:0.5px;background:conic-gradient(from var(--angle),transparent 20%,var(--green) 40%,transparent 60%,var(--green) 80%,transparent 100%);-webkit-mask:linear-gradient(#000,#000) content-box,linear-gradient(#000,#000) border-box;-webkit-mask-composite:xor;mask:linear-gradient(#000,#000) content-box,linear-gradient(#000,#000) border-box;mask-composite:exclude;animation:spinBorder 6s linear infinite;pointer-events:none;z-index:0;opacity:.3}.chasing-border>*{position:relative;z-index:1}
.dashboard-sidebar{position:fixed;z-index:200;inset:0 auto 0 0;width:var(--sidebar);display:flex;flex-direction:column;padding:24px 16px;background:rgba(7,8,8,.96);border-right:1px solid var(--border);backdrop-filter:blur(20px)}.sidebar-brand{display:flex;align-items:center;gap:12px;padding:6px 8px 24px;font:700 13px/1.2 var(--mono);letter-spacing:.05em}.sidebar-brand strong{color:var(--green)}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(141,235,0,.26);border-radius:12px;background:var(--green-dim);color:var(--green);font-size:18px}.sidebar-nav{display:grid;gap:5px}.sidebar-nav a{display:flex;align-items:center;min-height:48px;padding:0 13px;gap:12px;border-radius:11px;color:var(--muted);font-size:13px;font-weight:600}.sidebar-nav a i{width:20px;color:var(--faint);text-align:center}.sidebar-nav a:is(:hover,.active){color:#fff;background:rgba(255,255,255,.05)}.sidebar-nav a.active{border:1px solid rgba(141,235,0,.14);background:var(--green-dim)}.sidebar-nav a.active i{color:var(--green)}.sidebar-user{display:grid;grid-template-columns:40px 1fr 40px;align-items:center;gap:9px;margin-top:auto;padding:14px 6px 0;border-top:1px solid var(--border)}.sidebar-avatar{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--green-dim);border:1px solid rgba(141,235,0,.22);color:var(--green);font:700 14px var(--mono)}.sidebar-user-copy{min-width:0}.sidebar-user-copy strong,.sidebar-user-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user-copy strong{font-size:12px}.sidebar-user-copy small{margin-top:3px;color:var(--faint);font-size:10px}.icon-button{display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:10px;background:transparent;color:var(--muted);cursor:pointer}.icon-button:hover{background:rgba(255,255,255,.06);color:#fff}
.main-content{width:calc(100% - var(--sidebar));min-height:100vh;margin-left:var(--sidebar);padding:104px max(40px,calc((100vw - var(--sidebar) - 1180px)/2)) 80px}.greeting-section{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding-bottom:20px;margin-bottom:22px;border-bottom:1px solid var(--border)}.eyebrow{margin:0 0 6px;color:var(--green);font:700 10px var(--mono);letter-spacing:.12em;text-transform:uppercase}.greeting-title{margin:0;font:700 clamp(20px,3vw,28px)/1.25 var(--mono)}.greeting-title span{color:var(--green)}.greeting-subtitle,.muted{margin:5px 0 0;color:var(--muted);font-size:13px}.tier-badge,.mini-badge{display:inline-flex;align-items:center;min-height:32px;padding:0 13px;border:1px solid rgba(141,235,0,.2);border-radius:999px;background:var(--green-dim);color:var(--green);font:700 11px var(--mono)}.loading-state{display:grid;justify-items:center;gap:12px;padding:72px 0;color:var(--muted)}.loading-spinner{width:28px;height:28px;border:2px solid rgba(141,235,0,.18);border-top-color:var(--green);border-radius:50%;animation:spin .8s linear infinite}.loading-state p{margin:0;font:12px var(--mono)}.loading-error{padding:18px;border:1px solid rgba(255,90,90,.3);border-radius:12px;background:rgba(255,90,90,.06)}
#dashboardContent:not([hidden]){display:block}.hero-card,.panel,.stat-card,.activity-section,.collection-pill,.ai-section,.challenge-card,.streak-card,.protocol-section,.referral-card,.quiz-card,.ambassador-card{background:var(--panel);border:1px solid var(--border);box-shadow:0 16px 44px rgba(0,0,0,.18);backdrop-filter:blur(14px);animation:fadeUp .45s ease both}.hero-card{padding:24px 26px;margin-bottom:18px;border-radius:20px;overflow:visible}.hero-inner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px}.hero-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:17px;background:var(--green-dim);color:var(--green);font-size:30px}.hero-body{min-width:0}.hero-title{margin:0;font:700 clamp(17px,2.4vw,22px) var(--mono)}.hero-title span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progress-row{display:flex;align-items:center;gap:10px;margin-top:12px}.progress-track{height:7px;flex:1;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.08)}.progress-track>span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#66b800,var(--green));transition:width .5s ease}.progress-value{min-width:34px;color:var(--green);font:700 11px var(--mono);text-align:right}.hero-meta{display:flex;gap:9px;margin:7px 0 0;color:var(--faint);font:11px var(--mono)}.hero-empty{text-align:center;color:var(--muted)}.hero-empty i{display:block;margin-bottom:7px;color:var(--green);font-size:28px}.hero-empty a,.text-link,.section-head>a{color:var(--green)}
.btn-primary,.btn-secondary,.btn-copy{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:10px;font-weight:800;font-size:12px;cursor:pointer}.btn-primary{border:1px solid var(--green);background:var(--green);color:#08080a}.btn-primary:hover{background:#a2ff18}.btn-secondary,.btn-copy{border:1px solid rgba(141,235,0,.34);background:var(--green-dim);color:var(--green)}.btn-secondary:hover,.btn-copy:hover{background:rgba(141,235,0,.14)}
.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}.stat-card{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;align-items:center;column-gap:12px;padding:15px 17px;border-radius:14px}.stat-icon{grid-row:1/3;font-size:22px}.stat-value{font:700 22px var(--mono)}.stat-label{color:var(--faint);font-size:10px;text-transform:uppercase;letter-spacing:.06em}
.dual-panel,.challenge-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px}.panel,.challenge-card,.streak-card{padding:18px;border-radius:14px}.panel-header,.section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:13px}.panel-header h2,.panel-header>span,.section-head h2,.quiz-card h2,.ambassador-card h2{margin:0;font:700 13px var(--mono);text-transform:uppercase;letter-spacing:.02em}.panel-header i,.section-head i,.quiz-card h2 i{margin-right:7px;color:var(--green)}.goal-numbers{display:flex;align-items:baseline;gap:6px;margin-bottom:10px}.goal-numbers strong{color:var(--green);font:700 27px var(--mono)}.goal-numbers span{font:700 16px var(--mono)}.goal-numbers small{color:var(--faint);font:10px var(--mono)}.journey-node{display:block;margin:4px 0;font-size:15px}.text-link{display:inline-block;margin-top:12px;font:700 11px var(--mono)}.activity-section,.protocol-section{padding:18px;margin-bottom:18px;border-radius:14px}.activity-list{display:grid;gap:7px}.activity-item{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:46px;padding:9px 12px;border:1px solid rgba(255,255,255,.05);border-radius:9px;background:rgba(255,255,255,.025);font-size:12px}.activity-item time{flex:none;color:var(--faint);font:10px var(--mono)}.empty-state{grid-column:1/-1;margin:0;padding:17px 3px;color:var(--faint);font-size:12px}.collections-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}.collection-pill{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;align-items:center;column-gap:12px;min-height:74px;padding:13px 16px;border-radius:14px}.collection-pill:hover{border-color:rgba(141,235,0,.22)}.collection-pill i{grid-row:1/3;color:var(--green);font-size:20px}.collection-pill strong{font:700 20px var(--mono)}.collection-pill span{color:var(--faint);font-size:10px;text-transform:uppercase}.ai-section,.referral-card,.quiz-card,.ambassador-card{padding:19px;margin-bottom:18px;border-radius:14px}.usage-row{display:flex;justify-content:space-between;margin-bottom:8px;color:var(--muted);font-size:11px}.ai-tools{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:14px}.ai-tools a{position:relative;display:grid;place-items:center;gap:6px;min-height:70px;padding:9px;border:1px solid rgba(255,255,255,.06);border-radius:10px;background-color:rgba(255,255,255,.025);background-size:cover;background-position:center;color:var(--muted);font-size:10px;text-align:center;overflow:hidden;isolation:isolate}.ai-tools a:hover{border-color:rgba(141,235,0,.24);color:#fff}.ai-tool-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.15) 0%,rgba(0,0,0,.82) 100%);z-index:0;pointer-events:none}.ai-tool-content{position:relative;z-index:1;display:grid;place-items:center;gap:6px}.ai-tools i{color:var(--green);font-size:17px}.ai-tools a.all{background:var(--green-dim);border-color:rgba(141,235,0,.18)}.ai-tools a.all:hover{background:rgba(141,235,0,.14)}.challenge-grid{grid-template-columns:1.5fr 1fr}.challenge-card h3{margin:7px 0 5px;font-size:16px}.challenge-card .btn-secondary{margin-top:13px}.streak-days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.log-day{display:grid;place-items:center;aspect-ratio:1;border:1px solid var(--border);border-radius:50%;color:var(--faint);font:10px var(--mono)}.log-day.complete{border-color:var(--green);background:var(--green-dim);color:var(--green)}.streak-card>p{margin:12px 0 0;color:var(--muted);font-size:12px}.protocol-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}.protocol-card{padding:14px;border:1px solid rgba(255,255,255,.06);border-radius:10px;background:rgba(255,255,255,.025)}.protocol-card h3{margin:0 0 6px;font-size:13px}.protocol-card p{margin:0;color:var(--muted);font-size:11px}.genre-tag{display:inline-block;margin-top:9px;color:var(--green);font:10px var(--mono)}
.referral-link-row{display:flex;gap:10px}.referral-link-row code{flex:1;min-width:0;padding:13px;border:1px solid var(--border);border-radius:9px;background:#08080a;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.referral-stats{display:flex;flex-wrap:wrap;gap:18px;margin-top:13px;color:var(--muted);font-size:11px}.referral-stats strong{color:#fff}.quiz-card{display:flex;align-items:center;gap:14px}.quiz-card>div{margin-right:auto}.quiz-card label{color:var(--faint);font-size:10px}.quiz-card select{min-height:44px;padding:0 12px;border:1px solid var(--border);border-radius:9px;background:#08080a;color:#fff}.quiz-score{margin:0;color:var(--faint);font-size:11px}.ambassador-card{position:relative;overflow:hidden}.ambassador-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 10% 20%,rgba(141,235,0,.09),transparent 55%);pointer-events:none}.ambassador-card>*{position:relative}.ambassador-card h2{color:var(--green)}.ambassador-card p{max-width:680px;color:var(--muted);font-size:13px;line-height:1.6}.dashboard-footer{padding:24px 0 16px;border-top:1px solid var(--border);color:var(--faint);font-size:10px;text-align:center}.dashboard-footer nav{display:flex;justify-content:center;flex-wrap:wrap;gap:16px}.dashboard-footer p{margin:13px 0 0}
.menu-backdrop,.dashboard-sheet{display:none}.header-notification-button{position:relative;display:grid!important;place-items:center;width:44px;height:44px;padding:0!important;border:1px solid var(--border)!important;border-radius:10px!important;background:rgba(255,255,255,.035)!important;color:#fff!important}.header-notification-dot{position:absolute;top:7px;right:7px;display:none;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--green);color:#08080a;font:700 9px/16px var(--mono);text-align:center}
@media(max-width:1024px){.dashboard-sidebar{display:none}.main-content{width:100%;margin-left:0;padding:124px 16px 120px}.menu-backdrop{position:fixed;z-index:10010;inset:0;display:block;background:rgba(0,0,0,.7);backdrop-filter:blur(3px)}.dashboard-sheet{position:fixed;z-index:10020;right:0;bottom:0;left:0;display:block;max-height:min(82vh,680px);padding:10px 16px calc(18px + env(safe-area-inset-bottom));border:1px solid rgba(141,235,0,.18);border-bottom:0;border-radius:22px 22px 0 0;background:rgba(10,10,12,.98);box-shadow:0 -24px 70px rgba(0,0,0,.62);overflow-y:auto;transform:translateY(0);animation:sheetUp .24s ease}.menu-backdrop[hidden],.dashboard-sheet[hidden]{display:none!important}@keyframes sheetUp{from{transform:translateY(100%)}to{transform:none}}.sheet-handle{width:44px;height:4px;margin:0 auto 16px;border-radius:999px;background:rgba(255,255,255,.16)}.sheet-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.sheet-header h2{margin:0;font:700 17px var(--mono)}.sheet-header h2 small{display:inline-flex;margin-left:6px;padding:3px 8px;border-radius:99px;background:var(--green-dim);color:var(--green);font:700 9px var(--mono)}.sheet-nav{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.sheet-nav a{display:flex;align-items:center;min-height:50px;padding:0 13px;gap:11px;border:1px solid var(--border);border-radius:11px;background:rgba(255,255,255,.025);font-size:12px;font-weight:600}.sheet-nav a i{width:18px;color:var(--green);text-align:center}.sheet-nav a.active{border-color:rgba(141,235,0,.25);background:var(--green-dim)}.sheet-logout{width:100%;min-height:48px;margin-top:12px;border:1px solid rgba(255,255,255,.1);border-radius:11px;background:transparent;color:var(--muted);font-weight:700}.sheet-logout i{margin-right:8px}}
@media(max-width:760px){.greeting-section{align-items:flex-start}.hero-inner{grid-template-columns:auto 1fr}.hero-inner .btn-primary{grid-column:1/-1;width:100%}.hero-title span{white-space:normal}.dual-panel,.challenge-grid{grid-template-columns:1fr}.ai-tools{grid-template-columns:repeat(3,1fr)}.quiz-card{align-items:stretch;flex-direction:column}.quiz-card>div{margin:0}.quiz-card .btn-primary{width:100%}.quiz-score{text-align:right}}
@media(max-width:560px){.main-content{padding:88px 12px 116px}.greeting-section{align-items:flex-start;flex-direction:column}.tier-badge{min-height:28px}.hero-card{padding:18px}.hero-icon{width:46px;height:46px;border-radius:13px;font-size:23px}.stats-grid{gap:7px}.stat-card{grid-template-columns:1fr;grid-template-rows:auto auto auto;justify-items:center;padding:12px 6px;text-align:center}.stat-icon{grid-row:auto}.stat-value{font-size:19px}.collections-strip{gap:7px}.collection-pill{grid-template-columns:1fr;grid-template-rows:auto auto auto;justify-items:center;padding:10px 6px;text-align:center}.collection-pill i{grid-row:auto}.collection-pill strong{font-size:18px}.ai-tools{grid-template-columns:repeat(2,1fr)}.referral-link-row{align-items:stretch;flex-direction:column}.referral-stats{align-items:flex-start;flex-direction:column;gap:5px}.sheet-nav{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.chasing-border:before{animation:none}}

/* Fix: loading spinner must actually hide when JS sets [hidden] (author display:grid otherwise overrides it) */
.loading-state[hidden]{display:none!important}
/* Fix: floating header (injected by master-loader) must clear the fixed sidebar rail instead of sliding under it */
@media(min-width:1025px){#master-floating-header.floating-header{left:calc(var(--sidebar) + 16px)!important}}
/* Visible toast for header actions (e.g. notifications bell) */
.dashboard-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:10060;max-width:min(92vw,420px);background:#0d0d0f;border:1px solid rgba(141,235,0,.4);color:#eaffea;padding:10px 16px;border-radius:10px;font:12px var(--mono);box-shadow:0 8px 30px rgba(0,0,0,.5);text-align:center}
.dashboard-toast[hidden]{display:none}