/* Loveo operations studio — scoped to admin and legal surfaces. */
:where(.admin-studio, .legal-page) { --studio-ink:#050505; --studio-muted:#6f6f73; --studio-line:#e5e5e7; --studio-soft:#f7f7f8; --studio-green:#15803d; --studio-red:#b42318; --studio-radius:14px; }
.admin-studio { background:#fff!important; color:var(--studio-ink)!important; background-image:none!important; font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important; }
.admin-studio::before { display:none!important; }
.admin-studio .admin-shell { position:relative; z-index:1; max-width:1180px; margin:0 auto; padding:34px 28px 72px; }
.admin-studio .admin-header { align-items:flex-end; border-bottom:1px solid var(--studio-ink); display:flex; justify-content:space-between; gap:24px; margin-bottom:28px; padding:0 0 25px; }
.admin-studio .admin-brand,.legal-brand { color:var(--studio-ink); font-size:29px; font-weight:760; letter-spacing:-.08em; line-height:1; text-decoration:none; }
.admin-studio .admin-brand i,.legal-brand span { color:#888; font-style:normal; }
.admin-studio .brand-tagline { color:var(--studio-muted); font-size:10px; font-weight:700; letter-spacing:.18em; margin:12px 0 4px; }
.admin-studio .admin-header h1 { color:var(--studio-ink); font-size:clamp(26px,4vw,38px); letter-spacing:-.055em; line-height:1.08; }
.admin-studio .admin-header-note { color:var(--studio-muted); font-size:13px; margin-top:8px; }
.admin-studio .dash-logout { border:1px solid var(--studio-line); border-radius:999px; color:var(--studio-ink); font-size:13px; padding:10px 14px; text-decoration:none; transition:.2s ease; }
.admin-studio .dash-logout:hover { background:var(--studio-ink); color:#fff; }
.admin-studio .dash-logout span { color:#888; margin-right:5px; }
.admin-studio .card { background:#fff; border:1px solid var(--studio-line); border-radius:var(--studio-radius); box-shadow:0 10px 35px rgba(0,0,0,.04); color:var(--studio-ink); margin-bottom:18px; padding:26px; }
.admin-studio .admin-login-card { max-width:640px; margin:6vh auto 0; }
.admin-studio h2,.admin-studio .quota-title { color:var(--studio-ink); letter-spacing:-.035em; }
.admin-studio .card-subtitle,.admin-studio .admin-section-hint { color:var(--studio-muted); }
.admin-studio .eyebrow { color:#96969a; font-size:10px; font-weight:750; letter-spacing:.16em; margin:0 0 7px; text-transform:uppercase; }
.admin-studio .admin-tab-nav { background:#fff; border-bottom:1px solid var(--studio-line); display:flex; gap:5px; margin-bottom:18px; overflow-x:auto; padding:0 0 0 2px; }
.admin-studio .admin-tab-button { background:transparent; border:0; border-bottom:2px solid transparent; color:#858589; font-size:13px; min-height:48px; padding:0 16px; white-space:nowrap; }
.admin-studio .admin-tab-button span { color:#b0b0b3; font-size:10px; margin-right:7px; }
.admin-studio .admin-tab-button.active { border-bottom-color:var(--studio-ink); color:var(--studio-ink); font-weight:700; }
.admin-studio .admin-metrics { gap:10px; }
.admin-studio .admin-metrics div,.admin-studio .admin-process-health div { background:var(--studio-soft); border:1px solid var(--studio-line); border-radius:10px; }
.admin-studio .admin-metrics strong { color:var(--studio-ink); font-size:30px; letter-spacing:-.06em; }
.admin-studio .admin-metrics span,.admin-studio .admin-process-health span { color:var(--studio-muted); font-size:11px; }
.admin-studio input,.admin-studio select { background:#fff!important; border:1px solid #d9d9dc!important; border-radius:9px!important; color:var(--studio-ink)!important; min-height:42px; }
.admin-studio input:focus,.admin-studio select:focus { border-color:var(--studio-ink)!important; box-shadow:0 0 0 3px rgba(0,0,0,.08)!important; outline:0; }
.admin-studio .btn-submit,.admin-studio .dash-create-btn { background:var(--studio-ink)!important; border:1px solid var(--studio-ink)!important; border-radius:9px!important; color:#fff!important; min-height:42px; padding:0 17px; }
.admin-studio .btn-submit:hover,.admin-studio .dash-create-btn:hover { background:#303033!important; }
.admin-studio .btn-back,.admin-studio .table-action { background:#fff!important; border:1px solid var(--studio-line)!important; border-radius:9px!important; color:var(--studio-ink)!important; }
.admin-studio .admin-table-wrap { border:1px solid var(--studio-line); border-radius:10px; overflow-x:auto; }
.admin-studio .admin-table { min-width:860px; }
.admin-studio .admin-table th { background:var(--studio-soft); color:#77777b; font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
.admin-studio .admin-table th,.admin-studio .admin-table td { border-bottom:1px solid var(--studio-line); color:var(--studio-ink); padding:13px 12px; }
.admin-studio .admin-table tr:last-child td { border-bottom:0; }
.admin-studio .admin-user-card,.admin-studio .admin-process-card,.admin-studio .admin-empty-card { background:#fff; border:1px solid var(--studio-line); border-radius:11px; color:var(--studio-ink); }
.admin-studio .admin-tier-pill,.admin-studio .admin-process-pill { background:var(--studio-soft); border:1px solid var(--studio-line); color:#555; }
.admin-studio .slot-dot { border-color:var(--studio-line); color:#777; }
.admin-studio .slot-dot.active { background:var(--studio-green); border-color:var(--studio-green); color:#fff; }
.admin-studio .slot-dot.error { background:var(--studio-red); border-color:var(--studio-red); color:#fff; }
.admin-studio .slot-dot.pending,.admin-studio .slot-dot.warning { background:#f0b429; border-color:#f0b429; color:#fff; }
.admin-studio .error-msg { background:#fff5f4; border:1px solid #f2c4bf; border-radius:8px; color:var(--studio-red); padding:10px 12px; }
.legal-page { background:#fff!important; color:var(--studio-ink)!important; font-family:Inter,-apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif!important; margin:0; padding:32px 20px; }
.legal-page>main { max-width:760px; }
.legal-shell { padding-top:20px; margin:0 auto; }
.legal-shell .eyebrow { color:#96969a; font-size:10px; font-weight:750; letter-spacing:.16em; margin:56px 0 10px; text-transform:uppercase; }
.legal-shell h1 { color:var(--studio-ink); font-size:clamp(30px,7vw,46px); letter-spacing:-.06em; margin:0 0 32px; }
.legal-shell h2 { border-top:1px solid var(--studio-line); color:var(--studio-ink); font-size:18px; letter-spacing:-.025em; margin-top:34px; padding-top:20px; }
.legal-shell p,.legal-shell li { color:#5d5d62; font-size:15px; line-height:1.85; }
.legal-shell ul { padding-left:21px; }
@media (max-width:700px) { .admin-studio .admin-shell { padding:22px 14px 44px; } .admin-studio .admin-header { align-items:flex-start; flex-direction:column; padding-bottom:20px; } .admin-studio .dash-logout { align-self:flex-start; } .admin-studio .card { padding:18px 15px; } .admin-studio .field-row,.admin-studio .admin-controls { align-items:stretch; flex-direction:column; } .admin-studio .admin-controls>* { width:100%; } .admin-studio .admin-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); } .admin-studio .admin-section-title { align-items:stretch; flex-direction:column; gap:15px; } .admin-studio .admin-section-title .admin-controls { flex-direction:row; } .admin-studio .admin-section-title .admin-controls input { min-width:0; } .legal-page { padding:22px 18px!important; } .legal-shell .eyebrow { margin-top:52px; } }
@media (prefers-reduced-motion:no-preference) { .admin-studio .card { animation:studio-enter .45s cubic-bezier(.16,1,.3,1) both; } @keyframes studio-enter { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } } }
.admin-studio .admin-shell {box-shadow:none;border:0;background:transparent}
.admin-studio .admin-header {box-shadow:none;background:transparent;border:0;border-bottom:1px solid #e5e5e5;border-radius:0}
.admin-studio .admin-header h1 {font-weight:500;letter-spacing:-1px;margin-top:12px}
.admin-studio .card {box-shadow:none}
.admin-studio .card::before,.admin-studio .card::after {display:none}
.admin-studio .admin-tab-nav {box-shadow:none;border-radius:0;border:0;border-bottom:1px solid #e5e5e5;padding:0;gap:18px}
.admin-studio .admin-tab-button {border-radius:0;padding:0 10px}
.admin-studio .quota-badge {font-size:11px;font-weight:500;letter-spacing:0;padding:5px 10px}
.admin-studio .btn-submit {box-shadow:none!important}
.admin-studio .admin-status-card .card-actions {justify-content:flex-start}
.admin-studio .admin-status-card .card-actions .btn-submit {flex:0 1 auto;min-width:160px}
.admin-studio .admin-metrics div {background:#fafafa}
.admin-studio .admin-investor-overview { padding:32px; }
.admin-studio .admin-overview-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:24px; }
.admin-studio .admin-overview-heading h2 { font-size:30px; font-weight:700; margin:0 0 8px; }
.admin-studio .admin-overview-heading .card-subtitle { line-height:1.6; margin:0; }
.admin-studio .admin-overview-meta { display:flex; align-items:flex-end; flex-direction:column; gap:12px; color:var(--studio-muted); font-size:12px; white-space:nowrap; }
.admin-studio .admin-kpi-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-bottom:28px; }
.admin-studio .admin-kpi { background:#fafafa; border:1px solid var(--studio-line); border-radius:12px; display:flex; flex-direction:column; min-height:146px; padding:20px; }
.admin-studio .admin-kpi span { color:#55565a; font-size:13px; font-weight:650; }
.admin-studio .admin-kpi strong { color:#050505; font-size:clamp(27px,3vw,39px); font-variant-numeric:tabular-nums; letter-spacing:-.05em; line-height:1.15; margin:14px 0 10px; }
.admin-studio .admin-kpi small { color:#77777b; font-size:11px; line-height:1.45; margin-top:auto; }
.admin-studio .admin-growth-layout { display:grid; grid-template-columns:minmax(0,2fr) minmax(250px,1fr); gap:14px; }
.admin-studio .admin-growth-main,.admin-studio .admin-growth-notes { border:1px solid var(--studio-line); border-radius:12px; min-width:0; padding:22px; }
.admin-studio .admin-growth-title-row { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.admin-studio .admin-growth-title-row h3,.admin-studio .admin-growth-notes h3 { color:#050505; font-size:17px; letter-spacing:-.025em; margin:0 0 5px; }
.admin-studio .admin-growth-title-row p { color:var(--studio-muted); font-size:12px; margin:0; }
.admin-studio .admin-growth-legend { color:#666; font-size:11px; white-space:nowrap; }
.admin-studio .admin-growth-legend i { background:#111; border-radius:2px; display:inline-block; height:9px; margin-right:5px; width:9px; }
.admin-studio .admin-growth-chart { align-items:center; color:var(--studio-muted); display:flex; font-size:13px; min-height:235px; overflow-x:auto; padding:15px 0 0; }
.admin-studio .admin-growth-chart svg { display:block; height:auto; min-width:620px; width:100%; }
.admin-studio .admin-chart-grid { stroke:#e8e8ea; stroke-width:1; }
.admin-studio .admin-chart-axis { fill:#77777b; font-size:10px; font-variant-numeric:tabular-nums; }
.admin-studio .admin-chart-bar { fill:#111; transition:fill .16s ease; }
.admin-studio .admin-chart-bar:hover { fill:#666; }
.admin-studio .admin-growth-details { border-top:1px solid var(--studio-line); color:#555; font-size:12px; margin-top:3px; padding-top:13px; }
.admin-studio .admin-growth-details summary { cursor:pointer; font-weight:650; }
.admin-studio .admin-growth-details summary:focus-visible { outline:2px solid #111; outline-offset:4px; }
.admin-studio .admin-growth-table-wrap { max-height:270px; overflow:auto; margin-top:12px; }
.admin-studio .admin-growth-table-wrap table { border-collapse:collapse; width:100%; }
.admin-studio .admin-growth-table-wrap th,.admin-studio .admin-growth-table-wrap td { border-bottom:1px solid #ededee; font-size:12px; padding:9px 4px; text-align:left; }
.admin-studio .admin-growth-table-wrap td { font-variant-numeric:tabular-nums; text-align:right; }
.admin-studio .admin-growth-notes { background:#fafafa; }
.admin-studio .admin-growth-comparison { border-bottom:1px solid var(--studio-line); display:flex; flex-direction:column; gap:7px; padding:16px 0; }
.admin-studio .admin-growth-comparison span { color:#555; font-size:12px; }
.admin-studio .admin-growth-comparison strong { color:#111; font-size:27px; font-variant-numeric:tabular-nums; letter-spacing:-.04em; line-height:1; }
.admin-studio .admin-growth-comparison strong.positive { color:var(--studio-green); }
.admin-studio .admin-growth-comparison strong.negative { color:var(--studio-red); }
.admin-studio .admin-growth-comparison small { color:#77777b; font-size:11px; }
.admin-studio .admin-metric-note { margin-top:18px; }
.admin-studio .admin-metric-note strong { color:#111; font-size:12px; }
.admin-studio .admin-metric-note p { color:#68686c; font-size:11px; line-height:1.7; margin:7px 0 0; }
.admin-studio .admin-operations-strip { align-items:center; border-bottom:1px solid var(--studio-line); border-top:1px solid var(--studio-line); color:#666; display:flex; flex-wrap:wrap; gap:12px 28px; font-size:12px; margin-top:22px; padding:15px 0; }
.admin-studio .admin-operations-strip span:first-child { color:#111; font-weight:700; }
.admin-studio .admin-operations-strip strong { color:#111; font-variant-numeric:tabular-nums; margin-left:5px; }
.admin-studio .admin-investor-overview .card-actions { margin-top:20px; }
.admin-studio .admin-table-card[data-admin-panel="users"] .admin-table { min-width:1120px; }
.admin-studio .admin-table-card[data-admin-panel="users"] .admin-table th { white-space:nowrap; }
@media (max-width:900px) { .admin-studio .admin-kpi-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .admin-studio .admin-growth-layout { grid-template-columns:1fr; } }
@media (max-width:700px) { .admin-studio .admin-investor-overview { padding:20px 15px; } .admin-studio .admin-overview-heading { flex-direction:column; } .admin-studio .admin-overview-meta { align-items:flex-start; } .admin-studio .admin-kpi { min-height:125px; padding:15px; } .admin-studio .admin-growth-main,.admin-studio .admin-growth-notes { padding:16px; } .admin-studio .admin-growth-title-row { flex-direction:column; } }
