.weekly-report-page{padding:4px 0 28px;color:#0f172a}.weekly-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:18px;padding:20px 22px;border:1px solid #dbe8e5;border-radius:18px;background:linear-gradient(120deg,#fff 0%,#f0fdf7 55%,#eef8ff 100%)}.weekly-eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.12em;color:#0f766e}.weekly-hero h1{margin:5px 0 0;font-size:1.8rem}.weekly-actions{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.weekly-actions label>span{display:block;font-size:.72rem;font-weight:750;color:#64748b;margin-bottom:5px}.weekly-date-range{display:flex;align-items:center;gap:6px;background:#fff;border:1px solid #dbe3ea;border-radius:11px;padding:4px 7px}.weekly-date-range input{border:0;outline:0;font:inherit;color:#0f172a;background:transparent;padding:7px 3px}.weekly-date-range b{color:#94a3b8}.weekly-btn{border-radius:11px;padding:11px 15px;font-weight:800;cursor:pointer;border:1px solid #cbd5e1;background:#fff}.weekly-btn.primary{border-color:#10b981;color:#047857}.weekly-btn.secondary{color:#475569}.weekly-btn:disabled{opacity:.5;cursor:not-allowed}.weekly-loading{min-height:320px;display:grid;place-items:center;align-content:center;gap:12px;color:#475569}.weekly-spinner{width:34px;height:34px;border:3px solid #d1fae5;border-top-color:#10b981;border-radius:50%;animation:weeklyspin .8s linear infinite}@keyframes weeklyspin{to{transform:rotate(360deg)}}.weekly-source-warning{margin-bottom:14px;padding:11px 14px;border:1px solid #fde68a;background:#fffbeb;color:#92400e;border-radius:12px;font-size:.82rem}.weekly-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.weekly-kpi{border:1px solid #e2e8f0;background:#fff;border-radius:15px;padding:17px 18px;box-shadow:0 4px 16px rgba(15,23,42,.03)}.weekly-kpi span{display:block;font-size:.78rem;font-weight:750;color:#64748b}.weekly-kpi strong{display:block;font-size:1.75rem;margin:7px 0 3px}.weekly-kpi small{font-size:.72rem;color:#64748b}.weekly-kpi.blue strong{color:#2563eb}.weekly-kpi.green strong{color:#059669}.weekly-kpi.amber strong{color:#d97706}.weekly-kpi.red strong{color:#dc2626}.weekly-overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.weekly-panel,.weekly-section-card{border:1px solid #dde6ed;background:#fff;border-radius:16px;box-shadow:0 4px 16px rgba(15,23,42,.025)}.weekly-panel{padding:16px 18px}.weekly-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.weekly-panel-head h2{font-size:.98rem;margin:0}.weekly-panel-head span{font-size:.72rem;color:#64748b}.weekly-chart{height:240px}.weekly-report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.weekly-section-card{padding:0;overflow:hidden}.weekly-section-card>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid #eef2f6;background:#fbfdfd}.weekly-section-card>header>div{display:flex;align-items:center;gap:9px;min-width:0}.weekly-section-card h2{font-size:.94rem;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.weekly-section-no{width:27px;height:27px;border-radius:9px;display:grid;place-items:center;background:#ecfdf5;color:#047857;font-size:.78rem;font-weight:900;flex:0 0 auto}.weekly-section-card header button{border:0;background:transparent;color:#0284c7;font-size:.73rem;font-weight:800;cursor:pointer;white-space:nowrap}.weekly-section-body{padding:13px 15px 8px}.weekly-mini-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(105px,1fr));gap:8px;margin-bottom:10px}.weekly-mini-metric{padding:10px;border-radius:11px;background:#f8fafc;border:1px solid #eef2f7}.weekly-mini-metric span{display:block;font-size:.68rem;color:#64748b;font-weight:700}.weekly-mini-metric b{display:block;margin-top:4px;font-size:1.05rem}.weekly-mini-metric.good b{color:#059669}.weekly-mini-metric.warn b{color:#d97706}.weekly-mini-metric.danger b{color:#dc2626}.weekly-mini-metric.info b{color:#2563eb}.weekly-mini-rows{border-top:1px solid #eef2f7}.weekly-mini-rows>div{display:grid;grid-template-columns:1.1fr 1.8fr 1fr;gap:8px;padding:7px 2px;border-bottom:1px solid #f1f5f9;font-size:.72rem;color:#475569}.weekly-mini-rows .c0{font-weight:750;color:#1e293b}.weekly-mini-rows .c2{text-align:right}.weekly-empty-mini{padding:12px 2px;font-size:.73rem;color:#94a3b8}.weekly-meeting-summary,.weekly-action{margin:0 15px 9px;padding:10px 12px;border-radius:11px;display:grid;grid-template-columns:95px 1fr;gap:8px;align-items:start}.weekly-meeting-summary{background:#eff6ff;border:1px solid #dbeafe}.weekly-meeting-summary span,.weekly-action span{font-size:.68rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.weekly-meeting-summary span{color:#2563eb}.weekly-meeting-summary b,.weekly-action b{font-size:.75rem;line-height:1.45}.weekly-action{margin-bottom:14px}.weekly-action.good{background:#ecfdf5;border:1px solid #bbf7d0}.weekly-action.good span{color:#047857}.weekly-action.warn{background:#fffbeb;border:1px solid #fde68a}.weekly-action.warn span{color:#b45309}.weekly-action.danger{background:#fef2f2;border:1px solid #fecaca}.weekly-action.danger span{color:#dc2626}.weekly-action.info{background:#eff6ff;border:1px solid #bfdbfe}.weekly-action.info span{color:#2563eb}.weekly-action.neutral{background:#f8fafc;border:1px solid #e2e8f0}.weekly-action.neutral span{color:#64748b}@media(max-width:1100px){.weekly-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.weekly-overview-grid,.weekly-report-grid{grid-template-columns:1fr}}@media(max-width:720px){.weekly-hero{align-items:stretch;flex-direction:column}.weekly-actions{display:grid;grid-template-columns:1fr 1fr}.weekly-actions label{grid-column:1/-1}.weekly-date-range{justify-content:space-between}.weekly-kpis{grid-template-columns:1fr 1fr}.weekly-chart{height:210px}}@media(max-width:480px){.weekly-kpis{grid-template-columns:1fr}.weekly-actions{grid-template-columns:1fr}.weekly-btn{width:100%}}

/* V99.0491: Weekly Report single-column chart-first layout */
.weekly-report-stack{display:grid;grid-template-columns:1fr;gap:16px;width:100%}
.weekly-report-stack .weekly-section-card{width:100%;min-width:0}
.weekly-chart-card .weekly-section-body{padding:16px 18px 10px}
.weekly-chart-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-bottom:14px}
.weekly-chart-metrics>div{border:1px solid #e2e8f0;background:#f8fafc;border-radius:12px;padding:10px 12px}
.weekly-chart-metrics span{display:block;font-size:.69rem;font-weight:750;color:#64748b}
.weekly-chart-metrics b{display:block;margin-top:4px;font-size:1.12rem;color:#0f172a}
.weekly-chart-large{height:310px;min-height:310px}
.weekly-chart-medium{height:275px;min-height:275px}
.weekly-subchart{margin-top:14px;padding-top:14px;border-top:1px solid #eef2f7}
.weekly-subchart-title{font-size:.78rem;font-weight:850;color:#334155;margin:0 0 8px}
.weekly-chart canvas{max-width:100%}
@media(max-width:1100px){.weekly-report-stack{grid-template-columns:1fr}.weekly-chart-large{height:285px;min-height:285px}.weekly-chart-medium{height:255px;min-height:255px}}
@media(max-width:720px){.weekly-chart-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.weekly-chart-large,.weekly-chart-medium{height:240px;min-height:240px}}
@media(max-width:480px){.weekly-chart-metrics{grid-template-columns:1fr}.weekly-chart-large,.weekly-chart-medium{height:220px;min-height:220px}}

/* V99.0531: New Hire on-board date breakdown + Owner Resign tracking */
.weekly-breakdown-wrap{margin-top:14px;padding-top:14px;border-top:1px solid #eef2f7}
.weekly-breakdown-title{font-size:.8rem;font-weight:850;color:#334155;margin:0 0 9px}
.weekly-breakdown-table-wrap{overflow-x:auto;border:1px solid #e2e8f0;border-radius:12px;background:#fff}
.weekly-breakdown-table{width:100%;border-collapse:collapse;min-width:560px;font-size:.75rem}
.weekly-breakdown-table th{padding:9px 11px;text-align:left;background:#f8fafc;color:#475569;font-weight:850;border-bottom:1px solid #e2e8f0;white-space:nowrap}
.weekly-breakdown-table td{padding:9px 11px;color:#334155;border-bottom:1px solid #f1f5f9;white-space:nowrap}
.weekly-breakdown-table tbody tr:last-child td{border-bottom:0}
.weekly-breakdown-table td:not(:first-child),.weekly-breakdown-table th:not(:first-child){text-align:right}
.weekly-breakdown-table td.good{color:#059669;font-weight:800}
.weekly-breakdown-table td.warn{color:#d97706;font-weight:800}

/* V99.0533: force-visible New Hire by On-board + Owner Resign details */
.weekly-breakdown-source{font-size:.7rem;color:#64748b;margin:-3px 0 9px}.weekly-breakdown-table td small{display:block;margin-top:2px;color:#94a3b8;font-size:.68rem}

/* V99.0551 - Weekly Owner Resign PAST/FUTURE tabs */
.weekly-owner-period-wrap{margin:0 0 14px;padding:12px 13px;border:1px solid #dbe8e5;border-radius:13px;background:linear-gradient(90deg,#f8fffc 0%,#f8fbff 100%)}
.weekly-owner-period-tabs{display:flex;gap:9px;flex-wrap:wrap;align-items:center}
.weekly-owner-period-tabs button{border:1px solid #d7e1e8;background:#fff;color:#334155;border-radius:10px;padding:9px 13px;font-size:.76rem;font-weight:850;cursor:pointer;transition:.15s ease;box-shadow:0 1px 2px rgba(15,23,42,.03)}
.weekly-owner-period-tabs button:hover{border-color:#94a3b8;transform:translateY(-1px)}
.weekly-owner-period-tabs button.active{border-color:#059669;background:#059669;color:#fff;box-shadow:0 5px 14px rgba(5,150,105,.16)}
.weekly-owner-period-tabs button b{display:inline-grid;place-items:center;min-width:23px;height:20px;margin-left:5px;padding:0 6px;border-radius:999px;background:#eef2f7;color:#334155;font-size:.7rem}
.weekly-owner-period-tabs button.active b{background:rgba(255,255,255,.22);color:#fff}
.weekly-owner-period-wrap>small{display:block;margin-top:8px;color:#64748b;font-size:.69rem;line-height:1.45}
@media(max-width:720px){.weekly-owner-period-tabs{display:grid;grid-template-columns:1fr 1fr}.weekly-owner-period-tabs button{width:100%;padding:9px 8px;font-size:.7rem}}
