.company-preview-backdrop{z-index:125}.company-preview-modal{width:min(1180px,100%);height:min(820px,92vh);background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 28px 80px #07142666;display:flex;flex-direction:column}.company-preview-modal>header{min-height:82px;padding:15px 20px;border-bottom:1px solid #e7ebf0;display:flex;align-items:center;gap:18px}.company-preview-modal>header>div:first-child{min-width:0;flex:1}.company-preview-modal header span{font-size:10.9px;letter-spacing:1.2px;color:#2865d5}.company-preview-modal header h3{font-size:21.8px;margin:4px 0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.company-preview-modal header p{font-size:10.9px;color:#8793a4;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.company-preview-modal>header>div:last-child{display:flex;align-items:center;gap:8px}.company-preview-modal .preview-close{width:36px;height:36px;border:0;background:#f2f4f7;border-radius:8px;color:#657286;font-size:25px}.company-preview-body{display:grid;grid-template-columns:minmax(0,1fr) 320px;min-height:0;flex:1;background:#eef2f6}.company-preview-canvas{min-width:0;min-height:0;padding:18px;display:grid;place-items:center;overflow:auto}.company-preview-canvas img{display:block;max-width:100%;max-height:100%;object-fit:contain;border-radius:8px;box-shadow:0 8px 28px #17243a24;background:#fff}.company-preview-canvas iframe{width:100%;height:100%;min-height:560px;border:0;border-radius:8px;background:#fff;box-shadow:0 8px 28px #17243a1c}.company-preview-placeholder{text-align:center;max-width:460px;padding:35px}.company-preview-placeholder>i{width:76px;height:76px;border-radius:18px;background:#dfeaff;color:#2563cf;display:grid;place-items:center;margin:auto;font-style:normal;font-size:17.2px;font-weight:800}.company-preview-placeholder h4{font-size:18.7px;margin:16px 0 8px}.company-preview-placeholder p{font-size:12.5px;line-height:1.7;color:#748195;margin:0 0 17px}.company-preview-info{background:#fff;border-left:1px solid #e2e7ed;padding:17px;overflow:auto}.company-preview-info>div{padding:11px 0;border-bottom:1px solid #edf0f4}.company-preview-info span{display:block;font-size:10.9px;color:#8a95a5;margin-bottom:5px}.company-preview-info strong{display:block;font-size:12.5px;color:#344256;line-height:1.55;word-break:break-word}.company-preview-info article{margin-top:16px;padding:13px;background:#f7f9fb;border-radius:8px}.company-preview-info article p{font-size:12.5px;color:#526075;line-height:1.75;white-space:pre-wrap;word-break:break-word;margin:0}@media(max-width:760px){.company-preview-modal{height:94vh}.company-preview-modal>header{align-items:flex-start}.company-preview-modal>header .secondary-button{display:none}.company-preview-body{grid-template-columns:1fr;overflow:auto}.company-preview-canvas{min-height:360px}.company-preview-canvas iframe{min-height:500px}.company-preview-info{border-left:0;border-top:1px solid #e2e7ed;overflow:visible}.company-preview-modal header h3{white-space:normal}}.bid-init-hero{min-height:138px;border-radius:12px;background:linear-gradient(120deg,#173762,#2367bd);color:#fff;padding:25px 30px;display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.bid-init-hero span{font-size:10.9px;letter-spacing:1.1px;color:#bfd4ed}.bid-init-hero h2{font-size:32.8px;margin:7px 0}.bid-init-hero p{font-size:14px;color:#d0ddec;margin:0}.bid-init-hero>div:last-child{display:flex;gap:8px}.bid-init-hero .secondary-button{background:#ffffff15;border-color:#ffffff55;color:#fff}.bid-init-hero .primary-button{background:#fff;border-color:#fff;color:#205db5}.bid-flow-steps{display:flex;align-items:center;background:#fff;border:1px solid #e3e8ef;border-radius:10px;padding:13px 17px;margin-bottom:14px;overflow:auto}.bid-flow-steps>span{display:grid;grid-template-columns:32px minmax(115px,1fr);grid-template-rows:auto auto;column-gap:8px;min-width:175px;align-items:center}.bid-flow-steps i{grid-row:1/3;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#edf0f4;color:#7a8798;font-style:normal;font-size:12.5px;font-weight:700}.bid-flow-steps b{font-size:12.5px}.bid-flow-steps small{font-size:10.9px;color:#8b96a5;margin-top:3px}.bid-flow-steps>em{font-style:normal;color:#b1bbc8;margin:0 8px}.bid-flow-steps .done i{background:#e7f7f0;color:#15875f}.bid-flow-steps .active i{background:#2865d5;color:#fff}.bid-flow-steps .active b{color:#2865d5}.bid-lead-picker{margin-bottom:14px}.bid-lead-picker>.section-title{height:auto;min-height:58px}.bid-lead-picker>.section-title p{font-size:10.9px;color:#8995a5;margin:4px 0 0}.bid-lead-picker>div:last-child{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;padding:3px 17px 10px}.bid-lead-picker article{display:grid;grid-template-columns:35px 1fr auto;gap:9px;align-items:center;border-bottom:1px solid #edf0f4;padding:12px 0}.bid-lead-picker article>i{width:33px;height:33px;border-radius:8px;background:#eaf2ff;color:#2865d5;display:grid;place-items:center;font-style:normal}.bid-lead-picker article small,.bid-lead-picker article strong{display:block}.bid-lead-picker article strong{font-size:14px}.bid-lead-picker article small{font-size:10.9px;color:#738095;margin-top:3px}.bid-lead-picker article p{font-size:10.9px;color:#8a95a5;margin:5px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:470px}.bid-lead-picker article .primary-button{height:30px;font-size:10.9px;padding:0 10px}.bid-init-modal .lead-select-field{padding:11px;background:#f1f6ff;border:1px solid #dae7fb;border-radius:8px}.bid-init-modal .lead-select-field select{background:#fff}.bid-init-modal .lead-select-field small{display:block;color:#6c7a8d;font-size:10.9px;margin-top:5px}.bid-init-modal .source-link{display:flex;align-items:center;gap:10px;background:#f7f9fb;border-radius:7px;padding:10px}.bid-init-modal .source-link a{color:#2865d5;text-decoration:none;font-size:12.5px}@media(max-width:920px){.bid-lead-picker>div:last-child{grid-template-columns:1fr}.bid-init-hero{align-items:flex-start;gap:16px}.bid-init-hero p{max-width:560px}}@media(max-width:650px){.bid-init-hero{display:block;padding:21px}.bid-init-hero>div:last-child{margin-top:14px}.bid-lead-picker article{grid-template-columns:32px 1fr}.bid-lead-picker article .primary-button{grid-column:2;justify-self:start}.bid-flow-steps>span{min-width:150px}}.attendance-camera{width:min(620px,100%);margin:auto}.camera-hidden-input{position:fixed!important;left:-10000px!important;top:-10000px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.attendance-camera-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.attendance-camera-actions>:is(button,label){min-height:78px;border-radius:12px;display:flex;align-items:center;justify-content:center;gap:11px;padding:11px;border:1px solid;cursor:pointer;transition:transform .18s,box-shadow .18s;font-family:inherit;box-sizing:border-box}.attendance-camera-actions>:is(button,label):active{transform:scale(.985)}.attendance-camera-actions button:disabled{cursor:wait;opacity:.68}.camera-live-button{border-color:#8bb5ef!important;background:linear-gradient(145deg,#eaf3ff,#f7fbff);color:#205fc9;box-shadow:0 5px 16px #2865d512}.camera-system-button{border-color:#cbd7e6!important;background:linear-gradient(145deg,#fff,#f6f8fb);color:#536175}.attendance-camera-actions i{width:36px;height:36px;flex:none;border-radius:10px;background:#fff;display:grid;place-items:center;font-style:normal;font-size:14px;font-weight:800;box-shadow:0 3px 10px #1c3e6814}.attendance-camera-actions small,.attendance-camera-actions strong{display:block;text-align:left}.attendance-camera-actions strong{font-size:13px}.attendance-camera-actions small{font-size:11px;color:#7f8c9d;margin-top:4px}.attendance-photo-ready{display:flex;align-items:center;gap:10px;background:#f6fffb;border:1px solid #b9dfd0;border-radius:11px;padding:8px}.attendance-photo-ready img{width:110px;height:72px;border-radius:8px;object-fit:cover}.attendance-photo-ready>div{flex:1}.attendance-photo-ready strong{display:block;font-size:13px;color:#187b59;margin-bottom:5px}.android-camera-mode{margin-top:9px;padding:9px 10px;border:1px solid #cfe0f5;border-radius:10px;background:#f7fbff;color:#52677f;font-size:11px;line-height:1.55;display:flex;align-items:center;justify-content:space-between;gap:10px}.android-camera-mode span{min-width:0}.android-camera-mode b{display:block;color:#225c9e;font-size:11.5px}.android-camera-mode>div{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px;flex:none}.camera-error{display:flex;align-items:center;gap:7px;margin-top:8px;padding:9px 10px;border-radius:9px;background:#fff7f0;border:1px solid #f0d5bc;color:#9a5724;font-size:11px}.camera-error span{flex:1}.camera-error button,.camera-error label{white-space:nowrap}.camera-inline-gallery{display:inline-flex;align-items:center;cursor:pointer}.camera-permission-help{margin-top:9px;padding:11px 12px;border:1px solid #ecd39b;border-radius:11px;background:#fffdf5;color:#5f5542;box-shadow:0 6px 18px #6f53200c}.camera-permission-help header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.camera-permission-help header strong{font-size:12px;color:#72531c}.camera-permission-help header button{margin-left:auto;border:0;background:transparent;color:#8e7956;font-size:20px;line-height:1;cursor:pointer}.camera-permission-help ol{margin:0;padding-left:22px;display:grid;gap:5px;font-size:11px;line-height:1.55}.camera-permission-help li::marker{color:#c48b25;font-weight:700}.camera-permission-help p{margin:9px 0 0;padding-top:8px;border-top:1px dashed #e8d8b6;color:#8a672b;font-size:10.5px;line-height:1.55}.camera-modal-backdrop{position:fixed;z-index:240;inset:0;background:#071426dc;display:grid;place-items:center;padding:18px;backdrop-filter:blur(4px)}.camera-modal{width:min(720px,100%);background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 24px 80px #0008}.camera-modal>header{height:58px;padding:0 17px;display:flex;align-items:center;border-bottom:1px solid #e5e9ef}.camera-modal h3{font-size:17px;margin:0}.camera-modal header button{margin-left:auto;border:0;background:transparent;font-size:28px}.camera-video-wrap{background:#07111f;min-height:360px;display:grid;place-items:center}.camera-video-wrap video{display:block;width:100%;max-height:70vh;object-fit:contain}.camera-modal>footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 17px max(12px,env(safe-area-inset-bottom))}.attendance-camera.compact .attendance-camera-actions{grid-template-columns:1fr 1fr}.attendance-camera.compact .attendance-camera-actions>:is(button,label){min-height:60px;padding:8px}.attendance-camera.compact .attendance-camera-actions i{width:30px;height:30px}.attendance-camera.compact .attendance-camera-actions small{display:none}.attendance-camera.compact .android-camera-mode{padding:7px 8px;display:block}.attendance-camera.compact .android-camera-mode>div{margin-top:4px;justify-content:flex-start}@media(max-width:650px){.attendance-camera-actions{grid-template-columns:1fr 1fr}.attendance-camera-actions>:is(button,label){min-height:72px;padding:9px}.camera-video-wrap{min-height:260px}.attendance-photo-ready img{width:90px;height:68px}.camera-error{align-items:flex-start;flex-wrap:wrap}.camera-error span{flex-basis:100%}.android-camera-mode{align-items:flex-start;display:block}.android-camera-mode>div{margin-top:5px;justify-content:flex-start}}@media(max-width:390px){.attendance-camera-actions,.attendance-camera.compact .attendance-camera-actions{grid-template-columns:1fr}.attendance-camera-actions>:is(button,label){min-height:60px;justify-content:flex-start;padding-left:18px}}.home-attendance-card{grid-template-columns:minmax(0,1fr) 190px minmax(390px,.9fr)}.home-attendance-card>.attendance-camera{width:180px}.home-attendance-card>.attendance-camera .attendance-camera-actions>button,.home-attendance-card>.attendance-camera .attendance-camera-actions>label{min-height:58px;padding:7px}.home-attendance-card>.attendance-camera .attendance-camera-actions small{display:none}.home-attendance-card>.attendance-camera .attendance-photo-ready{padding:5px}.home-attendance-card>.attendance-camera .attendance-photo-ready img{width:62px;height:52px}.home-attendance-card>.attendance-camera .attendance-photo-ready strong{font-size:10.9px}@media(max-width:1050px){.home-attendance-card{grid-template-columns:1fr 190px}.home-attendance-actions{grid-column:1/-1}}@media(max-width:650px){.home-attendance-card{grid-template-columns:1fr}.home-attendance-card>.attendance-camera{width:100%}.home-attendance-actions{grid-column:auto}}.analysis-result{container-type:inline-size}.analysis-summary>.section-title{height:auto;min-height:64px;gap:14px;padding-top:10px;padding-bottom:10px}.analysis-summary>.section-title>div:first-child{min-width:0}.analysis-summary>.section-title h3{white-space:normal;overflow-wrap:anywhere}.analysis-summary>.section-title small{line-height:1.45;overflow-wrap:anywhere}.analysis-summary>p{margin:0;padding:16px 18px;line-height:1.85;background:linear-gradient(90deg,#f8fbff,#fff);border-bottom:1px solid #edf0f4;white-space:pre-wrap;overflow-wrap:anywhere}.analysis-summary>div:last-child{grid-template-columns:repeat(auto-fit,minmax(165px,1fr))}.analysis-summary>div:last-child span{min-width:0;border:1px solid #edf0f4}.analysis-summary>div:last-child strong{font-size:13px;line-height:1.55;overflow-wrap:anywhere}.analysis-cards section{min-width:0;overflow:hidden}.analysis-cards p{margin:0;padding:10px 15px;border-top:1px solid #f0f2f5;align-items:flex-start;white-space:pre-wrap;overflow-wrap:anywhere}.analysis-cards p>i{flex:0 0 18px;text-align:center}.score-panel{overflow:hidden}.score-panel>.section-title{height:auto;min-height:58px;gap:12px}.score-panel>.section-title>span{white-space:normal;text-align:right;line-height:1.45}.score-panel article{position:relative;grid-template-columns:38px minmax(0,1fr) minmax(110px,max-content);gap:12px;padding:16px 18px;background:#fff}.score-panel article:nth-of-type(2n){background:#fbfcfe}.score-panel article:hover{background:#f5f9ff}.score-panel article>i{width:30px;height:30px;border-radius:8px;background:#edf3ff;color:#2865d5;display:grid;place-items:center;font-size:11px}.score-panel article>div{min-width:0}.score-panel article strong{display:flex;align-items:flex-start;gap:7px;font-size:14px;line-height:1.65;overflow-wrap:anywhere}.score-panel article strong em{flex:0 0 auto;margin:2px 0 0}.score-panel article p{position:relative;margin:11px 0 9px;padding:28px 12px 10px;border:1px solid #e5eaf0;border-radius:8px;background:#f8fafc;color:#425168;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere}.score-panel article p:before{content:"响应策略";position:absolute;left:11px;top:7px;color:#2865d5;font-size:10px;font-weight:700;letter-spacing:.4px}.score-panel article small{display:block;padding:8px 10px;border-radius:7px;background:#eef5ff;color:#315d9d;line-height:1.6;white-space:normal;overflow-wrap:anywhere}.score-panel article>small:before{content:"所需资料：";font-weight:700}.score-panel article>b{min-width:110px;max-width:230px;padding:10px 11px;border:1px solid #f1d59e;border-radius:8px;background:#fff8e9;color:#b36e00;font-size:13px;line-height:1.55;text-align:left;white-space:normal;overflow-wrap:anywhere}.score-panel article>b:before{content:"分值 / 规则";display:block;margin-bottom:5px;color:#9b7b47;font-size:9px;font-weight:400;letter-spacing:.4px}.analysis-three section{min-width:0;overflow:hidden}.analysis-three p{margin:0;padding:8px 0;border-top:1px solid #f0f2f5;white-space:pre-wrap;overflow-wrap:anywhere}.analysis-write-actions{flex:0 0 auto;display:flex;align-items:center;gap:7px}.analysis-write-actions select{max-width:120px}@container (max-width:720px){.score-panel article{grid-template-columns:34px minmax(0,1fr)}.score-panel article>b{grid-column:2;min-width:0;max-width:none;width:100%}.analysis-cards,.analysis-three{grid-template-columns:1fr}.analysis-write-actions{width:100%;flex-wrap:wrap}.analysis-summary>.section-title{align-items:flex-start;flex-wrap:wrap}.analysis-summary>.section-title>div:last-child{margin-left:0}.analysis-write-actions select{flex:1;max-width:none}.analysis-write-actions .primary-button{flex:1;white-space:normal;height:auto;min-height:36px;padding-top:7px;padding-bottom:7px}}@media(max-width:1180px){.analysis-layout{grid-template-columns:300px minmax(0,1fr)}}@media(max-width:980px){.analysis-layout{grid-template-columns:1fr}.analysis-input{display:grid;grid-template-columns:1fr 1fr;align-content:start}.analysis-input>.analysis-history,.analysis-input>.analysis-upload,.analysis-input>.analyze-button,.analysis-input>.section-title{grid-column:1/-1}.analysis-input>.analysis-history{max-height:280px;overflow:auto}}@media(max-width:650px){.analysis-input{display:block}.score-panel>.section-title{align-items:flex-start}.score-panel>.section-title>span{margin-left:auto;max-width:120px}.score-panel article{padding:13px 12px;gap:8px}.score-panel article strong{display:block}.score-panel article strong em{display:table;margin:0 0 5px}.analysis-summary>div:last-child{grid-template-columns:1fr}.analysis-summary>p{padding:14px}.analysis-three section{padding:12px}}.bid-board-workspace{min-width:0}.bid-board-tabs{min-height:74px;margin-bottom:15px;padding:12px 16px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 2px 5px #1f293707;display:flex;align-items:center;gap:20px}.bid-board-tabs>div{flex:none;min-width:210px}.bid-board-tabs small,.bid-board-tabs strong{display:block}.bid-board-tabs strong{font-size:18px;color:#24374f}.bid-board-tabs small{font-size:10.9px;color:#8490a0;margin-top:5px}.bid-board-tabs nav{margin-left:auto;display:flex;align-items:center;gap:5px;overflow:auto}.bid-board-tabs button{height:34px;border:1px solid transparent;border-radius:7px;background:transparent;padding:0 12px;color:#69778a;font-size:12.5px;white-space:nowrap}.bid-board-tabs button:hover{background:#f2f6fb;color:#245fc7}.bid-board-tabs button.active{border-color:#d5e3f8;background:#eaf2ff;color:#215fc9;font-weight:700}@media(max-width:1050px){.bid-board-tabs{align-items:flex-start;flex-direction:column}.bid-board-tabs>div{min-width:0}.bid-board-tabs nav{width:100%;margin-left:0}}@media(max-width:600px){.bid-board-tabs{padding:11px}.bid-board-tabs nav{padding-bottom:3px}.bid-board-tabs button{padding:0 10px}}.contract-entry-center{display:grid;gap:15px}.contract-entry-switch{min-height:126px;border-radius:13px;background:linear-gradient(120deg,#162f57,#245fab);color:#fff;padding:20px 25px;display:flex;align-items:center;justify-content:space-between;gap:22px}.contract-entry-switch>div:first-child{max-width:720px}.contract-entry-switch>div:first-child>span{font-size:10.9px;letter-spacing:1.2px;color:#bad0ea}.contract-entry-switch h2{font-size:28.1px;margin:6px 0}.contract-entry-switch p{font-size:12.5px;line-height:1.65;color:#d1deed;margin:0}.contract-entry-switch>div:last-child{display:grid;grid-template-columns:1fr 1fr;gap:8px;min-width:390px}.contract-entry-switch button{min-height:68px;border:1px solid #ffffff32;background:#ffffff10;color:#fff;border-radius:9px;padding:9px 11px;display:flex;align-items:center;gap:9px;text-align:left}.contract-entry-switch button.active{background:#fff;color:#225ba8;border-color:#fff;box-shadow:0 8px 20px #071b3828}.contract-entry-switch button>i{width:32px;height:32px;border-radius:8px;background:#ffffff18;display:grid;place-items:center;font-style:normal;font-weight:800}.contract-entry-switch button.active>i{background:#eaf2ff}.contract-entry-switch button small,.contract-entry-switch button strong{display:block}.contract-entry-switch button strong{font-size:13px}.contract-entry-switch button small{font-size:10px;opacity:.75;margin-top:4px}.contract-entry-center>.contract-import-center .contract-import-hero,.contract-entry-center>div>.generic-hero{display:none}@media(max-width:900px){.contract-entry-switch{align-items:flex-start;flex-direction:column}.contract-entry-switch>div:last-child{width:100%;min-width:0}}@media(max-width:560px){.contract-entry-switch{padding:18px}.contract-entry-switch>div:last-child{grid-template-columns:1fr}.contract-entry-switch h2{font-size:23.4px}}.contract-workflow-center{display:grid;gap:14px}.contract-workflow-header{border-radius:13px;background:linear-gradient(120deg,#172f58,#235fae);color:#fff;padding:21px 25px 0;overflow:hidden;box-shadow:0 12px 28px #1736631c}.contract-workflow-header>div>span{font-size:10.9px;letter-spacing:1.2px;color:#bad0e8}.contract-workflow-header h2{font-size:29.6px;margin:6px 0}.contract-workflow-header p{font-size:12.5px;line-height:1.65;color:#d1deed;margin:0;max-width:820px}.contract-workflow-header nav{display:flex;gap:4px;margin-top:18px;overflow:auto}.contract-workflow-header nav button{height:45px;border:0;border-radius:8px 8px 0 0;background:#ffffff10;color:#d9e5f2;padding:0 15px;display:flex;align-items:center;gap:7px;white-space:nowrap}.contract-workflow-header nav button i{width:23px;height:23px;border-radius:6px;background:#ffffff15;display:grid;place-items:center;font-style:normal;font-size:10.9px;font-weight:800}.contract-workflow-header nav button.active{background:#fff;color:#2059a9;font-weight:700}.contract-workflow-header nav button.active i{background:#eaf2ff}.contract-workflow-content{min-width:0}.contract-workflow-content>div>.generic-hero{display:none}.contract-workflow-content>.contract-center{gap:14px}.contract-unified-ledger{overflow-x:auto}.contract-unified-ledger .employee-head{grid-template-columns:1.3fr 1.2fr .75fr .9fr 1fr .85fr .7fr .55fr;min-width:1120px}@media(max-width:720px){.contract-workflow-header{padding:18px 18px 0}.contract-workflow-header h2{font-size:24.9px}.contract-workflow-header nav button{padding:0 11px}.contract-workflow-header nav button i{display:none}}.construction-plan-center,.construction-report-center{display:grid;gap:15px}.construction-plan-hero,.construction-report-hero{border-radius:14px;background:linear-gradient(120deg,#17345d,#2364b8);color:#fff;padding:24px 28px;display:flex;align-items:center;justify-content:space-between;gap:22px;box-shadow:0 12px 30px #17366320}.construction-plan-hero span,.construction-report-hero span{font-size:11px;letter-spacing:1.3px;color:#bad2ef}.construction-plan-hero h2,.construction-report-hero h2{font-size:31px;margin:7px 0}.construction-plan-hero p,.construction-report-hero p{font-size:13px;line-height:1.7;color:#d1e0f0;margin:0}.construction-report-hero>div:last-child,.plan-status-chain{display:flex;align-items:center;gap:7px;background:#ffffff12;border:1px solid #ffffff22;border-radius:10px;padding:12px;white-space:nowrap}.construction-report-hero>div:last-child i,.plan-status-chain i{font-style:normal;color:#9fc3ec}.construction-report-hero>div:last-child b,.plan-status-chain b{font-size:11px}.plan-generator{padding-bottom:17px}.plan-generator-grid{display:grid;grid-template-columns:1.3fr 1.3fr 1fr 1fr;gap:12px;padding:0 17px}.plan-generator-grid label,.report-form-grid label,.report-summary>label{font-size:12px;color:#58677a}.plan-generator-grid input,.plan-generator-grid select,.report-form-grid input,.report-form-grid select,.report-summary input{display:block;width:100%;height:38px;border:1px solid #dce3eb;border-radius:7px;padding:0 9px;margin-top:6px;background:#fff}.plan-warning{margin:13px 17px 0;background:#fff6e7;color:#a5670c;border-radius:8px;padding:10px 12px;font-size:12px}.construction-plan-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:14px}.plan-list{padding:8px}.plan-list .section-title{padding:8px 9px}.plan-list>button{width:100%;border:0;border-radius:9px;background:#fff;padding:11px;text-align:left;margin-bottom:5px}.plan-list>button.active{background:#eaf2ff}.plan-list em,.plan-list small,.plan-list strong{display:block}.plan-list strong{font-size:13px}.plan-list small{font-size:10.5px;color:#7b8797;margin:5px 0}.plan-list em{width:max-content}.plan-workspace{display:grid;gap:13px;min-width:0}.plan-toolbar{padding:13px 15px;display:flex;align-items:center;gap:8px}.plan-toolbar>div{flex:1}.plan-toolbar input{width:100%;border:0;font-size:20px;font-weight:750;outline:0}.plan-toolbar p{font-size:11px;color:#8090a3;margin:5px 0 0}.plan-toolbar button{height:34px;border:1px solid #dbe2ea;border-radius:7px;background:#fff;padding:0 11px}.gantt-panel{overflow:hidden}.gantt-scroll{overflow:auto;padding:0 15px 15px}.gantt-chart{min-width:850px}.gantt-row{display:grid;grid-template-columns:235px 1fr;align-items:center;min-height:48px;border-top:1px solid #edf1f5}.gantt-row>div:first-child small,.gantt-row>div:first-child strong{display:block}.gantt-row strong{font-size:12px}.gantt-row small{font-size:10px;color:#8591a1;margin-top:4px}.gantt-track{height:25px;border-radius:6px;background:repeating-linear-gradient(90deg,#f2f5f8,#f2f5f8 calc(10% - 1px),#dfe5ec 10%);position:relative}.gantt-track>i{position:absolute;top:3px;height:19px;border-radius:5px;background:#4d8ce6;color:#fff;font-size:9px;font-style:normal;text-align:center;line-height:19px;overflow:hidden;min-width:22px}.gantt-track>i>b{position:absolute;left:0;top:0;bottom:0;background:#166d56;opacity:.6}.plan-task-editor{overflow:auto}.plan-task-head,.plan-task-row{display:grid;grid-template-columns:1.35fr 120px 120px 80px 130px 130px 1.2fr;gap:7px;align-items:center;min-width:1050px;padding:8px 14px}.plan-task-head{background:#f6f8fb;color:#718095;font-size:10.5px}.plan-task-row{border-top:1px solid #edf1f5}.plan-task-row input,.plan-task-row textarea{width:100%;border:1px solid #dfe5ec;border-radius:6px;padding:6px;font-size:11px;background:#fff}.plan-task-row textarea{height:45px;resize:vertical}.plan-task-row span small{display:block;font-size:9.5px;color:#8a96a5;margin-top:3px}.construction-report-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);gap:14px}.report-project-selector{display:flex;align-items:end;gap:10px;background:#fff;border:1px solid #e2e7ed;border-radius:10px;padding:12px 15px}.report-project-selector label{flex:1;font-size:12px;color:#627084}.report-project-selector select{display:block;width:100%;height:37px;border:1px solid #dce3eb;border-radius:7px;margin-top:5px;padding:0 9px}.report-form{padding-bottom:16px}.report-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;padding:0 17px}.report-form-grid .wide{grid-column:1/-1}.report-form-grid textarea{display:block;width:100%;min-height:76px;border:1px solid #dce3eb;border-radius:7px;padding:9px;margin-top:6px;resize:vertical}.photo-upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px 17px 0}.photo-upload-grid label{border:1.5px dashed #b9cbe0;background:#f7faff;border-radius:9px;padding:14px;display:grid;place-items:center;text-align:center;cursor:pointer}.photo-upload-grid input{display:none}.photo-upload-grid i{width:35px;height:35px;border-radius:9px;background:#e5efff;color:#2165dc;display:grid;place-items:center;font-style:normal;font-weight:800}.photo-upload-grid strong{font-size:13px;margin-top:7px}.photo-upload-grid small{font-size:10px;color:#8491a2;margin-top:3px}.photo-preview-list{display:flex;gap:8px;overflow:auto;padding:12px 17px 0}.photo-preview-list figure{width:110px;min-width:110px;margin:0}.photo-preview-list img{width:110px;height:78px;object-fit:cover;border-radius:7px}.photo-preview-list figcaption{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative;padding-right:18px}.photo-preview-list button{position:absolute;right:0;border:0;background:none}.report-summary{padding-bottom:16px}.report-period-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:0 16px 13px}.report-period-tabs button{height:34px;border:1px solid #dce3eb;border-radius:7px;background:#fff}.report-period-tabs button.active{background:#2165dc;border-color:#2165dc;color:#fff}.report-summary>label{display:block;padding:0 16px}.report-summary-kpis{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:13px 16px}.report-summary-kpis div{background:#f5f8fc;border-radius:8px;padding:11px}.report-summary-kpis span{font-size:10px;color:#7c8999}.report-summary-kpis strong{display:block;font-size:24px;margin-top:4px}.report-auto-content{margin:0 16px;background:#eef5ff;border-radius:8px;padding:12px}.report-auto-content strong{font-size:13px}.report-auto-content p{font-size:11px;line-height:1.65;color:#617188;margin:6px 0 0}.report-export-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:13px 16px 0}.report-export-actions button{height:39px;border:1px solid #dce3eb;border-radius:7px;background:#fff}.report-export-actions .primary-button{background:#2165dc;border-color:#2165dc;color:#fff}.report-export-actions .primary-button:hover{background:#1957c2;color:#fff}.report-history{overflow:hidden}.report-history article{display:grid;grid-template-columns:55px 1fr minmax(160px,auto);gap:12px;align-items:center;padding:12px 16px;border-top:1px solid #edf1f5}.report-history time{font-size:17px;font-weight:750;color:#245fae}.report-history p,.report-history small,.report-history strong{display:block}.report-history p{font-size:11px;color:#647286;margin:5px 0}.report-history small{font-size:10px;color:#8a96a5}.report-photo-links{display:flex;flex-wrap:wrap;gap:5px;justify-content:flex-end}.report-photo-links a{font-size:9px;color:#2165dc;background:#edf4ff;border-radius:5px;padding:5px 7px;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:1150px){.construction-plan-hero,.construction-report-hero{align-items:flex-start;flex-direction:column}.plan-generator-grid{grid-template-columns:1fr 1fr}.construction-report-layout{grid-template-columns:1fr}}@media(max-width:850px){.construction-plan-layout{grid-template-columns:1fr}.plan-list{max-height:240px;overflow:auto}.plan-toolbar{align-items:flex-start;flex-wrap:wrap}.plan-toolbar>div{flex-basis:100%}}@media(max-width:620px){.photo-upload-grid,.plan-generator-grid,.report-form-grid{grid-template-columns:1fr}.report-form-grid .wide{grid-column:auto}.construction-plan-hero,.construction-report-hero{padding:19px}.construction-plan-hero h2,.construction-report-hero h2{font-size:25px}.construction-report-hero>div:last-child,.plan-status-chain{width:100%;overflow:auto}.report-history article{grid-template-columns:45px 1fr}.report-photo-links{grid-column:1/-1;justify-content:flex-start}}.report-resource-entry{margin:0 17px 16px;border:1px solid #dfe6ee;border-radius:9px;overflow:hidden;background:#fff}.report-resource-title{min-height:58px;padding:10px 12px;background:#f7faff;display:flex;align-items:center;justify-content:space-between;gap:12px}.report-resource-title>div:first-child small,.report-resource-title>div:first-child strong{display:block}.report-resource-title>div:first-child strong{font-size:14px;color:#263b55}.report-resource-title>div:first-child small{font-size:10.9px;color:#7c8999;margin-top:4px}.report-resource-picker{display:grid;grid-template-columns:minmax(170px,240px) minmax(260px,1fr) auto;gap:7px;min-width:min(620px,70%)}.report-resource-picker input,.report-resource-picker select{height:36px;border:1px solid #d8e0e9;border-radius:7px;background:#fff;padding:0 9px;font-size:12.5px;min-width:0}.report-resource-picker input:focus,.report-resource-picker select:focus{outline:2px solid #dbe9ff;border-color:#3975d8}.report-resource-head,.report-resource-row{display:grid;grid-template-columns:1.4fr 1fr .55fr .65fr .8fr .8fr .45fr;gap:8px;align-items:center;padding:0 11px;min-width:790px}.report-resource-head{height:34px;background:#f2f5f8;color:#7a8798;font-size:10.9px}.report-resource-row{min-height:47px;border-top:1px solid #edf0f4;font-size:11.5px;color:#586779}.report-resource-row>span:first-child{display:flex;align-items:center;gap:7px}.report-resource-row i{width:25px;height:25px;border-radius:6px;background:#eaf2ff;color:#2363d1;display:grid;place-items:center;font-style:normal}.report-resource-row input{width:100%;height:30px;border:1px solid #dce2e9;border-radius:6px;padding:0 7px}.report-resource-row b{color:#16835e}.report-resource-row>button{border:0;background:transparent;color:#d54b4b;font-size:10.9px}.report-resource-total{display:flex;justify-content:flex-end;align-items:center;gap:18px;padding:10px 12px;background:#f8fafc;border-top:1px solid #e8edf2;font-size:11.5px}.report-resource-total strong{font-size:13px;color:#176f52}.report-resource-empty{padding:22px;text-align:center;color:#8a96a5;font-size:12px}.report-form{overflow:hidden}.report-resource-entry{overflow-x:auto}@media(max-width:1050px){.report-resource-title{align-items:stretch;flex-direction:column}.report-resource-picker{min-width:0;width:100%}}@media(max-width:720px){.report-resource-picker{grid-template-columns:1fr}.report-resource-picker .secondary-button{width:100%}}.report-export-menu{position:relative;margin:14px 16px 0}.report-export-trigger{width:100%;height:42px;display:flex;align-items:center;justify-content:center;gap:10px}.report-export-trigger>i{font-style:normal;font-size:12px}.report-export-options{position:absolute;z-index:20;left:0;right:0;bottom:48px;background:#fff;border:1px solid #dce3eb;border-radius:10px;padding:7px;box-shadow:0 14px 34px #15385e24;display:grid;gap:5px}.report-export-options>button{border:0;background:#fff;border-radius:8px;padding:10px;display:flex;align-items:center;gap:10px;text-align:left;color:#25374c}.report-export-options>button:hover{background:#eef5ff}.report-export-options>button>i{width:34px;height:34px;border-radius:8px;background:#e8f1ff;color:#2165dc;display:grid;place-items:center;font-style:normal;font-weight:850}.report-export-options>button:nth-child(2)>i{background:#e7f6ef;color:#15805d}.report-export-options>button:nth-child(3)>i{background:#fff0ec;color:#c85239}.report-export-options small,.report-export-options span,.report-export-options strong{display:block}.report-export-options strong{font-size:12.5px}.report-export-options small{font-size:10px;color:#7b899a;margin-top:3px}.report-export-menu .primary-button{background:#2165dc!important;border-color:#2165dc!important;color:#fff!important}.report-export-menu .primary-button:hover{background:#1957c2!important;color:#fff!important}.tender-intelligence-page{display:grid;gap:15px}.tender-search-hero{padding:26px;border-radius:14px;background:radial-gradient(circle at 88% 15%,#3a83e066 0 12%,transparent 34%),linear-gradient(125deg,#102f59,#1e5aa6 58%,#2773c8);color:#fff;box-shadow:0 18px 45px #173b6f24}.tender-hero-copy>span{font-size:11px;letter-spacing:1.7px;color:#bcd6f2}.tender-hero-copy h2{margin:7px 0;font-size:31px}.tender-hero-copy p{max-width:850px;margin:0;color:#d2e1f2;font-size:13px;line-height:1.7}.tender-search-form{display:grid;grid-template-columns:150px 125px minmax(240px,1fr) 110px 150px;gap:8px;margin-top:22px;padding:8px;border-radius:11px;background:#fff;color:#27384f;box-shadow:0 12px 30px #071d3b30}.tender-search-form label{min-width:0;padding:3px 10px;border-right:1px solid #e5eaf1}.tender-search-form label>span{display:block;margin-bottom:3px;color:#8794a6;font-size:10px}.tender-search-form input,.tender-search-form select{width:100%;height:24px;border:0;outline:0;background:#fff;color:#26364b;font-size:13px}.tender-search-form>button{border:0;border-radius:8px;background:#2165dc;color:#fff;font-size:13px;font-weight:800}.tender-search-form>button:disabled{opacity:.7}.tender-search-options{display:flex;align-items:center;gap:16px;margin-top:11px;font-size:12px;color:#d2e1f2}.tender-search-options label{display:flex;align-items:center;gap:7px}.tender-search-options input{accent-color:#65adff}.tender-search-options small{font-size:11px;color:#abc7e7}.source-scope-panel{overflow:hidden}.source-scope-panel .section-title>span{color:#7e8b9d;font-size:12px}.source-scope-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;padding:13px}.source-scope-grid>button{min-height:92px;display:flex;gap:9px;padding:12px;border:1px solid #e0e6ee;border-radius:10px;background:#fff;text-align:left;color:#4c5b70}.source-scope-grid>button>i{width:23px;height:23px;flex:none;display:grid;place-items:center;border-radius:7px;background:#eef2f7;color:#8b97a7;font-style:normal}.source-scope-grid>button span>*{display:block}.source-scope-grid strong{color:#2b3b50;font-size:13px}.source-scope-grid small{margin-top:4px;color:#718096;font-size:11px}.source-scope-grid em{margin-top:7px;color:#98a3b1;font-size:10px;line-height:1.45;font-style:normal}.source-scope-grid>button.active{border-color:#9fc1f7;background:#f1f6ff;box-shadow:inset 0 0 0 1px #d7e7ff}.source-scope-grid>button.active>i{background:#2165dc;color:#fff}.source-scope-grid>button.active strong{color:#1858bf}.tender-search-guide{padding:24px}.tender-search-guide>div{display:flex;align-items:center;gap:13px}.tender-search-guide>div>i{width:46px;height:46px;display:grid;place-items:center;border-radius:12px;background:#eaf2ff;color:#2165dc;font-style:normal;font-weight:800}.tender-search-guide span small,.tender-search-guide span strong{display:block}.tender-search-guide span strong{font-size:16px}.tender-search-guide span small{margin-top:5px;color:#8491a3;font-size:12px}.tender-search-guide ol{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:20px 0 0;padding:0;list-style:none}.tender-search-guide li{display:flex;align-items:center;gap:8px;padding:11px;border-radius:8px;background:#f7f9fc;color:#536175;font-size:12px}.tender-search-guide li b{width:23px;height:23px;display:grid;place-items:center;border-radius:50%;background:#2165dc;color:#fff;font-size:10px}.tender-search-loading{min-height:210px;display:grid;place-items:center;align-content:center;text-align:center}.tender-search-loading>.spinner{width:28px;height:28px;border-color:#2165dc #d8e6fa #d8e6fa}.tender-search-loading h3{margin:14px 0 6px}.tender-search-loading p{margin:0;color:#8491a3;font-size:12px}.tender-result-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.tender-result-stats article{padding:16px 18px;border:1px solid #e3e8ef;border-radius:10px;background:#fff}.tender-result-stats small,.tender-result-stats span{display:block}.tender-result-stats span{color:#77869a;font-size:12px}.tender-result-stats strong{display:block;margin:6px 0 2px;color:#1e4f91;font-size:28px}.tender-result-stats small{color:#9aa5b3;font-size:10px}.tender-ai-brief{overflow:hidden}.tender-ai-brief .section-title span{color:#8d99a9;font-size:11px}.tender-ai-brief>p{margin:0;padding:15px 17px;color:#526175;font-size:13px;line-height:1.75}.tender-result-toolbar{display:flex;align-items:center;gap:10px}.tender-result-toolbar>div{display:flex;gap:5px;overflow:auto}.tender-result-toolbar>div button{height:34px;white-space:nowrap;border:1px solid #e0e5ec;border-radius:18px;background:#fff;padding:0 12px;color:#627085;font-size:12px}.tender-result-toolbar>div button.active{border-color:#2165dc;background:#2165dc;color:#fff}.tender-result-toolbar button b{margin-left:6px;padding:1px 5px;border-radius:8px;background:#eef2f7;color:#6c798d;font-size:9px}.tender-result-toolbar button.active b{background:#ffffff2d;color:#fff}.tender-result-toolbar>.secondary-button{margin-left:auto;flex:none}.tender-result-list{display:grid;gap:12px}.tender-result-card{overflow:hidden}.tender-result-card>header{min-height:58px;display:flex;align-items:center;gap:14px;padding:10px 16px;border-bottom:1px solid #edf0f4;background:#fbfcfe}.tender-source-mark{display:flex;align-items:center;gap:9px}.tender-source-mark>i{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:#e8f1ff;color:#2165dc;font-style:normal;font-weight:800}.tender-source-mark span>*{display:block}.tender-source-mark strong{font-size:12px}.tender-source-mark small{margin-top:3px;color:#8995a5;font-size:10px}.tender-status{padding:4px 9px;border-radius:11px;font-size:10px;font-weight:700}.tender-status.active{background:#e8f8f1;color:#11845c}.tender-status.closed{background:#f0f2f5;color:#7f8a99}.tender-status.danger{background:#ffebeb;color:#d74444}.tender-status.pending{background:#fff3df;color:#ca7b06}.tender-completeness{display:grid;grid-template-columns:auto auto;gap:3px 8px;align-items:center;margin-left:auto}.tender-completeness span{color:#8c97a6;font-size:10px}.tender-completeness b{color:#34557e;font-size:11px}.tender-completeness>i{grid-column:1/-1;width:120px;height:4px;border-radius:3px;background:#e7ebf0;overflow:hidden}.tender-completeness em{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,#60a5fa,#2165dc)}.tender-result-main{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,.75fr);gap:20px;padding:18px}.tender-result-title>span{color:#3971bd;font-size:10px;font-weight:700}.tender-result-title h3{margin:5px 0 8px;color:#213249;font-size:18px;line-height:1.5}.tender-result-title p{margin:0;color:#647286;font-size:12px;line-height:1.7}.tender-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.tender-tags b{padding:4px 8px;border-radius:6px;background:#f1f4f8;color:#647286;font-size:10px;font-weight:600}.tender-tags b.money{background:#eaf7f1;color:#16845e}.tender-result-main>aside{display:grid;grid-template-columns:1fr 1fr;gap:8px}.tender-result-main>aside span{min-width:0;padding:9px;border-radius:8px;background:#f7f9fc;color:#8a96a6;font-size:10px}.tender-result-main>aside strong{display:block;margin-top:5px;overflow:hidden;color:#34445a;font-size:11px;line-height:1.45;text-overflow:ellipsis}.tender-timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:0 18px 16px}.tender-timeline>div{min-height:72px;display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #e4e9ef;border-radius:9px}.tender-timeline>div>i{width:30px;height:30px;flex:none;display:grid;place-items:center;border-radius:50%;background:#edf3fb;color:#3a6daa;font-style:normal;font-size:11px;font-weight:800}.tender-timeline span>*{display:block}.tender-timeline small{color:#8c98a8;font-size:10px}.tender-timeline strong{margin-top:5px;color:#34445a;font-size:12px}.tender-timeline em{margin-top:3px;color:#8794a4;font-size:9px;font-style:normal}.tender-timeline .important{border-color:#b8d2f8;background:#f3f7ff}.tender-timeline .important>i{background:#2165dc;color:#fff}.tender-timeline .missing{border-style:dashed;background:#fafbfc}.tender-timeline .missing strong{color:#a0a9b5}.tender-risk-notes{display:grid;gap:5px;margin:0 18px 16px}.tender-risk-notes p{display:flex;gap:8px;margin:0;padding:8px 10px;border-radius:7px;background:#fff8e9;color:#825b1a;font-size:10px;line-height:1.5}.tender-risk-notes b{flex:none;color:#c27b09}.tender-expanded{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 18px 16px}.tender-expanded section{padding:13px;border:1px solid #e4e9ef;border-radius:9px;background:#fbfcfe}.tender-expanded h4{margin:0 0 8px;font-size:12px}.tender-expanded a,.tender-expanded p{font-size:11px;line-height:1.65}.tender-expanded p{margin:6px 0 0;color:#657387}.tender-expanded a{display:block;overflow:hidden;color:#2165dc;text-overflow:ellipsis;white-space:nowrap}.tender-result-card>footer{display:flex;justify-content:flex-end;align-items:center;gap:8px;padding:11px 16px;border-top:1px solid #edf0f4;background:#fbfcfe}.tender-result-card>footer>.text-button{margin-right:auto}.tender-result-card>footer a{text-decoration:none}.search-error{border:1px solid #ffd3d3;border-radius:9px;background:#fff0f0;color:#c23f3f;padding:11px 14px;font-size:12px}@media(max-width:1200px){.tender-search-form{grid-template-columns:1fr 1fr 2fr 1fr}.tender-search-form>button{grid-column:1/-1;height:38px}.source-scope-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:820px){.tender-search-hero{padding:18px}.tender-search-form{grid-template-columns:1fr 1fr}.tender-keywords{grid-column:1/-1}.source-scope-grid,.tender-result-stats{grid-template-columns:1fr 1fr}.tender-result-main{grid-template-columns:1fr}.tender-result-toolbar{align-items:flex-start;flex-direction:column}.tender-result-toolbar>.secondary-button{margin-left:0}.tender-expanded,.tender-timeline{grid-template-columns:1fr}}@media(max-width:520px){.tender-search-form{grid-template-columns:1fr}.tender-keywords,.tender-search-form label{grid-column:auto;border-right:0;border-bottom:1px solid #e5eaf1;padding:7px}.tender-search-options{align-items:flex-start;flex-direction:column}.source-scope-grid{grid-template-columns:1fr}.tender-search-guide ol{grid-template-columns:1fr 1fr}.tender-result-main>aside{grid-template-columns:1fr}.tender-result-card>header{align-items:flex-start;flex-wrap:wrap}.tender-completeness{width:100%;margin-left:0}.tender-completeness>i{width:100%}.tender-result-card>footer{align-items:stretch;flex-direction:column}.tender-result-card>footer>.text-button{margin:0}.tender-result-card>footer a,.tender-result-card>footer button{width:100%}.tender-result-stats strong{font-size:24px}}.tender-source-coverage{overflow:hidden}.tender-source-coverage .section-title>span{color:#8a96a6;font-size:11px}.tender-source-coverage>div:nth-child(2){display:flex;flex-wrap:wrap;gap:7px;padding:13px}.tender-source-coverage>div:nth-child(2)>span{display:grid;grid-template-columns:22px auto;gap:1px 7px;align-items:center;padding:8px 10px;border:1px solid #e3e8ef;border-radius:8px;background:#fafbfd}.tender-source-coverage span>i{grid-row:1/3;width:21px;height:21px;display:grid;place-items:center;border-radius:50%;background:#e8f8f1;color:#13845d;font-size:10px;font-style:normal}.tender-source-coverage span>b{color:#34445a;font-size:11px}.tender-source-coverage span>small{max-width:260px;overflow:hidden;color:#8b97a7;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.tender-source-coverage span.unavailable{border-color:#f0d8aa;background:#fffaf0}.tender-source-coverage span.unavailable>i{background:#fff0d2;color:#b87508}.tender-source-coverage>p{margin:0;padding:0 13px 13px;color:#a06b14;font-size:10px}.tender-extraction-strip{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 12px;border:1px solid #dce7f5;border-radius:10px;background:#f6f9fe}.tender-extraction-strip>span{display:flex;align-items:center;gap:6px;padding:6px 9px;border-radius:7px;background:#fff;color:#66758a;font-size:10px}.tender-extraction-strip span>i{width:20px;height:20px;display:grid;place-items:center;border-radius:6px;background:#e8f1ff;color:#2165dc;font-style:normal;font-weight:800}.tender-extraction-strip span>b{font-weight:600}.tender-extraction-strip span>strong{color:#204f8d}.tender-extraction-strip>p{margin:0 0 0 auto;color:#7d8b9d;font-size:10px}.tender-extraction-method{padding:4px 8px;border-radius:10px;background:#eef3f9;color:#64768c;font-size:9px;white-space:nowrap}.tender-extraction-method.level-高{background:#e8f8f1;color:#11845c}.tender-extraction-method.level-中{background:#eaf2ff;color:#2165dc}.tender-extraction-method.level-低{background:#fff2dd;color:#b87308}@media(max-width:700px){.tender-extraction-strip>p{width:100%;margin-left:0}.tender-extraction-method{order:4}}.platform-topbar{padding-right:120px!important}.platform-topbar>.top-icon{display:none!important}.topbar-centers-dock{position:fixed;z-index:89;top:calc(var(--device-toolbar-height,0px) + 16px);right:18px}.topbar-center-buttons{display:flex;align-items:center;gap:8px}.topbar-center-buttons>.top-icon{position:relative;display:grid!important;place-items:center}.topbar-center-buttons>.top-icon.active{border-color:#8bb4ec;background:#eaf2ff;color:#2165dc}.topbar-center-buttons>.top-icon>i{position:absolute;top:-6px;right:-7px;min-width:17px;width:auto;height:17px;padding:0 4px;display:grid;place-items:center;border:2px solid #fff;border-radius:10px;background:#e54f4f;color:#fff;font-size:9px;font-style:normal;font-weight:800;line-height:1}.topbar-center-popover{position:absolute;z-index:90;top:48px;right:0;width:min(390px,calc(100vw - 24px));overflow:hidden;border:1px solid #dce5f0;border-radius:14px;background:#fff;box-shadow:0 20px 60px #10243c35}.topbar-center-popover>header{display:flex;align-items:center;padding:14px 15px;border-bottom:1px solid #e8edf3;background:linear-gradient(145deg,#f8fbff,#fff)}.topbar-center-popover>header>div{flex:1}.topbar-center-popover header small,.topbar-center-popover header strong{display:block}.topbar-center-popover header strong{font-size:15px}.topbar-center-popover header small{margin-top:3px;color:#8491a2;font-size:11px}.topbar-center-popover header button{border:0;background:transparent;color:#2165dc;font-size:11px}.topbar-center-list{max-height:min(460px,68dvh);overflow:auto;padding:6px}.topbar-center-list article,.topbar-center-list>button{width:100%;display:flex;align-items:flex-start;gap:10px;padding:11px;border:0;border-radius:10px;background:#fff;color:inherit;text-align:left}.topbar-center-list>button.unread{background:#eef5ff}.topbar-center-list article:hover,.topbar-center-list>button:hover{background:#f4f7fb}.topbar-center-list i{width:31px;height:31px;flex:none;display:grid;place-items:center;border-radius:9px;background:#eaf2ff;color:#2165dc;font-style:normal;font-size:11px;font-weight:800}.topbar-center-list span{min-width:0;flex:1}.topbar-center-list em,.topbar-center-list small,.topbar-center-list strong{display:block}.topbar-center-list strong{overflow:hidden;color:#27374d;font-size:12.5px;text-overflow:ellipsis;white-space:nowrap}.topbar-center-list small{margin-top:4px;color:#7f8c9d;font-size:11px;line-height:1.5}.topbar-center-list em{margin-top:5px;color:#9aa5b4;font-size:10px;font-style:normal}.topbar-center-list>button.unread strong:after{content:"";display:inline-block;width:6px;height:6px;margin-left:6px;border-radius:50%;background:#e34f4f;vertical-align:middle}.center-empty{padding:34px 18px;color:#8a96a6;font-size:12px;line-height:1.6;text-align:center}@media(max-width:1050px){.platform-topbar .global-search{display:none}}@media(max-width:900px){.platform-topbar{padding-right:108px!important}.platform-topbar .export-menu,.platform-topbar .primary-button,.platform-topbar .secondary-button{display:none!important}.topbar-centers-dock{top:calc(var(--device-toolbar-height,0px) + 14px);right:12px}.topbar-center-popover{position:fixed;top:calc(var(--device-toolbar-height,0px) + 68px);right:10px;left:10px;width:auto}.topbar-center-list{max-height:62dvh}}@media(max-width:640px){.topbar-center-buttons{gap:4px}.topbar-center-buttons>.top-icon{width:37px;height:37px;min-height:37px}.topbar-center-popover{top:calc(var(--device-toolbar-height,0px) + 64px);border-radius:13px}.topbar-center-list{max-height:66dvh}.topbar-center-list article,.topbar-center-list>button{min-height:64px}}@media print{.topbar-centers-dock{display:none!important}.platform-topbar{padding-right:22px!important}}:root{--ui-font-xs:12px;--ui-font-sm:13px;--ui-font-base:14px;--ui-font-md:16px;--ui-font-lg:20px;--ui-font-xl:26px;--ui-control-height:38px;--ui-content-gap:16px}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;font-size:16px}body,html{overflow-x:hidden}body{font-size:var(--ui-font-base);line-height:1.55;text-rendering:optimizeLegibility}canvas,img,svg,video{max-width:100%;height:auto}button,input,select,textarea{font-size:var(--ui-font-base)}input,select,textarea{max-width:100%}textarea{line-height:1.6}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #2165dc35;outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.panel,.platform-content,.platform-main,.platform-shell{min-width:0;max-width:100%}.platform-content>*{max-width:100%}.platform-sidebar{width:240px}.platform-main{margin-left:240px}.platform-brand{height:70px;padding-inline:16px}.platform-brand strong{font-size:20px!important;line-height:1.2}.platform-brand small{font-size:11px!important}.platform-brand>div{width:38px;height:38px;font-size:22px}.platform-nav{padding:10px 9px}.nav-module-button{min-height:42px;height:auto;padding:8px 10px;font-size:14.5px!important;line-height:1.35}.nav-module-button>b{font-size:14px!important}.nav-module-button>i{flex:0 0 27px;font-size:14px}.nav-submenu button{min-height:34px;height:auto;padding-block:7px;font-size:12.5px;line-height:1.35}.platform-user{padding:10px 8px}.platform-user strong{font-size:13px}.platform-user small{font-size:11px}.platform-topbar{height:70px;padding-inline:22px}.platform-topbar>div:first-of-type{min-width:180px}.platform-topbar h1{font-size:22px;line-height:1.2}.platform-topbar p{font-size:11px}.subnav-bar{top:70px;height:46px;padding-inline:22px}.subnav-bar button,.subnav-bar>span{font-size:12.5px}.platform-content{padding:20px 22px 38px;max-width:1680px}.primary-button,.secondary-button{min-height:38px;height:auto;padding:8px 13px;font-size:13px;line-height:1.2}.section-title{min-height:50px;height:auto;padding:11px 16px;gap:10px;flex-wrap:wrap}.section-title h3{font-size:16px;line-height:1.35}.status{font-size:11px}.dashboard-kpis span,.summary-strip span{font-size:13px}.dashboard-kpis strong,.summary-strip strong{font-size:28px;line-height:1.15}.ai-search-hero,.generic-hero,.welcome-banner{padding:22px 26px}.ai-search-hero h2,.generic-hero h2,.welcome-banner h2{font-size:clamp(24px,2vw,30px);line-height:1.25}.ai-search-hero p,.generic-hero p,.welcome-banner p{font-size:13px;line-height:1.65}.document-toolbar,.module-toolbar{gap:12px;flex-wrap:wrap}.document-toolbar h2,.module-toolbar h2{font-size:22px}.contract-review-actions,.document-toolbar>div,.module-toolbar>div,.source-actions{flex-wrap:wrap}.panel table{font-size:13px}.panel td,.panel th{line-height:1.45}.modal-backdrop{padding:20px}.modal-backdrop>div{max-width:calc(100vw - 40px);max-height:calc(100dvh - 40px);overflow:auto}.toast-message{max-width:min(430px,calc(100vw - 32px));font-size:13px}.empty,.empty-mini{font-size:13px}.dashboard-view-tabs{width:max-content;max-width:100%;margin-bottom:14px;padding:4px;background:#e9edf3;border-radius:9px;overflow-x:auto}.camera-error{flex-wrap:wrap;line-height:1.5}.camera-error .text-button{min-height:32px;margin-left:auto}.login-page{grid-template-columns:minmax(420px,1.05fr) minmax(480px,.95fr)}.login-brand{padding:7vh clamp(32px,4vw,70px)}.login-brand>p{font-size:16px}.login-brand article strong{font-size:15px}.login-panel{padding:24px}.login-panel form{padding:32px}.login-panel header h2{font-size:30px}.login-panel header p{font-size:14px}.login-panel form>button,.login-panel input{font-size:15px}.dashboard-kpi-card{position:relative;min-width:0;padding:17px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--text);text-align:left;box-shadow:0 2px 5px #1f293707;transition:transform .18s,box-shadow .18s,border-color .18s}.dashboard-kpi-card:hover{transform:translateY(-2px);border-color:#b9cff0;box-shadow:0 10px 26px #17345917}.dashboard-kpi-card:active{transform:scale(.985)}.dashboard-kpi-card>i{position:absolute;right:16px;top:15px;width:35px;height:35px;border-radius:8px;display:grid;place-items:center;font-style:normal}.dashboard-kpi-card>small,.dashboard-kpi-card>span,.dashboard-kpi-card>strong{display:block}.dashboard-kpi-card>span{padding-right:42px;color:#7f8b9d;font-size:13px}.dashboard-kpi-card>strong{margin:9px 0;font-size:28px;line-height:1.15}.dashboard-kpi-card>small{color:#8793a4;font-size:12px}.dashboard-kpi-card>em{display:block;margin-top:9px;color:#2165dc;font-size:11px;font-style:normal;font-weight:700}.risk-panel>div:last-child>button{width:100%;display:flex;align-items:center;gap:8px;padding:10px 0;border:0;border-bottom:1px solid #edf0f4;background:#fff;color:inherit;text-align:left}.risk-panel>div:last-child>button:last-child{border-bottom:0}.risk-panel>div:last-child>button>i{width:25px;height:25px;flex:none;border-radius:50%;background:#fff2df;color:#dc890d;display:grid;place-items:center;font-style:normal;font-size:12px}.risk-panel>div:last-child>button>span{flex:1}.risk-panel>div:last-child>button small,.risk-panel>div:last-child>button strong{display:block}.risk-panel>div:last-child>button strong{font-size:13px}.risk-panel>div:last-child>button small{margin-top:3px;color:#8c97a7;font-size:11px}.risk-panel>div:last-child>button>b{color:#9ba5b2}@media (max-width:1180px){:root{--ui-content-gap:14px}.platform-sidebar{width:218px}.platform-main{margin-left:218px}.platform-brand{padding-inline:12px}.platform-brand strong{font-size:18px!important}.platform-brand small{font-size:10px!important}.nav-module-button{font-size:13.5px!important;padding-inline:8px}.nav-submenu{margin-left:20px;padding-left:8px}.platform-topbar{padding-inline:16px}.platform-topbar>div:first-of-type{min-width:155px}.platform-topbar h1{font-size:20px}.global-search{width:190px}.platform-content{padding:16px}.dashboard-kpis,.summary-strip{gap:12px}.construction-report-layout,.dashboard-layout,.search-results-grid{grid-template-columns:1fr!important}.quick-panel>div:last-child{grid-template-columns:repeat(3,1fr)}.doc-workspace{grid-template-columns:230px minmax(0,1fr)}.contract-workspace{grid-template-columns:minmax(220px,.72fr) minmax(0,1.6fr)!important}.contract-review-panel{grid-column:1/-1}}@media (max-width:900px){body{font-size:14px}.platform-sidebar{width:min(330px,86vw);transform:translateX(-105%);box-shadow:12px 0 36px #10243c2b}.platform-sidebar.open{transform:translateX(0)}.platform-main{margin-left:0}.platform-brand{height:66px}.mobile-menu,.platform-brand>button{display:grid;place-items:center}.platform-topbar{height:66px;padding:0 14px;gap:8px;background:#ffffffed;backdrop-filter:blur(14px);box-shadow:0 5px 20px #1734590d}.platform-topbar>div:first-of-type{min-width:0;flex:1}.platform-topbar h1{font-size:19px}.platform-topbar h1,.platform-topbar p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.global-search,.top-icon{display:none}.subnav-bar{top:66px;height:44px;padding-inline:12px;scrollbar-width:none;background:#fffffff2;backdrop-filter:blur(12px)}.subnav-bar::-webkit-scrollbar{display:none}.subnav-bar button{min-height:32px}.platform-content{min-height:calc(100dvh - 160px);padding:14px 14px calc(28px + env(safe-area-inset-bottom));background:linear-gradient(180deg,#eef4fb,#f5f7fa 180px)}.mobile-overlay{display:block;position:fixed;z-index:35;inset:0;background:#0a172a70;backdrop-filter:blur(2px)}.dashboard-kpis,.summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.platform-content :where([class*=-layout],[class*=-workspace]){grid-template-columns:1fr!important;height:auto!important}.contract-list,.doc-list{max-height:300px}.contract-editor,.doc-editor{min-height:560px}.contract-review-panel{grid-column:auto}.ai-search-form{grid-template-columns:1fr 1fr}.contract-toolbar,.document-toolbar,.module-toolbar,.report-project-selector{align-items:flex-start}.generic-head,.generic-row{min-width:760px}.login-page{grid-template-columns:1fr}.login-brand{display:none}.login-panel{min-height:100dvh}.dashboard-kpi-card,.panel{border-radius:13px;border-color:#dce6f2;box-shadow:0 7px 22px #1c3f6810}.attendance-hero,.construction-report-hero,.generic-hero,.welcome-banner{box-shadow:0 14px 34px #173f7330}.primary-button{background:linear-gradient(135deg,#2165dc,#2d7edb);box-shadow:0 5px 13px #2165dc24}button{touch-action:manipulation}}@media (max-width:640px){:root{--ui-font-base:15px;--ui-control-height:44px}body{font-size:15px;line-height:1.6}input,select,textarea{font-size:16px!important}input:not([type=checkbox]):not([type=radio]),select{min-height:44px}.primary-button,.secondary-button,button{min-height:42px}.platform-topbar{height:62px;padding-inline:10px}.mobile-menu{width:40px;height:40px;font-size:24px}.platform-topbar h1{font-size:18px}.platform-topbar p{font-size:10.5px;margin-bottom:2px}.platform-topbar .export-menu,.platform-topbar .secondary-button{display:none}.platform-topbar .primary-button{width:42px;min-width:42px;padding:0;font-size:0}.platform-topbar .primary-button:first-letter{font-size:22px}.subnav-bar{top:62px;height:42px;padding-inline:9px}.subnav-bar>span{display:none}.subnav-bar button{font-size:12px;padding-inline:10px}.platform-content{padding:12px 10px calc(24px + env(safe-area-inset-bottom))}.platform-brand strong{font-size:19px!important}.platform-brand small{font-size:10.5px!important}.nav-module-button{font-size:15px!important;min-height:46px}.nav-submenu button{font-size:13.5px;min-height:40px}.platform-user strong{font-size:14px}.section-title{padding:10px 12px;min-height:48px;background:linear-gradient(180deg,#fff,#fbfcfe);border-radius:13px 13px 0 0}.section-title h3{font-size:16px}.section-title>:last-child{margin-left:0}.ai-search-hero,.construction-report-hero,.contract-toolbar,.generic-hero,.welcome-banner{padding:18px 16px!important;border-radius:15px!important}.construction-report-hero,.contract-toolbar,.generic-hero,.welcome-banner{display:block!important}.ai-search-hero h2,.construction-report-hero h2,.contract-toolbar h2,.generic-hero h2,.welcome-banner h2{font-size:22px!important;line-height:1.3;margin-block:7px}.ai-search-hero p,.construction-report-hero p,.contract-toolbar p,.generic-hero p,.welcome-banner p{font-size:13px!important;line-height:1.65}.construction-report-hero>div:last-child,.generic-hero>button,.welcome-banner button{display:none!important}.contract-kpis,.dashboard-kpis,.report-summary-kpis,.summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px}.contract-kpis>div,.dashboard-kpi-card,.dashboard-kpis>div,.report-summary-kpis>div,.summary-strip>div{padding:12px!important;min-width:0}.dashboard-kpis span,.summary-strip span{font-size:12px}.dashboard-kpis strong,.summary-strip strong{font-size:23px}.platform-content :where([class*=-grid]){grid-template-columns:1fr!important}.platform-content :where([class*=-layout],[class*=-workspace]){display:grid!important;grid-template-columns:1fr!important;height:auto!important;min-height:0!important}.contract-meta-grid .full,.report-form-grid .wide{grid-column:auto!important}.contract-toolbar,.document-toolbar,.editor-head,.module-toolbar,.report-project-selector,.section-title{flex-direction:column;align-items:stretch!important}.document-toolbar>div,.editor-head>div:last-child,.module-toolbar>div{width:100%}.contract-toolbar button,.document-toolbar button,.module-toolbar button{flex:1}.table-search{width:100%;height:44px}.table-search input{width:100%;font-size:16px}.category-chips,.contract-filters,.doc-type-tabs,.report-period-tabs,.tab-switch{overflow-x:auto;flex-wrap:nowrap!important;scrollbar-width:none;padding-bottom:2px}.category-chips::-webkit-scrollbar,.contract-filters::-webkit-scrollbar,.doc-type-tabs::-webkit-scrollbar,.report-period-tabs::-webkit-scrollbar,.tab-switch::-webkit-scrollbar{display:none}.category-chips button,.contract-filters button,.doc-type-tabs button,.report-period-tabs button,.tab-switch button{flex:0 0 auto;white-space:nowrap;min-height:38px}.ai-search-form{grid-template-columns:1fr;padding:7px}.ai-search-form .field,.ai-search-form .keywords,.ai-search-form>button{grid-column:auto;border-right:0;border-bottom:1px solid #e7ebf1;padding:8px}.ai-search-form>button{min-height:44px;border-bottom:0}.quick-panel>div:last-child{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 6px;padding:15px 8px}.kanban,.lifecycle-track,.tender-funnel{overflow-x:auto;overscroll-behavior-x:contain}.lifecycle-track button{min-width:110px}.generic-table,.panel:has(.generic-head),.panel:has(>table){overflow-x:auto;-webkit-overflow-scrolling:touch}.generic-head,.generic-row{min-width:700px;padding-inline:12px;font-size:12px}.panel table{min-width:680px;font-size:12.5px}.doc-workspace{display:block!important}.contract-list,.doc-list{max-height:260px;margin-bottom:10px}.contract-editor,.doc-editor{display:block!important;min-height:0}.editor-outline{display:none}.editor-head{height:auto;padding:12px}.editor-head input{width:100%;margin:0;font-size:18px}.contract-textarea,.doc-textarea{width:100%;height:55dvh;min-height:380px;padding:15px;font-size:16px!important;line-height:1.75}.source-cards article{grid-template-columns:28px minmax(0,1fr)}.source-actions{grid-column:2;width:100%}.source-actions>*{flex:1;justify-content:center}.photo-upload-grid{grid-template-columns:1fr 1fr!important}.photo-preview-list,.photos{grid-template-columns:1fr!important}.report-export-options{position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));max-height:70dvh;overflow:auto}.modal-backdrop{padding:8px;align-items:end}.modal-backdrop>div{width:100%!important;max-width:100%!important;max-height:92dvh;border-radius:14px 14px 0 0!important}.modal-backdrop header{position:sticky;top:0;z-index:2;background:#fff}.toast-message{left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));max-width:none;font-size:13px}.login-panel{padding:12px;align-items:center}.login-panel form{padding:24px 18px;border-radius:12px;box-shadow:0 12px 36px #17345914}.login-panel header h2{font-size:25px}.login-panel header p{font-size:13px;margin-bottom:20px}.login-panel form>button,.login-panel input{height:46px;font-size:16px!important}.login-panel footer{gap:8px;flex-wrap:wrap}.empty,.empty-mini{padding:24px 14px}.attendance-tabs,.subnav-bar{scroll-snap-type:x proximity}.attendance-tabs button,.subnav-bar button{scroll-snap-align:start}.attendance-check-card,.report-form{overflow:hidden}.camera-modal-backdrop,.modal-backdrop{padding-bottom:max(8px,env(safe-area-inset-bottom))}}@media (max-width:390px){.platform-content{padding-inline:8px}.contract-kpis,.dashboard-kpis,.report-summary-kpis,.summary-strip{grid-template-columns:1fr!important}.quick-panel>div:last-child{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-upload-grid{grid-template-columns:1fr!important}.platform-topbar .primary-button{display:none}}@media (orientation:landscape) and (max-height:600px){.platform-sidebar{width:min(300px,72vw)}.platform-content{padding:10px 14px 20px}.dashboard-kpis,.summary-strip{grid-template-columns:repeat(4,minmax(150px,1fr))!important;overflow-x:auto}.attendance-hero,.construction-report-hero,.generic-hero,.welcome-banner{min-height:96px!important;padding-block:13px!important}.modal-backdrop>div{max-height:88dvh}}@media (hover:none){button:hover{filter:none}.dashboard-kpi-card:hover{transform:none}.primary-button:active{transform:translateY(1px)}}@media print{.mobile-overlay,.platform-sidebar,.platform-topbar,.subnav-bar,.toast-message{display:none!important}.platform-main{margin:0!important}.platform-content{padding:0!important;max-width:none}.panel{box-shadow:none;break-inside:avoid}}:root{--page-max:1760px;--page-gutter:clamp(12px,1.8vw,30px);--card-radius:14px;--touch-size:42px;--surface:#fff;--surface-soft:#f7f9fc;--shadow-soft:0 8px 28px #17345910}html{background:#eef3f8}body{min-height:100dvh;background:linear-gradient(180deg,#edf3f9,#f5f7fa 260px);font-synthesis:none}.platform-main{min-width:0}.platform-content{width:100%;max-width:var(--page-max);padding-inline:var(--page-gutter)}.platform-content>:first-child{animation:release-enter .2s ease-out}@keyframes release-enter{0%{opacity:.25;transform:translateY(3px)}to{opacity:1;transform:none}}.dashboard-kpi-card,.panel,.summary-strip{border-color:#dfe7f1;border-radius:var(--card-radius);box-shadow:var(--shadow-soft)}.panel{overflow:clip}.section-title{background:linear-gradient(180deg,#fff,#fbfcfe)}button{touch-action:manipulation}.primary-button,.secondary-button,.text-button,.top-icon{transition:background-color .16s,border-color .16s,box-shadow .16s,transform .16s}.primary-button:active,.secondary-button:active,.top-icon:active{transform:scale(.98)}input,select,textarea{border-color:#d7e0eb!important;background-color:#fff;color:#26364b}input:disabled,select:disabled,textarea:disabled{background:#f1f4f7;color:#8491a2}textarea{resize:vertical}.empty,.empty-mini{min-height:110px;display:grid;place-content:center}.platform-content :where(.generic-table,.attendance-table-panel,.salary-panel,.contract-list,.doc-list){scrollbar-width:thin;scrollbar-color:#bac8d8 transparent}.platform-content :where(table,.generic-head,.generic-row){font-variant-numeric:tabular-nums}.platform-content :where(th,.generic-head){position:sticky;top:0;z-index:2;background:#f7f9fc}.platform-content :where(.module-toolbar,.document-toolbar,.report-project-selector,.audit-actions){position:relative;z-index:4}.release-loading,.release-state-page{min-height:calc(100dvh - var(--device-toolbar-height,0px));display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 20%,#e8f2ff,#f6f8fb 48%,#eef2f7)}.release-loading section,.release-state-page section{width:min(520px,100%);padding:38px;border:1px solid #dce6f2;border-radius:20px;background:#fff;box-shadow:0 24px 80px #1734591c;text-align:center}.release-loader{width:48px;height:48px;margin:0 auto 18px;border:4px solid #dce9fa;border-top-color:#2165dc;border-radius:50%;animation:release-spin .8s linear infinite}.release-loading small,.release-loading strong,.release-state-page small,.release-state-page span{display:block}.release-loading strong{font-size:18px}.release-loading small,.release-state-page p,.release-state-page small{margin-top:8px;color:#77869a;font-size:13px;line-height:1.7}.release-state-page i{width:58px;height:58px;margin:auto;display:grid;place-items:center;border-radius:16px;background:#eaf2ff;color:#2165dc;font-size:20px;font-style:normal;font-weight:800}.release-state-page span{margin-top:16px;color:#7391b7;font-size:11px;letter-spacing:2px}.release-state-page h1{margin:8px 0;font-size:28px}.release-state-page p{margin-inline:auto}.release-state-page div{display:flex;justify-content:center;gap:9px;margin-top:22px}.release-state-page a,.release-state-page button{min-height:42px;display:inline-flex;align-items:center;justify-content:center;padding:0 16px;border:1px solid #d8e1ec;border-radius:9px;background:#fff;color:#405169;font-weight:700;text-decoration:none}.release-state-page a.primary,.release-state-page button{border-color:#2165dc;background:#2165dc;color:#fff}@keyframes release-spin{to{transform:rotate(1turn)}}@media(max-width:520px){.release-loading,.release-state-page{padding:12px}.release-loading section,.release-state-page section{padding:28px 20px;border-radius:16px}.release-state-page div{display:grid}.release-state-page h1{font-size:24px}}@media(min-width:1600px){.platform-sidebar{width:260px}.platform-main{margin-left:260px}.platform-content{padding-top:24px}.dashboard-layout{grid-template-columns:minmax(0,1.7fr) minmax(330px,.72fr)}.dashboard-kpis,.summary-strip{gap:18px}.dashboard-kpi-card,.panel,.summary-strip{border-radius:16px}}@media(min-width:901px) and (max-width:1280px){.platform-content{--page-gutter:16px}.platform-topbar{gap:7px}.platform-topbar .primary-button,.platform-topbar .secondary-button{padding-inline:10px}.global-search{max-width:210px}.dashboard-kpis,.summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.platform-content :where([class*=-layout]){gap:12px}}@media(max-width:900px){:root{--card-radius:13px;--touch-size:44px}.platform-content{padding-inline:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right))}.platform-sidebar{padding-bottom:env(safe-area-inset-bottom);overscroll-behavior:contain}.platform-nav{scrollbar-width:none}.platform-nav::-webkit-scrollbar{display:none}.subnav-bar{scroll-padding-inline:12px}.subnav-bar button{scroll-snap-align:start}.panel{overflow:hidden}.platform-content :where(.generic-table,.attendance-table-panel,.salary-panel,.source-panel,.contract-list,.doc-list){overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain}.platform-content :where(input,select,textarea){width:100%}.platform-content :where(button,a,input,select){min-height:var(--touch-size)}.platform-content :where(.section-title,.module-toolbar,.document-toolbar)>div{min-width:0}.toast-message{padding-bottom:max(11px,env(safe-area-inset-bottom))}}@media(max-width:640px){body{background:#f3f6fa}.platform-content{padding-top:10px}.platform-content>:where(.generic-hero,.welcome-banner,.attendance-hero,.construction-report-hero,.ai-search-hero){margin-bottom:10px}.contract-kpis,.dashboard-kpis,.report-summary-kpis,.summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))!important}.dashboard-kpi-card>strong{font-size:22px}.dashboard-kpi-card>em{margin-top:6px}.panel table{min-width:640px}.attendance-filters,.document-toolbar,.module-toolbar,.report-project-selector{gap:8px}.attendance-filters,.document-toolbar>div,.module-toolbar>div{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.document-toolbar>div>:only-child,.module-toolbar>div>:only-child{grid-column:1/-1}.modal-backdrop{overscroll-behavior:contain}.camera-modal,.modal-backdrop>div{box-shadow:0 -16px 60px #10243c38}.photo-preview-list img,.photos img{aspect-ratio:4/3;object-fit:cover}}@media(max-width:420px){.contract-kpis,.dashboard-kpis,.report-summary-kpis,.summary-strip{grid-template-columns:1fr!important}.attendance-filters,.document-toolbar>div,.module-toolbar>div{grid-template-columns:1fr}.quick-panel>div:last-child{grid-template-columns:repeat(2,minmax(0,1fr))}.platform-topbar h1{max-width:42vw}.topbar-centers>.top-icon{width:36px!important}}@media(orientation:landscape) and (max-height:600px){.platform-content{padding-block:9px 18px}.platform-sidebar{max-width:300px}.platform-brand{height:56px}.platform-user{position:sticky;bottom:0;background:#fff}.modal-backdrop{align-items:center}.modal-backdrop>div{max-height:88dvh!important;border-radius:14px!important}.camera-video-wrap{min-height:210px}}body:has(.platform-shell),html:has(.platform-shell){height:100%;overflow:hidden}.platform-shell{position:fixed;inset:var(--device-toolbar-height,0) 0 0;min-height:0;height:auto;overflow:hidden}.platform-main{height:100%;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:auto;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;scroll-padding-top:132px}.platform-topbar{top:0!important}.subnav-bar{top:70px!important}.platform-content{min-height:calc(100% - 116px);overflow:visible;padding-bottom:max(42px,calc(24px + env(safe-area-inset-bottom)))}.platform-content>:first-child{scroll-margin-top:132px}@media(max-width:900px){.platform-main{scroll-padding-top:126px}.subnav-bar{top:66px!important}.platform-content{min-height:calc(100% - 110px)}.platform-content>:first-child{scroll-margin-top:126px}}@media(max-width:640px){.platform-main{scroll-padding-top:120px}.subnav-bar{top:62px!important}.platform-content{min-height:calc(100% - 104px)}.platform-content>:first-child{scroll-margin-top:120px}}@media(orientation:landscape) and (max-height:600px){.platform-main{scroll-padding-top:108px}.subnav-bar{top:54px!important}.platform-content{min-height:calc(100% - 92px)}.platform-content>:first-child{scroll-margin-top:108px}}@media(prefers-contrast:more){.dashboard-kpi-card,.panel,.summary-strip,input,select,textarea{border-color:#9aabbe!important}.muted,small{color:#536175!important}}@media(prefers-reduced-data:reduce){.generic-hero:after,.welcome-banner:after{display:none}.platform-content>:first-child{animation:none}}.platform-sidebar .platform-brand>.brand-logo,.platform-sidebar .platform-brand>span{display:none!important}.platform-sidebar .platform-brand{height:56px;justify-content:flex-end;padding-inline:12px}.platform-sidebar .platform-brand>button{margin-left:auto}