@font-face{font-family:rubik;src:url(../media/Rubik_wght-s.p.3xc6e4mgb1ra6.woff2)format("woff2");font-display:swap;font-weight:400 700;font-style:normal}@font-face{font-family:rubik Fallback;src:local(Arial);ascent-override:91.09%;descent-override:24.36%;line-gap-override:0.0%;size-adjust:102.64%}.rubik_a3a81ed1-module__6CQK_W__className{font-family:rubik,rubik Fallback;font-style:normal}.rubik_a3a81ed1-module__6CQK_W__variable{--font-rubik:"rubik", "rubik Fallback"}
@font-face{font-family:assistant;src:url(../media/Assistant_wght-s.p.2fxrbsh10xuoo.woff2)format("woff2");font-display:swap;font-weight:400 700;font-style:normal}@font-face{font-family:assistant Fallback;src:local(Arial);ascent-override:114.19%;descent-override:32.1%;line-gap-override:0.0%;size-adjust:89.41%}.assistant_125a9ce6-module__ZBegBa__className{font-family:assistant,assistant Fallback;font-style:normal}.assistant_125a9ce6-module__ZBegBa__variable{--font-assistant:"assistant", "assistant Fallback"}
@font-face{font-family:plexMono;src:url(../media/IBMPlexMono_Regular-s.p.029aovhsb-bkk.woff2)format("woff2");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:plexMono;src:url(../media/IBMPlexMono_Medium-s.p.1hzjk_5dy-krs.woff2)format("woff2");font-display:swap;font-weight:500;font-style:normal}@font-face{font-family:plexMono Fallback;src:local(Arial);ascent-override:77.95%;descent-override:20.91%;line-gap-override:0.0%;size-adjust:131.49%}.plexmono_845568e4-module__DCy8rq__className{font-family:plexMono,plexMono Fallback}.plexmono_845568e4-module__DCy8rq__variable{--font-plex-mono:"plexMono", "plexMono Fallback"}
@font-face{font-family:plusJakarta;src:url(../media/PlusJakartaSans_SemiBold-s.p.17vyv5vm3hgi4.woff2)format("woff2");font-display:swap;font-weight:600;font-style:normal}@font-face{font-family:plusJakarta Fallback;src:local(Arial);ascent-override:95.92%;descent-override:20.51%;line-gap-override:0.0%;size-adjust:108.22%}.plusjakarta_adf2bfa-module__QqlJva__className{font-family:plusJakarta,plusJakarta Fallback;font-style:normal;font-weight:600}.plusjakarta_adf2bfa-module__QqlJva__variable{--font-plus-jakarta:"plusJakarta", "plusJakarta Fallback"}
:root{--font-display:var(--font-rubik),"Rubik",-apple-system,sans-serif;--font-body:var(--font-assistant),"Assistant",-apple-system,sans-serif;--font-mono:var(--font-plex-mono),"IBM Plex Mono",ui-monospace,monospace;--font-heading:var(--font-plus-jakarta),"Plus Jakarta Sans",var(--font-rubik),"Rubik",-apple-system,sans-serif;--weight-heading:600;--tracking-heading:normal;--text-2xl:32px;--text-xl:24px;--text-lg:19px;--text-md:16px;--text-base:15px;--text-sm:13px;--text-xs:11px;--leading-tight:1.2;--leading-normal:1.5;--leading-relaxed:1.65;--tracking-label:.08em;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700}
:root{--color-charcoal:#17191c;--color-ink:#191919;--color-warm-bg:#f7f6f3;--color-surface:#fff;--color-border:#e6e3dd;--color-text-secondary:#6d6c68;--color-orange-500:#e35812;--color-orange-600:#c6480b;--color-orange-700:#bb480e;--color-orange-800:#9e3d0c;--color-orange-050:#fdf0e7;--color-orange-100:#fbdfcb;--color-cobalt:#4169e1;--color-cobalt-050:#edf1fc;--color-violet:#7657d6;--color-violet-050:#f2eefb;--color-emerald:#31916b;--color-emerald-050:#e9f5ef;--color-amber:#d6942a;--color-amber-050:#fbf1e3;--color-coral:#cf665c;--color-coral-050:#fbecea;--text-primary:var(--color-ink);--text-secondary:var(--color-text-secondary);--text-on-dark:#f7f6f3;--text-on-accent:#fff;--surface-page:var(--color-warm-bg);--surface-card:var(--color-surface);--surface-nav:var(--color-charcoal);--surface-accent:var(--color-orange-700);--surface-accent-hover:var(--color-orange-800);--border-default:var(--color-border);--border-strong:#d3cfc6;--brand-orange:var(--color-orange-500);--brand-ink:#221f20;--accent-primary:var(--color-orange-700);--accent-primary-hover:var(--color-orange-800);--accent-info:var(--color-cobalt);--accent-info-bg:var(--color-cobalt-050);--accent-review:var(--color-violet);--accent-review-bg:var(--color-violet-050);--accent-approved:var(--color-emerald);--accent-approved-bg:var(--color-emerald-050);--accent-scheduling:var(--color-amber);--accent-scheduling-bg:var(--color-amber-050);--accent-changes:var(--color-coral);--accent-changes-bg:var(--color-coral-050);--surface-app:#fff;--surface-chrome:#fcfcfb;--surface-hover:#f5f4f2;--surface-inset:#f4f3f1;--border-subtle:#f0efec;--text-tertiary:#76736e;--text-quiet:#b5b2ab;--color-coral-600:#bc5045;--color-emerald-600:#2a7d5c;--team-red:var(--color-coral-600);--team-orange:var(--color-orange-600);--team-green:var(--color-emerald-600);--team-ink:var(--color-charcoal);--team-neutral:var(--text-tertiary);--surface-message:#fdf6f1;--border-message:#f3e3d8;--rule-message:#efd9cb;--text-secondary-strong:#55544f}
:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-full:999px;--shadow-xs:0 1px 2px #17191c0f;--shadow-sm:0 1px 2px #17191c0d,0 2px 6px #17191c0f;--shadow-md:0 2px 4px #17191c0f,0 8px 20px #17191c14;--border-width:1px;--container-max:1440px}
*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--surface-page);color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-base);-webkit-font-smoothing:antialiased}a{color:var(--accent-primary);text-decoration:none}a:hover{color:var(--accent-primary-hover)}.label{font-family:var(--font-display);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--text-primary);font-weight:600}.h1{font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:var(--weight-heading);letter-spacing:var(--tracking-heading);margin:0;line-height:1.12}.meta{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-xs);letter-spacing:.04em;color:var(--text-secondary)}.dash{color:var(--border-strong)}.disp{font-family:var(--font-display);letter-spacing:-.025em;font-variant-numeric:tabular-nums;font-weight:500;line-height:1}.rule{background:var(--border-default);height:1px;position:relative}.rule:after{content:"";background:var(--accent-primary);width:26px;height:1px;position:absolute;top:0;left:0}.mk{flex-shrink:0;width:4px;height:4px;display:inline-block}.qbtn{font-family:var(--font-body);color:var(--text-primary);background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;align-items:center;gap:8px;padding:7px 13px;font-size:12px;font-weight:600;transition:border-color .16s ease-out,background .16s ease-out;display:inline-flex}.qbtn.lg{padding:9px 16px;font-size:13px}.qbtn:hover{border-color:var(--border-strong);background:var(--color-warm-bg)}.qbtn:active{transform:scale(.98)}.qbtn:disabled{opacity:.45;cursor:default}.qbtn:disabled:hover{border-color:var(--border-default);background:var(--surface-card)}.qbtn.pri:disabled:hover{background:var(--accent-primary);border-color:var(--accent-primary)}.qbtn.pri{color:var(--text-on-accent);background:var(--accent-primary);border-color:var(--accent-primary)}.qbtn.pri:hover{background:var(--accent-primary-hover);border-color:var(--accent-primary-hover)}.colh{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary);font-size:11px}.srch{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-sm);width:262px;color:var(--text-secondary);align-items:center;gap:9px;padding:9px 12px;display:flex}.srch input{font-family:var(--font-body);font-size:var(--text-base);color:var(--text-primary);background:0 0;border:none;outline:none;width:100%}.srch input::placeholder{color:var(--text-secondary)}.srch:focus-within{border-color:var(--accent-primary)}.ctl{white-space:nowrap;border:1px solid var(--border-default);border-radius:var(--radius-sm);cursor:pointer;background:var(--surface-card);color:var(--text-primary);font-size:13px;font-weight:500;font-family:var(--font-body);align-items:center;gap:8px;padding:9px 12px;transition:border-color .16s ease-out;display:inline-flex}.ctl:hover{border-color:var(--border-strong)}.ctl svg{color:var(--border-strong)}.pnote{color:var(--text-secondary);opacity:.85;max-width:76ch;font-size:12px;line-height:1.55}.fin{font-family:var(--font-body);color:var(--text-primary);background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:8px 10px;font-size:13px;transition:border-color .16s ease-out}.fin:hover:not(:disabled){border-color:var(--border-strong)}.fin:focus{border-color:var(--accent-primary);outline:none}.fin:disabled{background:var(--color-warm-bg);color:var(--text-secondary);cursor:not-allowed}textarea.fin{resize:vertical;line-height:1.5}.flab{margin-bottom:6px;font-size:11px}.fld{flex-direction:column;gap:5px;min-width:0;display:flex}.fld .flab{margin-bottom:0}.addlink{color:var(--text-secondary);font-size:12px;font-weight:600;font-family:var(--font-body);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:0;transition:color .16s ease-out;display:inline-flex}.addlink:hover{color:var(--accent-primary)}.editl{color:var(--text-secondary);cursor:pointer;font-size:12px;font-weight:600;font-family:var(--font-body);background:0 0;border:none;padding:0}.editl:hover{color:var(--accent-primary)}.itag{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);background:var(--color-warm-bg);border:1px solid var(--border-default);border-radius:2px;align-items:center;gap:4px;padding:2px 6px 2px 5px;font-size:11px;display:inline-flex}.ferr{color:var(--accent-changes);font-size:12px;line-height:1.5}:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px;border-radius:var(--radius-sm)}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}.datefield,.timefield{position:relative}.dateinput{display:block;position:relative}.dateinput .fin,.dateinput .inp{width:100%;padding-right:34px}.datebtn{width:26px;height:26px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;transition:color .16s ease-out,background .16s ease-out;display:inline-flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.datebtn:hover{color:var(--text-primary);background:var(--color-warm-bg)}.timetrigger{cursor:pointer;text-align:left;width:100%;color:var(--text-primary);justify-content:space-between;align-items:center;gap:10px;display:flex}.timeph{color:var(--text-secondary)}.datepop,.timepop{z-index:70;background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:12px;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 1px 1px #17191c0f,0 10px 26px #17191c1f}.datepop{width:268px}.datehead{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.datenav{border:1px solid var(--border-default);background:var(--surface-card);border-radius:var(--radius-sm);width:28px;height:28px;color:var(--text-secondary);cursor:pointer;justify-content:center;align-items:center;transition:border-color .16s ease-out,color .16s ease-out;display:inline-flex}.datenav:hover{border-color:var(--border-strong);color:var(--text-primary)}.datemonth{font-family:var(--font-display);letter-spacing:-.01em;font-size:13px;font-weight:500}.dateweek,.dategrid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.dateweek{margin-bottom:4px}.dateweek span{text-align:center;font-family:var(--font-mono);letter-spacing:.08em;color:var(--text-secondary);font-size:11px}.dategrid:focus-visible{outline:2px solid var(--accent-primary);outline-offset:3px}.dateday{border-radius:var(--radius-sm);height:30px;font-family:var(--font-body);color:var(--text-primary);cursor:pointer;font-variant-numeric:tabular-nums;background:0 0;border:none;font-size:12px;transition:background .12s ease-out,color .12s ease-out}.dateday:hover{background:var(--color-warm-bg)}.dateday.out{color:var(--border-strong)}.dateday.today{box-shadow:inset 0 0 0 1px var(--border-strong)}.dateday.on{background:var(--accent-primary);color:var(--text-on-accent)}.datefoot{border-top:1px solid var(--border-default);align-items:center;gap:16px;margin-top:10px;padding-top:10px;display:flex}.timepop{width:232px}.timecols{grid-template-columns:1fr 1fr;gap:8px;display:grid}.timecol{flex-direction:column;gap:2px;max-height:208px;padding-right:2px;display:flex;overflow-y:auto}.timeopt{border-radius:var(--radius-sm);font-family:var(--font-body);color:var(--text-primary);cursor:pointer;text-align:left;font-variant-numeric:tabular-nums;background:0 0;border:none;padding:6px 8px;font-size:12px;transition:background .12s ease-out,color .12s ease-out}.timeopt:hover{background:var(--color-warm-bg)}.timeopt.on{background:var(--accent-primary);color:var(--text-on-accent)}.draggable{transition:opacity .12s ease-out,box-shadow .12s ease-out}.draggable.dragging{opacity:.45}.draggable.dropinto{box-shadow:inset 0 2px 0 var(--accent-primary)}.dhandle{width:22px;height:24px;color:var(--border-strong);cursor:grab;background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;padding:0;transition:color .16s ease-out,background .16s ease-out;display:inline-flex}.dhandle:hover{color:var(--text-primary);background:var(--color-warm-bg)}.dhandle:active{cursor:grabbing}.projdesc-plain p{margin:0 0 .8em}.projdesc-plain p:last-child{margin-bottom:0}.projdesc-plain ul,.projdesc-plain ol{margin:0 0 .8em;padding-left:1.3em}.projdesc-plain a{color:var(--accent-primary)}.stbadge{color:var(--text-secondary);white-space:nowrap;flex-shrink:0;align-items:center;gap:7px;font-size:12px;display:inline-flex}.stbadge>i{background:var(--text-secondary);border-radius:50%;flex-shrink:0;width:6px;height:6px}.stbadge.pill{color:var(--text-primary);border:1px solid var(--border-default);border-radius:999px;padding:4px 12px 4px 10px;font-size:13px}.editpanel{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-card);margin-top:16px;padding:18px}.editpanel.nested{background:var(--color-warm-bg);padding:14px}
