:root{--tt-orange-red:#da5846;--tt-orange-red-hover:#c34a3a;--tt-orange-red-active:#a83d2f;--tt-yellow:#ffd05a;--tt-blue:#04aed8;--tt-blue-hover:#0397bc;--tt-light-blue:#bcecf6;--tt-secondary-orange:#f8ad42;--tt-purple:#cb80c1;--tt-brown:#3f3939;--tt-brown-light:#5a5252;--tt-green:#afc856;--tt-green-dark:#6a9a1e;--color-primary:var(--tt-orange-red);--color-primary-hover:var(--tt-orange-red-hover);--color-primary-active:var(--tt-orange-red-active);--color-primary-bg:#da584614;--color-primary-bg-hover:#da584624;--color-primary-border:#da58464d;--color-primary-fg:#fff;--color-accent:var(--tt-blue);--color-accent-hover:var(--tt-blue-hover);--color-accent-bg:#04aed814;--color-accent-bg-hover:#04aed824;--color-accent-border:#04aed84d;--color-accent-fg:#fff;--color-success:var(--tt-green-dark);--color-success-bg:#afc85633;--color-success-border:#afc85666;--color-warning:#c07a10;--color-warning-bg:#f8ad4226;--color-warning-border:#f8ad4259;--color-danger:var(--tt-orange-red);--color-danger-bg:#da58461a;--color-danger-border:#da58464d;--color-info:var(--tt-blue);--color-info-bg:#04aed814;--color-info-border:#04aed84d;--surface-page:#f7fbfc;--surface-panel:#ffffffeb;--surface-panel-solid:#fff;--surface-muted:#f5f5f5;--surface-subtle:#fafafa;--surface-dark:var(--tt-brown);--surface-overlay:#3f393980;--color-text:#3f3939;--color-text-strong:#2a2626;--color-text-muted:#6b6565;--color-text-subtle:#908989;--color-text-disabled:#3f393961;--color-text-on-primary:#fff;--color-text-on-dark:#fff;--color-text-link:var(--tt-blue);--color-text-link-hover:var(--tt-blue-hover);--color-border:#3f39391f;--color-border-subtle:#3f393914;--color-border-strong:#3f393933;--color-border-accent:#04aed826;--color-border-focus:var(--tt-blue);--font-family-base:var(--font-poppins,"Poppins"),var(--font-nunito,"Nunito Sans"),system-ui,-apple-system,sans-serif;--font-family-heading:var(--font-poppins,"Poppins"),system-ui,-apple-system,sans-serif;--font-family-mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;--font-size-xs:.75rem;--font-size-sm:.8125rem;--font-size-base:.9375rem;--font-size-md:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.2;--line-height-snug:1.35;--line-height-base:1.55;--line-height-relaxed:1.7;--letter-spacing-tight:-.01em;--letter-spacing-base:0;--letter-spacing-wide:.06em;--letter-spacing-wider:.12em;--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:28px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--radius-none:0;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--radius-pill:9999px;--shadow-xs:0 1px 2px #3f39390a;--shadow-sm:0 2px 4px #3f39390f;--shadow-md:0 4px 12px #3f393914;--shadow-lg:0 12px 28px #3f39391a;--shadow-xl:0 18px 40px #3f39391a;--shadow-focus:0 0 0 3px #04aed840;--shadow-focus-danger:0 0 0 3px #da584640;--motion-fast:.12s cubic-bezier(.4,0,.2,1);--motion-base:.2s cubic-bezier(.4,0,.2,1);--motion-slow:.32s cubic-bezier(.4,0,.2,1);--z-base:1;--z-raised:10;--z-sticky:100;--z-overlay:1000;--z-modal:1100;--z-toast:1200;--bg:var(--surface-page);--panel:var(--surface-panel);--panel-border:var(--color-border-accent);--text:var(--color-text);--muted:var(--color-text-muted);--foreground:var(--color-text);--accent:var(--color-primary);--accent-dark:var(--color-primary-hover);--success:var(--color-success);--danger:var(--color-danger);--border:var(--color-border);--surface-bg:var(--surface-page);--card-bg:var(--surface-panel-solid);--shadow:var(--shadow-xl);--radius:var(--radius-xl);--d1-bg:#fafaf7;--d1-surface:#fff;--d1-surface-alt:#f4f3ef;--d1-border:#3f39391a;--d1-border-strong:#3f393929;--d1-text:#2a2626;--d1-text-muted:#6b6565;--d1-text-subtle:#908989;--d1-brand:#da5846;--d1-brand-bg:#fff2ef;--d1-brown:#3f3939;--d1-yellow:#ffd05a;--d1-blue:#04aed8;--d1-blue-bg:#e6f7fc;--d1-blue-fg:#0370a0;--d1-amber:#b86e0b;--d1-amber-bg:#fff5e1;--d1-green:#5b8a1a;--d1-green-bg:#f0f6dc;--d1-red:#c5402f;--d1-red-bg:#fbeeec;--d1-stage-proposal:var(--d1-amber);--d1-stage-proposal-bg:var(--d1-amber-bg);--d1-stage-planning:var(--d1-blue);--d1-stage-planning-bg:var(--d1-blue-bg);--d1-stage-planning-fg:var(--d1-blue-fg);--d1-stage-day-of:var(--d1-red);--d1-stage-day-of-bg:var(--d1-red-bg);--d1-stage-closeout:var(--d1-green);--d1-stage-closeout-bg:var(--d1-green-bg);--d1-font:var(--font-inter,"Inter"),-apple-system,BlinkMacSystemFont,system-ui,sans-serif;--d1-font-brand:var(--font-poppins,"Poppins"),var(--font-inter,"Inter"),system-ui,sans-serif;--d1-radius-card:8px;--d1-radius-input:6px;--d1-radius-pill:6px}*{box-sizing:border-box}html{background:var(--d1-bg)}body{min-height:100vh;color:var(--d1-text);background:var(--d1-bg);font-family:var(--d1-font);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;margin:0;font-size:14px;line-height:1.5}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}.app-shell{grid-template-columns:260px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{padding:var(--space-6)var(--space-4);background:var(--tt-brown);color:var(--color-text-on-dark);gap:var(--space-6);flex-direction:column;display:flex}.sidebar-header{gap:var(--space-1);padding:0 var(--space-3);display:grid}.sidebar-brand-link{color:inherit;text-decoration:none;display:block}.sidebar-brand{color:var(--tt-yellow);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);margin:0}.sidebar-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-tight);margin:0}.content{padding:var(--space-8);background:var(--surface-page)}.nav{gap:var(--space-5);flex:1;display:grid}.nav-section{gap:2px;display:grid}.nav-section-label{margin:0 0 var(--space-2);padding:0 var(--space-3);color:#ffffff73;text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);font-size:.68rem;font-weight:var(--font-weight-bold)}.nav-link{justify-content:space-between;align-items:center;gap:var(--space-2);padding:9px var(--space-3);border-radius:var(--radius-md);color:#ffffffd1;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:background var(--motion-fast),color var(--motion-fast);background:0 0;text-decoration:none;display:flex}.nav-link:hover{color:#fff;background:#ffffff14}.nav-link:focus-visible{outline-offset:2px;outline:2px solid #04aed899}.nav-link-active{color:#fff;font-weight:var(--font-weight-semibold);box-shadow:inset 3px 0 0 var(--tt-orange-red);background:#da584638}.nav-link-active:hover{background:#da58464d}.nav-link-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.nav-link-badge{border-radius:var(--radius-pill);background:var(--tt-orange-red);color:#fff;min-width:20px;font-size:.7rem;font-weight:var(--font-weight-bold);justify-content:center;align-items:center;padding:1px 7px;line-height:1.2;display:inline-flex}.nav-link-dev{font-size:var(--font-size-xs);color:#fff9;font-style:italic}.nav-dev-label{color:#ffd05a8c}.panel{background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:24px}.hero{gap:10px;display:grid}.grid{gap:18px;display:grid}.two-up{grid-template-columns:repeat(2,minmax(0,1fr))}.three-up{grid-template-columns:repeat(3,minmax(0,1fr))}.four-up{grid-template-columns:repeat(4,minmax(0,1fr))}.stack-lg{gap:24px;display:grid}.stack-md{gap:16px;display:grid}.row{display:flex}.spread{justify-content:space-between}.align-start{align-items:flex-start}.gap-sm{gap:12px}.eyebrow{color:var(--tt-yellow);text-transform:uppercase;letter-spacing:.12em;margin:0 0 6px;font-size:.72rem;font-weight:700}.muted{color:var(--muted)}.metric{margin:0;font-size:2rem}.field{gap:8px;display:grid}.field input,.field textarea{background:#ffffffeb;border:1px solid #3f393933;border-radius:6px;width:100%;padding:12px 14px}.button{border:2px solid var(--tt-orange-red);background:var(--tt-orange-red);color:#fff;border-radius:999px;width:fit-content;padding:12px 18px;transition:background .15s,color .15s}.button:hover{color:var(--tt-orange-red);background:#fff}.button:disabled{opacity:.6;cursor:wait}.button-secondary{color:var(--tt-blue);background:#04aed81f}.button-secondary:hover{background:#04aed838}.badge{letter-spacing:.1px;border-radius:4px;width:fit-content;padding:2px 8px;font-size:11px;font-weight:500;line-height:1.5;display:inline-block}.badge-pending,.badge-proposal{background:var(--d1-amber-bg);color:var(--d1-amber)}.badge-planning,.badge-todo{background:var(--d1-blue-bg);color:var(--d1-blue-fg)}.badge-approved,.badge-ready,.badge-done,.badge-closeout{background:var(--d1-green-bg);color:var(--d1-green)}.badge-rejected{background:var(--d1-red-bg);color:var(--d1-red)}.badge-neutral{background:var(--d1-surface-alt);color:var(--d1-text-muted)}.empty-state{border-radius:var(--radius);background:#ffffff8c;border:1px dashed #04aed84d;gap:10px;padding:28px;display:grid}.list{gap:12px;display:grid}.list-item{background:#ffffffb3;border:1px solid #3f39391f;border-radius:18px;padding:16px 18px;transition:border-color .15s,box-shadow .15s}.list-item:hover{border-color:#04aed84d;box-shadow:0 2px 8px #04aed814}.task-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.task-toggle{align-items:center;gap:8px;display:inline-flex}.table-wrap{-webkit-overflow-scrolling:touch;border-radius:var(--radius-md);overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:.9rem}.table th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid #3f39391f;padding:10px 14px;font-size:.75rem;font-weight:700}.table td{vertical-align:top;border-bottom:1px solid #3f39390f;padding:14px}.table tbody tr:hover{background:#04aed80a}.table-link{color:var(--text);font-weight:600}.table-link:hover{color:var(--tt-blue)}.table-sub{margin-top:2px;font-size:.8rem;display:block}.form-section{border:none;gap:14px;margin:0;padding:0;display:grid}.form-section-label{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;padding:0;font-size:.72rem;font-weight:700}.proposal-form{flex-direction:column;min-height:calc(100vh - 64px);display:flex}.proposal-form-body{background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);flex:1;padding:24px}.form-footer{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--panel-border);background:#fffffff2;justify-content:flex-end;padding:16px 24px;display:flex;position:sticky;bottom:0}.form-error{color:var(--danger);margin:0}.loading-card,.error-card{place-items:center;gap:12px;padding:48px;display:grid}.kpi-card{background:var(--panel);border:1px solid var(--panel-border);border-left:4px solid var(--tt-blue);border-radius:16px;padding:20px}.kpi-pending{border-left-color:var(--tt-secondary-orange)}.kpi-active{border-left-color:var(--tt-blue)}.kpi-overdue{border-left-color:var(--tt-orange-red)}.kpi-upcoming{border-left-color:var(--tt-green)}.kpi-label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:0;font-size:.75rem;font-weight:600}.kpi-value{margin:6px 0 0;font-size:2rem;font-weight:700;line-height:1}.progress-text{color:var(--muted);font-size:.8rem;font-weight:600}.progress-bar{background:#3f393914;border-radius:3px;height:6px;margin-top:4px;overflow:hidden}.progress-fill{background:var(--tt-green);border-radius:3px;height:100%;transition:width .3s}.progress-bar-lg{height:8px}.event-progress{gap:6px;margin-top:8px;display:grid}.tabs-container{gap:20px;display:grid}.tab-bar{border-bottom:2px solid #3f393914;gap:4px;padding-bottom:0;display:flex}.tab-button{color:var(--muted);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:10px 18px;font-size:.9rem;font-weight:600;transition:color .15s,border-color .15s}.tab-button:hover:not(:disabled){color:var(--text)}.tab-active{color:var(--tt-blue);border-bottom-color:var(--tt-blue)}.tab-disabled{opacity:.35;cursor:not-allowed}.tab-content{min-height:200px}.task-group{gap:12px;display:grid}.task-group-header{align-items:baseline;gap:12px;display:flex}.task-group-header h4{margin:0}.task-group-count{font-size:.8rem}@media (max-width:1100px){.four-up{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--panel-border)}.content{padding:20px}.two-up,.three-up,.four-up{grid-template-columns:1fr}.task-row{flex-direction:column;align-items:flex-start}.tab-bar{-webkit-overflow-scrolling:touch;overflow-x:auto}.sidebar{padding:20px}.nav{flex-wrap:wrap;gap:12px;display:flex}.nav-section{align-items:center;gap:6px;display:flex}.nav-section-label{display:none}.user-menu{border-top:0;flex-direction:row;gap:12px;padding-top:0}}.auth{--ink:#16141d;--gold:#f2b32b;--gold-dim:#f2b32b59;--cream:#faf8f4;--auth-text:#1d1b24;--auth-text-soft:#6f6b7a;--auth-line:#e5e1d9;--auth-node:#494456;background:var(--cream);min-height:100vh;color:var(--auth-text);grid-template-columns:1.1fr 1fr;display:grid}.auth-stage{background:var(--ink);flex-direction:column;display:flex;position:relative;overflow:hidden}.auth-stage:before,.auth-stage:after{content:"";filter:blur(90px);opacity:.16;pointer-events:none;border-radius:50%;width:60vmax;height:60vmax;position:absolute}.auth-stage:before{background:var(--gold);animation:26s ease-in-out infinite alternate auth-drift-a;top:-30vmax;left:-20vmax}.auth-stage:after{background:#6a4ddb;animation:32s ease-in-out infinite alternate auth-drift-b;bottom:-35vmax;right:-25vmax}@keyframes auth-drift-a{0%{transform:translate(0)scale(1)}to{transform:translate(8vmax,6vmax)scale(1.15)}}@keyframes auth-drift-b{0%{transform:translate(0)scale(1.1)}to{transform:translate(-7vmax,-5vmax)scale(1)}}.auth-wordmark{z-index:2;align-items:center;gap:12px;padding:40px 48px;display:flex;position:relative}.auth-wordmark-mark{border-radius:9px;place-items:center;width:36px;height:36px;display:grid;overflow:hidden}.auth-wordmark-mark img{border-radius:9px;display:block}.auth-wordmark-name{color:var(--cream);letter-spacing:.22em;text-transform:uppercase;font-size:13px;font-weight:700}.auth-pipeline-wrap{z-index:1;flex:1;place-items:center;padding:0 24px 48px;display:grid;position:relative}.auth-pipeline-wrap svg{width:min(420px,80%);height:auto;overflow:visible}.auth-rail{stroke:#ffffff1a;stroke-width:2px;fill:none}.auth-node-ring{fill:var(--ink);stroke:var(--auth-node);stroke-width:2px}.auth-node-core{fill:var(--auth-node)}.auth-node{transform-origin:50%;transform-box:fill-box;animation:8s ease-out infinite auth-node-pulse}.auth-node .auth-node-ring{animation:8s ease-out infinite auth-ring-glow;animation-delay:inherit}.auth-n1{animation-delay:0s}.auth-n2{animation-delay:2s}.auth-n3{animation-delay:4s}.auth-n4{animation-delay:6s}@keyframes auth-node-pulse{0%,6%{transform:scale(1)}3%{transform:scale(1.35)}to{transform:scale(1)}}@keyframes auth-ring-glow{0%,8%{stroke:var(--auth-node)}3%{stroke:var(--gold)}to{stroke:var(--auth-node)}}.auth-stage-label{fill:#ffffff73;letter-spacing:.18em;font-size:11px;font-weight:600}.auth-dot{fill:var(--gold)}.auth-dot-halo{fill:var(--gold);opacity:.25}.auth-form-panel{background:radial-gradient(circle at 85% 10%,#f2b32b12,transparent 40%),var(--cream);place-items:center;padding:48px 32px;display:grid}.auth-form-inner{width:100%;max-width:360px}.auth-form-brand{align-items:center;gap:10px;margin-bottom:28px;display:none}.auth-form-brand .auth-wordmark-mark{width:32px;height:32px}.auth-form-brand-name{letter-spacing:.16em;text-transform:uppercase;color:var(--auth-text);font-size:13px;font-weight:700}.auth-title{letter-spacing:-.01em;color:var(--auth-text);margin:0 0 36px;font-size:26px;font-weight:700}.auth-form{flex-direction:column;display:flex}.auth-field{margin-bottom:20px}.auth-label{color:var(--auth-text);margin-bottom:8px;font-size:13px;font-weight:600;display:block}.auth-input{border:1.5px solid var(--auth-line);width:100%;color:var(--auth-text);background:#fff;border-radius:10px;padding:13px 14px;font-family:inherit;font-size:15px;transition:border-color .15s,box-shadow .15s}.auth-input::placeholder{color:#b3afa6}.auth-input:focus{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-dim);outline:none}.auth-form .ui-field-error{margin:0 0 4px}.auth-submit{width:100%;color:var(--ink);background:var(--gold);cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;margin-top:8px;padding:14px;font-family:inherit;font-size:15px;font-weight:700;transition:transform .12s,filter .12s;display:inline-flex}.auth-submit:hover:not(:disabled){filter:brightness(1.05);transform:translateY(-1px)}.auth-submit:active:not(:disabled){transform:translateY(0)}.auth-submit:focus-visible{outline:3px solid var(--ink);outline-offset:2px}.auth-submit:disabled{cursor:progress;opacity:.7}.auth-links{text-align:center;margin-top:24px}.auth-link{color:var(--auth-text-soft);cursor:pointer;background:0 0;border:none;border-bottom:1px solid #0000;padding:2px 0;font-family:inherit;font-size:13.5px;transition:color .15s,border-color .15s}.auth-link:hover{color:var(--auth-text);border-bottom-color:var(--gold)}.auth-link:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:2px}.auth-sent{gap:20px;display:grid}.auth-sent-text{color:var(--auth-text);margin:0;font-size:15px;line-height:1.6}.auth-access-note{border-top:1px solid var(--auth-line);color:var(--auth-text-soft);text-align:center;margin-top:40px;padding-top:20px;font-size:12.5px;line-height:1.6}@media (max-width:860px){.auth{grid-template-columns:1fr}.auth-form-panel{order:-1;place-items:start center;padding:36px 28px 28px}.auth-form-brand{display:flex}.auth-stage{min-height:42vh}.auth-stage .auth-wordmark{display:none}.auth-pipeline-wrap{padding:32px 24px 40px}.auth-pipeline-wrap svg{width:min(300px,70%)}}@media (prefers-reduced-motion:reduce){.auth *,.auth :before,.auth :after{transition:none!important;animation:none!important}.auth-n1 .auth-node-ring{stroke:var(--gold)}}.user-menu{gap:var(--space-2);padding:0 var(--space-3);flex-direction:column;display:flex}.user-menu-info{align-items:center;gap:var(--space-2);display:flex}.user-menu-avatar{background:var(--tt-blue);color:#fff;width:32px;height:32px;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.user-menu-name{font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);line-height:var(--line-height-tight);color:#fff;margin:0}.user-menu-role{font-size:var(--font-size-xs);color:#ffffff8c;margin:0}.user-menu-logout{color:#ffffff8c;font-size:var(--font-size-xs);cursor:pointer;text-align:left;transition:color var(--motion-fast);background:0 0;border:none;padding:0;font-family:inherit}.user-menu-logout:hover{color:#fff}.form-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));align-items:end;gap:16px;display:grid}.field-label-checkbox{cursor:pointer;align-items:center;gap:8px;display:flex}.row-inactive{opacity:.5}.badge-green{color:#166534;background:#dcfce7}.badge-muted{color:#64748b;background:#f1f5f9}.btn-small{padding:4px 10px;font-size:.8rem}.btn-ghost{border:1px solid var(--panel-border);color:var(--foreground);background:0 0}.btn-ghost:hover{background:var(--surface-bg)}.dash-top-bar{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.dash-page-title{margin:0;font-size:1.5rem;font-weight:700}.dash-page-sub{color:var(--muted);margin:4px 0 0;font-size:.9rem}.dash-stats{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;display:grid}.dash-stat-card{background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px 24px}.dash-stat-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0 0 4px;font-size:.8rem}.dash-stat-value{margin:0;font-size:2rem;font-weight:700}.dash-stat-sub{color:var(--muted);margin:4px 0 0;font-size:.85rem}.dash-section-header{justify-content:space-between;align-items:baseline;margin-bottom:12px;display:flex}.dash-section-title{font-size:1.1rem;font-weight:600}.dash-section-count{color:var(--muted);font-size:.85rem}.dash-task-list{flex-direction:column;gap:2px;display:flex}.dash-task-item{background:var(--panel);border:1px solid var(--panel-border);border-radius:12px;align-items:center;gap:12px;padding:12px 16px;font-size:.9rem;transition:background .15s;display:flex}.dash-task-item:hover{background:#f0f9fb}.dash-task-dot{background:var(--tt-orange-red);border-radius:50%;flex-shrink:0;width:8px;height:8px}.dash-task-event{color:var(--muted);margin-left:auto;font-size:.8rem}.dash-task-due{color:var(--muted);white-space:nowrap;font-size:.8rem}.dash-col-header{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-bottom:1px solid var(--panel-border);grid-template-columns:2fr 1fr 1fr 1fr 1.2fr .8fr;gap:12px;padding:8px 16px;font-size:.75rem;display:grid}.dash-event-list{flex-direction:column;gap:2px;display:flex}.dash-event-row{background:var(--panel);border:1px solid var(--panel-border);border-radius:12px;grid-template-columns:2fr 1fr 1fr 1fr 1.2fr .8fr;align-items:center;gap:12px;padding:14px 16px;transition:background .15s;display:grid}.dash-event-row:hover{background:#f0f9fb}.dash-event-name{margin:0;font-weight:600}.dash-event-market{color:var(--muted);margin:2px 0 0;font-size:.8rem}.dash-event-detail{color:var(--muted);font-size:.85rem}.dash-progress{align-items:center;gap:8px;display:flex}.dash-progress-bar{background:#e5e7eb;border-radius:3px;flex:1;height:6px;overflow:hidden}.dash-progress-fill{background:var(--tt-green);border-radius:3px;height:100%;transition:width .3s}.dash-progress-label{color:var(--muted);white-space:nowrap;font-size:.8rem}.mini-pipeline,.mini-pipeline-cell{align-items:center;gap:3px;display:inline-flex}.mini-dot{border:1px solid var(--d1-border-strong);background:0 0;border-radius:50%;flex-shrink:0;width:7px;height:7px}.mini-dot-proposal.is-filled{background:var(--d1-stage-proposal);border-color:var(--d1-stage-proposal)}.mini-dot-planning.is-filled{background:var(--d1-stage-planning);border-color:var(--d1-stage-planning)}.mini-dot-day-of.is-filled{background:var(--d1-stage-day-of);border-color:var(--d1-stage-day-of)}.mini-dot-closeout.is-filled{background:var(--d1-stage-closeout);border-color:var(--d1-stage-closeout)}.mini-line{background:var(--d1-border);flex-shrink:0;width:8px;height:1px;display:inline-block}.detail-back-link{color:var(--muted);margin-bottom:8px;font-size:.85rem;display:inline-block}.detail-back-link:hover{color:var(--text)}.detail-header{justify-content:space-between;align-items:flex-start;display:flex}.detail-title{margin:0;font-size:1.25rem;font-weight:500}.detail-meta{color:var(--muted);margin:4px 0 0;font-size:.85rem}.detail-content-grid{grid-template-columns:380px minmax(0,1fr);gap:16px;display:grid}@media (max-width:1200px){.detail-content-grid{grid-template-columns:1fr}}.detail-info-row{border-bottom:.5px solid var(--panel-border);flex-direction:column;gap:2px;min-width:0;padding:8px 0;font-size:.85rem;display:flex}.detail-info-row:last-child{border-bottom:none}.detail-info-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem}.detail-info-value{overflow-wrap:anywhere;word-break:break-word;font-weight:500}.detail-info-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.detail-info-subvalue{color:var(--muted);font-size:.75rem;font-weight:400;display:block}.detail-info-window{align-items:center;gap:var(--space-2);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);display:grid}.detail-info-window-sep{color:var(--muted)}.detail-info-hint{margin-top:var(--space-1);color:var(--muted);font-size:.75rem;display:block}.detail-info-actions{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--panel-border);display:flex}.detail-info-danger{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--panel-border);justify-content:flex-end;display:flex}.detail-info-note{margin:var(--space-3)0 0;padding-top:var(--space-3);border-top:1px solid var(--panel-border);color:var(--muted);font-size:var(--font-size-sm,.8125rem)}.detail-info-edit{border:1px solid var(--panel-border);border-radius:var(--radius-sm,6px);width:26px;height:26px;color:var(--muted);cursor:pointer;background:0 0;justify-content:center;align-items:center;padding:0;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.detail-info-edit:hover{color:var(--color-text,inherit);background:var(--panel-border)}.detail-info-edit.is-active{color:var(--color-accent,var(--color-text,inherit));border-color:currentColor}.detail-info-control{margin-top:2px}.detail-info-control .ui-select-wrap{width:100%}.pipeline-bar{background:var(--panel);border:.5px solid var(--panel-border);border-radius:var(--radius);align-items:center;gap:0;padding:4px;display:flex}.pipeline-stage{border-radius:calc(var(--radius) - 4px);color:var(--muted);flex:1;justify-content:center;align-items:center;gap:8px;padding:10px 12px;font-size:.85rem;text-decoration:none;display:flex}a.pipeline-stage{cursor:pointer}a.pipeline-stage:hover{background:#00000008}.pipeline-stage-done{color:var(--text)}.pipeline-stage-current:not(.pipeline-stage-active){color:var(--tt-blue);box-shadow:inset 0 0 0 1px var(--color-accent-border);font-weight:500}.pipeline-stage-future{color:var(--muted);opacity:.5;cursor:not-allowed}.pipeline-stage-active{background:var(--tt-blue);color:#fff;box-shadow:0 0 0 1px var(--tt-blue),0 1px 3px #04aed840;font-weight:600}.pipeline-stage-active .pipeline-check{color:#fff}.pipeline-stage-active .pipeline-check path{stroke:var(--tt-blue)}.pipeline-stage-active .pipeline-dot,.pipeline-stage-active .pipeline-dot-active{background:#fff;border-color:#fff}.pipeline-check{width:12px;height:12px;color:var(--tt-blue);flex-shrink:0}.pipeline-dot{border:1.5px solid var(--muted);border-radius:50%;flex-shrink:0;width:8px;height:8px}.pipeline-dot-active{background:var(--tt-blue);border-color:var(--tt-blue)}.pipeline-line{background:var(--panel-border);flex-shrink:0;width:20px;height:1px}@media (max-width:900px){.pipeline-bar{overflow-x:auto}.pipeline-stage{flex:1 0 auto;gap:5px;padding:8px 7px;font-size:.75rem}.pipeline-line{width:8px}}.tg-panel{flex-direction:column;gap:8px;display:flex}.tg-overall-bar{align-items:center;gap:10px;margin-bottom:4px;display:flex}.tg-overall-label{color:var(--muted);white-space:nowrap;font-size:.85rem}.tg-overall-track{background:#e5e7eb;border-radius:2px;flex:1;height:4px;overflow:hidden}.tg-overall-fill{background:var(--tt-blue);border-radius:2px;height:4px;transition:width .2s}.tg-group{background:var(--panel);border:.5px solid var(--panel-border);border-radius:12px;overflow:hidden}.tg-header{cursor:pointer;text-align:left;width:100%;color:inherit;background:0 0;border:none;align-items:center;gap:10px;padding:12px 16px;display:flex}.tg-header:hover{background:#00000005}.tg-chevron{width:16px;height:16px;color:var(--muted);flex-shrink:0;transition:transform .15s}.tg-chevron-open{transform:rotate(90deg)}.tg-name{flex:1;font-size:.9rem;font-weight:500}.tg-count-pill{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;background:#f3f4f6;border-radius:999px;align-items:center;padding:2px 10px;font-size:.75rem;font-weight:500;display:inline-flex}.tg-section-check{width:16px;height:16px;color:var(--success);flex-shrink:0}.tg-status{border-radius:8px;padding:2px 8px;font-size:.75rem;font-weight:500}.tg-status-done{color:#166534;background:#f0fdf4}.tg-status-na{color:var(--muted);background:#f5f5f5}.tg-status-ip{color:#1e40af;background:#eff6ff}.tg-status-ns{color:var(--muted);background:#f5f5f5}.tg-body{border-top:.5px solid var(--panel-border)}.tg-subtask{border-bottom:.5px solid var(--panel-border);align-items:center;gap:10px;padding:8px 16px 8px 42px;font-size:.85rem;display:flex}.tg-subtask:last-child{border-bottom:none}.tg-subtask-name{flex:1}.tg-subtask-name-done{color:var(--muted);text-decoration:line-through}.tg-subtask-assignee,.tg-subtask-due{color:var(--muted);font-size:.8rem}.tg-subtask-due-overdue{color:var(--danger);font-weight:500}.tg-subtask-link{border:1px solid var(--color-accent-border);background:var(--color-accent-bg);color:var(--color-accent-hover);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:1px 8px;font-size:.72rem;font-weight:500;text-decoration:none;display:inline-flex}a.tg-subtask-link:hover{background:var(--color-accent-bg-hover)}.tg-subtask-link-icon{flex-shrink:0;width:11px;height:11px}.help-fast-icon{width:16px;height:16px;color:var(--color-warning,#c07a10);flex-shrink:0}.detail-task-checkbox{border:1.5px solid var(--muted);cursor:pointer;color:#fff;background:0 0;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;padding:0;transition:all .1s;display:flex}.detail-task-checkbox:hover{border-color:var(--success)}.detail-task-checkbox-done{background:var(--success);border-color:var(--success)}.detail-task-checkbox svg{width:10px;height:10px}.sidebar-back-link{color:#ffffff8c;margin-top:6px;font-size:.8rem;transition:color .15s;display:inline-block}.sidebar-back-link:hover{color:#fff}.sidebar-footer{padding-top:var(--space-4);gap:var(--space-3);border-top:1px solid #ffffff14;flex-direction:column;margin-top:auto;display:flex}.role-switcher{padding-top:var(--space-3);border-top:1px dashed #ffd05a33;gap:2px;display:grid}.sidebar-role-badge{width:fit-content;margin:var(--space-2)var(--space-3)0;border-radius:var(--radius-pill);font-size:.7rem;font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);align-items:center;gap:6px;padding:3px 10px;display:inline-flex}.sidebar-role-badge:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.sidebar-role-contractor{color:var(--tt-light-blue);background:#04aed833}.sidebar-role-admin{color:#ffb8ab;background:#da584638}.sidebar-role-neutral{color:#ffffffd9;background:#ffffff1a}.kpi-sub{color:var(--muted);margin:4px 0 0;font-size:.8rem}.kpi-tab{color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;padding:6px 14px;font-size:.8rem;font-weight:600;transition:background .15s,color .15s;display:inline-block}.kpi-tab:hover{color:var(--text);background:#04aed814}.kpi-tab-active{color:var(--tt-blue);background:#04aed81f;border-color:#04aed833}.ui-eyebrow{margin:0 0 var(--space-1);color:var(--color-primary);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold)}.ui-btn{font-family:var(--font-family-base);white-space:nowrap;cursor:pointer;transition:background var(--motion-fast),color var(--motion-fast),border-color var(--motion-fast),box-shadow var(--motion-fast);-webkit-user-select:none;user-select:none;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:6px;font-weight:500;line-height:1.4;text-decoration:none;display:inline-flex}.ui-btn:focus-visible{box-shadow:var(--shadow-focus);outline:none}.ui-btn:disabled,.ui-btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}.ui-btn-sm{font-size:var(--font-size-xs);padding:6px 12px}.ui-btn-md{font-size:var(--font-size-xs);padding:8px 14px}.ui-btn-lg{font-size:var(--font-size-sm);padding:10px 18px}.ui-btn-full{width:100%}.ui-btn-primary{background:var(--color-primary);color:var(--color-text-on-primary);border-color:var(--color-primary)}.ui-btn-primary:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.ui-btn-primary:active:not(:disabled){background:var(--color-primary-active);border-color:var(--color-primary-active)}.ui-btn-secondary{background:var(--color-accent-bg);color:var(--color-accent);border-color:#0000}.ui-btn-secondary:hover:not(:disabled){background:var(--color-accent-bg-hover)}.ui-btn-ghost{color:var(--color-text);background:0 0;border-color:#0000}.ui-btn-ghost:hover:not(:disabled){background:#3f39390f}.ui-btn-outline{color:var(--color-text);border-color:var(--color-border-strong);background:0 0}.ui-btn-outline:hover:not(:disabled){border-color:var(--color-text);background:#3f39390a}.ui-btn-danger{background:var(--color-danger);color:var(--color-text-on-primary);border-color:var(--color-danger)}.ui-btn-danger:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.ui-btn-danger:focus-visible{box-shadow:var(--shadow-focus-danger)}.ui-btn-link{color:var(--color-text-link);text-underline-offset:3px;background:0 0;border-color:#0000;min-height:auto;padding-left:0;padding-right:0;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;text-decoration-thickness:1px}.ui-btn-link:hover:not(:disabled){color:var(--color-text-link-hover);text-decoration-color:currentColor}.ui-btn-loading{cursor:wait}.ui-btn-loading .ui-btn-label{opacity:.7}.ui-btn-spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:14px;height:14px;animation:.6s linear infinite ui-spin}@keyframes ui-spin{to{transform:rotate(360deg)}}.ui-btn-icon{justify-content:center;align-items:center;display:inline-flex}.ui-btn-label{align-items:center;display:inline-flex}.ui-card{background:var(--surface-panel-solid);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);color:var(--color-text);overflow:hidden}.ui-card .ui-table-wrap{border-radius:0}.ui-card-panel{background:var(--surface-panel);border-color:var(--color-border-accent);box-shadow:var(--shadow-xl);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.ui-card-solid{background:var(--surface-panel-solid);border-color:var(--color-border);box-shadow:var(--shadow-sm)}.ui-card-elevated{background:var(--surface-panel-solid);box-shadow:var(--shadow-lg);border-color:#0000}.ui-card-flat{background:var(--surface-panel-solid);border-color:var(--color-border);box-shadow:none}.ui-card-dashed{border:1px dashed var(--color-border-accent);box-shadow:none;background:#ffffff8c}.ui-card-p-none{padding:0}.ui-card-p-sm{padding:var(--space-3)}.ui-card-p-md{padding:var(--space-5)}.ui-card-p-lg{padding:var(--space-6)}.ui-card-r-md{border-radius:var(--radius-md)}.ui-card-r-lg{border-radius:var(--radius-lg)}.ui-card-r-xl{border-radius:var(--radius-xl)}.ui-card-interactive{cursor:pointer;transition:transform var(--motion-base),box-shadow var(--motion-base),border-color var(--motion-base)}.ui-card-interactive:hover{border-color:var(--color-border-accent);box-shadow:var(--shadow-md);transform:translateY(-2px)}.ui-card-accent-primary{border-left:4px solid var(--color-primary)}.ui-card-accent-accent{border-left:4px solid var(--color-accent)}.ui-card-accent-success{border-left:4px solid var(--color-success)}.ui-card-accent-warning{border-left:4px solid var(--color-warning)}.ui-card-accent-danger{border-left:4px solid var(--color-danger)}.ui-card-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-4);display:flex}.ui-card-header-text{flex:1;min-width:0}.ui-card-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-strong);margin:0}.ui-card-description{margin:var(--space-1)0 0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.ui-card-actions{gap:var(--space-2);flex-shrink:0;display:inline-flex}.ui-card-body{color:var(--color-text)}.ui-card-footer{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border-subtle);justify-content:flex-end;gap:var(--space-2);display:flex}.ui-input{background:var(--surface-panel-solid);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);width:100%;color:var(--color-text);font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-snug);transition:border-color var(--motion-fast),box-shadow var(--motion-fast),background var(--motion-fast);padding:10px 14px;display:block}.ui-input::placeholder{color:var(--color-text-subtle)}.ui-input:hover:not(:disabled){border-color:var(--color-text-muted)}.ui-input:focus{border-color:var(--color-border-focus);box-shadow:var(--shadow-focus);outline:none}.ui-input:disabled{background:var(--surface-muted);color:var(--color-text-disabled);cursor:not-allowed}.ui-input-invalid{border-color:var(--color-danger)}.ui-input-invalid:focus{box-shadow:var(--shadow-focus-danger)}.ui-input-sm{font-size:var(--font-size-sm);padding:6px 10px}.ui-input-md{font-size:var(--font-size-base);padding:10px 14px}.ui-input-lg{font-size:var(--font-size-md);padding:14px 18px}.ui-input[type=date],.ui-input[type=time],.ui-input[type=datetime-local],.ui-input[type=month],.ui-input[type=week]{appearance:none}.ui-input::-webkit-date-and-time-value{margin:0}.ui-input::-webkit-datetime-edit{padding:0}.ui-input::-webkit-calendar-picker-indicator{margin:0}.ui-input-wrap{align-items:center;width:100%;display:flex;position:relative}.ui-input-wrap .ui-input{padding-left:36px}.ui-input-wrap .ui-input.ui-input-has-affix-trailing{padding-right:36px}.ui-input-affix{color:var(--color-text-muted);pointer-events:none;align-items:center;display:inline-flex;position:absolute}.ui-input-affix-leading{left:12px}.ui-input-affix-trailing{pointer-events:auto;right:12px}.ui-input-currency{font-variant-numeric:tabular-nums;font-weight:var(--font-weight-medium);color:var(--color-text-muted)}.ui-textarea{resize:vertical;min-height:80px;line-height:var(--line-height-base);padding:12px 14px}.ui-select-wrap{width:100%;display:inline-flex;position:relative}.ui-select{appearance:none;background:var(--surface-panel-solid);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);width:100%;color:var(--color-text);font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-snug);cursor:pointer;transition:border-color var(--motion-fast),box-shadow var(--motion-fast);padding:10px 36px 10px 14px}.ui-select:hover:not(:disabled){border-color:var(--color-text-muted)}.ui-select:focus{border-color:var(--color-border-focus);box-shadow:var(--shadow-focus);outline:none}.ui-select:disabled{background:var(--surface-muted);color:var(--color-text-disabled);cursor:not-allowed}.ui-select-sm{font-size:var(--font-size-sm);padding:6px 30px 6px 10px}.ui-select-lg{font-size:var(--font-size-md);padding:14px 40px 14px 18px}.ui-select-invalid{border-color:var(--color-danger)}.ui-select-chevron{color:var(--color-text-muted);pointer-events:none;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.ui-checkbox,.ui-radio{width:16px;height:16px;accent-color:var(--color-primary);cursor:pointer;flex-shrink:0;margin:0}.ui-checkbox:focus-visible,.ui-radio:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}.ui-checkbox-row{align-items:flex-start;gap:var(--space-2);cursor:pointer;color:var(--color-text);display:flex}.ui-checkbox-row-disabled{cursor:not-allowed;opacity:.6}.ui-checkbox-text{line-height:var(--line-height-snug);gap:2px;display:grid}.ui-checkbox-label{font-size:var(--font-size-base)}.ui-checkbox-description{font-size:var(--font-size-sm);color:var(--color-text-muted)}.ui-badge{font-weight:var(--font-weight-semibold);white-space:nowrap;align-items:center;gap:6px;line-height:1;display:inline-flex}.ui-badge-sm{font-size:var(--font-size-xs);padding:3px 8px}.ui-badge-md{font-size:var(--font-size-sm);padding:5px 10px}.ui-badge-pill{border-radius:var(--radius-pill)}.ui-badge-rounded{border-radius:var(--radius-sm)}.ui-badge-dot{background:currentColor;border-radius:50%;flex-shrink:0;width:6px;height:6px}.ui-badge-neutral{background:var(--surface-muted);color:var(--color-text-muted)}.ui-badge-primary{background:var(--color-primary-bg);color:var(--color-primary)}.ui-badge-accent{background:var(--color-accent-bg);color:var(--color-accent)}.ui-badge-success{background:var(--color-success-bg);color:var(--color-success)}.ui-badge-warning{background:var(--color-warning-bg);color:var(--color-warning)}.ui-badge-danger{background:var(--color-danger-bg);color:var(--color-danger)}.ui-badge-info{background:var(--color-info-bg);color:var(--color-info)}.ui-tag{border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);background:var(--surface-muted);color:var(--color-text);border:1px solid var(--color-border-subtle);align-items:center;gap:6px;padding:4px 10px;display:inline-flex}.ui-tag-primary{background:var(--color-primary-bg);color:var(--color-primary);border-color:var(--color-primary-border)}.ui-tag-accent{background:var(--color-accent-bg);color:var(--color-accent);border-color:var(--color-accent-border)}.ui-tag-remove{color:currentColor;opacity:.7;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;padding:0;display:inline-flex}.ui-tag-remove:hover{opacity:1;background:#00000014}.ui-table-wrap{-webkit-overflow-scrolling:touch;border-radius:var(--radius-md);overflow-x:auto}.ui-table{border-collapse:collapse;width:100%;font-size:var(--font-size-base);background:var(--surface-panel-solid)}.ui-thead{background:var(--surface-page)}.ui-th{text-align:left;color:var(--color-text-subtle);text-transform:uppercase;letter-spacing:.4px;border-bottom:1px solid var(--color-border-subtle);padding:10px 16px;font-size:10px;font-weight:500}.ui-td{border-bottom:1px solid var(--color-border-subtle);vertical-align:middle;color:var(--color-text);font-size:var(--font-size-sm);padding:12px 16px}.ui-td-muted{color:var(--color-text-muted)}.ui-table-compact .ui-th,.ui-table-compact .ui-td{padding:8px 12px}.ui-table-hoverable .ui-tbody .ui-tr:hover{background:var(--surface-subtle)}.ui-tbody .ui-tr:last-child .ui-td{border-bottom:none}.ui-row-link{color:var(--color-text);cursor:pointer;transition:background var(--motion-fast);align-items:center;gap:12px;padding:12px 20px;text-decoration:none;display:flex}.ui-row-link:hover{background:#04aed824}.ui-row-link:focus-visible{box-shadow:inset 0 0 0 2px var(--color-border-focus);background:#04aed82e;outline:none}.ui-tr-linked{cursor:pointer;position:relative}.ui-tr-linked:hover{background:var(--surface-subtle)}.ui-tr-linked:has(.ui-stretched-link:focus-visible){outline:2px solid var(--color-border-focus);outline-offset:-2px;border-radius:var(--radius-sm)}.ui-tr-linked,.ui-tr-linked *{cursor:pointer}.ui-stretched-link{color:inherit;text-decoration:none;position:static}.ui-stretched-link:after{content:"";z-index:1;position:absolute;inset:0}.ui-stretched-link:focus-visible{outline:none}.ui-tr-linked .ui-td>*{z-index:2;position:relative}.ui-align-left{text-align:left}.ui-align-center{text-align:center}.ui-align-right{text-align:right}.ui-dialog{width:100%;max-width:min(100vw - 32px,640px);max-height:calc(100dvh - 48px);color:var(--color-text);background:0 0;border:none;padding:0}.ui-dialog::backdrop{background:var(--surface-overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.ui-dialog-sm{max-width:min(100vw - 32px,420px)}.ui-dialog-md{max-width:min(100vw - 32px,640px)}.ui-dialog-lg{max-width:min(100vw - 32px,860px)}.ui-dialog-body{background:var(--surface-panel-solid);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);padding:var(--space-6);flex-direction:column;max-height:calc(100dvh - 48px);display:flex;overflow:hidden}.ui-dialog-header{margin-bottom:var(--space-4);flex:none}.ui-dialog-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-strong);margin:0}.ui-dialog-description{margin:var(--space-1)0 0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.ui-dialog-content{color:var(--color-text);min-height:0;margin:-2px;padding:2px;overflow-y:auto}.ui-dialog-footer{margin-top:var(--space-6);justify-content:flex-end;gap:var(--space-2);flex:none;display:flex}.ui-dialog-actions{justify-content:flex-end;gap:var(--space-2);display:flex}.ui-tabs{gap:var(--space-5);display:grid}.ui-tab-bar{gap:var(--space-1);scrollbar-width:none;max-width:100%;display:flex;overflow-x:auto}.ui-tab-bar::-webkit-scrollbar{display:none}.ui-tab-bar-line{border-bottom:2px solid var(--color-border-subtle);gap:4px;padding-bottom:0}.ui-tab-bar-pill{background:var(--surface-muted);border-radius:var(--radius-pill);gap:4px;width:fit-content;padding:4px}.ui-tab{color:var(--color-text-muted);font-family:var(--font-family-base);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);white-space:nowrap;cursor:pointer;transition:color var(--motion-fast),background var(--motion-fast),border-color var(--motion-fast);background:0 0;border:none;flex-shrink:0;align-items:center;gap:6px;padding:10px 18px;display:inline-flex}.ui-tab:hover:not(:disabled){color:var(--color-text)}.ui-tab-line{border-bottom:2px solid #0000;border-radius:0;margin-bottom:-2px}.ui-tab-line.ui-tab-active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.ui-tab-pill{border-radius:var(--radius-pill)}.ui-tab-pill.ui-tab-active{background:var(--surface-panel-solid);color:var(--color-text-strong);box-shadow:var(--shadow-sm)}.ui-tab-disabled{opacity:.4;cursor:not-allowed}.ui-tab-badge{background:var(--color-accent-bg);color:var(--color-accent);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);border-radius:var(--radius-pill);justify-content:center;align-items:center;min-width:18px;padding:1px 7px;display:inline-flex}.ui-tab-panel{min-height:100px}.ui-empty{place-items:center;gap:var(--space-3);padding:var(--space-10)var(--space-6);text-align:center;border:1px dashed var(--color-border-accent);border-radius:var(--radius-lg);color:var(--color-text);background:#ffffff8c;display:grid}.ui-empty-icon{background:var(--color-accent-bg);width:48px;height:48px;color:var(--color-accent);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.ui-empty-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-strong);margin:0}.ui-empty-description{color:var(--color-text-muted);font-size:var(--font-size-base);max-width:42ch;margin:0}.ui-empty-action{margin-top:var(--space-2)}.d1-card.ui-empty-card,.ui-empty-card{text-align:center;padding:var(--space-10)var(--space-5)}.ui-divider-section{border-top:1px solid var(--color-border-subtle);padding-top:var(--space-3)}.pf-form{max-width:40rem}.pf-amount{max-width:14rem}.pf-travel-row{gap:var(--space-2);align-items:center;display:flex}.pf-travel-row>.ui-select-wrap{flex:8rem;min-width:0;max-width:10rem}.pf-travel-row>.ui-input-wrap{flex:8rem;min-width:0;max-width:13rem}.pf-travel-foot{justify-content:space-between;align-items:flex-end;gap:var(--space-3);display:flex}.pf-subtotal{text-align:right;flex-direction:column;align-items:flex-end;gap:2px;display:flex}.pf-subtotal-label{font-size:var(--font-size-sm);color:var(--color-text-muted)}.pf-subtotal-value{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-strong);font-variant-numeric:tabular-nums}.pf-pay-row{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.pf-pay-row>.ui-select-wrap{flex:0 10rem;min-width:0}.pf-pay-num{max-width:6.5rem}.pf-pay-amount{max-width:10rem}.pf-pay-op{color:var(--color-text-muted)}.pf-pay-total{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-strong);font-variant-numeric:tabular-nums;white-space:nowrap}.pf-total{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.pf-total-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-strong)}.pf-total-value{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-strong);font-variant-numeric:tabular-nums}.contractor-orient{gap:var(--space-4);margin:0;padding:0;list-style:none;display:grid}.contractor-orient-step{gap:var(--space-3);align-items:flex-start;display:flex}.contractor-orient-num{background:var(--color-accent-bg);width:28px;height:28px;color:var(--color-accent);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.contractor-orient-title{font-weight:var(--font-weight-semibold);color:var(--color-text-strong);margin:0}.contractor-orient-body{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:2px 0 0}.contractor-empty{gap:var(--space-2);padding:var(--space-4)var(--space-2);display:grid}.contractor-empty-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-strong);margin:0}.contractor-empty-body{color:var(--color-text-muted);font-size:var(--font-size-base);max-width:60ch;margin:0}.contractor-empty-link{margin-top:var(--space-1);color:var(--color-primary);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);text-decoration:none}.contractor-empty-link:hover{text-decoration:underline}.ui-field{gap:var(--space-2);grid-auto-rows:max-content;display:grid}.ui-field-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-strong);align-items:center;gap:6px;display:inline-flex}.ui-field-required{color:var(--color-danger)}.ui-field-optional{font-size:var(--font-size-xs);font-weight:var(--font-weight-regular);color:var(--color-text-muted);text-transform:none}.ui-field-hint{font-size:var(--font-size-xs);color:var(--color-text-muted);margin:0}.ui-field-error{font-size:var(--font-size-xs);color:var(--color-danger);font-weight:var(--font-weight-medium);margin:0}.ui-page-header{gap:var(--space-3);display:grid}.ui-page-header-row{justify-content:space-between;align-items:flex-start;gap:var(--space-4);flex-wrap:wrap;display:flex}.ui-page-header-text{flex:1;min-width:0}.ui-page-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-strong);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight);margin:0}.ui-page-description{margin:var(--space-2)0 0;color:var(--color-text-muted);font-size:var(--font-size-base);max-width:68ch}.ui-page-header-actions{gap:var(--space-2);flex-shrink:0;display:inline-flex}.ui-page-breadcrumb{color:var(--color-text-muted);font-size:var(--font-size-sm)}.ui-stat{background:var(--surface-panel-solid);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);gap:var(--space-1);box-shadow:var(--shadow-sm);display:grid}.ui-stat-head{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.ui-stat-label{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);margin:0}.ui-stat-value{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);color:var(--color-text-strong);letter-spacing:var(--letter-spacing-tight);margin:2px 0 0;line-height:1}.ui-stat-icon{border-radius:var(--radius-md);background:var(--color-accent-bg);width:32px;height:32px;color:var(--color-accent);justify-content:center;align-items:center;display:inline-flex}.ui-stat-foot{align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-muted);margin-top:var(--space-1);display:flex}.ui-stat-trend{font-weight:var(--font-weight-semibold)}.ui-stat-trend-up{color:var(--color-success)}.ui-stat-trend-down{color:var(--color-danger)}.ui-stat-trend-flat,.ui-stat-sub{color:var(--color-text-muted)}.ui-stat-primary{border-left:4px solid var(--color-primary)}.ui-stat-accent{border-left:4px solid var(--color-accent)}.ui-stat-success{border-left:4px solid var(--color-success)}.ui-stat-warning{border-left:4px solid var(--color-warning)}.ui-stat-danger{border-left:4px solid var(--color-danger)}.ui-stat-link{color:inherit;text-decoration:none;transition:transform .15s,box-shadow .15s;display:block}.ui-stat-link:hover,.ui-summary-tile-link:hover{box-shadow:var(--shadow-md,0 4px 12px #00000014);transform:translateY(-1px)}.ui-stack{display:flex}.ui-stack-column{flex-direction:column}.ui-stack-row{flex-direction:row}.ui-wrap{flex-wrap:wrap}.ui-gap-xs{gap:var(--space-1)}.ui-gap-sm{gap:var(--space-2)}.ui-gap-md{gap:var(--space-4)}.ui-gap-lg{gap:var(--space-6)}.ui-gap-xl{gap:var(--space-8)}.ui-align-start{align-items:flex-start}.ui-align-center{align-items:center}.ui-align-end{align-items:flex-end}.ui-align-stretch{align-items:stretch}.ui-align-baseline{align-items:baseline}.ui-justify-start{justify-content:flex-start}.ui-justify-center{justify-content:center}.ui-justify-end{justify-content:flex-end}.ui-justify-between{justify-content:space-between}.ui-justify-around{justify-content:space-around}.ui-grid{display:grid}.ui-grid-1{grid-template-columns:1fr}.ui-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.ui-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.ui-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.ui-grid-6{grid-template-columns:repeat(6,minmax(0,1fr))}.ui-grid-12{grid-template-columns:repeat(12,minmax(0,1fr))}@media (max-width:900px){.ui-grid-2,.ui-grid-3,.ui-grid-4{grid-template-columns:1fr}}.d1-app{background:var(--d1-bg);min-height:100vh;display:flex}.d1-main{flex-direction:column;flex:1;min-width:0;padding:32px 40px;display:flex;overflow-x:clip}.d1-page{width:100%;max-width:1280px;margin:0 auto}@media (max-width:768px){.d1-main{padding:16px}}.d1-card{background:var(--d1-surface);border:1px solid var(--d1-border);border-radius:var(--d1-radius-card);padding:20px}.d1-card-flush{background:var(--d1-surface);border:1px solid var(--d1-border);border-radius:var(--d1-radius-card)}.d1-surface-alt{background:var(--d1-surface-alt)}.d1-h1{letter-spacing:-.3px;color:var(--d1-text);margin:0;font-size:22px;font-weight:600}.d1-h2{letter-spacing:-.2px;color:var(--d1-text);margin:0;font-size:16px;font-weight:600}.d1-eyebrow{letter-spacing:.8px;text-transform:uppercase;color:var(--d1-text-subtle);font-size:10px;font-weight:600}.d1-muted{color:var(--d1-text-muted)}.d1-subtle{color:var(--d1-text-subtle)}.d1-divider{border:0;border-top:1px solid var(--d1-border);margin:0}.d1-row{align-items:center;gap:12px;display:flex}.d1-stack{flex-direction:column;gap:16px;display:flex}.d1-stack-sm{flex-direction:column;gap:8px;display:flex}.d1-stack-lg{flex-direction:column;gap:24px;display:flex}.d1-btn{border-radius:var(--d1-radius-pill);border:1px solid var(--d1-border);background:var(--d1-surface);color:var(--d1-text);font:500 13px/1.2 var(--d1-font);cursor:pointer;align-items:center;gap:6px;padding:7px 14px;transition:background .12s,border-color .12s;display:inline-flex}.d1-btn:hover{background:var(--d1-surface-alt)}.d1-btn-primary{background:var(--d1-brand);border-color:var(--d1-brand);color:#fff}.d1-btn-primary:hover{background:#c54a3a;border-color:#c54a3a}.d1-btn-ghost{color:var(--d1-text-muted);background:0 0;border-color:#0000}.d1-btn-ghost:hover{background:var(--d1-surface-alt);color:var(--d1-text)}.d1-tile{background:var(--d1-yellow);width:26px;height:26px;color:var(--d1-brown);font-family:var(--d1-font-brand);border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:inline-flex}.d1-brand-icon{object-fit:cover;border-radius:5px;flex-shrink:0;display:block}.d1-brand-icon-sm{border-radius:4px}.d1-avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:600;display:inline-flex}.d1-sidebar{background:var(--d1-brown);color:#fff;width:248px;font-family:var(--d1-font);flex-direction:column;flex-shrink:0;align-self:flex-start;height:100vh;max-height:100vh;padding:20px 12px;font-size:13px;display:flex;position:sticky;top:0;overflow-y:auto}.d1-sidebar-header{padding:4px 8px 20px}.d1-sidebar-brand{color:#fff;align-items:center;gap:10px;text-decoration:none;display:inline-flex}.d1-sidebar-wordmark{font-family:var(--d1-font-brand);letter-spacing:-.2px;font-size:14px;font-weight:600}.d1-sidebar-nav{flex-direction:column;display:flex}.d1-sidebar-section{margin-top:18px}.d1-sidebar-section-label{letter-spacing:.8px;text-transform:uppercase;color:#fff6;margin:0;padding:0 10px 6px;font-size:10px;font-weight:600}.d1-sidebar-link{color:#ffffffb8;background:0 0;border-radius:5px;align-items:center;gap:10px;margin-bottom:1px;padding:7px 10px;font-size:13px;font-weight:400;text-decoration:none;transition:background .12s,color .12s;display:flex}.d1-sidebar-link:hover{color:#fff;background:#ffffff0a}.d1-sidebar-link.is-active{color:#fff;background:#ffffff14;font-weight:500}.d1-sidebar-link-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.d1-sidebar-link-count{background:var(--d1-yellow);min-width:18px;height:18px;color:var(--d1-brown);font-variant-numeric:tabular-nums;border-radius:9px;justify-content:center;align-items:center;padding:0 6px;font-size:11px;font-weight:600;line-height:1;display:inline-flex}.d1-sidebar-footer{margin-top:auto;padding-top:12px}.d1-sidebar-action{border-top:1px solid #ffffff14;border-bottom:1px solid #ffffff14;margin-top:auto;padding:12px 4px}.d1-sidebar-action--top{border-top:0;margin-top:6px}.d1-sidebar-action .ui-btn{border:0}.d1-role-switcher{padding:0 6px 10px}.d1-role-switcher-label{text-transform:uppercase;letter-spacing:.8px;color:#fff6;margin:0 0 6px;padding:0 4px;font-size:10px;font-weight:600}.d1-role-switcher-pill{background:#0003;border-radius:6px;padding:3px;display:flex}.d1-role-switcher-option{text-align:center;color:#ffffff8c;cursor:pointer;background:0 0;border:0;border-radius:4px;flex:1;padding:5px 0;font-family:inherit;font-size:11px;font-weight:500;text-decoration:none;transition:background .12s,color .12s}.d1-role-switcher-option:focus-visible{outline-offset:1px;outline:2px solid #fff6}.d1-role-switcher-option:hover{color:#fffc}.d1-role-switcher-option.is-active{color:#fff;background:#ffffff1a;font-weight:600}.d1-user-menu{border-top:1px solid #ffffff14;align-items:center;gap:10px;padding:12px 10px;display:flex}.d1-user-menu-info{flex:1;min-width:0}.d1-user-menu-name{color:#fff;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:12px;font-weight:500;overflow:hidden}.d1-user-menu-role{color:#ffffff80;text-transform:capitalize;margin:0;font-size:11px}.d1-user-menu-out{color:#ffffff73;cursor:pointer;background:0 0;border:0;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:6px;font-size:11px;transition:background .12s,color .12s;display:inline-flex}.d1-user-menu-out:hover{color:#fff;background:#ffffff0f}.d1-main>.content{background:var(--d1-bg);padding:0}.d1-mobile-bottom-nav{background:var(--d1-surface);border-top:1px solid var(--d1-border);z-index:20;justify-content:space-around;padding:8px 0 16px;display:none;position:sticky;bottom:0;left:0;right:0}.d1-mobile-bottom-nav-item{color:var(--d1-text-subtle);flex-direction:column;align-items:center;gap:3px;padding:4px 8px;font-size:10px;font-weight:400;text-decoration:none;display:flex}.d1-mobile-bottom-nav-item.is-active{color:var(--d1-brand);font-weight:500}.d1-mobile-top-bar{background:var(--d1-surface);border-bottom:1px solid var(--d1-border);z-index:10;justify-content:space-between;align-items:center;gap:10px;padding:14px 16px 10px;display:none;position:sticky;top:0}.d1-mobile-top-bar-left{align-items:center;gap:10px;min-width:0;display:flex}.d1-mobile-top-bar-title{white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:15px;font-weight:600;overflow:hidden}.d1-mobile-top-bar-back{cursor:pointer;color:var(--d1-text-muted);background:0 0;border:0;align-items:center;padding:0;display:inline-flex}.d1-mobile-top-bar-right{align-items:center;gap:10px;display:flex}.d1-tile-sm{border-radius:4px;width:22px;height:22px;font-size:10px}@media (max-width:768px){.d1-app{flex-direction:column}.d1-sidebar{display:none}.d1-mobile-bottom-nav,.d1-mobile-top-bar{display:flex}}.d1-back-link{color:var(--d1-text-muted);align-items:center;gap:4px;margin-bottom:12px;font-size:12px;text-decoration:none;display:inline-flex}.d1-back-link:hover{color:var(--d1-text)}.d1-kpi-strip{grid-template-columns:repeat(4,1fr);gap:10px;margin:0;display:grid}.d1-kpi-tile{flex-direction:column;gap:2px;padding:14px 16px;display:flex}.d1-kpi-tile-value{font-variant-numeric:tabular-nums;color:var(--d1-text);margin-top:4px;font-size:26px;font-weight:600;line-height:1.15}.d1-past-events-filters{background:var(--d1-surface);border:1px solid var(--d1-border);border-radius:var(--d1-radius-card);flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;padding:10px 12px;display:flex}.d1-past-events-search{min-width:200px;color:var(--d1-text-subtle);transition:border-color var(--motion-fast),box-shadow var(--motion-fast);border:1px solid #0000;border-radius:6px;flex:1;align-items:center;gap:8px;margin:-5px -8px;padding:5px 8px;display:flex}.d1-past-events-search:hover{border-color:var(--color-text-muted)}.d1-past-events-search:focus-within{border-color:var(--color-border-focus);box-shadow:var(--shadow-focus)}.d1-past-events-search input{font-family:var(--d1-font);color:var(--d1-text);background:0 0;border:none;outline:none;flex:1;font-size:13px}.d1-past-events-divider{background:var(--d1-border);width:1px;height:22px}.d1-past-events-select{align-items:center;gap:6px;font-size:12px;display:flex}.d1-past-events-select select{appearance:none;background:var(--d1-surface-alt)url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='9' height='9' viewBox='0 0 9 9' fill='none' stroke='%23908989' stroke-width='1.4' stroke-linecap='round'><path d='M2 3.5l2.5 2.5L7 3.5'/></svg>") no-repeat right 7px center;border:1px solid var(--d1-border);font-family:var(--d1-font);color:var(--d1-text);cursor:pointer;border-radius:5px;padding:5px 22px 5px 10px;font-size:12px}.d1-past-events-clear{cursor:pointer;color:var(--d1-brand);background:0 0;border:0;padding:0;font-size:12px;transition:color .12s}.d1-past-events-clear:disabled{color:var(--d1-text-subtle);cursor:default}.d1-past-events-meta{color:var(--d1-text-muted);align-items:center;gap:6px;font-size:12px;display:flex}.d1-past-events-meta-count{font-variant-numeric:tabular-nums;color:var(--d1-text);font-weight:500}.d1-past-events-group{margin-bottom:0}.d1-past-events-group-header{border-bottom:1px solid var(--d1-border);align-items:baseline;gap:8px;margin-bottom:8px;padding:0 4px 8px;display:flex}.d1-past-events-group-header h2{color:var(--d1-text);font-variant-numeric:tabular-nums;margin:0;font-size:13px;font-weight:600}.d1-past-events-avatar{background:var(--d1-blue);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:10px;font-weight:600;display:inline-flex}.d1-metric-value{font-variant-numeric:tabular-nums}.d1-metric-missing{color:var(--d1-text-subtle);font-variant-numeric:tabular-nums}.d1-metric-flag{color:var(--d1-amber);margin-top:3px;font-size:11px}.d1-recommend-chip{white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:5px;padding:3px 8px;font-size:11px;font-weight:500;display:inline-flex}.d1-recommend-chip:before{content:"";background:currentColor;border-radius:50%;width:5px;height:5px}.d1-recommend-chip-green{background:var(--d1-green-bg);color:var(--d1-green);border-color:#5b8a1a33}.d1-recommend-chip-amber{background:var(--d1-amber-bg);color:var(--d1-amber);border-color:#b86e0b33}.d1-recommend-chip-red{background:var(--d1-red-bg);color:var(--d1-red);border-color:#c5402f33}.d1-recap-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:18px;display:flex}.d1-recap-meta{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.d1-recap-metrics{grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:24px;display:grid}.d1-recap-metric{flex-direction:column;gap:4px;display:flex}.d1-recap-metric-value{font-variant-numeric:tabular-nums;color:var(--d1-text);font-size:22px;font-weight:600;line-height:1.15}.d1-recap-section-header{align-items:center;gap:12px;margin-bottom:14px;display:flex}.d1-recap-section-n{background:var(--d1-surface-alt);width:30px;height:30px;color:var(--d1-text-muted);font-variant-numeric:tabular-nums;border-radius:6px;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:inline-flex}.d1-recap-section-items{flex-direction:column;gap:14px;margin:0;display:flex}.d1-recap-section-item{grid-template-columns:220px minmax(0,1fr);align-items:start;gap:24px;display:grid}.d1-recap-section-item dt{color:var(--d1-text-muted);margin:0;font-size:12px}.d1-recap-section-item dd{color:var(--d1-text);margin:0;font-size:13px;line-height:1.55}.d1-recap-scale{align-items:center;gap:3px;display:inline-flex}.d1-recap-scale-dot{background:var(--d1-surface-alt);border:1px solid var(--d1-border);border-radius:3px;width:12px;height:6px}.d1-recap-scale-dot.is-on{background:var(--d1-blue);border-color:var(--d1-blue)}.d1-recap-pick{background:var(--d1-surface-alt);color:var(--d1-text);border-radius:999px;padding:3px 10px;font-size:12px;display:inline-block}@media (max-width:768px){.d1-kpi-strip{grid-template-columns:repeat(2,1fr)}.d1-recap-metrics{grid-template-columns:repeat(2,1fr);gap:16px}.d1-recap-section-item{grid-template-columns:1fr;gap:4px}}.d1-cal-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;display:flex}.d1-cal-toolbar-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.d1-cal-view-toggle{background:var(--d1-surface-alt);border:1px solid var(--d1-border);border-radius:6px;padding:2px;display:inline-flex}.d1-cal-view-option{color:var(--d1-text-muted);border-radius:4px;padding:5px 12px;font-size:12px;text-decoration:none}.d1-cal-view-option.is-active{color:var(--d1-text);background:var(--d1-surface);font-weight:500;box-shadow:0 1px 2px #0000000f}.d1-cal-month-nav{border:1px solid var(--d1-border);background:var(--d1-surface);border-radius:6px;align-items:center;display:inline-flex}.d1-cal-month-nav a{color:var(--d1-text-muted);padding:6px 10px;font-size:12px;text-decoration:none}.d1-cal-month-nav a+a{border-left:1px solid var(--d1-border)}.d1-cal-month-nav a:hover{color:var(--d1-text)}.d1-cal-legend{color:var(--d1-text-muted);gap:12px;font-size:11px;display:inline-flex}.d1-cal-legend span{align-items:center;gap:5px;display:inline-flex}.d1-cal-legend-dot{border-radius:50%;width:7px;height:7px}.d1-cal-legend-dot-proposal{background:var(--d1-amber)}.d1-cal-legend-dot-planning{background:var(--d1-blue)}.d1-cal-legend-dot-closeout{background:var(--d1-green)}.d1-cal-month{background:var(--d1-surface);border:1px solid var(--d1-border);border-radius:var(--d1-radius-card);overflow:hidden}.d1-cal-month-header{border-bottom:1px solid var(--d1-border);grid-template-columns:repeat(7,1fr);display:grid}.d1-cal-month-header span{color:var(--d1-text-subtle);text-transform:uppercase;letter-spacing:.6px;padding:9px 10px;font-size:10px;font-weight:600}.d1-cal-month-row{border-top:1px solid var(--d1-border);grid-template-columns:repeat(7,1fr);min-height:104px;display:grid}.d1-cal-month-row:first-child{border-top:0}.d1-cal-day{border-left:1px solid var(--d1-border);flex-direction:column;gap:4px;min-width:0;padding:6px 8px;display:flex;position:relative;overflow:hidden}.d1-cal-day:first-child{border-left:0}.d1-cal-day.is-out-of-month .d1-cal-day-number{color:var(--d1-text-subtle)}.d1-cal-day-number{color:var(--d1-text);font-variant-numeric:tabular-nums;border-radius:12px;justify-content:center;align-items:center;min-width:22px;padding:3px 5px;font-size:12px;line-height:1;display:inline-flex}.d1-cal-day-number.is-today{background:var(--d1-brand);color:#fff;font-weight:600}.d1-cal-day-chips{flex-direction:column;gap:2px;min-width:0;margin-top:2px;display:flex}.d1-cal-chip{white-space:nowrap;text-overflow:ellipsis;border-left:2px solid;border-radius:3px;min-width:0;max-width:100%;padding:2px 6px;font-size:11px;font-weight:500;text-decoration:none;display:block;overflow:hidden}.d1-cal-chip-proposal{background:var(--d1-amber-bg);color:var(--d1-amber)}.d1-cal-chip-planning{background:var(--d1-blue-bg);color:var(--d1-blue-fg)}.d1-cal-chip-closeout{background:var(--d1-green-bg);color:var(--d1-green)}.d1-cal-chip-more{color:var(--d1-text-subtle);padding:0 6px;font-size:10px}.d1-agenda-month-label{color:var(--d1-text);border-bottom:1px solid var(--d1-border);margin:0 0 8px;padding:0 4px 8px;font-size:13px;font-weight:600}.d1-agenda-row{background:var(--d1-surface);border:1px solid var(--d1-border);border-radius:var(--d1-radius-card);color:inherit;grid-template-columns:16px 110px 2fr 1fr;align-items:center;gap:12px;padding:10px 14px;font-size:13px;text-decoration:none;transition:border-color .12s;display:grid}.d1-agenda-row:hover{border-color:var(--d1-border-strong)}.d1-agenda-date{font-variant-numeric:tabular-nums;color:var(--d1-text-muted);font-size:12px}.d1-agenda-title{font-weight:600}.d1-agenda-venue{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}@media (max-width:768px){.d1-cal-month{overflow-x:auto}.d1-cal-day{min-height:64px;padding:4px 5px}.d1-cal-chip{padding:1px 4px;font-size:10px}.d1-agenda-row{grid-template-rows:auto auto;grid-template-columns:16px 1fr;row-gap:4px}.d1-agenda-date{grid-column:2}.d1-agenda-title{grid-column:2;font-size:13px}.d1-agenda-venue{grid-column:2}}.d1-resources-grid{grid-template-columns:220px minmax(0,1fr);align-items:start;gap:24px;display:grid}.d1-resources-rail{flex-direction:column;gap:1px;display:flex;position:sticky;top:24px}.d1-resources-cat{color:var(--d1-text-muted);border-radius:5px;justify-content:space-between;padding:7px 10px;font-size:13px;text-decoration:none;display:flex}.d1-resources-cat:hover{background:var(--d1-surface-alt);color:var(--d1-text)}.d1-resources-pinned-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;display:grid}.d1-resources-pinned-card{border:1px solid var(--d1-border);border-radius:var(--d1-radius-card);background:var(--d1-surface);flex-direction:column;gap:6px;padding:14px;display:flex}.d1-resources-pinned-title{margin:4px 0 0;font-size:14px;font-weight:600}.d1-resources-kind{text-transform:uppercase;letter-spacing:.6px;color:var(--d1-text-subtle);background:var(--d1-surface-alt);border-radius:3px;padding:2px 6px;font-size:10px;font-weight:600;display:inline-block}.d1-resources-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.d1-resources-item{border-top:1px solid var(--d1-border);justify-content:space-between;align-items:center;gap:16px;padding:10px 4px;display:flex}.d1-resources-item:first-child{border-top:0}.d1-resources-item.is-pinned{border:1px solid var(--d1-border-strong);border-radius:8px;margin-bottom:6px;padding:9px 12px}.d1-resources-item.is-pinned+.d1-resources-item:not(.is-pinned){border-top:0}.d1-resources-pin{color:var(--d1-brand);flex-shrink:0}.d1-resources-item-main{align-items:center;gap:10px;min-width:0;display:flex}.d1-resources-item-main h3{color:var(--d1-text);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:13px;font-weight:500;overflow:hidden}.d1-resources-item-meta{white-space:nowrap;align-items:center;gap:12px;font-size:11px;display:flex}.d1-resources-item-button{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;justify-content:space-between;align-items:center;gap:16px;margin:0;padding:0;display:flex}.d1-resources-item-button:hover .d1-resources-item-main h3{color:var(--d1-brand)}.d1-resources-pinned-card{cursor:pointer;transition:border-color .12s,box-shadow .12s}.d1-resources-pinned-card:hover{border-color:var(--d1-border-strong)}.d1-md{color:var(--d1-text);flex-direction:column;gap:12px;font-size:13px;line-height:1.55;display:flex}.d1-md-h{margin:4px 0 0;font-size:15px;font-weight:600}.d1-md-p{margin:0}.d1-md-ul{flex-direction:column;gap:4px;margin:0;padding-left:20px;display:flex}.d1-md-table{border-collapse:collapse;width:100%;font-size:12px}.d1-md-table th,.d1-md-table td{border:1px solid var(--d1-border);text-align:left;padding:7px 10px}.d1-md-table th{background:var(--d1-surface-2,var(--d1-brand-bg));font-weight:600}.d1-guide-steps{flex-direction:column;gap:6px;margin:0;padding-left:22px;font-size:13px;display:flex}.d1-guide-steps li{padding-left:4px}.d1-guide-tip{border-radius:var(--d1-radius,8px);background:var(--d1-surface-alt,var(--d1-brand-bg));border:1px solid var(--d1-border);color:var(--d1-text-muted);align-items:flex-start;gap:8px;padding:10px 12px;font-size:13px;display:flex}.d1-guide-tip svg{color:var(--d1-text-subtle);flex-shrink:0;margin-top:1px}@media (max-width:768px){.d1-resources-grid{grid-template-columns:minmax(0,1fr)}.d1-resources-rail{flex-direction:row;gap:6px;padding-bottom:4px;position:static;overflow-x:auto}.d1-resources-cat{border:1px solid var(--d1-border);background:var(--d1-surface);white-space:nowrap;border-radius:999px;padding:6px 12px}.d1-resources-pinned-grid{grid-template-columns:1fr}}.members-filter-chip{cursor:pointer;font-family:inherit;font-size:var(--font-size-xs);color:var(--color-text-muted);background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-weight:400;line-height:1.4;transition:background-color .12s,color .12s;display:inline-flex}.members-filter-chip[data-active=true]{background:var(--surface-panel-solid);color:var(--color-text-strong);font-weight:500;box-shadow:0 1px 2px #0000000f}.members-filter-chip:hover:not([data-active=true]){color:var(--color-text)}.members-filter-count{color:var(--color-text-subtle);font-variant-numeric:tabular-nums;font-size:11px}.members-search{background:var(--surface-panel-solid);border:1px solid var(--color-border);width:240px;color:var(--color-text-muted);font-size:var(--font-size-xs);border-radius:6px;align-items:center;gap:8px;padding:6px 10px;display:inline-flex}.members-search:focus-within{border-color:var(--color-border-focus)}.members-search input{min-width:0;font-family:inherit;font-size:var(--font-size-xs);color:var(--color-text);background:0 0;border:none;outline:none;flex:1}.members-search input::placeholder{color:var(--color-text-subtle)}.members-row-actions{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;display:inline-flex}.members-row-actions:hover:not(:disabled){background:var(--surface-muted);color:var(--color-text)}.members-row-actions:disabled{cursor:wait;opacity:.6}.members-row-menu{z-index:200;background:var(--surface-panel-solid);border:1px solid var(--color-border);border-radius:6px;flex-direction:column;min-width:200px;padding:4px;display:flex;box-shadow:0 8px 24px #0000002e}.members-table-scroll{max-height:min(70vh,720px);overflow:auto}.members-btn{font-family:inherit;font-size:var(--font-size-sm);cursor:pointer;border:1px solid #0000;border-radius:6px;padding:8px 14px;font-weight:500;line-height:1.2}.members-btn:disabled{opacity:.6;cursor:wait}.members-btn-primary{background:var(--color-primary);color:var(--color-on-primary,#fff);border-color:var(--color-primary)}.members-btn-primary:hover:not(:disabled){filter:brightness(.96)}.members-btn-ghost{color:var(--color-text);border-color:var(--color-border);background:0 0}.members-btn-ghost:hover:not(:disabled){background:var(--surface-muted)}.members-row-menu-item{cursor:pointer;text-align:left;font-family:inherit;font-size:var(--font-size-xs);color:var(--color-text);background:0 0;border:none;border-radius:4px;padding:8px 10px}.members-row-menu-item:hover{background:var(--surface-muted)}.members-row-menu-item[data-danger=true]{color:var(--color-danger)}.members-row-menu-divider{background:var(--color-border-subtle);height:1px;margin:4px 0}.members-permissions{background:var(--surface-panel-solid);border:1px solid var(--color-border);font-size:var(--font-size-xs);color:var(--color-text-muted);border-radius:8px;align-items:center;gap:12px;margin-top:16px;padding:12px 16px;display:flex}.members-permissions strong{color:var(--color-text-strong);font-weight:500}.invite-input{background:var(--surface-panel-solid);border:1px solid var(--color-border);width:100%;font-size:var(--font-size-sm);color:var(--color-text);border-radius:6px;outline:none;padding:8px 10px;font-family:inherit}.invite-input:focus{border-color:var(--color-border-focus)}@media (max-width:768px){.members-search{width:100%}}.ui-skeleton{background:linear-gradient(90deg,#3f39390f 0%,#3f39391f 50%,#3f39390f 100%) 0 0/200% 100%;border-radius:6px;animation:1.4s ease-in-out infinite ui-skeleton-shimmer;display:block}.ui-skeleton-line{width:100%;height:.85em}.ui-skeleton-block{border-radius:12px;width:100%;height:100%}.ui-skeleton-circle{border-radius:50%}@keyframes ui-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.ui-skeleton{animation:none}}.ui-skeleton-stat{border-radius:16px;height:96px}.ui-skeleton-table-row{border-bottom:1px solid var(--panel-border);grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:16px;padding:14px 0;display:grid}.ui-skeleton-table-row:last-child{border-bottom:none}@media (max-width:720px){.ui-skeleton-table-row{grid-template-columns:2fr 1fr 1fr}.ui-skeleton-table-row>:nth-child(n+4){display:none}}.ui-toast-region{z-index:1000;pointer-events:none;flex-direction:column;gap:8px;max-width:calc(100vw - 32px);display:flex;position:fixed;top:16px;right:16px}.ui-toast{pointer-events:auto;background:var(--color-surface,#fff);min-width:240px;max-width:420px;color:var(--color-text-strong);border:1px solid var(--panel-border,#00000014);border-left:4px solid var(--color-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);font-size:var(--font-size-sm);align-items:center;gap:12px;padding:12px 14px;font-weight:500;animation:.16s ease-out ui-toast-in;display:flex}.ui-toast-success{border-left-color:var(--color-success)}.ui-toast-error{border-left-color:var(--color-danger)}.ui-toast-info{border-left-color:var(--color-primary)}.ui-toast-message{line-height:var(--line-height-base);flex:1}.ui-toast-action{font-size:var(--font-size-sm);color:var(--color-primary);border:1px solid var(--panel-border,#00000014);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;flex-shrink:0;padding:4px 10px;font-weight:600;text-decoration:none}.ui-toast-action:hover{background:#0000000a;text-decoration:none}.ui-toast-action:focus-visible{box-shadow:var(--shadow-focus);outline:none}.ui-toast-dismiss{appearance:none;color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:0;margin:-4px -6px -4px 0;padding:4px 8px;font-size:18px;line-height:1}.ui-toast-dismiss:hover{color:var(--color-text-strong);background:#0000000a}.ui-toast-dismiss:focus-visible{box-shadow:var(--shadow-focus);outline:none}@keyframes ui-toast-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.ui-toast{animation:none}}.booth-photo-zone{border:1px dashed var(--color-border);text-align:center;background:0 0;border-radius:8px;outline:none;padding:20px 16px;transition:border-color .12s,background-color .12s,box-shadow .12s;position:relative}.booth-photo-zone[role=button]{cursor:pointer}.booth-photo-zone[role=button]:hover{border-color:var(--color-link);background:var(--d1-blue-bg,#0066cc0a)}.booth-photo-zone[role=button]:focus-visible{border-color:var(--color-link);box-shadow:0 0 0 3px #0066cc40}.booth-photo-zone-drag{border-style:solid;border-color:var(--color-link);background:var(--d1-blue-bg,#0066cc14);box-shadow:0 0 0 3px #0066cc26}.booth-photo-zone-busy{cursor:wait}.booth-photo-zone-readonly{cursor:default;opacity:.95}.booth-photo-preview{flex-direction:column;align-items:center;gap:12px;display:flex}.booth-photo-image{border-radius:6px;max-width:100%;height:auto}.booth-photo-empty{flex-direction:column;align-items:center;gap:8px;display:flex}.booth-photo-hint{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}.booth-photo-meta{font-size:var(--font-size-xs,12px);color:var(--color-text-muted);margin:0}.booth-photo-status{color:var(--color-text-muted);font-size:var(--font-size-sm);align-items:center;gap:8px;display:inline-flex}.booth-photo-button{background:var(--color-link);color:#fff;font-size:var(--font-size-sm);cursor:pointer;border:none;border-radius:6px;align-items:center;gap:8px;padding:8px 16px;display:inline-flex}.booth-photo-button:disabled{opacity:.7;cursor:wait}.booth-photo-input{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.booth-photo-error{color:var(--color-danger);font-size:var(--font-size-sm);margin:12px 0 0}.tpl-editor{color:var(--color-text);--tpl-stage:var(--d1-stage-planning);--tpl-stage-bg:var(--d1-stage-planning-bg);--tpl-stage-fg:var(--d1-blue-fg);font-size:13px;line-height:1.5}.tpl-editor[data-stage=day-of]{--tpl-stage:var(--d1-stage-day-of);--tpl-stage-bg:var(--d1-stage-day-of-bg);--tpl-stage-fg:var(--d1-red)}.tpl-editor[data-stage=closeout]{--tpl-stage:var(--d1-stage-closeout);--tpl-stage-bg:var(--d1-stage-closeout-bg);--tpl-stage-fg:var(--d1-green)}.tpl-header{flex-direction:column;gap:6px;margin-bottom:6px;display:flex}.tpl-header-row{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.tpl-title{letter-spacing:-.3px;color:var(--color-text-strong);margin:0;font-size:22px;font-weight:600}.tpl-subtitle{color:var(--color-text-muted);width:100%;margin:0;font-size:13px}.tpl-header-actions{flex-shrink:0;gap:8px;display:flex}.tpl-meta-line{color:var(--color-text-subtle,var(--color-text-muted));font-variant-numeric:tabular-nums;margin:4px 0 20px;font-size:11px}.tpl-stage-tabs{background:var(--surface-alt,#f1f3f5);border-radius:8px;gap:0;margin-bottom:18px;padding:4px;display:inline-flex}.tpl-stage-tab{font:inherit;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:8px 16px;font-size:13px;font-weight:400;display:inline-flex}.tpl-stage-tab-active{background:var(--surface-panel-solid,#fff);color:var(--color-text);font-weight:500;box-shadow:0 1px 2px #0000000f}.tpl-stage-dot{background:var(--d1-stage-planning);border-radius:50%;width:8px;height:8px}.tpl-stage-dot[data-stage=day-of]{background:var(--d1-stage-day-of)}.tpl-stage-dot[data-stage=closeout]{background:var(--d1-stage-closeout)}.tpl-stage-tab-count{color:var(--color-text-subtle,var(--color-text-muted));font-variant-numeric:tabular-nums;margin-left:2px;font-size:11px}.tpl-blurb{background:var(--tpl-stage-bg);border-left:3px solid var(--tpl-stage);border-radius:6px;align-items:center;gap:12px;margin-bottom:14px;padding:10px 14px;display:flex}.tpl-blurb-text{color:var(--color-text);flex:1;font-size:12px;line-height:1.5}.tpl-blurb-label{color:var(--tpl-stage-fg);font-weight:500}.tpl-blurb-preview{border:1px solid var(--tpl-stage);color:var(--tpl-stage-fg);cursor:pointer;white-space:nowrap;background:0 0;border-radius:5px;padding:5px 12px;font-family:inherit;font-size:12px;font-weight:500}.tpl-blurb-preview:disabled{cursor:not-allowed;opacity:.55}.tpl-toolbar{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.tpl-toolbar-info{color:var(--color-text-muted);align-items:center;gap:8px;font-size:12px;display:flex}.tpl-dot-divider,.tpl-toolbar-hint{color:var(--color-text-subtle,var(--color-text-muted))}.tpl-new-group-btn{background:var(--surface-panel-solid,#fff);border:1px dashed var(--color-border-strong);color:var(--color-text);cursor:pointer;border-radius:5px;align-items:center;gap:6px;padding:6px 12px;font-family:inherit;font-size:12px;font-weight:500;display:inline-flex}.tpl-new-group-btn:hover{border-color:var(--color-text-muted)}.tpl-group-list{flex-direction:column;gap:8px;display:flex}.tpl-group{background:var(--surface-panel-solid,#fff);border:1px solid var(--color-border);border-radius:8px;position:relative;overflow:visible}.tpl-group-open{border-color:var(--tpl-stage);box-shadow:0 0 0 2px var(--tpl-stage-bg)}.tpl-group-dragging{opacity:.5}.tpl-group[data-drop-edge]:after{content:"";background:var(--tpl-stage);height:3px;box-shadow:0 0 0 1px color-mix(in srgb,var(--tpl-stage)35%,transparent);z-index:6;pointer-events:none;position:absolute;left:0;right:0}.tpl-group[data-drop-edge=before]:after{top:0}.tpl-group[data-drop-edge=after]:after{bottom:0}.tpl-group[data-drop-edge]:before{content:"";background:var(--tpl-stage);z-index:7;pointer-events:none;border-radius:50%;width:7px;height:7px;position:absolute;left:5px}.tpl-group[data-drop-edge=before]:before{top:0}.tpl-group[data-drop-edge=after]:before{bottom:0}.tpl-group-header{cursor:pointer;text-align:left;width:100%;font:inherit;background:0 0;border:none;align-items:center;gap:10px;padding:12px 14px;display:flex}.tpl-drag-handle{color:var(--color-text-subtle,var(--color-text-muted));opacity:.6;cursor:grab;flex-shrink:0;display:inline-flex}.tpl-group-dragging .tpl-drag-handle{cursor:grabbing}.tpl-group-chevron{color:var(--color-text-muted);flex-shrink:0;transition:transform .15s}.tpl-group-chevron-open{transform:rotate(90deg)}.tpl-group-name-wrap{flex:1;align-items:center;gap:6px;min-width:0;display:inline-flex}.tpl-group-name{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;overflow:hidden}.tpl-group-name-pencil{color:var(--color-text-muted);border-radius:var(--radius-sm,6px);cursor:pointer;opacity:0;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:3px;transition:opacity .12s,color .12s,background .12s;display:inline-flex}.tpl-group-header:hover .tpl-group-name-pencil,.tpl-group-name-pencil:focus-visible{opacity:1}.tpl-group-name-pencil:hover{color:var(--color-text);background:var(--surface-alt,#f1f3f5)}.tpl-group-name-input{flex:1;min-width:0;max-width:360px}.tpl-timing-chip{color:var(--tpl-stage-fg);background:var(--tpl-stage-bg);font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:4px;padding:3px 8px;font-size:11px;font-weight:500}.tpl-owner-chip{color:var(--color-text-muted);background:var(--surface-alt,#f1f3f5);white-space:nowrap;border-radius:4px;padding:3px 8px;font-size:11px}.tpl-task-count{color:var(--color-text-subtle,var(--color-text-muted));font-variant-numeric:tabular-nums;text-align:right;min-width:48px;font-size:11px}.tpl-group-body{border-top:1px solid var(--color-border);background:var(--surface-page,#f7fbfc)}.tpl-meta-row{border-bottom:1px solid var(--color-border);flex-wrap:wrap;align-items:center;gap:10px 22px;padding:12px 14px 14px;display:flex}.tpl-meta-field{align-items:center;gap:8px;display:flex}.tpl-meta-label{color:var(--color-text-subtle,var(--color-text-muted));text-transform:uppercase;letter-spacing:.4px;font-size:10px;font-weight:500}.tpl-meta-label-help{cursor:help;align-items:center;gap:4px;display:inline-flex}.tpl-help-icon{color:var(--color-text-subtle,var(--color-text-muted));opacity:.7;flex-shrink:0}.tpl-meta-label-help:hover .tpl-help-icon{opacity:1;color:var(--tpl-stage-fg,var(--color-text-muted))}.tpl-note{border-bottom:1px solid var(--color-border);color:var(--color-text-subtle,var(--color-text-muted));background:var(--surface-page,#f7fbfc);align-items:center;gap:7px;padding:7px 14px;font-size:11px;display:flex}.tpl-note svg{color:var(--color-text-subtle,var(--color-text-muted));opacity:.8;flex-shrink:0}.tpl-task-table{flex-direction:column;display:flex;overflow-x:auto}.tpl-task-head,.tpl-task-item{min-width:720px}.tpl-task-table[data-stage-offsets=false] .tpl-task-head,.tpl-task-table[data-stage-offsets=false] .tpl-task-item{min-width:620px}.tpl-task-head,.tpl-task-row{grid-template-columns:22px 116px minmax(130px,1fr) 248px 116px 112px 26px;align-items:center;gap:10px;padding:8px 14px;display:grid}.tpl-task-table[data-stage-offsets=false] .tpl-task-head,.tpl-task-table[data-stage-offsets=false] .tpl-task-row{grid-template-columns:22px 116px minmax(130px,1fr) 150px 116px 112px 26px}.tpl-task-head{color:var(--color-text-subtle,var(--color-text-muted));text-transform:uppercase;letter-spacing:.4px;border-bottom:1px solid var(--color-border);font-size:10px;font-weight:500}.tpl-task-item{border-bottom:1px solid var(--color-border)}.tpl-task-item:last-child{border-bottom:none}.tpl-task-url-row{background:var(--surface-page,#f7fbfc);grid-template-columns:110px 1fr;align-items:center;gap:10px;padding:6px 14px 10px 58px;display:grid}.tpl-task-url-row[data-kind=form]{border-left:2px solid var(--color-accent,var(--tpl-stage,#7c3aed))}.tpl-task-url-row[data-kind=external]{border-left:2px solid var(--tpl-stage,#2563eb)}.tpl-task-url-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.4px;align-items:center;gap:6px;font-size:11px;font-weight:500;display:inline-flex}.tpl-task-url-clear{color:var(--color-text-subtle,var(--color-text-muted));cursor:pointer;background:0 0;border:none;border-radius:3px;padding:4px 6px;font-family:inherit;font-size:11px}.tpl-task-url-clear:hover{color:var(--color-danger);background:var(--surface-alt,#f1f3f5)}.tpl-task-idx{color:var(--color-text-subtle,var(--color-text-muted));font-variant-numeric:tabular-nums;text-align:right;font-size:10px}.tpl-task-name{width:100%}.tpl-task-delete{color:var(--color-text-subtle,var(--color-text-muted));cursor:pointer;background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;padding:4px;display:inline-flex}.tpl-task-delete:hover{color:var(--color-danger);background:var(--surface-alt,#f1f3f5)}.tpl-task-photo-toggle{border:1px solid var(--color-border);color:var(--color-text-subtle,var(--color-text-muted));cursor:pointer;background:0 0;border-radius:4px;justify-content:center;align-items:center;width:22px;height:22px;padding:0;display:inline-flex}.tpl-task-photo-toggle:hover{border-color:var(--tpl-stage);color:var(--tpl-stage-fg)}.tpl-task-photo-toggle-on{background:var(--tpl-stage-bg);border-color:var(--tpl-stage);color:var(--tpl-stage-fg)}.tpl-task-empty{text-align:center;color:var(--color-text-subtle,var(--color-text-muted));padding:14px;font-size:12px;font-style:italic}.tpl-group-footer{border-top:1px solid var(--color-border);background:var(--surface-panel-solid,#fff);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 14px;display:flex}.tpl-add-task-btn{border:1px dashed var(--color-border-strong);color:var(--color-text);cursor:pointer;background:0 0;border-radius:5px;align-items:center;gap:6px;padding:6px 12px;font-family:inherit;font-size:12px;font-weight:500;display:inline-flex}.tpl-add-task-btn:hover{border-color:var(--color-text-muted)}.tpl-group-footer-spacer{flex:1}.tpl-field-types-label{color:var(--color-text-subtle,var(--color-text-muted));flex-shrink:0;font-size:11px}.tpl-field-type-btn{background:var(--surface-alt,#f1f3f5);border:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;white-space:nowrap;border-radius:4px;flex-shrink:0;padding:5px 10px;font-family:inherit;font-size:11px}.tpl-field-type-btn:disabled{cursor:not-allowed;opacity:.7}.tpl-delete-group-btn{border:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;white-space:nowrap;background:0 0;border-radius:4px;flex-shrink:0;align-items:center;gap:6px;margin-left:14px;padding:5px 10px;font-family:inherit;font-size:11px;font-weight:500;display:inline-flex}.tpl-delete-group-btn:hover{border-color:var(--color-danger);color:var(--color-danger);background:var(--surface-alt,#f1f3f5)}.tpl-toolbar-actions{align-items:center;gap:10px;display:flex}.tpl-view-toggle{background:var(--surface-alt,#f1f3f5);border-radius:6px;gap:0;padding:3px;display:inline-flex}.tpl-view-btn{font:inherit;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:6px;padding:5px 12px;font-size:12px;font-weight:500;display:inline-flex}.tpl-view-btn svg{opacity:.8}.tpl-view-btn-active{background:var(--surface-panel-solid,#fff);color:var(--color-text);box-shadow:0 1px 2px #0000000f}.tpl-timing-control{align-items:center;gap:6px;display:inline-flex}.tpl-timing-num{text-align:right;width:52px}.tpl-timing-control .ui-select-wrap:has(>.tpl-timing-unit){width:78px}.tpl-timing-control .ui-select-wrap:has(>.tpl-timing-dir){width:84px}.tpl-timing-control-compact{gap:5px}.tpl-type-control{align-items:center;gap:5px;display:inline-flex}.tpl-type-icon{color:var(--color-text-muted);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.tpl-type-control[data-type=photo] .tpl-type-icon,.tpl-type-control[data-type=form] .tpl-type-icon,.tpl-type-control[data-type=external] .tpl-type-icon{color:var(--tpl-stage-fg,var(--color-text))}.tpl-type-control .ui-select-wrap:has(>.tpl-type-select){width:84px}.tpl-timeline{background:var(--surface-panel-solid,#fff);border:1px solid var(--color-border);border-radius:8px;padding:14px 16px 18px}.tpl-tl-axis-head{color:var(--color-text-subtle,var(--color-text-muted));font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;margin-bottom:6px;padding-left:168px;font-size:11px;display:flex}.tpl-tl-axis-mid{color:var(--color-text-muted)}.tpl-tl-axis-end-right{text-align:right}.tpl-tl-rows{flex-direction:column;display:flex}.tpl-tl-row{border-top:1px solid var(--color-border);grid-template-columns:160px 1fr;align-items:stretch;gap:8px;min-height:46px;display:grid}.tpl-tl-row:first-child{border-top:none}.tpl-tl-row-label{align-items:center;gap:8px;min-width:0;padding:8px 0;display:flex}.tpl-tl-swatch{border-radius:3px;flex-shrink:0;width:9px;height:9px}.tpl-tl-row-name{color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:500;overflow:hidden}.tpl-tl-track{border-left:1px dashed var(--color-border);align-self:center;height:100%;min-height:46px;position:relative}.tpl-tl-zero{background:var(--tpl-stage,#2563eb);opacity:.5;border-radius:1px;width:2px;margin-left:-1px;position:absolute;top:4px;bottom:4px}.tpl-tl-row-empty{color:var(--color-text-subtle,var(--color-text-muted));font-size:11px;font-style:italic;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.tpl-tl-chip{background:var(--surface-panel-solid,#fff);max-width:180px;font:inherit;cursor:grab;touch-action:none;white-space:nowrap;border:1px solid;border-radius:999px;align-items:center;gap:5px;padding:4px 8px;font-size:11px;font-weight:500;display:inline-flex;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 1px 2px #00000014}.tpl-tl-chip:hover{z-index:3}.tpl-tl-chip-dragging{cursor:grabbing;z-index:5;box-shadow:0 3px 8px #0000002e}.tpl-tl-chip-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.tpl-tl-chip-name{color:var(--color-text);text-overflow:ellipsis;max-width:110px;overflow:hidden}.tpl-tl-chip-time{color:var(--color-text-muted);font-variant-numeric:tabular-nums}.tpl-tl-chip-static{cursor:default;box-shadow:none}.tpl-tl-note,.tpl-tl-unscheduled{color:var(--color-text-muted);font-size:12px}.tpl-tl-note{padding:10px 2px;line-height:1.5}.tpl-tl-unscheduled{border-top:1px solid var(--color-border);margin-top:14px;padding-top:12px}.tpl-tl-unscheduled-head{text-transform:uppercase;letter-spacing:.4px;color:var(--color-text-subtle,var(--color-text-muted));margin-bottom:8px;font-size:10px;font-weight:500}.tpl-tl-unscheduled-chips{flex-wrap:wrap;gap:8px;display:flex}.tpl-tl-unscheduled-chips .tpl-tl-chip{position:static;transform:none}.tpl-bottom-strip{background:var(--surface-panel-solid,#fff);border:1px solid var(--color-border);border-radius:8px;align-items:center;gap:12px;margin-top:18px;padding:12px 16px;display:flex;position:sticky;bottom:16px}.tpl-bottom-icon{color:var(--color-text-muted);flex-shrink:0}.tpl-bottom-status{color:var(--color-text-muted);white-space:nowrap;flex-shrink:0;align-items:center;gap:6px;font-size:11px;font-weight:600;display:inline-flex}.tpl-bottom-status-dot{background:var(--color-success,#2f9e44);border-radius:50%;width:7px;height:7px}.tpl-bottom-status-dirty{color:var(--color-warning,#b8860b)}.tpl-bottom-status-dirty .tpl-bottom-status-dot{background:var(--color-warning,#f0a500);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-warning,#f0a500)22%,transparent)}.tpl-stage-tab-dirty{background:var(--color-warning,#f0a500);border-radius:50%;flex-shrink:0;width:6px;height:6px}.tpl-bottom-msg{color:var(--color-text-muted);flex:1;font-size:12px}.tpl-bottom-msg strong{color:var(--color-text);font-weight:600}.tpl-bottom-error{color:var(--color-danger);font-size:12px;font-weight:500}.tpl-validation-banner{border:1px solid var(--color-danger-border);background:var(--color-danger-bg);border-radius:var(--radius-sm,6px);color:var(--color-danger);align-items:center;gap:8px;margin-bottom:12px;padding:8px 12px;font-size:12px;font-weight:500;display:flex}.tpl-validation-banner svg{flex-shrink:0}@media (max-width:768px){.tpl-header{flex-direction:column;gap:12px}.tpl-header-row{flex-direction:column;align-items:flex-start}.tpl-header-actions{flex-wrap:wrap}.tpl-stage-tabs{max-width:100%;display:flex;overflow-x:auto}.tpl-stage-tab{white-space:nowrap;flex:none}.tpl-toolbar{flex-direction:column;align-items:stretch;gap:10px}.tpl-toolbar-actions,.tpl-bottom-strip{flex-wrap:wrap}}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);background:var(--tt-brown);color:#fff;white-space:normal;text-align:center;pointer-events:none;opacity:0;z-index:1000;border-radius:6px;width:max-content;max-width:240px;padding:5px 8px;font-size:12px;font-weight:500;line-height:1.35;transition:opacity .11s,transform .11s;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)translateY(2px);box-shadow:0 4px 12px #0000002e}[data-tooltip]:hover:after,[data-tooltip]:focus-visible:after{opacity:1;transition-delay:.1s;transform:translate(-50%)translateY(0)}[data-tooltip][data-tooltip-pos=bottom]:after{top:calc(100% + 6px);bottom:auto;transform:translate(-50%)translateY(-2px)}[data-tooltip][data-tooltip-pos=bottom]:hover:after,[data-tooltip][data-tooltip-pos=bottom]:focus-visible:after{transform:translate(-50%)translateY(0)}@media (pointer:coarse){[data-tooltip]:after{display:none}}.ui-daterange{display:block;position:relative}.ui-daterange-trigger{justify-content:space-between;align-items:center;gap:var(--space-2);text-align:left;cursor:pointer;width:100%;font-family:var(--font-family-base);display:inline-flex}.ui-daterange-trigger-empty .ui-daterange-value{color:var(--color-text-subtle)}.ui-daterange-value{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.ui-daterange-icon{color:var(--color-text-muted);flex-shrink:0}.ui-daterange-trigger:hover .ui-daterange-icon{color:var(--color-text-strong)}.ui-daterange-shadow{opacity:0;pointer-events:none;border:0;width:1px;height:1px;margin:0;padding:0;position:absolute;inset:0}.ui-daterange-popover{z-index:60;background:var(--surface-panel-solid);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);width:max-content;max-width:calc(100vw - 16px);box-shadow:var(--shadow-lg);padding:var(--space-2);animation:.12s ease-out ui-daterange-pop}@keyframes ui-daterange-pop{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.ui-daterange-footer{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2)var(--space-2)0;margin-top:var(--space-1);border-top:1px solid var(--color-border-subtle);display:flex}.ui-daterange-clear,.ui-daterange-done{appearance:none;font-family:var(--font-family-base);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--motion-fast),color var(--motion-fast);background:0 0;border:0;padding:6px 10px}.ui-daterange-clear{color:var(--color-text-muted)}.ui-daterange-clear:hover{color:var(--color-text-strong);background:var(--surface-muted)}.ui-daterange-done{color:var(--color-primary-fg);background:var(--color-primary)}.ui-daterange-done:hover{background:var(--color-primary-hover)}.ui-daterange-done:focus-visible,.ui-daterange-clear:focus-visible{box-shadow:var(--shadow-focus);outline:none}.ui-daterange-popover .rdp-root{--rdp-accent-color:var(--color-primary);--rdp-accent-background-color:var(--color-primary-bg);--rdp-range_middle-background-color:var(--color-primary-bg);--rdp-range_middle-color:var(--color-text-strong);--rdp-range_start-color:var(--color-primary-fg);--rdp-range_end-color:var(--color-primary-fg);--rdp-range_start-date-background-color:var(--color-primary);--rdp-range_end-date-background-color:var(--color-primary);--rdp-today-color:var(--color-primary);--rdp-day-height:36px;--rdp-day-width:36px;--rdp-day_button-height:34px;--rdp-day_button-width:34px;--rdp-day_button-border-radius:var(--radius-pill);--rdp-selected-border:0;--rdp-nav_button-height:1.75rem;--rdp-nav_button-width:1.75rem;--rdp-nav-height:2rem;--rdp-months-gap:1.5rem;font-family:var(--font-family-base);font-size:var(--font-size-sm);color:var(--color-text);padding:var(--space-1)}.ui-daterange-popover .rdp-month_caption{font-weight:var(--font-weight-semibold);color:var(--color-text-strong)}.ui-daterange-popover .rdp-weekday{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.ui-daterange-popover .rdp-day_button{font-family:var(--font-family-base);font-size:var(--font-size-sm);border-radius:var(--radius-pill);transition:background var(--motion-fast),color var(--motion-fast)}.ui-daterange-popover .rdp-day_button:hover:not([disabled]){background:var(--color-primary-bg)}.ui-daterange-popover .rdp-day_button:focus-visible{box-shadow:var(--shadow-focus);outline:none}.ui-daterange-popover .rdp-today .rdp-day_button{font-weight:var(--font-weight-semibold)}.ui-daterange-popover .rdp-button_next,.ui-daterange-popover .rdp-button_previous{color:var(--color-text-strong);border-radius:var(--radius-sm)}.ui-daterange-popover .rdp-button_next:hover:not([disabled]),.ui-daterange-popover .rdp-button_previous:hover:not([disabled]){background:var(--surface-muted)}.ui-daterange-popover .rdp-chevron{fill:currentColor}.ui-daterange-popover .rdp-range_start .rdp-day_button,.ui-daterange-popover .rdp-range_end .rdp-day_button{background:var(--color-primary);color:var(--color-primary-fg)}.ui-daterange-popover .rdp-range_start:not(.rdp-range_end),.ui-daterange-popover .rdp-range_end:not(.rdp-range_start){background:linear-gradient(var(--rdp-gradient-direction,90deg),transparent 50%,var(--color-primary-bg)50%)}.ui-daterange-popover .rdp-range_end:not(.rdp-range_start){background:linear-gradient(var(--rdp-gradient-direction,90deg),var(--color-primary-bg)50%,transparent 50%)}
