.dbStatus{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:var(--line-soft);border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow-card)}.dbStatusItem{display:flex;flex-direction:column;gap:6px;min-width:0;padding:18px 22px 19px;background:linear-gradient(170deg,#ffffff,#f7fdfc)}.dbStatusLabel{font-size:13px;font-weight:600;letter-spacing:.06em;color:var(--faint)}.dbStatusValue{font-size:19px;font-weight:700;line-height:1.3;letter-spacing:-.012em;color:var(--ink);overflow-wrap:anywhere}.dbStatusPending{color:#8a9fa8;font-weight:600}.dbFilterBar{justify-content:space-between;gap:14px 24px;margin:22px 0 20px}.dbChips,.dbFilterBar{display:flex;align-items:center;flex-wrap:wrap}.dbChips{gap:4px;padding:4px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.72)}.dbChip{min-height:38px;padding:0 16px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--muted);font-size:15px;font-weight:500;white-space:nowrap;transition:background .14s ease,color .14s ease,border-color .14s ease,box-shadow .14s ease}.dbChip:hover{background:var(--accent-soft-2);color:var(--ink)}.dbChipActive{background:#ffffff;border-color:#a9dcd4;color:var(--accent-ink);font-weight:700;box-shadow:0 2px 8px rgba(10,154,140,.14)}.dbScopeHint{font-size:14px;color:var(--faint);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dbCompanies{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:20px;gap:20px}.dbCompanyGroup{display:flex;flex-direction:column;gap:16px;min-width:0}.dbCompany{background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-card);overflow:hidden}.dbCompanyHead{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:24px 28px 22px;border-bottom:1px solid var(--line-soft);background:linear-gradient(180deg,#fbfefd,#ffffff)}.dbCompanyBadge{flex:none;width:46px;height:46px;border-radius:14px;display:grid;place-items:center;font-size:18px;font-weight:700;color:#ffffff;letter-spacing:.01em}.dbToneMint{background:linear-gradient(150deg,#22c4b2,#0a9a8c);box-shadow:0 8px 18px rgba(10,154,140,.24)}.dbToneSky{background:linear-gradient(150deg,#45b0e6,#1e86c9);box-shadow:0 8px 18px rgba(30,134,201,.24)}.dbToneIndigo{background:linear-gradient(150deg,#6a8ee8,#4368c9);box-shadow:0 8px 18px rgba(67,104,201,.22)}.dbCompanyMain{flex:1 1 240px;min-width:0}.dbCompanyTitle{font-size:21px;font-weight:700;line-height:1.35;letter-spacing:-.018em;color:var(--ink)}.dbCompanyMeta{margin-top:4px;font-size:14px;line-height:1.6;color:var(--faint)}.dbCompanyState{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex:none}.dbTag{display:inline-flex;align-items:center;min-height:28px;padding:0 11px;border-radius:999px;border:1px solid #cfe8e4;background:var(--accent-soft-2);color:#4d7078;font-size:12.5px;font-weight:600;white-space:nowrap}.dbTagMuted{border-color:var(--line-soft);background:var(--surface-3);color:#7c9199}.dbMetrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(198px,1fr));grid-gap:14px;gap:14px;padding:22px 24px 26px}.dbMetricsFour{grid-template-columns:repeat(4,minmax(0,1fr))}.dbMetrics:has(.dbMetricMovement){grid-template-columns:repeat(3,minmax(0,1fr))}.dbMetricMovement{grid-column:1/-1}.dbMetric{min-width:0;padding:18px 18px 16px;border:1px solid var(--line-soft);border-radius:15px;background:linear-gradient(180deg,#ffffff,#fbfefd)}.dbMetricPending{border-style:dashed;border-color:#d7e7e5;background:linear-gradient(180deg,#fcfefd,#f6fbfa)}.dbMetricTop{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:24px}.dbMetricLabel{font-size:14.5px;font-weight:600;line-height:1.4;color:var(--muted)}.dbMetricBadge{flex:none;padding:1px 8px;border-radius:999px;border:1px solid #dfeae8;background:#ffffff;color:#93a7ae;font-size:11.5px;font-weight:600;letter-spacing:.02em;line-height:1.6}.dbMetricSnapshot{border-color:#f0d9a8;background:#fff8e8;color:#a9700a}.dbMetricValue{display:flex;align-items:baseline;gap:6px;min-width:0;margin-top:10px;font-size:clamp(34px,2.8vw,44px);font-weight:700;line-height:1.06;letter-spacing:-.035em;color:var(--ink);overflow-wrap:anywhere}.dbMetricValuePending{align-items:center;color:#a3b9bf;font-weight:700;letter-spacing:0}.dbMetricUnit{font-size:14px;font-weight:600;letter-spacing:0;color:#9aafb5}.dbMetricNote{margin-top:10px;font-size:12.5px;line-height:1.62;color:#93a7ae;overflow-wrap:anywhere}.dbMetricNoteWarn{margin-top:6px;padding:7px 10px;border-left:3px solid #e6b45c;border-radius:0 8px 8px 0;background:#fffaf0;color:#9a6b18;font-weight:500}.dbMetricBreakdown{display:grid;grid-template-columns:repeat(auto-fit,minmax(78px,1fr));grid-gap:6px 10px;gap:6px 10px;margin:12px 0 0;padding:10px 12px;border:1px solid var(--line-soft);border-radius:12px;background:var(--surface-3)}.dbMetricBreakdownItem{display:flex;flex-direction:column;gap:2px;min-width:0}.dbMetricBreakdownItem dt{font-size:12.5px;font-weight:600;line-height:1.4;color:var(--faint)}.dbMetricBreakdownItem dd{display:flex;align-items:baseline;gap:3px;margin:0;font-size:17px;font-weight:700;line-height:1.3;letter-spacing:-.01em;color:var(--ink);overflow-wrap:anywhere}.dbMetricBreakdownUnit{font-size:11.5px;font-weight:600;color:#9aafb5}.dbMetricPending .dbMetricBreakdownItem dd{color:#93a7ae}.dbMetricSource{margin-top:6px;font-size:12px;line-height:1.6;color:#a6b8bd;overflow-wrap:anywhere}.dbMetricConsume{display:flex;flex-direction:column}.dbConsumeDays{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;margin-top:12px;padding-top:10px;border-top:1px solid var(--line-soft)}.dbConsumeDaysState{margin:0 0 6px;font-size:11.5px;line-height:1.5;color:#9aafb5}.dbConsumeDaysScroll{flex:1 1;min-height:160px;overflow-y:auto;-webkit-overflow-scrolling:touch}.dbConsumeDaysList{margin:0;padding:0;list-style:none}.dbConsumeDay{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:5px 0;border-bottom:1px solid #f2f8f7}.dbConsumeDay:last-child{border-bottom:none}.dbConsumeDayDate{flex:0 0 auto;font-size:12px;color:#7f959c;white-space:nowrap}.dbConsumeDayWeekday{flex:1 1 auto;min-width:0;text-align:center;font-size:11.5px;color:#9aafb5;white-space:nowrap}.dbConsumeDayAmount{flex:0 0 auto;min-width:0;text-align:right;font-size:13px;font-weight:600;color:var(--ink);white-space:nowrap}.dbConsumeDayZero .dbConsumeDayAmount{color:#a9bcc1;font-weight:500}.dbConsumeDaySkeleton .dbConsumeDayAmount{color:#a9bcc2;font-weight:500}.dbRosters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line-soft)}.dbRoster{min-width:0;border:1px solid var(--line-soft);border-radius:12px;background:var(--surface-3);overflow:hidden}.dbRosterTitle{padding:9px 12px 8px;font-size:13px;font-weight:700;line-height:1.4;color:var(--ink);border-bottom:1px solid var(--line-soft)}.dbRosterScroll{max-height:360px;overflow-y:auto;-webkit-overflow-scrolling:touch}.dbRosterTable{width:100%;border-collapse:collapse;table-layout:fixed}.dbRosterTable td,.dbRosterTable th{padding:6px 10px;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dbRosterTable thead th{position:-webkit-sticky;position:sticky;top:0;z-index:1;font-size:11.5px;font-weight:600;color:#8aa0a7;background:var(--surface-3);border-bottom:1px solid var(--line-soft)}.dbRosterTable tbody tr{border-bottom:1px solid #f2f8f7}.dbRosterTable tbody tr:last-child{border-bottom:none}.dbRosterNo{width:46px;text-align:center!important}.dbRosterName{width:90px;max-width:90px}.dbRosterProject{width:auto}.dbRosterTable td.dbRosterNo{font-size:12.5px;color:#7f959c;font-weight:600}.dbRosterTable td.dbRosterName,.dbRosterTable td.dbRosterProject{font-size:12.5px;color:var(--ink)}.dbRosterTable td.dbRosterCellEmpty{color:#a9bcc2;font-weight:500}.qyConn{background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-card);overflow:hidden}.qyConnHead{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:20px 24px 18px;border-bottom:1px solid var(--line-soft);background:linear-gradient(180deg,#f7fdfc,#ffffff)}.qyConnHeadMain{flex:1 1 380px;min-width:0}.qyConnTitle{font-size:18px;font-weight:700;line-height:1.4;letter-spacing:-.012em;color:var(--ink)}.qyConnSub{margin-top:6px;font-size:13.5px;line-height:1.72;color:var(--faint);max-width:82ch}.qyConnSub code{padding:1px 6px;border:1px solid var(--line-soft);border-radius:6px;background:var(--surface-3);font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12.5px;color:var(--accent-ink);overflow-wrap:anywhere}.qyConnStatus{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex:none}.qyState{display:inline-flex;align-items:center;gap:7px;min-height:30px;padding:0 12px;border:1px solid var(--line);border-radius:999px;background:#ffffff;font-size:13px;font-weight:700;color:var(--muted);white-space:nowrap}.qyStateDot{width:8px;height:8px;border-radius:50%;background:#a9bcc3}.qyState-ok{border-color:#bfe7d6;background:var(--ok-soft);color:#0a6b47}.qyState-ok .qyStateDot{background:var(--ok);box-shadow:0 0 0 3px rgba(10,130,89,.14)}.qyState-bad{border-color:#f0c9c5;background:var(--danger-soft);color:#96322a}.qyState-bad .qyStateDot{background:var(--danger);box-shadow:0 0 0 3px rgba(207,59,48,.14)}.qyState-wait{border-color:#f0dcb8;background:var(--warn-soft);color:#8a5a12}.qyState-wait .qyStateDot{background:var(--warn)}.qyState-off{border-color:var(--line);background:var(--surface-3);color:#7c9199}.qyConnTime{line-height:1.5}.qyConnAuto,.qyConnTime{font-size:12.5px;color:var(--faint);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.qyConnAuto{max-width:280px;line-height:1.55;text-align:right}.qyConnAutoBad{color:#96322a}.qyTech{border-top:1px dashed var(--line-soft);padding-top:12px;font-size:12.5px;line-height:1.72;color:var(--faint)}.qyTech summary{cursor:pointer;font-weight:600;color:var(--muted);list-style:none}.qyTech summary::-webkit-details-marker{display:none}.qyTech summary:before{content:"▸ ";color:var(--accent)}.qyTech[open] summary:before{content:"▾ "}.qyTech ul{margin:8px 0 0;padding-left:18px}.qyTech li{margin-bottom:4px}.qyConnBody{display:flex;flex-direction:column;gap:16px;padding:18px 24px 22px}.qyConnGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px}.qyField{display:flex;flex-direction:column;gap:7px;min-width:0}.qyFieldLabel{font-size:14px;font-weight:600;line-height:1.5;color:var(--text)}.qyFieldHint{font-size:12.5px;line-height:1.65;color:var(--faint);overflow-wrap:anywhere}.qyPasswordRow{display:flex;gap:8px;min-width:0}.qyPasswordRow .input{flex:1 1 auto;min-width:0}.qyPwdToggle{flex:none;min-width:62px}.qyCampusList{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-height:44px}.qyCampus{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:0 13px;border:1px solid var(--line);border-radius:999px;background:#ffffff;font-size:14px;color:var(--muted);cursor:pointer;transition:background .14s ease,border-color .14s ease,color .14s ease}.qyCampus:hover{border-color:#a9dcd4;color:var(--ink)}.qyCampus input{accent-color:var(--accent);width:15px;height:15px;cursor:pointer}.qyCampusOn{border-color:#a9dcd4;background:var(--accent-soft-2);color:var(--accent-ink);font-weight:600}.qyConnActions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.qyConnDanger{color:var(--danger)}.qyConnMeta{margin-left:auto;font-size:12.5px;line-height:1.6;color:var(--faint);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.qyFeedbackZone{display:flex;flex-direction:column;gap:8px}.qyFeedback{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0;padding:10px 13px;border:1px solid var(--line-soft);border-radius:12px;background:var(--surface-3);font-size:13.5px;line-height:1.65;color:var(--muted);overflow-wrap:anywhere}.qyFeedbackOk{border-color:#bfe7d6;background:var(--ok-soft);color:#0a6b47}.qyFeedbackBad{border-color:#f0c9c5;background:var(--danger-soft);color:#96322a}.qyFeedbackInfo{border-color:#cfe0f5;background:var(--info-soft);color:#1d4f9e}.qyFeedbackHint{font-size:12.5px;opacity:.86}.qyWarnings{margin:0;padding-left:18px;font-size:12.5px;line-height:1.72;color:#8a5a12}.qySpinner{flex:none;width:14px;height:14px;border:2px solid rgba(16,168,154,.24);border-top:2px solid var(--accent);border-radius:50%;animation:qySpin .8s linear infinite}@keyframes qySpin{to{transform:rotate(1turn)}}.dbFootnote{margin-top:18px;font-size:14px;line-height:1.75;color:var(--faint);max-width:88ch}@media (max-width:1180px){.dbMetricsFour{grid-template-columns:repeat(2,minmax(0,1fr))}.dbMetrics:has(.dbMetricMovement){grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.dbRosters{grid-template-columns:minmax(0,1fr)}.dbRosterScroll{max-height:300px}}@media (max-width:960px){.dbStatus{grid-template-columns:repeat(2,minmax(0,1fr))}.dbCompanyHead{padding:20px 20px 18px}.dbMetrics{padding:18px 18px 20px}.qyConnHead{padding:18px 20px 16px}.qyConnBody{padding:16px 20px 20px}.qyConnGrid{grid-template-columns:minmax(0,1fr)}.qyConnMeta{margin-left:0;width:100%}}@media (max-width:760px){.dbStatusItem{padding:15px 18px 16px}.dbStatusValue{font-size:17.5px}.dbFilterBar{margin:18px 0 16px}.dbChips{width:100%;border-radius:16px;padding:6px;gap:6px}.dbChip{flex:1 1 auto;min-height:40px;padding:0 12px;font-size:14.5px}.dbScopeHint{width:100%;font-size:13.5px}.dbCompanyHead{gap:12px;padding:18px 18px 16px}.dbCompanyBadge{width:42px;height:42px;border-radius:12px;font-size:16.5px}.dbCompanyTitle{font-size:19.5px}.dbCompanyMain{flex:1 1 100%}.dbCompanyState{width:100%}.dbMetrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px 16px 18px}.dbMetric{padding:15px 15px 14px}.dbMetricValue{font-size:34px}.dbMetric:last-child:nth-child(odd){grid-column:1/-1}.dbConsumeDaysScroll{min-height:140px}.qyConnStatus{align-items:flex-start;width:100%}.qyConnActions .btn{flex:1 1 auto}.qyConnActions .qyConnDanger{flex:0 0 auto}}@media (max-width:480px){.dbStatusItem{padding:13px 15px 14px}.dbStatusValue{font-size:16.5px}.dbMetricLabel{font-size:14px}.dbMetricValue{font-size:32px}.dbMetricBreakdownItem dd{font-size:15.5px}.dbCompanyTitle{font-size:18.5px}.dbConsumeDayDate{font-size:11.5px}.dbConsumeDayWeekday{font-size:11px}.dbConsumeDayAmount{font-size:12px}.dbRosterTable td,.dbRosterTable th{padding:6px 7px}.dbRosterNo{width:38px}.dbRosterTable td.dbRosterName,.dbRosterTable td.dbRosterProject{font-size:12px}.qyPasswordRow{flex-wrap:wrap}.qyPwdToggle{width:100%}}.dbMetricRevenue{padding:15px 16px 17px}.revCardHead{display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:12px}.revCardTitle{font-size:15px;font-weight:700;letter-spacing:-.012em;color:var(--ink)}.revCardHint{font-size:12px;font-weight:500;color:var(--faint);white-space:normal;overflow-wrap:anywhere;min-width:0}.revSource,.revSources{display:flex;flex-direction:column;min-width:0}.revSource{padding:4px 2px 14px}.revSourceHead{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;min-height:24px;margin-bottom:8px}.revSourceLabel{font-size:15px;font-weight:700;letter-spacing:.04em;color:var(--accent-ink)}.revSourceTag{flex:none;padding:1px 9px;border-radius:999px;border:1px solid #bfe7d6;background:var(--ok-soft);color:#0a6b47;font-size:11.5px;font-weight:600;white-space:nowrap}.revSourceTagOff{border-color:var(--line-soft);background:var(--surface-3);color:#7c9199}.revDivider{display:flex;align-items:center;gap:10px;margin:2px 0 12px;padding-top:13px;border-top:1px dashed var(--line-soft)}.revDividerText{font-weight:600;letter-spacing:.02em;line-height:1.5;color:var(--faint)}.revDividerText,.revNotice{font-size:12px;overflow-wrap:anywhere}.revNotice{margin-top:9px;line-height:1.62;color:#93a7ae}.revPayList{list-style:none;margin:9px 0 4px;padding:0;gap:6px}.revPayItem,.revPayList{display:flex;flex-direction:column;min-width:0}.revPayItem{gap:4px;padding:6px 9px;border:1px solid var(--line-soft);border-radius:8px;background:var(--surface-3)}.revPayHead{display:flex;align-items:baseline;justify-content:space-between;gap:6px;min-width:0}.revPayAmount{flex:none;font-size:12.5px;font-weight:700;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.revPaySigner{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center;font-size:11.5px;color:#5c7780;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.revPayMeta{min-width:0;font-size:11.5px;line-height:1.5;color:#7c9199;overflow-wrap:anywhere}.revPayStatus{flex:none;padding:1px 8px;border-radius:999px;border:1px solid var(--line-soft);background:#fff;font-size:11px;font-weight:600;color:#7c9199;white-space:nowrap}.revPayStatusBtn{cursor:pointer;color:#2f6f7d;border-color:#cbe4e8;background:#f2fbfb;transition:background .15s ease,border-color .15s ease,color .15s ease}.revPayStatusBtn:hover{background:#e4f6f7;border-color:#a9d8de}.revPayStatusBtn:focus-visible{outline:2px solid #7cc9d3;outline-offset:1px}.revDialogOverlay{position:fixed;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(18,38,44,.42);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.revDialog{display:flex;flex-direction:column;width:min(620px,100%);max-height:min(78vh,720px);border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 18px 48px rgba(16,42,48,.22);overflow:hidden}.revDialogHead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 18px 13px;border-bottom:1px solid var(--line-soft);background:linear-gradient(170deg,#ffffff,#f7fdfc)}.revDialogHeadMain{display:flex;flex-direction:column;gap:4px;min-width:0}.revDialogTitle{font-size:15px;font-weight:700;color:var(--ink);letter-spacing:-.01em}.revDialogAmount{font-size:13px;font-weight:700;color:#2f6f7d}.revDialogClose{flex:none;padding:5px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:12px;font-weight:600;color:#5b737b;cursor:pointer}.revDialogClose:hover{background:var(--surface-3)}.revDialogBody{display:flex;flex-direction:column;gap:10px;padding:16px 18px 18px;overflow-y:auto;min-height:0}.revDialogMeta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px 14px;gap:8px 14px;margin:0;padding:10px 12px;border:1px solid var(--line-soft);border-radius:10px;background:var(--surface-3)}.revDialogMeta dt{margin:0 0 2px;font-size:11px;font-weight:600;letter-spacing:.04em;color:var(--faint)}.revDialogMeta dd{margin:0;font-size:12.5px;font-weight:600;color:var(--ink);overflow-wrap:anywhere}.revDialogCaption{margin:0;font-size:12px;line-height:1.6;color:#7c9199}.revRawText{margin:0;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#fbfefd;font-family:PingFang SC,Microsoft YaHei,system-ui,sans-serif;font-size:13px;line-height:1.72;color:var(--ink);white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;max-height:44vh;overflow-y:auto}.revDialogActions{display:flex;gap:10px;justify-content:flex-end}.revDialogBtn{padding:7px 16px;border:1px solid #b7dde2;border-radius:999px;background:#eaf7f8;font-size:12.5px;font-weight:700;color:#235f6b;cursor:pointer}.revDialogBtn:hover{background:#dcf2f4}.revDialogBtnGhost{border-color:var(--line);background:#fff;color:#5b737b;font-weight:600}.dbMetricRevenue .dbMetricValue{font-size:clamp(30px,2.5vw,40px)}@media (max-width:760px){.dbStatus{grid-template-columns:repeat(2,minmax(0,1fr))}.revCardHint{width:100%;white-space:normal}}@media (max-width:480px){.dbMetricRevenue{padding:13px 13px 15px}.revSourceTag{font-size:11px}}.dbPeriodBar{margin-top:18px;padding:16px 20px 18px;background:linear-gradient(170deg,#ffffff,#f4fbfa);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-card)}.dbPeriodBarHead{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:14px}.dbPeriodBarTitle{font-size:16px;font-weight:700;letter-spacing:-.01em;color:var(--ink)}.dbPeriodBarHint{font-size:13px;color:var(--faint)}.periodControl{gap:16px 22px}.dbPeriodRow,.periodControl{display:flex;align-items:flex-end;flex-wrap:wrap}.dbPeriodRow{justify-content:space-between;gap:14px 22px}.dbPeriodRow .periodControl{flex:1 1 520px}.dbFetchAction{display:flex;flex-direction:column;gap:7px;margin-left:auto;min-width:0}.dbFetchBtn{min-height:44px;padding:0 22px;gap:8px;font-size:15.5px;font-weight:700;border-radius:13px;letter-spacing:.01em;box-shadow:0 10px 22px rgba(10,154,140,.26)}.dbFetchBtn:hover:not(:disabled){box-shadow:0 12px 26px rgba(10,154,140,.32)}.dbFetchBtn:disabled{opacity:.72;cursor:progress}.dbFetchBtnBusy{background:linear-gradient(150deg,#35c6b6,#17a596)}.dbFetchSpinner{flex:none;width:15px;height:15px;border:2px solid rgba(255,255,255,.42);border-top-color:#ffffff;border-radius:50%;animation:qySpin .8s linear infinite}.dbFetchFeedback{flex-basis:100%;margin:0;font-size:13px;line-height:1.6;color:var(--faint);overflow-wrap:anywhere}.dbFetchFeedback-ok{color:var(--accent-ink);font-weight:600}.dbFetchFeedback-warn{color:#9a6b18;font-weight:600}.dbFetchFeedback-bad{color:var(--danger,#d23b3b);font-weight:600}.periodField{display:flex;flex-direction:column;gap:7px;min-width:0}.periodFieldRange{justify-content:flex-end}.periodLabel{font-size:13px;font-weight:600;letter-spacing:.06em;color:var(--faint)}.periodDate,.periodSelect{min-height:40px;padding:0 12px;border:1px solid var(--line);border-radius:12px;background:#ffffff;color:var(--ink);font-size:15px;font-weight:500;transition:border-color .14s ease,box-shadow .14s ease}.periodSelect{min-width:132px;cursor:pointer}.periodDate{min-width:168px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.periodDate:hover,.periodSelect:hover{border-color:#a9dcd4}.periodDate:focus,.periodSelect:focus{outline:none;border-color:var(--accent-ink);box-shadow:0 0 0 3px var(--accent-soft-2)}.periodDate:disabled,.periodSelect:disabled{background:var(--surface-3);color:#93a7ae;cursor:not-allowed}.periodRangeText{font-size:14px;font-weight:600;color:var(--accent-ink);letter-spacing:-.005em;white-space:nowrap}.periodCustomTag{font-size:12px;font-weight:600;color:var(--warn-ink,#b06a00);letter-spacing:.02em}.periodError{flex-basis:100%;margin:0;font-size:13px;font-weight:600;line-height:1.5;color:var(--danger,#d23b3b)}@media (max-width:760px){.periodControl{gap:12px 16px}.periodFieldRange{justify-content:flex-start;width:100%}.periodDate,.periodSelect{width:100%}.dbPeriodRow{gap:12px 16px}.dbFetchAction{margin-left:0;width:100%}.dbFetchBtn{width:100%}}.dbSourceBar{margin-top:18px;padding:16px 20px 18px;background:linear-gradient(170deg,#ffffff,#f4fbfa);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-card)}.dbSourceBarHead{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:14px}.dbSourceBarTitle{font-size:16px;font-weight:700;letter-spacing:-.01em;color:var(--ink)}.dbSourceBarHint{font-size:13px;color:var(--faint);overflow-wrap:anywhere}.dbSourceChips{display:flex;flex-wrap:wrap;gap:10px}.dbSourceChip{display:inline-flex;align-items:center;gap:9px;min-height:42px;padding:0 15px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.82);color:var(--muted);font-size:14.5px;cursor:pointer;transition:background .14s ease,color .14s ease,border-color .14s ease,box-shadow .14s ease}.dbSourceChip:hover{border-color:#a9dcd4;color:var(--ink)}.dbSourceChip input{accent-color:var(--accent);width:16px;height:16px;cursor:pointer;flex:none}.dbSourceChip input:disabled{cursor:not-allowed}.dbSourceChipDot{flex:none;width:8px;height:8px;border-radius:50%;background:#c6d6da}.dbSourceChipLabel{font-weight:600;white-space:nowrap}.dbSourceChipState{flex:none;font-size:12px;font-weight:600;color:var(--faint)}.dbSourceChipOn{border-color:#a9dcd4;background:#ffffff;color:var(--accent-ink);box-shadow:0 2px 10px rgba(10,154,140,.12)}.dbSourceChipOn .dbSourceChipDot{background:var(--accent);box-shadow:0 0 0 3px rgba(10,154,140,.14)}.dbSourceChipOn .dbSourceChipState,.dbSourceSummary{color:var(--accent-ink)}.dbSourceSummary{margin:14px 0 0;font-size:14px;font-weight:600;line-height:1.6;overflow-wrap:anywhere}.dbSourceSummaryEmpty{color:#9a6b18}.dbSourceEmptyHint{margin:6px 0 0;font-size:13px;line-height:1.6;color:var(--faint)}.dbSourceEmptyHint,.dbStatusItem .dbStatusLabel{overflow-wrap:anywhere}.dbMetricNotSelected{background:linear-gradient(180deg,#fdfefe,#f7fbfb)}.dbMetricValueText{font-size:19px!important;font-weight:600;letter-spacing:0;color:#8a9fa8;line-height:1.5}.dbMetricAllSourcesOff .revSources{gap:4px}.dbMetricNoteLead{font-size:13.5px;color:var(--muted);font-weight:600}.revSourceNotSelected{padding:6px 2px 12px}.revSourceTagBad{border-color:#f0c9c5;background:var(--danger-soft);color:#96322a}@media (max-width:760px){.dbSourceBar{padding:15px 16px 16px}.dbSourceBarHint{width:100%}.dbSourceChips{gap:8px}.dbSourceChip{flex:1 1 100%;justify-content:flex-start}}@media (max-width:480px){.dbSourceChipLabel{white-space:normal}.dbMetricValueText{font-size:17px!important}}.dbControlPanel{margin-top:18px;padding:18px 22px 20px;background:linear-gradient(170deg,#ffffff,#f4fbfa);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-card)}.dbControlHead{display:flex;align-items:center;justify-content:space-between;gap:12px}.dbControlTitle{font-size:17px;font-weight:700;letter-spacing:-.01em;color:var(--ink)}.dbStepBadge{display:inline-flex;align-items:center;justify-content:center;flex:none;width:20px;height:20px;border-radius:50%;background:var(--accent-soft-2);color:var(--accent-ink);font-size:12px;font-weight:700}.dbControlPanel .dbPeriodBar,.dbControlPanel .dbSourceBar{margin-top:0;padding:14px 0;background:transparent;border:0;border-radius:0;box-shadow:none}.dbControlPanel .dbSourceBar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;border-bottom:1px solid var(--line-soft)}.dbControlPanel .dbPeriodBar{padding-bottom:0}.dbControlPanel .dbPeriodBarHead,.dbControlPanel .dbSourceBarHead{flex:1 1 100%;margin-bottom:10px}.dbControlPanel .dbPeriodBarHead{gap:8px}.dbControlPanel .dbSourceChips{flex:1 1 auto;gap:8px}.dbControlPanel .dbSourceSummary{flex:none;margin:0;padding:5px 11px;max-width:100%;border:1px solid #cfeae5;border-radius:999px;background:var(--accent-soft-2);font-size:12.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qyConn[data-connection-state=collapsed] .qyConnHead{align-items:center;padding:12px 24px;border-bottom:0}.qyConnHeadCompact .qyConnTitle{font-size:15px}.qyConnHeadCompact .qyConnHeadMain{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;flex:1 1 420px}.qyConnSummary{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;min-width:0}.qyConnSummaryItem{font-size:12.5px;color:var(--muted);white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.qyConnCompactActions{display:flex;flex:none;gap:8px}.qyConnCollapseBtn{flex:none}.qyAdvanced{border-top:1px dashed var(--line-soft);padding-top:12px;font-size:12.5px;color:var(--faint)}.qyAdvanced summary{cursor:pointer;font-weight:600;color:var(--muted);list-style:none}.qyAdvanced summary::-webkit-details-marker{display:none}.qyAdvanced summary:before{content:"▸ ";color:var(--accent)}.qyAdvanced[open] summary:before{content:"▾ "}.qyAdvanced>.qyField{margin-top:12px}.qyConnLoading{font-size:12.5px;color:var(--faint)}@media (max-width:760px){.dbControlPanel{padding:14px 16px 16px}.dbControlPanel .dbPeriodBar,.dbControlPanel .dbSourceBar{padding:13px 0}.dbControlPanel .dbSourceSummary{flex:1 1 100%}.qyConn[data-connection-state=collapsed] .qyConnHead{padding:12px 16px}.qyConnCompactActions{width:100%}}.dbProjectHeadcounts{margin-top:12px;padding:10px 12px;border:1px solid var(--line-soft);border-radius:12px;background:var(--surface-3)}.dbProjectHeadcountsHead{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:8px}.dbProjectHeadcountsTitle{font-size:13px;font-weight:700;color:var(--ink)}.dbProjectHeadcountsHint{font-size:11.5px;color:var(--faint);white-space:nowrap}.dbProjectList{list-style:none;margin:0;padding:0;max-height:380px;overflow-y:auto}.dbProjectItem{display:block;border-bottom:1px dashed var(--line-soft)}.dbProjectItem:last-child{border-bottom:none}.dbProjectRow{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 2px;background:transparent;border:none;border-radius:8px;font:inherit;color:inherit;text-align:left;cursor:default}.dbProjectRowClickable{cursor:pointer}.dbProjectRowClickable:hover{background:var(--accent-soft)}.dbProjectRowClickable:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.dbProjectDrillHint{margin-left:6px;font-size:11px;font-weight:600;color:var(--accent);opacity:0;transition:opacity .15s ease}.dbProjectRowClickable:focus-visible .dbProjectDrillHint,.dbProjectRowClickable:hover .dbProjectDrillHint{opacity:1}.dbProjectName{min-width:0;font-size:13.5px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dbProjectCount{flex-shrink:0;font-size:14.5px;font-weight:700;color:var(--accent-ink,var(--ink))}.dbProjectUnit{margin-left:2px;font-size:11px;font-weight:500;color:var(--faint)}.dbProjectEmpty{margin:4px 0 2px;padding:14px 4px;text-align:center;font-size:12.5px;line-height:1.6;color:var(--faint)}.dbProjectNote{margin:8px 0 0;font-size:11.5px;line-height:1.5;color:var(--faint)}.dbDrill{display:flex;flex-direction:column;gap:14px}.dbDrillCampus{border:1px solid var(--line-soft);border-radius:12px;overflow:hidden}.dbDrillCampusHead{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:8px 12px;background:var(--surface-3);border-bottom:1px solid var(--line-soft)}.dbDrillCampusName{font-size:14px;font-weight:700;color:var(--ink)}.dbDrillCampusCount{font-size:14px;font-weight:700;color:var(--accent-ink,var(--ink))}.dbDrillTableWrap{overflow-x:auto}.dbDrillTable{width:100%;border-collapse:collapse;font-size:13px}.dbDrillTable td,.dbDrillTable th{padding:7px 12px;text-align:left;border-bottom:1px solid var(--line-soft);white-space:nowrap}.dbDrillTable thead th{font-size:12px;font-weight:600;color:var(--faint);background:var(--surface-2)}.dbDrillTable tbody tr:last-child td{border-bottom:none}.dbDrillTable tbody tr:hover{background:var(--surface-3)}.dbDrillIdx{width:56px;text-align:center;color:var(--faint)}.revDeptStats{margin:14px 0 12px;padding:12px 14px;border:1px solid var(--line-soft);border-radius:12px;background:var(--surface-3)}.revDeptHead{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:10px}.revDeptGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.revDeptCell{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-radius:10px;background:var(--surface-1,#ffffff);border:1px solid var(--line-soft)}.revDeptCellLabel{font-size:12.5px;color:var(--faint)}.revDeptCellValue{font-size:17px;font-weight:700;color:var(--ink);line-height:1.2}.revDeptCellValue .unit{margin-left:2px;font-size:12px;font-weight:500;color:var(--faint)}.revDeptNote{margin:10px 0 0;font-size:11.5px;line-height:1.5;color:var(--faint)}@media (max-width:560px){.revDeptGrid{grid-template-columns:1fr}}