@charset "UTF-8";
:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:#203843;background:#f1f5f8;font-size:16px;font-synthesis:none;--ink:#203843;--muted:#73848e;--line:#e6edf1;--teal:#09867e;--blue:#3b73cf;--nav:#12333e;--red:#c75a54;--amber:#af7c29}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:default;opacity:.6}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #71bcf0;outline-offset:3px}h1,h2,h3,p{margin:0}.icon{width:20px;height:20px;flex-shrink:0;vertical-align:middle}.sidebar{width:224px;background:var(--nav);color:#aec2c8;position:fixed;inset:0 auto 0 0;z-index:30;display:flex;flex-direction:column;padding:29px 18px 18px}.brand{display:flex;align-items:center;gap:12px;color:#fff;font-size:19px;font-weight:650;letter-spacing:.5px;padding:0 10px 36px}.brand small{display:block;color:#8eafb8;font-size:12px;font-weight:400;letter-spacing:2px;margin-top:7px}.brand-mark{width:39px;height:39px;border-radius:11px;background:#168d83;color:white;display:flex;justify-content:center;align-items:center;flex-shrink:0}.brand-mark .icon{width:23px;height:23px}.nav-label{font-size:12px;letter-spacing:1.5px;color:#7798a4;margin:0 17px 14px}.nav-item{display:flex;align-items:center;gap:12px;padding:13px 15px;border-radius:8px;margin-bottom:7px;font-size:14px;transition:background .15s,color .15s}.nav-item:hover{background:#234750;color:white}.nav-item.active{background:#1c5b61;color:#fff}.nav-item.active .icon{color:#72d0c0}.nav-item em{font-style:normal;font-size:11px;padding:2px 6px;background:#4f5554;color:#ecc2a0;border-radius:5px;margin-left:auto}.nav-separator{height:1px;background:#294953;margin:24px 12px 20px}.sidebar-bottom{margin-top:auto}.daily-badge{border:1px solid #34535e;border-radius:10px;display:flex;gap:10px;padding:15px 12px;font-size:13px;line-height:1.5}.daily-badge small{display:block;color:#85a8b2;font-size:12px;margin-top:3px}.daily-badge .icon{color:#65b4a7}.profile{display:flex;gap:10px;align-items:center;padding:22px 8px 0;font-size:12px;color:#d3e0e5}.profile>span{background:#2a4c59;border:1px solid #46616b;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;font-size:14px}.profile small{display:block;color:#7e9ca7;margin-top:5px;font-size:11px}.workspace{margin-left:224px}.topbar{height:70px;background:#fff;border-bottom:1px solid var(--line);padding:0 34px;display:flex;align-items:center;justify-content:space-between;font-size:13px;color:#607784}.topbar i{font-style:normal;padding:0 13px;color:#bdc9cf}.topbar>div{display:flex;align-items:center;gap:9px}.topbar .today{margin-right:16px;font-size:12px}.topbar .icon{width:16px;color:var(--teal)}.topbar b{font-size:12px;font-weight:500}.mobile-menu{display:none!important}main{max-width:1730px;margin:auto;padding:31px 34px 20px}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;gap:20px}.eyebrow{font-size:10px;letter-spacing:2px;color:#74909b;font-weight:650;margin-bottom:9px}h1{font-size:27px;font-weight:650;letter-spacing:1px;line-height:1.3}.heading-actions{display:flex;gap:9px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #dbe5ea;background:white;color:#456170;border-radius:7px;padding:9px 14px;font-size:13px;min-height:38px;transition:background .15s,transform .15s}.button:hover{background:#f4f9fa}.button.primary{background:#09867e;color:white;border-color:#09867e}.button.primary:hover{background:#08716b}.button .icon{width:16px;height:16px}.icon-button{border:0;background:transparent;color:inherit;display:inline-grid;place-items:center;padding:8px}.preview-banner{display:flex;align-items:center;gap:9px;padding:9px 12px;background:#e9f2f6;color:#5c7685;border:1px solid #dce8ed;border-radius:7px;margin-bottom:22px;font-size:12px}.preview-banner>.icon{width:15px;height:15px}.preview-banner>.tag{margin-left:auto}.tag{display:inline-flex;align-items:center;border-radius:5px;padding:3px 7px;font-size:11px;line-height:1.5;white-space:nowrap;background:#edf1f5;color:#6a7e8a;font-weight:500}.tag.green{background:#e5f4ef;color:#228575}.tag.amber{background:#fff3de;color:#ae7e2e}.tag.red{background:#fceceb;color:#c15f57}.tag.blue{background:#eaf1fd;color:#4c77bc}.overview-meta{display:flex;align-items:center;gap:21px;font-size:12px;color:#7b8e97;margin-bottom:15px}.overview-meta>span{display:flex;align-items:center;gap:6px}.overview-meta>span:first-child{font-weight:600;color:#56717b}.overview-meta .icon{width:14px;height:14px}.period-note{margin-left:auto}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:23px}.metric{padding:21px 21px 17px;background:white;border:1px solid var(--line);border-radius:11px;position:relative;min-height:154px;overflow:hidden;box-shadow:0 2px 3px #25465c02}.metric-label{font-size:13px;color:#667f8b;display:flex;align-items:center;gap:6px}.metric-number{display:flex;align-items:baseline;gap:7px;color:#194f54;font-size:clamp(25px,2.25vw,37px);letter-spacing:-1px;font-weight:650;font-variant-numeric:tabular-nums;line-height:1.6;margin-top:3px;white-space:nowrap}.metric-number small{font-size:12px;font-weight:400;letter-spacing:0;color:#8a9ba4}.metric.blue .metric-number{color:#305c8a}.metric.violet .metric-number{color:#615d82}.metric-bottom{display:flex;justify-content:space-between;gap:4px;flex-wrap:wrap;color:#6f8590;font-size:11px;margin-top:6px;min-height:22px;align-items:center}.metric-bottom span{color:#8b9da6;font-size:11px}.metric-bottom b{font-weight:550;color:#53717d}.meter{height:3px;background:#e9f2f0;border-radius:3px;margin-top:13px}.meter>i{height:100%;display:block;border-radius:3px;background:#23a493}.metric.blue .meter{background:#e8eef8}.metric.blue .meter i{background:#5e8cda}.main-grid{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(0,1fr);gap:22px;margin-bottom:22px}.panel{border-radius:11px;background:white;border:1px solid var(--line);overflow:hidden;height:100%}.panel-heading{display:flex;justify-content:space-between;align-items:flex-start;padding:22px 23px 17px;gap:12px}.panel-heading h2{font-size:16px;font-weight:650;letter-spacing:.3px;line-height:1.5}.panel-heading p{font-size:12px;line-height:1.6;color:#8a9aa4;margin-top:4px}.text-link{display:inline-flex;align-items:center;gap:5px;font-size:12px;white-space:nowrap;color:#67828f;padding-top:3px}.text-link:hover{color:#07827b}.text-link .icon{width:14px;height:14px}.goals{padding:0 23px 5px}.goal-row{padding:15px 0 19px}.goal-row+.goal-row{border-top:1px dashed #e5ecef}.goal-title{display:flex;justify-content:space-between;margin-bottom:12px;font-size:13px}.goal-title b{font-weight:550}.goal-title span{font-size:16px;font-weight:650;letter-spacing:.2px}.teal{color:var(--teal)}.blue{color:var(--blue)}.goal-track{height:10px;background:#edf2f5;border-radius:3px;overflow:hidden}.goal-fill{height:100%;transition:width .5s}.goal-fill.teal{background:linear-gradient(90deg,#34b3a7,#0e8e84)}.goal-fill.blue{background:linear-gradient(90deg,#90aee5,#537fc4)}.goal-meta{display:flex;justify-content:space-between;font-size:11px;color:#80949d;margin-top:11px;gap:12px;line-height:1.5}.goal-meta b{font-weight:500;color:#4b6875}.goal-row>small{display:block;color:#9aabb1;font-size:11px;margin-top:7px}.goal-footer{display:flex;align-items:center;gap:7px;background:#fafcfd;border-top:1px solid #eef3f5;padding:11px 23px;color:#95a3ac;font-size:11px}.goal-footer .icon{width:13px;height:13px}.risk-count{color:var(--red);font-weight:600}.risk-row{display:flex;align-items:center;padding:15px 22px;gap:10px;border-top:1px solid #eff3f5;transition:background .15s}.risk-row:hover{background:#fafcfd}.risk-icon{width:31px;height:33px;display:grid;place-items:center;border-radius:7px;flex-shrink:0}.risk-icon.red{color:#c96460;background:#fdf0ed}.risk-icon.amber{color:#b8883c;background:#fff5e6}.risk-icon .icon{width:15px;height:15px}.risk-row b{font-size:13px;font-weight:550;line-height:1.4}.risk-row p{font-size:11px;color:#8e9fa7;margin-top:5px}.risk-value{margin-left:auto;font-size:15px;font-weight:600;color:#586f7c;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.risk-value small{display:block;font-size:10px;color:#92a2aa;font-weight:400;margin-top:3px}.risk-row>.icon{width:14px;color:#a1b3be;margin-left:4px}.area-chart{padding:0 23px 15px}.area-line{display:flex;align-items:center;gap:12px;font-size:12px;padding:13px 0}.area-line:hover b{color:var(--teal)}.area-rank{font-variant-numeric:tabular-nums;font-size:10px;color:#a6b5bd}.area-line b{font-weight:500;min-width:65px}.area-track{height:10px;background:#f1f5f7;flex:1;position:relative;border-radius:2px}.area-track i{height:100%;display:block;background:#6db6b2;border-radius:2px}.area-track em{position:absolute;height:16px;width:2px;top:-3px;background:#95a7b2;transform:translateX(-1px)}.area-line strong{font-size:12px;min-width:48px;text-align:right;font-weight:600;color:#536e7b}.chart-legend{display:flex;justify-content:center;gap:25px;font-size:11px;color:#8ea1aa;padding-bottom:20px}.chart-legend>span{display:flex;align-items:center;gap:7px}.chart-legend i{width:9px;height:9px;background:#6db6b2;border-radius:2px}.chart-legend i.target{width:2px;background:#95a7b2;height:11px}.pending-card{margin:4px 22px 13px;display:flex;align-items:center;gap:11px;background:#f9fbfc;border:1px solid #edf2f5;border-radius:8px;padding:16px}.pending-icon{background:#eaf0f5;border-radius:8px;color:#91a5b2;width:37px;height:37px;display:grid;place-items:center}.pending-icon .icon{width:19px}.pending-card b{font-weight:550;font-size:13px}.pending-card p{margin-top:5px;color:#8f9fab;font-size:11px}.pending-card>.tag{margin-left:auto}.panel-note{font-size:11px;color:#8e9faa;line-height:1.8;margin:14px 24px 22px}.source-strip{display:flex;gap:21px;align-items:center;padding:14px 19px;background:#e9eff3;border:1px solid #e0e9ee;border-radius:8px;font-size:11px;color:#81959f;margin-top:27px;flex-wrap:wrap}.source-strip>div{display:flex;gap:10px;align-items:center}.source-strip b{font-weight:500;color:#647f8d}.status-dot{width:5px;height:5px;background:#48a793;border-radius:50%}.status-dot.warning{background:#c99850}.source-strip>a{margin-left:auto;display:flex;align-items:center;gap:5px}.source-strip .icon{width:13px}footer{display:flex;justify-content:space-between;color:#a1afb6;font-size:10px;padding-top:19px;letter-spacing:.3px}.loading-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px;color:#718692}.loading-screen h1{color:var(--ink)}.empty{padding:40px 22px;text-align:center;color:#8ea2ac}.empty>.icon{width:32px;height:32px;color:#9ab2bf;margin-bottom:15px}.empty h3{font-size:15px;font-weight:550;color:#617e8d;margin-bottom:10px}.empty p{font-size:13px;line-height:1.8;max-width:340px;margin:auto}.login-wrap{min-height:100vh;display:grid;place-items:center;background:radial-gradient(ellipse at top right,#d8ebe8,transparent 60%),#f0f5f8;padding:25px}.login-card{background:white;border:1px solid #e2ebed;padding:46px 42px;max-width:440px;border-radius:20px;box-shadow:0 16px 50px #2c536312}.login-card>.brand-mark{margin-bottom:28px}.login-card h1{margin-bottom:18px}.login-card>p{font-size:14px;line-height:1.8;color:#7d929c}.login-notice{display:flex;gap:10px;font-size:13px;line-height:1.8;color:#547c80;background:#f0f8f6;padding:15px;margin:25px 0;border-radius:8px}.login-card .button{width:100%;padding:12px}.login-card .muted{margin-top:20px;font-size:12px}.error-text{color:#ba625e!important}#toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,20px);z-index:100;pointer-events:none;background:#214b55;color:white;border-radius:9px;padding:14px 22px;box-shadow:0 5px 20px #25475322;font-size:14px;opacity:0;transition:.2s;max-width:90vw}#toast.show{opacity:1;transform:translate(-50%,0)}#toast.error{background:#914641}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#page-content{animation:appear .25s ease-out}@keyframes appear{from{opacity:.3;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){main{padding:35px 46px}.metric-number{font-size:40px}.metric{min-height:168px}.risk-row{padding:18px 23px}}
@media(max-width:1200px){.sidebar{width:196px;padding-left:12px;padding-right:12px}.workspace{margin-left:196px}main{padding:26px 24px}.brand{font-size:16px;gap:8px;padding-left:8px}.brand-mark{width:33px;height:33px}.topbar{padding:0 24px}.metrics{gap:12px}.metric{padding:18px 16px}.metric-bottom{font-size:10px}.metric-bottom span{font-size:10px}.main-grid{gap:16px}.panel-heading{padding:20px 18px 16px}.goals{padding:0 18px}.risk-row{padding:14px 17px}.risk-row>.icon{display:none}.pending-card{margin-left:17px;margin-right:17px;padding:13px}.overview-meta{gap:15px}.period-note{display:none!important}}
@media(max-width:1000px){.sidebar{width:180px}.workspace{margin-left:180px}.main-grid{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-number{font-size:33px}.topbar .today{display:none}.risk-row{padding:16px 21px}.goal-row{padding:18px 0 22px}.source-strip{gap:12px}.source-strip>a{margin-left:0}.overview-meta{flex-wrap:wrap}.sidebar .brand{font-size:15px}.nav-item{padding-left:12px;font-size:13px}.nav-item .icon{width:18px}.daily-badge{font-size:12px;padding:12px 9px}}
@media(max-width:720px){.sidebar{transform:translateX(-100%);transition:transform .2s;width:224px}.nav-open .sidebar{transform:translateX(0);box-shadow:100px 0 0 100vw #10323e33}.workspace{margin-left:0}.topbar{height:58px;padding:0 16px;gap:7px;font-size:11px;position:sticky;top:0;z-index:20}.topbar>span{margin-right:auto}.topbar i{padding:0 7px}.topbar b{font-size:11px}.mobile-menu{display:inline-grid!important;margin-left:-6px}.topbar>div>.icon{display:none}.topbar>div{gap:5px}main{padding:21px 16px}.page-heading{align-items:flex-start;gap:8px;margin-bottom:17px}h1{font-size:23px}.eyebrow{font-size:9px;letter-spacing:1.5px}.heading-actions{gap:7px;margin-top:15px}.heading-actions>a{display:none}.button{font-size:12px;padding:8px 10px}.preview-banner{font-size:10px;gap:6px;line-height:1.6;padding:9px 10px;margin-bottom:17px}.preview-banner>.tag{display:none}.overview-meta{font-size:10px;gap:11px;margin-bottom:13px}.overview-meta .icon{width:12px}.metrics{gap:11px;margin-bottom:17px}.metric{min-height:143px;padding:16px 14px;border-radius:10px}.metric-label{font-size:12px}.metric-number{font-size:29px;line-height:1.6;letter-spacing:-.6px;gap:4px}.metric-number small{font-size:10px}.metric-bottom{font-size:10px;gap:5px}.metric-bottom span{font-size:10px}.metric-bottom .tag{font-size:9px;padding:2px 4px}.meter{margin-top:11px}.main-grid{gap:17px;margin-bottom:17px}.panel-heading{padding:18px 17px 13px}.panel-heading h2{font-size:15px}.panel-heading p{font-size:11px}.panel-heading .text-link{font-size:11px}.goals{padding:0 17px}.goal-title{font-size:12px}.goal-title span{font-size:15px}.goal-meta{font-size:10px;gap:6px}.goal-footer{font-size:10px;padding:11px 16px;line-height:1.5}.goal-row>small{font-size:10px}.area-chart{padding-left:16px;padding-right:16px}.area-line{gap:9px}.area-line b{min-width:60px;font-size:12px}.risk-row{padding:15px 17px}.risk-row b{font-size:13px}.risk-row p{font-size:10px}.risk-value{font-size:14px}.risk-value small{font-size:9px}.pending-card{margin:3px 16px 13px;padding:14px 12px}.source-strip{margin-top:20px;gap:12px;padding:13px;font-size:10px}.source-strip>div{gap:7px;flex-wrap:wrap}.source-strip .tag{font-size:9px}.source-strip>a{font-size:11px}footer{font-size:9px;gap:10px;line-height:1.7}.login-card{padding:30px 25px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Heng Tai identity: retain the original lockup and mission artwork. */
:root{--ink:#24364e;--muted:#6e7e94;--line:#e4eaf2;--teal:#164992;--blue:#3b70c7;--nav:#102d61;--red:#c73d52;--amber:#ad792a;color:var(--ink);background:#f3f5f9}
.sidebar{background:linear-gradient(165deg,#08275a,#173b72);overflow-y:auto;padding-top:22px}
.brand{padding:0 3px 24px;display:block}.brand-lockup{background:white;border-radius:9px;padding:13px 12px 11px}.brand-lockup img{display:block;width:100%;height:auto}.brand-lockup span{display:block;color:#728098;font-size:11px;font-weight:500;letter-spacing:3px;margin-top:10px;text-align:center}.nav-label{color:#809bc6}.nav-item.active{background:#2b518c;box-shadow:inset 3px 0 #7dabea}.nav-item.active .icon{color:#b8d3ff}.nav-item:hover{background:#254777}.nav-item em{background:#75435c;color:#ffd3d9}.nav-separator{background:#35517c;margin:13px 12px}.nav-item{padding-top:11px;padding-bottom:11px;margin-bottom:5px}.daily-badge{border-color:#405b84;margin-top:20px}.daily-badge .icon{color:#adc9f6}.daily-badge small{color:#a5bad8}.profile>span{background:#35598b;border-color:#5273a2}.profile small{color:#9db3d3}
.button.primary{background:#143e82;border-color:#143e82}.button.primary:hover{background:#092c66}.button{border-color:#d5deec;border-radius:8px;min-height:40px}.text-link:hover{color:#183f80}.metric-number{color:#123a77}.meter i{background:#376bb2}.metric .meter{background:#e9eff8}.goal-fill.teal{background:linear-gradient(90deg,#6996d6,#1c4b92)}.area-track i,.chart-legend i{background:#779bcf}.metric-bottom,.metric-bottom span,.goal-meta,.panel-heading p{font-size:12px}.risk-row p{font-size:12px;line-height:1.5}.metric.violet .metric-number{color:#596385}.topbar{color:#65758a}.preview-banner{background:#eaf0fa;border-color:#dce5f3;color:#596f94}footer{align-items:center;padding:22px 0 8px;gap:20px}footer img{width:240px;max-width:55%;height:auto;mix-blend-mode:multiply;opacity:.85}footer span{font-size:11px}.login-brand{width:100%;height:auto;margin-bottom:28px}.login-wrap{background:radial-gradient(ellipse at top right,#dce7f8,transparent 60%),#f0f4f9}.login-notice{background:#f0f4fb;color:#4e648b}
.section-intro{display:flex;align-items:center;gap:12px;margin-bottom:22px;color:#6d7f95;font-size:13px;line-height:1.8;flex-wrap:wrap}.section-intro>a{margin-left:auto}.notice{display:flex;align-items:flex-start;gap:10px;background:#f5f0e7;color:#8c6a32;border:1px solid #eae0cf;border-radius:8px;padding:13px 16px;font-size:13px;line-height:1.8;margin-bottom:18px}.notice>.icon{width:17px;height:19px;margin-top:2px}.notice.compact{font-size:12px;padding:11px 13px;background:#f1f5fa;color:#687c96;border-color:#e2e9f3}.muted{color:#78889c;font-size:12px}.filters{display:flex;align-items:center;gap:15px;padding:8px 23px 21px;flex-wrap:wrap}.filters>label{display:flex;align-items:center;gap:9px;font-size:12px;color:#728099}.filters select,.search-box{border:1px solid #dce4ef;border-radius:7px;min-height:38px;background:#fff}.filters select{padding:7px 10px;color:var(--ink);max-width:190px}.search-box{padding:0 10px;flex:1;max-width:310px}.search-box>.icon{width:16px;color:#93a3b6}.search-box input{border:0;min-height:36px;width:100%;font-size:13px;min-width:50px;background:transparent}.filter-count{margin-left:auto;font-size:12px;color:#8492a5}.table-wrap{width:100%;overflow-x:auto;overscroll-behavior-x:contain}table{border-collapse:collapse;width:100%;font-size:13px;white-space:nowrap;text-align:left}th{font-size:12px;font-weight:550;color:#74849b;background:#f7f9fc;padding:13px 20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}td{padding:17px 20px;border-bottom:1px solid #edf1f6;color:#42546c}td small{display:block;color:#94a0b2;font-size:11px;margin-top:6px}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fafbfd}.project-name{font-weight:550;color:#244671}.numeric{font-variant-numeric:tabular-nums;font-weight:600}.table-rate{display:flex;gap:7px;align-items:baseline;font-size:13px}.table-rate span{font-size:11px;color:#98a4b5}.small-meter{height:4px;background:#edf1f7;border-radius:4px;overflow:hidden;margin-top:10px;max-width:200px}.small-meter i{display:block;height:100%;background:#4c7bbd;border-radius:4px}.no-results{text-align:center;height:120px;color:#8a98aa}.business-bars{margin-bottom:22px}.category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px 35px;padding:3px 24px 13px}.category-item>div:first-child{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:#677b97}.category-item b{font-size:14px;font-weight:600;color:#3b587d}.category-item small{font-size:10px;color:#9aa7b8;font-weight:400}.category-item .small-meter{max-width:none}
.risk-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin:22px 0}.summary-tile{padding:22px;background:white;border:1px solid var(--line);border-radius:11px;display:flex;flex-direction:column;gap:8px}.summary-tile b{font-size:32px;color:#1f467e;font-weight:600}.summary-tile.red b{color:#c33b50}.summary-tile span{font-size:13px;color:#7d8da3}.tabs,.settings-tabs{display:flex;align-items:center;gap:20px;padding:0 24px;border-bottom:1px solid var(--line);overflow-x:auto;white-space:nowrap}.tabs a,.settings-tabs a{padding:15px 2px;font-size:13px;color:#7b8ca3;position:relative}.tabs .selected,.settings-tabs .selected{color:#164788;font-weight:600}.tabs .selected:after,.settings-tabs .selected:after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:#1c4b8f;border-radius:2px}.risk-detail-row{padding:23px 25px;border-bottom:1px solid var(--line)}.risk-detail-row:last-child{border:0}.risk-detail-row>div:first-child{display:flex;align-items:center;gap:12px}.risk-detail-row b{font-size:15px;font-weight:600}.risk-detail-row span:not(.tag){color:#8a98ac;font-size:12px}.risk-detail-row p{font-size:13px;color:#5e728f;line-height:1.9;margin:13px 0}.risk-detail-row strong{color:#2c5085}.risk-bottom{display:flex;justify-content:space-between;gap:12px;align-items:center}.risk-bottom small{color:#91a0b5;font-size:11px}.scope-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;padding:10px 24px 28px}.scope-grid .icon{color:#527cb6;width:26px;height:26px;margin-bottom:15px}.scope-grid h3{font-size:15px;margin-bottom:10px;font-weight:550}.scope-grid p{font-size:13px;line-height:1.9;color:#8292a6}
.report-layout,.history-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:24px;align-items:start}.digest{background:#fff;border:1px solid var(--line);border-radius:12px;padding:30px 34px;box-shadow:0 4px 18px #28457005}.digest-brand{display:flex;align-items:center;justify-content:space-between;padding-bottom:25px;border-bottom:2px solid #183d78;margin-bottom:25px;gap:20px}.digest-brand img{width:220px;max-width:70%;height:auto}.digest h2{font-size:21px;line-height:1.6;margin-bottom:12px;color:#193e79}.digest h3{font-size:15px;padding-left:11px;border-left:3px solid #b82b46;margin:14px 0}.digest p{font-size:13px;color:#60708a;line-height:2;overflow-wrap:anywhere}.digest-bullet{padding-left:13px;position:relative}.digest-bullet:before{content:'·';position:absolute;left:0;color:#6c83a6}.digest-space{height:11px}.digest .button{margin:16px 0}.report-info{padding:24px;display:flex;flex-direction:column;gap:14px;height:auto}.report-info h2,.diagnosis-compose h2{font-size:16px;font-weight:600}.report-info h3{font-size:14px;font-weight:600}.report-info p,.diagnosis-compose>p{font-size:13px;color:#7b8ca3;line-height:1.9}.send-time{font-size:42px;color:#143e82;font-variant-numeric:tabular-nums;letter-spacing:1px}.send-time small{font-size:11px;display:block;color:#8295b0;margin-top:4px;letter-spacing:0}.divider{height:1px;background:var(--line);margin:5px 0}.report-info .notice{margin:0}
.settings-tabs{padding-top:8px;gap:24px}.settings-form{padding:27px 28px;border-bottom:1px solid var(--line);max-width:1100px}.settings-form:last-child{border:0}.settings-form h3{font-size:17px;font-weight:600;margin-bottom:17px}.settings-form>p{color:#7c8ba0;font-size:13px;line-height:1.9;margin-bottom:20px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.form-field{display:flex;flex-direction:column;gap:10px;font-size:13px;margin-bottom:23px;min-width:0}.form-field>span{font-weight:550;color:#576d8c}.form-field small,.checkbox-field small{display:block;color:#8b98ab;font-size:12px;line-height:1.7;font-weight:400}.form-field input,.form-field textarea,.form-field select{border:1px solid #d5dfed;border-radius:7px;padding:11px 12px;background:#fcfdff;color:#334e75;width:100%;min-height:43px;resize:vertical;line-height:1.6;font-size:13px}.form-field input::placeholder,.form-field textarea::placeholder{color:#abb7c7}.checkbox-field{display:flex;gap:11px;font-size:13px;line-height:1.7;align-items:flex-start;margin-bottom:20px;color:#536c8e}.checkbox-field input{width:16px;height:16px;margin-top:3px;accent-color:#194a90;flex-shrink:0}.settings-form>.button{margin-top:4px}.source-cards{padding:25px 28px 0;display:grid;grid-template-columns:1fr 1fr;gap:15px}.source-card{border:1px solid var(--line);border-radius:9px;padding:19px 17px;background:#fcfdff;min-width:0}.source-card>div{display:flex;align-items:center;gap:9px}.source-card .icon{color:#678abf;width:17px}.source-card b{font-size:13px;font-weight:550}.source-card .tag{margin-left:auto}.source-card>p{font-size:12px;color:#8091a8;margin:12px 0 8px;line-height:1.6}.source-card small{font-size:11px;color:#a1aebf;line-height:1.6}.source-card>a{display:block;margin-top:11px}.audit-list>div{display:flex;gap:20px;align-items:center;border-bottom:1px solid var(--line);padding:15px 0;font-size:12px}.audit-list span{color:#9ca9bb}.audit-list b{font-weight:500}.audit-list small{color:#94a3b8;margin-left:auto}.audit-list{margin-top:15px}
.upload-box{margin:0 22px 20px;padding:27px 20px;text-align:center;background:#f7faff;border:1px dashed #b9cde7;border-radius:9px;transition:background .2s}.upload-box.dragging{background:#e3edfd;border-color:#28549a}.upload-icon{background:#e7eefb;color:#527fb8;border-radius:11px;width:44px;height:44px;margin:0 auto 16px;display:grid;place-items:center}.upload-icon .icon{transform:rotate(180deg)}.upload-box h3{font-size:15px;font-weight:550}.upload-box p{font-size:12px;line-height:1.8;color:#8b9bb1;margin:10px 0 18px}.upload-box>span{display:block;margin-top:12px;color:#6c85a8;font-size:12px;overflow-wrap:anywhere}.history-meta{padding:0 24px}.history-meta .form-field{margin-bottom:12px}.history-meta input{max-width:400px}.document-row{display:flex;align-items:center;gap:11px;padding:19px 22px;border-top:1px solid var(--line)}.document-row>input{accent-color:#1c4b8f;width:16px;height:16px;flex-shrink:0}.file-type{font-size:9px;color:#6b8ab4;background:#eaf0f9;border-radius:6px;display:grid;place-items:center;min-width:35px;height:39px;font-weight:600}.doc-info{min-width:0;flex:1}.doc-info b{font-size:13px;font-weight:550;display:block;overflow-wrap:anywhere}.doc-info small{display:block;font-size:11px;line-height:1.6;color:#97a6ba;margin-top:6px}.doc-info p{font-size:11px;margin-top:8px;line-height:1.7}.diagnosis-compose{height:auto;padding:24px}.diagnosis-compose>p{margin:13px 0 20px}.selected-count{background:#f1f5fb;color:#718aaa;font-size:12px;padding:11px 13px;border-radius:6px;margin-bottom:22px}.selected-count b{color:#264e87}.diagnosis-compose .button{width:100%;margin-bottom:15px}.diagnosis-compose .text-link{margin-bottom:22px}.diagnosis-compose .notice{margin-bottom:0}.analysis-list{display:grid;grid-template-columns:1fr 1fr;gap:20px}.analysis-card{padding:23px;transition:box-shadow .2s,transform .2s}.analysis-card:hover{box-shadow:0 8px 24px #18345b0a;transform:translateY(-2px)}.analysis-card>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.analysis-card>div>span:not(.tag){font-size:11px;color:#9aaabd}.analysis-card h2{font-size:16px;font-weight:550;line-height:1.8;margin:19px 0 12px}.analysis-card p{color:#8b9cb3;font-size:12px;line-height:1.8;margin-bottom:17px}.analysis-card .text-link{color:#4e76ae}
dialog{border:1px solid #e2e9f3;border-radius:13px;padding:0;width:720px;max-width:calc(100vw - 36px);max-height:90vh;box-shadow:0 28px 100px #05173333;color:var(--ink)}dialog::backdrop{background:#091d41aa;backdrop-filter:blur(3px)}.detail-heading{display:flex;align-items:flex-start;justify-content:space-between;padding:25px 27px 21px;border-bottom:1px solid var(--line);gap:15px;background:#f9fbff}.detail-heading p{font-size:12px;color:#8a9eb9;line-height:1.7;margin-bottom:8px}.detail-heading h2{font-size:20px;font-weight:600;line-height:1.7}.detail-heading>.icon-button{background:white;border-radius:50%;border:1px solid #e5ebf4;color:#7890b1;flex-shrink:0}.detail-body{padding:26px;line-height:1.8;font-size:13px}.detail-fields{display:grid;grid-template-columns:1fr 1fr;gap:21px 28px;margin:10px 0 29px}.detail-fields>div{display:flex;flex-direction:column;gap:8px}.detail-fields span{color:#98a7bb;font-size:12px}.detail-fields b{font-size:19px;font-weight:600;color:#2c548c}.detail-body>h3{font-size:15px;font-weight:600;margin:25px 0 15px}.source-ref{color:#8295ae;font-size:12px;line-height:1.9;margin-bottom:23px;overflow-wrap:anywhere}.excerpts>div{margin:18px 0;background:#f5f8fc;border-radius:7px;padding:14px}.excerpts b{font-size:12px;color:#6583aa}.excerpts pre,.citation-tags pre{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;font-size:12px;line-height:1.9;margin:10px 0 0;color:#788ba5}.analysis-summary{color:#486687;line-height:2}.analysis-section{color:#234b83}.finding{border-bottom:1px solid #e9edf5;padding:0 0 20px;margin-bottom:21px}.finding>.tag{margin-left:10px}.finding>p{line-height:1.9;color:#5e799b;margin-top:8px}.citation-tags{display:flex;flex-direction:column;gap:7px;margin-top:13px}.citation-tags details{padding:7px 10px;background:#f0f5fc;border:1px solid #e4ebf7;border-radius:5px;color:#708cad;font-size:11px;overflow-wrap:anywhere}.citation-tags summary,.coverage summary{cursor:pointer}.coverage{border:1px solid #e0e8f5;border-radius:7px;padding:13px;color:#7d93b0;margin:25px 0}.coverage p{font-size:12px;margin-top:10px}
@media(max-width:1200px){.report-layout,.history-layout{grid-template-columns:minmax(0,1fr) 285px;gap:17px}.source-cards{grid-template-columns:1fr}.sidebar .brand{padding-left:1px;padding-right:1px}.brand-lockup{padding:12px 9px}.brand-lockup span{font-size:10px;letter-spacing:2px}.source-card b{font-size:14px}.settings-tabs{gap:18px}}
@media(max-width:1000px){.report-layout,.history-layout{grid-template-columns:1fr}.history-layout>div>.report-info{padding-top:18px}.diagnosis-compose{max-width:none}.report-layout>div:last-child{display:grid;grid-template-columns:1fr 1fr;gap:16px}.category-grid{grid-template-columns:1fr 1fr}.analysis-list{grid-template-columns:1fr}.scope-grid{gap:20px}.summary-tile{padding:18px 15px}.summary-tile span{font-size:12px}.form-grid{gap:18px}}
@media(max-width:720px){.sidebar{padding-top:22px}.brand-lockup{padding:15px}.nav-item{padding:12px 15px}.brand-lockup span{font-size:11px;letter-spacing:3px}.metric-number{font-size:28px}.metric-bottom,.metric-bottom span{font-size:11px}.panel-heading p{font-size:12px}.source-strip{font-size:11px}.section-intro{font-size:12px;gap:8px;margin-bottom:18px}.section-intro>a{margin-left:0;width:100%}.notice{font-size:12px;padding:12px;line-height:1.9}.filters{padding:3px 16px 17px;gap:10px}.filters>label:first-child{width:100%}.search-box{max-width:none}.filters select{flex:1;max-width:none}.filter-count{font-size:11px}.filters>label{font-size:12px}th{padding:12px 16px;font-size:11px}td{padding:16px}table{font-size:12px;min-width:700px}.risk-summary{grid-template-columns:1fr 1fr;gap:12px;margin:17px 0}.summary-tile b{font-size:29px}.summary-tile span{font-size:12px}.risk-detail-row{padding:19px 17px}.risk-detail-row>div:first-child{gap:8px;flex-wrap:wrap}.risk-detail-row b{font-size:14px}.risk-bottom{align-items:flex-start;flex-direction:column;gap:8px}.risk-bottom small{font-size:11px;line-height:1.7}.scope-grid{grid-template-columns:1fr;padding:5px 19px 23px;gap:22px}.scope-grid>div{padding-bottom:19px;border-bottom:1px solid var(--line)}.scope-grid>div:last-child{border:0;padding-bottom:0}.scope-grid .icon{float:left;margin-right:15px;width:23px;height:23px}.scope-grid p{margin-left:38px;font-size:13px}.category-grid{padding:5px 18px 10px;grid-template-columns:1fr;gap:20px}.category-item>div:first-child{font-size:13px}.digest{padding:22px 20px}.digest-brand{padding-bottom:20px}.digest-brand img{width:185px}.digest h2{font-size:18px}.digest h3{font-size:14px}.digest p{font-size:13px}.report-layout>div:last-child{display:block}.report-info{padding:23px}.report-info .button{min-height:44px}.settings-tabs{padding:2px 18px 0;gap:23px}.settings-tabs a{font-size:13px;padding:16px 0}.settings-form{padding:23px 18px}.form-grid{grid-template-columns:1fr;gap:0}.form-field{font-size:13px}.form-field input,.form-field textarea,.form-field select{font-size:16px}.source-cards{padding:20px 17px 0}.source-card{padding:17px 15px}.source-card b{font-size:13px}.source-card>div{gap:7px}.source-card .tag{font-size:10px}.audit-list>div{gap:9px;flex-wrap:wrap}.audit-list span{width:100%;font-size:11px}.upload-box{margin:0 17px 18px;padding:23px 15px}.upload-box h3{font-size:14px;line-height:1.7}.upload-box p{font-size:12px}.history-meta{padding:0 18px}.document-row{padding:17px 14px;gap:8px}.document-row .file-type{display:none}.document-row .tag{font-size:10px;padding:3px 5px}.doc-info b{font-size:12px}.document-row .icon-button{padding:5px}.diagnosis-compose{padding:23px 20px}.diagnosis-compose textarea{font-size:14px}.analysis-card{padding:21px 19px}.analysis-card h2{font-size:15px}.detail-heading{padding:21px 19px 18px}.detail-heading h2{font-size:17px}.detail-body{padding:20px 18px}.detail-fields{gap:20px 15px}.detail-fields b{font-size:17px}.detail-fields span{font-size:11px}.detail-body>h3{font-size:14px}.detail-heading>.icon-button{padding:6px}dialog{max-width:calc(100vw - 24px);max-height:92dvh}.citation-tags{font-size:11px}.tabs{padding:0 18px}.analysis-summary{font-size:13px}footer img{width:190px;max-width:52%}footer span{font-size:10px;text-align:right;max-width:45%}.preview-banner{font-size:11px}.risk-row p{font-size:11px}.goal-meta{font-size:11px}.goal-footer{font-size:11px}.panel-note{font-size:12px}#toast{width:max-content;max-width:92vw;font-size:13px}}
.brand-lockup span{font-size:10px;letter-spacing:2px;line-height:1.6}.brand-lockup strong{display:block;color:#163f7d;font-size:14px;font-weight:600;letter-spacing:2px;margin-top:2px}.login-card h1{font-size:25px;line-height:1.65}.loading-screen h1{font-size:24px;text-align:center;padding:0 20px;line-height:1.7}
@media(max-width:720px){.brand-lockup strong{font-size:15px}.login-card h1{font-size:23px}.topbar>span{font-size:12px;line-height:1.5}.topbar>div b{white-space:nowrap}}

/* DingTalk personnel management */
.access-heading,.access-save,.access-pager{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.access-modes{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0}.access-modes>label{display:flex;align-items:flex-start;gap:10px;padding:18px;border:1px solid var(--border,#dce3ed);border-radius:12px;cursor:pointer}.access-modes small,.access-person small,.access-id{display:block;color:var(--muted,#69778d);font-size:12px;overflow-wrap:anywhere;margin-top:5px}.access-search{display:flex;gap:12px;flex-wrap:wrap;margin:16px 0}.access-search form{display:flex;gap:8px;flex:1;min-width:220px}.access-search input{flex:1;min-width:0;border:1px solid #dce3ed;border-radius:8px;padding:10px}.access-person{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid #e9edf3}.access-person>div:first-child{min-width:0;flex:1}.access-controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.access-controls select{padding:8px;border-radius:8px;border:1px solid #dce3ed}.access-save{margin-top:28px}.access-save span{color:#9b5d0b}.access-pager{font-size:12px;margin:16px 0}.access-results{max-height:440px;overflow:auto}.access-controls label{display:flex;align-items:center;gap:5px}.access-modes input{margin-top:4px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(max-width:650px){.access-modes{grid-template-columns:1fr}.access-person{flex-wrap:wrap}.access-person>div:first-child{flex-basis:100%}.access-controls{width:100%}.access-search form{flex-basis:100%}.access-save .button{width:100%}}
