:root{--color-background-primary:#fff;--color-background-secondary:#f5f4ef;--color-background-tertiary:#e7e4db;--color-background-danger:#fbeae8;--color-background-success:#e7f4ec;--color-background-warning:#fbf2e0;--color-background-info:#e9eff6;--color-text-primary:#1b1b19;--color-text-secondary:#5d5b55;--color-text-tertiary:#6f6c64;--color-text-danger:#b3231a;--color-text-success:#156b3c;--color-text-warning:#855a10;--color-text-info:#245fa6;--color-accent:#b45309;--color-accent-strong:#92400e;--color-accent-bg:#fbf1e3;--color-accent-border:#b4530957;--color-ink:#1b1b19;--color-ink-hover:#000;--color-border-tertiary:#00000017;--color-border-secondary:#00000029;--color-border-primary:#00000052;--color-border-danger:#b3231a66;--color-border-success:#1a7f4b66;--color-border-warning:#97671366;--color-border-info:#245fa666;--font-sans:"Inter", system-ui, -apple-system, sans-serif;--font-serif:Georgia, serif;--font-mono:ui-monospace, "SF Mono", Menlo, monospace;--border-radius-sm:6px;--border-radius-md:8px;--border-radius-lg:12px;--border-radius-xl:16px;--border-radius-full:999px;--shadow-xs:0 1px 2px #1b1b190d;--shadow-sm:0 1px 2px #1b1b190a, 0 2px 6px #1b1b190d;--shadow-md:0 2px 4px #1b1b190a, 0 8px 20px #1b1b1912;--shadow-lg:0 12px 36px #1b1b191f;--transition:.14s cubic-bezier(.2, 0, 0, 1)}*{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font-sans);color:var(--color-text-primary);background:radial-gradient(1200px 600px at 50% -10%, #efece3 0%, #efece300 60%), var(--color-background-tertiary);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:where(button,a,input,select,textarea,[role=button],[role=link],[tabindex="0"]):focus-visible{outline:2px solid var(--color-text-primary);outline-offset:2px;border-radius:var(--border-radius-md)}.appbar{border-bottom:1px solid var(--color-border-tertiary);background:var(--color-background-primary);justify-content:space-between;align-items:center;gap:1rem;padding:.55rem 1rem;display:flex}.appbar .logo{letter-spacing:-.01em;align-items:center;gap:.45rem;font-size:14px;font-weight:600;display:flex}.appbar .logo i{color:var(--color-accent);font-size:18px}.roles{border:1px solid var(--color-border-secondary);border-radius:var(--border-radius-md);display:inline-flex;overflow:hidden}.roles button{cursor:pointer;color:var(--color-text-secondary);font-family:var(--font-sans);transition:background var(--transition), color var(--transition);background:0 0;border:0;align-items:center;gap:.35rem;padding:6px 14px;font-size:12px;display:inline-flex}.roles button.on{background:var(--color-background-secondary);color:var(--color-text-primary);font-weight:500}.subnav{gap:.4rem;display:inline-flex}.subnav button{border:1px solid var(--color-border-secondary);cursor:pointer;border-radius:var(--border-radius-md);font-size:12px;font-family:var(--font-sans);color:var(--color-text-secondary);transition:background var(--transition), color var(--transition);background:0 0;padding:5px 11px}.subnav button.on{background:var(--color-background-secondary);color:var(--color-text-primary);font-weight:500}.stage{max-width:1120px;margin:0 auto;padding:1.4rem 1rem}.stage.narrow{max-width:760px}.nav,.seg span,.tabs span,.opt,.bitem,.btn,.iconbtn,.frow{cursor:pointer}.cockpit{border:1px solid var(--color-border-tertiary);border-radius:var(--border-radius-xl);background:var(--color-background-primary);box-shadow:var(--shadow-md);grid-template-columns:168px 1fr;display:grid;overflow:hidden}.cockpit .rail{border-right:1px solid var(--color-border-tertiary);background:var(--color-background-secondary);padding:.85rem .6rem}.cockpit .brand{letter-spacing:-.01em;align-items:center;gap:.45rem;margin:.1rem .2rem 1.1rem;font-size:14px;font-weight:600;display:flex}.cockpit .brand i{color:var(--color-accent);font-size:18px}.cockpit .nav{box-sizing:border-box;width:100%;min-height:38px;font-family:var(--font-sans);text-align:left;color:var(--color-text-secondary);border-radius:var(--border-radius-md);transition:background var(--transition), color var(--transition);background:0 0;border:1px solid #0000;align-items:center;gap:.55rem;margin-bottom:.18rem;padding:.45rem .55rem;font-size:12.5px;display:flex;position:relative}.cockpit .nav i{color:var(--color-text-tertiary);transition:color var(--transition);font-size:17px}.cockpit .nav:hover{background:var(--color-background-tertiary);color:var(--color-text-primary)}.cockpit .nav.on{background:var(--color-background-primary);color:var(--color-text-primary);border:1px solid var(--color-border-tertiary);box-shadow:inset 3px 0 0 var(--color-accent), var(--shadow-xs);font-weight:600}.cockpit .nav.on i{color:var(--color-accent)}.cockpit .badge{background:var(--color-accent);color:#fff;border-radius:var(--border-radius-full);margin-left:auto;padding:0 6px;font-size:10px;font-weight:600}.cockpit .main{min-height:420px;padding:1rem 1.1rem}.ph{height:380px;color:var(--color-text-tertiary);flex-direction:column;justify-content:center;align-items:center;gap:.4rem;display:flex}.ph i{font-size:30px}.pht{color:var(--color-text-secondary);font-size:15px;font-weight:500}.phs{color:var(--color-text-tertiary);font-size:12px}.region{border:1px solid var(--color-border-tertiary);border-radius:var(--border-radius-lg);background:var(--color-background-primary);box-shadow:var(--shadow-sm);margin-bottom:.9rem;padding:1rem 1.1rem}.cap{letter-spacing:.07em;color:var(--color-text-tertiary);font-size:10.5px;font-family:var(--font-mono);text-transform:uppercase;justify-content:space-between;align-items:center;gap:.4rem;margin-bottom:.7rem;display:flex}.cap i{color:var(--color-accent)}.lab{color:var(--color-text-secondary);font-size:13px}.labb{color:var(--color-text-primary);font-size:13px;font-weight:500}.muted{color:var(--color-text-tertiary)}.btn{border:1px solid var(--color-border-secondary);border-radius:var(--border-radius-md);color:var(--color-text-primary);background:var(--color-background-primary);cursor:pointer;font-size:13px;font-family:var(--font-sans);box-shadow:var(--shadow-xs);transition:background var(--transition), border-color var(--transition), box-shadow var(--transition), transform var(--transition);justify-content:center;align-items:center;gap:.4rem;padding:7px 13px;font-weight:500;display:inline-flex}.btn:hover{background:var(--color-background-secondary);border-color:var(--color-border-primary)}.btn:active{transform:translateY(.5px)}.btn.primary{border-color:var(--color-ink);background:var(--color-ink);color:#fff;box-shadow:var(--shadow-sm);font-weight:600}.btn.primary:hover{background:var(--color-ink-hover);border-color:var(--color-ink-hover)}.btn.accent{border-color:var(--color-accent);background:var(--color-accent);color:#fff;box-shadow:var(--shadow-sm);font-weight:600}.btn.accent:hover{background:var(--color-accent-strong);border-color:var(--color-accent-strong)}.btn:disabled{opacity:.5;cursor:default;box-shadow:none}.btn:disabled:hover{background:var(--color-background-primary);border-color:var(--color-border-secondary)}.btn.primary:disabled:hover{background:var(--color-ink)}.btn.sm{box-shadow:none;gap:.3rem;padding:4px 9px;font-size:11px}.btn.icon{padding:6px}.chip{color:var(--color-text-secondary);background:var(--color-background-secondary);border:1px solid var(--color-border-tertiary);border-radius:var(--border-radius-full);transition:background var(--transition), border-color var(--transition), color var(--transition);align-items:center;gap:.3rem;padding:3px 10px;font-size:11px;display:inline-flex}.chip.sel{border-color:var(--color-accent-border);color:var(--color-accent-strong);background:var(--color-accent-bg);font-weight:500}.tiles{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.7rem;display:grid}.tile{border:1px solid var(--color-border-tertiary);border-radius:var(--border-radius-md);background:var(--color-background-primary);box-shadow:var(--shadow-xs);transition:box-shadow var(--transition), transform var(--transition), border-color var(--transition);padding:.7rem .8rem}button.tile:hover,a.tile:hover{box-shadow:var(--shadow-sm);border-color:var(--color-border-secondary);transform:translateY(-1px)}.tlab{letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary);font-size:10px;font-family:var(--font-mono);align-items:center;gap:.3rem;margin-bottom:.25rem;display:flex}.tile .tval{letter-spacing:-.01em;font-size:21px;font-weight:600;line-height:1.1}.tile.accent .tval{color:var(--color-accent-strong)}.tile.accent .tlab i{color:var(--color-accent)}.field{border:1px solid var(--color-border-secondary);border-radius:var(--border-radius-md);background:var(--color-background-primary);width:100%;font-size:14px;font-family:var(--font-sans);color:var(--color-text-primary);box-sizing:border-box;transition:border-color var(--transition), box-shadow var(--transition);outline:none;padding:.55rem .7rem}.field:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-bg)}label.fl{color:var(--color-text-secondary);margin:.6rem 0 .25rem;font-size:12px;display:block}.listrow{border-top:1px solid var(--color-border-tertiary);cursor:pointer;border-radius:var(--border-radius-sm);transition:background var(--transition);align-items:center;gap:.6rem;padding:.6rem .4rem;display:flex}.listrow:hover{background:var(--color-background-secondary)}.listrow:first-child{border-top:none}button.listrow{font:inherit;color:inherit;border:none;border-top:1px solid var(--color-border-tertiary);text-align:left;background:0 0;width:100%}button.listrow:first-child{border-top:none}.status{letter-spacing:.02em;border-radius:var(--border-radius-full);border:1px solid var(--color-border-tertiary);color:var(--color-text-secondary);white-space:nowrap;text-transform:capitalize;padding:2px 9px;font-size:10px;font-weight:600}.status.lead{color:var(--color-text-info);border-color:var(--color-border-info);background:var(--color-background-info)}.status.approved,.status.in_progress{color:var(--color-text-success);border-color:var(--color-border-success);background:var(--color-background-success)}.status.quote_sent,.status.quote_draft,.status.accepted{color:var(--color-text-warning);border-color:var(--color-border-warning);background:var(--color-background-warning)}.status.done,.status.cancelled,.status.starter,.status.draft{color:var(--color-text-tertiary);background:var(--color-background-secondary);border-color:var(--color-border-tertiary)}.status.sent{color:var(--color-text-info);border-color:var(--color-border-info);background:var(--color-background-info)}.status.paid{color:var(--color-text-success);border-color:var(--color-border-success);background:var(--color-background-success)}.status.overdue{color:var(--color-text-danger);border-color:var(--color-border-danger);background:var(--color-background-danger)}.status.scheduled{color:var(--color-text-warning);border-color:var(--color-border-warning);background:var(--color-background-warning)}.status.staffed{color:var(--color-text-success);border-color:var(--color-border-success);background:var(--color-background-success)}.status.short,.status.unstaffed{color:var(--color-text-danger);border-color:var(--color-border-danger);background:var(--color-background-danger)}.center-wrap{justify-content:center;align-items:center;min-height:80vh;padding:1rem;display:flex}.card{border:1px solid var(--color-border-tertiary);border-radius:var(--border-radius-lg);background:var(--color-background-primary);width:100%;max-width:420px;box-shadow:var(--shadow-md);padding:1.6rem}.toast{background:var(--color-text-primary);color:var(--color-background-primary);border-radius:var(--border-radius-md);z-index:50;box-shadow:var(--shadow-lg);padding:.6rem 1rem;font-size:13px;position:fixed;bottom:1rem;left:50%;transform:translate(-50%)}.datarow{gap:.6rem}.datarow .row-main{flex:auto;min-width:0}.datarow .row-side{flex:none;align-items:center;gap:.5rem;display:flex}.datarow .row-ctl{align-items:center;gap:.4rem;display:inline-flex}@media (width<=640px){.datarow .row-main{flex:100%}.datarow .row-side{flex:100%;justify-content:space-between}}.cmd-cols{grid-template-columns:minmax(0,1fr);align-items:start;gap:.2rem .9rem;display:grid}@media (width>=860px){.cmd-cols{grid-template-columns:minmax(0,1.9fr) minmax(0,1fr)}}.portal-wrap{justify-content:center;min-height:100vh;padding:1.5rem 1rem 2rem;display:flex}.portal{width:100%;max-width:560px}@media (width<=640px){.stage{padding:.6rem}.cockpit{border-radius:var(--border-radius-lg);grid-template-columns:1fr}.cockpit .rail{border-right:none;border-bottom:1px solid var(--color-border-tertiary);-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-direction:row;gap:.3rem;padding:.45rem .5rem;display:flex;overflow-x:auto}.cockpit .rail::-webkit-scrollbar{display:none}.cockpit .brand{display:none}.cockpit .nav{white-space:nowrap;flex:none;width:auto;min-height:40px;margin-bottom:0}.cockpit .main{min-width:0;padding:.8rem .6rem}.region .cap,.listrow{flex-wrap:wrap}}.capgrid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.6rem;display:grid}.capcard{border:1px solid var(--color-border-tertiary);border-radius:var(--border-radius-md);background:var(--color-background-primary);box-shadow:var(--shadow-xs);flex-direction:column;gap:.25rem;padding:.45rem;display:flex}.capcard img{aspect-ratio:4/3;object-fit:cover;border-radius:var(--border-radius-sm);background:var(--color-background-secondary);width:100%}.capmeta{flex-wrap:wrap;align-items:center;gap:.3rem;display:flex}.status.published{color:var(--color-text-success);border-color:var(--color-border-success);background:var(--color-background-success)}.status.cr_pending{color:var(--color-text-warning);border-color:var(--color-border-warning);background:var(--color-background-warning)}.status.cr_approved{color:var(--color-text-info);border-color:var(--color-border-info);background:var(--color-background-info)}.status.cr_pushed{color:var(--color-text-success);border-color:var(--color-border-success);background:var(--color-background-success)}.status.cr_declined{color:var(--color-text-danger);border-color:var(--color-border-danger);background:var(--color-background-danger)}.status.pending{color:var(--color-text-warning);border-color:var(--color-border-warning);background:var(--color-background-warning)}.status.internal,.status.discarded{color:var(--color-text-tertiary)}.dash{grid-template-columns:1fr;grid-template-areas:"top""todo""kpi""week""recent";gap:.8rem;display:grid}.a-top{grid-area:top}.a-kpi{grid-area:kpi}.a-todo{grid-area:todo}.a-week{grid-area:week}.a-recent{grid-area:recent}.dash .region{margin-bottom:0}.a-week{flex-direction:column;display:flex}.a-week>.region{flex:1}@media (width>=900px){.dash{grid-template-columns:minmax(0,1.9fr) minmax(0,1fr);grid-template-areas:"top top""kpi kpi""todo week""recent week"}}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:.7rem;display:flex}.topbar h2{margin:0;font-size:16px;font-weight:500}.dash .topbar{margin-bottom:0}.dash .topbar h2{font-size:17px}.kpi-band{grid-template-columns:1fr;gap:.7rem;display:grid}@media (width>=680px){.kpi-band{grid-template-columns:1.3fr 1.7fr;align-items:start}}.kpi-group{grid-template-columns:repeat(2,1fr);align-content:start;align-items:start;gap:.5rem;display:grid}@media (width>=900px){.kpi-group.life{grid-template-columns:repeat(4,1fr)}}.kpi-group .glab{font:600 9.5px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-tertiary);grid-column:1/-1}.tile.compact,.tile.big{text-align:left;flex-direction:column;min-width:0;display:flex}.tile.compact{gap:.15rem;min-height:50px;padding:.45rem .6rem}.tile.compact .tlab{font-size:9.5px}.tile.compact .tval{font-size:17px}.tile.big{gap:.3rem;min-height:88px;padding:.7rem .8rem}.tile.big .tlab{font-size:10.5px}.tile.big .tval{font-size:27px}.tile .foot{flex-wrap:wrap;align-items:center;gap:.15rem .35rem;min-width:0;margin-top:auto;font-size:11px;display:flex}.trend{align-items:center;gap:.18rem;font-weight:600;display:inline-flex}.trend.good{color:var(--color-text-success)}.trend.bad{color:var(--color-text-danger)}.trend.warn{color:var(--color-text-warning)}.trend.flat{color:var(--color-text-tertiary)}.spark{opacity:.9;flex:0 auto;width:64px;max-width:100%;height:22px;margin-left:auto}.tile.big .spark{width:72px;height:24px}.dot{border-radius:50%;flex:none;width:8px;height:8px}.dot.ok{background:var(--color-text-success)}.dot.risk{background:var(--color-text-warning)}.subhead,.dash .todo-grp{font:600 9.5px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-tertiary);margin:.6rem .1rem .05rem}.subhead:first-child,.dash .todo-grp:first-of-type{margin-top:.1rem}.dash .week-summary{border-radius:var(--border-radius-md);background:var(--color-background-success);border:1px solid var(--color-border-success);align-items:center;gap:.5rem;margin-bottom:.55rem;padding:.5rem .6rem;display:flex}.dash .week-summary.warn{background:var(--color-background-warning);border-color:var(--color-border-warning)}.dash .week-summary .big{color:var(--color-text-success);font-size:14px;font-weight:600}.dash .week-summary.warn .big{color:var(--color-text-warning)}.tag{font:600 9px var(--font-mono);letter-spacing:.05em;text-transform:uppercase;border-radius:var(--border-radius-full);border:1px solid var(--color-border-tertiary);color:var(--color-text-secondary);background:var(--color-background-secondary);white-space:nowrap;flex:none;padding:1px 6px}.tag.review{color:var(--color-text-info);border-color:var(--color-border-info);background:var(--color-background-info)}.tag.handover{color:var(--color-text-warning);border-color:var(--color-border-warning);background:var(--color-background-warning)}.tag.buy{color:var(--color-accent-strong);border-color:var(--color-accent-border);background:var(--color-accent-bg)}.blk-intro{max-width:60ch;margin-bottom:.7rem;font-size:12px}.blk-empty{align-items:center;gap:.4rem;padding:.6rem .4rem;font-size:13px;display:flex}.blk-empty i{color:var(--color-text-tertiary)}.blk-row{text-align:left;align-items:flex-start}.blk-head{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.blk-meta{flex-wrap:wrap;gap:.35rem;margin-top:.35rem;display:flex}.blk-meta .chip i{color:var(--color-text-tertiary)}.blk-side{align-items:center;gap:.5rem}.blk-time{font-family:var(--font-mono);white-space:nowrap;font-size:11px}.blk-go{color:var(--color-text-tertiary);flex:none;font-size:16px}.blk-matsub{margin:.7rem 0 .4rem}.blk-matrow{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;display:flex}.blk-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.blk-del{color:var(--color-text-danger);margin-left:auto}@media (width<=640px){.blk-side{justify-content:space-between}.blk-del{margin-left:0}}.cm .cm-count{font-family:var(--font-mono);color:var(--color-text-tertiary);font-size:11px}.cm .cm-tiles{margin-bottom:.9rem}.cm .cm-worker{flex-wrap:wrap;align-items:flex-start;gap:.6rem .9rem}.cm .cm-w-id{flex-direction:column;flex:auto;gap:.3rem;min-width:0;display:flex}.cm .cm-w-meta{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.cm .cm-rate{font-family:var(--font-mono);color:var(--color-text-secondary);font-size:11px}.cm .cm-w-skills{flex-wrap:wrap;flex:auto;justify-content:flex-end;align-items:center;gap:.3rem;display:flex}.cm .cm-skill{color:var(--color-text-secondary);border:1px solid var(--color-border-tertiary);border-radius:var(--border-radius-sm);background:var(--color-background-secondary);align-items:center;gap:.3rem;padding:1px 7px;font-size:12px;display:inline-flex}.cm .cm-noskill{color:var(--color-text-tertiary);font-size:11px;font-style:italic}@media (width<=640px){.cm .cm-w-skills{justify-content:flex-start}}.cm .cm-editor{background:var(--color-background-secondary);margin-top:.9rem}.cm .cm-grid{grid-template-columns:1fr 1fr;gap:0 .7rem;display:grid}.cm .cm-grid .cm-span{grid-column:1/-1}.cm .cm-grid .field{width:100%}.cm .cm-hint{color:var(--color-text-tertiary);margin-top:.2rem;font-size:11px;line-height:1.4;display:block}@media (width<=640px){.cm .cm-grid{grid-template-columns:1fr}}.cm .cm-skills-edit{flex-direction:column;align-items:flex-start;gap:.4rem;display:flex}.cm .cm-skillrow{align-items:center;gap:.5rem;width:100%;display:flex}.cm .cm-skillrow .field{flex:auto;min-width:0}.cm .cm-rating{flex:0 0 64px;width:64px}.cm .cm-of5{color:var(--color-text-tertiary);font-size:12px}.cm .cm-extra{border-top:1px solid var(--color-border-tertiary);margin-top:1rem;padding-top:.7rem}.cm .cm-offrow{align-items:center;gap:.5rem;margin-bottom:.35rem;display:flex}.cm .cm-offadd{flex-wrap:wrap;align-items:center;gap:.45rem;margin-top:.4rem;display:flex}.cm .cm-arrow{color:var(--color-text-tertiary)}.cm .cm-linkrow{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.cm .cm-linkfield{flex:160px;min-width:140px;font-size:12px}.cm .cm-danger{color:var(--color-text-danger)}.cm .cm-actions{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:1.1rem;display:flex}.cm .cm-delete{margin-left:auto}@media (width<=640px){.cm .cm-delete{margin-left:0}}.cm .cm-affadd{grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:.8rem;display:grid}.cm .cm-affadd .field{width:100%}.cm .cm-affadd>.btn{grid-column:1/-1;justify-self:start}@media (width<=640px){.cm .cm-affadd{grid-template-columns:1fr}}.cm .cm-affrow{cursor:default;flex-wrap:wrap;gap:.5rem}.cm .cm-aff-pair{flex-wrap:wrap;align-items:center;gap:.45rem;min-width:0;display:inline-flex}.cm .cm-aff-good{color:var(--color-text-success)}.cm .cm-aff-bad{color:var(--color-text-danger)}.cm .cm-aff-x{margin-left:auto}.cm .cm-noaff{color:var(--color-text-tertiary);padding:.3rem .4rem;font-size:12px}.cm .cm-empty{color:var(--color-text-secondary);flex-direction:column;align-items:flex-start;gap:.6rem;padding:.6rem .4rem;font-size:13px;display:flex}.cm .cm-empty>i{color:var(--color-text-tertiary);font-size:22px}.cp-head{margin-bottom:.9rem}.cp-org{font:600 9.5px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-tertiary);align-items:center;gap:.4rem;display:flex}.cp-org-icon{color:var(--color-accent)}.cp-title{letter-spacing:-.01em;color:var(--color-text-primary);margin:.3rem 0 .35rem;font-size:22px;font-weight:600;line-height:1.2}.cp-meta{color:var(--color-text-tertiary);flex-wrap:wrap;gap:.3rem .9rem;font-size:12px;display:flex}.cp-meta span{align-items:center;gap:.3rem;display:inline-flex}.cp-meta i{color:var(--color-text-tertiary)}.cp-summary-top{justify-content:space-between;align-items:flex-start;gap:.6rem;margin-bottom:.85rem;display:flex}.cp-status-label{color:var(--color-text-primary);margin-top:.1rem;font-size:15px;font-weight:500}.cp-summary .status{flex:none;padding:3px 11px;font-size:11px}.cp-tiles{gap:.6rem}.cp-tval{font-size:17px}.cp-ontime{margin-top:.35rem;font-size:11.5px;font-weight:500}.cp-ontime.good{color:var(--color-text-success)}.cp-ontime.bad{color:var(--color-text-danger)}.cp-lead{color:var(--color-text-secondary);margin:0 0 .7rem;font-size:12.5px;line-height:1.5}.cp-actions{flex-wrap:wrap;gap:.5rem;display:flex}.cp-actions-inline{align-items:center;margin-top:.5rem}.cp-btn{min-height:40px}.cp-decide .cp-btn{flex:auto}.cp-download{text-decoration:none}.cp-updated{margin-top:.45rem}.cp-sent{color:var(--color-text-success);align-items:center;gap:.3rem;font-size:12px;font-weight:500;display:inline-flex}.cp-note{align-items:center;gap:.45rem;font-size:13px;line-height:1.45;display:flex}.cp-note i{flex:none}.cp-note-ok{color:var(--color-text-success);border-color:var(--color-border-success);background:var(--color-background-success)}.cp-note-muted{color:var(--color-text-tertiary)}.cp-photo{position:relative}.cp-asbuilt{position:absolute;top:.55rem;left:.55rem}.cp-caption{font-size:11.5px;line-height:1.35}.cp-field{width:100%}.cp-field+.cp-field,.cp-textarea{margin-top:.45rem}.cp-textarea{resize:vertical;min-height:84px}.cp-reqs{margin-top:.85rem}.cp-req-body{font-size:13px;line-height:1.4}.cp-event .cp-dot,.cp-progress .cp-dot{background:var(--color-text-success);border-radius:50%;flex:none;width:8px;height:8px}.cp-foot{text-align:center;margin-top:1.1rem}@media (width<=480px){.cp-decide .cp-btn{flex:100%}}.gb-legendrow{flex-wrap:wrap;gap:.4rem .75rem;margin-bottom:.55rem}.gb-legend{align-items:center;gap:.75rem;display:inline-flex}.gb-key{align-items:center;gap:.3rem;display:inline-flex}.gb-sw{border-radius:3px;flex:none;width:11px;height:11px;display:inline-block}.gb-sw-done{background:var(--color-text-secondary);border:1px solid var(--color-text-secondary)}.gb-sw-todo{background:var(--color-background-secondary);border:1px solid var(--color-text-tertiary)}.gb-bar{appearance:none;box-shadow:none;transition:filter var(--transition), border-color var(--transition);line-height:1.2}.gb-bar:hover{filter:brightness(.97)}.ho .ho-intro{margin:.4rem 0 .6rem;font-size:11px;line-height:1.45}.ho .ho-state{align-items:center;gap:8px;margin-bottom:.7rem;display:flex}.ho .ho-state .lab{font-size:12px}.ho .ho-err{color:var(--color-text-danger);align-items:center;gap:6px;margin-bottom:.6rem;font-size:12px;display:flex}.ho .ho-actions{flex-wrap:wrap;gap:8px;display:flex}.ho .ho-actions .btn{min-height:40px}@media (width<=480px){.ho .ho-actions{flex-direction:column;align-items:stretch}.ho .ho-actions .btn{justify-content:center;width:100%}}.inv-money{margin-bottom:.8rem}.inv-amt{font-variant-numeric:tabular-nums}.inv-del{color:var(--color-text-danger)}.inv-sel{width:auto;min-width:96px;padding:4px 8px;font-size:12px}.inv-form-row{flex-wrap:wrap;align-items:flex-end;gap:.6rem;margin-bottom:.5rem;display:flex}.inv-fl{flex-direction:column;flex:0 auto;gap:.15rem;margin:0;display:flex}.inv-fl .field{padding:6px 9px}.inv-fl-lab{letter-spacing:.04em;font-size:10px}@media (width<=640px){.inv-fl{flex:100%}.inv-fl .field{width:100%;max-width:none!important}.inv-sel{flex:auto;min-width:0}}.login-card{flex-direction:column;display:flex}.login-brand{align-items:center;gap:.7rem;margin-bottom:1.3rem;display:flex}.login-mark{border-radius:var(--border-radius-md);background:var(--color-accent-bg);border:1px solid var(--color-accent-border);flex:none;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex}.login-mark i{color:var(--color-accent);font-size:20px}.login-word{flex-direction:column;gap:1px;min-width:0;display:flex}.login-name{letter-spacing:-.01em;color:var(--color-text-primary);font-size:19px;font-weight:600;line-height:1.1}.login-tag{font-size:12.5px;line-height:1.3}.login-form .cap{margin-bottom:.55rem}.login-form label.fl{margin-top:0}.login-send{width:100%;min-height:42px;margin-top:1rem}.login-status:empty{display:none}.login-devlink{background:var(--color-background-secondary);margin-top:1.1rem;margin-bottom:0}.login-devnote{margin:0 0 .7rem;font-size:12px;line-height:1.4}.login-open{width:100%;min-height:42px}.login-msg{align-items:flex-start;gap:.45rem;margin-top:1.1rem;font-size:13px;line-height:1.4;display:flex}.login-msg i{color:var(--color-text-success);flex:none;margin-top:1px}.login-seed{border-top:1px solid var(--color-border-tertiary);margin-top:1.3rem;padding-top:1rem}.login-seed .cap{margin-bottom:.55rem}.login-seed-btn{width:100%;min-height:40px}.login-langs{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:1.4rem;display:flex}.login-lang{min-height:28px;padding:4px 11px}.login-spin{animation:.7s linear infinite login-spin;display:inline-block}@keyframes login-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.login-spin{animation:none}}.mat-count{font-style:normal;font-family:var(--font-mono);letter-spacing:.04em;color:var(--color-accent-strong);font-size:10px}.mat-import{border-radius:var(--border-radius-md);background:var(--color-accent-bg);border:1px solid var(--color-accent-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:.7rem;padding:.45rem .6rem;display:flex}.mat-import-lab{color:var(--color-accent-strong);align-items:center;gap:.35rem;font-size:12px;display:inline-flex}.mat-import-lab i{color:var(--color-accent)}.mat-import-btn{flex:none}.mat-empty{padding:.4rem .2rem;font-size:12.5px}.mat-grp{margin-bottom:.2rem}.mat-row .row-main{flex-wrap:wrap;align-items:baseline;gap:0 .1rem;display:flex}.mat-name{font-size:13px}.mat-qty{font-size:11.5px}.mat-row .row-side{gap:.4rem}.mat-sel{width:auto;min-width:7.5rem;padding:.3rem .55rem;font-size:12px}.mat-del{color:var(--color-text-danger);flex:none}.mat-del:hover{border-color:var(--color-border-danger);background:var(--color-background-danger)}.mat-add-head{margin-top:.9rem}.mat-add{flex-direction:column;gap:.5rem;display:flex}.mat-add-name{width:100%;padding:.45rem .65rem;font-size:13px}.mat-add-meta{align-items:stretch;gap:.5rem;display:flex}.mat-add-qty{flex:none;width:4.5rem;padding:.45rem .5rem;font-size:13px}.mat-add-unit{flex:none;width:5rem;padding:.45rem .5rem;font-size:13px}.mat-add-btn{flex:auto}@media (width<=640px){.mat-sel{width:100%;min-width:0}.mat-del{width:auto}.mat-row .row-side{gap:.5rem}}@media (pointer:coarse){.mat-sel{min-height:40px}.mat-del{min-width:40px;min-height:40px}.mat-add-name,.mat-add-qty,.mat-add-unit,.mat-add-btn{min-height:40px}}.np-form .np-chips{flex-wrap:wrap;gap:.4rem;margin-bottom:.6rem;display:flex}.np-form .np-when{flex-wrap:wrap;align-items:flex-end;gap:.8rem;margin-bottom:.6rem;display:flex}.np-form .np-fld{flex-direction:column;gap:.2rem;display:flex}.np-form .np-fld .field[type=date]{padding:5px 8px}.np-form .np-who{flex-wrap:wrap;gap:8px;display:flex}.roomcard{border-top:1px solid var(--color-border-tertiary);padding:.7rem 0}.roomcard:first-of-type{border-top:none}.roomcard-hd{align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.roomcard-row{flex-wrap:wrap;align-items:center;gap:.45rem;margin-bottom:.45rem;display:flex}.roomcard-row:last-child{margin-bottom:0}.roomcard-row .subhead{color:var(--color-text-tertiary)}.chip .chip-x{color:inherit;cursor:pointer;border-radius:var(--border-radius-full);transition:color var(--transition), background var(--transition);background:0 0;border:0;justify-content:center;align-items:center;margin:-2px -4px -2px 2px;padding:2px;line-height:1;display:inline-flex}.chip .chip-x:hover{color:var(--color-text-danger);background:var(--color-background-danger)}.chip .chip-x:disabled{opacity:.5;cursor:default}.chip .chip-x i{font-size:13px}.pc{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.7rem;display:flex}.pc-seg{border:1px solid var(--color-border-secondary);border-radius:var(--border-radius-md);display:inline-flex;overflow:hidden}.pc-mode{font-size:11px;font-family:var(--font-sans);cursor:pointer;color:var(--color-text-secondary);transition:background var(--transition), color var(--transition);background:0 0;border:none;padding:5px 12px;font-weight:500}.pc-mode:hover:not(.on){background:var(--color-background-secondary);color:var(--color-text-primary)}.pc-mode.on{background:var(--color-text-primary);color:var(--color-background-primary)}.pc-pager{align-items:center;gap:.4rem;display:inline-flex}.pc-label{text-align:center;font-variant-numeric:tabular-nums;min-width:92px;font-size:12px}.pc-step{box-sizing:border-box;min-width:32px;min-height:32px}@media (width<=640px){.pc-seg{flex:auto}.pc-mode{flex:1 1 0;min-height:40px;padding:8px 10px;font-size:12px}.pc-step{min-width:40px;min-height:40px}.pc-pager{flex:100%;justify-content:center}}.pd-back{margin-bottom:.5rem}.pd-head{align-items:flex-start;margin-bottom:.8rem}.pd-id{flex:auto;min-width:0}.pd-head h2{align-items:center;gap:.5rem;min-width:0;display:flex}.pd-swatch{border-radius:var(--border-radius-sm);flex:none;width:12px;height:12px}.pd-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.pd-meta{text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:12px;overflow:hidden}.pd-head>.status{flex:none}.pd-alert{background:var(--color-background-warning);border-color:var(--color-border-warning)}.pd-alert .cap i,.pd-alert .cap span{color:var(--color-text-warning)}.pd-actions{flex-wrap:wrap;gap:.4rem;display:flex}.pd-actions .chip{background:var(--color-background-primary);font-size:12px}.pd-timeline{margin-bottom:.85rem}.pd-timeline .tlab{margin-bottom:.4rem}.pd-tiles{margin-bottom:.85rem}.pd-of{color:var(--color-text-tertiary);font-size:13px;font-weight:500}.pd-date{min-height:36px;margin-top:2px;padding:4px 7px;font-size:13px}.pd-fine{margin-top:3px;font-size:10.5px}.pd-track{align-items:center;gap:.25rem;margin-top:4px;font-size:11px;display:flex}.pd-track.good{color:var(--color-text-success)}.pd-track.bad{color:var(--color-text-danger)}.pd-quote-val{font-size:15px}.pd-prog-meta{margin-top:.5rem;font-size:11px}.pd-sched-ctl{border-top:1px solid var(--color-border-tertiary);flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:.7rem;padding-top:.7rem;display:flex}.pd-sched-ctl .btn.primary{min-height:40px}.pd-opt{align-items:center;gap:.3rem;font-size:12px;display:flex}.pd-sched-finish{font-size:12px}.pd-warn{color:var(--color-text-warning);flex-direction:column;gap:2px;margin-top:.5rem;font-size:11px;display:flex}.pd-room{margin-bottom:.7rem}.pd-room-head{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.pd-room-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.pd-room-stat{color:var(--color-text-tertiary);letter-spacing:.04em;flex:none}.pd-block{align-items:flex-start}.pd-block-name{font-size:12px}.pd-block-sub,.pd-block-when{font-size:11px}.pd-crew{flex-wrap:wrap;justify-content:flex-end;gap:.25rem}.pd-crew-chip{font-size:10px}@media (width<=640px){.pd-crew{justify-content:flex-start}}.pd-team{flex-wrap:wrap;gap:.4rem;display:flex}.pd-team-chip{align-items:center;gap:.3rem;font-size:11px;display:inline-flex}.pd-team-n{font-family:var(--font-mono);color:var(--color-text-tertiary);background:var(--color-background-secondary);border-radius:var(--border-radius-sm);padding:0 .3rem;font-size:10px}.pd-last{margin-bottom:0}.pd-saved{color:var(--color-text-success);font-size:11px}.pd-notes{resize:vertical;width:100%}.pd-quote-big{font-size:17px;font-weight:600}.pd-empty{font-size:12px}.pd-change{align-items:flex-start}.pd-change-body{font-size:12px}.pd-change-meta{margin-top:1px;font-size:10px}.pd-change-target{color:var(--color-text-secondary);font-weight:500}.pd-deltas{flex-wrap:wrap;gap:.4rem;margin-top:.3rem;display:flex}.pd-delta{font-size:10.5px;font-weight:600;font-family:var(--font-mono)}.pd-delta.up{color:var(--color-text-danger)}.pd-delta.down{color:var(--color-text-success)}.pd-inv-num,.pd-inv-amt{font-size:12px}.rsel{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.rsel-seg{flex-wrap:wrap;gap:.3rem;display:inline-flex}.rsel-chip{cursor:pointer;background:0 0;font-weight:500}.rsel-chip:hover{border-color:var(--color-border-secondary);color:var(--color-text-primary)}.rsel-chip.sel:hover{border-color:var(--color-accent-border);color:var(--color-accent-strong)}.rsel-input{width:auto;padding:4px 8px;font-size:12px}.rsel-custom{align-items:center;gap:.35rem;display:inline-flex}.rsel-arrow{color:var(--color-text-tertiary);font-size:13px}@media (width<=640px){.rsel-seg{width:100%}.rsel-chip{min-height:40px;padding:0 14px;font-size:12px}.rsel-custom{width:100%}.rsel-input{flex:1;min-width:0;min-height:40px}}.rep .rep-intro{margin-bottom:.9rem;font-size:11px}.rep .rep-of{color:var(--color-text-tertiary);font-size:13px;font-weight:500}.rep .rep-tval-text{letter-spacing:0;word-break:break-word;font-size:13px;font-weight:500;line-height:1.25}.rep .rep-projs{flex-wrap:wrap;gap:8px;display:flex}.rep .rep-proj{cursor:pointer;border-radius:var(--border-radius-md);border:1px solid var(--color-border-secondary);min-height:32px;font-size:12px;font-family:var(--font-sans);transition:opacity var(--transition), border-color var(--transition), background var(--transition);align-items:center;gap:6px;padding:4px 11px;display:inline-flex}.rep .rep-proj:hover{opacity:1}.rep .rep-swatch{border-radius:3px;flex:none;width:10px;height:10px;display:inline-block}.rep .rep-controls{flex-wrap:wrap;align-items:flex-end;gap:1.1rem 1.4rem;display:flex}.rep .rep-basis,.rep .rep-range{flex-direction:column;gap:.35rem;display:flex}.rep .rep-basis .subhead,.rep .rep-range .subhead{margin:0}.rep .rep-seg{border:1px solid var(--color-border-secondary);border-radius:var(--border-radius-md);width:fit-content;display:inline-flex;overflow:hidden}.rep .rep-seg-btn{cursor:pointer;font-size:11px;font-family:var(--font-sans);color:var(--color-text-secondary);transition:background var(--transition), color var(--transition);background:0 0;border:none;padding:5px 12px}.rep .rep-seg-btn.on{background:var(--color-text-primary);color:var(--color-background-primary);font-weight:500}.rep .rep-err .lab{color:var(--color-text-danger);align-items:center;gap:.35rem;font-size:12px;display:flex}.rep .rep-last{margin-bottom:0}.rep .rep-hint{margin-bottom:.5rem;font-size:11px}.rep .rep-row{border-top:1px solid var(--color-border-tertiary);align-items:flex-start;gap:.7rem;padding:.65rem .3rem;display:flex}.rep .rep-row:first-of-type{border-top:none}.rep .rep-check{border:1px solid var(--color-border-secondary);border-radius:var(--border-radius-sm);background:var(--color-background-primary);color:#0000;cursor:pointer;width:26px;height:26px;box-shadow:var(--shadow-xs);transition:background var(--transition), border-color var(--transition), color var(--transition);flex:none;justify-content:center;align-items:center;margin-top:1px;padding:0;display:inline-flex}.rep .rep-check:hover{border-color:var(--color-border-primary)}.rep .rep-check.on{background:var(--color-text-primary);border-color:var(--color-text-primary);color:var(--color-background-primary)}.rep .rep-check i{font-size:15px}.rep .rep-row-main{flex:1;min-width:0}.rep .rep-row-title{align-items:center;gap:.4rem;display:inline-flex}.rep .rep-row-icon{color:var(--color-text-tertiary);font-size:15px}.rep .rep-row-desc{margin-top:.1rem;font-size:11px}.rep .rep-row-export{flex:none}@media (width<=640px){.rep .rep-controls{gap:1rem}.rep .rep-basis,.rep .rep-range{width:100%}.rep .rep-row{flex-wrap:wrap}.rep .rep-row-export{min-height:40px;margin-left:36px;padding:0 14px}.rep .rep-check{width:28px;height:28px}}.sched-summary{margin-bottom:.75rem}.sched-board{overflow-x:auto}.sched-grid{display:grid}.sched-lane{border-top:1px solid var(--color-border-tertiary);min-height:34px}.sched-stick{z-index:2;background:var(--color-background-primary);position:sticky;left:0}.sched-lane .sched-stick,.sched-stick-head{background:var(--color-background-primary)}.sched-bar{z-index:1;text-align:left;background:var(--color-background-info);border:1px solid var(--color-border-info);width:100%;color:var(--color-text-info);border-radius:var(--border-radius-md);font:500 11px var(--font-sans);white-space:nowrap;text-overflow:ellipsis;cursor:pointer;box-shadow:var(--shadow-xs);transition:box-shadow var(--transition), transform var(--transition);grid-row:1;margin:3px 1px;padding:3px 6px;display:block;overflow:hidden}.sched-bar:hover{box-shadow:var(--shadow-sm);transform:translateY(-.5px)}.sched-bar:active{transform:translateY(.5px)}.sched-listrow{text-align:left;width:100%;font:inherit;background:0 0;align-items:center;min-height:44px}.sched-listrow:focus-visible{outline-offset:-2px}.sb-head{margin-bottom:.9rem}.sb-title{color:var(--color-text-primary);margin:0 0 .2rem;font-size:20px;font-weight:500}.sb-sub{margin:0;font-size:13px}.sb-region{border-width:1px;min-width:0;margin-inline:0}.sb-region>.cap{margin-bottom:.2rem}.sb-req{font:600 9px var(--font-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--color-text-tertiary);margin-left:auto}.sb-hint{margin:0 0 .6rem;font-size:12px}.sb-chips{flex-wrap:wrap;gap:.45rem;display:flex}.sb-chip{gap:.35rem;min-height:40px;padding:0 .8rem;font-size:13px;line-height:1.1}.sb-chip .ti{font-size:15px}.sb-chip.sb-cap{text-transform:capitalize}.sb-dates{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}.sb-date{min-width:0}.sb-date .field,.sb-region .field{min-height:40px}.sb-foot{margin-top:.4rem}.sb-err{color:var(--color-text-danger);align-items:center;gap:.4rem;margin:0 0 .6rem;display:flex}.sb-send{width:100%;min-height:44px;font-size:14px}.sb-send .ti{font-size:16px}.sb-need{text-align:center;margin:.5rem 0 0;font-size:12px}.sb-spin{animation:.8s linear infinite sb-rot;display:inline-block}@keyframes sb-rot{to{transform:rotate(360deg)}}.sb-done{text-align:center}.sb-done-mark{color:var(--color-text-success);font-size:38px;line-height:1;display:inline-flex}.sb-done-h{color:var(--color-text-primary);margin:.5rem 0 .4rem;font-size:20px;font-weight:500}.sb-done-p{margin:0;font-size:13px}@media (width<=480px){.sb-dates{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.sb-spin{animation:none}}.set{box-sizing:border-box;width:100%}.set-blurb{margin-bottom:.8rem;font-size:12px}.set-acct-note{margin-top:.7rem;font-size:11px}.set-input{margin-bottom:.1rem}.set-input-last{margin-bottom:0}.set-hint{margin:3px 0 2px;font-size:11px}.set-hint-top{margin:0 0 8px}.set-langs{flex-wrap:wrap;gap:8px;display:flex}.set .set-lang{min-height:40px;padding:0 14px;font-size:13px}.set-save{flex-wrap:wrap;align-items:center;gap:12px;margin-top:.1rem;display:flex}.set-save .btn{min-height:40px}.set-msg{align-items:center;gap:.3rem;font-size:12px;display:inline-flex}@media (width<=640px){.set{max-width:100%}.set-langs{gap:6px}}.tsk .topbar{margin-bottom:.35rem}.tsk-taskrow{align-items:center}.tsk-taskrow .row-main{flex-direction:column;gap:.35rem;display:flex}.tsk-taskhead{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.tsk-count{font-family:var(--font-mono);letter-spacing:.04em;font-size:10px}.tsk-count i{color:var(--color-accent);font-size:12px}.tsk-seq{flex-wrap:wrap;gap:.35rem;display:flex}.tsk-pill{color:var(--color-text-secondary);background:var(--color-background-secondary);border:1px solid var(--color-border-tertiary);border-radius:var(--border-radius-full);align-items:center;gap:.35rem;padding:2px 9px 2px 3px;font-size:12px;line-height:1.4;display:inline-flex}.tsk-pill-n{min-width:17px;height:17px;font-family:var(--font-mono);color:var(--color-accent-strong);background:var(--color-accent-bg);border-radius:var(--border-radius-full);justify-content:center;align-items:center;padding:0 4px;font-size:9.5px;font-weight:600;display:inline-flex}.tsk-go{color:var(--color-text-tertiary);font-size:18px}.tsk-editor{background:var(--color-background-secondary)}.tsk-editor .subhead{margin-top:1rem}.tsk-editor .field{background:var(--color-background-primary)}.tsk-empty{padding:.3rem .2rem .1rem;font-size:12px}.tsk-seqlist,.tsk-library{margin-bottom:.2rem}.tsk-seqrow,.tsk-librow{align-items:center}.tsk-seqmain{flex-wrap:wrap;align-items:center;gap:.5rem;min-width:0;display:flex}.tsk-stepno{min-width:22px;height:22px;font-family:var(--font-mono);color:var(--color-text-secondary);background:var(--color-background-tertiary);border-radius:var(--border-radius-full);flex:none;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:inline-flex}.tsk-trade{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;font-size:10px}.tsk-ctrls{gap:.3rem}.tsk-iconbtn{min-width:40px;min-height:40px;padding:0;line-height:1}.tsk-iconbtn i{font-size:16px}.tsk-remove:not(:disabled):hover,.tsk-delete:not(:disabled):hover{color:var(--color-text-danger);border-color:var(--color-border-danger);background:var(--color-background-danger)}.tsk-addbtn:not(:disabled):hover{color:var(--color-accent-strong);border-color:var(--color-accent-border);background:var(--color-accent-bg)}.tsk-delete{color:var(--color-text-danger);margin-left:auto}.tsk-actions{flex-wrap:wrap;gap:8px;margin-top:1rem;display:flex}@media (width<=640px){.tsk-ctrls{justify-content:flex-end}.tsk-actions .tsk-delete{flex:100%;margin-left:0}}.wp-head{margin-bottom:1rem}.wp-name{color:var(--color-text-primary);margin:0;font-size:20px;font-weight:600;line-height:1.2}.wp-sub{color:var(--color-text-tertiary);margin:.3rem 0 0;font-size:13px}.wp-sub-done{color:var(--color-text-success)}.wp-job{margin-bottom:.7rem}.wp-job-cap{margin-bottom:.65rem}.wp-task{color:var(--color-text-primary);margin:0 0 .55rem;font-size:14px;font-weight:600;line-height:1.3}.wp-task .lab{font-weight:400}.wp-meta{color:var(--color-text-secondary);align-items:center;gap:.45rem;margin:0 0 .35rem;font-size:13px;display:flex}.wp-meta>i{color:var(--color-text-tertiary);flex:none}.wp-map{min-height:44px;color:var(--color-text-info);text-decoration:none}.wp-map>i{color:var(--color-text-info)}.wp-map .wp-map-addr{word-break:break-word;min-width:0;text-decoration:underline}.wp-bring{border-top:1px solid var(--color-border-tertiary);margin-top:.7rem;padding-top:.7rem}.wp-bring .subhead{align-items:center;gap:.35rem;margin:0 0 .35rem;display:flex}.wp-bring-list{flex-direction:column;gap:.2rem;margin:0;padding:0;list-style:none;display:flex}.wp-bring-list li{color:var(--color-text-secondary);padding-left:.9rem;font-size:13px;position:relative}.wp-bring-list li:before{content:"•";color:var(--color-text-tertiary);position:absolute;left:.1rem}.wp-mat-name{color:var(--color-text-primary)}.wp-done-btn{width:100%;min-height:44px;margin-top:.85rem}.wp-job.is-done .wp-task,.wp-job.is-done .wp-meta,.wp-job.is-done .wp-bring{opacity:.62}.wp-foot{color:var(--color-text-tertiary);text-align:center;margin:1.25rem 0 0;font-size:11px}.cp-status{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.cp-invalid-icon{color:var(--color-text-danger);font-size:28px}.gb-bar:focus-visible{outline-offset:-2px}
