html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,*:before,*:after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;border-bottom:0;cursor:help}address{margin-bottom:1em;font-style:normal;line-height:inherit}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-size:1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75em;padding-bottom:.3em;text-align:left;caption-side:bottom}input,button,select,optgroup,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{display:block;width:100%;max-width:100%;margin-bottom:.5em;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}.website-filing{padding:18px 4px 2px;color:#d0dbe3;font-size:12px;line-height:1.6;text-align:center}.website-filing a{color:inherit;text-decoration:none}.website-filing a:hover,.website-filing a:focus-visible{color:#fff;text-decoration:underline;text-underline-offset:3px}.company-logo{display:block;width:100%;height:100%;flex:0 0 auto;object-fit:contain;filter:drop-shadow(.5px .7px .4px rgb(24 29 32 / 20%))}.auth-screen .company-logo,.project-screen .project-brand .company-logo{filter:brightness(0) invert(1) drop-shadow(.5px .7px .4px rgb(0 0 0 / 24%))}.auth-screen .auth-logo,.project-screen .project-brand .mark{border:0;border-radius:0;background:transparent;box-shadow:none}.auth-panel .auth-panel-logo{width:56px;height:56px;margin-bottom:20px}*{box-sizing:border-box}:root{--hz-ink: #172033;--hz-muted: #68778d;--hz-line: #d9e2ef;--hz-page: #f4f7fb;--hz-panel: #ffffff;--hz-teal: #0f766e;--hz-teal-dark: #115e59;--hz-blue: #3669ff;--hz-blue-soft: #ebf4ff;--hz-amber: #f5a524;--hz-danger: #b42318;--macaron-mint: #c9f2df;--macaron-sky: #bde7ff;--macaron-lavender: #d8d0ff;--macaron-cream: #fff1a8;--macaron-peach: #ffd7d7;--macaron-ink: #24343a;--hz-shadow-lg: 0 22px 54px rgba(58, 76, 111, .14);--hz-shadow-sm: 0 8px 20px rgba(58, 76, 111, .08)}body{margin:0;overflow-x:hidden;background:#f6f7f9;color:#172033;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}input:not([type=checkbox]):not([type=radio]),select,textarea{width:100%;min-height:40px;border:1px solid var(--hz-line);border-radius:7px;background:#fff;color:var(--hz-ink);font-size:13px;line-height:1.45;outline:none;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}input:not([type=checkbox]):not([type=radio]),select{padding:0 11px}textarea{padding:9px 11px;resize:vertical}input:not([type=checkbox]):not([type=radio]):focus,select:focus,textarea:focus{border-color:#0f766ec7;box-shadow:0 0 0 3px #0f766e1c}input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;background:#f3f6fa;color:#8a94a6}button{cursor:pointer}.auth-screen{min-height:100vh;display:grid;place-items:center;padding:38px;background:radial-gradient(circle at 16% 18%,rgba(54,105,255,.12),transparent 28%),radial-gradient(circle at 84% 82%,rgba(15,118,110,.08),transparent 30%),linear-gradient(180deg,#fbfdff 0%,var(--hz-page) 100%);color:var(--hz-ink)}.auth-card{display:grid;width:min(1080px,100%);min-height:638px;grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr);overflow:hidden;border:1px solid rgba(217,226,239,.92);border-radius:18px;background:#fff;box-shadow:0 22px 54px #3a4c6f24}.auth-hero{position:relative;display:flex;min-height:100%;flex-direction:column;justify-content:space-between;overflow:hidden;padding:38px 42px 44px;background:radial-gradient(circle at 18% 18%,rgba(255,255,255,.86),transparent 26%),radial-gradient(circle at 78% 36%,rgba(104,183,255,.24),transparent 29%),linear-gradient(145deg,#edf6ff,#dfefff 54%,#f7fbff);background-size:auto,auto,auto;color:var(--hz-ink)}.auth-hero:after{content:"";position:absolute;inset:20px;border:1px solid rgba(54,105,255,.09);border-radius:16px;pointer-events:none}.auth-brand,.brand{display:flex;align-items:center;gap:10px;font-weight:780}.auth-brand{position:relative;z-index:2;font-size:21px}.auth-brand small{display:block;margin-top:3px;color:var(--hz-muted);font-size:12px;font-weight:620}.auth-logo,.mark{display:grid;place-items:center;background:#0f766e;color:#fff;font-weight:850}.auth-logo{width:44px;height:44px;border:1px solid rgba(24,29,38,.16);border-radius:12px;background:#181d26;box-shadow:none}.mark{width:32px;height:32px;border-radius:8px}.auth-visual{position:absolute;inset:116px 38px 174px;overflow:hidden;border:1px solid rgba(54,105,255,.12);border-radius:18px;background:radial-gradient(circle at 48% 42%,rgba(54,105,255,.12),transparent 25%),#ffffff80}.auth-visual.pending{background:radial-gradient(circle at 50% 44%,rgba(15,118,110,.1),transparent 24%),#ffffff80}.auth-grid{position:absolute;inset:22px;background-image:radial-gradient(rgba(54,105,255,.2) 1.2px,transparent 1.2px);background-size:18px 18px;-webkit-mask-image:radial-gradient(circle at center,#000 0%,transparent 74%);mask-image:radial-gradient(circle at center,#000 0%,transparent 74%)}.auth-node,.auth-link,.auth-signal{position:absolute}.auth-node{width:14px;height:14px;border:3px solid #fff;border-radius:50%;background:var(--hz-blue);box-shadow:0 0 0 8px #3669ff1f}.node-a{top:30%;left:24%}.node-b{top:56%;left:52%}.node-c{top:24%;right:20%}.auth-link{height:2px;transform-origin:left center;background:linear-gradient(90deg,#3669ff14,#3669ff85)}.link-a{top:35%;left:27%;width:31%;transform:rotate(31deg)}.link-b{top:52%;left:54%;width:27%;transform:rotate(-42deg)}.auth-signal{display:grid;min-width:118px;gap:5px;padding:14px 16px;border:1px solid rgba(217,226,239,.95);border-radius:12px;background:#ffffffe0;color:var(--hz-ink);box-shadow:0 16px 32px #3a4c6f1f;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.auth-signal span{color:var(--hz-muted);font-size:12px;font-weight:680}.auth-signal strong{font-size:22px}.signal-dark{right:9%;bottom:12%;border-color:#3669ff33;background:#ebf4ffeb;color:var(--hz-blue)}.signal-dark span{color:var(--hz-muted)}.auth-signal:not(.signal-dark){top:12%;left:10%}.auth-copy{position:relative;z-index:1;max-width:520px}.auth-copy h1{margin:0 0 20px;color:var(--hz-ink);font-size:36px;line-height:1.12;letter-spacing:0}.auth-copy p{margin:0;color:var(--hz-muted);font-size:15px;line-height:1.75}.auth-copy .auth-kicker{margin-bottom:12px;color:var(--hz-blue);font-size:12px;font-weight:760}.auth-panel-wrap{display:grid;place-items:center;padding:42px 44px;background:#fff}.auth-panel{width:min(410px,100%);padding:0;border:0;border-radius:0;background:#fff;box-shadow:none}.auth-panel h2{margin:0 0 8px;color:var(--hz-ink);font-size:30px;line-height:1.18}.auth-eyebrow{margin:0 0 12px;color:var(--hz-blue);font-size:12px;font-weight:780}.muted{margin:0 0 22px;color:var(--hz-muted);font-size:13px;line-height:1.7}.field{display:grid;gap:7px;margin-bottom:14px}.field span{color:#344056;font-size:12px;font-weight:720}.field input,.field select,.field textarea{width:100%;min-height:44px;padding:0 13px;border:1px solid var(--hz-line);border-radius:8px;background:#fbfdff;color:var(--hz-ink);outline:0}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--hz-blue);box-shadow:0 0 0 3px #3669ff21}.field textarea{min-height:76px;padding:10px 12px;resize:none}.field-error{color:#dc2626;font-size:12px;font-weight:800;line-height:1.4}.form-message{margin:0 0 12px;color:#b42318;font-size:12px}.form-message.light{margin:8px 0 0;color:var(--hz-teal)}.workspace .form-message.light,.workspace .form-message.success,.workspace .form-message.error{position:fixed;top:12px;left:50%;z-index:10000;width:fit-content;min-width:0;max-width:min(560px,calc(100vw - 32px));margin:0;padding:9px 14px;border:1px solid rgba(0,100,0,.18);border-radius:8px;background:#fffffff5;color:var(--hz-teal);text-align:center;white-space:normal;overflow-wrap:anywhere;box-shadow:0 12px 32px #0f172a29;transform:translate(-50%);animation:slide-toast 3s ease both}.workspace .form-message.error:before,.workspace .form-message.light:has(+.table-error):before{content:"⚠️ "}@keyframes slide-toast{0%{opacity:0;transform:translate(-50%,-26px)}12%,86%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-26px)}}.toolbar-icon[aria-label]{position:relative}.toolbar-icon[aria-label]:after{content:attr(aria-label);position:absolute;top:calc(100% + 7px);left:50%;z-index:2000;min-width:max-content;max-width:160px;padding:5px 8px;border:1px solid var(--hz-line);border-radius:6px;background:#181d26;color:#fff;font-size:11px;line-height:1.2;opacity:0;pointer-events:none;transform:translate(-50%,-2px);transition:opacity .12s ease .5s,transform .12s ease .5s}.toolbar-icon[aria-label]:hover:after,.toolbar-icon[aria-label]:focus-visible:after{opacity:1;transform:translate(-50%)}.file-link-list{display:inline-flex;flex-wrap:wrap;gap:5px}.file-link,.file-preview-open{border:0;background:transparent;color:var(--hz-blue);font:inherit;font-size:12px;font-weight:760;text-decoration:underline;cursor:pointer}.file-link-empty{color:var(--hz-muted)}.file-preview-panel{width:min(720px,calc(100vw - 36px))}.file-preview-body{display:grid;gap:12px;padding:18px}.file-preview-body img{max-width:100%;max-height:68vh;object-fit:contain;border:1px solid var(--hz-line);border-radius:8px;background:#f8fafc}.payroll-image-upload{display:grid;gap:6px}.payroll-image-upload .compact-upload{min-height:34px}.payroll-image-file{display:inline-flex;align-items:center;gap:8px;color:var(--hz-muted);font-size:12px}.payroll-id-card-upload{grid-column:span 2}.payroll-id-card-files{display:flex;flex-wrap:wrap;gap:6px}.payroll-image-file{min-height:26px;max-width:100%;padding:3px 7px;border:1px solid #e2e8f0;border-radius:6px;background:#f8fafc}.payroll-image-file>span{min-width:0;max-width:min(320px,60vw);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.payroll-image-file strong{color:#0f766e}.payroll-image-file.missing{border-style:dashed;color:#b91c1c;background:#fff7ed}.inline-link-button{padding:0;border:0;background:transparent;color:#0f6bff;font:inherit;font-weight:750;text-decoration:underline;cursor:pointer}.finance-workflow-cell{display:inline-flex;flex-wrap:wrap;gap:5px;align-items:center}.import-error-keyword{color:#b42318;font-weight:900}.auth-button,.auth-switch{width:100%;border:0;font-weight:760}.auth-form{margin:0}.auth-button{height:44px;margin-top:8px;border-radius:9px;background:#181d26;color:#fff;box-shadow:none}.auth-button:disabled{cursor:not-allowed;opacity:.7}.auth-switch{height:42px;margin-top:12px;border:1px solid var(--hz-line);border-radius:9px;background:#fff;color:var(--hz-blue)}.auth-test-login{display:grid;gap:8px;margin-top:14px}.auth-test-login-title{margin:0;color:var(--hz-muted);font-size:12px;font-weight:760}.auth-test-login-list{display:grid;gap:8px}.auth-test-login-button.auth-switch{display:flex;justify-content:space-between;margin-top:0}.auth-test-login-button small{font-size:11px;opacity:.72}.project-screen{min-height:100vh;display:grid;grid-template-rows:72px 1fr;background:radial-gradient(circle at 16% 14%,rgba(54,105,255,.12),transparent 27%),radial-gradient(circle at 84% 82%,rgba(15,118,110,.08),transparent 30%),linear-gradient(180deg,#fbfdff 0%,var(--hz-page) 100%);color:var(--hz-ink)}.project-top,.topbar{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--hz-line);background:#fff}.project-top{padding:0 38px;background:#ffffffe0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.project-brand{color:var(--hz-ink);font-size:18px}.project-brand .mark{width:40px;height:40px;border:1px solid rgba(24,29,38,.16);border-radius:12px;background:#181d26;box-shadow:none}.project-main{width:100%;max-width:1180px;margin:0 auto;padding:48px 34px 56px}.project-title{max-width:760px}.project-title h1{margin:0;color:var(--hz-ink);font-size:34px;line-height:1.18;letter-spacing:0}.project-title p{margin:10px 0 0;color:var(--hz-muted);line-height:1.75}.project-title .project-eyebrow{margin:0 0 12px;color:var(--hz-blue);font-size:12px;font-weight:780}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:30px}.project-card,.card,.module-card{border:1px solid var(--hz-line);border-radius:8px;background:#fff;box-shadow:0 1px 2px #1118270a}.project-card{min-height:246px;display:flex;flex-direction:column;justify-content:space-between;gap:22px;overflow:hidden;padding:24px;text-align:left;cursor:pointer;font:inherit;border-color:#d9e2efeb;border-radius:18px;background:linear-gradient(145deg,#fffffff5,#ebf4ff8a),var(--hz-panel);box-shadow:var(--hz-shadow-sm);transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.project-card:hover{transform:translateY(-2px);border-color:#3669ff47;box-shadow:var(--hz-shadow-lg)}.project-card:focus-visible{outline:2px solid rgba(27,97,201,.38);outline-offset:3px}.project-card-copy{min-width:0;display:grid;gap:12px;align-content:start}.project-icon{width:44px;height:44px;display:grid;place-items:center;border:1px solid rgba(24,29,38,.16);border-radius:12px;background:#181d26;color:#fff;font-size:20px;font-weight:850;box-shadow:none}.project-icon-pixel{border-color:#181d261f;background:#fff;padding:4px}.project-pixel-logo{width:100%;height:100%;display:block;overflow:hidden;border-radius:8px;image-rendering:pixelated;box-shadow:inset 0 0 0 1px #181d2614,0 7px 16px #181d2614}.project-pixel-logo-chili{background:#ffe9d6}.project-pixel-logo-beach{background:#bdeaff}.project-pixel-logo-croaker{background:#dff5ff}.project-card h2{margin:0;color:var(--hz-ink);font-size:20px;line-height:1.28;overflow-wrap:anywhere}.project-card p{margin:0;color:var(--hz-muted);font-size:13px;line-height:1.65;overflow-wrap:anywhere}.project-meta,.global,.actions,.permission-line,.inline-settings{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.project-meta span,.tag{border-radius:999px;font-size:12px}.project-meta span{padding:5px 9px;border:1px solid rgba(217,226,239,.95);background:#ffffffc2;color:#475569;font-weight:680;overflow-wrap:anywhere}.btn,.global button{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid #d7dce3;border-radius:7px;background:#fff;color:#243041;font-size:13px;line-height:1;text-align:center}.project-logout{background:#ffffffd1}.workspace{position:relative;min-height:100vh;min-height:100dvh;display:flex;overflow:visible;background:#f5f7fb;color:var(--hz-ink)}.workspace-redesign{--workspace-sidebar: 238px}.workspace-sidebar{position:sticky;top:0;z-index:4;height:100vh;height:100dvh;width:var(--workspace-sidebar);min-width:var(--workspace-sidebar);min-height:0;display:flex;flex-direction:column;gap:14px;overflow:hidden;padding:14px 12px;border-right:1px solid rgba(211,220,232,.9);background:linear-gradient(180deg,#fffffff5,#f1f6fcfa);box-shadow:8px 0 28px #2534500f}.workspace-project{flex:0 0 auto;display:grid;gap:12px}.workflow-shortcuts{display:grid;grid-template-columns:minmax(0,1fr);gap:6px}.workflow-shortcut{min-width:0;min-height:34px;display:flex;align-items:center;gap:7px;padding:0 9px;border:1px solid rgba(208,219,235,.95);border-radius:7px;background:#fff;color:#3b4a60;font-size:12px;font-weight:680;line-height:1;box-shadow:0 6px 14px #2534500a}.workflow-shortcut.ant-btn{height:auto;display:grid;grid-template-columns:7px minmax(0,1fr) auto;justify-content:stretch;justify-items:start;white-space:nowrap;text-align:left}.workflow-shortcut:hover{border-color:#3669ff42;background:#f6f9ff}.workflow-shortcut.active{border-color:#0f766e47;background:#edf8f6;color:#0f766e;box-shadow:inset 3px 0 #0f766e}.workflow-shortcut span:not(.workflow-shortcut-dot){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workflow-shortcut strong{min-width:22px;height:20px;display:inline-grid;place-items:center;margin-left:auto;border-radius:999px;background:#eef4fb;color:#516177;font-size:11px}.workflow-shortcut.ant-btn .workflow-shortcut-badge{justify-self:end;margin-left:0}.workflow-shortcut.active strong{background:#d9f0ec;color:#0f766e}.workflow-shortcut-dot{width:7px;height:7px;flex:0 0 auto;border-radius:50%;background:#8ca0b8}.workflow-shortcut.active .workflow-shortcut-dot{background:#0f766e}.workflow-shortcuts-error{margin:0;padding:0 2px;color:#a84518;font-size:11px;font-weight:650;line-height:1.35}.workspace-project-switch{width:100%;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;padding:8px;border:1px solid rgba(207,218,232,.9);border-radius:8px;background:#fff;color:var(--hz-ink);text-align:left;box-shadow:0 8px 18px #2534500f}.workspace-project-switch.ant-btn{height:auto;min-height:56px;display:grid;grid-template-columns:38px minmax(0,1fr);justify-content:stretch;white-space:normal;line-height:1.2}.workspace-logo{position:relative;width:38px;height:38px;display:block;overflow:hidden;border-radius:8px;background:radial-gradient(circle at 78% 18%,rgba(255,255,255,.95) 0 6%,transparent 7%),linear-gradient(135deg,#0b4f8f,#0f766e 64%,#14b8a6);box-shadow:inset 0 1px #ffffff47,0 8px 18px #0f766e33}.workspace-project-copy{min-width:0;display:grid;gap:2px}.workspace-project-copy span,.workspace-search span,.workspace-nav-section p{color:#7a8596;font-size:11px;font-weight:720}.workspace-project-copy strong{overflow:hidden;color:#172033;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.workspace-search{display:grid;gap:6px}.workspace-search input{width:100%;height:34px;padding:0 10px;border:1px solid #d8e0ec;border-radius:7px;background:#f8fafc;color:#172033;font-size:12px}.workspace-nav{min-height:0;flex:1 1 auto;display:grid;gap:14px;align-content:start;overflow-y:auto;padding:2px 0 6px}.workspace-nav-section{display:grid;gap:4px}.workspace-nav-section p{margin:0;padding:0 8px 3px}.workspace-nav-section-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 8px 3px}.workspace-nav-section-heading p{padding:0}.workspace-nav-section-heading span{color:#a2adbd;font-size:10px;font-weight:650}.workspace-nav-empty{padding:8px;color:#7a8797;font-size:12px}.workspace-nav-item{width:100%;min-height:38px;display:grid;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:8px;padding:6px 8px;border:1px solid transparent;border-radius:8px;background:transparent;color:#344256;text-align:left}.workspace-nav-item.ant-btn{height:auto;display:grid;grid-template-columns:26px minmax(0,1fr) auto;justify-content:stretch;white-space:normal;text-align:left}.workspace-nav-item:hover{background:#3669ff0f}.business-module-nav-item{position:relative;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;transform-origin:center;transition:background-color .14s ease,border-color .14s ease,box-shadow .14s ease,opacity .12s ease,transform .14s ease}.business-module-nav-item:active{cursor:grabbing}.business-module-nav-item.is-dragging{z-index:2;border-color:#3669ff3d;background:#fff;box-shadow:0 10px 22px #25345029;opacity:.96;transform:translate(4px) scale(1.03)}@media(prefers-reduced-motion:reduce){.business-module-nav-item{transition:none}.business-module-nav-item.is-dragging{transform:translate(2px)}}.workspace-nav-item.active{border-color:#3669ff2e;background:#eaf2ff;color:#15346b;box-shadow:inset 3px 0 0 var(--hz-blue)}.workspace-nav-icon{width:26px;height:26px;display:grid;place-items:center;border-radius:7px;background:#eef3f9;color:#496179;font-size:12px;font-weight:780}.workspace-nav-icon.abstract{background:#f2f6fb}.abstract-module-mark{width:20px;height:20px;display:block}.workspace-nav-icon.utility{background:#f4f7fb}.utility-nav-mark{width:18px;height:18px;display:block}.utility-dashboard{--utility-a: #3669ff;--utility-b: #0f766e;--utility-c: #f59e0b}.utility-progress{--utility-a: #00d4ff;--utility-b: #0f766e;--utility-c: #f59e0b}.utility-workflow{--utility-a: #8b5cf6;--utility-b: #3669ff;--utility-c: #0f766e}.utility-notice{--utility-a: #0ea5e9;--utility-b: #f59e0b;--utility-c: #ef4444}.utility-settings{--utility-a: #64748b;--utility-b: #0f766e;--utility-c: #3669ff}.utility-imports{--utility-a: #0f766e;--utility-b: #14b8a6;--utility-c: #f59e0b}.utility-logs{--utility-a: #475569;--utility-b: #3669ff;--utility-c: #94a3b8}.utility-approval{--utility-a: #f59e0b;--utility-b: #0f766e;--utility-c: #ef4444}.mark-finance{--mark-a: #0f766e;--mark-b: #38bdf8;--mark-c: #f59e0b}.mark-site-cost{--mark-a: #14b8a6;--mark-b: #3669ff;--mark-c: #94a3b8}.mark-payroll{--mark-a: #3669ff;--mark-b: #8b5cf6;--mark-c: #10b981}.mark-advance{--mark-a: #f59e0b;--mark-b: #0f766e;--mark-c: #ef4444}.mark-assets{--mark-a: #64748b;--mark-b: #0ea5e9;--mark-c: #22c55e}.mark-settlement{--mark-a: #0f766e;--mark-b: #f59e0b;--mark-c: #3669ff}.workspace-nav-item.active .workspace-nav-icon{background:var(--hz-blue);color:#fff}.workspace-nav-item.active .workspace-nav-icon.abstract,.workspace-nav-item.active .workspace-nav-icon.utility{background:#fff}.workspace-nav-label{min-width:0;overflow:hidden;font-size:13px;font-weight:720;text-overflow:ellipsis;white-space:nowrap}.workspace-user-card{flex:0 0 auto;width:100%;display:grid;grid-template-columns:36px minmax(0,1fr) 8px;align-items:center;gap:10px;padding:10px;border:1px solid #dbe3ee;border-radius:8px;background:#fffffff5;box-shadow:0 -8px 20px #2534500d;color:inherit;cursor:pointer;font:inherit;text-align:left;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease;touch-action:manipulation}.workspace-user-card.ant-btn{height:auto;min-height:58px;display:grid;grid-template-columns:36px minmax(0,1fr) 8px;justify-content:stretch;white-space:normal;line-height:1.2}.workspace-user-card.ant-btn>div:not(.avatar){min-width:0}.workspace-user-card:hover{border-color:#0f766e61;box-shadow:0 -8px 20px #2534500d,0 0 0 3px #0f766e14}.workspace-user-card:focus-visible{outline:3px solid rgba(54,105,255,.28);outline-offset:2px}.workspace-user-card:active{transform:translateY(1px)}.workspace-user-card strong,.workspace-user-card span{display:block}.workspace-user-card strong{color:#172033;font-size:13px}.workspace-user-card span{margin-top:2px;color:#7a8596;font-size:11px}.workspace-user-card i{width:8px;height:8px;border-radius:50%;background:#11a36a;box-shadow:0 0 0 4px #11a36a1f}.avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#e8f7f4;color:#0f766e;font-weight:760}.workspace-user-avatar{width:36px;height:36px}.mobile-module-switch{position:relative;z-index:5;display:none;gap:8px;align-items:center;padding:10px 12px;border-top:1px solid #e6ebf2;border-bottom:1px solid #e6ebf2;background:#fffffff0}.mobile-module-switch label{color:#667085;font-size:12px;font-weight:680;white-space:nowrap}.mobile-module-switch select{min-width:0;flex:1;height:44px;border:1px solid #d7dee8;border-radius:7px;background:#fff;color:#111827;font-weight:680;touch-action:manipulation}.shell{display:grid;grid-template-columns:236px 1fr;min-height:0;overflow:hidden}.side{position:relative;z-index:4;min-height:0;overflow-y:auto;padding:18px 14px;background:#111827;color:#dbe3ee}.side-title{margin:2px 10px 10px;color:#6f7b8c;font-size:12px}.nav{display:grid;gap:4px}.nav button{width:100%;display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;padding:10px 12px;border:0;border-radius:7px;background:transparent;color:#aeb9c8;text-align:left}.nav button.active{background:#203047;color:#fff}.perm-chip{max-width:116px;padding:2px 6px;border-radius:999px;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.perm-chip.full{background:#064e3b;color:#d1fae5}.perm-chip.read{background:#1e3a8a;color:#dbeafe}.perm-chip.none{background:#374151;color:#9ca3af}.workspace-panel{min-width:0;flex:1;display:flex;flex-direction:column}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.main{position:relative;min-height:0;overflow:visible;padding:20px 24px 28px}.workspace-main{flex:1;background:linear-gradient(180deg,#f7fafdb8,#f1f5f9f5),#f5f7fb}.workspace-content{position:relative;min-width:0}.heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}.heading h1{margin:0;color:#111827;font-size:24px;letter-spacing:0}.sub{margin:6px 0 0;color:#6b7280;font-size:13px}.btn{align-items:center;display:inline-flex;justify-content:center;min-height:38px;padding:9px 12px;text-align:center}.btn.primary{border-color:#0f766e;background:#0f766e;color:#fff}.btn.secondary{border-color:#d7dce3;background:#fff;color:#243041}.btn.danger{border-color:#b4231833;background:#fff7f5;color:var(--hz-danger)}.btn:disabled{cursor:not-allowed;opacity:.42;background:#eef2f7;color:#697586}.approval-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.tag{padding:4px 8px;background:#f3f4f6;color:#9ca3af}.tag.on{background:#ecfdf5;color:#047857}.module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.profile-overview{display:grid;grid-template-columns:minmax(260px,1.25fr) repeat(2,minmax(0,1fr));gap:12px;margin-bottom:14px}.profile-card,.profile-account-actions,.profile-permissions{border:1px solid #dfe7f1;border-radius:8px;background:#ffffffe6;box-shadow:0 14px 34px #0f172a0f}.profile-card{min-height:128px;display:flex;flex-direction:column;justify-content:center;gap:8px;padding:18px}.profile-card-hero{flex-direction:row;align-items:center;justify-content:flex-start}.profile-card p,.profile-permissions p{margin:0;color:#64748b;font-size:13px}.profile-card h2,.profile-card strong{margin:0;color:#111827;font-size:22px;letter-spacing:0}.profile-card span{color:#526173;font-size:13px}.profile-avatar{width:56px;height:56px;font-size:20px}.profile-avatar-button.ant-btn{min-width:56px;padding:0;border:0;border-radius:16px;cursor:pointer;line-height:1;overflow:hidden}.profile-avatar-button.ant-btn .pixel-avatar-art{width:100%;height:100%;border-radius:16px}.pixel-avatar-art{position:relative;width:100%;height:100%;display:grid;place-items:center;border-radius:18px;overflow:hidden;background:#eaf6ff;box-shadow:inset 0 0 0 1px #181d2614,0 7px 16px #181d2614;image-rendering:pixelated}.pixel-avatar-art img{width:100%;height:100%;display:block;object-fit:contain;image-rendering:pixelated;-webkit-user-select:none;user-select:none}.avatar-picker-panel{width:min(540px,calc(100vw - 28px))!important;max-height:min(82dvh,620px);overflow:hidden}.avatar-picker-panel .ant-modal-container,.avatar-picker-panel .ant-modal-content{max-height:inherit;display:flex;flex-direction:column;overflow:hidden}.avatar-picker-panel .ant-modal-body{min-height:0;overflow:auto;padding:12px 16px 16px}.avatar-picker-grid{display:grid;grid-template-columns:repeat(5,minmax(68px,1fr));gap:8px;padding:0}.avatar-choice.ant-btn{width:100%;min-width:0;min-height:72px;height:auto;display:grid;place-items:center;padding:6px;border:1px solid #dbe4ef;border-radius:8px;background:#f8fbff;color:#172033;cursor:pointer;line-height:1;overflow:hidden}.avatar-choice.ant-btn .pixel-avatar-art{width:56px;height:56px;border-radius:12px}.avatar-choice[aria-pressed=true]{border-color:#0f766e;background:#ecfdf5;box-shadow:0 0 0 2px #0f766e1f}.profile-permissions{padding:18px}.profile-account-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;padding:12px 14px}.profile-account-actions h2{margin:0 0 4px;color:#111827;font-size:16px;letter-spacing:0}.profile-action-row{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.project-files-shell{display:grid;gap:14px}.project-files-card{display:grid;gap:12px;padding:16px}.project-files-toolbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:4px 2px 12px;border-bottom:1px solid #edf2f7}.project-files-actions,.project-files-path{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.project-files-path button{border:0;background:transparent;color:#0f766e;font-size:17px;font-weight:720;cursor:pointer}.project-files-navigation{display:inline-flex;align-items:center;gap:6px}.project-files-navigation button{width:36px;height:36px;display:inline-grid;place-items:center;border:1px solid #d8e0ea;border-radius:10px;background:linear-gradient(180deg,#fff,#f5f8fc);color:#334155;cursor:pointer;font-size:15px;font-weight:900;line-height:1;box-shadow:0 6px 16px #0f172a0d}.project-files-navigation button:disabled{cursor:not-allowed;opacity:.42}.project-files-navigation svg{width:16px;height:16px}.project-files-actions{margin-left:auto}.project-files-sort{display:inline-flex;align-items:center;gap:7px;color:#64748b;font-size:12px;font-weight:700}.project-files-sort select{min-height:34px;border:1px solid #d8e0ea;border-radius:6px;background:#fff;color:#172033}.project-files-actions input{min-height:38px}.file-upload-button{position:relative;overflow:hidden;min-height:38px;line-height:1}.file-upload-button input{position:absolute;inset:0;opacity:0;cursor:pointer}.project-files-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.project-files-icon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:18px 14px;min-height:260px;padding:18px 6px 8px}.project-file-card{min-width:0;display:grid;justify-items:center;gap:6px;align-content:start;min-height:172px;padding:12px 8px 10px;border:1px solid transparent;border-radius:10px;background:transparent;text-align:center}.project-file-card:hover,.project-file-card:focus-within{border-color:#dbeafe;background:#f8fbff}.project-file-card-open{width:100%;min-width:0;display:grid;justify-items:center;gap:8px;border:0;background:transparent;color:#172033;font:inherit;cursor:pointer}.project-file-card-open strong{width:100%;max-width:122px;overflow:hidden;color:#1f2a44;font-size:13px;font-weight:800;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.project-file-visual{position:relative;width:88px;height:68px;display:inline-grid;place-items:center}.project-file-visual.folder:before,.project-file-visual.folder:after{content:"";position:absolute;display:block;border:1px solid rgba(14,116,144,.22)}.project-file-visual.folder:before{top:6px;left:10px;width:40px;height:15px;border-bottom:0;border-radius:9px 9px 0 0;background:linear-gradient(180deg,#d6f0ff,#9bd7fb)}.project-file-visual.folder:after{inset:18px 3px 5px;border-radius:12px;background:linear-gradient(180deg,#b7e4ff,#7bc7f7 62%,#55a9e8);box-shadow:0 10px 22px #0e74902e,inset 0 1px #ffffff80}.project-file-visual.file{width:58px;height:68px;border:1px solid #cbd5e1;border-radius:9px;background:linear-gradient(180deg,#fff,#edf6ff);box-shadow:0 8px 18px #0f172a1a}.project-file-visual.file:after{content:"";position:absolute;top:-1px;right:-1px;width:18px;height:18px;border-left:1px solid #cbd5e1;border-bottom:1px solid #cbd5e1;border-radius:0 8px 0 7px;background:#dbeafe}.project-file-visual.file svg{width:25px;height:25px;color:#2563eb}.project-file-visual.file em{position:absolute;right:7px;bottom:7px;color:#0f766e;font-size:9px;font-style:normal;font-weight:900}.project-file-card-meta,.project-file-card-detail{width:100%;max-width:124px;overflow:hidden;color:#64748b;font-size:11px;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.project-file-card-detail{color:#94a3b8;font-size:10px}.project-file-tile{min-height:112px;display:grid;gap:8px;align-content:start;padding:14px;border:1px solid #dbe4ef;border-radius:10px;background:#fff;color:#172033;text-align:left;text-decoration:none}.project-file-tile.folder{background:#f0fdfa}.project-file-tile svg{width:26px;height:26px;color:#0f766e}.project-file-tile span{color:#667085;font-size:12px}.profile-permissions h2{margin:0 0 6px;color:#111827;font-size:18px;letter-spacing:0}.profile-permission-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:14px}.profile-permission-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid #e5ebf3;border-radius:8px;background:#f8fafc}.profile-permission-item>div{min-width:0;display:flex;align-items:center;gap:10px}.profile-permission-item strong{color:#172033;font-size:14px}.profile-permission-item span:last-child{flex:0 0 auto;color:#0f766e;font-size:12px;font-weight:760}.detail-stack{min-width:0;display:grid;gap:8px}.dashboard-workbench{display:grid;gap:16px;min-width:0}.dashboard-overview{display:grid;gap:12px;min-width:0}.dashboard-overview .panel-head{align-items:flex-start;padding:2px 0 0;margin-bottom:0}.dashboard-overview .panel-head div{display:grid;gap:4px}.dashboard-overview .panel-head h2{font-size:18px}.dashboard-overview .panel-head strong{flex:0 0 auto;padding:6px 10px;border:1px solid #c8eadf;border-radius:999px;background:#f0fdf7;color:#047857;font-size:12px;font-weight:720}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:14px;align-items:stretch}.dashboard-grid .panel{min-height:284px}.dashboard-todos{display:flex;flex-direction:column}.compact-task-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.compact-task-list li{min-height:48px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;border:1px solid #edf0f5;border-radius:8px;background:#f8fafc;color:#243041;font-size:13px}.compact-task-list span{min-width:0}.compact-task-list strong{padding:4px 8px;border-radius:999px;background:#fff7ed;color:#c2410c;font-size:11px;font-weight:720;white-space:nowrap}.dashboard-empty-state{margin:0;padding:16px 12px;border:1px dashed #d7dce3;border-radius:8px;background:#f8fafc;color:#697586;font-size:13px;text-align:center}.progress-console{position:relative;display:grid;gap:12px;min-height:calc(100dvh - 24px);padding:16px;overflow:hidden;border:1px solid rgba(103,232,249,.24);border-radius:12px;background:linear-gradient(90deg,rgba(103,232,249,.08) 1px,transparent 1px),linear-gradient(0deg,rgba(103,232,249,.06) 1px,transparent 1px),linear-gradient(135deg,#06100e,#0a1713 42%,#14110b);background-size:34px 34px,34px 34px,100% 100%;color:#eafff9;box-shadow:inset 0 1px #ffffff14,0 22px 54px #040a0f3d}.progress-console-bg{position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 0 18%,rgba(251,191,36,.08) 18% 18.35%,transparent 18.35% 100%),repeating-linear-gradient(180deg,rgba(255,255,255,.035) 0 1px,transparent 1px 9px);-webkit-mask-image:linear-gradient(180deg,#000,#000000d1 58%,#0000003d);mask-image:linear-gradient(180deg,#000,#000000d1 58%,#0000003d)}.progress-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:2px 2px 6px}.progress-kicker{display:inline-flex;margin-bottom:5px;color:#67e8f9;font-size:11px;font-weight:760;text-transform:uppercase;letter-spacing:0}.progress-hero h1{margin:0;color:#f7fffb;font-size:26px;line-height:1.12;letter-spacing:0}.progress-hero p{margin:6px 0 0;color:#9ed3c7;font-size:13px}.progress-hero-actions,.progress-upload-dock{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}.progress-cloud-status{min-height:32px;display:inline-flex;align-items:center;padding:0 12px;border:1px solid rgba(52,211,153,.42);border-radius:999px;background:#064e3b57;color:#bbf7d0;font-size:12px;font-weight:760}.progress-ghost-button,.progress-upload-button{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 13px;border:1px solid rgba(103,232,249,.42);border-radius:8px;background:#082f497a;color:#e0fbff;font-size:12px;font-weight:780;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease}.progress-ghost-button:hover,.progress-upload-button:hover{transform:translateY(-1px);border-color:#fbbf24ad;background:#14532d61}.progress-ghost-button:disabled,.progress-upload-button.disabled{cursor:not-allowed;opacity:.52;transform:none}.progress-ghost-button--quiet{border-color:#94a3b857;background:#0f172a2e;color:#94a3b8}.progress-upload-button input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.progress-upload-dock{justify-content:flex-start;padding:9px;border:1px solid rgba(148,163,184,.18);border-radius:10px;background:#0206175c}.progress-upload-message{min-width:180px;color:#9ed3c7;font-size:12px}.progress-upload-message.active{color:#fef3c7}.progress-import-editor{width:min(1120px,calc(100vw - 28px));max-height:min(760px,calc(100dvh - 28px));display:flex;flex-direction:column;overflow:hidden;border-color:#67e8f957;background:linear-gradient(180deg,#082f49d1,#020617f5),#020617;color:#eafff9}.progress-import-editor .modal-head{flex:0 0 auto;background:#0206176b}.progress-import-editor .modal-head h2{color:#eaffff;text-shadow:0 0 16px rgba(103,232,249,.28)}.progress-import-editor .modal-head p{margin:3px 0 0;color:#a7f3d0;font-size:12px}.progress-import-editor-toolbar{display:flex;align-items:end;gap:8px;flex-wrap:wrap;padding:10px 12px;border-block:1px solid rgba(103,232,249,.16);background:#02061794}.progress-import-editor-toolbar>label{display:grid;gap:4px;color:#9ed3c7;font-size:11px;font-weight:760}.progress-import-editor-toolbar input{width:142px;min-height:32px;padding:0 9px;border:1px solid rgba(103,232,249,.32);border-radius:7px;background:#020617c7;color:#eafff9;color-scheme:dark}.progress-editor-message{margin:8px 12px 0;color:#fef3c7;font-size:12px}.progress-import-editor-table-wrap{flex:1 1 auto;min-height:0;overflow:auto;padding:10px 12px 14px}.progress-manual-day-dialog{position:relative;border:1px solid #dbe7ef;background:linear-gradient(180deg,#fff,#f7fafc),#fff;color:#102033}.progress-manual-day-dialog .modal-head{background:linear-gradient(180deg,#fff,#f8fbfd);border-bottom:1px solid #e1ebf2}.progress-manual-day-dialog .modal-head h2{color:#0f2638;text-shadow:none;font-weight:900}.progress-manual-day-dialog .modal-head p{color:#577086;font-weight:760}.progress-manual-day-dialog .modal-close{border-color:#d7e4ec;background:#f7fbfd;color:#0f2638}.progress-manual-day-dialog .progress-import-editor-toolbar{border-block:1px solid #dce8f0;background:#f3f8fb}.progress-manual-day-dialog .progress-import-editor-toolbar>label{color:#4a6175}.progress-manual-day-dialog .progress-import-editor-toolbar input{border-color:#cad9e3;background:#fff;color:#102033;color-scheme:light;box-shadow:inset 0 1px #0f26380a}.progress-manual-day-dialog .progress-raw-tabs button{border-color:#d4e2eb;background:#fff;color:#476072}.progress-manual-day-dialog .progress-raw-tabs button.active{border-color:#0f8c83;background:#e9fbf8;color:#08746d}.progress-manual-day-dialog .progress-ghost-button{border-color:#9bd9d2;background:linear-gradient(180deg,#e7fbf8,#c9f3ee);color:#075d58;box-shadow:0 8px 18px #0f8c831f}.progress-manual-day-dialog .progress-import-editor-table-wrap{background:#fff}.progress-manual-day-dialog .progress-edit-block{border-color:#d9e5ed;background:#fff;box-shadow:0 10px 24px #0f26380f}.progress-manual-day-dialog .progress-edit-block-head{border-bottom-color:#dce8f0;background:#f5f9fc}.progress-manual-day-dialog .progress-edit-block-head strong{color:#102033}.progress-manual-day-dialog .progress-edit-block-head span{color:#6b8194}.progress-manual-day-dialog .progress-edit-grid.compact{border-bottom-color:#e3edf3}.progress-manual-day-dialog .progress-edit-mini-table>strong{color:#0f766e}.progress-manual-day-dialog .progress-edit-mini-table th,.progress-manual-day-dialog .progress-edit-mini-table td{border-color:#dfe9f0}.progress-manual-day-dialog .progress-edit-mini-table th{background:#eef5f8;color:#365269}.progress-manual-day-dialog .progress-edit-field input{background:#fff;color:#102033;color-scheme:light}.progress-manual-day-dialog .progress-edit-field input:focus{background:#f0fffd;box-shadow:inset 0 0 0 2px #0f8c83}.progress-manual-day-dialog .progress-edit-field input::placeholder{color:#8aa0b3}.progress-manual-duplicate{position:absolute;inset:0;z-index:4;display:grid;place-items:center;padding:20px;background:#0f172a6b;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.progress-manual-duplicate article{width:min(520px,100%);display:grid;gap:12px;padding:18px;border:1px solid #fde68a;border-radius:10px;background:#fffbeb;box-shadow:0 18px 45px #0f172a38}.progress-manual-duplicate h3{margin:0;color:#92400e;font-size:18px;font-weight:950}.progress-manual-duplicate p{margin:0;color:#78350f;font-size:13px;font-weight:800}.progress-manual-duplicate div{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.progress-manual-duplicate .progress-ghost-button{background:#fff7ed;color:#9a3412;border-color:#fed7aa}.progress-import-editor-stack{display:grid;gap:8px}.progress-edit-block{overflow:hidden;border:1px solid rgba(103,232,249,.24);border-radius:6px;background:#020617b3}.progress-edit-block-head{display:flex;justify-content:space-between;gap:10px;padding:6px 8px;border-bottom:1px solid rgba(103,232,249,.22);background:#082f4980}.progress-edit-block-head strong{color:#eaffff;font-size:13px;font-weight:900}.progress-edit-block-head span{color:#9ed3c7;font-size:11px;font-weight:750}.progress-edit-grid.compact{display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:0;padding:0;border-bottom:1px solid rgba(103,232,249,.16)}.progress-edit-mini-table{display:grid;gap:0;padding:0 0 8px;overflow-x:auto}.progress-edit-mini-table>strong{padding:6px 8px;color:#67e8f9;font-size:12px;font-weight:900}.progress-edit-mini-table table{min-width:820px;width:100%;border-collapse:collapse;font-size:11px}.progress-edit-mini-table th,.progress-edit-mini-table td{padding:0;border:1px solid rgba(103,232,249,.16);white-space:nowrap}.progress-edit-mini-table th{padding:5px 7px;color:#c8fff5;background:#082f49b8;text-align:left;font-weight:900}.progress-edit-field{display:block;min-width:0}.progress-edit-field span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.progress-edit-field input{width:100%;min-width:74px;min-height:30px;padding:4px 7px;border:0;border-radius:0;background:#0f172a2e;color:#f8ffff;color-scheme:dark;font-size:12px;font-weight:760;outline:none}.progress-edit-field input[type=datetime-local]{min-width:146px;font-variant-numeric:tabular-nums}.progress-edit-field input[type=number]{min-width:78px;font-variant-numeric:tabular-nums}.progress-edit-field input:focus{background:#0891b23d;box-shadow:inset 0 0 0 2px #22d3ee}.progress-edit-field input::placeholder{color:#cbd5e1b8}.progress-loading,.progress-empty{min-height:92px;display:grid;place-items:center;gap:5px;padding:14px;border:1px dashed rgba(148,163,184,.36);border-radius:10px;background:#0f172a57;color:#c8fff5;text-align:center}.progress-empty strong{color:#f8fffd;font-size:14px}.progress-empty span{color:#9ed3c7;font-size:12px}.progress-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.progress-kpi,.progress-panel{border:1px solid rgba(103,232,249,.18);background:#030d10b8;box-shadow:inset 0 1px #ffffff12,0 12px 28px #0000002e}.progress-kpi{min-height:84px;display:grid;align-content:center;min-width:0;gap:5px;padding:13px 14px;border-radius:10px}.progress-kpi span,.progress-metric span{color:#8fdccd;font-size:12px}.progress-kpi strong{color:#f8fffd;font-size:24px;line-height:1;font-variant-numeric:tabular-nums}.progress-kpi em{color:#80a99f;font-size:12px;font-style:normal}.progress-kpi-monthly-parts>span,.progress-kpi-monthly-parts>em{min-width:0;overflow-wrap:anywhere;line-height:1.2}.progress-kpi-part-values{display:grid;grid-template-columns:repeat(auto-fit,minmax(76px,1fr));align-items:center;gap:2px 8px;min-width:0}.progress-kpi-part-values strong{min-width:0;font-size:clamp(12px,.95vw,16px);line-height:1.15;overflow-wrap:anywhere;white-space:normal}.progress-kpi.amber strong,.progress-metric.amber strong{color:#fbbf24}.progress-main-grid{display:grid;grid-template-columns:minmax(320px,.78fr) minmax(0,1.22fr);gap:12px;align-items:stretch}.progress-main-grid.split{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.progress-panel{min-width:0;padding:14px;border-radius:12px}.progress-panel-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.progress-panel-title h2{margin:0;color:#f8fffd;font-size:16px;line-height:1.2;letter-spacing:0}.progress-panel-title span{color:#67e8f9;font-size:11px;font-weight:760;text-transform:uppercase}.progress-gauge-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.progress-gauge{--gauge-value: 0%;position:relative;min-height:154px;display:grid;place-items:center;gap:8px;padding:12px;border-radius:12px;background:#0f172a52}.progress-gauge:before{content:"";width:104px;height:104px;border-radius:50%;background:radial-gradient(circle at center,#07110f 0 54%,transparent 55%),conic-gradient(#67e8f9 var(--gauge-value),rgba(71,85,105,.34) 0);filter:drop-shadow(0 0 14px rgba(103,232,249,.2))}.progress-gauge.amber:before{background:radial-gradient(circle at center,#121006 0 54%,transparent 55%),conic-gradient(#fbbf24 var(--gauge-value),rgba(71,85,105,.34) 0);filter:drop-shadow(0 0 14px rgba(251,191,36,.18))}.progress-gauge div{position:absolute;top:48px;display:grid;justify-items:center;gap:2px}.progress-gauge strong{color:#f8fffd;font-size:21px;font-variant-numeric:tabular-nums}.progress-gauge span,.progress-gauge em{color:#8fdccd;font-size:11px;font-style:normal}.progress-line-chart{display:grid;gap:8px}.progress-line-chart svg{width:100%;height:220px;overflow:visible;border:1px solid rgba(103,232,249,.12);border-radius:10px;background:linear-gradient(90deg,rgba(103,232,249,.08) 1px,transparent 1px),linear-gradient(0deg,rgba(251,191,36,.08) 1px,transparent 1px),#02061747;background-size:42px 42px}.progress-line-chart circle{fill:#fbbf24;stroke:#082f2a;stroke-width:1px}.progress-line-labels{display:flex;flex-wrap:wrap;gap:6px}.progress-line-summary{color:var(--mission-muted);font-family:var(--mission-font);font-size:11px;font-weight:800;letter-spacing:0}.progress-line-labels span{padding:4px 8px;border:1px solid rgba(103,232,249,.18);border-radius:999px;color:#a7f3d0;font-size:11px}.progress-monthly-bench{display:grid;gap:14px}.progress-monthly-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.progress-monthly-head strong{color:#ffd166;font-family:var(--mission-font);font-size:28px;line-height:1}.progress-monthly-head span{color:var(--mission-muted);font-size:12px;font-weight:800}.progress-monthly-head em{position:relative;display:inline-flex;align-items:center;gap:6px;margin-left:8px;padding:3px 7px;border:1px solid rgba(255,107,107,.32);border-radius:999px;background:#ff6b6b1a;color:#fecaca;font-size:10px;font-style:normal;font-weight:900;vertical-align:middle}.progress-monthly-head small{position:absolute;right:0;top:calc(100% + 8px);z-index:5;width:max-content;max-width:min(360px,74vw);padding:8px 10px;border:1px solid rgba(255,107,107,.35);border-radius:8px;background:#020617f0;color:#fee2e2;font-size:11px;line-height:1.45;opacity:0;pointer-events:none;transform:translateY(-4px);transition:opacity .12s ease,transform .12s ease;white-space:normal}.progress-monthly-head em:hover small,.progress-monthly-head em:focus-within small{opacity:1;transform:translateY(0)}.progress-period-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.progress-period-tabs{display:flex;flex-wrap:wrap;gap:8px}.progress-period-tabs button{min-height:30px;padding:0 12px;border:1px solid rgba(103,232,249,.18);border-radius:6px;background:#02061794;color:var(--mission-muted);font-size:12px;font-weight:900}.progress-period-tabs button[aria-pressed=true]{border-color:#5df4ffcc;background:#5df4ff2e;color:#eaffff;box-shadow:0 0 14px #5df4ff2e}.progress-period-date-filter{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.progress-period-date-filter label{display:flex;align-items:center;gap:5px;color:var(--mission-muted);font-size:11px;font-weight:900}.progress-period-date-filter input{width:126px;min-height:30px;border:1px solid rgba(103,232,249,.2);border-radius:6px;background:#0206179e;color:#eaffff;font:inherit;font-size:11px;font-weight:900}.progress-monthly-bars{display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;min-height:268px;padding:14px;border:1px solid rgba(103,232,249,.14);border-radius:10px;background:linear-gradient(90deg,rgba(103,232,249,.07) 1px,transparent 1px),linear-gradient(0deg,rgba(103,232,249,.07) 1px,transparent 1px),#0206174d;background-size:48px 48px}.progress-monthly-axis{display:flex;min-height:214px;flex-direction:column;justify-content:space-between;color:#bfecffbd;font-family:var(--mission-font);font-size:11px;font-weight:800;text-align:right}.progress-monthly-bar-grid{display:grid;grid-auto-columns:minmax(82px,1fr);grid-auto-flow:column;gap:12px;min-height:228px;overflow-x:auto;overscroll-behavior-x:contain}.progress-monthly-bar-grid div{display:grid;grid-template-rows:auto 1fr auto auto;gap:5px;min-width:82px;align-items:end;justify-items:center}.progress-monthly-bar-grid span,.progress-monthly-bar-grid em{color:var(--mission-muted);font-size:10px;font-style:normal;font-weight:800}.progress-monthly-bar-grid i{position:relative;display:flex;align-items:end;justify-content:center;width:46px;min-height:166px;border-radius:7px;background:#94a3b81a;overflow:hidden}.progress-monthly-bar-grid b{display:block;width:100%;min-height:14px;border-radius:7px 7px 2px 2px;background:linear-gradient(180deg,#5df4ff,#34d399);box-shadow:0 0 16px #5df4ff52}.progress-monthly-bar-grid .above b{background:linear-gradient(180deg,#ffd166,#5df4ff)}.progress-monthly-bar-grid .below b{background:linear-gradient(180deg,#ff8a8a,#ffd166);box-shadow:0 0 14px #ff6b6b38}.progress-monthly-bar-grid strong{color:#eafff9;font-size:11px;line-height:1;white-space:nowrap}.progress-period-empty{align-self:center;margin:0;color:var(--mission-muted);font-weight:800}.progress-step-stack,.progress-average-list,.progress-concrete-bars{display:grid;gap:8px}.progress-step-row{display:grid;grid-template-columns:28px minmax(116px,1fr) minmax(120px,1.1fr) 72px;align-items:center;gap:8px;min-height:32px;color:#dffdf7;font-size:12px}.progress-step-row span{width:24px;height:24px;display:inline-grid;place-items:center;border-radius:7px;background:#67e8f924;color:#67e8f9;font-weight:780}.progress-step-copy{display:grid;min-width:0;gap:2px}.progress-step-row strong{min-width:0;color:#eafff9;font-size:12px;font-weight:720}.progress-step-copy small{min-width:0;overflow:hidden;color:#aee2ffb8;font-family:var(--mission-font);font-size:10px;font-weight:760;font-variant-numeric:tabular-nums;line-height:1.05;text-overflow:ellipsis;white-space:nowrap}.progress-step-track{height:9px;overflow:hidden;border-radius:999px;background:#4755695c}.progress-step-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#14b8a6,#67e8f9,#fbbf24)}.progress-step-row em{position:relative;color:#fef3c7;font-style:normal;text-align:right;font-variant-numeric:tabular-nums}.progress-step-row em span{position:absolute;right:0;top:calc(100% + 6px);z-index:4;width:max-content;max-width:min(320px,70vw);height:auto;min-height:0;display:block;padding:7px 9px;border:1px solid rgba(103,232,249,.28);border-radius:7px;background:#020617f0;color:#eaffff;font-size:11px;font-weight:800;line-height:1.4;opacity:0;pointer-events:none;transform:translateY(-4px);transition:opacity .12s ease,transform .12s ease}.progress-step-row:hover em span,.progress-step-row:focus-within em span{opacity:1;transform:translateY(0)}.progress-average-row,.progress-concrete-bar{padding:10px;border:1px solid rgba(148,163,184,.16);border-radius:10px;background:#0f172a47}.progress-average-row{display:grid;grid-template-columns:minmax(130px,1fr) minmax(120px,1fr) minmax(112px,auto);align-items:center;gap:10px}.progress-average-row span{color:#dffdf7;font-size:12px}.progress-average-row strong{display:grid;gap:2px;color:#fbbf24;font-size:13px;font-variant-numeric:tabular-nums;text-align:right}.progress-average-row strong span,.progress-average-row strong em{font-style:normal}.progress-average-row.good strong span{color:var(--mission-green)}.progress-average-row.hot strong span{color:var(--mission-red)}.progress-average-row strong em{color:var(--mission-muted);font-size:10px}.progress-average-track{--average-month: 0%;--average-project: 0%;position:relative;height:9px;overflow:hidden;border-radius:999px;background:#47556957}.progress-average-track i,.progress-average-track b{position:absolute;inset:0 auto 0 0;border-radius:inherit}.progress-average-track i{width:var(--average-project);background:#bde7ff2e}.progress-average-track b{width:var(--average-month);background:linear-gradient(90deg,var(--mission-green),#65f0ff)}.progress-average-track.hot b{background:linear-gradient(90deg,#ff9958,var(--mission-red))}.progress-shotcrete-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:10px}.progress-efficiency-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}.progress-metric{min-height:64px;display:grid;align-content:center;gap:4px;padding:10px;border:1px solid rgba(103,232,249,.16);border-radius:10px;background:#02061747}.progress-metric strong{color:#f8fffd;font-size:17px;font-variant-numeric:tabular-nums}.progress-metric em{color:var(--mission-muted);font-size:10px;font-style:normal;font-weight:800;line-height:1.35}.progress-metric.danger strong{color:#ff6b7a}.progress-segment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.progress-segment{display:grid;gap:5px;padding:10px;border:1px solid rgba(52,211,153,.18);border-radius:10px;background:#064e3b2e}.progress-segment strong{color:#bbf7d0;font-size:13px}.progress-segment span,.progress-segment em{color:#9ed3c7;font-size:11px;font-style:normal}.progress-concrete-bar{display:grid;gap:7px}.progress-concrete-bar div{display:flex;justify-content:space-between;gap:8px;padding:3px 6px;border-radius:2px;background:#eaffff14}.progress-concrete-bar strong{color:#eaffff;font-size:13px;text-shadow:0 1px 0 rgba(0,0,0,.75)}.progress-concrete-bar span{color:#ffe08a;font-size:12px;font-weight:780;text-shadow:0 1px 0 rgba(0,0,0,.78)}.progress-concrete-bar i{height:10px;overflow:hidden;border-radius:999px;background:#47556957}.progress-concrete-bar b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#67e8f9,#fbbf24)}.progress-concrete-bar em{color:#9ed3c7;font-size:11px;font-style:normal}.progress-distance-set{min-height:42px;border:1px solid rgba(93,244,255,.45);border-radius:4px;background:var(--macaron-sky);color:var(--macaron-ink);font-weight:850;cursor:pointer}.progress-distance-actions{display:grid;grid-template-columns:1fr auto;gap:8px}.progress-distance-cancel{min-width:72px;min-height:42px;border:1px solid rgba(189,231,255,.42);border-radius:4px;background:#bde7ff14;color:var(--mission-muted);font-family:var(--mission-font);font-size:11px;font-weight:900;cursor:pointer}.progress-distance-cancel:hover{border-color:#fff1a89e;color:var(--mission-text)}.progress-distance-error{grid-column:1 / -1;margin:0;color:#ffd166;font-size:12px;line-height:1.5}.progress-concrete-bar strong{color:#eafff9;text-shadow:0 1px 0 rgba(0,0,0,.55)}.progress-concrete-bar span{color:#ffd166;text-shadow:0 1px 0 rgba(0,0,0,.55)}.progress-table-panel{padding-bottom:10px}.progress-segment-table-wrap{max-height:430px;overflow:auto;border:1px solid rgba(103,232,249,.16);border-radius:10px}.progress-segment-table{width:100%;min-width:860px;border-collapse:collapse;color:#dffdf7;font-size:12px}.progress-segment-table th,.progress-segment-table td{padding:9px 10px;border-bottom:1px solid rgba(148,163,184,.14);text-align:left;white-space:normal;vertical-align:top}.progress-segment-table th{position:sticky;top:0;z-index:1;background:#07110f;color:#67e8f9;font-weight:760}.progress-segment-table tbody tr:hover{background:#67e8f90f}.progress-segment-table .over{display:inline-flex;min-width:58px;justify-content:center;padding:4px 7px;border-radius:999px;background:#34d3991f;color:#bbf7d0;font-weight:760}.progress-segment-table .over.warn{background:#fbbf2424;color:#fef3c7}.progress-segment-table .over.hot{background:#f8717129;color:#fecaca}.progress-raw-dialog{max-width:min(1100px,calc(100vw - 48px))}.progress-raw-dialog .modal-head h2{color:#0f0000}.progress-raw-dialog .modal-head p{margin:4px 0 0;color:#64748b;font-size:12px;font-weight:800}.progress-raw-head-actions{display:flex;align-items:center;gap:8px}.progress-raw-dialog .progress-ghost-button{min-height:32px;background:#ecfeff;color:#0f766e}.progress-import-conflict-dialog{max-width:min(880px,calc(100vw - 48px))}.progress-import-conflict-dialog .modal-head p{margin:4px 0 0;color:#64748b;font-size:13px;font-weight:800}.progress-import-conflict-body{padding:0 20px 16px}.progress-import-conflict-note{margin:0 0 12px;padding:10px 12px;border:1px solid #fde68a;border-radius:8px;background:#fffbeb;color:#92400e;font-size:13px;font-weight:800}.progress-import-conflict-list{display:grid;gap:10px;max-height:min(48vh,420px);overflow:auto}.progress-import-conflict-list article{display:grid;gap:8px;padding:12px;border:1px solid #dbeafe;border-radius:8px;background:#f8fafc}.progress-import-conflict-list header,.progress-import-conflict-list article div{display:grid;grid-template-columns:64px minmax(120px,1fr) minmax(180px,2fr);align-items:center;gap:10px}.progress-import-conflict-list header strong,.progress-import-conflict-list article span{color:#0f766e;font-size:12px;font-weight:900}.progress-import-conflict-list header span{color:#475569;font-size:12px;font-weight:800}.progress-import-conflict-list b{color:#0f172a;font-size:13px}.progress-import-conflict-list em{color:#475569;font-size:12px;font-style:normal;font-weight:800}.progress-import-conflict-footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid #e2e8f0}.progress-import-conflict-footer .btn{display:inline-flex;min-height:38px;min-width:108px;align-items:center;justify-content:center}.progress-raw-tabs{display:flex;gap:8px;padding:0 20px}.progress-raw-date-toolbar{display:grid;grid-template-columns:minmax(140px,190px) 1fr;gap:10px;align-items:end;padding:0 20px 12px}.progress-raw-date-toolbar label{display:grid;gap:5px;color:#475569;font-size:12px;font-weight:900}.progress-raw-date-toolbar input{min-height:34px;border-radius:6px;font-size:13px;font-weight:850}.progress-raw-date-presets{display:flex;flex-wrap:wrap;gap:6px;min-width:0}.progress-raw-date-presets button{min-height:30px;padding:0 9px;border:1px solid #dbeafe;border-radius:6px;background:#f8fafc;color:#334155;font-size:12px;font-weight:850}.progress-raw-date-presets button.active,.progress-raw-date-presets button:hover{border-color:#0f766e;background:#ecfdf5;color:#0f766e}.progress-raw-tabs button{min-height:34px;padding:0 12px;border:1px solid rgba(103,232,249,.2);border-radius:6px;background:#0f172a0a;color:#0f172a;font-weight:900}.progress-raw-tabs button.active{border-color:#0f766e;background:#ecfdf5;color:#0f766e}.progress-raw-table-wrap{max-height:min(62vh,560px);margin:0 20px 20px;overflow:auto;border:1px solid #e2e8f0;border-radius:8px}.progress-raw-detail-stack{display:grid;gap:12px;padding:12px}.progress-raw-record{display:grid;gap:10px;padding:12px;border:1px solid #dbeafe;border-radius:8px;background:#f8fafc}.progress-raw-record header{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}.progress-raw-record header strong{color:#0f172a;font-size:14px;font-weight:950}.progress-raw-record header span{color:#64748b;font-size:12px;font-weight:800}.progress-raw-field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:6px}.progress-raw-field-grid div{display:grid;gap:3px;min-width:0;padding:8px 9px;border:1px solid #e2e8f0;border-radius:6px;background:#fff}.progress-raw-field-grid span,.progress-raw-mini-table>strong{color:#64748b;font-size:11px;font-weight:900}.progress-raw-field-grid strong{min-width:0;overflow-wrap:anywhere;color:#0f172a;font-size:12px;font-weight:900}.progress-raw-mini-table{display:grid;gap:6px;overflow-x:auto}.progress-raw-mini-table table{width:100%;min-width:680px;border-collapse:collapse;overflow:hidden;border:1px solid #e2e8f0;border-radius:6px;background:#fff}.progress-raw-mini-table th,.progress-raw-mini-table td{padding:7px 8px;border-bottom:1px solid #edf2f7;color:#1e293b;font-size:11px;font-weight:800;text-align:left;white-space:nowrap}.progress-raw-mini-table th{background:#f1f5f9;color:#0f766e;font-weight:950}.progress-raw-table{width:100%;min-width:860px;border-collapse:collapse;color:#1e293b;font-size:12px}.progress-raw-table th,.progress-raw-table td{padding:9px 10px;border-bottom:1px solid #edf2f7;text-align:left;vertical-align:top;white-space:nowrap}.progress-raw-table th{position:sticky;top:0;z-index:1;background:#f8fafc;color:#0f766e;font-weight:900}.filter-bar{display:flex;flex-wrap:wrap;gap:8px;padding:8px 10px;border:1px solid #e3e7ee;border-radius:8px;background:#fff}.filter-bar label,.compact-form label{display:grid;gap:6px;color:#697586;font-size:12px}.plain-label{display:grid;gap:6px;margin-bottom:12px;color:#697586;font-size:12px}.filter-bar select,.filter-bar input:not(.ant-select-input),.compact-form input,.compact-form select,.compact-form textarea,.plain-label input,.plain-label select,.plain-label textarea,.drop-zone select{min-height:34px;padding:0 9px;border:1px solid #d7dce3;border-radius:7px;background:#fff;color:#172033}.filter-bar.data-filter{display:grid;grid-template-columns:repeat(6,minmax(96px,1fr)) minmax(54px,auto);align-items:end;gap:6px 8px;padding:6px 10px;border-width:0 0 1px;border-radius:0;background:#fbfcfe}.filter-bar.data-filter.finance-filter{grid-template-columns:minmax(112px,132px) minmax(112px,132px) repeat(4,minmax(96px,1fr)) minmax(54px,auto);align-items:end}.filter-bar.data-filter.finance-filter.invoice-filter{grid-template-columns:repeat(3,minmax(132px,220px)) minmax(56px,auto);justify-content:start;gap:8px;padding:7px 10px}.filter-bar.data-filter label{min-width:0;gap:3px;font-size:11px}.filter-bar.data-filter .ant-input,.filter-bar.data-filter .antd-compat-select-control{width:100%;min-width:0;height:32px;min-height:32px;border-radius:6px;font-size:12px}.filter-bar.data-filter .ant-input{padding-inline:10px;line-height:30px}.filter-bar.data-filter .antd-compat-select{display:block;width:100%;min-width:0}.filter-bar.data-filter .antd-compat-select-control{position:relative;display:flex;align-items:center;padding:0 30px 0 10px}.filter-bar.data-filter .antd-compat-select .ant-select-content{display:flex;flex:1 1 auto;align-items:center;min-width:0;height:30px;line-height:30px;overflow:hidden}.filter-bar.data-filter .antd-compat-select .ant-select-placeholder,.filter-bar.data-filter .antd-compat-select .ant-select-content-has-value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-bar.data-filter .antd-compat-select .ant-select-input{height:100%;min-height:0;padding:0;border:0;background:transparent}.filter-bar.data-filter .antd-compat-select .ant-select-suffix{position:absolute;top:50%;right:10px;transform:translateY(-50%);pointer-events:none}.filter-bar.data-filter .ant-input[type=date]{-webkit-appearance:none;appearance:none;background-clip:padding-box;color-scheme:light}.filter-bar.data-filter .ant-input[type=date]::-webkit-date-and-time-value{min-height:30px;margin:0;text-align:left}.filter-bar.data-filter .ant-input[type=date]::-webkit-datetime-edit,.filter-bar.data-filter .ant-input[type=date]::-webkit-datetime-edit-fields-wrapper,.filter-bar.data-filter .ant-input[type=date]::-webkit-datetime-edit-text,.filter-bar.data-filter .ant-input[type=date]::-webkit-datetime-edit-year-field,.filter-bar.data-filter .ant-input[type=date]::-webkit-datetime-edit-month-field,.filter-bar.data-filter .ant-input[type=date]::-webkit-datetime-edit-day-field{padding:0;background:transparent}.filter-bar.data-filter .ant-input[type=date]::-webkit-calendar-picker-indicator{margin:0}.filter-bar.data-filter .filter-reset-button{justify-self:end;align-self:end;width:auto;min-width:54px;height:32px;min-height:32px;padding:0 10px}.plain-label textarea,.compact-form textarea{min-height:76px;padding-top:9px;resize:vertical}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.metric-card{min-height:76px;padding:12px;border:1px solid #e3e7ee;border-radius:8px;background:#fff}.metric-card span{display:block;color:#697586;font-size:12px}.metric-card strong{display:block;margin-top:6px;color:#111827;font-size:19px;letter-spacing:0}.detail-grid{display:grid;grid-template-columns:minmax(280px,.82fr) minmax(360px,1.18fr);gap:14px;align-items:start}.import-center-layout{display:grid;grid-template-columns:minmax(320px,.95fr) minmax(420px,1.05fr);gap:14px;align-items:start}.import-center-hero,.import-queue-panel{grid-column:1 / -1}.import-center-layout>.import-queue-panel.panel.wide{grid-column:1 / -1}.import-center-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:18px;border-color:#d7e3ee;background:linear-gradient(135deg,#0f766e14,#3669ff0f),#fff}.import-center-kicker{display:inline-flex;margin-bottom:6px;color:#0f766e;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.import-center-hero h2{margin:0;color:#111827;font-size:22px;letter-spacing:0}.import-center-hero p{max-width:720px;margin:6px 0 0;color:#526174;font-size:13px;line-height:1.65}.import-center-metrics{display:grid;grid-template-columns:repeat(3,minmax(86px,1fr));gap:8px}.import-center-metrics span{min-width:0;padding:10px 12px;border:1px solid #dbe7f0;border-radius:8px;background:#ffffffdb;color:#64748b;font-size:12px;font-weight:700;text-align:center}.import-center-metrics strong{display:block;margin-bottom:2px;color:#0f766e;font-size:19px;line-height:1}.workflow-detail-grid{grid-template-columns:minmax(0,1fr)}.workflow-detail-grid .expense-approval-card,.workflow-detail-grid .panel.wide{grid-column:1 / -1}.panel{min-width:0;padding:16px;border:1px solid #e3e7ee;border-radius:8px;background:#fffffff5;box-shadow:0 1px 2px #1118270a}.panel.wide{grid-column:span 1}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.panel-head h2{margin:0;color:#111827;font-size:16px;letter-spacing:0}.panel-head span{color:#8a94a6;font-size:12px}.workflow-panel-head-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}.workflow-panel-head-actions .table-action{min-height:30px}.workflow-panel-head-actions .workflow-recycle-button{min-height:36px;display:inline-flex;align-items:center;gap:7px;padding:0 14px;border:1px solid #84d8cf;border-radius:9px;background:linear-gradient(180deg,#effefa,#d9fbf4);color:#087669;box-shadow:0 8px 18px #0876691f;font-size:13px;font-weight:820}.workflow-panel-head-actions .workflow-recycle-button:before{content:"";width:15px;height:15px;flex:0 0 15px;border:2px solid currentColor;border-top-width:3px;border-radius:3px 3px 4px 4px;box-shadow:inset 0 4px #08766929}.workflow-panel-head-actions .workflow-recycle-button:hover{transform:translateY(-1px);border-color:#45beb2;background:linear-gradient(180deg,#e0fff8,#c8f6ed);box-shadow:0 12px 24px #0876692e}.workflow-panel-head-actions .workflow-recycle-button.active{border-color:#f6c56f;background:linear-gradient(180deg,#fff8e8,#ffedc2);color:#9a5200;box-shadow:0 8px 18px #9a520024}.workflow-panel-head-actions .workflow-recycle-button.active:hover{background:linear-gradient(180deg,#fff3d4,#ffe2a3)}.panel-toggle-button{min-height:30px;padding:0 11px;border:1px solid #d9e2ee;border-radius:7px;background:#f8fafc;color:#334155;font-weight:700}.panel-toggle-button:hover{border-color:#a7bfd8;background:#eef6ff}.template-panel-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.panel-toggle-button.backup-button{border-color:#b7e4df;background:#ecfdf8;color:#087669}.panel-toggle-button.backup-button:hover{border-color:#79cfc6;background:#dbfaf2}.bar-chart{height:220px;display:grid;grid-template-columns:repeat(6,minmax(24px,1fr));align-items:end;gap:14px;padding:18px 8px 0;border-top:1px solid #edf0f5}.bar-chart span{min-height:32px;border-radius:7px 7px 3px 3px;background:linear-gradient(180deg,#0f766e,#68b6aa)}.task-list{margin:0;padding-left:18px;color:#475569;font-size:13px;line-height:2}.compact-form{display:grid;gap:11px}.compact-form .btn{justify-self:start}.table-wrap{position:relative;width:100%;overflow-x:auto;overflow-y:visible;overscroll-behavior-x:contain;overscroll-behavior-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y}.workflow-steps{display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr auto;align-items:center;gap:8px;margin:16px 0 18px;color:#243041;font-size:12px}.workflow-steps span{padding:7px 9px;border-radius:999px;background:#edf7f5;color:#0f766e;font-weight:700;white-space:nowrap}.workflow-steps i{height:1px;background:#d7dce3}.workflow-table{min-width:920px}.workflow-data-center-table{min-width:1680px}.workflow-data-center-table th,.workflow-data-center-table td{height:38px;max-height:38px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.workflow-data-center-table td>*{max-width:100%}.workflow-data-center-table .workflow-record-link,.workflow-data-center-table .workflow-record-status{display:inline-flex;max-width:100%;align-items:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workflow-data-table-section{display:grid;gap:10px;margin-bottom:16px}.workflow-data-table-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px;border:1px solid rgba(208,219,235,.9);border-radius:8px;background:#f8fafc}.workflow-data-table-head h3{margin:0;color:#111827;font-size:15px;line-height:1.35}.workflow-data-table-head p{margin:4px 0 0;color:#64748b;font-size:12px;line-height:1.45}.workflow-data-table-head strong{min-width:max-content;color:#0f766e;font-size:13px}.workflow-recycle-bulk-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:10px 12px;border:1px solid rgba(191,219,254,.95);border-radius:8px;background:linear-gradient(180deg,#f8fbff,#eef6ff)}.workflow-recycle-bulk-toolbar>span{min-width:max-content;color:#475569;font-size:13px;font-weight:760}.workflow-recycle-bulk-toolbar em{color:#8a5a00;font-size:12px;font-style:normal}.workflow-data-center-table .selection-column,.workflow-data-center-table .selection-cell{width:48px;min-width:48px;text-align:center}.workflow-data-center-table .selection-column input,.workflow-data-center-table .selection-cell input{width:16px;height:16px}.workflow-data-table-wrap{margin-bottom:2px}.workflow-focused-detail-section{display:grid;gap:10px;padding-top:10px;border-top:1px solid #e2e8f0}.workflow-focused-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.workflow-focused-detail-head h3{margin:0;color:#111827;font-size:15px;line-height:1.35}.workflow-focused-detail-head p{margin:3px 0 0;color:#64748b;font-size:12px;line-height:1.45}.workflow-focused-detail-head span{min-width:max-content;color:#0f766e;font-size:12px;font-weight:760}.workflow-record-link{color:#0f766e;font-weight:700;text-decoration:none}.workflow-record-link:hover,.workflow-record-link:focus-visible{color:#0b5f59;text-decoration:underline;text-underline-offset:3px}.workflow-card-list{display:grid;gap:10px;min-width:0}.workflow-record-card{display:grid;gap:10px;min-width:0;padding:11px 12px;border:1px solid #d9e5f0;border-radius:8px;background:linear-gradient(180deg,#fff,#fbfdff);box-shadow:0 12px 30px #0f172a0d}.workflow-record-card.is-focused{border-color:#0f766e;box-shadow:0 0 0 3px #0f766e24,0 14px 34px #0f172a14}.workflow-record-head{display:flex;min-width:0;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:8px;border-bottom:1px solid #eef2f7}.workflow-record-eyebrow{display:block;color:#64748b;font-size:11px;font-weight:700}.workflow-record-head h3{margin:3px 0 0;color:#142033;font-size:16px;line-height:1.2;overflow-wrap:anywhere}.workflow-record-status{flex:0 0 auto;min-width:64px;padding:4px 10px;border:1px solid #c9eadf;border-radius:999px;background:#ecfdf5;color:#047857;font-size:12px;font-weight:800;text-align:center}.workflow-record-status.status-审批中{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}.workflow-record-status.status-待付款{border-color:#fde68a;background:#fffbeb;color:#b45309}.workflow-record-status.status-退回申请人{border-color:#fecaca;background:#fff1f2;color:#be123c}.workflow-record-status.status-已撤回,.workflow-record-status.status-已作废{border-color:#e2e8f0;background:#f8fafc;color:#64748b}.workflow-record-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:0}.workflow-record-summary div{min-width:0;padding:6px 8px;border:1px solid #edf1f6;border-radius:7px;background:#fbfcfe}.workflow-record-summary dt{margin:0 0 3px;color:#64748b;font-size:11px;font-weight:700}.workflow-record-summary dd{margin:0;color:#172033;font-size:12px;font-weight:650;line-height:1.35;overflow-wrap:anywhere}.workflow-record-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;min-width:0;align-items:start}.workflow-record-footer .workflow-timeline{border:1px solid #edf0f5;border-radius:8px;background:#fbfcff}.workflow-record-footer .workflow-actions{justify-content:flex-end;min-width:0;padding-top:2px}.workflow-record-footer .workflow-action-button{min-height:32px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 12px;border:1px solid #d8dee8;border-radius:6px;background:#fff;color:#243041;font-size:12px;font-weight:700;line-height:1;white-space:nowrap;box-shadow:0 1px #0f172a0a}.workflow-record-footer .workflow-action-button+.workflow-action-button{margin-left:6px}.workflow-record-footer .workflow-action-button:not(:disabled):hover{transform:translateY(-1px)}.workflow-record-footer .workflow-action-button:disabled{cursor:not-allowed;opacity:.44;box-shadow:none}.workflow-action-button--approve{border-color:#a7d8ce;background:#eaf8f5;color:#0f766e}.workflow-action-button--pay{border-color:#bdd2ff;background:#eef4ff;color:#1d4ed8}.workflow-action-button--neutral{border-color:#d8dee8;background:#f8fafc;color:#334155}.workflow-action-button--reject{border-color:#f2c48d;background:#fff7ed;color:#b45309}.workflow-action-button--void{border-color:#f1b4b4;background:#fff1f2;color:#be123c}@media(max-width:980px){.workflow-record-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.workflow-record-footer{grid-template-columns:1fr}.workflow-record-footer .workflow-actions{justify-content:flex-start}}@media(max-width:640px){.workflow-record-head{align-items:stretch;flex-direction:column}.workflow-record-status{align-self:flex-start}.workflow-record-summary{grid-template-columns:1fr}}.workflow-timeline-row td{background:#fbfcff;padding:0}.workflow-timeline{display:grid;gap:8px;padding:10px 12px;border-top:1px solid #edf0f5;color:#64748b;font-size:11px}.workflow-flow-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.workflow-flow-title strong{color:#0f766e;font-size:12px;letter-spacing:0}.workflow-flow-title span{color:#8a94a6;font-size:11px}.workflow-flow-main{display:grid;gap:8px;margin:0;padding:0 0 0 18px;list-style:none}.workflow-flow-main li{position:relative;min-width:0}.workflow-flow-main li:not(:last-child):after{content:"";position:absolute;top:27px;left:-10px;width:2px;height:calc(100% + 8px);background:#cbd5e1}.workflow-flow-node{position:relative;max-width:min(520px,100%);min-height:66px;display:grid;gap:4px;align-content:start;padding:8px 9px;border:1px solid #dbe4ef;border-radius:7px;background:#fff;color:#334155}.workflow-flow-node:before{content:"";position:absolute;top:21px;left:-15px;width:9px;height:9px;border:2px solid #93c5fd;border-radius:999px;background:#fff}.workflow-flow-node.done{border-color:#0f766e57;background:#f1fbf7}.workflow-flow-node.active{border-color:#f59e0b61;background:#fff8e8}.workflow-flow-node.pending{border-color:#dc262647;background:#fff5f5}.workflow-flow-node.branch{border-color:#3669ff42;background:#f4f8ff}.workflow-flow-dot{flex:0 0 auto;width:8px;height:8px;border-radius:999px;background:#94a3b8;box-shadow:0 0 0 3px #94a3b824}.workflow-flow-node.done .workflow-flow-dot{background:#0f766e;box-shadow:0 0 0 3px #0f766e29}.workflow-flow-node.active .workflow-flow-dot{background:#f59e0b;box-shadow:0 0 0 3px #f59e0b2e}.workflow-flow-node.pending .workflow-flow-dot{background:#dc2626;box-shadow:0 0 0 3px #dc262624}.workflow-flow-node.branch .workflow-flow-dot{background:#3669ff;box-shadow:0 0 0 3px #3669ff24}.workflow-flow-node-head{display:flex;align-items:center;gap:6px;min-width:0}.workflow-flow-label{color:#172033;font-weight:780;overflow-wrap:anywhere;white-space:normal}.workflow-flow-node strong{margin-left:auto;padding:1px 6px;border-radius:999px;background:#eef2f7;color:#475569;font-size:10px;white-space:nowrap}.workflow-flow-node.done strong{background:#dff7ec;color:#047857}.workflow-flow-node.active strong{background:#fff0c2;color:#a15c00}.workflow-flow-node.pending strong{background:#ffe4e6;color:#b91c1c}.workflow-flow-node.branch strong{background:#e4edff;color:#1d4ed8}.workflow-flow-node p,.workflow-flow-node time,.workflow-flow-node em{margin:0;color:#475569;font-size:10px;line-height:1.35}.workflow-flow-details{display:grid;gap:2px;margin:0}.workflow-flow-details div{display:flex;gap:0;min-width:0;color:#475569;font-size:10px;line-height:1.35}.workflow-flow-details dt{flex:0 0 auto;margin:0;color:#64748b;font-weight:700}.workflow-flow-details dd{min-width:0;margin:0;color:#172033;overflow-wrap:anywhere}.workflow-list-footer{margin-top:10px}.workflow-flow-meta{display:grid;gap:6px;min-width:0}.workflow-flow-meta span{min-width:0;overflow-wrap:anywhere;white-space:normal}.workflow-flow-node time{color:#172033;white-space:normal}.workflow-flow-node em{color:#64748b;font-style:normal;overflow-wrap:anywhere;white-space:normal}.workflow-flow-branch{position:relative;width:min(280px,100%);margin-left:18px;padding:10px 0 0 24px}.workflow-branch-line{position:absolute;top:-5px;left:0;width:20px;height:30px;border-left:2px solid #bcd0f7;border-bottom:2px solid #bcd0f7}.workflow-actions{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px}.expense-approval-card{padding:18px}.approval-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.plain-label small{color:#8a94a6;font-size:11px;line-height:1.35}.approval-subtable-block{margin:16px 0;padding-top:14px;border-top:1px solid #edf0f5}.approval-section-label{margin-bottom:8px;color:#243041;font-size:13px;font-weight:760}.approval-detail-table{min-width:960px;border:1px solid #e3e7ee;border-radius:8px;overflow:hidden}.approval-detail-table th{background:#f4f7fb;color:#475569;font-weight:760}.approval-detail-table th:first-child,.approval-detail-table td:first-child{width:42px;color:#697586;text-align:center}.approval-detail-table select,.approval-detail-table input{min-height:34px}.approval-inline-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px}.approval-inline-actions span{margin-left:auto;color:#172033;font-size:13px;font-weight:760}.table-action.accent{border-color:#0f766e6b;background:#edf7f5;color:#0f766e}.approval-priority{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:14px 0 16px;padding:0;border:0}.approval-priority legend{width:100%;margin-bottom:2px;color:#243041;font-size:13px;font-weight:760}.approval-priority label{display:inline-flex;min-height:32px;align-items:center;gap:7px;padding:0 10px;border:1px solid #e3e7ee;border-radius:999px;background:#fff;color:#475569;font-size:12px}.approval-submit-row{display:flex;flex-wrap:wrap;gap:10px}.workflow-data-center-table{min-width:1380px}.table-action{min-height:28px;display:inline-flex;align-items:center;justify-content:center;padding:0 8px;border:1px solid #d7dce3;border-radius:6px;background:#fff;color:#243041;font-size:12px;line-height:1;white-space:nowrap}.table-action+.table-action{margin-left:6px}.table-action:not(:disabled):hover{border-color:#0f9d8f;color:#0f766e}.table-action.danger:not(:disabled):hover{border-color:#ef4444;color:#b42318}.table-action:disabled{cursor:not-allowed;opacity:.45}.template-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;max-height:min(420px,52vh);overflow:auto;padding-right:2px}.template-download-panel.is-collapsed{align-self:start}.template-item{min-height:48px;display:flex;justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:8px 10px;border:1px solid #e3e7ee;border-radius:7px;background:#fbfcff;color:#243041;text-align:left}.template-item span{min-width:0;overflow-wrap:anywhere;font-size:13px;font-weight:720;line-height:1.25}.template-item strong{flex:0 0 auto;color:#0f766e;font-size:12px}.drop-zone{min-height:320px;display:grid;justify-items:stretch;align-content:center;gap:10px;padding:18px;border:1px dashed #adc8d9;border-radius:8px;background:linear-gradient(180deg,#0f766e12,#3669ff0a),#f8fafc;text-align:left}.drop-zone>strong{color:#142033;font-size:17px}.drop-zone select,.drop-zone input[type=file]{width:100%;min-width:0}.drop-zone .form-message{margin-top:0}.drop-zone p,.empty-note{margin:0;color:#697586;font-size:13px}.link-button{border:0;background:transparent;color:#0f766e;font-size:12px;font-weight:700}.link-button.danger{color:#b42318}.site-cost-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.site-cost-summary article{min-height:86px;padding:14px;border:1px solid #e3e7ee;border-radius:8px;background:#fff}.site-cost-summary span{display:block;color:#697586;font-size:12px}.site-cost-summary strong{display:block;margin-top:10px;color:#111827;font-size:20px;letter-spacing:0}.site-payables-panel{padding:0}.site-payable-pending{font-weight:760}.site-payable-card-stack{display:grid;gap:8px}.site-payable-supplier-jumpbar{display:flex;align-items:flex-start;gap:8px;padding:8px;border:1px solid #edf0f5;border-radius:4px;background:#fff}.site-payable-supplier-jumpbar>span{flex:0 0 auto;color:#64748b;font-size:12px;font-weight:760;line-height:24px}.site-payable-supplier-jumpbar>div{display:flex;flex:1;flex-wrap:wrap;gap:6px;min-width:0}.site-payable-supplier-jumpbar .ant-btn{max-width:180px}.site-payable-supplier-jumpbar .ant-btn>span{overflow:hidden;text-overflow:ellipsis}.site-payable-supplier-jumpbar .ant-btn.is-active{border-color:#10b981;color:#047857}.site-payable-supplier-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 2px;background:transparent}.site-payable-supplier-title{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;min-width:0;color:#334155;font-size:12px}.site-payable-supplier-identity{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px 10px;min-width:0}.site-payable-supplier-title strong{color:#111827;font-size:13px}.site-payable-account-strip{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px;min-width:0}.site-payable-account-strip span{max-width:240px;overflow:hidden;padding:3px 8px;border:1px solid #d7e3f0;border-radius:6px;background:#f4f8fc;color:#475569;font-size:11px;font-weight:720;text-overflow:ellipsis;white-space:nowrap}.site-payable-supplier-totals{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px}.site-payable-supplier-totals span{padding:3px 8px;border:1px solid #e3e8ef;border-radius:6px;background:#fff;color:#334155;font-size:11px;font-weight:780;white-space:nowrap}.site-payable-supplier-actions{display:inline-flex;gap:4px;opacity:0;pointer-events:none;transition:opacity .15s ease}.site-payable-supplier-header:hover .site-payable-supplier-actions,.site-payable-supplier-actions:focus-within{opacity:1;pointer-events:auto}.icon-button.ghost{width:28px;height:28px;display:inline-grid;place-items:center;border:1px solid transparent;background:transparent;color:#475569;border-radius:6px;cursor:pointer}.icon-button.ghost:hover{border-color:#cbd8e6;background:#f8fafc;color:#0f172a}.icon-button.ghost.danger{color:#b42318}.icon-button.ghost svg{width:16px;height:16px}.site-payable-all-total{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;padding:10px 12px;border:1px solid #cbd8e6;border-radius:6px;background:#f8fafc;color:#334155}.site-payable-ledger-wrap{border:0;border-radius:0}.site-payable-ledger{min-width:1180px}.site-payable-ledger th,.site-payable-ledger td{vertical-align:middle}.site-payable-ledger .site-payable-supplier-row>td,.site-payable-ledger td.site-payable-supplier-card{height:30px;border-top:1px solid #cbd8e6;border-right:1px solid #edf0f5;border-bottom:1px solid #edf0f5;border-left:0;border-radius:0;background:#fff;overflow:visible}.site-payable-ledger .site-payable-supplier-row:first-child>td,.site-payable-ledger tbody tr:first-child td.site-payable-supplier-card{border-top:0}.site-payable-ledger th{color:#1f2937;font-weight:680;word-break:keep-all}.site-payable-ledger th.debt-zone,.site-payable-ledger td.debt-zone{background:#f4fbff}.site-payable-ledger th.repayment-zone,.site-payable-ledger td.repayment-zone{background:#f6fff8}.site-payable-ledger td.num{text-align:right;font-variant-numeric:tabular-nums}.site-payable-row-highlight{box-shadow:inset 0 0 0 2px #10b981}.site-payable-row-highlight>td{box-shadow:inset 0 0 0 2px #10b981}.site-payable-ledger td.site-payable-part-highlight{box-shadow:inset 0 0 0 2px #10b981}.site-payable-total-row td{border-top:2px solid #d6a938;background:#fff7d6;color:#3d2c05;font-weight:760}.site-payable-total-row td.debt-zone,.site-payable-total-row td.repayment-zone,.site-payable-total-row td:first-child{background:#fff7d6}.site-payable-total-row .site-payable-pending{background:#ffec99;color:#2f2100}.site-payable-empty{color:#697586;text-align:center!important;white-space:normal!important}.site-payable-part-actions{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.site-payable-part-selection-actions{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.site-payable-part-actions .link-button{font-size:12px}.amount-link-button{display:inline;min-height:0;padding:0;border:0;background:transparent;color:#0f766e;font:inherit;font-weight:800;font-variant-numeric:tabular-nums;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.amount-link-button:hover{color:#0b5f59}.ant-modal.site-payable-modal{width:min(980px,calc(100vw - 32px))!important;top:0;max-height:min(720px,calc(100dvh - 48px));overflow:hidden;padding-bottom:0}.ant-modal.site-payable-modal.site-payable-debt-modal{height:min(720px,calc(100dvh - 48px))}.ant-modal.site-payable-modal .ant-modal-container,.ant-modal.site-payable-modal .ant-modal-content{max-height:inherit;display:flex;flex-direction:column;overflow:hidden}.ant-modal.site-payable-modal.site-payable-debt-modal .ant-modal-container,.ant-modal.site-payable-modal.site-payable-debt-modal .ant-modal-content{height:100%}.ant-modal.site-payable-modal .ant-modal-body{min-height:0;flex:1 1 auto;overflow:auto;-webkit-overflow-scrolling:touch}.ant-modal.site-payable-modal .ant-modal-footer{flex:0 0 auto;padding:8px 16px max(10px,env(safe-area-inset-bottom))}.site-payable-debt-form{display:grid;grid-template-columns:1fr;gap:0;padding:10px 8px 0}.site-payable-debt-form .ant-form-item{margin-bottom:0}.site-payable-debt-form .ant-form-item-label{padding-bottom:4px;line-height:1.25}.site-payable-debt-form .ant-input,.site-payable-debt-form .ant-input-affix-wrapper,.site-payable-debt-form .ant-select-selector{min-height:32px;border-radius:6px;font-size:13px}.site-payable-debt-form .ant-input:not(textarea),.site-payable-debt-form .ant-input-affix-wrapper,.site-payable-debt-form .ant-select-selector{height:32px}.site-payable-debt-form textarea.ant-input{min-height:72px;height:auto;padding-top:8px;line-height:1.45}.site-payable-debt-form .site-payable-debt-top-fields{grid-template-columns:minmax(180px,1fr) minmax(170px,1fr) minmax(180px,1fr)}.site-payable-debt-form .category-fields{grid-template-columns:minmax(180px,220px)}.site-payable-debt-form .bottom-grid{grid-template-columns:minmax(180px,220px) minmax(180px,220px)}.site-payable-debt-form .form-line-table .item-row>.ant-form-item{min-width:0;border-right:1px solid #e1e6ee}.site-payable-debt-form .form-line-table .item-row>.ant-form-item:last-child{border-right:0}.site-payable-debt-form .form-line-table .ant-form-item-control-input{min-height:32px}.site-payable-debt-form .form-line-table .ant-input,.site-payable-debt-form .form-line-table .ant-select-selector{height:32px;min-height:32px;border-radius:0}.site-payable-debt-form .attachment-grid{grid-column:1 / -1}.site-payable-debt-form .ant-input-number{width:100%}.site-payable-remark-field{grid-column:1 / -1}.site-payable-remark-link{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px;max-width:100%}.site-payable-remark-link>span{overflow:hidden;max-width:260px;text-overflow:ellipsis;white-space:nowrap}.site-filter{align-items:end}.site-data-shell{min-width:0;gap:0;overflow:hidden;border:1px solid #e6eaf0;border-radius:8px;background:#fff}.site-data-header{min-height:52px;display:grid;grid-template-columns:minmax(210px,.85fr) minmax(340px,1.1fr) auto;align-items:center;gap:12px;padding:0 14px;border-bottom:1px solid #edf0f5;background:#f7f8fb}.site-data-title{display:flex;align-items:center;gap:9px;min-width:0}.site-back-icon{width:26px;height:26px;display:grid;place-items:center;border-radius:7px;color:#667085;font-size:24px}.site-data-title h2{margin:0;color:#1f2937;font-size:15px}.site-data-title p{margin:2px 0 0;color:#8a94a6;font-size:11px}.site-design-tabs{height:100%;display:flex;justify-content:center;gap:6px}.site-design-tabs button{min-width:82px;border:0;border-bottom:2px solid transparent;background:transparent;color:#475569;font-size:13px}.site-design-tabs button.active{border-bottom-color:#14b8a6;color:#0f766e;font-weight:760}.site-data-avatar{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#f59e0b;color:#fff;font-size:12px;font-weight:760}.site-cost-tabs.compact{position:relative;align-items:flex-end;flex-wrap:nowrap;gap:3px;padding:6px 10px 0;border-bottom:1px solid #d8e4ee;background:linear-gradient(180deg,#f8fbff,#eef5fb);box-shadow:inset 0 -1px #fff;overflow-x:auto}.site-cost-tabs.compact button{position:relative;min-height:36px;padding:0 16px;border:1px solid #d7e3ee;border-bottom:0;border-radius:8px 8px 0 0;background:linear-gradient(180deg,#f9fbff,#edf3f8);box-shadow:inset 0 1px #ffffffdb;color:#42526a;white-space:nowrap;transition:background .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease}.site-cost-tabs.compact button:hover{background:linear-gradient(180deg,#fff,#f4f8fb);color:#0f766e}.site-cost-tabs.compact button.active{z-index:2;border-color:#d7e3ee;background:#fff;box-shadow:0 -2px 8px #0f172a14;color:#04776f;transform:translateY(1px)}.site-cost-tabs.compact button.active:after{position:absolute;right:0;bottom:-1px;left:0;height:2px;background:#fff;content:""}.site-data-toolbar{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;border-bottom:1px solid #edf0f5;background:#fff}.site-toolbar-left,.site-toolbar-right{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.site-toolbar-right{justify-content:flex-end}.toolbar-button,.toolbar-icon{min-height:30px;border:0;border-radius:6px;background:transparent;color:#344054;font-size:12px}.pixel-icon{width:18px;height:18px;display:inline-block;flex:0 0 auto}.toolbar-button .pixel-icon{width:14px;height:14px}.toolbar-icon,.icon-btn{display:inline-grid;place-items:center}.toolbar-icon .pixel-icon,.icon-btn .pixel-icon{width:15px;height:15px}.add-line{display:inline-flex;align-items:center;justify-content:center;gap:4px}.add-line .pixel-icon{width:13px;height:13px}.toolbar-button{display:inline-flex;align-items:center;gap:4px;padding:0 7px}.toolbar-button:hover,.toolbar-icon:hover{background:#f2f4f7}.toolbar-button.primary{padding:0 10px;background:#14b8a6;color:#fff;font-weight:760}.toolbar-button.primary:hover{background:#0f9f93}.toolbar-button.data-action{position:relative;overflow:hidden;min-width:54px;border:1px solid #b7e7df;background:linear-gradient(180deg,#f0fdfa,#e5f7f4);color:#0f766e;font-weight:760}.toolbar-button.data-action.export{border-color:#c7d7fe;background:linear-gradient(180deg,#f6f8ff,#edf2ff);color:#3154a3}.toolbar-button.data-action:hover{background:#dff7f1}.toolbar-button.data-action.export:hover{background:#e5ecff}.toolbar-button.recycle-toggle{border:1px solid #cfd7e3;background:#fff}.toolbar-button.recycle-toggle.active{border-color:#f6c56f;background:#fff7e6;color:#9a5200;font-weight:760}.toolbar-button.recycle-toggle.active:hover{background:#ffefd0}.toolbar-button.permanent-delete-confirm{border-color:#fecaca;background:#fff1f2;color:#b42318;font-weight:760}.toolbar-button.permanent-delete-confirm:hover{border-color:#b42318;background:#b42318;color:#fff}.toolbar-button.restore-confirm,.table-action.restore,.link-button.restore{border-color:#b9e7dc;background:#f0fdfa;color:#0f766e;font-weight:760}.toolbar-button.restore-confirm:hover,.table-action.restore:hover,.link-button.restore:hover{border-color:#0f766e;background:#dff7f1}.toolbar-button:disabled,.toolbar-icon:disabled{cursor:not-allowed;opacity:.42}.toolbar-icon{width:30px;padding:0}.toolbar-icon[aria-pressed=true],.toolbar-icon[aria-expanded=true]{background:#edf7f5;color:#0f766e;font-weight:760}.toolbar-panel{display:grid;gap:10px;padding:12px 14px;border-bottom:1px solid #edf0f5;background:#fbfcfe}.toolbar-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#172033;font-size:13px}.toolbar-panel-head>div{min-width:0;display:inline-grid;gap:2px}.toolbar-panel-head span{color:#697586;font-size:12px}.field-panel-close{min-height:28px;flex:0 0 auto;border:1px solid #dbe3ee;border-radius:6px;background:#fff;color:#475569;font-size:12px;font-weight:680;padding:0 8px}.field-panel-close:hover,.field-panel-close:focus-visible{border-color:#b7e7df;background:#f0fdfa;color:#0f766e}.field-chip-grid{display:flex;flex-wrap:wrap;gap:8px}.field-chip-list{align-items:center}.field-panel-actions{display:flex;flex-wrap:wrap;gap:8px}.field-panel-actions .ant-btn{min-height:28px;border-radius:6px;font-size:12px;font-weight:680}.field-panel-meta{min-height:32px;display:inline-flex;width:fit-content;align-items:center;gap:10px;padding:0 10px;border:1px solid #dbe8f6;border-radius:7px;background:#f6fbff;color:#5d6b82;font-size:12px}.field-panel-meta strong{color:#0f766e;font-size:12px}.field-chip{min-height:30px;display:inline-flex;align-items:center;padding:0 9px;border:1px solid #dbe3ee;border-radius:7px;background:#fff;color:#344054;font-size:12px;line-height:1}.field-column-toggle{gap:6px;margin-inline-start:0}.field-column-toggle .ant-checkbox+span{padding-inline-start:0;padding-inline-end:0}.site-search{min-width:220px;height:30px;display:flex;align-items:center;gap:6px;padding:0 10px;border:1px solid #d7dce3;border-radius:7px;background:#fff;color:#98a2b3}.site-search input{width:100%;min-width:0;border:0;outline:0;color:#172033}.site-filter.compact{grid-template-columns:repeat(6,minmax(104px,1fr)) auto;gap:6px;padding:6px 10px}.site-filter.compact label{gap:3px;font-size:11px}.site-filter.compact input,.site-filter.compact select{min-height:28px;padding-inline:8px;font-size:12px}.site-filter.compact .btn{min-height:30px;padding:0 9px}.site-cost-summary.compact{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-bottom:1px solid #edf0f5}.site-cost-summary.compact.has-filter-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.site-cost-summary.compact article{min-height:38px;display:grid;align-content:center;padding:6px 10px;border-width:0 1px 0 0;border-radius:0;box-shadow:none}.site-cost-summary.compact span{font-size:11px}.site-cost-summary.compact strong{margin-top:2px;font-size:13px}.site-cost-summary.compact .is-filter-summary strong{color:var(--airtable-link)}.site-data-body{min-width:0;display:grid;gap:0}.site-editor-panel{margin:12px 14px;box-shadow:none}.editor-modal-backdrop{position:fixed;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:24px;background:#0f172a2e}.editor-modal-backdrop .ant-modal-wrap{display:flex;align-items:center;justify-content:center;overflow:auto;padding:24px;box-sizing:border-box}.editor-modal-backdrop .site-editor-panel{top:0;width:min(920px,100%);max-height:min(82dvh,720px);display:flex;flex-direction:column;margin:0;overflow:hidden;border:1px solid #dfe5ee;border-radius:8px;background:#fff;box-shadow:0 24px 64px #0f172a38}.editor-modal-backdrop .site-editor-panel .ant-modal-container,.editor-modal-backdrop .site-editor-panel .ant-modal-content{max-height:inherit;display:flex;flex-direction:column;overflow:hidden}.editor-modal-backdrop .site-editor-panel .ant-modal-body{min-height:0;display:flex;flex:1 1 auto;flex-direction:column;overflow:hidden}.editor-modal-backdrop .profile-password-panel{width:min(460px,calc(100vw - 32px));max-height:calc(100dvh - 32px);display:flex;flex-direction:column;margin:0;overflow:hidden;border:1px solid #dfe5ee;border-radius:8px;background:#fff;box-shadow:0 24px 64px #0f172a38}.profile-password-form{grid-template-columns:1fr}.password-field-wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;overflow:hidden;border:1px solid #d9e2ef;border-radius:9px;background:#fff}.password-field-wrap:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.password-field-wrap input{min-width:0;border:0;border-radius:0;box-shadow:none}.password-field-wrap input:focus{outline:0;box-shadow:none}.password-visibility-toggle{min-width:54px;padding:0 12px;border:0;border-left:1px solid #e2e8f0;background:#f8fafc;color:#2563eb;font-size:12px;font-weight:800;cursor:pointer}.password-visibility-toggle:hover{background:#eff6ff}.editor-modal-backdrop .profile-password-panel .form-modal-body{min-height:0;overflow:auto;padding-bottom:12px}.editor-modal-backdrop .profile-password-panel .form-modal-footer{position:static;flex:0 0 auto;padding-bottom:max(10px,env(safe-area-inset-bottom))}.editor-modal-backdrop .site-editor-panel.expanded{width:min(1080px,calc(100vw - 48px));max-height:calc(100dvh - 48px)}.editor-modal-backdrop .site-record-editor-panel{width:min(560px,calc(100vw - 32px))!important;max-width:calc(100vw - 32px);max-height:min(80dvh,640px)}.form-modal-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-16px -16px 0;padding:10px 14px;border-bottom:1px solid #e6ebf2;background:#fff}.form-modal-head h2{margin:0;color:#172033;font-size:16px;letter-spacing:0}.form-modal-tools{display:inline-flex;align-items:center;gap:4px}.icon-btn{width:32px;height:32px;display:inline-grid;place-items:center;border:1px solid #d7dce3;border-radius:7px;background:#fff;color:#4b5565;font-size:16px;line-height:1;cursor:pointer}.icon-btn:hover{border-color:#aab6c8;background:#f8fafc;color:#172033}.form-modal-body{min-height:0;display:grid;flex:1 1 auto;gap:0;overflow:auto;padding:12px 8px 0;-webkit-overflow-scrolling:touch}.editor-modal-backdrop .site-editor-panel .form-modal-head{flex:0 0 auto}.editor-modal-backdrop .site-editor-panel .form-modal-body{min-height:0;flex:1 1 auto;overflow:auto;overscroll-behavior:contain;padding-bottom:12px;-webkit-overflow-scrolling:touch}.editor-modal-backdrop .site-record-editor-panel .form-modal-body{min-height:0;overflow:auto;padding:12px 14px 4px;-webkit-overflow-scrolling:touch}.editor-modal-backdrop .site-record-editor-panel .compact-form{grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));gap:8px 12px}.editor-modal-backdrop .site-editor-panel .compact-form{gap:8px 12px}.editor-modal-backdrop .site-editor-panel .ant-input,.editor-modal-backdrop .site-editor-panel .ant-input-affix-wrapper,.editor-modal-backdrop .site-editor-panel .antd-compat-select-control{min-height:32px;border-radius:6px;font-size:13px}.editor-modal-backdrop .site-editor-panel .ant-input:not(textarea),.editor-modal-backdrop .site-editor-panel .antd-compat-select-control{height:32px}.editor-modal-backdrop .site-editor-panel textarea.ant-input{min-height:72px;height:auto;padding-top:8px;line-height:1.45}.import-modal-backdrop{position:fixed;inset:0;z-index:35;display:flex;align-items:center;justify-content:center;padding:20px;background:#0f172a47}.import-modal-panel{width:min(760px,calc(100vw - 32px));max-height:min(86dvh,760px);display:flex;flex-direction:column;overflow:hidden;border:1px solid #dce4ef;border-radius:8px;background:#fff;box-shadow:0 24px 64px #0f172a3d}.import-modal-panel.has-reports{width:min(1120px,calc(100vw - 32px))}.import-modal-panel.expanded{width:min(1040px,calc(100vw - 32px));max-height:calc(100dvh - 32px)}.import-modal-panel.expanded.has-reports{width:min(1280px,calc(100vw - 32px))}.import-modal-panel.is-empty,.import-modal-panel.expanded.is-empty{width:min(760px,calc(100vw - 32px))}.import-modal-head{position:static;flex:0 0 auto;margin:0;padding:12px 16px}.import-modal-body{min-height:0;flex:1 1 auto;display:grid;gap:12px;overflow:auto;padding:16px;-webkit-overflow-scrolling:touch}.import-modal-body.is-empty{grid-template-columns:minmax(0,760px);justify-content:center}.import-modal-body.has-reports{grid-template-columns:minmax(0,1fr) minmax(320px,.58fr);align-items:start;overflow:hidden}.import-dialog-main{min-width:0;min-height:0;display:grid;align-content:start;gap:12px}.import-modal-body.has-reports .import-dialog-main{overflow:auto;padding-right:2px;-webkit-overflow-scrolling:touch}.import-stepper{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:0;padding:0;list-style:none}.import-stepper li{position:relative;display:grid;gap:4px;justify-items:center;color:#697586;font-size:12px;text-align:center}.import-stepper li:not(:last-child):after{content:"";position:absolute;top:12px;left:calc(50% + 18px);right:calc(-50% + 18px);height:1px;background:#dce4ef}.import-stepper span{position:relative;z-index:1;width:22px;height:22px;display:grid;place-items:center;border:1px solid #d4dbe7;border-radius:50%;background:#f8fafc;color:#697586;font-size:12px;font-weight:760}.import-stepper strong{font-size:12px;font-weight:720}.import-stepper li.active{color:#0f766e}.import-stepper li.active span{border-color:#0f766e;background:#0f766e;color:#fff}.import-dialog-controls,.import-option-grid{display:grid;gap:8px}.import-dialog-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end}.import-option-grid{width:min(100%,520px);grid-template-columns:minmax(0,1fr) auto;align-items:end}.import-dialog-controls label,.import-option-grid label{display:grid;gap:6px;color:#697586;font-size:12px;text-align:left}.import-dialog-controls select,.import-option-grid select{min-height:34px;padding:0 9px;border:1px solid #d7dce3;border-radius:7px;background:#fff;color:#172033}.import-validate-toggle{min-height:34px;display:inline-flex!important;grid-template-columns:auto 1fr;align-items:center;gap:7px!important;padding:0 10px;border:1px solid #d7dce3;border-radius:7px;background:#fff;color:#243041!important;white-space:nowrap}.import-validate-toggle input{width:15px;height:15px;margin:0;accent-color:#0f766e}.import-dialog-target-hint{margin:-3px 0 0}.import-dialog-template-rail{display:grid;gap:6px;padding:7px 9px;border:1px solid #e3e7ee;border-radius:8px;background:#fbfcfe}.import-dialog-template-rail>span{color:#697586;font-size:12px;font-weight:720}.import-dialog-template-rail>div{display:flex;flex-wrap:wrap;gap:6px}.import-dialog-template-rail button{min-height:28px;max-width:220px;display:inline-flex;align-items:center;gap:8px;padding:0 9px;border:1px solid #d7dce3;border-radius:7px;background:#fff;color:#344054;font-size:12px}.import-dialog-template-rail button:disabled{cursor:not-allowed;opacity:.55}.import-dialog-template-rail button span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.import-dialog-template-rail button strong{flex:0 0 auto;color:#0f766e;font-size:12px}.import-dialog-tips{display:grid;gap:4px;margin:0;padding:8px 10px 8px 24px;border:1px solid #e3e7ee;border-radius:8px;background:#f8fafc;color:#4b5565;font-size:12px;line-height:1.5}.import-drop-zone{position:relative;min-height:118px;display:grid;place-items:center;align-content:center;gap:7px;padding:14px;border:1px dashed #a9b7ca;border-radius:8px;background:#fbfcfe;color:#4b5565;text-align:center;cursor:pointer}.import-drop-zone:hover{border-color:#0f766e;background:#f6fffb}.import-drop-zone.disabled{cursor:not-allowed;opacity:.55}.import-drop-zone input[type=file]{position:absolute;inset:-1px;width:calc(100% + 2px);overflow:hidden;opacity:0;cursor:inherit}.import-upload-mark{width:34px;height:34px;display:grid;place-items:center;border:1px solid #b9e7dc;border-radius:50%;background:#ecfdf7}.import-upload-mark:before{content:"";width:14px;height:14px;border-top:3px solid #0f766e;border-left:3px solid #0f766e;transform:rotate(45deg) translate(2px,2px)}.import-drop-zone strong{color:#172033;font-size:14px}.import-drop-zone span:last-child{color:#697586;font-size:12px}.import-dialog-reports{max-height:260px;overflow:auto;padding-right:2px}.import-modal-body.has-reports .import-dialog-reports{min-width:0;min-height:0;max-height:none;align-content:start;gap:8px;overflow:auto;padding:10px;border:1px solid #e3e7ee;border-radius:8px;background:#f8fafc;-webkit-overflow-scrolling:touch}.import-report-side-title{position:sticky;top:-10px;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:34px;margin:-10px -10px 0;padding:8px 10px;border-bottom:1px solid #e3e7ee;background:#f8fafcf5}.import-report-side-title strong{color:#172033;font-size:13px}.import-report-side-title span{color:#697586;font-size:12px;font-weight:700}.form-section{padding:12px 0 14px;border-bottom:1px solid #e4e9f1}.form-section:first-child{padding-top:4px}.form-section:last-child{border-bottom:0}.top-fields{grid-template-columns:180px 1fr;column-gap:16px;align-items:start}.category-fields{grid-template-columns:180px}.bottom-grid{grid-template-columns:180px 180px;column-gap:16px}.remark-grid{margin-top:10px;grid-template-columns:1fr}.form-label{color:#172033;font-weight:680}.required:before,.required-mark{content:"*";color:#ef4444;font-weight:760}.field-help{max-width:260px;color:#8a94a6;font-size:11px;line-height:1.45}.form-section-title{margin:0 0 8px;color:#172033;font-size:13px;font-weight:760}.form-line-table{gap:0;overflow-x:auto;border:1px solid #e1e6ee;border-radius:7px}.form-line-table .item-row{min-width:700px;grid-template-columns:56px 1fr 1.4fr 1fr 1fr 1fr;gap:0}.form-line-table .item-row-head{min-height:32px;align-items:center;background:#f3f6fa;color:#475569;font-size:12px;font-weight:680}.form-line-table .item-row>span,.form-line-table .item-row>input,.form-line-table .item-row>select{border-right:1px solid #e1e6ee}.form-line-table .item-row>:last-child{border-right:0}.form-line-table input,.form-line-table select{height:32px;border:0;border-radius:0;background:#fff}.line-index{display:grid;place-items:center;color:#667085;background:#fbfcfe;font-size:12px}.line-actions{display:flex;gap:8px;margin-top:8px}.add-line{color:#0f9f93}.attachment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:12px}.file-picker{display:grid;gap:8px}.file-drop{position:relative;min-height:40px;display:flex;align-items:center;gap:10px;overflow:hidden;padding:8px 10px;border:1px dashed #ccd6e5;border-radius:7px;background:#fbfcff;color:#6a7485;cursor:pointer}.file-drop:hover{border-color:#0f9f93;background:#f3fbfa}.file-drop strong{color:#0f9f93;font-size:12px}.file-drop span{min-width:0;overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.file-drop input{position:absolute;inset:0;opacity:0;cursor:pointer}.file-list{display:grid;gap:6px;margin:0;padding:0;list-style:none}.file-list li{min-height:28px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 8px;border:1px solid #e2e8f0;border-radius:7px;background:#fff;color:#344054;font-size:12px}.file-list span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quick-fill-backdrop{position:fixed;inset:0;z-index:1300;overflow:hidden;background:#0f172a5c;overscroll-behavior:contain}.quick-fill-backdrop .ant-modal-root{position:absolute;inset:0}.quick-fill-backdrop .ant-modal-wrap{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;overflow:auto;padding:24px;box-sizing:border-box;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.quick-fill-dialog{top:auto;width:min(720px,calc(100vw - 48px));max-height:min(640px,calc(100dvh - 48px));display:flex;flex-direction:column;margin:0;overflow:hidden;padding-bottom:0;border:1px solid #dfe5ee;border-radius:8px;background:#fff;box-shadow:0 28px 70px #0f172a47}.quick-fill-dialog .ant-modal-render,.quick-fill-dialog .ant-modal-container,.quick-fill-dialog .ant-modal-content{max-height:inherit;min-height:0;display:flex;flex-direction:column;overflow:hidden}.quick-fill-dialog .ant-modal-body{min-height:0;flex:1 1 auto;display:flex;flex-direction:column;overflow:hidden;padding:0}.quick-fill-dialog .form-modal-head{margin:0;padding:10px 14px;border-bottom:1px solid #e6ebf2}.quick-fill-body{display:grid;gap:12px;min-height:0;overflow:auto;padding:12px 14px 14px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.quick-fill-mode{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin:0;padding:0;border:0;color:#344054;font-size:12px}.quick-fill-mode legend{float:left;margin-right:4px;color:#172033;font-weight:680}.quick-fill-mode label{display:inline-flex;align-items:center;gap:6px}.quick-fill-mode .muted{color:#98a2b3}.quick-fill-tips{display:grid;gap:4px;margin:0;padding:0 0 0 18px;color:#5f6b7a;font-size:12px;line-height:1.55}.quick-fill-sheet{overflow:auto;border:1px solid #e1e6ee;border-radius:7px;background:#fff;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.quick-fill-row{min-width:680px;display:grid;grid-template-columns:46px 1.1fr 1.35fr 1fr 1fr 1fr}.quick-fill-row>span,.quick-fill-row input{min-height:32px;border-right:1px solid #e1e6ee;border-bottom:1px solid #e1e6ee}.quick-fill-row>:last-child{border-right:0}.quick-fill-row:last-child>span,.quick-fill-row:last-child input{border-bottom:0}.quick-fill-head{background:#f3f6fa;color:#475569;font-size:12px;font-weight:700}.quick-fill-head span{display:flex;align-items:center;padding:0 10px}.quick-fill-row input{width:100%;border-top:0;border-left:0;border-radius:0;background:#fff}.quick-fill-row input:focus{position:relative;z-index:1;box-shadow:inset 0 0 0 2px #12b3a7}.quick-fill-footer{justify-content:flex-end}.form-modal-footer{position:sticky;bottom:0;margin:0 -16px -16px;padding:10px 18px;padding-bottom:max(10px,env(safe-area-inset-bottom));border-top:1px solid #e6ebf2;background:#fff}.editor-modal-backdrop .site-editor-panel .form-modal-footer{position:static;flex:0 0 auto;min-height:56px;margin:12px -16px 0;padding-bottom:max(10px,env(safe-area-inset-bottom))}.editor-modal-backdrop .site-record-editor-panel .form-modal-footer{flex:0 0 auto;margin:12px 0 0}.form-modal-footer .btn.primary{min-width:110px}.form-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:8px 12px;padding-bottom:max(8px,env(safe-area-inset-bottom))}.form-modal-footer .btn.primary{min-width:92px}.approval-submit-row .btn{min-height:32px}.user-list button{min-height:34px;align-items:center;padding:6px 8px;border-radius:6px}.ant-modal.finance-editor-panel{width:min(900px,calc(100vw - 32px))!important;max-width:calc(100vw - 32px);top:0;max-height:min(720px,calc(100dvh - 48px));padding-bottom:0;display:flex;flex-direction:column;overflow:hidden}.ant-modal.finance-editor-panel .ant-modal-container,.ant-modal.finance-editor-panel .ant-modal-content{max-height:inherit;display:flex;flex-direction:column;overflow:hidden}.ant-modal.finance-editor-panel .ant-modal-body{min-height:0;flex:1 1 auto;overflow:auto;-webkit-overflow-scrolling:touch}.ant-modal.finance-editor-panel .ant-modal-footer{flex:0 0 auto;padding:8px 16px max(10px,env(safe-area-inset-bottom))}.editor-grid.finance-editor-grid{grid-template-columns:repeat(auto-fit,minmax(min(160px,100%),1fr));column-gap:14px;row-gap:10px}.finance-editor-grid>label,.finance-editor-grid>.payroll-image-upload,.finance-editor-grid>.finance-data-image-upload{min-width:0}.finance-editor-grid>.payroll-id-card-upload,.finance-remark-field{grid-column:1 / -1}.finance-editor-grid .ant-input,.finance-editor-grid .ant-input-affix-wrapper,.finance-editor-grid .ant-select,.finance-editor-grid .ant-picker,.finance-editor-grid .antd-compat-select-control,.finance-editor-grid textarea{width:100%;min-width:0}.finance-editor-grid .ant-input,.finance-editor-grid .ant-input-affix-wrapper,.finance-editor-grid .ant-picker,.finance-editor-grid .antd-compat-select-control{min-height:32px;border-radius:6px;font-size:13px}.finance-editor-grid .ant-input:not(textarea),.finance-editor-grid .ant-input-affix-wrapper,.finance-editor-grid .ant-picker,.finance-editor-grid .antd-compat-select-control{height:32px}.finance-editor-grid .ant-select-selector{min-height:32px!important;border-radius:6px!important;font-size:13px}.finance-editor-grid textarea.ant-input{min-height:72px;height:auto;padding-top:8px;line-height:1.45}.finance-workflow-link{display:grid;gap:6px;margin-bottom:12px}.finance-workflow-link-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.finance-workflow-link-actions>span{color:#64748b;font-size:13px;font-weight:700}.finance-workflow-picker{display:grid;gap:10px;padding:12px;border:1px solid #d8e4ef;border-radius:8px;background:#f8fbff}.finance-workflow-picker-head,.finance-workflow-picker-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.finance-workflow-picker-list{display:grid;gap:8px;max-height:240px;overflow:auto}.finance-workflow-card{display:grid;gap:4px;width:100%;padding:10px 12px;border:1px solid #d9e5f0;border-radius:8px;background:#fff;color:#142033;text-align:left;cursor:pointer}.finance-workflow-card:hover,.finance-workflow-card.selected{border-color:#7ec7ee;background:#eef9ff}.finance-workflow-card span,.finance-workflow-card em{color:#64748b;font-size:12px;font-style:normal}.finance-table{min-width:1320px}.inline-editable-cell{position:relative;display:flex;align-items:center;gap:6px;width:100%;max-width:100%;min-width:0;min-height:24px;padding-right:24px;line-height:1.35}.inline-cell-value{display:block;flex:1 1 auto;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:20px}.inline-cell-edit-target{border-radius:4px;cursor:default}.inline-cell-edit-button{position:absolute;right:0;top:50%;display:inline-flex;align-items:center;justify-content:center;appearance:none;-webkit-appearance:none;width:22px;height:22px;min-width:22px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:#64748b;cursor:pointer;opacity:0;outline:none;transform:translateY(-50%);transition:none}.ant-table-cell:hover .inline-cell-edit-button,.inline-cell-edit-button:focus-visible{opacity:1}.inline-cell-edit-button:hover,.inline-cell-edit-button:focus-visible{background:transparent;box-shadow:none;color:#2563eb;outline:none}.inline-cell-editor{width:100%;max-width:100%;min-width:0;height:28px;padding:2px 7px;box-sizing:border-box;font-size:inherit;line-height:22px}.inline-cell-select-editor{padding:0;height:28px}.inline-cell-select-editor .ant-select-selector{min-height:28px!important;height:28px!important;align-items:center;padding:0 7px!important;font-size:inherit}.inline-cell-select-editor .ant-select-selection-item{line-height:22px!important}.direction-pill{display:inline-flex;align-items:center;min-height:22px;padding:0 8px;border-radius:999px;font-size:11px;font-weight:760}.direction-pill.income{background:#ecfdf3;color:#027a48}.direction-pill.expense{background:#fff7ed;color:#b45309}.direction-pill.invoice{background:#eff6ff;color:#1d4ed8}.editor-grid{grid-template-columns:repeat(5,minmax(120px,1fr))}.editor-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.site-table-card{min-width:0;display:flex;flex-direction:column;background:#fff}.data-table-wrap{border-top:1px solid #edf0f5;overflow-x:auto;overflow-y:visible;overscroll-behavior-x:contain;overscroll-behavior-y:auto;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable}.data-management-table{min-width:1180px;table-layout:fixed}.data-management-table.simple{min-width:980px}.data-management-table th{position:sticky;top:38px;z-index:2;height:32px;border-right:1px solid #edf0f5;background:#f8fafc;color:#475569;font-weight:680;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-management-table td{height:32px;border-right:1px solid #edf0f5;color:#344054;line-height:1.25;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.data-management-table tbody tr:hover{background:#f8fafc}.data-management-table.compact-table th,.data-management-table.compact-table td{height:28px;padding-top:4px;padding-bottom:4px}.data-management-table .sub-row{background:#f3f6f9}.check-col{width:36px;text-align:center}.check-col input{width:14px;height:14px}.num{text-align:right;font-variant-numeric:tabular-nums}.cell-ellipsis,.data-management-table .cell-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.site-table-footer{position:sticky;top:0;z-index:6;min-height:34px;min-width:0;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;row-gap:6px;overflow-x:visible;padding:4px 10px;border-bottom:1px solid #edf0f5;background:#fffffff5;box-shadow:0 6px 14px #0f172a0a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#475569;font-size:12px}.page-size,.pager{display:flex;flex-wrap:wrap;align-items:center;gap:6px;white-space:nowrap;min-width:0}.page-size{flex:1 1 300px}.page-size .page-size-control{margin-right:0}.pager{flex:0 1 auto;margin-left:auto;justify-content:flex-end}.page-jump-control{display:inline-flex;align-items:center;gap:4px;flex:0 0 auto}.page-jump-control input{width:46px;min-height:28px;padding:3px 6px;border:1px solid #d8dee8;border-radius:6px;background:#fff;color:#172033;text-align:center}.page-jump-control .table-action{min-height:28px;padding:3px 8px}.site-table-footer select{width:auto;min-width:112px;min-height:26px;padding:0 28px 0 9px;border:1px solid #d7dce3;border-radius:6px;background:#fff;color:#243041;font-size:12px}.page-size-control{flex:0 0 auto;margin-right:auto}.site-table-footer span{flex:0 0 auto}.site-table-footer .toolbar-icon{width:26px;height:26px;min-height:26px;flex:0 0 auto}.site-empty-table{display:grid;gap:10px;padding-top:24px;text-align:center}.site-cost-tabs{display:flex;flex-wrap:wrap;gap:8px}.site-cost-tabs button{min-height:38px;padding:0 12px;border:1px solid #d7dce3;border-radius:7px;background:#fff;color:#243041}.site-cost-tabs button.active{border-color:#0f766e;background:#edf7f5;color:#0f766e;font-weight:760}.permission-note{margin:0;padding:10px 12px;border:1px solid #f1d7a7;border-radius:8px;background:#fffbeb;color:#92400e;font-size:13px}.item-editor{display:grid;gap:8px}.item-row{display:grid;grid-template-columns:.95fr 1.25fr .7fr .7fr .8fr;gap:6px}.item-row input{min-width:0}.import-result{display:grid;gap:8px}.import-report-stack{display:grid;align-content:start;gap:8px}.import-queue-panel{grid-column:1 / -1;min-width:0;min-height:220px;display:grid;align-content:start;gap:10px}.import-queue-table-frame{width:100%;max-width:100%;min-width:0;overflow:hidden}.import-queue-table-frame .table-wrap{width:100%;max-width:100%;min-width:0;max-height:min(560px,62vh);overflow:auto;border:1px solid #e1e7f0;border-radius:8px}.import-queue-table-frame .data-table{min-width:1160px}.import-queue-table-frame .data-table th{position:sticky;top:0;z-index:1;background:#f8fafc}.import-feedback-panel{padding:10px;border:1px solid #dbe3ef;border-radius:8px;background:#fbfcfe}.import-failure-panel{padding:10px;border:1px solid #fecaca;border-radius:8px;background:#fff7f7}.import-failure-panel .import-stats span{background:#fee2e2;color:#991b1b}.import-error-message{margin:0;color:#991b1b;font-size:13px;line-height:1.7}.import-feedback-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.import-feedback-head>div:first-child{min-width:0;display:grid;gap:3px}.import-feedback-head strong{color:#172033;font-size:13px}.import-feedback-head span{color:#697586;font-size:12px;overflow-wrap:anywhere}.import-feedback-actions{flex:0 0 auto;display:flex;align-items:center;gap:4px}.import-feedback-link{min-height:26px;padding:0 8px;border:1px solid #d7dce3;border-radius:7px;background:#fff;color:#42526a;font-size:12px;font-weight:700;cursor:pointer}.import-feedback-link:hover{border-color:#9fb2cc;background:#f6f9ff}.import-feedback-scroll{max-height:min(36vh,260px);overflow-y:auto;display:grid;gap:8px;padding-right:4px}.import-report-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.import-feedback-panel.is-collapsed{gap:8px}.import-feedback-panel.is-collapsed .import-stats{opacity:.78}.import-stats{display:flex;flex-wrap:wrap;gap:5px}.import-stats span{padding:4px 7px;border-radius:6px;background:#edf7f5;color:#0f766e;font-size:12px;font-weight:700;line-height:1.25}.import-issue-block{display:grid;gap:5px;padding:8px 10px;border:1px solid #e5e7eb;border-radius:8px;background:#fff}.import-issue-block strong{color:#243041;font-size:13px}.error-list{margin:0;padding-left:18px;color:#b42318;font-size:13px;line-height:1.65}.duplicate-list{color:#b45309}.module-card,.card{padding:16px}.module-card h3,.card h2{margin:0 0 8px;font-size:15px}.module-card p{margin:0;color:#667085;font-size:13px;line-height:1.55}.locked-wrap{position:relative;min-height:520px;overflow:hidden;border-radius:10px}.mosaic{position:absolute;inset:0;display:grid;grid-template-columns:repeat(8,1fr);grid-auto-rows:78px;gap:8px;padding:6px;opacity:.92;filter:blur(6px);transform:scale(1.02)}.tile{border:1px solid #d7dfe9;border-radius:8px;background:linear-gradient(135deg,#eef2f7,#fff 42%,#dbe4ef)}.glass{position:absolute;inset:0;display:grid;place-items:center;background:#f6f7f97a;-webkit-backdrop-filter:blur(12px) saturate(120%);backdrop-filter:blur(12px) saturate(120%)}.lock-card{width:min(460px,90%);padding:24px;border:1px solid rgba(215,220,227,.86);border-radius:10px;background:#ffffffdb;box-shadow:0 16px 48px #11182729;text-align:center}.lock-icon{width:44px;height:44px;display:grid;place-items:center;margin:0 auto 12px;border-radius:12px;background:#111827;color:#fff}.lock-icon .pixel-icon{width:22px;height:22px}.approval-page{display:grid;gap:12px;min-width:0}.approval-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:12px;min-width:0}.approval-layout>.card{min-width:0}.approval-card-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.approval-card-title h2{margin:0}.approval-card-title span{color:#64748b;font-size:12px;font-weight:700}.approval-request-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin:0 0 10px}.approval-request-list button{display:grid;gap:3px;min-width:0;padding:9px 10px;border:1px solid #dbe4ef;border-radius:8px;background:#f8fafc;color:#0f172a;text-align:left}.approval-request-list button.active{border-color:#0f766e;background:#ecfdf5;box-shadow:inset 0 0 0 1px #0f766e33}.approval-request-list button:disabled{cursor:not-allowed;opacity:.65}.approval-request-list span,.approval-request-list small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.approval-request-list span{font-weight:800}.approval-request-list small{color:#64748b;font-size:12px}.approval-field{display:grid;gap:6px;min-width:180px}.approval-field span{color:#64748b;font-size:12px;font-weight:700}.approval-project-authorizations{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin:10px 0}.approval-project-authorizations label{display:flex;align-items:center;gap:8px;min-height:34px;padding:6px 10px;border:1px solid #dbe4ef;border-radius:6px;background:#f8fafc;color:#0f172a;font-weight:800}.approval-project-authorizations span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.approval-project-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px}.approval-project-tabs button{min-height:30px;padding:0 10px;border:1px solid #dbe4ef;border-radius:6px 6px 0 0;background:#f8fafc;color:#334155;font-weight:800}.approval-project-tabs button.active{border-color:#0f766e;background:#ecfdf5;color:#0f766e;box-shadow:inset 0 -2px #0f766e}.permission-table-wrap{max-height:460px;min-width:0;overflow:auto}.approval-permission-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}.approval-permission-footer span{color:#64748b;font-size:12px;font-weight:800}.approval-role-defaults-footer{padding:10px 0 14px;border-top:1px solid #e5edf3}.approval-footer-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:8px}.approval-permission-table th{position:sticky;top:0;z-index:1;background:#f8fafc}.approval-permission-table td:not(:first-child):not(:last-child),.approval-permission-table th:not(:first-child):not(:last-child){text-align:center}.approval-profile-list>div{padding:8px 0}.approval-result{display:inline-flex;align-items:center;min-height:22px;padding:2px 9px;border-radius:999px;border:1px solid #dbe4ef;background:#f8fafc;color:#475569;font-size:12px;font-weight:800;line-height:1}.approval-result{min-height:20px;padding:1px 7px;border-radius:6px}.approval-result.pending{border-color:#fde68a;background:#fffbeb;color:#92400e}.approval-result.approved{border-color:#bbf7d0;background:#ecfdf5;color:#047857}.approval-result.rejected,.approval-result.failed{border-color:#fecaca;background:#fef2f2;color:#b91c1c}.approval-history-card{padding-bottom:12px;min-width:0}.approval-history-wrap{max-height:280px;overflow:auto}.approval-history-table th{position:sticky;top:0;z-index:1;background:#f8fafc}.approval-history-table td,.approval-history-table th{white-space:normal;word-break:break-word}.modal-backdrop{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:24px;background:#0f172a6b}.modal-card{width:min(1040px,calc(100vw - 48px));max-height:calc(100vh - 48px);overflow:auto;border:1px solid #d7e1ea;border-radius:8px;background:#fff;box-shadow:0 24px 70px #0f172a38}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px;border-bottom:1px solid #e5edf3}.modal-head h2{margin:0;font-size:20px}.modal-close{width:32px;height:32px;border:1px solid #d7e1ea;border-radius:6px;background:#fff;color:#0f172a;font-size:20px;line-height:1}.approval-role-defaults-dialog{display:grid;gap:14px}.approval-role-defaults-dialog>.inline-settings,.approval-role-defaults-dialog>.form-message,.approval-role-defaults-dialog>.approval-permission-footer{margin-inline:20px}.approval-role-defaults-table{margin-inline:20px;max-height:min(54vh,520px)}.empty-state.compact{min-height:54px;padding:14px}.user-management{display:grid;grid-template-columns:240px 1fr;gap:14px;min-width:0}.user-management>.card{min-width:0}.user-management-main{display:grid;gap:14px;min-width:0}.user-management-main>.card{min-width:0}.user-account-card{overflow:hidden}.user-account-card .table-wrap{max-width:100%;overflow-x:auto}.user-account-table{min-width:760px;font-size:12px}.user-account-table .ant-table-thead>tr>th,.user-account-table .ant-table-tbody>tr>td{height:30px;padding:4px 6px;line-height:1.2}.user-account-table .ant-input-affix-wrapper{width:100%;height:28px;min-height:28px;padding:0 8px;border-radius:6px;background:#fff;color:#172033;font-size:12px;font-weight:760}.user-account-table .ant-input-affix-wrapper .ant-input{height:26px;min-height:26px;padding:0;border:0;background:transparent;font-size:12px;font-weight:760;line-height:26px}.user-account-table .ant-input-affix-wrapper-disabled,.user-account-table .ant-input:disabled{background:#f3f4f6;color:#94a3b8}.user-account-table .btn{display:inline-flex;min-height:28px;min-width:58px;align-items:center;justify-content:center;padding:0 6px;font-size:12px;white-space:nowrap}.user-account-actions{display:flex;flex-wrap:nowrap;gap:4px}.user-deactivate-dialog{width:min(460px,calc(100vw - 32px));margin:0}.user-deactivate-body{display:grid;gap:14px}.user-deactivate-body label{display:grid;gap:6px;color:#526174;font-size:12px;font-weight:800}.user-deactivate-body input{min-height:40px;padding:0 12px;border:1px solid #d8e0eb;border-radius:8px;background:#fff;color:#172033;font-size:14px;font-weight:760}.deactivate-target{display:grid;gap:3px;margin:0}.deactivate-target strong{color:#162033;font-size:18px}.deactivate-target span{color:#64748b;font-size:12px;font-weight:760}.permission-config-console{display:grid;gap:10px;margin:10px 0 12px;padding:12px;border:1px solid #dbe4ef;border-radius:8px;background:#f8fafc}.permission-config-row{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.permission-config-field{min-width:180px;display:grid;gap:5px}.permission-config-field.grow{flex:1 1 260px}.permission-config-field span{color:#64748b;font-size:12px;font-weight:800}.permission-config-field input,.permission-config-field select{min-height:36px;padding:0 10px;border:1px solid #d6dde8;border-radius:7px;background:#fff;color:#172033;font-size:13px;font-weight:760}.permission-config-console .btn{min-height:36px;padding:0 12px;white-space:nowrap}.permission-project-scope{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px}.permission-project-scope label{display:flex;align-items:center;gap:8px;min-height:36px;padding:7px 10px;border:1px solid #dbe4ef;border-radius:7px;background:#fff;color:#0f172a;font-weight:800}.permission-project-scope span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.permission-project-tabs{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.permission-project-tabs button{min-height:32px;padding:0 11px;border:1px solid #cbd5e1;border-radius:7px;background:#fff;color:#334155;font-size:13px;font-weight:850}.permission-project-tabs button.active{border-color:#0f766e;background:#ecfdf5;color:#0f766e;box-shadow:inset 0 0 0 1px #0f766e2e}.permission-empty-project{margin:0;padding:12px;border:1px dashed #cbd5e1;border-radius:7px;background:#f8fafc;color:#64748b;font-size:13px;font-weight:760}.permission-note.compact{padding:8px 10px;font-size:12px;line-height:1.55}.permission-inline-warning{min-height:36px;display:inline-flex;align-items:center;color:#b45309;font-size:12px;font-weight:800}.settings-stack{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.workflow-settings-card{max-width:860px;min-width:0}.workflow-settings-table-wrap{min-width:0;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.workflow-settings-table-wrap .ant-table,.workflow-settings-table-wrap .ant-table-container,.workflow-settings-table-wrap .ant-table-content{width:100%}.workflow-settings-table{min-width:522px;table-layout:fixed}.workflow-settings-table .ant-table-thead>tr>th,.workflow-settings-table .ant-table-tbody>tr>td{height:34px;padding:5px 8px;line-height:1.25;vertical-align:middle}.workflow-settings-table .ant-table-thead>tr>th{white-space:nowrap}.workflow-settings-table .workflow-settings-person-cell{color:#334155;font-weight:680}.workflow-settings-table .ant-checkbox-wrapper{display:inline-flex;justify-content:center}.user-list-card{align-self:start}.user-list{display:grid;gap:8px}.user-list button.ant-btn{display:flex;width:100%;height:auto;min-height:64px;align-items:flex-start;justify-content:flex-start;gap:8px;padding:6px 8px;border:1px solid #e3e7ee;border-radius:6px;background:#fff;color:#243041;line-height:1.35;text-align:left;white-space:normal}.user-list button.active{border-color:#0f766e;background:#edf7f5}.user-list button:disabled{cursor:not-allowed;border-style:dashed;background:#f8fafc;color:#8a94a6}.user-list small{color:#8a94a6}.user-list-identity{display:grid;grid-template-rows:auto auto auto;gap:2px;width:100%;min-width:0;justify-items:start}.user-list-identity>span,.user-list-identity>small{max-width:100%;min-width:0;overflow:hidden;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.user-login-location{display:block;max-width:100%;color:#536177;font-size:11px;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-list>div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #edf0f5;font-size:12px}.profile-list dt{color:#6b7280}.profile-list dd{margin:0;color:#111827;font-weight:650}.data-table{width:100%;border-collapse:collapse;font-size:12px;table-layout:fixed}.data-table th,.data-table td{padding:5px 6px;border-bottom:1px solid #edf0f5;text-align:left;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-break:normal}.resizable-data-table{border-collapse:collapse}.resizable-data-table th{position:relative;padding-right:22px;vertical-align:top}.data-management-table.resizable-data-table th{position:sticky;top:0}.data-management-table thead tr+tr th,.data-management-table.resizable-data-table thead tr+tr th{top:32px}.resizable-data-table td{vertical-align:middle}.data-management-table .ant-table-thead>tr>th,.data-management-table .ant-table-tbody>tr>td{height:32px;padding:5px 6px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.column-resize-handle{position:absolute;top:0;right:-22px;bottom:0;z-index:4;width:44px;padding:0;border:0;border-radius:0;background:transparent;cursor:col-resize;outline:none;touch-action:none}.column-resize-handle:after{position:absolute;top:7px;bottom:7px;left:21px;width:2px;border-radius:999px;background:#94a3b875;content:"";transition:background .16s ease,box-shadow .16s ease}.column-resize-handle:hover:after,.column-resize-handle:focus-visible:after,.resizable-data-table.is-column-resizing .column-resize-handle:after{background:#14b8a6;box-shadow:0 0 0 2px #14b8a629}.column-resize-handle:focus-visible{box-shadow:inset 0 0 0 2px #14b8a62e}.column-resize-keyboard-controls{position:absolute;top:8px;left:8px;z-index:5;display:flex;gap:6px;pointer-events:none}.column-resize-keyboard-handle{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.column-resize-keyboard-handle:focus-visible{position:static;width:auto;height:auto;overflow:visible;clip:auto;padding:6px 9px;border:1px solid rgba(20,184,166,.42);border-radius:7px;background:#ecfdf5;color:#0f766e;box-shadow:0 8px 18px #0f766e29;pointer-events:auto}.is-column-resizing,.is-column-resizing *{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}.data-table th:last-child,.data-table td:last-child{min-width:112px}.admin-log-card{display:grid;gap:12px;min-width:0;overflow:hidden;padding:16px}.log-filter{grid-template-columns:repeat(6,minmax(120px,1fr)) repeat(2,86px)}.log-filter .btn{align-self:end;min-height:38px}.admin-log-card .table-wrap{position:relative;max-width:100%;min-width:0;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;border:1px solid #edf0f5;border-radius:8px;background:#fff}.admin-log-table.data-management-table{min-width:1160px;font-size:12px;table-layout:fixed}.admin-log-table.data-management-table th,.admin-log-table.data-management-table td{height:28px;padding:4px 6px;font-size:12px;line-height:1.25;white-space:nowrap}.admin-log-table.data-management-table .ant-table-thead>tr>th,.admin-log-table.data-management-table .ant-table-tbody>tr>td{height:28px;padding:4px 6px}.admin-log-table.data-management-table th{position:sticky;top:0;z-index:1;background:#f8fafc;color:#475569;font-weight:680}.admin-log-table th:nth-child(1){width:158px}.admin-log-table th:nth-child(2){width:92px}.admin-log-table th:nth-child(3){width:86px}.admin-log-table th:nth-child(4){width:104px}.admin-log-table th:nth-child(5){width:130px}.admin-log-table th:nth-child(6){width:76px}.admin-log-table.data-management-table td{color:#344054;vertical-align:middle}.admin-log-table .cell-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-log-table tbody tr:hover{background:#f8fafc}.log-list{margin:0;padding-left:18px;color:#475569;line-height:1.8}.log-revision-button.ant-btn{min-height:24px;height:24px;padding-inline:8px;font-size:12px}.operation-revision{display:grid;gap:14px}.operation-revision-meta,.operation-revision-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#667085}.operation-revision-table{max-height:52vh;overflow:auto;border:1px solid #e4e7ec}.operation-revision-row{display:grid;grid-template-columns:minmax(110px,.7fr) repeat(2,minmax(180px,1fr))}.operation-revision-row+.operation-revision-row{border-top:1px solid #eaecf0}.operation-revision-row>*{min-width:0;padding:8px 10px;overflow-wrap:anywhere}.operation-revision-row>*+*{border-left:1px solid #eaecf0}.operation-revision-row.is-head{position:sticky;top:0;z-index:1;background:#f8fafc;color:#475467;font-weight:650}.system-diagnostics-card{grid-template-columns:minmax(0,1fr)}.system-diagnostics-card .table-wrap{min-height:260px}.system-diagnostics-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.filter-bar.data-filter.system-diagnostics-toolbar{width:100%;min-width:0;grid-template-columns:repeat(auto-fit,minmax(132px,1fr))}.system-diagnostics-toolbar>div{min-height:38px;display:grid;align-content:center;gap:2px;padding:6px 10px;border:1px solid #e5e9f0;border-radius:8px;background:#fff}.system-diagnostics-toolbar span{color:#697586;font-size:11px}.system-diagnostics-toolbar strong{color:#111827;font-size:13px;font-weight:680}.system-diagnostics-table.data-management-table{min-width:1120px}.system-diagnostics-section+.system-diagnostics-section{border-top:1px solid #e5e9f0}.system-diagnostics-section .panel-head.compact{min-height:48px;padding:10px 12px}.system-diagnostics-section .panel-head.compact h2{font-size:15px}.system-diagnostics-trend-legend{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px 14px;color:#596579;font-size:12px}.system-diagnostics-trend-legend span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.system-diagnostics-trend-legend i{width:8px;height:8px;border-radius:2px}.system-diagnostics-trend-viewport{overflow-x:auto;padding:2px 12px 12px}.system-diagnostics-trend-chart{display:grid;grid-template-columns:repeat(30,minmax(16px,1fr));gap:4px;min-width:660px;height:174px;padding:12px 0 0;border-top:1px solid #eef1f5;border-bottom:1px solid #dfe4eb;background-image:linear-gradient(to bottom,transparent 49%,#eef1f5 50%,transparent 51%)}.system-diagnostics-trend-day{display:grid;grid-template-rows:minmax(0,1fr) 24px;min-width:0}.system-diagnostics-trend-bars{display:flex;align-items:flex-end;justify-content:center;gap:2px;min-height:0}.system-diagnostics-trend-bars i{width:min(5px,28%);min-height:0;border-radius:2px 2px 0 0}.system-diagnostics-trend-day>span{align-self:end;overflow:visible;color:#7b8798;font-size:10px;line-height:20px;white-space:nowrap}.system-diagnostics-trend-legend .is-error,.system-diagnostics-trend-bars .is-error{background:#dc4c3f}.system-diagnostics-trend-legend .is-slow,.system-diagnostics-trend-bars .is-slow{background:#d97706}.system-diagnostics-trend-legend .is-import,.system-diagnostics-trend-bars .is-import{background:#2563eb}.system-performance-table-wrap{max-height:360px}.system-performance-table.data-management-table{min-width:980px}@media(max-width:640px){.system-diagnostics-section .panel-head.compact{align-items:flex-start;flex-direction:column;gap:8px}.system-diagnostics-trend-legend{justify-content:flex-start}.system-diagnostics-trend-chart{grid-template-columns:repeat(30,minmax(0,1fr));gap:1px;min-width:0}.system-diagnostics-trend-bars{gap:1px}.system-diagnostics-trend-day:last-child{position:relative}.system-diagnostics-trend-day:last-child>span{position:absolute;right:0;bottom:0;width:max-content}}.system-info-card{display:grid;gap:12px;max-width:960px}.system-info-actions{display:flex;justify-content:flex-end;gap:8px}.system-info-editor{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace}.system-info-error{margin:0;color:#b91c1c;font-size:13px}.system-info-list{display:grid;gap:10px}.system-info-release{display:grid;gap:10px;padding:14px;border:1px solid #e5e7eb;border-radius:6px;background:#fff}.system-info-release header{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.system-info-release h2{margin:0;color:#0f172a;font-size:18px}.system-info-release time{color:#64748b;font-size:12px}.system-info-release ol{display:grid;gap:6px;margin:0;padding-left:20px;color:#334155;line-height:1.6}.content-watermark{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none;opacity:.035}.content-watermark span{position:relative;display:inline-flex;width:260px;height:118px;align-items:center;justify-content:center;color:#111827;font-size:13px;font-weight:680;transform:rotate(-45deg);white-space:nowrap}.content-watermark span:before{content:attr(data-watermark)}@media(max-width:900px){.auth-screen,.shell,.project-grid,.module-grid,.metric-grid,.dashboard-grid,.site-cost-summary,.detail-grid,.user-management,.approval-layout{grid-template-columns:minmax(0,1fr)}.auth-screen{padding:18px}.auth-card{grid-template-columns:1fr;min-height:auto}.auth-hero{min-height:380px;padding:30px}.auth-visual{inset:96px 28px 132px}.auth-copy h1{max-width:480px;font-size:30px}.auth-panel-wrap{padding:34px 30px}.item-row{grid-template-columns:1fr}.workspace-redesign{--workspace-sidebar: 70px}.workspace-sidebar{padding:12px 8px}.workspace-project-switch{grid-template-columns:1fr;justify-items:center;padding:8px 6px}.workflow-shortcuts{grid-template-columns:1fr}.workflow-shortcut{justify-content:center;padding:0 6px}.workflow-shortcut span:not(.workflow-shortcut-dot){display:none}.workflow-shortcut strong{min-width:18px;height:18px;margin-left:0}.workspace-project-copy,.workspace-search,.workspace-nav-section p,.workspace-nav-label,.workspace-nav-item .perm-chip,.workspace-user-card div,.workspace-user-card i{display:none}.workspace-nav-item{grid-template-columns:1fr;justify-items:center;padding:6px}.workspace-user-card{grid-template-columns:1fr;justify-items:center;padding:8px 6px}.mobile-module-switch{display:flex}.main{padding:12px}.heading{display:grid}.site-data-header{grid-template-columns:1fr auto;min-height:auto;padding:10px 12px}.site-design-tabs{grid-column:1 / -1;justify-content:flex-start;overflow-x:auto}.site-data-toolbar{display:grid;align-items:stretch}.site-toolbar-left,.site-toolbar-right{width:100%;justify-content:flex-start}.site-search{flex:1 1 220px}.data-filter,.finance-filter.invoice-filter{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-filter.invoice-filter .filter-reset-button{justify-self:start}.approval-form-grid{grid-template-columns:1fr}.user-management{grid-template-columns:minmax(0,1fr)}.editor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.import-feedback-head{display:grid}.import-feedback-actions{flex-wrap:wrap}.import-modal-body.has-reports{grid-template-columns:1fr;overflow:auto}.import-modal-body.has-reports .import-dialog-main{overflow:visible;padding-right:0}.import-modal-body.has-reports .import-dialog-reports{max-height:320px}.import-dialog-controls,.import-option-grid{grid-template-columns:1fr}.progress-console{min-height:auto;padding:12px}.progress-hero,.progress-hero-actions{display:grid;justify-content:stretch}.progress-hero-actions{display:flex;justify-content:flex-start}.progress-kpi-grid,.progress-main-grid,.progress-main-grid.split,.progress-gauge-row,.progress-shotcrete-grid,.progress-segment-grid{grid-template-columns:1fr}.progress-step-row{grid-template-columns:24px minmax(0,1fr) 68px}.progress-step-track{grid-column:2 / -1}}@media(max-width:560px){.workspace-redesign{--workspace-sidebar: 56px}.workspace-sidebar{padding:10px 6px}.workspace-nav-item{min-height:44px;padding:5px}.project-screen{grid-template-rows:auto 1fr}.project-top{align-items:flex-start;gap:14px;padding:14px 18px}.project-main{padding:30px 18px 40px}.project-title h1{font-size:28px}.project-card{min-height:0;padding:20px}.topbar{align-items:flex-start;gap:10px;min-height:auto;padding:10px 12px}.global{justify-content:flex-start}.heading{gap:10px}.heading h1{font-size:20px}.actions{overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px}.site-data-title p{display:none}.site-design-tabs button{min-width:76px;min-height:44px}.site-toolbar-left,.site-toolbar-right{overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px}.progress-hero h1{font-size:22px}.progress-upload-dock,.progress-hero-actions{width:100%;justify-content:flex-start}.progress-upload-message{width:100%}.progress-panel{padding:11px}.progress-line-chart svg{height:180px}.toolbar-button{min-height:44px;padding:0 12px;white-space:nowrap}.toolbar-icon{width:44px;height:44px}.btn,.global button,.site-cost-tabs.compact button{min-height:44px}.site-search{min-width:180px;flex:0 0 220px}.data-filter,.editor-grid,.approval-form-grid,.attachment-grid{grid-template-columns:1fr}.quick-fill-backdrop{align-items:flex-start;padding:12px}.quick-fill-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.approval-inline-actions span{width:100%;margin-left:0}.approval-submit-row .btn{flex:1 1 100%}.workflow-data-center-table{min-width:0;border-collapse:separate;border-spacing:0 8px}.workflow-data-center-table thead{display:none}.workflow-data-center-table tbody{display:grid;gap:8px}.workflow-data-center-table tbody tr{display:grid;border:1px solid #edf0f5;border-radius:8px;background:#fff;overflow:hidden}.workflow-data-center-table td{display:grid;grid-template-columns:86px minmax(0,1fr);gap:8px;align-items:start;min-height:32px;border-bottom:1px solid #edf0f5}.workflow-data-center-table td:before{content:attr(data-label);color:#667085;font-weight:680}.workflow-data-center-table td:last-child{border-bottom:0}.workflow-data-center-table .workflow-actions{justify-content:flex-start;flex-wrap:wrap}.workflow-timeline-row td{grid-template-columns:1fr;padding:10px 12px}.workflow-timeline-row td:before{color:#0f766e}.workflow-timeline{gap:8px;padding:0;border-top:0}.workflow-flow-title{display:none}.workflow-flow-main{grid-template-columns:1fr}.workflow-flow-main li:not(:last-child):after{inset:auto auto -8px 15px;width:2px;height:8px}.workflow-flow-branch{width:100%;margin-left:0}.site-cost-summary.compact,.site-cost-summary.compact.has-filter-summary{grid-template-columns:1fr}.site-cost-summary.compact article{min-height:50px;border-right:0;border-bottom:1px solid #edf0f5}.site-editor-panel{margin:10px;padding:12px}.editor-modal-backdrop,.editor-modal-backdrop .ant-modal-wrap{align-items:flex-start;padding:12px}.editor-modal-backdrop .site-editor-panel{height:calc(100dvh - 24px);max-height:calc(100dvh - 24px);margin:0}.editor-modal-backdrop .site-editor-panel.expanded{width:calc(100vw - 24px);height:calc(100dvh - 24px);max-height:calc(100dvh - 24px)}.import-modal-backdrop{align-items:flex-start;padding:12px}.import-modal-panel,.import-modal-panel.expanded{width:calc(100vw - 24px);height:calc(100dvh - 24px);max-height:calc(100dvh - 24px)}.import-modal-body{padding:12px}.import-stepper{gap:4px}.import-stepper strong{font-size:11px}.import-dialog-tips{padding-left:24px}.import-drop-zone{min-height:126px}}:root{--hz-ink: #181d26;--hz-muted: #41454d;--hz-line: #dddddd;--hz-page: #ffffff;--hz-panel: #ffffff;--hz-teal: #006400;--hz-teal-dark: #0a2e0e;--hz-blue: #181d26;--hz-blue-soft: #f8fafc;--hz-amber: #d9a441;--hz-danger: #aa2d00;--hz-shadow-lg: 0 18px 44px rgba(24, 29, 38, .08);--hz-shadow-sm: 0 8px 22px rgba(24, 29, 38, .06);--airtable-ink: #181d26;--airtable-body: #333840;--airtable-muted: #41454d;--airtable-line: #dddddd;--airtable-canvas: #ffffff;--airtable-soft: #f8fafc;--airtable-strong: #e0e2e6;--airtable-dark: #181d26;--airtable-coral: #aa2d00;--airtable-forest: #0a2e0e;--airtable-cream: #f5e9d4;--airtable-peach: #fcab79;--airtable-mint: #a8d8c4;--airtable-yellow: #f4d35e;--airtable-mustard: #d9a441;--airtable-link: #1b61c9;--airtable-success: #006400;--airtable-danger: #aa2d00}body{background:var(--airtable-canvas);color:var(--airtable-body);font-family:Inter,SF Pro Text,PingFang SC,Microsoft YaHei,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}input:not([type=checkbox]):not([type=radio]),select,textarea{border:1px solid var(--airtable-line);border-radius:6px;background:var(--airtable-canvas);color:var(--airtable-ink);box-shadow:none}input:not([type=checkbox]):not([type=radio]):focus,select:focus,textarea:focus{border-color:#458fff;box-shadow:0 0 0 2px #458fff2e}input:disabled,select:disabled,textarea:disabled{background:#f1f3f5;color:#9297a0;box-shadow:none}::placeholder{color:#9297a0}.auth-screen,.project-shell,.workspace,.workspace-main{background:var(--airtable-canvas);color:var(--airtable-body)}.auth-screen{position:relative;isolation:isolate;overflow:hidden;background:#071118}.auth-screen:before{content:"";position:fixed;inset:-7%;z-index:-2;background-image:url(/assets/auth-tromso-fjellheisen-jddGZd3h.jpg);background-position:50% 46%;background-size:cover;background-repeat:no-repeat;filter:saturate(1.05) contrast(1.04);transform:scale(1.06);animation:auth-tromso-drift 48s ease-in-out infinite alternate}.auth-screen:after{content:"";position:fixed;inset:0;z-index:-1;background:linear-gradient(90deg,#030a0fc7,#050f167a 46%,#030a0fd1),radial-gradient(circle at 24% 20%,rgba(125,211,252,.22),transparent 30%),radial-gradient(circle at 78% 76%,rgba(14,165,233,.2),transparent 34%)}@keyframes auth-tromso-drift{0%{transform:scale(1.06) translate3d(-1.2%,-.8%,0)}to{transform:scale(1.12) translate3d(1.4%,1%,0)}}@media(prefers-reduced-motion:reduce){.auth-screen:before{animation:none}}.auth-card,.project-card,.card,.module-card,.profile-card,.panel,.workflow-settings-card,.expense-approval-card,.site-table-card,.site-editor-panel,.metric-card,.import-modal-panel,.quick-fill-dialog,.profile-password-panel{border:1px solid var(--airtable-line);border-radius:12px;background:var(--airtable-canvas);color:var(--airtable-body);box-shadow:var(--hz-shadow-sm);-webkit-backdrop-filter:none;backdrop-filter:none}.auth-card{border:0;border-radius:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;width:min(460px,100%);min-height:auto;grid-template-columns:minmax(0,1fr)}.auth-hero{display:none}.auth-hero:after{inset:22px;border-color:#e2f4ff2e}.auth-visual{border-color:#e2f4ff29;background:linear-gradient(135deg,#ffffff24,#ffffff08),#04121b47;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.auth-grid{background-image:linear-gradient(rgba(226,244,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(226,244,255,.12) 1px,transparent 1px);background-size:28px 28px;-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 18%,#000 78%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 18%,#000 78%,transparent 100%)}.auth-node{border-color:#ffffffe6;background:#7dd3fc;box-shadow:0 0 0 8px #7dd3fc1f,0 0 26px #7dd3fc6b}.auth-link{background:linear-gradient(90deg,#bae6fd1a,#7dd3fc99)}.auth-signal{border-color:#e2f4ff2e;background:#04121b94;color:#f8fbff;box-shadow:0 18px 42px #0000003d;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.signal-dark{background:#02080ead;color:#bae6fd}.auth-logo,.project-logo,.workspace-logo{border-radius:10px;border:1px solid rgba(23,50,58,.16);background:var(--macaron-sky);color:var(--macaron-ink);box-shadow:inset 0 1px #ffffffb8,0 8px 20px #17323a14}.auth-brand small,.auth-copy p,.auth-panel p,.project-title p,.project-card p,.workspace-project-copy span,.workspace-search span,.workspace-nav-section p,.workspace-user-card span,.profile-card p,.profile-card span,.metric-card span,.form-message,.site-data-title p,.empty-note,.workflow-shortcuts-error,.progress-kpi span,.progress-kpi em,.progress-hero p,.progress-upload-message,.progress-average-row span,.progress-concrete-bar em,.progress-segment span,.progress-segment em{color:var(--airtable-muted)}.auth-screen .auth-brand,.auth-screen .auth-copy h1{color:#f8fbff;text-shadow:0 2px 20px rgba(0,0,0,.32)}.auth-screen .auth-brand small,.auth-screen .auth-copy p,.auth-screen .auth-signal span{color:#e2f4ffbd}.auth-screen .auth-kicker,.auth-screen .auth-eyebrow{color:#7dd3fc}.password-rule-note{display:grid;gap:4px;margin-bottom:14px;padding:10px 12px;border:1px solid #dbe7f5;border-radius:8px;background:#f8fbff;color:#172033}.password-rule-note strong{font-size:13px}.password-rule-note span{color:#64748b;font-size:12px;line-height:1.5}.auth-brand strong,.auth-copy h1,.auth-panel h2,.project-title h1,.project-card h2,.workspace-project-copy strong,.workspace-user-card strong,.heading h1,.card h2,.profile-card h2,.profile-card strong,.site-data-title h1,.metric-card strong,.progress-kpi strong,.progress-panel-title h2,.progress-hero h1,.progress-gauge strong,.progress-metric strong,.progress-concrete-bar strong,.progress-step-row strong{color:var(--airtable-ink);font-weight:500}.auth-kicker,.auth-eyebrow,.project-kicker,.heading p,.site-data-kicker,.progress-kicker,.progress-panel-title span,.progress-line-labels span,.progress-step-row span,.progress-kpi.amber strong,.progress-metric.amber strong,.progress-concrete-bar span,.progress-average-row strong,.import-stepper span,.import-stepper strong,.import-feedback-link,.link-button{color:var(--airtable-link)}.auth-panel-wrap{padding:0;background:transparent}.auth-panel,.pending-shell .auth-panel{position:relative;overflow:hidden;padding:34px;border:1px solid rgba(226,244,255,.28);border-radius:22px;background:linear-gradient(145deg,#ffffff2e,#ffffff0f 38%,#0c1e2c5c),#09182475;box-shadow:inset 0 1px #ffffff47,inset 0 -22px 48px #ffffff09,0 28px 70px #00000047;backdrop-filter:blur(30px) saturate(1.45);-webkit-backdrop-filter:blur(30px) saturate(1.45)}.auth-panel:before,.pending-shell .auth-panel:before{content:"";position:absolute;inset:1px;z-index:0;border-radius:21px;pointer-events:none;background:radial-gradient(circle at 26% 0%,rgba(255,255,255,.3),transparent 34%),linear-gradient(120deg,rgba(255,255,255,.16),transparent 42%);opacity:.7}.auth-panel>*,.pending-shell .auth-panel>*{position:relative;z-index:1}.auth-screen .auth-panel h2,.auth-screen .auth-panel .muted,.auth-screen .field span{color:#f8fbff}.auth-screen .field input,.auth-screen .field select,.auth-screen .field textarea{border-color:#e2f4ff38;background:#ffffff1a;color:#f8fbff;box-shadow:inset 0 1px #ffffff14,0 1px #ffffff0a;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.auth-screen .field>.ant-input,.auth-screen .field>select{min-height:44px;padding:0 13px;border-radius:8px;box-sizing:border-box}.auth-screen .field .ant-input-affix-wrapper{width:100%;min-height:44px;padding:0 13px;border-color:#e2f4ff38;border-radius:8px;background:#ffffff1a;color:#f8fbff;box-shadow:inset 0 1px #ffffff14,0 1px #ffffff0a;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.auth-screen .field .ant-input-affix-wrapper input{min-height:auto;padding:0;border:0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.auth-screen .field input:focus,.auth-screen .field select:focus,.auth-screen .field textarea:focus{border-color:#7dd3fcc7;box-shadow:0 0 0 3px #7dd3fc24}.auth-screen .field .ant-input-affix-wrapper-focused,.auth-screen .field .ant-input-affix-wrapper:focus-within{border-color:#7dd3fcc7;box-shadow:0 0 0 3px #7dd3fc24}.auth-screen .field .ant-input-affix-wrapper .ant-input-suffix,.auth-screen .field .ant-input-password-icon{color:#e2f4ff7a}.auth-screen .field .ant-input-password-icon:hover{color:#f8fbff}.auth-screen .field select option{background:#071118;color:#f8fbff}.auth-screen .form-message{color:#fecdd3}.auth-button,.global button,.btn.primary,.toolbar-button.primary,.progress-upload-button{border:1px solid rgba(23,50,58,.18);border-radius:6px;background:var(--macaron-sky);color:var(--macaron-ink);box-shadow:inset 0 1px #ffffffb8,0 8px 18px #17323a1a}.auth-button:hover,.global button:hover,.btn.primary:hover,.toolbar-button.primary:hover,.progress-upload-button:hover{border-color:#17323a47;background:var(--macaron-mint);color:var(--macaron-ink);transform:none;box-shadow:inset 0 1px #ffffffc7,0 8px 18px #17323a1a}.auth-switch,.btn,.btn.secondary,.toolbar-button,.toolbar-icon,.table-action,.link-button,.progress-ghost-button,.project-logout,.workflow-shortcut{border:1px solid var(--airtable-line);border-radius:6px;background:var(--airtable-canvas);color:var(--airtable-ink);box-shadow:none}.toolbar-button{min-height:28px;padding:0 8px;border-radius:6px;font-size:12px;line-height:1}.toolbar-icon{width:28px;height:28px;min-height:28px;border-radius:6px}.toolbar-button.data-action{min-width:52px;border-color:var(--airtable-line);background:var(--airtable-canvas);color:var(--airtable-link);font-weight:650;box-shadow:none}.toolbar-button.data-action.export{border-color:var(--airtable-line);background:var(--airtable-canvas);color:var(--airtable-link)}.toolbar-button.data-action:hover,.toolbar-button.data-action.export:hover{border-color:#9297a0;background:var(--airtable-soft);color:var(--airtable-ink);box-shadow:none}.btn,.auth-switch,.project-logout,.workflow-shortcut{min-height:32px;padding:0 10px;border-radius:6px;font-size:12px;line-height:1}.auth-screen .auth-button{border-color:#7dd3fc57;border-radius:9px;background:linear-gradient(135deg,#0ea5e9e0,#0369a1eb);color:#f8fbff;box-shadow:0 14px 34px #0ea5e942}.auth-screen .auth-button:hover,.auth-screen .auth-button.ant-btn:not(:disabled):not(.ant-btn-disabled):hover,.auth-screen .auth-button.ant-btn:not(:disabled):not(.ant-btn-disabled):focus-visible{border-color:#bae6fd85;background:linear-gradient(135deg,#38bdf8f2,#0e7490eb);color:#fff;box-shadow:0 16px 38px #0ea5e952}.auth-screen .auth-button.ant-btn:not(:disabled):not(.ant-btn-disabled):active{border-color:#bae6fd75;background:linear-gradient(135deg,#0ea5e9e6,#0369a1f0);color:#fff;box-shadow:0 10px 26px #0ea5e93d}.auth-screen .auth-switch{border-color:#e2f4ff33;background:#ffffff14;color:#bae6fd;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.auth-screen .auth-switch:hover,.auth-screen .auth-switch.ant-btn:not(:disabled):not(.ant-btn-disabled):hover,.auth-screen .auth-switch.ant-btn:not(:disabled):not(.ant-btn-disabled):focus-visible{border-color:#7dd3fc66;background:#7dd3fc1f;color:#f8fbff}.auth-screen .auth-switch.ant-btn:not(:disabled):not(.ant-btn-disabled):active{border-color:#7dd3fc75;background:#7dd3fc29;color:#f8fbff;box-shadow:none}.table-action,.link-button{min-height:28px;padding:0 10px;border-radius:6px;font-size:12px;font-weight:650;line-height:1;gap:5px;border-color:var(--airtable-line);background:linear-gradient(180deg,#fffffffa,#f8fafcf5);color:var(--airtable-ink);box-shadow:inset 0 1px #ffffffe6,0 1px 2px #181d260a;transition:border-color .14s ease,background .14s ease,color .14s ease,box-shadow .14s ease}.table-action-icon{width:30px;min-width:30px;padding:0;gap:0}.table-action-icon .anticon{font-size:14px;line-height:1}.btn,.table-action,.toolbar-button,.toolbar-icon,.link-button,.progress-upload-button,.file-upload-button{display:inline-flex;align-items:center;justify-content:center;text-align:center}.auth-switch:hover,.btn:hover,.toolbar-button:hover,.toolbar-icon:hover,.table-action:not(:disabled):hover,.link-button:hover,.project-logout:hover,.workflow-shortcut:hover{transform:none;border-color:#9297a0;background:var(--airtable-soft);color:var(--airtable-ink);box-shadow:inset 0 1px #ffffffe6,0 2px 7px #181d2614}.auth-button:active,.global button:active,.btn:active,.toolbar-button:active,.toolbar-icon:active,.table-action:not(:disabled):active,.link-button:active,.workspace-nav-item:active,.workflow-shortcut:active{transform:none;box-shadow:none}.btn:disabled,.toolbar-button:disabled,.toolbar-icon:disabled,.table-action:disabled,.auth-button:disabled,.progress-ghost-button:disabled,.progress-upload-button.disabled{border-color:#e0e2e6;background:#f1f3f5;color:#9297a0;opacity:1;box-shadow:none;transform:none}.btn.danger,.table-action.danger,.link-button.danger,.table-action.danger:not(:disabled):hover,.link-button.danger:hover{border-color:#aa2d0047;background:#aa2d0014;color:var(--airtable-coral)}.toolbar-button.restore-confirm,.table-action.restore,.link-button.restore,.toolbar-button.restore-confirm:hover,.table-action.restore:hover,.link-button.restore:hover{border-color:#00640047;background:#a8d8c447;color:var(--airtable-success)}.table-action.accent,.link-button.accent{border-color:#1b61c93d;background:#1b61c912;color:var(--airtable-link)}.table-action.accent:not(:disabled):hover,.link-button.accent:hover{border-color:#1b61c961;background:#1b61c91f;color:#164f9f}.table-action.danger:disabled,.table-action.restore:disabled,.table-action.accent:disabled,.link-button.danger:disabled,.link-button.restore:disabled,.link-button.accent:disabled{border-color:#e0e2e6;background:#f1f3f5;color:#9297a0;box-shadow:none}.workspace-sidebar{border-right:1px solid var(--airtable-line);background:var(--airtable-canvas);box-shadow:8px 0 24px #181d260a;-webkit-backdrop-filter:none;backdrop-filter:none}.workspace-project-switch,.workspace-user-card,.workspace-search input,.mobile-module-switch,.mobile-module-switch select{border-color:var(--airtable-line);border-radius:12px;background:var(--airtable-canvas);color:var(--airtable-ink);box-shadow:none}.workspace-user-card:hover,.workspace-user-card:focus-visible,.workspace-project-switch:hover,.workspace-project-switch.ant-btn:not(:disabled):not(.ant-btn-disabled):hover,.workspace-project-switch.ant-btn:not(:disabled):not(.ant-btn-disabled):focus-visible,.workspace-user-card.ant-btn:not(:disabled):not(.ant-btn-disabled):hover,.workspace-user-card.ant-btn:not(:disabled):not(.ant-btn-disabled):focus-visible{border-color:#9297a0;background:var(--airtable-canvas);color:var(--airtable-ink);box-shadow:0 0 0 2px #458fff1f}.workspace-project-switch.ant-btn:not(:disabled):not(.ant-btn-disabled):active,.workspace-user-card.ant-btn:not(:disabled):not(.ant-btn-disabled):active{border-color:var(--airtable-line);background:var(--airtable-canvas);color:var(--airtable-ink)}.workspace-nav-item{min-height:34px;border-radius:6px;color:var(--airtable-body)}.workspace-nav-item:hover{background:var(--airtable-soft);color:var(--airtable-ink);box-shadow:none}.workspace-nav-item.ant-btn:not(:disabled):not(.ant-btn-disabled):hover,.workspace-nav-item.ant-btn:not(:disabled):not(.ant-btn-disabled):focus-visible,.workspace-nav-item.ant-btn:not(:disabled):not(.ant-btn-disabled):active,.workflow-shortcut.ant-btn:not(:disabled):not(.ant-btn-disabled):hover,.workflow-shortcut.ant-btn:not(:disabled):not(.ant-btn-disabled):focus-visible,.workflow-shortcut.ant-btn:not(:disabled):not(.ant-btn-disabled):active{border-color:var(--airtable-line);background:var(--airtable-soft);color:var(--airtable-ink);box-shadow:none}.workspace-nav-item.active,.workflow-shortcut.active,.site-design-tabs button.active,.site-cost-tabs.compact button.active,.nav button.active{border-color:var(--airtable-line);background:var(--airtable-soft);color:var(--airtable-ink);box-shadow:inset 3px 0 0 var(--airtable-coral)}.workspace-nav-icon,.workspace-nav-icon.abstract,.workspace-nav-icon.utility,.workspace-nav-item.active .workspace-nav-icon,.workspace-nav-item.active .workspace-nav-icon.abstract,.workspace-nav-item.active .workspace-nav-icon.utility{border-radius:6px;background:var(--airtable-soft);color:var(--airtable-ink);box-shadow:none}.abstract-module-mark,.utility-nav-mark,.mark-finance,.mark-site-cost,.mark-payroll,.mark-advance,.mark-assets,.mark-settlement,.utility-dashboard,.utility-progress,.utility-workflow,.utility-notice,.utility-settings,.utility-imports,.utility-logs,.utility-approval{--mark-a: #aa2d00;--mark-b: #0a2e0e;--mark-c: #fcab79;--utility-a: #181d26;--utility-b: #1b61c9;--utility-c: #a8d8c4}.mark-finance{--mark-a: #0a2e0e;--mark-b: #a8d8c4;--mark-c: #f4d35e}.mark-site-cost,.utility-progress{--mark-a: #aa2d00;--mark-b: #fcab79;--mark-c: #f5e9d4;--utility-a: #aa2d00;--utility-b: #fcab79;--utility-c: #f5e9d4}.mark-payroll,.utility-workflow{--mark-a: #1b61c9;--mark-b: #a8d8c4;--mark-c: #f4d35e;--utility-a: #1b61c9;--utility-b: #a8d8c4;--utility-c: #f4d35e}.workspace-user-card i,.workflow-shortcut-dot{background:var(--airtable-success);box-shadow:0 0 0 4px #0064001a}.avatar,.workspace-user-avatar{background:var(--airtable-soft);color:var(--airtable-ink);box-shadow:none}.workspace-content,.detail-stack,.module-detail,.site-cost-page{color:var(--airtable-body)}.topbar,.heading,.site-data-head,.site-toolbar,.data-filter,.site-cost-summary.compact,.site-design-tabs,.site-cost-tabs.compact{border-color:var(--airtable-line);background:transparent}.site-design-tabs button,.nav button{border-radius:6px;color:var(--airtable-body)}.data-filter label,.filter-bar{border-color:var(--airtable-line);background:var(--airtable-soft);box-shadow:none}.site-cost-tabs.compact button{border-radius:6px 6px 0 0;color:var(--airtable-body)}@media(max-width:560px){.site-payable-debt-form{grid-template-columns:1fr}.workspace .toolbar-button,.workspace .btn,.workspace .auth-switch,.workspace .project-logout,.workspace .workflow-shortcut{min-height:44px;min-width:44px}.workspace .toolbar-icon,.workspace .icon-btn{width:44px;height:44px;min-height:44px}.workspace .site-table-footer select{min-height:44px}}.site-cost-tabs.compact button.active:after{background:var(--airtable-coral)}.site-cost-summary.compact article,.approval-card-title{border-color:var(--airtable-line);background:var(--airtable-soft);box-shadow:none}.table-wrap,.progress-segment-table-wrap{border-color:var(--airtable-line);border-radius:10px;background:var(--airtable-canvas);box-shadow:none}.data-table,.workflow-table,.approval-detail-table,.progress-segment-table{color:var(--airtable-body)}.data-table th,.progress-segment-table th{background:var(--airtable-soft);color:var(--airtable-muted)}.data-table th,.data-table td,.workflow-data-center-table td,.approval-detail-table th,.approval-detail-table td,.progress-segment-table th,.progress-segment-table td{border-color:var(--airtable-line)}.data-table tbody tr:hover,.workflow-data-center-table tbody tr:hover,.progress-segment-table tbody tr:hover{background:#a8d8c42e}.data-table td,.approval-detail-table td,.workflow-data-center-table td{background:transparent}.site-table-footer,.table-page-size,.site-search,.site-filter-select{border-color:var(--airtable-line);border-radius:10px;background:var(--airtable-canvas);color:var(--airtable-muted);box-shadow:none}.perm-chip.full,.progress-segment-table .over{background:#a8d8c452;color:var(--airtable-success)}.perm-chip.read,.progress-segment-table .over.warn{background:#f4d35e47;color:#7a540b}.perm-chip.none,.progress-segment-table .over.hot{background:#aa2d001a;color:var(--airtable-coral)}.editor-modal-backdrop,.import-modal-backdrop,.quick-fill-backdrop{background:#181d2675;-webkit-backdrop-filter:none;backdrop-filter:none}.import-modal-head,.form-modal-head,.form-modal-footer,.import-dialog-template,.import-dialog-tips,.import-drop-zone,.import-report-side,.import-report-card,.import-report-reason{border-color:var(--airtable-line);background:var(--airtable-canvas);color:var(--airtable-body)}.import-stepper .active,.import-stepper li.active span{border-color:var(--airtable-dark);background:var(--airtable-dark);color:#fff;box-shadow:none}.import-drop-zone{border-style:dashed;border-color:#9297a0}.import-report-card.failure,.import-report-card.error{border-color:#aa2d0038;background:#aa2d000f}.import-report-card.success{border-color:#00640038;background:#a8d8c438}.progress-console{border-color:var(--airtable-line);border-radius:12px;background:linear-gradient(90deg,rgba(221,221,221,.55) 1px,transparent 1px),linear-gradient(0deg,rgba(221,221,221,.45) 1px,transparent 1px),var(--airtable-canvas);color:var(--airtable-body);box-shadow:var(--hz-shadow-sm)}.progress-console-bg{background:linear-gradient(115deg,transparent 0 18%,rgba(170,45,0,.08) 18% 18.2%,transparent 18.2% 100%),repeating-linear-gradient(180deg,rgba(248,250,252,.7) 0 1px,transparent 1px 10px)}.progress-cloud-status{border-color:#00640033;background:#a8d8c447;color:var(--airtable-success);box-shadow:none}.progress-kpi,.progress-panel,.progress-upload-dock,.progress-loading,.progress-empty,.progress-gauge,.progress-average-row,.progress-concrete-bar,.progress-metric,.progress-segment{border-color:var(--airtable-line);background:var(--airtable-canvas);box-shadow:none}.progress-step-row span{background:#1b61c91a}.progress-gauge:before{background:radial-gradient(circle at center,#ffffff 0 54%,transparent 55%),conic-gradient(var(--airtable-link) var(--gauge-value),#e0e2e6 0);filter:none}.progress-gauge.amber:before{background:radial-gradient(circle at center,#ffffff 0 54%,transparent 55%),conic-gradient(var(--airtable-mustard) var(--gauge-value),#e0e2e6 0);filter:none}.progress-line-chart svg{border-color:var(--airtable-line);background:linear-gradient(90deg,rgba(221,221,221,.55) 1px,transparent 1px),linear-gradient(0deg,rgba(221,221,221,.45) 1px,transparent 1px),var(--airtable-soft)}.progress-line-chart circle{fill:var(--airtable-coral);stroke:#fff}.progress-step-track,.progress-concrete-bar i{background:#e0e2e6;box-shadow:none}.progress-step-track i,.progress-concrete-bar b{background:linear-gradient(90deg,var(--airtable-forest),var(--airtable-link))}.progress-upload-message.active,.form-message.success,.table-success{color:var(--airtable-success)}.form-message.error,.table-error,.import-report-error,.import-report-card.failure strong{color:var(--airtable-coral)}.site-empty-table,.progress-empty{color:var(--airtable-muted)}strong,.metric-card strong,.site-cost-summary strong,.progress-kpi strong,.progress-gauge strong,.progress-metric strong,.progress-average-row strong,.progress-concrete-bar span,.data-table td[data-label*=金额],.data-table td[data-label*=总价],.data-table td[data-label*=数量]{font-variant-numeric:tabular-nums}@media(max-width:900px){.workspace-sidebar{background:var(--airtable-canvas)}.workspace-nav-item.active{box-shadow:inset 2px 0 0 var(--airtable-coral)}}@media(max-width:560px){.auth-screen{padding:12px}.auth-card,.project-card,.card,.module-card,.site-table-card,.progress-panel{border-radius:10px}}.pixel-icon{color:currentColor;stroke-width:2}.auth-logo .pixel-icon,.mark .pixel-icon,.project-icon .pixel-icon{width:22px;height:22px}.workspace-logo{width:38px;height:38px;box-sizing:border-box;padding:8px}.workspace-nav-icon .pixel-icon{width:18px;height:18px;color:currentColor}.abstract-module-mark,.utility-nav-mark{width:18px;height:18px}.project-brand .mark,.project-icon{border:1px solid var(--airtable-line);background:var(--macaron-sky);color:var(--macaron-ink);box-shadow:inset 0 1px #ffffffb8}.project-card{align-items:stretch;border-color:var(--airtable-line);background:var(--airtable-canvas);color:var(--airtable-body);box-shadow:var(--hz-shadow-sm)}.project-card:hover,.project-card:focus-visible{border-color:#9297a0;background:var(--airtable-soft);box-shadow:none;transform:none}.project-card:focus-visible{outline:2px solid rgba(24,29,38,.22);outline-offset:3px}.project-screen{min-height:100vh;position:relative;isolation:isolate;overflow:hidden auto;display:grid;grid-template-rows:auto 1fr;padding:16px;background:#071421;color:#edf8ff;font-family:Hiragino Sans GB,PingFang SC,Noto Sans CJK SC,Microsoft YaHei,sans-serif}.project-screen:before{content:"";position:fixed;inset:-6%;z-index:-3;background-image:url(/assets/project-tromso-deep-blue-Cflyy6dB.jpg);background-position:50% 45%;background-size:cover;background-repeat:no-repeat;filter:saturate(1.08) contrast(1.06) brightness(.82);transform:scale(1.06);animation:auth-tromso-drift 56s ease-in-out infinite alternate}.project-screen:after{content:"";position:fixed;inset:0;z-index:-2;background:linear-gradient(180deg,#030d1833,#02081194 58%,#020811c7),radial-gradient(circle at 18% 16%,rgba(147,197,253,.22),transparent 30%),radial-gradient(circle at 86% 26%,rgba(56,189,248,.16),transparent 32%),linear-gradient(90deg,#02081175,#05111e14 46%,#02081180)}.project-top{min-height:58px;padding:9px 14px;border:1px solid rgba(226,244,255,.22);border-radius:18px;background:linear-gradient(135deg,#eef8ff38,#7dd3fc14),#06132257;box-shadow:inset 0 1px #ffffff57,0 16px 46px #00000042;backdrop-filter:blur(22px) saturate(1.28);-webkit-backdrop-filter:blur(22px) saturate(1.28)}.project-brand{color:#f7fcff;gap:10px;font-family:system-ui,sans-serif;font-size:16px;font-weight:680;letter-spacing:0;text-shadow:0 2px 24px rgba(0,0,0,.34)}.project-brand>span{display:grid;gap:2px}.project-brand small{color:#e2f4ffad;font-size:10px;font-family:inherit;font-weight:480}.project-brand .mark{width:34px;height:34px;border-color:#e2f4ff4d;border-radius:12px;background:linear-gradient(145deg,#f0f9ffb3,#7dd3fc38),#ffffff21;color:#eaf9ff;box-shadow:inset 0 1px #ffffff8c,0 14px 28px #02081147}.project-screen .global{gap:9px}.project-screen .avatar{width:34px;height:34px;border:1px solid rgba(226,244,255,.24);background:#f0f9ff2e;color:#f8fdff;box-shadow:inset 0 1px #ffffff5c,0 16px 34px #00000047}.project-logout{min-height:34px;border:1px solid rgba(226,244,255,.24);border-radius:999px;background:#f0f9ff24;color:#f7fcffdb;box-shadow:inset 0 1px #ffffff3d;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.project-logout:hover,.project-logout:focus-visible,.project-logout.ant-btn:not(:disabled):not(.ant-btn-disabled):hover,.project-logout.ant-btn:not(:disabled):not(.ant-btn-disabled):focus-visible{border-color:#e2f4ff6b;background:#f0f9ff38;color:#fff}.project-logout.ant-btn:not(:disabled):not(.ant-btn-disabled):active{border-color:#e2f4ff57;background:#f0f9ff2e;color:#fff}.project-main{width:min(100%,1120px);margin:0 auto;padding:30px 6px;display:grid;gap:22px}.project-title{max-width:920px;padding:0 8px;color:#f7fcff}.project-title .project-eyebrow{margin:0 0 10px;color:#cdebffd6;font-family:Cormorant Garamond,Times New Roman,Songti SC,serif;font-size:12px;font-weight:620;letter-spacing:.18em}.project-quote{margin:0;padding:2px 0 0}.project-quote-cn{max-width:900px;margin:0;color:#f8fdff;font-family:Kaiti SC,STKaiti,Songti SC,"Noto Serif CJK SC",serif;font-size:clamp(26px,3.7vw,43px);font-weight:520;line-height:1.28;letter-spacing:.02em;text-shadow:0 5px 24px rgba(0,0,0,.42)}.project-quote-en{max-width:780px;margin:0;color:#fff;font-family:Snell Roundhand,Cormorant Garamond,Georgia,serif;font-size:clamp(18px,2.1vw,26px);font-weight:500;line-height:1.42;letter-spacing:.01em;text-shadow:0 2px 18px rgba(0,0,0,.82),0 0 18px rgba(255,255,255,.16)}.project-screen .project-title .project-quote .project-quote-en{color:#fff}.project-quote footer{margin-top:10px;color:#e2f4ffe6;font-family:Cormorant Garamond,Kaiti SC,serif;font-size:15px;font-weight:560;letter-spacing:.08em;text-shadow:0 2px 16px rgba(0,0,0,.64)}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2.2vw,24px);align-items:stretch;margin-top:0}.project-card{position:relative;min-height:clamp(310px,45vh,430px);display:grid;grid-template-rows:1fr auto;align-items:stretch;overflow:hidden;padding:clamp(18px,2.2vw,24px);border:1px solid rgba(226,244,255,.28);border-radius:22px;background:linear-gradient(150deg,#f6fbff2e,#7dd3fc0e 45%,#09152538),#07162629;color:#f8fdff;box-shadow:inset 0 1px #ffffff61,inset 0 -1px #ffffff1a,0 22px 56px #0000004d;backdrop-filter:blur(24px) saturate(1.28);-webkit-backdrop-filter:blur(24px) saturate(1.28);transform-style:preserve-3d;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,background .18s ease}.project-card:before{content:"";position:absolute;inset:1px;pointer-events:none;border-radius:20px;background:linear-gradient(135deg,rgba(255,255,255,.2),transparent 32%),radial-gradient(circle at 28% 18%,rgba(255,255,255,.13),transparent 24%),linear-gradient(180deg,transparent 64%,rgba(2,8,17,.2))}.project-card:after{content:attr(data-card-index);position:absolute;right:18px;bottom:16px;color:#e2f4ff1a;font-family:Cormorant Garamond,Times New Roman,serif;font-size:52px;font-weight:700;line-height:1}.project-card:hover,.project-card:focus-visible,.project-card.ant-btn:not(:disabled):not(.ant-btn-disabled):hover,.project-card.ant-btn:not(:disabled):not(.ant-btn-disabled):focus-visible{transform:translateY(-4px) rotateX(1deg);border-color:#e2f4ff7a;background:linear-gradient(150deg,#f6fbff40,#7dd3fc14 48%,#0915252e),#0716263d;color:#f8fdff;box-shadow:inset 0 1px #ffffff75,0 26px 68px #0000005c}.project-card.ant-btn:not(:disabled):not(.ant-btn-disabled):active{transform:translateY(-2px) rotateX(.5deg);border-color:#e2f4ff6b;background:linear-gradient(150deg,#f6fbff38,#7dd3fc12 48%,#09152533),#07162638;color:#f8fdff;box-shadow:inset 0 1px #ffffff6b,0 20px 52px #00000052}.project-card:focus-visible{outline:2px solid rgba(191,234,255,.72);outline-offset:4px}.project-card-copy{position:relative;z-index:1;min-width:0;display:grid;gap:12px;align-content:start}.project-icon{width:54px;height:54px;border-radius:16px}.project-icon-pixel{border-color:#e2f4ff57;background:linear-gradient(145deg,#f0f9ffa8,#7dd3fc33),#ffffff1f;padding:6px}.project-pixel-logo{border-radius:11px;box-shadow:inset 0 0 0 1px #0208111a,0 12px 24px #0000002e}.project-card h2{max-width:9em;margin:6px 0 0;color:#f9fdff;font-family:system-ui,sans-serif;font-size:clamp(20px,2.2vw,28px);font-weight:680;line-height:1.16;overflow-wrap:anywhere;text-shadow:0 4px 28px rgba(0,0,0,.32)}.project-card p{max-width:24em;color:#e2f4ffbd;font-family:PingFang SC,Microsoft YaHei,sans-serif;font-size:12px;line-height:1.62;overflow-wrap:anywhere}.project-meta{margin-top:4px}.project-meta span{border:1px solid rgba(226,244,255,.2);border-radius:999px;background:#f0f9ff1f;color:#f7fcffd1;padding:5px 8px;font-family:PingFang SC,Microsoft YaHei,sans-serif;font-size:10px;font-weight:620;overflow-wrap:anywhere}.project-card-corner{position:absolute;z-index:1;color:#e2f4ffb8;font-family:Cormorant Garamond,Times New Roman,serif;font-size:14px;font-weight:720;line-height:1}.project-card-corner.top{top:16px;right:18px}.project-card-corner.bottom{left:18px;bottom:18px}.project-card-action{position:relative;z-index:1;justify-self:end;align-self:end;min-height:34px;display:inline-flex;align-items:center;border:1px solid rgba(226,244,255,.28);border-radius:999px;background:#f0f9ff29;color:#f8fdff;padding:0 13px;font-family:PingFang SC,Microsoft YaHei,sans-serif;font-size:12px;font-weight:680;box-shadow:inset 0 1px #ffffff3d}@media(prefers-reduced-motion:reduce){.project-screen:before{animation:none}}@media(max-width:900px){.project-screen{padding:16px}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.project-card{min-height:300px}}@media(max-width:760px){.project-grid{grid-template-columns:1fr}}@media(max-width:560px){.project-screen{padding:12px}.project-top{align-items:flex-start;gap:14px;padding:14px;border-radius:20px}.project-main{padding:28px 2px}.project-quote-cn{font-size:30px}.project-card{min-height:0;padding:22px;border-radius:24px}}:root{--mission-bg: #050a0f;--mission-panel: rgba(5, 16, 22, .88);--mission-panel-strong: rgba(9, 27, 36, .94);--mission-line: rgba(93, 244, 255, .28);--mission-line-soft: rgba(93, 244, 255, .14);--mission-cyan: #5df4ff;--mission-green: #69ffb8;--mission-amber: #ffd166;--mission-red: #ff6b6b;--mission-text: #eaffff;--mission-muted: #8fb7bf;--mission-grid: rgba(93, 244, 255, .08);--mission-font: "Monaco", "Menlo", "Consolas", "Courier New", "PingFang SC", "Microsoft YaHei", monospace}.progress-console,.mission-dashboard{font-family:var(--mission-font);color:var(--mission-text)}.progress-console{position:relative;display:grid;gap:12px;min-height:calc(100dvh - 24px);padding:14px;overflow:hidden;border:1px solid var(--mission-line);border-radius:2px;background:linear-gradient(90deg,var(--mission-grid) 1px,transparent 1px),linear-gradient(0deg,rgba(105,255,184,.055) 1px,transparent 1px),linear-gradient(135deg,#061019,#08151b 48%,#110f08);background-size:28px 28px,28px 28px,100% 100%;box-shadow:inset 0 0 0 1px #ffffff09,0 18px 48px #02060c47}.progress-console-bg{position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 0 16%,rgba(255,209,102,.12) 16% 16.2%,transparent 16.2% 100%),repeating-linear-gradient(180deg,rgba(234,255,255,.04) 0 1px,transparent 1px 9px);-webkit-mask-image:linear-gradient(180deg,#000,#000000c7 68%,#0003);mask-image:linear-gradient(180deg,#000,#000000c7 68%,#0003)}.progress-console>*:not(.progress-console-bg){position:relative;z-index:1}.progress-hero,.progress-upload-dock,.progress-date-range,.progress-kpi,.progress-panel,.mission-dashboard .panel,.mission-dashboard .metric-card{border:1px solid var(--mission-line-soft);border-radius:2px;background:var(--mission-panel);box-shadow:inset 0 0 0 1px #ffffff06}.progress-hero{align-items:center;padding:12px}.progress-kicker,.progress-panel-title span,.mission-dashboard .panel-head span,.dashboard-readout span,.progress-date-range strong{color:var(--mission-cyan);font-size:11px;font-weight:800;text-transform:uppercase}.progress-hero h1,.progress-panel-title h2,.mission-dashboard .panel-head h2,.mission-dashboard .metric-card strong,.dashboard-readout strong{color:var(--mission-text);font-weight:800}.progress-hero p,.progress-upload-message,.progress-empty span,.progress-kpi em,.progress-gauge span,.progress-gauge em,.progress-average-row span,.progress-concrete-bar em,.progress-segment span,.progress-segment em,.dashboard-readout em,.dashboard-concrete-list em,.dashboard-line-chart div span{color:var(--mission-muted)}.progress-cloud-status,.progress-step-row span,.progress-line-labels span{border:1px solid rgba(105,255,184,.32);border-radius:2px;background:#69ffb81a;color:var(--mission-green);box-shadow:none}.progress-ghost-button,.progress-upload-button,.mission-dashboard button,.mission-dashboard .btn,.mission-dashboard .toolbar-button,.mission-dashboard .toolbar-icon{min-height:32px;border:1px solid rgba(189,231,255,.62);border-radius:2px;background:var(--macaron-sky);color:var(--macaron-ink);box-shadow:none;transform:none}.progress-ghost-button:hover,.progress-upload-button:hover,.mission-dashboard button:hover,.mission-dashboard .btn:hover,.mission-dashboard .toolbar-button:hover,.mission-dashboard .toolbar-icon:hover{border-color:#fff1a8b8;background:var(--macaron-cream);color:var(--macaron-ink);box-shadow:none;transform:none}.progress-ghost-button:disabled,.progress-upload-button.disabled,.mission-dashboard button:disabled{border-color:#8fb7bf38;background:#8fb7bf2e;color:#eaffff94;opacity:1}.progress-upload-dock{padding:10px}.progress-date-range{display:grid;gap:10px;padding:10px 12px 12px}.progress-date-range.disabled{opacity:.72}.progress-date-range-head,.progress-range-ticks{display:flex;align-items:center;justify-content:space-between;gap:12px}.progress-date-range-head span,.progress-range-presets button,.progress-range-ticks button{color:var(--mission-muted);font-size:11px}.progress-range-presets{display:flex;flex-wrap:wrap;gap:6px}.progress-range-inputs,.dashboard-month-inputs{display:flex;flex-wrap:wrap;gap:8px 12px}.progress-range-inputs label,.dashboard-month-inputs label{display:grid;gap:4px;width:max-content;color:var(--mission-muted);font-size:11px;font-weight:700}.progress-range-inputs input,.dashboard-month-inputs input{appearance:none;-webkit-appearance:none;min-width:0;height:30px;padding:0 8px;border:1px solid rgba(93,244,255,.26);border-radius:2px;background:#030c12c7;background-clip:padding-box;color:var(--mission-cyan);color-scheme:dark;font:inherit;line-height:30px;box-shadow:inset 0 0 0 1px #5df4ff0a}.progress-range-inputs input::-webkit-date-and-time-value,.dashboard-month-inputs input::-webkit-date-and-time-value{min-height:30px;margin:0;text-align:left}.progress-range-inputs input::-webkit-datetime-edit,.dashboard-month-inputs input::-webkit-datetime-edit,.progress-range-inputs input::-webkit-datetime-edit-fields-wrapper,.dashboard-month-inputs input::-webkit-datetime-edit-fields-wrapper,.progress-range-inputs input::-webkit-datetime-edit-text,.dashboard-month-inputs input::-webkit-datetime-edit-text,.progress-range-inputs input::-webkit-datetime-edit-year-field,.dashboard-month-inputs input::-webkit-datetime-edit-year-field,.progress-range-inputs input::-webkit-datetime-edit-month-field,.dashboard-month-inputs input::-webkit-datetime-edit-month-field,.progress-range-inputs input::-webkit-datetime-edit-day-field,.dashboard-month-inputs input::-webkit-datetime-edit-day-field{padding:0;background:transparent;color:var(--mission-cyan)}.progress-range-inputs input::-webkit-calendar-picker-indicator,.dashboard-month-inputs input::-webkit-calendar-picker-indicator{margin:0;opacity:.9;filter:invert(84%) sepia(63%) saturate(663%) hue-rotate(141deg) brightness(105%) contrast(102%)}.progress-range-inputs input{width:160px}.dashboard-month-inputs input{width:150px}.progress-range-inputs input:focus,.dashboard-month-inputs input:focus{border-color:var(--mission-cyan);outline:0;box-shadow:0 0 0 2px #5df4ff29}.progress-range-presets button{min-height:24px;padding:0 8px;border:1px solid rgba(189,231,255,.5);border-radius:1px;background:var(--macaron-sky);color:var(--macaron-ink);box-shadow:none;cursor:pointer}.progress-range-presets button:hover{border-color:#fff1a8b8;background:var(--macaron-cream);color:var(--macaron-ink)}.progress-range-ticks button{min-height:22px;padding:0 6px;border:1px solid rgba(201,242,223,.5);border-radius:1px;background:var(--macaron-mint);color:var(--macaron-ink);box-shadow:none;cursor:pointer}.progress-range-ticks button:hover{border-color:#d8d0ffb8;background:var(--macaron-lavender);color:var(--macaron-ink)}.progress-range-axis{position:relative;height:38px;margin-top:4px}.progress-range-track{position:absolute;top:18px;left:0;right:0;height:4px;border:1px solid rgba(93,244,255,.18);background:#8fb7bf24}.progress-range-track i{position:absolute;top:-1px;bottom:-1px;background:var(--mission-cyan);box-shadow:0 0 12px #5df4ff57}.progress-range-tooltip{position:absolute;top:-2px;z-index:4;min-width:max-content;padding:2px 6px;border:1px solid rgba(93,244,255,.34);border-radius:1px;background:#030c12f0;box-shadow:0 0 14px #5df4ff33;color:var(--mission-cyan);font-family:var(--mission-font);font-size:10px;line-height:1.35;letter-spacing:0;opacity:0;pointer-events:none;text-transform:uppercase;transform:translateY(5px);transition:opacity .12s ease,transform .12s ease}.progress-range-tooltip.is-end{transform:translate(-100%,5px)}.progress-range-tooltip.is-visible{opacity:1;transform:translateY(0)}.progress-range-tooltip.is-end.is-visible{transform:translate(-100%)}.progress-range-axis input[type=range]{position:absolute;inset:0;width:100%;margin:0;border:0;background:transparent;pointer-events:none;appearance:none}.progress-range-axis input[type=range]::-webkit-slider-thumb{width:14px;height:22px;border:1px solid var(--mission-cyan);border-radius:1px;background:var(--mission-bg);box-shadow:0 0 0 2px #5df4ff29;pointer-events:auto;appearance:none}.progress-range-axis input[type=range]::-moz-range-thumb{width:14px;height:22px;border:1px solid var(--mission-cyan);border-radius:1px;background:var(--mission-bg);box-shadow:0 0 0 2px #5df4ff29;pointer-events:auto}.progress-distance-tool{display:grid;gap:8px;width:fit-content}.progress-distance-tool>button{min-height:30px;padding:0 10px;border:1px solid rgba(189,231,255,.62);border-radius:2px;background:var(--macaron-sky);color:var(--macaron-ink);font-family:var(--mission-font);font-size:12px;font-weight:800;box-shadow:none;cursor:pointer}.progress-distance-tool>button:hover{border-color:#fff1a8b8;background:var(--macaron-cream)}.progress-distance-panel{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr));gap:8px;min-width:min(620px,100%);padding:10px;border:1px solid var(--mission-line-soft);border-radius:2px;background:#02080d8f}.progress-distance-panel label{display:grid;gap:4px;color:var(--mission-muted);font-size:11px;font-weight:800}.progress-distance-panel input{height:30px;border:1px solid rgba(93,244,255,.18);border-radius:2px;background:#051016c2;color:var(--mission-text);font-family:var(--mission-font);font-size:12px}.progress-distance-result{display:grid;align-content:center;gap:4px;padding:8px;border:1px solid rgba(105,255,184,.2);border-radius:2px;background:#69ffb814}.progress-distance-result span{color:var(--mission-muted);font-size:11px;font-weight:800}.progress-distance-result strong{color:var(--mission-green);font-size:16px}.progress-rock-section{display:grid;grid-column:1 / -1;gap:8px;padding-top:2px}.progress-rock-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.progress-rock-section-head span{color:var(--mission-cyan);font-family:var(--mission-font);font-size:11px;font-weight:900}.progress-rock-section-head button,.progress-rock-row>button{min-height:28px;border:1px solid rgba(189,231,255,.56);border-radius:2px;background:var(--macaron-mint);color:var(--macaron-ink);font-family:var(--mission-font);font-size:11px;font-weight:900;cursor:pointer}.progress-rock-section>p{margin:0;color:var(--mission-muted);font-size:11px}.progress-rock-rows{display:grid;gap:6px}.progress-rock-row{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr)) auto;gap:6px;align-items:end}.progress-rock-row>button{padding:0 10px;background:var(--macaron-rose)}.progress-total-overview{--progress-percent: 0%;display:grid;grid-template-columns:minmax(160px,.24fr) minmax(260px,1fr) minmax(96px,.14fr);align-items:center;gap:14px;min-height:108px;padding:14px;border:1px solid var(--mission-line-soft);border-radius:2px;background:#02080d8f;box-shadow:inset 0 0 0 1px #ffffff06}.progress-total-copy,.progress-total-readout{display:grid;gap:4px}.progress-total-copy span{color:var(--mission-cyan);font-size:10px;font-weight:800;text-transform:uppercase}.progress-total-copy strong{color:var(--mission-text);font-size:18px;line-height:1.1}.progress-total-copy em,.progress-total-readout em{color:var(--mission-muted);font-size:11px;font-style:normal}.progress-current-rock-grade{width:fit-content;max-width:100%;padding:3px 6px;border:1px solid rgba(93,244,255,.18);border-radius:2px;color:var(--mission-amber);background:#5df4ff0f;font-family:var(--mission-font);font-size:10px;font-weight:900;line-height:1.2}.progress-total-track-wrap{display:grid;gap:11px}.progress-total-track{position:relative;min-height:28px;overflow:hidden;border:1px solid rgba(93,244,255,.26);border-radius:3px;background:#07141ce0;box-shadow:inset 0 0 0 1px #ffffff09,inset 0 0 18px #5df4ff0f}.progress-total-fill{position:absolute;inset:4px auto 4px 4px;width:max(0px,calc(var(--progress-percent) - 8px));max-width:calc(100% - 8px);border-radius:2px;background:var(--mission-cyan);box-shadow:0 0 18px #5df4ff42}.progress-total-marker{position:absolute;top:3px;bottom:3px;left:clamp(8px,var(--progress-percent),calc(100% - 8px));width:3px;border-radius:999px;background:var(--mission-amber);transform:translate(-50%)}.progress-total-inline-label{position:absolute;top:50%;left:clamp(34px,calc(var(--progress-percent) / 2),calc(100% - 34px));z-index:1;color:#06232d;font-family:var(--mission-font);font-size:11px;font-weight:900;line-height:1;text-shadow:0 1px 0 rgba(234,255,255,.42);transform:translate(-50%,-50%)}.progress-rock-track{position:relative;height:22px;margin-top:10px;overflow:visible;border:1px solid rgba(174,226,255,.22);border-radius:2px;background:linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px) 0 0 / 10% 100%,#040f16d1;box-shadow:inset 0 0 0 1px #ffffff06,0 0 16px #5df4ff14}.progress-rock-segment{--segment-left: 0%;--segment-width: 0%;--segment-color: var(--macaron-mint);position:absolute;left:var(--segment-left);top:5px;width:var(--segment-width);min-width:4px;height:10px;border:1px solid rgba(2,8,13,.72);border-radius:1px;background:var(--segment-color);color:#102130;font-family:var(--mission-font);font-size:9px;font-weight:900;line-height:1;text-align:center;cursor:crosshair;box-shadow:0 0 10px color-mix(in srgb,var(--segment-color) 42%,transparent);transition:filter .16s ease,transform .16s ease,box-shadow .16s ease}.progress-rock-segment:hover{z-index:3;filter:saturate(1.18) brightness(1.12);transform:translateY(-1px);box-shadow:0 0 18px color-mix(in srgb,var(--segment-color) 62%,transparent)}.progress-rock-segment span{position:absolute;left:50%;bottom:calc(100% + 5px);display:block;overflow:hidden;max-width:58px;padding:0 2px;color:var(--segment-color);line-height:1;text-shadow:0 0 8px rgba(0,0,0,.92),0 0 10px color-mix(in srgb,var(--segment-color) 54%,transparent);text-overflow:ellipsis;white-space:nowrap;transform:translate(-50%);pointer-events:none}.progress-rock-legend{display:flex;flex-wrap:wrap;gap:6px}.progress-rock-legend span{display:inline-flex;align-items:center;gap:4px;color:var(--mission-muted);font-family:var(--mission-font);font-size:10px;font-weight:800}.progress-rock-legend i{width:10px;height:10px;border-radius:2px;background:var(--segment-color)}.progress-part-bars{display:grid;gap:9px;padding-top:6px}.progress-part-row{display:grid;grid-template-columns:minmax(116px,150px) minmax(180px,1fr) minmax(42px,auto) minmax(62px,auto);align-items:center;gap:10px;color:var(--mission-muted);font-family:var(--mission-font);font-size:12px;font-weight:900;line-height:1.15}.progress-part-row span,.progress-part-row strong,.progress-part-row em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progress-part-row span{color:var(--mission-text)}.progress-part-row strong{color:var(--mission-cyan);font-size:12px;text-align:right;text-shadow:0 0 10px rgba(81,236,255,.3)}.progress-part-row em{color:var(--mission-text);font-style:normal;text-align:right}.progress-part-track{--part-percent: 0%;--part-color: var(--mission-cyan);position:relative;height:13px;overflow:hidden;border:1px solid rgba(189,231,255,.18);border-radius:999px;background:#07141ce6}.progress-part-track i{position:absolute;inset:2px auto 2px 2px;width:max(4px,calc(var(--part-percent) - 4px));max-width:calc(100% - 4px);border-radius:inherit;background:var(--part-color);box-shadow:0 0 10px color-mix(in srgb,var(--part-color) 45%,transparent)}.progress-total-readout{justify-items:end;text-align:right}.progress-total-readout span{color:var(--mission-amber);font-size:30px;font-weight:900;line-height:1;text-shadow:0 0 14px rgba(255,209,102,.32)}.progress-kpi-grid{gap:10px}.progress-kpi{min-height:78px;padding:12px}.progress-kpi span,.progress-metric span{color:var(--mission-muted)}.progress-kpi strong,.progress-metric strong,.progress-average-row strong,.progress-step-row em,.progress-concrete-bar span{color:var(--mission-amber)}.progress-kpi.amber strong,.progress-metric.amber strong{color:var(--mission-red)}.progress-panel{padding:12px}.progress-gauge,.progress-metric,.progress-average-row,.progress-concrete-bar,.progress-segment,.progress-empty,.progress-loading,.progress-line-chart svg,.progress-segment-table-wrap{border:1px solid rgba(93,244,255,.14);border-radius:2px;background:#02080d80}.progress-gauge:before{background:radial-gradient(circle at center,var(--mission-bg) 0 54%,transparent 55%),conic-gradient(var(--mission-cyan) var(--gauge-value),rgba(143,183,191,.25) 0);filter:drop-shadow(0 0 12px rgba(93,244,255,.18))}.progress-gauge.amber:before{background:radial-gradient(circle at center,var(--mission-bg) 0 54%,transparent 55%),conic-gradient(var(--mission-amber) var(--gauge-value),rgba(143,183,191,.25) 0)}.progress-line-chart svg,.dashboard-line-chart svg{background:linear-gradient(90deg,var(--mission-grid) 1px,transparent 1px),linear-gradient(0deg,rgba(255,209,102,.07) 1px,transparent 1px),#02080d70;background-size:34px 34px}.progress-line-chart path:nth-of-type(2),.dashboard-line-chart path:nth-of-type(2){fill:none;stroke:var(--mission-cyan);stroke-linecap:square;stroke-width:1.8}.progress-line-chart path:nth-of-type(1),.dashboard-line-chart path:nth-of-type(1){fill:#5df4ff1f}.progress-line-chart circle,.dashboard-line-chart circle{fill:var(--mission-amber);stroke:var(--mission-bg)}.progress-step-track,.progress-concrete-bar i{position:relative;border-radius:1px;background:#8fb7bf38}.progress-step-track i,.progress-concrete-bar b{border-radius:1px;background:var(--mission-cyan)}.progress-step-track i{width:var(--step-fill, 0%)}.progress-step-track.good i,.progress-step-track.cool i{background:linear-gradient(90deg,#35f29d,var(--mission-green));box-shadow:0 0 10px #69ffb838}.progress-step-track.warm i{background:linear-gradient(90deg,var(--mission-amber),#ff9958);box-shadow:0 0 10px #ffd16638}.progress-step-track.hot i{background:linear-gradient(90deg,#ff9958,var(--mission-red));box-shadow:0 0 12px #ff6b6b42}.progress-step-breakpoint{position:absolute;top:-4px;left:var(--step-benchmark, 0%);width:2px;height:17px;border:1px solid rgba(234,255,255,.72);border-radius:1px;background:#050a0f;box-shadow:0 0 8px #eaffff4d;transform:translate(-50%)}.progress-step-breakpoint span{position:absolute;bottom:18px;left:50%;min-width:max-content;padding:2px 5px;border:1px solid rgba(93,244,255,.28);border-radius:1px;background:#030c12f5;color:var(--mission-cyan);font-family:var(--mission-font);font-size:10px;font-weight:800;opacity:0;pointer-events:none;transform:translate(-50%,3px);transition:opacity .12s ease,transform .12s ease}.progress-step-track:hover .progress-step-breakpoint span,.progress-step-track:focus-within .progress-step-breakpoint span,.progress-step-row:hover .progress-step-breakpoint span,.progress-step-row:focus-within .progress-step-breakpoint span{opacity:1;transform:translate(-50%)}.progress-step-row.cool em,.progress-step-row.good em{color:var(--mission-green)}.progress-step-row.warm em{color:var(--mission-amber)}.progress-step-row.hot em{color:var(--mission-red)}.progress-console .progress-gauge strong,.progress-console .progress-step-row strong,.progress-console .progress-average-row span{color:var(--mission-text);font-weight:800}.progress-console .progress-gauge strong{color:var(--mission-text);text-shadow:0 0 12px rgba(93,244,255,.42)}.progress-console .progress-step-row strong,.progress-console .progress-average-row span{color:var(--mission-text)}.progress-console .progress-average-row.good strong span{color:var(--mission-green)}.progress-console .progress-average-row.hot strong span{color:var(--mission-red)}.progress-console .progress-average-row strong em{color:var(--mission-muted)}.progress-console .progress-concrete-bar div{background:#eaffff14}.progress-console .progress-concrete-bar strong{color:#eaffff;text-shadow:0 1px 0 rgba(0,0,0,.78)}.progress-console .progress-concrete-bar span{color:#ffe08a;text-shadow:0 1px 0 rgba(0,0,0,.78)}.progress-console .progress-gauge span,.progress-console .progress-gauge em{color:#b9f7ff}.progress-segment-table{color:var(--mission-text)}.progress-console .progress-segment-table-wrap{border-color:#5df4ff38;background:#030a12eb}.progress-console .progress-segment-table-wrap .ant-table,.progress-console .progress-segment-table-wrap .ant-table-container,.progress-console .progress-segment-table-wrap .ant-table-content,.progress-console .progress-segment-table{background:transparent;color:var(--mission-text)}.progress-segment-table th{background:#07131b;color:var(--mission-cyan)}.progress-console .progress-segment-table .ant-table-thead>tr>th,.progress-console .progress-segment-table .ant-table-tbody>tr>td{background:transparent;border-color:#5df4ff21;color:var(--mission-text)}.progress-console .progress-segment-table .ant-table-thead>tr>th{background:#07131b;color:var(--mission-cyan)}.progress-console .progress-segment-table .ant-table-tbody>tr:hover>td{background:#5df4ff14}.progress-segment-table th,.progress-segment-table td{border-color:#5df4ff21}.progress-segment-table .over{border-radius:1px;background:#69ffb824;color:var(--mission-green);font-family:var(--mission-font);font-variant-numeric:tabular-nums;letter-spacing:0}.progress-segment-table .over.warn{background:#ffd16626;color:var(--mission-amber)}.progress-segment-table .over.hot{background:#ff6b6b26;color:var(--mission-red)}.business-dashboard{--bi-blue: #2563eb;--bi-green: #158f69;--bi-orange: #d97706;--bi-red: #dc4c3f;--bi-ink: #182230;--bi-muted: #667085;--bi-line: #dfe5ec;--bi-soft: #f6f8fb;gap:16px;color:var(--bi-ink)}.business-dashboard,.business-dashboard *{letter-spacing:0}.bi-filter-bar{min-width:0;display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);align-items:center;gap:12px 18px;padding:12px 14px;border:1px solid var(--bi-line);border-radius:8px;background:#fff;box-shadow:0 2px 8px #1822300a}.bi-filter-context{min-width:180px;display:flex;flex-wrap:wrap;align-items:center;gap:5px 8px}.bi-filter-context strong{width:100%;color:var(--bi-ink);font-size:14px;line-height:20px}.bi-filter-context span,.bi-filter-meta{color:var(--bi-muted);font-size:12px;line-height:18px}.bi-dashboard-scope{width:100%}.bi-dashboard-scope .ant-segmented-item-label{min-height:26px;padding-inline:8px;font-size:11px;line-height:26px}.bi-filter-controls{min-width:0;display:flex;flex-wrap:nowrap;align-items:end;gap:10px}.bi-filter-field{min-width:126px;display:grid;gap:5px;color:#475467;font-size:12px;font-weight:650}.bi-filter-field>span{line-height:16px}.bi-filter-field .ant-select{width:132px}.bi-filter-dates{min-width:284px}.bi-filter-dates .ant-picker{width:284px}.bi-filter-actions{display:flex;flex-wrap:wrap;gap:6px}.bi-confirmation-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.bi-confirmation-toolbar>label{display:flex;align-items:center;gap:8px}.bi-confirmation-toolbar>.ant-tag{max-width:100%;white-space:normal;overflow-wrap:anywhere}.bi-source-record-value{white-space:pre-wrap;overflow-wrap:anywhere}.bi-filter-actions .ant-btn{width:34px;padding-inline:0}.bi-filter-meta{min-width:0;display:inline-flex;flex-wrap:wrap;gap:2px 8px;white-space:nowrap}.bi-cross-filter{min-width:0;min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 10px 7px 12px;border:1px solid #bfd4ff;border-radius:6px;background:#f5f8ff}.bi-cross-filter>div{min-width:0;display:flex;align-items:center;gap:8px}.bi-cross-filter span{color:var(--bi-muted);font-size:12px}.bi-cross-filter strong{overflow:hidden;color:#1d4ed8;font-size:12px;line-height:20px;text-overflow:ellipsis;white-space:nowrap}.business-dashboard .ant-btn{transition:color .14s ease,border-color .14s ease,background-color .14s ease,transform .12s cubic-bezier(.23,1,.32,1)}.business-dashboard .ant-btn:active{transform:scale(.97)}.bi-kpi-section{min-width:0;display:grid;gap:10px}.bi-section-heading{min-height:28px;display:flex;align-items:center;justify-content:space-between;gap:12px}.bi-section-heading>div{min-width:0;display:flex;align-items:baseline;gap:10px}.bi-section-heading h2,.bi-panel>header h2{margin:0;color:var(--bi-ink);font-size:15px;font-weight:760;line-height:22px}.bi-section-heading span,.bi-panel>header span{overflow:hidden;color:var(--bi-muted);font-size:12px;line-height:18px;text-overflow:ellipsis;white-space:nowrap}.bi-kpi-grid{min-width:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1px;padding:1px;overflow:hidden;border-radius:6px;background:var(--bi-line)}.bi-kpi-card{min-width:0;min-height:124px;display:grid;grid-template-rows:auto 1fr auto;gap:10px;padding:15px 16px 13px;overflow:hidden;border:0;border-radius:0;background:#fff}.bi-kpi-card.is-empty{background:#fafbfc}.bi-kpi-card.is-actionable{cursor:pointer;transition:background-color .12s ease,box-shadow .12s ease}.bi-kpi-card.is-actionable:hover{background:#f7faff;box-shadow:inset 0 -2px var(--bi-blue)}.bi-kpi-card.is-actionable:active{background:#eef4ff}.bi-kpi-card.is-actionable:focus-visible{box-shadow:inset 0 0 0 2px var(--bi-blue);outline:none}.bi-kpi-label{min-width:0;display:flex;align-items:center;gap:8px;color:#475467;font-size:12px;font-weight:650}.bi-kpi-label:before{width:6px;height:6px;flex:0 0 auto;border-radius:1px;background:#98a2b3;content:""}.bi-kpi-card.is-positive .bi-kpi-label:before{background:var(--bi-green)}.bi-kpi-card.is-negative .bi-kpi-label:before{background:var(--bi-red)}.bi-kpi-card.is-info .bi-kpi-label:before{background:var(--bi-blue)}.bi-kpi-label span{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bi-kpi-label .anticon{flex:0 0 auto;color:#98a2b3;cursor:help}.bi-kpi-card>strong{min-width:0;align-self:end;overflow:hidden;color:var(--bi-ink);font-size:26px;font-variant-numeric:tabular-nums;font-weight:760;line-height:32px;text-overflow:ellipsis;white-space:nowrap}.bi-kpi-card.is-empty>strong{color:#98a2b3;font-size:17px}.bi-kpi-footer{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--bi-muted);font-size:11px;line-height:16px}.bi-kpi-footer em{overflow:hidden;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.bi-kpi-delta{flex:0 0 auto;display:inline-flex;align-items:center;gap:4px;font-variant-numeric:tabular-nums}.bi-kpi-card.is-positive .bi-kpi-delta{color:var(--bi-green)}.bi-kpi-card.is-negative .bi-kpi-delta{color:var(--bi-red)}.bi-kpi-card.is-info .bi-kpi-delta{color:var(--bi-blue)}.bi-portfolio-coverage{min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:7px 18px;padding:10px 12px;border:1px solid var(--bi-line);border-radius:6px;background:#f8f9fb;color:#475467;font-size:12px}.bi-portfolio-coverage strong{color:var(--bi-ink)}.bi-portfolio-coverage span{white-space:nowrap}.bi-portfolio-coverage em{color:var(--bi-blue);font-style:normal;font-variant-numeric:tabular-nums;font-weight:700}.bi-chart-grid{min-width:0;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px;align-items:start}.bi-panel{min-width:0;overflow:hidden;border:1px solid var(--bi-line);border-radius:8px;background:#fff;box-shadow:0 2px 10px #1822300a}.bi-panel-half,.bi-panel-wide{grid-column:span 6}.bi-panel-full{grid-column:1 / -1}.bi-panel>header{min-width:0;min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px 10px;border-bottom:1px solid #edf0f4}.bi-panel>header span{max-width:52%;text-align:right}.bi-chart{width:100%;min-width:0}.bi-chart.is-interactive svg{cursor:pointer}.bi-empty{min-height:300px;display:grid;place-content:center;margin:0;color:var(--bi-muted)}.bi-empty.is-compact{min-height:90px}.bi-panel .ant-table-wrapper{min-width:0;padding:4px 10px 10px}.bi-panel .ant-table{color:#344054;font-size:12px}.bi-panel .ant-table-thead>tr>th{padding-block:9px;background:#f7f8fa;color:#475467;font-size:12px;font-weight:700}.bi-panel .ant-table-tbody>tr>td{padding-block:9px;font-variant-numeric:tabular-nums}.bi-panel .ant-table-tbody>tr:hover>td{background:#f7faff}.bi-supplier-row{cursor:pointer}.bi-supplier-row:focus-visible{outline:2px solid #7aa2f7;outline-offset:-2px}.bi-supplier-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bi-money-warning{color:var(--bi-orange);font-weight:720}.bi-money-risk{color:var(--bi-red)}.bi-portfolio-project{display:block;overflow:hidden;color:#344054;text-overflow:ellipsis;white-space:nowrap}.bi-portfolio-unavailable{color:#98a2b3}.bi-portfolio-panel .ant-table-tbody>tr:first-child>td{background:#f7faff}.bi-health-stack{min-height:340px;display:grid;align-content:start;gap:12px;padding:14px}.bi-quality-summary{min-width:0;display:grid;grid-template-columns:76px minmax(0,1fr);align-items:center;gap:14px}.bi-quality-summary>div{min-width:0;display:grid;gap:4px}.bi-quality-summary strong{color:var(--bi-ink);font-size:14px}.bi-quality-summary span,.bi-quality-summary em{color:var(--bi-muted);font-size:11px;font-style:normal;line-height:17px}.bi-quality-summary em{color:#475467}.bi-quality-action.ant-btn{width:fit-content;height:22px;padding:0;font-size:11px}.bi-detail-drawer .ant-drawer-body,.bi-management-drawer .ant-drawer-body{display:grid;grid-template-columns:minmax(0,1fr);align-content:start;gap:12px;padding:14px}.bi-detail-drawer .ant-drawer-body>*,.bi-management-drawer .ant-drawer-body>*{min-width:0}.bi-management-summary{min-width:0;display:flex;flex-wrap:wrap;gap:6px 18px;color:#667085;font-size:12px;line-height:20px}.bi-management-summary strong{color:var(--bi-ink);font-variant-numeric:tabular-nums}.bi-management-summary>span{min-width:0;overflow-wrap:anywhere}.bi-target-actions{display:inline-flex;align-items:center;gap:2px}.bi-target-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}.bi-target-form-grid .ant-picker,.bi-target-form-grid .ant-input-number{width:100%}.bi-target-note{grid-column:1 / -1}.bi-target-form-actions{display:flex;justify-content:flex-end;gap:8px}.bi-contract-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}.bi-contract-form-grid .ant-picker,.bi-contract-form-grid .ant-input-number{width:100%}.bi-contract-note{grid-column:1 / -1}.bi-detail-summary{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.7fr) minmax(0,.9fr);border:1px solid #e5e9ef;border-radius:6px;background:#f8f9fb}.bi-detail-summary>span{min-width:0;display:grid;gap:2px;padding:9px 11px;border-right:1px solid #e5e9ef}.bi-detail-summary>span:last-child{border-right:0}.bi-detail-summary small{color:var(--bi-muted);font-size:11px}.bi-detail-summary strong{color:var(--bi-ink);font-size:13px;font-variant-numeric:tabular-nums;line-height:20px;overflow-wrap:anywhere;white-space:normal}.bi-freshness{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid #edf0f4;border-radius:6px;background:var(--bi-soft)}.bi-freshness>span{min-width:0;display:grid;gap:2px;padding:8px 9px;border-right:1px solid #e8ebf0}.bi-freshness>span:nth-child(3n){border-right:0}.bi-freshness strong,.bi-freshness em{overflow:hidden;font-size:11px;font-style:normal;line-height:16px;text-overflow:ellipsis;white-space:nowrap}.bi-freshness strong{color:#475467}.bi-freshness em{color:var(--bi-muted)}.bi-signal-list{display:grid;gap:7px}.bi-signal{min-width:0;display:grid;grid-template-columns:18px minmax(0,1fr);gap:8px;padding:9px 10px;border:1px solid #e9edf2;border-left:3px solid #98a2b3;border-radius:6px;background:#fff}.bi-signal.is-danger{border-left-color:var(--bi-red)}.bi-signal.is-warning{border-left-color:var(--bi-orange)}.bi-signal.is-info{border-left-color:var(--bi-blue)}.bi-signal>.anticon{margin-top:2px;color:#667085}.bi-signal.is-danger>.anticon{color:var(--bi-red)}.bi-signal.is-warning>.anticon{color:var(--bi-orange)}.bi-signal.is-info>.anticon{color:var(--bi-blue)}.bi-signal>span{min-width:0;display:grid;gap:2px}.bi-signal strong,.bi-signal em{overflow-wrap:anywhere;font-style:normal;line-height:17px}.bi-signal strong{color:#344054;font-size:12px}.bi-signal em{color:var(--bi-muted);font-size:11px}.bi-all-clear{min-height:58px;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--bi-green);font-size:12px}.bi-all-clear .anticon{font-size:16px}@media(max-width:1320px){.bi-filter-bar{grid-template-columns:minmax(0,1fr);align-items:end}.bi-filter-controls{grid-column:1;grid-row:2;flex-wrap:wrap}.bi-kpi-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.bi-kpi-card{grid-column:span 2}.bi-kpi-card:nth-last-child(2):nth-child(3n+1),.bi-kpi-card:nth-last-child(2):nth-child(3n+1)~.bi-kpi-card{grid-column:span 3}.bi-panel-half,.bi-panel-wide,.bi-panel-full{grid-column:1 / -1}}@media(max-width:720px){.bi-detail-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.business-dashboard{gap:12px}.bi-filter-bar{grid-template-columns:minmax(0,1fr);align-items:stretch;padding:11px}.bi-filter-controls{grid-column:1;grid-row:auto}.bi-filter-field,.bi-filter-field .ant-select,.bi-filter-dates,.bi-filter-dates .ant-picker{width:100%;min-width:0}.bi-filter-controls{display:grid;grid-template-columns:minmax(0,1fr) auto}.bi-filter-dates,.bi-filter-controls>.bi-filter-field:nth-child(2){grid-column:1 / -1}.bi-filter-actions{align-self:end}.bi-cross-filter{align-items:flex-start}.bi-portfolio-coverage{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.bi-portfolio-coverage>strong{grid-column:1 / -1}.bi-cross-filter>div:first-child{display:grid;gap:1px}.bi-section-heading>div{display:grid;gap:1px}.bi-kpi-grid{grid-template-columns:minmax(0,1fr)}.bi-kpi-card{grid-column:auto!important;min-height:104px}.bi-chart-grid{grid-template-columns:minmax(0,1fr)}.bi-panel-half,.bi-panel-wide,.bi-panel-full{grid-column:1}.bi-panel>header{align-items:flex-start}.bi-panel>header span{max-width:48%;white-space:normal}.bi-quality-summary{grid-template-columns:64px minmax(0,1fr)}.bi-quality-summary .ant-progress{width:64px!important;height:64px!important}.bi-freshness{grid-template-columns:repeat(2,minmax(0,1fr))}.bi-freshness>span:nth-child(3n){border-right:1px solid #e8ebf0}.bi-freshness>span:nth-child(2n){border-right:0}.bi-detail-summary{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.bi-detail-summary>span:first-child{grid-column:1 / -1;border-right:0;border-bottom:1px solid #e5e9ef}.bi-target-form-grid,.bi-contract-form-grid{grid-template-columns:minmax(0,1fr)}.bi-target-note,.bi-contract-note{grid-column:1}}@media(prefers-reduced-motion:reduce){.business-dashboard .ant-btn,.bi-kpi-card.is-actionable{transition:none}}.progress-bi{--bi-blue: #2563eb;--bi-green: #158f69;--bi-orange: #d97706;--bi-red: #dc4c3f;--bi-ink: #182230;--bi-muted: #667085;--bi-line: #dfe5ec;--bi-soft: #f6f8fb;min-width:0;display:grid;gap:18px;margin:2px -14px -14px;padding:18px 16px 20px;border-top:1px solid #dfe5ec;background:#f4f7fb;color:var(--bi-ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.progress-bi,.progress-bi *{letter-spacing:0}.progress-bi-granularity{display:flex;align-items:center;gap:8px;white-space:nowrap}.progress-bi-granularity>span{color:#475467;font-size:11px;font-weight:650}.progress-bi-granularity .ant-segmented{padding:2px;background:#dbe3eb}.progress-bi-granularity .ant-segmented-item{min-width:32px;color:#475467}.progress-bi-granularity .ant-segmented-item-selected{color:#182230;box-shadow:0 1px 2px #1018281f}.progress-bi>section{min-width:0;display:grid;gap:10px}.progress-bi .bi-section-heading h2,.progress-bi .bi-panel>header h2,.progress-bi .bi-kpi-card>strong,.progress-bi .bi-detail-summary strong{color:var(--bi-ink);text-shadow:none}.progress-bi .bi-section-heading span,.progress-bi .bi-panel>header span,.progress-bi .bi-kpi-footer,.progress-bi .bi-kpi-label{color:var(--bi-muted)}.progress-bi .bi-kpi-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.progress-bi .bi-kpi-card{min-height:118px}.progress-bi .bi-kpi-card.is-warning .bi-kpi-label:before{background:var(--bi-orange)}.progress-bi .bi-kpi-card.is-warning .bi-kpi-footer{color:var(--bi-orange)}.progress-bi-coverage{min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:7px 20px;padding:9px 12px;border:1px solid var(--bi-line);border-radius:6px;background:#fff;color:#475467;font-size:12px}.progress-bi-coverage strong{color:var(--bi-ink)}.progress-bi-coverage span{white-space:nowrap}.progress-bi-coverage em{color:var(--bi-blue);font-style:normal;font-variant-numeric:tabular-nums;font-weight:720}.progress-bi .bi-panel{border-color:var(--bi-line);border-radius:8px;background:#fff;box-shadow:0 2px 10px #1822300a}.progress-bi .bi-panel>header{border-bottom-color:#edf0f4}.progress-bi .bi-chart{padding:4px 8px 6px}.progress-bi .bi-empty{color:var(--bi-muted)}.progress-bi-cycle-summary,.progress-bi-material-strip{min-width:0;display:grid;overflow:hidden;border-bottom:1px solid #edf0f4;background:#f8f9fb}.progress-bi-cycle-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.progress-bi-material-strip{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:auto;border-top:1px solid #edf0f4;border-bottom:0}.progress-bi-cycle-summary>span,.progress-bi-material-strip>span{min-width:0;display:grid;gap:3px;padding:10px 12px;border-right:1px solid #e7ebf0}.progress-bi-cycle-summary>span:last-child,.progress-bi-material-strip>span:last-child{border-right:0}.progress-bi-cycle-summary small,.progress-bi-material-strip small{color:var(--bi-muted);font-size:11px}.progress-bi-cycle-summary strong,.progress-bi-material-strip strong{overflow:hidden;color:var(--bi-ink);font-size:13px;font-variant-numeric:tabular-nums;line-height:20px;text-overflow:ellipsis;white-space:nowrap}.progress-bi-step-list{min-width:0;display:grid;padding:5px 12px 12px}.progress-bi-step-row{min-width:0;min-height:48px;display:grid;grid-template-columns:28px minmax(0,1fr) 78px 104px;align-items:center;gap:8px;border-bottom:1px solid #edf0f4}.progress-bi-step-row:last-child{border-bottom:0}.progress-bi-step-index{width:22px;height:22px;display:inline-grid;place-items:center;border-radius:4px;background:#edf3ff;color:var(--bi-blue);font-size:11px;font-weight:760}.progress-bi-step-row>div{min-width:0;display:grid;gap:1px}.progress-bi-step-row strong,.progress-bi-step-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progress-bi-step-row strong{color:#344054;font-size:12px;line-height:18px}.progress-bi-step-row small{color:var(--bi-muted);font-size:10px;line-height:15px}.progress-bi-step-row>em{color:#344054;font-size:12px;font-style:normal;font-variant-numeric:tabular-nums;text-align:right}.progress-bi-step-row .ant-tag{min-width:78px;margin:0;overflow:hidden;font-size:10px;text-align:center;text-overflow:ellipsis;white-space:nowrap}.progress-bi-risk-panel{min-height:100%;display:flex;flex-direction:column}.progress-bi-signal-list{min-width:0;display:grid;gap:7px;padding:12px}.progress-bi-signal{min-width:0;display:grid;grid-template-columns:18px minmax(0,1fr);gap:8px;padding:9px 10px;border:1px solid #e9edf2;border-left:3px solid var(--bi-orange);border-radius:6px;background:#fff}.progress-bi-signal.is-danger{border-left-color:var(--bi-red)}.progress-bi-signal>.anticon{margin-top:2px;color:var(--bi-orange)}.progress-bi-signal.is-danger>.anticon{color:var(--bi-red)}.progress-bi-signal>span{min-width:0;display:grid;gap:2px}.progress-bi-signal strong,.progress-bi-signal em{overflow-wrap:anywhere;font-style:normal;line-height:17px}.progress-bi-signal strong{color:#344054;font-size:12px}.progress-bi-signal em{color:var(--bi-muted);font-size:11px}.progress-bi-all-clear{min-height:190px;display:flex;align-items:center;justify-content:center;gap:8px;padding:18px;color:var(--bi-green);font-size:12px}.progress-console .progress-cloud-status.is-pending{background:#fffbeb;border-color:#f5d68d;color:#92400e}.progress-bi-all-clear.is-pending{color:var(--bi-muted)}.progress-bi-cross-filter{margin:10px 10px 4px}.progress-console .progress-bi .progress-segment-table-wrap{margin:0;border:0;border-radius:0;background:#fff}.progress-console .progress-bi .progress-segment-table-wrap .ant-table,.progress-console .progress-bi .progress-segment-table-wrap .ant-table-container,.progress-console .progress-bi .progress-segment-table-wrap .ant-table-content,.progress-console .progress-bi .progress-segment-table{background:#fff;color:#344054}.progress-console .progress-bi .progress-segment-table .ant-table-thead>tr>th{background:#f7f8fa;border-color:#e5e9ef;color:#475467}.progress-console .progress-bi .progress-segment-table .ant-table-tbody>tr>td{background:#fff;border-color:#edf0f4;color:#344054}.progress-console .progress-bi .progress-segment-table .ant-table-tbody>tr:hover>td{background:#f7faff}.progress-console .progress-bi .progress-segment-table .over{border-radius:4px;background:#eaf8f2;color:var(--bi-green)}.progress-console .progress-bi .progress-segment-table .over.warn{background:#fff4e5;color:var(--bi-orange)}.progress-console .progress-bi .progress-segment-table .over.hot{background:#fff0ef;color:var(--bi-red)}.progress-bi-drawer .ant-drawer-body{display:grid;align-content:start;gap:14px;padding:14px}.progress-bi-drawer-section{min-width:0;display:grid;gap:8px}.progress-bi-drawer-section h3{margin:0;color:#344054;font-size:13px}@media(max-width:1320px){.progress-bi .bi-kpi-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.progress-bi .bi-kpi-card{grid-column:span 2}.progress-bi .bi-kpi-card:nth-last-child(2),.progress-bi .bi-kpi-card:last-child{grid-column:span 3}}@media(max-width:720px){.progress-console{grid-template-columns:minmax(0,1fr)}.progress-bi{gap:14px;margin-inline:-10px;padding:14px 10px 16px}.progress-bi-capacity-heading{align-items:flex-start;flex-direction:column}.progress-bi .progress-bi-capacity-heading>.progress-bi-granularity{width:100%;display:flex;align-items:center;justify-content:space-between}.progress-bi .bi-kpi-grid{grid-template-columns:minmax(0,1fr)}.progress-bi .bi-kpi-card{grid-column:auto!important}.progress-bi-coverage{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px}.progress-bi-coverage strong{grid-column:1 / -1}.progress-bi-cycle-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.progress-bi-cycle-summary>span:nth-child(2){border-right:0}.progress-bi-cycle-summary>span:nth-child(-n+2){border-bottom:1px solid #e7ebf0}.progress-bi-step-row{grid-template-columns:24px minmax(0,1fr) 70px}.progress-bi-step-row .ant-tag{grid-column:2 / -1;justify-self:start}.progress-bi-material-strip{grid-template-columns:minmax(0,1fr)}.progress-bi-material-strip>span{border-right:0;border-bottom:1px solid #e7ebf0}.progress-bi-material-strip>span:last-child{border-bottom:0}}@media(prefers-reduced-motion:reduce){.progress-bi *{scroll-behavior:auto}}.project-files-manager{max-width:100%;min-width:0;overflow:hidden;border:1px solid #dce6f0;border-radius:8px;background:#fff;box-shadow:0 14px 36px #0f172a0f}.finder-window{overflow:hidden;padding:0;border-radius:9px;background:#f5f6f8}.finder-titlebar{height:34px;display:flex;align-items:center;gap:7px;padding:0 13px;border-bottom:1px solid #d8dde6;background:linear-gradient(#f7f8fa,#edf0f4)}.finder-titlebar span{width:11px;height:11px;border-radius:999px}.finder-titlebar span:nth-child(1){background:#ff5f57}.finder-titlebar span:nth-child(2){background:#febc2e}.finder-titlebar span:nth-child(3){background:#28c840}.finder-window .project-files-toolbar{padding:12px 14px;border-bottom:1px solid #dfe4ec;background:#fbfcfe}.project-files-finder{display:grid;grid-template-columns:180px minmax(0,1fr);min-height:360px}.project-files-finder aside{display:grid;align-content:start;gap:4px;padding:12px;border-right:1px solid #dde3ec;background:#edf2f7}.project-files-finder aside button{min-height:32px;display:flex;align-items:center;gap:8px;padding:6px 8px;border:0;border-radius:6px;background:transparent;color:#334155;text-align:left}.project-files-finder aside button.active,.project-files-finder aside button:hover{background:#dbeafe}.project-files-list,.project-files-table{display:grid;align-content:start;max-width:100%;min-width:0;background:#fff}.project-files-table{overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.project-files-list-head,.project-file-row{display:grid;grid-template-columns:minmax(220px,1.5fr) 110px 95px 132px 110px minmax(150px,auto);gap:12px;align-items:center;min-height:42px;padding:0 14px;border-bottom:1px solid #edf0f5;color:#334155;text-decoration:none;text-align:left}.project-files-list-head{min-height:34px;background:#f8fafc;color:#64748b;font-size:12px;font-weight:700}.project-file-row{border-left:0;border-right:0;border-top:0;background:#fff}.project-file-row:hover{background:#eff6ff}.project-file-row span:first-child,.project-file-open{display:flex;align-items:center;gap:9px;min-width:0}.project-file-open{width:100%;border:0;background:transparent;color:inherit;font:inherit;text-align:left;text-decoration:none;cursor:pointer}.project-file-open:hover strong{color:#0f766e}.project-file-actions-cell{display:flex;align-items:center;justify-content:flex-end;gap:6px;min-width:0}.project-file-card .project-file-actions-cell{width:100%;justify-content:center;flex-wrap:wrap;gap:5px;min-height:30px}.project-file-actions-cell .table-action{min-height:28px;padding:0 8px}.project-file-card .project-file-actions-cell .table-action{min-height:26px;padding:0 7px;font-size:11px}.project-file-dialog{max-width:440px}.project-file-access-dialog{max-width:760px}.project-file-access-head{display:grid;gap:4px;padding:0 20px}.project-file-access-head strong{color:#0f172a;font-size:15px}.project-file-access-head span{color:#64748b;font-size:12px;font-weight:700}.project-file-access-table{display:grid;max-height:min(52vh,430px);margin:0 20px;overflow:auto;border:1px solid #e2e8f0;border-radius:8px}.project-file-access-table [role=row]{display:grid;grid-template-columns:minmax(180px,1fr) repeat(4,82px);align-items:center;min-height:42px;border-bottom:1px solid #edf2f7}.project-file-access-table [role=row]:last-child{border-bottom:0}.project-file-access-table [role=columnheader]{position:sticky;top:0;z-index:1;background:#f8fafc;color:#475569;font-size:12px;font-weight:900}.project-file-access-table [role=cell],.project-file-access-table [role=columnheader]{padding:8px 10px}.project-file-access-table [role=cell]:not(:first-child),.project-file-access-table [role=columnheader]:not(:first-child){text-align:center}.project-file-access-table strong,.project-file-access-table em{display:block}.project-file-access-table strong{color:#0f172a;font-size:13px}.project-file-access-table em{color:#64748b;font-size:11px;font-style:normal}.project-file-access-check{display:inline-flex;justify-content:center}.project-file-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-files-empty{margin:32px auto;color:#94a3b8}@media(max-width:900px){.project-files-toolbar{grid-template-columns:1fr;justify-items:start}.project-files-actions{margin-left:0}.project-files-finder{grid-template-columns:1fr}.project-files-finder aside{grid-auto-flow:column;overflow-x:auto;border-right:0;border-bottom:1px solid #dde3ec}.project-files-list-head,.project-file-row{grid-template-columns:minmax(180px,1fr) 84px 96px 120px}.project-files-list-head span:nth-child(3),.project-file-row span:nth-child(3),.project-files-list-head span:nth-child(5),.project-file-row span:nth-child(5){display:none}.project-files-icon-grid{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:12px;padding-inline:4px}.project-file-visual{transform:scale(.92)}}@media(max-width:1180px){.dashboard-readout-grid,.mission-dashboard .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.mission-dashboard .dashboard-grid,.dashboard-grid{grid-template-columns:1fr}.site-table-footer{align-items:stretch}.site-table-footer .page-size,.site-table-footer .pager{flex-basis:100%}.site-table-footer .pager{justify-content:flex-end;margin-left:0}.approval-layout{grid-template-columns:minmax(0,1fr)}.progress-hero{align-items:flex-start}.progress-date-range-head,.progress-range-ticks{align-items:flex-start;flex-direction:column}.progress-range-inputs,.dashboard-month-inputs{flex-direction:column;align-items:flex-start}.progress-total-overview{grid-template-columns:1fr}.progress-total-readout{justify-items:start;text-align:left}.progress-rock-row{grid-template-columns:1fr}.progress-part-row{grid-template-columns:minmax(96px,1fr) minmax(120px,1.2fr) minmax(40px,auto) minmax(58px,auto)}.progress-part-row strong,.progress-part-row em{text-align:right}}@media(max-width:680px){.progress-kpi-grid,.progress-gauge-row,.progress-efficiency-grid,.progress-shotcrete-grid,.dashboard-readout-grid,.mission-dashboard .metric-grid{grid-template-columns:1fr}.dashboard-process-bars>div{grid-template-columns:1fr}.dashboard-process-bars strong{text-align:left}}@media(max-width:900px){.import-center-layout,.import-center-hero{grid-template-columns:minmax(0,1fr)}.import-center-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:560px){.import-center-hero{padding:14px}.import-center-hero h2{font-size:19px}.import-center-metrics{grid-template-columns:1fr}.template-list{grid-template-columns:1fr;max-height:none}.drop-zone{min-height:260px;padding:14px}}.mission-dashboard .dashboard-month-inputs input,.progress-console .progress-range-inputs input{appearance:none;-webkit-appearance:none;min-height:30px;height:30px;padding:0 8px;border:1px solid rgba(93,244,255,.26);border-radius:2px;background:#030c12c7;background-clip:padding-box;color:var(--mission-cyan);color-scheme:dark;line-height:30px;box-shadow:inset 0 0 0 1px #5df4ff0a}.mission-dashboard .dashboard-month-inputs input::-webkit-date-and-time-value,.progress-console .progress-range-inputs input::-webkit-date-and-time-value{min-height:30px;margin:0;text-align:left}.mission-dashboard .dashboard-month-inputs input::-webkit-datetime-edit,.progress-console .progress-range-inputs input::-webkit-datetime-edit,.mission-dashboard .dashboard-month-inputs input::-webkit-datetime-edit-fields-wrapper,.progress-console .progress-range-inputs input::-webkit-datetime-edit-fields-wrapper,.mission-dashboard .dashboard-month-inputs input::-webkit-datetime-edit-text,.progress-console .progress-range-inputs input::-webkit-datetime-edit-text,.mission-dashboard .dashboard-month-inputs input::-webkit-datetime-edit-year-field,.progress-console .progress-range-inputs input::-webkit-datetime-edit-year-field,.mission-dashboard .dashboard-month-inputs input::-webkit-datetime-edit-month-field,.progress-console .progress-range-inputs input::-webkit-datetime-edit-month-field,.mission-dashboard .dashboard-month-inputs input::-webkit-datetime-edit-day-field,.progress-console .progress-range-inputs input::-webkit-datetime-edit-day-field{padding:0;background:transparent;color:var(--mission-cyan)}.mission-dashboard .dashboard-month-inputs input::-webkit-calendar-picker-indicator,.progress-console .progress-range-inputs input::-webkit-calendar-picker-indicator{margin:0;opacity:.9;filter:invert(84%) sepia(63%) saturate(663%) hue-rotate(141deg) brightness(105%) contrast(102%)}.workflow-data-table-wrap{min-height:132px;max-height:min(42vh,420px);overflow:auto;scrollbar-gutter:stable}@media(max-width:900px){.workflow-data-table-wrap{overflow-x:auto}.workflow-data-table-wrap .workflow-data-center-table{min-width:1180px;border-collapse:collapse;border-spacing:0}.workflow-data-table-wrap .workflow-data-center-table thead{display:table-header-group}.workflow-data-table-wrap .workflow-data-center-table tbody{display:table-row-group}.workflow-data-table-wrap .workflow-data-center-table tbody tr{display:table-row;border:0;border-radius:0;background:transparent;overflow:visible}.workflow-data-table-wrap .workflow-data-center-table th,.workflow-data-table-wrap .workflow-data-center-table td{display:table-cell;min-height:0;padding:5px 6px;border-bottom:1px solid var(--airtable-line);vertical-align:middle}.workflow-data-table-wrap .workflow-data-center-table td:before{content:none}.workflow-data-table-wrap .workflow-data-center-table .selection-column,.workflow-data-table-wrap .workflow-data-center-table .selection-cell{width:42px;min-width:42px}}.workflow-data-table-wrap .workflow-data-center-table th,.workflow-data-table-wrap .workflow-data-center-table td{top:0;height:38px;max-height:38px;padding-top:5px;padding-bottom:5px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.workflow-data-table-wrap .workflow-data-center-table td:before{content:none}.workflow-data-table-wrap .workflow-data-center-table .cell-ellipsis,.workflow-data-table-wrap .workflow-data-center-table .workflow-record-link,.workflow-data-table-wrap .workflow-data-center-table .workflow-record-status{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
