:root{--color-primary:#3b5b1e;--color-primary-hover:#4b7127;--color-primary-dark:#2a4214;--color-primary-soft:#eef4e6;--color-primary-ring:#3b5b1e40;--color-text:#1c2419;--color-muted:#667065;--color-border:#e3e7df;--color-bg:#f5f7f3;--color-surface:#fff;--color-pill:#f2f4f0;--color-danger-bg:#fdf1f0;--color-danger-text:#9f2a1f;--color-notice-bg:#eef4e6;--color-notice-text:#2f4a17;--color-brand-text:#135284;--color-warn-bg:#fff6d6;--color-warn-text:#7a5600;--color-ai:#6b4fa0;--color-ai-soft:#f4f0fa;--decision-policy:#1f5fa8;--decision-policy-soft:#eaf2fb;--decision-approval:#3b5b1e;--decision-approval-soft:#eef4e6;--decision-adjust:#b45309;--decision-adjust-soft:#fdf1e6;--table-head-bg:#e8efe0;--table-head-text:#223512;--table-line:#d5dccf;--table-line-strong:#b9c4b0;--table-stripe:#fafbf8;--table-hover:#eef4e6;--radius:10px;--radius-lg:16px;--shadow-sm:0 1px 2px #141e0f0f;--shadow-md:0 6px 18px #141e0f1a;--shadow-active:0 8px 18px #3b5b1e52;--ease:cubic-bezier(.2, .8, .2, 1);--speed:.18s;color:var(--color-text);background:var(--color-bg);font-family:Segoe UI,Inter,Roboto,Helvetica Neue,Arial,sans-serif}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;min-height:100vh;margin:0}h1{letter-spacing:-.01em;margin:0 0 1rem;font-size:1.5rem}h2{margin:0 0 .6rem;font-size:1.1rem}h3{margin:0;font-size:1rem}code{background:var(--color-pill);border-radius:6px;padding:.05rem .35rem;font-size:.9em}.muted{color:var(--color-muted)}.brand{align-items:center;gap:.6rem;display:flex}.brand-mark{flex:none;width:40px;height:40px}.brand-name{gap:.2rem;min-width:0;display:grid}.brand-word{width:auto;height:22px;display:block}.brand-sub{font-size:.8rem;font-weight:600;line-height:1.25}.button{font:inherit;border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer;transition:background var(--speed) var(--ease), color var(--speed) var(--ease), border-color var(--speed) var(--ease), box-shadow var(--speed) var(--ease), transform var(--speed) var(--ease);justify-content:center;align-items:center;gap:.4rem;padding:.5rem .95rem;display:inline-flex}.button:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.button:focus-visible{outline:3px solid var(--color-primary-ring);outline-offset:2px}.button:disabled{opacity:.6;cursor:not-allowed}.button.primary{background:var(--color-primary);border-color:var(--color-primary);color:#fff;padding:.75rem;font-weight:600}.button.primary:hover:not(:disabled){background:var(--color-primary-hover);color:#fff;box-shadow:var(--shadow-active)}.button.ghost{background:0 0}.button.small{padding:.3rem .65rem;font-size:.85rem}.excel-download{flex-direction:column;align-items:flex-end;gap:.35rem;display:inline-flex}.excel-download .alert{max-width:26rem;margin:0}.login-page{background:radial-gradient(circle at 20% 20%, #ffffff1a, transparent 40%), linear-gradient(150deg, var(--color-primary-dark), var(--color-primary) 60%, var(--color-primary-hover));place-items:center;min-height:100vh;padding:2rem 1rem 5rem;display:grid}.login-panel{background:var(--color-surface);width:100%;max-width:410px;animation:fade-up .26s var(--ease) both;border-radius:20px;padding:2.25rem 2rem;box-shadow:0 24px 50px #0a14054d}.login-panel .brand{gap:.8rem;margin-bottom:1.5rem}.login-panel .brand-mark{width:64px;height:64px}.login-panel .brand-word{height:32px}.login-panel .brand-sub{color:var(--color-brand-text);font-size:.86rem}.login-form{gap:1rem;display:grid}.field{gap:.35rem;display:grid}.field label{font-size:.9rem;font-weight:600}.field input{font:inherit;border:1px solid var(--color-border);border-radius:var(--radius);transition:border-color var(--speed) var(--ease), box-shadow var(--speed) var(--ease), background var(--speed) var(--ease);background:#fbfcfa;padding:.65rem .8rem}.field input:hover{border-color:#c9d1c3}.field input:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-ring);background:#fff;outline:none}.field input[aria-invalid=true]{border-color:var(--color-danger-text)}.field-error{color:var(--color-danger-text);margin:0;font-size:.85rem}.alert,.notice{border-radius:var(--radius);margin:0;padding:.75rem .95rem;font-size:.92rem}.alert{background:var(--color-danger-bg);color:var(--color-danger-text)}.notice{background:var(--color-notice-bg);color:var(--color-notice-text);border-left:4px solid var(--color-primary)}.admin-shell{grid-template-columns:272px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--color-surface);border-right:1px solid var(--color-border);flex-direction:column;gap:1.1rem;height:100vh;padding:1.1rem .9rem;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-brand{border-bottom:1px solid var(--color-border);padding:.25rem .4rem .9rem}.nav-section{gap:.45rem;display:grid}.nav-title{letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted);margin:0 0 .1rem .6rem;font-size:.72rem;font-weight:700}.nav-item{background:var(--color-pill);color:var(--color-text);transition:background var(--speed) var(--ease), color var(--speed) var(--ease), box-shadow var(--speed) var(--ease), transform var(--speed) var(--ease);border-radius:999px;align-items:center;gap:.7rem;padding:.68rem .95rem;font-size:.94rem;text-decoration:none;display:flex}.nav-icon{color:var(--color-muted);transition:color var(--speed) var(--ease);flex:none}.nav-item:hover{background:var(--color-primary-soft);color:var(--color-primary);box-shadow:var(--shadow-md);transform:translate(3px)}.nav-item:hover .nav-icon{color:var(--color-primary)}.nav-item:focus-visible{outline:3px solid var(--color-primary-ring);outline-offset:2px}.nav-item.active{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-active);font-weight:600;transform:none}.nav-item.active .nav-icon{color:#fff}.admin-main{flex-direction:column;min-width:0;display:flex}.topbar{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--color-border);z-index:5;background:#ffffffd9;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem 1.75rem;display:flex;position:sticky;top:0}.topbar-user{align-items:center;gap:.9rem;display:flex}.user-chip{align-items:center;gap:.6rem;display:flex}.avatar{background:var(--color-primary-soft);width:2.2rem;height:2.2rem;color:var(--color-primary);border-radius:999px;place-items:center;font-weight:700;display:grid}.user-text{font-size:.9rem;line-height:1.2;display:grid}.user-text .muted{font-size:.8rem}.content{gap:1.5rem;width:100%;min-width:0;margin:0 auto;padding:1.75rem;display:grid}.content .prose-text,.content>.notice,.content .feature-list{max-width:72rem}.page-enter{min-width:0;animation:fade-up .22s var(--ease) both;grid-template-columns:minmax(0,1fr);gap:1.5rem;display:grid}.page-enter>h1,.page-enter>p{margin:0}@keyframes fade-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.card,.door,.stat{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.card{padding:1.4rem 1.5rem}.screen-head{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.4rem;display:flex}.screen-head h1{margin:0}.screen-icon,.door-icon{background:var(--color-primary-soft);width:2.5rem;height:2.5rem;color:var(--color-primary);border-radius:12px;flex:none;place-items:center;display:grid}.feature-list{margin:.25rem 0 0;padding-left:1.25rem;line-height:1.8}.doors{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;display:grid}.door{color:inherit;transition:transform var(--speed) var(--ease), box-shadow var(--speed) var(--ease), border-color var(--speed) var(--ease);padding:1.25rem;text-decoration:none;display:block}.door:hover{box-shadow:var(--shadow-md);border-color:var(--color-primary);transform:translateY(-3px)}.door-head{align-items:center;gap:.7rem;margin-bottom:.6rem;display:flex}.door-head .badge{margin-left:auto}.door p{color:var(--color-muted);margin:0;line-height:1.5}.badge{background:var(--color-primary-soft);color:var(--color-primary);white-space:nowrap;border-radius:999px;padding:.18rem .55rem;font-size:.76rem;display:inline-block}.muted-badge{background:var(--color-pill);color:var(--color-muted)}.stats{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem;display:grid}.stat{transition:transform var(--speed) var(--ease), box-shadow var(--speed) var(--ease);gap:.4rem;padding:1.1rem 1.25rem;display:grid}.stat:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-label{color:var(--color-muted);font-size:.9rem}.stat-value{color:var(--color-primary-dark);font-size:1.9rem;font-weight:700}.stat.pending{background:#fafbf9;border-style:dashed}.stat-pending{color:var(--color-muted);font-size:.9rem}.loading{min-height:100vh;color:var(--color-muted);place-items:center;display:grid}@media (width<=860px){.admin-shell{grid-template-columns:1fr}.sidebar{height:auto;position:static}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.door.locked{background:var(--color-pill)}.door.locked h3,.door.locked p{color:var(--color-muted)}.door.locked .door-icon{filter:grayscale();opacity:.6}.nav-item.locked:not(.active){color:var(--color-muted)}.nav-lock{color:var(--color-danger-text);margin-left:auto}.lock-panel{text-align:center;justify-items:center;gap:.6rem;padding:2.5rem 1.5rem;display:grid}.lock-panel h1{margin:0}.lock-panel p{max-width:34rem;color:var(--color-muted);margin:0}.lock-icon{background:var(--color-danger-bg);width:72px;height:72px;color:var(--color-danger-text);border-radius:50%;place-items:center;display:grid}.locked-list{color:var(--color-danger-text)}.nav-item.active .nav-lock{color:#fff}.cmp-table th[scope=row]{text-align:left;min-width:9rem;max-width:13rem;color:var(--color-muted);font-weight:600}.cmp-table td{white-space:nowrap}.cmp-table td.cmp-wrap{white-space:normal;min-width:14rem;font-size:.86rem}.cmp-table td.cmp-changed{background:#fff8e1;font-weight:600}.cmp-table td.cmp-warn{background:var(--color-warn-bg);color:var(--color-warn-text);font-weight:600}.cmp-table td.cmp-danger{background:var(--color-danger-bg);color:var(--color-danger-text);font-weight:700}.cmp-change-row td,.cmp-change-row th[scope=row]{background:var(--color-pill)}.cmp-table td.cmp-up{color:#9a4a00;font-weight:600}.cmp-table td.cmp-down{color:var(--color-primary);font-weight:600}.member-pick{gap:.15rem;max-height:min(55vh,420px);margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.member-pick li{border-bottom:1px solid var(--color-border);padding:.35rem .5rem}.fold-section{gap:.75rem;min-width:0;display:grid}.fold-section.card.is-closed{padding-top:.85rem;padding-bottom:.85rem}.fold-head{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.fold-title{margin:0;font-size:1.05rem}.fold-toggle{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:.4rem;padding:.15rem .25rem .15rem 0;font-weight:650;display:inline-flex}.fold-toggle:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius)}.fold-chevron{transition:transform .18s var(--ease);flex:none}.fold-section.is-open .fold-chevron{transform:rotate(90deg)}.fold-actions{flex-wrap:wrap;gap:.4rem;margin-left:auto;display:flex}.fold-summary{color:var(--color-muted);flex-wrap:wrap;gap:.15rem .35rem;font-size:.9rem;display:flex}.fold-summary .late-text,.fold-summary .warn-text{font-weight:600}.fold-body{gap:1rem;min-width:0;display:grid}.fold-body[hidden]{display:none}@media (width<=560px){.fold-section.card{padding:1rem}}@media (prefers-reduced-motion:reduce){.fold-chevron{transition:none}}.table-wrap{margin-top:.5rem;overflow-x:auto}table{border-collapse:separate;border-spacing:0;width:100%;font-size:.92rem}th,td{text-align:left;vertical-align:middle;background:var(--color-surface);border-bottom:1px solid var(--table-line);padding:.55rem .6rem}tbody th{font-weight:600}thead th{z-index:2;background:var(--table-head-bg);color:var(--table-head-text);border-bottom:1px solid var(--table-line-strong);font-size:.84rem;font-weight:700;position:sticky;top:0;text-align:center!important}thead th+th{border-left:1px solid var(--table-line)}tbody tr:nth-child(2n)>td,tbody tr:nth-child(2n)>th{background:var(--table-stripe)}tbody tr:hover>td,tbody tr:hover>th{background:var(--table-hover)}tbody tr{transition:background var(--speed) var(--ease)}td.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}td.center{text-align:center}td.actions{text-align:right}tfoot th,tfoot td{background:var(--table-head-bg);border-top:2px solid var(--table-line-strong);font-weight:700}.list-table{border-top:1px solid var(--table-line-strong)}.data-table{border-top:1px solid var(--table-line-strong);border-left:1px solid var(--table-line-strong)}.data-table th,.data-table td{border-right:1px solid var(--table-line)}.data-table thead th{border-left:0;border-right-color:var(--table-line-strong)}.data-table>:last-child>tr:last-child>td,.data-table>:last-child>tr:last-child>th{border-bottom-color:var(--table-line-strong)}.boxed-amounts .amount-input{width:100%;min-width:9rem;font:inherit;border:1px solid var(--color-border);border-radius:var(--radius);background:#fbfcfa;padding:.45rem .6rem}.boxed-amounts .amount-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-ring);outline:none}.boxed-amounts .amount-input[aria-invalid=true]{border-color:var(--color-danger-text)}.boxed-amounts .amount-input.ai-filled{border:2px solid var(--color-ai);background:var(--color-ai-soft)}.boxed-amounts .amount-input.ai-unsure{border:2px solid var(--color-warn-text);background:var(--color-warn-bg)}@media (width<=640px){.stack-table thead{display:none}.stack-table,.stack-table tbody{width:100%;display:block}.stack-table tr{border-bottom:1px solid var(--table-line);flex-wrap:wrap;gap:.2rem .8rem;padding:.55rem 0;display:flex}.stack-table td{text-align:left;border:0;padding:0;display:block}.stack-table td:first-child{flex:100%;font-weight:600}.stack-table td[data-label]:before{content:attr(data-label) ": ";color:var(--color-muted);font-size:.8rem}.stack-table td:last-child:not([data-label]){flex:100%}}.login-panel.wide{max-width:540px}.login-panel h1{margin-top:.25rem}.login-steps{color:var(--color-muted);gap:.4rem;margin:0 0 1.25rem;padding:0;font-size:.8rem;list-style:none;display:flex}.login-steps li{background:var(--color-pill);border-radius:999px;flex:1;align-items:center;gap:.35rem;min-width:0;padding:.35rem .5rem;display:flex}.login-steps li.current{background:var(--color-primary-soft);color:var(--color-primary-dark);font-weight:600}.login-steps li.done{color:var(--color-primary)}.step-label{min-width:0;line-height:1.2}.step-dot{background:var(--color-surface);border-radius:50%;flex:none;place-items:center;width:1.3rem;height:1.3rem;font-size:.75rem;font-weight:700;display:inline-grid}.login-steps li.current .step-dot,.login-steps li.done .step-dot{background:var(--color-primary);color:#fff}.setup-steps{gap:.6rem;margin:0 0 1rem;padding-left:1.2rem;display:grid}.qr-box{border:1px dashed var(--color-border);border-radius:var(--radius);text-align:center;background:#fbfcfa;margin-top:.6rem;padding:1rem}.qr-box img{width:200px;height:200px;image-rendering:pixelated}.qr-box p{margin:.5rem 0 .35rem;font-size:.85rem}.secret{letter-spacing:.08em;word-break:break-all;padding:.35rem .6rem;font-size:.95rem;display:inline-block}.field .code-input{letter-spacing:.35em;text-align:center;font-variant-numeric:tabular-nums;font-size:1.4rem}.login-panel .button.primary{width:100%}a.button{text-decoration:none}.login-form.spaced{margin-top:1rem}.login-form>p{margin:0}@media (width<=480px){.login-panel{padding:1.75rem 1.25rem}.login-steps li:not(.current){flex:none}.login-steps li:not(.current) .step-label{display:none}}.link-row{flex-wrap:wrap;justify-content:space-between;gap:.4rem 1rem;margin:1rem 0 0;font-size:.9rem;display:flex}.link-row a,.link-button{color:var(--color-primary);font:inherit;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:none}.link-row a{white-space:nowrap}@media (width<=480px){.link-row{justify-content:center}}.link-row a:hover,.link-button:hover{text-decoration:underline}.signup-cta{border-top:1px solid var(--color-border);color:var(--color-muted);justify-content:space-between;align-items:center;gap:1rem;margin-top:1.25rem;padding-top:1.25rem;font-size:.9rem;display:flex}.warn-badge{background:var(--color-danger-bg);color:var(--color-danger-text);margin-left:.5rem}.security-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;margin-bottom:1rem;display:grid}.security-grid .card p{margin:0 0 .6rem}.button-row{flex-wrap:wrap;gap:.5rem;display:flex}.button-row.stacked{flex-direction:column;margin-top:1rem}.topbar-user .button.active{color:var(--color-primary);border-color:var(--color-primary)}.terms-doc{margin:1rem 0 0}.terms-form{margin-top:1rem}.terms-doc h2{margin:0 0 .4rem;font-size:1rem}.terms-doc-body{border:1px solid var(--color-border);background:var(--color-surface-muted,#f8fafc);border-radius:6px;max-height:16rem;padding:.5rem .75rem;overflow:auto}.plain-doc h2,.plain-doc h3{margin:.75rem 0 .25rem;font-size:.95rem}.plain-doc p,.plain-doc ul{margin:.35rem 0;line-height:1.5}.vendor-contact{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.small{font-size:.82rem}.push-right{margin-left:auto}.button.danger{background:var(--color-danger-text);border-color:var(--color-danger-text);color:#fff}.icon-button{color:var(--color-muted);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:.3rem}.icon-button:hover{background:var(--color-pill);color:var(--color-text)}.dialog-backdrop{z-index:50;animation:fade-in var(--speed) var(--ease);background:#141e0f59;place-items:start center;padding:6vh 1rem;display:grid;position:fixed;inset:0;overflow-y:auto}.dialog{background:var(--color-surface);border-radius:var(--radius-lg);outline:none;width:min(520px,100%);padding:1.25rem 1.4rem 1.4rem;box-shadow:0 18px 50px #141e0f40}.dialog.wide{width:min(860px,100%)}.dialog-head{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.dialog-head h2{margin:0}@keyframes fade-in{0%{opacity:0}}.form-grid{grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));align-items:start;gap:.9rem 1.1rem;margin-bottom:1rem;display:grid}.form-grid .field{align-content:start;min-width:0}.field select,.field input,.field textarea{text-overflow:ellipsis;width:100%;min-width:0;max-width:100%}.field input[type=checkbox],.field input[type=radio]{flex:none;width:auto}.field label.inline-check{font-weight:400}.dialog{max-width:100%;overflow-x:hidden}.form-actions{grid-column:1/-1}.field select,.field textarea,.inline-edit select,.inline-edit input{font:inherit;border:1px solid var(--color-border);border-radius:var(--radius);background:#fbfcfa;padding:.6rem .75rem}.field select:focus,.field textarea:focus,.inline-edit select:focus,.inline-edit input:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-ring);outline:none}.section-title{margin:1.4rem 0 .6rem;font-size:1rem}.action-list{gap:.5rem;display:grid}.action-item{border:1px solid var(--color-border);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:1rem;padding:.7rem .9rem;display:flex}.action-item p{margin:.2rem 0 0}.action-item>.button,.action-item .button-row{white-space:nowrap;flex-shrink:0}.online-dot:before{content:"";background:#3fa34d;border-radius:50%;width:8px;height:8px;margin-right:.4rem;display:inline-block}.tabs{background:var(--color-pill);border-radius:999px;gap:.25rem;margin:.25rem 0 1rem;padding:.25rem;display:inline-flex}.tab{font:inherit;cursor:pointer;color:var(--color-muted);transition:background var(--speed) var(--ease), color var(--speed) var(--ease);background:0 0;border:0;border-radius:999px;padding:.45rem 1rem}.tab:hover{color:var(--color-text)}.tab.on{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-active)}.split{grid-template-columns:minmax(220px,280px) 1fr;align-items:start;gap:1rem;display:grid}.form-grid>.span-all{grid-column:1/-1}.table-wrap .button{white-space:nowrap}.pay-panel{grid-template-columns:minmax(200px,280px) 1fr;align-items:start;gap:24px;display:grid}.pay-panel img{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);width:100%}.pay-facts p{margin:4px 0}.num{text-align:right;white-space:nowrap}.receipt-sheet{background:var(--color-surface);color:var(--color-text);padding:8px 4px}.receipt-head{border-bottom:2px solid var(--color-primary);justify-content:space-between;gap:24px;margin-bottom:12px;padding-bottom:12px;display:flex}.receipt-number{text-align:right}.receipt-number h2{color:var(--color-primary);margin:0 0 4px}.receipt-head p,.receipt-block p,.receipt-number p{margin:2px 0}.receipt-block{margin:12px 0}@media (width<=720px){.pay-panel{grid-template-columns:1fr}}@media print{body *{visibility:hidden}.receipt-sheet,.receipt-sheet *{visibility:visible}.receipt-sheet{width:100%;position:absolute;inset:0 auto auto 0}.no-print{display:none!important}}@media (width<=900px){.split{grid-template-columns:1fr}}.pick-list{gap:.2rem;margin:0 0 1rem;padding:.4rem;list-style:none;display:grid}.pick{text-align:left;width:100%;font:inherit;border-radius:var(--radius);cursor:pointer;transition:background var(--speed) var(--ease);background:0 0;border:0;gap:.1rem;padding:.55rem .7rem;display:grid}.pick:hover{background:var(--color-primary-soft)}.pick.on{background:var(--color-primary);color:#fff}.pick.on .muted{color:#fffc}.editor-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.editor-head h2{margin:0}.inline-edit{flex-wrap:wrap;align-items:center;gap:.5rem;margin:.5rem 0;display:flex}th.center,td.center{text-align:center}.group-row td{background:var(--color-pill);color:var(--color-muted);padding:.4rem .6rem;font-size:.82rem;font-weight:600}.segmented{border:1px solid var(--color-border);border-radius:999px;display:inline-flex;overflow:hidden}.seg{font:inherit;cursor:pointer;color:var(--color-muted);transition:background var(--speed) var(--ease), color var(--speed) var(--ease);background:0 0;border:0;padding:.3rem .8rem;font-size:.85rem}.seg+.seg{border-left:1px solid var(--color-border)}.seg:hover:not(:disabled){background:var(--color-primary-soft)}.seg.on{color:#fff;background:var(--color-muted)}.seg.view.on{background:#4d7ea8}.seg.edit.on{background:var(--color-primary)}.level-pill{white-space:nowrap;border-radius:999px;align-items:center;gap:.25rem;padding:.12rem .55rem;font-size:.8rem;display:inline-flex}.level-pill.view{color:#2f5f86;background:#e8f0f7}.level-pill.edit{background:var(--color-primary-soft);color:var(--color-primary);font-weight:600}.from-dept{color:var(--color-muted);font-size:.7rem;display:block}.grid-table td,.grid-table th{padding:.55rem .45rem}tr.clickable{cursor:pointer}tr.dept-row td{background:#fafbf8}.project-picker,.project-picker ul,.check-list,.member-list{margin:0;padding:0;list-style:none}.project-picker ul{padding-left:1.6rem}.project-picker label,.check-list label{align-items:center;gap:.5rem;padding:.3rem 0;display:flex}.project-picker .badge{margin-left:.25rem}.member-list li{align-items:center;gap:.5rem;padding:.3rem 0;display:flex}.check-list{margin-bottom:.75rem}.my-permissions{margin:1rem 0}.picker-tools{flex-wrap:wrap;align-items:center;gap:.6rem 1rem;margin-bottom:.6rem;display:flex}.search-box{border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-muted);background:#fbfcfa;flex:260px;align-items:center;gap:.4rem;max-width:420px;padding:0 .7rem;display:inline-flex}.search-box:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-ring)}.search-box input{font:inherit;background:0 0;border:0;outline:none;width:100%;min-width:0;padding:.5rem 0}.inline-check{align-items:center;gap:.4rem;font-size:.9rem;display:inline-flex}.filter-row{flex-wrap:wrap;align-items:center;gap:.6rem .9rem;display:flex}.filter-row select{border:1px solid var(--color-border);border-radius:var(--radius);font:inherit;background:#fbfcfa;padding:.5rem .7rem}.info-grid{grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));gap:.9rem 1.2rem;margin-bottom:1rem;display:grid}.info-grid>div{align-content:start;gap:.2rem;display:grid}.inline-form{border:1px dashed var(--color-border);border-radius:var(--radius);background:var(--color-bg);margin:0;padding:.9rem}.plan-flags{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:.3rem 1rem;display:grid}.module-group{border:1px solid var(--color-border);border-radius:var(--radius);grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:.25rem 1rem;margin:0 0 .8rem;padding:.6rem .9rem .8rem;display:grid}.module-group legend{padding:0 .3rem;font-weight:600}td.over{color:var(--color-danger-text);font-weight:600}.nowrap{white-space:nowrap}.tenant-banner{color:#6b4a00;background:#fff7e0;border-bottom:1px solid #f1dfa6;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;padding:.65rem 1.75rem;font-size:.92rem;display:flex}.tenant-banner.danger{background:var(--color-danger-bg);color:var(--color-danger-text);border-bottom-color:#f3c9c4}.tenant-banner.info{background:var(--color-info-bg,#eaf2fd);color:var(--color-info-text,#1e4e8c);border-bottom-color:#c9dcf5}.tenant-banner .banner-text{flex-wrap:wrap;flex:16rem;align-items:center;gap:.25rem 1rem;min-width:0;display:flex}.tenant-banner .link-button{color:inherit;margin-left:auto}.login-notices{width:min(100%,44rem);margin:0 auto 1rem}.login-notices .tenant-banner+.tenant-banner{margin-top:.5rem}.login-notices .tenant-banner{border:1px solid #f1dfa6;border-radius:6px;padding:.6rem 1rem}.tenant-banner a{color:inherit;font-weight:600}.usage-bar{background:var(--color-pill);border-radius:999px;height:8px;overflow:hidden}.usage-bar>span{background:var(--color-primary);height:100%;display:block}.usage-bar.full>span{background:var(--color-danger-text)}.status-badge{margin-left:0}.info-grid .badge,.info-grid code{justify-self:start}.dialog .alert,.dialog .notice{margin-bottom:1rem}.module-table .group-row th{background:var(--color-pill);font-weight:600}.module-table tr.row-off td:first-child{color:var(--color-muted)}.switch{cursor:pointer;align-items:center;gap:.5rem;display:inline-flex;position:relative}.switch input{opacity:0;width:1px;height:1px;position:absolute}.switch-track{width:38px;height:22px;transition:background var(--speed) var(--ease);background:#c9cfc4;border-radius:999px;position:relative}.switch-track:after{content:"";width:16px;height:16px;box-shadow:var(--shadow-sm);transition:transform var(--speed) var(--ease);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px}.switch input:checked+.switch-track{background:var(--color-primary)}.switch input:checked+.switch-track:after{transform:translate(16px)}.switch input:focus-visible+.switch-track{box-shadow:0 0 0 3px var(--color-primary-ring)}.switch input:disabled+.switch-track{opacity:.5}.switch-text{min-width:2rem}td.actions .button+.button{margin-left:.4rem}.login-notices:empty{display:none}.project-filters{margin:.4rem 0 1rem}.project-filters .year-input,.year-range input{border:1px solid var(--color-border);border-radius:var(--radius);width:6.5rem;font:inherit;background:#fbfcfa;padding:.5rem .7rem}.year-range{align-items:center;gap:.5rem;display:flex}.year-range input{width:9.5rem}.field-label{font-size:.9rem;font-weight:600}.project-table td{vertical-align:middle}.project-table .expand-cell{width:2.2rem;padding-right:0}.project-table .code-cell{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.project-table .child-row td{background:#fafbf8}.project-table .child-row .code-cell{padding-left:1.6rem;font-weight:500}.row-actions{flex-wrap:nowrap;justify-content:flex-end;gap:.35rem;display:flex}.status-pill{background:var(--color-pill);color:var(--color-text);white-space:nowrap;border-radius:999px;padding:.18rem .6rem;font-size:.78rem;display:inline-block}.status-pill.status-in_progress{background:var(--color-primary-soft);color:var(--color-primary)}.status-pill.status-suspended{color:#8a5300;background:#fff4e0}.status-pill.status-completed,.status-pill.status-settlement_approved,.status-pill.status-account_closed{color:#274f86;background:#e8f0fb}.late-badge{background:var(--color-danger-bg);color:var(--color-danger-text);margin-left:.35rem}.project-table .muted-badge{margin-left:.35rem}.check-group{border:1px solid var(--color-border);border-radius:var(--radius);flex-wrap:wrap;gap:.5rem 1.2rem;margin:.9rem 0;padding:.6rem .9rem .8rem;display:flex}.check-group legend{padding:0 .3rem;font-size:.9rem;font-weight:600}.timeline{margin:0;padding:0;list-style:none}.timeline li{border-left:3px solid var(--color-primary-soft);padding:.6rem 0 .6rem .9rem}.timeline li+li{border-top:1px solid var(--color-border)}.timeline p{margin:.25rem 0 0}.history-filters{align-items:flex-end;margin-bottom:.4rem}.history-filters>label{flex-direction:column;gap:.3rem;font-size:.9rem;font-weight:600;display:flex}.history-filters .field{width:10.5rem}.kind-tools{align-items:center;margin-bottom:.5rem}.source-list select{max-width:14rem}.source-list .row-error,.kind-tools .row-error{flex-basis:100%;margin:0}.source-list{gap:.4rem;margin:0 0 .8rem;padding:0;list-style:none;display:grid}.num-input{text-align:right;font-variant-numeric:tabular-nums}.money-reading{color:var(--color-primary)}.management-editor{gap:.6rem;margin-bottom:.6rem;display:grid}.check-line{align-items:flex-start;gap:.6rem;display:flex}.check-line>span{gap:.1rem;display:grid}.check-line input{margin-top:.25rem}.inline-field{max-width:420px}.row-actions .row-action{border:1px solid var(--color-border);background:var(--color-surface)}.row-actions .row-action:hover:not(:disabled){background:var(--color-primary-soft);color:var(--color-primary)}.project-list-section{min-width:0;scroll-margin-top:1rem}.project-list-section .table-tools{flex-wrap:wrap;align-items:center;gap:.5rem;margin:0 0 .3rem}.project-list-section h2{margin:0 auto 0 0}.year-range-filter{align-items:center;gap:.35rem;display:inline-flex}.project-filters .filter-toggle{display:none}.pager{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem 1rem;margin-top:.8rem;display:flex}.pager.top{margin:0 0 .6rem}.pager-range{color:var(--color-muted);font-size:.9rem}.pager-pages{flex-wrap:wrap;align-items:center;gap:.25rem;display:flex}.pager-pages .button{min-width:2.1rem}.pager-pages .button.current{background:var(--color-primary);border-color:var(--color-primary);color:#fff;font-weight:600}.pager-pages .button.current:hover:not(:disabled){background:var(--color-primary-hover);color:#fff}.pager-gap{color:var(--color-muted);padding:0 .2rem}@media (width<=480px){.pager-pages .button{min-width:1.9rem;padding:.3rem .4rem}}.chip-list{flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.chip{border:1px solid var(--color-border);background:var(--color-pill);font:inherit;cursor:pointer;border-radius:999px;padding:.25rem .7rem;font-size:.85rem}.chip:hover{border-color:var(--color-primary);color:var(--color-primary)}.trash-warning{border-radius:var(--radius);border-left:4px solid var(--color-warn-text);background:var(--color-warn-bg);color:var(--color-warn-text);margin:0;padding:.6rem .85rem}.trash-table .row-actions .button{white-space:nowrap;align-items:center;gap:.3rem;display:inline-flex}.trash-table .row-actions a.row-action{align-items:center;display:inline-flex}.head-links{flex-wrap:wrap;gap:.5rem;display:flex}.head-more{display:none}.list-note{margin:0}@media (width<=720px){.screen-head:has(.head-links){position:relative}.head-more{display:inline-flex}.head-links{display:none}.head-links.open{z-index:20;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);min-width:12rem;box-shadow:var(--shadow-md);padding:.4rem;display:grid;position:absolute;top:100%;right:0}}.project-filters .filter-row select{width:auto;max-width:12rem}.project-filters .filter-row .search-box{flex:200px;max-width:300px}.project-filters{container-type:inline-size}@media (width>720px){@container (width<62rem){.project-filters .filter-row{column-gap:.5rem}.project-filters .filter-row .search-box{flex:100px;min-width:0}.project-filters .filter-row select{max-width:10rem;padding-inline:.5rem}.project-filters .year-input{width:5.6rem;padding-inline:.5rem}.project-filters .filter-label{display:none}}}.project-filters .filter-more{border-top:1px dashed var(--color-border);margin-top:.6rem;padding-top:.6rem}.filter-chips{flex-wrap:wrap;gap:.4rem;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.filter-chip{border:1px solid var(--color-border);background:var(--color-primary-soft);color:inherit;font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:.3rem;padding:.2rem .65rem;font-size:.85rem;display:inline-flex}.filter-chip:hover,.filter-chip:focus-visible{border-color:var(--color-primary)}.dialog.full{flex-direction:column;width:min(1440px,96vw);height:88vh;display:flex}.editor-split{flex:1;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:1rem;min-height:0;display:grid}.file-pane{border:1px dashed var(--color-border);border-radius:var(--radius);background:#fbfcfa;flex-direction:column;min-height:0;padding:.75rem;display:flex}.file-pane.drag-over{border-color:var(--color-primary);background:var(--color-primary-soft)}.file-pane-head{align-items:center;gap:.6rem;display:flex}.file-pane-head strong{align-items:center;gap:.35rem;margin-right:auto;display:inline-flex}.file-note{margin:.4rem 0}.file-name{overflow-wrap:anywhere;margin:0 0 .4rem;font-weight:600}.file-frame{border:1px solid var(--color-border);border-radius:var(--radius);background:#fff;flex:1;width:100%;min-height:20rem}.file-image{flex:1;overflow:auto}.file-image img{max-width:100%}.file-empty{text-align:center;flex:1;place-items:center;padding:2rem;display:grid}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.project-form{flex-direction:column;min-height:0;display:flex}.project-form-body{flex:1;padding-right:.4rem;overflow-y:auto}.project-form-foot{border-top:1px solid var(--color-border);padding-top:.6rem}.form-section{color:var(--color-primary);margin:.2rem 0 .6rem;font-size:.95rem}.form-section-head{justify-content:space-between;align-items:center;gap:.6rem;display:flex}.form-grid.compact{grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:.7rem .9rem;margin-bottom:.4rem}.decision-block{border:1px solid var(--color-border);border-radius:var(--radius);margin:0 0 .8rem;padding:.5rem .9rem .7rem;position:relative}.decision-block legend{padding:0 .3rem;font-size:.9rem;font-weight:600}.decision-remove{position:absolute;top:.2rem;right:.4rem}.funding-line{grid-template-columns:minmax(0,3fr) minmax(0,2fr) auto;align-items:start;gap:.7rem;margin-bottom:.4rem;display:grid}.funding-remove{margin-top:1.7rem}.funding-ok{color:var(--color-primary)}.funding-kind{flex-wrap:wrap;order:1;grid-column:1/-1;align-items:center;gap:.5rem;margin:-.2rem 0 .9rem;display:flex}.funding-kind select{max-width:min(100%,22rem);font:inherit;border:1px solid var(--color-border);border-radius:var(--radius);background:#fbfcfa;padding:.5rem .7rem}select.kind-unset{border-color:var(--color-warn-text);background:var(--color-warn-bg)}.warn-note{border-radius:var(--radius);color:#8a5300;background:#fff4e0;padding:.5rem .75rem}@media (width<=900px){.dialog.full{height:auto}.editor-split{grid-template-columns:1fr}.file-pane{max-height:50vh}}.table-tools{justify-content:flex-end;margin:-.4rem 0 .2rem;display:flex}.column-picker{position:relative}.column-picker summary{cursor:pointer;list-style:none}.column-picker summary::-webkit-details-marker{display:none}.column-picker-menu{z-index:20;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);gap:.35rem;min-width:15rem;margin-top:.3rem;padding:.7rem .9rem;display:grid;position:absolute;right:0;box-shadow:0 10px 30px #141e0f26}.column-picker-menu p{margin:0 0 .2rem}.project-table .sticky-col{z-index:1;position:sticky}.project-table thead .sticky-col{z-index:3}.project-table .expand-cell.sticky-col{width:2.2rem;min-width:2.2rem;left:0}.project-table .code-cell.sticky-col{white-space:normal;overflow-wrap:anywhere;width:7rem;min-width:7rem;max-width:7rem;left:2.2rem}.project-table .name-cell.sticky-col{min-width:15rem;box-shadow:1px 0 0 var(--color-border);left:9.2rem}.project-table .child-row .sticky-col{background:#fafbf8}.num-cell{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.cell-note{display:block}.cell-list{margin:0;padding:0;list-style:none}.cell-list li{white-space:nowrap}.money-cell,.source-name{font-weight:600}.project-table-wrap{padding-inline:0}.project-table th{white-space:nowrap}.project-table .col-investor{min-width:13rem}.project-table .col-policyIssuer{min-width:10rem}.project-table .col-sector,.project-table .col-ctype{min-width:9rem}.project-table .col-group,.project-table .col-years,.project-table .col-status{white-space:nowrap}.project-table .col-updated{min-width:8.5rem}.change-list{margin:.2rem 0 0;padding-left:1.1rem}.timeline .change-list li{border:0;padding:0;list-style:outside}.timeline .change-list li+li{margin-top:.15rem}.upload-notice{border-radius:var(--radius);color:#5c4a0c;background:#fff8e1;border:1px solid #ecd58f;margin:.4rem 0;padding:.6rem .75rem;font-size:.9rem}.upload-notice p{margin:0 0 .4rem}.check-line{cursor:pointer;align-items:flex-start;gap:.5rem;font-weight:600;display:flex}.check-line input{width:auto;margin-top:.2rem}.file-uploader{flex-direction:column;align-items:flex-start;gap:.35rem;display:flex}.upload-confirm{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);align-self:stretch;padding:.5rem .6rem}.upload-confirm p{overflow-wrap:anywhere;margin:0}.upload-tasks{align-self:stretch;margin:0;padding:0;list-style:none}.upload-task{border-bottom:1px solid var(--color-border);flex-direction:column;gap:.2rem;padding:.35rem 0;display:flex}.upload-task-head{align-items:center;gap:.5rem;display:flex}.upload-task-name{overflow-wrap:anywhere;flex:1;font-weight:600}.upload-task progress,.card progress{width:100%;height:.5rem;accent-color:var(--color-primary)}.upload-task.ready .small{color:var(--color-notice-text)}.upload-task.blocked .small,.upload-task.failed .small{color:var(--color-danger-text)}.file-status{background:var(--color-pill);color:var(--color-muted);border-radius:999px;padding:0 .4rem;font-size:.8rem;text-decoration:none;display:inline-block}.file-status.rejected,.file-status.infected,.file-status.scan_failed{background:var(--color-danger-bg);color:var(--color-danger-text)}.save-local-file{flex-direction:column;gap:.35rem;margin-bottom:.5rem;display:flex}.compare-toolbar{flex-wrap:wrap;align-items:flex-end;gap:.75rem;display:flex}.compare-page input{width:6rem}.compare-table tr.changed td{background:#fff8e1;font-weight:600}.compare-panes{flex:1;grid-template-columns:1fr 1fr;gap:.75rem;min-height:0;margin-top:.5rem;display:grid}.compare-pane{border:1px solid var(--color-border);border-radius:var(--radius);flex-direction:column;min-height:0;padding:.5rem;display:flex;overflow:auto}.compare-pane p{overflow-wrap:anywhere;margin:0 0 .3rem}.overview{gap:1rem;min-width:0;margin-bottom:1.4rem;display:grid}.overview-section{gap:.75rem;display:grid}.action-strip{border-radius:var(--radius-lg);background:var(--color-danger-bg);color:var(--color-danger-text);border:1px solid #f3d3cf;flex-wrap:wrap;align-items:center;gap:.5rem .7rem;padding:.75rem 1rem;display:flex}.action-strip.calm{background:var(--color-notice-bg);color:var(--color-notice-text);border-color:#d9e7c8}.action-chip{background:var(--color-surface);color:inherit;font:inherit;cursor:pointer;border:1px solid;border-radius:999px;padding:.3rem .8rem;font-weight:600}.action-chip[aria-pressed=true]{background:var(--color-danger-text);color:#fff}a.action-chip{text-decoration:none}.lifecycle-cards{grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:.75rem;display:grid}.stat-button{font:inherit;text-align:left;cursor:pointer;color:inherit}.stat-button[aria-pressed=true]{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-ring)}.stat-button:focus-visible{outline:3px solid var(--color-primary-ring);outline-offset:2px}.lifecycle-cards .stat-value{font-size:1.6rem}.lifecycle-cards .stat-label{font-size:.84rem;line-height:1.3}.stat-note{color:var(--color-muted);font-size:.82rem}.stat-note.danger,.danger-text{color:var(--color-danger-text);font-weight:600}.swatch{vertical-align:baseline;border-radius:3px;width:.65rem;height:.65rem;margin-right:.4rem;display:inline-block}.lifecycle-bar{background:var(--color-surface);border-radius:4px;gap:2px;height:.7rem;display:flex;overflow:hidden}.lifecycle-part{min-width:4px}.tone-preparing{background:#c9ddb4}.tone-in_progress{background:#3b5b1e}.tone-suspended{background:#d99a2b}.tone-completed{background:#6f9446}.tone-settlement_approved{background:#9dbb7c}.tone-account_closed{background:#aeb5ab}.unit-picker{color:var(--color-muted);align-items:center;gap:.5rem;font-size:.88rem;display:flex}.unit-picker select{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);font:inherit;padding:.35rem .6rem}.money-cards{grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr));gap:.75rem;display:grid}.money-cards .stat-value{font-variant-numeric:tabular-nums;font-size:1.55rem}.stat-unit{color:var(--color-muted);font-size:.9rem;font-weight:500}.link-button{font:inherit;color:var(--color-primary);text-align:left;cursor:pointer;text-underline-offset:2px;background:0 0;border:0;padding:0;text-decoration:underline}.link-button[aria-pressed=true]{font-weight:700}.chart-grid{grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));align-items:start;gap:.75rem;display:grid}.chart-card h2{margin-bottom:.1rem}.chart-sub{margin:0 0 .8rem}.chart-card.pending{background:#fafbf9;border-style:dashed}.chart-ghost{background:repeating-linear-gradient(135deg,#eef1eb 0 8px,#f7f8f5 8px 16px);border-radius:8px;height:7rem;margin:.6rem 0}.bar-list{gap:.2rem;margin:0;padding:0;list-style:none;display:grid}.bar-row{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;grid-template-columns:minmax(7rem,32%) 1fr auto;align-items:center;gap:.7rem;padding:.35rem .4rem;display:grid}.bar-row:hover,.bar-row[aria-pressed=true]{background:var(--color-primary-soft)}.bar-label{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.bar-track{height:.8rem}.bar-fill{background:var(--color-primary);border-radius:0 4px 4px 0;min-width:2px;height:100%;display:block}.bar-value{font-variant-numeric:tabular-nums;font-size:.9rem;font-weight:600}.upcoming-line{border:1px dashed var(--color-border);border-radius:var(--radius-lg);color:var(--color-muted);margin:0;padding:.6rem 1rem;font-size:.9rem}.staff-grid{grid-template-columns:minmax(220px,1fr) 2fr;align-items:start;gap:1.2rem;display:grid}.staff-grid h3{margin-bottom:.5rem;font-size:.92rem}.compact-table td,.compact-table th{padding:.4rem .6rem}@media (width<=720px){.project-filters .filter-toggle{margin-bottom:.5rem;display:inline-flex}.project-filters:not(.open) .filter-row{display:none}.project-filters .filter-row>*{flex:100%}.lifecycle-cards{grid-template-columns:repeat(2,1fr)}.staff-grid{grid-template-columns:1fr}.bar-row{grid-template-columns:1fr auto;row-gap:.15rem}.bar-label{grid-column:1/-1}.bar-track{grid-area:2/1}.bar-value{grid-area:2/2}.metric{min-width:5.5rem}}.overview-block.fold-plain .fold-title{font-size:1rem}.metric-strip{flex-wrap:wrap;gap:.6rem 1.2rem;display:flex}.metric-group{gap:.3rem;min-width:0;display:grid}.metric-group-name{color:var(--color-muted);text-transform:uppercase;letter-spacing:.03em;font-size:.78rem;font-weight:600}.metric-tiles{flex-wrap:wrap;gap:.4rem;display:flex}.metric{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);min-width:6.5rem;color:inherit;font:inherit;text-align:left;cursor:pointer;justify-items:start;gap:.05rem;padding:.45rem .75rem;text-decoration:none;display:grid}div.metric{cursor:default}.metric:is(button,a):hover,.metric[aria-pressed=true]{border-color:var(--color-primary);background:var(--color-primary-soft)}.metric-value{font-variant-numeric:tabular-nums;font-size:1.35rem;font-weight:700;line-height:1.1}.metric-value.danger{color:var(--color-danger-text)}.metric-value.warn{color:var(--color-warn-text)}.metric-label{color:var(--color-muted);font-size:.8rem}.metric.is-zero{opacity:.55}.staff-grid.staff-one{grid-template-columns:1fr}.admin-shell.sidebar-collapsed{grid-template-columns:76px 1fr}.workspace-nav{flex-direction:column;flex:1;gap:.9rem;display:flex}.workspace-head{gap:.6rem;display:grid}.back-link{color:var(--color-primary);align-items:center;gap:.4rem;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.back-link:hover{text-decoration:underline}.workspace-title{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);gap:.2rem;padding:.7rem .8rem;display:grid}.workspace-title strong{line-height:1.3}.unit-select select{border:1px solid var(--color-border);background:var(--color-surface);width:100%;font:inherit;border-radius:8px;margin-top:.35rem;padding:.4rem .5rem;font-size:.88rem}.tab-row{align-items:center;gap:.25rem;display:flex}.tab-item{min-width:0;padding:.55rem .85rem;font-size:.9rem}.tab-row>.tab-item{flex:1}button.nav-item{width:100%;font:inherit;text-align:left;cursor:pointer;border:0;font-size:.9rem}button.nav-item:disabled{opacity:.6;cursor:default}.tab-title{flex:1;min-width:0}.tab-badge{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-muted);border-radius:999px;flex:none;padding:.1rem .45rem;font-size:.7rem;font-weight:600}.nav-item.active .tab-badge{color:#fff;background:0 0;border-color:#fff9}.nav-item.locked:not(.active){opacity:.65}.subtab-list{border-left:1px solid var(--color-border);margin:0 0 .2rem 1.9rem;padding:0 0 0 .4rem;list-style:none}.subtab-item{padding:.35rem .6rem;font-size:.84rem}.workspace-foot{border-top:1px solid var(--color-border);margin-top:auto;padding-top:.8rem}.sidebar-collapsed .sidebar{padding-inline:.6rem}.sidebar-collapsed .brand-name,.sidebar-collapsed .tab-title,.sidebar-collapsed .tab-badge,.sidebar-collapsed .nav-lock{display:none}.sidebar-collapsed .brand-mark{width:36px;height:36px;margin-inline:auto}.sidebar-collapsed .tab-item{justify-content:center;padding:.65rem}.late-text{color:var(--color-danger-text);font-weight:600}.viewers-bar,.archived-bar{align-items:center;gap:.5rem;margin:0;display:flex}.viewers-bar{border-radius:var(--radius);background:var(--color-surface);border:1px solid var(--color-border);padding:.55rem .9rem;font-size:.9rem}.review-bar{background:var(--color-warn-bg);color:var(--color-warn-text);border-left-color:var(--color-warn-text);flex-wrap:wrap;align-items:center;gap:.5rem .75rem;display:flex}.review-bar .review-text{flex:18rem}.review-bar .review-actions{gap:.5rem;display:flex}.notice-dismiss{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:.6rem;display:flex}.summary-cards{flex-wrap:wrap;display:flex}.summary-cards>.stat{flex:220px;min-width:0}@media (width<=560px){.summary-cards>.stat{flex-basis:140px;padding:.8rem .9rem}.summary-cards .stat-value{font-size:1.2rem}}.summary-cards .stat-value{font-size:1.4rem}.facts-grid{grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));align-items:start;gap:1rem 2rem;display:grid}.facts-col-title{margin:0 0 .5rem;font-size:1rem}.facts{gap:.35rem;margin:0 0 1rem;display:grid}.fact-row{border-bottom:1px dashed var(--color-border);grid-template-columns:minmax(120px,34%) 1fr;gap:.75rem;padding:.3rem 0;display:grid}.fact-row dt{color:var(--color-muted)}.fact-row dd{overflow-wrap:anywhere;margin:0}.clickable-row{cursor:pointer}.project-link{color:inherit;text-decoration:none}.project-link:hover{text-decoration:underline}.topbar-left{flex:1;align-items:center;gap:.9rem;min-width:0;display:flex}.project-search{flex:1;max-width:360px;position:relative}.project-search input{border:1px solid var(--color-border);background:var(--color-pill);width:100%;font:inherit;border-radius:999px;padding:.5rem .75rem .5rem 2.1rem;font-size:.9rem}.project-search input:focus{outline:3px solid var(--color-primary-ring);background:var(--color-surface)}.project-search-icon{color:var(--color-muted);position:absolute;top:50%;left:.75rem;transform:translateY(-50%)}.project-search-pop{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);min-width:280px;box-shadow:var(--shadow-md);z-index:20;padding:.4rem;position:absolute;top:calc(100% + .35rem);left:0;right:0}.project-search-head,.project-search-empty{margin:.25rem .5rem}.project-search-pop ul{margin:0;padding:0;list-style:none}.project-search-pop li{cursor:pointer;border-radius:8px;grid-template-columns:auto 1fr;column-gap:.6rem;padding:.45rem .6rem;display:grid}.project-search-pop li .muted{grid-column:2}.project-search-pop li.active,.project-search-pop li:hover{background:var(--color-primary-soft)}.search-code{color:var(--color-primary-dark);font-family:ui-monospace,monospace;font-size:.85rem}.menu-toggle{display:none}@media (width<=860px){.admin-shell,.admin-shell.sidebar-collapsed{grid-template-columns:1fr}.menu-toggle{display:inline-flex}.sidebar{z-index:30;width:min(300px,86vw);height:100vh;transition:transform var(--speed) var(--ease);box-shadow:var(--shadow-md);position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.sidebar.open{transform:none}.sidebar-backdrop{z-index:25;background:#141e0f59;position:fixed;inset:0}.sidebar-collapsed .brand-name{display:grid}.sidebar-collapsed .brand-mark{width:40px;height:40px;margin-inline:0}.sidebar-collapsed .tab-title,.sidebar-collapsed .tab-badge{display:initial}.topbar{padding:.6rem 1rem}.tenant-label,.button-text,.user-text,.collapse-toggle{display:none}.project-search{max-width:none}.content{padding:1rem}}.fact-heading{color:var(--color-muted);margin:.9rem 0 .3rem;font-size:.9rem}.fact-heading:first-of-type{margin-top:0}.prose-text,.scale-text p{white-space:pre-line;margin:0;line-height:1.5}.scale-text .scale-summary{border-left:3px solid var(--color-primary);border-radius:0 var(--radius) var(--radius) 0;background:var(--color-primary-soft);margin-bottom:.5rem;padding:.5rem .7rem}.scale-full{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);max-height:45vh;padding:.6rem .8rem;overflow:auto}.summary-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.summary-item{border:1px solid var(--color-border);border-radius:var(--radius);padding:.6rem .8rem}.summary-item.shown{border-color:var(--color-primary);background:var(--color-primary-soft)}.summary-item .muted{margin:.3rem 0}.summary-badge{color:var(--color-primary)}.summary-editor textarea{border:1px solid var(--color-border);border-radius:var(--radius);width:100%;font:inherit;padding:.5rem .6rem}.confirm-inline{align-items:center;gap:.3rem;display:inline-flex}.clamp-5{-webkit-line-clamp:5;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.form-grid>.wide-field{grid-column:1/-1}.field-inline{align-items:center;gap:.4rem;margin-right:1rem;display:inline-flex}.overrun-warning{color:var(--color-warn-text);align-items:center;gap:.4rem;font-weight:600;display:flex}.overrun-items{margin:.4rem 0 .8rem;padding-left:1.2rem}.overrun-panel{border-radius:var(--radius);background:var(--color-warn-bg);color:var(--color-warn-text);margin:.6rem 0;padding:.6rem .8rem}.overrun-panel.done{background:var(--color-notice-bg);color:var(--color-notice-text)}.overrun-panel p{align-items:flex-start;gap:.4rem;margin:0 0 .4rem;display:flex}.overrun-panel p:last-child{margin-bottom:0}.decision-card{margin-top:1rem}.decision-card-head{flex-wrap:wrap;align-items:flex-start;gap:.6rem 1.5rem;display:flex}.decision-card-head h2{margin-bottom:.2rem}.decision-card-head p{margin:0}.decision-total{text-align:right;display:grid}.decision-total strong{font-variant-numeric:tabular-nums;font-size:1.15rem}.cost-table th,.cost-table td{font-size:.88rem}.cost-table td{vertical-align:top}.cost-table th:first-child,.cost-table td:first-child{z-index:1;width:4.5rem;min-width:4.5rem;max-width:4.5rem;position:sticky;left:0}.cost-table th:nth-child(2),.cost-table td:nth-child(2){z-index:1;box-shadow:inset -1px 0 0 var(--table-line-strong);position:sticky;left:4.5rem}.cost-table thead th:nth-child(-n+2){z-index:3}.cost-table .cost-name{text-align:left;min-width:16rem;font-weight:400}.cost-table .cost-khoan td,.cost-table .cost-khoan th{background:var(--color-pill);font-weight:700}.cost-method{max-width:16rem;color:var(--color-muted)}.cost-table td.cost-issue{background:var(--color-warn-bg);color:var(--color-warn-text);cursor:help}.cost-table td.cost-derived{color:var(--color-muted);font-style:italic}.cost-total th,.cost-total td{border-top:2px solid var(--color-text);font-weight:700}.cost-gap{border-radius:var(--radius);background:var(--color-warn-bg);color:var(--color-warn-text);margin:.4rem 0;padding:.4rem .7rem;font-size:.88rem}.cost-totals{flex-wrap:wrap;align-items:center;gap:.4rem 1.2rem;font-size:.9rem;display:flex}.cost-totals strong{font-variant-numeric:tabular-nums}.cost-grid-wrap{max-height:60vh}.cost-grid td{padding:.2rem .3rem}.cost-grid input{border:1px solid var(--color-border);width:100%;font:inherit;background:var(--color-surface);border-radius:6px;padding:.25rem .4rem;font-size:.85rem}.cost-grid input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-ring);outline:none}.cost-grid .cost-khoan input{font-weight:700}.cost-text.short{min-width:3.5rem}.cost-text.mid{min-width:8rem}.cost-text.wide{min-width:13rem}.amount-input{text-align:right;font-variant-numeric:tabular-nums;min-width:8.5rem}.cost-grid td.cost-issue input{background:var(--color-warn-bg);border-color:#d9a400}.cost-tools{white-space:nowrap}.cost-tools .icon-button{padding:.2rem}.pending-files{margin:0;padding:0;font-size:.88rem;list-style:none}.pending-files li{align-items:center;gap:.3rem;display:flex}.conflict-inline p{margin:0 0 .4rem}.cleared-bar{border-radius:var(--radius);background:var(--color-warn-bg);color:var(--color-warn-text);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem .7rem;font-size:.9rem;display:flex}.wizard-steps{flex-wrap:wrap;gap:.3rem 1.2rem;margin:0 0 .6rem;padding:0;list-style:none;display:flex}.wizard-steps [aria-current=step] button{font-weight:700;text-decoration:underline}.wizard-body{flex:1;min-height:0;overflow:auto}.wizard-foot{margin-top:.8rem}.import-source{grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:1rem 1.5rem;display:grid}.import-source h3{margin:0 0 .3rem;font-size:.95rem}.import-source textarea{border:1px solid var(--color-border);border-radius:var(--radius);width:100%;font:inherit;margin-bottom:.5rem;padding:.5rem;font-size:.85rem}.import-range .segmented{margin:.5rem 0}.import-table-wrap{border:1px solid var(--color-border);border-radius:var(--radius);max-height:55vh;overflow:auto}.import-table{font-size:.8rem}.import-table td,.import-table th{text-overflow:ellipsis;white-space:nowrap;max-width:18rem;padding:.2rem .4rem;overflow:hidden}.import-table tbody tr{cursor:pointer}.import-table tr.row-header td{background:var(--color-primary-soft);font-weight:700}.import-table tr.row-data td{background:#f3f9ee}.import-table tr.row-out td{color:var(--color-muted)}.import-map{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:1rem;display:grid}.preset-box{border:1px solid var(--color-border);border-radius:var(--radius);padding:.7rem;font-size:.88rem}.preset-box ul{margin:.4rem 0;padding-left:1rem}.preset-box input{border:1px solid var(--color-border);min-width:0;font:inherit;border-radius:6px;flex:1;padding:.3rem .5rem}.import-preview .alert ul{margin:.3rem 0 0;padding-left:1.2rem}.plan-import-table tbody tr{cursor:default}.import-table td.cell-bad{background:var(--color-danger-bg);color:var(--color-danger-text);font-weight:600}.import-table tr.row-off td{color:var(--color-muted);text-decoration:line-through}.import-table tfoot td{border-top:2px solid var(--color-border)}@media (width<=900px){.import-map{grid-template-columns:1fr}}.att-panel{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);margin:.8rem 0;padding:.7rem .8rem;container-type:inline-size}.att-head{flex-wrap:wrap;align-items:center;gap:.5rem .8rem;margin-bottom:.4rem;display:flex}.att-head>strong{flex:1}.att-search{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-muted);align-items:center;gap:.3rem;padding:.2rem .5rem;display:inline-flex}.att-search input{width:11rem;font:inherit;background:0 0;border:0;outline:none}.att-wrap{margin-top:0}.att-table{background:var(--color-surface)}.att-table th,.att-table td{vertical-align:middle;padding:.45rem .5rem}.att-table th{white-space:nowrap;font-size:.8rem}.att-table td.num{text-align:right;white-space:nowrap}.att-name{align-items:center;gap:.6rem;min-width:14rem;display:flex}.att-title{overflow-wrap:anywhere;flex-direction:column;min-width:0;display:flex}.att-kind{--doc-color:var(--color-muted);background:var(--color-pill);width:2rem;height:2rem;color:var(--doc-color);border-radius:8px;flex:none;justify-content:center;align-items:center;display:inline-flex}.att-kind.kind-pdf{--doc-color:#c0392b}.att-kind.kind-image{--doc-color:#8e44ad}.att-kind.kind-excel{--doc-color:#1e7b45}.att-kind.kind-word{--doc-color:#2b5797}.att-kind.kind-cad{--doc-color:#b9770e}.att-more{background:var(--color-pill);color:var(--color-primary);font:inherit;cursor:pointer;white-space:nowrap;border:0;border-radius:999px;align-items:center;gap:.2rem;padding:.05rem .45rem;font-size:.8rem;display:inline-flex}.att-ver{flex-wrap:wrap;align-items:center;gap:.25rem .4rem;display:flex}.att-who{white-space:nowrap;flex-direction:column;display:flex}.att-actions{white-space:nowrap;justify-content:flex-end;gap:.2rem;display:flex}.att-sub td{background:#fafbf8;font-size:.86rem}.att-sub td:first-child{padding-left:3.1rem}.att-file{overflow-wrap:anywhere;flex-wrap:wrap;gap:.3rem;display:flex}.att-table tr.faded td{opacity:.6}.att-pending{flex-direction:column;gap:.3rem;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.att-pending li{background:var(--color-primary-soft);border-radius:6px;flex-wrap:wrap;align-items:center;gap:.4rem .6rem;padding:.35rem .5rem;font-size:.9rem;display:flex}.att-pending .att-title{flex:1}.att-foot{margin-top:.5rem}.editor-split.wide{grid-template-columns:minmax(0,4fr) minmax(0,7fr)}.editor-split.pane-hidden{grid-template-columns:minmax(0,1fr)}.split-main{flex-direction:column;gap:.6rem;min-height:0;display:flex;overflow:auto}.split-main>.project-form{flex:1}.split-toolbar{flex-wrap:wrap}.split-toolbar select{border:1px solid var(--color-border);border-radius:var(--radius);width:auto;max-width:min(100%,30rem);font:inherit;padding:.35rem .6rem}.att-inline{display:none}@container (width<=820px){.att-table .att-wide{display:none}.att-inline{display:inline}}@container (width<=480px){.att-actions{white-space:normal;flex-wrap:wrap;justify-content:flex-start}.att-ver{white-space:normal}}@media (width<=900px){.editor-split.wide{grid-template-columns:1fr}.att-name{min-width:10rem}}.viewer-head{align-items:center;gap:.6rem;margin-bottom:.6rem;display:flex}.viewer-name{flex-direction:column;flex:1;min-width:0;display:flex}.viewer-name strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.viewer-body{flex-direction:column;flex:1;min-height:0;display:flex}.viewer-sheet{flex-direction:column;gap:.5rem;min-height:0;display:flex}.viewer-sheet .import-table-wrap{max-height:65vh}.viewer-sheet td.num{text-align:right;font-variant-numeric:tabular-nums}.milestone-dots{flex-wrap:wrap;gap:0;margin:0 0 .9rem;padding:0;list-style:none;display:flex}.milestone-dot{min-width:2.6rem;color:var(--color-muted);flex-direction:column;flex:2.6rem;align-items:center;font-size:.78rem;display:flex;position:relative}.milestone-dot+.milestone-dot:before{content:"";background:var(--table-line);z-index:0;width:100%;height:2px;position:absolute;top:.45rem;right:50%}.milestone-dot .dot{z-index:1;border:2px solid var(--color-surface);width:.95rem;height:.95rem;box-shadow:0 0 0 1px var(--table-line-strong);background:#d4d9cf;border-radius:50%;position:relative}.milestone-dot.tone-done .dot{background:var(--color-primary)}.milestone-dot.tone-late .dot{background:#c0392b}.milestone-dot.tone-soon .dot{background:#e0a800}.dot-no{font-variant-numeric:tabular-nums;margin-top:.2rem}.milestone-alert{border-radius:var(--radius);margin:0 0 .6rem;padding:.5rem .75rem}.milestone-alert.tone-danger{background:var(--color-danger-bg);color:var(--color-danger-text);font-weight:600}.milestone-alert.tone-warn{background:var(--color-warn-bg);color:var(--color-warn-text)}.milestone-alert.tone-info{background:var(--color-notice-bg);color:var(--color-notice-text)}.milestone-state.tone-late,.progress-text.tone-late{color:var(--color-danger-text);font-weight:600}.milestone-state.tone-soon,.progress-text.tone-soon,.warn-text{color:var(--color-warn-text);font-weight:600}.milestone-state.tone-done{color:var(--color-primary)}.milestone-table .settlement-row td{background:#f7f9f4}.milestone-table tr.is-focus td{background:var(--color-warn-bg)}.milestone-editor select,.milestone-editor input:not([type=checkbox]),.catalog-table select,.catalog-table input:not([type=checkbox]),.deadline-table input:not([type=checkbox]){font:inherit;border:1px solid var(--color-border);border-radius:var(--radius);background:#fbfcfa;padding:.45rem .6rem}.milestone-editor select:focus,.milestone-editor input:focus,.catalog-table select:focus,.catalog-table input:focus,.deadline-table input:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-ring);outline:none}.deadline-table input:disabled{background:var(--color-pill);color:var(--color-muted)}.milestone-editor .cell-field{min-width:8.5rem;margin:0}.milestone-editor select,.milestone-editor .name-input,.milestone-editor .reason-row input{width:100%;min-width:7rem}.days-input,.milestone-editor .days-input,.inline-field .days-input{text-align:right;width:5.5rem;min-width:0}.milestone-editor .reason-row td{background:var(--color-warn-bg)}.milestone-editor .reason-row label{color:var(--color-warn-text);margin-bottom:.25rem;font-weight:600;display:block}.postpone-list{margin:0 0 1rem;padding-left:1.2rem}.postpone-list li{margin-bottom:.3rem}.stat-value.danger{color:var(--color-danger-text)}.stat-value.warn{color:var(--color-warn-text)}.catalog-table input:not([type=checkbox]){width:100%;max-width:28rem}.catalog-table .muted-row td{color:var(--color-muted);background:var(--table-stripe)}.deadline-table td{white-space:nowrap}.card.inset{box-shadow:none;border:1px solid var(--color-border);margin-top:1rem}.project-table .col-nextMilestone,.project-table .col-progress{min-width:13rem}.milestone-editor .order-cell{justify-content:flex-end;align-items:center;gap:.3rem;display:flex}.milestone-editor .drag-handle{color:var(--color-muted);cursor:grab;display:inline-flex}.milestone-editor .order-buttons{flex-direction:column;display:inline-flex}.milestone-editor .order-buttons button{color:var(--color-muted);cursor:pointer;background:0 0;border:0;padding:0 .15rem;display:inline-flex}.milestone-editor .order-buttons button:hover:not(:disabled){color:var(--color-primary)}.milestone-editor .order-buttons button:disabled{opacity:.3;cursor:default}.milestone-editor tr.drop-target td{box-shadow:inset 0 2px 0 var(--color-primary)}.pending-removals .pending-removal{align-items:center;gap:.3rem;margin-right:.8rem;font-weight:600;display:inline-flex}.milestone-removed{margin-top:.6rem}.milestone-removed summary{cursor:pointer;color:var(--color-muted)}.milestone-removed ul{margin:.4rem 0 0;padding-left:1.2rem}.milestone-removed li{align-items:center;gap:.6rem;padding:.2rem 0;display:flex}.bell{position:relative}.bell-button{border-radius:999px;place-items:center;width:2.3rem;height:2.3rem;display:grid;position:relative}.bell-badge{background:var(--color-danger-text);color:#fff;text-align:center;min-width:1.15rem;height:1.15rem;box-shadow:0 0 0 2px var(--color-surface);border-radius:999px;padding:0 .28rem;font-size:.7rem;font-weight:700;line-height:1.15rem;position:absolute;top:-2px;right:-4px}.bell-panel{z-index:30;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:min(380px,100vw - 2rem);max-height:min(520px,75vh);box-shadow:var(--shadow-md);flex-direction:column;display:flex;position:absolute;top:calc(100% + .5rem);right:0;overflow:hidden}.bell-panel-head{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.bell-panel .alert{margin:.6rem 1rem 0}.bell-panel .bell-list{flex:1;overflow-y:auto}.bell-panel-foot{border-top:1px solid var(--color-border);text-align:center;color:var(--color-primary);padding:.65rem 1rem;font-weight:600;text-decoration:none;display:block}.bell-panel-foot:hover{background:var(--color-primary-soft)}.bell-list{margin:0;padding:0;list-style:none}.bell-item+.bell-item{border-top:1px solid var(--color-border)}.bell-row{background:var(--color-primary-soft);width:100%;font:inherit;text-align:left;color:inherit;border:0;align-items:flex-start;gap:.7rem;padding:.7rem 1rem;display:flex}.bell-item.read .bell-row{background:0 0}button.bell-row{cursor:pointer}button.bell-row:hover{background:var(--table-hover)}.bell-icon{background:var(--color-surface);border:1px solid var(--color-border);width:2rem;height:2rem;color:var(--color-primary);border-radius:999px;flex:none;place-items:center;display:grid}.bell-icon.urgent{color:var(--color-danger-text);background:var(--color-danger-bg);border-color:#0000}.bell-text{flex:1;gap:.15rem;min-width:0;font-size:.9rem;line-height:1.35;display:grid}.bell-item.read .bell-text strong{font-weight:500}.bell-body{color:var(--color-muted);overflow-wrap:anywhere}.bell-time{color:var(--color-muted);font-size:.78rem}.bell-dot{background:var(--color-primary);border-radius:999px;flex:none;width:.55rem;height:.55rem;margin-top:.4rem}.bell-empty{text-align:center;margin:0;padding:1.2rem 1rem}.bell-filters{flex-wrap:wrap;align-items:center;gap:.5rem .6rem;margin:.6rem 0 .9rem;display:flex}.bell-filters .inline-check{margin-right:.6rem}.chip.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.bell-page{padding:0;overflow:hidden}.bell-more{margin:.8rem auto;display:block}.screen-head .screen-action{margin-left:auto}.bell-prefs{flex-direction:column}.bell-pref{align-items:flex-start}@media (width<=640px){.bell-panel{width:auto;position:fixed;top:3.6rem;left:.75rem;right:.75rem}}.ok-text{color:var(--color-primary)}.muted-text{color:var(--color-muted)}.badge.warn{background:var(--color-warn-bg);color:var(--color-warn-text)}.badge.info{background:var(--color-pill);color:var(--color-muted)}.task-table .task-title{text-align:left;font-weight:600}.task-cards{margin-bottom:.75rem}.task-filters{flex-wrap:wrap;align-items:center;gap:.4rem;margin:.5rem 0 .75rem;display:flex}.task-filters .spacer{flex:1}.task-gone{background:var(--color-warn-bg);color:var(--color-warn-text);border-radius:8px;margin:.5rem 0;padding:.55rem .75rem}.task-actions{flex-wrap:wrap;gap:.5rem;margin:.75rem 0;display:flex}.task-thread{gap:.5rem;margin:.25rem 0 .75rem;padding:0;list-style:none;display:grid}.task-thread li{background:var(--color-pill);border-radius:8px;padding:.5rem .7rem}.task-thread li.part-report{background:var(--color-primary-soft)}.task-thread .who{font-weight:600}.task-thread .body{white-space:pre-wrap;margin:.2rem 0 0}.task-history{margin:.25rem 0 .75rem;padding-left:1.1rem;font-size:.86rem}.task-people{border:1px solid var(--color-border);border-radius:8px;gap:.25rem;max-height:11rem;padding:.4rem .6rem;display:grid;overflow-y:auto}.task-form .field{margin-bottom:.75rem}fieldset.task-fieldset{border:0;min-width:0;margin:0 0 .75rem;padding:0}fieldset.task-fieldset legend{margin-bottom:.35rem;padding:0;font-size:.9rem;font-weight:600}.task-form .inline-check,.task-people .inline-check,.task-talk .inline-check{justify-content:flex-start;font-weight:400;display:flex}.task-form .inline-check input,.task-people .inline-check input,.task-talk .inline-check input{flex:none;width:auto;padding:0}.task-talk-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.task-talk-actions .button{margin-left:auto}.task-project-now{flex-wrap:wrap;align-items:baseline;gap:.5rem;display:flex}.task-form .field-grid{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:0 1rem;display:grid}.task-kinds{flex-wrap:wrap;gap:.4rem;margin-bottom:.75rem;display:flex}.my-tasks-button{position:relative}.my-tasks-button .bell-badge{background:var(--color-warn-text)}.field.ai-filled input,.field.ai-filled select,.field.ai-filled textarea,.summary-editor.ai-filled textarea{border:2px solid var(--color-ai);background:var(--color-ai-soft)}.field.ai-unsure input,.field.ai-unsure select,.field.ai-unsure textarea{border:2px solid var(--color-warn-text);background:var(--color-warn-bg)}.ai-mark-note{color:#fff;background:var(--color-ai);border-radius:999px;justify-self:start;align-items:center;margin-top:.2rem;padding:.05rem .45rem;font-size:.78rem;font-weight:600;display:inline-flex}.ai-mark-note.ai-mark-unsure{color:var(--color-warn-text);background:var(--color-warn-bg);border:1px solid var(--color-warn-text)}.ai-review-table .ai-mark-note.ai-mark-unsure{margin-left:.4rem}.ai-review{border:1px solid var(--color-ai);border-radius:var(--radius);background:var(--color-ai-soft);grid-template-columns:minmax(0,1fr);gap:.6rem;min-width:0;padding:.9rem;display:grid}.ai-review h3{color:var(--color-ai);align-items:center;gap:.4rem;margin:0;display:flex}.ai-review-table td.center{text-align:center}.ai-review-table .ai-proposed{font-weight:600}.ai-review-table tr.ai-row-unsure td{background:var(--color-warn-bg)}.ai-slot{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.button.ai-button{border-color:var(--color-ai);color:var(--color-ai)}.button.ai-button:hover:not(:disabled){background:var(--color-ai-soft)}.ai-progress{border-radius:var(--radius);background:var(--color-ai-soft);justify-items:start;gap:.4rem;padding:.8rem;display:grid}.ai-progress p{margin:0}.ai-spin{color:var(--color-ai);animation:1.2s ease-in-out infinite ai-pulse}@keyframes ai-pulse{50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.ai-spin{animation:none}}.ai-setup{margin-top:.5rem}.ai-advice{border-left:3px solid var(--color-warn-text);border-radius:var(--radius);background:var(--color-warn-bg);color:var(--color-warn-text);justify-items:start;gap:.35rem;padding:.55rem .75rem;display:grid}.ai-advice p{margin:0}.ai-panel{border:1px dashed var(--color-ai);border-radius:var(--radius);gap:.6rem;margin-top:.5rem;padding:.8rem;display:grid}.ai-template-body{border-left:3px solid var(--color-ai);background:var(--color-pill);padding:.5rem .7rem}.ai-template-body p{margin:0 0 .3rem}.ai-template-edit{gap:.35rem;display:grid}.ai-usage-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1rem;display:grid}.card-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.75rem;display:flex}.list-table tr.muted-row td{color:var(--color-muted)}.cost-grid tr.ai-cost-row td:first-child{box-shadow:inset 3px 0 0 var(--color-ai)}.cost-name-cell{align-items:center;gap:.3rem;display:flex}.ai-row-badge{color:#fff;background:var(--color-ai);border-radius:999px;flex:none;padding:0 .35rem;font-size:.72rem;font-weight:700}.cost-table td.ai-cell-unsure,.cost-table th.ai-cell-unsure{background:var(--color-warn-bg);outline:2px solid var(--color-warn-text);outline-offset:-2px}.cost-grid td.ai-cell-unsure input,.boq-grid td.ai-cell-unsure input{background:var(--color-warn-bg)}.boq-import-table td.ai-cell-unsure{background:var(--color-warn-bg);outline:2px solid var(--color-warn-text);outline-offset:-2px}.boq-settings .boq-words{flex:20rem}.boq-settings .boq-words input{flex:1;min-width:12rem}.ai-cost-manual{gap:.35rem;margin:.3rem 0 0;padding-left:1.1rem;display:grid}.ai-cost-manual li{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.tone-policy{--tone:var(--decision-policy);--tone-soft:var(--decision-policy-soft)}.tone-approval{--tone:var(--decision-approval);--tone-soft:var(--decision-approval-soft)}.tone-adjust{--tone:var(--decision-adjust);--tone-soft:var(--decision-adjust-soft)}.decision-tag{white-space:nowrap;vertical-align:middle;color:#fff;background:var(--tone,var(--color-muted));border-radius:999px;align-items:center;padding:.1rem .55rem;font-size:.78rem;font-weight:700;line-height:1.5;display:inline-flex}.decision-card[class*=tone-]{border-left:6px solid var(--tone)}.decision-card[class*=tone-] .decision-card-head{border-radius:0 var(--radius-lg) 0 0;background:var(--tone-soft);margin:-1.4rem -1.5rem 1rem;padding:1rem 1.5rem}.decision-card.folded .decision-card-head{border-radius:0 var(--radius-lg) var(--radius-lg) 0;margin-bottom:-1.4rem}.decision-card-head h2{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.decision-current{border:1.5px solid var(--tone,var(--color-primary));color:var(--tone,var(--color-primary));background:var(--color-surface);border-radius:999px;padding:.1rem .55rem;font-size:.78rem;font-weight:700}.decision-nav{z-index:4;border:1px solid var(--color-border);border-radius:var(--radius);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:var(--shadow-sm);background:#ffffffeb;flex-wrap:wrap;align-items:center;gap:.35rem;margin:.5rem 0 .25rem;padding:.5rem .75rem;display:flex;position:sticky;top:3.6rem}.decision-nav-step{align-items:center;gap:.35rem;display:inline-flex}.decision-nav-arrow{color:var(--color-muted)}.decision-nav-item{border:1.5px solid var(--tone);font:inherit;color:var(--tone);background:var(--color-surface);cursor:pointer;transition:background var(--speed) var(--ease);border-radius:999px;padding:.25rem .7rem;font-size:.85rem;font-weight:600}.decision-nav-item:hover{background:var(--tone-soft)}.decision-nav-item.active{color:#fff;background:var(--tone)}.decision-nav-current{font-weight:400}.cmp-table th.cmp-tone{border-top:4px solid var(--tone)}.dialog.decision-dialog{border-top:6px solid var(--tone)}.decision-block[class*=tone-]{border-left:5px solid var(--tone)}.decision-block legend{align-items:center;gap:.4rem;display:inline-flex}.decision-fact dt{align-items:center;display:flex}@media (prefers-reduced-motion:reduce){.decision-nav-item{transition:none}}.cost-readonly{text-align:right;font-variant-numeric:tabular-nums;padding:.3rem .45rem;display:block}.cost-grid td.cost-auto{background:var(--color-pill);color:var(--color-muted)}.auto-calc{white-space:nowrap;align-items:center;gap:.35rem;font-weight:400;display:inline-flex}.ai-cost-units{flex-wrap:wrap;align-items:flex-start;gap:.75rem 1.5rem;display:flex}.decision-card{scroll-margin-top:7.5rem}.compare-pickers{flex-wrap:wrap;align-items:center;gap:.5rem 1rem}.compare-sheets tr.cmp-row-added td,.compare-sheets tr.cmp-row-added th{background:var(--color-primary-soft)}.compare-sheets tr.cmp-row-removed td,.compare-sheets tr.cmp-row-removed th{background:var(--color-danger-bg);text-decoration:line-through}.compare-sheets tr.cmp-row-changed td,.compare-sheets tr.cmp-row-changed th{background:var(--color-warn-bg)}.compare-sheets tr td:last-child{white-space:nowrap;font-weight:600;text-decoration:none}.remove-choice{border:0;gap:.5rem;margin:.6rem 0;padding:0;display:grid}.remove-choice legend{margin-bottom:.3rem;font-weight:600}.decision-misplaced{border-radius:var(--radius);background:var(--color-warn-bg);color:var(--color-warn-text);margin:.4rem 0;padding:.5rem .75rem;font-size:.9rem}.ai-decision-info{border:1px solid var(--color-border);border-left:4px solid var(--color-ai);border-radius:var(--radius);background:var(--color-ai-soft);margin:.6rem 0;padding:.6rem .8rem}.ai-decision-info h4{margin:0 0 .3rem}.estimate-info{margin-bottom:.8rem}.estimate-info h3{margin:.4rem 0 .5rem;font-size:1rem}.estimate-info .form-grid{margin-bottom:.4rem}.editor-split.resizable{grid-template-columns:minmax(0, var(--split-left,5fr)) .6rem minmax(0, var(--split-right,6fr));gap:.3rem}.split-divider{cursor:col-resize;touch-action:none;border-radius:999px;outline:none;position:relative}.split-divider:after{content:"";background:var(--color-border);border-radius:2px;position:absolute;inset:0 calc(50% - 1px)}.split-divider:hover:after,.split-divider:focus-visible:after,.split-divider.dragging:after{background:var(--color-primary);inset:0 calc(50% - 2px)}.split-divider:focus-visible{box-shadow:0 0 0 3px var(--color-primary-ring)}.dialog-backdrop:has(.editor-split.zoomed){padding:0}.dialog.full:has(.editor-split.zoomed){border-radius:0;width:100vw;max-width:none;height:100vh}.editor-split.wide .split-main>*{position:sticky;left:0}.editor-split.wide .split-main>.cost-grid-wrap{max-height:none;margin-top:0;position:static;overflow:visible}.editor-split.wide .split-main>.cost-save-row{z-index:5;border-top:1px solid var(--color-border);background:var(--color-surface);margin-top:auto;padding:.6rem 0 .2rem;bottom:0}.editor-split.wide .split-toolbar{gap:.35rem .5rem}.editor-split.wide .split-toolbar .button{padding:.32rem .65rem;font-size:.86rem}.editor-split.wide .split-toolbar .auto-calc,.editor-split.wide .split-toolbar .unit-picker,.editor-split.wide .split-toolbar select{font-size:.86rem}.editor-split.wide .split-toolbar select{max-width:14rem;padding:.3rem .5rem}.cost-grid-wrap.lean th:nth-child(2){width:36%}.cost-grid-wrap.lean .cost-text.wide{min-width:10rem}.cost-grid-wrap.lean .amount-input{min-width:7.25rem}.estimate-info.folded{margin-bottom:.2rem}.info-summary{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-pill);flex-wrap:wrap;align-items:center;gap:.25rem .9rem;padding:.45rem .75rem;font-size:.9rem;display:flex}.info-summary>span:first-child{font-weight:700}.info-summary .link-button{align-items:center;gap:.2rem;margin-left:auto;display:inline-flex}.info-head{align-items:center;gap:.6rem;display:flex}.info-head .link-button{align-items:center;gap:.2rem;margin-left:auto;font-size:.9rem;display:inline-flex}.field-label-row{align-items:center;gap:.3rem;display:flex}.info-tip{display:inline-flex;position:relative}.info-tip-mark{color:var(--color-muted);cursor:help;background:0 0;border:0;border-radius:999px;padding:.1rem;display:inline-flex}.info-tip-mark:hover,.info-tip-mark:focus-visible{color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-ring);outline:none}.info-tip-text{z-index:20;border-radius:var(--radius);background:var(--color-text);width:max-content;max-width:min(24rem,70vw);color:var(--color-surface);white-space:normal;padding:.45rem .6rem;font-size:.82rem;font-weight:400;line-height:1.4;display:none;position:absolute;top:calc(100% + .35rem);right:-.5rem}.info-tip:hover .info-tip-text,.info-tip:focus-within .info-tip-text{display:block}@media (width<=900px){.editor-split.resizable{grid-template-columns:1fr}.split-divider{display:none}}.register-toolbar{margin:.75rem 0 .5rem}.register-toolbar select{max-width:11.5rem}.register-toolbar .search-box{flex:11rem}.register-toolbar .button.on{border-color:var(--color-primary);background:var(--color-primary-soft)}.register-advanced{border:1px dashed var(--table-line);border-radius:var(--radius);background:var(--color-surface);margin:0 0 .5rem;padding:.6rem .75rem}.register-advanced select{max-width:14rem}.register-chips{flex-wrap:wrap;align-items:center;gap:.4rem .6rem;margin:0 0 .5rem;display:flex}.register-chips .chip,.tag-input .chip{cursor:default;align-items:center;gap:.2rem;display:inline-flex}.register-table-wrap{overflow-x:auto;container-type:inline-size}.register-table{width:100%}.register-table th,.register-table td{vertical-align:top;padding:.45rem .4rem}.register-table .register-tt{text-align:right;width:2rem;color:var(--color-muted)}.register-table .col-stage{white-space:nowrap;width:5.2rem}.register-table .col-number{white-space:nowrap}.register-table .col-date{white-space:nowrap;width:5.6rem}.register-table .col-signer,.register-table .col-issuer{width:8rem;min-width:8rem}.register-table .col-citation{width:100%;min-width:14rem}.signer-title{color:var(--color-muted);font-size:.78rem;display:block}.register-table .register-actions{white-space:nowrap;width:1%}.register-group th{text-align:left;background:var(--color-primary-soft);font-weight:600}.register-footer td{background:var(--table-head-bg);color:var(--table-head-text);font-weight:600}.sort-button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:.2rem;padding:0;display:inline-flex}.cell-filter{text-align:left;color:inherit;text-decoration:none}.cell-filter:hover{text-decoration:underline}.register-table mark{color:inherit;background:#fff0a0;border-radius:2px;padding:0}.register-empty{margin:1rem 0}@container (width<=720px){.register-table thead{display:none}.register-table,.register-table tbody,.register-table tfoot,.register-table tr,.register-table td,.register-table th{width:auto;display:block}.register-table tr{border-bottom:1px solid var(--table-line);padding:.5rem 0}.register-table-wrap .register-table td{text-align:left;white-space:normal;background:0 0;border:0;width:auto;padding:.1rem 0}.register-table .signer-title{margin-left:.35rem;display:inline}.register-table td[data-label]:before{content:attr(data-label) ": ";color:var(--color-muted);font-size:.8rem}.register-table td.col-citation:before{content:none}}.dialog-backdrop:has(.dialog.side-panel){place-items:stretch end;padding:0}.dialog.side-panel{border-radius:0;width:min(600px,100vw);min-height:100vh}.tag-input-box{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);flex-wrap:wrap;align-items:center;gap:.35rem;padding:.3rem .4rem;display:flex}.tag-input-box input{background:0 0;border:0;outline:none;flex:10rem;min-width:8rem;padding:.25rem}.register-table .register-pick{text-align:center;width:1.6rem}.register-selection{border-radius:var(--radius);background:var(--color-primary-soft);flex-wrap:wrap;align-items:center;gap:.6rem;margin:.4rem 0;padding:.45rem .7rem;display:flex}.register-section{border:1px solid var(--table-line);border-radius:var(--radius);background:var(--color-surface);margin:0 0 1rem;overflow:hidden}.register-section-head{background:var(--table-head-bg);color:var(--table-head-text);justify-content:space-between;align-items:center;gap:1rem;padding:.55rem .9rem;display:flex}.register-count{font-variant-numeric:tabular-nums;font-weight:600}.register-items{margin:0;padding:0;list-style:none}.register-item{border-top:1px solid var(--table-line);flex-wrap:wrap;align-items:center;gap:.35rem .6rem;padding:.5rem .9rem;display:flex}.register-item:first-child{border-top:0}.register-mark{justify-content:center;width:1.4rem;font-weight:700;display:inline-flex}.register-item.status-have .register-mark{color:var(--color-primary)}.register-item.status-missing{background:var(--color-warn-bg)}.register-item.status-missing .register-mark{color:var(--color-danger-text)}.register-item.status-not_applicable .register-mark,.register-item.status-not_applicable .register-item-name{color:var(--color-muted)}.register-item-name{font-weight:600}.legal-duplicate>.button-row{padding:.5rem .9rem .7rem}.legal-duplicate .register-section-head{background:var(--color-warn-bg);color:var(--color-warn-text)}.legal-citation-text{line-height:1.45}.legal-marks{flex-wrap:wrap;align-items:center;gap:.25rem .4rem;margin-top:.3rem;display:flex}.tag-chip{border:1px solid var(--color-border);background:var(--color-pill);border-radius:999px;padding:.05rem .5rem;font-size:.8rem;display:inline-block}.badge.badge-warn{background:var(--color-warn-bg);color:var(--color-warn-text)}.badge.badge-danger{background:var(--color-danger-bg);color:var(--color-danger-text)}.row-actions,.legal-item-buttons,.legal-item-tools{flex-wrap:wrap;align-items:center;gap:.3rem;display:inline-flex}.row-actions{flex-wrap:nowrap;gap:.15rem}.row-actions .button.small{padding:.3rem .45rem}.legal-head-tools{flex-wrap:wrap;gap:.5rem;display:inline-flex}.legal-head-tools .button{padding:.3rem .65rem;font-size:.85rem}.row-menu-list{min-width:12rem}.row-menu-list .link-button{text-align:left}.button.warn-button{border-color:var(--color-warn-text);background:var(--color-warn-bg);color:var(--color-warn-text)}.legal-summary{color:var(--color-muted);margin:.25rem 0 .75rem}.legal-viewer-nav{justify-content:flex-end;gap:.5rem;margin:-.25rem 0 .5rem;display:flex}.legal-viewer-body{flex:1;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:1rem;min-height:0;display:grid}.legal-viewer-file{border:1px solid var(--table-line);border-radius:var(--radius);flex-direction:column;min-height:0;display:flex;overflow:hidden}.legal-viewer-file .viewer-body{flex:1;min-height:0}.legal-viewer-info{min-height:0;padding-right:.25rem;overflow-y:auto}.legal-citation-full{margin:0 0 .5rem;font-weight:600;line-height:1.5}.legal-facts{grid-template-columns:8.5rem 1fr;gap:.3rem .75rem;margin:.75rem 0;display:grid}.legal-facts>div{display:contents}.legal-facts dt{color:var(--color-muted)}.legal-facts dd{margin:0}.legal-viewer-tags{justify-items:start;gap:.4rem;margin-bottom:.75rem;display:grid}@media (width<=760px){.legal-viewer-body{grid-template-columns:1fr;overflow-y:auto}.legal-viewer-file{min-height:50vh}}.legal-fields{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));align-items:start;gap:.75rem 1rem;margin-bottom:1rem;display:grid}.legal-fields>.wide-field,.legal-item-picker,.legal-citation-box,.legal-fields>.tag-input{grid-column:1/-1}.legal-citation{border-left:4px solid var(--color-primary);background:var(--color-primary-soft);border-radius:var(--radius);margin:.25rem 0;padding:.6rem .8rem;line-height:1.5}.notice.tone-warn{background:var(--color-warn-bg);color:var(--color-warn-text);border-left-color:var(--color-warn-text);margin-bottom:.75rem}.register-table .col-project{width:5.5rem;min-width:5.5rem}.legal-projects{flex-wrap:wrap;align-items:baseline;gap:.15rem .4rem;display:flex}.grounds-options{flex-wrap:wrap;align-items:center;gap:.5rem 1.25rem;margin-bottom:.75rem;display:flex}.grounds-list{border:1px solid var(--color-border);border-radius:var(--radius);max-height:55vh;margin:0 0 .75rem;padding:0;list-style:none;overflow-y:auto}.grounds-list li{border-bottom:1px solid var(--color-border);align-items:flex-start;gap:.6rem;padding:.45rem .6rem;display:flex}.grounds-list li:last-child{border-bottom:0}.grounds-tools{flex-shrink:0;gap:.1rem;display:inline-flex}.grounds-line{font-style:italic;line-height:1.5}.import-preview td.cell-warn{background:var(--color-warn-bg);color:var(--color-warn-text)}.ai-batch .ai-batch-setup{grid-template-columns:minmax(280px,1.2fr) minmax(260px,1fr);align-items:start;gap:.6rem 1rem;margin-bottom:.6rem;display:grid}.ai-batch-drop{border:2px dashed var(--color-ai);border-radius:var(--radius);background:var(--color-ai-soft);min-height:5.5rem;color:var(--color-ai);text-align:center;flex-wrap:wrap;grid-row:span 2;justify-content:center;align-self:stretch;align-items:center;gap:.5rem;padding:.9rem;transition:background .18s;display:flex}.ai-batch-drop.over{background:var(--color-surface)}.ai-batch-drop.disabled{border-color:var(--color-border);background:var(--color-pill);color:var(--color-muted)}.ai-batch-drop .button.disabled{opacity:.5;cursor:not-allowed}.ai-batch-progress{color:var(--color-ai);margin:0;font-weight:600}.ai-batch-table td{vertical-align:top}.ai-batch-table td.center{text-align:center}.ai-batch-table .col-file{overflow-wrap:anywhere;min-width:11rem}.ai-batch-table .col-status{min-width:8rem;max-width:16rem}.ai-batch-table .col-type{min-width:6rem;max-width:10rem}.ai-batch-table .col-number,.ai-batch-table .col-date{white-space:nowrap}.ai-batch-table .col-abstract{min-width:14rem}.ai-batch-table .col-item{min-width:11rem}.ai-batch-table .col-note{min-width:10rem}.ai-batch-status{white-space:nowrap}.ai-batch-status.status-reading,.ai-batch-status.status-uploading,.ai-batch-status.status-scanning{color:var(--color-ai)}.ai-batch-status.status-done{color:var(--color-primary);font-weight:600}.ai-batch-status.status-failed{color:var(--color-danger-text)}.ai-batch-status.status-skipped,.ai-batch-status.status-waiting,.ai-batch-status.status-queued,.ai-batch-status.status-ready{color:var(--color-muted)}.ai-batch-table tr.batch-failed td{background:var(--color-danger-bg)}.ai-batch-table tr.batch-skipped td{color:var(--color-muted)}.ai-batch-tools{align-items:center;gap:.25rem;display:inline-flex}.ai-batch-table .tone-ok{color:var(--color-primary);font-weight:600}.ai-batch-table .tone-warn,.legal-reconcile-table .tone-warn{color:var(--color-warn-text)}.ai-batch-footer{border-top:1px solid var(--color-border);background:var(--color-surface);padding-top:.6rem;position:sticky;bottom:0}.ai-batch-footer .notice.tone-warn{margin:0}.legal-reconcile-ai{flex-wrap:wrap;align-items:end;gap:.5rem 1rem;margin:.5rem 0;display:flex}.legal-reconcile-table select{max-width:22rem;font:inherit;padding:.3rem .4rem}.legal-reconcile-table td:last-child{white-space:nowrap}@media (width<=760px){.ai-batch .ai-batch-setup{grid-template-columns:1fr}.ai-batch-drop{grid-row:auto}}.warn-text{color:var(--color-warn-text)}tr.row-muted td{color:var(--color-muted)}tr.row-muted td strong{text-decoration:line-through}.procurement-plans{gap:.5rem;margin:.5rem 0 1rem;padding:0;list-style:none;display:grid}.procurement-plan{border:1px solid var(--color-border);background:var(--color-surface);border-left-width:4px;border-radius:8px;padding:.6rem .8rem}.procurement-plan-head{flex-wrap:wrap;align-items:center;gap:.4rem .75rem;display:flex}.procurement-plan-citation{flex:22rem}.procurement-table-tools{align-items:center;margin-top:.5rem}.procurement-table-tools .unit-picker,.procurement-table-tools .unit-picker select{min-width:0;max-width:100%}.procurement-table tbody tr{cursor:pointer}.procurement-table tbody tr:focus-visible td{outline:2px solid var(--color-primary-ring)}tr.row-selected td{background:var(--color-primary-soft)}.procurement-table .col-name{min-width:14rem}.block{display:block}.status-text.tone-ok{color:var(--color-primary);font-weight:600}.status-text.tone-warn{color:var(--color-warn-text);font-weight:600}.status-text.tone-muted{color:var(--color-muted)}.split-main>.procurement-doc-fields,.split-main>.plan-rows-head,.decision-dialog .split-main>.att-panel,.stage-editor .split-main>*{flex-shrink:0}.editor-split.wide .split-main>.plan-rows{flex-shrink:0;margin-top:0;position:static;overflow:visible}.procurement-result-doc select,.plan-rows-head select{border:1px solid var(--color-border);background:var(--color-surface);min-height:2.25rem;font:inherit;border-radius:8px;padding:.3rem .6rem}.procurement-result-doc select{max-width:36rem}.plan-rows-head h4{margin:0}.procurement-doc-fields .field{margin-bottom:.35rem}.procurement-doc-fields textarea{min-height:2.4rem}.procurement-doc-grid{grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:0 .75rem;display:grid}.procurement-doc-grid .span-all{grid-column:1/-1}.plan-rows input,.plan-rows select{width:100%;min-width:7rem}.plan-rows td.narrow input{min-width:4rem}.plan-rows .row-tools{white-space:nowrap}.procurement-extra-grid{grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:.25rem .75rem;display:grid}.legal-pick-list,.history-list{margin:.25rem 0;padding:0;list-style:none}.legal-pick-list li,.history-list li{border-bottom:1px solid var(--color-border);padding:.3rem 0}.history-list p{margin:.15rem 0 0}.contractor-profile-button{vertical-align:middle;margin-left:.25rem;padding:.1rem .3rem}.members-table{min-width:38rem}.members-table .member-name{min-width:12rem}.members-table select{border:1px solid var(--color-border);background:var(--color-surface);min-width:9.5rem;min-height:2rem;font:inherit;border-radius:8px;padding:.2rem .4rem}.members-table td.row-tools{white-space:nowrap;text-align:right}.contractor-hits{border:1px solid var(--color-border);border-radius:8px;gap:.15rem;margin:.25rem 0;padding:.4rem .6rem;display:grid}.contractor-hits .link-button{text-align:left}.contractor-picker-tools{flex-wrap:wrap;gap:.25rem 1.25rem;display:flex}.contractor-tax{align-items:flex-end;gap:.5rem;display:flex}.contractor-tax .field{flex:1}.tax-name-search{margin:.25rem 0 .5rem}.tax-name-panel{border:1px solid var(--color-border);border-radius:8px;margin-top:.35rem;padding:.5rem .75rem}.tax-name-panel p{margin:0}.tax-name-panel ul{margin:.35rem 0 0;padding-left:1.1rem}.tax-name-panel a{color:var(--color-primary);font-weight:600}.tax-name-panel li+li{margin-top:.25rem}.plan-rows tr.ai-row td:first-child{box-shadow:inset 3px 0 0 var(--color-ai)}.plan-rows td.ai-cell-unsure input{border-color:var(--color-warn-text);background:var(--color-warn-bg)}.import-table td.ai-cell-unsure{outline:2px solid var(--color-warn-text);outline-offset:-2px;background:var(--color-warn-bg)}.import-table tr.ai-row-unsure td{background:var(--color-warn-bg)}.plan-ai-packages{gap:.4rem;display:grid}.plan-ai-packages h4{margin:0}.ai-link-cell{gap:.2rem;display:grid}.ai-link-cell select{max-width:16rem}.status-text.tone-new{color:var(--color-ai);font-weight:600}.result-ai-members{gap:.4rem;display:grid}.result-ai-members .ai-member-name{min-width:14rem}.result-ai-members .ai-cell-unsure{background:var(--color-warn-bg)}.price-packages .data-table{width:100%}.price-packages .price-plan{display:block}.bids-block{gap:.5rem;margin-top:.75rem;display:grid;container-type:inline-size}.bids-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.bids-table .bid-who{min-width:14rem}.bids-table td input:not([type=checkbox]),.bids-table td select{font:inherit;border:1px solid var(--color-border);border-radius:var(--radius);background:#fbfcfa;min-width:0;padding:.45rem .6rem}.bids-table td input:focus,.bids-table td select:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-ring);outline:none}.bids-table .bid-note input{width:100%;min-width:9rem}.bid-discount{flex-wrap:wrap;align-items:center;gap:.3rem;min-width:10rem;display:flex}.bid-discount select{width:auto}.bid-discount .rate-input{width:5.5rem}.bid-discount .amount-input{flex:7rem;min-width:0}.bids-table td.bid-unsure input:not([type=checkbox]),.bids-table td.bid-unsure select{border:2px solid var(--color-warn-text);background:var(--color-warn-bg)}.bids-table .row-tools{white-space:nowrap}.bids-table .block{display:block}.bid-joint summary{cursor:pointer}.bid-joint ul{margin:.2rem 0 0;padding-left:1.1rem;font-weight:400}.pending-bidders ul{margin:.3rem 0 0;padding-left:1.1rem}@container (width<=56rem){.bids-table thead{display:none}.bids-table,.bids-table tbody,.bids-table tr,.bids-table td{width:100%;display:block}.bids-table tr{border:1px solid var(--color-border);border-radius:var(--radius);margin-bottom:.5rem;padding:.5rem .65rem}.bids-table td{text-align:left;background:0 0;border:0;padding:.2rem 0}.bids-table td[data-label]:before{content:attr(data-label);color:var(--color-muted);font-size:.8rem;display:block}.bids-table .bid-no:before{content:"Dòng "}.bids-table .bid-who{min-width:0;font-weight:600}}@media (width<=640px){.catalog-table input:not([type=checkbox]){min-width:10rem}}.package-marks{flex-wrap:wrap;gap:.2rem .35rem;margin-top:.15rem;display:flex}.package-marks:empty{display:none}.register-table .col-package{width:100%;min-width:12rem}.register-table .col-method{min-width:7rem}.register-table .col-status{min-width:8.5rem}.register-table .col-contractor{min-width:10rem}.package-member{display:block}.package-member+.package-member{margin-top:.3rem}.register-table td.num .block{white-space:normal}.package-name{color:inherit;font-weight:600}.register-table tr.package-cancelled td{color:var(--color-muted)}.package-totals{white-space:normal}.stage-detail{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);margin:.75rem 0 1.25rem;padding:.85rem 1rem 1rem}.stage-detail-head{align-items:flex-start;gap:1rem;display:flex}.stage-detail-head h3{margin:0 0 .15rem}.stepper{grid-auto-columns:minmax(6.5rem,1fr);grid-auto-flow:column;margin:1rem 0 .25rem;padding:0 0 .25rem;list-style:none;display:grid;overflow-x:auto}.step{text-align:center;position:relative}.step:before{content:"";z-index:0;background:var(--color-border);width:100%;height:3px;position:absolute;top:1.05rem;left:-50%}.step:first-child:before,.step-aside:before{display:none}.step-done:before,.step-active:before{background:var(--color-primary)}.step button{z-index:1;width:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;padding:0 .25rem .2rem;display:flex;position:relative}.step-dot{border:2px solid var(--color-border);background:var(--color-surface);width:2.2rem;height:2.2rem;color:var(--color-muted);border-radius:50%;justify-content:center;align-items:center;font-size:.9rem;font-weight:700;transition:box-shadow .18s;display:inline-flex}.step-done .step-dot{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.step-active .step-dot{border-color:var(--color-primary);background:var(--color-surface);color:var(--color-primary);box-shadow:0 0 0 5px var(--color-primary-ring)}.step-soon{opacity:.55}.step-name{margin-top:.35rem;font-size:.86rem;font-weight:600;line-height:1.25}.step-active .step-name{color:var(--color-primary-dark)}.step-date{min-height:1.1em;color:var(--color-muted);font-size:.78rem}.step-files{background:var(--color-primary-soft);color:var(--color-primary-dark);border-radius:999px;margin-top:.15rem;padding:0 .4rem;font-size:.74rem}.step button:focus-visible .step-dot{outline:2px solid var(--color-primary);outline-offset:2px}.step-card{border:1px solid var(--color-border);border-top:3px solid var(--color-primary);border-radius:var(--radius);background:var(--color-surface);margin-top:.75rem;padding:.85rem 1rem}.step-card-soon{border-top-color:var(--color-border)}.step-card-head{flex-wrap:wrap;align-items:center;gap:.4rem .75rem;margin-bottom:.6rem;display:flex}.step-card-head h4{margin:0;font-size:1.02rem}.stage-summary{font-weight:600}.stage-actions{flex-wrap:wrap;gap:.4rem;margin-left:auto;display:flex}.step-card>*+*{margin-top:.75rem}.sub-title{text-align:left;margin:.25rem 0 .35rem;font-size:.92rem;font-weight:700}.fact-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem 1.25rem;margin:0;display:grid}.fact{border-bottom:1px dashed var(--color-border);padding-bottom:.4rem}.fact.wide{grid-column:1/-1}.fact dt{color:var(--color-muted);font-size:.8rem}.fact dd{overflow-wrap:anywhere;margin:.1rem 0 0;font-weight:600}.fact-note{color:var(--color-muted);font-size:.8rem;font-weight:400;display:block}.file-step+.file-step{margin-top:1rem}.file-group+.file-group{margin-top:.5rem}@media (width<=760px){.fact-grid{grid-template-columns:minmax(0,1fr)}.stage-actions{margin-left:0}}.attention-bar{border:1px solid var(--color-border);background:var(--color-surface);border-radius:10px;flex-wrap:wrap;align-items:center;gap:.4rem .6rem;margin:.25rem 0 .75rem;padding:.5rem .75rem;display:flex}.attention-bar.attention-clear{color:var(--color-notice-text);background:var(--color-notice-bg);border-color:#0000}.attention-title{color:var(--color-warn-text);align-items:center;gap:.3rem;font-weight:600;display:inline-flex}.attention-chip{border:1px solid var(--color-border);background:var(--color-pill);font:inherit;cursor:pointer;border-radius:999px;align-items:baseline;gap:.3rem;padding:.25rem .7rem;font-size:.9rem;display:inline-flex}.attention-chip strong{font-size:1rem}.attention-chip.urgent{color:var(--color-danger-text);background:var(--color-danger-bg);border-color:#0000}.attention-chip[aria-pressed=true]{outline:2px solid var(--color-primary-ring);background:var(--color-primary-soft)}.contracts-table-tools{align-items:center;margin:.25rem 0}.contract-title-status{margin-left:.25rem;font-size:.85rem;font-weight:600}.contract-left{margin:0 0 .5rem;font-size:1.05rem}.elapsed-bar{background:var(--color-pill);border-radius:999px;height:1.4rem;margin:0 0 .75rem;position:relative;overflow:hidden}.elapsed-fill{background:var(--color-primary-soft);border-right:2px solid var(--color-primary);position:absolute;inset:0 auto 0 0}.elapsed-fill.late{background:var(--color-warn-bg);border-right-color:var(--color-warn-text)}.elapsed-text{color:var(--color-text);padding:0 .6rem;font-size:.8rem;line-height:1.4rem;display:block;position:relative}.contract-accounts{margin:.75rem 0}.plain-list{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.account-line code{background:var(--color-pill);border-radius:6px;padding:.1rem .35rem;font-size:.95em}.contract-flags{margin:.5rem 0 0;padding-left:1.2rem;font-size:.9rem}.contract-flags li.tone-warn{color:var(--color-warn-text)}.guarantees-table td.register-actions,.appendices-table td.register-actions,.suspensions-table td.register-actions{white-space:nowrap}.guarantees-table td.register-actions .link-button+.link-button,.appendices-table td.register-actions .link-button+.link-button,.suspensions-table td.register-actions .link-button+.link-button{margin-left:.5rem}.contract-signers{margin-top:.25rem}.signer-row{border-left:3px solid var(--color-border);padding:.35rem .6rem 0}.procurement-doc-grid .field-check{align-self:end;margin:0 0 .9rem}.appendix-changes{flex-wrap:wrap;align-items:center;gap:.3rem .9rem;margin:.25rem 0 .5rem;display:flex}.contract-preview strong{color:var(--color-primary-dark)}.stage-editor .sub-title{margin:.75rem 0 .25rem}a.stat-link{text-decoration:none}.contract-search-project{margin-top:.15rem}.contract-pick-bar{gap:.5rem 1rem;margin-bottom:.5rem}.contract-pick-bar select{min-width:0;max-width:34rem}.contract-pick-bar label{white-space:nowrap;min-width:0;max-width:100%}@media (width<=720px){.contract-pick-bar select{max-width:calc(100vw - 8rem)}}.contract-pick-bar a,.sub-links a{color:var(--color-primary);font-weight:600}.attention-chip.static{cursor:default}.status-text.tone-danger{color:var(--color-danger-text);font-weight:600}.roster-bar{gap:.4rem 1.25rem;margin:0 0 .6rem}.staff-section{margin-top:1rem}tr.record-failed td{background:var(--color-danger-bg)}.head-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;margin-left:auto;display:flex}.sub-fields{row-gap:.35rem}.sub-fields .field{align-content:start}.sub-fields a{color:var(--color-primary);font-weight:600}.roster-table{table-layout:fixed;width:100%}.roster-table input,.roster-table select{width:100%;min-width:0}.roster-table .col-pick{width:3.5rem}.roster-table .col-kind{width:9.5rem}.roster-table .col-role{width:30%}.roster-table .col-page,.roster-table .col-edit{width:3.5rem}.roster-table tr.ai-row-unsure td{background:var(--color-warn-bg)}.closure-publish{border:1px solid var(--color-border);border-radius:8px;margin:.5rem 0 0;padding:.5rem .75rem 0}.closure-publish legend{padding:0 .3rem;font-weight:600}.document-field{gap:.35rem;display:grid}.document-field-value{border:1px solid var(--color-border);background:var(--color-bg);border-radius:8px;padding:.45rem .6rem}.document-field-new{border:1px dashed var(--color-primary);border-radius:6px;padding:0 .3rem;display:inline-block}.document-field .button-row{align-items:center}.sub-links{margin:.5rem 0}.ai-row-pick{margin:0 0 .5rem}.form-02a{align-items:center}.form-02a-note{color:var(--color-warn-text)}.gantt{--g-critical:#c9473d;--g-critical-text:#a8291f;--g-float:#5b8a32;--g-done:#a3ab9f;--g-dark:#1f2a17;--g-base:#c5ccc0;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);min-height:15rem;max-height:calc(100vh - 8.5rem);position:relative;overflow:auto}.gantt-inner{min-width:100%;display:flex;position:relative}.gantt-left{z-index:3;background:var(--color-surface);box-shadow:1px 0 0 var(--table-line-strong);flex:none;position:sticky;left:0}.gantt-right{flex:1;min-width:0}.gantt.narrow .gantt-left{position:static}.gantt-ruler{z-index:2;background:var(--table-head-bg);height:56px;position:sticky;top:0}.gantt-table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:.82rem}.gantt-table th{z-index:4;background:var(--table-head-bg);height:56px;color:var(--table-head-text);text-align:left;white-space:normal;border-bottom:1px solid var(--table-line-strong);padding:0 .3rem;font-weight:600;line-height:1.15;position:sticky;top:0}.gantt-table td{border-bottom:1px solid var(--table-line);white-space:nowrap;text-overflow:ellipsis;height:30px;padding:0 .3rem;overflow:hidden}.gantt-table .num{text-align:right}.gantt-table td.day,.gantt-table td.tight{padding:0 .15rem}.gantt-table tbody tr:nth-child(2n)>td{background:var(--color-surface)}.gantt-table tbody tr:hover>td{background:var(--table-hover)}.gantt-tr.group td{background:#f1f4ee;font-weight:600}.gantt-tr.critical .gantt-name,.gantt-tr.critical td.day{color:var(--g-critical-text)}.gantt-tr.problem td{background:var(--color-danger-bg)}.gantt-tr.selected td{background:var(--table-hover)}.gantt-tr.dim td{opacity:.4}.gantt-input{width:100%;height:24px;font:inherit;color:inherit;text-align:inherit;background:0 0;border:1px solid #0000;border-radius:4px;padding:0 .25rem}.gantt-input:hover,.gantt-input:focus{border-color:var(--color-border);background:var(--color-surface);outline:none}.gantt-input:focus{border-color:var(--color-primary)}.gantt-table td.day .gantt-input,.gantt-table td.tight .gantt-input{padding:0 .15rem}.gantt-input:not(:focus)::placeholder{color:inherit;opacity:1}.gantt-input.invalid{border-color:var(--color-danger-text);background:var(--color-danger-bg)}.gantt-select{appearance:none;cursor:pointer;padding:0 .2rem}.gantt-name,.gantt-day-cell,.gantt-links-cell{align-items:center;gap:.15rem;min-width:0;display:flex;position:relative}.gantt-name .gantt-open,.gantt-links-cell .gantt-open{background:var(--table-hover);box-shadow:-4px 0 4px var(--table-hover);position:absolute;right:0}.gantt-day-cell{gap:1px}.gantt-name .gantt-input,.gantt-text{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.gantt-name .link-button.gantt-text{color:inherit;font-weight:inherit;text-align:left;white-space:nowrap;padding:0 .25rem;text-decoration:none}.gantt-name .link-button.gantt-text:hover{text-decoration:underline}.gantt-fold,.gantt-open{width:20px;height:20px;color:var(--color-muted);cursor:pointer;background:0 0;border:0;border-radius:4px;flex:none;place-items:center;padding:0;display:inline-grid}.gantt-open,.gantt-actual-button.empty{opacity:0}.gantt-tr:hover .gantt-open,.gantt-open:focus-visible,.gantt-tr:hover .gantt-actual-button.empty,.gantt-actual-button.empty:focus-visible{opacity:1}@media (hover:none){.gantt-open,.gantt-actual-button.empty{opacity:1}}.gantt-diamond{color:var(--g-dark);font-size:.7rem}.gantt-pin{color:var(--color-primary);flex:none}.gantt-pin.moved{color:var(--color-warn-text)}.gantt-done-text{color:var(--g-float);font-weight:600}.gantt-actual-button{font-size:inherit;text-decoration:none}.gantt-actual-button:hover{text-decoration:underline}.gantt-empty,.gantt-nodates{margin:0;padding:1rem}.gantt-ruler-svg,.gantt-body-svg{font-family:inherit;display:block}.gantt-ruler-top,.gantt-ruler-bottom{text-anchor:middle;fill:var(--table-head-text)}.gantt-ruler-top{font-size:11px;font-weight:600}.gantt-ruler-bottom{font-size:10px}.gantt-tick{stroke:var(--table-line-strong);stroke-width:1px}.gantt-tick.light{stroke:var(--table-line)}.gantt-mark-label rect{fill:var(--color-surface);stroke-width:1px}.gantt-mark-label text{font-size:10.5px;font-weight:600}.gantt-mark-label.tone-today rect,.gantt-mark.tone-today{stroke:#3d4a3a}.gantt-mark-label.tone-today text{fill:#3d4a3a}.gantt-mark-label.tone-asof rect{fill:#2f6fb3;stroke:#2f6fb3}.gantt-mark-label.tone-target rect{fill:#d99a1e;stroke:#d99a1e}.gantt-mark-label.tone-deadline rect{fill:#c0392b;stroke:#c0392b}.gantt-mark-label.tone-asof text,.gantt-mark-label.tone-target text,.gantt-mark-label.tone-deadline text{fill:#fff}.gantt-mark-label.tone-project rect{stroke:#8a948a}.gantt-mark-label.tone-project text{fill:#5d675c}.gantt-mark{stroke-width:1.2px}.gantt-mark.tone-asof{stroke:#2f6fb3;stroke-dasharray:4 3}.gantt-mark.tone-target{stroke:#d99a1e;stroke-dasharray:6 3;stroke-width:1.6px}.gantt-mark.tone-deadline{stroke:#c0392b;stroke-width:2px}.gantt-mark.tone-project{stroke:#8a948a;stroke-dasharray:3 3}.gantt-row-bg{fill:#0000;stroke:var(--table-line);stroke-width:.5px}.gantt-row-bg.group{fill:#f1f4ee}.gantt-row-bg.selected{fill:var(--table-hover)}.gantt-offdays rect{fill:#66706512;pointer-events:none}.gantt-bands{pointer-events:none}.gantt-hatch-line{stroke:#c0392b47;stroke-width:3px}.gantt-band-label{fill:#a8291f;font-size:10px}.gantt-arrow path{fill:none;stroke:#7c8579;stroke-width:1px}.gantt-arrow .gantt-arrow-head{fill:#7c8579;stroke:none}.gantt-arrow.critical path{stroke:#c9473d}.gantt-arrow.critical .gantt-arrow-head{fill:#c9473d}.gantt-arrow.lit path{stroke-width:1.8px}.gantt-arrow.dim{opacity:.15}.gantt-row{transition:opacity var(--speed) var(--ease)}.gantt-row.dim{opacity:.3}.gantt-row.clickable{cursor:pointer}.gantt-group{fill:#1f2a17}.gantt-bar.critical,.gantt-milestone.critical{fill:#c9473d}.gantt-bar.float,.gantt-milestone.float{fill:#5b8a32}.gantt-bar.done,.gantt-milestone.done{fill:#a3ab9f}.gantt-bar.problem,.gantt-milestone.problem{fill:#e3b1ab}.gantt-base{fill:#c5ccc0}.gantt-base-milestone{fill:#fff;stroke:#9aa497;stroke-width:1.2px}.gantt-actual{fill:#1f2a17}.gantt-label{fill:#2c3829;paint-order:stroke;stroke:#fff;stroke-width:3.5px;stroke-linejoin:round;font-size:11px}.gantt-label.critical{fill:#a8291f}.gantt-legend{color:var(--color-muted);flex-wrap:wrap;gap:.3rem 1rem;margin:.3rem 0 0;font-size:.78rem;display:flex}.gantt-legend .lg:before{content:"";vertical-align:middle;border-radius:2px;width:1.3rem;height:.55rem;margin-right:.3rem;display:inline-block}.gantt-legend .critical:before{background:#c9473d}.gantt-legend .float:before{background:#5b8a32}.gantt-legend .done:before{background:#a3ab9f}.gantt-legend .base:before{background:#c5ccc0;height:.25rem}.gantt-legend .actual:before{background:#1f2a17;height:.25rem}.gantt-legend .milestone:before{background:#1f2a17;width:.55rem;transform:rotate(45deg)}@media (prefers-reduced-motion:reduce){.gantt-row{transition:none}}.gantt-body-svg .grab{cursor:grab}.gantt-body-svg.dragging,.gantt-body-svg.dragging *{cursor:grabbing;-webkit-user-select:none;user-select:none}.gantt-body-svg{touch-action:pan-x pan-y}.gantt-resize{fill:#1f2a17;fill-opacity:.18;cursor:ew-resize}.gantt-resize:hover{fill-opacity:.45}.gantt-dot{fill:var(--color-surface);stroke:#2f6fb3;stroke-width:1.6px;cursor:crosshair}.gantt-dot:hover{fill:#2f6fb3}.gantt-guide{stroke:#2f6fb3;stroke-width:1px;stroke-dasharray:3 2;pointer-events:none}.gantt-link-line{stroke:#2f6fb3;stroke-width:1.6px;stroke-dasharray:5 3;pointer-events:none}.gantt-link-target{fill:#2f6fb3;fill-opacity:.1;pointer-events:none}.gantt-finish-grip{fill:#0000;cursor:ew-resize}.gantt-finish-grip:hover{fill:#6b3fa0;fill-opacity:.12}.gantt-mark.tone-finish{stroke:#6b3fa0;stroke-width:2px}.gantt-mark-label.tone-finish rect{fill:#6b3fa0;stroke:#6b3fa0}.gantt-mark-label.tone-finish text{fill:#fff}.gantt-feedback{pointer-events:none}.gantt-feedback rect{fill:#1f2a17;fill-opacity:.92}.gantt-feedback text{fill:#fff;font-size:11.5px;font-weight:600}.gantt-feedback.tone-warn rect{fill:#9a6a08}.gantt-feedback.tone-block rect{fill:#a2271b}.button.on{color:#fff;background:var(--color-primary);border-color:var(--color-primary)}.plan-unpin{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.gantt-popover{z-index:6;width:min(26rem,90vw);position:absolute}.gantt-popover.above{transform:translateY(-100%)}.gantt-pred{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);gap:.5rem;padding:.7rem .8rem;display:grid;box-shadow:0 12px 32px #141e0f2e}.gantt-pred-head,.gantt-pred-rel{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.gantt-pred-head strong{flex:1}.gantt-pred-item{border-bottom:1px solid var(--color-border);gap:.35rem;padding-bottom:.5rem;display:grid}.gantt-pred select,.gantt-pred-n input{border:1px solid var(--color-border);font:inherit;background:#fbfcfa;border-radius:8px;padding:.35rem .5rem}.gantt-pred-item>.button.ghost{justify-self:end}.gantt-pred-rel .button.active{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary);font-weight:600}.gantt-pred-n input{width:4rem}.gantt-pred-explain{background:var(--color-notice-bg);color:var(--color-notice-text);border-radius:6px;margin:0;padding:.4rem .55rem}.plan-screen{grid-template-columns:minmax(0,1fr);gap:.55rem;min-width:0;display:grid}.plan-screen .contract-pick-bar{margin-bottom:0}.plan-screen .contract-pick-bar select{max-width:24rem;padding-block:.35rem}.plan-summary{gap:.3rem;display:grid}.plan-summary-line{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);flex-wrap:wrap;align-items:center;gap:.3rem .4rem;padding:.3rem .5rem;font-size:.85rem;display:flex}.plan-chip{background:var(--color-pill);white-space:nowrap;border-radius:999px;padding:.1rem .5rem}.plan-standing{border-radius:999px;padding:.1rem .55rem;font-weight:600}.plan-standing.tone-ok{background:var(--color-notice-bg);color:var(--color-notice-text)}.plan-standing.tone-warn{background:var(--color-warn-bg);color:var(--color-warn-text)}.plan-standing.tone-danger{background:var(--color-danger-bg);color:var(--color-danger-text)}.plan-summary-pct{white-space:nowrap;margin-left:auto}.plan-note{border-radius:8px;margin:0;padding:.3rem .6rem;font-size:.84rem}.plan-note.tone-info{background:var(--color-notice-bg);color:var(--color-notice-text)}.plan-note.tone-warn{background:var(--color-warn-bg);color:var(--color-warn-text)}.plan-toolbar,.plan-selection{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.plan-toolbar .button.small,.plan-toolbar .seg{padding:.28rem .5rem}.plan-toolbar .button.small.primary{padding:.28rem .7rem}.plan-toolbar .seg.on{background:var(--color-primary)}.plan-unsaved{color:var(--color-warn-text);font-size:.85rem;font-weight:600}.plan-selection{border:1px solid var(--color-primary-ring);border-radius:var(--radius);background:var(--color-primary-soft);padding:.35rem .5rem;font-size:.85rem}.plan-sep{background:var(--color-border);width:1px;height:1.3rem}.plan-menu summary{list-style:none}.plan-menu-list{gap:.1rem;min-width:17rem;padding:.4rem}.plan-menu-list.align-left{left:0;right:auto}.plan-menu-item{color:var(--color-text);text-align:left;white-space:nowrap;border-radius:6px;padding:.4rem .55rem;text-decoration:none}.plan-menu-item:hover:not(:disabled){background:var(--color-primary-soft);text-decoration:none}.plan-menu-list .inline-check{padding:.25rem .55rem}.plan-empty .button-row{margin-top:.5rem}.plan-form>.button.small{justify-self:start}.plan-form{gap:.6rem;display:grid}fieldset.plan-fields{border:0;min-width:0;margin:0;padding:0}.plan-task-main,.plan-offday{grid-template-columns:minmax(0,1fr) 9rem auto;align-items:end;gap:.6rem;display:grid}.plan-task-main,.plan-more-grid{align-items:start}.plan-task-main>.inline-check{margin-top:2rem}.plan-more-grid{grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:.6rem .75rem;display:grid}.plan-more-grid .span-all,.plan-more-grid .wide-field{grid-column:1/-1}.plan-task-saved{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);gap:.35rem;padding:.55rem .7rem;display:grid}.plan-task-saved p,.plan-task-assign{margin:0}.plan-checks{flex-wrap:wrap;gap:1rem;display:flex}.plan-actuals{gap:.5rem;display:grid}.plan-actuals-head{flex-wrap:wrap;align-items:end;gap:.6rem 1rem;display:flex}.plan-actual-row{border:1px solid var(--color-border);border-radius:var(--radius);grid-template-columns:minmax(11rem,1.3fr) repeat(2,minmax(8.5rem,.8fr)) 5.5rem auto;align-items:end;gap:.5rem;padding:.5rem .6rem;display:grid}.plan-actual-row.critical{border-left:3px solid #c9473d}.plan-actual-name{align-self:center;display:grid}.plan-actual-files{flex-wrap:wrap;grid-column:1/-1;align-items:flex-start;gap:.5rem 1rem;display:flex}.plan-file-chip{font-size:.82rem}.plan-file-chip.removing{color:var(--color-muted);text-decoration:line-through}.plan-compare,.plan-import-table{max-height:22rem;overflow:auto}.plan-chain-list,.plan-history{gap:.35rem;margin:0;padding-left:1.2rem;display:grid}.plan-merge-item{border:1px solid var(--color-border);border-radius:8px;gap:.25rem;margin:0;display:grid}@media (width<=760px){.plan-task-main,.plan-offday,.plan-actual-row{grid-template-columns:1fr}.plan-summary-pct{margin-left:0}.plan-chip,.plan-summary-pct{white-space:normal}.plan-menu-list,.plan-menu-list.align-left{min-width:0;position:fixed;left:1rem;right:1rem}.plan-menu-item{white-space:normal}}.plan-import-sources{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.7rem;display:grid}.plan-import-source{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);text-align:left;cursor:pointer;gap:.3rem;padding:.9rem;display:grid}.plan-import-source:hover{border-color:var(--color-primary)}tbody tr.import-bad>td{background:var(--color-danger-bg)}tbody tr>td.cell-warn{background:var(--color-warn-bg)}.plan-toolbar-view{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.35rem;margin-left:auto;display:flex}.plan-toolbar-excel .button{padding:.28rem .5rem;font-size:.85rem}.plan-import-table.plan-draft-table{max-height:max(16rem,100vh - 22rem)}.plan-toolbar-excel .alert{z-index:5;max-width:22rem;position:absolute}.plan-owner-actions{flex-wrap:nowrap;justify-content:flex-end}.plan-template-pick{gap:.25rem;margin-bottom:.6rem;display:grid}.gantt-tr.relink td.gantt-links{background:var(--color-warn-bg)}button.plan-standing{cursor:pointer;font:inherit;border:0}.plan-ai-window{border:1px solid var(--color-border);border-radius:8px;gap:.4rem;margin:0;padding:.5rem .75rem .6rem;display:grid}.plan-ai-window legend{padding:0 .3rem;font-weight:600}.plan-ai-finish-list{border:0;gap:.3rem;max-width:28rem;margin:0;padding:0;display:grid}.plan-ai-window .plan-ai-finish-list legend{padding:0 0 .15rem;font-size:.9rem;font-weight:600}.gantt-bar.warn,.gantt-milestone.warn{fill:#d9a21e}.gantt-bar.hollow{fill:#0000;stroke:#8a948a;stroke-width:1.2px;stroke-dasharray:4 3}.gantt-row-deadline{stroke:#c0392b;stroke-width:2.2px}.gantt-label.muted{fill:#6b746a;font-style:italic}.gantt-table td.gantt-contractor span{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.plan-suggest .differs{font-weight:600}.plan-unplanned{flex-wrap:wrap;align-items:center;gap:.35rem;margin:.4rem 0 0;display:flex}.gantt-legend .warn:before{background:#d9a21e}.gantt-legend .hollow:before{background:0 0;border:1px dashed #8a948a}.plan-suggest a{color:inherit;font-weight:600;text-decoration:underline}.boq-body{gap:.45rem;min-width:0;display:grid}.boq-body>*{min-width:0;margin-top:0;margin-bottom:0}.boq-body .boq-card{overflow-wrap:anywhere}.boq-screen{gap:.45rem;min-width:0;display:grid}.boq-screen>.screen-head{margin-bottom:0}.screen-head .contract-pick-inline{font-size:.9rem}.screen-head .contract-pick-inline select{max-width:18rem;padding:.35rem .5rem}.form-02a .button,.excel-download.small .button{padding:.3rem .65rem;font-size:.85rem}.boq-price{white-space:nowrap}.boq-card-head{flex-wrap:wrap;align-items:center;gap:.25rem .7rem;display:flex}.boq-card-head .boq-versions{margin:0}.boq-card .boq-card-sums{gap:.2rem 1rem;margin:.25rem 0 0}.boq-toolbar{flex-wrap:wrap;gap:.35rem .4rem;margin:0}.boq-toolbar .search-box{flex:0 13rem}.boq-toolbar .boq-actions{gap:.3rem;margin-left:auto}.boq-marks{gap:.3rem;margin:.3rem 0;display:grid}.boq-marks .notice{flex-wrap:wrap;align-items:center;gap:.4rem;margin:0;display:flex}.boq-versions{flex-wrap:wrap;align-items:center;gap:.4rem;margin:.4rem 0 .3rem;display:flex}.boq-version-chip{border:1px solid var(--color-border);background:var(--color-surface);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:.35rem;padding:.3rem .65rem;font-size:.88rem;display:inline-flex}.boq-version-chip[aria-pressed=true]{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-ring);font-weight:700}.boq-version-chip.deleted{color:var(--color-muted);border-style:dashed}.boq-card{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);margin:0;padding:.45rem .75rem}.boq-card-title{margin:0;font-size:1rem}.boq-card p{margin:.3rem 0}.boq-gap{background:var(--color-warn-bg);color:var(--color-warn-text);border-radius:6px;padding:.1rem .45rem}.boq-actions{flex-wrap:wrap;gap:.3rem}.boq-table-wrap,.boq-grid-wrap{max-height:68vh;overflow:auto}.boq-grid-wrap{max-height:56vh}.boq-table td{white-space:nowrap;height:34px;padding-top:0;padding-bottom:0;font-size:.88rem}.boq-grid td{height:36px;padding:0 .2rem}.boq-table .boq-spacer td{border:0;height:auto;padding:0}.boq-table .boq-name,.boq-table .boq-note{text-overflow:ellipsis;max-width:34rem;overflow:hidden}.boq-table .boq-note{max-width:14rem;color:var(--color-muted)}.boq-table .center,.boq-grid .center{text-align:center}.boq-table .badge{margin-left:.35rem}.boq-fold{vertical-align:middle;margin-right:.2rem;padding:.05rem}.boq-bold td,.boq-bold input{font-weight:700}.boq-italic td,.boq-italic input{font-style:italic}.boq-dropped td{color:var(--color-muted)}.boq-dropped .boq-name,.boq-dropped .boq-name-input{text-decoration:line-through}.boq-table td.boq-diff{color:var(--color-warn-text);font-weight:600}.boq-table td.cost-issue,.boq-grid td.cost-issue input{background:var(--color-warn-bg);color:var(--color-warn-text)}.boq-grid td.cost-auto{color:var(--color-muted);font-style:italic}.boq-grid tr.boq-current td{background:var(--color-primary-soft)}.boq-grid input{border:1px solid var(--color-border);width:100%;font:inherit;background:var(--color-surface);border-radius:6px;padding:.2rem .35rem;font-size:.85rem}.boq-grid input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-ring);outline:none}.boq-grid input:disabled{background:var(--color-pill)}.boq-grid td.boq-bad input,.boq-settings input.boq-bad{border-color:var(--color-danger-text);background:var(--color-danger-bg)}.boq-code-input{min-width:3.5rem}.boq-name-cell{min-width:18rem}.boq-name-wrap{align-items:center;gap:.3rem;display:flex}.boq-unit-input{min-width:4rem}.boq-note-input{min-width:8rem}input.boq-num{text-align:right;font-variant-numeric:tabular-nums;min-width:7rem}.boq-name-wrap .badge{flex:none}.boq-tools{z-index:3;background:var(--color-surface);flex-wrap:wrap;align-items:center;gap:.25rem .35rem;padding:.35rem 0;display:flex;position:sticky;top:0}.boq-tools .icon-button[aria-pressed=true]{background:var(--color-primary-soft);color:var(--color-primary)}.boq-tools-at{min-width:9rem}.boq-tools-gap{flex:1}.boq-tools-note{flex-basis:100%;margin:0}input.boq-num.boq-pct{width:5rem;min-width:4.5rem}.boq-totals{margin-top:.5rem}@media (width<=720px){.boq-tools-at{flex-basis:100%}.boq-price{white-space:normal}.boq-table .boq-name{max-width:16rem}}.boq-import-table{max-height:50vh;overflow:auto}.boq-inline-group{border:0;gap:.25rem;margin:.4rem 0;padding:0;display:grid}.boq-create-options{border:0;gap:.4rem;padding:0;display:grid}.boq-create-options .badge{margin-left:.35rem}.boq-check{border:1px solid var(--color-border);border-radius:8px;margin:.4rem 0;padding:.5rem .7rem}.boq-check ul{font-variant-numeric:tabular-nums;margin:.25rem 0;padding-left:1.1rem}.boq-check li{margin:.15rem 0}.boq-check{padding:.35rem .6rem}.boq-check-line{margin:0;line-height:1.55}.boq-ai-head{flex-wrap:wrap;align-items:center;gap:.3rem .6rem;display:flex}.boq-ai-head select{padding:.2rem .4rem;font-size:.85rem}.boq-settings{border:0;flex-wrap:wrap;align-items:center;gap:.4rem .8rem;margin:0 0 .4rem;padding:0;display:flex}.boq-inline{align-items:center;gap:.35rem;font-size:.88rem;display:inline-flex}.boq-inline input.boq-num{width:8rem;min-width:5rem}.boq-settings-box{margin:0;font-size:.88rem}.boq-settings-box>summary{color:var(--color-muted);cursor:pointer;padding:.15rem 0}.boq-settings-box[open]>summary{margin-bottom:.35rem}.boq-settings-label{color:var(--color-text);font-weight:600}.acceptance-body{gap:.4rem}.acceptance-sums{gap:.2rem 1.2rem;margin:0}.acceptance-gap{border-radius:var(--radius);background:var(--color-warn-bg);color:var(--color-warn-text);padding:0 .35rem}.acceptance-batches{max-height:14.5rem;overflow:auto}.acceptance-batches .data-table td,.acceptance-batches .data-table th{white-space:nowrap;padding-top:.25rem;padding-bottom:.25rem}.acceptance-batches td.acceptance-wrap{text-overflow:ellipsis;max-width:20rem;overflow:hidden}.acceptance-batches td.acceptance-state{white-space:normal}@media (width<=1500px){.acceptance-batches td.acceptance-wrap{max-width:8rem}.acceptance-batches .data-table th,.acceptance-table th{white-space:normal}.acceptance-batches td.acceptance-state{min-width:8rem}.acceptance-batches td.acceptance-boq{white-space:normal;min-width:7rem}.acceptance-table td,.acceptance-table th{padding-left:.4rem;padding-right:.4rem}.acceptance-table .boq-name{white-space:normal;min-width:12rem;max-width:22rem}}.acceptance-batches .badge{margin-right:.2rem}tr.row-muted td{color:var(--color-muted);font-style:italic}.acceptance-marks{gap:.25rem;margin:.3rem 0 0;padding:0;list-style:none;display:grid}.acceptance-marks .notice{margin:0;padding:.3rem .6rem}.acceptance-table td.acceptance-current{background:var(--color-primary-soft);font-weight:600}.acceptance-table td.acceptance-file{background:var(--color-warn-bg);color:var(--color-warn-text)}.acceptance-table tr.acceptance-marked td:first-child{box-shadow:inset 3px 0 0 var(--color-warn-text)}.acceptance-table .badge{margin-left:.35rem}.acceptance-empty,.acceptance-items-note{margin:.3rem 0}.acceptance-fields{grid-template-columns:9rem 9rem minmax(10rem,1.4fr) 10rem minmax(9rem,1fr);align-items:end;gap:.2rem .6rem;display:grid}.acceptance-fields .field{margin:0}.acceptance-basis{gap:.2rem;margin:.2rem 0;display:grid}.acceptance-basis p{margin:0}.acceptance-record-box{border:1px solid var(--color-border);border-radius:var(--radius);gap:.3rem;margin:.5rem 0;padding:.45rem .7rem;display:grid}.acceptance-record-box>.button{justify-self:start}.acceptance-record-box h4{margin:0}.acceptance-to-record,.acceptance-picker{border:1px dashed var(--color-border);border-radius:6px;gap:.15rem;margin:0;padding:.3rem .5rem;display:grid}.acceptance-picker{max-height:12rem;overflow:auto}.acceptance-records{margin:0;padding-left:1rem}.acceptance-import ul{margin:.25rem 0 0;padding-left:1.1rem}.acceptance-import tr.row-warn td{background:var(--color-warn-bg)}.acceptance-import td.cost-issue{background:var(--color-warn-bg);color:var(--color-warn-text)}.acceptance-import td.import-note{white-space:normal;min-width:14rem}.acceptance-import .text-warn{color:var(--color-warn-text)}.acceptance-import .text-danger{color:var(--color-danger-text)}@media (width<=760px){.acceptance-fields{grid-template-columns:1fr 1fr}.acceptance-record-fields{grid-template-columns:1fr}.acceptance-batches{max-height:none}}.boq-card-head .boq-actions{margin-left:auto}.notice.acceptance-red{background:var(--color-danger-bg);color:var(--color-danger-text);border-left-color:var(--color-danger-text)}.acceptance-record-meta{gap:.35rem;margin-top:.4rem;display:grid}.acceptance-record-fields{grid-template-columns:10rem minmax(10rem,1fr) minmax(10rem,1fr);align-items:end;gap:.2rem .6rem;display:grid}.acceptance-record-fields .field{margin:0}.acceptance-record-ai{border:1px dashed var(--color-border);border-radius:var(--radius);gap:.25rem;padding:.4rem .6rem;display:grid}.ai-unsure-cell{outline:2px dotted var(--color-warn-text);outline-offset:-2px}.payment-sums,.payment-advance,.payment-retention{margin:0}.payment-due{margin:.2rem 0}.notice.payment-red{background:var(--color-danger-bg);color:var(--color-danger-text);border-left-color:var(--color-danger-text)}.payment-marks-list,.payment-problems{gap:.25rem;margin:.3rem 0 0;display:grid}.payment-marks-list .notice,.payment-marks-list .alert,.payment-problems .notice,.payment-problems .alert{margin:0;padding:.3rem .6rem}.payment-member-list{margin:.3rem 0;padding-left:1.1rem}.payment-dates,.payment-links{margin:.2rem 0}.payment-forms{flex-wrap:wrap;align-items:center;gap:.35rem .8rem;margin-top:.5rem;display:flex}.payment-form{align-items:center;gap:.25rem;display:inline-flex}.payment-fields{align-items:end}.payment-link-table caption,.payment-members caption{text-align:left;padding:.3rem 0;font-weight:600}.payment-state .badge{margin-right:.15rem}@media (width<=760px){.payment-forms{flex-direction:column;align-items:flex-start}}.payment-member-caption{margin:.6rem 0 .3rem}.payment-member-card{border:1px solid var(--color-border);border-radius:8px;margin-bottom:.5rem;padding:.5rem .7rem .6rem}.payment-member-head{flex-wrap:wrap;justify-content:space-between;gap:.25rem 1rem;margin-bottom:.35rem;display:flex}.payment-member-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,12.5rem),1fr));align-items:start;gap:.35rem .8rem;display:grid}.payment-member-field .link-button,.payment-member-field .muted,.payment-member-field .boq-gap{display:block}.payment-member-value{gap:.2rem;margin:0;display:grid}.payment-batches td:first-child,.payment-batches th:first-child,.payment-batches td:nth-child(3),.payment-batches td:nth-child(4){white-space:nowrap}.treasury-accounts .mono{font-variant-numeric:tabular-nums;white-space:nowrap}.treasury-fields{grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:0 1rem;display:grid}.treasury-account-row{grid-template-columns:minmax(10rem,1.2fr) minmax(10rem,1.2fr) minmax(10rem,1.4fr) minmax(7rem,.8fr) auto;align-items:end;gap:0 .75rem;display:grid}@media (width<=720px){.treasury-account-row{grid-template-columns:1fr}}.fund-frame,.fund-screen{gap:.6rem;display:grid}.fund-filter{flex-wrap:wrap;align-items:center;gap:.4rem 1rem;display:flex}.fund-filter select{max-width:calc(100vw - 9rem);font:inherit;border:1px solid var(--color-border);border-radius:var(--radius);background:#fbfcfa;margin-left:.3rem;padding:.3rem .5rem}.fund-filter select:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-ring);outline:none}.fund-kpis .badge{white-space:normal}.fund-kpis{margin:0}.fund-heading{margin:.6rem 0 0;font-size:1rem}.fund-marks{gap:.25rem;display:grid}.fund-marks .notice,.fund-marks .alert{margin:0;padding:.3rem .6rem}.fund-table{font-size:.88rem}.fund-table td.num,.fund-table th.num{font-variant-numeric:tabular-nums;white-space:nowrap}.fund-table .badge{white-space:normal;margin:.1rem .2rem 0 0}.fund-table tr.fund-group th,.fund-table tr.fund-group td{background:var(--color-pill);text-align:left}.fund-table tr.fund-subtotal td{border-top:1px solid var(--color-border);font-style:italic}.fund-table tr.fund-total td{border-top:2px solid var(--color-border);font-weight:600}.fund-disb-list{margin:.2rem 0;padding-left:1.1rem}.fund-card{border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;gap:.4rem;padding:.6rem .8rem;display:grid}.fund-card-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.4rem 1rem;display:flex}.fund-ceiling{overflow-wrap:anywhere}.cost-estimate-note{grid-column:1/-1;margin:0}fieldset.cost-form-fields{border:0;border-top:1px solid var(--color-border);min-width:0;margin:.75rem 0 0;padding:.5rem 0 0}fieldset.cost-form-fields legend{padding:0 .25rem 0 0;font-size:.9rem;font-weight:600}.cost-forms-02b{margin-top:1rem}.fund-focus{outline:2px solid var(--color-primary-ring);outline-offset:1px}tr.fund-focus td{background:var(--color-primary-soft)}@media (width<=640px){.fund-card{padding:.5rem}.fund-filter{flex-direction:column;align-items:stretch}}.issue-bar{flex-wrap:wrap;align-items:center;gap:.4rem 1.25rem;margin:.25rem 0 .75rem;display:flex}.issue-counts{flex-wrap:wrap;gap:.4rem 1rem;margin:0;display:flex}.check-inline{cursor:pointer;align-items:center;gap:.35rem;display:inline-flex}tr.issue-late td:first-child{box-shadow:inset 3px 0 0 var(--color-danger-text)}.issue-parties{border:0;flex-wrap:wrap;gap:.35rem 1rem;margin:0;padding:0;display:flex}.issue-parties legend{width:100%;margin-bottom:.25rem}.issue-text p,.issue-timeline .pre-line{white-space:pre-line}.issue-text p{margin:.2rem 0 .75rem}.issue-entries h3{margin:1rem 0 .4rem;font-size:1rem}.issue-timeline{border-left:2px solid var(--color-border);margin:0 0 1rem;padding:0 0 0 .9rem;list-style:none}.issue-timeline li{padding:.3rem 0 .5rem}.issue-timeline li.issue-auto{color:var(--color-muted)}.issue-entry-day{font-weight:600}.issue-detail-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:.5rem 1.5rem;display:grid}.issue-detail-anchor{scroll-margin-top:72px}.report-layout{grid-template-columns:13rem minmax(0,1fr);align-items:start;gap:.9rem;display:grid}.report-layout.templates-closed{grid-template-columns:2.25rem minmax(0,1fr)}.report-templates{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);padding:.6rem .7rem;position:sticky;top:.5rem}.report-templates.closed{padding:.3rem}.report-main-head,.report-templates-head{align-items:center;gap:.4rem;margin-bottom:.4rem;display:flex}.report-templates ul{margin:0 0 .5rem;padding:0;list-style:none}.report-templates li{border-radius:8px;align-items:center;gap:.4rem;padding:.35rem .5rem;display:flex}.report-templates li.active{background:var(--color-primary-soft);color:var(--color-primary-dark);font-weight:600}.report-main{gap:.8rem;min-width:0;display:grid}.report-steps{flex-wrap:wrap;gap:.8rem;display:flex}.report-steps>.report-step{flex:26rem;container-type:inline-size}.report-steps>.report-step:first-child{flex:1.25 36rem}.report-step{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);min-width:0;padding:.75rem .9rem}.report-step h2{margin:0 0 .55rem;font-size:1rem}.report-result-head h2{margin:0}.report-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.75rem;display:grid}.report-tree{max-height:22rem;overflow:auto}.report-tree-group{border:0;margin:0 0 .5rem;padding:0}.report-tree-group legend{color:var(--color-primary-dark);margin-bottom:.2rem;padding:0;font-weight:600}.report-field{cursor:pointer;align-items:baseline;gap:.4rem;padding:.15rem 0;display:flex}.report-field .muted{white-space:nowrap;margin-left:auto}.report-order-head{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.4rem;display:flex}.report-columns{counter-reset:report-col;margin:0;padding:0;list-style:none}.report-columns li{border:1px solid var(--color-border);background:var(--color-bg);cursor:grab;counter-increment:report-col;border-radius:8px;align-items:center;gap:.3rem;margin-bottom:.25rem;padding:.2rem .35rem;display:flex}.report-columns li.dragging{opacity:.5}.report-columns li:before{content:counter(report-col) ".";min-width:1.4rem;color:var(--color-muted);font-size:.85rem}.report-column-name{overflow-wrap:anywhere;flex:1;min-width:0}.report-period,.report-scope-tools{flex-wrap:wrap;align-items:center;gap:.4rem .6rem;margin-bottom:.5rem;display:flex}.report-scope-tools input[type=search]{flex:12rem;min-width:0}.report-projects{max-height:16rem;margin:0;padding:0;list-style:none;overflow:auto}.report-project-code{min-width:4.5rem;font-weight:600}@container (width<=36rem){.report-fields{grid-template-columns:minmax(0,1fr)}}@media (width<=760px){.report-layout,.report-layout.templates-closed{grid-template-columns:minmax(0,1fr)}.report-templates{position:static}}.report-result-head{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.report-result-head .excel-download{display:inline-flex}.report-stale{background:var(--color-warn-bg);color:var(--color-warn-text);border-radius:8px;margin:0 0 .5rem;padding:.35rem .6rem}.report-issues{background:var(--color-warn-bg);color:var(--color-warn-text);border-radius:8px;gap:.6rem;margin-bottom:.5rem;padding:.45rem .7rem;display:flex}.report-issues ul{margin:0;padding-left:1rem}@media (width<=760px){.report-issues{flex-direction:column;gap:.2rem}}.report-preview-scroll{border:1px solid var(--color-border);border-radius:8px;max-height:70vh;overflow:auto}.report-preview{width:max-content;min-width:100%}.report-preview th,.report-preview td{text-overflow:ellipsis;white-space:nowrap;max-width:28rem;overflow:hidden}.report-preview thead th{z-index:2;position:sticky;top:0}.report-preview tfoot td{z-index:2;background:var(--color-primary-soft);font-weight:600;position:sticky;bottom:0}.report-preview .report-sticky-0{z-index:1;background:var(--color-surface);min-width:3rem;position:sticky;left:0}.report-preview .report-sticky-1{z-index:1;background:var(--color-surface);position:sticky;left:3rem}.report-preview thead .report-sticky-0,.report-preview thead .report-sticky-1,.report-preview tfoot .report-sticky-0,.report-preview tfoot .report-sticky-1{z-index:3}.report-preview thead .report-sticky-0,.report-preview thead .report-sticky-1{background:var(--table-head-bg)}.report-preview tfoot .report-sticky-0,.report-preview tfoot .report-sticky-1{background:var(--color-primary-soft)}.report-preview td.cell-denied{color:var(--color-muted);font-style:italic}:is(.dialog-backdrop:has(.report-zoom),.dialog-backdrop:has(.zoom-frame)){padding:0}.dialog.full.report-zoom,.dialog.full.zoom-frame{border-radius:0;width:100vw;max-width:none;height:100vh}.zoom-frame-body{flex-direction:column;flex:1;gap:.5rem;min-height:0;display:flex}.zoom-frame-body .report-preview-scroll{flex:1;min-height:0;max-height:none}.report-excluded{margin-top:.75rem}.report-excluded ul{max-height:14rem;margin:.4rem 0 0;padding-left:1.1rem;font-size:.9rem;overflow:auto}.report-path{flex-wrap:wrap;align-items:center;gap:.3rem;margin:0 0 .6rem;padding:0;list-style:none;display:flex}.report-path li{align-items:center;gap:.3rem;display:inline-flex}.report-path-chip{background:var(--color-primary-soft);color:var(--color-primary-dark);border-radius:999px;align-items:center;gap:.2rem;padding:.2rem .55rem;font-weight:600;display:inline-flex}.report-add-level{align-items:center;gap:.25rem;display:inline-flex}.report-layout-choice,.report-options-body{flex-wrap:wrap;align-items:center;gap:.35rem 1rem;display:flex}.report-options{margin-top:.5rem}.report-options summary,.report-filters summary{cursor:pointer;font-weight:600}.report-options-body{margin-top:.45rem}.report-in-period{border:1px dashed var(--color-border);border-radius:8px;flex-wrap:wrap;gap:.3rem .8rem;margin:0;padding:.3rem .6rem;display:flex}.report-tree-wrap{gap:.4rem;min-width:0;display:grid}.report-tree-group summary{cursor:pointer;color:var(--color-primary-dark);font-weight:600}.report-column-choices{flex-wrap:wrap;gap:.25rem;display:inline-flex}.report-column-choices select{max-width:11rem;font-size:.85rem}.report-filter-list{margin:.5rem 0;padding:0;list-style:none}.report-filter{flex-wrap:wrap;align-items:center;gap:.35rem;margin-bottom:.3rem;display:flex}.report-filter select,.report-filter input{min-width:0;max-width:16rem}.report-title{align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.report-title input{flex:1;min-width:0}.report-scope-filter{border:1px dashed var(--color-border);border-radius:8px;gap:.4rem;margin-bottom:.5rem;padding:.5rem;display:grid}.report-preview tr.report-row-parent td{font-weight:600}.report-preview td.report-name{min-width:16rem}.report-fold,.report-fold-space{vertical-align:middle;width:1.3rem;display:inline-flex}.report-preview td.report-merged{border-top-color:#0000}.report-preview td.cell-warn{background:var(--color-warn-bg)}.report-drill{color:var(--color-primary-dark);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.report-notes{margin:.4rem 0 0;padding-left:1.1rem}.report-drill-scroll{max-height:60vh;overflow:auto}@media (width<=760px){.report-preview thead th{white-space:normal;min-width:7rem}.report-columns li{flex-wrap:wrap}.report-preview td.report-name,.report-preview th.report-sticky-1{text-overflow:ellipsis;width:9rem;min-width:0;max-width:9rem;overflow:hidden}.report-columns .report-column-name{flex:10rem;min-width:8rem}.report-columns .report-column-choices{flex-basis:100%;order:10}}.report-templates-section{text-transform:uppercase;letter-spacing:.02em;padding-top:.6rem}.report-templates li .link-button{text-align:left;align-items:center;gap:.3rem;display:inline-flex}.report-template-actions{gap:.4rem;margin-left:auto;display:none}.report-templates li:hover .report-template-actions,.report-templates li:focus-within .report-template-actions{display:inline-flex}.report-templates-foot{flex-wrap:wrap;gap:.4rem;margin:.4rem 0;display:flex}.report-kho-filters{flex-wrap:wrap;align-items:flex-end;gap:.6rem;margin-bottom:.6rem;display:flex}.report-kho-filters .field{min-width:10rem;margin:0}.report-kho td.report-kho-actions{white-space:nowrap}.report-kho-actions .excel-download{display:inline-block}.report-kho tr.hidden-export td{color:var(--color-muted)}.report-preview td.cell-changed{background:var(--color-primary-soft);font-weight:600}.report-kind{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.6rem;display:flex}.report-summary{flex-direction:column;gap:.6rem;display:flex}.report-summary-part{border:1px solid var(--color-border);border-radius:var(--radius);flex-direction:column;gap:.4rem;margin:.4rem 0;padding:.5rem .6rem;display:flex}.report-summary-row{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.report-groups-manual{flex-direction:column;gap:.3rem;display:flex}.report-column-label{min-width:6rem;max-width:14rem}.report-columns li.report-column-wide{flex-wrap:wrap}.report-print>summary{cursor:pointer;font-weight:600}.report-preview thead tr th{text-align:center;vertical-align:middle;height:2.2rem}.report-preview thead tr:nth-child(2) th{top:2.2rem}.report-preview thead tr:nth-child(3) th{top:4.4rem}.report-preview thead tr:nth-child(4) th{top:6.6rem}.report-preview th.report-resizable{resize:horizontal}.report-renamable{cursor:text;border-bottom:1px dashed #0000}.report-renamable:hover,.report-renamable:focus-visible{border-bottom-color:var(--color-muted);outline:none}.report-rename{width:100%;min-width:6rem;font:inherit}.report-preview td.cell-manual{background:var(--color-warn-bg)}.report-manual-input{border:1px solid var(--color-border);width:100%;min-width:5rem;font:inherit;text-align:inherit;border-radius:4px}.report-badge{background:var(--color-pill);color:var(--color-muted);border-radius:999px;margin-left:.35rem;padding:0 .35rem;font-size:.75rem;font-weight:400}.report-preview tr.report-row-extra td{font-style:italic}.report-compact .report-preview th,.report-compact .report-preview td{padding-top:.1rem;padding-bottom:.1rem;font-size:.85rem}.report-preview td.cell-changed{outline:2px solid var(--color-primary);outline-offset:-2px}.report-preview td.cell-changed:after{content:" ●";color:var(--color-primary);vertical-align:super;font-size:.6rem}.dialog-backdrop:has(.report-drill-dialog){place-items:stretch end;padding:0}.dialog.report-drill-dialog{border-radius:0;height:100vh;max-height:none}.consult-kinds{border:1px solid var(--color-border);border-radius:var(--radius);flex-wrap:wrap;gap:.3rem .8rem;margin:.5rem 0;padding:.5rem .6rem;display:flex}@media (width<=760px){.report-preview td.report-name.report-name-open{white-space:normal;overflow:visible}.dialog-backdrop:has(.report-drill-dialog){place-items:start center;padding:6vh 1rem}.dialog.report-drill-dialog{border-radius:var(--radius-lg);height:auto;max-height:90vh}}.tf-split{grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:start;gap:1rem;display:grid}.tf-grid-wrap{border:1px solid var(--color-border);border-radius:var(--radius);max-height:65vh;overflow:auto}.tf-grid{font-size:.8rem}.tf-grid th,.tf-grid td{text-overflow:ellipsis;white-space:nowrap;max-width:14rem;padding:.2rem .4rem;overflow:hidden}.tf-grid tr.tf-group td{font-weight:700}.tf-grid tr.tf-total td{border-top:2px solid var(--color-border);font-weight:700}.tf-sure{background:var(--color-notice-bg)}.tf-need{background:var(--color-warn-bg)}.tf-map{flex-direction:column;gap:.4rem;max-height:65vh;display:flex;overflow:auto}.tf-map-row{border-radius:var(--radius);grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);align-items:center;gap:.4rem;padding:.3rem .5rem;font-size:.85rem;display:grid}.tf-map-row select{width:100%;min-width:0}.tf-candidates{flex-wrap:wrap;grid-column:1/-1;gap:.3rem;display:flex}.tf-box{border:1px solid var(--color-border);border-radius:var(--radius);padding:.5rem .7rem;font-size:.85rem}.tf-box ul{margin:.3rem 0 0;padding-left:1.1rem}@media (width<=900px){.tf-split{grid-template-columns:minmax(0,1fr)}}.tf-box .inline-check{align-items:baseline;gap:.4rem;margin:.15rem 0;display:flex}.tf-split+.tf-split,.tf-split+.tf-box{margin-top:.8rem}.field-caption{font-size:.88rem;font-weight:600}.choice-row{flex-wrap:wrap;gap:.4rem 1.2rem;display:flex}.case-head-meta{flex-wrap:wrap;align-items:center;gap:.4rem .9rem;display:flex}.case-section{gap:.75rem;margin-bottom:1rem;display:grid}.case-section-head{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.case-section-head h2{margin:0;font-size:1.05rem}.case-section-head .push-right{margin-left:auto}.village-list{flex-wrap:wrap;gap:.25rem;display:flex}.workspace-title .case-code{color:var(--color-muted);font-size:.82rem}.case-link{color:var(--color-primary);font-weight:600;text-decoration:none}.case-link:hover{text-decoration:underline}@media (width<=640px){.batch-table .wide-only{display:none}}.gpmb-steps-layout{grid-template-columns:minmax(0,1fr) 18rem;align-items:start;gap:1rem;display:grid}@media (width<=1100px){.gpmb-steps-layout{grid-template-columns:minmax(0,1fr)}}.gpmb-steps-strip strong{font-size:.95rem}.gpmb-phase-row th{background:var(--color-primary-soft);color:var(--color-primary-dark);text-align:left;font-weight:600}.gpmb-step-name{font-weight:600}.gpmb-warn{border-radius:var(--radius);background:var(--color-warn-bg);color:var(--color-warn-text);margin-top:.2rem;padding:.1rem .4rem;font-size:.82rem;display:block}.gpmb-due-list,.gpmb-progress{gap:.15rem;display:grid}.gpmb-due{font-variant-numeric:tabular-nums;font-size:.86rem}.gpmb-due.tone-soon{color:var(--color-warn-text);font-weight:600}.gpmb-due.tone-late{color:var(--color-danger-text);font-weight:600}.gpmb-unverified{margin-left:.35rem}.gpmb-status-doing{color:var(--color-brand-text);font-weight:600}.gpmb-status-done{color:var(--color-primary)}.gpmb-due-card h3{margin-top:0}.gpmb-due-card h3 a{color:inherit;text-underline-offset:2px;text-decoration:underline}.gpmb-due-items{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.gpmb-due-items li{gap:.1rem;display:grid}.gpmb-step-facts{border-radius:var(--radius);background:var(--color-pill);gap:.25rem;padding:.5rem .75rem;display:grid}.gpmb-deadline-cell{flex-wrap:wrap;align-items:center;gap:.35rem;display:inline-flex}.gpmb-deadline-cell .narrow-input,.gpmb-steps-table .narrow-input,.catalog-table .narrow-input{width:4.5rem}.gpmb-shared-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.gpmb-shared-list li{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}@media (width<=640px){.gpmb-steps-table .wide-only{display:none}}.narrow-field{max-width:14rem}.gpmb-side-cards{align-content:start;gap:1rem;display:grid}.gpmb-step-docs{color:var(--color-muted);align-items:center;gap:.25rem;margin-top:.15rem;display:flex}.gpmb-step-docs:hover{color:var(--color-primary)}.gpmb-batch-step{gap:.35rem;max-width:48rem;margin-bottom:.75rem;display:grid}.gpmb-quick{align-items:center}.gpmb-quick .push-right{margin-left:auto}.gpmb-secret{flex-wrap:wrap;align-items:center;gap:.25rem .6rem;display:inline-flex}.gpmb-revealed{font-variant-numeric:tabular-nums;letter-spacing:.04em}.gpmb-group-select{max-width:100%}.gpmb-kv th{width:12rem;color:var(--color-muted);text-align:left;font-weight:500}.gpmb-kv,.gpmb-rows-table{width:100%}.gpmb-rows-table .cell-field{min-width:6rem;margin:0}.gpmb-parcels td.cell-warn{background:var(--color-warn-bg);color:var(--color-warn-text)}.gpmb-group-tree{gap:.15rem;margin:0;padding:0;list-style:none;display:grid}.gpmb-group-node{border-bottom:1px solid var(--color-border);flex-wrap:wrap;align-items:center;gap:.25rem .5rem;padding-block:.3rem;display:flex}.gpmb-group-node .row-actions{margin-left:auto}.gpmb-group-draft{grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));align-items:end;gap:.5rem;width:100%;display:grid}.member-pick li{flex-wrap:wrap;align-items:center;gap:.25rem 1rem;display:flex}.member-lead{margin-left:auto}.gpmb-lead{margin-left:.35rem}@media (width<=640px){.gpmb-kv th{width:40%}}@media (width<=600px){.history-table thead{display:none}.history-table tr{border-bottom:1px solid var(--color-border);padding:.35rem 0;display:block}.history-table td{border:0;padding:.05rem .25rem;display:block}}.gpmb-error{color:var(--color-danger-text);font-size:.82rem;display:block}.gpmb-error.inline{display:inline}.gpmb-row-error td{background:var(--color-danger-bg)}.gpmb-import-missing{border:1px solid var(--color-border);border-radius:var(--radius);gap:.2rem;margin-top:.75rem;padding:.5rem .75rem;display:grid}.gpmb-import-missing legend{font-size:.86rem;font-weight:600}.gpmb-export-columns{border:1px solid var(--color-border);border-radius:var(--radius);grid-template-columns:repeat(auto-fill,minmax(12rem,1fr));gap:.15rem .75rem;padding:.5rem .75rem;display:grid}.gpmb-export-columns legend{font-size:.86rem;font-weight:600}.gpmb-progress-cell{white-space:normal;font-size:.86rem}.gpmb-doc-households{gap:.35rem;display:grid}.gpmb-doc-households .pick-list{border:1px solid var(--color-border);border-radius:var(--radius);max-height:14rem;margin:0;overflow-y:auto}.gpmb-doc-households .chip{cursor:default;align-items:center;gap:.25rem;display:inline-flex}.gpmb-step-select{text-overflow:ellipsis;min-width:0;max-width:20rem}@media (width<=600px){.gpmb-step-select{flex:100%;width:100%;max-width:none}}.hh-file-drop{margin-bottom:.75rem}.hh-file-drop .ai-batch-drop{padding:.6rem .8rem}.hh-doc-list li{border-bottom:1px solid var(--color-border);flex-wrap:wrap;align-items:center;gap:.35rem;padding:.3rem 0;display:flex}.hh-doc-list li:last-child{border-bottom:0}.hh-doc-list .badge{padding:.1rem .45rem;font-size:.72rem}.hh-doc-files{flex-wrap:wrap;gap:.25rem .6rem;min-width:0;display:inline-flex}.hh-doc-files .link-button{text-overflow:ellipsis;white-space:nowrap;max-width:18rem;overflow:hidden}.hh-file-upload{gap:.5rem;display:grid}.tpl-body{flex:auto;min-height:0;overflow:auto}.tpl-body .table-wrap{overflow:visible}.tpl-tokens td{vertical-align:top}.tpl-tokens td:first-child{min-width:9rem}.tpl-tokens code{word-break:break-word;font-size:.86rem}.tpl-tokens select{max-width:100%}.tpl-tokens tr.tpl-ok td{background:var(--color-notice-bg)}.tpl-tokens tr.tpl-ok td:first-child{box-shadow:inset 4px 0 0 var(--color-primary)}.tpl-tokens tr.tpl-need td{background:var(--color-warn-bg)}.tpl-tokens tr.tpl-need .tpl-state{color:var(--color-warn-text);font-weight:600}.tpl-tokens tr.tpl-blank .tpl-state,.tpl-tokens tr.tpl-hidden .tpl-state{color:var(--color-muted)}.tpl-file{gap:.5rem;margin-bottom:.75rem;display:grid}.tpl-steps{grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:.25rem 1rem;display:grid}.gpmb-export-bar{width:100%;max-width:14rem;height:.5rem;accent-color:var(--color-primary);margin-top:.3rem;display:block}.library-toolbar select,.library-toolbar input[type=search]{width:auto;min-width:12rem}.library-toolbar input[type=search]{flex:18rem}.library-amended{display:block}.ground-set-list{gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.ground-set-list li{border:1px solid var(--table-line);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:.4rem .8rem;padding:.45rem .6rem;display:flex}.ground-set-list li.active{border-color:var(--color-primary);background:var(--color-primary-soft)}.ground-lines{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.ground-lines li{grid-template-columns:11rem minmax(0,1fr);align-items:baseline;gap:.15rem .8rem;display:grid}.ground-lines li>:not(:first-child){grid-column:2}.ground-lines .badge{justify-self:start}.ground-line-red>span:nth-child(2){color:var(--color-danger-text)}.ground-row-pair{grid-template-columns:minmax(0,14rem) minmax(0,1fr);gap:.4rem;display:grid}.ground-edit-table select,.ground-edit-table input{width:100%;min-width:0}.inline-edit-wrap select,.inline-edit-wrap input,.inline-edit-wrap textarea,.inline-edit textarea{font:inherit;border:1px solid var(--color-border);border-radius:var(--radius);resize:vertical;background:#fbfcfa;padding:.5rem .65rem}.library-toolbar input[type=search]{padding:.6rem .75rem}.ground-edit-table textarea{width:100%}@media (width<=640px){.ground-row-pair,.ground-lines li{grid-template-columns:minmax(0,1fr)}.ground-lines li>:not(:first-child){grid-column:1}.library-table thead,.ground-edit-table thead{display:none}.library-table,.library-table tbody,.ground-edit-table,.ground-edit-table tbody{width:100%;display:block}.library-table tr,.ground-edit-table tr{border-bottom:1px solid var(--table-line);background:0 0;flex-wrap:wrap;gap:.25rem .6rem;padding:.55rem 0;display:flex}.library-table td,.ground-edit-table td{background:0 0;border:0;padding:0;display:block}.library-table td.library-cite,.ground-edit-table td:nth-child(3){flex:100%;order:-1}}.library-pick-search{width:100%}.library-pick-list{flex-direction:column;gap:.35rem;max-height:50vh;margin:.5rem 0;padding:0;list-style:none;display:flex;overflow:auto}.price-sets-split{grid-template-columns:minmax(0,1fr);gap:1rem;display:grid}@media (width>=1200px){.price-sets-split{grid-template-columns:minmax(360px,2fr) minmax(0,3fr);align-items:start}}.price-set-list,.price-set-panel{min-width:0}.price-sets-table tr.selected td{background:var(--color-primary-soft)}.price-status{white-space:nowrap;background:var(--color-pill);color:var(--color-muted);border-radius:999px;padding:.1rem .45rem;font-size:.8rem}.price-status-active{background:var(--color-primary-soft);color:var(--color-primary)}.price-set-panel header h3{margin:0 0 .25rem}.price-items-scroll{max-height:60vh;overflow:auto}.price-group-row td{background:var(--color-pill);font-weight:600}.price-flags{color:var(--color-warn-text)}.price-import-problems{color:var(--color-warn-text);margin:.5rem 0;padding-left:1.2rem}.price-set-files ul{margin:.25rem 0 .5rem;padding-left:1.2rem}.price-lookup{border:1px solid var(--color-border);border-radius:8px;gap:.5rem;margin-bottom:1rem;padding:.75rem;display:grid}.price-lookup-input{width:100%;padding:.5rem .75rem;font-size:1rem}.price-hits{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.price-hit{border-left:4px solid var(--color-border);background:var(--color-surface);padding:.35rem .6rem}.price-hit-green{border-left-color:var(--color-primary)}.price-hit-yellow{border-left-color:var(--color-warn-text)}.price-hit-red{border-left-color:var(--color-danger-text)}.price-hit-main{flex-wrap:wrap;align-items:baseline;gap:.5rem;display:flex}.price-hit-level{text-transform:uppercase;font-size:.75rem;font-weight:600}.price-hit-text{flex:16rem}.rule-questions{grid-template-columns:minmax(0,1fr);gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.rule-questions>li{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(0,1fr);gap:.3rem;padding-bottom:.4rem;display:grid}.rule-questions>li.tone-warn{box-shadow:inset 3px 0 0 var(--color-warn-text);padding-left:.5rem}.rule-inputs{flex-wrap:wrap;gap:.4rem;display:flex}.rule-inputs input{flex:10rem;min-width:0}.rule-cite blockquote{white-space:pre-wrap;margin:.25rem 0 0}.rule-fixed-list{gap:.3rem;margin:0;padding:0;list-style:none;display:grid}.estimate-page{flex-direction:column;gap:.75rem;min-width:0;display:flex}.estimate-head{border-bottom:1px solid var(--color-border);flex-wrap:wrap;align-items:center;gap:.5rem 1rem;padding-bottom:.6rem;display:flex}.estimate-head h1{margin:0;font-size:1.15rem;font-weight:700}.estimate-back{align-items:center;gap:.3rem;text-decoration:none;display:inline-flex}.estimate-version-pick{color:var(--color-muted);flex-wrap:wrap;align-items:center;gap:.4rem;display:inline-flex}.estimate-version-pick select{max-width:100%;color:var(--color-text)}.estimate-lock-badge{background:var(--color-primary-soft);color:var(--color-primary-dark);border-radius:8px;align-items:center;gap:.35rem;padding:.2rem .6rem;font-size:.8rem;font-weight:600;display:inline-flex}.estimate-lock-badge.other{background:var(--color-warn-bg);color:var(--color-warn-text)}.estimate-head-actions{flex-wrap:wrap;gap:.5rem;margin-left:auto;display:flex}.estimate-body{flex-wrap:wrap;align-items:flex-start;gap:.75rem;display:flex}.estimate-record{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);flex:300px;min-width:0;max-width:360px;position:sticky;top:.5rem;overflow:hidden}.estimate-record .file-frame{height:70vh}.estimate-record-empty{margin:0;padding:.75rem}.estimate-main{flex-direction:column;flex:999 760px;gap:.6rem;min-width:0;display:flex}.estimate-top{padding:0}.estimate-headline{border-bottom:1px solid var(--color-border);flex-wrap:wrap;align-items:baseline;gap:.25rem 1.1rem;padding:.5rem .9rem;display:flex}.estimate-fold{border:0;border-bottom:1px solid var(--color-border);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;flex-wrap:wrap;align-items:baseline;gap:.25rem .6rem;padding:.5rem .9rem;display:flex}.estimate-fold-body{border-bottom:1px solid var(--color-border);flex-direction:column;gap:.3rem;padding:.4rem .9rem .7rem;display:flex}.estimate-ground{grid-template-columns:22px 34px minmax(0,1fr) auto;align-items:baseline;gap:.4rem;display:grid}.estimate-ground.off{color:var(--color-muted);text-decoration:line-through}.estimate-fold-foot{flex-wrap:wrap;gap:.4rem .9rem;padding-top:.25rem;display:flex}.estimate-note-list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.estimate-note-list li{grid-template-columns:1.2rem minmax(0,1fr) auto;align-items:start;gap:.4rem;display:grid}.estimate-note-list li.stale{box-shadow:inset 3px 0 0 var(--color-warn-text)}.estimate-note-list textarea,.estimate-note-add textarea{width:100%;min-height:2.6rem;font:inherit;resize:vertical}.estimate-note-add{align-items:flex-start;gap:.5rem;display:flex}.estimate-xl-form{border:0;min-width:0;margin:0;padding:0}.estimate-xl-cols{border:0;flex-wrap:wrap;gap:.4rem 1rem;margin:.5rem 0;padding:0;display:flex}.estimate-xl-cols legend{margin-bottom:.35rem;font-weight:600}.estimate-signers input{width:100%}@media (width<=640px){.estimate-head-actions{margin-left:0}.estimate-ground{grid-template-columns:22px 34px minmax(0,1fr)}.estimate-ground>:last-child{grid-column:3}}.sheet-grid-wrap{max-width:100%}.sheet-grid td,.sheet-grid th{vertical-align:top;padding:.3rem .35rem}.sheet-grid input:not([type=checkbox]),.sheet-grid select{width:100%;min-height:32px;font:inherit;border:1px solid var(--color-border);background:var(--color-surface);border-radius:6px;padding:.2rem .35rem}.sheet-grid input:not([type=checkbox]):focus,.sheet-grid select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-ring);outline:none}.sheet-lead,.sheet-grip,.sheet-menu{white-space:nowrap;width:1%}.sheet-lead input[type=checkbox]{width:18px;height:18px;margin:7px 2px}.sheet-grip{position:relative}.sheet-handle{min-width:24px;min-height:32px;color:var(--color-muted);cursor:grab;touch-action:none;justify-content:center;align-items:center;display:inline-flex}.sheet-grid-wrap.dragging,.sheet-grid-wrap.dragging *{cursor:grabbing;-webkit-user-select:none;user-select:none}.sheet-grid tr.drop-before>td{box-shadow:inset 0 2px 0 var(--color-primary)}.sheet-grid tr.selected>td{background:var(--color-primary-soft)}.sheet-insert{z-index:3;background:var(--color-primary);height:20px;color:var(--color-surface);white-space:nowrap;cursor:pointer;opacity:0;pointer-events:none;transition:opacity var(--speed) var(--ease);border:0;border-radius:999px;align-items:center;gap:.3rem;padding:0 .45rem;font-size:.72rem;font-weight:600;display:inline-flex;position:absolute;top:-10px;left:2px}.sheet-insert:after{content:"";background:var(--color-primary-ring);pointer-events:none;width:60vw;height:2px;position:absolute;top:50%;left:100%}.sheet-grip:hover .sheet-insert,.sheet-insert:focus-visible{opacity:1;pointer-events:auto}.sheet-row-menu kbd{color:var(--color-muted);margin-left:.4rem;font-size:.7rem}.sheet-add{margin-top:.5rem}.sheet-total-bar{z-index:4;border-top:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-sm);flex-wrap:wrap;align-items:baseline;gap:.35rem 1.4rem;margin-top:.75rem;padding:.6rem 1rem;display:flex;position:sticky;bottom:0}.sheet-total-hint{color:var(--color-muted);margin-left:auto}@media (width<=760px){.sheet-total-hint{margin-left:0}}.sheet-status-bar{z-index:5;border-bottom:1px solid var(--color-border);background:var(--color-surface);flex-wrap:wrap;align-items:center;gap:.5rem;padding:.5rem 0;display:flex;position:sticky;top:0}.sheet-pill,.sheet-chip{font:inherit;cursor:pointer;border:0;border-radius:999px;font-weight:600}.sheet-pill{min-height:28px;padding:.2rem .7rem;font-size:.8rem}.sheet-pill.on{outline:2px solid}.tone-danger.sheet-pill,.tone-danger.sheet-chip{background:var(--color-danger-bg);color:var(--color-danger-text)}.tone-warn.sheet-pill,.tone-warn.sheet-chip{background:var(--color-warn-bg);color:var(--color-warn-text)}.tone-ok.sheet-chip{background:var(--color-notice-bg);color:var(--color-notice-text)}.tone-muted.sheet-pill,.tone-muted.sheet-chip{background:var(--color-pill);color:var(--color-muted)}.sheet-sep{background:var(--color-border);align-self:stretch;width:1px}.sheet-mode{margin-left:auto}.sheet-stt{color:var(--color-muted)}.sheet-content-input{font-weight:600}.sheet-content>b,.sheet-item{display:block}.sheet-item{text-overflow:ellipsis;white-space:nowrap;padding-top:2px;overflow:hidden}.sheet-problem,.sheet-cap-row>td{color:var(--color-danger-text)}.sheet-dim input,.sheet-qty input{text-align:right}.sheet-dim.dim-off,.sheet-dim.dim-off input{color:var(--color-muted);background:var(--color-pill)}.sheet-note{color:var(--color-muted);white-space:normal;font-size:.72rem;display:block}.sheet-amount{font-weight:600}.sheet-chip{min-height:24px;margin:0 .25rem .25rem 0;padding:.1rem .55rem;font-size:.74rem}.sheet-grid tr.sheet-unconfirmed>td,.sheet-part>td{background:var(--table-stripe)}.sheet-grid tr.sheet-red>td{background:var(--color-danger-bg)}.sheet-grid tr.sheet-red>td:first-child{box-shadow:inset 3px 0 0 var(--color-danger-text)}.sheet-part>td{font-size:.85rem}.sheet-grid .sheet-part-label{color:var(--color-muted);padding-left:1.6rem}.sheet-group-row>th{background:var(--color-pill);text-align:left}.sheet-group-row>th.num{text-align:right}.sheet-suggest{z-index:60;border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-md);border-radius:8px;overflow:hidden auto}.sheet-suggest-row{border-top:1px solid var(--color-border);cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:.5rem;min-height:32px;padding:.4rem .6rem;display:grid}.sheet-suggest-row.active{background:var(--color-primary-soft)}.sheet-suggest-text{min-width:0}.sheet-suggest-text>b{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.sheet-suggest-row>.num{white-space:nowrap}.sheet-suggest-text>span{display:block}.sheet-suggest-action{font-weight:600;display:block}.sheet-suggest-action,.sheet-suggest-cite{color:var(--color-primary)}.sheet-suggest-hint{border-top:1px solid var(--color-border);background:var(--table-stripe);padding:.3rem .6rem}.sheet-panel-row>td{background:var(--color-bg)}.sheet-panel{grid-template-columns:minmax(0,1fr);gap:.5rem;max-width:760px;padding:.5rem .25rem;display:grid}.sheet-panel-head{align-items:baseline;gap:.75rem;display:flex}.sheet-panel-head .icon-button{margin-left:auto}.sheet-panel-fields{border:0;min-width:0;margin:0;padding:0}.sheet-panel .rule-inputs input,.sheet-panel select{max-width:100%}.sheet-total-group b{margin-left:.25rem}.sheet-total-main b{color:var(--color-primary);font-size:1.1rem}@media (width<=760px){.sheet-mode{margin-left:0}}.estimate-sheet .sheet-grid{table-layout:fixed;min-width:1420px}.estimate-sheet .sheet-lead{width:34px}.estimate-sheet .sheet-grip{width:30px}.estimate-sheet .sheet-menu{width:40px}.estimate-sheet .sheet-menu summary.button{padding-inline:.35rem}.estimate-sheet .sheet-stt{width:38px}.estimate-sheet .sheet-group{width:134px}.estimate-sheet .sheet-group select{padding-right:1.2rem;font-size:.8rem}.estimate-sheet .sheet-chip{text-align:left;text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}.estimate-sheet .sheet-dim{width:64px}.estimate-sheet .sheet-count{width:54px}.estimate-sheet .sheet-unit{width:58px}.estimate-sheet .sheet-qty{width:112px}.estimate-sheet .sheet-price{width:100px}.estimate-sheet .sheet-amount-col{width:112px}.estimate-sheet .sheet-chips{width:180px}.estimate-sheet .sheet-cite{width:112px}.estimate-sheet .sheet-grid td{overflow-wrap:anywhere}.estimate-sheet .sheet-grid td:not(.sheet-grip):not(.sheet-menu){contain:layout paint}.estimate-sheet .sheet-grid td{padding-top:.15rem;padding-bottom:.15rem}.estimate-sheet .sheet-item{font-size:.75rem;line-height:1.2}.sheet-adjust-add{opacity:0}.sheet-grid tr:hover .sheet-adjust-add,.sheet-grid tr:focus-within .sheet-adjust-add{opacity:1}.estimate-sheet .sheet-status-bar{top:var(--sticky-top,0px);z-index:8}.estimate-sheet .sheet-grid-wrap{max-height:calc(100vh - var(--sticky-top,0px) - var(--sheet-chrome,9rem));overflow:auto}.estimate-sheet .sheet-grid thead th{z-index:6;background:var(--color-surface);box-shadow:inset 0 -1px 0 var(--color-border);position:sticky;top:0}.estimate-page>.sheet-total-bar{z-index:10;margin-top:0}.estimate-page>.sheet-total-bar .sheet-total-hint{text-align:right;flex:auto;min-width:0}.estimate-record .file-pane{background:0 0;border:0;padding:.5rem .6rem}.estimate-record .file-pane-head{flex-wrap:wrap;gap:.35rem}.estimate-record .file-pane-head select,.estimate-record .file-pane-head strong{flex:8rem;min-width:0;max-width:100%}.estimate-record .file-pane-head .button,.estimate-record .file-pane-head span{white-space:nowrap}.estimate-head-actions .excel-download .button{padding:.3rem .65rem;font-size:.85rem}@media (width<=760px){.estimate-sheet .sheet-grid-wrap{max-height:none}}@media (width<=640px){.estimate-page>.sheet-total-bar{white-space:nowrap;flex-wrap:nowrap;overflow:hidden}.estimate-page>.sheet-total-bar .sheet-total-group,.estimate-page>.sheet-total-bar .sheet-total-hint,.estimate-page>.sheet-total-bar .sheet-total-main>.small{display:none}.estimate-page>.sheet-total-bar{padding:.45rem .75rem}}.estimate-sheet .sheet-status-bar{gap:.35rem;padding:.35rem 0}.estimate-sheet .sheet-status-bar .button,.estimate-sheet .sheet-status-bar .seg,.estimate-sheet .sheet-pill{padding:.15rem .5rem;font-size:.78rem}.estimate-sheet .sheet-grid thead th{padding-top:.3rem;padding-bottom:.3rem;font-size:.8rem}.estimate-sheet.card{padding-bottom:.4rem}.estimate-sheet .sheet-grid thead input[type=checkbox]{margin:0 2px}@media (width<=1499px){.estimate-page>.sheet-total-bar .sheet-total-keys{display:none}.estimate-page>.sheet-total-bar{gap:.25rem 1rem;padding:.45rem 1rem;font-size:.85rem}.estimate-page>.sheet-total-bar .sheet-total-main b{font-size:1rem}.estimate-head{gap:.5rem .6rem}.estimate-head h1{font-size:1.05rem}.estimate-wide-only{display:none}}.price-rule-sets,.price-rule-list{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.price-rule-sets li.chosen{font-weight:600}.price-rule{border:1px solid var(--color-border);border-radius:6px;gap:.2rem;padding:.45rem .6rem;display:grid}.price-rule-own{border-left:3px solid var(--color-primary)}.price-rule-head{flex-wrap:wrap;align-items:baseline;gap:.4rem;display:flex}.price-rule-params{white-space:pre-wrap;overflow-wrap:anywhere;max-height:14rem;overflow:auto}
