:root{font-family:Inter,Microsoft YaHei,sans-serif;color:#172033;background:#f5f7fb}*{box-sizing:border-box}body{margin:0}main{max-width:1200px;margin:auto;padding:38px 42px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:34px}small{display:block;color:#718096;font-size:13px}h1{margin:7px 0;font-size:30px}.status{color:#15803d;font-size:13px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.metrics article,.panel,.detail{background:#fff;border:1px solid #e5eaf1;border-radius:14px;padding:22px;box-shadow:0 5px 20px #17203308}.metrics strong{display:block;font-size:32px;margin-top:10px}.metrics article>span{display:block;color:#718096;font-size:12px;margin-top:8px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:18px;align-items:start}.panel-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #edf0f5;margin:-22px -22px 0;padding:18px 22px}.panel-head h2{font-size:18px;margin:0}.panel-head span{font-size:13px;color:#718096}.filters{display:flex;gap:6px}.filters button{border:1px solid #d8dee8;background:#fff;color:#718096;border-radius:999px;padding:6px 10px;font-size:12px;cursor:pointer}.filters button.active{border-color:#2563eb;background:#eff6ff;color:#2563eb}.empty{text-align:center;padding:70px 20px;color:#718096}.row{display:grid;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid #edf0f5;grid-template-columns:minmax(0,1fr) 54px 90px 180px;align-items:center;gap:20px;padding:18px 0;cursor:pointer;color:inherit}.row:last-child{border:0}.row:hover,.row.selected{background:#f8fbff}.row b{display:block;font-size:15px}.row small{margin-top:5px}.score{color:#2563eb;font-size:20px}.tag{background:#fff7ed;color:#c2410c;padding:6px 10px;border-radius:6px;font-size:12px;width:max-content}.detail{position:sticky;top:20px}.detail-head{display:flex;justify-content:space-between;gap:12px;align-items:start}.detail-head h2{font-size:20px;margin:7px 0 0}.detail h3{font-size:14px;margin:22px 0 10px}.meta,.muted{color:#718096;font-size:13px}.detail a{color:#2563eb;font-size:13px}.assessment{display:grid;gap:5px;padding:10px 0;border-bottom:1px solid #edf0f5;font-size:13px}.assessment span{color:#4b5563;line-height:1.5}.review-form{display:grid;gap:10px}.review-form select,.review-form textarea{width:100%;padding:10px;border:1px solid #d8dee8;border-radius:8px;font:inherit;background:#fff}.review-form textarea{min-height:90px;resize:vertical}.review-form button{padding:10px;border:0;border-radius:8px;background:#2563eb;color:#fff;font:inherit;cursor:pointer}.success{color:#15803d;font-size:13px}@media(max-width:900px){main{padding:24px 16px}.workspace{grid-template-columns:1fr}.detail{position:static}}@media(max-width:700px){.metrics{grid-template-columns:1fr}.row{grid-template-columns:1fr 60px}.tag{display:none}}.login{min-height:100vh;display:grid;place-items:center}.login-card{background:#fff;border:1px solid #e5eaf1;border-radius:16px;padding:36px;width:min(420px,calc(100vw - 32px));box-shadow:0 10px 35px #17203312}.login-card p{color:#718096;font-size:14px}.login-card form{display:grid;gap:12px;margin-top:24px}.login-card input{padding:12px;border:1px solid #d8dee8;border-radius:8px;font:inherit}.login-card button{padding:12px;border:0;border-radius:8px;background:#2563eb;color:#fff;font:inherit;cursor:pointer}.error{color:#dc2626;font-size:13px}.link-button{margin-left:16px;border:0;background:none;color:#2563eb;cursor:pointer}.app-shell{min-height:100vh;display:flex;background:#f5f7fb}.sidebar{width:238px;flex:0 0 238px;background:#101a2b;color:#dbe5f3;padding:24px 14px 16px;display:flex;flex-direction:column;min-height:100vh}.brand{display:flex;align-items:center;gap:10px;padding:0 12px 28px}.brand>div{min-width:0}.brand-mark{width:38px;height:38px;flex:0 0 38px;border-radius:10px;background:#fff;display:grid;place-items:center;overflow:hidden;box-shadow:0 2px 8px #081e4238}.brand-mark img{width:100%;height:100%;object-fit:cover;display:block}.brand b{display:block;color:#fff;font-size:16px;line-height:1.2}.brand strong{display:block;color:#a9c8ff;font-size:12px;line-height:1.35;margin-top:3px}.brand small{display:block;color:#8ea1bd;font-size:10px;line-height:1.4;margin-top:3px}.sidebar nav{display:grid;gap:5px}.sidebar nav button{display:flex;align-items:center;gap:12px;width:100%;border:0;background:transparent;color:#9fb0c9;padding:12px 13px;border-radius:9px;text-align:left;font:inherit;cursor:pointer}.sidebar nav button span{width:20px;text-align:center;font-size:17px}.sidebar nav button:hover,.sidebar nav button.active{background:#1f3150;color:#fff}.sidebar nav button.active{box-shadow:inset 3px 0 #5b9bff}.sidebar nav button em{margin-left:auto;background:#e85d42;color:#fff;font-size:10px;border-radius:99px;padding:2px 6px;font-style:normal}.sidebar-foot{margin-top:auto;display:grid;gap:14px}.environment{font-size:11px;color:#8396b3;padding:0 12px}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#35c98a;margin-right:7px}.profile{display:flex;align-items:center;gap:8px;border:0;border-top:1px solid #263650;background:none;color:#dbe5f3;padding:14px 8px 0;text-align:left;font:inherit;cursor:pointer}.profile b{display:block;font-size:12px}.profile small{display:block;color:#8396b3;font-size:10px;margin-top:2px}.profile>span:last-child{margin-left:auto}.avatar{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#334d73;color:#fff}.main-shell{min-width:0;flex:1}.topbar{height:68px;padding:0 40px;border-bottom:1px solid #e5eaf1;background:#fff;display:flex;align-items:center;justify-content:space-between}.breadcrumbs{color:#718096;font-size:13px}.breadcrumbs span{padding:0 7px;color:#c2cad7}.top-actions{display:flex;align-items:center;gap:18px}.icon-button,.help-button{border:0;background:none;color:#718096;cursor:pointer;font:inherit}.icon-button{position:relative;font-size:18px}.icon-button i{position:absolute;top:-6px;right:-7px;background:#e85d42;color:#fff;border-radius:99px;font-size:9px;padding:1px 4px;font-style:normal}.page{max-width:1440px;margin:auto;padding:34px 40px 60px}.page-title{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:28px}.page-title h2{font-size:27px;margin:7px 0 5px;color:#172033}.page-title p{margin:0;color:#718096;font-size:13px}.primary-button{border:0;border-radius:8px;background:#2563eb;color:#fff;padding:10px 15px;font:inherit;cursor:pointer;white-space:nowrap}.primary-button:hover{background:#1d4ed8}.primary-button:disabled{background:#b7c4d8;cursor:not-allowed}.text-button{border:0;background:none;color:#2563eb;cursor:pointer;font:inherit;font-size:13px}.overview-grid,.response-grid,.ai-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(330px,1fr);gap:18px;margin-top:18px}.compact .row{grid-template-columns:minmax(0,1fr) 54px 60px 130px}.compact .row b{font-size:13px}.callout{display:flex;justify-content:space-between;align-items:center;margin-top:18px;padding:18px 20px;border:1px solid #cfe0ff;border-radius:12px;background:#eff6ff;color:#1e3a8a}.callout div{display:grid;gap:5px}.callout span{font-size:13px;color:#526b93}.task-list{display:grid}.task-row,.task-card{display:flex;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid #edf0f5}.task-row:last-child,.task-card:last-child{border-bottom:0}.task-row>div,.task-main{display:grid;gap:4px;min-width:0;flex:1}.task-row b,.task-card b{font-size:13px}.task-row small,.task-card small{color:#718096;font-size:11px}.priority{font-size:11px;border-radius:5px;padding:4px 7px;font-weight:700;background:#eff6ff;color:#2563eb}.priority.p0{background:#fff0ed;color:#e05237}.priority.p1{background:#fff7e6;color:#b7791f}.priority.p2{background:#eefcf6;color:#16805a}.priority.p3{background:#f1f5f9;color:#64748b}.source-tier{display:inline-flex;align-items:center;justify-content:center;border-radius:6px;padding:4px 7px;font-size:11px;font-weight:700;white-space:nowrap}.source-tier.p0{background:#fff0ed;color:#e05237}.source-tier.p1{background:#fff7e6;color:#b7791f}.source-tier.p2{background:#eefcf6;color:#16805a}.source-tier.p3,.source-tier.unknown{background:#f1f5f9;color:#64748b}.source-evidence{display:flex;align-items:center;gap:8px;margin:10px 0;color:#718096;font-size:12px}.task-status{font-size:11px;color:#9a6d16;white-space:nowrap}.task-status.doing{color:#2563eb}.task-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.task-kpis>div,.source-summary>div{background:#fff;border:1px solid #e5eaf1;border-radius:12px;padding:18px 20px}.task-kpis b,.source-summary b{display:block;font-size:26px;color:#172033}.task-kpis span,.source-summary span{display:block;color:#718096;font-size:12px;margin-top:5px}.source-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.source-table{overflow:auto}.source-head,.source-row{display:grid;grid-template-columns:minmax(230px,2fr) 1fr 65px 75px 100px 50px 80px;gap:12px;align-items:center;min-width:860px}.source-head{padding:0 0 10px;color:#8a98ad;font-size:11px}.source-row{padding:15px 0;border-top:1px solid #edf0f5;font-size:12px}.source-row>div{display:grid;gap:5px}.source-row small{font-size:11px}.source-row b{font-size:13px}.health-ok{color:#159570}.health-warn{color:#c27b19}.small-button{border:1px solid #cbd5e1;background:#fff;color:#2563eb;border-radius:6px;padding:6px 8px;font:inherit;font-size:11px;cursor:pointer}.inline-message{margin-top:15px;color:#2563eb;background:#eff6ff;border-radius:7px;padding:10px 12px;font-size:12px}.detailed{padding:0 22px}.task-card{gap:14px}.task-card .small-button{margin-left:auto}.response-banner{display:flex;justify-content:space-between;align-items:center;border-radius:14px;background:#172b4d;color:#fff;padding:22px 26px;margin-bottom:18px}.response-banner h3{margin:8px 0 6px;font-size:18px}.response-banner span{font-size:12px;color:#b9c9e1}.response-banner>strong{font-size:30px;color:#8cb8ff}.eyebrow{font-size:11px!important;color:#8cb8ff!important}.stepper{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:18px}.stepper button{border:1px solid #dbe3ef;background:#fff;color:#8a98ad;border-radius:8px;padding:12px 8px;font:inherit;font-size:12px;cursor:pointer}.stepper button span{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;margin-right:5px;background:#edf1f7;color:#718096}.stepper button.current{border-color:#2563eb;color:#2563eb;background:#eff6ff}.stepper button.current span,.stepper button.done span{background:#2563eb;color:#fff}.stepper button.done{border-color:#b9d2ff;color:#2563eb}.file-list{padding:0 22px}.file-list>div{display:flex;align-items:center;gap:12px;padding:17px 0;border-bottom:1px solid #edf0f5}.file-list>div>div{display:grid;gap:5px;flex:1}.file-list small{font-size:11px}.file-icon{width:36px;height:36px;border-radius:8px;display:grid;place-items:center;background:#eff6ff;color:#2563eb;font-weight:700;font-size:10px}.file-ok{color:#159570;font-size:11px}.file-warn{color:#c27b19;font-size:11px}.check-list{padding:0 22px}.check-list label{display:flex;gap:10px;align-items:flex-start;padding:14px 0;border-bottom:1px solid #edf0f5;cursor:pointer}.check-list input{accent-color:#2563eb;margin-top:2px}.check-list label span{display:grid;gap:4px}.check-list small{font-size:11px}.full{width:calc(100% - 44px);margin:18px 22px}.chat-panel{min-height:530px;display:flex;flex-direction:column}.chat-header{display:flex;justify-content:space-between;padding-bottom:15px;border-bottom:1px solid #edf0f5}.chat-header div{display:grid;gap:4px}.chat-header small{font-size:11px}.ai-badge{background:#ede9fe;color:#7c3aed;border-radius:6px;padding:6px 8px;font-size:11px}.messages{display:grid;gap:14px;padding:20px 0;flex:1}.message{display:flex;gap:9px;align-items:flex-start}.message>span{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#eff6ff;color:#2563eb;font-size:10px;font-weight:700}.message.user>span{background:#e2e8f0;color:#475569}.message p{margin:0;padding:10px 12px;border-radius:10px;background:#f5f7fb;color:#374151;font-size:13px;line-height:1.6;max-width:80%}.message.user{justify-content:flex-end}.message.user p{background:#2563eb;color:#fff;order:-1}.suggestions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.suggestions button{border:1px solid #dbe3ef;background:#fff;border-radius:999px;color:#526b93;padding:7px 10px;font-size:11px;cursor:pointer}.chat-input{display:flex;gap:10px}.chat-input textarea{flex:1;resize:none;height:58px;border:1px solid #d8dee8;border-radius:8px;padding:10px;font:inherit}.ai-side h3{margin-top:0}.ability{display:flex;gap:8px;padding:12px 0;border-bottom:1px solid #edf0f5;font-size:13px}.ability span{color:#159570;font-weight:700}.ai-notice{margin-top:22px;border-radius:8px;background:#f8fafc;color:#718096;font-size:11px;line-height:1.8;padding:12px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.settings-card h3{margin-top:0}.settings-card label{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:16px 0;border-bottom:1px solid #edf0f5}.settings-card label span{display:grid;gap:5px}.settings-card label small{font-size:11px}.settings-card input{accent-color:#2563eb}.setting-row{display:flex;justify-content:space-between;padding:16px 0;border-bottom:1px solid #edf0f5;font-size:13px}.setting-row span{color:#718096}.hidden-open{display:none}@media(max-width:1050px){.sidebar{width:210px;flex-basis:210px}.overview-grid,.response-grid,.ai-layout{grid-template-columns:1fr}.page{padding:28px 22px}.topbar{padding:0 22px}}@media(max-width:760px){.sidebar{width:66px;flex-basis:66px;padding:18px 8px}.brand div,.environment,.profile span:not(.avatar){display:none}.brand{padding:0 8px 24px}.sidebar nav button{justify-content:center;padding:12px;font-size:0}.sidebar nav button span{font-size:17px}.profile{justify-content:center}.top-actions .help-button{display:none}.page-title{display:block}.page-title .primary-button{margin-top:16px}.metrics,.task-kpis,.source-summary{grid-template-columns:repeat(2,1fr)}.stepper{overflow:auto;display:flex}.stepper button{min-width:120px}.callout{align-items:flex-start;gap:16px;flex-direction:column}}.scan-page{max-width:1320px;padding-top:28px}.scan-hero{padding:34px 38px;border-radius:18px;background:linear-gradient(125deg,#102744,#173a68 62%,#165879);color:#f7fbff;display:flex;justify-content:space-between;gap:30px;position:relative;overflow:hidden}.scan-hero:after{content:"";position:absolute;width:300px;height:300px;border-radius:50%;right:-80px;top:-165px;border:1px solid rgba(125,205,236,.32);box-shadow:0 0 0 48px #7dcdec0f}.scan-hero-copy,.scan-hero-action{position:relative;z-index:1}.scan-kicker,.section-title>div>span{font-size:12px;letter-spacing:.08em;color:#7daee6}.scan-hero h2{font-size:31px;margin:11px 0 9px;color:#fff}.scan-hero p{margin:0;color:#c6d8ef;font-size:14px}.scan-meta{display:flex;gap:18px;margin-top:28px;color:#d9e7f5;font-size:12px}.scan-meta span{display:flex;align-items:center;gap:6px}.live-dot,.idle-dot{width:7px;height:7px;border-radius:99px;background:#44d3a2;display:inline-block}.idle-dot{background:#b8c4d5}.scan-hero-action{min-width:175px;display:flex;flex-direction:column;justify-content:center;align-items:flex-end;gap:12px}.scan-start{background:#3b82f6;border:1px solid #5b9cff;color:#fff;border-radius:9px;padding:12px 17px;font-size:14px;font-weight:700;cursor:pointer}.scan-hero-action small{font-size:11px;color:#bdd1ea;text-align:right}.scan-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0}.scan-kpis article,.pipeline-card,.source-matrix,.scan-control{background:#fff;border:1px solid #e3eaf3;border-radius:14px}.scan-kpis article{padding:18px 19px;display:grid;gap:4px}.scan-kpis span{font-size:12px;color:#6c7b91}.scan-kpis b{font-size:29px;color:#15263e}.scan-kpis small{font-size:11px;color:#91a0b4}.pipeline-card{padding:23px 25px}.section-title{display:flex;justify-content:space-between;gap:18px}.section-title h3{margin:5px 0 0;color:#172b45;font-size:17px}.section-title>small{color:#8a99ad;font-size:12px;padding-top:7px}.pipeline-flow{display:grid;grid-template-columns:repeat(7,1fr);margin:23px 0 17px}.pipeline-flow button{position:relative;display:grid;justify-items:start;gap:7px;border:0;border-left:1px solid #e7edf4;background:transparent;color:#8593a8;padding:0 12px;min-height:49px;text-align:left;cursor:pointer}.pipeline-flow button:first-child{border-left:0;padding-left:0}.pipeline-flow button b{font-size:11px}.pipeline-flow button span{font-size:12px;font-weight:650}.pipeline-flow button.active span,.pipeline-flow button.active b{color:#1766d6}.pipeline-flow button.done:after{content:"";height:3px;position:absolute;left:12px;right:12px;bottom:-5px;background:#3b82f6;border-radius:3px}.pipeline-detail{display:flex;align-items:center;gap:10px;background:#f4f8fe;border:1px solid #dceafb;border-radius:9px;padding:12px 14px;color:#3c5576}.pipeline-detail span{font-size:11px;color:#7392b9}.pipeline-detail b{font-size:13px;color:#225ba6}.pipeline-detail p{font-size:12px;margin:0}.scan-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(290px,.7fr);gap:16px;margin-top:16px}.source-matrix,.scan-control{padding:23px 25px}.scan-lanes{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}.scan-lane{border:1px solid #e6ebf1;border-top:3px solid #8b9bab;border-radius:10px;padding:15px;min-height:145px;display:flex;flex-direction:column}.scan-lane.cyan{border-top-color:#34a9c8}.scan-lane.amber{border-top-color:#dd9a32}.scan-lane.rose{border-top-color:#df6555}.lane-head,.lane-bottom{display:flex;justify-content:space-between;align-items:center}.lane-head{color:#73839a;font-size:11px}.lane-tier{font-weight:800;color:#596b81;background:#eff3f7;border-radius:5px;padding:4px 6px}.cyan .lane-tier{color:#087a9c;background:#e8f8fb}.amber .lane-tier{color:#a96709;background:#fff5e5}.rose .lane-tier{color:#b84033;background:#fff0ef}.scan-lane h3{font-size:15px;color:#1b304b;margin:12px 0 6px}.scan-lane p{margin:0;color:#718198;font-size:12px;line-height:1.55}.lane-bottom{margin-top:auto;padding-top:12px;border-top:1px solid #edf1f5}.lane-bottom b{font-size:21px;color:#1b3554}.lane-bottom b small{font-size:11px;color:#8a99ab;font-weight:400;margin-left:3px}.lane-bottom>span{color:#61748e;font-size:11px;text-align:right}.control-live,.control-idle{font-size:10px;font-weight:800;color:#109c70;background:#eafaf4;border-radius:99px;padding:5px 7px}.control-idle{color:#7b8798;background:#eef2f6}.control-progress{margin:25px 0 19px}.control-progress>div{display:flex;justify-content:space-between;font-size:12px;color:#667891;margin-bottom:8px}.control-progress b{color:#1f4f8a}.control-progress i{display:block;height:7px;background:#edf1f5;border-radius:99px;overflow:hidden}.control-progress em{display:block;height:100%;background:linear-gradient(90deg,#3b82f6,#38bdf8);border-radius:99px}.scan-control ul{list-style:none;padding:0;margin:0;border-top:1px solid #e9eef4}.scan-control li{display:grid;gap:5px;padding:14px 0;border-bottom:1px solid #e9eef4}.scan-control li span{font-size:11px;color:#8795a8}.scan-control li b{font-size:12px;color:#29415e}.scan-outline{margin-top:18px;width:100%;border:1px solid #c9d8ea;background:#fff;color:#2d6abd;border-radius:8px;padding:10px 12px;font-size:12px;font-weight:650;cursor:pointer;text-align:left}.scan-outline span{float:right}@media(max-width:1050px){.scan-layout{grid-template-columns:1fr}.scan-kpis{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.scan-hero{display:block;padding:25px}.scan-hero-action{align-items:flex-start;margin-top:20px}.scan-hero-action small{text-align:left}.scan-meta{flex-wrap:wrap;gap:10px}.scan-kpis,.scan-lanes{grid-template-columns:1fr}.pipeline-flow{overflow:auto;display:flex}.pipeline-flow button{min-width:105px}.pipeline-detail{align-items:flex-start;flex-wrap:wrap}}.executive-page{max-width:1320px;padding-top:28px}.executive-hero{display:flex;justify-content:space-between;gap:28px;padding:32px 36px;border-radius:17px;background:linear-gradient(118deg,#102846,#1d4b73);color:#fff;position:relative;overflow:hidden}.executive-hero:after{content:"";position:absolute;width:320px;height:320px;border:1px solid rgba(164,216,255,.25);border-radius:50%;right:-85px;top:-180px;box-shadow:0 0 0 50px #a4d8ff0d}.executive-hero>div,.executive-hero>button{z-index:1}.executive-hero>div>span,.executive-title span,.executive-insight span{font-size:11px;letter-spacing:.09em;color:#81b9f2}.executive-hero h2{font-size:29px;margin:10px 0 9px;color:#fff}.executive-hero p{font-size:13px;color:#c6d9ef;margin:0}.hero-pills{display:flex;gap:10px;margin-top:24px}.hero-pills b{font-size:11px;color:#d7e5f5;font-weight:500}.hero-pills i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#41d4a0;margin-right:5px}.executive-hero button{align-self:center;border:1px solid #5d9fff;background:#367cf0;color:#fff;border-radius:9px;padding:12px 15px;font-weight:700;cursor:pointer}.executive-metrics{display:grid;grid-template-columns:1.35fr repeat(3,1fr);gap:12px;margin:16px 0}.executive-metrics article{background:#fff;border:1px solid #e1e9f3;border-radius:12px;padding:17px 18px;display:grid;gap:5px}.executive-metrics .metric-primary{background:linear-gradient(135deg,#eff6ff,#fff)}.executive-metrics small{font-size:12px;color:#6f8199}.executive-metrics strong{font-size:28px;color:#172f50}.executive-metrics em{font-size:13px;font-style:normal;margin-left:3px;color:#8ba0b8}.executive-metrics span{font-size:11px;color:#8696aa}.executive-metrics span b{color:#238b66}.executive-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(310px,.8fr);gap:16px}.executive-focus,.executive-actions{border:1px solid #e1e9f3;border-radius:14px;background:#fff;padding:22px}.executive-title{display:flex;justify-content:space-between;align-items:flex-start}.executive-title h3{margin:5px 0 0;font-size:17px;color:#1b314d}.executive-title button{border:0;background:none;color:#2c70cd;font-size:12px;cursor:pointer}.focus-list{margin-top:14px}.focus-list>button{display:grid;grid-template-columns:32px minmax(0,1fr) 36px 42px 12px;align-items:center;gap:10px;width:100%;border:0;border-top:1px solid #edf1f5;background:#fff;padding:14px 0;text-align:left;cursor:pointer}.focus-list>button:hover strong{color:#2563eb}.rank{font-size:12px;color:#9aa8ba}.focus-list div{display:grid;gap:5px}.focus-list strong{font-size:13px;color:#263b55}.focus-list small{font-size:11px;color:#8291a5}.focus-list em{font-style:normal;font-size:18px;font-weight:800;color:#225ba6}.focus-list>button>i{font-size:20px;color:#a5b2c2}.executive-task{display:flex;align-items:center;gap:10px;padding:14px 0;border-bottom:1px solid #edf1f5}.executive-task>div{display:grid;gap:5px;flex:1}.executive-task b{font-size:12px;color:#30445e}.executive-task small{font-size:10px;color:#8493a6}.executive-task>i{font-style:normal;font-size:10px;color:#b67a18}.executive-task>i.doing{color:#2873d0}.action-primary{margin-top:17px;width:100%;border:0;border-radius:8px;background:#edf5ff;color:#1d63bd;text-align:left;padding:11px 13px;font-size:12px;font-weight:700;cursor:pointer}.action-primary span{float:right}.executive-insight{display:flex;align-items:center;gap:15px;margin-top:16px;padding:18px 22px;border:1px solid #d7e6f8;border-radius:13px;background:#f8fbff}.insight-icon{display:grid;place-items:center;width:38px;height:38px;background:#e1efff;color:#2874cf;border-radius:10px;font-size:20px}.executive-insight>div:nth-child(2){display:grid;gap:4px;flex:1}.executive-insight b{font-size:13px;color:#284561}.executive-insight p{margin:0;color:#73849a;font-size:11px}.executive-insight button{border:1px solid #c7daf3;background:#fff;color:#286dc5;border-radius:7px;padding:8px 10px;font-size:11px;cursor:pointer}@media(max-width:1000px){.executive-grid{grid-template-columns:1fr}.executive-metrics{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.executive-hero{display:block;padding:25px}.executive-hero button{margin-top:18px}.hero-pills{flex-wrap:wrap}.executive-metrics{grid-template-columns:1fr 1fr}.executive-insight{align-items:flex-start;flex-wrap:wrap}}.review-page{max-width:1320px;padding-top:28px}.review-hero{display:flex;justify-content:space-between;gap:24px;padding:30px 35px;border-radius:17px;background:linear-gradient(120deg,#17263e,#293f61);color:#fff;position:relative;overflow:hidden}.review-hero:after{content:"";position:absolute;width:250px;height:250px;border:1px solid rgba(191,212,255,.2);border-radius:50%;right:-55px;top:-125px;box-shadow:0 0 0 35px #bfd4ff0d}.review-hero>div,.review-hero>button{position:relative;z-index:1}.review-hero>div>span,.review-title span,.review-detail-head>span{font-size:11px;color:#9abce8;letter-spacing:.08em}.review-hero h2{margin:9px 0;font-size:28px;color:#fff}.review-hero p{margin:0;color:#c4d3e8;font-size:13px}.review-hero div div{display:flex;gap:12px;margin-top:21px}.review-hero div div b{font-size:11px;font-weight:500;color:#dce8f5}.review-hero i{display:inline-block;width:6px;height:6px;background:#40d0a1;border-radius:50%;margin-right:5px}.review-hero button{align-self:center;border:1px solid #5a84c2;border-radius:8px;background:#fff;color:#264a7b;padding:11px 13px;font-size:12px;font-weight:700;cursor:pointer}.review-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin:16px 0}.review-metrics article{background:#fff;border:1px solid #e1e8f2;border-radius:12px;padding:18px;display:grid;gap:5px}.review-metrics small{font-size:12px;color:#72839a}.review-metrics strong{font-size:29px;color:#1d3655}.review-metrics span{font-size:11px;color:#8b9aab}.review-layout{display:grid;grid-template-columns:minmax(0,1.38fr) minmax(310px,.82fr);gap:16px}.review-pool,.review-detail{background:#fff;border:1px solid #e1e8f2;border-radius:14px;padding:22px}.review-title{display:flex;justify-content:space-between;align-items:flex-start}.review-title h3{font-size:17px;color:#1b324e;margin:5px 0 0}.review-filters{display:flex;gap:6px}.review-filters button{border:1px solid #d8e2ee;background:#fff;color:#7b8ba1;border-radius:999px;padding:6px 9px;font-size:11px;cursor:pointer}.review-filters button.active{border-color:#377cea;background:#edf5ff;color:#2566bd}.review-list{margin-top:15px}.review-list>button{display:grid;grid-template-columns:30px minmax(0,1fr) 35px 40px 100px;align-items:center;gap:10px;width:100%;border:0;border-top:1px solid #edf1f5;background:#fff;padding:14px 0;text-align:left;cursor:pointer}.review-list>button.selected{background:linear-gradient(90deg,#f2f7ff,transparent);margin:0 -10px;padding-left:10px;padding-right:10px;border-radius:8px}.review-list>button>div{display:grid;gap:5px}.review-rank{font-size:11px;color:#a2afbd}.review-list b{font-size:13px;color:#283e58}.review-list small{font-size:11px;color:#8291a6}.review-list strong{font-size:18px;color:#2768c4}.review-list em{font-size:10px;color:#ad6b1e;background:#fff6e9;border-radius:5px;padding:5px 6px;font-style:normal;text-align:center}.review-detail{display:flex;flex-direction:column}.review-detail-head{display:flex;justify-content:space-between}.review-detail h3{font-size:18px;line-height:1.45;color:#1c344f;margin:16px 0 5px}.review-detail>p{font-size:12px;color:#8090a4;margin:0}.decision-score{margin:25px 0 18px;padding:15px;background:#f5f9ff;border-radius:10px}.decision-score>div{display:flex;align-items:baseline;gap:5px}.decision-score span{font-size:11px;color:#7490b2;margin-right:auto}.decision-score b{font-size:30px;color:#2267c6}.decision-score small{font-size:11px;color:#93a3b5}.decision-score i{display:block;height:7px;border-radius:99px;overflow:hidden;background:#e1eaf5;margin-top:10px}.decision-score em{height:100%;display:block;background:linear-gradient(90deg,#357dea,#48b7ed);border-radius:99px}.review-evidence{border-top:1px solid #e9eef4;padding-top:14px}.review-evidence>span{display:block;color:#8494a8;font-size:11px;margin-bottom:3px}.review-evidence div{display:grid;gap:4px;padding:12px 0;border-bottom:1px solid #edf1f5}.review-evidence b{font-size:12px;color:#304762}.review-evidence small{font-size:11px;color:#7e8da0}.review-action{margin-top:18px;border:0;border-radius:8px;background:#2f75dd;color:#fff;padding:11px 13px;font-size:12px;font-weight:700;text-align:left;cursor:pointer}.review-action span{float:right}@media(max-width:1000px){.review-layout{grid-template-columns:1fr}}@media(max-width:650px){.review-hero{display:block;padding:24px}.review-hero button{margin-top:18px}.review-metrics{grid-template-columns:1fr}.review-list>button{grid-template-columns:26px minmax(0,1fr) 35px 38px}.review-list em{display:none}}.scan-lane{background:#fff;text-align:left;cursor:pointer}.scan-lane.selected{box-shadow:0 0 0 2px #2c6fcc29;border-color:#7da8e4}.source-drilldown{margin-top:16px;padding:22px 25px;background:#fff;border:1px solid #e3eaf3;border-radius:14px}.drilldown-head,.drilldown-row{display:grid;grid-template-columns:minmax(240px,1.5fr) 1fr 135px;gap:18px;align-items:center}.drilldown-head{padding:17px 0 10px;color:#8a99ad;font-size:11px}.drilldown-row{padding:14px 0;border-top:1px solid #edf1f5;font-size:12px;color:#5e728c}.drilldown-row>div{display:grid;gap:4px}.drilldown-row b{font-size:13px;color:#29415d}.drilldown-row small{font-size:11px;color:#8393a7}.drilldown-row a{color:#246dc4;font-size:11px;font-weight:650;text-decoration:none}.drilldown-note{margin-top:14px;background:#f4f8fe;color:#506987;border-radius:8px;padding:11px 13px;font-size:11px}@media(max-width:700px){.drilldown-head{display:none}.drilldown-row{grid-template-columns:1fr;gap:7px}.source-drilldown{padding:19px}}.tier-page{max-width:1320px}.tier-hero{padding:28px 32px;border-radius:15px;background:linear-gradient(120deg,#183451,#21587c);color:#fff}.tier-hero>button,.tier-back{border:0;background:transparent;color:#b9d8f7;font-size:12px;padding:0;cursor:pointer}.tier-hero>span{display:block;margin-top:22px;color:#91c4ee;font-size:11px;letter-spacing:.08em}.tier-hero h2{margin:8px 0;font-size:27px;color:#fff}.tier-hero p{margin:0;color:#c7dcee;font-size:13px}.tier-columns,.article-page{margin-top:16px;padding:23px 25px;background:#fff;border:1px solid #e3eaf3;border-radius:14px}.tier-source-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-top:20px}.tier-source-grid button{display:grid;gap:8px;min-height:146px;text-align:left;border:1px solid #dfe8f2;border-radius:10px;background:#fff;padding:16px;cursor:pointer}.tier-source-grid button:hover{border-color:#5b98ed;box-shadow:0 6px 17px #1b559714}.tier-source-grid span{justify-self:start;background:#edf5ff;color:#2970c9;border-radius:5px;padding:4px 6px;font-size:10px;font-weight:800}.tier-source-grid b{font-size:13px;color:#27415d}.tier-source-grid small{font-size:11px;color:#8293a8}.tier-source-grid i{margin-top:auto;color:#2870c7;font-size:11px;font-style:normal;font-weight:700}.article-page .section-title>a{font-size:11px;color:#256cc2;text-decoration:none}.article-list{margin-top:16px}.article-list a{display:grid;grid-template-columns:32px minmax(0,1fr) 82px;gap:12px;align-items:center;border-top:1px solid #ecf1f5;padding:16px 0;color:inherit;text-decoration:none}.article-list a:hover b{color:#2569c0}.article-list a>span{font-size:11px;color:#93a3b5}.article-list div{display:grid;gap:5px}.article-list b{font-size:13px;color:#28415e}.article-list small{font-size:11px;color:#8292a6}.article-list i{color:#2d70c4;font-size:11px;font-style:normal;text-align:right}@media(max-width:900px){.tier-source-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.tier-source-grid{grid-template-columns:1fr}.tier-hero{padding:24px}.article-list a{grid-template-columns:25px minmax(0,1fr)}.article-list i{display:none}}.stage-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:18px 0 4px;padding:11px;background:#f5f8fc;border:1px solid #e7edf5;border-radius:10px}.stage-tabs button{border:1px solid transparent;background:transparent;color:#60738c;border-radius:7px;padding:7px 10px;font-size:11px;cursor:pointer}.stage-tabs button b{margin-left:4px;color:#8b9bb0}.stage-tabs button.active{background:#fff;border-color:#c9dcf5;color:#1f65bd;box-shadow:0 2px 8px #1f4e8212}.stage-tabs button.active b{color:#1f65bd}.article-list a{grid-template-columns:32px minmax(0,1fr) 90px 82px}.stage-badge{justify-self:start;border-radius:5px;padding:5px 7px;font-size:10px;font-style:normal;color:#61748c;background:#eef2f6}.stage-procurement_intent{color:#966114;background:#fff4df}.stage-tender_notice{color:#b63d32;background:#fff0ee}.stage-change_notice{color:#a05d13;background:#fff3e6}.stage-award_result{color:#197153;background:#eaf8f2}.stage-contract_performance{color:#4464a6;background:#eef2ff}@media(max-width:700px){.article-list a{grid-template-columns:25px minmax(0,1fr)}.stage-badge{grid-column:2}.stage-tabs{padding:8px}}.project-timeline,.relation-list{display:grid;gap:10px}.project-timeline>div{display:grid;grid-template-columns:10px 1fr;gap:10px;position:relative}.project-timeline>div>i{width:8px;height:8px;border-radius:50%;background:#2563eb;margin-top:5px;box-shadow:0 0 0 4px #dbeafe}.project-timeline>div>span{display:grid;gap:4px;padding:0 0 12px 4px;border-bottom:1px solid #edf0f5}.project-timeline b,.relation-list b{font-size:12px;line-height:1.45}.project-timeline small,.relation-list small{font-size:11px;line-height:1.55;color:#64748b}.relation-list>div{display:grid;gap:6px;padding:11px;border:1px solid #e5eaf1;border-radius:9px;background:#f8fafc}.relation-list>div>div:first-child{display:flex;justify-content:space-between;gap:10px}.relation-list>div>div:first-child span{font-size:11px;color:#2563eb;white-space:nowrap}.relation-actions{display:flex!important;justify-content:flex-start!important;gap:6px;margin-top:3px}.relation-actions button{border:1px solid #cbd5e1;background:#fff;color:#475569;border-radius:6px;padding:5px 7px;font-size:10px;cursor:pointer}.relation-actions button:first-child{border-color:#86efac;color:#15803d}.relation-actions button:last-child{border-color:#fdba74;color:#c2410c}.evidence-detail{padding:0;overflow:hidden;display:block}.evidence-detail>.detail{position:static;border:0;box-shadow:none;border-radius:0;max-height:calc(100vh - 110px);overflow:auto}.evidence-actions{display:flex!important;align-items:center;gap:12px!important;flex-wrap:wrap;margin:10px 0}.stored-evidence-link{border:0;background:transparent;padding:0;color:#2563eb;font:inherit;font-size:13px;font-weight:650;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.filter-bar,.opportunity-filter-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.filter-bar select,.filter-bar input,.opportunity-filter-bar select,.opportunity-filter-bar input{height:38px;border:1px solid #d7e0ec;border-radius:9px;background:#fff;padding:0 12px;color:#183153;font:inherit}.opportunity-filter-bar{padding:12px 20px;border-bottom:1px solid #e7edf5}.extraction-evidence{margin:16px 0;padding:14px;border-radius:10px;background:#f5f8fc;border:1px solid #e0e8f2}.extraction-evidence>p{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 0}.extraction-evidence span{color:#145bd7;font-weight:700}.extraction-evidence small{flex-basis:100%;color:#60748e}.document-pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0 2px;border-top:1px solid #e7edf5;color:#6b7e96;font-size:12px}.document-pagination>div{display:flex;align-items:center;gap:7px}.document-pagination button,.document-pagination select{height:34px;border:1px solid #d6e0ec;border-radius:8px;background:#fff;color:#315779;padding:0 11px;font:inherit;font-size:11px;cursor:pointer}.document-pagination button:hover:not(:disabled){border-color:#75a7e8;color:#1762bc;background:#f4f8ff}.document-pagination button:disabled{color:#b5c0ce;background:#f6f8fb;cursor:not-allowed}.document-pagination select{margin-right:3px}.document-pagination b{color:#1b4f82}@media(max-width:700px){.document-pagination{align-items:stretch;flex-direction:column}.document-pagination>div{justify-content:space-between}.document-pagination>span{text-align:center}}.service-window-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0;padding:14px;border:1px solid #dbe7f5;border-radius:11px;background:#f7faff}.service-window-summary>div{display:grid;gap:5px}.service-window-summary>div b{font-size:12px;color:#263e5b}.service-window-summary>p{grid-column:1/-1;margin:2px 0 0;color:#40556e;font-size:12px;line-height:1.6}.service-window-summary>p strong{display:block;color:#1d4f91;margin-bottom:3px}.score-breakdown{grid-column:1/-1!important;display:grid!important;grid-template-columns:repeat(2,1fr);gap:6px!important}.score-breakdown span{padding:6px 8px;border-radius:6px;background:#fff;color:#62758e;font-size:10px}.service-status{display:inline-flex;align-items:center;width:max-content;border-radius:6px;padding:5px 7px;font-size:10px;font-style:normal;font-weight:700;white-space:nowrap}.service-status.open{background:#e7f8ef;color:#138257}.service-status.expected{background:#edf6ff;color:#2469ad}.service-status.urgent{background:#fff2df;color:#aa6414}.service-status.closed{background:#eef1f5;color:#68778a}.service-status.review{background:#fff7e8;color:#9a6b17}.admin-tools{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.admin-tools button{display:grid;gap:6px;text-align:left;border:1px solid #dce5f0;border-radius:11px;background:#fff;padding:16px;color:#243d5c;cursor:pointer}.admin-tools button:hover{border-color:#7aa8e6;background:#f7faff}.admin-tools span{color:#7b8da4;font-size:11px;line-height:1.5}@media(max-width:900px){.admin-tools{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.service-window-summary,.score-breakdown,.admin-tools{grid-template-columns:1fr}.service-window-summary>p,.score-breakdown{grid-column:1}}.source-summary{grid-template-columns:repeat(5,1fr)}@media(max-width:1000px){.source-summary{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.source-summary{grid-template-columns:repeat(2,1fr)}}.focus-list>button{grid-template-columns:32px minmax(0,1fr) 104px 42px 12px}.focus-list>button>.service-status{justify-self:start}.same-evidence{color:#7a8ba1!important;font-size:10px!important}.review-list small{line-height:1.55}.document-pagination.list-pagination{margin:0 20px;padding:20px 0 18px;gap:12px;border-top-color:#e4ecf5}.document-pagination.list-pagination>div{gap:8px}.document-pagination.list-pagination button,.document-pagination.list-pagination select{height:38px;min-width:76px;padding:0 13px;border-radius:10px;font-size:12px;font-weight:650;line-height:1;white-space:nowrap;transition:border-color .18s ease,background .18s ease,color .18s ease,transform .18s ease}.document-pagination.list-pagination button:hover:not(:disabled){border-color:#4d8cf0;background:#edf5ff;color:#145bc2;transform:translateY(-1px)}.document-pagination.list-pagination button:disabled{border-color:#e1e8f1;background:#f7f9fc;color:#b5c2d2;opacity:1}.pagination-status{display:inline-flex;align-items:baseline;justify-content:center;gap:6px;min-width:126px;color:#6e829a;white-space:nowrap}.pagination-status small{font-size:12px;color:#8798ad}.pagination-status b{display:inline-grid;min-width:27px;height:27px;place-items:center;border-radius:8px;background:#eaf3ff;color:#1765c6;font-size:14px}.pagination-status i{color:#72859d;font-size:12px;font-style:normal}.pagination-actions label{display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 4px 0 11px;border:1px solid #d6e0ec;border-radius:10px;background:#fff;color:#6e829a;font-size:12px;font-weight:650;white-space:nowrap}.pagination-actions select{min-width:62px!important;margin:0!important;padding-inline:3px 20px!important;border:0!important;border-radius:0!important;background-color:transparent!important;color:#284f78!important}@media(max-width:900px){.document-pagination.list-pagination{margin-inline:16px;flex-wrap:wrap;justify-content:center}.pagination-status{order:-1;flex-basis:100%}}@media(max-width:560px){.document-pagination.list-pagination{margin-inline:12px}.document-pagination.list-pagination button{min-width:64px;padding-inline:10px}.pagination-actions label>span{display:none}}.document-pagination.list-pagination{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;row-gap:10px}.document-pagination.list-pagination .pagination-nav{grid-column:1;justify-self:start}.document-pagination.list-pagination .pagination-status{grid-column:2;justify-self:end;min-width:auto}.document-pagination.list-pagination .pagination-actions{grid-column:1 / -1;justify-self:stretch;justify-content:flex-end}.document-pagination.list-pagination .pagination-actions label{flex:0 0 auto}@media(max-width:900px){.document-pagination.list-pagination{display:flex;align-items:center}.document-pagination.list-pagination .pagination-status{order:-1;flex-basis:100%}.document-pagination.list-pagination .pagination-actions{justify-content:center}}@media(max-width:560px){.document-pagination.list-pagination .pagination-nav,.document-pagination.list-pagination .pagination-actions{width:100%;justify-content:space-between}.document-pagination.list-pagination .pagination-actions{gap:5px}.document-pagination.list-pagination .pagination-actions button{min-width:58px;padding-inline:7px}}.list-pagination{margin:0 20px;padding:16px 0 18px}.review-pool .list-pagination{margin:0 20px}.task-list+.list-pagination{margin-inline:22px}.source-table{overflow-x:auto;padding:0 20px 8px;scrollbar-gutter:stable}.source-head,.source-row{grid-template-columns:minmax(220px,1.8fr) minmax(145px,1fr) 62px minmax(112px,.8fr) minmax(135px,.9fr) 54px minmax(152px,auto);min-width:1080px}.source-row>div:first-child{min-width:0}.source-row>div:first-child b,.source-row>span{overflow-wrap:anywhere}.source-row>div:last-child{display:flex;align-items:center;justify-content:flex-end;gap:6px}.source-row>div:last-child .small-button{flex:0 0 auto;white-space:nowrap}@media(max-width:700px){.list-pagination{margin-inline:12px}}
