.app-shell .nav button.active { background: #fff0e5; color: #d95100; }
.app-shell .nav button.active .nav-symbol { background: transparent; color: #ed6a00; }
.dashboard-workspace { background: #f6f8fc; padding: 24px; grid-template-columns: minmax(0,1fr); }
.workbench { width: 100%; min-width: 0; max-width: 1800px; margin: 0 auto; color: #172b45; letter-spacing: 0; }
.workbench * { min-width: 0; letter-spacing: 0; }
.wb-heading,.wb-toolbar,.wb-section-heading,.wb-pagination,.wb-ledger-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.wb-heading { margin-bottom: 20px; flex-wrap: wrap; }
.wb-heading h2 { margin: 6px 0 0; font-size: 24px; }
.wb-eyebrow { font-size: 12px; color: #718096; }
.wb-toolbar { flex-wrap: wrap; justify-content: flex-end; gap: 10px; }
.wb-toolbar .btn { white-space: nowrap; font-size: 13px; height: 40px; }
.wb-primary { background: #ed6a00; border-color: #ed6a00; color: white; }
.wb-primary:hover { background: #d65900; }
.wb-period { display: flex; align-items: center; background: white; border: 1px solid #dbe3ef; border-radius: 6px; height: 40px; }
.wb-period input { width: 140px; padding: 6px; border: 0; background: transparent; font-size: 13px; min-height: 0; }
.wb-period button { border: 0; background: transparent; display: inline-flex; align-items: center; justify-content: center; padding: 7px; height: 34px; min-width: 30px; color: #4b607c; cursor: pointer; font-size: 12px; }
.wb-period button:disabled { opacity: .4; cursor: default; }
.wb-band { background: white; padding: 22px 0; border-top: 1px solid #e5eaf2; margin: 0; }
.workbench > .wb-band,.wb-analysis-grid { padding-left: 18px; padding-right: 18px; }
.wb-section-heading { margin-bottom: 16px; flex-wrap: wrap; }
.wb-section-heading h3 { font-size: 16px; line-height: 1.4; margin: 0; }
.wb-section-heading > span { color: #7c8ca4; font-size: 12px; }
.wb-metrics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; border: 0; padding: 0; margin: 0; }
.wb-metrics-management { grid-template-columns: repeat(3,minmax(0,1fr)); }
.wb-metrics-teacher { grid-template-columns: repeat(3,minmax(0,1fr)); }
.wb-metric { display: flex; align-items: flex-start; gap: 12px; padding: 20px 16px; border: 1px solid var(--wb-border); border-radius: 7px; background: var(--wb-tint); min-height: 135px; overflow-wrap: anywhere; }
.wb-blue { --wb-color: #2478ea; --wb-tint: #f4f8ff; --wb-border: #e8f0ff; }
.wb-red { --wb-color: #d5364b; --wb-tint: #fff6f7; --wb-border: #fce9ed; }
.wb-green { --wb-color: #008e78; --wb-tint: #f0faf7; --wb-border: #e3f4ee; }
.wb-orange { --wb-color: #e75d00; --wb-tint: #fff8f2; --wb-border: #fff0e3; }
.wb-neutral { --wb-color: #64748b; --wb-tint: #f8fafc; --wb-border: #e2e8f0; }
.wb-metric-icon { flex: 0 0 34px; height: 34px; display: flex; justify-content: center; align-items: center; background: white; border-radius: 50%; color: var(--wb-color); }
.wb-metric h4,.wb-source h4 { font-size: 12px; font-weight: 500; margin: 0 0 12px; color: #4a607c; }
.wb-metric strong { display: block; color: var(--wb-color); font-size: 25px; line-height: 1.2; font-variant-numeric: tabular-nums; }
.wb-metric strong.wb-loss { color: #d5364b; }
.wb-metric strong small,.wb-source strong small { font-size: 12px; margin-left: 3px; font-weight: 500; }
.wb-metric p { font-size: 11px; color: #78899e; line-height: 1.7; margin: 12px 0 0; }
.wb-today .wb-metric { background: #fafcfe; min-height: 115px; border-color: #eff3f8; padding: 16px 12px; }
.wb-today .wb-metric strong { font-size: 23px; color: #172b45; }
.wb-analysis-grid { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: 28px; background: white; border-top: 1px solid #e5eaf2; }
.wb-analysis-grid .wb-band { border: 0; }
.wb-source-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; }
.wb-source h4 { margin: 8px 0 12px; }
.wb-source strong { font-size: 25px; color: #172b45; font-variant-numeric: tabular-nums; }
.wb-meter { height: 7px; background: #eef2f7; border-radius: 3px; overflow: hidden; margin: 18px 0; }
.wb-meter i { height: 100%; background: var(--wb-color); display: block; }
.wb-source dl { display: grid; grid-template-columns: 1fr auto; font-size: 12px; gap: 14px; }
.wb-source dt { color: #7b889c; }
.wb-source dd { margin: 0; font-weight: 600; color: var(--wb-color); }
.wb-analysis-total { border-top: 1px solid #edf1f6; padding-top: 18px; margin-top: 20px; display: flex; gap: 12px; align-items: center; flex-wrap: wrap; font-size: 12px; color: #7b889c; }
.wb-analysis-total strong { font-size: 19px; color: #172b45; }
.wb-analysis-total span:last-child:not(:first-child) { margin-left: auto; }
.wb-chart-scroll,.wb-table-wrap { overflow-x: auto; max-width: 100%; }
.wb-chart { width: 100%; min-width: 350px; display: block; }
.wb-chart text { fill: #7a8ba4; font: 11px system-ui,sans-serif; }
.wb-collaboration .wb-table-wrap { max-height: 380px; overflow: auto; }
.wb-collaboration thead { position: sticky; top: 0; z-index: 1; }
.wb-grid-line { stroke: #e4eaf3; stroke-dasharray: 3 4; }
.wb-bar-gross { fill: #89b8fc; }
.wb-bar-refund { fill: #f9a3aa; }
.wb-net-line { fill: none; stroke: #00a27f; stroke-width: 2.5; }
.wb-net-point { fill: white; stroke: #00a27f; stroke-width: 2; }
.wb-chart-empty { min-height: 210px; display: flex; align-items: center; justify-content: center; color: #8a98aa; font-size: 13px; background: #fbfcfe; }
.wb-legend { display: flex; gap: 12px; font-size: 11px; color: #7b889c; }
.wb-legend span::before { content: ''; width: 7px; height: 7px; border-radius: 2px; display: inline-block; margin-right: 5px; }
.wb-legend .gross::before { background: #89b8fc; }.wb-legend .refund::before { background: #f9a3aa; }.wb-legend .net::before { background: #00a27f; }
.workbench table { width: 100%; font-size: 12px; border-collapse: collapse; }
.workbench table th { background: #f6f8fc; font-size: 11px; font-weight: 500; color: #73839a; text-align: left; padding: 12px; white-space: nowrap; }
.workbench table td { border-bottom: 1px solid #edf1f6; padding: 13px 12px; white-space: nowrap; font-variant-numeric: tabular-nums; color: #233952; }
.workbench table .wb-positive { color: #008c72; }.workbench table .wb-negative { color: #d5364b; }
.wb-link { color: #2675cf; border: 0; background: transparent; font: inherit; cursor: pointer; padding: 0; display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.wb-link:hover { text-decoration: underline; }
.wb-rankings { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.wb-ranking h4 { font-size: 13px; margin: 0 0 12px; }
.wb-rank-index { color: #e75d00; font-size: 12px; display: inline-block; width: 24px; font-weight: 700; }
.wb-cell-note { display: block; color: #7a8ba4; margin-top: 5px; }
.wb-empty { text-align: center; color: #8a98aa !important; padding: 28px !important; }
.wb-ledger-toolbar { flex-wrap: wrap; margin-bottom: 16px; }
.wb-tabs { display: inline-flex; border: 1px solid #dfe7f1; border-radius: 5px; overflow: hidden; }
.wb-tabs button { padding: 8px 15px; border: 0; background: white; color: #62748e; font-size: 12px; cursor: pointer; }
.wb-tabs button.active { background: #ed6a00; color: white; }
.wb-ledger-toolbar form { display: flex; gap: 8px; }
.wb-ledger-toolbar input { width: 220px; font-size: 12px; min-height: 34px; padding: 8px 10px; }
.wb-status { color: #008d72; background: #e8f8f2; padding: 4px 7px; border-radius: 4px; font-size: 11px; }
.wb-status.is-refund { background: #fff1b0; color: #b42318; }
.wb-pagination { font-size: 12px; color: #7a8ba4; margin-top: 16px; }.wb-pagination > div { display: flex; gap: 8px; }
.wb-footnote { color: #8a98aa; font-size: 11px; line-height: 1.8; padding: 16px 0 0; }
.workbench .refund-ledger-row td { background: #fff3b0; color: #b42318; }
@media(min-width:1700px) { .wb-metrics-management { grid-template-columns: repeat(6,minmax(0,1fr)); }.wb-metrics-management .wb-metric { gap: 8px; padding: 18px 12px; }.wb-metrics-management .wb-metric-icon { display: none; } }
@media(max-width:1200px) { .wb-metric-icon { display: none; }.wb-metric strong { font-size: 23px; }.wb-metrics { gap: 10px; }.wb-analysis-grid { grid-template-columns: 1fr; gap: 0; }.wb-analysis-grid .wb-band + .wb-band { border-top: 1px solid #e5eaf2; }.wb-rankings { grid-template-columns: 1fr; } }
@media(max-width:760px) { .dashboard-workspace { padding: 16px 12px; }.wb-heading h2 { font-size: 20px; }.wb-toolbar { justify-content: flex-start; width: 100%; }.wb-period { max-width: 100%; }.wb-heading { gap: 16px; }.wb-metrics,.wb-metrics-management,.wb-metrics-teacher { grid-template-columns: repeat(2,minmax(0,1fr)); }.wb-metric { padding: 16px 12px; min-height: 128px; }.wb-metric strong,.wb-today .wb-metric strong { font-size: 21px; }.wb-metric h4 { line-height: 1.5; }.workbench > .wb-band,.wb-analysis-grid { padding-left: 12px; padding-right: 12px; }.wb-band { padding-top: 20px; padding-bottom: 20px; }.wb-ledger-toolbar form { width: 100%; }.wb-ledger-toolbar input { flex: 1; width: 100%; }.wb-ledger table { min-width: 800px; }.wb-pagination { gap: 8px; }.wb-pagination .btn { width: 34px; min-width: 34px; }.wb-source-grid { gap: 18px; }.wb-metrics-teacher .wb-metric:last-child { grid-column: 1/-1; } }
