:root{--primary:#6842f4;--ink:#111732;--muted:#66708f;--line:#e7e3f5;--soft:#f4f1ff;--bg:#f7f6fc;--danger:#ff5c72;--ok:#14a37f}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;display:grid;grid-template-columns:260px 1fr}button,input,select{font:inherit}button{cursor:pointer}.sidebar{height:100vh;position:sticky;top:0;background:#fff;border-right:1px solid var(--line);padding:22px;display:flex;flex-direction:column;gap:24px}.brand{display:flex;gap:12px;align-items:center}.brand img{width:44px;height:44px;border-radius:14px;box-shadow:0 14px 28px rgba(104,66,244,.18)}.brand strong{display:block;font-size:19px}.brand span,.eyebrow,.helper{color:var(--muted);font-size:13px;font-weight:500}.side-nav{display:grid;gap:8px}.side-nav button,.settings-list button{border:0;border-radius:14px;background:transparent;color:var(--muted);font-weight:500;text-align:left;padding:13px 14px}.side-nav button.active,.side-nav button:hover{background:var(--soft);color:var(--primary)}.admin-note{margin-top:auto;border:1px solid var(--line);border-radius:18px;background:linear-gradient(135deg,#f4f0ff,#fff7ef);padding:14px}.admin-note p{margin:6px 0 0;color:var(--muted);font-size:13px;line-height:1.35}.workspace{padding:28px;overflow:auto}.topbar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:22px}.topbar h1{font-size:34px;margin:4px 0 0}.top-actions{display:flex;gap:10px;align-items:center}.top-actions select,.toolbar input,.toolbar select,.modal-card input,.modal-card select{border:1px solid var(--line);background:#fff;border-radius:14px;padding:12px 14px;color:var(--ink);font-weight:500}.primary,.secondary{border:0;border-radius:14px;padding:12px 16px;font-weight:500}.primary{background:var(--primary);color:#fff;box-shadow:0 14px 26px rgba(104,66,244,.18)}.primary.small{padding:10px 13px}.secondary{background:var(--soft);color:var(--primary)}.panel{display:none}.panel.active{display:block}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.metric-grid article,.card,.table-card{border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 12px 30px rgba(52,45,106,.06)}.metric-grid article{padding:18px}.metric-grid span{display:block;color:var(--muted);font-weight:500;font-size:13px}.metric-grid strong{display:block;font-size:34px;margin:8px 0 4px}.metric-grid small{color:var(--muted);font-weight:500}.two-col,.split-layout{display:grid;grid-template-columns:1fr 1fr;gap:16px}.card{padding:18px}.section-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.section-title h2{margin:0;font-size:20px}.section-title button{border:0;background:transparent;color:var(--primary);font-weight:500}.task-list{display:grid;gap:12px}.task-list label{display:flex;gap:10px;align-items:center;color:var(--muted);font-weight:500}.city-bars{display:grid;gap:12px}.city-bars p{display:grid;grid-template-columns:120px 1fr 90px;gap:12px;align-items:center;margin:0}.city-bars b{height:10px;border-radius:999px;background:linear-gradient(90deg,var(--primary),#a38bff);display:block}.city-bars em{font-style:normal;color:var(--muted);font-size:13px;font-weight:500}.toolbar{display:flex;gap:10px;margin-bottom:14px}.toolbar input{min-width:320px}table{width:100%;border-collapse:collapse}th,td{padding:14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}td{font-weight:500;color:#242b49}td button,.row-actions button{border:0;border-radius:999px;background:var(--soft);color:var(--primary);font-weight:500;padding:8px 10px}.status{display:inline-flex;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:500;background:var(--soft);color:var(--primary)}.status.active{background:#e9fbf4;color:var(--ok)}.status.danger{background:#fff0f3;color:var(--danger)}.status.reviewing{background:#fff6db;color:#9c6400}.status.muted{background:#f1f2f7;color:var(--muted)}.report-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.report-card{border:1px solid var(--line);border-radius:20px;background:#fff;padding:16px;display:grid;gap:12px;box-shadow:0 12px 30px rgba(52,45,106,.06)}.report-card h3{margin:0}.report-card p{margin:0;color:var(--muted);line-height:1.35}.row-actions{display:flex;gap:8px;flex-wrap:wrap}.row-actions .danger{background:#fff0f3;color:var(--danger)}.deal-admin-list{display:grid;gap:10px}.deal-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:16px;padding:12px}.deal-row h3{margin:0 0 4px;font-size:16px}.deal-row p{margin:0;color:var(--muted);font-size:13px}.student-deal-card{border:1px solid var(--line);border-radius:18px;background:#fff;padding:12px;max-width:270px;box-shadow:0 12px 28px rgba(52,45,106,.06)}.deal-image{height:92px;border-radius:15px;background:linear-gradient(135deg,#88b9f4,#f0da8d 65%,#ad8aec);margin-bottom:10px}.student-deal-card span{display:inline-block;border-radius:999px;background:var(--soft);color:var(--primary);padding:6px 9px;font-size:12px;font-weight:500}.student-deal-card h3{margin:8px 0 4px}.student-deal-card p,.student-deal-card small{color:var(--muted)}.preview-card{display:grid;justify-items:start;align-content:start;gap:10px}.modal{position:fixed;inset:0;background:rgba(17,23,50,.38);display:grid;place-items:center;padding:24px}.modal-card{width:min(720px,calc(100vw - 36px));border-radius:24px;background:#fff;padding:20px;box-shadow:0 28px 70px rgba(17,23,50,.22)}.modal-card header{display:flex;justify-content:space-between;align-items:center}.modal-card header button{border:0;border-radius:50%;width:38px;height:38px;background:var(--soft);font-size:24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.modal-card label{display:grid;gap:7px;color:var(--muted);font-size:13px;font-weight:500}.check{display:flex!important;align-items:center;gap:8px;margin-top:14px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.validation{color:var(--danger);font-weight:500}.toast{position:fixed;right:24px;bottom:24px;background:#111732;color:white;border-radius:16px;padding:14px 18px;font-weight:500;opacity:0;transform:translateY(10px);transition:.2s}.toast.show{opacity:1;transform:translateY(0)}[hidden]{display:none!important}@media(max-width:900px){body{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.workspace{padding:18px}.metric-grid,.two-col,.split-layout,.report-grid{grid-template-columns:1fr}.topbar{align-items:flex-start;flex-direction:column}.toolbar{flex-wrap:wrap}.toolbar input{min-width:0;width:100%}.form-grid{grid-template-columns:1fr}}

.report-detail-card{width:min(860px,calc(100vw - 36px));}.report-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:14px}.report-detail-grid h3{margin:4px 0 8px}.report-detail-grid p{color:var(--muted);line-height:1.4}.report-detail-grid dl{display:grid;gap:10px;margin:14px 0 0}.report-detail-grid dl div{display:grid;grid-template-columns:110px 1fr;gap:10px}.report-detail-grid dt{color:var(--muted);font-size:12px;font-weight:500;text-transform:uppercase}.report-detail-grid dd{margin:0;font-weight:500}.reported-content-preview article{border:1px solid var(--line);border-radius:18px;background:#fff;padding:12px;display:grid;gap:9px}.preview-photo{display:block;height:120px;border-radius:15px;background:linear-gradient(135deg,#d2a474,#efe0c7 60%,#aaa19b)}.reported-content-preview small{color:var(--muted);font-weight:500}.report-actions .danger{background:#fff0f3;color:var(--danger)}@media(max-width:900px){.report-detail-grid{grid-template-columns:1fr}}

.business-hero{display:grid;grid-template-columns:1.2fr .8fr;gap:16px;margin-bottom:16px}.business-login-card h2{margin:6px 0 8px;font-size:24px}.business-login-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}.business-login-grid label{display:grid;gap:7px;color:var(--muted);font-size:13px;font-weight:500}.business-login-grid input{border:1px solid var(--line);background:#fff;border-radius:14px;padding:12px 14px;color:var(--ink);font-weight:500}.rule-list{display:grid;gap:10px}.rule-list p{margin:0;border:1px solid var(--line);border-radius:16px;padding:12px;background:#fff}.rule-list strong{display:block}.rule-list span{display:block;color:var(--muted);font-size:13px;margin-top:4px;line-height:1.35}.business-dashboard{display:grid;gap:16px}.business-metrics{grid-template-columns:repeat(4,minmax(0,1fr));margin:14px 0 0}.plan-row{border:1px solid var(--line);border-radius:16px;padding:13px;margin-bottom:10px;display:grid;gap:5px}.plan-row span{color:var(--primary);font-weight:500}.plan-row small,.deal-row small{color:var(--muted);font-weight:500}.business-mode .sidebar .admin-note strong::after{content:' · Business preview';color:var(--primary)}@media(max-width:900px){.business-hero,.business-login-grid,.business-metrics{grid-template-columns:1fr}}

.business-dashboard{display:none}.business-mode [data-business-dashboard]{display:grid}.business-mode .business-login-card{border-color:rgba(104,66,244,.35)}

/* City tools use a fixed action column so every control lines up cleanly. */
.city-tool-list{list-style:none;margin:16px 0;padding:0;display:grid;gap:8px}.city-tool-list li{display:grid;grid-template-columns:minmax(0,1fr) 92px;align-items:center;gap:14px;padding:10px 0;border-bottom:1px solid var(--line);color:var(--ink);font-weight:500;line-height:1.35}.city-tool-list li:last-child{border-bottom:0}.city-tool-list li>div{min-width:0}.city-tool-list strong,.city-tool-list small{display:block}.city-tool-list strong{overflow-wrap:anywhere}.city-tool-list small{margin-top:3px;color:var(--muted);font-size:12px;font-weight:500}.city-tool-list li button{justify-self:stretch;white-space:nowrap}.city-tool-list .muted-item{display:block;color:var(--muted);font-weight:500}

.portal-switch{display:grid;grid-template-columns:1fr;gap:8px;border:1px solid var(--line);border-radius:18px;background:#fbfaff;padding:8px}.portal-switch button{border:0;border-radius:13px;background:transparent;color:var(--muted);font-weight:500;text-align:left;padding:11px 12px}.portal-switch button.active{background:var(--primary);color:#fff;box-shadow:0 12px 22px rgba(104,66,244,.18)}
body.business-portal [data-admin-nav],body.business-portal .top-actions{display:none!important}body:not(.business-portal) [data-business-nav]{display:none!important}body.business-portal .business-hero{grid-template-columns:1fr;margin-bottom:16px}body.business-portal .business-login-grid,body.business-portal [data-business-login]{display:none!important}body.business-portal [data-business-dashboard]{display:grid!important}body.business-portal .business-login-card{border-color:rgba(104,66,244,.22);background:linear-gradient(135deg,#fff,#f7f3ff)}body.business-portal .business-login-card .row-actions{justify-content:flex-start}body.business-portal .business-login-card [data-business-logout]{display:inline-flex!important}body:not(.business-portal) [data-business-dashboard]{display:none!important}

.upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.upload-box{border:1px dashed #d8cff7;border-radius:16px;background:#fbf9ff;padding:14px;color:var(--ink)!important}.upload-box input{margin:8px 0 6px;padding:0!important;border:0!important;background:transparent!important}.upload-box span{color:var(--muted);font-size:12px;line-height:1.35}@media(max-width:900px){.upload-grid{grid-template-columns:1fr}}
.form-span-full{grid-column:1 / -1}.placement-options{border:1px solid var(--line);border-radius:16px;margin:14px 0 0;padding:12px 14px}.placement-options legend{padding:0 4px;color:var(--ink);font-size:13px;font-weight:500}.placement-options p{margin:0 0 10px;color:var(--muted);font-size:12px;font-weight:500}.placement-options div{display:flex;flex-wrap:wrap;gap:8px}.placement-options label{display:flex!important;align-items:center;gap:7px;border:1px solid var(--line);border-radius:999px;background:#fff;padding:8px 10px;color:var(--ink)!important;font-size:13px!important}.placement-options input{width:auto!important;padding:0!important;accent-color:var(--primary)}
body:not(.admin-authorized) > .sidebar,body:not(.admin-authorized) > .workspace{display:none}
.modal{overflow-y:auto}.modal-card{max-height:calc(100vh - 48px);overflow-y:auto}
.modal-card .modal-actions{position:sticky;bottom:-20px;background:#fff;padding:14px 0 0}
.reporter-note{margin-top:16px;border:1px solid var(--line);border-radius:16px;background:#f8f5ff;padding:12px}.reporter-note p{margin:0}.reporter-note p:last-child{margin-top:6px;color:var(--ink);font-weight:500}.report-note-preview{border:1px solid var(--line);border-radius:12px;background:#f8f5ff;padding:9px!important;color:var(--ink)!important}.report-note-preview strong{color:var(--primary)}
.admin-auth{grid-column:1/-1;min-height:100vh;display:grid;place-items:center;padding:24px;background:#f5f3ff}
.admin-auth[hidden]{display:none}
.auth-card{width:min(420px,100%);padding:32px;background:#fff;border:1px solid #e2dcff;border-radius:16px;box-shadow:0 16px 40px rgba(54,39,122,.12)}
.auth-card>img{width:44px;height:44px;object-fit:contain;background:#6741f6;border-radius:12px;padding:8px}
.auth-card h1{margin:8px 0 10px}.auth-card form{display:grid;gap:14px;margin-top:20px}.auth-card label{display:grid;gap:6px;font-weight:500}.auth-card input{padding:12px;border:1px solid #ddd8f7;border-radius:10px;font:inherit}.auth-card .primary{width:100%}.validation{color:#d9465f;min-height:1.3em}

.deal-modal-preview{margin-top:14px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(135deg,#faf8ff,#fff);padding:14px;display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:16px;align-items:start}.deal-modal-preview h3{margin:4px 0 6px}.deal-modal-preview .student-deal-card{max-width:none}.modal-preview-card .deal-image{background-size:cover;background-position:center}.deal-modal-preview [data-modal-preview-placement]{display:inline-flex;border-radius:999px;background:var(--soft);color:var(--primary);padding:6px 9px;font-size:12px;font-weight:500}@media(max-width:760px){.deal-modal-preview{grid-template-columns:1fr}.deal-modal-preview .student-deal-card{max-width:280px}}

/* Match sponsored deal preview to the student app 1:1 card image. */
.modal-preview-card .deal-image{aspect-ratio:1 / 1;height:auto;width:100%}

/* Launch analytics: compact Kablo admin cards, privacy-safe aggregate views. */
.analytics-toolbar{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:10px;margin-bottom:14px}.analytics-toolbar label{display:grid;gap:6px;color:var(--muted);font-size:12px;font-weight:500}.analytics-toolbar select{border:1px solid var(--line);background:#fff;border-radius:14px;padding:11px 12px;color:var(--ink);font-weight:500}.analytics-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:14px}.analytics-card{min-width:0}.analytics-bars{height:240px;display:flex;gap:8px;align-items:end;border-bottom:1px solid var(--line);padding:28px 0 22px}.analytics-bar{flex:1;min-width:18px;border-radius:10px 10px 0 0;background:linear-gradient(180deg,var(--primary),#a38bff);position:relative}.analytics-bar:nth-child(2n){background:linear-gradient(180deg,#8b6cff,#c5b6ff)}.analytics-bar em{position:absolute;top:-22px;left:50%;transform:translateX(-50%);font-style:normal;color:var(--muted);font-size:11px;font-weight:500}.analytics-bar span{position:absolute;bottom:-20px;left:50%;transform:translateX(-50%);color:var(--muted);font-size:10px;font-weight:500;white-space:nowrap}.analytics-list{display:grid;gap:9px}.analytics-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:15px;padding:11px;background:#fff}.analytics-row strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.analytics-row small{display:block;margin-top:3px;color:var(--muted);font-size:12px;font-weight:500}.analytics-row b{color:var(--primary);font-size:18px}.analytics-funnel{display:grid;gap:12px}.analytics-step{display:grid;grid-template-columns:112px 1fr 42px;gap:10px;align-items:center;color:var(--muted);font-size:12px;font-weight:500}.analytics-step div{height:10px;border-radius:999px;background:var(--soft);overflow:hidden}.analytics-step i{display:block;height:100%;border-radius:999px;background:var(--primary)}.analytics-step b{color:var(--ink);text-align:right}@media(max-width:1000px){.analytics-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-grid{grid-template-columns:1fr}}@media(max-width:620px){.analytics-toolbar{grid-template-columns:1fr}.analytics-bars{gap:5px}.analytics-step{grid-template-columns:92px 1fr 34px}}

.deal-filter-toolbar{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));align-items:center}.deal-filter-toolbar select{min-width:0}@media(max-width:900px){.deal-filter-toolbar{grid-template-columns:1fr 1fr}}@media(max-width:560px){.deal-filter-toolbar{grid-template-columns:1fr}}


/* Sponsored deal redemption types */
.modal-card textarea{border:1px solid var(--line);background:#fff;border-radius:14px;padding:12px 14px;color:var(--ink);font-weight:500;min-height:88px;resize:vertical;font:inherit;line-height:1.3}
.redemption-options{border:1px solid var(--line);border-radius:18px;margin:14px 0 0;padding:13px 14px;background:linear-gradient(135deg,#fbf9ff,#fff)}
.redemption-options legend{padding:0 4px;color:var(--ink);font-size:14px;font-weight:500}
.redemption-options>p{margin:0 0 12px;color:var(--muted);font-size:12px;font-weight:500}
.redemption-type-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.redemption-type-card{border:1px solid var(--line);border-radius:16px;background:#fff;padding:12px!important;color:var(--ink)!important;display:grid!important;grid-template-columns:18px 1fr;gap:6px 8px;align-items:start;cursor:pointer}
.redemption-type-card input{grid-row:1 / 3;width:16px!important;height:16px!important;padding:0!important;margin:1px 0 0;accent-color:var(--primary)}
.redemption-type-card strong{font-size:13px;line-height:1.15}
.redemption-type-card span{font-size:12px;line-height:1.25;color:var(--muted);font-weight:500}
.redemption-type-card:has(input:checked){border-color:rgba(104,66,244,.45);background:var(--soft);box-shadow:0 10px 24px rgba(104,66,244,.10)}
.redemption-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.redemption-limit-box{border:1px solid var(--line);border-radius:16px;background:#fff;padding:12px;display:grid;gap:10px;align-content:start}
.redemption-limit-box .check{margin-top:0!important;color:var(--ink);font-size:13px}
.redemption-limit-box input[type="number"]{width:100%}
.redemption-slide-preview{margin-top:12px;height:44px;border-radius:999px;background:var(--primary);color:#fff;display:grid;grid-template-columns:38px 1fr;align-items:center;padding:3px;font-size:13px;font-weight:500;text-align:center;box-shadow:0 10px 22px rgba(104,66,244,.22)}
.redemption-slide-preview i{width:38px;height:38px;border-radius:999px;background:#fff;color:var(--primary);display:grid;place-items:center;font-style:normal;font-size:18px}
@media(max-width:760px){.redemption-type-grid,.redemption-detail-grid{grid-template-columns:1fr}}

/* Sponsored deal redemption copy fields stack for easier editing */
.redemption-detail-grid{grid-template-columns:1fr!important}
.redemption-detail-grid textarea{min-height:112px!important}
.redemption-limit-box{max-width:360px}


/* Sponsored deals overview cleanup */
.sponsored-deals-card{max-width:none!important;}
.deal-row-with-image{
  grid-template-columns:64px minmax(0,1fr) auto!important;
}
.deal-admin-thumb{
  width:56px;
  height:56px;
  border-radius:14px;
  border:1px solid var(--line);
  background:linear-gradient(135deg,#88b9f4,#f0da8d 65%,#ad8aec);
  background-size:cover;
  background-position:center;
  display:block;
  flex:0 0 auto;
}
@media(max-width:900px){.deal-row-with-image{grid-template-columns:56px 1fr!important}.deal-row-with-image .row-actions{grid-column:1 / -1}}


/* Reports analytics and CSV export */
.analytics-export{align-self:end;white-space:nowrap}.analytics-report-metrics{margin-top:2px}.analytics-report-metrics article strong{color:var(--ink)}@media(max-width:1000px){.analytics-export{grid-column:1 / -1;justify-self:start}}


/* Enhanced analytics mockup-to-product UI */
.analytics-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.analytics-tabs button{border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted);font-weight:500;padding:10px 14px}.analytics-tabs button.active{background:var(--primary);border-color:var(--primary);color:#fff}.analytics-view{display:none}.analytics-view.active{display:block}.analytics-grid-wide{grid-template-columns:minmax(0,1.15fr) minmax(310px,.85fr)}.active-time-summary{display:grid;gap:2px;margin-bottom:12px}.active-time-summary strong{font-size:22px}.active-time-summary span{color:var(--muted);font-size:12px;font-weight:500}.activity-heatmap{display:grid;gap:7px}.heatmap-head,.heatmap-row{display:grid;grid-template-columns:42px repeat(6,1fr);gap:6px;align-items:center}.heatmap-head b{font-size:11px;color:var(--muted);text-align:center}.heatmap-row span{font-size:12px;color:var(--muted);font-weight:500}.heatmap-row i{height:22px;border-radius:7px;background:#f0ecff}.heatmap-row .heat-1{background:#ded4ff}.heatmap-row .heat-2{background:#bca6ff}.heatmap-row .heat-3{background:#8e68ff}.heatmap-row .heat-4{background:#6842f4}.empty-inline{margin:0;color:var(--muted);font-weight:500;line-height:1.35}.analytics-toolbar{grid-template-columns:repeat(4,minmax(130px,1fr))}.analytics-export{grid-column:auto}@media(max-width:1100px){.analytics-grid-wide,.analytics-grid{grid-template-columns:1fr}.analytics-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-export{grid-column:1 / -1;justify-self:start}}@media(max-width:640px){.analytics-tabs,.analytics-toolbar{grid-template-columns:1fr}.analytics-toolbar{display:grid}.heatmap-head,.heatmap-row{grid-template-columns:34px repeat(6,1fr);gap:4px}.heatmap-row i{height:18px}}

/* Separate app-open active time chart */
.app-active-time-card{border-color:#ded6ff;background:linear-gradient(180deg,#fff,#fbf9ff)}
.preview-photo.has-image{background-size:cover;background-position:center;background-repeat:no-repeat}
.reported-content-preview .preview-photo{aspect-ratio:1/1;height:auto;width:100%;max-height:320px;background-size:cover;background-position:center;background-repeat:no-repeat}
.feedback-note{display:block;max-width:520px;font-size:14px;line-height:1.35;font-weight:500;color:var(--ink)}
.feedback-user-name{font-weight:500;color:var(--ink)}
.document-link{border:0;display:inline-flex;align-items:center;max-width:260px;border-radius:999px;background:var(--soft);color:var(--primary);font-weight:500;padding:8px 10px;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.document-link:hover{box-shadow:0 8px 18px rgba(104,66,244,.14)}
.notice-sent{display:block;margin-top:6px;color:var(--ok)}
.user-id-chip{display:block;margin-top:5px;font-size:11px;line-height:1.2;color:var(--muted);font-weight:500}
.user-table-card{overflow-x:auto}.user-table-card table{min-width:1250px}.user-table-card .row-actions{min-width:112px}.user-table-card .row-actions button{white-space:nowrap}.user-last-login{display:block;white-space:nowrap}.user-last-login small{display:block;margin-top:4px}
.content-owner-id-chip{display:block;margin:0 0 6px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;font-size:11px;line-height:1.2;color:var(--muted);font-weight:500}

/* Content moderation detail layout */
.content-detail-card{max-width:940px}
.content-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:22px;align-items:start}
.content-detail-info h3{font-size:24px;margin:6px 0}
.content-detail-copy{color:var(--muted);font-weight:500;line-height:1.45}
.content-detail-meta{display:grid;gap:10px;margin-top:18px}
.content-detail-meta div{display:grid;grid-template-columns:88px 1fr;gap:14px;align-items:center}
.content-detail-meta dt{color:var(--muted);font-size:12px;font-weight:500;text-transform:uppercase}
.content-detail-meta dd{margin:0;font-weight:500}
.content-detail-extra{border-top:1px solid var(--line);padding-top:14px}
.content-owner-card{border:1px solid var(--line);border-radius:16px;background:var(--soft);padding:12px 14px;margin:16px 0 0;display:grid;gap:3px}
.content-owner-card .eyebrow{margin:0 0 2px}
.content-owner-card strong{font-size:16px;color:var(--ink)}
.content-owner-card span,.content-owner-card small{color:var(--muted);font-weight:500;line-height:1.3;overflow-wrap:anywhere}
.content-owner-card [data-content-detail-owner-id]{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;font-size:11px;word-break:break-all}
.content-preview-card{border:1px solid var(--border);border-radius:18px;padding:12px;background:#fff}
.content-preview-photo{display:block;width:100%;aspect-ratio:1/1;border-radius:16px;background:linear-gradient(135deg,#ddb27c,#f8edd4,#aaa19a);background-size:cover;background-position:center;background-repeat:no-repeat}
.content-preview-photo:not(.has-image)::after{content:"No image";display:grid;place-items:center;height:100%;color:var(--muted);font-weight:500}
.content-preview-card h4{margin:8px 0 4px;font-size:18px}
.content-preview-card p:not(.eyebrow){margin:0;color:var(--muted);font-weight:500;line-height:1.35}
.analytics-health{display:flex;align-items:center;gap:16px;padding:14px 18px;border:1px solid var(--line);border-radius:16px;background:#fff9e9;margin-bottom:12px}.analytics-health p{margin:0;font-size:13px;line-height:1.5;flex:1}.analytics-health button{white-space:nowrap}.analytics-explainer{line-height:1.5}.analytics-toolbar select{width:100%;min-width:0}.analytics-toolbar select:disabled{opacity:.55}.analytics-metrics .analytics-peak-value{font-size:22px;line-height:1.35}.analytics-bars{overflow-x:auto;overflow-y:hidden;align-items:flex-end;justify-content:flex-start}.analytics-bars .analytics-bar{flex:1 0 27px;min-width:27px}.analytics-bars .analytics-bar span{font-size:9px}.heatmap-head,.heatmap-row{grid-template-columns:34px repeat(8,minmax(30px,1fr));gap:5px}.activity-heatmap{overflow-x:auto}.heatmap-head,.heatmap-row{min-width:355px}.heatmap-row i:focus{outline:2px solid var(--primary);outline-offset:2px}.analytics-funnel .analytics-row strong{white-space:normal}.analytics-health+ .analytics-explainer{font-weight:650}@media(max-width:700px){.analytics-health{align-items:flex-start;flex-direction:column}.analytics-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
.content-toolbar{flex-wrap:wrap}.content-toolbar select:disabled{opacity:.55;cursor:not-allowed}.content-timing-note{line-height:1.5;max-width:1100px}.content-table-card{overflow-x:auto}.content-table-card table{min-width:1080px}.content-table-card .row-actions{min-width:125px}.content-table-card .row-actions button{white-space:nowrap}.content-event-cell{min-width:165px}.content-event-cell small{display:block;margin-top:5px;line-height:1.4;font-size:12px}
@media(max-width:760px){.content-detail-grid{grid-template-columns:1fr}.content-preview-card{max-width:320px}}
[data-erasure-jobs] article{line-height:1.45}
[data-erasure-jobs] textarea,[data-erasure-jobs] input{box-sizing:border-box;display:block;width:100%;min-width:0;border:1px solid var(--line);border-radius:14px;padding:12px;color:var(--ink);background:#fff;font:inherit;line-height:1.45;margin:12px 0}
[data-erasure-jobs] textarea{min-height:260px;resize:vertical}
[data-erasure-jobs] input{min-height:48px}
.camp-erasure-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0}.camp-erasure-summary .card{display:grid;gap:6px;padding:18px}.camp-erasure-summary strong{font-size:28px;color:var(--primary)}.camp-erasure-summary span{font-size:13px;color:var(--muted);font-weight:500}
.camp-erasure-toolbar{display:flex;gap:16px;flex-wrap:wrap}.camp-erasure-toolbar label{display:grid;gap:6px;flex:1;min-width:200px;font-weight:500}.camp-erasure-toolbar input,.camp-erasure-toolbar select,.camp-erasure-field input,.camp-erasure-field textarea{box-sizing:border-box;width:100%;border:1px solid var(--line);border-radius:14px;padding:12px;background:#fff;color:var(--ink);font:inherit;min-height:48px}.camp-erasure-field{display:grid;gap:8px;margin:16px 0}.camp-erasure-field textarea{min-height:128px;resize:vertical}.camp-erasure-field textarea[readonly]{min-height:280px}
.camp-erasure-layout{display:grid;grid-template-columns:minmax(250px,1fr) minmax(0,1.8fr);gap:20px;align-items:start}.camp-erasure-request{display:grid;gap:10px;text-align:left;width:100%;margin-bottom:12px;font:inherit;color:var(--ink);overflow-wrap:anywhere;min-width:0}.camp-erasure-request.selected{outline:2px solid var(--primary);outline-offset:-2px;background:var(--soft)}.camp-erasure-request strong{font-size:18px}.camp-erasure-request small{color:var(--muted);font-size:11px}.camp-erasure-badge{justify-self:start;background:var(--soft);color:var(--primary);border-radius:10px;padding:4px 8px;font-size:12px;font-weight:500}.camp-erasure-detail{min-width:0;line-height:1.5;overflow-wrap:anywhere}.camp-erasure-detail h3{margin-top:0;font-size:24px}.camp-erasure-detail h4{margin-bottom:10px}.camp-erasure-facts{display:grid;gap:10px}.camp-erasure-facts div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px}.camp-erasure-facts dt{color:var(--muted)}.camp-erasure-facts dd{margin:0}.camp-erasure-counts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.camp-erasure-counts span{background:var(--soft);border-radius:10px;padding:8px 10px}.camp-erasure-counts strong{color:var(--primary)}.camp-erasure-detail details{padding:10px 0;border-bottom:1px solid var(--line)}.camp-erasure-detail summary{cursor:pointer;font-weight:500}.camp-erasure-detail details small{display:block;color:var(--muted);font-size:11px}.camp-erasure-notice{padding:16px;background:var(--soft);border-radius:16px;margin:16px 0}.camp-erasure-check{display:flex;align-items:flex-start;gap:12px;margin:16px 0}.camp-erasure-check input{width:20px;height:20px;flex:0 0 20px;margin-top:3px}.camp-erasure-buttons{display:flex;gap:12px;flex-wrap:wrap}.camp-erasure-buttons button{flex:1}.camp-erasure-detail button:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:900px){.camp-erasure-layout{grid-template-columns:1fr}.camp-erasure-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:400px){.camp-erasure-buttons{flex-direction:column}.camp-erasure-facts div{grid-template-columns:1fr;gap:2px}}

/* Live member context, shown only within authorized deletion review. */
.camp-erasure-member{border:1px solid var(--line);border-radius:16px;padding:16px;margin:16px 0;background:var(--card,#fff)}
.camp-erasure-identity{display:flex;align-items:center;gap:12px;min-width:0}
.camp-erasure-identity h4,.camp-erasure-identity p{margin:0}
.camp-erasure-identity>div{min-width:0}
.camp-erasure-avatar{display:grid;place-items:center;flex:0 0 48px;height:48px;border-radius:16px;background:var(--soft);color:var(--primary);font-weight:500}
.camp-erasure-member summary{min-height:44px;padding:8px 0;box-sizing:border-box}
.camp-erasure-member summary:focus-visible{outline:2px solid var(--primary);outline-offset:3px}
.camp-erasure-cases{list-style:none;padding:0;display:grid;gap:12px}
.camp-erasure-cases li{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.camp-erasure-cases li>span{min-width:0;flex:1 1 180px}
.camp-erasure-cases button{min-height:44px;white-space:normal}
.camp-erasure-member .camp-erasure-facts div{grid-template-columns:minmax(120px,1fr) minmax(0,1.6fr)}
@media(max-width:400px){.camp-erasure-member .camp-erasure-facts div{grid-template-columns:1fr}}
