
:root{
  --bg:#F7F8FC;--card:#fff;--text:#111827;--muted:#6B7280;--border:#E5E7EB;
  --indigo:#4F46E5;--indigo2:#4338CA;--blue:#2563EB;--green:#16A34A;--red:#DC2626;
  --amber:#F59E0B;--purple:#7C3AED;--orange:#F97316;--shadow:0 8px 30px rgba(17,24,39,.06);
  --r:16px;--h:42px
}
*{box-sizing:border-box;min-width:0}
html,body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif;overflow-x:hidden}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.hidden{display:none!important}
.muted{color:var(--muted)}
.small{font-size:12px}
.app-shell{min-height:100vh}
.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(420px,.9fr);background:#fff}
.auth-visual{background:linear-gradient(145deg,#111827,#312E81 70%,#4F46E5);color:#fff;padding:56px;display:flex;flex-direction:column;justify-content:space-between;min-height:100vh}
.auth-brand{display:flex;align-items:center;gap:12px;font-weight:800;font-size:18px}.logo{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,#6366F1,#F97316);box-shadow:0 12px 28px rgba(79,70,229,.32);color:#fff}
.auth-visual h1{font-size:42px;max-width:600px;line-height:1.05;margin:0}.auth-visual p{color:#D1D5DB;max-width:560px;line-height:1.6}
.auth-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.auth-preview .mini{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);padding:16px;border-radius:14px}.auth-preview b{font-size:24px}
.auth-panel{display:grid;place-items:center;padding:28px}.auth-card{width:min(430px,100%)}.auth-card h2{font-size:30px;margin:18px 0 6px}.auth-card p{margin:0 0 24px;color:var(--muted)}
.field{display:grid;gap:7px;margin-bottom:14px}.field label{font-size:12px;font-weight:700}.input{width:100%;height:var(--h);border:1px solid var(--border);border-radius:11px;background:#fff;padding:0 12px;color:var(--text);outline:none}.input:focus{border-color:#818CF8;box-shadow:0 0 0 3px rgba(79,70,229,.08)}textarea.input{height:auto;min-height:90px;padding:11px 12px;resize:vertical}
.password-wrap{position:relative}.password-wrap .input{padding-right:46px}.eye-btn{position:absolute;right:4px;top:3px;width:36px;height:36px;border:0;background:transparent;border-radius:9px;display:grid;place-items:center;color:#667085}.eye-btn:hover{background:#F3F4F6}.eye-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.btn{height:var(--h);border:0;border-radius:11px;padding:0 15px;font-weight:750;display:inline-flex;align-items:center;justify-content:center;gap:7px}
.btn-primary{background:var(--indigo);color:#fff}.btn-primary:hover{background:var(--indigo2)}
.btn-secondary{background:#fff;border:1px solid var(--border);color:var(--text)}.btn-danger{background:#FEF2F2;color:var(--red);border:1px solid #FECACA}
.btn-block{width:100%}.link-btn{border:0;background:none;padding:0;color:var(--indigo);font-weight:700}
.auth-status{font-size:12px;margin-top:10px;min-height:18px}.error{color:var(--red)}.success{color:var(--green)}
.topbar{height:64px;position:sticky;top:0;z-index:30;background:rgba(247,248,252,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 18px}
.top-left,.top-right{display:flex;align-items:center;gap:10px}.brand-title{font-weight:800}.project-select{width:min(320px,40vw)}
.workspace{padding:20px;max-width:1480px;margin:0 auto}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px}.page-head h1{margin:0;font-size:28px}.page-head p{margin:6px 0 0;color:var(--muted)}
.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.kpi{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:14px;box-shadow:var(--shadow)}.kpi label{font-size:11px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.kpi b{display:block;font-size:26px;margin-top:7px}
.toolbar{display:grid;grid-template-columns:minmax(0,1fr) 180px 180px;gap:10px;margin-bottom:16px}
.projects-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.project-card{background:#fff;border:1px solid var(--border);border-radius:var(--r);padding:16px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:14px}.project-top{display:flex;justify-content:space-between;gap:12px}.project-card h3{margin:0;font-size:18px}.meta{font-size:12px;color:var(--muted);margin-top:5px}.chip{display:inline-flex;align-items:center;height:26px;border-radius:999px;padding:0 9px;font-size:10px;font-weight:800}.chip-live{background:#DCFCE7;color:#15803D}.chip-upcoming{background:#DBEAFE;color:#1D4ED8}.chip-completed{background:#F3F4F6;color:#6B7280}.chip-jv{background:#EEF2FF;color:#4F46E5}.chip-company{background:#ECFDF5;color:#047857}.chip-custom{background:#F5F3FF;color:#7C3AED}
.project-metrics{display:grid;grid-template-columns:1fr 1fr;gap:9px}.mini-metric{background:#F9FAFB;border:1px solid #F1F5F9;border-radius:12px;padding:10px}.mini-metric span{font-size:11px;color:var(--muted)}.mini-metric b{display:block;font-size:18px;margin-top:4px}.project-actions{display:flex;gap:8px;margin-top:auto}.project-actions .btn-primary{flex:1}.icon-only{width:42px;padding:0}
.project-shell{display:grid;grid-template-columns:218px minmax(0,1fr);min-height:calc(100vh - 64px)}.side{position:sticky;top:64px;height:calc(100vh - 64px);background:#fff;border-right:1px solid var(--border);padding:14px 10px;display:flex;flex-direction:column}.side-nav{display:grid;gap:5px}.nav-btn{height:42px;border:0;background:transparent;border-radius:10px;display:flex;align-items:center;gap:10px;padding:0 12px;color:#4B5563;font-weight:700}.nav-btn:hover{background:#F5F7FB}.nav-btn.active{background:#EEF2FF;color:var(--indigo)}.nav-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}.side-user{margin-top:auto;border-top:1px solid var(--border);padding:12px 8px 2px}.project-content{padding:20px;max-width:1480px;width:100%;margin:0 auto}
.section{background:#fff;border:1px solid var(--border);border-radius:var(--r);padding:16px;box-shadow:var(--shadow);margin-bottom:14px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.section h2,.section h3{margin:0}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.metric-card{background:#F9FAFB;border:1px solid #F1F5F9;border-radius:13px;padding:12px}.metric-card span{font-size:11px;color:var(--muted);font-weight:700}.metric-card b{display:block;font-size:23px;margin-top:5px}
.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:12px}.table{width:100%;border-collapse:collapse;min-width:720px}.table th,.table td{padding:11px 12px;border-bottom:1px solid #EEF2F7;text-align:left;font-size:12px}.table th{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:#FAFBFC;position:sticky;top:0}.table tr:last-child td{border-bottom:0}
.inline-input{height:38px;border:1px solid var(--border);border-radius:9px;padding:0 9px;width:100%}.save-state{font-size:11px;color:var(--green);font-weight:700}
.modal-backdrop{position:fixed;inset:0;background:rgba(17,24,39,.38);z-index:100;display:grid;place-items:center;padding:18px}.modal{width:min(720px,100%);max-height:min(88vh,820px);overflow:auto;background:#fff;border-radius:18px;padding:18px;box-shadow:0 30px 90px rgba(17,24,39,.2)}.modal h3{margin:0 0 14px}.modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px;position:sticky;bottom:-18px;background:#fff;padding:12px 0 0}
.day-card{border:1px solid var(--border);border-radius:13px;padding:13px;margin-top:10px}.day-grid{display:grid;grid-template-columns:1.1fr .9fr .9fr .9fr;gap:10px}
.chart-wrap{height:340px}.showup-entry{display:grid;grid-template-columns:1fr 1fr 180px 150px;gap:10px;align-items:end}.bottom-nav{display:none}
.toast{position:fixed;right:18px;bottom:18px;z-index:200;background:#111827;color:#fff;padding:11px 14px;border-radius:11px;font-size:12px;box-shadow:0 14px 40px rgba(17,24,39,.22)}
.empty{padding:34px;text-align:center;color:var(--muted)}
@media(max-width:1100px){.projects-grid{grid-template-columns:repeat(2,1fr)}.kpi-grid{grid-template-columns:repeat(2,1fr)}.grid-4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:899px){
  .auth-shell{grid-template-columns:1fr}.auth-visual{display:none}.auth-panel{min-height:100vh}
  .project-shell{display:block}.side{display:none}.project-content{padding:14px 14px 88px}.workspace{padding:14px 14px 88px}
  .bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:50;height:68px;background:#fff;border-top:1px solid var(--border);display:grid;grid-template-columns:repeat(5,1fr);padding-bottom:env(safe-area-inset-bottom)}.bottom-nav button{border:0;background:#fff;font-size:10px;color:#7A8392;font-weight:700}.bottom-nav button.active{color:var(--indigo)}
  .showup-entry{grid-template-columns:1fr 1fr}.showup-entry .btn{grid-column:1/-1}
  .grid-3{grid-template-columns:1fr 1fr}
}
@media(max-width:599px){
  :root{--h:40px}.topbar{height:58px;padding:0 12px}.brand-title{display:none}.project-select{width:min(62vw,280px)}
  .page-head{align-items:flex-start}.page-head h1{font-size:23px}.page-head p{font-size:12px}.page-head .btn{height:38px}
  .kpi-grid,.projects-grid,.grid-2,.grid-3,.grid-4{grid-template-columns:1fr 1fr;gap:9px}.project-card{grid-column:1/-1;padding:13px}.kpi{padding:11px}.kpi b{font-size:21px}.metric-card b{font-size:20px}.section{padding:13px}.modal{padding:14px}.modal-grid,.day-grid{grid-template-columns:1fr}.chart-wrap{height:270px}.toolbar{grid-template-columns:1fr 1fr}.toolbar .search{grid-column:1/-1}.showup-entry{grid-template-columns:1fr 1fr}.showup-entry .time-field{grid-column:1/-1}
}


/* ===== Premium UI + Sidebar + Show-up restoration ===== */
:root{
  --bg:#F6F7FB;--card:#FFFFFF;--text:#111827;--muted:#667085;--border:#E6E8EF;
  --indigo:#5146E5;--indigo2:#4338CA;--soft-indigo:#EEF0FF;--sidebar:224px;--sidebar-collapsed:72px;
  --shadow:0 8px 24px rgba(20,24,40,.055);
}
body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:-.006em}
.topbar{height:62px;border-bottom:1px solid #E8EAF0;background:rgba(255,255,255,.92);box-shadow:0 1px 0 rgba(16,24,40,.02)}
.project-shell{grid-template-columns:var(--sidebar) minmax(0,1fr)!important;transition:grid-template-columns .18s ease}
.project-shell.sidebar-collapsed{grid-template-columns:var(--sidebar-collapsed) minmax(0,1fr)!important}
.side{width:100%!important;min-width:0!important;overflow:visible!important;padding:12px 10px!important;z-index:40}
.side-toggle{width:40px;height:40px;margin:0 0 10px;border:1px solid var(--border);border-radius:11px;background:#fff;display:grid;place-items:center;color:#596273;transition:.15s}
.side-toggle:hover{background:#F6F7FB;color:#111827}
.side-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}
.nav-btn{position:relative;width:100%;overflow:visible!important;white-space:nowrap;height:42px!important;padding:0 12px!important;border-radius:11px!important}
.nav-icon{width:20px;min-width:20px;display:grid;place-items:center}.nav-icon svg{width:18px;height:18px}
.nav-label{overflow:hidden;text-overflow:ellipsis}
.sidebar-collapsed .side{padding-left:10px!important;padding-right:10px!important}
.sidebar-collapsed .side-toggle{margin-left:6px}
.sidebar-collapsed .nav-btn{width:50px!important;padding:0!important;justify-content:center!important}
.sidebar-collapsed .nav-label,.sidebar-collapsed .side-user-copy{display:none!important}
.sidebar-collapsed .nav-btn::after{content:attr(data-label);position:absolute;left:58px;top:50%;transform:translateY(-50%) scale(.96);background:rgba(17,24,39,.94);color:#fff;padding:7px 10px;border-radius:10px;font-size:11px;font-weight:700;opacity:0;pointer-events:none;transition:.14s;box-shadow:0 8px 22px rgba(17,24,39,.18);z-index:999}
.sidebar-collapsed .nav-btn:hover::after{opacity:1;transform:translateY(-50%) scale(1)}
.side-user{display:flex;align-items:center;gap:9px;overflow:hidden}
.user-avatar{width:34px;height:34px;min-width:34px;border-radius:50%;display:grid;place-items:center;background:#EEF2FF;color:#4F46E5;font-weight:800}
.project-content{padding:18px 20px 80px!important;max-width:1500px!important}
.page-head{margin-bottom:14px!important}.page-head h1{font-size:26px!important;letter-spacing:-.025em}.page-head p{font-size:12px!important}
.section{border:1px solid #E7E9F0!important;box-shadow:var(--shadow)!important;border-radius:16px!important;padding:15px!important}
.section-head{margin-bottom:12px!important}.section-head h3{font-size:16px!important;letter-spacing:-.015em}
.metric-card{position:relative;overflow:hidden;border:1px solid #ECEEF3!important;background:#FBFCFE!important;padding:12px 13px!important}
.metric-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#D8DCE7}
.metric-blue::before{background:#1687FF}.metric-purple::before{background:#7C3AED}.metric-indigo::before{background:#5146E5}.metric-green::before{background:#16A34A}.metric-amber::before{background:#F59E0B}.metric-red::before{background:#E11D48}
.metric-card b{font-size:23px!important;line-height:1.1}.metric-card small{display:block;margin-top:5px;color:#747C8B;font-size:10px}
.quick-entry-section{padding-bottom:14px!important}
.showup-entry{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 190px 160px!important;align-items:end!important;gap:10px!important}
.showup-entry .field{margin:0!important}.showup-add-btn{height:42px!important;align-self:end!important}
.attendance-section{padding-bottom:12px!important}.show-chart-wrap{height:360px!important}
.chart-actions{display:flex;align-items:center;gap:9px}.annotation-help{display:block;margin-top:4px}
.annotation-legend{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px;padding-top:8px;border-top:1px solid #EEF0F4}
.annotation-pill{display:grid!important;grid-template-columns:auto auto 1fr;align-items:center;column-gap:7px;row-gap:2px;min-width:190px;padding:8px 10px!important;background:#fff!important;border:1px solid #e5e9f0!important;border-radius:9px!important;color:#273248!important}.annotation-pill>i{grid-row:1/3;width:8px!important;height:100%!important;min-height:30px;border-radius:8px!important}.annotation-pill>b{font-size:10px;color:#4f46e5;background:#eef2ff;border-radius:5px;padding:2px 5px}.annotation-pill>span{font-size:11px;font-weight:650;white-space:normal;line-height:1.25}.annotation-pill>em{grid-column:2/4;font-style:normal;font-size:10px;color:#697386}
.graph-enlarge-btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8}.graph-enlarge-btn{display:inline-flex;align-items:center;gap:6px}
.fullscreen-graph-controls{display:none;align-items:center;gap:7px}.fullscreen-graph-controls .input{width:auto;min-width:190px;height:38px}.graph-zoom-btn{min-width:40px;height:38px;padding:0 11px;font-size:17px;touch-action:manipulation}
#attendanceGraphPanel:fullscreen,#attendanceGraphPanel.is-fullscreen,.graph-fullscreen-fallback{background:#fff!important;padding:20px!important;width:100vw!important;height:100vh!important;max-width:none!important;overflow:auto!important;display:flex!important;flex-direction:column!important;z-index:30050!important}.graph-fullscreen-fallback{position:fixed!important;inset:0!important}.attendance-section:fullscreen .show-chart-wrap,.attendance-section.is-fullscreen .show-chart-wrap,.graph-fullscreen-fallback .show-chart-wrap{height:auto!important;min-height:52vh!important;flex:1 1 auto!important}.attendance-section:fullscreen .annotation-legend,.attendance-section.is-fullscreen .annotation-legend,.graph-fullscreen-fallback .annotation-legend{flex:0 0 auto}.attendance-section:fullscreen .chart-toolbar,.attendance-section.is-fullscreen .chart-toolbar,.graph-fullscreen-fallback .chart-toolbar{position:sticky;top:-20px;background:#fff;z-index:3;padding-top:12px}
.attendance-section:fullscreen .fullscreen-graph-controls,.attendance-section.is-fullscreen .fullscreen-graph-controls,.graph-fullscreen-fallback .fullscreen-graph-controls{display:flex}.attendance-section:fullscreen .show-chart-wrap canvas,.attendance-section.is-fullscreen .show-chart-wrap canvas,.graph-fullscreen-fallback .show-chart-wrap canvas{touch-action:none!important;cursor:grab}.attendance-section:fullscreen .show-chart-wrap canvas:active,.attendance-section.is-fullscreen .show-chart-wrap canvas:active,.graph-fullscreen-fallback .show-chart-wrap canvas:active{cursor:grabbing}
.event-map-list{display:grid;gap:8px}.event-map-row{display:grid;grid-template-columns:5px minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid #E9EBF1;background:#FCFDFE;border-radius:12px;padding:10px 11px}
.event-color{width:5px;height:32px;border-radius:999px}.event-main{display:grid;gap:3px}.event-main b{font-size:12px}.event-main span{font-size:10px;color:#747C8B}.event-actions{display:flex;gap:6px}
.empty.compact{padding:18px}
.showup-table-wrap{border-radius:12px!important}.showup-table th{height:38px}.showup-table td{height:46px}
.timeline-actions{display:flex;gap:5px;justify-content:flex-end}
.status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:9px;font-weight:800}
.status-pill.green{background:#ECFDF3;color:#067647}.status-pill.blue{background:#EFF6FF;color:#175CD3}.status-pill.amber{background:#FFF7E8;color:#B54708}.status-pill.red{background:#FEF3F2;color:#B42318}
.positive{color:#16A34A!important;font-weight:700}.negative{color:#DC2626!important;font-weight:700}
.mobile-showup-list{display:none}.mobile-showup-card{border:1px solid #E8EAF0;border-radius:13px;padding:11px;background:#fff}.point-top{display:flex;justify-content:space-between;align-items:center}.point-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:9px 0}.point-grid span{display:block;font-size:9px;color:#7B8493}.point-grid b{font-size:15px}
.annotation-mode-toggle{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;background:#F1F3F7;border-radius:12px;margin:10px 0 14px}.annotation-mode-toggle button{border:0;background:transparent;border-radius:9px;padding:9px 12px;font-weight:700;color:#6B7280}.annotation-mode-toggle button.active{background:#fff;color:#111827;box-shadow:0 1px 4px rgba(15,23,42,.10)}
.day-select{width:220px!important}
@media(max-width:1100px){
  :root{--sidebar:196px}
  .showup-entry{grid-template-columns:1fr 1fr 170px!important}.showup-add-btn{grid-column:1/-1!important;width:100%!important}
}
@media(max-width:899px){
  .project-shell,.project-shell.sidebar-collapsed{display:block!important}.side{display:none!important}
  .project-content{padding:14px 14px 86px!important}.showup-entry{grid-template-columns:1fr 1fr!important}.showup-entry .time-field{grid-column:auto!important}.showup-add-btn{grid-column:1/-1!important}
}
@media(max-width:599px){
  .showup-kpis{grid-template-columns:1fr 1fr!important}
  .showup-entry{grid-template-columns:1fr 1fr!important}.showup-entry .time-field{grid-column:1/-1!important}.showup-add-btn{grid-column:1/-1!important}
  .show-chart-wrap{height:275px!important}.chart-actions .muted{display:none}
  .showup-table-wrap{display:none!important}.mobile-showup-list{display:grid;gap:9px!important}
  .event-map-row{grid-template-columns:4px minmax(0,1fr) auto;padding:9px}
  .day-select{width:100%!important}.showup-session-head .section-head{align-items:flex-start;flex-direction:column}
}

/* ===== Calm professional UI v10: smaller type, lower weights, balanced density ===== */
:root{
  --bg:#F7F8FA;--card:#FFFFFF;--text:#1D1D1F;--muted:#737780;--border:#E7E8EC;
  --indigo:#4F46E5;--blue:#2563EB;--purple:#7C3AED;--green:#16A34A;--amber:#D97706;--red:#DC2626;
  --shadow:0 1px 2px rgba(17,24,39,.018),0 6px 18px rgba(17,24,39,.028);--r:13px;--h:40px
}
html,body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,system-ui,sans-serif;font-size:14px;font-weight:400;letter-spacing:-.012em}
body{background:var(--bg)}
b,strong{font-weight:600}
.btn{font-size:12px;font-weight:600;height:38px;border-radius:10px;padding:0 13px}
.input{height:40px;font-size:12.5px;border-radius:10px;padding:0 11px}
.field label{font-size:10px;font-weight:600;color:#606774;letter-spacing:.01em}
.topbar{height:58px}.logo{box-shadow:none}.brand-title{font-size:14px;font-weight:600}
.project-select{font-weight:400}
.project-content{padding-top:16px!important}
.page-head{margin-bottom:13px!important}.page-head h1{font-size:24px!important;font-weight:600!important;letter-spacing:-.035em}.page-head p{font-size:11.5px!important;line-height:1.45}
.section{padding:14px!important;border-radius:14px!important;box-shadow:var(--shadow)!important;margin-bottom:13px!important}
.section h3,.section-head h3{font-size:15px!important;font-weight:600!important}
.metric-card{padding:11px 12px!important;border-radius:12px!important}.metric-card span{font-size:9.5px!important;font-weight:500!important;text-transform:none!important;letter-spacing:0!important}.metric-card b{font-size:21px!important;font-weight:600!important;letter-spacing:-.025em}.metric-card small{font-size:9.5px!important}
.grid-4{gap:9px!important}.grid-3,.grid-2{gap:10px!important}
.nav-btn{font-size:12.5px!important;font-weight:500!important}.nav-btn.active{font-weight:600!important}
.side-user-copy b{font-size:11px;font-weight:600}.side-user-copy .small{font-size:9.5px}
.table th,.table td{font-size:11px!important}.table th{font-size:9px!important;font-weight:600!important}
.save-state,.small{font-size:10px}
.empty{padding:22px;font-size:11px}
.showup-kpis{margin-bottom:0!important}
.quick-entry-section .section-head{margin-bottom:9px!important}
.showup-entry{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 170px 145px!important}
.showup-add-btn{height:40px!important}
.chart-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}
.chart-title-row{display:flex;align-items:center;gap:7px}.chart-title-row h3{margin:0}.live-dot{width:7px;height:7px;border-radius:50%;background:#16A34A;box-shadow:0 0 0 3px #DCFCE7}
.chart-note{font-size:10px;color:var(--muted);margin-top:4px}
.range-controls{margin-bottom:8px}
.segmented{display:inline-flex;gap:2px;padding:3px;background:#F1F2F4;border-radius:9px}
.segmented button{border:0;background:transparent;border-radius:7px;padding:6px 9px;color:#6A707A;font-size:10px;font-weight:500}
.segmented button.active{background:#fff;color:#1D1D1F;box-shadow:0 1px 2px rgba(17,24,39,.08);font-weight:600}
.custom-range{display:none;grid-template-columns:minmax(190px,260px) minmax(190px,260px) minmax(240px,1fr);gap:9px;align-items:end;margin-top:8px}.custom-range.show{display:grid}.custom-range .field{margin:0}.custom-range label{white-space:nowrap}.range-marker-help{min-height:40px;display:flex;align-items:center;padding:8px 10px;border:1px solid #e2e7f2;border-radius:9px;background:#f8faff;color:#68758a;font-size:10px;line-height:1.35}
.range-viewing{display:flex;justify-content:space-between;align-items:center;padding:7px 9px;border:1px solid #ECEEF1;background:#FBFBFC;border-radius:9px;font-size:9.5px;color:#6B7280;margin-bottom:6px}.range-viewing b{font-weight:600;color:#30343A}.range-badge{padding:3px 6px;border-radius:999px;background:#EEF2FF;color:#4338CA;font-weight:600}
.chart-context{display:flex;justify-content:space-between;color:#8A8F98;font-size:9px;margin-bottom:3px}.chart-context strong{font-weight:600;color:#60656E}
.range-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:9px}.range-stat{padding:8px 9px;border:1px solid #ECEEF1;background:#FBFBFC;border-radius:10px}.range-stat span{display:block;font-size:8.5px;color:#787F89}.range-stat b{display:block;font-size:14px;font-weight:600;margin-top:3px}.range-stat small,.range-stat em{display:block;font-size:8px;color:#90959D;margin-top:2px;font-style:normal}.range-advice{padding:9px 10px;border:1px solid #ECEEF1;background:#FBFBFC;border-radius:10px;font-size:10px;display:flex;gap:8px;justify-content:space-between}
.show-chart-wrap{height:310px!important}

/* ===== Funnel visual from reference, made calmer ===== */
.funnel-entry-grid{display:grid;gap:10px}
.funnel-day-editor{border:1px solid var(--border);border-radius:13px;background:#fff;padding:12px}
.funnel-day-editor-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:10px}.funnel-day-editor-head h3{margin:0;font-size:13px!important}.funnel-day-editor-head p{margin:3px 0 0;font-size:9px;color:var(--muted)}
.day-funnel-date{font-size:8px;font-weight:600;color:#4338CA;background:#EEF2FF;padding:4px 7px;border-radius:999px}
.funnel-entry-fields{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.funnel-entry-fields label{display:block;font-size:8.5px;font-weight:500;color:#697386;margin-bottom:4px}.funnel-entry-fields .input{height:36px;font-size:11px}
.funnel-readonly{height:36px;border:1px solid #E7E9ED;border-radius:9px;background:#F8F9FB;padding:0 9px;display:flex;align-items:center;font-size:11px;font-weight:600}
.funnel-day-savebar{display:flex;justify-content:flex-end;gap:7px;margin-top:10px}
.event-funnel-card{padding:16px!important;overflow:hidden}
.event-funnel-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:14px}.event-funnel-title-wrap h3{margin:0;font-size:15px!important}.event-funnel-title-wrap p{margin:3px 0 0;font-size:9.5px;color:var(--muted)}.event-funnel-badge{font-size:8px;font-weight:600;background:#EEF2FF;color:#4338CA;border-radius:999px;padding:4px 7px}
.event-funnel{display:flex;flex-direction:column;align-items:center;width:100%;max-width:840px;margin:0 auto}.funnel-stage-wrap{width:100%;display:flex;flex-direction:column;align-items:center}
.funnel-stage{width:var(--w);min-height:69px;clip-path:polygon(4% 0,96% 0,88% 100%,12% 100%);display:flex;align-items:center;justify-content:center;color:#fff;padding:9px 28px;text-align:center;transition:transform .15s ease}.funnel-stage:hover{transform:translateY(-1px)}
.funnel-stage.stage-acq{background:#2563EB}.funnel-stage.stage-wa{background:#4F46E5}.funnel-stage.stage-vip{background:#7C3AED}.funnel-stage.stage-peak{background:#0284C7}.funnel-stage.stage-pitch{background:#0D9488}.funnel-stage.stage-token{background:#D97706}.funnel-stage.stage-sale{background:#15803D}
.funnel-stage-inner{display:flex;align-items:center;justify-content:center;gap:9px}.funnel-stage-icon{width:27px;height:27px;display:grid;place-items:center;border-radius:8px;background:rgba(255,255,255,.14);flex:0 0 27px}.funnel-stage-icon svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.funnel-stage-label{font-size:7.5px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;opacity:.86}.funnel-stage-main{font-size:16px;font-weight:600;line-height:1.1;margin-top:2px}.funnel-stage-meta{font-size:8.2px;margin-top:3px;opacity:.9}
.funnel-connector{height:23px;display:flex;align-items:center;justify-content:center;position:relative}.funnel-connector:before{content:"";width:1px;height:10px;background:#D7DAE0;position:absolute;top:0}.funnel-connector:after{content:"";width:5px;height:5px;border-right:1px solid #9CA3AF;border-bottom:1px solid #9CA3AF;transform:rotate(45deg);position:absolute;bottom:3px}.funnel-conv{position:relative;background:#fff;border:1px solid #E5E7EB;border-radius:999px;padding:2px 6px;font-size:7.5px;font-weight:600;color:#59606B}
.funnel-footer-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:13px}.funnel-footer-metrics>div{padding:8px 9px;border:1px solid #E9EBEF;border-radius:10px;background:#FAFBFC}.funnel-footer-metrics span{display:block;font-size:7.5px;color:#7A8392}.funnel-footer-metrics b{display:block;font-size:13px;font-weight:600;margin-top:3px}

@media(max-width:1100px){.funnel-entry-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:899px){
 .showup-entry{grid-template-columns:1fr 1fr!important}.custom-range{grid-template-columns:1fr 1fr}.custom-range .btn{grid-column:1/-1}
 .range-summary{grid-template-columns:repeat(2,1fr)}.funnel-footer-metrics{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:599px){
 html,body{font-size:13px}.page-head h1{font-size:20px!important}.section{padding:11px!important;border-radius:12px!important}.metric-card b{font-size:18px!important}
 .showup-entry{grid-template-columns:1fr 1fr!important}.showup-entry .time-field{grid-column:1/-1!important}.show-chart-wrap{height:245px!important}
 .segmented{width:100%;display:grid;grid-template-columns:repeat(4,1fr)}.segmented button{padding:6px 3px;font-size:9px}
 .custom-range{grid-template-columns:1fr 1fr}.range-summary{gap:5px}.range-stat{padding:7px}.range-stat b{font-size:13px}
 .funnel-entry-fields{grid-template-columns:1fr 1fr}.event-funnel-card{padding:11px!important}.funnel-stage{min-height:55px;padding:6px 14px}.funnel-stage-icon{width:22px;height:22px;flex-basis:22px}.funnel-stage-icon svg{width:12px;height:12px}.funnel-stage-main{font-size:13px}.funnel-stage-label{font-size:6.8px}.funnel-stage-meta{font-size:7px}.funnel-connector{height:18px}.funnel-footer-metrics{gap:5px}
}

/* ===== CMO Operator v12: full-height document sidebar + visible Supabase state ===== */
html{font-synthesis:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{font-weight:400}
.project-shell{align-items:stretch!important;min-height:calc(100vh - 58px)!important}
.side{
  position:relative!important;top:auto!important;height:auto!important;min-height:calc(100vh - 58px)!important;
  align-self:stretch!important;background:#fff!important;overflow:visible!important
}
.side-nav{position:sticky;top:72px}
.side-toggle{position:sticky;top:72px;z-index:2;background:#fff}
.side-user{position:sticky;bottom:0;background:#fff;margin-top:auto!important;padding-top:12px!important;padding-bottom:14px!important}
.project-shell.sidebar-collapsed .side-user{justify-content:center}
.project-shell.sidebar-collapsed .side-user-copy{display:none!important}
.topbar{height:58px!important}
.top-right{gap:8px!important}
.icon-button{width:36px;height:36px;border:1px solid var(--border);border-radius:10px;background:#fff;color:#505763;display:grid;place-items:center;padding:0}
.icon-button:hover{background:#F6F7F9;color:#1D1D1F}.icon-button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sync-state{display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 10px;border:1px solid #E7E9ED;border-radius:999px;background:#fff;color:#626873;font-size:10px;font-weight:500;white-space:nowrap}
.sync-state i{width:7px;height:7px;border-radius:50%;background:#22C55E}
.sync-state.saving i{background:#F59E0B;animation:syncPulse .8s ease-in-out infinite}.sync-state.error i{background:#DC2626}.sync-state.error{color:#B42318;background:#FFF8F7}
@keyframes syncPulse{50%{opacity:.35}}
.brand-title{font-weight:600!important}.project-select{font-weight:400!important}
.nav-btn{font-weight:450!important}.nav-btn.active{font-weight:600!important}
.page-head h1{font-weight:600!important}
.btn{font-weight:500!important}.btn-primary{font-weight:600!important}
input,select,textarea{font-weight:400!important}
.section h3,.section-head h3{font-weight:600!important}

/* Dashboard */
.dashboard-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:13px}
.dashboard-metric{background:#fff;border:1px solid #E8EAEE;border-radius:13px;padding:12px 13px;min-height:96px;box-shadow:0 1px 2px rgba(17,24,39,.015);display:flex;flex-direction:column}
.dashboard-metric-top{display:flex;align-items:center;gap:8px;color:#6F7580;font-size:9.5px;font-weight:500}
.dashboard-metric b{display:block;margin-top:10px;font-size:21px;line-height:1.05;font-weight:600;letter-spacing:-.025em;color:#1D1D1F}
.dashboard-metric small{display:block;margin-top:5px;color:#9297A0;font-size:8.8px;line-height:1.35}
.metric-icon{width:27px;height:27px;flex:0 0 27px;border-radius:8px;display:grid;place-items:center;background:#F2F5FA;color:#45617D}
.metric-icon svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.metric-icon.blue{background:#EEF5FF;color:#2563EB}.metric-icon.purple{background:#F5F0FF;color:#7C3AED}.metric-icon.indigo{background:#EEF2FF;color:#4F46E5}.metric-icon.cyan{background:#ECFEFF;color:#0891B2}.metric-icon.amber{background:#FFF7E8;color:#B54708}.metric-icon.green{background:#ECFDF3;color:#067647}

/* Strategy, checklist, notes */
.semantic-chip{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:8px;font-weight:600;background:#F2F4F7;color:#475467}.semantic-chip.success{background:#ECFDF3;color:#067647}.semantic-chip.purple{background:#F5F0FF;color:#6941C6}
.mini-btn{height:30px!important;padding:0 9px!important;font-size:9px!important}
.checklist-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.checklist-card{border:1px solid #E8EAEE;border-radius:12px;padding:11px;background:#fff}.checklist-card-head{display:flex;justify-content:space-between;gap:8px}.checklist-card h4,.note-card h4{margin:0;font-size:12px;font-weight:600}.checklist-card-head span,.note-head span{font-size:8.5px;color:#8B919B}.check-progress{height:5px;background:#EFF1F4;border-radius:999px;margin:9px 0 5px;overflow:hidden}.check-progress i{display:block;height:100%;background:#4F46E5}.check-meta{font-size:8.5px;color:#8A9099}.task-list{display:grid;gap:5px;margin-top:9px}.task-row{display:flex;gap:8px;align-items:flex-start;padding:7px 8px;background:#FAFBFC;border-radius:8px;font-size:10px}.task-row input{accent-color:#4F46E5;margin-top:2px}.task-row b{font-weight:500}.task-row small{display:block;color:#8B919B;font-size:8.5px;margin-top:2px}
.checklist-help{display:flex;align-items:center;gap:10px;padding:10px 12px;margin-bottom:12px;border:1px solid #DDE1FF;border-radius:11px;background:#F6F7FF;color:#4F46E5}.checklist-help b{font-size:11px}.checklist-help span{font-size:10px;color:#687087}.checklist-card.is-complete{border-color:#A7E3BF;background:#FBFFFC}.checklist-card.is-complete .check-progress i{background:#16A34A}.check-meta{display:flex;justify-content:space-between;align-items:center}.check-meta b{color:#505866;font-weight:650}.checklist-card.is-complete .check-meta b{color:#15803D}.task-row{cursor:pointer;border:1px solid transparent}.task-row:hover{border-color:#D9DDFE;background:#F7F7FF}.task-row input{width:17px;height:17px;flex:0 0 17px}.task-row.completed{background:#F0FBF4;color:#667085}.task-row.completed b{text-decoration:line-through;color:#667085}.checklist-empty-action{width:100%;padding:12px;border:1px dashed #C9CEDE;border-radius:9px;background:#FAFBFD;color:#5146E5;font-size:10px;font-weight:650;cursor:pointer}.checklist-empty-action:hover{background:#F3F4FF;border-color:#8E86EF}
.notes-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.note-card{border:1px solid #E8EAEE;border-radius:12px;padding:12px;background:#fff}.note-head{display:flex;justify-content:space-between;gap:8px;margin-bottom:9px}.note-card>div:not(.note-head){padding-top:7px;border-top:1px solid #F1F2F4;margin-top:7px}.note-card>div b{font-size:8.5px;color:#69707B;font-weight:600}.note-card p{margin:3px 0 0;font-size:10px;line-height:1.45;color:#3F4650;white-space:pre-wrap}

/* Remove excessive visual weight from legacy declarations */
.kpi b,.mini-metric b,.project-card h3,.chip,.status-pill,.positive,.negative,.user-avatar{font-weight:600!important}
.metric-card::before{display:none!important}
.section,.project-card,.dashboard-metric{box-shadow:0 1px 2px rgba(17,24,39,.015)!important}
.project-content{padding-bottom:48px!important}

/* Full sidebar divider remains through all page content */
.project-shell::before{content:"";position:absolute;left:0;top:0;bottom:0;width:var(--sidebar);background:#fff;border-right:1px solid var(--border);z-index:-1}
.project-shell{position:relative;isolation:isolate}
.project-shell>.side,.project-shell>.project-content{position:relative;z-index:1}
.project-shell.sidebar-collapsed::before{width:var(--sidebar-collapsed)}

@media(max-width:1100px){.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.checklist-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:899px){
 .project-shell::before{display:none}.side{display:none!important}.sync-state{display:none}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .checklist-grid,.notes-grid{grid-template-columns:1fr}
}
@media(max-width:599px){
 .dashboard-grid{gap:7px}.dashboard-metric{padding:10px;min-height:86px}.dashboard-metric b{font-size:18px}.dashboard-metric-top{font-size:8.5px}.metric-icon{width:24px;height:24px;flex-basis:24px}.metric-icon svg{width:13px;height:13px}
}

/* ===== v13 analytics additions ===== */
.range-viewing em{font-style:normal;color:#8A909A;font-size:9px;margin-left:4px}
.audience-chart-card{overflow:hidden}
.audience-chart-layout{display:grid;grid-template-columns:minmax(320px,1.2fr) minmax(220px,.8fr);gap:18px;align-items:center;min-height:280px}
.pie-stage{height:260px;display:grid;place-items:center;perspective:900px;position:relative}
.pie-stage:after{content:"";position:absolute;left:22%;right:22%;bottom:28px;height:16px;border-radius:50%;background:rgba(15,23,42,.09);filter:blur(10px);z-index:0}
.pie-stage canvas{width:100%!important;height:260px!important;position:relative;z-index:1}
.pie-legend{display:grid;gap:6px;align-content:center}
.pie-legend-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:8px 9px;border:1px solid #ECEEF2;background:#FBFCFD;border-radius:9px;font-size:10px}
.pie-legend-row>span{display:flex;align-items:center;gap:7px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pie-legend-row i{width:8px;height:8px;border-radius:50%;flex:0 0 8px}
.pie-legend-row b{font-weight:600;white-space:nowrap}.pie-legend-row em{font-style:normal;color:#8B919A;font-size:8.5px;font-weight:400}
.winner-strip{display:flex;align-items:center;gap:9px;padding:8px 10px;margin-bottom:8px;background:#F8FAFC;border:1px solid #E9ECF1;border-radius:10px;font-size:9.5px}.winner-strip span{color:#7B8290}.winner-strip b{font-weight:600}.winner-strip em{font-style:normal;color:#4F46E5;margin-left:auto;font-weight:600}
.revenue-toggle{flex-shrink:0}
@media(max-width:899px){.audience-chart-layout{grid-template-columns:1fr}.pie-stage{height:230px}.pie-stage canvas{height:230px!important}.pie-legend{grid-template-columns:1fr 1fr}}
@media(max-width:599px){.audience-chart-layout{gap:8px}.pie-stage{height:210px}.pie-stage canvas{height:210px!important}.pie-legend{grid-template-columns:1fr}.revenue-toggle{width:auto!important;display:flex!important}.winner-strip{flex-wrap:wrap}.winner-strip em{margin-left:0}}

/* ===== v14 annotation + audience hierarchy ===== */
.analytics-controls{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.analytics-scope{height:34px!important;width:auto!important;min-width:180px;font-size:10px!important;padding-right:30px!important}
.segment-editor{display:grid;gap:7px;margin:10px 0}
.segment-row{display:grid;grid-template-columns:minmax(180px,1.5fr) repeat(3,minmax(90px,.7fr)) 36px;gap:7px;align-items:end;border:1px solid #ECEEF2;background:#FBFCFD;padding:8px;border-radius:10px}
.segment-row .field{margin:0}.segment-remove{height:36px;width:36px;font-size:18px}
.segment-chips{display:flex;gap:5px;flex-wrap:wrap;margin-top:9px;padding-top:8px;border-top:1px solid #F0F1F3}
.segment-chips span{display:inline-flex;gap:5px;align-items:center;border:1px solid #E7E9ED;border-radius:999px;padding:4px 7px;background:#FBFCFD;color:#676E79;font-size:8.5px}.segment-chips b{font-weight:600;color:#303640}
@media(max-width:899px){.segment-row{grid-template-columns:1fr 1fr}.segment-remove{grid-column:2;justify-self:end}.analytics-controls{justify-content:flex-start}.analytics-scope{width:100%!important}}
@media(max-width:599px){.segment-row{grid-template-columns:1fr 1fr}.segment-row .field:first-child{grid-column:1/-1}.analytics-controls{width:100%}.revenue-toggle{width:100%!important}}

/* ===== v15 automatic frontend recovery ===== */
.platform-edit-grid .full{grid-column:1/-1}
.platform-autosave-state{display:inline-flex;align-items:center;gap:6px;width:max-content;padding:5px 9px;border-radius:999px;background:#ECFDF3;color:#067647;font-size:10px;font-weight:650}.platform-autosave-state:before{content:"";width:7px;height:7px;border-radius:50%;background:#22C55E}.platform-autosave-state.pending{background:#FFF7E8;color:#B54708}.platform-autosave-state.pending:before{background:#F59E0B}
.strategy-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.strategy-tabs{display:inline-flex;padding:4px;background:#F1F3F7;border-radius:12px}.strategy-tabs button{height:34px;padding:0 18px;border:0;border-radius:9px;background:transparent;color:#667085;font-size:11px;font-weight:650;cursor:pointer}.strategy-tabs button.active{background:#fff;color:#4338CA;box-shadow:0 2px 8px rgba(17,24,39,.08)}.strategy-actions,.strategy-row-actions{display:flex;align-items:center;gap:7px}.strategy-chart-card{padding:13px;border:1px solid #E7E9EE;border-radius:13px;background:#FCFCFD;margin-bottom:13px}.strategy-chart-card h3{font-size:13px!important}.strategy-chart-wrap{height:280px;margin-top:10px}.strategy-table{min-width:1050px}.strategy-channel-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;grid-column:1/-1}.strategy-channel-fields .field{margin-bottom:0}.strategy-modal-grid .full{grid-column:1/-1}.strategy-pct-preview{display:flex;gap:7px;flex-wrap:wrap}.strategy-pct-preview span{display:inline-flex;align-items:center;gap:6px;padding:7px 9px;border:1px solid #E4E7EC;border-radius:999px;background:#FAFBFC;color:#697386;font-size:10px}.strategy-pct-preview b{color:#303640}.csv-import-mapping{min-height:70px}
@media(max-width:699px){.strategy-toolbar{align-items:stretch;flex-direction:column}.strategy-actions{display:grid;grid-template-columns:1fr 1fr}.strategy-tabs{display:grid;grid-template-columns:1fr 1fr}.strategy-channel-fields{grid-template-columns:1fr}.strategy-chart-wrap{height:240px}}
.modal-backdrop{z-index:20000!important}
.expected-lead-pct{display:block;margin-top:5px;color:#5146E5!important;font-weight:650}.expected-lead-pct.no-base{color:#8A94A6!important;font-weight:500}
.quick-entry-section .showup-entry{align-items:start!important}.quick-entry-section .showup-add-btn{align-self:start!important;margin-top:20px!important}
@media(max-width:699px){.quick-entry-section .showup-add-btn{margin-top:0!important}}
.client-performance{margin-bottom:16px}.client-performance-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:13px}.client-performance-head h3,.workspace-showup-panel h3{margin:0 0 4px;font-size:15px}.client-performance-select{width:min(280px,100%)}.client-performance-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.workspace-showup-panel{margin-top:14px;padding-top:14px;border-top:1px solid #E7E9EF}.workspace-showup-chart{height:340px;margin-top:10px}.workspace-showup-chart .empty{height:100%;display:grid;place-items:center}
@media(max-width:1100px){.client-performance-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:699px){.client-performance-head{align-items:stretch;flex-direction:column}.client-performance-select{width:100%}.client-performance-kpis{grid-template-columns:1fr 1fr}.workspace-showup-chart{height:300px}}
.audience-revenue-chart{height:310px}.profit-cost-card{border-left:3px solid #5146E5!important}.profit-cost-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.profit-cost-grid .field{margin:0}.profit-result-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:13px}.profit-result-grid>div{padding:11px;border:1px solid #E5E8EF;border-radius:11px;background:#FAFBFC}.profit-result-grid span{display:block;color:#737D8C;font-size:9px;margin-bottom:5px}.profit-result-grid b{font-size:16px}.profit-result.positive{background:#F0FBF4;border-color:#B9E8C9}.profit-result.positive span,.profit-result.positive b{color:#15803D}.profit-result.negative{background:#FFF5F5;border-color:#F3C5C5}.profit-result.negative span,.profit-result.negative b{color:#B42318}.funnel-footer-metrics small{display:block;margin-top:3px;color:#7B8493;font-size:8px}
@media(max-width:699px){.audience-revenue-chart{height:280px}.profit-cost-grid{grid-template-columns:1fr}.profit-result-grid{grid-template-columns:1fr 1fr}}
.workspace-showup-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.workspace-showup-actions,.workspace-graph-controls{display:flex;align-items:center;gap:7px}.workspace-showup-actions .input,.workspace-graph-controls .input{width:130px}.modal:has(.workspace-graph-full){width:98vw!important;max-width:none!important;height:94vh!important;max-height:none!important;overflow:hidden!important}.workspace-graph-full{height:100%;display:flex;flex-direction:column}.workspace-graph-full-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.workspace-graph-full-canvas{flex:1;min-height:0;margin:12px 0}.workspace-graph-full-canvas canvas{width:100%!important;height:100%!important}
@media(max-width:699px){.workspace-showup-head,.workspace-graph-full-head{flex-direction:column}.workspace-showup-actions,.workspace-graph-controls{width:100%;flex-wrap:wrap}.workspace-showup-actions .input,.workspace-graph-controls .input{flex:1}.modal:has(.workspace-graph-full){width:100vw!important;height:100vh!important;border-radius:0!important}.workspace-graph-full-canvas{min-height:55vh}}
.money-input{position:relative}.money-input>span{position:absolute;left:11px;top:50%;transform:translateY(-50%);z-index:1;color:#7A8089;font-size:11px}.money-input .input{padding-left:25px!important}
.field small{display:block;color:#8A9099;font-size:8.5px;line-height:1.35;margin-top:4px}
.recovery-preview{display:grid;grid-template-columns:1fr 1fr 1.15fr;gap:7px;margin-top:10px;padding:9px;background:#F8FAFC;border:1px solid #E8EBEF;border-radius:11px}
.recovery-preview>div{padding:7px 8px;background:#fff;border:1px solid #ECEEF2;border-radius:9px}.recovery-preview span{display:block;color:#7C838E;font-size:8.5px}.recovery-preview b{display:block;margin-top:3px;font-size:10.5px;font-weight:600;color:#303640}.recovery-preview .total{background:#EEF7F1;border-color:#D9EBDD}.recovery-preview .total b{font-size:13px;color:#087443}
.readonly-value{height:40px;border:1px solid #E7E9ED;border-radius:10px;background:#F7F8FA;display:flex;align-items:center;padding:0 11px;color:#353B45;font-size:12px;font-weight:600}
.revenue-summary .metric-card small,.revenue-secondary .metric-card small{display:block}
.revenue-secondary{margin-top:8px}
@media(max-width:599px){.recovery-preview{grid-template-columns:1fr}.platform-edit-grid .full{grid-column:1/-1}}

/* ===== v16 event-level registration funnel ===== */
.event-registration-summary{border-left:3px solid #4F46E5!important}
.operational-day{background:#FFFFFF}
.day-flow-label{font-size:9px;font-weight:600;color:#667085;text-transform:uppercase;letter-spacing:.06em;margin:2px 0 8px}
.day-operational-fields{grid-template-columns:repeat(5,minmax(0,1fr))!important}
.day-operational-fields>div{min-width:0}
.day-operational-fields small{display:block;margin-top:4px;color:#98A0AA;font-size:8px;line-height:1.3}
.upsell-block{margin-top:12px;padding:11px;border:1px solid #E7E9EE;border-radius:11px;background:#FBFCFE}
.upsell-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.upsell-head h4{margin:0;font-size:11px;font-weight:600;color:#303640}.upsell-head span{font-size:8.5px;color:#8B929C}
.upsell-fields{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.upsell-calcs{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}
.upsell-calcs span{display:inline-flex;gap:5px;align-items:center;padding:5px 7px;border:1px solid #E7E9ED;border-radius:8px;background:#fff;color:#747B86;font-size:8.5px}
.upsell-calcs b{font-weight:600;color:#313741}
.custom-upsell-rows{display:grid;gap:8px}.custom-upsell-row{display:grid;grid-template-columns:minmax(180px,1.4fr) minmax(110px,.7fr) minmax(140px,.9fr) 38px;gap:8px;align-items:end;padding:9px;border:1px solid #E7E9EE;border-radius:11px;background:#fff}.custom-upsell-row label{display:block;font-size:8.5px;font-weight:600;color:#697386;margin-bottom:4px}.custom-upsell-row .input{height:36px}.upsell-remove{height:36px!important;padding:0!important;font-size:18px}.upsell-empty{padding:20px;border:1px dashed #D9DDE5;border-radius:11px;text-align:center;color:#7A8392;font-size:10px;background:#fff}.upsell-add-btn{white-space:nowrap}
@media(max-width:1100px){.day-operational-fields{grid-template-columns:repeat(3,minmax(0,1fr))!important}.upsell-fields{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:599px){.day-operational-fields{grid-template-columns:1fr 1fr!important}.upsell-fields{grid-template-columns:1fr 1fr!important}.upsell-calcs{display:grid;grid-template-columns:1fr}.event-registration-summary .grid-4{grid-template-columns:1fr 1fr!important}}
@media(max-width:699px){.custom-upsell-row{grid-template-columns:1fr 1fr 38px}.custom-upsell-row>div:first-child{grid-column:1/-1}.upsell-head{align-items:flex-start;gap:8px}.upsell-head>div{min-width:0}}

/* v13: consistent pills, tooltip layering and readable mobile navigation */
.chip,.status-pill,.event-funnel-badge,.day-funnel-date,.save-state,.sync-state,.range-badge,.funnel-conv{display:inline-flex!important;align-items:center!important;justify-content:center!important;max-width:100%;min-height:22px;border-radius:999px!important;padding:4px 9px!important;line-height:1.1!important;white-space:nowrap!important}
.side{z-index:120!important;overflow:visible!important}.side-nav,.nav-btn{z-index:121}.project-content{position:relative;z-index:1}.sidebar-collapsed .nav-btn::after{z-index:10000!important;white-space:nowrap!important}.project-shell{isolation:auto!important}
@media(max-width:899px){.bottom-nav{height:76px!important;z-index:500!important;padding:5px 4px calc(5px + env(safe-area-inset-bottom))!important}.bottom-nav button{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:0;padding:3px 1px!important;font-size:11px!important;line-height:1!important}.bottom-nav button span{display:grid;place-items:center;width:23px;height:23px}.bottom-nav button svg{display:block!important;width:22px!important;height:22px!important;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.bottom-nav button b{display:block;font-size:11px!important;font-weight:650!important;white-space:nowrap}.project-content,.workspace{padding-bottom:96px!important}}

/* v14: day revenue accordion and autosave state */
.funnel-day-accordion{padding:0!important;overflow:hidden}.funnel-day-accordion>summary{list-style:none}.funnel-day-accordion>summary::-webkit-details-marker{display:none}.funnel-accordion-summary{display:grid;grid-template-columns:minmax(0,1fr) auto 24px;align-items:center;gap:13px;padding:14px 15px;cursor:pointer;background:#fff}.funnel-accordion-summary:hover{background:#FAFBFF}.funnel-accordion-summary h3{margin:0;font-size:14px!important}.funnel-accordion-summary p{margin:4px 0 0;font-size:9.5px;color:#7B8492}.funnel-day-revenue{display:grid;justify-items:end;gap:2px}.funnel-day-revenue span{font-size:8px;color:#7B8492;text-transform:uppercase;letter-spacing:.04em}.funnel-day-revenue b{font-size:16px;color:#202632}.funnel-day-revenue em{font-size:8px;font-style:normal;color:#16A34A}.accordion-chevron{width:9px;height:9px;border-right:2px solid #667085;border-bottom:2px solid #667085;transform:rotate(45deg);transition:transform .18s}.funnel-day-accordion[open] .accordion-chevron{transform:rotate(225deg)}.funnel-accordion-body{padding:0 15px 15px;border-top:1px solid #EEF0F4}.funnel-accordion-body>.day-flow-label{margin-top:13px}
@media(max-width:599px){.funnel-accordion-summary{padding:12px 11px;gap:8px}.funnel-day-revenue b{font-size:13px}.funnel-day-revenue span{font-size:7px}.funnel-accordion-body{padding:0 10px 12px}}

/* ===== v17 audience spreadsheet editor ===== */
.modal-box:has(.audience-sheet-modal){width:min(1120px,96vw)!important;max-height:92vh!important}
.audience-sheet-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.audience-sheet-head h3{margin:0 0 3px}
.sheet-help{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0 8px}.sheet-help span{font-size:8.5px;color:#69717E;background:#F6F7F9;border:1px solid #E8EAEE;border-radius:999px;padding:4px 7px}
.audience-sheet-wrap{border:1px solid #DFE3E8;border-radius:10px;overflow:auto;max-height:54vh;background:#fff}
.audience-sheet-table{width:100%;border-collapse:separate;border-spacing:0;min-width:900px;table-layout:fixed}
.audience-sheet-table th{position:sticky;top:0;z-index:2;background:#F6F7F9;color:#535B67;font-size:9px;font-weight:600;text-align:left;padding:8px;border-right:1px solid #E2E5E9;border-bottom:1px solid #DDE1E6;white-space:nowrap}
.audience-sheet-table th:first-child{width:230px}.audience-sheet-table th:nth-child(n+2):nth-child(-n+5){width:105px}.audience-sheet-table th:nth-child(6),.audience-sheet-table th:nth-child(7){width:125px}.audience-sheet-table th:last-child{width:42px}
.audience-sheet-table td{padding:0;border-right:1px solid #E7E9ED;border-bottom:1px solid #E7E9ED;background:#fff;height:38px}
.audience-sheet-table tr:last-child td{border-bottom:0}.audience-sheet-table td:last-child,.audience-sheet-table th:last-child{border-right:0}
.sheet-cell{width:100%;height:38px;border:0!important;border-radius:0!important;background:transparent!important;padding:0 9px!important;font-size:10.5px!important;outline:none!important;box-shadow:none!important}
.sheet-cell:focus{box-shadow:inset 0 0 0 2px #4F46E5!important;background:#FAFAFF!important;position:relative;z-index:1}
.sheet-cell.numeric{text-align:right;font-variant-numeric:tabular-nums}
.sheet-auto{padding:0 9px!important;text-align:right;color:#475467;font-size:10px;font-weight:600;background:#FAFBFC!important;font-variant-numeric:tabular-nums}
.sheet-remove{width:100%;height:38px;border:0;background:transparent;color:#98A0AA;font-size:17px;cursor:pointer}.sheet-remove:hover{background:#FFF4F2;color:#B42318}
.sheet-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px}
@media(max-width:599px){.modal-box:has(.audience-sheet-modal){width:98vw!important;padding:12px!important}.sheet-help{gap:4px}.audience-sheet-head{flex-direction:column}.audience-sheet-wrap{max-height:58vh}}

/* ===== v18 Client Share Sheet ===== */
.showup-head-actions{display:flex;gap:8px;align-items:center}.share-sheet-btn{display:inline-flex;align-items:center;gap:6px}.share-sheet-btn .metric-icon{width:22px;height:22px;flex-basis:22px}.share-sheet-btn .metric-icon svg{width:12px;height:12px}
.share-link-panel{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;border:1px solid #E5E7EB;border-radius:11px;background:#FAFBFC;margin-top:12px}.share-link-panel>div{min-width:0}.share-link-panel span{display:block;font-size:8.5px;color:#7A818C}.share-link-panel b{display:block;font-size:10.5px;font-weight:500;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.share-link-info{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:8px}.share-link-info>span{display:flex;align-items:center;gap:6px;padding:7px 8px;border:1px solid #ECEEF2;border-radius:9px;background:#fff;font-size:8.5px;color:#626A76}.share-link-info .metric-icon{width:22px;height:22px;flex-basis:22px}
.share-empty-state{text-align:center;padding:18px 8px 8px}.share-big-icon{width:48px;height:48px;border-radius:14px;background:#EEF2FF;color:#4F46E5;display:grid;place-items:center;margin:0 auto 9px}.share-big-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7}.share-empty-state h4{margin:0;font-size:13px;font-weight:600}.share-empty-state p{margin:5px auto 0;max-width:430px;color:#7B828D;font-size:9.5px;line-height:1.5}
.day-grid-5{grid-template-columns:1.05fr 1fr 1fr 1fr 1fr!important}

/* Public sheet */
.client-sheet-page{background:#F4F6F8;min-height:100vh}.client-sheet-page #app{min-height:100vh}
.client-sheet-loading,.public-error{min-height:100vh;display:grid;place-items:center;align-content:center;gap:10px;text-align:center;color:#3F4650}.public-error .logo{margin:auto}.public-error h2{margin:4px 0 0;font-size:20px;font-weight:600}.public-error p{color:#7A818C}
.loader-ring{width:30px;height:30px;border:3px solid #E6E8ED;border-top-color:#4F46E5;border-radius:50%;animation:spin .75s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.client-sheet-shell{min-height:100vh}.client-sheet-top{height:62px;padding:0 20px;background:#fff;border-bottom:1px solid #E4E7EC;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:30}.client-sheet-brand{display:flex;align-items:center;gap:9px}.client-sheet-brand .logo{width:32px;height:32px;border-radius:9px}.client-sheet-brand b{display:block;font-size:13px;font-weight:600}.client-sheet-brand span{display:block;font-size:8.5px;color:#8A909A;margin-top:2px}.client-sheet-top-actions{display:flex;align-items:center;gap:7px}
.client-sheet-main{max-width:1180px;margin:0 auto;padding:18px}.client-sheet-card{background:#fff;border:1px solid #E3E6EA;border-radius:15px;box-shadow:0 8px 28px rgba(17,24,39,.035);overflow:hidden}
.client-sheet-project-head{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:18px;padding:17px 18px;border-bottom:1px solid #ECEEF2}.client-sheet-project-head h1{font-size:20px;font-weight:600;letter-spacing:-.025em;margin:0}.client-sheet-project-head p{font-size:10px;color:#7B828D;margin:4px 0 0}.sheet-time-pills{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}.sheet-time-pills span{font-size:8.5px;padding:4px 7px;border-radius:999px;background:#F6F7F9;color:#5F6671;border:1px solid #E8EAEE}.day-public-select{margin:0}
.client-sheet-help{display:flex;gap:6px;flex-wrap:wrap;padding:9px 18px;background:#FBFCFD;border-bottom:1px solid #ECEEF2}.client-sheet-help span{font-size:8.5px;color:#68707C}.client-sheet-help kbd{font-family:inherit;border:1px solid #DDE1E6;border-bottom-width:2px;border-radius:5px;padding:1px 4px;background:#fff;font-size:8px;color:#434A54}
.client-sheet-table-wrap{overflow:auto;max-height:68vh}.client-sheet-table{width:100%;border-collapse:separate;border-spacing:0;min-width:720px;table-layout:fixed}.client-sheet-table th{position:sticky;top:0;z-index:3;background:#F7F8FA;border-bottom:1px solid #DDE1E6;border-right:1px solid #E6E8EC;text-align:left;padding:9px 10px;font-size:9px;font-weight:600;color:#5C6470}.client-sheet-table th:first-child{width:130px}.client-sheet-table th:nth-child(2){width:210px}.client-sheet-table th:last-child{border-right:0}
.client-sheet-table td{height:42px;border-right:1px solid #E8EAEE;border-bottom:1px solid #E8EAEE;padding:0;background:#fff}.client-sheet-table td:last-child{border-right:0}.client-sheet-table tr.has-data td{background:#FEFEFF}.client-sheet-table tr.active-row td{background:#FAFAFF}
.sheet-time{padding:0 10px!important;font-size:10.5px;font-weight:600;color:#343A44;background:#FAFBFC!important;font-variant-numeric:tabular-nums}
.public-sheet-input{width:100%;height:41px;border:0!important;border-radius:0!important;background:transparent!important;outline:none!important;padding:0 10px!important;font-size:11px!important;box-shadow:none!important}.public-showup{text-align:right;font-variant-numeric:tabular-nums;font-weight:500}.public-sheet-input:focus{box-shadow:inset 0 0 0 2px #4F46E5!important;background:#FAFAFF!important}
.public-comment-cell{height:41px}.public-comment{appearance:auto}.custom-comment-wrap{display:grid;grid-template-columns:1fr 38px;height:41px}.custom-comment-back{border:0;border-left:1px solid #E6E8EC;background:#FAFBFC;color:#69717C;cursor:pointer}.custom-comment-back:hover{color:#4F46E5}
.client-sheet-note{padding:9px 18px;font-size:8.5px;color:#7C838D;background:#FBFCFD;border-top:1px solid #ECEEF2}
@media(max-width:1100px){.day-grid-5{grid-template-columns:repeat(3,1fr)!important}}
@media(max-width:720px){
 .client-sheet-top{padding:0 12px}.client-sheet-main{padding:10px}.client-sheet-project-head{grid-template-columns:1fr;padding:13px}.client-sheet-project-head h1{font-size:17px}.client-sheet-help{padding:8px 13px}.client-sheet-top-actions .sync-state{display:inline-flex}.client-sheet-brand span{display:none}
 .showup-head-actions{width:100%;align-items:stretch}.showup-head-actions .day-select{flex:1}.share-sheet-btn span{display:none}
 .day-grid-5{grid-template-columns:1fr 1fr!important}
}


/* ===== FINAL Audience Sheet UI Fix ===== */
.audience-sheet-modal{width:min(1180px,96vw)!important;max-height:88vh!important;display:flex;flex-direction:column}
.modal:has(.audience-sheet-modal){width:min(1220px,98vw)!important;max-width:none!important;overflow:hidden!important}
.audience-sheet-wrap{overflow:auto!important;max-height:58vh!important;border:1px solid #DFE3E8!important;border-radius:12px!important;background:#fff!important}
.audience-sheet-table{width:100%!important;min-width:1040px!important;table-layout:fixed!important;border-collapse:separate!important;border-spacing:0!important}
.audience-sheet-table thead{display:table-header-group!important}
.audience-sheet-table tbody{display:table-row-group!important}
.audience-sheet-table tr.audience-segment-row{display:table-row!important;background:#fff!important;border:0!important;padding:0!important;border-radius:0!important}
.audience-sheet-table tr.audience-segment-row:hover td{background:#FCFCFD!important}
.audience-sheet-table th,.audience-sheet-table td{display:table-cell!important;vertical-align:middle!important}
.audience-sheet-table th:first-child{width:255px!important}
.audience-sheet-table th:nth-child(2),.audience-sheet-table th:nth-child(3),.audience-sheet-table th:nth-child(4),.audience-sheet-table th:nth-child(5){width:120px!important}
.audience-sheet-table th:nth-child(6){width:145px!important}
.audience-sheet-table th:nth-child(7){width:155px!important}
.audience-sheet-table th:last-child{width:48px!important}
.audience-sheet-table td{height:46px!important;padding:0!important;border-right:1px solid #E7E9ED!important;border-bottom:1px solid #E7E9ED!important}
.audience-sheet-table .sheet-cell{display:block!important;width:100%!important;max-width:none!important;height:45px!important;margin:0!important;padding:0 11px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;font-size:11px!important;line-height:45px!important}
.audience-sheet-table .sheet-cell.numeric{text-align:right!important;font-variant-numeric:tabular-nums}
.audience-sheet-table .sheet-cell:focus{background:#FAFAFF!important;box-shadow:inset 0 0 0 2px #4F46E5!important}
.audience-sheet-table .sheet-auto{height:45px!important;padding:0 11px!important;text-align:right!important;vertical-align:middle!important;background:#FAFBFC!important;font-size:10.5px!important;line-height:45px!important;white-space:nowrap!important}
.audience-sheet-table .sheet-remove{height:45px!important;width:100%!important}
.sheet-footer{padding-top:10px!important}
@media(max-width:899px){.modal:has(.audience-sheet-modal){width:99vw!important}.audience-sheet-modal{width:100%!important}.audience-sheet-wrap{max-height:60vh!important}}


/* ===== FINAL Google-Sheets-like Client Sheet ===== */
.client-sheet-help{gap:8px!important}.client-sheet-help span{white-space:nowrap}
.public-grid-cell{position:relative!important;height:49px!important;padding:0!important;background:#fff!important;cursor:default!important;outline:none!important;user-select:none!important;vertical-align:middle!important}
.public-grid-cell.grid-selected{box-shadow:inset 0 0 0 2px #4F46E5!important;z-index:3!important;background:#FBFBFF!important}
.public-grid-cell.grid-selected::after{content:"";position:absolute;right:-3px;bottom:-3px;width:6px;height:6px;background:#4F46E5;border:1px solid #fff}
.public-cell-display{width:100%;height:48px;display:flex;align-items:center;padding:0 11px;font-size:11px;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.public-cell-display.placeholder{color:#8A94A6}
.public-live-editor{width:100%!important;height:48px!important;border:0!important;border-radius:0!important;background:#fff!important;padding:0 11px!important;outline:none!important;box-shadow:inset 0 0 0 2px #4F46E5!important;font:inherit!important;font-size:11px!important}
.client-sheet-table td:nth-child(2){width:220px}.client-sheet-table td:nth-child(3){min-width:360px}
@media(max-width:599px){.public-grid-cell{height:45px!important}.public-cell-display,.public-live-editor{height:44px!important}.client-sheet-help{overflow-x:auto;flex-wrap:nowrap!important}}


/* ===== FINAL Spreadsheet Range Selection ===== */
.public-grid-cell.grid-range{
  background:#F5F7FF!important;
  box-shadow:inset 0 0 0 1px rgba(79,70,229,.28)!important;
}
.public-grid-cell.grid-selected{
  background:#EEF2FF!important;
  box-shadow:inset 0 0 0 2px #4F46E5!important;
  z-index:4!important;
}
.public-grid-cell.grid-range .public-cell-display{background:transparent!important}
.client-sheet-table{user-select:none}
.client-sheet-table .sheet-time{user-select:none}


/* ===== Clipboard + precise selection fix ===== */
.public-grid-cell.grid-range{
  background:#F7F8FF!important;
  box-shadow:inset 0 0 0 1px rgba(79,70,229,.28)!important;
}
.public-grid-cell.grid-selected{
  background:#EEF2FF!important;
  box-shadow:inset 0 0 0 2px #4F46E5!important;
  z-index:5!important;
}
.public-grid-context{
  position:fixed;z-index:9999;min-width:132px;padding:5px;background:#fff;
  border:1px solid #DDE2E8;border-radius:10px;box-shadow:0 12px 30px rgba(17,24,39,.18)
}
.public-grid-context button{
  display:block;width:100%;border:0;background:transparent;text-align:left;padding:8px 10px;
  border-radius:7px;font-size:11px;color:#111827
}
.public-grid-context button:hover{background:#F3F4F6}


/* ===== Reliable Firefox/Brave clipboard proxy ===== */
.public-clipboard-proxy{
  position:fixed!important;
  left:-10000px!important;
  top:0!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
  resize:none!important;
}
.public-grid-cell.grid-range{
  background:#F7F8FF!important;
  box-shadow:inset 0 0 0 1px rgba(79,70,229,.25)!important;
}
.public-grid-cell.grid-selected{
  background:#EEF2FF!important;
  box-shadow:inset 0 0 0 2px #4F46E5!important;
  z-index:5!important;
}
.public-grid-context-menu{position:fixed;z-index:10050;width:220px;padding:6px;background:#fff;border:1px solid #d8dee9;border-radius:12px;box-shadow:0 14px 38px rgba(15,23,42,.2);touch-action:manipulation}
.public-grid-context-menu button{width:100%;border:0;background:transparent;border-radius:8px;padding:11px 12px;display:flex;align-items:center;justify-content:space-between;color:#172033;font:inherit;text-align:left;cursor:pointer}
.public-grid-context-menu button:hover,.public-grid-context-menu button:focus{background:#f1f5ff;outline:none}
.public-grid-context-menu button span{font-weight:650}.public-grid-context-menu button small{color:#7b8498;font-size:11px}
.csv-import-grid,.csv-map-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
.csv-import-mapping{margin-top:14px}.csv-import-empty,.csv-import-error{padding:18px;border:1px dashed #cfd6e4;border-radius:10px;text-align:center;color:#687386;background:#fafbfc}.csv-import-error{color:#991b1b;border-color:#fecaca;background:#fff7f7}
.csv-file-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0 8px;font-size:12px;color:#667085}.csv-file-summary b{color:#273248;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.csv-preview-wrap{max-height:230px;overflow:auto;border:1px solid #e2e7ef;border-radius:10px}.csv-preview{width:100%;border-collapse:collapse;font-size:12px}.csv-preview th,.csv-preview td{padding:9px 10px;border-right:1px solid #e8ecf2;border-bottom:1px solid #e8ecf2;text-align:left;white-space:nowrap}.csv-preview th{position:sticky;top:0;background:#f6f8fb;color:#344054;font-weight:700}.csv-preview tr:last-child td{border-bottom:0}
@media(max-width:640px){.csv-import-grid,.csv-map-grid{grid-template-columns:1fr}}

/* ===== Leads totals clarity ===== */
.leads-summary-card{overflow:hidden}
.leads-summary-card .metric-card{min-height:122px;background:linear-gradient(145deg,#fff 0%,#fafbff 100%);border-color:#e4e8f1}
.leads-summary-card .metric-card span{color:#69758a;font-weight:650}
.leads-summary-card .metric-card b{font-variant-numeric:tabular-nums;letter-spacing:-.025em}
.lead-calculation-note{margin-top:14px;padding:11px 13px;border:1px solid #dce5ff;border-radius:10px;background:#f6f8ff;color:#526078;font-size:11px;line-height:1.55}
.lead-calculation-note b{color:#3143a6}
@media(max-width:640px){.leads-summary-card .section-head{align-items:flex-start;gap:10px}.leads-summary-card .section-head .btn{white-space:nowrap}.leads-summary-card .metric-card{min-height:112px;padding:14px 12px}.leads-summary-card .metric-card b{font-size:23px}.lead-calculation-note{font-size:10px;margin-top:10px;padding:10px}}

/* ===== Premium 2D audience doughnut ===== */
.premium-audience-card{background:linear-gradient(145deg,#fff 0%,#fbfcff 100%)}
.premium-pie-stage{height:300px;border:1px solid #edf0f7;border-radius:16px;background:radial-gradient(circle at 50% 45%,#fff 0%,#f8faff 68%,#f4f6ff 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 10px 28px rgba(45,62,117,.055)}
.premium-pie-stage:after{display:none}.premium-pie-stage canvas{height:286px!important;max-width:100%}
.premium-audience-card .pie-legend{gap:8px}.premium-audience-card .pie-legend-row{padding:10px 11px;border-radius:11px;background:#fff;box-shadow:0 4px 12px rgba(27,39,70,.035)}
.premium-audience-card .pie-legend-row:hover{border-color:#cfd7f7;transform:translateY(-1px);transition:.18s ease}
.premium-audience-card .pie-legend-row i{width:10px;height:10px;flex-basis:10px;box-shadow:0 0 0 3px rgba(79,70,229,.09)}
.audience-chart-empty{display:grid;place-items:center;align-content:center;gap:5px;height:100%;color:#7c8799;font-size:11px;text-align:center}.audience-chart-empty b{color:#334155;font-size:13px}.audience-chart-empty span{max-width:210px;line-height:1.45}
@media(max-width:640px){.premium-pie-stage{height:255px}.premium-pie-stage canvas{height:243px!important}.premium-audience-card .pie-legend-row{padding:9px 10px}}

/* Comparison graph controls: choose one annotation type at a time. */
.workspace-marker-select{width:175px!important}
@media(max-width:699px){.workspace-marker-select{flex:1 1 175px!important;width:auto!important}}
.app-loading-shell{min-height:100vh;background:#f7f8fc}.app-loading-brand{height:72px;display:flex;align-items:center;gap:10px;padding:0 24px;background:#fff;border-bottom:1px solid #e8ebf1;color:#172033}.app-loading-brand .logo{display:grid;place-items:center;width:34px;height:34px;color:#fff;background:linear-gradient(135deg,#7357d9,#ec7b48);border-radius:10px}.app-loading-main{max-width:1180px;margin:0 auto;padding:38px 24px}.app-loading-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:24px 0}.skeleton{position:relative;overflow:hidden;background:#e9edf4;border-radius:12px}.skeleton:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.75),transparent);animation:cmoSkeleton 1.1s infinite}.skeleton-title{width:280px;height:32px}.skeleton-card{height:118px}.skeleton-table{height:300px}@keyframes cmoSkeleton{to{transform:translateX(100%)}}@media(max-width:760px){.app-loading-cards{grid-template-columns:1fr 1fr}.app-loading-main{padding:28px 16px}}
.grid-5{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.revenue-audience-row td:first-child b,.revenue-audience-row td:first-child small{display:block}.revenue-audience-row td:first-child small{margin-top:3px;color:#7a8494;font-size:10px}
@media(max-width:1000px){.grid-5{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:640px){.grid-5{grid-template-columns:1fr 1fr}.revenue-audience-table{min-width:680px}}
