:root{--bg:#f6f7f9;--surface:#ffffff;--surface-2:#f1f3f6;--border:#e4e7ec;--text:#101828;--muted:#667085;--brand:#e8590c;--brand-hover:#c94a08;--brand-soft:#fff1e6;--ink:#14181f;--ink-text:#c9d0db;--danger:#c0262d;--danger-soft:#fdecec;--ok:#1a7f45;--ok-fill:#16a34a;--warn:#a15c00;--warn-fill:#d97706;--radius:12px;--shadow:0 1px 2px rgba(16,24,40,0.05),0 1px 3px rgba(16,24,40,0.06);--shadow-lg:0 12px 32px rgba(16,24,40,0.12);--ring:0 0 0 3px rgba(232,89,12,0.22)}:root[data-theme=dark]{--bg:#0e1116;--surface:#171b22;--surface-2:#1e232c;--border:#2a303b;--text:#f2f4f7;--muted:#98a2b3;--brand-soft:#3a2111;--danger-soft:#3a1618;--ok:#5fd48c;--ok-fill:#2fb866;--warn:#f0b24b;--warn-fill:#e08a17;--ink:#0a0d12;--shadow:none;--shadow-lg:0 12px 32px rgba(0,0,0,0.5)}*{box-sizing:border-box}html{color-scheme:light}html[data-theme=dark]{color-scheme:dark}:root[data-theme=navy]{--bg:#f5f9ff;--surface-2:#edf3fc;--border:#dce6f5;--brand:#1f70e6;--brand-hover:#1a5fc4;--brand-soft:#e3eeff;--ink:#0a2a6e;--ink-text:#dbe4f5;--ring:0 0 0 3px rgba(46,134,240,0.28)}:root[data-theme=navy] .nav a:hover{background:rgba(255,255,255,.08)}:root[data-theme=navy] .nav a.active{background:#284480}:root[data-theme=navy] .nav a.active svg{color:#22d3ee}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit}h1,h2,p{margin:0}.app{display:grid;grid-template-columns:252px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--ink);color:var(--ink-text);padding:20px 14px;display:flex;flex-direction:column;gap:24px;position:-webkit-sticky;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:10px;padding:4px 10px;color:#fff;font-weight:700;font-size:16px;letter-spacing:.1em;text-decoration:none}.brand-mark{width:32px;height:32px;border-radius:9px;background:var(--brand);display:grid;place-items:center}.brand-mark svg{width:18px;height:18px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.nav{display:grid;grid-gap:4px;gap:4px}.nav a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:9px;text-decoration:none;color:var(--ink-text);font-weight:500;transition:background .15s,color .15s}.nav a svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.nav a:hover{background:rgba(255,255,255,.07);color:#fff}.nav a.active{background:rgba(232,89,12,.18);color:#fff}.nav a.active svg{color:var(--brand)}.sidebar-foot{margin-top:auto;border-top:1px solid rgba(255,255,255,.1);padding:14px 6px 0;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px}.role-chip{text-transform:capitalize;color:#fff;font-weight:600}.role-sub{color:#8b94a3;font-size:12px}.signout{background:none;border:1px solid rgba(255,255,255,.18);color:var(--ink-text);border-radius:8px;padding:6px 10px;font:inherit;font-size:13px;cursor:pointer;transition:all .15s}.signout:hover{background:rgba(255,255,255,.08);color:#fff}.content{padding:36px 44px 64px;width:100%;min-width:0}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:28px;flex-wrap:wrap}.page-head h1{font-size:28px;font-weight:700;letter-spacing:-.02em}.page-head .sub{color:var(--muted);margin-top:4px}.crumb{display:inline-flex;align-items:center;gap:6px;color:var(--muted);text-decoration:none;font-size:14px;margin-bottom:10px}.btn,.crumb:hover{color:var(--text)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border-radius:10px;border:1px solid var(--border);background:var(--surface);font:inherit;font-weight:600;font-size:14px;cursor:pointer;text-decoration:none;transition:all .15s;box-shadow:var(--shadow)}.btn:hover{background:var(--surface-2)}.btn:focus-visible{outline:none;box-shadow:var(--ring)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.btn-primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn-primary:hover{background:var(--brand-hover);border-color:var(--brand-hover)}.btn-danger{color:var(--danger);box-shadow:none}.btn-danger:hover{background:var(--danger-soft);border-color:var(--danger)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.table-wrap{position:relative;overflow-x:auto;min-width:0;max-width:100%}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600;padding:12px 20px;border-bottom:1px solid var(--border);background:var(--surface-2);white-space:nowrap}th:first-child{border-top-left-radius:var(--radius)}th:last-child{border-top-right-radius:var(--radius)}td{padding:16px 20px;border-bottom:1px solid var(--border);vertical-align:middle}tr:last-child td{border-bottom:none}tbody tr{transition:background .12s}tbody tr.clickable:hover{background:var(--surface-2)}.cell-main{font-weight:600;text-decoration:none}a.cell-main:hover{color:var(--brand)}.cell-sub{font-size:13px}.cell-sub,.muted{color:var(--muted)}.who{display:flex;align-items:center;gap:12px}.avatar{width:36px;height:36px;border-radius:50%;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;font-weight:700;font-size:14px;flex-shrink:0}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:12.5px;font-weight:600;white-space:nowrap;background:var(--surface-2);color:var(--muted)}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.badge-lead,.badge-planning{background:#eef4ff;color:#3b5bdb}.badge-active{background:#e6f6ec;color:#1a7f45}.badge-on_hold{background:#fff4db;color:#a15c00}.badge-completed,.badge-inactive{background:#eceff3;color:#475467}.badge-cancelled{background:#fdecec;color:#c0262d}.badge-client{background:#eef4ff;color:#3b5bdb}.badge-subcontractor{background:#f3ecfe;color:#7442c8}.badge-supplier{background:#e3f6f5;color:#0f7b78}:root[data-theme=dark] .badge-client,:root[data-theme=dark] .badge-lead,:root[data-theme=dark] .badge-planning{background:#1b2540;color:#8fa8ff}:root[data-theme=dark] .badge-active{background:#12301f;color:#5fd48c}:root[data-theme=dark] .badge-on_hold{background:#38290a;color:#f0b24b}:root[data-theme=dark] .badge-completed,:root[data-theme=dark] .badge-inactive{background:#232830;color:#98a2b3}:root[data-theme=dark] .badge-cancelled{background:#3a1618;color:#ff8a8f}:root[data-theme=dark] .badge-subcontractor{background:#2a1f42;color:#c3a3f5}:root[data-theme=dark] .badge-supplier{background:#0f2f2e;color:#5fd4cf}.empty{text-align:center;padding:72px 24px}.empty-icon{width:56px;height:56px;border-radius:16px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;margin:0 auto 16px}.empty-icon svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.empty h2{font-size:18px;margin-bottom:6px}.empty p{color:var(--muted);margin-bottom:22px}.form-card{padding:32px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));grid-gap:20px 28px;gap:20px 28px}.form-grid .full{grid-column:1/-1}.label{display:grid;grid-gap:6px;gap:6px;font-size:14px;font-weight:600}.label .opt{font-weight:400;color:var(--muted)}.form-grid>.label{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 8px}.form-grid>.label>:not(.opt){flex:0 0 100%}.req-mark{color:var(--danger,#c0262d);margin-left:3px;font-weight:700}.input.invalid,.input:user-invalid{border-color:var(--danger,#c0262d);background:color-mix(in srgb,var(--danger,#c0262d) 5%,var(--surface,#fff))}.btn.invalid{border-color:var(--danger,#c0262d);color:var(--danger,#c0262d)}.input.invalid:focus,.input:user-invalid:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--danger,#c0262d) 25%,transparent)}.detail-cols{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);grid-gap:18px;gap:18px;align-items:start}@media (max-width:980px){.detail-cols{grid-template-columns:minmax(0,1fr)}}.ico{display:inline-flex}.ico svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.input{width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-weight:400;transition:border-color .15s,box-shadow .15s}.input:hover{border-color:#c3c9d4}select.input:not([multiple]){-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:34px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23667085' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:14px}.input:focus{outline:none;border-color:var(--brand);box-shadow:var(--ring)}.form-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:28px;padding-top:24px;border-top:1px solid var(--border)}.form-actions .spacer{margin-left:auto}.form-actions .btn{white-space:nowrap}.alert{background:var(--danger-soft);color:var(--danger);border:1px solid var(--danger);border-radius:10px;padding:10px 14px;font-size:14px}.auth{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);min-height:100vh}.auth-aside{background:radial-gradient(900px 500px at 15% 10%,rgba(232,89,12,.35),transparent 60%),radial-gradient(700px 500px at 100% 100%,rgba(232,89,12,.18),transparent 60%),var(--ink);color:#fff;padding:48px 56px;display:flex;flex-direction:column;justify-content:space-between}.auth-aside h2{font-size:40px;line-height:1.12;letter-spacing:-.03em;max-width:440px}.auth-aside p{color:var(--ink-text);margin-top:16px;max-width:420px;font-size:16px}.auth-points{display:grid;grid-gap:12px;gap:12px;color:var(--ink-text);font-size:14.5px}.auth-points div{display:flex;gap:10px;align-items:center}.auth-points svg{width:18px;height:18px;stroke:var(--brand);fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.auth-main{display:grid;place-items:center;padding:32px 24px}.auth-box{width:100%;max-width:400px}.auth-box h1{font-size:28px;letter-spacing:-.02em;font-weight:700}.auth-box .sub{color:var(--muted);margin:6px 0 28px}.auth-box form{display:grid;grid-gap:16px;gap:16px}.auth-box .btn{width:100%;padding:12px}.auth-alt{margin-top:22px;text-align:center;color:var(--muted);font-size:14px}.auth-alt a{color:var(--brand);font-weight:600;text-decoration:none}.mobile-brand{display:none;margin-bottom:28px}@media (max-width:860px){.app{grid-template-columns:1fr}.sidebar{position:static;height:auto;flex-direction:row;align-items:center;flex-wrap:wrap;padding:12px 16px;gap:12px}.nav{display:flex;gap:4px;order:3;width:100%}.nav a{padding:8px 12px}.sidebar-foot{margin:0 0 0 auto;border:none;padding:0}.role-sub{display:none}.content{padding:24px 16px 48px}.form-card{padding:22px 18px}.form-grid{grid-template-columns:minmax(0,1fr)}.form-grid>*{min-width:0}.auth{grid-template-columns:1fr}.auth-aside{display:none}.mobile-brand{display:flex}.hide-sm{display:none}td,th{padding:12px 14px}}.nowrap{white-space:nowrap}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:24px}.tab{padding:10px 16px;text-decoration:none;color:var(--muted);font-weight:600;border-bottom:2px solid transparent;margin-bottom:-1px}.tab:hover{color:var(--text)}.tab.active{color:var(--brand);border-bottom-color:var(--brand)}.order-row{gap:14px;padding:10px 14px;border-radius:10px}.order-row+.order-row{border-top:1px solid var(--border);border-radius:0}.order-row.pinned{background:var(--surface-2);border-radius:10px}.order-rank{width:26px;height:26px;border-radius:50%;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;font-weight:700;font-size:13px}.perm-group{border:1px solid var(--border);border-radius:12px;padding:8px 16px 12px;margin:0;min-width:0}.perm-group legend{padding:0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600}.perm{display:flex;gap:12px;align-items:flex-start;padding:8px 0;cursor:pointer}.perm input{margin-top:4px;width:16px;height:16px;accent-color:var(--brand)}.perm span{display:grid}.nav{gap:18px}.nav-group{display:grid;grid-gap:4px;gap:4px}.nav-title{padding:0 12px 4px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#8b94a3;font-weight:600}.sched{display:grid;grid-gap:8px;gap:8px}.sched-edit{container:sched/inline-size}.sched-row{display:grid;grid-template-columns:150px repeat(3,minmax(110px,1fr)) 80px;grid-gap:12px;gap:12px;align-items:center;padding:6px 0;border-bottom:1px solid var(--border)}.sched-row:last-child{border-bottom:none}.sched-row.off .input{opacity:.45}.sched-cell{display:contents}.sched-day{display:flex;align-items:center;gap:10px;font-weight:600;cursor:pointer}.sched-day input{width:16px;height:16px;accent-color:var(--brand)}.sched-hours{text-align:right;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sched-head{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600}.sched-total{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid var(--border);font-weight:600}.week-row{grid-template-columns:130px 1fr 80px}@media (max-width:600px){.week-row{grid-template-columns:minmax(0,1fr) auto;row-gap:2px}.week-row>.week-time{grid-column:1/-1;grid-row:2}.week-row>.sched-hours{grid-column:2;grid-row:1}}.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));grid-gap:20px 28px;gap:20px 28px}.fact-label{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600}.fact-value{margin-top:2px;font-weight:600}@container sched (max-width: 760px){.sched-row{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:6px}.sched-row>.sched-day{grid-column:1}.sched-row>.sched-hours{grid-column:2;grid-row:1;text-align:right}.sched-row>.sched-break{grid-column:1/-1}.sched-cell{display:block;min-width:0}.sched-cell:before{content:attr(data-cap);display:block;font-size:12px;color:var(--muted);margin-bottom:2px}.sched-cell>*{min-width:0;max-width:100%}.sched-cell>input{max-width:140px}.sched-cell select{min-width:0!important}.sched-head{display:none}}@media (max-width:860px){.nav-group{display:flex;gap:4px}.nav-title{display:none}}.balances{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:20px;gap:20px}.balance{padding:24px 28px}.balance-num{font-size:40px;font-weight:700;letter-spacing:-.02em;line-height:1.15;margin-top:6px}.balance-num span{font-size:16px}.balance-num small,.balance-num span{font-weight:500;color:var(--muted);letter-spacing:0}.balance-num small{font-size:15px}.segmented{display:inline-flex;border:1px solid var(--border);border-radius:10px;padding:3px;background:var(--surface-2);width:-moz-fit-content;width:fit-content}.segmented button{border:0;background:none;padding:7px 18px;border-radius:8px;font:inherit;font-weight:600;font-size:14px;color:var(--muted);cursor:pointer}.segmented button.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.estimate{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:18px 20px}.nav-badge{margin-left:auto;min-width:22px;height:22px;padding:0 7px;border-radius:999px;background:var(--brand);color:#fff;font-size:12px;font-weight:700;display:grid;place-items:center}.approval{padding:22px 26px;display:grid;grid-gap:14px;gap:14px}.approval-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap}.approval-hours{font-size:28px;font-weight:700;letter-spacing:-.02em}.approval-hours span{font-size:14px;font-weight:500;color:var(--muted)}.approval-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.btn-ok{background:#1a7f45;border-color:#1a7f45;color:#fff}.btn-ok:hover{background:#146636;border-color:#146636}.sidebar .nav{overflow-y:auto;min-height:0;flex:1 1}.nav-toggle{display:flex;align-items:center;gap:8px;width:100%;padding:4px 12px;background:none;border:0;cursor:pointer;font:inherit;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#8b94a3;font-weight:600;text-align:left}.nav-toggle:hover{color:#fff}.nav-toggle svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .15s;margin-left:auto}.nav-toggle[aria-expanded=false] svg{transform:rotate(-90deg)}.nav-toggle .nav-badge{margin-left:0;min-width:18px;height:18px;font-size:11px}.nav-toggle .nav-badge+svg{margin-left:6px}.nav-items{display:grid;grid-gap:4px;gap:4px}.nav-items[hidden]{display:none}.user-menu{position:relative}.user-btn{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:10px;border:0;background:none;color:var(--ink-text);font:inherit;cursor:pointer;text-align:left;transition:background .15s}.user-btn:hover,.user-btn[aria-expanded=true]{background:rgba(255,255,255,.08);color:#fff}.user-btn .avatar{width:34px;height:34px;background:var(--brand);color:#fff;font-size:14px}.user-btn .who-text{min-width:0;flex:1 1}.user-btn .who-name{font-weight:600;color:#fff;font-size:14px}.user-btn .who-name,.user-btn .who-sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-btn .who-sub{font-size:12px;color:#8b94a3}.user-btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.popup{position:absolute;left:0;right:0;bottom:calc(100% + 8px);z-index:50;min-width:220px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-lg);padding:6px}.popup-head{padding:10px 12px 8px;border-bottom:1px solid var(--border);margin-bottom:6px}.popup-head .cell-main{display:block}.popup a,.popup button.item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;border-radius:8px;border:0;background:none;color:inherit;font:inherit;font-size:14px;text-decoration:none;cursor:pointer;text-align:left}.popup a:hover,.popup button.item:hover{background:var(--surface-2)}.popup svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;color:var(--muted)}.popup hr{border:0;border-top:1px solid var(--border);margin:6px 0}.popup .item.danger,.popup .item.danger svg{color:var(--danger)}.theme-row{display:flex;align-items:center;gap:10px;padding:6px 12px;font-size:14px}.theme-row .segmented{margin-left:auto;padding:2px}.theme-row .segmented button{padding:4px 10px;font-size:12.5px}@media (max-width:860px){.sidebar .nav{overflow:visible;flex:none}.nav-items{display:flex;gap:4px}.nav-toggle{width:auto}.user-btn .who-text,.user-btn>svg:last-child{display:none}.popup{left:auto;right:0;bottom:auto;top:calc(100% + 8px)}}.main{min-width:0;display:flex;flex-direction:column;min-height:100vh}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:40;gap:16px;padding:10px 28px;background:var(--surface);border-bottom:1px solid var(--border)}.crumbs,.topbar{display:flex;align-items:center}.crumbs{gap:6px;min-width:140px;flex:1 1;overflow:hidden;white-space:nowrap;font-size:14px;color:var(--muted)}.crumb-item{display:inline-flex;align-items:center;gap:6px;min-width:0}.crumb-item a{color:var(--muted);text-decoration:none;overflow:hidden;text-overflow:ellipsis}.crumb-item a:hover{color:var(--text);text-decoration:underline}.crumb-sep{color:var(--border);font-size:16px}.crumb-now{color:var(--text);font-weight:600;overflow:hidden;text-overflow:ellipsis}.topbar .user-menu{flex-shrink:0}.topbar .user-btn{color:var(--text);width:auto;padding:4px 8px}.topbar .user-btn:hover,.topbar .user-btn[aria-expanded=true]{background:var(--surface-2);color:var(--text)}.topbar .user-btn .who-name{color:var(--text)}.topbar .user-btn .who-sub{color:var(--muted)}.topbar .popup{left:auto;right:0;bottom:auto;top:calc(100% + 4px);width:280px}.theme-row{gap:14px}@media (max-width:860px){.topbar{padding:8px 12px 0}.nav-title,.topbar .user-btn .who-text{display:none}}.sidebar .nav{align-content:start}.org-name{padding:0 10px;margin-top:-14px;color:#8b94a3;font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.popup-label{padding:8px 12px 4px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600}.popup button.item:disabled{cursor:default;opacity:1}.popup button.item[aria-checked=true] svg{color:var(--brand)}.popup button.item{text-align:left}@media (max-width:860px){.org-name{display:none}}.card,.content section,.content>div>*{min-width:0}.nav-parent{display:grid;grid-gap:2px;gap:2px}.nav-parent-btn{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:9px;width:100%;background:none;border:0;color:var(--ink-text);font:inherit;font-weight:500;text-align:left;cursor:pointer;transition:background .15s,color .15s}.nav-parent-btn>svg:first-child{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.nav-parent-btn:hover{background:rgba(255,255,255,.07);color:#fff}.nav-parent-btn.has-active{color:#fff}.nav-parent-btn .chev{width:14px;height:14px;margin-left:auto;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .15s}.nav-parent-btn[aria-expanded=false] .chev{transform:rotate(-90deg)}.nav-parent-btn .nav-badge{margin-left:auto;margin-right:4px}.nav-sub{display:grid;grid-gap:1px;gap:1px;margin:2px 0 6px 21px;padding-left:8px;border-left:1px solid rgba(255,255,255,.14)}.nav-sub a{padding:6px 12px;font-size:13.5px;border-radius:7px;color:rgba(255,255,255,.72);position:relative}.nav-sub a:hover{color:#fff}.nav-sub a.active{color:#fff;font-weight:600;background:rgba(255,255,255,.1)}.nav-sub a.active:before{content:"";position:absolute;left:-9px;top:6px;bottom:6px;width:3px;border-radius:2px;background:var(--brand)}.nav-here{width:7px;height:7px;border-radius:50%;background:var(--brand);margin-left:auto;flex:none}.nav-parent-btn .nav-badge+.chev,.nav-parent-btn .nav-here+.chev{margin-left:8px}@media (max-width:860px){.nav-parent{display:contents}.nav-sub{display:flex;margin:0;padding:0;border:0}}.brand-logo{width:36px;height:36px;border-radius:9px;object-fit:contain;background:#fff;padding:2px;flex-shrink:0}.brand-wide{padding:4px 6px}.brand-wide img{display:block;max-width:100%;max-height:44px;object-fit:contain;background:#fff;border-radius:8px;padding:6px 8px}.nav-back{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:9px;color:var(--ink-text);text-decoration:none;font-weight:500;font-size:14px;border:1px solid rgba(255,255,255,.14);margin-bottom:8px;transition:background .15s,color .15s}.nav-back svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.nav-back:hover{background:rgba(255,255,255,.07);color:#fff}.form-section{grid-column:1/-1;font-weight:600;font-size:15px;margin-top:10px;padding-top:16px;border-top:1px solid var(--border)}textarea.input{resize:vertical;font:inherit}.field-chip{--chip:var(--brand);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;line-height:1.5;padding:2px 10px;border-radius:8px;cursor:pointer;border:1px solid color-mix(in srgb,var(--chip) 50%,transparent);background:color-mix(in srgb,var(--chip) 14%,transparent);color:color-mix(in srgb,var(--chip) 78%,var(--text));transition:background .15s,border-color .15s}button.field-chip:hover{background:color-mix(in srgb,var(--chip) 26%,transparent);border-color:var(--chip)}.field-chip-leave{--chip:#e8590c}.field-chip-set{--chip:#2563eb}.field-chip-actual{--chip:#15803d}.calc-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));grid-gap:16px;gap:16px;align-items:start}.calc-field{display:grid;grid-gap:6px;gap:6px;align-content:start;min-width:0}.calc-hint{min-height:2.8em;font-weight:400}.calc-results{margin-top:14px;display:grid;grid-gap:14px;gap:14px}.calc-row{display:grid;grid-template-columns:minmax(160px,1fr) minmax(110px,auto) minmax(140px,auto);grid-gap:12px;gap:12px;align-items:baseline}@media (max-width:640px){.calc-row{grid-template-columns:1fr auto}.calc-row .cell-sub{grid-column:1/-1}}.muted code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;padding:1px 6px;border-radius:6px;background:var(--surface-2);border:1px solid var(--border);margin:0 1px}.formula-row{display:flex;gap:8px;align-items:stretch}.formula-box{position:relative;flex:1 1;min-width:0;display:flex}.formula-box.invalid .input{border-color:var(--danger)}.formula-input,.formula-view{width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;padding:7px 10px;min-height:38px}.formula-view{display:flex;align-items:center;flex-wrap:wrap;white-space:pre-wrap;row-gap:4px;cursor:default}.formula-view .field-chip{margin:0 1px;padding:0 8px;cursor:inherit}.formula-btn{padding:0 16px;min-width:76px}.field-chip-legacy{--chip:#6b7280}button.field-chip:disabled{opacity:.55;cursor:not-allowed}.fb{grid-template-columns:304px minmax(0,1fr);grid-gap:22px;gap:22px;align-items:start}.fb,.fb-pal{display:grid}.fb-pal{padding:16px;grid-gap:10px;gap:10px;align-content:start;position:-webkit-sticky;position:sticky;top:12px;max-height:calc(100vh - 24px);overflow:auto}.fb-group{font-size:11px;text-transform:uppercase;letter-spacing:.07em;font-weight:700;color:var(--muted);margin:12px 0 8px}.fb-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.fb-tile{display:grid;justify-items:center;align-content:start;grid-gap:7px;gap:7px;padding:12px 4px 10px;min-height:74px;border:1px solid var(--border);border-radius:12px;background:var(--surface,#fff);color:var(--text);font:inherit;font-size:11.5px;line-height:1.2;text-align:center;cursor:move;transition:border-color .12s,box-shadow .12s,transform .12s}.fb-tile:hover{border-color:var(--brand);box-shadow:0 4px 12px rgba(16,24,40,.08);transform:translateY(-1px)}.fb-glyph{font-size:19px;line-height:22px;height:22px;color:var(--brand);font-weight:700}.fb-canvas{min-width:0}.fb-sheet{max-width:820px;margin:0 auto;min-height:520px;background:var(--surface,#fff);border:1px solid var(--border);border-radius:16px;box-shadow:0 10px 34px rgba(16,24,40,.07);padding:38px 44px 44px}.fb-title{font-size:28px;line-height:1.2;letter-spacing:-.01em;margin:0 0 6px}.fb-sub{margin:0 0 14px;color:var(--muted);white-space:pre-wrap}.fb-field{position:relative;padding:14px 16px;border-radius:12px;border:1px solid transparent;cursor:pointer;transition:background .1s,border-color .1s,box-shadow .1s}.fb-field:hover{border-color:var(--border);background:color-mix(in srgb,var(--brand) 3%,transparent)}.fb-field.sel{border-color:var(--brand);background:transparent;box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 15%,transparent)}.fb-tools{position:absolute;top:-16px;left:14px;z-index:2;display:flex;opacity:0;pointer-events:none;transition:opacity .1s;align-items:center;gap:2px;padding:2px 6px;background:var(--surface,#fff);border:1px solid var(--border);border-radius:999px;box-shadow:0 4px 12px rgba(16,24,40,.14)}.fb-field:focus-within:not(:has(.fb-field:focus-within))>.fb-tools,.fb-field:hover:not(:has(.fb-field:hover))>.fb-tools{opacity:1;pointer-events:auto}.fb-tools{gap:0;padding:2px}.fb-grip,.fb-tools button{width:28px;height:28px;padding:0;display:inline-grid;place-items:center;border:0;background:none;border-radius:999px;font-size:15px;line-height:1;color:var(--text);cursor:pointer}.fb-grip{color:#475467;cursor:move}.fb-grip svg{display:block}:root[data-theme=dark] .fb-grip{color:#c0c7d4}.fb-grip:hover,.fb-tools button:hover{background:color-mix(in srgb,var(--brand) 16%,transparent);color:var(--text)}.fb-col{min-width:0;padding:6px;border-radius:10px;border:1px dashed var(--border);background:color-mix(in srgb,var(--brand) 3%,transparent)}.fb-drawer{position:fixed;top:0;right:0;bottom:0;z-index:60;width:min(520px,100vw);display:flex;flex-direction:column;background:var(--surface,#fff);border-left:1px solid var(--border);box-shadow:-14px 0 44px rgba(16,24,40,.16);transform:translateX(108%);transition:transform .2s ease}.fb-drawer.open{transform:translateX(0)}.fb-drawer header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border);font-weight:700}.fb-drawer .body{flex:1 1;overflow:auto;padding:18px 20px 32px}.fb-drawer footer{padding:12px 20px;border-top:1px solid var(--border);display:flex;justify-content:flex-end}.fb-scrim{position:fixed;inset:0;z-index:55;background:rgba(16,24,40,.34)}@media (max-width:1000px){.fb{grid-template-columns:1fr}.fb-pal{position:static;max-height:none}.fb-sheet{padding:24px 18px 28px}}.rich{line-height:1.55;overflow-wrap:anywhere}.rich div,.rich p{margin:0 0 .5em}.rich ol,.rich ul{margin:0 0 .5em;padding-left:1.4em}.rich a{color:var(--brand);text-decoration:underline}.rt{border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--surface,#fff)}.rt-fields{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:6px 8px;border-bottom:1px solid var(--border);background:var(--surface-2)}.rt-chip{border:1px solid var(--border);background:var(--surface,#fff);border-radius:999px;padding:2px 10px;font:inherit;font-size:12.5px;cursor:pointer;color:var(--text)}.rt-chip:hover{border-color:var(--brand);color:var(--brand)}.rt-bar{display:flex;flex-wrap:wrap;gap:2px;padding:5px 6px;border-bottom:1px solid var(--border);background:var(--surface-2)}.rt-bar,.rt-btn{align-items:center}.rt-btn{min-width:28px;height:28px;padding:0 6px;display:inline-flex;justify-content:center;border:0;border-radius:6px;background:none;color:var(--text);font:inherit;font-size:13px;cursor:pointer}.rt-btn:hover,.rt-sep{background:var(--border)}.rt-sep{width:1px;height:18px;margin:0 4px}.rt-sel{height:28px;border:1px solid var(--border);border-radius:6px;background:var(--surface,#fff);color:var(--text);font:inherit;font-size:12px}.rt-body{min-height:130px;max-height:320px;overflow:auto;padding:10px 12px;outline:none;font-size:14px}.pf{background:var(--surface,#fff);border:1px solid var(--border);border-top:5px solid var(--brand);border-radius:16px;box-shadow:0 10px 34px rgba(16,24,40,.07);padding:36px 40px 40px}.pf h1{font-size:28px;line-height:1.2;letter-spacing:-.01em}.pf .label{gap:8px;font-size:15px}.pf .input{padding:11px 13px;font-size:15px;border-radius:10px}.pf .btn{padding:10px 20px;border-radius:10px}.pf .perm{font-size:15px;line-height:22px;align-items:flex-start}.pf .perm input{margin:3px 0 0;flex-shrink:0}.pf .perm>span{display:block}@media (max-width:560px){.pf{padding:22px 18px 26px}}.fgrid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(var(--cols,1),minmax(0,1fr))}@media (max-width:560px){.fgrid{grid-template-columns:1fr}}.qs{display:grid;grid-template-columns:minmax(0,560px) minmax(0,1fr);grid-gap:22px;gap:22px;align-items:start}.qs-stage-wrap{min-width:0}.qs-stage{position:relative;width:100%;box-shadow:0 10px 34px rgba(16,24,40,.14);background:#fff;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.qs-box{position:absolute;cursor:move;outline:1px dashed transparent}.qs-box:hover{outline-color:var(--brand)}.qs-box.sel{outline:2px solid var(--brand)}.qs-panel{padding:18px;display:grid;grid-gap:16px;gap:16px;align-content:start;max-width:460px}@media (max-width:1000px){.qs{grid-template-columns:1fr}.qs-panel{max-width:none}}.dlg-back{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:16px;background:rgba(16,24,40,.45)}.dlg{width:min(460px,100%);max-height:90vh;display:flex;flex-direction:column;background:var(--surface,#fff);border:1px solid var(--border);border-radius:14px;box-shadow:0 24px 64px rgba(16,24,40,.28)}.dlg header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px 0}.dlg header h2{margin:0;font-size:18px}.dlg-x{border:0;background:transparent;cursor:pointer;font-size:16px;color:var(--muted,#667085);padding:4px 8px;border-radius:6px}.dlg-x:hover{background:var(--hover,rgba(0,0,0,.06))}.dlg-body{padding:14px 22px 4px;overflow:auto}.dlg footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 22px 20px}.th-sort{all:unset;cursor:pointer;font:inherit;color:inherit;white-space:nowrap}.th-sort:focus-visible,.th-sort:hover{text-decoration:underline}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.link-btn{all:unset;cursor:pointer;font:inherit;color:var(--brand)}.link-btn:focus-visible,.link-btn:hover:not(:disabled){text-decoration:underline}.link-btn:disabled{cursor:default;color:var(--muted,#667085)}.link-btn.cell-main{color:var(--text);font-weight:550}.tb-search{position:relative;flex:0 1 300px;min-width:150px}.tb-search .input{padding:6px 12px;font-size:14px;border-radius:999px}.tb-menu{position:relative;flex-shrink:0}.tb-icon{position:relative;width:36px;height:36px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text);display:inline-grid;place-items:center;cursor:pointer;font-size:20px;line-height:1}.tb-icon:hover,.tb-icon[aria-expanded=true]{background:var(--surface-2)}.tb-plus{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:700}.tb-plus:hover,.tb-plus[aria-expanded=true]{background:var(--brand-hover,var(--brand))}.tb-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#d92d20;color:#fff;font-size:11px;font-weight:700;display:grid;place-items:center}.tb-pop{position:absolute;top:calc(100% + 6px);left:0;z-index:70;width:100%;min-width:280px;max-height:70vh;overflow:auto;background:var(--surface,#fff);border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 34px rgba(16,24,40,.18);padding:6px}.tb-pop-right{left:auto;right:0;width:240px}.tb-group{padding:8px 10px 4px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700}.tb-hit{display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;padding:8px 10px;border:0;background:none;border-radius:8px;color:var(--text);cursor:pointer;text-decoration:none;font:inherit}.tb-hit.on,.tb-hit:hover{background:var(--surface-2)}.tb-hit-main{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:860px){.tb-search{display:none}}.cal{position:absolute;top:calc(100% + 6px);right:0;z-index:80;width:292px;padding:12px;background:var(--surface,#fff);border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 34px rgba(16,24,40,.2)}.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.cal-nav{width:30px;height:30px;border:0;border-radius:999px;background:none;font-size:20px;line-height:1;color:var(--text);cursor:pointer}.cal-nav:hover{background:var(--surface-2)}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:2px;gap:2px;text-align:center}.cal-wd{font-size:11px;color:var(--muted);padding:4px 0;font-weight:600}.cal-day{height:34px;border:0;border-radius:8px;background:none;color:var(--text);font-size:14px;cursor:pointer}.cal-day:hover:not(:disabled){background:var(--surface-2)}.cal-day.out{color:var(--muted);opacity:.55}.cal-day.today{box-shadow:inset 0 0 0 1px var(--brand)}.cal-day.sel{background:var(--brand);color:#fff;opacity:1}.cal-day:disabled{opacity:.3;cursor:default}.cal-foot{display:flex;justify-content:space-between;margin-top:8px}.cal-link{border:0;background:none;color:var(--brand);font-size:13px;font-weight:600;cursor:pointer;padding:4px 6px}.cal-link:disabled{opacity:.4;cursor:default}.nav-scrim,.tb-burger{display:none}@media (max-width:860px){.app{display:block}.tb-burger{display:inline-grid;place-items:center;flex-shrink:0;width:38px;height:38px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);font-size:20px;line-height:1;cursor:pointer}.content>.tb-burger{margin-bottom:14px}.sidebar{position:fixed;top:0;left:0;bottom:0;z-index:90;width:min(300px,86vw);height:100dvh;flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:16px;padding:18px 14px;overflow-y:auto;transform:translateX(-102%);transition:transform .2s ease,box-shadow .2s ease}html[data-nav-open] .sidebar{transform:none;box-shadow:8px 0 32px rgba(0,0,0,.3)}html[data-nav-open] .nav-scrim{display:block;position:fixed;inset:0;z-index:85;background:rgba(16,24,40,.45)}html[data-nav-open] body{overflow:hidden}.sidebar .nav{display:grid;order:0;width:auto;flex:1 1;overflow:visible;align-content:start}.sidebar .org-name{display:block;margin-top:-8px}.nav a{padding:11px 12px}.topbar{padding:8px 12px;gap:10px}.topbar .tb-search{display:none}.crumbs{min-width:0}.crumb-item:not(:nth-last-child(-n+2)),.crumb-item:nth-last-child(2) .crumb-sep{display:none}.sidebar .nav{width:100%}.sidebar .nav .nav-parent-btn,.sidebar .nav a{width:100%;box-sizing:border-box}.sidebar .nav-items,.sidebar .nav-sub{display:grid;grid-gap:2px;gap:2px}.sidebar .nav-sub{margin:0 0 4px 21px;padding:0 0 0 12px;border-left:1px solid rgba(255,255,255,.14)}}@supports (padding:env(safe-area-inset-top)){.topbar{padding-top:max(10px,env(safe-area-inset-top));padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}.content{padding-bottom:max(48px,calc(24px + env(safe-area-inset-bottom)))}@media (max-width:860px){.sidebar{padding-top:max(18px,env(safe-area-inset-top));padding-bottom:max(18px,env(safe-area-inset-bottom))}}}html{-webkit-text-size-adjust:100%}@media (pointer:coarse){.input,select.input,textarea.input{font-size:16px}.btn{min-height:40px}}@media (max-width:860px){.fb-canvas{order:-1}}.back-mobile{display:none}@media (max-width:860px){.back-mobile{display:inline-flex;margin-bottom:8px}}.dlg-scrim{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:16px;background:rgba(16,24,40,.5)}.dlg-scrim .dlg{width:min(440px,100%);display:grid;grid-gap:14px;gap:14px;padding:20px;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--text);box-shadow:0 20px 60px rgba(0,0,0,.35)}.dlg-msg{margin:0;line-height:1.5;white-space:pre-line}.dlg-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.desktop-hint{display:none}@media (max-width:860px){.desktop-hint{display:block;margin-bottom:14px;padding:10px 12px;border:1px solid var(--border);border-left:3px solid #e0a82e;border-radius:10px;background:var(--surface);color:var(--muted);font-size:13px;line-height:1.45}}.wbs-actions,.wbs-note-empty{opacity:0;transition:opacity .1s}.wbs-row:focus-within .wbs-note-empty,.wbs-row:hover .wbs-note-empty,.wbs-selected .wbs-note-empty{opacity:.8}@media (hover:none){.wbs-note-empty{opacity:.8}}.wbs-row:focus-within .wbs-actions,.wbs-row:hover .wbs-actions,.wbs-selected .wbs-actions{opacity:1}@media (hover:none){.wbs-actions{opacity:1}}.fb-phone-only{display:none!important}.fb-empty-add,.fb-end-add,.fb-plus{font:inherit;cursor:pointer}.fb-plus{width:44px;height:44px;border-radius:999px;border:0;background:var(--brand);color:#fff;font-size:26px;line-height:1}.fb-empty-add{display:grid;place-items:center;grid-gap:6px;gap:6px;width:100%;min-height:140px;margin:14px 0;border:2px dashed var(--border);border-radius:14px;background:transparent;color:var(--muted)}.fb-empty-add span:first-child{width:52px;height:52px;display:grid;place-items:center;border-radius:999px;background:var(--brand);color:#fff;font-size:30px;line-height:1}.fb-end-add{width:100%;margin-top:12px;padding:12px;border:2px dashed var(--border);border-radius:12px;background:transparent;color:var(--brand);font-weight:600}.fb-sheet-scrim{position:fixed;inset:0;z-index:70;background:rgba(16,24,40,.4)}.fb-picker{position:fixed;left:0;right:0;bottom:0;z-index:71;max-height:82dvh;display:flex;flex-direction:column;background:var(--surface,#fff);border-radius:18px 18px 0 0;box-shadow:0 -10px 40px rgba(0,0,0,.25);padding-bottom:env(safe-area-inset-bottom)}.fb-picker header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border)}.fb-picker .body{overflow:auto;padding:14px 16px 24px;display:grid;grid-gap:12px;gap:12px}@media (min-width:861px){.fb-picker,.fb-sheet-scrim{display:none}}@media (max-width:860px){.fb-pal{display:none}.fb-phone-only{display:inline-grid!important}.fb-field.sel:not(:has(.fb-field.sel))>.fb-tools{opacity:1;pointer-events:auto}.fb-tools{left:6px;max-width:calc(100% - 12px);flex-wrap:wrap}.fb-grip,.fb-tools button{width:34px;height:34px}}.fb-tools .fb-insert{width:38px;color:var(--brand);background:color-mix(in srgb,var(--brand) 12%,transparent)}.fb-tools .fb-insert+.fb-insert{margin-right:6px}.cal-head strong{font-weight:600;font-variant-numeric:lining-nums;font-feature-settings:normal,"lnum";font-variation-settings:normal;letter-spacing:0}.gantt-grip{right:-4px;width:9px;z-index:7;cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M2 12l5-5v3.5h10V7l5 5-5 5v-3.5H7V17z' fill='%23111' stroke='white' stroke-width='1.3' stroke-linejoin='round'/%3E%3C/svg%3E") 12 12,col-resize;touch-action:none}.gantt-grip,.gantt-grip:after{position:absolute;top:0;bottom:0}.gantt-grip:after{content:"";left:3px;width:3px;border-radius:2px;background:#98a2b3}.gantt-grip:active:after,.gantt-grip:hover:after{background:var(--brand)}.page-head-end{display:flex;gap:12px;align-items:center;margin-left:auto}.page-head.has-tip{align-items:flex-start}.page-head.has-tip .page-head-end{align-self:flex-start;padding-top:6px}.info-tip{position:relative;display:inline-flex}.info-tip-btn{display:inline-grid;place-items:center;width:26px;height:26px;padding:0;border-radius:999px;border:1.5px solid var(--border-strong,#98a2b3);background:var(--surface,#fff);color:var(--muted,#667085);cursor:pointer;transition:color .12s,border-color .12s,background .12s}.info-tip-btn:hover,.info-tip-btn[aria-expanded=true]{color:var(--brand);border-color:var(--brand);background:color-mix(in srgb,var(--brand) 8%,var(--surface,#fff))}.info-tip-btn.small{width:20px;height:20px;border-width:1px}.info-tip-btn.small svg{width:11px;height:11px}.info-tip-btn.attention{color:#d97706;border-color:#d97706}.info-tip-btn:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.hover-tip{display:inline-flex;align-items:center;cursor:default;outline:none}.hover-tip:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:6px}.hover-tip-count{display:inline-grid;place-items:center;min-width:26px;height:22px;padding:0 8px;border-radius:999px;background:var(--surface-2,#f2f4f7);border:1px solid var(--border);font-weight:600;font-size:13px;color:var(--text)}.hover-tip:focus-visible .hover-tip-count,.hover-tip:hover .hover-tip-count{border-color:var(--brand);color:var(--brand)}.hover-tip-card{position:fixed;z-index:60;display:grid;grid-gap:6px;gap:6px;width:max-content;max-width:min(360px,90vw);padding:12px 14px;font-size:13px;font-weight:400;text-align:left;color:var(--text);box-shadow:0 12px 34px rgba(16,24,40,.2);cursor:default}.hover-tip-title{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:600}.hover-tip-line{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:330px;line-height:1.4}.hover-tip-group+.hover-tip-title,.hover-tip-line+.hover-tip-title{margin-top:6px}.hover-tip-group{display:grid;grid-gap:2px;gap:2px}.hover-tip-head{font-weight:600}.hover-tip-item{padding-left:12px;color:var(--muted)}.hover-tip-item:before{content:"• "}.info-tip-card{position:absolute;top:calc(100% + 8px);z-index:40;width:min(380px,80vw);padding:12px 14px;display:grid;grid-gap:8px;gap:8px;font-size:13px;box-shadow:0 12px 34px rgba(16,24,40,.2)}.seg{display:inline-flex;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--surface,#fff);box-shadow:var(--shadow)}.seg button{border:0;background:transparent;padding:8px 16px;font:inherit;font-weight:600;color:var(--text);cursor:pointer}.seg button+button{border-left:1px solid var(--border)}.seg button:hover:not([aria-pressed=true]){background:var(--surface-2)}.seg button[aria-pressed=true]{background:var(--brand);color:#fff}.seg button:focus-visible{outline:2px solid var(--brand);outline-offset:-3px}.btn[aria-pressed=true].toggle{background:color-mix(in srgb,var(--brand) 10%,var(--surface,#fff));border-color:var(--brand);color:var(--brand)}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.toolbar .grow{flex:1 1}.more-menu{position:relative;display:inline-flex}.more-menu-list{position:absolute;right:0;top:calc(100% + 6px);z-index:40;min-width:240px;padding:6px;display:grid;grid-gap:2px;gap:2px;box-shadow:0 12px 34px rgba(16,24,40,.2)}.more-menu-item{display:grid;grid-gap:1px;gap:1px;text-align:left;border:0;background:transparent;padding:8px 10px;border-radius:8px;font:inherit;color:var(--text);cursor:pointer}.more-menu-item:focus-visible,.more-menu-item:hover:not(:disabled){background:var(--hover,rgba(0,0,0,.05));outline:none}.more-menu-item:disabled{opacity:.45;cursor:default}.switch.wrap{white-space:normal;text-align:left;align-items:flex-start}.switch{display:inline-flex;align-items:center;gap:8px;border:0;background:transparent;padding:4px 2px;font:inherit;color:var(--text);cursor:pointer;white-space:nowrap}.switch-track{position:relative;width:38px;height:22px;border-radius:11px;background:#cfd5dd;box-shadow:inset 0 1px 2px rgba(0,0,0,.18);transition:background .15s;flex:none}.switch-thumb{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.35);transition:transform .15s}.switch[aria-checked=true] .switch-track{background:#22a45d}.switch[aria-checked=true] .switch-thumb{transform:translateX(16px)}.switch:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:8px}@media (prefers-reduced-motion:reduce){.switch-thumb,.switch-track{transition:none}}.item-layout{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.item-layout,.item-stack{display:grid;grid-gap:18px;gap:18px}@media (max-width:960px){.item-layout{grid-template-columns:1fr}}.list-bar{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.list-bar .list-search{flex:1 1 300px;max-width:420px;min-width:220px}.list-bar select.input{width:auto;min-width:190px}.list-bar .list-end{margin-left:auto;display:flex;gap:10px;flex-wrap:wrap;align-items:center}.list-bar .list-add{display:flex;gap:8px;flex-wrap:wrap}.list-bar .list-add .input{flex:1 1 120px;min-width:0;width:auto}@media (min-width:641px){.list-fixed{table-layout:fixed;width:100%}}@media (max-width:640px){.list-bar .list-search{flex:1 1 100%;max-width:none;min-width:0}.list-bar select.input{flex-grow:1;flex-shrink:1;flex-basis:calc(50% - 5px);min-width:0}.list-bar .list-end{margin-left:0;width:100%;display:flex;flex-wrap:nowrap}.list-bar .list-end>*{flex:1 1;min-width:0;text-align:center;justify-content:center}.list-bar .list-add{width:100%;flex-wrap:nowrap}.list-bar .list-add .btn{flex:none}}.show-sm{display:none}@media (max-width:640px){.show-sm{display:block}table.stack-sm{min-width:0!important}table.stack-sm thead{display:none}table.stack-sm tbody tr{display:grid;grid-template-columns:1fr 1fr;grid-gap:6px 10px;gap:6px 10px;padding:10px 0;border-bottom:1px solid var(--border)}table.stack-sm tbody td{display:block;padding:0!important;border:0;min-width:0;text-align:left!important}table.stack-sm tbody td[data-wide]{grid-column:1/-1}table.stack-sm tbody td[data-label]:before{content:attr(data-label);display:block;font-size:12px;color:var(--muted,#667085);margin-bottom:2px}table.stack-sm input.input,table.stack-sm select.input{width:100%!important;min-width:0!important;box-sizing:border-box}.wbs-row{flex-wrap:wrap;min-width:0}.wbs-row input.input{min-width:0;flex:1 1 140px;text-overflow:ellipsis}}.mark-actions{display:inline-flex;gap:2px;flex:none;opacity:0;transition:opacity .1s}.mark-actions .link-btn{padding:2px 6px}.mark-row:has(:focus-visible) .mark-actions,.mark-row:hover .mark-actions{opacity:1}@media (hover:none){.mark-actions{opacity:1}}.mark-pulse,.mark-ring{transform-box:fill-box;transform-origin:center;animation:mark-pulse 1.5s ease-out infinite}.mark-pulse{animation-name:mark-pulse-box}.mark-ring-late{animation-delay:.75s}.mark-marching{animation:mark-march .9s linear infinite}@keyframes mark-pulse{0%{transform:scale(1);opacity:.85}to{transform:scale(2.6);opacity:0}}@keyframes mark-pulse-box{0%{transform:scale(1);opacity:.8}to{transform:scale(1.18);opacity:0}}@keyframes mark-march{to{stroke-dashoffset:-20}}@media (prefers-reduced-motion:reduce){.mark-marching,.mark-pulse,.mark-ring{animation:none}.mark-pulse,.mark-ring{opacity:.5;transform:scale(1.15)}}.entries-bar{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center}.entries-bar .spacer{flex:1 1}.entries-bar-end{margin-left:auto;display:inline-flex;gap:10px;align-items:center}.range-bar{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center}.range-field{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--muted)}.btn-chip{padding:5px 12px;border-radius:999px}.btn-chip.on{border-color:var(--brand);color:var(--brand);background:color-mix(in srgb,var(--brand) 8%,var(--surface,#fff))}.wizard-steps{list-style:none;margin:0;padding:0;flex-wrap:wrap;gap:6px 4px}.wizard-step,.wizard-steps{display:flex;align-items:center}.wizard-step+.wizard-step:before{content:"";width:28px;height:2px;background:var(--border);margin:0 6px}.wizard-step.done+.wizard-step:before,.wizard-step.now:before{background:var(--brand)}.wizard-go{all:unset;display:inline-flex;align-items:center;gap:8px;padding:4px 6px;border-radius:8px;font-size:14px;font-weight:600;color:var(--muted)}.wizard-go:not(.static){cursor:pointer}.wizard-go:not(.static):hover{background:var(--surface-2,#f2f4f7)}.wizard-go:not(.static):focus-visible{outline:2px solid var(--brand);outline-offset:2px}.wizard-dot{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:999px;border:2px solid var(--border-strong,#98a2b3);font-size:12px;background:var(--surface,#fff)}.wizard-step.now .wizard-go{color:var(--text)}.wizard-step.now .wizard-dot{border-color:var(--brand);background:var(--brand);color:#fff}.wizard-step.done .wizard-dot{border-color:var(--brand);color:var(--brand)}@media (max-width:640px){.wizard-step:not(.now) .wizard-label{display:none}.wizard-step+.wizard-step:before{width:14px}}.wizard-body{padding:24px 28px;min-height:280px}.wizard-nav{display:flex;gap:10px;align-items:center}.wizard-nav .spacer{flex:1 1}.check-list{display:grid;grid-gap:2px;gap:2px}.order-list{display:grid;grid-gap:6px;gap:6px;max-width:640px;align-content:start}.order-row{display:flex;gap:8px;align-items:center;padding:6px 10px;border:1px solid var(--border);border-radius:8px}.order-row.gone{border-color:var(--danger,#c0262d);color:var(--danger,#c0262d)}.order-no{width:22px;color:var(--muted);font-size:13px;text-align:right}.order-name{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.radio-group{border:0;margin:0;padding:0;display:grid;grid-gap:2px;gap:2px;min-width:0}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:3px 4px 3px 10px;border:1px solid var(--border);border-radius:999px;background:var(--surface-2,#f2f4f7);font-size:13px}.chip-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:260px}.chip button{all:unset;cursor:pointer;width:20px;height:20px;display:inline-grid;place-items:center;border-radius:999px;color:var(--muted);font-size:11px}.chip button:hover{background:var(--border);color:var(--text)}.sched-summary{display:grid;grid-gap:4px;gap:4px;padding:14px 16px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2,#f2f4f7)}.date-text::placeholder{font-size:11px;letter-spacing:0}.icon-btn{vertical-align:middle;width:30px;height:30px;padding:0;display:inline-grid;place-items:center;flex:none;border:1px solid var(--border-strong,var(--border));border-radius:8px;background:var(--surface,#fff);color:var(--muted,#667085);cursor:pointer;transition:color .12s,border-color .12s,background .12s}.tc-icon{width:17px;height:17px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.btn .tc-icon{width:16px;height:16px;margin-right:6px;vertical-align:-3px}.icon-btn:hover{color:var(--brand);border-color:var(--brand);background:color-mix(in srgb,var(--brand) 8%,var(--surface,#fff))}.icon-btn.danger{color:var(--danger,#c0262d);border-color:color-mix(in srgb,var(--danger,#c0262d) 45%,var(--surface,#fff))}.icon-btn.danger:hover{color:var(--danger,#c0262d);border-color:var(--danger,#c0262d);background:color-mix(in srgb,var(--danger,#c0262d) 8%,var(--surface,#fff))}.icon-btn:disabled{opacity:.45;cursor:not-allowed}.icon-btn:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.segmented a{padding:7px 18px;border-radius:8px;font:inherit;font-weight:600;font-size:14px;color:var(--muted);text-decoration:none}.segmented a.on{background:var(--surface);box-shadow:var(--shadow)}.segmented a.on,.segmented a:not(.on):hover{color:var(--text)}.cal-nav .tc-icon,.dlg-x .tc-icon{width:16px;height:16px;vertical-align:middle}.fb-plus svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}.btn.btn-sm{padding:4px 12px;font-size:13px;min-height:30px;border-radius:8px}.empty-note{text-align:center;padding:32px;color:var(--muted)}.btn .tc-icon:only-child{margin-right:0;vertical-align:middle}.dlg-x,.fb-plus{display:inline-grid;place-items:center}.link-btn .tc-icon{width:14px;height:14px;vertical-align:middle}.att{display:grid;grid-gap:10px;gap:10px;padding:10px;border:1px dashed var(--border-strong,var(--border));border-radius:12px}.att[data-over]{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 6%,var(--surface,#fff))}.att-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.att-coarse{display:none!important}@media (pointer:coarse){.att-coarse{display:inline-flex!important}.att-fine{display:none!important}.att-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.att-actions .btn{flex-direction:column;justify-content:center;height:84px;padding:6px;gap:6px;font-size:12px;line-height:1.2;white-space:normal;text-align:center;background:var(--surface-2,#f1f3f6)}.att-actions .btn svg{width:24px;height:24px}}.switcher{position:relative;display:flex;flex:none}.switcher,.switcher-btn{align-items:center;gap:8px}.switcher-btn{display:inline-flex;height:36px;min-width:180px;max-width:320px;padding:0 10px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);font:inherit;font-weight:600;cursor:pointer}.switcher-btn:hover{background:var(--surface-2)}.switcher-btn svg{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.switcher-text{display:grid;flex:1 1;min-width:0;text-align:left}.switcher-size{visibility:hidden;height:0}.switcher-name,.switcher-size{grid-area:1/1;white-space:nowrap;overflow:hidden}.switcher-name{width:0;min-width:100%;text-overflow:ellipsis}.switch-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-end{flex:1 1;min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:16px}@media (max-width:760px){.switcher-btn{min-width:0;max-width:150px}.topbar-end{flex:none}}@media (max-width:420px){.crumb-item:last-child{display:none}.crumb-item:nth-last-child(2) a{max-width:70px}.switcher-btn{max-width:130px}}.switcher-menu{position:absolute;left:0;top:calc(100% + 6px);z-index:60;min-width:100%;width:max-content;max-width:min(320px,80vw);padding:6px 0;box-shadow:0 12px 32px rgba(16,24,40,.16)}.switch-head{padding:8px 12px 4px;font-size:12px;font-weight:600;color:var(--muted);border-top:1px solid var(--border);margin-top:6px}.switch-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;border:0;background:none;font:inherit;color:var(--text);text-align:left;cursor:pointer}.switch-item:hover,.switch-item[data-on]{background:var(--surface-2)}.switch-item[data-on]{font-weight:650}.switch-item svg{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;color:var(--muted)}textarea.input{font-weight:400}.cal-day.in-range{background:color-mix(in srgb,var(--brand) 14%,transparent);border-radius:0}.cell-clip{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-two{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.input[style*=height]:not(textarea){padding-top:0;padding-bottom:0}.th-sort .tc-icon{width:13px;height:13px}.st-dots{display:inline-flex;gap:10px;align-items:center;height:36px}.st-dot{width:24px;height:24px;border-radius:50%;border:2px solid var(--c);background:var(--c);cursor:pointer;padding:0;transition:background .15s,border-color .15s,transform .1s}.st-dot[aria-pressed=false]{background:color-mix(in srgb,var(--c) 18%,var(--surface,#fff));border-color:color-mix(in srgb,var(--c) 35%,var(--surface,#fff))}.st-dot:hover:not(:disabled){transform:scale(1.12)}.st-dot:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.st-dot:disabled{background:var(--surface-2);border-color:var(--border);cursor:not-allowed;opacity:.7}.st-dot[data-s=open]{--c:#e08a17}.st-dot[data-s=in_progress]{--c:#2f6fe4}.st-dot[data-s=closed]{--c:#1f9d55}.wbs-list{display:grid;grid-gap:10px;gap:10px}.wbs-card{border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--surface,#fff)}.wbs-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:44px;padding:6px 12px;transition:background .1s}.wbs-d0{background:var(--surface-2);min-height:48px}.wbs-body{margin:10px;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--surface,#fff)}.wbs-body .wbs-row+.wbs-row{border-top:1px solid var(--border)}.wbs-row:hover,.wbs-selected{background-color:var(--hover,rgba(0,0,0,.045))}.wbs-d2 .wbs-name,.wbs-d2 .wbs-name-input{font-size:14px}.wbs-chev{width:20px;display:inline-flex;justify-content:center;color:var(--muted,#667085)}.wbs-chev[data-empty]{visibility:hidden}.wbs-no{color:var(--muted);font-size:13px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-width:28px}.wbs-circle{width:20px;height:20px;flex:none;border-radius:999px;border:1.5px solid var(--border-strong,#98a2b3);background:transparent;color:#fff;font-size:12px;line-height:1;padding:0;display:inline-flex;align-items:center;justify-content:center}.wbs-circle[data-done]{border-color:var(--ok-fill);background:var(--ok-fill)}.wbs-circle[data-static]{cursor:default}.wbs-name{overflow-wrap:anywhere}.wbs-name,.wbs-name-input{flex:1 1 160px;min-width:0}.wbs-name-input{border:1px solid transparent;background:transparent;padding:4px 6px}.wbs-meta{display:inline-flex;align-items:center;gap:10px;margin-left:auto}.wbs-bar{width:72px;height:6px;border-radius:3px;background:var(--border);overflow:hidden;display:inline-block}.wbs-actions{display:inline-flex;gap:6px;margin-left:auto}@media (max-width:640px){.wbs-row{padding:8px 10px;gap:6px 8px}.wbs-chev[data-empty]{display:none}.wbs-no{min-width:0}.wbs-bar{width:52px}.wbs-actions,.wbs-meta{margin-left:auto}.wbs-body{margin:8px}}.qa-no{width:52px;flex:none}@media (max-width:640px){.qa-no{width:36px}}.btn.btn-quiet{height:36px;border-color:transparent;background:transparent;box-shadow:none;color:var(--brand);padding:0 10px}.btn.btn-quiet:hover{background:color-mix(in srgb,var(--brand) 8%,transparent)}.pf-search{width:260px}.pf-status{width:180px}@media (max-width:640px){.pf-search{width:150px}.pf-status{width:140px}.btn.hide-sm,.perm.hide-sm{display:none}.fbar-stack{flex-direction:column;align-items:stretch!important}.fbar-stack .pf-search,.fbar-stack .pf-status,.fbar-stack>div{width:100%}}.row-actions{display:inline-flex;gap:8px;align-items:center}@media (max-width:640px){.row-actions{display:flex;width:100%}.row-actions>.btn{flex:1 1;height:40px}.row-actions.row-actions-icons{width:auto;margin-left:auto}}.page-head.has-tip{position:relative;padding-right:38px}.page-head.has-tip .page-head-end .info-tip{position:absolute;top:6px;right:0}.page-head.has-tip .page-head-end{padding-top:0}.page-head h1{min-width:0;overflow-wrap:anywhere}@media (max-width:560px){.page-head .page-head-end{margin-left:0}.page-head{margin-bottom:20px}}@media (max-width:640px){.qa-prog{width:auto!important}.qa-acts{width:1%!important}}.ctype-grid{display:grid;grid-template-columns:minmax(180px,1fr) 100px repeat(4,150px) 90px;align-items:center;grid-gap:6px 12px;gap:6px 12px;padding:0 18px}.ctype-head{padding-top:18px;padding-bottom:8px;color:var(--muted);font-size:13px;font-weight:600}.ctype-col{display:inline-flex;align-items:center;justify-content:center;gap:6px;text-align:center}.ctype-row{padding-top:12px;padding-bottom:12px;border-top:1px solid var(--border)}.ctype-cell{display:flex;justify-content:center}.ctype-count{text-align:center;color:var(--muted)}.ctype-count-label{display:none}.ctype-actions{display:flex;gap:6px;justify-content:flex-end}.ctype-cell .switch>span:not(.switch-track){display:none}.ctype-add{display:flex;gap:8px;padding:14px 18px;border-top:1px solid var(--border);background:var(--surface-2,#f7f8fa)}@media (max-width:640px){.ctype-grid{grid-template-columns:1fr auto}.ctype-grid>*{grid-column:1/-1}.ctype-row>:first-child{grid-column:1;grid-row:1}.ctype-row>.ctype-actions{grid-column:2;grid-row:1}.ctype-count{text-align:left}.ctype-count-label{display:inline}.ctype-head{display:none}.ctype-cell{justify-content:flex-start}.ctype-cell .switch>span:not(.switch-track){display:inline;white-space:normal;text-align:left}}.switch:disabled{opacity:.55;cursor:not-allowed}.kind-switch .switch-track,.kind-switch .switch[aria-checked=true] .switch-track{background:var(--brand)}.ql-icon{display:none}@media (max-width:640px){.ql-text{display:none}.ql-icon{display:inline-grid;width:38px;height:38px;border-radius:10px}.ql-icon svg{width:18px;height:18px}.ql-desk{display:none}.pl-inline{flex-wrap:nowrap!important;gap:10px!important}.pl-inline .pl-bar{flex:1 1!important;min-width:40px}.pl-inline>span:last-child{flex:none;flex-wrap:nowrap!important}}.addr{display:grid;grid-gap:12px;gap:12px}.addr-line{position:relative;display:flex;gap:8px;align-items:center}.addr-line .input{flex:1 1;min-width:0}.addr-toggle svg{transition:transform .15s}.addr-toggle[data-open] svg{transform:rotate(180deg)}.addr-menu{position:absolute;z-index:20;left:0;right:46px;top:calc(100% + 4px);background:var(--surface,#fff);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 8px 24px rgba(15,30,60,.14);overflow:hidden}.addr-item{display:block;width:100%;text-align:left;padding:10px 12px;border:0;border-bottom:1px solid var(--border);background:transparent;font:inherit;color:var(--text);cursor:pointer}.addr-item:focus-visible,.addr-item:hover{background:color-mix(in srgb,var(--brand) 8%,transparent)}.addr-none{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:10px 12px;color:var(--muted);font-size:14px}.addr-parts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px 16px;gap:14px 16px;padding:14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2,#f7f8fa)}.addr-parts .addr-full{grid-column:1/-1}.addr-parts .label{display:grid;grid-gap:6px;gap:6px}@media (max-width:800px){.addr-parts{grid-template-columns:repeat(2,minmax(0,1fr))}}.btn.btn-selected,.icon-btn.btn-selected{background:color-mix(in srgb,var(--brand) 12%,var(--surface,#fff));border-color:color-mix(in srgb,var(--brand) 45%,transparent);color:var(--brand)}.btn.btn-selected:hover,.icon-btn.btn-selected:hover{background:color-mix(in srgb,var(--brand) 18%,var(--surface,#fff))}.trow{display:flex;gap:10px;align-items:center;min-height:40px;padding:4px calc(12px + var(--inset, 0px)) 4px 12px;border-top:1px solid var(--border);flex-wrap:wrap}.trow-title{flex:1 1 240px;min-width:0;overflow-wrap:anywhere}.task-days{display:inline-flex;align-items:center;justify-content:flex-start;gap:5px;color:var(--muted,#667085);font-size:13px}.task-days,.task-days-input{flex:none;width:58px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.task-days-input{height:32px;padding:0 6px;text-align:right}.trow-details,.trow-done{flex:none;width:32px}.trow-controls{display:inline-flex;gap:4px;flex:none;justify-content:flex-end;min-width:146px}@media (max-width:640px){.trow .row-actions{width:auto;margin-left:auto}.trow .trow-title{flex-basis:100%}.trow .task-who{flex:1 1;min-width:0}.task-days,.trow .task-who{width:auto;margin-right:0}}.task-who{flex:none;width:150px;margin-right:24px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;color:var(--muted,#667085)}@media (max-width:640px){.task-who{width:auto;max-width:50%;margin-right:0}}.badge-c-gray{background:#eceff3;color:#475467}.badge-c-red{background:#fdeaea;color:#b42318}.badge-c-orange{background:#ffeedd;color:#b54708}.badge-c-yellow{background:#fff4cc;color:#8a6500}.badge-c-green{background:#e6f6ec;color:#1a7f45}.badge-c-teal{background:#dff6f4;color:#0e7a72}.badge-c-blue{background:#e3edff;color:#1d4ed8}.badge-c-purple{background:#f0e8ff;color:#6d28d9}.badge-c-pink{background:#fde7f3;color:#be185d}:root[data-theme=dark] .badge-c-gray{background:#232830;color:#98a2b3}:root[data-theme=dark] .badge-c-red{background:#3a1618;color:#ff8b86}:root[data-theme=dark] .badge-c-orange{background:#3a2310;color:#f7a85a}:root[data-theme=dark] .badge-c-yellow{background:#352a08;color:#f0c84a}:root[data-theme=dark] .badge-c-green{background:#12301f;color:#5fd48c}:root[data-theme=dark] .badge-c-teal{background:#0f2f2c;color:#4fd1c5}:root[data-theme=dark] .badge-c-blue{background:#1b2540;color:#8fa8ff}:root[data-theme=dark] .badge-c-purple{background:#2a1c45;color:#b79bff}:root[data-theme=dark] .badge-c-pink{background:#3a1628;color:#f28ab9}.cstatus-row{display:grid;grid-template-columns:minmax(140px,1fr) 150px 232px 96px 136px;grid-gap:12px;gap:12px;align-items:center;padding:10px 14px}.cstatus-head{padding-top:8px;padding-bottom:8px;background:var(--surface-2,#f1f3f6);font-size:12px;font-weight:600;color:var(--muted,#667085)}@media (max-width:1240px){.cstatus-row{display:flex;flex-wrap:wrap}.cstatus-row>:first-child{order:1;flex:1 1 160px}.cstatus-row>:nth-child(2){order:2}.cstatus-row>:last-child{order:3}.cstatus-row>:nth-child(3){order:4}.cstatus-row>:nth-child(4){order:5}.cstatus-head{display:none}}.band-end{display:inline-flex;gap:10px;align-items:center;justify-content:flex-end;min-width:72px;flex:none}@media (max-width:640px){.band-end{min-width:0}}.trow-no{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.est{container-type:inline-size;overflow-x:auto}.est-inner{--est-cols:minmax(200px,3fr) minmax(72px,.8fr) 56px minmax(100px,1fr) minmax(110px,1.2fr) minmax(92px,.8fr) minmax(110px,1fr);display:grid;grid-gap:14px;gap:14px}.est.with-type .est-inner{--est-cols:minmax(200px,3fr) minmax(72px,.8fr) 56px minmax(100px,1fr) minmax(110px,1.2fr) minmax(86px,.9fr) minmax(92px,.8fr) minmax(110px,1fr)}.est.edit .est-inner{--est-cols:24px minmax(160px,1fr) 92px 56px 104px 118px 96px 110px 90px}.est.edit.with-type .est-inner{--est-cols:24px minmax(160px,1fr) 92px 56px 104px 118px 110px 96px 110px 90px}.est-c{display:contents}.est-colhead,.est-row{display:grid;grid-template-columns:var(--est-cols);grid-column-gap:10px;column-gap:10px;align-items:center}.est:not(.edit) .est-colhead,.est:not(.edit) .est-row{column-gap:20px}.est-row{min-height:40px;padding:4px calc(12px + var(--inset, 0px)) 4px 12px;border-top:1px solid var(--border)}.est-colhead{min-height:38px;padding:0 calc(12px + var(--inset, 0px)) 0 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2);font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600;white-space:nowrap}.est-colhead>span{min-width:0;overflow:hidden;text-overflow:ellipsis;text-align:left}.est-colhead>.h-num{text-align:right}.est.edit .est-colhead>span{padding:0 9px}.est:not(.edit) .est-colhead>.h-item{padding-left:26px}.est-band{display:flex;gap:10px;align-items:center;min-height:44px;padding:4px calc(12px + var(--inset, 0px)) 4px 12px}.est-total{width:110px;flex:none;text-align:right;font-weight:650}.est-ctl{width:90px;gap:4px;flex:none;display:inline-flex;justify-content:flex-end;align-items:center}.est-state{width:18px;display:inline-grid;place-items:center;color:var(--success,#1a7f4b)}.est-in{width:100%;box-sizing:border-box;height:32px;padding:0 8px;min-width:0}.est-in.num{text-align:right}.est-sum{padding:14px calc(13px + var(--inset, 0px)) 14px 13px;display:grid;grid-template-columns:1fr auto;justify-items:end;grid-column-gap:28px;column-gap:28px;grid-row-gap:6px;row-gap:6px;justify-self:end;min-width:320px}.est-sum>:nth-child(odd){justify-self:start}.est-mob{display:none}@container (max-width: 900px){.est:not(.edit) .est-inner{--est-cols:minmax(0,1fr) 84px 56px 110px}.est:not(.edit) .est-sm{display:none}}@container (max-width: 520px){.est:not(.edit) .est-inner{--est-cols:minmax(0,1fr) 96px}.est:not(.edit) .est-q{display:none}.est:not(.edit) .est-mob{display:block}.est-sum{justify-self:stretch;min-width:0}}.drw-back{position:fixed;inset:0;z-index:900;background:rgba(16,24,40,.4);display:flex;justify-content:flex-end}.drw{width:min(480px,100%);height:100%;background:var(--surface,#fff);box-shadow:-12px 0 34px rgba(16,24,40,.22);display:flex;flex-direction:column}.drw>header{display:flex;gap:8px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border)}.drw-body{padding:16px;display:grid;grid-gap:14px;gap:14px;overflow-y:auto;align-content:start}.drw-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;align-items:end}.drw-sum{display:grid;grid-template-columns:1fr auto;grid-row-gap:6px;row-gap:6px;grid-column-gap:20px;column-gap:20px;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2,#f6f7f9)}@media (max-width:640px){.drw-grid{grid-template-columns:1fr}}.ebc{padding:0 0 8px;overflow:hidden}.ebc-row{display:flex;align-items:center;gap:8px;min-height:40px;padding-right:20px;border-top:1px solid var(--border)}.ebc-row.top{font-weight:650;background:var(--surface-2,#f6f7f9)}.ebc-head{border-top:0;min-height:28px;color:var(--muted);font-size:13px}.ebc-tog{flex:none;width:22px;height:26px;display:inline-grid;place-items:center;border:0;background:transparent;padding:0;color:var(--muted);cursor:pointer}.ebc-name{flex:1 1;min-width:0;overflow-wrap:anywhere}.ebc-n{flex:none;width:104px;text-align:right;white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (max-width:640px){.ebc-n{width:84px}.ebc-row{padding-right:12px}}.est-in.inherit::placeholder{font-style:italic;color:var(--muted);opacity:1}.est.edit .est-in{border-color:transparent;background:transparent;box-shadow:none;text-overflow:ellipsis}.est.edit .est-in:hover,.est.edit .est-row:hover .est-in{border-color:var(--border)}.est.edit .est-in:focus,.est.edit .est-in:focus-visible{border-color:var(--brand);background:var(--surface,#fff);outline:2px solid color-mix(in srgb,var(--brand) 40%,transparent);outline-offset:0}.est.edit .est-in.bad,.est.edit .est-in.bad:focus,.est.edit .est-in.bad:hover{border-color:var(--danger,#c0262d);background:color-mix(in srgb,var(--danger,#c0262d) 7%,var(--surface,#fff))}@media (hover:none){.est.edit .est-in{border-color:var(--border)}}.est.edit .est-row .badge{flex:none;display:inline-flex;align-items:center;gap:3px}.tb-note{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}@media (max-width:1100px){.tb-label{display:none}}@media (max-width:900px){.tb-note{display:none}}.est-detail{display:grid;grid-gap:10px;gap:10px;padding:10px 12px 14px 36px;background:var(--surface-2,#f6f7f9);border-top:1px solid var(--border)}.est-drow{display:flex;gap:12px;align-items:flex-end;flex-wrap:nowrap;min-width:0}.est-f{display:grid;grid-gap:4px;gap:4px;min-width:0;font-size:12px;font-weight:600;color:var(--muted);align-content:start}.est-f .est-in,.est-f>.input,.est-f>textarea{width:100%;box-sizing:border-box}.est.edit .est-detail .est-in{border-color:var(--border);background:var(--surface,#fff);height:34px}.est.edit .est-detail .est-in:focus,.est.edit .est-detail .est-in:focus-visible{border-color:var(--brand)}.est.edit .est-detail .est-in.bad{border-color:var(--danger,#c0262d)}.est-detail textarea.input{min-height:56px;resize:vertical}.est-sw{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border:1px solid var(--border-strong,var(--border));border-radius:8px;background:var(--surface,#fff);color:var(--text);cursor:pointer;font-size:13px}.est-sw.on{background:var(--bg-accent,#e8f0fe);border-color:var(--brand);color:var(--brand);font-weight:600}.est-sw:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.est-strip{display:flex;gap:10px;align-items:center;flex-wrap:nowrap;padding:8px 12px;border-radius:8px;background:color-mix(in srgb,var(--brand) 8%,var(--surface,#fff));font-size:13px;white-space:nowrap;overflow:hidden}.est-detail .narrow-only{display:none}@container (max-width: 820px){.est.edit.with-type:not(.qty) .est-inner,.est.edit:not(.qty) .est-inner{--est-cols:minmax(0,1fr) 76px 84px}.est.edit:not(.qty) .est-colhead>span:first-child,.est.edit:not(.qty) .est-row>input[type=checkbox],.est.edit:not(.qty) .est-state{display:none}.est.edit:not(.qty) .est-ctl{width:84px}.est.edit:not(.qty) .est-c,.est.edit:not(.qty) .est-colhead>.est-q,.est.edit:not(.qty) .est-colhead>.est-sm{display:none}.est-detail{padding-left:12px}.est-drow{flex-wrap:wrap}.est-drow>.est-f{flex:1 1 150px!important}.est-detail .narrow-only,.est-drow.narrow-only{display:flex}.est-strip{flex-wrap:wrap;white-space:normal}}@media (max-width:640px){.est-band{flex-wrap:wrap}.est-band-name{flex:1 1 110px!important}.est-band-tools{margin-left:auto}}.est-tb{display:flex;gap:10px;flex-wrap:wrap;align-items:center}@media (max-width:640px){.est-tb{flex-wrap:nowrap;gap:6px}.est-tb .btn{padding-left:10px;padding-right:10px}}.est.qty .est-inner{--est-cols:minmax(200px,1fr) 110px 80px 120px 36px}.est.qty.edit .est-inner{--est-cols:24px minmax(160px,1fr) 110px 96px 130px 36px 64px}.est.qty .est-code{text-align:left}.est-draw{display:inline-grid;place-items:center;width:22px;height:22px;color:var(--brand);flex:none;vertical-align:middle;margin-right:6px}.est.qty .est-mk{display:inline-grid;place-items:center}.est.qty .est-c.est-mk{display:inline-grid}.est.qty .est-colhead>.est-mk{padding:0;text-align:center}.est.qty .est-draw{margin-right:0}.est.qty .est-ctl{width:64px}@container (max-width: 700px){.est.qty .est-code,.est.qty .est-colhead>.est-code,.est.qty .est-marks{display:none}.est.qty .est-inner{--est-cols:minmax(0,1fr) 30px}.est.qty:not(.edit) .est-q{display:none}.est.qty:not(.edit) .est-mob{display:block}.est.qty.edit .est-inner{--est-cols:24px minmax(0,1fr) 96px 80px 30px 36px}.est.qty.edit .est-state{display:none}.est.qty.edit .est-ctl{width:36px}}@container (max-width: 520px){.est.qty .est-colhead,.est.qty .est-row{column-gap:6px}.est.qty.edit .est-inner{--est-cols:24px minmax(0,1fr) 76px 52px 34px}.est.qty.edit .est-mk{display:none}}.mk-card{display:grid;min-width:0;border:1px solid var(--border);border-left:4px solid var(--mk,var(--border));border-radius:8px;overflow:hidden;background:var(--surface,#fff)}.mk-head{display:flex;align-items:center;gap:4px;min-width:0;padding:2px 4px 2px 6px;background:color-mix(in srgb,var(--mk,#888) 10%,var(--surface,#fff))}.mk-rows{list-style:none;margin:0;padding:0;display:grid;min-width:0}.mk-rows>li{padding:0 6px 0 10px;border-top:1px solid var(--border)}@media (max-width:640px){.est-tb.qty-tb{flex-wrap:wrap}.est-tb.qty-tb .btn,.est-tb.qty-tb .segmented button{white-space:nowrap}}.al .est-colhead,.al .est-row{grid-template-columns:minmax(0,1.6fr) 90px 100px 110px minmax(0,1.2fr) 110px 120px}.al .al-f{display:contents}@container (max-width: 820px){.al .al-f{display:grid;grid-gap:2px;gap:2px;min-width:0}.al .al-f:before{content:attr(data-l);font-size:11px;color:var(--muted)}.al .est-colhead{display:none}.al .est-row{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:6px;padding-top:8px;padding-bottom:8px}.al .est-row>:first-child{grid-column:1/-1}.al .est-row>:nth-child(5){grid-column:1/3}.al .est-row>:nth-child(7){grid-column:1/-1;justify-self:end}}@container (max-width: 520px){.est.qty .est-colhead{letter-spacing:0;font-size:11px}.est.qty.edit .est-inner{--est-cols:24px minmax(0,1fr) 64px 48px 34px}}.est.qty.item .est-inner{--est-cols:minmax(200px,1fr) 110px 80px 36px}@container (min-width: 701px){.est.qty.wide:not(.edit) .est-inner{--est-cols:minmax(200px,1fr) 110px 80px 80px minmax(160px,1fr) 120px 36px}.est.qty.wide.nomk:not(.edit) .est-inner{--est-cols:minmax(200px,1fr) 110px 80px 80px minmax(160px,1fr) 120px}.est.qty.nomk:not(.edit) .est-inner{--est-cols:minmax(200px,1fr) 110px 80px 120px}.est.qty.item.nomk .est-inner{--est-cols:minmax(200px,1fr) 110px 80px}.est.qty.nomk:not(.edit) .est-mk{display:none}}@container (max-width: 700px){.est.qty.item .est-inner{--est-cols:minmax(0,1fr) 30px}}@media (max-width:760px),(pointer:coarse){.only-wide{display:none!important}}.qt-split{display:grid;grid-gap:14px;gap:14px}@media (min-width:1200px){.qt-split.two{grid-template-columns:1fr 1fr;align-items:start}}.rt-narrow{display:none}@media (max-width:640px){.rt-chips{display:none}.rt-narrow{display:flex}}@container (min-width: 701px){.est.qty.item.wide .est-inner{--est-cols:minmax(200px,1fr) 110px 80px 80px minmax(160px,1fr) 36px}.est.qty.item.wide.nomk .est-inner{--est-cols:minmax(200px,1fr) 110px 80px 80px minmax(160px,1fr)}.est.qty.item.wide.nomk .est-mk{display:none}}.est-dwg{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.est-chip{border:1px solid var(--border);background:var(--surface,#fff);border-radius:999px;padding:1px 9px;font:inherit;font-size:12px;cursor:pointer;color:var(--text);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.est-chip:hover{border-color:var(--brand);color:var(--brand)}.sp-cols{display:grid;grid-template-columns:minmax(200px,2fr) repeat(5,minmax(84px,1fr)) 190px;grid-gap:10px;gap:10px;align-items:center}.sp-cols>span:not(:first-child):not(.sp-act){text-align:right}.sp-cols .sp-act{display:inline-flex;gap:6px;justify-content:flex-end;align-items:center}.sp-head{padding:8px 14px;background:color-mix(in srgb,var(--brand) 7%,var(--surface,#fff));border-radius:8px;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.sp-row{padding:10px 14px}@media (max-width:900px){.sp-cols{grid-template-columns:minmax(0,1fr) auto}.sp-cols>:nth-child(2),.sp-cols>:nth-child(3),.sp-cols>:nth-child(4),.sp-cols>:nth-child(6){display:none}.sp-cols .sp-act{grid-column:1/-1;justify-content:flex-start}.sp-head>:nth-child(7){display:none}}