body{background:radial-gradient(circle at 72% 8%, #00ccff12, transparent 28%), radial-gradient(circle at 12% 60%, #00ccff0a, transparent 22%), var(--bg);color:var(--text);margin:0}html[data-theme=light] body{background:radial-gradient(circle at 72% 8%, #009fc70f, transparent 28%), radial-gradient(circle at 12% 60%, #009fc70a, transparent 22%), var(--bg)}html,body{overflow-x:clip}button,a,input,select{touch-action:manipulation}a{color:inherit;text-decoration:none}.app-shell.pulse-app-shell{min-height:calc(100dvh - var(--topbar-h))}.topbar.pulse-topbar{z-index:100;height:var(--topbar-h);min-height:var(--topbar-h);background:color-mix(in srgb, var(--bg-elev) 84%, transparent);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--line);flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:12px;padding:0 20px;display:flex;position:sticky;top:0}.topbar-l,.topbar-c,.topbar-r{align-items:center;gap:10px;min-width:0;display:flex}.topbar-c{flex:1;justify-content:center}.brand-logo{flex:none;width:54px;height:auto}.sidebar.pulse-sidebar{top:var(--topbar-h);z-index:50;width:var(--sidebar-w);height:calc(100dvh - var(--topbar-h));border-right:1px solid var(--line);background:var(--bg-elev-2);flex-direction:column;gap:2px;padding:18px 14px;display:flex;position:sticky;overflow:hidden auto}.content.pulse-content{min-height:calc(100dvh - var(--topbar-h));gap:20px;min-width:0;margin:0;padding:24px 32px 60px;display:grid}.nav{gap:4px;display:grid}.nav-item{min-height:40px}.section-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.page-title{font:800 28px/1.1 var(--display);color:var(--text);margin:2px 0 4px}.page-desc,.muted{color:var(--muted)}.panel,.card,.table-wrap,.filters-bar,.detail-grid,.kpi-card{min-width:0}.panel,.card{background:var(--bg-elev);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:20px}.grid{gap:16px;display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.kpi-note,.source-note{font:500 11px/1.4 var(--sans);color:var(--muted-2);margin-top:8px}.filters-bar{grid-template-columns:repeat(6,minmax(140px,1fr));align-items:end;gap:12px;display:grid}.field{gap:6px;display:grid}.field label{font:700 11px var(--mono);color:var(--text-cyan-muted);text-transform:uppercase;letter-spacing:.08em}.field input,.field select{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-elev-2);width:100%;min-height:38px;color:var(--text);font:500 13px var(--sans);padding:8px 10px}.segmented-control{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;min-height:38px;display:grid}.segmented-control button,.link-button{border:1px solid var(--line);background:var(--bg-elev-2);color:var(--text);cursor:pointer;font:700 12px var(--sans)}.segmented-control button{border-radius:var(--radius-sm)}.link-button{color:var(--cyan);text-align:left;background:0 0;border:0;padding:0}.segmented-control button:focus-visible,.link-button:focus-visible,.tab-btn:focus-visible,.icon-btn:focus-visible,.mobile-btn:focus-visible,.matrix-cell:focus-visible,.field input:focus-visible,.field select:focus-visible{outline:2px solid var(--cyan-night);outline-offset:2px}.table-wrap{overflow:auto}.data-table{border-collapse:collapse;width:100%;min-width:760px;font:500 13px var(--sans)}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:11px 10px}.data-table th{font:700 11px var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.matrix-table{table-layout:fixed;min-width:880px}.matrix-table th,.matrix-table td{text-align:center;padding:7px 6px}.matrix-table .matrix-person-col{text-align:left;z-index:1;background:var(--bg-elev);width:180px;position:sticky;left:0}.matrix-date-col{width:54px}.matrix-subtext{color:var(--muted-2);font:600 10px var(--mono);margin-top:3px;display:block}.matrix-cell{border-radius:var(--radius-sm);cursor:pointer;width:42px;height:28px;font:800 11px var(--mono);border:1px solid #0000;place-items:center;display:inline-grid}.matrix-green{background:var(--green-soft);color:var(--green)}.matrix-amber{background:var(--amber-soft);color:var(--amber)}.matrix-red{background:var(--red-soft);color:var(--red)}.matrix-muted{background:var(--bg-elev-2);color:var(--muted)}.compact-heading{margin-top:0;font-size:14px}.distribution-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 0;display:grid}.distribution-row:last-child{border-bottom:0}.distribution-row strong{text-overflow:ellipsis;white-space:nowrap;margin-bottom:6px;display:block;overflow:hidden}.distribution-grid{margin-top:18px}.distribution-table{min-width:680px}.distribution-table td:nth-child(2),.distribution-table td:nth-child(3),.distribution-table td:nth-child(4),.badge{white-space:nowrap}.badge-green{background:var(--green-soft);color:var(--green)}.badge-amber{background:var(--amber-soft);color:var(--amber)}.badge-red{background:var(--red-soft);color:var(--red)}.badge-purple{background:var(--purple-soft);color:var(--purple)}.tabs{flex-wrap:wrap;gap:8px;display:flex}.tab-btn,.icon-btn,.mobile-btn{cursor:pointer;border:none}.tab-btn{border-radius:var(--radius-pill);background:var(--bg-elev-2);color:var(--muted);font:700 12px var(--sans);padding:9px 13px}.tab-btn.is-active{background:var(--cyan-soft);color:var(--cyan)}.health-row,.alert-row,.setting-row,.person-detail-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.health-row:last-child,.alert-row:last-child,.setting-row:last-child,.person-detail-row:last-child{border-bottom:0}.person-work-row{align-items:flex-start}.person-work-row span{line-height:1.45}.person-work-row strong{white-space:nowrap;flex:none}.progress{border-radius:var(--radius-pill);background:var(--bg-elev-2);height:8px;overflow:hidden}.progress span{background:var(--cyan);height:100%;display:block}.module-placeholder{align-content:center;gap:16px;min-height:360px;display:grid}.mobile-btn{border-radius:var(--radius-sm);background:var(--bg-elev-2);width:34px;height:34px;color:var(--text);place-items:center;display:none}.mobile-btn svg,.icon-btn svg{width:18px;height:18px}.sb-backdrop{inset:var(--topbar-h) 0 0 0;z-index:40;background:#00000080;display:none;position:fixed}.sidebar-foot{color:var(--muted-2);font:600 10px/1.5 var(--mono);margin-top:auto;padding-top:14px}@media (max-width:1200px){.kpi-grid,.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.filters-bar{grid-template-columns:repeat(3,minmax(140px,1fr))}}@media (max-width:980px){.topbar-c{display:none}.mobile-btn{display:inline-grid}.app-shell.pulse-app-shell{grid-template-columns:minmax(0,1fr)}.sidebar.pulse-sidebar{top:var(--topbar-h);width:min(var(--sidebar-w), 86vw);height:calc(100dvh - var(--topbar-h));border-right:0;border-left:1px solid var(--line);transition:transform var(--tr,.18s ease);box-shadow:var(--shadow-lg);position:fixed;bottom:0;left:auto;right:0;transform:translate(100%)}.sidebar.pulse-sidebar.is-open{transform:translate(0)}.sb-backdrop.is-open{display:block}.content.pulse-content{padding:18px 16px 48px}}@media (max-width:700px){.kpi-grid,.grid-2,.grid-3,.filters-bar{grid-template-columns:1fr}.section-head,.health-row,.alert-row,.setting-row{flex-direction:column;align-items:flex-start}}
.login-brand .yiqi-login-logo{width:var(--login-logo-w,260px);max-width:100%;height:auto;color:var(--text)}.login-brand .yiqi-login-description{color:var(--muted);font:400 12px var(--sans);text-align:center;margin:8px 0 0}.login-field{gap:5px;display:grid}.auth-status[data-state=idle]{visibility:hidden}.auth-status[data-state=loading],.auth-status[data-state=info]{color:var(--cyan);border-color:var(--cyan-a28)}.login-password{display:block;position:relative}.login-password .login-input{padding-right:44px}.login-eye{width:34px;height:34px;color:var(--muted-2);cursor:pointer;background:0 0;border:0;place-items:center;display:grid;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.login-eye:hover{color:var(--cyan)}.login-eye svg,.login-spinner{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:18px;height:18px}.login-spinner{animation:.76s linear infinite yiqi-login-spin}.login-remember{color:var(--muted);cursor:pointer;font:500 12px var(--sans);align-items:center;gap:9px;display:flex}.login-remember input{width:15px;height:15px;accent-color:var(--cyan)}.login-footer{color:var(--muted-2);font:500 11px var(--mono);text-align:center;text-decoration:none}button.login-hint{cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;justify-self:start;padding:0}.login-screen input:-webkit-autofill{-webkit-text-fill-color:var(--text);-webkit-box-shadow:0 0 0 1000px var(--bg-elev) inset;caret-color:var(--text);transition:background-color 9999s ease-in-out}.login-screen input:-webkit-autofill:hover{-webkit-text-fill-color:var(--text);-webkit-box-shadow:0 0 0 1000px var(--bg-elev) inset;caret-color:var(--text);transition:background-color 9999s ease-in-out}.login-screen input:-webkit-autofill:focus{-webkit-text-fill-color:var(--text);-webkit-box-shadow:0 0 0 1000px var(--bg-elev) inset;caret-color:var(--text);transition:background-color 9999s ease-in-out}@keyframes yiqi-login-spin{to{transform:rotate(360deg)}}
