:root{--font-sans: "Inter", "HarmonyOS Sans SC", "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif;--font-display: "DIN Alternate", "Bahnschrift", "Inter", "PingFang SC", "Microsoft YaHei", sans-serif;--navy-950: #061728;--navy-900: #081f35;--navy-850: #0b2742;--navy-800: #0d2f4e;--navy-700: #133f66;--blue-800: #174f8b;--blue-700: #1d62a8;--blue-600: #2875c2;--blue-500: #3b87d2;--blue-300: #80b7e8;--blue-100: #e9f3fc;--teal-700: #157f7b;--teal-600: #1a948e;--teal-500: #27a9a2;--teal-100: #e5f7f5;--ink-900: #142335;--ink-800: #1e3145;--ink-700: #334a61;--ink-600: #526a82;--ink-500: #6c8197;--ink-400: #8c9daf;--ink-300: #b3c1cf;--line: #e4ebf2;--line-strong: #d6e0ea;--bg: #f3f6fa;--bg-deep: #edf2f7;--surface: #ffffff;--surface-soft: #f8fafc;--danger: #d34f4f;--danger-strong: #bf3838;--danger-bg: #fff0ef;--warning: #c47d1b;--warning-strong: #a96710;--warning-bg: #fff6e7;--success: #23825f;--success-bg: #eaf7f1;--info: #2870b6;--info-bg: #edf5fd;--muted: #738599;--muted-bg: #f0f4f8;--purple: #6b69b4;--purple-bg: #f1f0fb;--radius-sm: 7px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--shadow-xs: 0 1px 2px rgba(14, 38, 62, .04);--shadow-sm: 0 1px 2px rgba(14, 38, 62, .04), 0 8px 22px rgba(14, 38, 62, .04);--shadow-md: 0 18px 45px rgba(9, 32, 55, .12);--shadow-lg: 0 28px 70px rgba(6, 27, 47, .2);--ease: cubic-bezier(.22, .8, .26, 1)}*{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{margin:0;min-width:320px;font-family:var(--font-sans);color:var(--ink-900);background:var(--bg);font-size:14px;line-height:1.55}#root{min-height:100vh}button,input,textarea,select{font:inherit}button{color:inherit}a{color:inherit;text-decoration:none}h1,h2,h3,h4,h5,p{margin:0}ul,ol{margin:0;padding:0;list-style:none}svg{display:block}::selection{background:#2f74c033}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#cbd7e2;border-radius:8px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:#b0c1d0;background-clip:padding-box;border:2px solid transparent}:focus-visible{outline:2px solid rgba(40,117,194,.55);outline-offset:2px}.numeric{font-family:var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.muted{color:var(--ink-500)}.strong{font-weight:650}.nowrap{white-space:nowrap}.text-danger{color:var(--danger)}.text-warning{color:var(--warning)}.text-success{color:var(--success)}.text-info{color:var(--info)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:36px;padding:0 14px;border:1px solid transparent;border-radius:8px;background:transparent;font-size:13px;font-weight:600;line-height:1;white-space:nowrap;cursor:pointer;transition:background .18s var(--ease),border-color .18s var(--ease),color .18s var(--ease),box-shadow .18s var(--ease),transform .18s var(--ease)}.btn:active{transform:translateY(1px)}.btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.btn-primary{color:#fff;background:linear-gradient(180deg,#2f7bc7,#1e63aa);border-color:#1b5998;box-shadow:0 2px 5px #1d62a83d,inset 0 1px #ffffff26}.btn-primary:hover:not(:disabled){background:linear-gradient(180deg,#286fba,#185594);box-shadow:0 4px 12px #1d62a847}.btn-secondary{color:var(--ink-700);background:#fff;border-color:var(--line-strong);box-shadow:var(--shadow-xs)}.btn-secondary:hover:not(:disabled){border-color:#aebfd0;background:#fbfdff}.btn-ghost{color:var(--ink-600);background:transparent}.btn-ghost:hover:not(:disabled){background:#f0f5fa;color:var(--ink-800)}.btn-soft{color:var(--blue-700);background:var(--blue-100);border-color:#d7e8f8}.btn-soft:hover:not(:disabled){background:#dcecfb}.btn-danger{color:#fff;background:linear-gradient(180deg,#dd6262,#ca4646);border-color:#bd3b3b;box-shadow:0 2px 5px #ca464633}.btn-danger:hover:not(:disabled){background:linear-gradient(180deg,#d45454,#b93636)}.btn-danger-soft{color:var(--danger);background:var(--danger-bg);border-color:#f4d5d2}.btn-danger-soft:hover:not(:disabled){background:#ffe7e5}.btn-dark{color:#fff;background:var(--navy-850);border-color:var(--navy-800)}.btn-dark:hover:not(:disabled){background:var(--navy-800)}.btn-text{height:auto;padding:0;color:var(--blue-700);font-weight:600;border:0}.btn-text:hover:not(:disabled){color:var(--blue-800)}.btn-sm{height:30px;padding:0 10px;border-radius:7px;font-size:12px;gap:5px}.btn-lg{height:44px;padding:0 20px;border-radius:9px;font-size:14px}.btn-block{width:100%}.btn-spinner{width:15px;height:15px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;color:var(--ink-500);background:transparent;border:1px solid transparent;border-radius:8px;cursor:pointer;transition:.18s var(--ease)}.icon-btn:hover{color:var(--ink-800);background:#edf3f9}.icon-btn-solid{color:var(--ink-600);background:#fff;border-color:var(--line)}.icon-btn-danger:hover{color:var(--danger);background:var(--danger-bg)}.badge{display:inline-flex;align-items:center;gap:5px;min-height:22px;padding:1px 8px;border:1px solid transparent;border-radius:5px;font-size:11.5px;font-weight:600;line-height:1.4;white-space:nowrap}.badge-dot{width:5px;height:5px;border-radius:50%;background:currentColor}.badge-danger{color:var(--danger);background:var(--danger-bg);border-color:#f3d9d6}.badge-warning{color:var(--warning);background:var(--warning-bg);border-color:#f5e5c8}.badge-success{color:var(--success);background:var(--success-bg);border-color:#d3ece1}.badge-info{color:var(--info);background:var(--info-bg);border-color:#d8e8f7}.badge-muted{color:var(--muted);background:var(--muted-bg);border-color:#e2e9f0}.badge-purple{color:var(--purple);background:var(--purple-bg);border-color:#e3e1f5}.badge-blue{color:var(--blue-700);background:var(--blue-100);border-color:#d6e7f8}.status-pill{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border-radius:999px;font-size:11.5px;font-weight:600;line-height:1.6;white-space:nowrap;background:var(--muted-bg);color:var(--muted)}.status-dot{width:5px;height:5px;border-radius:50%;background:currentColor;box-shadow:0 0 0 2.5px #7385991f}.status-danger{color:var(--danger);background:var(--danger-bg)}.status-danger .status-dot{box-shadow:0 0 0 2.5px #d34f4f1f}.status-warning{color:var(--warning);background:var(--warning-bg)}.status-warning .status-dot{box-shadow:0 0 0 2.5px #c47d1b1f}.status-success{color:var(--success);background:var(--success-bg)}.status-success .status-dot{box-shadow:0 0 0 2.5px #23825f1f}.status-info{color:var(--info);background:var(--info-bg)}.status-info .status-dot{box-shadow:0 0 0 2.5px #2870b61f}.status-muted{color:var(--muted);background:var(--muted-bg)}.tag{display:inline-flex;align-items:center;gap:5px;padding:2px 7px;color:var(--ink-600);background:#f4f7fa;border:1px solid var(--line);border-radius:5px;font-size:11px;font-weight:500;white-space:nowrap}.card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs)}.card-padded{padding:20px}.card-hover{transition:border-color .2s var(--ease),box-shadow .2s var(--ease),transform .2s var(--ease)}.card-hover:hover{border-color:#ccdbe8;box-shadow:0 9px 28px #0e263e12;transform:translateY(-1px)}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.section-head-title{display:flex;align-items:flex-start;gap:9px}.section-head-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;margin-top:1px;color:var(--blue-700);background:var(--blue-100);border-radius:7px}.section-head h3{font-size:15.5px;font-weight:650;color:var(--ink-900);letter-spacing:.01em}.section-head p{margin-top:2px;color:var(--ink-500);font-size:11.5px}.section-head-action{display:flex;align-items:center;gap:8px;flex-shrink:0}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:20px}.page-header-main{min-width:0}.breadcrumbs{display:flex;align-items:center;gap:5px;margin-bottom:7px;color:var(--ink-400);font-size:11px}.breadcrumbs .current{color:var(--ink-500)}.page-kicker{margin-bottom:5px;color:var(--blue-700);font-size:10px;font-weight:750;letter-spacing:.16em;text-transform:uppercase}.page-title-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.page-header h1{font-size:23px;font-weight:700;color:var(--ink-900);letter-spacing:-.02em;line-height:1.3}.page-meta{display:flex;align-items:center;gap:8px;color:var(--ink-400);font-size:11.5px}.page-description{max-width:760px;margin-top:6px;color:var(--ink-500);font-size:12.5px;line-height:1.65}.page-header-actions{display:flex;align-items:center;gap:8px;padding-top:20px;flex-shrink:0}.stat-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.stat-card{position:relative;min-width:0;padding:15px 16px 13px;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-xs);transition:border-color .2s var(--ease),box-shadow .2s var(--ease),transform .2s var(--ease)}.stat-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,var(--stat-color, #2f74c0),transparent 80%);opacity:.85}.stat-clickable{cursor:pointer}.stat-clickable:hover{border-color:#cbdbe9;box-shadow:0 8px 24px #0e263e12;transform:translateY(-1px)}.stat-blue{--stat-color: #2f74c0;--stat-soft: #edf5fd}.stat-teal{--stat-color: #1f9d98;--stat-soft: #eaf8f7}.stat-amber{--stat-color: #d5912c;--stat-soft: #fff7e9}.stat-red{--stat-color: #d55353;--stat-soft: #fff0ef}.stat-green{--stat-color: #2f8c65;--stat-soft: #edf8f2}.stat-indigo{--stat-color: #6468b5;--stat-soft: #f1f1fb}.stat-cyan{--stat-color: #278da6;--stat-soft: #eaf7fa}.stat-gray{--stat-color: #6f8296;--stat-soft: #f1f5f8}.stat-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.stat-label{overflow:hidden;color:var(--ink-500);font-size:11.5px;font-weight:550;text-overflow:ellipsis;white-space:nowrap}.stat-icon{display:inline-flex;align-items:center;justify-content:center;width:27px;height:27px;flex-shrink:0;color:var(--stat-color);background:var(--stat-soft);border-radius:7px}.stat-value-row{display:flex;align-items:baseline;gap:4px;margin-top:8px}.stat-value{font-family:var(--font-display);font-size:28px;font-weight:700;color:var(--ink-900);line-height:1.1;letter-spacing:-.035em}.stat-unit{color:var(--ink-400);font-size:11px;font-weight:500}.stat-foot{display:flex;align-items:center;gap:7px;min-height:18px;margin-top:8px;color:var(--ink-400);font-size:10.5px}.stat-trend{display:inline-flex;align-items:center;gap:2px;font-weight:650}.trend-up{color:var(--danger)}.trend-down{color:var(--success)}.trend-flat{color:var(--ink-500)}.stat-hint{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stat-spark{width:68px;height:20px;margin-left:auto;color:var(--stat-color);opacity:.75}.tabs{display:flex;align-items:center;gap:22px;border-bottom:1px solid var(--line)}.tab{position:relative;display:inline-flex;align-items:center;gap:6px;padding:0 0 11px;color:var(--ink-500);background:transparent;border:0;font-size:13px;font-weight:550;cursor:pointer}.tab:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:transparent;border-radius:2px 2px 0 0}.tab:hover{color:var(--ink-800)}.tab.active{color:var(--blue-700);font-weight:650}.tab.active:after{background:var(--blue-600)}.tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:17px;padding:0 5px;color:var(--ink-500);background:#eff3f7;border-radius:999px;font-size:10px}.tab.active .tab-count{color:var(--blue-700);background:var(--blue-100)}.tabs-pill{display:inline-flex;gap:3px;padding:3px;border-bottom:0;background:#eef3f8;border-radius:8px}.tabs-pill .tab{padding:6px 12px;border-radius:6px;font-size:12px}.tabs-pill .tab:after{display:none}.tabs-pill .tab.active{color:var(--ink-900);background:#fff;box-shadow:0 1px 4px #0e263e14}.segmented{display:inline-flex;padding:3px;background:#eef3f8;border-radius:9px}.segment{display:inline-flex;align-items:center;gap:5px;height:30px;padding:0 13px;color:var(--ink-500);background:transparent;border:0;border-radius:7px;font-size:12px;font-weight:550;cursor:pointer;white-space:nowrap}.segment span{display:inline-flex;min-width:16px;height:16px;align-items:center;justify-content:center;padding:0 4px;background:#14233512;border-radius:999px;font-size:9.5px}.segment.active{color:var(--ink-900);background:#fff;font-weight:650;box-shadow:0 1px 4px #0e263e1a}.segment.active span{color:var(--blue-700);background:var(--blue-100)}.filter-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 16px;background:#fff;border:1px solid var(--line);border-radius:11px;box-shadow:var(--shadow-xs)}.filter-fields{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.filter-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.search-input{display:flex;align-items:center;gap:7px;height:34px;min-width:220px;padding:0 10px;color:var(--ink-400);background:#f8fafc;border:1px solid var(--line);border-radius:8px;transition:.18s var(--ease)}.search-input:focus-within{background:#fff;border-color:#99bbda;box-shadow:0 0 0 3px #2875c214}.search-input input{width:100%;min-width:0;color:var(--ink-800);background:transparent;border:0;outline:0;font-size:12px}.search-input input::placeholder{color:var(--ink-400)}.search-clear{display:inline-flex;padding:2px;color:var(--ink-400);background:transparent;border:0;cursor:pointer}.field{position:relative}.field-label{display:flex;align-items:center;gap:4px;margin-bottom:6px;color:var(--ink-700);font-size:12px;font-weight:600}.field-label em{color:var(--danger);font-style:normal}.field-hint{margin-left:auto;color:var(--ink-400);font-size:10.5px;font-weight:400}.input,.textarea,.select{width:100%;color:var(--ink-800);background:#fff;border:1px solid var(--line-strong);border-radius:8px;outline:0;font-size:12.5px;transition:.18s var(--ease)}.input{height:36px;padding:0 11px}.textarea{min-height:88px;padding:9px 11px;resize:vertical;line-height:1.6}.select{height:36px;padding:0 30px 0 11px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.input:hover,.textarea:hover,.select:hover{border-color:#b8c9d8}.input:focus,.textarea:focus,.select:focus{border-color:#84acd1;box-shadow:0 0 0 3px #2875c214}.input::placeholder,.textarea::placeholder{color:var(--ink-400)}.input:disabled,.select:disabled{color:var(--ink-400);background:#f5f7fa;cursor:not-allowed}.select-wrap{position:relative}.select-wrap>.icon{position:absolute;top:50%;right:10px;color:var(--ink-400);transform:translateY(-50%);pointer-events:none}.field-error .input,.field-error .textarea,.field-error .select{border-color:#e0a4a0}.field-error-text{margin-top:4px;color:var(--danger);font-size:10.5px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-grid .span-2{grid-column:span 2}.checkbox{display:inline-flex;align-items:center;gap:7px;color:var(--ink-600);font-size:12px;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox input{position:absolute;opacity:0;pointer-events:none}.checkbox-box{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;color:#fff;background:#fff;border:1px solid #becddb;border-radius:4px;transition:.15s var(--ease)}.checkbox input:checked+.checkbox-box{background:var(--blue-600);border-color:var(--blue-600)}.switch{display:inline-flex;align-items:center;gap:8px;cursor:pointer}.switch.disabled{cursor:not-allowed;opacity:.55}.switch-track{position:relative;width:34px;height:20px;padding:0;background:#c8d3de;border:0;border-radius:999px;transition:background .2s var(--ease)}.switch-track.on{background:var(--blue-600)}.switch-knob{position:absolute;top:2px;left:2px;width:16px;height:16px;background:#fff;border-radius:50%;box-shadow:0 1px 3px #0e263e33;transition:transform .2s var(--ease)}.switch-track.on .switch-knob{transform:translate(14px)}.switch-label{color:var(--ink-600);font-size:12px}.table-card{overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-xs)}.table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;border-bottom:1px solid var(--line)}.table-toolbar-title{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:650}.table-toolbar-title span{color:var(--ink-400);font-size:11px;font-weight:400}.table-wrap{width:100%;overflow-x:auto}.data-table{width:100%;border-collapse:collapse;table-layout:auto}.data-table th{height:38px;padding:0 14px;color:var(--ink-500);background:#f7fafc;border-bottom:1px solid var(--line);font-size:10.5px;font-weight:650;letter-spacing:.03em;text-align:left;white-space:nowrap}.data-table td{padding:12px 14px;color:var(--ink-700);border-bottom:1px solid #edf2f6;font-size:12px;vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr{transition:background .15s var(--ease)}.data-table tbody tr:hover{background:#f8fbfe}.data-table tr.clickable{cursor:pointer}.cell-main{display:flex;flex-direction:column;gap:2px;min-width:0}.cell-main strong{overflow:hidden;max-width:460px;color:var(--ink-800);font-size:12.5px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.cell-main span{color:var(--ink-400);font-size:10.5px}.cell-with-icon{display:flex;align-items:center;gap:9px}.cell-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex-shrink:0;color:var(--blue-700);background:var(--blue-100);border-radius:7px}.cell-actions{display:flex;align-items:center;gap:4px;white-space:nowrap}.link-action{padding:2px 4px;color:var(--blue-700);background:transparent;border:0;font-size:11.5px;font-weight:550;cursor:pointer}.link-action:hover{color:var(--blue-800);text-decoration:underline}.link-danger{color:var(--danger)}.table-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-top:1px solid var(--line);color:var(--ink-400);font-size:11px}.pagination{display:flex;align-items:center;gap:4px}.page-btn{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 7px;color:var(--ink-500);background:#fff;border:1px solid var(--line);border-radius:6px;font-size:11px;cursor:pointer}.page-btn:hover{border-color:#b7c9d9}.page-btn.active{color:#fff;background:var(--blue-600);border-color:var(--blue-600)}.page-btn:disabled{color:var(--ink-300);cursor:not-allowed}.progress-wrap{display:flex;align-items:center;gap:8px;min-width:60px}.progress-bar{flex:1;overflow:hidden;background:#edf2f7;border-radius:999px}.progress-bar>span{display:block;height:100%;background:var(--blue-600);border-radius:inherit;transition:width .45s var(--ease)}.progress-blue>span{background:linear-gradient(90deg,#2e75c0,#4b9ade)}.progress-green>span{background:linear-gradient(90deg,#26845f,#3caa80)}.progress-amber>span{background:linear-gradient(90deg,#cc8620,#e5ad50)}.progress-red>span{background:linear-gradient(90deg,#ca4444,#e17373)}.progress-teal>span{background:linear-gradient(90deg,#168a85,#35b2ab)}.progress-gray>span{background:#9aabbc}.progress-label{width:34px;color:var(--ink-600);font-size:10.5px;font-weight:600;text-align:right}.avatar{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff;background:linear-gradient(135deg,#3e7fb9,#225c93);border-radius:50%;font-weight:650;letter-spacing:.02em}.avatar-teal{background:linear-gradient(135deg,#35a9a1,#177e79)}.avatar-amber{background:linear-gradient(135deg,#d9a04a,#b37119)}.avatar-navy{background:linear-gradient(135deg,#36526c,#183148)}.avatar-red{background:linear-gradient(135deg,#d77373,#b53e3e)}.avatar-stack{display:flex}.avatar-stack .avatar{margin-left:-7px;border:2px solid #fff}.avatar-stack .avatar:first-child{margin-left:0}.steps{display:flex;align-items:center;gap:0}.step{position:relative;display:flex;align-items:center;gap:8px;flex:1;padding:0;color:var(--ink-400);background:transparent;border:0;font-size:12px;text-align:left;cursor:default}.step-dot{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;flex-shrink:0;color:var(--ink-400);background:#f2f5f9;border:1px solid #dfe7ef;border-radius:50%;font-size:11px;font-weight:650}.step-label{white-space:nowrap}.step-line{position:absolute;top:12px;left:25px;right:8px;height:1px;background:#e3eaf1}.step.active{color:var(--ink-900);font-weight:650}.step.active .step-dot{color:#fff;background:var(--blue-600);border-color:var(--blue-600);box-shadow:0 0 0 4px #2875c21a}.step.done{color:var(--ink-600)}.step.done .step-dot{color:#fff;background:var(--success);border-color:var(--success)}.step.done .step-line{background:#bcdccd}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:28px;background:#0717277a;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fadeIn .18s var(--ease)}.modal{display:flex;flex-direction:column;width:min(100%,560px);max-height:calc(100vh - 56px);overflow:hidden;background:#fff;border:1px solid rgba(255,255,255,.4);border-radius:15px;box-shadow:var(--shadow-lg);animation:modalIn .24s var(--ease)}.modal-sm{width:min(100%,430px)}.modal-lg{width:min(100%,760px)}.modal-xl{width:min(100%,920px)}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:19px 22px 15px;border-bottom:1px solid var(--line)}.modal-head h3,.drawer-head h3{color:var(--ink-900);font-size:16px;font-weight:650}.modal-head p,.drawer-head p{margin-top:3px;color:var(--ink-500);font-size:11.5px}.modal-body{flex:1;overflow-y:auto;padding:20px 22px}.modal-foot{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:13px 22px;background:#fbfcfe;border-top:1px solid var(--line)}.drawer-backdrop{align-items:stretch;justify-content:flex-end;padding:0}.drawer{display:flex;flex-direction:column;max-width:100vw;height:100%;background:#fff;box-shadow:-24px 0 60px #0717272e;animation:drawerIn .28s var(--ease)}.drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:21px 24px 16px;border-bottom:1px solid var(--line)}.drawer-body{flex:1;overflow-y:auto;padding:22px 24px}.drawer-foot{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:14px 24px;background:#fbfcfe;border-top:1px solid var(--line)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalIn{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes drawerIn{0%{transform:translate(30px);opacity:.6}to{transform:translate(0);opacity:1}}.toast-host{position:fixed;top:18px;left:50%;z-index:2000;display:flex;flex-direction:column;align-items:center;gap:8px;width:min(92vw,440px);transform:translate(-50%);pointer-events:none}.toast{display:flex;align-items:flex-start;gap:9px;width:100%;padding:11px 13px;color:var(--ink-700);background:#fffffff7;border:1px solid var(--line);border-left:3px solid var(--blue-600);border-radius:9px;box-shadow:0 12px 36px #09203729;pointer-events:auto;animation:toastIn .25s var(--ease)}.toast-success{border-left-color:var(--success)}.toast-warning{border-left-color:var(--warning)}.toast-danger{border-left-color:var(--danger)}.toast-info{border-left-color:var(--blue-600)}.toast-icon{display:inline-flex;margin-top:1px;color:var(--blue-600)}.toast-success .toast-icon{color:var(--success)}.toast-warning .toast-icon{color:var(--warning)}.toast-danger .toast-icon{color:var(--danger)}.toast-text{display:flex;flex:1;flex-direction:column;gap:1px;min-width:0}.toast-text strong{color:var(--ink-900);font-size:12px;font-weight:650}.toast-text span{color:var(--ink-500);font-size:11px;line-height:1.5}.toast>button{padding:2px;color:var(--ink-400);background:transparent;border:0;cursor:pointer}@keyframes toastIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:54px 24px;text-align:center}.empty-icon{display:inline-flex;align-items:center;justify-content:center;width:58px;height:58px;margin-bottom:13px;color:var(--ink-400);background:#f2f6fa;border:1px solid #e8eef4;border-radius:16px}.empty-state h4{color:var(--ink-700);font-size:13px;font-weight:600}.empty-state p{max-width:330px;margin-top:4px;color:var(--ink-400);font-size:11.5px;line-height:1.6}.empty-action{margin-top:14px}.empty-compact{padding:28px 18px}.empty-compact .empty-icon{width:42px;height:42px;margin-bottom:8px;border-radius:12px}.timeline{display:flex;flex-direction:column}.timeline-item{display:flex;gap:10px;min-height:58px}.timeline-rail{position:relative;display:flex;flex-direction:column;align-items:center;width:22px;flex-shrink:0}.timeline-dot{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;color:var(--blue-600);background:var(--blue-100);border-radius:50%}.timeline-line{position:absolute;top:22px;bottom:0;width:1px;background:#e4ebf2}.timeline-content{flex:1;min-width:0;padding-bottom:16px}.timeline-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.timeline-top strong{color:var(--ink-800);font-size:12px;font-weight:600}.timeline-top span{color:var(--ink-400);font-size:10px;white-space:nowrap}.timeline-content p{margin-top:3px;color:var(--ink-500);font-size:11.5px;line-height:1.6}.timeline-meta{margin-top:4px;color:var(--ink-400);font-size:10px}.timeline-success .timeline-dot{color:var(--success);background:var(--success-bg)}.timeline-danger .timeline-dot{color:var(--danger);background:var(--danger-bg)}.timeline-warning .timeline-dot{color:var(--warning);background:var(--warning-bg)}.timeline-brand .timeline-dot{color:var(--blue-700);background:var(--blue-100)}.evidence-photo{position:relative;display:block;width:100%;aspect-ratio:4 / 3;padding:0;overflow:hidden;background:#dfe8ed;border:1px solid var(--line);border-radius:8px;cursor:default}.evidence-photo svg{width:100%;height:100%;transition:transform .4s var(--ease)}.evidence-photo.clickable{cursor:zoom-in}.evidence-photo.clickable:hover svg{transform:scale(1.035)}.evidence-label{position:absolute;left:7px;bottom:7px;display:inline-flex;align-items:center;gap:4px;max-width:calc(100% - 14px);padding:2px 6px;overflow:hidden;color:#ffffffeb;background:#07182694;border:1px solid rgba(255,255,255,.12);border-radius:4px;font-size:9px;text-overflow:ellipsis;white-space:nowrap;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.evidence-photo.compact{border-radius:6px}.file-type-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:8px}.file-type-icon em{position:absolute;right:3px;bottom:2px;padding:0 2px;background:#ffffffd9;border-radius:2px;font-size:5.5px;font-style:normal;font-weight:800;letter-spacing:.02em}.info-grid{display:grid;gap:1px;overflow:hidden;background:var(--line);border:1px solid var(--line);border-radius:9px}.info-item{display:flex;flex-direction:column;gap:3px;padding:10px 13px;background:#fff}.info-item span{color:var(--ink-400);font-size:10px}.info-item strong{color:var(--ink-700);font-size:12px;font-weight:550;line-height:1.5}.divider{height:1px;margin:16px 0;background:var(--line)}.skeleton{background:linear-gradient(90deg,#eef3f7 25%,#f7fafc 37%,#eef3f7 63%);background-size:400% 100%;border-radius:6px;animation:shimmer 1.4s ease infinite}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}.notice-strip{display:flex;align-items:flex-start;gap:8px;padding:9px 11px;color:var(--ink-600);background:#f5f9fd;border:1px solid #e1edf7;border-radius:8px;font-size:11.5px;line-height:1.55}.notice-strip .icon{flex-shrink:0;margin-top:1px;color:var(--blue-600)}.notice-warning{color:#805b20;background:var(--warning-bg);border-color:#f0dfc2}.notice-warning .icon{color:var(--warning)}.notice-danger{color:#8c3d3d;background:var(--danger-bg);border-color:#f1d5d2}.notice-danger .icon{color:var(--danger)}.inline-flex{display:inline-flex;align-items:center;gap:6px}.stack{display:flex;flex-direction:column}.gap-4{gap:4px}.gap-6{gap:6px}.gap-8{gap:8px}.gap-10{gap:10px}.gap-12{gap:12px}.gap-16{gap:16px}.gap-20{gap:20px}.row{display:flex;align-items:center}.row-between{display:flex;align-items:center;justify-content:space-between;gap:12px}.row-wrap{flex-wrap:wrap}.mt-4{margin-top:4px}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mt-20{margin-top:20px}.mb-0{margin-bottom:0}.mb-8{margin-bottom:8px}.mb-12{margin-bottom:12px}.mb-16{margin-bottom:16px}.w-full{width:100%}.chart-legend{display:flex;align-items:center;justify-content:center;gap:18px;padding-top:5px;color:var(--ink-500);font-size:10.5px}.chart-legend span{display:inline-flex;align-items:center;gap:5px}.chart-legend i{display:inline-block;width:12px;height:3px;border-radius:2px}.legend-line.dashed{height:0;background:transparent;border-top:2px dashed #b3c2d0}.legend-line.solid{background:var(--blue-600)}.line-chart svg,.bar-chart svg{width:100%;height:auto;overflow:visible}.line-chart{padding-top:4px}.donut{position:relative;flex-shrink:0}.donut-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px}.donut-center strong{font-family:var(--font-display);font-size:27px;font-weight:700;letter-spacing:-.03em}.donut-center span{color:var(--ink-400);font-size:9.5px}.ring{position:relative;flex-shrink:0}.ring-label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--ink-700);font-family:var(--font-display);font-size:12px;font-weight:700}.stage-flow{display:flex;align-items:stretch;gap:0}.stage-node{flex:1;min-width:0;padding:12px 12px 10px;text-align:left;background:#f9fbfd;border:1px solid #e7eef4;border-radius:9px}.stage-node.clickable{cursor:pointer}.stage-node.clickable:hover{border-color:#c7daea;background:#f4f9fe}.stage-node-top{display:flex;align-items:center;gap:6px}.stage-node-top i{display:inline-flex;color:var(--stage-color, var(--blue-600))}.stage-node-top strong{color:var(--ink-900);font-family:var(--font-display);font-size:22px;font-weight:700;line-height:1}.stage-label{display:block;margin-top:4px;color:var(--ink-600);font-size:11px;font-weight:550}.stage-node em{display:block;margin-top:2px;overflow:hidden;color:var(--ink-400);font-size:9px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.stage-connector{display:flex;align-items:center;width:22px;flex-shrink:0;color:var(--ink-300)}.stage-connector i{flex:1;height:1px;background:#d8e2eb}.stage-blue{--stage-color: #2f74c0}.stage-red{--stage-color: #d55353}.stage-amber{--stage-color: #d5912c}.stage-green{--stage-color: #2f8c65}.stage-muted{--stage-color: #7d8fa1}.stage-teal{--stage-color: #1f9d98}.mini-spark{overflow:visible}@media (max-width: 1280px){.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 760px){.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:span 1}.page-header{flex-direction:column;gap:8px}.page-header-actions{padding-top:0}}.bar-chart-plot{position:relative}.bar-chart-plot .bar-chart-tooltip{position:absolute;z-index:8;display:flex;flex-direction:column;gap:2px;min-width:108px;padding:7px 9px;color:#eaf7ff;background:#0e2a40f0;border:1px solid rgba(157,208,236,.24);border-radius:6px;box-shadow:0 8px 20px #071c2d2e;transform:translate(-50%,-112%);pointer-events:none;white-space:nowrap}.bar-chart-plot .bar-chart-tooltip:after{position:absolute;bottom:-4px;left:50%;width:8px;height:8px;background:#0e2a40f0;border-right:1px solid rgba(157,208,236,.24);border-bottom:1px solid rgba(157,208,236,.24);content:"";transform:translate(-50%) rotate(45deg)}.bar-chart-plot .bar-chart-tooltip span{color:#a8cfe5;font-size:9px}.bar-chart-plot .bar-chart-tooltip strong{color:#f4fbff;font-family:var(--font-display);font-size:15px;font-weight:700}.bar-chart-plot .bar-chart-tooltip strong em{margin-left:3px;color:#b5d6e7;font-family:inherit;font-size:8px;font-style:normal;font-weight:400}.bar-chart-plot svg rect:focus{outline:none;filter:brightness(1.08)}netlify-badge{display:none!important;pointer-events:none!important;visibility:hidden!important}.portal{min-height:100vh;overflow-x:hidden;background:#f5f7fa}.portal-hero{position:relative;overflow:hidden;color:#eaf4fc;background:radial-gradient(900px 480px at 78% 8%,rgba(35,106,163,.32),transparent 64%),radial-gradient(700px 420px at 4% 92%,rgba(22,91,128,.18),transparent 62%),linear-gradient(125deg,#041524,#072238 48%,#0a2b45)}.portal-hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(136,190,228,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(136,190,228,.035) 1px,transparent 1px);background-size:72px 72px;-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.55),transparent 82%);mask-image:linear-gradient(to bottom,rgba(0,0,0,.55),transparent 82%);pointer-events:none}.portal-contours{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.portal-header{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:30px;width:100%;max-width:1360px;height:86px;margin:0 auto;padding:0 28px}.portal-brand{display:flex;align-items:center;gap:11px;flex-shrink:0}.portal-brand-mark{display:inline-flex;align-items:center;justify-content:center;width:43px;height:43px;color:#d8ecfb;background:linear-gradient(145deg,#56a6e138,#20588638);border:1px solid rgba(158,207,241,.28);border-radius:12px;box-shadow:inset 0 1px #ffffff26}.portal-brand-mark.small{width:36px;height:36px;border-radius:9px}.portal-brand-text{display:flex;flex-direction:column;line-height:1.3}.portal-brand-text strong{color:#f3f9fe;font-size:17px;font-weight:700;letter-spacing:.12em}.portal-brand-text em{color:#86a5bd;font-size:8.5px;font-style:normal;letter-spacing:.09em}.portal-nav{display:flex;align-items:center;gap:30px}.portal-nav a{position:relative;color:#9fb8cb;font-size:11.5px;font-weight:500;letter-spacing:.03em;transition:color .18s var(--ease)}.portal-nav a:hover{color:#fff}.portal-nav a:after{content:"";position:absolute;left:50%;bottom:-7px;width:3px;height:3px;background:#6fb9e5;border-radius:50%;opacity:0;transform:translate(-50%)}.portal-nav a:hover:after{opacity:1}.portal-header-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.portal-login-link{padding:7px 8px;color:#a9c0d2;background:transparent;border:0;font-size:11.5px;cursor:pointer}.portal-login-link:hover{color:#fff}.portal-header-btn{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 13px;color:#e8f5ff;background:#ffffff12;border:1px solid rgba(161,208,240,.25);border-radius:7px;font-size:10.5px;font-weight:550;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.portal-header-btn:hover{background:#ffffff1f;border-color:#a1d0f061}.portal-hero-inner{position:relative;z-index:4;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,1.08fr);align-items:center;gap:24px;width:100%;max-width:1360px;min-height:618px;margin:0 auto;padding:10px 28px 34px}.portal-copy{padding-top:8px}.portal-eyebrow{display:flex;align-items:center;gap:9px;color:#78b9e5;font-size:9px;font-weight:650;letter-spacing:.22em}.portal-eyebrow-line{width:27px;height:1px;background:linear-gradient(90deg,#5ba6d8,transparent)}.portal-version{padding:1px 5px;color:#8fb4cc;border:1px solid rgba(143,180,204,.25);border-radius:3px;font-size:7.5px;letter-spacing:.08em}.portal-copy h1{margin-top:19px;color:#f2f8fd;font-size:clamp(38px,3.55vw,52px);font-weight:700;line-height:1.19;letter-spacing:-.045em}.portal-copy h1 span{color:#89c7ec;background:linear-gradient(95deg,#b4dcf5,#6db9e8 52%,#86cfdd);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.portal-lead{max-width:516px;margin-top:18px;color:#9eb6c9;font-size:12.5px;line-height:1.9;letter-spacing:.01em}.portal-cta-row{display:flex;align-items:stretch;gap:10px;margin-top:25px}.portal-cta{display:flex;align-items:center;gap:10px;min-width:214px;height:55px;padding:0 13px;text-align:left;border-radius:10px;cursor:pointer;transition:transform .2s var(--ease),background .2s var(--ease),border-color .2s var(--ease),box-shadow .2s var(--ease)}.portal-cta:hover{transform:translateY(-2px)}.portal-cta.primary{color:#fff;background:linear-gradient(135deg,#2f7bc6,#1e5c98);border:1px solid rgba(130,192,236,.42);box-shadow:0 9px 26px #00000038,inset 0 1px #ffffff26}.portal-cta.primary:hover{background:linear-gradient(135deg,#3587d4,#2468a8);box-shadow:0 14px 34px #00000047}.portal-cta.secondary{color:#d7e8f5;background:#ffffff0e;border:1px solid rgba(159,200,229,.23);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.portal-cta.secondary:hover{background:#ffffff17;border-color:#9fc8e559}.portal-cta-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex-shrink:0;background:#ffffff1f;border-radius:8px}.portal-cta>span:nth-child(2){display:flex;flex:1;flex-direction:column;min-width:0;line-height:1.35}.portal-cta strong{font-size:11.5px;font-weight:600;white-space:nowrap}.portal-cta em{color:#e2f4ff99;font-size:8px;font-style:normal;white-space:nowrap}.portal-cta>.icon{color:#ebf7ffc7}.portal-proof{display:flex;align-items:center;gap:9px;margin-top:13px;color:#688aa2;font-size:8.5px}.portal-proof>span:first-child{display:inline-flex;align-items:center;gap:5px}.portal-live{width:5px;height:5px;background:#4cc39a;border-radius:50%;box-shadow:0 0 0 3px #4cc39a1f}.portal-proof-divider{width:1px;height:9px;background:#8eb2ca40}.portal-metrics{display:flex;gap:0;max-width:470px;margin-top:24px;padding-top:18px;border-top:1px solid rgba(141,183,213,.14)}.portal-metrics>div{display:flex;flex:1;flex-direction:column;padding-left:17px;border-left:1px solid rgba(141,183,213,.13)}.portal-metrics>div:first-child{padding-left:0;border-left:0}.portal-metrics strong{color:#f0f8fe;font-family:var(--font-display);font-size:24px;font-weight:700;line-height:1;letter-spacing:-.03em}.portal-metrics span{margin-top:5px;color:#a7c0d3;font-size:9.5px}.portal-metrics em{margin-top:1px;color:#5d7f98;font-size:7.5px;font-style:normal}.portal-visual{position:relative;min-height:500px}.portal-glow{position:absolute;top:50%;left:51%;width:480px;height:380px;background:radial-gradient(ellipse,rgba(55,138,199,.22),transparent 68%);filter:blur(8px);transform:translate(-50%,-50%)}.mock-dashboard{position:absolute;top:38px;left:4px;z-index:2;display:flex;width:560px;height:392px;overflow:hidden;background:#f5f9fc;border:1px solid rgba(192,218,237,.28);border-radius:14px;box-shadow:0 30px 80px #00000061,0 4px 18px #0003,inset 0 1px #fff9;transform:rotate(-1.1deg)}.mock-dash-nav{width:55px;flex-shrink:0;padding:12px 8px;background:linear-gradient(180deg,#071f34,#0a2942)}.mock-logo{display:flex;justify-content:center;margin-bottom:23px;color:#94c6e8}.mock-nav-lines{display:flex;flex-direction:column;gap:12px;padding:0 4px}.mock-nav-lines i{height:5px;background:#b4d6ee24;border-radius:3px}.mock-nav-lines i.active{background:#60aee67a;box-shadow:0 0 8px #60aee633}.mock-nav-lines i:nth-child(2){width:74%}.mock-nav-lines i:nth-child(3){width:88%}.mock-nav-lines i:nth-child(4){width:60%}.mock-dash-main{flex:1;min-width:0;padding:13px 15px}.mock-dash-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:11px}.mock-dash-top>span{display:flex;flex-direction:column;line-height:1.3}.mock-dash-top strong{color:#17344d;font-size:12px;font-weight:700}.mock-dash-top em{color:#95a7b7;font-size:6.5px;font-style:normal;margin-top:2px}.mock-dots{display:flex;gap:4px}.mock-dots i{width:5px;height:5px;background:#c0ccd6;border-radius:50%}.mock-kpi-row{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:9px}.mock-kpi-row>div{display:flex;flex-direction:column;padding:8px 9px;background:#fff;border:1px solid #e5ecf3;border-radius:7px;box-shadow:0 1px 2px #102b4208}.mock-kpi-row span{color:#8597a7;font-size:5.8px}.mock-kpi-row strong{margin-top:2px;color:#17344d;font-family:var(--font-display);font-size:19px;line-height:1}.mock-kpi-row strong small{font-size:9px}.mock-kpi-row em{margin-top:3px;color:#95a5b3;font-size:5.3px;font-style:normal}.mock-kpi-row em.up{color:#d36a62}.mock-kpi-row em.good{color:#389d76}.mock-kpi-row .mini-spark{margin-top:3px}.mock-chart-row{display:grid;grid-template-columns:1.45fr 1fr;gap:7px;margin-bottom:8px}.mock-chart-card,.mock-side-card{padding:8px 9px;background:#fff;border:1px solid #e5ecf3;border-radius:7px}.mock-chart-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}.mock-chart-head span{color:#3f556a;font-size:6.6px;font-weight:700}.mock-chart-head i{color:#a1b0bd;font-size:5.2px;font-style:normal}.mock-flow{display:flex;justify-content:space-between;padding:2px 2px 8px}.mock-flow>div{display:flex;flex-direction:column;gap:1px;align-items:center}.mock-flow strong{font-family:var(--font-display);font-size:12px;line-height:1}.mock-flow span{color:#9baab7;font-size:4.8px;white-space:nowrap}.mock-bars{display:flex;align-items:flex-end;gap:4px;height:45px;padding-top:3px;border-top:1px dashed #e8eef4}.mock-bars i{flex:1;background:linear-gradient(180deg,#69a9d5,#a8cde6);border-radius:1.5px 1.5px 0 0}.mock-risk{display:flex;align-items:center;gap:5px;margin-bottom:6px}.mock-risk span{width:47px;overflow:hidden;color:#617587;font-size:5.3px;text-overflow:ellipsis;white-space:nowrap}.mock-risk>div{flex:1;height:3px;overflow:hidden;background:#eef3f7;border-radius:2px}.mock-risk i{display:block;height:100%;border-radius:2px}.mock-risk i.red{background:#d76c63}.mock-risk i.amber{background:#d7a451}.mock-risk i.green{background:#55a583}.mock-risk em{width:18px;color:#8b9cab;font-size:5px;font-style:normal;text-align:right}.mock-table{padding:7px 9px;background:#fff;border:1px solid #e5ecf3;border-radius:7px}.mock-table-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.mock-table-head span{color:#3f556a;font-size:6.4px;font-weight:700}.mock-table-head i{color:#4b93c4;font-size:5px;font-style:normal}.mock-table-row{display:flex;align-items:center;gap:5px;height:19px;border-top:1px solid #f0f4f7}.mock-project-dot{width:4px;height:4px;flex-shrink:0;background:#4f97c8;border-radius:50%}.mock-table-row strong{width:86px;overflow:hidden;color:#4a5e70;font-size:5.4px;font-weight:550;text-overflow:ellipsis;white-space:nowrap}.mock-table-row em{width:25px;color:#8b9ba9;font-size:4.9px;font-style:normal}.mock-progress{flex:1;height:2.5px;overflow:hidden;background:#eef3f7;border-radius:2px}.mock-progress i{display:block;height:100%;background:#4f97c8;border-radius:2px}.mock-table-row>span:nth-last-child(2){width:21px;color:#6d8293;font-size:4.8px;text-align:right}.mock-table-row b{width:16px;padding:1px 2px;border-radius:2px;font-size:4.3px;font-weight:600;text-align:center}.risk-高{color:#bb4c47;background:#fdeceb}.risk-中{color:#b17b25;background:#fdf5e8}.risk-低{color:#3b8b69;background:#ecf7f1}.mock-phone{position:absolute;right:-9px;bottom:0;z-index:4;display:flex;flex-direction:column;width:186px;height:365px;overflow:hidden;color:#1c3348;background:#f6f9fc;border:6px solid #0a1724;border-radius:25px;box-shadow:0 26px 55px #00000073,inset 0 0 0 1px #ffffff14;transform:rotate(1.6deg)}.mock-phone-status{display:flex;align-items:center;justify-content:space-between;height:18px;padding:0 12px;color:#465b6c;font-size:5px}.mock-phone-status>div{display:flex;gap:2px}.mock-phone-status i{display:block;width:5px;height:3px;background:#5b7183;border-radius:1px}.mock-phone-head{display:flex;align-items:center;justify-content:space-between;padding:4px 12px 10px}.mock-phone-head>span:first-child{display:flex;flex-direction:column}.mock-phone-head small{color:#8c9daa;font-size:5px}.mock-phone-head strong{color:#11324d;font-size:9.5px;font-weight:700}.mock-phone-avatar{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;color:#fff;background:#2b6898;border-radius:50%;font-size:6px;font-weight:700}.mock-phone-project{margin:0 9px;padding:9px 10px;color:#eaf5fd;background:linear-gradient(135deg,#124f7c,#1b7393);border-radius:8px;box-shadow:0 5px 12px #185c8538}.mock-phone-project>span{color:#daeefaa6;font-size:4.8px}.mock-phone-project strong{display:flex;align-items:center;gap:2px;margin-top:2px;font-size:7.2px;font-weight:600}.mock-phone-project em{display:block;margin-top:3px;color:#85c9e5;font-size:4.8px;font-style:normal}.mock-phone-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin:9px 9px 8px}.mock-phone-kpis>div{display:flex;flex-direction:column;padding:5px 6px;background:#fff;border:1px solid #e8eef4;border-radius:6px}.mock-phone-kpis strong{color:#183a54;font-family:var(--font-display);font-size:12px;line-height:1}.mock-phone-kpis strong.red{color:#cd5c55}.mock-phone-kpis span{margin-top:2px;color:#94a4b1;font-size:4.4px}.mock-phone-section{padding:0 9px}.mock-phone-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.mock-phone-section-head strong{color:#344c60;font-size:6px}.mock-phone-section-head i{color:#9aaab7;font-size:4.5px;font-style:normal}.mock-phone-task{display:flex;align-items:center;gap:5px;padding:6px;margin-bottom:4px;background:#fff;border:1px solid #e8eef4;border-radius:6px}.task-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;flex-shrink:0;color:#ce5751;background:#fceceb;border-radius:4px}.task-icon.amber{color:#b98229;background:#fdf5e7}.mock-phone-task>div{display:flex;flex:1;flex-direction:column;min-width:0}.mock-phone-task strong{overflow:hidden;color:#3b5265;font-size:5.1px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.mock-phone-task em{color:#9aaab7;font-size:4.2px;font-style:normal}.mock-phone-task small{color:#c16e47;font-size:4.3px}.mock-phone-nav{display:flex;align-items:center;justify-content:space-around;height:33px;margin-top:auto;background:#fff;border-top:1px solid #e9eff5}.mock-phone-nav>span{display:flex;flex-direction:column;align-items:center;gap:1px;color:#9aaab7}.mock-phone-nav>span.active{color:#2b6f9f}.mock-phone-nav em{font-size:4px;font-style:normal}.mock-phone-plus{display:flex!important;align-items:center;justify-content:center;width:20px;height:20px;margin-top:-9px;color:#fff!important;background:#2b6f9f;border-radius:50%;box-shadow:0 3px 7px #2b6f9f4d}.portal-float{position:absolute;z-index:6;display:flex;align-items:center;gap:8px;padding:8px 10px;color:#2a4358;background:#fffffff0;border:1px solid rgba(255,255,255,.6);border-radius:8px;box-shadow:0 13px 35px #00000038;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.portal-float>span:nth-child(2){display:flex;flex-direction:column;line-height:1.3}.portal-float em{color:#7f93a4;font-size:5.6px;font-style:normal}.portal-float strong{color:#203c53;font-size:7px;font-weight:600;white-space:nowrap}.portal-float b{color:#338bce;font-family:var(--font-display);font-size:10px;font-weight:700}.portal-float b.good{color:#27875f}.float-ai{top:5px;right:30px}.float-ai-icon{display:inline-flex;align-items:center;justify-content:center;width:27px;height:27px;color:#3285bb;background:#e8f5fd;border-radius:6px}.float-flow{left:18px;bottom:35px}.float-flow-ring{display:inline-flex;align-items:center;justify-content:center;width:27px;height:27px;border-radius:50%;background:conic-gradient(#2b9068 0,#2b9068 92.6%,#e2ece7 92.6%,#e2ece7)}.float-flow-ring i{width:20px;height:20px;background:#fff;border-radius:50%}.portal-hero-foot{position:relative;z-index:4;display:flex;align-items:center;justify-content:center;gap:12px;width:100%;max-width:1360px;margin:0 auto;padding:0 28px 19px;color:#587b93;font-size:8.5px;letter-spacing:.08em}.portal-hero-foot i{width:22px;height:1px;background:#739fbd38}.portal-hero-foot em{margin-left:12px;padding-left:15px;color:#6a94b1;border-left:1px solid rgba(115,159,189,.2);font-style:normal}.portal-section{width:100%;max-width:1320px;margin:0 auto;padding:78px 28px}.portal-section-head{max-width:640px;margin:0 auto 34px;text-align:center}.portal-section-head.left{max-width:600px;margin:0 0 30px;text-align:left}.portal-section-kicker{color:#2873a8;font-size:8.5px;font-weight:700;letter-spacing:.2em}.portal-section-kicker.light{color:#7cbde6}.portal-section-head h2,.portal-flow-head h2{margin-top:10px;color:#132c42;font-size:28px;font-weight:700;line-height:1.35;letter-spacing:-.035em}.portal-section-head p{max-width:560px;margin:10px auto 0;color:#687d90;font-size:11.5px;line-height:1.8}.portal-section-head.left p{margin-left:0}.portal-entries{padding-top:68px}.portal-entry-grid{display:grid;grid-template-columns:minmax(0,1.17fr) minmax(0,.83fr);gap:16px}.portal-entry-card{position:relative;display:flex;overflow:hidden;min-height:430px;border-radius:18px;box-shadow:0 1px 2px #0e263e0a,0 18px 48px #0e263e12}.pc-entry{background:linear-gradient(145deg,#fff,#f8fbfe);border:1px solid #e1e9f1}.h5-entry{color:#e9f4fc;background:radial-gradient(420px 320px at 90% 100%,rgba(24,126,149,.28),transparent 64%),linear-gradient(145deg,#071f34,#0a2b45);border:1px solid rgba(126,181,219,.15)}.entry-card-copy{position:relative;z-index:2;display:flex;flex:1;flex-direction:column;align-items:flex-start;min-width:0;padding:30px 28px 26px}.entry-label{display:flex;align-items:center;gap:6px;color:#5d7e96;font-size:7.5px;font-weight:650;letter-spacing:.16em}.entry-label-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;color:#2a74a9;background:#eaf5fd;border-radius:6px}.h5-entry .entry-label{color:#79a3be}.h5-entry .entry-label-icon{color:#89cce4;background:#56a4c724}.entry-card-copy h3{margin-top:15px;color:#132e45;font-size:23px;font-weight:700;letter-spacing:-.03em}.h5-entry .entry-card-copy h3{color:#f2f9fe}.entry-card-copy>p{max-width:335px;margin-top:9px;color:#6c8193;font-size:10.5px;line-height:1.8}.h5-entry .entry-card-copy>p{color:#9db8ca}.entry-card-copy ul{display:flex;flex-direction:column;gap:7px;margin-top:15px}.entry-card-copy li{display:flex;align-items:center;gap:6px;color:#688093;font-size:9px}.entry-card-copy li .icon{color:#3a9a75}.h5-feature-pills{display:flex;flex-wrap:wrap;gap:5px;margin-top:15px}.h5-feature-pills span{display:inline-flex;align-items:center;gap:4px;padding:4px 7px;color:#a7c4d6;background:#ffffff0e;border:1px solid rgba(138,190,223,.14);border-radius:5px;font-size:8px}.entry-btn{display:inline-flex;align-items:center;justify-content:space-between;gap:16px;min-width:176px;height:38px;margin-top:auto;padding:0 12px;border-radius:7px;font-size:9.5px;font-weight:600;transition:.18s var(--ease)}.entry-btn.primary{color:#fff;background:linear-gradient(135deg,#2e79bd,#1d5f9e);box-shadow:0 5px 15px #1e609b38}.entry-btn.primary:hover{background:linear-gradient(135deg,#3486ce,#226aa9);transform:translateY(-1px)}.h5-entry .entry-btn.primary{color:#0b263b;background:linear-gradient(135deg,#b8e3f4,#88c7df);box-shadow:0 5px 18px #4ca6c72e}.h5-entry .entry-btn.primary:hover{background:linear-gradient(135deg,#c7eafa,#99d3e7)}.entry-login{display:inline-flex;align-items:center;gap:2px;margin-top:10px;color:#7890a2;font-size:8px}.entry-login:hover{color:#2d79ae}.h5-entry .entry-login{color:#6e97b0}.h5-entry .entry-login:hover{color:#b0d8eb}.entry-preview{position:relative;flex-shrink:0}.pc-preview{display:flex;width:47%;margin:22px 0;overflow:hidden;background:#f5f9fc;border:1px solid #e0eaf2;border-left:1px solid #e6eef5;border-radius:10px 0 0 10px;box-shadow:-8px 12px 30px #11324e12}.pc-preview-side{display:flex;flex-direction:column;align-items:center;gap:13px;width:36px;padding:13px 6px;background:#09243c}.pc-preview-side>span{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;color:#6f91a9;border-radius:5px}.pc-preview-side>span.active{color:#9dd3f1;background:#58a3d433}.preview-logo{margin-bottom:7px;color:#8fc7e7!important}.pc-preview-main{flex:1;padding:13px 12px;min-width:0}.pc-preview-top{display:flex;gap:4px;margin-bottom:10px}.pc-preview-top span{width:16px;height:4px;background:#dce7f0;border-radius:2px}.pc-preview-top span:first-child{width:42px;background:#c3d9e8}.pc-preview-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.pc-preview-kpis div{padding:6px;background:#fff;border:1px solid #e7eef5;border-radius:5px}.pc-preview-kpis em{display:block;color:#91a3b2;font-size:4.5px;font-style:normal}.pc-preview-kpis strong{display:block;margin-top:2px;color:#24445c;font-family:var(--font-display);font-size:12px}.pc-preview-kpis strong.red{color:#ce5b54}.pc-preview-chart{margin-top:7px;padding:7px;background:#fff;border:1px solid #e7eef5;border-radius:5px}.pc-preview-chart span{color:#657c8e;font-size:5px}.pc-preview-chart svg{width:100%;height:56px;margin-top:3px}.pc-preview-rows{display:flex;flex-direction:column;gap:5px;margin-top:7px}.pc-preview-rows span{height:7px;background:#fff;border:1px solid #e9eff5;border-radius:3px}.h5-preview{width:215px;flex-shrink:0;margin:36px 25px 0 0}.h5-preview-phone{width:190px;height:380px;overflow:hidden;color:#1a3247;background:#f5f9fc;border:6px solid #0a1725;border-radius:26px;box-shadow:0 22px 55px #0006,inset 0 0 0 1px #ffffff14;transform:rotate(1.5deg)}.h5-preview-status{display:flex;align-items:center;justify-content:space-between;height:20px;padding:0 12px;color:#5d7487;font-size:5px}.h5-preview-status i{width:15px;height:4px;background:#536d80;border-radius:2px}.h5-preview-head{display:flex;align-items:center;justify-content:space-between;padding:2px 12px 9px}.h5-preview-head>span:first-child{display:flex;flex-direction:column}.h5-preview-head em{color:#8b9daa;font-size:4.8px;font-style:normal}.h5-preview-head strong{color:#16344d;font-size:9px;font-weight:700}.mini-avatar{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;color:#fff;background:#2d6c99;border-radius:50%;font-size:5.5px}.h5-preview-project{margin:0 9px;padding:9px 10px;color:#e8f5fe;background:linear-gradient(135deg,#104c79,#1b718f);border-radius:8px}.h5-preview-project span{display:block;color:#89bfd9;font-size:4.5px}.h5-preview-project strong{display:block;margin-top:2px;font-size:7px;font-weight:600}.h5-preview-project em{display:block;margin-top:2px;color:#7fd1e0;font-size:4.6px;font-style:normal}.h5-preview-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin:8px 9px}.h5-preview-stats div{padding:5px 6px;background:#fff;border:1px solid #e8eef4;border-radius:5px}.h5-preview-stats strong{display:block;color:#1d3f59;font-family:var(--font-display);font-size:12px;line-height:1}.h5-preview-stats strong.red{color:#cb5d56}.h5-preview-stats span{color:#91a3b0;font-size:4.3px}.h5-preview-quick{display:flex;justify-content:space-around;margin:0 8px 8px;padding:7px 4px;background:#fff;border:1px solid #e8eef4;border-radius:6px}.h5-preview-quick>span{display:flex;flex-direction:column;align-items:center;gap:2px}.h5-preview-quick i{display:inline-flex;align-items:center;justify-content:center;width:19px;height:19px;color:#2e7aa8;background:#eaf5fc;border-radius:5px}.h5-preview-quick em{color:#7f93a3;font-size:4px;font-style:normal}.h5-preview-task{padding:0 9px}.h5-preview-task>div:first-child{display:flex;justify-content:space-between;margin-bottom:4px;color:#415b6e;font-size:5.2px;font-weight:600}.h5-preview-task>div:first-child em{color:#9aabb8;font-size:4.3px;font-style:normal;font-weight:400}.h5-preview-task-card{display:flex;align-items:center;gap:5px;padding:7px;background:#fff;border:1px solid #e8eef4;border-radius:6px}.h5-preview-task-card>i{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;color:#cc5751;background:#fceceb;border-radius:4px}.h5-preview-task-card>span{display:flex;flex:1;flex-direction:column;min-width:0}.h5-preview-task-card strong{overflow:hidden;color:#385368;font-size:5px;text-overflow:ellipsis;white-space:nowrap}.h5-preview-task-card em{color:#9aaab7;font-size:4.2px;font-style:normal}.h5-preview-task-card b{color:#c06d47;font-size:4.2px;font-weight:500}.portal-capability{padding-top:8px}.capability-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.capability-card{position:relative;padding:22px 19px 20px;overflow:hidden;background:#fff;border:1px solid #e3eaf1;border-radius:13px;transition:.2s var(--ease)}.capability-card:hover{border-color:#c9dbe9;transform:translateY(-2px);box-shadow:0 12px 30px #0e263e0f}.capability-num{position:absolute;top:15px;right:16px;color:#dfe8ef;font-family:var(--font-display);font-size:23px;font-weight:700}.capability-icon{display:inline-flex;align-items:center;justify-content:center;width:39px;height:39px;color:#2b75aa;background:#eef7fd;border:1px solid #e2eff8;border-radius:10px}.capability-card h3{margin-top:13px;color:#1e3a50;font-size:13px;font-weight:650}.capability-card p{margin-top:6px;color:#718598;font-size:9.5px;line-height:1.8}.portal-modules{padding-top:28px}.portal-module-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.portal-module-card{position:relative;min-height:156px;padding:18px;background:#fff;border:1px solid #e3eaf1;border-radius:12px;transition:.22s var(--ease)}.portal-module-card:hover{border-color:#c4d9e9;box-shadow:0 14px 35px #0e263e12;transform:translateY(-2px)}.module-card-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:9px}.tone-blue{color:#2d72b4;background:#eaf3fc}.tone-red{color:#c25751;background:#fcedeb}.tone-amber{color:#b47d26;background:#fdf5e6}.tone-teal{color:#238b86;background:#e9f7f5}.tone-indigo{color:#6568b2;background:#f0f0fa}.tone-green{color:#2b8a65;background:#eaf7f1}.tone-cyan{color:#2b859f;background:#eaf6f9}.tone-gray{color:#6c8092;background:#f1f5f8}.module-card-index{position:absolute;top:19px;right:18px;color:#e1e9ef;font-family:var(--font-display);font-size:17px;font-weight:700}.portal-module-card h3{margin-top:13px;color:#203a4f;font-size:12px;font-weight:650}.portal-module-card p{margin-top:4px;color:#728698;font-size:8.5px;line-height:1.7}.module-card-arrow{position:absolute;right:16px;bottom:14px;display:inline-flex;color:#a9bbc9;opacity:0;transition:.2s var(--ease)}.portal-module-card:hover .module-card-arrow{color:#2d7cb2;opacity:1}.portal-flow-section{position:relative;margin-top:58px;overflow:hidden;color:#e9f4fc;background:radial-gradient(700px 300px at 50% 0%,rgba(42,122,168,.22),transparent 65%),linear-gradient(120deg,#06192b,#09253d 55%,#072034)}.portal-flow-section:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(rgba(129,183,220,.12) .7px,transparent .7px);background-size:22px 22px;-webkit-mask-image:linear-gradient(to bottom,#000,transparent 90%);mask-image:linear-gradient(to bottom,#000,transparent 90%);opacity:.45}.portal-flow-inner{position:relative;z-index:1;width:100%;max-width:1320px;margin:0 auto;padding:58px 28px 50px}.portal-flow-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.portal-flow-head h2{color:#edf7fd;font-size:25px}.flow-demo-btn{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 13px;color:#cbe6f7;background:#ffffff0f;border:1px solid rgba(142,193,227,.25);border-radius:7px;font-size:9px;font-weight:550;white-space:nowrap}.flow-demo-btn:hover{background:#ffffff1a}.portal-flow-line{display:flex;align-items:flex-start;margin-top:35px}.portal-flow-step{flex:1;min-width:0}.flow-step-index{color:#4d7c99;font-family:var(--font-display);font-size:10px;font-weight:700;letter-spacing:.08em}.flow-step-icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;margin-top:8px;color:#8ccbee;background:#4890bc24;border:1px solid rgba(124,185,223,.2);border-radius:11px}.portal-flow-step h3{margin-top:12px;color:#eaf5fc;font-size:14px;font-weight:600}.portal-flow-step p{margin-top:3px;color:#799eb7;font-size:8.5px}.portal-flow-arrow{display:flex;align-items:center;width:42px;margin-top:45px;color:#3d6b88}.portal-flow-arrow i{flex:1;height:1px;background:linear-gradient(90deg,#5891b559,#5891b514)}.portal-flow-note{display:flex;align-items:center;gap:28px;margin-top:35px;padding-top:20px;border-top:1px solid rgba(131,178,207,.12)}.portal-flow-note span{display:inline-flex;align-items:center;gap:6px;color:#7197af;font-size:8.5px}.portal-flow-note .icon{color:#5d9bbd}.portal-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;max-width:1320px;margin:0 auto;padding:30px 28px 35px;color:#758a9c;font-size:8.5px}.portal-footer-brand{display:flex;align-items:center;gap:9px}.portal-footer-brand>div{display:flex;flex-direction:column;line-height:1.4}.portal-footer-brand strong{color:#324f66;font-size:10px}.portal-footer-brand em{color:#8296a7;font-size:7.5px;font-style:normal}.portal-footer-meta{display:flex;gap:20px;color:#8a9cab}.portal-footer-links{display:flex;align-items:center;gap:15px}.portal-footer-links a,.portal-footer-links button{padding:0;color:#5e7b91;background:transparent;border:0;font-size:8.5px;cursor:pointer}.portal-footer-links a:hover,.portal-footer-links button:hover{color:#2872a7}.login-page{display:flex;min-height:100vh;background:#f5f8fb}.login-visual{position:relative;display:flex;flex-direction:column;justify-content:space-between;width:52%;min-height:100vh;padding:38px 48px;overflow:hidden;color:#eaf5fd;background:radial-gradient(ellipse at 66% 38%,#dceffa1a,#dceffa00 46%),linear-gradient(180deg,#03142300,#0314230a 42%,#03142394),linear-gradient(90deg,#03142366,#03142308 58%,#03142338),url(./pingbian-wujiazhai-bridge-Cr-xme1e.jpg) 38% 50% / cover no-repeat,#0a2233}.login-visual .portal-contours{opacity:.22}.login-visual-top{position:relative;z-index:2}.login-visual-copy{position:relative;z-index:2;max-width:510px;margin:auto 0}.login-visual-copy .portal-eyebrow{margin-bottom:17px}.login-visual-copy h1{color:#f2f8fd;font-size:40px;font-weight:700;line-height:1.24;letter-spacing:-.04em;text-shadow:0 2px 18px rgba(1,12,22,.45)}.login-visual-copy h1 span{color:#8ac8ed}.login-visual-copy p{max-width:420px;margin-top:15px;color:#b7d0df;font-size:11.5px;line-height:1.9;text-shadow:0 1px 10px rgba(1,12,22,.5)}.login-features{display:flex;gap:22px;margin-top:29px}.login-feature{display:flex;flex-direction:column;gap:3px}.login-feature strong{color:#d8ecf9;font-family:var(--font-display);font-size:20px}.login-feature span{color:#6c93ad;font-size:8px}.login-visual-foot{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;color:#cbe2f09e;font-size:8px}.login-visual-credit{position:absolute;right:48px;bottom:61px;z-index:2;display:flex;flex-direction:column;align-items:flex-end;gap:1px;color:#ddeff9c2;text-shadow:0 1px 8px rgba(2,17,31,.55)}.login-visual-credit span{font-size:8px;letter-spacing:.03em}.login-visual-credit em{color:#c6deec7a;font-size:6.5px;font-style:normal}.login-panel{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;padding:40px 32px;background:radial-gradient(700px 280px at 80% 0%,rgba(219,234,246,.45),transparent 70%),#f8fafc}.login-card{width:100%;max-width:358px}.login-back{display:inline-flex;align-items:center;gap:4px;margin-bottom:30px;color:#8194a5;background:transparent;border:0;font-size:9px;cursor:pointer}.login-back:hover{color:#2d6f9f}.login-card h2{color:#15304a;font-size:25px;font-weight:700;letter-spacing:-.03em}.login-card>p{margin-top:6px;color:#7b8e9f;font-size:10.5px}.login-form{display:flex;flex-direction:column;gap:14px;margin-top:24px}.login-input{display:flex;align-items:center;gap:8px;height:41px;padding:0 11px;background:#fff;border:1px solid #dce6ef;border-radius:8px;transition:.18s var(--ease)}.login-input:focus-within{border-color:#85aecf;box-shadow:0 0 0 3px #2875c214}.login-input>.icon{color:#8fa2b2}.login-input input{width:100%;background:transparent;border:0;outline:0;color:#2b455c;font-size:11.5px}.login-input input::placeholder{color:#a6b5c1}.login-options{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#7d90a1;font-size:9px}.login-options button{color:#3379ab;background:transparent;border:0;font-size:9px;cursor:pointer}.login-submit{display:flex;align-items:center;justify-content:center;gap:7px;height:42px;margin-top:4px;color:#fff;background:linear-gradient(135deg,#2c77b7,#1c5d98);border:1px solid #1c5a92;border-radius:8px;box-shadow:0 6px 16px #1d609a38;font-size:11.5px;font-weight:600;cursor:pointer}.login-submit:hover{background:linear-gradient(135deg,#3385ca,#2068a7)}.login-demo{display:flex;align-items:flex-start;gap:7px;margin-top:18px;padding:10px 11px;color:#71889b;background:#eef5fb;border:1px solid #e0ecf6;border-radius:7px;font-size:8.5px;line-height:1.6}.login-demo .icon{flex-shrink:0;margin-top:1px;color:#3b82b5}.login-alt{display:flex;align-items:center;justify-content:space-between;margin-top:22px;padding-top:18px;border-top:1px solid #e4ebf2;color:#8a9dab;font-size:8.5px}.login-alt button{display:inline-flex;align-items:center;gap:4px;color:#3178a9;background:transparent;border:0;font-size:8.5px;cursor:pointer}.login-copyright{margin-top:34px;color:#9aa9b6;font-size:7.5px;text-align:center}@media (max-width: 1180px){.portal-header{padding:0 22px}.portal-hero-inner{padding:10px 22px 28px;min-height:580px}.portal-nav{gap:20px}.mock-dashboard{width:500px;height:360px;transform:scale(.94) rotate(-1.1deg);transform-origin:left top}.mock-phone{transform:scale(.92) rotate(1.6deg);transform-origin:right bottom}.pc-preview{display:none}.h5-preview{margin-right:10px}.portal-entry-card{min-height:400px}.portal-module-grid,.capability-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 960px){.portal-nav{display:none}.portal-hero-inner{grid-template-columns:1fr;padding-top:30px}.portal-visual{display:none}.portal-copy{max-width:640px}.portal-entry-grid{grid-template-columns:1fr}.h5-entry{min-height:410px}.h5-preview{margin-right:30px}.portal-flow-line{flex-wrap:wrap;gap:22px}.portal-flow-step{flex:0 0 28%}.portal-flow-arrow{display:none}.portal-flow-note{flex-direction:column;align-items:flex-start;gap:8px}.portal-footer{flex-direction:column;align-items:flex-start}.login-visual{display:none}.login-panel{min-height:100vh}}@media (max-width: 640px){.portal-header{height:70px;padding:0 16px}.portal-brand-text strong{font-size:14px}.portal-brand-text em{font-size:7px}.portal-header-actions .portal-login-link{display:none}.portal-header-btn{height:31px;padding:0 10px;font-size:9px}.portal-hero-inner{padding:20px 16px 28px;min-height:auto}.portal-copy h1{font-size:34px}.portal-lead{font-size:11.5px}.portal-cta-row{flex-direction:column}.portal-cta{width:100%;min-width:0}.portal-metrics strong{font-size:21px}.portal-section{padding:48px 16px}.portal-section-head h2{font-size:23px}.portal-entry-card{flex-direction:column;min-height:0}.entry-card-copy{padding:24px 21px}.h5-entry{min-height:0}.h5-preview,.pc-entry .entry-preview{display:none}.capability-grid,.portal-module-grid{grid-template-columns:1fr}.portal-flow-head{flex-direction:column;align-items:flex-start}.portal-flow-step{flex:0 0 44%}.portal-flow-note span{align-items:flex-start;line-height:1.5}.portal-footer{padding:24px 16px 30px}.portal-footer-meta{flex-direction:column;gap:5px}.portal-hero-foot{flex-wrap:wrap;gap:7px;padding:0 16px 18px}.portal-hero-foot em{margin-left:0;padding-left:0;border-left:0}.login-panel{padding:30px 22px}}.pc-shell{display:flex;height:100vh;overflow:hidden;background:var(--bg)}.pc-sidebar{position:relative;display:flex;flex-direction:column;width:238px;flex-shrink:0;overflow:hidden;color:#dbe8f4;background:radial-gradient(120% 60% at 0% 0%,rgba(40,105,160,.28) 0%,transparent 60%),linear-gradient(180deg,#071d31,#09243d 48%,#071b2e);box-shadow:inset -1px 0 #ffffff0d;transition:width .24s var(--ease);z-index:30}.pc-sidebar:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(180deg,transparent 50%,rgba(3,16,28,.28) 100%)}.sidebar-contours{position:absolute;top:0;left:0;width:100%;height:100%;opacity:.8;pointer-events:none}.sidebar-brand{position:relative;z-index:1;display:flex;align-items:center;gap:10px;height:72px;padding:0 16px 0 18px;flex-shrink:0}.sidebar-logo{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;color:#d9ecfb;background:linear-gradient(145deg,#4c9cda52,#205b8b33);border:1px solid rgba(151,202,239,.26);border-radius:11px;box-shadow:inset 0 1px #ffffff1f,0 5px 14px #0000002e}.sidebar-brand-text{display:flex;flex-direction:column;min-width:0;white-space:nowrap}.sidebar-brand-text strong{color:#f2f8fd;font-size:17px;font-weight:700;letter-spacing:.08em}.sidebar-brand-text span{margin-top:1px;color:#7e9cb5;font-size:8.5px;font-weight:500;letter-spacing:.06em}.sidebar-collapse{position:absolute;right:10px;bottom:-10px;display:inline-flex;align-items:center;justify-content:center;width:21px;height:21px;padding:0;color:#87a3ba;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:5px;cursor:pointer}.sidebar-collapse:hover{color:#d9eafa;background:#ffffff17}.sidebar-nav{position:relative;z-index:1;flex:1;overflow-y:auto;padding:11px 0 16px;scrollbar-width:none}.sidebar-nav::-webkit-scrollbar{display:none}.nav-group{margin-bottom:11px}.nav-group-label{height:24px;padding:8px 20px 0;color:#587991;font-size:8.5px;font-weight:700;letter-spacing:.18em;white-space:nowrap}.nav-item{position:relative;display:flex;align-items:center;gap:10px;height:39px;margin:2px 10px;padding:0 10px;color:#a9c0d2;border:1px solid transparent;border-radius:8px;font-size:12.5px;font-weight:500;letter-spacing:.02em;white-space:nowrap;transition:color .16s var(--ease),background .16s var(--ease),border-color .16s var(--ease)}.nav-item:before{content:"";position:absolute;left:-10px;top:10px;bottom:10px;width:2.5px;background:#5aa9e6;border-radius:0 3px 3px 0;opacity:0}.nav-item:hover{color:#e7f2fb;background:#ffffff0e}.nav-item.active{color:#f5fbff;background:linear-gradient(90deg,#307bb752,#2f70a51f);border-color:#70afe221;box-shadow:inset 0 1px #ffffff0a}.nav-item.active:before{opacity:1}.nav-icon{display:inline-flex;align-items:center;justify-content:center;width:19px;flex-shrink:0;color:#7e9ab1}.nav-item.active .nav-icon,.nav-item:hover .nav-icon{color:#7bbcdf}.nav-text{flex:1;overflow:hidden;text-overflow:ellipsis}.nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:17px;height:17px;padding:0 4px;color:#fff;background:#d35b54;border-radius:999px;font-size:9px;font-weight:700;box-shadow:0 0 0 2px #d35b541f}.sidebar-foot{position:relative;z-index:1;flex-shrink:0;padding:13px 16px 14px;border-top:1px solid rgba(255,255,255,.055)}.sidebar-status{display:flex;align-items:flex-start;gap:8px;padding:8px 9px;background:#ffffff09;border:1px solid rgba(255,255,255,.055);border-radius:7px}.live-dot{width:5px;height:5px;margin-top:5px;flex-shrink:0;background:#45c59a;border-radius:50%;box-shadow:0 0 0 3px #45c59a1f}.sidebar-status div{display:flex;flex-direction:column;gap:1px;min-width:0}.sidebar-status strong{color:#b7cfe1;font-size:9.5px;font-weight:600;white-space:nowrap}.sidebar-status span{color:#5f7d93;font-size:8.5px;white-space:nowrap}.sidebar-foot-meta{display:flex;justify-content:space-between;margin-top:9px;padding:0 2px;color:#49677d;font-size:8px;white-space:nowrap}.sidebar-collapsed .pc-sidebar{width:72px}.sidebar-collapsed .sidebar-brand{justify-content:center;padding:0}.sidebar-collapsed .sidebar-brand-text,.sidebar-collapsed .nav-group-label,.sidebar-collapsed .nav-text,.sidebar-collapsed .sidebar-status div,.sidebar-collapsed .sidebar-foot-meta,.sidebar-collapsed .sidebar-collapse{display:none}.sidebar-collapsed .nav-group{margin-bottom:4px}.sidebar-collapsed .nav-item{justify-content:center;height:42px;margin:2px 12px;padding:0}.sidebar-collapsed .nav-item:before{left:-12px}.sidebar-collapsed .nav-badge{position:absolute;top:6px;right:8px;min-width:7px;width:7px;height:7px;padding:0;color:transparent;font-size:0}.sidebar-collapsed .sidebar-status{justify-content:center;padding:10px}.sidebar-collapsed .live-dot{margin-top:0}.sidebar-collapsed .sidebar-foot{padding:10px}.pc-main{display:flex;flex:1;flex-direction:column;min-width:0;overflow:hidden}.pc-topbar{position:relative;z-index:40;display:flex;align-items:center;justify-content:space-between;height:64px;padding:0 22px 0 18px;flex-shrink:0;background:#fffffff5;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.topbar-left{display:flex;align-items:center;gap:10px;min-width:0}.topbar-menu{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;color:var(--ink-500);background:transparent;border:0;border-radius:7px;cursor:pointer}.sidebar-collapsed .topbar-menu{color:var(--blue-700);background:var(--blue-100);border:1px solid #d6e7f6}.topbar-menu:hover{background:#f1f5f9}.topbar-breadcrumb{display:flex;align-items:center;gap:6px;color:var(--ink-400);font-size:11.5px;white-space:nowrap}.topbar-breadcrumb strong{color:var(--ink-700);font-weight:600}.topbar-right{display:flex;align-items:center;gap:8px}.global-search{position:relative}.global-search-input{display:flex;align-items:center;gap:7px;width:268px;height:34px;padding:0 9px 0 11px;color:var(--ink-400);background:#f5f8fb;border:1px solid #e5ecf3;border-radius:8px;transition:.18s var(--ease)}.global-search-input:focus-within{background:#fff;border-color:#99bad9;box-shadow:0 0 0 3px #2875c214}.global-search-input input{flex:1;min-width:0;color:var(--ink-800);background:transparent;border:0;outline:0;font-size:11.5px}.global-search-input input::placeholder{color:var(--ink-400)}.global-search-input kbd{display:inline-flex;align-items:center;height:18px;padding:0 4px;color:var(--ink-400);background:#fff;border:1px solid #dfe7ef;border-radius:4px;font-family:var(--font-sans);font-size:8px;white-space:nowrap}.topbar-icon-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;color:var(--ink-500);background:transparent;border:1px solid transparent;border-radius:8px;cursor:pointer;transition:.18s var(--ease)}.topbar-icon-btn:hover{color:var(--ink-800);background:#f2f6fa;border-color:#e8eef4}.topbar-badge{position:absolute;top:5px;right:5px;display:inline-flex;align-items:center;justify-content:center;min-width:14px;height:14px;padding:0 3px;color:#fff;background:#d24f49;border:2px solid #fff;border-radius:999px;font-size:7.5px;font-weight:700;line-height:1}.project-switch{position:relative}.project-switch-btn{display:flex;align-items:center;gap:7px;height:36px;max-width:205px;padding:0 9px;color:var(--ink-600);background:#fff;border:1px solid #e1e9f1;border-radius:8px;cursor:pointer;transition:.18s var(--ease)}.project-switch-btn:hover,.project-switch-btn.open{border-color:#b6c8d8;background:#fbfdff}.project-switch-icon{display:inline-flex;align-items:center;justify-content:center;width:23px;height:23px;flex-shrink:0;color:var(--blue-700);background:var(--blue-100);border-radius:5px}.project-switch-text{display:flex;flex-direction:column;align-items:flex-start;min-width:0;line-height:1.25}.project-switch-text em{color:var(--ink-400);font-size:7.5px;font-style:normal}.project-switch-text strong{max-width:122px;overflow:hidden;color:var(--ink-700);font-size:10.5px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.quick-create{position:relative}.quick-create-btn{gap:4px}.topbar-user{position:relative;margin-left:2px}.user-trigger{display:flex;align-items:center;gap:8px;height:38px;padding:0 4px 0 3px;background:transparent;border:1px solid transparent;border-radius:9px;cursor:pointer}.user-trigger:hover{background:#f5f8fb}.user-trigger-text{display:flex;flex-direction:column;align-items:flex-start;min-width:0;line-height:1.3}.user-trigger-text strong{color:var(--ink-800);font-size:10.5px;font-weight:600;white-space:nowrap}.user-trigger-text em{color:var(--ink-400);font-size:8px;font-style:normal;white-space:nowrap}.topbar-dropdown{position:absolute;top:calc(100% + 8px);right:0;z-index:200;overflow:hidden;background:#fff;border:1px solid #dfe8f1;border-radius:11px;box-shadow:0 22px 55px #0c243a29,0 2px 8px #0c243a0d;animation:dropdownIn .18s var(--ease)}@keyframes dropdownIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.dropdown-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:43px;padding:10px 14px;border-bottom:1px solid var(--line)}.dropdown-head strong{color:var(--ink-800);font-size:11.5px;font-weight:650}.dropdown-head>span{color:var(--ink-400);font-size:9.5px}.dropdown-head>button{padding:2px;color:var(--blue-700);background:transparent;border:0;font-size:9.5px;cursor:pointer}.project-dropdown{width:318px}.project-option{display:flex;align-items:center;gap:9px;width:100%;padding:8px 12px;text-align:left;background:transparent;border:0;cursor:pointer}.project-option:hover{background:#f7fafd}.project-option.active{background:#f0f7fe}.project-option>span:nth-child(2){display:flex;flex:1;flex-direction:column;min-width:0;line-height:1.4}.project-option strong{overflow:hidden;color:var(--ink-700);font-size:10.5px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.project-option em{overflow:hidden;color:var(--ink-400);font-size:8.5px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.project-option>.icon{color:var(--blue-600)}.project-option-avatar{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;color:#fff;background:linear-gradient(135deg,#3e7fb9,#225c93);border-radius:7px;font-size:10px;font-weight:650}.project-option-avatar.all{background:linear-gradient(135deg,#4b7b9e,#2a587b)}.project-option-avatar.high{background:linear-gradient(135deg,#cf6b65,#a9433e)}.project-option-avatar.mid{background:linear-gradient(135deg,#cf9850,#a36d26)}.project-option-avatar.low{background:linear-gradient(135deg,#4b9879,#2b7158)}.project-list-scroll{max-height:300px;overflow-y:auto;padding:3px 0 7px}.quick-dropdown{width:288px;padding-bottom:5px}.quick-item{display:flex;align-items:center;gap:9px;width:100%;padding:9px 13px;text-align:left;background:transparent;border:0;cursor:pointer}.quick-item:hover{background:#f7fafd}.quick-item>span:nth-child(2){display:flex;flex:1;flex-direction:column;gap:1px}.quick-item strong{color:var(--ink-700);font-size:10.5px;font-weight:600}.quick-item em{color:var(--ink-400);font-size:8.5px;font-style:normal}.quick-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex-shrink:0;border-radius:7px}.quick-red{color:var(--danger);background:var(--danger-bg)}.quick-teal{color:var(--teal-700);background:var(--teal-100)}.quick-blue{color:var(--blue-700);background:var(--blue-100)}.quick-amber{color:var(--warning);background:var(--warning-bg)}.notif-dropdown{width:356px}.notif-list{max-height:360px;overflow-y:auto}.notif-item{display:flex;align-items:flex-start;gap:9px;width:100%;padding:11px 14px;text-align:left;background:transparent;border:0;border-bottom:1px solid #f0f4f8;cursor:pointer}.notif-item:hover{background:#f8fbfe}.notif-item.unread{background:#fbfdff}.notif-dot{width:6px;height:6px;margin-top:6px;flex-shrink:0;background:#b2c1cf;border-radius:50%}.dot-danger{background:#d55353}.dot-warning{background:#d5912c}.dot-success{background:#2f8c65}.dot-info{background:#2f74c0}.notif-body{display:flex;flex:1;flex-direction:column;gap:2px;min-width:0}.notif-body strong{overflow:hidden;color:var(--ink-700);font-size:10.5px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.notif-item.unread .notif-body strong{color:var(--ink-900)}.notif-body em{display:-webkit-box;overflow:hidden;color:var(--ink-500);font-size:9px;font-style:normal;line-height:1.45;-webkit-line-clamp:2;-webkit-box-orient:vertical}.notif-body small{color:var(--ink-400);font-size:8px}.notif-foot{display:flex;align-items:center;justify-content:center;gap:5px;width:100%;padding:10px;color:var(--blue-700);background:#fbfdff;border:0;font-size:9.5px;font-weight:550;cursor:pointer}.notif-foot:hover{background:#f4f9fe}.search-dropdown{left:0;right:auto;width:390px;max-height:480px;overflow-y:auto;padding:7px 0}.search-group{padding:3px 0}.search-group-label{padding:7px 14px 5px;color:var(--ink-400);font-size:8.5px;font-weight:650;letter-spacing:.08em;text-transform:uppercase}.search-result{display:flex;align-items:center;gap:9px;width:100%;padding:7px 14px;text-align:left;background:transparent;border:0;cursor:pointer}.search-result:hover{background:#f7fafd}.search-result>span:nth-child(2){display:flex;flex:1;flex-direction:column;min-width:0}.search-result strong{overflow:hidden;color:var(--ink-700);font-size:10.5px;font-weight:550;text-overflow:ellipsis;white-space:nowrap}.search-result em{color:var(--ink-400);font-size:8px;font-style:normal}.search-result>.icon{color:var(--ink-400)}.search-result-icon{display:inline-flex;align-items:center;justify-content:center;width:27px;height:27px;flex-shrink:0;color:var(--blue-700);background:var(--blue-100);border-radius:6px}.search-result-icon.red{color:var(--danger);background:var(--danger-bg)}.search-result-icon.teal{color:var(--teal-700);background:var(--teal-100)}.search-chips{display:flex;flex-wrap:wrap;gap:6px;padding:2px 14px 10px}.search-chips button{padding:4px 9px;color:var(--ink-600);background:#f2f6fa;border:1px solid #e6edf4;border-radius:999px;font-size:9.5px;cursor:pointer}.search-chips button:hover{color:var(--blue-700);border-color:#c8ddec}.search-tip{display:flex;align-items:center;gap:5px;margin:0 14px;padding:8px 9px;color:var(--ink-400);background:#f8fbfd;border:1px solid #eef3f7;border-radius:6px;font-size:8.5px}.search-empty{display:flex;flex-direction:column;align-items:center;gap:7px;padding:28px 16px;color:var(--ink-400);font-size:10px}.user-dropdown{width:278px}.user-card{display:flex;align-items:flex-start;gap:9px;padding:14px;background:linear-gradient(135deg,#f7fbfe,#f1f7fc);border-bottom:1px solid var(--line)}.user-card>div{display:flex;flex-direction:column;min-width:0}.user-card strong{color:var(--ink-900);font-size:12px;font-weight:650}.user-card span{overflow:hidden;color:var(--ink-500);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.user-card em{margin-top:3px;color:var(--blue-700);font-size:8.5px;font-style:normal}.user-menu{padding:5px 0}.user-menu button{display:flex;align-items:center;gap:8px;width:100%;padding:8px 14px;color:var(--ink-600);text-align:left;background:transparent;border:0;font-size:10.5px;cursor:pointer}.user-menu button:hover{background:#f7fafd;color:var(--ink-800)}.user-menu button.danger{color:var(--danger)}.user-menu-divider{height:1px;margin:4px 0;background:var(--line)}.pc-content{flex:1;overflow-y:auto;padding:22px 24px 12px;background:radial-gradient(900px 320px at 78% -90px,rgba(205,226,243,.5),transparent 65%),var(--bg)}.pc-page{width:100%;max-width:1500px;margin:0 auto;padding-bottom:16px;animation:pageIn .32s var(--ease)}@keyframes pageIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.pc-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;max-width:1500px;margin:10px auto 0;padding:14px 2px 4px;color:var(--ink-400);border-top:1px solid #e1e9f1;font-size:9.5px}.grid-12{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px}.span-3{grid-column:span 3}.span-4{grid-column:span 4}.span-5{grid-column:span 5}.span-6{grid-column:span 6}.span-7{grid-column:span 7}.span-8{grid-column:span 8}.span-9{grid-column:span 9}.span-12{grid-column:span 12}.toolbar-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.toolbar-left,.toolbar-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.metric-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:14px}.metric-mini{display:flex;align-items:center;gap:10px;padding:12px 13px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-xs)}.metric-mini-icon{display:inline-flex;align-items:center;justify-content:center;width:31px;height:31px;flex-shrink:0;color:var(--metric-color, var(--blue-700));background:var(--metric-bg, var(--blue-100));border-radius:8px}.metric-mini div{display:flex;flex-direction:column;min-width:0}.metric-mini span{color:var(--ink-400);font-size:9px}.metric-mini strong{color:var(--ink-900);font-family:var(--font-display);font-size:18px;font-weight:700;line-height:1.2}.metric-mini em{color:var(--ink-400);font-size:8px;font-style:normal}.metric-red{--metric-color: var(--danger);--metric-bg: var(--danger-bg)}.metric-amber{--metric-color: var(--warning);--metric-bg: var(--warning-bg)}.metric-green{--metric-color: var(--success);--metric-bg: var(--success-bg)}.metric-teal{--metric-color: var(--teal-700);--metric-bg: var(--teal-100)}.two-col{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(290px,1fr);gap:14px}.three-col{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.panel-list{display:flex;flex-direction:column}.panel-list-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #eef3f7}.panel-list-row:last-child{border-bottom:0}.panel-list-main{display:flex;flex:1;flex-direction:column;min-width:0}.panel-list-main strong{overflow:hidden;color:var(--ink-700);font-size:11.5px;font-weight:550;text-overflow:ellipsis;white-space:nowrap}.panel-list-main span{color:var(--ink-400);font-size:9px}.chip-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.chip{display:inline-flex;align-items:center;gap:4px;height:26px;padding:0 9px;color:var(--ink-500);background:#fff;border:1px solid var(--line);border-radius:999px;font-size:10px;cursor:pointer}.chip:hover{border-color:#bfd1e1;color:var(--ink-700)}.chip.active{color:var(--blue-700);background:var(--blue-100);border-color:#cfe3f7;font-weight:600}.chip-count{display:inline-flex;min-width:15px;height:15px;align-items:center;justify-content:center;padding:0 3px;background:#1423350f;border-radius:999px;font-size:8px}.chip.active .chip-count{background:#2875c21f}@media (max-width: 1380px){.global-search-input{width:210px}.project-switch-btn{max-width:184px}.topbar-icon-btn{width:32px}}@media (max-width: 1180px){.pc-sidebar{width:72px}.sidebar-brand{justify-content:center;padding:0}.sidebar-brand-text,.nav-group-label,.nav-text,.sidebar-status div,.sidebar-foot-meta,.sidebar-collapse{display:none}.nav-item{justify-content:center;height:42px;margin:2px 12px;padding:0}.nav-badge{position:absolute;top:6px;right:8px;width:7px;min-width:7px;height:7px;padding:0;font-size:0;color:transparent}.sidebar-status{justify-content:center;padding:10px}.sidebar-foot{padding:10px}.sidebar-collapsed .pc-sidebar{width:72px}.topbar-menu,.global-search-input kbd,.user-trigger-text{display:none}.metric-strip{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 1000px){.global-search,.project-switch-text{display:none}.project-switch-btn{width:42px;justify-content:center;padding:0}.project-switch-btn>.icon{display:none}.quick-create-btn span{display:none}.quick-create-btn{width:34px;padding:0}.quick-create-btn>.icon:last-child{display:none}.two-col{grid-template-columns:1fr}.three-col{grid-template-columns:repeat(2,minmax(0,1fr))}.span-3,.span-4,.span-5,.span-6,.span-7,.span-8,.span-9{grid-column:span 12}.metric-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}.pc-sidebar{width:268px}.sidebar-brand{padding-left:15px;padding-right:13px}.sidebar-collapse{right:8px}.sidebar-nav{padding-top:4px}.nav-overview-label{height:25px;padding:9px 21px 0;color:#587991;font-size:8.5px;font-weight:700;letter-spacing:.18em;white-space:nowrap}.nav-dashboard-item{position:relative;display:flex;align-items:center;gap:9px;height:42px;margin:2px 10px 9px;padding:0 9px;color:#c7dbea;background:#ffffff09;border:1px solid rgba(255,255,255,.055);border-radius:8px;font-size:13px;font-weight:550;white-space:nowrap;transition:.18s var(--ease)}.nav-dashboard-item:hover{color:#f0f9ff;background:#ffffff13}.nav-dashboard-item.active{color:#f5fbff;background:linear-gradient(90deg,#2f7bb766,#2f70a526);border-color:#70afe22e;box-shadow:inset 0 1px #ffffff0d}.nav-dashboard-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex-shrink:0;color:#8ebed9;background:#4291c229;border:1px solid rgba(113,177,217,.16);border-radius:7px}.nav-dashboard-item.active .nav-dashboard-icon{color:#d9f2ff;background:#4aa0d247;border-color:#83c7ee47}.nav-dashboard-text{flex:1}.nav-dashboard-live i{display:block;width:5px;height:5px;background:#4cc39a;border-radius:50%;box-shadow:0 0 0 3px #4cc39a1a}.nav-modules{display:flex;flex-direction:column;gap:3px;padding-bottom:10px}.nav-module{position:relative;margin:0 8px;border-radius:9px}.nav-module-head{display:flex;align-items:center;gap:9px;width:100%;height:47px;padding:0 9px;color:#c8dbea;text-align:left;background:#ffffff0d;border:1px solid rgba(255,255,255,.035);border-radius:8px;cursor:pointer;transition:.18s var(--ease)}.nav-module-head:hover{color:#eff9ff;background:#fff1}.nav-module.active .nav-module-head{color:#f2faff;background:linear-gradient(90deg,#2d6997ad,#234e7061);border-color:#6eaad32e}.nav-module-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;border:1px solid transparent;border-radius:8px}.nav-tone-blue{color:#83c7ef;background:#398bc330;border-color:#5ba9db33}.nav-tone-red{color:#ff8b81;background:#b942392e;border-color:#d55f5538}.nav-tone-teal{color:#6fd6ca;background:#1f8e882b;border-color:#41b1a833}.nav-tone-amber{color:#f0c16b;background:#b17b1c2b;border-color:#d09d4633}.nav-tone-indigo{color:#a9abea;background:#5d60af2b;border-color:#7c7ec833}.nav-tone-green{color:#7fd4a9;background:#298b622b;border-color:#4aa57f33}.nav-tone-cyan{color:#7dd2e2;background:#28869c2b;border-color:#4da3b633}.nav-tone-gray{color:#b1c0cd;background:#73859926;border-color:#91a2b22e}.nav-module-label{flex:1;overflow:hidden;color:inherit;font-size:13px;font-weight:560;letter-spacing:.01em;text-overflow:ellipsis;white-space:nowrap}.nav-module-badge{display:inline-flex;align-items:center;justify-content:center;min-width:17px;height:17px;padding:0 4px;flex-shrink:0;color:#fff;background:#c9564f;border-radius:999px;font-size:8px;font-weight:700}.nav-module-chevron{flex-shrink:0;color:#7895aa;transition:color .18s var(--ease)}.nav-module-head:hover .nav-module-chevron,.nav-module.active .nav-module-chevron{color:#b8d8ec}.nav-sub-list{display:flex;flex-direction:column;gap:1px;padding:3px 7px 7px 43px}.nav-sub-item{position:relative;display:flex;align-items:center;gap:8px;min-height:34px;padding:0 8px;color:#8faabc;border-radius:6px;font-size:12px;font-weight:450;white-space:nowrap;transition:.16s var(--ease)}.nav-sub-item:hover{color:#e8f5fe;background:#ffffff0b}.nav-sub-item.active{color:#f4fbff;background:linear-gradient(90deg,#3a7eb052,#3a7eb00f);font-weight:550}.nav-sub-item.active:before{content:"";position:absolute;left:0;top:7px;bottom:7px;width:2.5px;background:#61b5e9;border-radius:0 3px 3px 0;box-shadow:0 0 8px #61b5e959}.nav-sub-dot{width:4px;height:4px;flex-shrink:0;background:#66879d;border-radius:50%}.nav-sub-item.active .nav-sub-dot{width:7px;height:3px;background:#6cc0ed;border-radius:2px}.nav-sub-text{overflow:hidden;text-overflow:ellipsis}.nav-sub-badge{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;margin-left:auto;flex-shrink:0;color:#fff;background:#c9564f;border-radius:999px;font-size:7px;font-weight:700;line-height:1}.sidebar-collapsed .nav-overview-label,.sidebar-collapsed .nav-dashboard-text,.sidebar-collapsed .nav-dashboard-live,.sidebar-collapsed .nav-module-label,.sidebar-collapsed .nav-module-chevron,.sidebar-collapsed .nav-sub-list{display:none}.sidebar-collapsed .nav-dashboard-item{justify-content:center;width:43px;height:43px;margin:7px auto 10px;padding:0}.sidebar-collapsed .nav-dashboard-icon{width:32px;height:32px}.sidebar-collapsed .nav-module{margin:3px 10px}.sidebar-collapsed .nav-module-head{justify-content:center;height:43px;padding:0}.sidebar-collapsed .nav-module-icon{width:34px;height:34px}.sidebar-collapsed .nav-module-badge{position:absolute;top:0;right:5px;min-width:14px;width:auto;height:14px;padding:0 3px;color:#fff;font-size:7px;line-height:1}@media (max-width: 1180px){.pc-sidebar{width:72px}.nav-overview-label,.nav-dashboard-text,.nav-dashboard-live,.nav-module-label,.nav-module-chevron,.nav-sub-list{display:none}.nav-dashboard-item{justify-content:center;width:43px;height:43px;margin:7px auto 10px;padding:0}.nav-module{margin:3px 10px}.nav-module-head{justify-content:center;height:43px;padding:0}.nav-module-icon{width:34px;height:34px}.nav-module-badge{position:absolute;top:0;right:5px;width:auto;min-width:14px;height:14px;padding:0 3px;color:#fff;font-size:7px;line-height:1}}.nav-sub-parent-row{display:flex;align-items:center;min-width:0}.nav-sub-parent-row .nav-sub-parent{flex:1;min-width:0;padding-right:0}.nav-sub-parent.has-active{color:#e5f4fe;font-weight:550}button.nav-sub-parent{width:100%;border:0;background:transparent;font-family:inherit;text-align:left;cursor:pointer}.nav-sub-parent .nav-sub-chevron{flex-shrink:0;margin-left:auto;color:#7895aa;transition:color .16s var(--ease)}.nav-sub-parent:hover .nav-sub-chevron,.nav-sub-parent.has-active .nav-sub-chevron,.nav-sub-parent.active .nav-sub-chevron{color:#c8e6f8}.nav-sub-toggle{display:inline-flex;align-items:center;justify-content:center;width:23px;height:23px;padding:0;flex-shrink:0;color:#7895aa;background:transparent;border:0;border-radius:5px;cursor:pointer}.nav-sub-toggle:hover{color:#c8e6f8;background:#ffffff0f}.nav-tertiary-list{display:flex;flex-direction:column;gap:1px;padding:1px 0 3px 13px}.nav-tertiary-item{display:flex;align-items:center;gap:7px;min-height:30px;padding:0 8px;color:#7f9bae;border-radius:5px;font-size:11px;white-space:nowrap;transition:.16s var(--ease)}.nav-tertiary-item:hover{color:#e0f2fd;background:#ffffff0a}.nav-tertiary-item.active{color:#f2faff;background:linear-gradient(90deg,#3a7eb04d,#3a7eb00d);font-weight:550}.nav-tertiary-dot{width:3px;height:3px;flex-shrink:0;background:#617f94;border-radius:50%}.nav-tertiary-item.active .nav-tertiary-dot{width:6px;height:2.5px;background:#6cc0ed;border-radius:2px}.user-menu-label{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:8px 10px 6px;color:var(--ink-500);font-size:7px}.user-menu-label span{color:var(--ink-600);font-size:7.5px;font-weight:600}.user-menu-label em{color:var(--ink-400);font-size:6.3px;font-style:normal;font-weight:400}.user-account-options{display:flex;flex-direction:column;gap:2px;max-height:292px;overflow-y:auto;margin:0 7px 6px;padding:3px;background:#f8fafc;border:1px solid #e8eff5;border-radius:7px}.user-account-option{position:relative;display:flex;align-items:center;gap:7px;width:100%;padding:7px 8px;color:var(--ink-600);background:transparent;border:1px solid transparent;border-radius:5px;text-align:left;cursor:pointer;font-family:inherit}.user-account-option:hover{background:#fff;border-color:#e2ebf3}.user-account-option.active{background:#fff;border-color:#cfe2f1;box-shadow:inset 3px 0 #2f74c0,0 1px 3px #16364f0a}.user-account-option .avatar{flex:0 0 26px;width:26px!important;height:26px!important;font-size:9px!important;box-shadow:none}.user-account-option>span:not(.avatar){flex:1;display:flex;flex-direction:column;gap:1px;min-width:0}.user-account-option strong{overflow:hidden;color:var(--ink-700);font-size:8px;font-weight:600;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.user-account-option em{overflow:hidden;color:var(--ink-400);font-size:6.5px;font-style:normal;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.user-account-option .icon{flex-shrink:0;color:#2f74c0}.issue-permission-note{display:inline-flex;align-items:center;gap:4px;padding:6px 9px;color:#7d6438;background:#fffaf2;border:1px solid #f1e6d2;border-radius:5px;font-size:7.5px}.project-search{display:flex;align-items:center;gap:6px;margin:2px 10px 7px;padding:0 8px;height:32px;color:var(--ink-400);background:#f7fafc;border:1px solid #e3edf5;border-radius:6px}.project-search:focus-within{background:#fff;border-color:#b9d8eb;box-shadow:0 0 0 2px #2f74c014}.project-search input{flex:1;min-width:0;color:var(--ink-700);background:transparent;border:0;outline:none;font-family:inherit;font-size:8.5px}.project-search input::placeholder{color:var(--ink-400)}.project-search button{display:inline-flex;padding:1px;color:var(--ink-400);background:transparent;border:0;cursor:pointer}.project-search-empty{display:flex;flex-direction:column;align-items:center;gap:4px;padding:20px 8px;color:var(--ink-400);font-size:8px}.dashboard{padding-top:2px}.dash-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:15px}.dash-date{display:flex;align-items:center;gap:6px;margin-bottom:5px;color:var(--ink-400);font-size:10px;letter-spacing:.03em}.dash-date .live-dot{margin:0}.dash-head h1{color:var(--ink-900);font-size:26px;font-weight:700;line-height:1.2;letter-spacing:-.035em}.dash-head p{margin-top:5px;color:var(--ink-500);font-size:11.5px}.dash-head-actions{display:flex;align-items:center;gap:7px;padding-bottom:2px}.dash-scope{display:inline-flex;align-items:center;gap:5px;height:30px;padding:0 9px;color:var(--ink-600);background:#fff;border:1px solid var(--line-strong);border-radius:7px;font-size:9.5px;cursor:pointer}.dash-scope:hover{border-color:#b6c8d8}.dash-scope-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px;padding:8px 12px;background:#ffffff8a;border:1px solid rgba(224,233,241,.9);border-radius:8px}.dash-scope-stats{display:flex;align-items:center;gap:9px;color:var(--ink-500);font-size:9.5px}.dash-scope-stats strong{color:var(--ink-800);font-family:var(--font-display);font-size:12px;font-weight:700}.dash-scope-stats span.danger strong{color:var(--danger)}.dash-scope-stats i{width:1px;height:9px;background:#d9e2eb}.dash-scope-tags{display:flex;gap:5px}.dash-scope-tags .tag{background:#fffc;font-size:8.5px}.dash-stat-grid{margin-bottom:13px}.dash-main-grid{display:grid;grid-template-columns:minmax(0,1.78fr) minmax(285px,.82fr);gap:13px}.dash-safety-card,.dash-attention,.dash-progress-card,.dash-cost-card,.dash-projects-card,.dash-modules-card{padding:17px 17px 15px}.section-link{display:inline-flex;align-items:center;gap:3px;color:var(--blue-700);background:transparent;border:0;font-size:9.5px;font-weight:550;cursor:pointer}.section-link:hover{color:var(--blue-800);text-decoration:underline}.safety-insight{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:25px;margin-top:15px;padding-top:14px;border-top:1px solid #edf2f6}.insight-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}.insight-title span{color:var(--ink-600);font-size:9.5px;font-weight:600}.insight-title em{color:var(--ink-400);font-size:8px;font-style:normal}.insight-title em b{color:var(--ink-700);font-weight:600}.safety-insight-left .mini-spark{width:100%}.safety-categories{padding-left:2px}.category-row{display:flex;align-items:center;gap:6px;height:17px}.category-row>span{width:48px;color:var(--ink-500);font-size:8px}.category-row>div{flex:1;height:4px;overflow:hidden;background:#f0f4f8;border-radius:2px}.category-row i{display:block;height:100%;border-radius:2px}.category-row em{width:24px;color:var(--ink-400);font-size:7.5px;font-style:normal;text-align:right}.safety-alert-strip{display:flex;align-items:center;gap:7px;margin-top:13px;padding:8px 10px;color:#7d4f22;background:linear-gradient(90deg,#fff8ec,#fffdf9);border:1px solid #f2e2c5;border-radius:7px;font-size:8.5px}.safety-alert-icon{display:inline-flex;color:#c38629}.safety-alert-strip>span:nth-child(2){flex:1}.safety-alert-strip strong{color:#8c5b20;font-weight:650}.safety-alert-strip button{display:inline-flex;align-items:center;gap:2px;padding:0;color:#a16b24;background:transparent;border:0;font-size:8px;cursor:pointer}.attention-list{display:flex;flex-direction:column}.attention-item{display:flex;align-items:flex-start;gap:8px;width:100%;padding:9px 0;text-align:left;background:transparent;border:0;border-bottom:1px solid #eff3f7;cursor:pointer}.attention-item:last-child{border-bottom:0}.attention-item:hover .attention-body strong{color:var(--blue-700)}.attention-icon{display:inline-flex;align-items:center;justify-content:center;width:27px;height:27px;flex-shrink:0;border-radius:7px}.attention-icon.tone-red{color:var(--danger);background:var(--danger-bg)}.attention-icon.tone-amber{color:var(--warning);background:var(--warning-bg)}.attention-icon.tone-blue{color:var(--blue-700);background:var(--blue-100)}.attention-icon.tone-gray{color:var(--ink-500);background:#f1f5f8}.attention-body{display:flex;flex:1;flex-direction:column;min-width:0}.attention-label{color:var(--ink-400);font-size:7px;line-height:1.3}.attention-body strong{overflow:hidden;margin-top:1px;color:var(--ink-700);font-size:9.5px;font-weight:600;text-overflow:ellipsis;white-space:nowrap;transition:color .15s var(--ease)}.attention-body em{overflow:hidden;margin-top:1px;color:var(--ink-400);font-size:7.5px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.attention-right{display:flex;align-items:center;gap:3px;flex-shrink:0}.attention-right .badge{min-height:18px;padding:0 5px;font-size:7.5px}.attention-right>.icon{color:var(--ink-300)}.attention-foot{margin-top:11px;padding:10px;background:#f8fbfd;border:1px solid #edf2f7;border-radius:8px}.attention-progress{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;color:var(--ink-500);font-size:8px}.attention-progress strong{color:var(--ink-700);font-family:var(--font-display);font-size:9px}.attention-foot>a{display:flex;align-items:center;justify-content:center;gap:3px;margin-top:8px;color:var(--blue-700);font-size:8px}.dash-row{display:grid;grid-template-columns:minmax(0,1.72fr) minmax(285px,.88fr);gap:13px;margin-top:13px}.dash-row-bottom{grid-template-columns:minmax(0,1.55fr) minmax(320px,.85fr)}.progress-summary{display:flex;align-items:center;gap:0;padding:2px 0 10px}.progress-summary>div{display:flex;flex-direction:column;gap:3px;padding:0 17px;border-left:1px solid #edf2f6}.progress-summary>div:first-child{padding-left:0;border-left:0}.progress-summary span{color:var(--ink-400);font-size:8px}.progress-summary strong{color:var(--ink-900);font-family:var(--font-display);font-size:20px;font-weight:700;line-height:1.1}.progress-summary strong em{margin-left:1px;font-size:9px;font-style:normal;font-weight:500}.progress-summary strong.blue{color:var(--blue-700)}.progress-summary strong.red{color:var(--danger)}.progress-summary-note{flex:1!important;flex-direction:row!important;align-items:center;justify-content:flex-end;gap:4px!important;padding-right:0!important;color:var(--ink-400);font-size:8px;text-align:right}.progress-summary-note .icon{color:var(--warning)}.dash-progress-card .line-chart{margin-top:2px}.cost-donut-row{display:flex;align-items:center;gap:15px;padding:2px 0 8px}.cost-numbers{display:flex;flex-direction:column;gap:7px;flex:1;min-width:0}.cost-numbers>div{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.cost-numbers span{color:var(--ink-400);font-size:8px;white-space:nowrap}.cost-numbers strong{color:var(--ink-800);font-family:var(--font-display);font-size:16px;font-weight:700;letter-spacing:-.02em}.cost-numbers em{margin-left:2px;color:var(--ink-400);font-family:var(--font-sans);font-size:7px;font-style:normal;font-weight:400}.cost-divider{height:1px;margin:4px 0 9px;background:#edf2f6}.cost-risk-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px;color:var(--ink-500);font-size:8px}.cost-risk-head em{color:var(--ink-400);font-size:7px;font-style:normal}.cost-project-list{display:flex;flex-direction:column;gap:6px}.cost-project-row{display:flex;align-items:center;gap:6px}.cost-project-row>span{width:88px;overflow:hidden;color:var(--ink-500);font-size:7.5px;text-overflow:ellipsis;white-space:nowrap}.cost-project-row>div{flex:1;height:4px;overflow:hidden;background:#eef3f8;border-radius:2px}.cost-project-row i{display:block;height:100%;background:linear-gradient(90deg,#4f9bc2,#74b6d3);border-radius:2px}.cost-project-row em{width:23px;color:var(--ink-400);font-size:7px;font-style:normal;text-align:right}.cost-note{display:flex;align-items:center;gap:4px;margin-top:11px;padding:7px 8px;color:#8d622a;background:#fffaf1;border:1px solid #f3e6cf;border-radius:6px;font-size:7.5px}.dash-project-table th{padding:0 9px;font-size:8px}.dash-project-table td{padding:9px;font-size:9px}.dash-project-table .cell-main strong{max-width:235px;font-size:9.5px}.dash-project-table .cell-main span{font-size:7.5px}.dash-project-table .status-pill{padding:1px 6px;font-size:8px}.progress-cell{display:flex;align-items:center;gap:6px}.progress-cell .progress-wrap{flex:1}.progress-cell>span{width:27px;color:var(--ink-500);font-size:8px;font-weight:600;text-align:right}.table-count{display:inline-flex;align-items:center;justify-content:center;min-width:19px;height:18px;color:var(--ink-600);background:#f1f5f9;border-radius:5px;font-size:8px;font-weight:600}.dash-project-table .muted{font-size:7.5px}.modules-live{display:inline-flex;align-items:center;gap:4px;color:var(--ink-400);font-size:7.5px}.modules-live .live-dot{margin:0}.module-tile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.module-tile{display:flex;align-items:center;gap:7px;min-width:0;padding:8px;background:#f9fbfd;border:1px solid #e9eff5;border-radius:8px;transition:.18s var(--ease)}.module-tile:hover{background:#fff;border-color:#cbddea;box-shadow:0 5px 13px #0e263e0d}.module-tile-icon{display:inline-flex;align-items:center;justify-content:center;width:29px;height:29px;flex-shrink:0;border-radius:6px}.module-tile-text{display:flex;flex:1;flex-direction:column;min-width:0;line-height:1.3}.module-tile-text strong{color:var(--ink-700);font-size:8.5px;font-weight:600;white-space:nowrap}.module-tile-text em{overflow:hidden;color:var(--ink-400);font-size:6.5px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.module-tile-value{color:var(--ink-800);font-family:var(--font-display);font-size:13px;font-weight:700;letter-spacing:-.02em}.module-tile-arrow{color:var(--ink-300)}.dash-activity-strip{display:flex;align-items:center;gap:14px;margin-top:13px;padding:9px 13px;background:#fff;border:1px solid var(--line);border-radius:9px;box-shadow:var(--shadow-xs)}.dash-activity-title{display:inline-flex;align-items:center;gap:5px;flex-shrink:0;color:var(--ink-600);font-size:8.5px;font-weight:600}.dash-activity-title .icon{color:var(--blue-600)}.dash-activity-items{display:flex;flex:1;gap:22px;overflow:hidden}.dash-activity-items>span{overflow:hidden;color:var(--ink-500);font-size:7.5px;text-overflow:ellipsis;white-space:nowrap}.dash-activity-items b{color:var(--ink-700);font-weight:600}.dash-activity-items em{margin-left:4px;color:var(--ink-400);font-style:normal}.dash-activity-count{flex-shrink:0;color:var(--blue-700);font-size:7.5px}@media (max-width: 1280px){.dash-main-grid,.dash-row,.dash-row-bottom{grid-template-columns:1fr}.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dash-safety-card .stage-node{padding:10px 8px}.dash-activity-items>span:nth-child(3){display:none}}@media (max-width: 900px){.dash-head{flex-direction:column;align-items:flex-start}.dash-head-actions{padding-bottom:0}.dash-scope-bar{flex-direction:column;align-items:flex-start;gap:7px}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.safety-insight{grid-template-columns:1fr}.progress-summary{flex-wrap:wrap;gap:10px}.progress-summary>div{padding:0 12px}.progress-summary-note{flex:1 1 100%!important;justify-content:flex-start;padding:0!important}.safety-insight-left{padding-right:0}.stage-flow{flex-wrap:wrap;gap:6px}.stage-node{flex:0 0 calc(33% - 6px)}.stage-connector{display:none}.dash-activity-items>span:nth-child(2){display:none}}.module-subnav{display:flex;align-items:center;gap:22px;margin-top:14px}.module-subnav-item{position:relative;display:inline-flex;align-items:center;gap:5px;padding-bottom:8px;color:var(--ink-500);font-size:11.5px;font-weight:550;white-space:nowrap}.module-subnav-item:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:transparent;border-radius:2px}.module-subnav-item:hover{color:var(--ink-800)}.module-subnav-item.active{color:var(--blue-700);font-weight:650}.module-subnav-item.active:after{background:var(--blue-600)}.module-subnav-item>span:not(.live-tag){display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:15px;padding:0 4px;color:var(--ink-500);background:#eef3f8;border-radius:999px;font-size:8px}.live-tag{padding:0 4px;color:#c34c45;background:#fdeceb;border-radius:3px;font-size:7px;font-weight:700;letter-spacing:.05em}.danger-count{color:var(--danger)!important;background:var(--danger-bg)!important}.filter-summary{display:inline-flex;align-items:center;gap:4px;color:var(--ink-400);font-size:9.5px;white-space:nowrap}.filter-divider{width:1px;height:16px;background:var(--line)}.table-toolbar-actions{display:flex;gap:4px}.table-hint{display:inline-flex;align-items:center;gap:4px;color:var(--ink-400);font-size:8.5px}.table-view-btn{display:inline-flex;align-items:center;gap:4px;height:27px;padding:0 8px;color:var(--ink-500);background:transparent;border:1px solid transparent;border-radius:6px;font-size:9px;cursor:pointer}.table-view-btn:hover{background:#f3f7fa}.table-view-btn.active{color:var(--blue-700);background:var(--blue-100);border-color:#d8e8f7}.mini-avatar{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0;color:#fff;background:linear-gradient(135deg,#4b88ba,#2b658f);border-radius:50%;font-size:8px;font-weight:600}.fake-checkbox{display:inline-block;width:14px;height:14px;background:#fff;border:1px solid #ccd8e3;border-radius:3px}.ml-4{margin-left:4px}.cover-road{background:linear-gradient(135deg,#0e4f7c,#1d7f9c)}.cover-hospital{background:linear-gradient(135deg,#155a74,#2d8f88)}.cover-school{background:linear-gradient(135deg,#304f86,#6188b8)}.cover-mountain{background:linear-gradient(135deg,#2f5b45,#6e9a6e)}.cover-water{background:linear-gradient(135deg,#1b5478,#3b8aa0)}.cover-community{background:linear-gradient(135deg,#4c4b7d,#8578ad)}.project-stat-grid,.units-stat-grid,.quality-stat-grid,.materials-stat-grid,.cost-stat-grid,.docs-stat-grid,.system-stat-grid,.progress-stat-grid{grid-template-columns:repeat(6,minmax(0,1fr));margin-bottom:13px}.units-stat-grid,.materials-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.project-filter-wrap{margin-bottom:12px}.view-toggle{display:inline-flex;padding:2px;background:#f0f4f8;border-radius:7px}.view-toggle button{display:inline-flex;align-items:center;justify-content:center;width:28px;height:26px;padding:0;color:var(--ink-400);background:transparent;border:0;border-radius:5px;cursor:pointer}.view-toggle button.active{color:var(--blue-700);background:#fff;box-shadow:0 1px 3px #0e263e1a}.project-status-chips .chip{height:28px}.project-table .project-name-cell{display:flex;align-items:center;gap:9px;min-width:220px}.project-cover-mini{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;color:#fffffff0;border-radius:8px;font-size:13px;font-weight:650;box-shadow:inset 0 1px #ffffff26}.project-table .cell-main strong{max-width:260px}.project-unit-cell{display:-webkit-box;max-width:155px;overflow:hidden;color:var(--ink-600);font-size:9.5px;line-height:1.45;-webkit-line-clamp:2;-webkit-box-orient:vertical}.table-progress-cell{min-width:112px}.table-progress-cell .row-between{margin-bottom:4px}.table-progress-cell span{color:var(--ink-700);font-size:9px;font-weight:600}.table-progress-cell em{font-size:7.5px;font-style:normal}.table-money{color:var(--ink-800);font-size:10.5px;font-weight:650}.table-unit{margin-left:2px;color:var(--ink-400);font-size:7.5px;font-style:normal}.table-updated{color:var(--ink-400);font-size:8.5px}.project-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.project-card{overflow:hidden;padding:0;text-align:left;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-xs);cursor:pointer;transition:.22s var(--ease)}.project-card:hover{border-color:#c7d9e8;box-shadow:0 14px 35px #0e263e14;transform:translateY(-2px)}.project-card-cover{position:relative;height:138px;padding:12px 14px;overflow:hidden;color:#fff}.project-cover-pattern{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.7}.project-cover-pattern span{position:absolute;border:1px solid rgba(255,255,255,.12);border-radius:50%}.project-cover-pattern span:nth-child(1){width:180px;height:180px;right:-60px;top:-80px}.project-cover-pattern span:nth-child(2){width:120px;height:120px;right:-20px;top:-60px}.project-cover-pattern span:nth-child(3){width:220px;height:70px;left:-40px;bottom:-20px;border-radius:50%}.project-card-cover-top{position:relative;display:flex;justify-content:space-between;align-items:flex-start}.project-card-cover-top .status-pill{background:#ffffff2e;color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.project-card-cover-name{position:absolute;left:14px;right:14px;bottom:13px}.project-card-cover-name>span{display:block;color:#ffffff94;font-size:7px;letter-spacing:.05em}.project-card-cover-name strong{display:block;margin-top:2px;font-size:17px;font-weight:650;letter-spacing:-.02em}.project-card-cover-name em{display:block;margin-top:2px;color:#ffffffa6;font-size:8px;font-style:normal}.project-card-body{padding:13px 14px 11px}.project-card-body h3{overflow:hidden;color:var(--ink-800);font-size:10.5px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.project-card-progress{margin-top:11px}.project-card-progress .row-between{margin-bottom:4px;color:var(--ink-400);font-size:8px}.project-card-progress strong{color:var(--ink-700);font-family:var(--font-display);font-size:11px}.project-card-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:10px;padding-top:9px;border-top:1px solid #eef3f7}.project-card-meta span{display:flex;flex-direction:column}.project-card-meta em{color:var(--ink-400);font-size:7px;font-style:normal}.project-card-meta strong{color:var(--ink-700);font-size:8.5px;font-weight:600}.project-card-foot{display:flex;align-items:center;gap:10px;margin-top:9px;padding-top:8px;border-top:1px solid #eef3f7;color:var(--ink-400);font-size:7.5px}.project-card-foot span{display:inline-flex;align-items:center;gap:3px}.project-card-foot>.icon{margin-left:auto;color:var(--ink-300)}.project-hero{position:relative;overflow:hidden;padding:15px 20px 0;color:#eaf5fd;background:radial-gradient(700px 300px at 85% 5%,rgba(96,176,221,.26),transparent 64%),linear-gradient(120deg,var(--cover-a),var(--cover-b));border-radius:15px;box-shadow:0 16px 40px #0921362b}.project-hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:linear-gradient(to bottom,#000,transparent 80%);mask-image:linear-gradient(to bottom,#000,transparent 80%);pointer-events:none}.project-hero-pattern span{position:absolute;border:1px solid rgba(255,255,255,.1);border-radius:50%}.project-hero-pattern span:nth-child(1){width:320px;height:320px;right:120px;top:-220px}.project-hero-pattern span:nth-child(2){width:220px;height:220px;right:170px;top:-170px}.project-hero-pattern span:nth-child(3){width:430px;height:120px;left:-80px;bottom:-70px}.project-hero-pattern span:nth-child(4){width:230px;height:230px;right:-90px;bottom:-150px}.project-hero-top{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:14px}.project-back{display:inline-flex;align-items:center;gap:4px;padding:4px 0;color:var(--ink-500);background:transparent;border:0;font-size:9.5px;cursor:pointer}.project-hero .project-back,.project-back.light{color:#e8f6ffb8}.project-back:hover{color:var(--blue-700)}.project-hero .project-back:hover{color:#fff}.project-hero-actions{display:flex;align-items:center;gap:6px}.project-hero-switch{display:inline-flex;align-items:center;gap:5px;height:30px;padding:0 8px;color:#eaf7ff;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:6px}.project-hero-switch>span{color:#bfe2f4;font-size:8px;white-space:nowrap}.project-hero-switch select{max-width:150px;padding:0;overflow:hidden;color:#f4fbff;background:transparent;border:0;outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;font-family:inherit;font-size:9px;font-weight:550;text-overflow:ellipsis;cursor:pointer}.project-hero-switch select option{color:#20364b;background:#fff}.project-hero-switch .icon{flex-shrink:0;color:#bfe2f4}.project-hero-actions .btn-secondary{background:#ffffff1a;border-color:#fff3;color:#eef8ff;box-shadow:none}.project-hero-actions .btn-secondary:hover{background:#ffffff29}.project-hero-actions .btn-primary{background:#fffffff0;border-color:#ffffffe6;color:#1b5c86;box-shadow:0 4px 12px #0000001f}.project-hero-main{position:relative;z-index:2;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:15px;padding:14px 0 17px}.project-hero-cover{display:flex;align-items:center;justify-content:center;width:57px;height:57px;color:#fff;background:#ffffff1f;border:1px solid rgba(255,255,255,.24);border-radius:13px;font-size:19px;font-weight:700;letter-spacing:.08em;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.project-hero-badges{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.project-hero .status-pill{background:#ffffff29;color:#fff}.project-hero .badge{background:#ffffff1f;border-color:#ffffff29;color:#eaf7ff}.project-hero-code{color:#e0f2fd8c;font-size:8px;letter-spacing:.04em}.project-hero-title h1{margin-top:7px;color:#f4fbff;font-size:22px;font-weight:700;line-height:1.3;letter-spacing:-.03em}.project-hero-title p{max-width:780px;margin-top:4px;overflow:hidden;color:#def1fda3;font-size:8.5px;line-height:1.55;text-overflow:ellipsis;white-space:nowrap}.project-hero-meta{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:8px;color:#dcf1fea8;font-size:8px}.project-hero-meta span{display:inline-flex;align-items:center;gap:4px}.project-hero-ring{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:110px}.project-hero-ring .ring-label{color:#f2fbff;font-size:16px}.project-hero-ring>span{color:#e2f5ff99;font-size:8px}.project-hero-ring>em{padding:1px 6px;border-radius:4px;font-size:7px;font-style:normal}.project-hero-ring>em.delay{color:#ffd9c9;background:#ffa17b26}.project-hero-ring>em.normal{color:#baf0d9;background:#59c59224}.project-hero-stats{position:relative;z-index:2;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;margin:0 -20px;padding:11px 20px;background:#051a2b2e;border-top:1px solid rgba(255,255,255,.1)}.project-hero-stats>div{display:flex;flex-direction:column;gap:2px;padding-left:16px;border-left:1px solid rgba(255,255,255,.1)}.project-hero-stats>div:first-child{padding-left:0;border-left:0}.project-hero-stats span{color:#d9effc8c;font-size:7.5px}.project-hero-stats strong{color:#f2fbff;font-family:var(--font-display);font-size:15px;font-weight:700}.project-hero-stats em{margin-left:2px;color:#d6effd8c;font-family:var(--font-sans);font-size:7px;font-style:normal;font-weight:400}.project-detail-tabs{margin:16px 0 13px}.project-overview-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:13px}.project-overview-main,.project-overview-side{display:flex;flex-direction:column;gap:13px;min-width:0}.project-overview-main>.card{padding:17px 18px}.project-overview-side .card{padding:16px}.project-address{margin-top:13px;padding-top:12px;border-top:1px solid #eef3f7}.project-address>span{display:flex;align-items:center;gap:4px;color:var(--ink-400);font-size:8px}.project-address>strong{display:block;margin-top:3px;color:var(--ink-700);font-size:10px;font-weight:550}.map-placeholder{margin-top:8px;height:92px;overflow:hidden;background:linear-gradient(145deg,#f2f8fb,#e8f2f7);border:1px solid #e1ecf2;border-radius:8px}.map-placeholder svg{width:100%;height:100%}.project-progress-top{display:flex;align-items:center;gap:0;margin-bottom:12px}.project-progress-top>div{display:flex;flex-direction:column;gap:2px;padding:0 18px;border-left:1px solid #edf2f6}.project-progress-top>div:first-child{padding-left:0;border-left:0}.project-progress-top span{color:var(--ink-400);font-size:8px}.project-progress-top strong{color:var(--ink-900);font-family:var(--font-display);font-size:19px}.project-progress-top strong.blue{color:var(--blue-700)}.project-progress-top strong.red{color:var(--danger)}.project-progress-top strong.green{color:var(--success)}.project-progress-note{flex:1!important;flex-direction:row!important;align-items:center;justify-content:flex-end;gap:4px!important;padding-right:0!important;color:var(--ink-400);font-size:8px}.project-progress-note .icon{color:var(--warning)}.dual-progress{display:flex;flex-direction:column;gap:7px}.dual-progress>div{display:flex;align-items:center;gap:9px}.dual-progress span{width:26px;color:var(--ink-400);font-size:8px}.dual-progress .progress-wrap{flex:1}.dual-progress em{width:37px;color:var(--ink-600);font-size:8px;font-style:normal;text-align:right}.project-phase-mini{display:flex;justify-content:space-between;gap:4px;margin-top:14px;padding-top:12px;border-top:1px solid #eef3f7}.phase-mini{position:relative;display:flex;flex:1;flex-direction:column;align-items:center;gap:2px}.phase-mini>span{display:inline-flex;align-items:center;justify-content:center;width:19px;height:19px;color:var(--ink-400);background:#f1f5f9;border:1px solid #e2eaf1;border-radius:50%;font-size:7px}.phase-mini strong{color:var(--ink-500);font-size:7.5px;font-weight:550;white-space:nowrap}.phase-mini em{color:var(--ink-400);font-size:6.5px;font-style:normal;white-space:nowrap}.phase-mini.done>span{color:#fff;background:var(--success);border-color:var(--success)}.phase-mini.active>span{color:#fff;background:var(--blue-600);border-color:var(--blue-600);box-shadow:0 0 0 3px #2875c21a}.phase-mini.active strong{color:var(--blue-700);font-weight:650}.project-health{display:flex;align-items:center;gap:12px;padding:9px 0 12px}.project-health>div{display:flex;flex-direction:column;gap:1px}.project-health strong{color:var(--ink-800);font-size:11px;font-weight:650}.project-health span{color:var(--ink-400);font-size:7.5px}.project-health em{color:var(--success);font-size:7.5px;font-style:normal}.health-bars{display:flex;flex-direction:column;gap:7px}.health-row{display:flex;align-items:center;gap:6px}.health-row>span{width:44px;color:var(--ink-500);font-size:7.5px}.health-row .progress-wrap{flex:1}.health-row em{width:18px;color:var(--ink-500);font-size:7px;font-style:normal;text-align:right}.project-side-divider{height:1px;margin:12px 0;background:#edf2f6}.project-side-info{display:flex;flex-direction:column;gap:7px}.project-side-info span{display:flex;align-items:center;gap:5px;color:var(--ink-400);font-size:7.5px}.project-side-info span .icon{color:var(--ink-300)}.project-side-info strong{margin-left:auto;max-width:165px;overflow:hidden;color:var(--ink-600);font-size:8px;font-weight:550;text-overflow:ellipsis;white-space:nowrap}.side-todo-list{display:flex;flex-direction:column}.side-todo{display:flex;align-items:center;gap:7px;width:100%;padding:8px 0;text-align:left;background:transparent;border:0;border-bottom:1px solid #eff3f7;cursor:pointer}.side-todo:last-child{border-bottom:0}.side-todo-icon{display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;flex-shrink:0;color:var(--blue-700);background:var(--blue-100);border-radius:6px}.side-todo-icon.red{color:var(--danger);background:var(--danger-bg)}.side-todo>span:nth-child(2){display:flex;flex:1;flex-direction:column;min-width:0}.side-todo strong{overflow:hidden;color:var(--ink-700);font-size:8.5px;font-weight:550;text-overflow:ellipsis;white-space:nowrap}.side-todo em{color:var(--ink-400);font-size:7px;font-style:normal}.side-todo>.icon{color:var(--ink-300)}.side-risk{display:flex;align-items:center;gap:7px;padding:8px 0;border-bottom:1px solid #eff3f7}.side-risk:last-child{border-bottom:0}.side-risk-level{display:inline-flex;align-items:center;justify-content:center;width:28px;height:19px;flex-shrink:0;color:var(--muted);background:#f1f5f8;border-radius:4px;font-size:7px}.side-risk-level.major{color:var(--danger);background:var(--danger-bg)}.side-risk-level.medium{color:var(--warning);background:var(--warning-bg)}.side-risk>span:nth-child(2){display:flex;flex:1;flex-direction:column;min-width:0}.side-risk strong{overflow:hidden;color:var(--ink-700);font-size:8.5px;font-weight:550;text-overflow:ellipsis;white-space:nowrap}.side-risk em{color:var(--ink-400);font-size:7px;font-style:normal}.side-risk>.icon{color:var(--ink-300)}.project-risk-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:13px}.project-risk-grid>.card{padding:17px}.risk-detail-list{display:flex;flex-direction:column}.risk-detail-item{display:flex;align-items:center;gap:9px;width:100%;padding:10px 0;text-align:left;background:transparent;border:0;border-bottom:1px solid #eff3f7;cursor:pointer}.risk-detail-item:last-child{border-bottom:0}.risk-detail-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex-shrink:0;color:var(--danger);background:var(--danger-bg);border-radius:7px}.risk-detail-icon.quality{color:var(--teal-700);background:var(--teal-100)}.risk-detail-main{display:flex;flex:1;flex-direction:column;gap:2px;min-width:0}.risk-detail-top{display:flex;align-items:center;gap:8px}.risk-detail-top strong{overflow:hidden;color:var(--ink-700);font-size:9.5px;font-weight:550;text-overflow:ellipsis;white-space:nowrap}.risk-detail-main em{color:var(--ink-400);font-size:7.5px;font-style:normal}.project-flow-card{padding:18px}.flow-live{display:inline-flex;align-items:center;gap:4px;color:var(--ink-400);font-size:8px}.flow-live .live-dot{margin:0}.project-flow-timeline{display:flex;flex-direction:column;gap:0;margin-top:5px}.flow-phase{display:flex;gap:12px}.flow-phase-rail{position:relative;display:flex;flex-direction:column;align-items:center;width:28px;flex-shrink:0}.flow-phase-dot{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;color:var(--ink-400);background:#f2f6fa;border:1px solid #dfe8f0;border-radius:50%;font-size:8px;font-weight:600}.flow-phase-rail i{position:absolute;top:25px;bottom:0;width:1px;background:#e4ebf2}.flow-phase.done .flow-phase-dot{color:#fff;background:var(--success);border-color:var(--success)}.flow-phase.active .flow-phase-dot{color:#fff;background:var(--blue-600);border-color:var(--blue-600);box-shadow:0 0 0 3px #2875c21a}.flow-phase-card{flex:1;margin-bottom:9px;padding:11px 13px;background:#fafcfe;border:1px solid #eaf0f5;border-radius:8px}.flow-phase-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.flow-phase-head h3{color:var(--ink-700);font-size:10px;font-weight:600}.flow-phase-card p{margin-top:2px;color:var(--ink-400);font-size:8px}.flow-phase-meta{display:flex;align-items:center;gap:12px;margin-top:6px;color:var(--ink-400);font-size:7.5px}.flow-phase-meta span{display:inline-flex;align-items:center;gap:3px}.flow-phase-meta button{display:inline-flex;align-items:center;gap:2px;margin-left:auto;color:var(--blue-700);background:transparent;border:0;font-size:7.5px;cursor:pointer}.project-flow-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:4px;padding-top:12px;border-top:1px solid #edf2f6}.project-flow-footer>span{display:inline-flex;align-items:center;gap:5px;color:var(--ink-400);font-size:8px}.project-new-grid{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:13px;align-items:start}.project-new-main{display:flex;flex-direction:column;gap:13px;min-width:0}.project-new-steps{padding:16px 22px}.project-new-main>.card:not(.project-new-steps){padding:19px 21px}.form-section-head{display:flex;align-items:flex-start;gap:9px;margin-bottom:17px;padding-bottom:13px;border-bottom:1px solid #edf2f6}.form-section-icon{display:inline-flex;align-items:center;justify-content:center;width:33px;height:33px;flex-shrink:0;color:var(--blue-700);background:var(--blue-100);border-radius:8px}.form-section-head h3{color:var(--ink-900);font-size:13px;font-weight:650}.form-section-head p{margin-top:2px;color:var(--ink-400);font-size:8px}.project-file-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.project-file-item{display:flex;align-items:center;gap:8px;padding:10px;background:#fafcfe;border:1px dashed #cfdde8;border-radius:8px;cursor:pointer;transition:.18s var(--ease)}.project-file-item:hover{background:#f5faff;border-color:#9fc2dc}.project-file-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex-shrink:0;color:var(--blue-700);background:var(--blue-100);border-radius:6px}.project-file-text{display:flex;flex:1;flex-direction:column;min-width:0}.project-file-text strong{color:var(--ink-700);font-size:8.5px;font-weight:550}.project-file-text strong em{color:var(--danger);font-style:normal}.project-file-text small{color:var(--ink-400);font-size:7px}.project-file-action{display:inline-flex;align-items:center;gap:3px;color:var(--blue-700);font-size:7.5px;white-space:nowrap}.uploaded-file-list{margin-top:12px;padding:9px 11px;background:#f8fbfd;border:1px solid #e8eff5;border-radius:8px}.uploaded-file-head{margin-bottom:5px;color:var(--ink-500);font-size:8px;font-weight:600}.uploaded-file{display:flex;align-items:center;gap:6px;padding:4px 0;border-top:1px solid #eef3f7}.uploaded-file .icon{color:var(--blue-600)}.uploaded-file span{flex:1;overflow:hidden;color:var(--ink-600);font-size:8px;text-overflow:ellipsis;white-space:nowrap}.uploaded-file em{color:var(--ink-400);font-size:7px;font-style:normal}.uploaded-file button{padding:1px;color:var(--ink-400);background:transparent;border:0;cursor:pointer}.project-new-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-xs)}.submit-summary{overflow:hidden;border:1px solid var(--line);border-radius:10px}.submit-summary-head{display:flex;align-items:center;gap:10px;padding:14px;background:linear-gradient(135deg,#f5faff,#eef7fd);border-bottom:1px solid #e4eef6}.submit-project-cover{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;color:#fff;background:linear-gradient(135deg,#2d73b3,#1b5b93);border-radius:9px;font-size:12px;font-weight:650}.submit-summary-head>div{flex:1}.submit-summary-head h3{color:var(--ink-900);font-size:12px;font-weight:650}.submit-summary-head span{color:var(--ink-500);font-size:8px}.submit-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}.submit-summary-grid>div{display:flex;flex-direction:column;gap:3px;padding:9px 12px;background:#fff}.submit-summary-grid span{color:var(--ink-400);font-size:7.5px}.submit-summary-grid strong{color:var(--ink-700);font-size:9px;font-weight:550}.submit-checklist{margin-top:13px;padding:12px 14px;background:#fafcfe;border:1px solid #eaf0f5;border-radius:8px}.submit-checklist h4{margin-bottom:6px;color:var(--ink-600);font-size:9px;font-weight:600}.check-row{display:flex;align-items:center;gap:5px;padding:3px 0;color:var(--ink-400);font-size:8px}.check-row>span{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;color:var(--ink-400);background:#f0f4f8;border-radius:50%}.check-row.done{color:var(--ink-600)}.check-row.done>span{color:#fff;background:var(--success)}.project-new-side{display:flex;flex-direction:column;gap:12px;position:sticky;top:0}.new-side-card{padding:16px}.new-side-title{display:flex;align-items:center;gap:7px}.new-side-title>span{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;color:var(--blue-700);background:var(--blue-100);border-radius:6px}.new-side-title h3{color:var(--ink-800);font-size:10.5px;font-weight:650}.new-side-card>p{margin-top:8px;color:var(--ink-500);font-size:8px;line-height:1.7}.new-side-list{display:flex;flex-direction:column;gap:0;margin-top:10px}.new-side-step{display:flex;align-items:flex-start;gap:7px;padding:7px 0;border-top:1px solid #eef3f7}.new-side-step>span{display:inline-flex;align-items:center;justify-content:center;width:19px;height:19px;flex-shrink:0;color:var(--ink-400);background:#f2f6fa;border-radius:5px;font-family:var(--font-display);font-size:7px}.new-side-step>div{display:flex;flex:1;flex-direction:column}.new-side-step strong{color:var(--ink-600);font-size:8.5px;font-weight:550}.new-side-step em{color:var(--ink-400);font-size:7px;font-style:normal}.new-side-step.done>span{color:#fff;background:var(--success)}.new-side-step>.icon{color:var(--success)}.new-side-card button{display:inline-flex;align-items:center;gap:3px;margin-top:9px;color:var(--blue-700);background:transparent;border:0;font-size:8px;cursor:pointer}.new-side-help{background:linear-gradient(145deg,#f8fbfe,#f1f7fb)}.new-side-help .new-side-title>span{color:var(--warning);background:var(--warning-bg)}.unit-name-cell{display:flex;align-items:center;gap:8px;min-width:235px}.unit-avatar{display:inline-flex;align-items:center;justify-content:center;width:31px;height:31px;flex-shrink:0;color:var(--blue-700);background:var(--blue-100);border-radius:7px;font-size:11px;font-weight:650}.unit-project{color:var(--ink-600);font-size:9px}.unit-license{display:-webkit-box;max-width:180px;overflow:hidden;color:var(--ink-500);font-size:8px;-webkit-line-clamp:2;-webkit-box-orient:vertical}.units-page .filter-bar{margin-bottom:0}.safety-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin-bottom:12px}.safety-kpi{position:relative;display:flex;align-items:center;gap:9px;padding:11px 12px;text-align:left;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-xs);cursor:pointer;transition:.18s var(--ease)}.safety-kpi:hover,.safety-kpi.active{border-color:#c9dae8;box-shadow:0 8px 20px #0e263e0f;transform:translateY(-1px)}.safety-kpi.active{background:#f9fcff}.safety-kpi-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex-shrink:0;border-radius:8px}.safety-kpi-red .safety-kpi-icon{color:var(--danger);background:var(--danger-bg)}.safety-kpi-blue .safety-kpi-icon{color:var(--info);background:var(--info-bg)}.safety-kpi-amber .safety-kpi-icon{color:var(--warning);background:var(--warning-bg)}.safety-kpi-green .safety-kpi-icon{color:var(--success);background:var(--success-bg)}.safety-kpi-body{display:flex;flex-direction:column;gap:0;min-width:0}.safety-kpi-body em{color:var(--ink-500);font-size:8px;font-style:normal}.safety-kpi-body strong{color:var(--ink-900);font-family:var(--font-display);font-size:20px;font-weight:700;line-height:1.15}.safety-kpi-red .safety-kpi-body strong{color:var(--danger)}.safety-kpi-body small{color:var(--ink-400);font-size:7px;white-space:nowrap}.safety-kpi-arrow{margin-left:auto;color:var(--ink-300)}.safety-table th{font-size:8px;padding:0 9px}.safety-table td{padding:10px 9px;font-size:8.5px}.incident-cell{display:flex;align-items:center;gap:7px;min-width:250px}.incident-level-bar{width:3px;height:25px;flex-shrink:0;background:#b9c6d2;border-radius:2px}.incident-level-bar.major{background:var(--danger)}.incident-level-bar.medium{background:var(--warning)}.incident-cell .cell-main strong{max-width:300px;font-size:9px}.incident-cell .cell-main span{font-size:7.5px}.table-project-name{display:-webkit-box;max-width:95px;overflow:hidden;color:var(--ink-600);font-size:8px;line-height:1.4;-webkit-line-clamp:2;-webkit-box-orient:vertical}.assignee-cell{display:inline-flex;align-items:center;gap:4px;color:var(--ink-600);white-space:nowrap}.due-cell{display:block;color:var(--ink-600);font-size:8px;white-space:nowrap}.due-cell.danger{color:var(--danger)}.due-cell.warning{color:var(--warning)}.due-sub{display:block;color:var(--ink-400);font-size:7px;font-style:normal;white-space:nowrap}.due-sub.danger{color:var(--danger)}.due-sub.warning{color:var(--warning)}.source-tag{display:inline-flex;align-items:center;gap:3px;color:var(--ink-500);font-size:7.5px;white-space:nowrap}.source-tag.ai,.source-tag.ai .icon{color:var(--purple)}.level-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.level-option{display:flex;flex-direction:column;gap:1px;padding:7px 8px;text-align:left;background:#fafcfe;border:1px solid #e3ebf2;border-radius:7px;cursor:pointer}.level-option span{color:var(--ink-700);font-size:9px;font-weight:600}.level-option em{color:var(--ink-400);font-size:7px;font-style:normal}.level-option.active{border-color:#97b9d7;background:var(--blue-100);box-shadow:0 0 0 2px #2875c212}.level-option.active.major{border-color:#e2a4a0;background:var(--danger-bg)}.level-option.active.medium{border-color:#e6c890;background:var(--warning-bg)}.upload-sim{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:14px}.upload-sim button{display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 7px;color:var(--ink-500);background:#fafcfe;border:1px dashed #ccdbe7;border-radius:8px;cursor:pointer}.upload-sim button:hover{background:#f4faff;border-color:#9cc1dd}.upload-sim button .icon{color:var(--blue-600)}.upload-sim button span{color:var(--ink-600);font-size:8px;font-weight:550}.upload-sim button em{color:var(--ink-400);font-size:6.5px;font-style:normal}.issue-back-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px}.issue-back-actions{display:flex;align-items:center;gap:10px}.issue-back-actions .link-action{display:inline-flex;align-items:center;gap:3px;font-size:8.5px}.issue-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:17px 19px;background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow-xs)}.issue-head-main{min-width:0}.issue-head-kicker{display:flex;align-items:center;gap:7px;color:var(--ink-400);font-size:8px}.issue-kind{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;color:var(--danger);background:var(--danger-bg);border-radius:4px;font-size:8px;font-weight:600}.issue-kind.quality{color:var(--teal-700);background:var(--teal-100)}.issue-code{color:var(--ink-500);font-weight:600;letter-spacing:.02em}.issue-sep{width:1px;height:8px;background:#dce5ed}.issue-head-main h1{margin-top:7px;color:var(--ink-900);font-size:19px;font-weight:700;line-height:1.35;letter-spacing:-.025em}.issue-head-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:8px}.issue-due{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;color:var(--ink-500);background:#f2f6fa;border-radius:4px;font-size:8px}.issue-due.danger{color:var(--danger);background:var(--danger-bg)}.issue-due.warning{color:var(--warning);background:var(--warning-bg)}.ai-source{display:inline-flex;align-items:center;gap:4px;color:var(--purple);background:var(--purple-bg);padding:2px 6px;border-radius:4px;font-size:8px}.issue-head-actions{display:flex;align-items:center;gap:6px;flex-shrink:0;padding-top:18px}.issue-flowbar{display:flex;align-items:center;gap:0;margin:12px 0;padding:11px 16px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-xs)}.issue-flow-step{position:relative;display:flex;align-items:center;gap:7px;flex:1;min-width:0}.issue-flow-dot{display:inline-flex;align-items:center;justify-content:center;width:23px;height:23px;flex-shrink:0;color:var(--ink-400);background:#f2f6fa;border:1px solid #dfe8f0;border-radius:50%;font-size:8px}.issue-flow-step>span:nth-child(2){display:flex;flex-direction:column;min-width:0}.issue-flow-step strong{color:var(--ink-500);font-size:8.5px;font-weight:600;white-space:nowrap}.issue-flow-step em{overflow:hidden;color:var(--ink-400);font-size:7px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.issue-flow-step small{margin-left:auto;padding-left:4px;color:var(--ink-300);font-size:6.5px;white-space:nowrap}.issue-flow-step.done .issue-flow-dot{color:#fff;background:var(--success);border-color:var(--success)}.issue-flow-step.done strong{color:var(--ink-600)}.issue-flow-step.current .issue-flow-dot{color:#fff;background:var(--blue-600);border-color:var(--blue-600);box-shadow:0 0 0 3px #2875c21a}.issue-flow-step.current strong{color:var(--blue-700)}.issue-flow-line{width:20px;height:1px;flex-shrink:0;margin:0 7px;background:#dde6ee}.issue-flow-line.done{background:#9ed0b9}.issue-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:13px;align-items:start}.issue-main,.issue-side{display:flex;flex-direction:column;gap:13px;min-width:0}.issue-main>.card,.issue-side>.card{padding:17px 18px}.issue-description{margin-bottom:14px;padding:11px 13px;color:var(--ink-700);background:#f9fbfd;border-left:2px solid #c8dceb;border-radius:0 6px 6px 0;font-size:10px;line-height:1.8}.issue-requirement{display:flex;align-items:flex-start;gap:9px;margin-top:13px;padding:10px 12px;background:#fffaf0;border:1px solid #f1e4cb;border-radius:8px}.issue-requirement-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;color:var(--warning);background:#fff3df;border-radius:6px}.issue-requirement strong{color:#805c27;font-size:8.5px;font-weight:650}.issue-requirement p{margin-top:2px;color:#8b713f;font-size:8.5px;line-height:1.65}.quality-extra{display:flex;gap:20px;margin-top:12px;padding-top:11px;border-top:1px solid #eef3f7}.quality-extra>div{display:flex;flex-direction:column}.quality-extra span{color:var(--ink-400);font-size:7.5px}.quality-extra strong{color:var(--ink-700);font-size:9px;font-weight:550}.evidence-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.evidence-add{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;aspect-ratio:4 / 3;color:var(--ink-400);background:#fafcfe;border:1px dashed #cddbe7;border-radius:7px;cursor:pointer}.evidence-add:hover{background:#f4faff;border-color:#9fc2dc;color:var(--blue-700)}.evidence-add span{font-size:7.5px}.rectification-note{display:flex;align-items:flex-start;gap:8px;margin-bottom:10px;padding:10px 12px;color:var(--ink-600);background:#f4fbf8;border:1px solid #dcf0e6;border-radius:7px}.rectification-note .icon{flex-shrink:0;margin-top:1px;color:var(--success)}.rectification-note p{font-size:9px;line-height:1.7}.rectification-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.rectification-compare{display:flex;align-items:center;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid #eef3f7}.rectification-compare>div:not(.compare-result){width:24%}.rectification-compare>div>span{display:block;margin-bottom:3px;color:var(--ink-400);font-size:7px}.compare-arrow{display:inline-flex;color:var(--ink-300)}.compare-result{display:flex;flex:1;flex-direction:column;gap:3px;padding-left:9px;border-left:1px solid #eef3f7}.compare-result>span{color:var(--ink-400);font-size:7.5px}.compare-result strong{color:var(--success);font-size:9.5px;font-weight:650}.compare-result em{color:var(--ink-500);font-size:7.5px;font-style:normal;line-height:1.6}.no-rectification{display:flex;align-items:center;gap:10px;padding:15px;background:#fafcfe;border:1px dashed #d5e2ec;border-radius:8px}.no-rectification>span{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;color:var(--ink-400);background:#f0f5f9;border-radius:9px}.no-rectification>div{flex:1}.no-rectification strong{color:var(--ink-600);font-size:9.5px;font-weight:600}.no-rectification p{margin-top:2px;color:var(--ink-400);font-size:8px}.audit-badge{display:inline-flex;align-items:center;gap:3px;color:var(--success);font-size:7.5px}.issue-status-card{display:flex;align-items:flex-start;gap:9px;margin-bottom:10px;padding:11px;background:#f8fbfd;border:1px solid #ebf1f6;border-radius:8px}.status-orb{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;color:var(--blue-700);background:var(--blue-100);border-radius:9px}.status-orb.status-pending{color:var(--danger);background:var(--danger-bg)}.status-orb.status-review{color:var(--warning);background:var(--warning-bg)}.status-orb.status-closed{color:var(--success);background:var(--success-bg)}.issue-status-card>div:last-child{display:flex;flex-direction:column;gap:1px}.issue-status-card span{color:var(--ink-400);font-size:7.5px}.issue-status-card strong{color:var(--ink-900);font-size:15px;font-weight:700}.issue-status-card em{color:var(--ink-500);font-size:7.5px;font-style:normal;line-height:1.5}.issue-info-list{display:flex;flex-direction:column}.issue-info-list>div{display:flex;align-items:center;justify-content:space-between;padding:7px 0;border-bottom:1px solid #eff3f7}.issue-info-list>div:last-child{border-bottom:0}.issue-info-list span{color:var(--ink-400);font-size:8px}.issue-info-list strong{color:var(--ink-700);font-size:8.5px;font-weight:550;text-align:right}.issue-side-actions{margin-top:10px}.related-project{display:flex;align-items:center;gap:8px;padding:8px 0 10px}.related-cover{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex-shrink:0;color:#fff;border-radius:7px;font-size:12px;font-weight:650}.related-project>div{display:flex;flex-direction:column}.related-project strong{color:var(--ink-700);font-size:9px;font-weight:600}.related-project em{color:var(--ink-400);font-size:7px;font-style:normal}.related-project span{color:var(--ink-400);font-size:7px}.related-list{border-top:1px solid #eef3f7}.related-list button{display:flex;align-items:center;gap:7px;width:100%;padding:8px 0;text-align:left;background:transparent;border:0;border-bottom:1px solid #f1f5f8;cursor:pointer}.related-list button:last-child{border-bottom:0}.related-icon{display:inline-flex;align-items:center;justify-content:center;width:23px;height:23px;color:var(--blue-700);background:var(--blue-100);border-radius:5px}.related-list button>span:nth-child(2){display:flex;flex:1;flex-direction:column}.related-list strong{color:var(--ink-600);font-size:8.5px;font-weight:550}.related-list em{color:var(--ink-400);font-size:7px;font-style:normal}.related-list button>.icon{color:var(--ink-300)}.related-docs{margin-top:6px;padding-top:6px;border-top:1px solid #eef3f7}.related-docs button{display:flex;align-items:center;gap:5px;width:100%;padding:4px 0;text-align:left;background:transparent;border:0;cursor:pointer}.related-docs .icon{color:var(--blue-600);flex-shrink:0}.related-docs span{overflow:hidden;color:var(--ink-500);font-size:7.5px;text-overflow:ellipsis;white-space:nowrap}.issue-tip{display:flex;align-items:flex-start;gap:8px;padding:2px}.issue-tip>span{display:inline-flex;color:var(--blue-600)}.issue-tip strong{color:var(--ink-600);font-size:8.5px}.issue-tip p{margin-top:2px;color:var(--ink-400);font-size:7.5px;line-height:1.7}.review-result-picker{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.review-option{display:flex;align-items:center;gap:8px;padding:11px;text-align:left;background:#fafcfe;border:1px solid #e3ebf2;border-radius:8px;cursor:pointer}.review-option>span{display:inline-flex;align-items:center;justify-content:center;width:31px;height:31px;color:var(--ink-400);background:#f1f5f9;border-radius:7px}.review-option div{display:flex;flex-direction:column}.review-option strong{color:var(--ink-700);font-size:9px;font-weight:600}.review-option em{color:var(--ink-400);font-size:7px;font-style:normal}.review-option.active.pass{border-color:#9fd4bc;background:#f2fbf7}.review-option.active.pass>span{color:var(--success);background:var(--success-bg)}.review-option.active.reject{border-color:#e3aca7;background:#fff7f6}.review-option.active.reject>span{color:var(--danger);background:var(--danger-bg)}.photo-preview-large .evidence-photo{max-height:560px;aspect-ratio:16 / 10}.photo-preview-large .evidence-photo svg{object-fit:cover}.ai-summary{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin-bottom:12px}.ai-summary-item{display:flex;align-items:center;gap:9px;padding:11px 12px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-xs)}.ai-summary-icon{display:inline-flex;align-items:center;justify-content:center;width:35px;height:35px;flex-shrink:0;border-radius:8px}.ai-summary-icon.red{color:var(--danger);background:var(--danger-bg)}.ai-summary-icon.amber{color:var(--warning);background:var(--warning-bg)}.ai-summary-icon.blue{color:var(--blue-700);background:var(--blue-100)}.ai-summary-icon.green{color:var(--success);background:var(--success-bg)}.ai-summary-icon.teal{color:var(--teal-700);background:var(--teal-100)}.ai-summary-item>div{display:flex;flex-direction:column}.ai-summary-item span{color:var(--ink-400);font-size:8px}.ai-summary-item strong{color:var(--ink-900);font-family:var(--font-display);font-size:19px;line-height:1.1}.ai-summary-item small{font-size:9px}.ai-summary-item em{color:var(--ink-400);font-size:7px;font-style:normal}.ai-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);gap:13px;align-items:start}.ai-left{display:flex;flex-direction:column;gap:13px;min-width:0}.ai-camera-card,.ai-selected-card,.ai-feed-card{padding:17px}.ai-live-label{display:inline-flex;align-items:center;gap:4px;color:var(--danger);font-size:7.5px;font-weight:650}.ai-live-label .live-dot{margin:0;background:var(--danger);box-shadow:0 0 0 3px #d34f4f1f}.camera-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.camera-tile{position:relative;padding:0;text-align:left;background:#fff;border:1px solid #e4ecf3;border-radius:8px;overflow:hidden;cursor:pointer}.camera-tile .evidence-photo{border:0;border-radius:0;aspect-ratio:16 / 10}.camera-tile.active{border-color:#4f97c8;box-shadow:0 0 0 2px #4f97c82e}.camera-tile.offline{opacity:.72}.camera-overlay{position:absolute;top:5px;left:5px;right:5px;display:flex;justify-content:space-between;pointer-events:none}.camera-live{display:inline-flex;align-items:center;gap:3px;padding:1px 4px;color:#fff;background:#091b2a8c;border-radius:3px;font-size:5.5px;letter-spacing:.05em;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.camera-live i{width:3px;height:3px;background:#ff7067;border-radius:50%}.camera-id{padding:1px 4px;color:#fffc;background:#091b2a80;border-radius:3px;font-size:5px}.camera-meta{display:flex;flex-direction:column;padding:5px 7px}.camera-meta strong{color:var(--ink-700);font-size:7.5px;font-weight:550}.camera-meta em{color:var(--ink-400);font-size:6.5px;font-style:normal}.ai-selected-card{border-color:#cfe2f0}.ai-selected-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:11px}.ai-alert-code{display:flex;align-items:center;gap:4px;color:var(--blue-700);font-size:7.5px}.ai-selected-head h2{margin-top:3px;color:var(--ink-900);font-size:17px;font-weight:700}.ai-selected-head p{max-width:620px;margin-top:3px;color:var(--ink-500);font-size:8.5px;line-height:1.6}.ai-selected-body{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:12px}.ai-selected-image{position:relative}.ai-detect-box{position:absolute;left:24%;top:27%;width:27%;height:43%;border:1.5px solid #ffcf4a;border-radius:2px;box-shadow:0 0 0 9999px #04101c24}.ai-detect-box i{position:absolute;left:-3px;top:-3px;width:5px;height:5px;background:#ffcf4a}.ai-detect-badge{position:absolute;right:6px;bottom:6px;padding:2px 5px;color:#fff;background:#061623b3;border-radius:3px;font-size:6px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.ai-detect-badge strong{color:#ffd35b}.ai-selected-meta{display:flex;flex-direction:column;justify-content:space-between;gap:1px}.ai-selected-meta>div{display:flex;align-items:center;justify-content:space-between;gap:9px;padding:6px 0;border-bottom:1px solid #eff3f7}.ai-selected-meta>div:last-child{border-bottom:0}.ai-selected-meta span{color:var(--ink-400);font-size:7.5px}.ai-selected-meta strong{color:var(--ink-700);font-size:8px;font-weight:550;text-align:right}.ai-selected-actions{display:flex;align-items:center;gap:6px;justify-content:flex-end;margin-top:11px;padding-top:10px;border-top:1px solid #edf2f6}.ai-handled{display:inline-flex;align-items:center;gap:4px;color:var(--success);font-size:8px}.ai-feed-card{padding:17px 15px}.ai-feed{display:flex;flex-direction:column;max-height:770px;overflow-y:auto}.ai-feed-item{display:flex;align-items:center;gap:7px;width:100%;padding:7px 0;text-align:left;background:transparent;border:0;border-bottom:1px solid #eff3f7;cursor:pointer}.ai-feed-item:last-child{border-bottom:0}.ai-feed-item.active{background:#f4f9fe}.ai-feed-thumb{width:54px;flex-shrink:0}.ai-feed-thumb .evidence-photo{aspect-ratio:4 / 3}.ai-feed-body{flex:1;min-width:0}.ai-feed-top{display:flex;align-items:center;justify-content:space-between;gap:5px}.ai-feed-top strong{overflow:hidden;color:var(--ink-700);font-size:8px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.ai-feed-body>span{display:block;overflow:hidden;color:var(--ink-400);font-size:6.5px;text-overflow:ellipsis;white-space:nowrap}.ai-feed-meta{display:flex;align-items:center;gap:6px;margin-top:2px}.ai-feed-meta em{color:var(--ink-400);font-size:6px;font-style:normal}.ai-feed-meta b{display:inline-flex;align-items:center;gap:2px;color:var(--purple);font-size:6px;font-weight:550}.ai-feed-meta i{width:14px;padding:0 2px;border-radius:2px;font-size:5.5px;font-style:normal;text-align:center}.ai-feed-meta i.high{color:var(--danger);background:var(--danger-bg)}.ai-feed-meta i.mid{color:var(--warning);background:var(--warning-bg)}.ai-feed-meta i.low{color:var(--muted);background:var(--muted-bg)}.ai-feed-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px;padding-top:9px;border-top:1px solid #edf2f6}.ai-feed-foot>span{display:inline-flex;align-items:center;gap:4px;color:var(--ink-400);font-size:7px}.ai-feed-foot>span .live-dot{margin:0}.ai-feed-foot button{display:inline-flex;align-items:center;gap:3px;color:var(--blue-700);background:transparent;border:0;font-size:7px;cursor:pointer}.education-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:12px}.education-kpis>div{display:flex;align-items:center;gap:9px;padding:12px 13px;background:#fff;border:1px solid var(--line);border-radius:10px}.education-icon{display:inline-flex;align-items:center;justify-content:center;width:35px;height:35px;flex-shrink:0;border-radius:8px}.education-icon.blue{color:var(--blue-700);background:var(--blue-100)}.education-icon.teal{color:var(--teal-700);background:var(--teal-100)}.education-icon.amber{color:var(--warning);background:var(--warning-bg)}.education-icon.green{color:var(--success);background:var(--success-bg)}.education-kpis>div>div{display:flex;flex-direction:column}.education-kpis span{color:var(--ink-400);font-size:8px}.education-kpis strong{color:var(--ink-900);font-family:var(--font-display);font-size:19px;line-height:1.1}.education-kpis small{font-size:9px}.education-kpis em{color:var(--ink-400);font-size:7px;font-style:normal}.education-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:13px;align-items:start}.education-main>.card,.education-side-card{padding:17px}.education-side{display:flex;flex-direction:column;gap:13px}.education-table th{font-size:8px;padding:0 9px}.education-table td{font-size:8.5px;padding:10px 9px}.education-progress{min-width:100px}.education-progress .row-between{margin-bottom:4px;color:var(--ink-400);font-size:7px}.education-progress em{font-style:normal}.today-session{display:flex;align-items:flex-start;gap:8px;padding:9px 0 12px}.today-session-time{display:inline-flex;align-items:center;justify-content:center;min-width:39px;height:25px;color:var(--blue-700);background:var(--blue-100);border-radius:5px;font-family:var(--font-display);font-size:10px;font-weight:600}.today-session>div{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0}.today-session strong{color:var(--ink-700);font-size:8.5px;font-weight:600}.today-session span{color:var(--ink-400);font-size:7px}.today-session em{color:var(--ink-500);font-size:7px;font-style:normal}.education-divider{height:1px;margin:12px 0 8px;background:#edf2f6}.education-stat-row{display:flex;align-items:center;justify-content:space-between;padding:4px 0;color:var(--ink-400);font-size:8px}.education-stat-row strong{color:var(--ink-700);font-size:8.5px}.education-person{display:flex;align-items:center;gap:6px;padding:6px 0;border-bottom:1px solid #eff3f7}.education-person:last-of-type{border-bottom:0}.education-person>div{display:flex;flex:1;flex-direction:column}.education-person strong{color:var(--ink-700);font-size:8.5px;font-weight:550}.education-person em{color:var(--ink-400);font-size:7px;font-style:normal}.education-person button{padding:2px 6px;color:var(--blue-700);background:var(--blue-100);border:0;border-radius:4px;font-size:7px;cursor:pointer}.education-more{display:flex;align-items:center;justify-content:center;gap:3px;width:100%;margin-top:8px;padding-top:8px;color:var(--blue-700);background:transparent;border:0;border-top:1px solid #edf2f6;font-size:7.5px;cursor:pointer}.quality-table th{font-size:8px;padding:0 9px}.quality-table td{font-size:8.5px;padding:10px 9px}.quality-part{display:-webkit-box;max-width:160px;overflow:hidden;color:var(--ink-500);font-size:8px;line-height:1.4;-webkit-line-clamp:2;-webkit-box-orient:vertical}.quality-inspection-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.quality-inspection-card{padding:15px}.quality-inspection-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px}.quality-inspection-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;color:var(--teal-700);background:var(--teal-100);border-radius:8px}.quality-inspection-card h3{color:var(--ink-800);font-size:10px;font-weight:650;line-height:1.45}.quality-inspection-card>p{margin-top:3px;color:var(--ink-400);font-size:7.5px}.quality-inspection-meta{display:flex;gap:10px;margin-top:9px;color:var(--ink-400);font-size:7px}.quality-inspection-meta span{display:inline-flex;align-items:center;gap:3px}.quality-inspection-foot{display:flex;align-items:center;gap:10px;margin-top:10px;padding-top:8px;border-top:1px solid #eef3f7;color:var(--ink-400);font-size:7px}.quality-inspection-foot strong{color:var(--ink-600)}.quality-inspection-foot .link-action{margin-left:auto;font-size:7px}.quality-new-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:172px;color:var(--ink-400);background:#ffffff8c;border:1px dashed #c8d8e5;border-radius:12px;cursor:pointer}.quality-new-card:hover{color:var(--blue-700);border-color:#93b9d6;background:#f7fbff}.quality-new-card span{color:var(--ink-600);font-size:9px;font-weight:550}.quality-new-card em{font-size:7px;font-style:normal}.progress-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:13px;align-items:start}.progress-main,.progress-side{display:flex;flex-direction:column;gap:13px;min-width:0}.progress-chart-card,.progress-main>.card,.progress-side-card{padding:17px}.chart-period{display:inline-flex;align-items:center;gap:4px;color:var(--ink-400);font-size:8px}.progress-chart-summary{display:flex;align-items:center;gap:0;padding:2px 0 8px}.progress-chart-summary>div{display:flex;flex-direction:column;gap:2px;padding:0 17px;border-left:1px solid #edf2f6}.progress-chart-summary>div:first-child{padding-left:0;border-left:0}.progress-chart-summary span{color:var(--ink-400);font-size:8px}.progress-chart-summary strong{color:var(--ink-900);font-family:var(--font-display);font-size:19px}.progress-chart-summary strong.blue{color:var(--blue-700)}.progress-chart-summary strong.red{color:var(--danger)}.progress-chart-summary strong.green{color:var(--success)}.progress-chart-note{flex:1!important;flex-direction:row!important;align-items:center;justify-content:flex-end;gap:4px!important;padding-right:0!important;color:var(--ink-400);font-size:8px}.progress-chart-note .icon{color:var(--warning)}.progress-task-table th{font-size:8px;padding:0 8px}.progress-task-table td{font-size:8px;padding:9px 8px}.task-name-cell{display:flex;align-items:center;gap:6px;min-width:155px}.task-dot{width:5px;height:5px;flex-shrink:0;background:var(--ink-300);border-radius:50%}.task-dot.green{background:var(--success)}.task-dot.amber{background:var(--warning)}.task-dot.red{background:var(--danger)}.task-name-cell .cell-main strong{max-width:170px;font-size:8.5px}.task-name-cell .cell-main span{font-size:7px}.task-date{color:var(--ink-500);font-size:7px;line-height:1.5;white-space:nowrap}.gantt-track{position:relative;width:165px;height:4px;margin-top:5px;overflow:hidden;background:#eef3f7;border-radius:2px}.gantt-track span{position:absolute;top:0;height:100%;background:linear-gradient(90deg,#4f97c8,#89c3df);border-radius:2px}.progress-ring-row{display:flex;align-items:center;gap:13px;padding:8px 0 10px}.progress-ring-row>div{display:flex;flex-direction:column;gap:1px}.progress-ring-row span{color:var(--ink-400);font-size:7.5px}.progress-ring-row strong{color:var(--ink-800);font-size:11px;font-weight:650}.progress-ring-row em{font-size:7.5px;font-style:normal}.progress-ring-row em.red{color:var(--danger)}.progress-ring-row em.green{color:var(--success)}.progress-meta-list{border-top:1px solid #eef3f7}.progress-meta-list>div{display:flex;align-items:center;justify-content:space-between;padding:6px 0;border-bottom:1px solid #f1f5f8}.progress-meta-list>div:last-child{border-bottom:0}.progress-meta-list span{color:var(--ink-400);font-size:7.5px}.progress-meta-list strong{color:var(--ink-700);font-size:8px;font-weight:550}.pending-report{margin-bottom:9px;padding:9px;background:#fafcfe;border:1px solid #eaf0f5;border-radius:8px}.pending-report-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:2px}.pending-report-head strong{color:var(--ink-700);font-size:8px;font-weight:600}.pending-report>span{color:var(--ink-400);font-size:7px}.pending-report-values{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin:7px 0}.pending-report-values>div{padding:5px 6px;background:#fff;border:1px solid #edf2f6;border-radius:5px}.pending-report-values span{display:block;color:var(--ink-400);font-size:6.5px}.pending-report-values b{color:var(--ink-700);font-family:var(--font-display);font-size:11px}.pending-report-values b.red{color:var(--danger)}.warning-task{display:flex;align-items:flex-start;gap:7px;padding:8px 0;border-bottom:1px solid #eff3f7}.warning-task:last-child{border-bottom:0}.warning-task-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0;color:var(--danger);background:var(--danger-bg);border-radius:6px}.warning-task>div{display:flex;flex:1;flex-direction:column;min-width:0}.warning-task strong{color:var(--ink-700);font-size:8px;font-weight:550}.warning-task span{color:var(--ink-400);font-size:7px}.warning-task em{color:var(--danger);font-size:7px;font-style:normal}.warning-task button{padding:2px 6px;color:var(--blue-700);background:var(--blue-100);border:0;border-radius:4px;font-size:7px;cursor:pointer}.plan-notice{display:flex;align-items:center;gap:5px;margin-bottom:11px;padding:8px 10px;color:var(--ink-500);background:#f7fafd;border:1px solid #e9eff5;border-radius:7px;font-size:8px}.plan-notice .icon{color:var(--blue-600)}.plan-table th{font-size:8px}.plan-table td{font-size:8.5px}.wbs-cell{color:var(--ink-400);font-family:var(--font-display);font-size:8px}.plan-progress{display:flex;align-items:center;gap:5px;min-width:110px}.plan-progress .progress-wrap{flex:1}.plan-progress span{width:26px;color:var(--ink-500);font-size:7px;text-align:right}.reports-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:13px;align-items:start}.reports-layout>.card{padding:17px}.report-list{display:flex;flex-direction:column}.report-row{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid #eff3f7}.report-row:last-child{border-bottom:0}.report-date{display:flex;flex-direction:column;align-items:center;width:56px;flex-shrink:0;padding:6px;background:#f5f9fc;border:1px solid #e8eff5;border-radius:6px}.report-date strong{color:var(--ink-800);font-family:var(--font-display);font-size:10px}.report-date span{color:var(--ink-400);font-size:6.5px;text-align:center}.report-main{flex:1;min-width:0}.report-head{display:flex;align-items:center;gap:7px}.report-head strong{color:var(--ink-800);font-size:9px;font-weight:600}.report-main p{margin-top:3px;color:var(--ink-500);font-size:8px;line-height:1.6}.report-meta{display:flex;gap:12px;margin-top:4px;color:var(--ink-400);font-size:7px}.report-meta span{display:inline-flex;align-items:center;gap:3px}.report-values{display:flex;gap:11px;padding-top:2px}.report-values>div{display:flex;flex-direction:column;align-items:flex-end}.report-values span{color:var(--ink-400);font-size:6.5px}.report-values strong{color:var(--ink-700);font-family:var(--font-display);font-size:11px}.report-values strong.blue{color:var(--blue-700)}.report-values strong.red{color:var(--danger)}.report-action{display:flex;align-items:center;padding-top:3px}.report-confirmed{display:inline-flex;align-items:center;gap:3px;color:var(--success);font-size:7.5px;white-space:nowrap}.report-tip{display:flex;gap:8px;padding:9px 0;border-bottom:1px solid #eff3f7}.report-tip:last-child{border-bottom:0}.report-tip>span{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0;color:var(--blue-700);background:var(--blue-100);border-radius:5px;font-family:var(--font-display);font-size:7px;font-weight:600}.report-tip>div{display:flex;flex-direction:column}.report-tip strong{color:var(--ink-600);font-size:8px;font-weight:600}.report-tip p{margin-top:1px;color:var(--ink-400);font-size:7px;line-height:1.6}.material-cell{display:flex;align-items:center;gap:8px;min-width:200px}.material-icon{display:inline-flex;align-items:center;justify-content:center;width:29px;height:29px;flex-shrink:0;color:var(--blue-700);background:var(--blue-100);border-radius:6px}.material-supplier{display:-webkit-box;max-width:140px;overflow:hidden;color:var(--ink-500);font-size:8px;-webkit-line-clamp:2;-webkit-box-orient:vertical}.inventory-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:13px;align-items:start}.inventory-main{display:flex;flex-direction:column;gap:13px;min-width:0}.inventory-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.inventory-card{padding:13px}.inventory-card.warning{border-color:#efd9b5;background:#fffdf8}.inventory-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}.inventory-icon{display:inline-flex;align-items:center;justify-content:center;width:31px;height:31px;color:var(--blue-700);background:var(--blue-100);border-radius:7px}.inventory-card.warning .inventory-icon{color:var(--warning);background:var(--warning-bg)}.inventory-card h3{color:var(--ink-800);font-size:9.5px;font-weight:600}.inventory-card p{margin-top:2px;color:var(--ink-400);font-size:7px}.inventory-stock{display:flex;align-items:baseline;gap:5px;margin-top:9px}.inventory-stock strong{color:var(--ink-900);font-family:var(--font-display);font-size:17px}.inventory-stock span{color:var(--ink-400);font-size:6.5px}.inventory-foot{display:flex;align-items:center;justify-content:space-between;gap:5px;margin-top:7px;padding-top:6px;border-top:1px solid #eef3f7;color:var(--ink-400);font-size:6.5px}.inventory-foot button{display:inline-flex;align-items:center;gap:2px;color:var(--blue-700);background:transparent;border:0;font-size:6.5px;cursor:pointer}.inventory-side{padding:17px}.stock-health{margin-bottom:10px}.stock-health .row-between{margin-bottom:4px;color:var(--ink-500);font-size:7.5px}.stock-health em{font-style:normal}.stock-health-meta{display:flex;justify-content:space-between;margin-top:3px;color:var(--ink-400);font-size:6.5px}.inventory-side-note{margin-top:10px;padding:8px;color:#8b6229;background:#fffaf1;border:1px solid #f2e4cc;border-radius:6px;font-size:7px;line-height:1.5}.machine-cell{display:flex;align-items:center;gap:8px;min-width:180px}.machine-icon{display:inline-flex;align-items:center;justify-content:center;width:31px;height:31px;flex-shrink:0;color:var(--teal-700);background:var(--teal-100);border-radius:7px}.machine-icon.warning{color:var(--danger);background:var(--danger-bg)}.cost-budget-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:13px}.cost-budget-layout>.card{padding:17px}.budget-donut-area{display:flex;align-items:center;gap:22px;padding:4px 0 10px}.budget-figures{display:grid;grid-template-columns:repeat(2,1fr);gap:9px 20px;flex:1}.budget-figures>div{display:flex;flex-direction:column;gap:2px}.budget-figures span{color:var(--ink-400);font-size:7.5px}.budget-figures strong{color:var(--ink-800);font-family:var(--font-display);font-size:15px;font-weight:700}.budget-figures strong.green{color:var(--success)}.budget-figures em{margin-left:2px;color:var(--ink-400);font-family:var(--font-sans);font-size:7px;font-style:normal;font-weight:400}.cost-divider{height:1px;margin:5px 0 9px;background:#edf2f6}.budget-exec-list{display:flex;flex-direction:column;gap:7px}.budget-exec-row{display:flex;align-items:center;gap:7px}.budget-exec-row>span{width:72px;color:var(--ink-500);font-size:7.5px}.budget-exec-row>div{flex:1}.budget-exec-row em{width:26px;color:var(--ink-500);font-size:7px;font-style:normal;text-align:right}.budget-exec-row strong{width:58px;color:var(--ink-600);font-size:7px;font-weight:550;text-align:right}.budget-rate-cell{display:flex;align-items:center;gap:5px;min-width:90px}.budget-rate-cell .progress-wrap{flex:1}.budget-rate-cell span{width:28px;color:var(--ink-500);font-size:7px;text-align:right}.code-sub{display:block;color:var(--ink-400);font-size:7px}.change-reason{display:-webkit-box;max-width:210px;overflow:hidden;color:var(--ink-500);font-size:8px;line-height:1.45;-webkit-line-clamp:2;-webkit-box-orient:vertical}.settlement-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:13px;align-items:start}.settlement-layout>.card{padding:17px}.settlement-progress{margin-bottom:11px}.settlement-progress .row-between{margin-bottom:4px;color:var(--ink-500);font-size:7.5px}.settlement-progress em{font-style:normal}.settlement-progress-meta{display:flex;justify-content:space-between;margin-top:3px;color:var(--ink-400);font-size:6.5px}.cost-tip{margin-top:10px;padding:8px;color:var(--ink-500);background:#f7fafd;border:1px solid #e9eff5;border-radius:6px;font-size:7px;line-height:1.5}.cashflow-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.7fr);gap:13px;align-items:start}.cashflow-layout>.card{padding:17px}.cashflow-balance{display:flex;flex-direction:column;gap:1px;padding:10px 0 12px}.cashflow-balance>span{color:var(--ink-400);font-size:7.5px}.cashflow-balance strong{color:var(--ink-900);font-family:var(--font-display);font-size:27px;font-weight:700;letter-spacing:-.03em}.cashflow-balance strong em{margin-left:2px;color:var(--ink-400);font-family:var(--font-sans);font-size:8px;font-style:normal;font-weight:400}.cashflow-balance>em{color:var(--success);font-size:7.5px;font-style:normal}.cashflow-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:7px;overflow:hidden}.cashflow-summary>div{display:flex;flex-direction:column;gap:2px;padding:8px 9px;background:#fff}.cashflow-summary span{color:var(--ink-400);font-size:7px}.cashflow-summary strong{color:var(--ink-700);font-size:8.5px;font-weight:600}.cashflow-note{margin-top:10px;padding:8px;color:var(--ink-500);background:#f5fbf8;border:1px solid #def0e7;border-radius:6px;font-size:7px;line-height:1.55}.docs-layout{display:grid;grid-template-columns:218px minmax(0,1fr);gap:13px;align-items:start}.docs-tree-card{padding:12px 9px 10px;position:sticky;top:0}.docs-tree-head{display:flex;align-items:center;justify-content:space-between;padding:0 6px 8px;color:var(--ink-700);font-size:9px;font-weight:650}.docs-tree-head button{padding:1px;color:var(--ink-400);background:transparent;border:0;cursor:pointer}.docs-tree-item{display:flex;align-items:center;gap:5px;width:100%;padding:6px 7px;text-align:left;background:transparent;border:0;border-radius:6px;cursor:pointer}.docs-tree-item:hover{background:#f5f9fc}.docs-tree-item.active{background:#edf6fd}.docs-tree-item>span{display:inline-flex;align-items:center;gap:5px;flex:1;color:var(--ink-600);font-size:8px}.docs-tree-item em{color:var(--ink-400);font-size:7px;font-style:normal}.docs-tree-item.root{margin-bottom:3px}.docs-tree-item.root>span{color:var(--ink-700);font-weight:600}.docs-tree-item.stage{margin-top:3px}.docs-tree-item.stage>span{color:var(--ink-700);font-weight:600}.docs-tree-item.cat{padding-left:25px}.docs-tree-item.cat>span{color:var(--ink-500);font-weight:400}.docs-tree-item.active>span{color:var(--blue-700);font-weight:600}.docs-tree-group{padding-bottom:3px}.docs-tree-foot{margin-top:9px;padding:10px 7px 6px;border-top:1px solid #edf2f6}.docs-tree-foot .row-between{color:var(--ink-500);font-size:7.5px}.docs-tree-foot .row-between strong{color:var(--ink-700)}.docs-tree-foot .progress-wrap{margin-top:5px}.docs-tree-foot>button{display:flex;align-items:center;gap:2px;margin-top:7px;padding:0;color:var(--blue-700);background:transparent;border:0;font-size:7px;cursor:pointer}.docs-main{min-width:0}.docs-toolbar{display:flex;align-items:center;gap:9px;margin-bottom:10px}.docs-breadcrumb{display:flex;align-items:center;gap:4px;color:var(--ink-400);font-size:8px}.docs-breadcrumb strong{color:var(--ink-600);font-weight:600}.docs-breadcrumb+.btn{margin-left:auto}.docs-table th{font-size:8px;padding:0 9px}.docs-table td{font-size:8px;padding:9px}.doc-name-cell{display:flex;align-items:center;gap:7px;min-width:250px}.doc-name-cell .cell-main strong{max-width:270px;font-size:8.5px}.doc-name-cell .cell-main span{font-size:7px}.doc-version{color:var(--blue-700);font-family:var(--font-display);font-size:8px;font-weight:600}.doc-preview{overflow:hidden;border:1px solid #dfe9f1;border-radius:8px}.doc-preview-toolbar{display:flex;align-items:center;justify-content:space-between;padding:6px 9px;background:#f3f7fa;border-bottom:1px solid #e3ebf2;color:var(--ink-500);font-size:7px}.doc-preview-toolbar>span{display:inline-flex;align-items:center;gap:4px}.doc-preview-toolbar>div{display:flex;gap:2px}.doc-preview-toolbar button{padding:2px 5px;color:var(--ink-500);background:#fff;border:1px solid #e1e9f0;border-radius:3px;font-size:7px;cursor:pointer}.doc-page{position:relative;width:82%;max-width:390px;min-height:355px;margin:14px auto;padding:26px 30px 22px;background:#fff;border:1px solid #e5ebf0;box-shadow:0 4px 14px #0e263e12}.doc-page-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:8px;border-bottom:1px solid #e8edf2}.doc-page-logo{color:var(--blue-800);font-size:8px;font-weight:700;letter-spacing:.08em}.doc-page-head em{color:var(--ink-400);font-size:6px;font-style:normal}.doc-page h4{margin-top:25px;color:#23384b;font-size:12px;font-weight:650;text-align:center;line-height:1.5}.doc-page-sub{margin-top:5px;color:#7f8f9e;font-size:6.5px;text-align:center}.doc-page-lines{display:flex;flex-direction:column;gap:8px;margin-top:22px}.doc-page-lines i{display:block;height:3px;background:#e9eef3;border-radius:2px}.doc-page-stamp{position:absolute;right:31px;bottom:60px;display:flex;align-items:center;justify-content:center;width:67px;height:67px;color:#be36309e;border:2px solid rgba(190,54,48,.48);border-radius:50%;font-size:6.5px;font-weight:600;line-height:1.5;text-align:center;transform:rotate(-10deg)}.doc-page-foot{position:absolute;left:0;right:0;bottom:14px;color:#a6b2bd;font-size:6px;text-align:center}.doc-meta-section{margin-top:16px}.doc-meta-section h4{margin-bottom:7px;color:var(--ink-700);font-size:9px;font-weight:650}.doc-meta-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:7px;overflow:hidden}.doc-meta-grid>div{display:flex;flex-direction:column;gap:2px;padding:7px 9px;background:#fff}.doc-meta-grid span{color:var(--ink-400);font-size:7px}.doc-meta-grid strong{color:var(--ink-700);font-size:8px;font-weight:550}.doc-log{display:flex;align-items:center;justify-content:space-between;padding:5px 0;border-bottom:1px solid #f1f5f8;color:var(--ink-500);font-size:7.5px}.doc-log span{display:inline-flex;align-items:center;gap:4px}.doc-log em{color:var(--ink-400);font-size:7px;font-style:normal}.doc-upload-zone{display:flex;flex-direction:column;align-items:center;gap:3px;margin-top:15px;padding:19px;color:var(--ink-500);background:#fafcfe;border:1px dashed #c8d8e4;border-radius:8px;cursor:pointer}.doc-upload-zone:hover{background:#f5faff;border-color:#9dc2dd}.doc-upload-zone .icon{color:var(--blue-600)}.doc-upload-zone strong{color:var(--ink-600);font-size:9px;font-weight:550}.doc-upload-zone span{color:var(--ink-400);font-size:7px}.archive-check-head{padding:11px 12px;background:#f8fbfd;border:1px solid #e9eff5;border-radius:8px}.archive-check-head>div{display:flex;justify-content:space-between;color:var(--ink-500);font-size:8px}.archive-check-head strong{color:var(--ink-800);font-family:var(--font-display);font-size:12px}.archive-check-head .progress-wrap{margin-top:6px}.archive-check-head p{margin-top:5px;color:var(--ink-400);font-size:7.5px}.archive-checklist{margin-top:10px}.archive-check-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 2px;border-bottom:1px solid #eff3f7}.archive-check-item:last-child{border-bottom:0}.archive-check-item .checkbox{font-size:8.5px}.archive-check-item.done .checkbox{color:var(--ink-500)}.cockpit-hero{position:relative;overflow:hidden;padding:15px 20px 0;color:#eaf5fd;background:radial-gradient(600px 280px at 82% 6%,rgba(91,176,218,.26),transparent 64%),linear-gradient(120deg,var(--cover-a),var(--cover-b));border-radius:15px;box-shadow:0 16px 42px #0921362e}.cockpit-hero-bg span{position:absolute;border:1px solid rgba(255,255,255,.1);border-radius:50%}.cockpit-hero-bg span:nth-child(1){width:380px;height:380px;right:-120px;top:-240px}.cockpit-hero-bg span:nth-child(2){width:240px;height:240px;right:-60px;top:-180px}.cockpit-hero-bg span:nth-child(3){width:500px;height:120px;left:-100px;bottom:-80px}.cockpit-hero-top{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px}.cockpit-hero-top>div{display:flex;gap:6px}.cockpit-hero-main{position:relative;z-index:2;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:13px 0 17px}.cockpit-tags{display:flex;align-items:center;gap:6px}.cockpit-tags .status-pill{background:#ffffff29;color:#fff}.cockpit-tags .badge{background:#ffffff1f;border-color:#ffffff2e;color:#eaf7ff}.cockpit-tags>span:last-child{color:#e0f3ff8c;font-size:8px}.cockpit-hero-main h1{margin-top:7px;color:#f4fbff;font-size:23px;font-weight:700;letter-spacing:-.03em}.cockpit-hero-main p{margin-top:3px;color:#dff2fd9e;font-size:8.5px}.cockpit-hero-meta{display:flex;gap:15px;margin-top:8px;color:#dbf1fe9e;font-size:8px}.cockpit-hero-meta span{display:inline-flex;align-items:center;gap:3px}.cockpit-hero-progress{display:flex;flex-direction:column;align-items:center;gap:1px;min-width:118px}.cockpit-hero-progress .ring-label{color:#f2fbff;font-size:17px}.cockpit-hero-progress>span{color:#e1f3ff8c;font-size:7.5px}.cockpit-hero-progress>em{padding:1px 5px;border-radius:3px;font-size:7px;font-style:normal}.cockpit-hero-progress>em.red{color:#ffd6c6;background:#ff9b6e29}.cockpit-hero-progress>em.green{color:#b8efd7;background:#56c28c24}.cockpit-hero-stats{position:relative;z-index:2;display:grid;grid-template-columns:repeat(5,1fr);gap:1px;margin:0 -20px;padding:10px 20px;background:#051a2b2e;border-top:1px solid rgba(255,255,255,.1)}.cockpit-hero-stats>div{display:flex;flex-direction:column;gap:1px;padding-left:15px;border-left:1px solid rgba(255,255,255,.1)}.cockpit-hero-stats>div:first-child{padding-left:0;border-left:0}.cockpit-hero-stats span{color:#d9effc85;font-size:7px}.cockpit-hero-stats strong{color:#f2fbff;font-family:var(--font-display);font-size:14px;font-weight:700}.cockpit-hero-stats strong.red{color:#ffb7a1}.cockpit-hero-stats em{margin-left:2px;color:#d6effd85;font-family:var(--font-sans);font-size:6.5px;font-style:normal;font-weight:400}.cockpit-phase-card{margin-top:13px;padding:13px 18px}.cockpit-phase-track{display:flex;align-items:flex-start;justify-content:space-between}.cockpit-phase{position:relative;display:flex;flex:1;flex-direction:column;align-items:center;gap:1px}.cockpit-phase-dot{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:23px;height:23px;color:var(--ink-400);background:#f2f6fa;border:1px solid #dfe8f0;border-radius:50%;font-size:8px}.cockpit-phase strong{color:var(--ink-500);font-size:8px;font-weight:550}.cockpit-phase em{color:var(--ink-400);font-size:6.5px;font-style:normal}.cockpit-phase-line{position:absolute;top:11px;left:calc(50% + 17px);right:calc(-50% + 17px);height:1px;background:#e1e9f0}.cockpit-phase.done .cockpit-phase-dot{color:#fff;background:var(--success);border-color:var(--success)}.cockpit-phase.done .cockpit-phase-line{background:#b7dccb}.cockpit-phase.active .cockpit-phase-dot{color:#fff;background:var(--blue-600);border-color:var(--blue-600);box-shadow:0 0 0 3px #2875c21a}.cockpit-phase.active strong{color:var(--blue-700);font-weight:650}.cockpit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:13px}.cockpit-grid>.card{padding:17px}.cockpit-risk-top{display:flex;align-items:center;gap:22px;padding:2px 0 9px}.cockpit-risk-legend{flex:1;display:flex;flex-direction:column;gap:5px}.cockpit-risk-legend>div{display:flex;align-items:center;gap:6px}.cockpit-risk-legend i{width:5px;height:5px;border-radius:50%}.cockpit-risk-legend span{flex:1;color:var(--ink-500);font-size:8px}.cockpit-risk-legend strong{color:var(--ink-700);font-family:var(--font-display);font-size:10px}.cockpit-risk-list{border-top:1px solid #eef3f7}.cockpit-risk-list>button{display:flex;align-items:center;gap:7px;width:100%;padding:7px 0;text-align:left;background:transparent;border:0;border-bottom:1px solid #f1f5f8;cursor:pointer}.cockpit-risk-list>button:last-child{border-bottom:0}.cockpit-risk-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0;color:var(--danger);background:var(--danger-bg);border-radius:5px}.cockpit-risk-icon.quality{color:var(--teal-700);background:var(--teal-100)}.cockpit-risk-list button>span:nth-child(2){display:flex;flex:1;flex-direction:column;min-width:0}.cockpit-risk-list strong{overflow:hidden;color:var(--ink-700);font-size:8px;font-weight:550;text-overflow:ellipsis;white-space:nowrap}.cockpit-risk-list em{color:var(--ink-400);font-size:7px;font-style:normal}.cockpit-progress-nums{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:2px 0 10px}.cockpit-progress-nums>div{display:flex;flex-direction:column;gap:1px;padding-left:9px;border-left:2px solid #edf2f7}.cockpit-progress-nums>div:first-child{padding-left:0;border-left:0}.cockpit-progress-nums span{color:var(--ink-400);font-size:7px}.cockpit-progress-nums strong{color:var(--ink-800);font-family:var(--font-display);font-size:16px}.cockpit-progress-nums strong.blue{color:var(--blue-700)}.cockpit-progress-nums strong.red{color:var(--danger)}.cockpit-progress-nums strong.green{color:var(--success)}.cockpit-progress-bars{display:flex;flex-direction:column;gap:5px}.cockpit-progress-bars>div{display:flex;align-items:center;gap:6px}.cockpit-progress-bars span{width:24px;color:var(--ink-400);font-size:7px}.cockpit-progress-bars .progress-wrap{flex:1}.cockpit-task-list{margin-top:9px;padding-top:8px;border-top:1px solid #eef3f7}.cockpit-task-list>div{display:flex;align-items:center;gap:6px;padding:3px 0}.cockpit-task-list span{width:86px;color:var(--ink-500);font-size:7px}.cockpit-task-list>div>div{flex:1;height:4px;overflow:hidden;background:#eef3f7;border-radius:2px}.cockpit-task-list i{display:block;height:100%;background:#6fb1d6;border-radius:2px}.cockpit-task-list strong{width:23px;color:var(--ink-500);font-size:7px;font-weight:600;text-align:right}.cockpit-doc-ring{display:flex;align-items:center;gap:18px;padding:2px 0 9px}.cockpit-doc-ring>div{display:flex;flex-direction:column;gap:2px}.cockpit-doc-ring span{color:var(--ink-400);font-size:7px}.cockpit-doc-ring strong{color:var(--ink-700);font-size:10px;font-weight:600}.cockpit-doc-ring em{color:var(--warning);font-size:7px;font-style:normal}.cockpit-doc-cats{display:flex;flex-direction:column;gap:6px;padding-top:8px;border-top:1px solid #eef3f7}.cockpit-doc-cats>div{display:flex;align-items:center;gap:6px}.cockpit-doc-cats span{width:50px;color:var(--ink-500);font-size:7px}.cockpit-doc-cats .progress-wrap{flex:1}.cockpit-doc-cats em{width:24px;color:var(--ink-400);font-size:7px;font-style:normal;text-align:right}.cockpit-doc-note{display:flex;align-items:center;gap:4px;margin-top:8px;padding:6px 7px;color:#8b6229;background:#fffaf1;border:1px solid #f2e4cc;border-radius:5px;font-size:7px}.cockpit-cost-nums{display:flex;gap:16px;padding:2px 0 10px}.cockpit-cost-nums>div{display:flex;flex-direction:column;gap:1px}.cockpit-cost-nums span{color:var(--ink-400);font-size:7px}.cockpit-cost-nums strong{color:var(--ink-800);font-family:var(--font-display);font-size:16px}.cockpit-cost-nums em{margin-left:2px;color:var(--ink-400);font-family:var(--font-sans);font-size:6.5px;font-style:normal;font-weight:400}.cockpit-cost-bars{display:flex;flex-direction:column;gap:7px;padding-top:8px;border-top:1px solid #eef3f7}.cockpit-cost-bars>div{display:grid;grid-template-columns:58px 1fr 76px;align-items:center;gap:6px}.cockpit-cost-bars span{color:var(--ink-500);font-size:7px}.cockpit-cost-bars strong{color:var(--ink-600);font-size:7px;font-weight:550;text-align:right}.cockpit-cost-bars .progress-wrap{grid-column:1 / -1}.cockpit-todo-list{display:flex;flex-direction:column}.cockpit-todo-list>button{display:flex;align-items:center;gap:7px;width:100%;padding:7px 0;text-align:left;background:transparent;border:0;border-bottom:1px solid #f1f5f8;cursor:pointer}.cockpit-todo-list>button:last-child{border-bottom:0}.cockpit-todo-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0;color:var(--blue-700);background:var(--blue-100);border-radius:5px}.cockpit-todo-icon.red{color:var(--danger);background:var(--danger-bg)}.cockpit-todo-list button>span:nth-child(2){display:flex;flex:1;flex-direction:column;min-width:0}.cockpit-todo-list strong{overflow:hidden;color:var(--ink-700);font-size:8px;font-weight:550;text-overflow:ellipsis;white-space:nowrap}.cockpit-todo-list em{color:var(--ink-400);font-size:7px;font-style:normal}.cockpit-todo-list .icon{color:var(--ink-300)}.cockpit-live{display:inline-flex;align-items:center;gap:4px;color:var(--ink-400);font-size:7px}.cockpit-live .live-dot{margin:0}.cockpit-timeline-card .timeline{margin-top:3px}.cockpit-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:13px;padding:10px 14px;background:#fff;border:1px solid var(--line);border-radius:9px}.cockpit-bottom>span{display:inline-flex;align-items:center;gap:4px;color:var(--ink-400);font-size:7.5px}.cockpit-bottom>div{display:flex;gap:6px}.user-cell{display:flex;align-items:center;gap:7px;min-width:130px}.user-cell-avatar{display:inline-flex;align-items:center;justify-content:center;width:29px;height:29px;flex-shrink:0;color:#fff;background:linear-gradient(135deg,#4d89b7,#2c678f);border-radius:50%;font-size:9px;font-weight:600}.system-org,.system-scope{display:-webkit-box;max-width:160px;overflow:hidden;color:var(--ink-500);font-size:8px;line-height:1.4;-webkit-line-clamp:2;-webkit-box-orient:vertical}.system-login{color:var(--ink-400);font-size:7.5px;white-space:nowrap}.role-perm-card{margin-top:13px;padding:17px}.role-perm-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.role-perm-item{display:flex;align-items:flex-start;gap:8px;padding:11px;background:#fafcfe;border:1px solid #e9eff5;border-radius:8px}.role-perm-icon{display:inline-flex;align-items:center;justify-content:center;width:31px;height:31px;flex-shrink:0;border-radius:7px}.role-perm-item>div{flex:1}.role-perm-item strong{color:var(--ink-700);font-size:9px;font-weight:600}.role-perm-item p{margin-top:2px;color:var(--ink-400);font-size:7px;line-height:1.5}.role-perm-item em{display:block;margin-top:4px;color:var(--blue-700);font-size:6.5px;font-style:normal}.role-perm-item>.icon{color:var(--ink-300)}.log-table th{font-size:8px;padding:0 9px}.log-table td{font-size:8px;padding:9px}.log-time{color:var(--ink-500);font-size:7.5px;white-space:nowrap}.log-actor{display:flex;align-items:center;gap:5px;white-space:nowrap}.log-detail{text-align:center}.log-detail-icon{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;color:var(--blue-700);background:var(--blue-100);border-radius:12px}.log-detail h3{margin-top:8px;color:var(--ink-900);font-size:15px;font-weight:650}.log-detail>p{max-width:380px;margin:4px auto 13px;color:var(--ink-500);font-size:8.5px;line-height:1.65}.not-found{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:30px;text-align:center;background:radial-gradient(700px 400px at 50% 0%,#e7f1fa,transparent 70%),#f5f8fb}.not-found-code{color:#d4e4f0;font-family:var(--font-display);font-size:92px;font-weight:800;line-height:1;letter-spacing:-.06em}.not-found h1{margin-top:4px;color:var(--ink-900);font-size:24px;font-weight:650}.not-found p{margin-top:5px;color:var(--ink-500);font-size:11px}.not-found-actions{display:flex;gap:8px;margin-top:19px}@media (max-width: 1280px){.project-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quality-inspection-grid,.inventory-grid{grid-template-columns:repeat(2,1fr)}.safety-kpis{grid-template-columns:repeat(3,1fr)}.project-stat-grid,.units-stat-grid,.quality-stat-grid,.materials-stat-grid,.cost-stat-grid,.contract-stat-grid,.fund-stat-grid,.docs-stat-grid,.system-stat-grid,.progress-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.project-overview-grid,.issue-layout,.progress-layout,.inventory-layout,.settlement-layout,.cashflow-layout,.fund-layout,.reports-layout,.education-layout,.docs-layout{grid-template-columns:1fr}.project-side,.issue-side,.progress-side,.inventory-side,.education-side{display:grid;grid-template-columns:repeat(2,1fr);align-items:start}.docs-tree-card{position:static}.docs-tree-card{display:none}.project-new-grid{grid-template-columns:1fr}.project-new-side{position:static;display:grid;grid-template-columns:repeat(2,1fr)}.cockpit-grid{grid-template-columns:1fr}.role-perm-grid{grid-template-columns:repeat(2,1fr)}.ai-layout{grid-template-columns:1fr}}@media (max-width: 900px){.project-hero-main{grid-template-columns:auto 1fr}.project-hero-ring{display:none}.project-hero-stats,.cockpit-hero-stats{grid-template-columns:repeat(3,1fr);row-gap:9px}.project-hero-stats>div:nth-child(4),.cockpit-hero-stats>div:nth-child(4){padding-left:0;border-left:0}.project-hero-actions{flex-wrap:wrap}.project-risk-grid,.project-file-grid,.project-new-side,.project-side,.issue-side,.progress-side,.inventory-side,.education-side{grid-template-columns:1fr}.safety-kpis{grid-template-columns:repeat(2,1fr)}.ai-summary{grid-template-columns:repeat(3,1fr)}.camera-grid{grid-template-columns:repeat(2,1fr)}.ai-selected-body{grid-template-columns:1fr}.issue-flowbar{flex-wrap:wrap;gap:8px}.issue-flow-step{flex:0 0 45%}.issue-flow-line{display:none}.evidence-grid{grid-template-columns:repeat(2,1fr)}.rectification-compare{flex-wrap:wrap}.rectification-compare>div:not(.compare-result){width:42%}.compare-result{flex:1 1 100%;padding-left:0;border-left:0}.budget-donut-area{flex-direction:column;align-items:flex-start}.role-perm-grid{grid-template-columns:1fr}}.module-view-notice{display:flex;align-items:center;gap:6px;margin-bottom:12px;padding:8px 11px;color:#547287;background:#f4f9fd;border:1px solid #dfeaf4;border-radius:7px;font-size:9.5px;line-height:1.5}.module-view-notice>.icon{flex-shrink:0;color:#3e86b3}.module-view-notice strong{color:#266c9c;font-weight:600}.module-view-notice button{display:inline-flex;align-items:center;gap:2px;margin-left:auto;padding:0;flex-shrink:0;color:#2d73a4;background:transparent;border:0;font-size:8.5px;cursor:pointer}.bidding-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:13px}.bidding-flow{display:flex;align-items:center;margin-bottom:13px;padding:12px 16px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-xs)}.bidding-flow-step{display:flex;align-items:center;gap:7px;flex:1;min-width:0}.bidding-flow-num{color:#a1b3c2;font-family:var(--font-display);font-size:8px;font-weight:700}.bidding-flow-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;color:var(--blue-700);background:var(--blue-100);border:1px solid #dcebf7;border-radius:7px}.bidding-flow-step>div{display:flex;flex-direction:column;min-width:0}.bidding-flow-step strong{color:var(--ink-700);font-size:9px;font-weight:600;white-space:nowrap}.bidding-flow-step em{color:var(--ink-400);font-size:7px;font-style:normal;white-space:nowrap}.bidding-flow-step.active .bidding-flow-icon{color:#fff;background:var(--blue-600);border-color:var(--blue-600);box-shadow:0 0 0 3px #2875c214}.bidding-flow-line{display:flex;align-items:center;width:27px;flex-shrink:0;margin:0 8px;color:var(--ink-300)}.bidding-flow-line i{flex:1;height:1px;background:#dce6ef}.bidding-table th{font-size:9px;padding:0 9px}.bidding-table td{padding:10px 9px;font-size:10px}.bidding-table .cell-main strong{max-width:230px}.bidding-winner{display:-webkit-box;max-width:155px;overflow:hidden;color:var(--ink-600);font-size:9px;line-height:1.45;-webkit-line-clamp:2;-webkit-box-orient:vertical}.bidding-completeness{display:flex;align-items:center;gap:5px;min-width:95px}.bidding-completeness .progress-wrap{flex:1}.bidding-completeness em{color:var(--ink-500);font-size:7.5px;font-style:normal}.bidding-version{color:var(--blue-700);font-family:var(--font-display);font-size:9px;font-weight:650}.bidding-detail-banner{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:13px;padding:13px 14px;background:linear-gradient(135deg,#f3f9fe,#eef6fc);border:1px solid #dfeaf4;border-radius:10px}.bidding-detail-status{display:flex;align-items:center;gap:9px}.bidding-detail-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;flex-shrink:0;color:var(--blue-700);background:#fff;border:1px solid #d8e8f5;border-radius:9px}.bidding-detail-status>div,.bidding-detail-version{display:flex;flex-direction:column;gap:1px}.bidding-detail-status span,.bidding-detail-version span{color:var(--ink-400);font-size:7px}.bidding-detail-status strong{color:var(--ink-900);font-size:15px;font-weight:700}.bidding-detail-status em{color:var(--ink-500);font-size:7.5px;font-style:normal}.bidding-detail-version{padding-left:14px;border-left:1px solid #dce8f2}.bidding-detail-version strong{color:var(--blue-700);font-family:var(--font-display);font-size:15px}.bidding-detail-version em{color:var(--ink-400);font-size:7px;font-style:normal}.bidding-complete-strip{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;margin-bottom:14px;padding:9px 11px;background:#fafcfe;border:1px solid #eaf1f6;border-radius:7px}.bidding-complete-strip>div{display:flex;align-items:baseline;gap:5px}.bidding-complete-strip span{color:var(--ink-500);font-size:8px}.bidding-complete-strip strong{color:var(--ink-800);font-family:var(--font-display);font-size:13px}.bidding-complete-strip em{color:var(--ink-400);font-size:7px;font-style:normal;text-align:right}.bidding-section{margin-bottom:16px}.bidding-section>h4,.bidding-section-head h4{color:var(--ink-700);font-size:9.5px;font-weight:650}.bidding-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;margin-bottom:7px}.bidding-section-head>span{color:var(--ink-400);font-size:7px}.bidding-note{display:flex;align-items:flex-start;gap:5px;margin-top:9px;padding:8px 9px;color:var(--ink-500);background:#f8fbfd;border:1px solid #e9eff5;border-radius:6px;font-size:8px;line-height:1.55}.bidding-note .icon{flex-shrink:0;margin-top:1px;color:var(--blue-600)}.bidding-material-list{display:flex;flex-direction:column;gap:5px}.bidding-material-row{display:flex;align-items:center;gap:8px;padding:8px 9px;background:#fff;border:1px solid #e8eff5;border-radius:7px}.bidding-material-row.missing{background:#fffdf8;border-color:#f1e3cb}.bidding-material-icon{display:inline-flex;align-items:center;justify-content:center;width:29px;height:29px;flex-shrink:0;color:var(--blue-700);background:var(--blue-100);border-radius:6px}.bidding-material-row.missing .bidding-material-icon{color:var(--warning);background:var(--warning-bg)}.bidding-material-main{display:flex;flex:1;flex-direction:column;min-width:0}.bidding-material-main strong{color:var(--ink-700);font-size:8.5px;font-weight:550}.bidding-material-main strong em{margin-left:4px;padding:0 3px;color:var(--danger);background:var(--danger-bg);border-radius:2px;font-size:6px;font-style:normal}.bidding-material-main span{overflow:hidden;color:var(--ink-400);font-size:7px;text-overflow:ellipsis;white-space:nowrap}.bidding-material-action{padding:2px 7px;color:var(--blue-700);background:var(--blue-100);border:1px solid #d8e8f6;border-radius:4px;font-size:7px;cursor:pointer}.bidding-material-action:hover{background:#e0eefb}.bidding-upload-list{margin-top:16px;padding:11px 12px;background:#f9fbfd;border:1px solid #e8eff5;border-radius:8px}.bidding-upload-head{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;margin-bottom:5px}.bidding-upload-head strong{color:var(--ink-700);font-size:9px;font-weight:600}.bidding-upload-head span{color:var(--ink-400);font-size:7px}.bidding-upload-item{display:flex;align-items:center;gap:7px;padding:7px 2px;border-bottom:1px solid #edf2f6;cursor:pointer}.bidding-upload-item:last-child{border-bottom:0}.bidding-upload-item>span:nth-child(2){display:flex;flex:1;flex-direction:column}.bidding-upload-item strong{color:var(--ink-600);font-size:8.5px;font-weight:550}.bidding-upload-item em{color:var(--ink-400);font-size:7px;font-style:normal}.bidding-upload-item.checked strong{color:var(--ink-800)}.bidding-upload-modal{text-align:center}.bidding-upload-modal-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;margin-bottom:7px;color:var(--blue-700);background:var(--blue-100);border-radius:12px}.bidding-upload-modal>strong{display:block;color:var(--ink-800);font-size:11px;font-weight:600}.bidding-upload-modal>p{margin:3px auto 12px;max-width:320px;color:var(--ink-500);font-size:8.5px;line-height:1.6}.bidding-upload-modal .input{text-align:left}.bidding-file-hint{display:flex;align-items:center;justify-content:center;gap:4px;margin-top:7px;color:var(--ink-400);font-size:7px}.unit-role-tabs{display:flex;align-items:center;gap:5px;margin-bottom:11px;padding:4px;background:#eaf0f5;border-radius:8px;width:fit-content}.unit-role-tabs button{display:inline-flex;align-items:center;gap:5px;height:29px;padding:0 11px;color:var(--ink-500);background:transparent;border:0;border-radius:6px;font-size:9.5px;cursor:pointer}.unit-role-tabs button span{display:inline-flex;align-items:center;justify-content:center;min-width:15px;height:15px;padding:0 3px;color:var(--ink-500);background:#1423350f;border-radius:999px;font-size:7px}.unit-role-tabs button.active{color:var(--ink-900);background:#fff;font-weight:600;box-shadow:0 1px 4px #0e263e14}.unit-role-tabs button.active span{color:var(--blue-700);background:var(--blue-100)}.unit-lifecycle{display:flex;align-items:center;margin-bottom:13px;padding:10px 14px;background:#fff;border:1px solid var(--line);border-radius:9px}.unit-life-step{display:flex;align-items:center;gap:6px;flex:1;min-width:0}.unit-life-num{color:#a4b4c1;font-family:var(--font-display);font-size:7.5px;font-weight:700}.unit-life-icon{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;flex-shrink:0;color:var(--blue-700);background:var(--blue-100);border-radius:6px}.unit-life-step>div{display:flex;flex-direction:column;min-width:0}.unit-life-step strong{color:var(--ink-600);font-size:8px;font-weight:600;white-space:nowrap}.unit-life-step em{color:var(--ink-400);font-size:6.5px;font-style:normal;white-space:nowrap}.unit-life-line{display:flex;align-items:center;width:24px;margin:0 6px;color:var(--ink-300)}.unit-life-line i{flex:1;height:1px;background:#dce6ef}.units-table th{font-size:9px;padding:0 9px}.units-table td{padding:10px 9px;font-size:10px}.units-table .cell-main strong{max-width:220px}.unit-rating{display:inline-flex;align-items:center;gap:3px;color:var(--ink-600);font-size:8px}.unit-rating .icon{color:var(--success)}.unit-detail-banner{display:flex;align-items:center;gap:10px;margin-bottom:15px;padding:13px;background:linear-gradient(135deg,#f4fafe,#eef7fc);border:1px solid #dfebf4;border-radius:10px}.unit-detail-avatar{display:inline-flex;align-items:center;justify-content:center;width:45px;height:45px;flex-shrink:0;color:#fff;background:linear-gradient(145deg,#4084b2,#23648e);border-radius:11px;font-size:16px;font-weight:650}.unit-detail-banner>div{display:flex;flex:1;flex-direction:column;gap:1px}.unit-detail-banner span{color:var(--ink-400);font-size:7px}.unit-detail-banner strong{color:var(--ink-800);font-size:11px;font-weight:650}.unit-detail-banner em{color:var(--ink-500);font-size:7.5px;font-style:normal}.unit-detail-section{margin-bottom:16px}.unit-detail-section h4{margin-bottom:7px;color:var(--ink-700);font-size:9.5px;font-weight:650}.unit-detail-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;margin-bottom:7px}.unit-detail-section-head h4{margin-bottom:0}.unit-detail-section-head span{color:var(--ink-400);font-size:7px}.unit-linked-project{display:flex;align-items:center;gap:7px;margin-bottom:8px;padding:8px 9px;background:#fafcfe;border:1px solid #eaf1f6;border-radius:7px}.unit-linked-icon{display:inline-flex;align-items:center;justify-content:center;width:29px;height:29px;flex-shrink:0;color:var(--blue-700);background:var(--blue-100);border-radius:6px}.unit-linked-project>div{display:flex;flex:1;flex-direction:column}.unit-linked-project strong{color:var(--ink-600);font-size:8.5px;font-weight:550}.unit-linked-project em{color:var(--ink-400);font-size:7px;font-style:normal}.unit-qualification-list{display:flex;flex-direction:column;gap:6px}.unit-qualification-list>div{display:flex;align-items:flex-start;gap:6px;padding:8px 9px;background:#fafcfe;border:1px solid #edf2f6;border-radius:6px}.unit-qualification-list span{width:50px;flex-shrink:0;color:var(--ink-400);font-size:7.5px}.unit-qualification-list strong{color:var(--ink-600);font-size:8px;font-weight:550}.unit-qualification-list em{flex:1;color:var(--ink-400);font-size:7px;font-style:normal}.unit-qualification-list .badge{margin-left:auto}.periodic-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:12px}.periodic-head-kicker{display:flex;align-items:center;gap:4px;color:#2d76a8;font-size:8px;font-weight:700;letter-spacing:.12em}.periodic-head h2{margin-top:4px;color:var(--ink-900);font-size:18px;font-weight:700;letter-spacing:-.025em}.periodic-head p{margin-top:3px;color:var(--ink-500);font-size:8.5px}.periodic-head-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.periodic-flow{display:flex;align-items:center;margin-bottom:12px;padding:9px 13px;background:#fff;border:1px solid var(--line);border-radius:9px}.periodic-flow-step{display:flex;align-items:center;gap:6px;flex:1;min-width:0}.periodic-flow-step>span{color:#a2b2bf;font-family:var(--font-display);font-size:7.5px;font-weight:700}.periodic-flow-step>i{display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;flex-shrink:0;color:var(--blue-700);background:var(--blue-100);border-radius:6px}.periodic-flow-step>div{display:flex;flex-direction:column;min-width:0}.periodic-flow-step strong{color:var(--ink-600);font-size:8px;font-weight:600;white-space:nowrap}.periodic-flow-step em{color:var(--ink-400);font-size:6.5px;font-style:normal;white-space:nowrap}.periodic-flow-line{width:20px;height:1px;margin:0 6px;flex-shrink:0;background:#dce6ef}.periodic-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:12px}.periodic-table th{font-size:8.5px;padding:0 8px}.periodic-table td{padding:9px 8px;font-size:9px}.periodic-table .cell-main strong{max-width:245px}.periodic-progress-cell{min-width:100px}.periodic-progress-cell>div{display:flex;align-items:baseline;gap:3px;margin-bottom:4px}.periodic-progress-cell span{color:var(--ink-400);font-size:8px}.periodic-progress-cell em{color:var(--ink-300);font-size:7px;font-style:normal}.periodic-progress-cell strong{color:var(--ink-700);font-size:8.5px}.periodic-issue-cell{display:inline-flex;align-items:baseline;gap:2px;white-space:nowrap}.periodic-issue-cell b{font-family:var(--font-display);font-size:10px}.periodic-issue-cell b.danger{color:var(--danger)}.periodic-issue-cell b.success{color:var(--success)}.periodic-issue-cell em{margin-right:3px;color:var(--ink-400);font-size:6.5px;font-style:normal}.periodic-detail-banner{margin-bottom:14px;padding:13px;background:linear-gradient(135deg,#f3f9fe,#eef7fc);border:1px solid #dfeaf4;border-radius:10px}.periodic-detail-head{display:flex;align-items:flex-start;gap:9px}.periodic-type{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;flex-shrink:0;color:#fff;background:linear-gradient(145deg,#3e85b7,#24658f);border-radius:8px;font-size:9px;font-weight:650}.periodic-type.month{background:linear-gradient(145deg,#7773bd,#56539b)}.periodic-detail-head>div{flex:1;display:flex;flex-direction:column;min-width:0}.periodic-detail-head span{color:var(--ink-400);font-size:7px}.periodic-detail-head h3{margin-top:1px;color:var(--ink-800);font-size:10.5px;font-weight:650}.periodic-detail-head em{margin-top:1px;color:var(--ink-500);font-size:7.5px;font-style:normal}.periodic-detail-head .status-pill{flex-shrink:0}.periodic-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:10px;padding-top:9px;border-top:1px solid #dce8f2}.periodic-kpis>div{display:flex;flex-direction:column;gap:1px}.periodic-kpis span{color:var(--ink-400);font-size:7px}.periodic-kpis strong{color:var(--ink-800);font-family:var(--font-display);font-size:16px;font-weight:700}.periodic-kpis strong.blue{color:var(--blue-700)}.periodic-kpis strong.red{color:var(--danger)}.periodic-kpis strong.green{color:var(--success)}.periodic-kpis strong em{color:var(--danger);font-family:var(--font-display);font-size:11px;font-style:normal}.periodic-kpis strong b{color:var(--success);font-family:var(--font-display);font-size:11px;font-weight:700}.periodic-section{margin-bottom:14px}.periodic-section h4{display:flex;align-items:center;gap:5px;margin-bottom:5px;color:var(--ink-700);font-size:9.5px;font-weight:650}.periodic-section h4>span{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;color:var(--blue-700);background:var(--blue-100);border-radius:4px;font-family:var(--font-display);font-size:6.5px}.periodic-section p{padding:8px 10px;color:var(--ink-600);background:#fafcfe;border:1px solid #e9eff5;border-radius:6px;font-size:8.5px;line-height:1.75}.periodic-section.risk p{color:#7f5e2e;background:#fffbf3;border-color:#f1e5d0}.periodic-section.coordination p{color:#486b7e;background:#f5faff;border-color:#dfeef7}.periodic-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;margin-bottom:7px}.periodic-section-head h4{margin-bottom:0}.periodic-section-head span{color:var(--ink-400);font-size:7px}.periodic-compare{margin-bottom:15px;padding:10px 11px;background:#fff;border:1px solid #e8eff5;border-radius:8px}.periodic-compare-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.periodic-compare-grid>div{display:flex;flex-direction:column;gap:1px;padding:7px 8px;background:#f9fbfd;border:1px solid #edf2f6;border-radius:5px}.periodic-compare-grid span{color:var(--ink-400);font-size:6.5px}.periodic-compare-grid strong{color:var(--ink-700);font-size:8px;font-weight:600}.periodic-compare-grid em{color:var(--ink-400);font-size:6.5px;font-style:normal}.periodic-compare-grid em.up{color:var(--success)}.periodic-compare-grid em.down{color:var(--warning)}.periodic-no-compare{display:flex;align-items:center;gap:4px;padding:6px;color:var(--ink-400);font-size:7.5px}.periodic-attachments{display:flex;align-items:center;gap:5px;margin-top:8px;padding-top:8px;border-top:1px solid #eef3f7;color:var(--ink-500);font-size:7.5px}.periodic-attachments .icon{color:var(--blue-600)}.periodic-attachments button{margin-left:auto;padding:0;color:var(--blue-700);background:transparent;border:0;font-size:7.5px;cursor:pointer}.periodic-form-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:13px;padding:7px 8px;background:#f7fafc;border:1px solid #e9eff5;border-radius:7px}.periodic-type-switch{display:inline-flex;gap:3px;padding:2px;background:#eaf0f5;border-radius:6px}.periodic-type-switch button{height:25px;padding:0 12px;color:var(--ink-500);background:transparent;border:0;border-radius:4px;font-size:8px;cursor:pointer}.periodic-type-switch button.active{color:var(--ink-900);background:#fff;font-weight:600;box-shadow:0 1px 3px #0e263e14}.quality-inspection-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:11px;padding:10px 12px;background:#fff;border:1px solid var(--line);border-radius:9px;box-shadow:var(--shadow-xs)}.quality-inspection-toolbar>div{display:flex;flex-direction:column;gap:1px}.quality-inspection-toolbar strong{color:var(--ink-800);font-size:10px;font-weight:650}.quality-inspection-toolbar span{color:var(--ink-400);font-size:7.5px}.quality-inspection-card.running{border-color:#cfe4f4;box-shadow:0 0 0 2px #2d76a80a}.quality-inspection-progress{margin:8px 0 2px;padding-top:7px;border-top:1px solid #edf2f6}.quality-inspection-progress>div{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.quality-inspection-progress span{color:var(--ink-400);font-size:7px}.quality-inspection-progress em{color:var(--ink-600);font-family:var(--font-display);font-size:8px;font-style:normal}.inspection-wizard-steps{display:flex;align-items:center;margin-bottom:16px;padding:10px 12px;background:#f7fafc;border:1px solid #e9eff5;border-radius:8px}.inspection-wizard-step{display:flex;align-items:center;gap:5px;flex-shrink:0}.inspection-wizard-step>span{display:inline-flex;align-items:center;justify-content:center;width:21px;height:21px;color:var(--ink-400);background:#fff;border:1px solid #dce7ef;border-radius:50%;font-size:7px;font-weight:650}.inspection-wizard-step>em{color:var(--ink-400);font-size:8px;font-style:normal;white-space:nowrap}.inspection-wizard-step.active>span{color:#fff;background:var(--blue-600);border-color:var(--blue-600)}.inspection-wizard-step.active>em{color:var(--ink-800);font-weight:600}.inspection-wizard-step.done>span{color:#fff;background:var(--success);border-color:var(--success)}.inspection-wizard-step.done>em{color:var(--ink-600)}.inspection-wizard-line{flex:1;height:1px;margin:0 10px;background:#dde8f0}.inspection-wizard-line.done{background:#9fceb4}.inspection-check-head{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;margin-bottom:8px}.inspection-check-head>div{display:flex;flex-direction:column;gap:2px}.inspection-check-head strong{color:var(--ink-800);font-size:10px}.inspection-check-head span{color:var(--ink-400);font-size:7.5px}.inspection-check-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.inspection-check-option{display:flex;align-items:center;gap:7px;min-height:45px;padding:7px 9px;background:#fff;border:1px solid #e6eef4;border-radius:7px;cursor:pointer}.inspection-check-option.checked{background:#f4faff;border-color:#bdd9ec}.inspection-check-option>span{display:flex;flex:1;flex-direction:column;gap:1px}.inspection-check-option strong{color:var(--ink-600);font-size:8.5px;font-weight:550}.inspection-check-option em{color:var(--ink-400);font-size:7px;font-style:normal}.inspection-check-option .icon{color:var(--blue-600)}.inspection-confirm-summary{display:flex;align-items:center;gap:10px;padding:11px;background:linear-gradient(135deg,#f3f9fe,#edf6fc);border:1px solid #dfeaf4;border-radius:8px}.inspection-confirm-cover{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;color:var(--blue-700);background:#fff;border-radius:9px}.inspection-confirm-summary>div:nth-child(2){flex:1;display:flex;flex-direction:column;gap:1px}.inspection-confirm-summary span{color:var(--ink-400);font-size:7px}.inspection-confirm-summary h3{color:var(--ink-800);font-size:10px;font-weight:650}.inspection-confirm-summary p{color:var(--ink-500);font-size:7.5px}.inspection-summary-list{margin-top:9px;padding:8px 10px;background:#fafcfe;border:1px solid #e9eff5;border-radius:6px}.inspection-summary-list>div{display:flex;gap:8px;padding:3px 0}.inspection-summary-list span{width:62px;flex-shrink:0;color:var(--ink-400);font-size:7.5px}.inspection-summary-list strong{color:var(--ink-600);font-size:7.8px;font-weight:500;line-height:1.6}.inspection-detail-banner{margin-bottom:12px;padding:12px;background:linear-gradient(135deg,#f3f9fe,#edf6fc);border:1px solid #dfeaf4;border-radius:9px}.inspection-detail-banner.running{background:linear-gradient(135deg,#f1f9ff,#eaf5fc)}.inspection-detail-head{display:flex;align-items:flex-start;gap:8px}.inspection-detail-icon{display:inline-flex;align-items:center;justify-content:center;width:37px;height:37px;flex-shrink:0;color:var(--blue-700);background:#fff;border-radius:8px}.inspection-detail-head>div{flex:1;display:flex;flex-direction:column;gap:1px}.inspection-detail-head span{color:var(--ink-400);font-size:7px}.inspection-detail-head h3{color:var(--ink-900);font-size:11px;font-weight:650}.inspection-detail-head em{color:var(--ink-500);font-size:7.5px;font-style:normal}.inspection-detail-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:11px;padding-top:9px;border-top:1px solid #dce8f2}.inspection-detail-kpis>div{display:flex;flex-direction:column;gap:1px}.inspection-detail-kpis span{color:var(--ink-400);font-size:6.8px}.inspection-detail-kpis strong{color:var(--ink-800);font-family:var(--font-display);font-size:15px;font-weight:700}.inspection-detail-kpis strong.red{color:var(--danger)}.inspection-detail-progress{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:7px;margin-top:8px}.inspection-detail-progress>span{color:var(--ink-400);font-size:7px}.inspection-detail-progress>em{color:var(--ink-600);font-family:var(--font-display);font-size:8px;font-style:normal}.inspection-detail-info{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;margin-bottom:12px;overflow:hidden;background:#e8eff5;border:1px solid #e8eff5;border-radius:7px}.inspection-detail-info>div{display:flex;flex-direction:column;gap:2px;padding:7px 9px;background:#fff}.inspection-detail-info span{color:var(--ink-400);font-size:6.8px}.inspection-detail-info strong{color:var(--ink-700);font-size:8px;font-weight:550}.inspection-detail-note{display:flex;align-items:flex-start;gap:5px;margin-bottom:12px;padding:8px 9px;color:var(--ink-500);background:#fafcfe;border:1px solid #e9eff5;border-radius:6px;font-size:7.8px;line-height:1.6}.inspection-detail-note .icon{flex-shrink:0;margin-top:1px;color:var(--blue-600)}.inspection-detail-section{margin-bottom:14px}.inspection-detail-section h4{margin-bottom:7px;color:var(--ink-700);font-size:9.5px;font-weight:650}.inspection-detail-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;margin-bottom:7px}.inspection-detail-section-head h4{margin-bottom:0}.inspection-detail-section-head span{color:var(--ink-400);font-size:7px}.inspection-check-items{display:flex;flex-direction:column;gap:5px}.inspection-check-item{display:flex;align-items:flex-start;gap:7px;padding:8px;background:#fff;border:1px solid #e8eff5;border-radius:6px}.inspection-check-item.result-bad{background:#fffaf8;border-color:#f0ddd5}.inspection-check-item.result-good{background:#fbfefc}.inspection-check-index{color:#a4b4c1;font-family:var(--font-display);font-size:7px;padding-top:2px}.inspection-check-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.inspection-check-main strong{color:var(--ink-700);font-size:8.3px;font-weight:550}.inspection-check-main em{color:var(--ink-400);font-size:7px;font-style:normal}.inspection-check-main input{width:100%;padding:4px 6px;color:var(--ink-600);background:#fbfdfe;border:1px solid #e8eff5;border-radius:4px;font-family:inherit;font-size:7.5px;outline:0}.inspection-check-main input:focus{border-color:#b8d7eb;background:#fff}.inspection-result-actions{display:flex;gap:3px;flex-shrink:0;padding-top:1px}.inspection-result-actions button{height:22px;padding:0 6px;color:var(--ink-500);background:#fff;border:1px solid #e2ebf2;border-radius:4px;font-size:7px;cursor:pointer}.inspection-result-actions button:hover{border-color:#b9d6e8;color:var(--blue-700)}.inspection-result-actions button.active{color:#fff;background:var(--blue-600);border-color:var(--blue-600)}.inspection-result-actions button.danger.active{background:var(--danger);border-color:var(--danger)}.inspection-tip{display:flex;align-items:flex-start;gap:5px;margin-bottom:13px;padding:8px 9px;color:var(--ink-500);background:#f6fafd;border:1px solid #e3eef6;border-radius:6px;font-size:7.5px;line-height:1.6}.inspection-tip .icon{flex-shrink:0;margin-top:1px;color:var(--blue-600)}.inspection-timeline{padding-left:3px}.inspection-timeline>div{display:flex;gap:7px;padding:0 0 10px}.inspection-timeline>div>span{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0;color:var(--blue-700);background:var(--blue-100);border-radius:50%}.inspection-timeline>div>div{display:flex;flex-direction:column;gap:1px}.inspection-timeline strong{color:var(--ink-600);font-size:8px;font-weight:550}.inspection-timeline em{color:var(--ink-400);font-size:7px;font-style:normal}.inspection-complete-note{display:inline-flex;align-items:center;gap:4px;color:var(--success);font-size:8px}button.role-perm-item{width:100%;text-align:left;font-family:inherit;cursor:pointer}.role-perm-item:hover{background:#f6fbfe;border-color:#c9dfea;transform:translateY(-1px);box-shadow:0 4px 12px #143d570f}.role-perm-item:focus-visible{outline:2px solid #9dcde8;outline-offset:2px}.role-detail-banner{margin-bottom:13px;padding:13px;background:linear-gradient(135deg,#f5fafe,#eef7fc);border:1px solid #dfeaf4;border-radius:10px}.role-detail-banner.tone-purple{background:linear-gradient(135deg,#f8f6fd,#f2effb);border-color:#e6dff4}.role-detail-banner.tone-teal{background:linear-gradient(135deg,#f3fbf9,#ecf8f5);border-color:#d9eee9}.role-detail-banner.tone-gray{background:linear-gradient(135deg,#f7f9fb,#eff3f6);border-color:#e1e8ee}.role-detail-head{display:flex;align-items:flex-start;gap:9px}.role-detail-icon{display:inline-flex;align-items:center;justify-content:center;width:43px;height:43px;flex-shrink:0;color:var(--blue-700);background:#fff;border-radius:9px;box-shadow:0 2px 6px #2055730f}.role-detail-banner.tone-purple .role-detail-icon{color:#6b5da8}.role-detail-banner.tone-teal .role-detail-icon{color:#247d6c}.role-detail-banner.tone-gray .role-detail-icon{color:#5a6c7b}.role-detail-head>div:nth-child(2){flex:1;display:flex;flex-direction:column;gap:1px}.role-detail-head span{color:var(--ink-400);font-size:6.8px}.role-detail-head h3{color:var(--ink-900);font-size:14px;font-weight:700}.role-detail-head p{color:var(--ink-500);font-size:8px;line-height:1.6}.role-detail-head .badge{flex-shrink:0;margin-top:2px}.role-detail-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:11px;padding-top:9px;border-top:1px solid rgba(72,117,145,.13)}.role-detail-stats>div{display:flex;align-items:baseline;gap:2px;flex-wrap:wrap}.role-detail-stats span{width:100%;color:var(--ink-400);font-size:6.6px}.role-detail-stats strong{color:var(--ink-800);font-family:var(--font-display);font-size:16px;font-weight:700}.role-detail-stats em{color:var(--ink-400);font-size:6.8px;font-style:normal}.role-switch-tabs{display:flex;gap:4px;margin-bottom:14px;padding:4px;background:#eef3f7;border-radius:8px}.role-switch-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:4px;flex:1;height:29px;padding:0 5px;color:var(--ink-500);background:transparent;border:0;border-radius:5px;font-family:inherit;font-size:7.8px;cursor:pointer;white-space:nowrap}.role-switch-tabs button span{color:var(--ink-400);font-family:var(--font-display);font-size:6.5px}.role-switch-tabs button.active{color:var(--ink-900);background:#fff;font-weight:600;box-shadow:0 1px 4px #0e263e14}.role-switch-tabs button.active span{color:var(--blue-700)}.role-detail-section{margin-bottom:14px}.role-detail-section>h4{display:flex;align-items:center;gap:4px;margin-bottom:7px;color:var(--ink-700);font-size:9.3px;font-weight:650}.role-detail-section>h4 .icon{color:var(--blue-600)}.role-detail-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;margin-bottom:7px}.role-detail-section-head h4{display:flex;align-items:center;gap:4px;margin:0;color:var(--ink-700);font-size:9.3px;font-weight:650}.role-detail-section-head span{color:var(--ink-400);font-size:6.8px}.role-scope-box{display:flex;align-items:center;gap:8px;padding:9px;background:#fafcfe;border:1px solid #e9eff5;border-radius:7px}.role-scope-icon{display:inline-flex;align-items:center;justify-content:center;width:31px;height:31px;flex-shrink:0;color:var(--blue-700);background:var(--blue-100);border-radius:6px}.role-scope-box>div{display:flex;flex-direction:column;gap:1px}.role-scope-box span{color:var(--ink-400);font-size:6.8px}.role-scope-box strong{color:var(--ink-800);font-size:9px;font-weight:600}.role-scope-box em{color:var(--ink-400);font-size:6.8px;font-style:normal}.role-menu-list{overflow:hidden;border:1px solid #e8eff5;border-radius:7px}.role-menu-row{display:grid;grid-template-columns:1.15fr 44px 2fr;align-items:center;gap:6px;padding:7px 8px;background:#fff;border-bottom:1px solid #eef3f7}.role-menu-row:last-child{border-bottom:0}.role-menu-name{display:flex;align-items:center;gap:4px;color:var(--ink-600);font-size:7.6px;font-weight:550}.role-menu-name .icon{flex-shrink:0;color:var(--ink-400)}.role-menu-row .badge{justify-content:center;font-size:6.5px}.role-menu-actions{color:var(--ink-500);font-size:7.2px;line-height:1.45}.role-action-chips{display:flex;flex-wrap:wrap;gap:5px}.role-action-chips span{display:inline-flex;align-items:center;gap:3px;padding:5px 7px;color:#2f6e59;background:#f1faf5;border:1px solid #dcefe3;border-radius:5px;font-size:7.2px}.role-action-chips .icon{color:#3b8b6b}.role-restriction-list{display:flex;flex-direction:column;gap:5px}.role-restriction-list>div{display:flex;align-items:flex-start;gap:5px;padding:6px 7px;color:var(--ink-500);background:#fffaf6;border:1px solid #f1e8de;border-radius:5px;font-size:7.3px;line-height:1.5}.role-restriction-list span{flex-shrink:0;color:#b7834d}.role-detail-note{display:flex;align-items:flex-start;gap:5px;padding:8px 9px;color:var(--ink-500);background:#f7fbfd;border:1px solid #e6eff5;border-radius:6px;font-size:7.2px;line-height:1.55}.role-detail-note .icon{flex-shrink:0;margin-top:1px;color:var(--blue-600)}.account-custom-tag{display:inline-flex;margin-left:4px;padding:1px 4px;color:#8a6a2c;background:#fbf4e6;border-radius:3px;font-size:6px;white-space:nowrap}.account-perm-banner{display:flex;align-items:center;gap:9px;margin-bottom:11px;padding:12px;background:linear-gradient(135deg,#f4fafe,#eef7fc);border:1px solid #dfeaf4;border-radius:9px}.account-perm-avatar{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;flex-shrink:0;color:#fff;background:linear-gradient(145deg,#3d82b1,#23658e);border-radius:10px;font-size:14px;font-weight:650}.account-perm-banner>div:nth-child(2){flex:1;display:flex;flex-direction:column;gap:1px}.account-perm-banner span{color:var(--ink-400);font-size:6.8px}.account-perm-banner h3{color:var(--ink-900);font-size:12px;font-weight:700}.account-perm-banner em{color:var(--ink-500);font-size:7.5px;font-style:normal}.account-perm-banner-right{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.account-perm-info{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-bottom:13px;overflow:hidden;background:#e8eff5;border:1px solid #e8eff5;border-radius:7px}.account-perm-info>div{display:flex;flex-direction:column;gap:2px;padding:7px 8px;background:#fff}.account-perm-info span{color:var(--ink-400);font-size:6.5px}.account-perm-info strong{color:var(--ink-700);font-size:7.8px;font-weight:550}.account-perm-section{margin-bottom:14px}.account-perm-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;margin-bottom:7px}.account-perm-section-head h4{display:flex;align-items:center;gap:4px;margin:0;color:var(--ink-700);font-size:9.4px;font-weight:650}.account-perm-section-head h4 .icon{color:var(--blue-600)}.account-perm-section-head span{color:var(--ink-400);font-size:6.8px}.account-perm-section-head span strong{color:var(--blue-700);font-family:var(--font-display)}.account-perm-form{padding:9px;background:#fafcfe;border:1px solid #e9eff5;border-radius:7px}.account-scope-tags{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin-top:7px}.account-scope-tags>span{color:var(--ink-400);font-size:6.8px}.account-scope-tags em{display:inline-flex;align-items:center;gap:3px;padding:3px 6px;color:#38705d;background:#f0f9f5;border:1px solid #dcefe4;border-radius:4px;font-size:6.8px;font-style:normal}.account-scope-tags .icon{color:#3f8c6d}.account-role-hint{display:flex;align-items:center;gap:4px;margin-top:7px;padding:6px 7px;color:#836a3d;background:#fffaf1;border:1px solid #f1e7d7;border-radius:5px;font-size:6.8px}.account-perm-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.account-perm-group{padding:8px;background:#fff;border:1px solid #e8eff5;border-radius:7px}.account-perm-group-head{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:6px;padding-bottom:5px;border-bottom:1px solid #eef3f7}.account-perm-group-head>span{display:flex;align-items:center;gap:4px;color:var(--ink-600);font-size:7.8px;font-weight:600}.account-perm-group-head .icon{color:var(--blue-600)}.account-perm-group-head em{color:var(--ink-400);font-family:var(--font-display);font-size:6.2px;font-style:normal;font-weight:400}.account-perm-group-head button{padding:0;color:var(--blue-700);background:transparent;border:0;font-size:6.5px;cursor:pointer}.account-perm-checkboxes{display:flex;flex-wrap:wrap;gap:4px 7px}.account-perm-check{display:inline-flex;align-items:center;gap:3px;color:var(--ink-500);font-size:6.9px;cursor:pointer}.account-perm-check.checked{color:var(--ink-700)}.account-perm-notice{display:flex;align-items:flex-start;gap:5px;padding:8px 9px;color:var(--ink-500);background:#f7fbfd;border:1px solid #e6eff5;border-radius:6px;font-size:7.2px;line-height:1.55}.account-perm-notice.custom{color:#7d6438;background:#fffaf2;border-color:#f1e6d2}.account-perm-notice .icon{flex-shrink:0;margin-top:1px;color:var(--blue-600)}.account-perm-notice.custom .icon{color:#b88643}.record-detail{padding-bottom:4px}.record-detail-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;padding:12px;background:linear-gradient(135deg,#f4fafe,#eef7fc);border:1px solid #dfeaf4;border-radius:9px}.record-detail-banner>div:first-child{display:flex;flex-direction:column;gap:1px;min-width:0}.record-detail-banner span{color:var(--ink-400);font-size:6.8px}.record-detail-banner strong{color:var(--ink-900);font-size:12px;font-weight:700}.record-detail-banner em{color:var(--ink-500);font-size:7.2px;font-style:normal}.record-detail-amount{display:flex;flex-direction:column;align-items:flex-end;gap:3px;flex-shrink:0}.record-detail-amount strong{color:var(--blue-700);font-family:var(--font-display);font-size:17px}.record-detail-amount strong em{font-family:inherit;font-size:7px;font-style:normal}.record-detail-section{margin-bottom:14px}.record-detail-section h4{margin-bottom:7px;color:var(--ink-700);font-size:9.3px;font-weight:650}.record-detail-note{padding:8px 9px;color:var(--ink-500);background:#fafcfe;border:1px solid #e9eff5;border-radius:6px;font-size:7.6px;line-height:1.65}.stock-ledger-list{display:flex;flex-direction:column;gap:5px}.stock-ledger-list>div{display:flex;align-items:center;gap:7px;padding:7px 8px;background:#fafcfe;border:1px solid #e9eff5;border-radius:6px}.stock-ledger-type{display:inline-flex;align-items:center;justify-content:center;width:30px;height:22px;flex-shrink:0;border-radius:4px;font-size:6.5px}.stock-ledger-type.in{color:#2f7c5e;background:#eaf7f0}.stock-ledger-type.out{color:#2e6b91;background:#edf6fb}.stock-ledger-list>div>div{flex:1;display:flex;flex-direction:column;gap:1px}.stock-ledger-list strong{color:var(--ink-600);font-size:7.8px;font-weight:550}.stock-ledger-list em{color:var(--ink-400);font-size:6.6px;font-style:normal}.stock-ledger-list b{color:var(--ink-400);font-family:var(--font-display);font-size:6.2px;font-weight:400}.record-stock-health{padding:9px;background:#fafcfe;border:1px solid #e9eff5;border-radius:7px}.record-stock-health>div{display:flex;justify-content:space-between;margin-bottom:5px}.record-stock-health span{color:var(--ink-600);font-size:7.6px}.record-stock-health em{color:var(--ink-400);font-size:7px;font-style:normal}.record-stock-health p{margin-top:5px;color:var(--ink-400);font-size:7px}.record-file-list{display:flex;flex-direction:column;gap:5px}.record-file-list>div{display:flex;align-items:center;gap:6px;padding:7px 8px;background:#fafcfe;border:1px solid #e9eff5;border-radius:5px}.record-file-list .icon{color:var(--blue-600);flex-shrink:0}.record-file-list span{flex:1;color:var(--ink-600);font-size:7.6px}.record-file-list em{color:var(--ink-400);font-size:6.8px;font-style:normal}.acceptance-check-list{display:flex;flex-direction:column;gap:5px}.acceptance-check-list>div{display:flex;align-items:center;gap:7px;padding:7px 8px;background:#fafcfe;border:1px solid #e9eff5;border-radius:5px}.acceptance-check-type{width:47px;flex-shrink:0;color:var(--blue-700);font-size:6.8px}.acceptance-check-list p{flex:1;color:var(--ink-600);font-size:7.4px;line-height:1.5}.acceptance-signatures{display:grid;grid-template-columns:repeat(2,1fr);gap:5px}.acceptance-signatures>div{display:flex;flex-direction:column;gap:2px;padding:7px 8px;background:#fafcfe;border:1px solid #e9eff5;border-radius:5px}.acceptance-signatures span{color:var(--ink-400);font-size:6.6px}.acceptance-signatures strong{color:var(--ink-700);font-size:7.8px;font-weight:550}.acceptance-signatures em{color:var(--ink-400);font-size:6.5px;font-style:normal}.task-progress-detail{display:flex;flex-direction:column;gap:8px;padding:9px;background:#fafcfe;border:1px solid #e9eff5;border-radius:7px}.task-progress-detail>div{display:grid;grid-template-columns:72px 36px 1fr;align-items:center;gap:7px}.task-progress-detail span{color:var(--ink-400);font-size:7px}.task-progress-detail strong{color:var(--ink-700);font-family:var(--font-display);font-size:9px}.education-detail-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.education-detail-stats>div{display:flex;align-items:baseline;gap:2px;flex-wrap:wrap;padding:8px;background:#fafcfe;border:1px solid #e9eff5;border-radius:6px}.education-detail-stats span{width:100%;color:var(--ink-400);font-size:6.6px}.education-detail-stats strong{color:var(--ink-800);font-family:var(--font-display);font-size:16px}.education-detail-stats em{color:var(--ink-400);font-size:6.8px;font-style:normal}.education-detail-progress{display:flex;align-items:center;gap:7px;margin-top:6px}.education-detail-progress span{color:var(--ink-400);font-size:6.8px;white-space:nowrap}.education-content-list{display:flex;flex-direction:column;gap:5px}.education-content-list>div{display:flex;gap:7px;padding:7px 8px;background:#fafcfe;border:1px solid #e9eff5;border-radius:5px}.education-content-list span{color:var(--blue-700);font-family:var(--font-display);font-size:6.8px}.education-content-list p{color:var(--ink-600);font-size:7.4px;line-height:1.5}.education-attendance-list{display:flex;flex-direction:column;gap:4px}.education-attendance-list>div{display:flex;align-items:center;gap:7px;padding:6px 8px;background:#fafcfe;border:1px solid #edf2f6;border-radius:5px}.education-attendance-list>div>div{flex:1;display:flex;flex-direction:column;gap:1px}.education-attendance-list strong{color:var(--ink-600);font-size:7.8px;font-weight:550}.education-attendance-list em{color:var(--ink-400);font-size:6.5px;font-style:normal}.education-qr-modal{text-align:center}.education-qr{position:relative;width:178px;height:178px;margin:0 auto 10px;padding:8px;background:#fff;border:1px solid #dfe9f0;border-radius:8px;box-shadow:0 4px 16px #18456014}.education-qr svg{display:block;width:100%;height:100%}.education-qr-center{position:absolute;top:50%;left:50%;display:flex;align-items:center;justify-content:center;width:34px;height:34px;color:#fff;background:var(--blue-700);border:4px solid #fff;border-radius:7px;transform:translate(-50%,-50%)}.education-qr-modal h3{color:var(--ink-900);font-size:13px;font-weight:700}.education-qr-modal>p{max-width:330px;margin:3px auto 10px;color:var(--ink-500);font-size:7.8px;line-height:1.6}.education-qr-meta{display:flex;justify-content:center;gap:16px;padding:7px 0;border-top:1px solid #edf2f6;border-bottom:1px solid #edf2f6}.education-qr-meta span{color:var(--ink-400);font-size:6.8px}.education-qr-meta strong{color:var(--ink-700);font-family:var(--font-display);font-size:7.2px}.education-qr-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:9px}.education-qr-stats>div{display:flex;flex-direction:column;gap:1px;padding:7px;background:#fafcfe;border-radius:5px}.education-qr-stats strong{color:var(--blue-700);font-family:var(--font-display);font-size:15px}.education-qr-stats span{color:var(--ink-400);font-size:6.5px}.education-people-list{display:flex;flex-direction:column;gap:4px;max-height:460px;overflow-y:auto}.education-people-list>div{display:flex;align-items:center;gap:7px;padding:6px 8px;background:#fafcfe;border:1px solid #edf2f6;border-radius:5px}.education-people-list>div>div{flex:1;display:flex;flex-direction:column;gap:1px}.education-people-list strong{color:var(--ink-600);font-size:7.8px;font-weight:550}.education-people-list em{color:var(--ink-400);font-size:6.5px;font-style:normal}.education-people-list button{padding:2px 6px;color:var(--blue-700);background:#fff;border:1px solid #d9e8f4;border-radius:4px;font-size:6.5px;cursor:pointer}.periodic-attachment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.periodic-attachment-grid>div{overflow:hidden;background:#fafcfe;border:1px solid #e9eff5;border-radius:7px}.periodic-attachment-grid .evidence-photo{height:150px}.periodic-attachment-grid>div>span{display:block;padding:6px 8px 1px;color:var(--ink-600);font-size:7.8px}.periodic-attachment-grid>div>em{display:block;padding:0 8px 7px;color:var(--ink-400);font-size:6.5px;font-style:normal}.lifecycle-page .page-header h1{letter-spacing:-.02em}.lifecycle-flow{display:flex;align-items:center;margin-bottom:12px;padding:10px 13px;background:#fff;border:1px solid var(--line);border-radius:9px;box-shadow:var(--shadow-xs)}.lifecycle-flow-step{display:flex;align-items:center;gap:7px;flex:1;min-width:0}.lifecycle-flow-step>span{color:#a3b3c1;font-family:var(--font-display);font-size:7.5px;font-weight:700}.lifecycle-flow-step>div{display:flex;flex-direction:column;gap:1px}.lifecycle-flow-step strong{color:var(--ink-700);font-size:8px;font-weight:600;white-space:nowrap}.lifecycle-flow-step em{color:var(--ink-400);font-size:6.5px;font-style:normal;white-space:nowrap}.lifecycle-flow-line{display:flex;align-items:center;width:26px;margin:0 7px}.lifecycle-flow-line i{flex:1;height:1px;background:#dce7f0}.lifecycle-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:12px}.lifecycle-tabs{display:flex;align-items:center;gap:3px;padding:3px;background:#edf3f7;border-radius:7px}.lifecycle-tabs button{height:27px;padding:0 9px;color:var(--ink-500);background:transparent;border:0;border-radius:5px;font-family:inherit;font-size:7.5px;cursor:pointer;white-space:nowrap}.lifecycle-tabs button.active{color:var(--ink-900);background:#fff;font-weight:600;box-shadow:0 1px 4px #0e263e14}.lifecycle-table th{font-size:8.3px;padding:0 8px}.lifecycle-table td{padding:9px 8px;font-size:8.8px}.lifecycle-table .cell-main strong{max-width:225px}.lifecycle-org{display:inline-block;max-width:145px;color:var(--ink-500);font-size:7.8px;line-height:1.45}.lifecycle-detail-banner{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:11px;padding:12px;background:linear-gradient(135deg,#f5fafe,#eef7fc);border:1px solid #dfeaf4;border-radius:9px}.lifecycle-detail-banner>div{display:flex;flex-direction:column;gap:1px;min-width:0}.lifecycle-detail-banner span{color:var(--ink-400);font-size:6.8px}.lifecycle-detail-banner strong{color:var(--ink-900);font-size:11.5px;font-weight:650}.lifecycle-detail-banner em{color:var(--ink-500);font-size:7.3px;font-style:normal}.lifecycle-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-bottom:13px;overflow:hidden;background:#e8eff5;border:1px solid #e8eff5;border-radius:7px}.lifecycle-kpis>div{display:flex;flex-direction:column;gap:1px;padding:7px 8px;background:#fff}.lifecycle-kpis span{color:var(--ink-400);font-size:6.5px}.lifecycle-kpis strong{color:var(--ink-700);font-size:8.2px;font-weight:600}.lifecycle-kpis strong em{margin-left:2px;color:var(--ink-400);font-size:6.5px;font-style:normal;font-weight:400}.lifecycle-detail-section{margin-bottom:14px}.lifecycle-detail-section>h4{margin-bottom:7px;color:var(--ink-700);font-size:9.3px;font-weight:650}.lifecycle-description{margin-top:7px;padding:8px 9px;color:var(--ink-500);background:#fafcfe;border:1px solid #e9eff5;border-radius:6px;font-size:7.5px;line-height:1.65}.lifecycle-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;margin-bottom:7px}.lifecycle-section-head h4{margin:0;color:var(--ink-700);font-size:9.3px;font-weight:650}.lifecycle-section-head span{color:var(--ink-400);font-size:6.8px}.lifecycle-material-list{display:flex;flex-direction:column;gap:4px}.lifecycle-material-list>div{display:flex;align-items:center;gap:6px;padding:6px 8px;background:#fbfefc;border:1px solid #e4f0e9;border-radius:5px}.lifecycle-material-list>div.missing{background:#fffaf5;border-color:#f1e6d8}.lifecycle-material-list>div>span{display:inline-flex;color:var(--success)}.lifecycle-material-list>div.missing>span{color:var(--warning)}.lifecycle-material-list strong{flex:1;color:var(--ink-600);font-size:7.5px;font-weight:550}.lifecycle-material-list em{color:var(--ink-400);font-size:6.4px;font-style:normal}.lifecycle-check-list{display:flex;flex-direction:column;gap:4px}.lifecycle-check-list>div{display:flex;align-items:center;gap:6px;padding:6px 8px;color:var(--ink-600);background:#fafcfe;border:1px solid #e9eff5;border-radius:5px;font-size:7.5px}.lifecycle-check-list>div>span{display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;flex-shrink:0;color:var(--success);background:#eaf7f0;border-radius:50%}.lifecycle-check-list .badge{margin-left:auto}.education-empty-session{display:flex;flex-direction:column;align-items:center;gap:4px;padding:22px 10px;color:var(--ink-400);background:#fafcfe;border:1px dashed #e1ebf2;border-radius:7px}.education-empty-session strong{color:var(--ink-600);font-size:8.5px;font-weight:600}.education-empty-session span{font-size:6.8px}.education-empty-session.compact{margin-top:6px;padding:14px 8px}.education-attendance-list+.section-note,.section-note{color:var(--ink-400);font-size:6.8px;font-weight:400}.record-detail-section>h4 .section-note{margin-left:6px}.fund-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:12px}.fund-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(270px,.62fr);gap:13px;align-items:start}.fund-ledger-card{padding:17px}.fund-ledger-card .table-wrap{margin-top:10px}.fund-table th{font-size:8px}.fund-table td{font-size:8.2px;padding:9px 8px}.fund-table .cell-main strong{max-width:220px}.fund-code{color:var(--ink-500);font-family:var(--font-mono);font-size:7.5px}.fund-rate-cell{display:flex;align-items:center;gap:5px;min-width:78px}.fund-rate-cell>div{flex:1}.fund-rate-cell span{color:var(--ink-500);font-size:7px;white-space:nowrap}.fund-side-card{padding:17px}.fund-balance{display:flex;flex-direction:column;gap:1px;padding:8px 0 11px}.fund-balance>span{color:var(--ink-400);font-size:7.5px}.fund-balance strong{color:var(--ink-900);font-family:var(--font-display);font-size:25px;font-weight:700;letter-spacing:-.03em}.fund-balance strong em{margin-left:2px;color:var(--ink-400);font-family:var(--font-sans);font-size:8px;font-style:normal;font-weight:400}.fund-balance>em{font-size:7.5px;font-style:normal}.fund-side-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;overflow:hidden;background:var(--line);border:1px solid var(--line);border-radius:7px}.fund-side-grid>div{display:flex;flex-direction:column;gap:2px;padding:8px 9px;background:#fff}.fund-side-grid span{color:var(--ink-400);font-size:7px}.fund-side-grid strong{color:var(--ink-700);font-size:8px;font-weight:600}.fund-rule{display:flex;flex-direction:column;gap:1px;margin-top:10px;padding:8px 9px;background:#f7fafc;border:1px solid #e9eff4;border-radius:6px}.fund-rule>div{display:flex;justify-content:space-between;gap:8px;padding:3px 0;font-size:7px}.fund-rule span{color:var(--ink-400)}.fund-rule b{color:var(--ink-600);font-weight:500;text-align:right}.fund-chart-card{margin-top:13px;padding:17px}.fund-drawer-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-bottom:13px;overflow:hidden;background:var(--line);border:1px solid var(--line);border-radius:7px}.fund-drawer-kpis>div{display:flex;flex-direction:column;gap:2px;padding:9px;background:#fff}.fund-drawer-kpis span{color:var(--ink-400);font-size:7px}.fund-drawer-kpis strong{color:var(--ink-800);font-size:13px;font-weight:650}.fund-drawer-kpis strong em{margin-left:2px;color:var(--ink-400);font-size:7px;font-style:normal;font-weight:400}.fund-flow-list{display:flex;flex-direction:column;gap:4px}.fund-flow-list>div{display:flex;align-items:center;gap:7px;padding:7px 8px;background:#fafcfe;border:1px solid #e9eff4;border-radius:5px}.fund-flow-type{display:inline-flex;align-items:center;justify-content:center;width:25px;height:20px;flex-shrink:0;border-radius:4px;font-size:6.5px}.fund-flow-type.in{color:#26734f;background:#eaf7f0}.fund-flow-type.out{color:#a24646;background:#fff0f0}.fund-flow-list>div>div{flex:1;display:flex;flex-direction:column;gap:1px}.fund-flow-list strong{color:var(--ink-600);font-size:7.5px;font-weight:550}.fund-flow-list em{color:var(--ink-400);font-size:6.5px;font-style:normal}.fund-flow-list b{color:var(--ink-700);font-size:7.5px;font-weight:600}.fund-flow-empty{color:var(--ink-400);font-size:7.5px}.docs-project-tree{padding-bottom:8px}.docs-tree-head em{color:var(--ink-400);font-size:6.5px;font-style:normal;font-weight:400}.docs-project-list{display:flex;flex-direction:column;gap:2px;max-height:405px;overflow-y:auto;padding:2px 0}.docs-project-item{display:flex;align-items:center;gap:6px;width:100%;padding:6px 5px;text-align:left;background:transparent;border:1px solid transparent;border-radius:6px;font-family:inherit;cursor:pointer}.docs-project-item:hover{background:#f5f9fc}.docs-project-item.active{background:#eaf4fb;border-color:#d4e7f4}.docs-project-avatar{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0;color:#2f74c0;background:#edf6fc;border-radius:5px;font-size:8px;font-weight:600}.docs-project-item.active .docs-project-avatar{color:#fff;background:#2f74c0}.docs-project-info{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0}.docs-project-info strong{overflow:hidden;color:var(--ink-600);font-size:7.2px;font-weight:550;text-overflow:ellipsis;white-space:nowrap}.docs-project-info em{color:var(--ink-400);font-size:6px;font-style:normal}.docs-project-progress{display:block;height:2px;margin-top:2px;overflow:hidden;background:#edf2f6;border-radius:1px}.docs-project-progress i{display:block;height:100%;background:#65b08a;border-radius:1px}.docs-project-count{display:flex;align-items:baseline;gap:1px;flex-shrink:0;color:var(--ink-500)}.docs-project-count b{color:var(--ink-700);font-size:8px;font-weight:600}.docs-project-count em{color:var(--ink-400);font-size:6px;font-style:normal}.docs-project-banner{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:9px;padding:12px 14px;background:linear-gradient(115deg,#f5fbff,#eef8fc);border:1px solid #deedf6;border-radius:9px}.docs-project-banner-main{display:flex;flex-direction:column;gap:2px;min-width:0}.docs-project-kicker{color:#5b96b7;font-size:6.5px;letter-spacing:.05em}.docs-project-banner h2{margin:0;overflow:hidden;color:var(--ink-900);font-size:14px;font-weight:650;letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap}.docs-project-banner p{margin:1px 0 0;overflow:hidden;color:var(--ink-500);font-size:7.2px;text-overflow:ellipsis;white-space:nowrap}.docs-project-banner-side{display:flex;align-items:center;gap:12px;flex-shrink:0}.docs-project-banner-side>div{display:flex;flex-direction:column;gap:1px;padding-left:12px;border-left:1px solid #dcebf4}.docs-project-banner-side span{color:var(--ink-400);font-size:6.5px}.docs-project-banner-side strong{color:var(--ink-800);font-family:var(--font-display);font-size:16px;font-weight:650}.docs-project-banner-side strong em{margin-left:1px;color:var(--ink-400);font-family:var(--font-sans);font-size:6.5px;font-style:normal;font-weight:400}.docs-lifecycle{display:flex;align-items:center;margin-bottom:9px;padding:9px 12px;background:#fff;border:1px solid var(--line);border-radius:8px}.docs-lifecycle-step{display:flex;align-items:center;gap:6px;flex:1;min-width:0;opacity:.58}.docs-lifecycle-step.has-docs{opacity:1}.docs-lifecycle-step>span{display:inline-flex;align-items:center;justify-content:center;width:23px;height:23px;flex-shrink:0;color:#8197a8;background:#f2f6f9;border-radius:50%}.docs-lifecycle-step.has-docs>span{color:#2f74c0;background:#edf6fc}.docs-lifecycle-step>div{display:flex;flex-direction:column;gap:0}.docs-lifecycle-step strong{color:var(--ink-600);font-size:7px;font-weight:550;white-space:nowrap}.docs-lifecycle-step em{color:var(--ink-400);font-size:6px;font-style:normal}.docs-lifecycle-line{width:18px;height:1px;flex-shrink:0;margin:0 5px;background:#dfe9f1}.docs-stage-bar{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-bottom:9px;padding:3px;background:#edf3f7;border-radius:7px}.docs-stage-tabs{display:flex;align-items:center;gap:2px}.docs-stage-tabs button{display:inline-flex;align-items:center;gap:5px;height:31px;padding:0 11px;color:var(--ink-500);background:transparent;border:0;border-radius:5px;font-family:inherit;font-size:9.5px;cursor:pointer}.docs-stage-tabs button.active{color:var(--ink-900);background:#fff;font-weight:600;box-shadow:0 1px 4px #0e263e14}.docs-stage-tabs button span{color:var(--ink-400);font-size:8px}.docs-stage-bar>select{border-color:transparent}.docs-stage-bar>.select-wrap{margin-left:auto}.docs-table th:nth-child(1){width:34%}.docs-table th:nth-child(2){width:14%}.docs-table th:nth-child(3){width:9%}.docs-table td:nth-child(6),.docs-table td:nth-child(7){white-space:nowrap}.docs-footer-right{display:flex;align-items:center;gap:10px}.docs-page-info{color:var(--ink-400);font-size:7px}.contract-stat-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.contract-table th{font-size:8px}.contract-table td{font-size:8.3px;padding:9px 8px}.contract-table .cell-main strong{max-width:260px}.contract-party{display:inline-block;max-width:145px;color:var(--ink-500);font-size:7.6px;line-height:1.45}.contract-links{display:flex;flex-direction:column;gap:2px;color:var(--ink-500);font-size:6.8px}.contract-links span{display:inline-flex;align-items:center;gap:3px;white-space:nowrap}.contract-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;overflow:hidden;margin-bottom:13px;background:var(--line);border:1px solid var(--line);border-radius:7px}.contract-kpis>div{display:flex;flex-direction:column;gap:2px;padding:9px;background:#fff}.contract-kpis span{color:var(--ink-400);font-size:6.8px}.contract-kpis strong{color:var(--ink-800);font-size:13px;font-weight:650}.contract-kpis strong em{margin-left:2px;color:var(--ink-400);font-size:6.8px;font-style:normal;font-weight:400}.contract-terms{margin-top:8px;padding:8px 9px;color:var(--ink-500);background:#fafcfe;border:1px solid #e9eff4;border-radius:6px;font-size:7.2px;line-height:1.6}.contract-linked-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.contract-linked-grid>button{display:flex;flex-direction:column;gap:2px;padding:9px;text-align:left;background:#fbfdff;border:1px solid #e5eef5;border-radius:7px;font-family:inherit;cursor:pointer}.contract-linked-grid>button:hover{background:#f5faff;border-color:#cfe4f2}.contract-linked-grid>button>span{display:inline-flex;align-items:center;justify-content:center;width:23px;height:23px;margin-bottom:2px;color:#2f74c0;background:#edf6fc;border-radius:5px}.contract-linked-grid strong{color:var(--ink-700);font-size:8px;font-weight:600}.contract-linked-grid em{overflow:hidden;color:var(--ink-400);font-size:6.8px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.contract-linked-grid b{display:inline-flex;align-items:center;gap:2px;margin-top:2px;color:var(--blue-700);font-size:6.8px;font-weight:400}.archive-difference{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding:10px 12px;background:#fff;border:1px solid var(--line);border-radius:9px;box-shadow:var(--shadow-xs)}.archive-difference>div:not(.archive-difference-arrow){display:flex;align-items:center;gap:8px;flex:1}.archive-difference>div>span{display:inline-flex;align-items:center;justify-content:center;width:31px;height:31px;flex-shrink:0;color:#2f74c0;background:#edf6fc;border-radius:7px}.archive-difference>div>div{display:flex;flex-direction:column;gap:1px}.archive-difference strong{color:var(--ink-700);font-size:8.5px;font-weight:600}.archive-difference em{color:var(--ink-400);font-size:6.8px;font-style:normal;line-height:1.45}.archive-difference-arrow{color:#a8bdcb;flex-shrink:0}.archive-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:12px}.archive-ledger-card{padding:17px}.archive-table-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:10px}.archive-table-head h3{margin:0 0 2px;color:var(--ink-800);font-size:11px;font-weight:650}.archive-table-head span{color:var(--ink-400);font-size:7px}.archive-table-head .search-input{width:240px}.archive-table th{font-size:8px}.archive-table td{font-size:8.2px;padding:9px 8px}.archive-table .cell-main strong{max-width:230px}.archive-org{display:inline-block;max-width:145px;color:var(--ink-500);font-size:7.5px;line-height:1.45}.archive-rate{display:flex;align-items:center;gap:5px;min-width:80px}.archive-rate>div{flex:1}.archive-rate span{color:var(--ink-500);font-size:7px}.archive-empty{display:flex;flex-direction:column;align-items:center;gap:4px;padding:28px 10px;color:var(--ink-400);text-align:center}.archive-empty strong{color:var(--ink-600);font-size:9px;font-weight:600}.archive-empty span{font-size:7px}.archive-detail-banner strong{font-size:11px}.archive-detail-banner .record-detail-amount strong{font-family:var(--font-display);font-size:25px}.archive-detail-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;overflow:hidden;margin-bottom:13px;background:var(--line);border:1px solid var(--line);border-radius:7px}.archive-detail-kpis>div{display:flex;flex-direction:column;gap:2px;padding:9px;background:#fff}.archive-detail-kpis span{color:var(--ink-400);font-size:6.8px}.archive-detail-kpis strong{color:var(--ink-800);font-size:10px;font-weight:600}.archive-detail-kpis strong em{margin-left:1px;color:var(--ink-400);font-size:6.8px;font-style:normal;font-weight:400}.archive-section-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:6px}.archive-section-head h4{margin:0}.archive-section-head span{color:var(--ink-400);font-size:6.8px}.archive-checklist{display:flex;flex-direction:column;gap:4px}.archive-checklist>div{display:flex;align-items:center;gap:6px;padding:7px 8px;background:#fbfefc;border:1px solid #e3f0e8;border-radius:5px}.archive-checklist>div.missing{background:#fffaf5;border-color:#f2e6d8}.archive-checklist>div>span{display:inline-flex;color:var(--success)}.archive-checklist>div.missing>span{color:var(--warning)}.archive-checklist strong{flex-shrink:0;color:var(--ink-700);font-size:7.5px;font-weight:550}.archive-checklist em{flex:1;overflow:hidden;color:var(--ink-400);font-size:6.5px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.archive-checklist .badge{flex-shrink:0}.m-stage{display:flex;align-items:center;justify-content:center;gap:54px;min-height:100vh;padding:28px 34px;overflow:hidden;background:radial-gradient(800px 600px at 76% 20%,rgba(39,112,160,.26),transparent 62%),radial-gradient(700px 500px at 10% 90%,rgba(22,84,116,.18),transparent 60%),linear-gradient(130deg,#041523,#07243b 55%,#061b2e)}.m-stage:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(134,187,226,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(134,187,226,.035) 1px,transparent 1px);background-size:64px 64px;pointer-events:none}.m-stage-side{position:relative;z-index:2;display:flex;flex-direction:column;width:420px;max-width:34vw;min-height:600px;color:#e9f5fd}.m-stage-brand{display:flex;align-items:center;gap:10px}.m-stage-logo{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;color:#d9edfb;background:linear-gradient(145deg,#53a3da38,#225c8838);border:1px solid rgba(153,205,240,.28);border-radius:11px}.m-stage-brand>span:last-child{display:flex;flex-direction:column;line-height:1.3}.m-stage-brand strong{color:#f3f9fe;font-size:16px;font-weight:700;letter-spacing:.1em}.m-stage-brand em{color:#86a5bd;font-size:8px;font-style:normal;letter-spacing:.07em}.m-stage-copy{margin:auto 0}.m-stage-kicker{color:#77bae6;font-size:8.5px;font-weight:700;letter-spacing:.2em}.m-stage-copy h1{margin-top:15px;color:#f2f9fe;font-size:39px;font-weight:700;line-height:1.24;letter-spacing:-.045em}.m-stage-copy h1 span{color:#8bc9ec}.m-stage-copy>p{max-width:365px;margin-top:14px;color:#98b4c9;font-size:11px;line-height:1.9}.m-stage-features{display:flex;flex-wrap:wrap;gap:7px;margin-top:19px}.m-stage-features span{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;color:#a9c7da;background:#ffffff0d;border:1px solid rgba(135,186,219,.16);border-radius:5px;font-size:8.5px}.m-stage-features .icon{color:#75bfe7}.m-stage-user{display:flex;align-items:center;gap:8px;margin-top:24px;padding:10px 11px;background:#ffffff0b;border:1px solid rgba(138,189,221,.13);border-radius:9px}.m-stage-avatar{display:inline-flex;align-items:center;justify-content:center;width:31px;height:31px;flex-shrink:0;color:#083147;background:linear-gradient(135deg,#a5dce9,#5cb1c9);border-radius:50%;font-size:10px;font-weight:700}.m-stage-user>div{display:flex;flex:1;flex-direction:column;line-height:1.4}.m-stage-user span{color:#6b90a8;font-size:7.5px}.m-stage-user strong{color:#d4e9f6;font-size:9.5px;font-weight:550}.m-stage-live{display:inline-flex;align-items:center;gap:4px;color:#69be9b!important;font-size:7.5px!important}.m-stage-live i{width:4px;height:4px;background:#4cc39a;border-radius:50%}.m-stage-actions{display:flex;gap:7px;margin-top:18px}.m-stage-actions button{display:inline-flex;align-items:center;gap:5px;height:32px;padding:0 10px;color:#b9d4e6;background:#ffffff0e;border:1px solid rgba(147,194,225,.2);border-radius:6px;font-size:8.5px;cursor:pointer}.m-stage-actions button:hover{background:#ffffff1a;color:#fff}.m-stage-foot{margin-top:16px;color:#4f748c;font-size:7.5px}.m-device{position:relative;z-index:3;width:402px;height:860px;flex-shrink:0;overflow:hidden;background:#f4f7fa;border:9px solid #09131f;border-radius:49px;box-shadow:0 40px 100px #00000080,0 5px 20px #0000004d,inset 0 0 0 1px #ffffff0f;transform:translateZ(0)}.m-device-island{position:absolute;top:11px;left:50%;z-index:40;width:97px;height:21px;background:#07111c;border-radius:12px;transform:translate(-50%)}.m-statusbar{position:relative;z-index:20;display:flex;align-items:center;justify-content:space-between;height:33px;padding:0 21px;color:#1d3347;background:#f4f7fa;font-family:var(--font-display);font-size:9px;font-weight:600}.m-status-icons{display:flex;align-items:center;gap:4px;color:#334a5e}.m-scroll{height:calc(100% - 33px);overflow-x:hidden;overflow-y:auto;scrollbar-width:none;overscroll-behavior-y:contain;background:#f4f7fa}.m-scroll::-webkit-scrollbar{display:none}.m-scroll.with-tabs{padding-bottom:72px}.m-scroll.no-tabs{padding-bottom:0}.m-tabbar{position:absolute;left:0;right:0;bottom:0;z-index:45;display:flex;align-items:flex-start;justify-content:space-around;height:66px;padding:7px 8px 5px;background:#fffffff5;border-top:1px solid #e8eef4;box-shadow:0 -8px 24px #0e263e0f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.m-tab{display:flex;flex:1;flex-direction:column;align-items:center;gap:2px;padding:0;color:#93a4b3;background:transparent;border:0;cursor:pointer}.m-tab-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:28px;height:25px}.m-tab em{font-size:8px;font-style:normal}.m-tab.active{color:#1f67a0}.m-tab.active em{font-weight:600}.m-tab-badge{position:absolute;top:-1px;right:0;display:inline-flex;align-items:center;justify-content:center;min-width:13px;height:13px;padding:0 3px;color:#fff;background:#d4514b;border:1.5px solid #fff;border-radius:999px;font-size:6.5px;font-style:normal;font-weight:700}.m-tab-center .m-tab-icon{width:44px;height:44px;margin-top:-18px;color:#fff;background:linear-gradient(145deg,#3284c1,#1e5f95);border:3px solid #f4f8fb;border-radius:15px;box-shadow:0 6px 15px #236b9d4d}.m-tab-center.active .m-tab-icon{background:linear-gradient(145deg,#3a91d1,#246ca8)}.m-tab-center em{color:#7f95a7}.m-tab-center.active em{color:#1f67a0}.m-page{min-height:100%;padding:0 16px 25px;background:#f4f7fa}.m-head{position:sticky;top:0;z-index:18;margin:0 -16px 12px;padding:3px 16px 7px;background:#f4f7faf0;border-bottom:1px solid rgba(227,235,242,.7);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.m-head-row{display:flex;align-items:center;gap:8px;min-height:42px}.m-back{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex-shrink:0;margin-left:-6px;color:#344e63;background:transparent;border:0;border-radius:8px;cursor:pointer}.m-back:active{background:#e8eef4}.m-head-spacer{width:30px;flex-shrink:0}.m-head-title{flex:1;min-width:0;text-align:center}.m-head-title h1{overflow:hidden;color:#172f43;font-size:16px;font-weight:700;letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap}.m-head-title p{margin-top:1px;overflow:hidden;color:#8b9dad;font-size:7.5px;text-overflow:ellipsis;white-space:nowrap}.m-head-right{display:flex;align-items:center;justify-content:flex-end;min-width:30px}.m-head-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;color:#5f778b;background:transparent;border:0;border-radius:8px;cursor:pointer}.m-head-icon:active{background:#e8eef4}.m-head-text{padding:3px;color:#2c75a8;background:transparent;border:0;font-size:8.5px;font-weight:550;cursor:pointer}.m-head-large .m-head-title{text-align:left}.m-head-large .m-head-title h1{font-size:21px}.m-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin:15px 0 8px}.m-section-head h3{color:#263e52;font-size:12px;font-weight:650}.m-section-head p{margin-top:1px;color:#8b9dad;font-size:7.5px}.m-section-action{flex-shrink:0}.m-detail-page{padding-bottom:calc(92px + env(safe-area-inset-bottom))}.m-detail-card{margin-bottom:10px;padding:13px 14px;background:#fff;border:1px solid #e7edf3;border-radius:13px;box-shadow:0 1px 2px #0e263e06}.m-detail-section-title{display:flex;align-items:center;gap:5px;margin-bottom:9px;color:#354f63;font-size:10.5px;font-weight:650}.m-detail-section-title>span{margin-left:auto;color:#94a5b3;font-size:7px;font-weight:400}.m-kv-list{display:flex;flex-direction:column}.m-kv-list>div{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid #f0f4f7}.m-kv-list>div:last-child{border-bottom:0}.m-kv-list span{flex-shrink:0;color:#8b9dad;font-size:8.5px}.m-kv-list strong{color:#354f63;font-size:9px;font-weight:550;line-height:1.5;text-align:right}.m-kv-list strong.danger{color:#c94f49}.m-muted-line{color:#98a8b6;font-size:8.5px}.m-field{display:block;margin-bottom:11px}.m-field-label{display:flex;align-items:center;gap:2px;margin-bottom:5px;color:#4a6175;font-size:9px;font-weight:600}.m-field-label em{color:#d14d47;font-style:normal}.m-field-label small{margin-left:auto;color:#9aaab7;font-size:7px;font-weight:400}.m-input,.m-textarea,.m-select{width:100%;color:#2b4357;background:#f8fafc;border:1px solid #e1e9f0;border-radius:8px;outline:0;font-size:9.5px;transition:.18s var(--ease)}.m-input{height:38px;padding:0 10px}.m-textarea{min-height:76px;padding:9px 10px;resize:vertical;line-height:1.65}.m-select{height:38px;padding:0 28px 0 10px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.m-input:focus,.m-textarea:focus,.m-select:focus{background:#fff;border-color:#8eb4d2;box-shadow:0 0 0 3px #2875c212}.m-input::placeholder,.m-textarea::placeholder{color:#a6b4c0}.m-select-wrap{position:relative;display:block}.m-select-wrap>.icon{position:absolute;right:9px;top:50%;color:#91a2b0;transform:translateY(-50%);pointer-events:none}.m-readonly-field{display:flex;align-items:center;gap:6px;height:38px;padding:0 10px;color:#4b6478;background:#f2f6f9;border:1px solid #e5ecf2;border-radius:8px;font-size:9px}.m-readonly-field .icon{color:#7590a3}.m-readonly-field em{margin-left:auto;color:#98a8b5;font-size:7px;font-style:normal}.m-segmented{display:flex;gap:3px;padding:3px;background:#eef3f8;border-radius:9px}.m-segmented button{display:flex;flex:1;align-items:center;justify-content:center;gap:4px;height:30px;padding:0 7px;color:#7b8f9f;background:transparent;border:0;border-radius:7px;font-size:9px;cursor:pointer}.m-segmented button span{display:inline-flex;align-items:center;justify-content:center;min-width:14px;height:14px;padding:0 3px;background:#1e3c500f;border-radius:999px;font-size:6.5px}.m-segmented button.active{color:#214d6b;background:#fff;box-shadow:0 1px 4px #0e263e17;font-weight:600}.m-segmented button.active span{color:#2775a8;background:#e8f4fc}.m-project-cover{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;color:#fff;border-radius:9px;font-size:13px;font-weight:650}.m-project-option{display:flex;align-items:center;gap:9px;width:100%;padding:9px;margin-bottom:5px;text-align:left;background:#fafcfe;border:1px solid #e8eff5;border-radius:10px;cursor:pointer}.m-project-option.active{background:#f2f9ff;border-color:#b9d8ec}.m-project-option-main{display:flex;flex:1;flex-direction:column;min-width:0}.m-project-option-main strong{overflow:hidden;color:#324c61;font-size:10px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.m-project-option-main em{color:#93a3b1;font-size:7.5px;font-style:normal}.m-project-option-main>span{display:flex;align-items:center;gap:6px;margin-top:3px}.m-project-option-main>span i{color:#71889a;font-size:7px;font-style:normal}.m-project-check{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;color:#fff;background:#2c77ad;border-radius:50%}.m-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.m-photo-grid.compact{grid-template-columns:repeat(4,1fr)}.m-photo-item{position:relative}.m-photo-item .evidence-photo{aspect-ratio:1 / 1}.m-photo-remove{position:absolute;top:4px;right:4px;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;color:#fff;background:#0818269e;border:0;border-radius:50%;cursor:pointer}.m-photo-add{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;aspect-ratio:1 / 1;color:#8096a8;background:#f7fafc;border:1px dashed #cbd9e4;border-radius:7px;cursor:pointer}.m-photo-add span{color:#748b9c;font-size:7px}.m-photo-add em{color:#a0afbb;font-size:6px;font-style:normal}.m-photo-add.small{gap:1px}.m-photo-add.small span{font-size:6.5px}.m-action-bar{position:fixed;left:0;right:0;bottom:0;z-index:48;padding:9px 14px calc(9px + env(safe-area-inset-bottom));background:#fffffff7;border-top:1px solid #e5ecf2;box-shadow:0 -8px 25px #0e263e14;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.m-action-hint{margin-bottom:5px;color:#8a9dad;font-size:7.5px;text-align:center}.m-action-buttons{display:flex;gap:8px}.m-btn-primary,.m-btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:5px;height:42px;padding:0 13px;border-radius:9px;font-size:10.5px;font-weight:600;cursor:pointer}.m-btn-primary{flex:1.4;color:#fff;background:linear-gradient(135deg,#2f7cb7,#1e5d94);border:1px solid #1b578c;box-shadow:0 5px 13px #1f5f9238}.m-btn-primary:active{transform:translateY(1px)}.m-btn-primary.danger{background:linear-gradient(135deg,#d16660,#b94a45);border-color:#ad423e}.m-btn-secondary{flex:1;color:#4d667a;background:#f4f8fb;border:1px solid #dde7ef}.m-primary-inline{display:inline-flex;align-items:center;justify-content:center;height:36px;padding:0 15px;color:#fff;background:#2d77ad;border:0;border-radius:8px;font-size:9.5px;font-weight:600;cursor:pointer}.m-action-sheet-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.m-action-sheet-item{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:13px;text-align:left;background:#fafcfe;border:1px solid #e9eff5;border-radius:10px;cursor:pointer}.m-action-sheet-item>span{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;margin-bottom:5px;border-radius:9px}.m-action-sheet-item strong{color:#334e62;font-size:10px;font-weight:600}.m-action-sheet-item em{color:#8b9dab;font-size:7.5px;font-style:normal;line-height:1.5}.m-action-sheet-foot{display:flex;align-items:flex-start;gap:5px;margin-top:10px;padding:8px 9px;color:#8b9dab;background:#f7fafc;border:1px solid #edf2f6;border-radius:6px;font-size:7px;line-height:1.5}.m-action-sheet-foot .icon{flex-shrink:0;margin-top:1px;color:#4c8ab5}.m-sheet-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:600;display:flex;align-items:flex-end;background:#06162373;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fadeIn .18s var(--ease)}.m-sheet{width:100%;max-height:86%;display:flex;flex-direction:column;background:#fff;border-radius:19px 19px 0 0;box-shadow:0 -20px 50px #07192833;animation:sheetUp .26s var(--ease)}.m-sheet-grab{width:36px;height:4px;margin:7px auto 2px;background:#d7e0e8;border-radius:3px}.m-sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:8px 16px 11px;border-bottom:1px solid #eef3f7}.m-sheet-head h3{color:#223c50;font-size:14px;font-weight:700}.m-sheet-head p{margin-top:2px;color:#8b9dab;font-size:7.5px}.m-sheet-close{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;color:#8094a5;background:#f2f6f9;border:0;border-radius:50%;cursor:pointer}.m-sheet-body{flex:1;overflow-y:auto;padding:13px 16px}.m-sheet-foot{padding:9px 16px calc(9px + env(safe-area-inset-bottom));border-top:1px solid #eef3f7}.m-sheet-primary{width:100%;height:42px;color:#fff;background:linear-gradient(135deg,#2f7cb7,#1e5d94);border:0;border-radius:9px;font-size:10.5px;font-weight:600;cursor:pointer}.m-sheet-primary.danger{background:linear-gradient(135deg,#d16660,#b94a45)}.m-sheet-actions{display:flex;gap:7px}.m-sheet-actions .m-btn-secondary,.m-sheet-actions .m-btn-primary{height:41px}.m-sheet-form .m-field:last-child{margin-bottom:0}@keyframes sheetUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.m-home{padding:0 0 28px}.m-home-hero{position:relative;overflow:hidden;padding:0 16px 22px;color:#eaf6fd;background:radial-gradient(420px 260px at 87% 4%,rgba(56,146,189,.36),transparent 62%),linear-gradient(145deg,#0a3e60,#0b5577 58%,#0c6582);border-radius:0 0 25px 25px}.m-home:before{content:none}.m-home-contours{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.m-home-top{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;padding-top:8px}.m-home-brand{display:flex;align-items:center;gap:8px}.m-home-logo{display:inline-flex;align-items:center;justify-content:center;width:29px;height:29px;color:#dff2fd;background:#ffffff21;border:1px solid rgba(255,255,255,.22);border-radius:8px;font-size:11px;font-weight:700}.m-home-brand>div{display:flex;flex-direction:column;line-height:1.3}.m-home-brand strong{color:#f2fafe;font-size:11px;font-weight:650;letter-spacing:.08em}.m-home-brand em{color:#d4eefc8c;font-size:6px;font-style:normal;letter-spacing:.04em}.m-home-top-actions{display:flex;align-items:center;gap:8px}.m-home-top-actions>button:first-child{position:relative;display:inline-flex;align-items:center;justify-content:center;width:29px;height:29px;padding:0;color:#dff3fe;background:#ffffff17;border:1px solid rgba(255,255,255,.14);border-radius:8px;cursor:pointer}.m-home-top-actions>button:first-child i{position:absolute;top:4px;right:4px;display:inline-flex;align-items:center;justify-content:center;min-width:12px;height:12px;padding:0 2px;color:#fff;background:#e46b5e;border:1px solid rgba(11,70,100,.6);border-radius:999px;font-size:6px;font-style:normal;font-weight:700}.m-home-avatar{padding:0;background:transparent;border:0;cursor:pointer}.m-home-avatar .avatar{border:1.5px solid rgba(255,255,255,.5)}.m-home-greeting{position:relative;z-index:2;display:flex;flex-direction:column;gap:3px;margin-top:17px}.m-home-greeting>span{color:#d7f1fea8;font-size:8.5px}.m-home-greeting>strong{color:#f2fbff;font-size:16px;font-weight:550;letter-spacing:-.01em}.m-home-greeting em{color:#ffe0a2;font-style:normal;font-family:var(--font-display);font-size:19px;font-weight:700}.m-project-switch{position:relative;z-index:2;display:flex;align-items:center;gap:8px;width:100%;margin-top:13px;padding:10px;text-align:left;color:#e9f7ff;background:#ffffff17;border:1px solid rgba(255,255,255,.16);border-radius:11px;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.m-project-switch-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;color:#d9f2ff;background:#ffffff1a;border-radius:8px}.m-project-switch-text{display:flex;flex:1;flex-direction:column;min-width:0;line-height:1.35}.m-project-switch-text em{color:#d1eefd8c;font-size:6.5px;font-style:normal}.m-project-switch-text strong{overflow:hidden;color:#f4fbff;font-size:10.5px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.m-project-switch-text span{overflow:hidden;color:#cfedfd94;font-size:6.5px;text-overflow:ellipsis;white-space:nowrap}.m-project-switch-more{display:inline-flex;align-items:center;gap:2px;flex-shrink:0;padding:3px 6px;color:#d8f1ff;background:#ffffff17;border-radius:5px;font-size:7px}.m-home-stats{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:11px}.m-home-stats button{display:flex;flex-direction:column;align-items:flex-start;padding:7px 8px;text-align:left;color:#e8f6ff;background:#ffffff14;border:1px solid rgba(255,255,255,.1);border-radius:8px;cursor:pointer}.m-home-stats span{color:#cfecfc94;font-size:6.5px;white-space:nowrap}.m-home-stats strong{margin-top:1px;color:#f4fbff;font-family:var(--font-display);font-size:19px;line-height:1.1}.m-home-stats strong.danger{color:#ffd2c2}.m-home-stats em{color:#ccebfc80;font-size:6px;font-style:normal}.m-home-body{padding:0 14px}.m-quick-actions{position:relative;z-index:3;display:grid;grid-template-columns:repeat(4,1fr);gap:2px;margin:-22px 0 11px;padding:11px 5px;background:#fff;border:1px solid #e7eef4;border-radius:14px;box-shadow:0 10px 26px #0837521f}.m-quick-actions button{display:flex;flex-direction:column;align-items:center;gap:4px;background:transparent;border:0;cursor:pointer}.m-quick-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:11px}.m-quick-actions em{color:#5d7486;font-size:7.5px;font-style:normal}.tone-red{color:#ca504a;background:#fdecea}.tone-teal{color:#238f89;background:#e8f7f5}.tone-amber{color:#b77b22;background:#fdf4e5}.tone-blue{color:#2c73aa;background:#eaf4fc}.tone-indigo{color:#6467b1;background:#f0f0fa}.tone-cyan{color:#26849c;background:#e9f6f9}.tone-green{color:#2b8b65;background:#eaf7f1}.tone-gray{color:#6e8293;background:#f1f5f8}.m-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:9px}.m-card-head>div{display:flex;flex-direction:column}.m-card-head h3{color:#2a4357;font-size:11px;font-weight:650}.m-card-head span{color:#93a4b2;font-size:7px}.m-card-head button{display:inline-flex;align-items:center;gap:1px;padding:2px 0;color:#7c94a5;background:transparent;border:0;font-size:7px;cursor:pointer}.m-today-card,.m-project-progress-card,.m-todo-preview,.m-activity-card{margin-bottom:10px;padding:13px;background:#fff;border:1px solid #e7edf3;border-radius:13px;box-shadow:0 1px 2px #0e263e06}.m-focus-item{display:flex;align-items:flex-start;gap:8px;width:100%;padding:10px;text-align:left;background:#fbfdff;border:1px solid #e8eff5;border-left:3px solid #d9a44f;border-radius:8px;cursor:pointer}.m-focus-item.level-major{background:#fff8f7;border-color:#f4ddd9;border-left-color:#d85751}.m-focus-icon{display:inline-flex;align-items:center;justify-content:center;width:31px;height:31px;flex-shrink:0;color:#c2534d;background:#fdecea;border-radius:8px}.m-focus-main{display:flex;flex:1;flex-direction:column;gap:2px;min-width:0}.m-focus-tags{display:flex;align-items:center;gap:4px}.m-focus-tags .badge{min-height:16px;padding:0 4px;font-size:6px}.m-focus-tags em{color:#8c9dab;font-size:6.5px;font-style:normal}.m-focus-main>strong{overflow:hidden;margin-top:1px;color:#2e485c;font-size:10px;font-weight:600;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.m-focus-meta{display:flex;align-items:center;gap:3px;color:#93a3b1;font-size:7px}.m-focus-due{display:inline-flex;align-items:center;gap:3px;margin-top:2px;color:#8d9eac;font-size:7px}.m-focus-due.danger{color:#c94f49}.m-focus-due.warning{color:#b77c24}.m-focus-arrow{display:inline-flex;align-items:center;align-self:center;color:#a2b2bf}.m-progress-row{display:flex;align-items:center;gap:14px}.m-progress-meta{flex:1;display:flex;flex-direction:column;gap:4px}.m-progress-meta>div{display:flex;align-items:center;justify-content:space-between;padding-bottom:3px;border-bottom:1px solid #f0f4f7}.m-progress-meta span{color:#93a3b1;font-size:7.5px}.m-progress-meta strong{color:#405a6e;font-size:8px;font-weight:550}.m-progress-phases{display:flex;align-items:center;justify-content:space-between;margin-top:10px;padding-top:9px;border-top:1px solid #f0f4f7}.m-progress-phases span{display:flex;flex-direction:column;align-items:center;gap:2px;color:#a1b0bc;font-size:6.5px}.m-progress-phases i{width:100%;min-width:40px;height:3px;background:#e9eff4;border-radius:2px}.m-progress-phases span.done i{background:#5fa4c8}.m-progress-phases span.active i{background:#2f74c0}.m-progress-phases span.done,.m-progress-phases span.active{color:#4d6d84}.m-mini-todo{display:flex;align-items:center;gap:7px;width:100%;padding:8px 0;text-align:left;background:transparent;border:0;border-bottom:1px solid #f0f4f7;cursor:pointer}.m-mini-todo:last-child{border-bottom:0}.m-mini-todo-icon{display:inline-flex;align-items:center;justify-content:center;width:27px;height:27px;flex-shrink:0;color:#c5544d;background:#fdecea;border-radius:7px}.m-mini-todo-icon.red{color:#fff;background:#d0544d}.m-mini-todo>span:nth-child(2){display:flex;flex:1;flex-direction:column;min-width:0}.m-mini-todo strong{overflow:hidden;color:#385266;font-size:8.5px;font-weight:550;text-overflow:ellipsis;white-space:nowrap}.m-mini-todo em{color:#93a3b1;font-size:7px;font-style:normal}.m-mini-todo .status-pill{padding:1px 5px;font-size:6px}.m-activity-item{display:flex;align-items:flex-start;gap:7px;padding:6px 0;border-bottom:1px solid #f2f5f8}.m-activity-item:last-child{border-bottom:0}.m-activity-dot{width:5px;height:5px;margin-top:5px;flex-shrink:0;background:#719ab5;border-radius:50%}.m-activity-dot.danger{background:#d35c55}.m-activity-dot.success{background:#399875}.m-activity-dot.warning{background:#cb8b30}.m-activity-item>div{flex:1;display:flex;flex-direction:column;min-width:0}.m-activity-item strong{color:#516a7d;font-size:7.5px;font-weight:500}.m-activity-item strong em{color:#71899a;font-style:normal}.m-activity-item span{overflow:hidden;color:#8fa0ae;font-size:6.5px;text-overflow:ellipsis;white-space:nowrap}.m-activity-item time{flex-shrink:0;color:#a4b2be;font-size:6px}.m-empty-inline{display:flex;flex-direction:column;align-items:center;gap:5px;padding:14px;color:#94a5b2;font-size:7.5px}.m-quote{display:flex;align-items:center;justify-content:center;gap:5px;padding:13px 0 4px;color:#9aabb8;font-size:7px}.m-fab{position:fixed;right:18px;bottom:82px;z-index:44;display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;color:#fff;background:linear-gradient(145deg,#3282bd,#1f5f93);border:2px solid rgba(255,255,255,.8);border-radius:50%;box-shadow:0 8px 20px #1b5b8959;cursor:pointer}.m-fab:active{transform:scale(.96)}.m-home .m-fab{bottom:82px}.m-action-sheet-grid{grid-template-columns:repeat(2,1fr)}.m-todos-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:10px;padding:11px 9px;background:linear-gradient(135deg,#0e527a,#1a7990);border-radius:12px;box-shadow:0 7px 18px #10506f2e}.m-todos-summary>div{display:flex;flex-direction:column;align-items:center;gap:1px}.m-todos-summary span{color:#dbf4ff99;font-size:7px}.m-todos-summary strong{color:#f3fbff;font-family:var(--font-display);font-size:21px;line-height:1.1}.m-todos-summary .danger strong{color:#ffd3c1}.m-todos-sticky{position:sticky;top:53px;z-index:12;padding-bottom:7px;background:#f4f7fa}.m-filter-chips{display:flex;gap:5px;overflow-x:auto;margin-top:7px;padding-bottom:2px;scrollbar-width:none}.m-filter-chips::-webkit-scrollbar{display:none}.m-filter-chips button{flex-shrink:0;height:25px;padding:0 9px;color:#7f92a2;background:#fff;border:1px solid #e5ecf2;border-radius:999px;font-size:7.5px;cursor:pointer}.m-filter-chips button.active{color:#256d9e;background:#edf6fd;border-color:#cfe3f3;font-weight:600}.m-todo-list{display:flex;flex-direction:column;gap:8px}.m-todo-card{display:flex;align-items:flex-start;gap:8px;width:100%;padding:12px;text-align:left;background:#fff;border:1px solid #e7edf3;border-radius:12px;box-shadow:0 1px 2px #0e263e06;cursor:pointer}.m-todo-card.overdue{border-color:#f0d7d2;background:#fffbfa}.m-todo-type-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;border-radius:9px}.m-todo-type-icon.red{color:#c9524b;background:#fdecea}.m-todo-type-icon.teal{color:#228c87;background:#e8f7f5}.m-todo-type-icon.amber{color:#b67b24;background:#fdf4e5}.m-todo-type-icon.blue{color:#2b73a9;background:#eaf4fc}.m-todo-main{display:flex;flex:1;flex-direction:column;gap:2px;min-width:0}.m-todo-top{display:flex;align-items:center;justify-content:space-between;gap:6px}.m-todo-top em{color:#8a9daa;font-size:6.5px;font-style:normal}.m-todo-top .status-pill{padding:1px 5px;font-size:6px}.m-todo-main>strong{color:#2f495d;font-size:10px;font-weight:600;line-height:1.4}.m-todo-project,.m-todo-due{display:flex;align-items:center;gap:3px;color:#8d9fad;font-size:7px}.m-todo-due.danger{color:#c84f48}.m-todo-due.warning{color:#b57a22}.m-todo-action{display:inline-flex;align-items:center;gap:2px;align-self:flex-start;margin-top:3px;padding:2px 6px;color:#2c74a7;background:#edf6fc;border-radius:4px;font-size:6.5px;font-weight:550}.m-todo-chevron{align-self:center;flex-shrink:0;color:#b1bfca}.m-list-tip{display:flex;align-items:flex-start;gap:4px;margin-top:11px;padding:8px 9px;color:#93a4b1;background:#f8fbfd;border:1px solid #edf2f6;border-radius:7px;font-size:6.5px;line-height:1.5}.m-list-tip .icon{flex-shrink:0;margin-top:1px;color:#6c93ad}.m-todo-detail-hero{margin-bottom:10px;padding:14px;background:#fff;border:1px solid #e7edf3;border-radius:13px}.m-todo-detail-status{display:flex;align-items:flex-start;gap:9px}.m-todo-detail-icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;flex-shrink:0;border-radius:10px}.m-todo-detail-icon.red{color:#ca514a;background:#fdecea}.m-todo-detail-icon.teal{color:#218b86;background:#e8f7f5}.m-todo-detail-icon.amber{color:#b77b23;background:#fdf4e5}.m-todo-detail-icon.blue{color:#2b73aa;background:#eaf4fc}.m-todo-detail-status>div{display:flex;flex-direction:column;gap:2px}.m-todo-detail-status span{color:#8497a6;font-size:7px}.m-todo-detail-status strong{color:#2a4357;font-size:12px;font-weight:650;line-height:1.4}.m-todo-detail-status em{color:#8fa0ae;font-size:7px;font-style:normal}.m-todo-detail-tags{display:flex;align-items:center;gap:5px;margin-top:10px;padding-top:9px;border-top:1px solid #f0f4f7}.m-due-chip{display:inline-flex;align-items:center;gap:3px;padding:2px 5px;color:#718797;background:#f3f6f9;border-radius:4px;font-size:7px}.m-due-chip.danger{color:#c94f48;background:#fdecea}.m-due-chip.warning{color:#b67b23;background:#fdf4e5}.m-linked-issue{display:block;width:100%;margin-bottom:10px;padding:13px 14px;text-align:left;background:#fbfdff;border:1px solid #dfeaf3;border-radius:13px;cursor:pointer}.m-linked-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:5px}.m-linked-head>span{display:inline-flex;align-items:center;gap:4px;color:#2e75a5;font-size:7.5px;font-weight:600}.m-linked-head .status-pill{font-size:6px;padding:1px 5px}.m-linked-issue>strong{display:block;color:#2b465a;font-size:10px;font-weight:600}.m-linked-issue>p{margin-top:3px;color:#7d92a1;font-size:7.5px;line-height:1.6}.m-linked-meta{display:flex;gap:10px;margin-top:5px;color:#94a4b1;font-size:6.5px}.m-linked-meta span{display:inline-flex;align-items:center;gap:3px}.m-linked-arrow{display:inline-flex;align-items:center;gap:2px;margin-top:7px;color:#2d75a8;font-size:7px;font-weight:550}.m-detail-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.m-detail-photos .evidence-photo{aspect-ratio:1 / 1}.m-photo-preview-btn{padding:0;background:transparent;border:0;cursor:zoom-in}.m-detail-note{display:flex;align-items:flex-start;gap:7px;background:#f8fbfd;border-color:#e9f0f5}.m-detail-note .icon{flex-shrink:0;margin-top:1px;color:#4d8db7}.m-detail-note p{color:#7f93a3;font-size:7px;line-height:1.6}.m-issue-hero{margin-bottom:10px;padding:13px 14px 11px;background:#fff;border:1px solid #e7edf3;border-radius:13px;box-shadow:0 2px 8px #0e263e08}.m-issue-hero-top{display:flex;align-items:center;justify-content:space-between}.m-issue-kind{display:inline-flex;align-items:center;gap:3px;padding:2px 6px;color:#c54f48;background:#fdecea;border-radius:4px;font-size:7px;font-weight:600}.m-issue-kind.quality{color:#218b86;background:#e8f7f5}.m-issue-hero h1{margin-top:6px;color:#243d50;font-size:15px;font-weight:700;line-height:1.4;letter-spacing:-.02em}.m-issue-hero-tags{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-top:7px}.m-issue-hero-tags .badge{min-height:18px;font-size:6.5px}.m-issue-source{color:#8c9eac;font-size:6.5px}.m-issue-project{display:flex;align-items:center;gap:4px;margin-top:8px;padding-top:8px;border-top:1px solid #f0f4f7;color:#8297a7;font-size:7px}.m-issue-project em{margin-left:auto;color:#a0aeba;font-style:normal}.m-issue-steps{display:flex;align-items:center;margin-top:10px}.m-issue-step{position:relative;display:flex;flex:1;flex-direction:column;align-items:center;gap:2px}.m-issue-step>span{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:19px;height:19px;color:#a1b0bc;background:#f2f6f9;border:1px solid #e2eaf0;border-radius:50%;font-size:6.5px}.m-issue-step>em{color:#96a7b4;font-size:6.5px;font-style:normal}.m-issue-step>i{position:absolute;top:9px;left:calc(50% + 12px);right:calc(-50% + 12px);height:1px;background:#e3eaf0}.m-issue-step.done>span{color:#fff;background:#3b9979;border-color:#3b9979}.m-issue-step.done>em{color:#5e7e70}.m-issue-step.done>i{background:#aad8c5}.m-issue-step.current>span{color:#fff;background:#2f78af;border-color:#2f78af;box-shadow:0 0 0 3px #2f78af1a}.m-issue-step.current>em{color:#2d6f9f;font-weight:600}.m-notice{display:flex;align-items:flex-start;gap:5px;margin:9px 0;padding:8px 9px;border-radius:7px;font-size:7px;line-height:1.55}.m-notice .icon{flex-shrink:0;margin-top:1px}.m-notice.warning{color:#8c6227;background:#fff9ef;border:1px solid #f2e4cc}.m-notice.warning .icon{color:#bd8024}.m-notice.info{color:#4f7288;background:#f5faff;border:1px solid #e2eef7}.m-notice.info .icon{color:#3e86b4}.m-issue-desc{padding:10px 11px;color:#526b7d;background:#f8fafc;border-left:2px solid #c4d9e7;border-radius:0 6px 6px 0;font-size:8.5px;line-height:1.8}.m-issue-requirement{display:flex;align-items:flex-start;gap:8px;margin-bottom:10px;padding:11px 12px;background:#fffbf3;border:1px solid #f0e4cf;border-radius:11px}.m-issue-requirement>span{display:inline-flex;align-items:center;justify-content:center;width:29px;height:29px;flex-shrink:0;color:#b67d28;background:#fdf2df;border-radius:7px}.m-issue-requirement strong{color:#805e2d;font-size:8px;font-weight:650}.m-issue-requirement p{margin-top:2px;color:#8d744b;font-size:7.5px;line-height:1.65}.m-rectify-note{display:flex;align-items:flex-start;gap:6px;margin-bottom:8px;padding:8px 9px;color:#527565;background:#f3fbf7;border:1px solid #dff0e7;border-radius:7px}.m-rectify-note .icon{flex-shrink:0;margin-top:1px;color:#2f8f6c}.m-rectify-note p{font-size:7.5px;line-height:1.65}.m-review-result{display:flex;align-items:flex-start;gap:6px;margin-top:8px;padding:8px 9px;border-radius:7px}.m-review-result.pass{color:#38735d;background:#eefaf5;border:1px solid #d8efe4}.m-review-result.reject{color:#8c4b46;background:#fff4f2;border:1px solid #f2dcd8}.m-review-result .icon{flex-shrink:0;margin-top:1px}.m-review-result span{display:flex;flex-direction:column;gap:1px;font-size:7px;line-height:1.5}.m-review-result strong{font-size:8px;font-weight:650}.m-related-doc{display:flex;align-items:center;gap:6px;width:100%;padding:7px 0;text-align:left;background:transparent;border:0;border-bottom:1px solid #f1f5f8;cursor:pointer}.m-related-doc:last-child{border-bottom:0}.m-related-doc>.icon{flex-shrink:0;color:#4c88b2}.m-related-doc>span:nth-child(2){display:flex;flex:1;flex-direction:column;min-width:0}.m-related-doc strong{overflow:hidden;color:#4a6478;font-size:7.5px;font-weight:550;text-overflow:ellipsis;white-space:nowrap}.m-related-doc em{color:#94a4b1;font-size:6.5px;font-style:normal}.m-related-doc .status-pill{padding:1px 5px;font-size:6px}.m-photo-preview-large .evidence-photo{aspect-ratio:1 / 1}.m-review-picker{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-bottom:11px}.m-review-picker button{display:flex;flex-direction:column;align-items:center;gap:2px;padding:11px 7px;color:#8799a7;background:#fafcfe;border:1px solid #e6edf3;border-radius:9px;cursor:pointer}.m-review-picker button strong{color:#4c6579;font-size:9px;font-weight:600}.m-review-picker button em{font-size:7px;font-style:normal}.m-review-picker button.pass.active{color:#2f8b68;background:#f2fbf7;border-color:#addbc7}.m-review-picker button.reject.active{color:#c4554e;background:#fff6f4;border-color:#edc5c0}.m-sheet-form .m-textarea,.m-sheet-form .m-input{background:#f8fafc}.m-report-banner{display:flex;align-items:center;gap:9px;margin-bottom:10px;padding:12px 13px;color:#eaf6fd;background:linear-gradient(135deg,#124f76,#1a718b);border-radius:12px;box-shadow:0 6px 16px #12507429}.m-report-banner.quality{background:linear-gradient(135deg,#176b68,#2a8b83)}.m-report-banner-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;color:#d9f4ff;background:#ffffff1f;border-radius:9px}.m-report-banner>div{display:flex;flex:1;flex-direction:column}.m-report-banner strong{font-size:10px;font-weight:650}.m-report-banner p{margin-top:1px;color:#daf2fd9e;font-size:7px}.m-report-banner em{color:#d7f1fd80;font-size:6.5px;font-style:normal}.m-form-card{margin-bottom:10px;padding:13px 14px;background:#fff;border:1px solid #e7edf3;border-radius:13px}.m-form-section-title{display:flex;align-items:center;gap:5px;margin-bottom:11px;padding-bottom:8px;border-bottom:1px solid #f0f4f7;color:#385266;font-size:10px;font-weight:650}.m-form-section-title>span{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;color:#2e73a4;background:#edf6fc;border-radius:5px;font-family:var(--font-display);font-size:7px;font-weight:600}.m-form-section-title>em{margin-left:auto;color:#94a4b1;font-size:7px;font-style:normal;font-weight:400}.m-cat-chips{display:flex;flex-wrap:wrap;gap:5px}.m-cat-chips button{height:27px;padding:0 9px;color:#7e91a1;background:#f8fafc;border:1px solid #e6edf3;border-radius:6px;font-size:7.5px;cursor:pointer}.m-cat-chips button.active{color:#246b9d;background:#edf6fd;border-color:#c9e1f2;font-weight:600}.m-level-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.m-level-cards button{display:flex;flex-direction:column;align-items:center;gap:1px;padding:8px 5px;background:#fafcfe;border:1px solid #e5ecf2;border-radius:7px;cursor:pointer}.m-level-cards span{color:#5f7587;font-size:8.5px;font-weight:550}.m-level-cards em{color:#97a7b4;font-size:6.5px;font-style:normal}.m-level-cards button.active{background:#fff8f6;border-color:#ecc4bf}.m-level-cards button.active span{color:#c0524b;font-weight:650}.m-level-cards button.active.level-medium{background:#fffbf3;border-color:#ead2a9}.m-level-cards button.active.level-medium span{color:#a97220}.m-level-cards button.active.level-normal{background:#f6fbf8;border-color:#c6e3d5}.m-level-cards button.active.level-normal span{color:#3e8a68}.m-location-input{display:flex;gap:5px}.m-location-input .m-input{flex:1}.m-location-input button{display:inline-flex;align-items:center;gap:3px;flex-shrink:0;height:38px;padding:0 9px;color:#2c73a5;background:#edf6fc;border:1px solid #cfe4f3;border-radius:7px;font-size:7.5px;cursor:pointer}.m-location-input button.located{color:#2c8766;background:#edf9f3;border-color:#cce8db}.m-textarea-wrap{position:relative;display:block}.m-textarea-wrap .m-textarea{padding-bottom:27px}.m-voice-btn{position:absolute;right:7px;bottom:6px;display:inline-flex;align-items:center;gap:3px;padding:3px 6px;color:#5d7f96;background:#ffffffe6;border:1px solid #e1eaf1;border-radius:4px;font-size:6.5px;cursor:pointer}.m-form-tip{display:flex;align-items:center;gap:3px;margin-top:7px;color:#94a4b1;font-size:6.5px}.m-deadline-chips{display:flex;gap:5px;margin-top:-3px}.m-deadline-chips button{flex:1;height:25px;color:#7e91a1;background:#f8fafc;border:1px solid #e5ecf2;border-radius:5px;font-size:7px;cursor:pointer}.m-deadline-chips button.active{color:#236b9d;background:#edf6fd;border-color:#cbe2f2}.m-report-agree{display:flex;align-items:flex-start;gap:4px;padding:0 3px 4px;color:#96a6b3;font-size:6.5px;line-height:1.55}.m-report-agree .icon{flex-shrink:0;margin-top:1px;color:#4e8fb8}.m-workbench-banner{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-bottom:10px;padding:12px 13px;color:#e9f6fe;background:linear-gradient(135deg,#0c4769,#176b85);border-radius:12px}.m-workbench-banner>div{display:flex;flex-direction:column}.m-workbench-banner span{color:#d6f0fd94;font-size:6.5px}.m-workbench-banner strong{font-size:11px;font-weight:600}.m-workbench-banner em{color:#d6f0fd9e;font-size:7px;font-style:normal}.m-workbench-banner button{display:inline-flex;align-items:center;gap:2px;padding:4px 7px;color:#dff4ff;background:#ffffff1a;border:1px solid rgba(255,255,255,.16);border-radius:5px;font-size:7px;cursor:pointer}.m-workbench-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:11px}.m-workbench-stats button{display:flex;flex-direction:column;align-items:center;gap:1px;padding:9px 5px;background:#fff;border:1px solid #e7edf3;border-radius:9px;cursor:pointer}.m-workbench-stats strong{color:#243f53;font-family:var(--font-display);font-size:18px;line-height:1.1}.m-workbench-stats strong.danger{color:#c94f48}.m-workbench-stats span{color:#8fa0ad;font-size:7px}.m-workbench-section{margin-bottom:11px;padding:13px;background:#fff;border:1px solid #e7edf3;border-radius:13px}.m-module-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:3px 2px}.m-module-item{display:flex;flex-direction:column;align-items:center;gap:3px;padding:7px 3px;background:transparent;border:0;border-radius:8px;cursor:pointer}.m-module-item:active{background:#f7fafc}.m-module-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px}.m-module-item strong{color:#4a6478;font-size:7.5px;font-weight:550}.m-module-item em{color:#9aaab7;font-size:6px;font-style:normal}.m-workbench-todo{display:flex;align-items:center;gap:6px;width:100%;padding:7px 0;text-align:left;background:transparent;border:0;border-bottom:1px solid #f0f4f7;cursor:pointer}.m-workbench-todo:last-child{border-bottom:0}.m-workbench-todo-icon{display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;flex-shrink:0;color:#2e76a8;background:#eaf4fc;border-radius:6px}.m-workbench-todo-icon.red{color:#c84e47;background:#fdecea}.m-workbench-todo>span:nth-child(2){display:flex;flex:1;flex-direction:column;min-width:0}.m-workbench-todo strong{overflow:hidden;color:#435d70;font-size:8px;font-weight:550;text-overflow:ellipsis;white-space:nowrap}.m-workbench-todo em{color:#93a3b1;font-size:6.5px;font-style:normal}.m-workbench-todo .status-pill{padding:1px 5px;font-size:6px}.m-tool-list{display:flex;flex-direction:column}.m-tool-list button{display:flex;align-items:center;justify-content:space-between;padding:9px 0;background:transparent;border:0;border-bottom:1px solid #f0f4f7;cursor:pointer}.m-tool-list button:last-child{border-bottom:0}.m-tool-list span{display:inline-flex;align-items:center;gap:6px;color:#4b6579;font-size:8.5px}.m-tool-list span .icon{color:#63869d}.m-tool-list em{display:inline-flex;align-items:center;gap:2px;color:#93a3b1;font-size:7px;font-style:normal}.m-messages-top{margin-bottom:8px}.m-message-summary{display:flex;gap:11px;margin-top:7px;padding:0 2px;color:#8b9dab;font-size:6.5px}.m-message-summary span{display:inline-flex;align-items:center;gap:3px}.m-message-summary .dot{width:4px;height:4px;border-radius:50%}.dot.danger{background:#d35650}.dot.warning{background:#cb8b30}.dot.info{background:#4789b8}.m-message-group{margin-bottom:9px}.m-message-date{display:flex;align-items:center;justify-content:space-between;padding:4px 3px 6px;color:#7e92a2;font-size:7.5px;font-weight:550}.m-message-date em{color:#a1afbb;font-size:6.5px;font-style:normal;font-weight:400}.m-message-card{position:relative;display:flex;align-items:flex-start;gap:8px;width:100%;margin-bottom:6px;padding:11px;text-align:left;background:#fff;border:1px solid #e7edf3;border-radius:11px;cursor:pointer}.m-message-card.unread{background:#fbfdff;border-color:#dce9f3}.m-message-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex-shrink:0;border-radius:8px}.m-message-icon.level-danger{color:#c95049;background:#fdecea}.m-message-icon.level-warning{color:#b77b23;background:#fdf4e5}.m-message-icon.level-success{color:#2d8b68;background:#eaf7f1}.m-message-icon.level-info{color:#2b73a9;background:#eaf4fc}.m-message-body{display:flex;flex:1;flex-direction:column;gap:1px;min-width:0}.m-message-top{display:flex;align-items:center;justify-content:space-between}.m-message-top em{color:#889ba9;font-size:6.5px;font-style:normal}.m-message-top time{color:#a0aeba;font-size:6px}.m-message-body strong{overflow:hidden;color:#344f62;font-size:9px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.m-message-body p{display:-webkit-box;overflow:hidden;color:#7f93a3;font-size:7.5px;line-height:1.55;-webkit-line-clamp:2;-webkit-box-orient:vertical}.m-unread-dot{position:absolute;top:13px;right:10px;width:5px;height:5px;background:#d45851;border-radius:50%}.m-message-card.unread .m-message-body{padding-right:8px}.m-profile{padding:0 0 28px}.m-profile-hero{padding:8px 16px 18px;color:#eaf6fe;background:radial-gradient(360px 260px at 88% 0%,rgba(57,148,190,.34),transparent 65%),linear-gradient(145deg,#0c3d5c,#0d5877 60%,#0e647f);border-radius:0 0 23px 23px}.m-profile-top{display:flex;align-items:center;justify-content:space-between}.m-profile-top>span{color:#d5f0fd99;font-size:8px;letter-spacing:.08em}.m-profile-top button{padding:3px;color:#d9f0fc;background:transparent;border:0;cursor:pointer}.m-profile-user{display:flex;align-items:center;gap:10px;margin-top:17px}.m-profile-user .avatar{border:2px solid rgba(255,255,255,.36)}.m-profile-user>div{display:flex;flex-direction:column;gap:3px}.m-profile-user h1{color:#f4fbff;font-size:17px;font-weight:700}.m-profile-user>div>span{display:flex;align-items:center;gap:4px}.m-profile-user .badge{min-height:17px;font-size:6px;background:#ffffff21;border-color:#ffffff2b;color:#eaf7ff}.m-profile-user .status-pill{padding:0 5px;font-size:6px;background:#ffffff1a;color:#c9f0dd}.m-profile-user em{color:#d4effc99;font-size:7px;font-style:normal}.m-profile-stats{display:grid;grid-template-columns:repeat(3,1fr);margin-top:15px;padding-top:12px;border-top:1px solid rgba(255,255,255,.12)}.m-profile-stats>div{display:flex;flex-direction:column;align-items:center;gap:1px;border-left:1px solid rgba(255,255,255,.1)}.m-profile-stats>div:first-child{border-left:0}.m-profile-stats strong{color:#f4fbff;font-family:var(--font-display);font-size:19px;line-height:1.1}.m-profile-stats span{color:#d3eefc8f;font-size:6.5px}.m-profile-body{padding:0 14px}.m-identity-card,.m-profile-card,.m-profile-menu-section{margin-top:10px;padding:13px;background:#fff;border:1px solid #e7edf3;border-radius:13px}.m-identity-card{margin-top:-15px;position:relative;z-index:2;box-shadow:0 8px 24px #0a39541a}.m-identity-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:8px}.m-identity-head h3{color:#314b5f;font-size:10px;font-weight:650}.m-identity-head p{color:#8d9fad;font-size:6.5px}.m-identity-head>span{display:inline-flex;align-items:center;gap:2px;color:#87a0b1;font-size:6.5px}.m-identity-options{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.m-identity-options button{position:relative;display:flex;align-items:center;gap:6px;padding:8px;text-align:left;background:#fafcfe;border:1px solid #e8eff5;border-radius:8px;cursor:pointer}.m-identity-options button.active{background:#f2f9ff;border-color:#b8d8eb;box-shadow:0 0 0 2px #2f78af0f}.m-identity-avatar{display:inline-flex;align-items:center;justify-content:center;width:27px;height:27px;flex-shrink:0;color:#fff;background:#3b8d99;border-radius:50%;font-size:8px;font-weight:600}.m-identity-options button.blue .m-identity-avatar{background:#3b72a8}.m-identity-options button>span:nth-child(2){display:flex;flex:1;flex-direction:column;min-width:0}.m-identity-options strong{color:#425c70;font-size:8.5px;font-weight:600}.m-identity-options em{color:#738b9c;font-size:6.5px;font-style:normal}.m-identity-options small{color:#9aabb7;font-size:5.8px}.m-identity-options button>.icon{position:absolute;top:5px;right:5px;color:#2e8a68}.m-profile-current-project{display:flex;align-items:center;gap:8px}.m-profile-current-project .m-project-cover{width:36px;height:36px;font-size:12px}.m-profile-current-project>div{display:flex;flex:1;flex-direction:column}.m-profile-current-project span{color:#94a4b1;font-size:6.5px}.m-profile-current-project strong{color:#425c70;font-size:9px;font-weight:600}.m-profile-current-project em{color:#98a8b5;font-size:6.5px;font-style:normal}.m-profile-current-project button{padding:3px 7px;color:#2d74a6;background:#edf6fd;border:1px solid #d5e9f7;border-radius:5px;font-size:6.5px;cursor:pointer}.m-profile-menu-title{margin-bottom:4px;padding:0 2px;color:#91a2af;font-size:6.5px;font-weight:600;letter-spacing:.06em}.m-profile-menu{overflow:hidden;border:1px solid #edf2f6;border-radius:8px}.m-profile-menu button{display:flex;align-items:center;gap:7px;width:100%;padding:9px 8px;text-align:left;background:#fff;border:0;border-bottom:1px solid #f1f5f8;cursor:pointer}.m-profile-menu button:last-child{border-bottom:0}.menu-icon{display:inline-flex;align-items:center;justify-content:center;width:27px;height:27px;flex-shrink:0;border-radius:7px}.menu-icon.blue{color:#2d73a8;background:#eaf4fc}.menu-icon.teal{color:#218b86;background:#e8f7f5}.menu-icon.amber{color:#b67b23;background:#fdf4e5}.menu-icon.indigo{color:#6366b0;background:#f0f0fa}.menu-icon.gray{color:#6c8192;background:#f1f5f8}.m-profile-menu button>span:nth-child(2){display:flex;flex:1;flex-direction:column;min-width:0}.m-profile-menu strong{color:#466074;font-size:8.5px;font-weight:550}.m-profile-menu em{color:#97a7b4;font-size:6.5px;font-style:normal}.m-profile-menu button>.icon{color:#b1bfca}.m-profile-menu .badge{min-height:17px;font-size:6px}.m-logout{display:flex;align-items:center;justify-content:center;gap:5px;width:100%;height:38px;margin-top:12px;color:#b15a53;background:#fff;border:1px solid #f0dedb;border-radius:9px;font-size:8.5px;cursor:pointer}.m-profile-footer{display:flex;flex-direction:column;align-items:center;gap:1px;margin-top:13px;color:#a5b3bf;font-size:6px}.m-profile-footer em{font-style:normal}.m-inspection-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-bottom:12px;padding:11px 8px;background:linear-gradient(135deg,#0e5074,#1a778c);border-radius:12px}.m-inspection-summary>div{display:flex;flex-direction:column;align-items:center;gap:1px}.m-inspection-summary span{color:#d8f1fe8c;font-size:6.5px}.m-inspection-summary strong{color:#f2fbff;font-family:var(--font-display);font-size:19px;line-height:1.1}.m-inspection-summary em{color:#d3eefc80;font-size:5.8px;font-style:normal}.m-section-label{display:flex;align-items:center;justify-content:space-between;margin:4px 1px 7px;color:#4d6678;font-size:8.5px;font-weight:600}.m-section-label em{color:#9aaab7;font-size:6.5px;font-style:normal;font-weight:400}.m-inspection-card{display:block;width:100%;margin-bottom:8px;padding:12px;text-align:left;background:#fff;border:1px solid #e7edf3;border-radius:12px;cursor:pointer}.m-inspection-card-top{display:flex;align-items:center;gap:7px}.m-inspection-icon{display:inline-flex;align-items:center;justify-content:center;width:33px;height:33px;flex-shrink:0;color:#2d73a7;background:#eaf4fc;border-radius:8px}.m-inspection-icon.teal{color:#218b86;background:#e8f7f5}.m-inspection-card-top>div{flex:1;display:flex;flex-direction:column;min-width:0}.m-inspection-card-top strong{color:#354f63;font-size:9px;font-weight:600}.m-inspection-card-top em{color:#93a3b1;font-size:6.5px;font-style:normal}.m-inspection-card-top .status-pill{padding:1px 5px;font-size:6px}.m-inspection-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:7px;color:#8fa0ae;font-size:6.5px}.m-inspection-meta span{display:inline-flex;align-items:center;gap:2px}.m-inspection-foot{display:flex;align-items:center;gap:10px;margin-top:8px;padding-top:7px;border-top:1px solid #f0f4f7;color:#8fa0ae;font-size:6.5px}.m-inspection-foot strong{color:#506a7d}.m-inspection-foot .danger{color:#c74f48}.m-inspection-foot em{display:inline-flex;align-items:center;gap:2px;margin-left:auto;color:#2c74a6;font-size:6.5px;font-style:normal}.m-inspection-detail-head{margin-bottom:10px;padding:13px;background:#fff;border:1px solid #e7edf3;border-radius:13px}.m-inspection-detail-title{display:flex;align-items:flex-start;gap:8px}.m-inspection-detail-title h1{color:#2c465a;font-size:12px;font-weight:650;line-height:1.4}.m-inspection-detail-title p{margin-top:2px;color:#8d9fad;font-size:7px}.m-inspection-detail-meta{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:8px;color:#8b9dab;font-size:6.5px}.m-inspection-detail-meta span{display:inline-flex;align-items:center;gap:2px}.m-inspection-detail-meta .status-pill{padding:1px 5px;font-size:6px}.m-inspection-progress{margin-top:9px;padding-top:8px;border-top:1px solid #f0f4f7}.m-inspection-progress .row-between{margin-bottom:4px;color:#8b9dab;font-size:7px}.m-inspection-progress strong{color:#456074;font-size:8px}.m-signin-card{display:flex;align-items:center;gap:8px;width:100%;margin-bottom:10px;padding:10px 12px;text-align:left;background:#fff;border:1px dashed #c9dae6;border-radius:11px;cursor:pointer}.m-signin-card>span{display:inline-flex;align-items:center;justify-content:center;width:33px;height:33px;flex-shrink:0;color:#2a72a4;background:#edf6fc;border-radius:8px}.m-signin-card>div{display:flex;flex:1;flex-direction:column}.m-signin-card strong{color:#405b6e;font-size:8.5px;font-weight:600}.m-signin-card em{color:#93a3b1;font-size:6.5px;font-style:normal}.m-signin-card>.icon{color:#a6b4bf}.m-signin-card.signed{border-style:solid;border-color:#cce8dc;background:#fbfefc}.m-signin-card.signed>span{color:#2d8a68;background:#eaf7f1}.m-checklist{display:flex;flex-direction:column;gap:7px}.m-check-item{padding:11px 12px;background:#fff;border:1px solid #e7edf3;border-radius:11px}.m-check-item.checked{border-color:#d9e8f1}.m-check-top{display:flex;align-items:flex-start;gap:6px}.m-check-index{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;flex-shrink:0;color:#7d94a4;background:#f2f6f9;border-radius:5px;font-family:var(--font-display);font-size:6.5px}.m-check-top strong{color:#405a6e;font-size:8.5px;font-weight:550;line-height:1.45}.m-check-actions{display:flex;align-items:center;gap:4px;margin-top:7px;padding-left:24px}.m-check-actions button{display:inline-flex;align-items:center;gap:2px;height:24px;padding:0 7px;color:#8296a6;background:#f7fafc;border:1px solid #e6edf3;border-radius:5px;font-size:6.5px;cursor:pointer}.m-check-actions button.pass.active{color:#2b8766;background:#eaf8f2;border-color:#b9e0d0}.m-check-actions button.fail.active{color:#c34f48;background:#fdecea;border-color:#efcbc7}.m-check-actions button.na.active{color:#687e90;background:#f0f4f8;border-color:#d7e1e9}.m-check-actions button:last-child{margin-left:auto}.m-check-fail{margin:7px 0 0 24px;padding:7px;background:#fff8f7;border:1px solid #f4dfdc;border-radius:6px}.m-check-fail .m-textarea{min-height:47px;background:#fff}.m-check-fail button{display:inline-flex;align-items:center;gap:2px;margin-top:5px;padding:3px 6px;color:#c34f48;background:#fdecea;border:0;border-radius:4px;font-size:6.5px;cursor:pointer}.m-progress-overview{display:flex;align-items:center;gap:12px;margin-bottom:10px;padding:13px;background:#fff;border:1px solid #e7edf3;border-radius:13px}.m-progress-overview-text{flex:1;display:flex;flex-direction:column;gap:1px}.m-progress-overview-text span{color:#8b9dab;font-size:6.5px}.m-progress-overview-text strong{color:#344f63;font-size:9px;font-weight:600}.m-progress-overview-text em{color:#b17a27;font-size:6.5px;font-style:normal}.m-progress-overview-num{display:flex;flex-direction:column;align-items:center;padding-left:10px;border-left:1px solid #edf2f6}.m-progress-overview-num strong{color:#2d6f9f;font-family:var(--font-display);font-size:19px}.m-progress-overview-num span{color:#94a4b1;font-size:6.5px}.m-task-list{display:flex;flex-direction:column;gap:8px}.m-task-card{display:block;width:100%;padding:12px;text-align:left;background:#fff;border:1px solid #e7edf3;border-radius:11px;cursor:pointer}.m-task-head{display:flex;align-items:flex-start;gap:6px}.m-task-status-dot{width:6px;height:6px;margin-top:4px;flex-shrink:0;background:#b4c2cd;border-radius:50%}.m-task-status-dot.green{background:#3b9978}.m-task-status-dot.amber{background:#c98a2c}.m-task-status-dot.red{background:#d0544c}.m-task-head>div{flex:1;display:flex;flex-direction:column}.m-task-head strong{color:#3a5468;font-size:9px;font-weight:600}.m-task-head em{color:#93a3b1;font-size:6.5px;font-style:normal}.m-task-head .status-pill{padding:1px 5px;font-size:6px}.m-task-progress{display:flex;flex-direction:column;gap:4px;margin-top:8px}.m-task-plan,.m-task-actual{display:flex;align-items:center;gap:5px}.m-task-plan span,.m-task-actual span{width:21px;color:#8fa0ad;font-size:6.5px}.m-task-plan i,.m-task-actual i{flex:1;height:4px;overflow:hidden;background:#eef3f7;border-radius:2px}.m-task-plan b{display:block;height:100%;background:#b9c8d3;border-radius:2px}.m-task-actual b{display:block;height:100%;background:#4e96c0;border-radius:2px}.m-task-plan em,.m-task-actual em{width:26px;color:#708798;font-size:6.5px;font-style:normal;text-align:right}.m-task-foot{display:flex;align-items:center;gap:7px;margin-top:8px;padding-top:7px;border-top:1px solid #f0f4f7;color:#93a3b1;font-size:6.5px}.m-task-foot span{display:inline-flex;align-items:center;gap:2px}.m-task-foot em{font-style:normal}.m-task-foot em.danger{color:#c74f48}.m-task-foot em.amber{color:#b57a22}.m-task-foot em.green{color:#2f8968}.m-task-fill{margin-left:auto;color:#2c74a6}.m-progress-fill-head{display:flex;align-items:flex-start;gap:8px;margin-bottom:10px;padding:12px 13px;background:#fff;border:1px solid #e7edf3;border-radius:13px}.m-progress-fill-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;color:#2d73a8;background:#eaf4fc;border-radius:9px}.m-progress-fill-head>div{flex:1}.m-progress-fill-head h1{color:#2d475b;font-size:11px;font-weight:650}.m-progress-fill-head p{margin-top:1px;color:#8d9fad;font-size:7px}.m-progress-fill-head .status-pill{padding:1px 5px;font-size:6px}.m-actual-input{display:flex;align-items:center;justify-content:center;gap:10px;padding:8px 0}.m-actual-input button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;color:#4d6a7e;background:#f3f7fa;border:1px solid #e2ebf2;border-radius:8px;cursor:pointer}.m-actual-input label{display:flex;align-items:baseline;gap:2px}.m-actual-input input{width:88px;color:#18384e;background:transparent;border:0;outline:0;font-family:var(--font-display);font-size:34px;font-weight:700;text-align:center}.m-actual-input span{color:#7e93a3;font-size:12px}.m-actual-scale{display:flex;align-items:center;gap:5px;padding:2px 2px 5px;color:#9aaab7;font-size:6px}.m-actual-scale>div{position:relative;flex:1;height:5px;background:#eef3f7;border-radius:3px}.m-actual-scale i{position:absolute;left:0;top:0;height:100%;background:#bccbd6;border-radius:3px}.m-actual-scale b{position:absolute;top:-3px;width:2px;height:11px;background:#2f74c0}.m-deviation-line{display:flex;align-items:center;justify-content:space-between;margin-top:3px;padding-top:8px;border-top:1px solid #f0f4f7;color:#8b9dab;font-size:7px}.m-deviation-line strong{font-size:8.5px;font-weight:600}.m-deviation-line strong.danger{color:#c74f48}.m-deviation-line strong.amber{color:#b57a22}.m-deviation-line strong.green{color:#2f8968}.m-doc-summary{display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:10px;padding:11px 9px;background:linear-gradient(135deg,#0e4d71,#1a7389);border-radius:12px}.m-doc-summary>div{display:flex;flex-direction:column;align-items:center;gap:1px;border-left:1px solid rgba(255,255,255,.12)}.m-doc-summary>div:first-child{border-left:0}.m-doc-summary span{color:#d7f1fe8c;font-size:6.5px}.m-doc-summary strong{color:#f2fbff;font-family:var(--font-display);font-size:20px;line-height:1.1}.m-doc-summary em{color:#d3eefc80;font-size:6px;font-style:normal}.m-doc-warning{display:flex;align-items:flex-start;gap:7px;margin-bottom:10px;padding:9px 10px;background:#fffbf2;border:1px solid #f0e3cc;border-radius:9px}.m-doc-warning>span{color:#b97d27}.m-doc-warning>div{flex:1;display:flex;flex-direction:column}.m-doc-warning strong{color:#7f5c2a;font-size:8px;font-weight:600}.m-doc-warning p{margin-top:1px;color:#937b55;font-size:6.5px;line-height:1.5}.m-doc-warning button{flex-shrink:0;padding:3px 6px;color:#8f6323;background:#fff4df;border:1px solid #eed7b4;border-radius:4px;font-size:6.5px;cursor:pointer}.m-doc-tabs{display:flex;gap:14px;margin-bottom:8px;padding:0 2px;overflow-x:auto;border-bottom:1px solid #e6edf3}.m-doc-tabs button{flex-shrink:0;padding:0 0 7px;color:#8b9dab;background:transparent;border:0;border-bottom:2px solid transparent;font-size:8px;cursor:pointer}.m-doc-tabs button.active{color:#246c9e;border-bottom-color:#2d77ac;font-weight:600}.m-doc-list{display:flex;flex-direction:column;gap:7px}.m-doc-card{display:flex;align-items:flex-start;gap:8px;width:100%;padding:10px;text-align:left;background:#fff;border:1px solid #e7edf3;border-radius:10px;cursor:pointer}.m-doc-main{display:flex;flex:1;flex-direction:column;min-width:0}.m-doc-main strong{overflow:hidden;color:#3b5568;font-size:8.5px;font-weight:550;text-overflow:ellipsis;white-space:nowrap}.m-doc-main em{color:#8fa0ad;font-size:6.5px;font-style:normal}.m-doc-main>span{color:#a0aeba;font-size:6px}.m-doc-card .status-pill{padding:1px 5px;font-size:6px}.m-upload-banner{display:flex;align-items:center;gap:8px;width:100%;margin-top:10px;padding:11px 12px;text-align:left;background:#fff;border:1px dashed #c8d9e5;border-radius:10px;cursor:pointer}.m-upload-banner>span{display:inline-flex;align-items:center;justify-content:center;width:33px;height:33px;color:#2d73a7;background:#eaf4fc;border-radius:8px}.m-upload-banner>div{display:flex;flex:1;flex-direction:column}.m-upload-banner strong{color:#415c70;font-size:8.5px;font-weight:600}.m-upload-banner em{color:#93a3b1;font-size:6.5px;font-style:normal}.m-upload-banner>.icon{color:#aab8c3}.m-doc-preview{display:flex;flex-direction:column;align-items:center;gap:3px;margin-bottom:11px;padding:23px;color:#6a8295;background:#f5f9fc;border:1px solid #e3ecf3;border-radius:9px}.m-doc-preview span{color:#526c7f;font-size:8.5px;font-weight:550}.m-doc-preview em{color:#98a8b5;font-size:6.5px;font-style:normal}.m-doc-upload-head{display:flex;align-items:center;gap:9px;margin-bottom:10px;padding:12px;background:linear-gradient(135deg,#0e4d71,#1a7389);border-radius:12px;color:#eaf7ff}.m-doc-upload-head>span{display:inline-flex;align-items:center;justify-content:center;width:37px;height:37px;flex-shrink:0;color:#d9f3ff;background:#ffffff1f;border-radius:9px}.m-doc-upload-head>div{display:flex;flex-direction:column}.m-doc-upload-head strong{font-size:9.5px;font-weight:650}.m-doc-upload-head p{color:#d8f1fd99;font-size:7px}.m-dropzone{display:flex;flex-direction:column;align-items:center;gap:3px;margin-bottom:10px;padding:22px 14px;text-align:center;background:#fff;border:1.5px dashed #c6d8e4;border-radius:12px;cursor:pointer}.m-dropzone-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;margin-bottom:3px;color:#2d73a7;background:#edf6fc;border-radius:13px}.m-dropzone strong{color:#476175;font-size:8.5px;font-weight:550}.m-dropzone em{color:#99a9b6;font-size:6.5px;font-style:normal}.m-dropzone.has-file{border-style:solid;border-color:#b9dccf;background:#fbfefc}.m-dropzone.has-file strong{max-width:100%;overflow:hidden;color:#335b49;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.m-dropzone.has-file>span{display:inline-flex;align-items:center;gap:3px;color:#2f8968;font-size:6.5px}.m-project-search{display:flex;align-items:center;gap:6px;height:36px;margin-bottom:8px;padding:0 10px;color:#91a2af;background:#fff;border:1px solid #e4ebf2;border-radius:9px}.m-project-search input{flex:1;color:#405a6e;background:transparent;border:0;outline:0;font-size:9px}.m-project-search input::placeholder{color:#a2b0bd}.m-project-filter{display:flex;gap:5px;margin-bottom:9px;overflow-x:auto;padding-bottom:1px;scrollbar-width:none}.m-project-filter::-webkit-scrollbar{display:none}.m-project-filter button{flex-shrink:0;height:25px;padding:0 9px;color:#7f92a2;background:#fff;border:1px solid #e4ebf2;border-radius:999px;font-size:7px;cursor:pointer}.m-project-filter button.active{color:#246d9e;background:#edf6fd;border-color:#cbe2f2;font-weight:600}.m-project-list{display:flex;flex-direction:column;gap:8px}.m-project-list-item{position:relative}.m-project-current-tag{position:absolute;top:-1px;right:8px;z-index:2;display:inline-flex;align-items:center;gap:2px;padding:2px 5px;color:#2b7b5d;background:#eaf8f1;border-radius:0 0 5px 5px;font-size:6px;font-weight:600}.m-project-card{display:flex;align-items:stretch;gap:0;width:100%;padding:0;overflow:hidden;text-align:left;background:#fff;border:1px solid #e7edf3;border-radius:12px;box-shadow:0 1px 2px #0e263e06;cursor:pointer}.m-project-card-cover{position:relative;display:flex;flex-direction:column;justify-content:space-between;width:82px;flex-shrink:0;padding:9px;color:#fff}.m-project-card-cover>span:first-child{font-size:22px;font-weight:700;opacity:.92}.m-project-card-cover .badge{align-self:flex-start;padding:0 4px;font-size:5.5px;background:#ffffff29;border-color:#ffffff26;color:#fff}.m-project-card-body{display:flex;flex:1;flex-direction:column;padding:10px 11px;min-width:0}.m-project-card-body>strong{overflow:hidden;color:#2e495d;font-size:10px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.m-project-card-body>em{color:#93a3b1;font-size:6.5px;font-style:normal}.m-project-card-progress{display:flex;align-items:center;gap:6px;margin-top:7px}.m-project-card-progress>i{flex:1;height:4px;overflow:hidden;background:#eef3f7;border-radius:2px}.m-project-card-progress b{display:block;height:100%;background:#4f97c0;border-radius:2px}.m-project-card-progress>span{width:26px;color:#557083;font-size:7px;font-weight:600;text-align:right}.m-project-card-meta{display:flex;align-items:center;gap:6px;margin-top:6px}.m-project-card-meta .status-pill{padding:1px 5px;font-size:6px}.m-project-card-meta>em{margin-left:auto;color:#9aaab7;font-size:6px;font-style:normal}.m-project-detail-cover{position:relative;overflow:hidden;margin-bottom:10px;padding:14px;color:#fff;border-radius:14px}.m-project-detail-cover-top{display:flex;gap:5px}.m-project-detail-cover .status-pill{background:#ffffff29;color:#fff}.m-project-detail-cover .badge{background:#ffffff1f;border-color:#ffffff29;color:#eaf7ff}.m-project-detail-cover h1{margin-top:8px;color:#f4fbff;font-size:15px;font-weight:700;line-height:1.35}.m-project-detail-cover p{margin-top:3px;color:#ddf1fd9e;font-size:7px}.m-project-detail-progress{display:flex;align-items:center;gap:9px;margin-top:9px}.m-project-detail-progress .ring-label{color:#f2fbff;font-size:11px}.m-project-detail-progress>span{display:flex;flex-direction:column;color:#e0f3ffb3;font-size:7px}.m-project-detail-progress em{color:#d3effd85;font-size:6.5px;font-style:normal}.m-project-detail-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:10px}.m-project-detail-stats>div{display:flex;flex-direction:column;align-items:center;gap:1px;padding:8px 5px;background:#fff;border:1px solid #e7edf3;border-radius:8px}.m-project-detail-stats span{color:#8fa0ad;font-size:6.5px}.m-project-detail-stats strong{color:#2f4a5e;font-family:var(--font-display);font-size:15px}.m-project-detail-stats em{margin-left:1px;color:#97a7b4;font-family:var(--font-sans);font-size:6px;font-style:normal;font-weight:400}.m-project-risk-row{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-bottom:7px}.m-project-risk-row>div{display:flex;flex-direction:column;align-items:center;gap:1px;padding:8px 4px;background:#f9fbfd;border:1px solid #edf2f6;border-radius:7px}.m-project-risk-row strong{color:#2d4a5f;font-family:var(--font-display);font-size:17px;line-height:1.1}.m-project-risk-row strong.danger{color:#c84f48}.m-project-risk-row span{color:#91a2af;font-size:6.5px}.m-project-risk-item{display:flex;align-items:center;gap:6px;width:100%;padding:7px 0;text-align:left;background:transparent;border:0;border-bottom:1px solid #f0f4f7;cursor:pointer}.m-project-risk-item:last-child{border-bottom:0}.m-project-risk-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0;color:#c74f48;background:#fdecea;border-radius:6px}.m-project-risk-icon.quality{color:#218b86;background:#e8f7f5}.m-project-risk-item>span:nth-child(2){display:flex;flex:1;flex-direction:column;min-width:0}.m-project-risk-item strong{overflow:hidden;color:#415b6f;font-size:7.5px;font-weight:550;text-overflow:ellipsis;white-space:nowrap}.m-project-risk-item em{color:#93a3b1;font-size:6.5px;font-style:normal}.m-project-risk-item>.icon{color:#acbac5}.m-project-task{margin-bottom:8px}.m-project-task .row-between{margin-bottom:3px;color:#627a8c;font-size:7px}.m-project-task strong{color:#456074;font-size:7.5px}.m-detail-more{display:flex;align-items:center;justify-content:center;gap:2px;width:100%;margin-top:5px;padding-top:7px;color:#2d74a6;background:transparent;border:0;border-top:1px solid #f0f4f7;font-size:6.5px;cursor:pointer}.m-alert-summary{display:flex;align-items:stretch;gap:5px;margin-bottom:10px;padding:11px;background:linear-gradient(135deg,#0e4b6f,#176d86);border-radius:12px}.m-alert-summary-main{display:flex;flex-wrap:wrap;align-items:baseline;gap:1px;flex:1.2;padding-right:8px;border-right:1px solid rgba(255,255,255,.12)}.m-alert-summary-main>span:first-child{width:100%;color:#d7f1fe94;font-size:6.5px}.m-alert-summary-main strong{color:#f2fbff;font-family:var(--font-display);font-size:24px;line-height:1.1}.m-alert-summary-main em{color:#d3eefc80;font-size:6px;font-style:normal}.m-alert-live{display:inline-flex;align-items:center;gap:3px;width:100%;margin-top:2px;color:#7de0b8!important;font-size:5.5px!important}.m-alert-live i{width:3.5px;height:3.5px;background:#4ce0a0;border-radius:50%}.m-alert-summary>div:not(.m-alert-summary-main){display:flex;flex:1;flex-direction:column;justify-content:center;gap:1px;padding-left:8px}.m-alert-summary>div:not(.m-alert-summary-main) span{color:#d7f1fe8c;font-size:6px}.m-alert-summary>div:not(.m-alert-summary-main) strong{color:#f2fbff;font-family:var(--font-display);font-size:16px;line-height:1.1}.m-alert-summary>div:not(.m-alert-summary-main) em{color:#d3eefc80;font-size:5.5px;font-style:normal}.m-alert-list{display:flex;flex-direction:column;gap:7px;margin-top:8px}.m-alert-card{display:flex;align-items:center;gap:8px;width:100%;padding:8px;text-align:left;background:#fff;border:1px solid #e7edf3;border-radius:10px;cursor:pointer}.m-alert-card.pending{border-left:2px solid #d15750}.m-alert-thumb{position:relative;width:79px;flex-shrink:0}.m-alert-thumb .evidence-photo{aspect-ratio:4 / 3}.m-alert-thumb-live{position:absolute;top:4px;left:4px;display:inline-flex;align-items:center;gap:2px;padding:1px 4px;color:#fff;background:#0719278c;border-radius:3px;font-size:4.5px}.m-alert-thumb-live i{width:3px;height:3px;background:#ff6d64;border-radius:50%}.m-alert-main{display:flex;flex:1;flex-direction:column;gap:1px;min-width:0}.m-alert-top{display:flex;align-items:center;justify-content:space-between;gap:5px}.m-alert-top strong{overflow:hidden;color:#3b5568;font-size:8.5px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.m-alert-top .status-pill{padding:1px 5px;font-size:6px}.m-alert-main>span{display:inline-flex;align-items:center;gap:2px;color:#8fa0ad;font-size:6.5px}.m-alert-meta{display:flex;align-items:center;gap:6px;margin-top:2px}.m-alert-meta em{color:#a0aeba;font-size:6px;font-style:normal}.m-alert-meta b{display:inline-flex;align-items:center;gap:2px;color:#6e69b0;font-size:6px;font-weight:550}.m-alert-meta .badge{min-height:15px;padding:0 4px;font-size:5.5px}.m-alert-card>.icon{color:#aebbc6}.m-alert-detail-image{position:relative;margin-bottom:8px}.m-alert-detail-image .evidence-photo{aspect-ratio:16 / 10}.m-alert-box{position:absolute;left:27%;top:25%;width:29%;height:46%;border:1.5px solid #ffd24d;border-radius:2px;box-shadow:0 0 0 9999px #05131e21}.m-alert-box i{position:absolute;left:-3px;top:-3px;width:5px;height:5px;background:#ffd24d}.m-alert-desc{margin-bottom:8px;color:#6d8191;font-size:7.5px;line-height:1.65}.m-alert-replay{display:flex;align-items:center;justify-content:center;gap:3px;width:100%;height:30px;margin-top:7px;color:#2d73a6;background:#edf6fc;border:1px solid #d6e8f5;border-radius:6px;font-size:7px;cursor:pointer}.m-my-report-list{display:flex;flex-direction:column;gap:7px;margin-top:8px}.m-my-report-card{display:flex;align-items:flex-start;gap:7px;width:100%;padding:11px;text-align:left;background:#fff;border:1px solid #e7edf3;border-radius:11px;cursor:pointer}.m-my-report-card>span:nth-child(2){display:flex;flex:1;flex-direction:column;min-width:0}.m-my-report-card strong{overflow:hidden;color:#3a5468;font-size:8.5px;font-weight:550;text-overflow:ellipsis;white-space:nowrap}.m-my-report-card em{color:#8fa0ad;font-size:6.5px;font-style:normal}.m-my-report-card>span:nth-child(2)>span{color:#9aaab7;font-size:6px}.m-my-report-card .status-pill{padding:1px 5px;font-size:6px}.m-drafts{margin-top:8px}.m-draft-card{padding:13px;background:#fff;border:1px solid #ead9bd;border-radius:12px}.m-draft-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}.m-draft-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;color:#b57b23;background:#fdf4e5;border-radius:8px}.m-draft-card>strong{color:#3d5669;font-size:9.5px;font-weight:600}.m-draft-card p{margin-top:3px;color:#7f93a3;font-size:7.5px;line-height:1.6}.m-draft-meta{display:flex;gap:10px;margin-top:7px;color:#94a4b1;font-size:6.5px}.m-draft-meta span{display:inline-flex;align-items:center;gap:2px}.m-draft-card>button{display:flex;align-items:center;justify-content:center;gap:3px;width:100%;height:31px;margin-top:9px;color:#8d6325;background:#fffaf0;border:1px solid #efdfc5;border-radius:6px;font-size:7.5px;cursor:pointer}.m-settings-card{margin-bottom:10px;padding:13px;background:#fff;border:1px solid #e7edf3;border-radius:12px}.m-settings-user{display:flex;align-items:center;gap:8px}.m-settings-avatar{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;color:#fff;background:linear-gradient(135deg,#3e92a1,#236f84);border-radius:50%;font-size:11px;font-weight:600}.m-settings-user>div{display:flex;flex:1;flex-direction:column}.m-settings-user strong{color:#3c5669;font-size:10px;font-weight:600}.m-settings-user em{color:#93a3b1;font-size:6.5px;font-style:normal}.m-settings-group{margin-bottom:10px;padding:4px 13px;background:#fff;border:1px solid #e7edf3;border-radius:12px}.m-settings-title{padding:8px 0 4px;color:#8b9dab;font-size:6.5px;font-weight:600;letter-spacing:.05em}.m-settings-row{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:9px 0;text-align:left;background:transparent;border:0;border-top:1px solid #f0f4f7;cursor:default}.m-settings-title+.m-settings-row{border-top:0}.m-settings-row.clickable{cursor:pointer}.m-settings-row>span{display:flex;flex-direction:column}.m-settings-row strong{color:#476175;font-size:8.5px;font-weight:550}.m-settings-row em{color:#98a8b5;font-size:6.5px;font-style:normal}.m-settings-row>.icon{color:#b1bfca}.m-settings .m-logout{margin-top:2px}.m-settings-foot{display:flex;flex-direction:column;align-items:center;gap:1px;margin-top:13px;color:#a4b2be;font-size:6px}.m-settings-foot em{font-style:normal}.m-login-stage{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:28px;background:radial-gradient(700px 500px at 70% 10%,rgba(45,121,165,.24),transparent 62%),linear-gradient(135deg,#041523,#07243b 55%,#061b2e)}.m-login-device{width:390px;height:844px;overflow-y:auto;scrollbar-width:none;background:#f5f8fb;border:9px solid #09131f;border-radius:48px;box-shadow:0 40px 100px #0000007a}.m-login-device::-webkit-scrollbar{display:none}.m-login-bg{position:relative;overflow:hidden;min-height:340px;padding:27px 22px 24px;color:#eaf7ff;background:radial-gradient(390px 260px at 90% 8%,rgba(68,164,201,.36),transparent 64%),linear-gradient(145deg,#0b3d5d,#0c5a78 62%,#0d637e);border-radius:0 0 25px 25px}.m-login-bg>svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.m-login-brand{position:relative;z-index:2;display:flex;align-items:center;gap:8px}.m-login-brand>span{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;color:#d9effc;background:#ffffff1f;border:1px solid rgba(255,255,255,.22);border-radius:10px}.m-login-brand>div{display:flex;flex-direction:column}.m-login-brand strong{font-size:13px;font-weight:650;letter-spacing:.08em}.m-login-brand em{color:#d5f0fd94;font-size:6.5px;font-style:normal}.m-login-bg h1{position:relative;z-index:2;margin-top:35px;color:#f4fbff;font-size:28px;font-weight:700;line-height:1.28;letter-spacing:-.04em}.m-login-bg>p{position:relative;z-index:2;max-width:260px;margin-top:9px;color:#d8f1fea6;font-size:8px;line-height:1.8}.m-login-live{position:relative;z-index:2;display:inline-flex;align-items:center;gap:4px;margin-top:17px;color:#cdeffd94;font-size:6.5px}.m-login-live .live-dot{margin:0}.m-login-panel{padding:20px 22px 26px;background:#fff;border-radius:23px 23px 0 0;margin-top:-19px;position:relative;z-index:3}.m-login-title h2{color:#213b4f;font-size:19px;font-weight:700;letter-spacing:-.02em}.m-login-title p{margin-top:2px;color:#93a3b1;font-size:7.5px}.m-login-input{display:flex;align-items:center;gap:6px;height:40px;margin-top:9px;padding:0 10px;background:#f8fafc;border:1px solid #e5ecf2;border-radius:8px}.m-login-input:focus-within{background:#fff;border-color:#90b3cf;box-shadow:0 0 0 3px #2875c212}.m-login-input>.icon{color:#8196a7}.m-login-input input{flex:1;min-width:0;color:#395468;background:transparent;border:0;outline:0;font-size:9px}.m-login-input button{flex-shrink:0;padding:2px 3px;color:#2b73a6;background:transparent;border:0;font-size:7px;cursor:pointer}.m-login-submit{display:flex;align-items:center;justify-content:center;gap:5px;width:100%;height:42px;margin-top:12px;color:#fff;background:linear-gradient(135deg,#2d79b4,#1d5c92);border:0;border-radius:9px;box-shadow:0 6px 16px #1e5e9138;font-size:10px;font-weight:600;cursor:pointer}.m-login-or{display:flex;align-items:center;gap:8px;margin:15px 0 10px;color:#a0aeba;font-size:6.5px}.m-login-or:before,.m-login-or:after{content:"";flex:1;height:1px;background:#edf2f6}.m-login-demo{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.m-login-demo button{display:flex;align-items:center;gap:6px;padding:8px;text-align:left;background:#fafcfe;border:1px solid #e9eff5;border-radius:8px;cursor:pointer}.m-login-avatar{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;flex-shrink:0;color:#fff;border-radius:50%;font-size:8px}.m-login-avatar.teal{background:#32908d}.m-login-avatar.blue{background:#3974a8}.m-login-demo button>span:nth-child(2){display:flex;flex:1;flex-direction:column}.m-login-demo strong{color:#455f72;font-size:8px;font-weight:600}.m-login-demo em{color:#93a3b1;font-size:5.8px;font-style:normal}.m-login-demo button>.icon{color:#aebbc6}.m-login-links{display:flex;align-items:center;justify-content:space-between;margin-top:14px;padding-top:12px;border-top:1px solid #eef3f7}.m-login-links button{padding:0;color:#7b91a2;background:transparent;border:0;font-size:7px;cursor:pointer}.m-login-copy{margin-top:12px;color:#a7b4bf;font-size:5.8px;text-align:center}@media (max-width: 1000px){.m-stage{gap:28px;padding:18px}.m-stage-side{display:none}.m-device{width:390px;height:820px}}@media (max-width: 860px){body{background:#f4f7fa}.m-stage{display:block;min-height:100dvh;padding:0;background:#f4f7fa}.m-stage:before{display:none}.m-device{width:100%;height:100dvh;border:0;border-radius:0;box-shadow:none;transform:none}.m-device-island,.m-statusbar{display:none}.m-scroll{height:100%}.m-scroll.with-tabs{padding-bottom:calc(72px + env(safe-area-inset-bottom))}.m-tabbar{height:calc(62px + env(safe-area-inset-bottom));padding-bottom:calc(5px + env(safe-area-inset-bottom))}.m-head{padding-top:calc(7px + env(safe-area-inset-top))}.m-home-hero,.m-profile-hero{padding-top:calc(9px + env(safe-area-inset-top))}.m-action-bar{padding-bottom:calc(9px + env(safe-area-inset-bottom))}.m-fab{bottom:calc(77px + env(safe-area-inset-bottom))}.m-login-stage{padding:0;min-height:100dvh;background:#f5f8fb}.m-login-device{width:100%;height:100dvh;border:0;border-radius:0;box-shadow:none}.toast-host{top:calc(10px + env(safe-area-inset-top));width:min(92vw,390px)}}@media (max-width: 390px){.m-home-stats strong{font-size:17px}.m-quick-icon{width:35px;height:35px}.m-cat-chips button{padding:0 7px}.m-module-item strong{font-size:7px}.m-head-title h1{font-size:15px}}.m-home-brand strong{font-size:12.5px}.m-home-brand em{font-size:7.5px}.m-home-greeting>span{font-size:10px}.m-home-greeting>strong{font-size:18px}.m-home-greeting em{font-size:21px}.m-project-switch-text strong{font-size:12px}.m-project-switch-text em,.m-project-switch-text span{font-size:8px}.m-project-switch-more,.m-home-stats span{font-size:8.5px}.m-home-stats strong{font-size:21px}.m-home-stats em{font-size:7px}.m-quick-actions em{font-size:9.5px}.m-card-head h3{font-size:13px}.m-card-head span,.m-card-head button{font-size:8.5px}.m-focus-tags em{font-size:8px}.m-focus-main>strong{font-size:11.5px}.m-focus-meta,.m-focus-due{font-size:8.5px}.m-progress-meta span{font-size:9px}.m-progress-meta strong{font-size:10px}.m-progress-phases span{font-size:8px}.m-mini-todo strong{font-size:10px}.m-mini-todo em{font-size:8px}.m-activity-item strong{font-size:9px}.m-activity-item span{font-size:8px}.m-activity-item time{font-size:7px}.m-quote{font-size:8.5px}.m-tab em{font-size:9.5px}.m-fab{width:48px;height:48px}.m-head-title h1{font-size:17px}.m-head-title p{font-size:8.5px}.m-head-text{font-size:9.5px}.m-section-head h3{font-size:13px}.m-section-head p{font-size:8.5px}.m-todos-summary span{font-size:8px}.m-todos-summary strong{font-size:23px}.m-filter-chips button{height:28px;font-size:9.5px}.m-todo-type-icon{width:40px;height:40px}.m-todo-top em{font-size:8px}.m-todo-main>strong{font-size:12px}.m-todo-project,.m-todo-due{font-size:8.5px}.m-todo-action,.m-todo-top .status-pill,.m-list-tip{font-size:8px}.m-todo-detail-status span{font-size:8.5px}.m-todo-detail-status strong{font-size:14px}.m-todo-detail-status em,.m-due-chip{font-size:8.5px}.m-detail-section-title{font-size:12px}.m-detail-section-title>span{font-size:8px}.m-kv-list span{font-size:10px}.m-kv-list strong{font-size:11px}.m-linked-head>span{font-size:9px}.m-linked-issue>strong{font-size:12px}.m-linked-issue>p{font-size:9.5px}.m-linked-meta{font-size:8px}.m-linked-arrow{font-size:9px}.m-detail-note p,.m-issue-kind{font-size:8.5px}.m-issue-hero h1{font-size:17px}.m-issue-hero-tags .badge{font-size:8px;min-height:19px}.m-issue-source{font-size:8px}.m-issue-project{font-size:8.5px}.m-issue-step>span{width:22px;height:22px;font-size:8px}.m-issue-step>em{font-size:8px}.m-notice{font-size:9px}.m-issue-desc{font-size:10.5px}.m-issue-requirement strong,.m-issue-requirement p{font-size:9.5px}.m-review-result span{font-size:8.5px}.m-review-result strong,.m-related-doc strong{font-size:9.5px}.m-related-doc em{font-size:8px}.m-field-label{font-size:10.5px}.m-field-label small{font-size:8.5px}.m-input,.m-textarea,.m-select{font-size:12px}.m-input,.m-select{height:42px}.m-readonly-field{height:42px;font-size:11px}.m-btn-primary,.m-btn-secondary{height:44px;font-size:12px}.m-sheet-head h3{font-size:15px}.m-sheet-head p{font-size:9px}.m-sheet-primary{height:44px;font-size:12px}.m-report-banner strong{font-size:11.5px}.m-report-banner p{font-size:8.5px}.m-form-section-title{font-size:11.5px}.m-cat-chips button{height:30px;font-size:9px;padding:0 10px}.m-level-cards span{font-size:10px}.m-level-cards em{font-size:8px}.m-location-input button{height:42px;font-size:9px}.m-form-tip{font-size:8px}.m-deadline-chips button{height:29px;font-size:8.5px}.m-report-agree,.m-workbench-banner span{font-size:8px}.m-workbench-banner strong{font-size:13px}.m-workbench-banner em{font-size:9px}.m-workbench-banner button,.m-workbench-stats span{font-size:8.5px}.m-module-item strong{font-size:9.5px}.m-module-item em{font-size:7.5px}.m-workbench-todo strong{font-size:10px}.m-workbench-todo em{font-size:8px}.m-tool-list span{font-size:10px}.m-tool-list em,.m-message-summary{font-size:8px}.m-message-date{font-size:9px}.m-message-date em{font-size:7.5px}.m-message-top em{font-size:8px}.m-message-top time{font-size:7.5px}.m-message-body strong{font-size:11px}.m-message-body p{font-size:9px}.m-profile-top>span{font-size:9.5px}.m-profile-user h1{font-size:19px}.m-profile-user em{font-size:8.5px}.m-profile-stats strong{font-size:21px}.m-profile-stats span{font-size:8px}.m-identity-head h3{font-size:11.5px}.m-identity-head p{font-size:8px}.m-identity-options strong{font-size:10px}.m-identity-options em{font-size:8px}.m-identity-options small{font-size:7px}.m-profile-current-project span{font-size:8px}.m-profile-current-project strong{font-size:10.5px}.m-profile-current-project em,.m-profile-current-project button,.m-profile-menu-title{font-size:8px}.m-profile-menu strong{font-size:10.5px}.m-profile-menu em{font-size:8px}.m-logout{height:42px;font-size:10px}.m-inspection-summary span{font-size:8px}.m-inspection-summary strong{font-size:21px}.m-inspection-summary em{font-size:7px}.m-section-label{font-size:10px}.m-inspection-card-top strong{font-size:10.5px}.m-inspection-card-top em,.m-inspection-meta,.m-inspection-foot,.m-inspection-card-top .status-pill{font-size:8px}.m-check-top strong{font-size:10.5px}.m-check-actions button{height:28px;font-size:8.5px}.m-check-fail button,.m-progress-overview-text span{font-size:8px}.m-progress-overview-text strong{font-size:11px}.m-progress-overview-text em{font-size:8px}.m-progress-overview-num strong{font-size:21px}.m-progress-overview-num span{font-size:8px}.m-task-head strong{font-size:10.5px}.m-task-head em,.m-task-plan span,.m-task-actual span,.m-task-plan em,.m-task-actual em,.m-task-foot{font-size:8px}.m-actual-input input{font-size:36px}.m-deviation-line{font-size:8.5px}.m-deviation-line strong{font-size:10px}.m-doc-summary span{font-size:8px}.m-doc-summary strong{font-size:22px}.m-doc-warning strong{font-size:9.5px}.m-doc-warning p{font-size:8px}.m-doc-tabs button{font-size:9.5px}.m-doc-main strong{font-size:10px}.m-doc-main em{font-size:8px}.m-doc-main>span{font-size:7.5px}.m-upload-banner strong{font-size:10px}.m-upload-banner em{font-size:8px}.m-dropzone strong{font-size:10.5px}.m-dropzone em{font-size:8px}.m-project-search input{font-size:11px}.m-project-filter button{height:28px;font-size:8.5px}.m-project-card-body>strong{font-size:12px}.m-project-card-body>em{font-size:8px}.m-project-card-progress>span{font-size:8.5px}.m-project-detail-cover h1{font-size:17px}.m-project-detail-cover p{font-size:8.5px}.m-project-detail-stats span{font-size:8px}.m-project-detail-stats strong{font-size:17px}.m-project-risk-row span{font-size:8px}.m-project-risk-item strong{font-size:9.5px}.m-project-risk-item em{font-size:8px}.m-alert-summary>div:not(.m-alert-summary-main) span{font-size:7.5px}.m-alert-card .m-alert-top strong{font-size:10px}.m-alert-main>span{font-size:8px}.m-alert-meta em,.m-alert-meta b{font-size:7.5px}.m-alert-desc{font-size:9.5px}.m-my-report-card strong{font-size:10.5px}.m-my-report-card em{font-size:8px}.m-draft-card>strong{font-size:11px}.m-draft-card p{font-size:9px}.m-draft-meta,.m-settings-title{font-size:8px}.m-settings-row strong{font-size:10.5px}.m-settings-row em{font-size:8px}.m-login-title h2{font-size:21px}.m-login-title p{font-size:9px}.m-login-input input{font-size:11px}.m-login-input button{font-size:8.5px}.m-login-submit{height:44px;font-size:11.5px}.m-login-demo strong{font-size:9.5px}.m-login-demo em{font-size:7px}.m-login-links button{font-size:8.5px}.m-doc-ok{display:flex;align-items:center;gap:5px;margin-bottom:10px;padding:8px 9px;color:#26734f;background:#f0faf5;border:1px solid #d9eee2;border-radius:7px;font-size:7.2px}.m-education-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;overflow:hidden;margin-bottom:10px;background:#e8eff5;border:1px solid #e8eff5;border-radius:8px}.m-education-summary>div{display:flex;flex-direction:column;gap:1px;padding:9px 8px;background:#fff}.m-education-summary span{color:var(--ink-400);font-size:8px}.m-education-summary strong{color:var(--ink-800);font-family:var(--font-display);font-size:20px;line-height:1.1}.m-education-summary strong i{margin-left:1px;font-size:9px;font-style:normal;font-weight:500}.m-education-summary em{color:var(--ink-400);font-size:7px;font-style:normal}.m-education-list{display:flex;flex-direction:column;gap:8px;padding-bottom:6px}.m-education-card{display:flex;flex-direction:column;gap:7px;width:100%;padding:10px;text-align:left;background:#fff;border:1px solid #e7eef4;border-radius:9px;box-shadow:0 2px 8px #14344c08;font-family:inherit}.m-education-card-head{display:flex;align-items:flex-start;gap:7px}.m-education-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex-shrink:0;color:#2f74c0;background:#edf6fc;border-radius:7px}.m-education-card-head>div{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.m-education-card-head strong{color:var(--ink-800);font-size:10px;font-weight:600;line-height:1.35}.m-education-card-head em{color:var(--ink-400);font-size:7.5px;font-style:normal}.m-education-meta{display:flex;flex-wrap:wrap;gap:5px 9px;color:var(--ink-500);font-size:7.5px}.m-education-meta span{display:inline-flex;align-items:center;gap:3px}.m-education-foot{display:flex;align-items:center;justify-content:space-between;padding-top:6px;color:var(--ink-500);border-top:1px dashed #edf2f7;font-size:7.5px}.m-education-foot strong{color:var(--ink-800);font-weight:600}.m-education-foot>em{display:inline-flex;align-items:center;gap:2px;color:var(--blue-700);font-style:normal}.m-education-banner{display:flex;align-items:center;gap:8px;margin-bottom:10px;padding:10px;background:linear-gradient(135deg,#f2f9fe,#eaf6fa);border:1px solid #dfeef6;border-radius:8px}.m-education-banner>span{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;color:#2f74c0;background:#fff;border-radius:8px}.m-education-banner>div{display:flex;flex-direction:column;gap:2px}.m-education-banner strong{color:var(--ink-800);font-size:10px;font-weight:600}.m-education-banner em{color:var(--ink-400);font-size:7.5px;font-style:normal}.m-education-progress{margin-bottom:10px}.m-education-progress>div{display:flex;align-items:center;justify-content:space-between;margin-bottom:5px;color:var(--ink-500);font-size:8px}.m-education-progress strong{color:var(--ink-800);font-size:9px}.m-education-signed{margin-top:9px}.m-education-signed>strong{display:block;margin-bottom:5px;color:var(--ink-600);font-size:8px}.m-education-signed>div{display:flex;flex-wrap:wrap;gap:4px}.m-education-signed>div span{padding:3px 7px;color:var(--ink-500);background:#f3f8fb;border-radius:10px;font-size:7.5px}.m-quality-inspection{padding-bottom:74px}.m-quality-head{display:flex;align-items:flex-start;gap:8px;padding:10px 12px 8px;background:#fff;border-bottom:1px solid #edf2f7}.m-quality-back,.m-quality-refresh{display:inline-flex;align-items:center;justify-content:center;width:27px;height:27px;color:var(--ink-500);background:#f5f8fb;border:0;border-radius:7px}.m-quality-head>div{flex:1;display:flex;flex-direction:column;gap:2px}.m-quality-head h1{margin:0;color:var(--ink-900);font-size:16px;font-weight:650}.m-quality-head span{color:var(--ink-400);font-size:8px}.m-quality-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;overflow:hidden;margin:10px 12px;background:#e8eff5;border:1px solid #e8eff5;border-radius:8px}.m-quality-summary>div{display:flex;flex-direction:column;gap:1px;padding:9px 8px;background:#fff}.m-quality-summary span{color:var(--ink-400);font-size:7.5px}.m-quality-summary strong{color:var(--ink-800);font-family:var(--font-display);font-size:19px;line-height:1.1}.m-quality-summary em{color:var(--ink-400);font-size:7px;font-style:normal}.m-quality-list{display:flex;flex-direction:column;gap:8px;padding:0 12px 8px}.m-quality-card{display:flex;flex-direction:column;gap:7px;width:100%;padding:10px;text-align:left;background:#fff;border:1px solid #e7eef4;border-radius:9px;font-family:inherit}.m-quality-card-top{display:flex;align-items:flex-start;gap:7px}.m-quality-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex-shrink:0;color:#2f74c0;background:#edf6fc;border-radius:7px}.m-quality-card-top>div{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.m-quality-card-top strong{color:var(--ink-800);font-size:10px;font-weight:600;line-height:1.35}.m-quality-card-top em{color:var(--ink-400);font-size:7.5px;font-style:normal}.m-quality-meta{display:flex;flex-wrap:wrap;gap:5px 9px;color:var(--ink-500);font-size:7.5px}.m-quality-meta span{display:inline-flex;align-items:center;gap:3px}.m-quality-foot{display:flex;align-items:center;gap:10px;padding-top:6px;color:var(--ink-500);border-top:1px dashed #edf2f7;font-size:7.5px}.m-quality-foot strong{color:var(--ink-800);font-weight:600}.m-quality-foot em{display:inline-flex;align-items:center;gap:2px;margin-left:auto;color:var(--blue-700);font-style:normal}.m-quality-detail{display:flex;flex-direction:column;gap:9px}.m-quality-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:9px;background:#f5fafe;border:1px solid #e3eff7;border-radius:7px}.m-quality-detail-head>div{display:flex;flex-direction:column;gap:2px}.m-quality-detail-head span{color:var(--ink-400);font-size:7.5px}.m-quality-detail-head strong{color:var(--ink-800);font-size:10px;font-weight:600}.m-quality-detail-head em{color:var(--ink-500);font-size:7.5px;font-style:normal}.m-quality-progress>div{display:flex;justify-content:space-between;margin-bottom:4px;color:var(--ink-500);font-size:7.8px}.m-quality-checks{display:flex;flex-direction:column;gap:6px}.m-quality-check{padding:8px;background:#fff;border:1px solid #e8eff4;border-radius:7px}.m-quality-check.checked{border-color:#dcebf4}.m-quality-check-title{display:flex;align-items:center;gap:5px}.m-quality-check-title>span{color:#a6b5c3;font-size:7px}.m-quality-check-title strong{flex:1;color:var(--ink-700);font-size:8.2px;font-weight:550}.m-quality-check-actions{display:flex;gap:4px;margin-top:6px}.m-quality-check-actions button{flex:1;height:25px;color:var(--ink-500);background:#f7fafc;border:1px solid #e6eef4;border-radius:5px;font-family:inherit;font-size:7.5px}.m-quality-check-actions button.active.合格{color:#26734f;background:#ebf8f0;border-color:#bde5ce}.m-quality-check-actions button.active.不合格{color:#b24747;background:#fff0f0;border-color:#f0caca}.m-quality-check-actions button.active.不适用{color:var(--ink-500);background:#f1f4f6;border-color:#dbe4eb}.m-quality-check .m-textarea{margin-top:6px}.m-quality-check-note{margin:5px 0 0;color:var(--ink-500);font-size:7.5px;line-height:1.5}.m-acceptance{padding-bottom:74px}.m-acceptance-head{display:flex;align-items:flex-start;gap:8px;padding:10px 12px 8px;background:#fff;border-bottom:1px solid #edf2f7}.m-acceptance-head>div{flex:1;display:flex;flex-direction:column;gap:2px}.m-acceptance-head h1{margin:0;color:var(--ink-900);font-size:16px;font-weight:650}.m-acceptance-head span{color:var(--ink-400);font-size:8px}.m-acceptance-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;overflow:hidden;margin:10px 12px;background:#e8eff5;border:1px solid #e8eff5;border-radius:8px}.m-acceptance-summary>div{display:flex;flex-direction:column;gap:1px;padding:9px 8px;background:#fff}.m-acceptance-summary span{color:var(--ink-400);font-size:7.5px}.m-acceptance-summary strong{color:var(--ink-800);font-family:var(--font-display);font-size:19px;line-height:1.1}.m-acceptance-summary em{color:var(--ink-400);font-size:7px;font-style:normal}.m-acceptance-list{display:flex;flex-direction:column;gap:8px;padding:0 12px 8px}.m-acceptance-card{display:flex;flex-direction:column;gap:7px;width:100%;padding:10px;text-align:left;background:#fff;border:1px solid #e7eef4;border-radius:9px;font-family:inherit}.m-acceptance-card-top{display:flex;align-items:flex-start;gap:7px}.m-acceptance-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex-shrink:0;color:#2f74c0;background:#edf6fc;border-radius:7px}.m-acceptance-icon.done{color:#2f8c65;background:#edf8f2}.m-acceptance-card-top>div{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.m-acceptance-card-top strong{color:var(--ink-800);font-size:10px;font-weight:600;line-height:1.35}.m-acceptance-card-top em{color:var(--ink-400);font-size:7.5px;font-style:normal}.m-acceptance-meta{display:flex;flex-wrap:wrap;gap:5px 9px;color:var(--ink-500);font-size:7.5px}.m-acceptance-meta span{display:inline-flex;align-items:center;gap:3px}.m-acceptance-foot{display:flex;align-items:center;justify-content:space-between;gap:5px;padding-top:6px;color:var(--ink-500);border-top:1px dashed #edf2f7;font-size:7.5px}.m-acceptance-foot span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.m-acceptance-foot em{display:inline-flex;align-items:center;gap:2px;flex-shrink:0;color:var(--blue-700);font-style:normal}.m-acceptance-banner{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:10px;padding:10px;background:#f5fafe;border:1px solid #e3eff7;border-radius:8px}.m-acceptance-banner>div{display:flex;flex-direction:column;gap:2px}.m-acceptance-banner span{color:var(--ink-400);font-size:7.5px}.m-acceptance-banner strong{color:var(--ink-800);font-size:10px;font-weight:600}.m-acceptance-banner em{color:var(--ink-500);font-size:7.5px;font-style:normal}.m-acceptance-checks{display:flex;flex-direction:column;gap:5px;margin-bottom:10px}.m-acceptance-checks>div{display:flex;align-items:center;gap:5px;padding:7px 8px;background:#fff;border:1px solid #e9eff4;border-radius:6px}.m-acceptance-check-type{flex-shrink:0;color:var(--blue-700);font-size:7.5px;font-weight:550}.m-acceptance-checks p{flex:1;margin:0;color:var(--ink-500);font-size:7.5px;line-height:1.45}.m-acceptance-section h4{margin:0 0 5px;color:var(--ink-700);font-size:8px;font-weight:600}.m-acceptance-signatures{display:grid;grid-template-columns:1fr 1fr;gap:5px}.m-acceptance-signatures>div{display:flex;flex-direction:column;gap:1px;padding:6px 7px;background:#fafcfe;border:1px solid #e9eff4;border-radius:5px}.m-acceptance-signatures span{color:var(--ink-400);font-size:7px}.m-acceptance-signatures strong{color:var(--ink-600);font-size:7.5px;font-weight:550}.m-acceptance-signatures em{color:var(--ink-400);font-size:6.5px;font-style:normal}.m-materials-mobile{padding-bottom:74px}.m-material-tabs{display:flex;gap:3px;margin:10px 12px 0;padding:3px;background:#edf3f7;border-radius:7px}.m-material-tabs button{flex:1;height:27px;color:var(--ink-500);background:transparent;border:0;border-radius:5px;font-family:inherit;font-size:8px}.m-material-tabs button.active{color:var(--ink-900);background:#fff;font-weight:600;box-shadow:0 1px 4px #0e263e14}.m-material-list{display:flex;flex-direction:column;gap:7px;padding:9px 12px 8px}.m-material-card{display:flex;align-items:center;gap:8px;width:100%;padding:9px;text-align:left;background:#fff;border:1px solid #e7eef4;border-radius:8px;font-family:inherit}.m-material-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex-shrink:0;color:#2f74c0;background:#edf6fc;border-radius:7px}.m-material-icon.warning{color:#b47b26;background:#fff8ec}.m-material-icon.machinery{color:#6b56b8;background:#f1eefc}.m-material-card>div:nth-child(2){flex:1;display:flex;flex-direction:column;gap:1px;min-width:0}.m-material-card strong{color:var(--ink-800);font-size:9px;font-weight:600}.m-material-card em{overflow:hidden;color:var(--ink-400);font-size:7px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.m-material-card span{color:var(--ink-500);font-size:7.2px}.m-material-card span b{color:var(--ink-800);font-weight:600}.m-material-side{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}.m-material-side>em{display:inline-flex;align-items:center;gap:2px;color:var(--blue-700);font-size:7px;font-style:normal}.m-material-stock{display:flex;flex-direction:column;gap:1px;margin-bottom:10px;padding:10px;background:linear-gradient(135deg,#f4faff,#edf7fb);border:1px solid #e1eef6;border-radius:8px}.m-material-stock span{color:var(--ink-400);font-size:7.5px}.m-material-stock strong{color:var(--ink-900);font-family:var(--font-display);font-size:22px;font-weight:700}.m-material-stock em{color:var(--ink-400);font-size:7px;font-style:normal}.m-machine-checks{display:flex;flex-direction:column;gap:5px;margin-bottom:9px}.m-machine-checks button{display:flex;align-items:center;gap:6px;padding:8px;color:var(--ink-500);text-align:left;background:#fff;border:1px solid #e7eef4;border-radius:6px;font-family:inherit;font-size:8px}.m-machine-checks button.checked{color:#26734f;background:#f1faf5;border-color:#cfe9da}.m-machine-checks button>span{display:inline-flex;color:#a8b8c5}.m-machine-checks button.checked>span{color:var(--success)}.m-project-picker-search{display:flex;align-items:center;gap:6px;height:34px;margin-bottom:8px;padding:0 9px;color:#92a6b5;background:#f7fafc;border:1px solid #e3edf5;border-radius:8px}.m-project-picker-search:focus-within{background:#fff;border-color:#b9d8eb}.m-project-picker-search input{flex:1;min-width:0;color:#324c61;background:transparent;border:0;outline:none;font-family:inherit;font-size:9px}.m-project-picker-search input::placeholder{color:#9aabb8}.m-project-picker-search button{display:inline-flex;padding:1px;color:#8da1b0;background:transparent;border:0}.m-project-picker-empty{display:flex;flex-direction:column;align-items:center;gap:4px;padding:24px 8px;color:#92a6b5;font-size:8px}.pc-page .data-table th{font-size:10px}.pc-page .data-table td,.pc-page .data-table .cell-main strong{font-size:11px}.pc-page .data-table .cell-main span{font-size:9px}.pc-page .data-table .status-pill{padding:2px 7px;font-size:9px}.pc-page .data-table .badge{min-height:19px;padding:1px 6px;font-size:9px}.pc-page .data-table .tag{font-size:9px}.pc-page .data-table .link-action,.pc-page .data-table .table-project-name{font-size:9.5px}.pc-page .dash-project-table .cell-main strong,.pc-page .project-table .cell-main strong{font-size:11px}.pc-page .dash-project-table .cell-main span,.pc-page .project-table .cell-main span{font-size:8.5px}.pc-page .stat-hint,.pc-page .stat-trend{font-size:9.5px}.pc-page .attention-body strong{font-size:10px}.pc-page .module-tile-text strong{font-size:9.5px}.pc-page .module-tile-text em{font-size:7.5px}.pc-page .issue-description{font-size:11.5px}.pc-page .issue-requirement p{font-size:9.5px}.pc-page .info-item span{font-size:9px}.pc-page .info-item strong{font-size:11px}.pc-page .timeline-content p{font-size:10.5px}.pc-page .timeline-top strong{font-size:11px}.pc-page .evidence-label{font-size:9px}.pc-page .data-table th{height:42px;font-size:11.5px;line-height:1.35;white-space:normal}.pc-page .data-table td{font-size:12.5px;line-height:1.45}.pc-page .data-table .cell-main strong{max-width:none!important;overflow:visible;font-size:12.5px;line-height:1.35;white-space:normal;text-overflow:clip}.pc-page .data-table .cell-main span{overflow:visible;font-size:10.5px;line-height:1.35;white-space:normal;text-overflow:clip}.pc-page .data-table .status-pill{font-size:10.5px}.pc-page .data-table .badge{min-height:21px;font-size:10px}.pc-page .data-table .tag{font-size:10px}.pc-page .data-table .link-action,.pc-page .data-table .table-project-name{font-size:10.5px}.pc-page .table-toolbar-title{font-size:13.5px}.pc-page .table-toolbar-title span{font-size:11.5px}.pc-page .table-hint,.pc-page .table-footer{font-size:10px;line-height:1.45}.pc-page .filter-summary{font-size:10.5px}.pc-page .stat-label{font-size:12px}.pc-page .stat-hint,.pc-page .stat-trend{font-size:10.5px}.pc-page .info-item span{font-size:10px}.pc-page .info-item strong{font-size:12px;line-height:1.4;white-space:normal}.pc-page .timeline-top strong{font-size:12px}.pc-page .timeline-content p{font-size:11px;line-height:1.55}.pc-page .evidence-label{font-size:10px}.pc-page .report-tip>span{width:23px;height:23px;font-size:8.5px}.pc-page .report-tip strong{font-size:10.5px}.pc-page .report-tip p{margin-top:2px;font-size:9.5px;line-height:1.6}.pc-page .lifecycle-flow-step>span{font-size:8.5px}.pc-page .lifecycle-flow-step strong{font-size:10.5px;line-height:1.35;white-space:normal}.pc-page .lifecycle-flow-step em{font-size:8.5px;line-height:1.35;white-space:normal}.pc-page .lifecycle-tabs button{height:32px;padding:0 11px;font-size:10px}.pc-page .lifecycle-table th{font-size:10.5px}.pc-page .lifecycle-table td{font-size:11px}.pc-page .lifecycle-org{max-width:165px;font-size:9px}.pc-page .unit-role-tabs button{height:32px;font-size:10.5px}.pc-page .unit-role-tabs button span{min-width:18px;height:18px;font-size:8.5px}.pc-page .docs-stage-tabs button{height:33px;padding:0 12px;font-size:10.5px}.pc-page .docs-stage-tabs button span{font-size:9px}.pc-page .docs-project-info strong{font-size:9px;line-height:1.35;white-space:normal}.pc-page .docs-project-info em{font-size:7.5px}.pc-page .docs-project-count b{font-size:9px}.pc-page .docs-project-count em{font-size:7px}.pc-page .docs-lifecycle-step strong{font-size:9.5px}.pc-page .docs-lifecycle-step em{font-size:8px}.pc-page .archive-difference strong{font-size:10.5px}.pc-page .archive-difference em{font-size:8.5px}.pc-page .archive-checklist strong{font-size:9px}.pc-page .archive-checklist em{font-size:8px}.pc-page .ai-selected-meta span{font-size:9.5px}.pc-page .ai-selected-meta strong{font-size:10.5px;line-height:1.35;white-space:normal;text-align:right}.pc-page .ai-alert-code{font-size:9px}.pc-page .contract-party{max-width:165px;font-size:9px;line-height:1.45;white-space:normal}.pc-page .contract-links{font-size:8px}.pc-page .fund-table th{font-size:10.5px}.pc-page .fund-table td{font-size:11px}.pc-page .fund-table .cell-main strong{max-width:none}.pc-page .system-table .system-org,.pc-page .system-table .system-scope{display:block;max-width:none;overflow:visible;color:var(--ink-700);font-size:12px;font-weight:500;line-height:1.5;white-space:normal;-webkit-line-clamp:unset}.pc-page .system-table .system-login{color:var(--ink-500);font-size:10.5px;white-space:normal}.pc-page .system-table .badge{min-height:23px;padding:2px 9px;font-size:10.5px;font-weight:600;white-space:nowrap}.pc-page .system-table th:nth-child(3),.pc-page .system-table td:nth-child(3){width:17%}.pc-page .system-table th:nth-child(5),.pc-page .system-table td:nth-child(5){width:22%}.pc-page .system-table th:nth-child(4),.pc-page .system-table td:nth-child(4){width:11%}.pc-page .system-table .system-org,.pc-page .system-table .system-scope{color:var(--ink-800);font-size:12.5px;font-weight:600}.pc-page .system-table th:nth-child(3),.pc-page .system-table th:nth-child(5){color:var(--ink-600);font-size:12px}.pc-page .log-table th{padding:0 10px;font-size:11.5px;line-height:1.35;white-space:normal}.pc-page .log-table td{padding:12px 10px;font-size:12px;line-height:1.5}.pc-page .log-table th:first-child,.pc-page .log-table td:first-child{width:138px;white-space:nowrap}.pc-page .log-time{color:var(--ink-800);font-size:12.5px;font-weight:600;letter-spacing:.01em;white-space:nowrap}.pc-page .log-actor{gap:6px;color:var(--ink-700);font-size:11.5px;font-weight:500}.pc-page .log-table .tag{font-size:10px}.pc-page .log-detail>p{font-size:11px;line-height:1.6}.pc-page .issue-status-card{gap:11px;padding:13px}.pc-page .issue-status-card span{font-size:11px}.pc-page .issue-status-card strong{font-size:18px;line-height:1.25}.pc-page .issue-status-card em{font-size:10.5px;line-height:1.55}.pc-page .issue-info-list>div{align-items:flex-start;gap:10px;padding:10px 0}.pc-page .issue-info-list span{flex-shrink:0;color:var(--ink-500);font-size:11.5px}.pc-page .issue-info-list strong{max-width:68%;color:var(--ink-800);font-size:12.5px;font-weight:600;line-height:1.45;text-align:right;white-space:normal}.pc-page .related-project{gap:9px;padding:10px 0 12px}.pc-page .related-cover{width:40px;height:40px;font-size:14px}.pc-page .related-project strong{font-size:12.5px;font-weight:650;line-height:1.4;white-space:normal}.pc-page .related-project em{margin-top:1px;font-size:10px;line-height:1.4}.pc-page .related-project span{font-size:10px;line-height:1.4}.pc-page .related-list button{align-items:flex-start;gap:8px;padding:10px 0}.pc-page .related-icon{width:27px;height:27px;margin-top:1px}.pc-page .related-list strong{font-size:12px;font-weight:600;line-height:1.4}.pc-page .related-list em{margin-top:1px;font-size:10px;line-height:1.4}.pc-page .related-list button>.icon{margin-top:6px}.pc-page .related-docs{margin-top:8px;padding-top:8px}.pc-page .related-docs button{align-items:flex-start;gap:6px;padding:6px 0}.pc-page .related-docs span{overflow:visible;color:var(--ink-700);font-size:11px;line-height:1.45;text-overflow:clip;white-space:normal}.pc-page .issue-tip strong{font-size:11px}.pc-page .issue-tip p{font-size:10px;line-height:1.65}.pc-page .docs-stage-tabs{gap:4px}.pc-page .docs-stage-tabs button{height:36px;padding:0 14px;font-size:12px;font-weight:500}.pc-page .docs-stage-tabs button.active{font-weight:700}.pc-page .docs-stage-tabs button span{font-size:10px;font-weight:600}.pc-page .docs-breadcrumb{flex-wrap:wrap;gap:5px;color:var(--ink-600);font-size:11.5px;line-height:1.45}.pc-page .docs-breadcrumb>span{color:var(--ink-700);font-weight:600}.pc-page .docs-breadcrumb strong{color:var(--ink-800);font-weight:650}.pc-page .docs-breadcrumb .icon{color:var(--ink-400)}.pc-page .lifecycle-org,.pc-page .project-unit-cell,.pc-page .bidding-winner{display:block;max-width:220px;overflow:visible;color:var(--ink-800);font-size:12.5px;font-weight:600;line-height:1.5;white-space:normal;-webkit-line-clamp:unset}.pc-page .lifecycle-table th:nth-child(3),.pc-page .lifecycle-table td:nth-child(3){width:18%}.pc-page .project-table th:nth-child(3),.pc-page .project-table td:nth-child(3){width:17%}.pc-page .bidding-table th:nth-child(3),.pc-page .bidding-table td:nth-child(3){width:18%}.pc-page .lifecycle-table td:nth-child(3),.pc-page .project-table td:nth-child(3),.pc-page .bidding-table td:nth-child(3){vertical-align:top}.pc-page .unit-role-tabs{gap:6px;padding:5px}.pc-page .unit-role-tabs button{height:36px;gap:6px;padding:0 14px;color:var(--ink-600);font-size:12px;font-weight:500}.pc-page .unit-role-tabs button.active{color:var(--ink-900);font-weight:700}.pc-page .unit-role-tabs button span{min-width:20px;height:20px;padding:0 5px;font-size:10px;font-weight:600}.pc-page .unit-role-tabs button{color:var(--ink-700);font-weight:550}.pc-sidebar .nav-sub-list{gap:2px}.pc-sidebar .nav-sub-item{min-height:38px;padding:0 9px;color:#b7cfdf;font-size:13px;font-weight:500}.pc-sidebar .nav-sub-item.active{color:#fff;font-weight:650}.pc-sidebar .nav-sub-text{overflow:visible;line-height:1.35;text-overflow:clip;white-space:normal}.pc-sidebar .nav-sub-dot{width:5px;height:5px;background:#89a7bb}.pc-sidebar .nav-sub-item.active .nav-sub-dot{width:8px;height:4px;background:#7dccf4}.pc-page .table-project-name{color:var(--ink-800);font-size:12px;font-weight:600;line-height:1.45;white-space:normal}.pc-page .unit-project{display:block;color:var(--ink-800);font-size:12px;font-weight:600;line-height:1.45;white-space:normal}.pc-page .units-page .data-table th:nth-child(3),.pc-page .units-page .data-table td:nth-child(3){width:16%}.pc-page .source-tag{gap:4px;color:var(--ink-700);font-size:12px;font-weight:400;line-height:1.45;white-space:nowrap}.pc-page .source-tag.ai{color:var(--purple)}.pc-page .source-tag .icon{width:12px;height:12px}.pc-page .ai-feed-item{align-items:flex-start;gap:8px;padding:10px 0}.pc-page .ai-feed-thumb{width:62px}.pc-page .ai-feed-top{align-items:flex-start;gap:6px}.pc-page .ai-feed-top strong{overflow:visible;font-size:12px;font-weight:600;line-height:1.4;text-overflow:clip;white-space:normal}.pc-page .ai-feed-body>span{overflow:visible;margin-top:2px;color:var(--ink-600);font-size:10px;line-height:1.45;text-overflow:clip;white-space:normal}.pc-page .ai-feed-meta{flex-wrap:wrap;gap:7px;margin-top:4px}.pc-page .ai-feed-meta em{color:var(--ink-500);font-size:9.5px;line-height:1.4}.pc-page .ai-feed-meta b{gap:3px;font-size:9.5px;font-weight:550;line-height:1.4}.pc-page .ai-feed-meta i{width:19px;padding:1px 3px;font-size:8.5px;line-height:1.4}.pc-page .ai-feed-foot>span{font-size:10px}.pc-page .ai-feed-foot button,.pc-page .ai-live-label{font-size:10px}.pc-page .ai-alert-code{font-size:9.5px}.pc-page .ai-feed-card .section-head p{color:var(--ink-500);font-size:10.5px;line-height:1.5}.pc-page .source-tag{color:var(--ink-900);font-size:13.5px;font-weight:400;line-height:1.5}.pc-page .safety-table th{font-size:12.5px}.pc-page .today-session{gap:10px;padding:11px 0 14px}.pc-page .today-session-time{min-width:48px;height:30px;font-size:12px;font-weight:650}.pc-page .today-session>div{gap:3px}.pc-page .today-session strong{color:var(--ink-900);font-size:12px;font-weight:650;line-height:1.4;white-space:normal}.pc-page .today-session span,.pc-page .today-session em{color:var(--ink-600);font-size:10px;line-height:1.45;white-space:normal}.pc-page .education-stat-row{padding:8px 0;color:var(--ink-500);font-size:11.5px}.pc-page .education-stat-row strong{color:var(--ink-900);font-size:13px;font-weight:600}.pc-page .education-side-card .section-head p{font-size:10.5px;line-height:1.5}.pc-page .education-side-card .status-pill{font-size:10px}.pc-page .education-side-card .btn-sm{height:34px;font-size:12.5px}.pc-page .education-kpis span{font-size:9.5px}.pc-page .education-kpis em{font-size:9px}.pc-page .reports-layout .section-head p{font-size:11px;line-height:1.5}.pc-page .report-row{display:grid;grid-template-columns:72px minmax(0,1fr) auto;grid-template-areas:"date main action" "date values action";align-items:start;gap:6px 16px;padding:18px 0}.pc-page .report-date{grid-area:date;width:72px;padding:10px 6px;gap:3px}.pc-page .report-date strong{font-size:14px;line-height:1.2}.pc-page .report-date span{color:var(--ink-600);font-size:9.5px;line-height:1.45}.pc-page .report-main{grid-area:main;min-width:0}.pc-page .report-head{align-items:center;gap:8px}.pc-page .report-head strong{font-size:13px;font-weight:650;line-height:1.4}.pc-page .report-head .status-pill{font-size:10px;padding:3px 9px}.pc-page .report-main p{margin-top:5px;color:var(--ink-600);font-size:11.5px;line-height:1.65}.pc-page .report-meta{flex-wrap:wrap;gap:14px;margin-top:7px;color:var(--ink-500);font-size:10px;line-height:1.45}.pc-page .report-meta span{gap:4px}.pc-page .report-meta .icon{color:var(--ink-400)}.pc-page .report-values{grid-area:values;display:flex;justify-content:flex-start;gap:30px;margin-top:4px;padding:9px 12px;background:#f7fafc;border:1px solid #eaf0f5;border-radius:7px}.pc-page .report-values>div{align-items:flex-start;gap:2px}.pc-page .report-values span{color:var(--ink-500);font-size:9.5px;line-height:1.35}.pc-page .report-values strong{font-size:16px;line-height:1.2}.pc-page .report-action{grid-area:action;align-self:start;padding-top:1px}.pc-page .report-action .btn-sm{height:32px;font-size:12px}.pc-page .report-confirmed{gap:4px;font-size:10px}@media (max-width: 1180px){.pc-page .report-row{grid-template-columns:66px minmax(0,1fr);grid-template-areas:"date main" "date values" "date action"}.pc-page .report-date{width:66px}.pc-page .report-action{justify-self:start;padding-top:2px}}.pc-page .report-values{width:fit-content;min-width:300px;max-width:100%}.pc-page .task-date{color:var(--ink-700);font-size:12px;font-weight:400;line-height:1.55;white-space:nowrap}.pc-page .progress-task-table th:nth-child(2),.pc-page .progress-task-table td:nth-child(2){min-width:98px}.pc-page .warning-task{align-items:flex-start;gap:10px;padding:12px 0}.pc-page .warning-task-icon{width:34px;height:34px;border-radius:8px}.pc-page .warning-task>div{gap:2px}.pc-page .warning-task strong{color:var(--ink-800);font-size:12.5px;font-weight:600;line-height:1.4}.pc-page .warning-task span{color:var(--ink-600);font-size:10.5px;line-height:1.45}.pc-page .warning-task em{color:var(--danger);font-size:10.5px;font-weight:550;line-height:1.45}.pc-page .warning-task button{min-width:52px;height:30px;padding:0 12px;border-radius:6px;font-size:11.5px;font-weight:600;white-space:nowrap}.pc-page .progress-side .section-head p{font-size:10.5px;line-height:1.5}.pc-page .quality-inspection-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.pc-page .quality-inspection-card{padding:18px}.pc-page .quality-inspection-toolbar strong{font-size:15px;font-weight:650}.pc-page .quality-inspection-toolbar span{color:var(--ink-500);font-size:10.5px;line-height:1.5}.pc-page .quality-inspection-toolbar .btn-sm{height:36px;padding:0 14px;font-size:12.5px}.pc-page .quality-inspection-head{gap:10px;margin-bottom:12px}.pc-page .quality-inspection-icon{width:42px;height:42px;border-radius:9px}.pc-page .quality-inspection-card h3{color:var(--ink-900);font-size:14px;font-weight:650;line-height:1.4;white-space:normal}.pc-page .quality-inspection-card>p{margin-top:5px;color:var(--ink-600);font-size:10.5px;line-height:1.5;white-space:normal}.pc-page .quality-inspection-meta{flex-wrap:wrap;gap:14px;margin-top:11px;color:var(--ink-500);font-size:10.5px;line-height:1.45}.pc-page .quality-inspection-meta span{gap:4px}.pc-page .quality-inspection-progress{margin:12px 0 2px;padding-top:10px}.pc-page .quality-inspection-progress>div{margin-bottom:6px}.pc-page .quality-inspection-progress span{color:var(--ink-500);font-size:10px}.pc-page .quality-inspection-progress em{color:var(--ink-800);font-size:12px;font-weight:600}.pc-page .quality-inspection-foot{flex-wrap:wrap;gap:14px;margin-top:12px;padding-top:10px;color:var(--ink-500);font-size:10.5px;line-height:1.45}.pc-page .quality-inspection-foot strong{color:var(--ink-800);font-size:11.5px;font-weight:600}.pc-page .quality-inspection-foot .link-action{font-size:10.5px;margin-left:auto}.pc-page .quality-inspection-card .status-pill{font-size:10.5px;padding:3px 9px}@media (max-width: 900px){.pc-page .quality-inspection-grid{grid-template-columns:1fr}}.pc-page .material-supplier{display:block;max-width:190px;overflow:visible;color:var(--ink-800);font-size:12px;font-weight:500;line-height:1.5;white-space:normal;-webkit-line-clamp:unset}.pc-page .purchase-table th:nth-child(7),.pc-page .purchase-table td:nth-child(7){width:15%;vertical-align:top}.pc-page .purchase-table th:nth-child(6),.pc-page .purchase-table td:nth-child(6){min-width:108px;white-space:nowrap}.pc-page .inventory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.pc-page .inventory-card{padding:18px}.pc-page .inventory-head{gap:10px;margin-bottom:12px}.pc-page .inventory-icon{width:42px;height:42px;border-radius:9px}.pc-page .inventory-card .status-pill{font-size:10.5px;padding:3px 9px}.pc-page .inventory-card h3{color:var(--ink-900);font-size:14px;font-weight:650;line-height:1.4}.pc-page .inventory-card p{margin-top:4px;color:var(--ink-600);font-size:10.5px;line-height:1.5}.pc-page .inventory-stock{align-items:baseline;gap:9px;margin-top:14px}.pc-page .inventory-stock strong{font-size:26px;line-height:1.15}.pc-page .inventory-stock span{color:var(--ink-500);font-size:10.5px;line-height:1.5}.pc-page .inventory-foot{gap:10px;margin-top:12px;padding-top:11px;color:var(--ink-500);font-size:10.5px;line-height:1.45}.pc-page .inventory-foot button{gap:4px;font-size:10.5px;font-weight:600}.pc-page .inventory-foot .icon{width:12px;height:12px}@media (max-width: 900px){.pc-page .inventory-grid{grid-template-columns:1fr}}.pc-page .stock-health .row-between{font-size:10px;line-height:1.45}.pc-page .stock-health-meta{font-size:9px;line-height:1.4}.pc-page .inventory-side-note{padding:10px;font-size:10px;line-height:1.6}.pc-page .inventory-side .section-head p{font-size:10.5px;line-height:1.5}.pc-page .change-reason-cell{display:flex;flex-direction:column;align-items:flex-start;gap:4px;max-width:280px}.pc-page .change-reason{display:-webkit-box;max-width:280px;overflow:hidden;color:var(--ink-700);font-size:12px;font-weight:400;line-height:1.55;-webkit-line-clamp:3;-webkit-box-orient:vertical}.pc-page .change-reason-more{padding:0;color:var(--blue-700);background:transparent;border:0;font-family:inherit;font-size:10.5px;font-weight:600;cursor:pointer}.pc-page .change-reason-more:hover{color:var(--blue-800);text-decoration:underline}.pc-page .change-table th:nth-child(1),.pc-page .change-table td:nth-child(1){width:20%}.pc-page .change-table th:nth-child(3),.pc-page .change-table td:nth-child(3){width:24%;vertical-align:top}.pc-page .change-table{min-width:1120px}.pc-page .change-table th:nth-child(1),.pc-page .change-table td:nth-child(1){width:18%}.pc-page .change-table th:nth-child(2),.pc-page .change-table td:nth-child(2){width:12%}.pc-page .change-table th:nth-child(3),.pc-page .change-table td:nth-child(3){width:22%;vertical-align:top}.pc-page .change-table th:nth-child(4),.pc-page .change-table td:nth-child(4){width:9%}.pc-page .change-table th:nth-child(5),.pc-page .change-table td:nth-child(5){width:10%}.pc-page .change-table th:nth-child(6),.pc-page .change-table td:nth-child(6){width:13%}.pc-page .change-table th:nth-child(7),.pc-page .change-table td:nth-child(7){width:9%}.pc-page .change-table th:nth-child(8),.pc-page .change-table td:nth-child(8){width:7%}.pc-page .change-table th:last-child,.pc-page .change-table td:last-child{width:64px;white-space:nowrap}.pc-page .change-table td:last-child .link-action{white-space:nowrap}.pc-page .settlement-side{padding:18px}.pc-page .settlement-side .section-head p{font-size:10.5px;line-height:1.5}.pc-page .settlement-progress{margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid #eff3f7}.pc-page .settlement-progress:last-of-type{border-bottom:0}.pc-page .settlement-progress .row-between{margin-bottom:7px;color:var(--ink-700);font-size:12px;line-height:1.45}.pc-page .settlement-progress em{color:var(--ink-800);font-size:12px;font-weight:600;font-style:normal}.pc-page .settlement-progress-meta{margin-top:7px;color:var(--ink-600);font-size:10.5px;line-height:1.45}.pc-page .cost-tip{margin-top:12px;padding:10px;color:var(--ink-600);font-size:10.5px;line-height:1.6}.pc-page .cost-tip .icon{color:var(--blue-600);flex-shrink:0;margin-top:1px}.pc-page .cockpit-grid{gap:16px}.pc-page .cockpit-grid>.card{padding:20px}.pc-page .cockpit-grid .section-head p{font-size:10.5px;line-height:1.5}.pc-page .cockpit-risk-top{gap:24px;padding:4px 0 12px}.pc-page .cockpit-risk-legend{gap:8px}.pc-page .cockpit-risk-legend span{color:var(--ink-600);font-size:11.5px}.pc-page .cockpit-risk-legend strong{color:var(--ink-900);font-size:12.5px;font-weight:600}.pc-page .cockpit-risk-list>button{gap:9px;padding:11px 0}.pc-page .cockpit-risk-icon{width:30px;height:30px;border-radius:7px}.pc-page .cockpit-risk-list strong{overflow:visible;font-size:12px;line-height:1.4;text-overflow:clip;white-space:normal}.pc-page .cockpit-risk-list em{margin-top:2px;color:var(--ink-500);font-size:10px;line-height:1.4}.pc-page .cockpit-progress-nums{gap:10px;padding:4px 0 13px}.pc-page .cockpit-progress-nums>div{gap:3px;padding-left:12px}.pc-page .cockpit-progress-nums span{color:var(--ink-500);font-size:10px}.pc-page .cockpit-progress-nums strong{font-size:22px;line-height:1.15}.pc-page .cockpit-progress-bars{gap:8px}.pc-page .cockpit-progress-bars span{width:30px;color:var(--ink-500);font-size:10px}.pc-page .cockpit-task-list{margin-top:12px;padding-top:11px}.pc-page .cockpit-task-list>div{gap:8px;padding:5px 0}.pc-page .cockpit-task-list span{width:120px;color:var(--ink-600);font-size:10.5px;line-height:1.4}.pc-page .cockpit-task-list strong{width:32px;color:var(--ink-700);font-size:10.5px}.pc-page .cockpit-doc-ring{gap:20px;padding:4px 0 12px}.pc-page .cockpit-doc-ring span{color:var(--ink-500);font-size:10.5px}.pc-page .cockpit-doc-ring strong{color:var(--ink-800);font-size:13px}.pc-page .cockpit-doc-ring em{font-size:10px;line-height:1.4}.pc-page .cockpit-doc-cats{gap:8px;padding-top:11px}.pc-page .cockpit-doc-cats span{width:62px;color:var(--ink-600);font-size:10px}.pc-page .cockpit-doc-cats em{width:30px;color:var(--ink-500);font-size:10px}.pc-page .cockpit-doc-note{gap:5px;margin-top:11px;padding:8px;font-size:10px;line-height:1.5}.pc-page .cockpit-cost-nums{gap:20px;padding:4px 0 13px}.pc-page .cockpit-cost-nums>div{gap:3px}.pc-page .cockpit-cost-nums span{color:var(--ink-500);font-size:10px}.pc-page .cockpit-cost-nums strong{font-size:21px;line-height:1.15}.pc-page .cockpit-cost-nums em{font-size:9px}.pc-page .cockpit-cost-bars{gap:9px;padding-top:11px}.pc-page .cockpit-cost-bars>div{grid-template-columns:70px 1fr 90px;gap:8px}.pc-page .cockpit-cost-bars span{color:var(--ink-600);font-size:10px}.pc-page .cockpit-cost-bars strong{color:var(--ink-700);font-size:10px;font-weight:600}.pc-page .cockpit-todo-list>button{gap:9px;padding:10px 0}.pc-page .cockpit-todo-icon{width:30px;height:30px;border-radius:7px}.pc-page .cockpit-todo-list strong{overflow:visible;font-size:11.5px;line-height:1.4;text-overflow:clip;white-space:normal}.pc-page .cockpit-todo-list em{margin-top:2px;color:var(--ink-500);font-size:10px;line-height:1.4}.pc-page .cockpit-live{font-size:10px}.pc-page .role-perm-card{padding:20px}.pc-page .role-perm-card .section-head h3{font-size:15px}.pc-page .role-perm-card .section-head p{font-size:10.5px;line-height:1.5}.pc-page .role-perm-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pc-page .role-perm-item{gap:12px;padding:16px;border-radius:9px}.pc-page .role-perm-icon{width:42px;height:42px;border-radius:9px}.pc-page .role-perm-item>div{display:flex;flex-direction:column}.pc-page .role-perm-item strong{color:var(--ink-900);font-size:13.5px;font-weight:650;line-height:1.4}.pc-page .role-perm-item p{margin-top:4px;color:var(--ink-600);font-size:11px;line-height:1.55}.pc-page .role-perm-item em{margin-top:6px;color:var(--blue-700);font-size:10.5px;font-weight:500;line-height:1.4}.pc-page .role-perm-item>.icon{width:16px;height:16px;margin-top:12px}@media (max-width: 900px){.pc-page .role-perm-grid{grid-template-columns:1fr}}.pc-page .inventory-side-note{display:flex;align-items:flex-start;gap:7px}.pc-page .inventory-side-note>span{flex:1;line-height:1.6}.pc-page .inventory-note-close{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex-shrink:0;padding:0;color:#9a7847;background:transparent;border:0;border-radius:4px;cursor:pointer}.pc-page .inventory-note-close:hover{color:#7d5c2e;background:#8b62291a}
