:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f6f9;--surface:#fff;--border:#e2e8f0;--text:#0f172a;--muted:#64748b;--accent:#0d9488;--accent-strong:#0f766e;--danger:#b91c1c;--danger-bg:#fef2f2;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}body{background:var(--bg);min-height:100vh;color:var(--text);margin:0}small{font-size:.8rem;display:inline-block}code{font-size:.85rem}a{color:var(--accent-strong)}.shell{grid-template-columns:248px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#e2e8f0;background:#0f172a;flex-direction:column;gap:1rem;min-height:100dvh;padding:1.25rem 1rem;display:flex}.brand{align-items:center;gap:.75rem;display:flex}.brand--col{flex-direction:column;align-items:flex-start;gap:.45rem}.brand--center{text-align:left;justify-content:center}.brand--center.brand--col{text-align:center;align-items:center}.brand-logo{object-fit:contain;width:auto;max-width:100%;height:80px;display:block}.login-wrap .brand-logo{height:44px}.login-brand .brand-logo{height:52px}.sidebar .brand-sub{color:#94a3b8}.brand-sub{color:var(--muted);font-size:.8rem}.nav{flex-direction:column;flex:1;gap:0;min-height:0;margin-top:.75rem;margin-right:-2px;padding-right:2px;display:flex;overflow-y:auto}.nav-group{margin-top:.95rem}.nav-group:first-child{margin-top:0}.nav-group__toggle{color:#94a3b8eb;letter-spacing:.07em;text-transform:uppercase;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:10px;justify-content:space-between;align-items:center;gap:.5rem;width:100%;margin:0;padding:.45rem .85rem;font-family:inherit;font-size:.65rem;font-weight:600;transition:background .15s,color .15s;display:flex}.nav-group__toggle:hover{color:#e2e8f0;background:#94a3b81a}.nav-group--expanded .nav-group__toggle{color:#e2e8f0}.nav-group__chevron{opacity:.85;flex-shrink:0;transition:transform .2s;transform:rotate(-90deg)}.nav-group--expanded .nav-group__chevron{transform:rotate(0)}.nav-group__links{border-left:1px solid #94a3b82e;flex-direction:column;gap:.35rem;margin-top:.15rem;margin-left:.35rem;padding-left:.45rem;display:flex}.nav-item{color:inherit;border-radius:10px;padding:.65rem .85rem;font-size:.94rem;text-decoration:none;transition:background .18s}.nav-item:hover{background:#94a3b81f}.nav-item--active{background:#0d948840}.sidebar-footer{border-top:1px solid #94a3b833;flex-direction:column;gap:.75rem;margin-top:auto;padding-top:1rem;display:flex}.user-chip{font-size:.9rem}.user-chip small{color:var(--muted)}.btn-ghost,.btn-primary{cursor:pointer;border:none;border-radius:10px;padding:.55rem .95rem;font-size:.95rem;transition:opacity .15s,transform .12s}.btn-primary:disabled{opacity:.6}.btn-ghost{color:#e2e8f0;background:0 0;border:1px solid #94a3b859}.btn-primary{background:var(--accent);color:#fff;font-weight:600}.btn-primary:hover{background:var(--accent-strong)}.main{padding:1.75rem 2rem}.page-header h1{margin:0 0 .35rem;font-size:1.6rem}.page-header .muted{margin:0}.grid-metrics{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.card{border:1px solid var(--border);background:var(--surface);border-radius:14px;padding:1rem 1.1rem}.metric{color:inherit;text-decoration:none;transition:transform .12s,box-shadow .14s}.metric-value{font-size:1.85rem;font-weight:700}.metric:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0f172a14}.metric--with-bar{gap:.35rem}.dashboard-hero{background:linear-gradient(135deg,#fff 0%,#f0fdfa 100%);justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.dashboard-hero h1{margin:.15rem 0 .35rem}.dashboard-hero__score{min-width:180px}.dashboard-hero__score-label{align-items:center;gap:.35rem;display:inline-flex}.info-tooltip{cursor:help;outline:none;align-items:center;display:inline-flex;position:relative}.info-tooltip__icon{color:#1e293b;background:#e2e8f0;border-radius:999px;justify-content:center;align-items:center;width:1.05rem;height:1.05rem;font-family:Georgia,Times New Roman,serif;font-size:.7rem;font-style:italic;font-weight:700;line-height:1;transition:background .15s;display:inline-flex}.info-tooltip:hover .info-tooltip__icon,.info-tooltip:focus-visible .info-tooltip__icon{color:#fff;background:#0d9488}.info-tooltip__bubble{z-index:20;color:#e2e8f0;pointer-events:none;white-space:normal;background:#0f172a;border-radius:10px;flex-direction:column;gap:.4rem;width:max-content;max-width:min(280px,100vw - 2rem);padding:.75rem .85rem;font-size:.78rem;font-weight:400;line-height:1.4;display:none;position:absolute;top:calc(100% + .5rem);left:auto;right:0;box-shadow:0 12px 28px #0f172a47}.info-tooltip__bubble strong{color:#fff}.info-tooltip__bubble ul{flex-direction:column;gap:.2rem;margin:0;padding-left:1rem;display:flex}.info-tooltip__bubble li{list-style:outside}.info-tooltip__value{color:#94a3b8;font-variant-numeric:tabular-nums}.info-tooltip__legend{flex-wrap:wrap;gap:.3rem;margin-top:.15rem;display:flex}.info-tooltip__chip{border-radius:999px;align-items:center;padding:.1rem .45rem;font-size:.68rem;font-weight:600;display:inline-flex}.info-tooltip__chip--good{color:#6ee7b7;background:#10b9812e}.info-tooltip__chip--warn{color:#fcd34d;background:#f59e0b33}.info-tooltip__chip--danger{color:#fca5a5;background:#ef444433}.info-tooltip:hover .info-tooltip__bubble,.info-tooltip:focus-visible .info-tooltip__bubble,.info-tooltip:focus-within .info-tooltip__bubble{display:flex}.dashboard-hero__meta{flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:.7rem;display:flex}.dashboard-badge{color:#115e59;background:#ccfbf1;border-radius:999px;align-items:center;padding:.2rem .6rem;font-size:.78rem;font-weight:600;display:inline-flex}.dashboard-widget-strip{margin-bottom:1rem}.dashboard-widget-strip h3{margin:0}.widget-chips{flex-wrap:wrap;gap:.45rem;margin-top:.5rem;display:flex}.widget-chip{color:#3730a3;text-transform:capitalize;background:#e0e7ff;border-radius:999px;align-items:center;padding:.22rem .65rem;font-size:.78rem;font-weight:600;display:inline-flex}.dashboard-actions{margin-bottom:1rem}.dashboard-actions__list{flex-wrap:wrap;gap:.6rem;margin-top:.75rem;display:flex}.dashboard-pill{border-radius:999px;font-size:.88rem}.grid-metrics--dashboard{margin-bottom:1rem}.dashboard-priority{grid-template-columns:1.1fr 1fr;gap:1rem;margin-bottom:1rem;display:grid}.dashboard-section-head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.7rem;display:flex}.dashboard-section-head h3{margin:0}.priority-list{gap:.55rem;display:grid}.priority-item{color:inherit;background:#fafafa;border:1px solid #e2e8f0;border-radius:10px;grid-template-columns:auto 1fr auto;align-items:center;gap:.7rem;padding:.55rem .65rem;text-decoration:none;display:grid}.priority-item:hover{background:#f8fafc}.priority-pill{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:.16rem .45rem;font-size:.68rem;font-weight:700}.priority-pill--high{color:#991b1b;background:#fee2e2}.priority-pill--medium{color:#92400e;background:#fef3c7}.priority-pill--low{color:#1e40af;background:#dbeafe}.workflow-lanes{gap:.55rem;display:grid}.workflow-lane{color:inherit;background:#fafafa;border:1px solid #e2e8f0;border-radius:10px;gap:.1rem;padding:.6rem .7rem;text-decoration:none;display:grid}.workflow-lane strong{font-size:1.25rem;line-height:1.1}.workflow-lane:hover{background:#f8fafc}.dashboard-skeleton{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1rem;display:grid}.skeleton-block{background:linear-gradient(90deg,#f1f5f9,#e2e8f0,#f1f5f9) 0 0/220% 100%;min-height:98px;animation:1.2s linear infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.dashboard-focus{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;display:grid}.focus-stat{align-items:baseline;gap:.45rem;margin:.45rem 0 .7rem;display:flex}.focus-stat strong{font-size:1.3rem}.focus-stat span{color:var(--muted);font-size:.86rem}.progress-track{background:#e2e8f0;border-radius:999px;height:8px;overflow:hidden}.progress-fill{border-radius:inherit;background:linear-gradient(90deg,#14b8a6,#0d9488);height:100%}.progress-fill--warn{background:linear-gradient(90deg,#f59e0b,#d97706)}.progress-fill--danger{background:linear-gradient(90deg,#f97316,#dc2626)}.login-wrap{place-items:center;min-height:100vh;padding:1rem;display:grid}.login-card{width:min(420px,100%)}.login-brand{background:#0f172a;border-radius:10px;margin:-.15rem 0 1rem;padding:1.25rem 1rem 1.1rem}.login-brand .brand-sub{color:#94a3b8}.stack{flex-direction:column;gap:.95rem;margin-top:1rem;display:flex}.field span{margin-bottom:.35rem;font-size:.92rem;font-weight:600;display:block}.input-readonly{color:var(--muted);background:#f8fafc}.field input,.field select,.field textarea{border:1px solid var(--border);width:100%;font:inherit;background:var(--surface);color:var(--text);border-radius:10px;padding:.6rem .65rem}.field input:focus,.field select:focus,.field textarea:focus{border-color:#14b8a6;outline:none;box-shadow:0 0 0 3px #14b8a62e}.field input:disabled,.field select:disabled,.field textarea:disabled{color:#64748b;cursor:not-allowed;background:#f8fafc}.page-header--row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.toolbar{margin-bottom:1rem;padding:.85rem 1rem}.field--inline{align-items:center;gap:.75rem;margin:0;display:flex}.field--inline span{white-space:nowrap;margin:0}.field--inline input{width:min(420px,100%)}.field--compact{gap:.45rem}.field--compact span{color:var(--muted);font-size:.82rem}.field--compact select{width:4.5rem;padding:.45rem .5rem}.form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem 1.25rem;padding:1.25rem;display:grid}.field--full{grid-column:1/-1}.form-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.btn-inline{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.main .btn-light{background:var(--surface);color:var(--text);border:1px solid var(--border);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.pager{align-items:center;gap:1rem;margin-top:1rem;display:flex}.toolbar--row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.toolbar-actions{flex-wrap:wrap;gap:.5rem;display:flex}.settings-ai__code{background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:.08rem .28rem;font-size:.8em}.settings-ai__toggle{align-items:flex-start;gap:.5rem}.settings-ai__toggle input{margin-top:.2rem}.settings-ai__thread{border:1px solid var(--border);background:var(--bg);scroll-behavior:smooth;border-radius:8px;flex-direction:column;gap:.65rem;max-height:min(52vh,28rem);padding:.65rem .5rem;display:flex;overflow-y:auto}@keyframes settings-ai-bubble-in-user{0%{opacity:0;transform:translate(10px,8px)scale(.96)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes settings-ai-bubble-in-assistant{0%{opacity:0;transform:translate(-10px,8px)scale(.96)}to{opacity:1;transform:translate(0)scale(1)}}.settings-ai__bubble--animate-user{animation:.45s cubic-bezier(.22,1,.36,1) both settings-ai-bubble-in-user}.settings-ai__bubble--animate-assistant{animation:.45s cubic-bezier(.22,1,.36,1) both settings-ai-bubble-in-assistant}.settings-ai__bubble--typing{border-style:dashed;border-color:color-mix(in srgb, var(--accent) 28%, var(--border));background:linear-gradient(135deg, color-mix(in srgb, var(--surface) 92%, var(--accent) 8%), var(--surface));background-size:200% 200%;min-height:2.75rem;animation:2.2s ease-in-out infinite settings-ai-typing-sheen}@keyframes settings-ai-typing-sheen{0%,to{background-position:0%}50%{background-position:100%}}.settings-ai__typing{align-items:center;gap:.4rem;padding:.35rem 0 .15rem;display:flex}.settings-ai__typing-dot{background:color-mix(in srgb, var(--accent) 75%, var(--text,#334155));border-radius:50%;width:.42rem;height:.42rem;animation:1.05s ease-in-out infinite settings-ai-dot-bounce}.settings-ai__typing-dot:nth-child(2){animation-delay:.14s}.settings-ai__typing-dot:nth-child(3){animation-delay:.28s}@keyframes settings-ai-dot-bounce{0%,55%,to{opacity:.45;transform:translateY(0)}28%{opacity:1;transform:translateY(-7px)}}.settings-ai__send--busy{position:relative;overflow:hidden}.settings-ai__send--busy:after{content:"";pointer-events:none;background:linear-gradient(105deg,#0000 0%,#ffffff38 45%,#0000 70%);animation:1.1s ease-in-out infinite settings-ai-send-shimmer;position:absolute;inset:0}@keyframes settings-ai-send-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.settings-ai__bubble{border:1px solid var(--border);background:var(--surface);border-radius:8px;max-width:92%;padding:.5rem .65rem}.settings-ai__bubble--user{border-color:color-mix(in srgb, var(--accent) 35%, var(--border));align-self:flex-end}.settings-ai__bubble--assistant{align-self:flex-start}.settings-ai__bubble-label{margin-bottom:.25rem;font-weight:600}.settings-ai__bubble-body{white-space:pre-wrap;font-size:.92rem;line-height:1.5}.settings-ai__md{white-space:normal}.settings-ai__md :first-child{margin-top:0}.settings-ai__md :last-child{margin-bottom:0}.settings-ai__md p{margin:.35em 0}.settings-ai__md h1,.settings-ai__md h2,.settings-ai__md h3,.settings-ai__md h4{margin:.65em 0 .35em;font-weight:700;line-height:1.25}.settings-ai__md h1{font-size:1.15rem}.settings-ai__md h2{font-size:1.05rem}.settings-ai__md h3,.settings-ai__md h4{font-size:.98rem}.settings-ai__md ul,.settings-ai__md ol{margin:.35em 0;padding-left:1.35rem}.settings-ai__md li{margin:.2em 0}.settings-ai__md li>p{margin:.15em 0}.settings-ai__md blockquote{border-left:3px solid color-mix(in srgb, var(--accent) 45%, var(--border));background:color-mix(in srgb, var(--bg) 88%, var(--surface));color:var(--text-muted,inherit);margin:.5em 0;padding:.35rem .65rem}.settings-ai__md code{background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:.12em .35em;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.86em}.settings-ai__md pre{background:var(--bg);border:1px solid var(--border);border-radius:6px;margin:.5em 0;padding:.55rem .65rem;font-size:.82rem;line-height:1.45;overflow-x:auto}.settings-ai__md pre code{font-size:inherit;background:0 0;border:none;padding:0}.settings-ai__md table{border-collapse:collapse;width:100%;margin:.5em 0;font-size:.88rem}.settings-ai__md th,.settings-ai__md td{border:1px solid var(--border);text-align:left;vertical-align:top;padding:.35rem .5rem}.settings-ai__md th{background:color-mix(in srgb, var(--bg) 70%, var(--surface));font-weight:600}.settings-ai__md a{color:var(--accent-strong,var(--accent));word-break:break-word}.settings-ai__md hr{border:none;border-top:1px solid var(--border);margin:.75em 0}.floating-ai__fab{z-index:10020;cursor:pointer;background:linear-gradient(145deg, var(--accent), var(--accent-strong));color:#fff;border:none;border-radius:50%;justify-content:center;align-items:center;width:3.35rem;height:3.35rem;transition:transform .15s,box-shadow .15s;display:flex;position:fixed;bottom:1.25rem;right:1.25rem;box-shadow:0 4px 14px #0f172a33,0 1px 3px #0f172a1f}.floating-ai__fab:hover{transform:scale(1.04);box-shadow:0 6px 20px #0f172a38,0 2px 6px #0f172a24}.floating-ai__fab:focus-visible{outline:2px solid var(--accent-strong);outline-offset:3px}.floating-ai__fab-icon{justify-content:center;align-items:center;transition:transform .35s cubic-bezier(.34,1.4,.52,1);display:flex}.floating-ai__fab:active .floating-ai__fab-icon{transform:scale(.92)}.floating-ai--thinking .floating-ai__fab{animation:1.6s ease-in-out infinite floating-ai-fab-thinking}@keyframes floating-ai-fab-thinking{0%,to{box-shadow:0 4px 14px #0f172a33, 0 1px 3px #0f172a1f, 0 0 0 0 color-mix(in srgb, var(--accent) 55%, transparent)}50%{box-shadow:0 4px 18px #0f172a3d,0 2px 6px #0f172a24,0 0 0 10px #0000}}.floating-ai__backdrop{z-index:10010;cursor:pointer;background:#0f172a47;border:none;margin:0;padding:0;animation:.32s both floating-ai-backdrop-in;position:fixed;inset:0}@keyframes floating-ai-backdrop-in{0%{opacity:0}to{opacity:1}}.floating-ai__panel{z-index:10015;transform-origin:100% 100%;flex-direction:column;width:min(26rem,100vw - 2rem);max-height:min(72vh,34rem);padding:0;animation:.42s cubic-bezier(.34,1.15,.52,1) both floating-ai-panel-in;display:flex;position:fixed;bottom:5.5rem;right:1.25rem;overflow:hidden;box-shadow:0 12px 40px #0f172a2e,0 4px 12px #0f172a14}@keyframes floating-ai-panel-in{0%{opacity:0;transform:translateY(18px)scale(.92)}to{opacity:1;transform:translateY(0)scale(1)}}.floating-ai__panel-head{border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.85rem 1rem;display:flex}.floating-ai__panel-actions{flex-shrink:0;align-items:center;gap:.1rem;display:flex}.floating-ai__expand{border-radius:6px;justify-content:center;align-items:center;min-width:auto;padding:.28rem .45rem;display:flex}.floating-ai__expand:focus-visible{outline:2px solid var(--accent-strong);outline-offset:2px}.floating-ai__panel.floating-ai__panel--expanded{bottom:auto;top:max(.5rem, env(safe-area-inset-top,0px));height:calc(100vh - max(.75rem, env(safe-area-inset-top,0px)) - max(.5rem, env(safe-area-inset-bottom,0px)));transform-origin:top;width:min(54rem,100vw - 2rem);max-height:none;transition:width .22s,height .22s,transform .22s;left:50%;right:auto;transform:translate(-50%)}.floating-ai__body--expanded,.floating-ai__chat-root--expanded{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.floating-ai__chat-root--expanded .settings-ai__form,.floating-ai__chat-root--expanded>.banner{flex-shrink:0}.floating-ai__thread.floating-ai__thread--expanded{flex:auto;min-height:10rem;max-height:none;overflow-y:auto}.floating-ai__title{margin:0;font-size:1.05rem;font-weight:650}.floating-ai__sub{margin:.2rem 0 0;line-height:1.35}.floating-ai__close{min-width:auto;padding:.15rem .45rem;font-size:1.35rem;line-height:1}.floating-ai__body{background:var(--surface);flex:1;min-height:0;padding:.75rem 1rem 1rem;overflow-y:auto}.floating-ai__thread{max-height:min(38vh,300px)}.floating-ai__banner{font-size:.85rem}.floating-ai__toggle span{font-size:.82rem}.floating-ai__form .form-actions{flex-wrap:wrap}@media (width<=900px){.floating-ai__panel{width:calc(100vw - 1.5rem);max-height:min(75vh,36rem);bottom:5rem;right:.75rem}.floating-ai__panel.floating-ai__panel--expanded{transform-origin:top;width:auto;left:.75rem;right:.75rem;transform:none}.floating-ai__fab{bottom:.85rem;right:.75rem}}@media (prefers-reduced-motion:reduce){.settings-ai__thread{scroll-behavior:auto}.settings-ai__bubble--animate-user,.settings-ai__bubble--animate-assistant,.settings-ai__bubble--typing{animation:none}.settings-ai__typing-dot{opacity:.7;animation:none}.settings-ai__send--busy:after{opacity:0;animation:none}.floating-ai__backdrop,.floating-ai__panel,.floating-ai--thinking .floating-ai__fab{animation:none}.floating-ai__fab-icon,.floating-ai__panel.floating-ai__panel--expanded{transition:none}}.tasks-page-header{align-items:flex-start}.tasks-page-header__lede{max-width:42rem;margin-top:.25rem;line-height:1.45}.tasks-page-header__count{margin-top:.35rem}.tasks-page-header__actions{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.tasks-view-switcher{background:var(--bg);border:1px solid var(--border);border-radius:10px;flex-wrap:wrap;gap:.15rem;padding:.2rem;display:inline-flex}.tasks-view-switcher__link{color:var(--muted);border-radius:8px;padding:.4rem .75rem;font-size:.84rem;font-weight:500;line-height:1.2;text-decoration:none;transition:background-color .12s,color .12s}.tasks-view-switcher__link:hover{color:var(--text);background:color-mix(in srgb, var(--surface) 85%, var(--border))}.tasks-view-switcher__link--active{color:var(--accent-strong);background:var(--surface);box-shadow:0 1px 2px #0f172a0f}.tasks-toolbar__filters{flex-wrap:wrap;align-items:center;gap:.75rem 1rem;display:flex}.tasks-board-skeleton{padding:1rem}.tasks-board-skeleton__cols{scroll-snap-type:x proximity;gap:1rem;padding-bottom:.25rem;display:flex;overflow-x:auto}.tasks-board-skeleton__col{scroll-snap-align:start;flex:0 0 200px}.tasks-board-skeleton__title{background:linear-gradient(90deg, var(--border), var(--bg), var(--border));background-size:200% 100%;border-radius:4px;width:55%;height:.85rem;margin-bottom:.65rem;animation:1.1s ease-in-out infinite tasks-shimmer}.tasks-board-skeleton__card{background:linear-gradient(90deg, var(--border), var(--bg), var(--border));background-size:200% 100%;border-radius:8px;height:3.25rem;margin-bottom:.5rem;animation:1.1s ease-in-out infinite tasks-shimmer}.tasks-board-skeleton__card--short{width:92%;height:2.75rem}@keyframes tasks-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.tasks-timeline-skeleton{padding:.85rem 1rem}.tasks-timeline-skeleton__ruler{background:linear-gradient(90deg, var(--border), var(--bg), var(--border));background-size:200% 100%;border-radius:4px;width:70%;max-width:28rem;height:.75rem;margin-bottom:.85rem;animation:1.1s ease-in-out infinite tasks-shimmer}.tasks-timeline-skeleton__row{grid-template-columns:minmax(140px,200px) 1fr;align-items:center;gap:.75rem;margin-bottom:.65rem;display:grid}.tasks-timeline-skeleton__row:before,.tasks-timeline-skeleton__row:after{content:"";background:linear-gradient(90deg, var(--border), var(--bg), var(--border));background-size:200% 100%;border-radius:4px;height:.85rem;animation:1.1s ease-in-out infinite tasks-shimmer}.tasks-timeline-skeleton__row:after{height:1.35rem}.tasks-timeline-skeleton__row--short:before{width:80%}.filters-grid{flex-wrap:wrap;align-items:flex-end;gap:.75rem 1rem;width:100%;margin-top:.5rem;display:flex}.empty-state-inline{flex-direction:column;gap:.35rem;padding:.35rem 0;display:flex}.table--readable thead th{z-index:1;background:#f8fafc;position:sticky;top:0}.table--readable tbody tr:hover{background:#f8fafc}.table--readable td{vertical-align:middle}.status-chip{color:#0f172a;white-space:nowrap;background:#e2e8f0;border-radius:999px;align-items:center;padding:.18rem .55rem;font-size:.76rem;font-weight:600;line-height:1.2;display:inline-flex}.status-chip--approved,.status-chip--completed,.status-chip--delivered,.status-chip--paid{color:#166534;background:#dcfce7}.status-chip--in-progress,.status-chip--in-transit,.status-chip--partial,.status-chip--under-review,.status-chip--proposal-sent{color:#1e40af;background:#dbeafe}.status-chip--pending,.status-chip--draft,.status-chip--new-lead,.status-chip--requested,.status-chip--rfq-sent{color:#92400e;background:#fef3c7}.status-chip--cancelled,.status-chip--rejected,.status-chip--lost,.status-chip--overdue,.status-chip--damaged{color:#991b1b;background:#fee2e2}.table-actions{white-space:nowrap}.table-actions--split,.detail-actions{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.project-hero{margin-bottom:1rem}.project-hero-main{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.detail-action-more{position:relative}.detail-action-more>summary{list-style:none}.detail-action-more>summary::-webkit-details-marker{display:none}.detail-action-menu{border:1px solid var(--border);z-index:5;background:#fff;border-radius:12px;width:220px;display:grid;position:absolute;top:calc(100% + .35rem);right:0;overflow:hidden;box-shadow:0 10px 24px #0206171f}.detail-action-menu a{color:var(--text);border-bottom:1px solid #f1f5f9;padding:.55rem .7rem;font-size:.88rem;text-decoration:none;display:block}.detail-action-menu a:last-child{border-bottom:none}.detail-action-menu a:hover{background:#f8fafc}.header-action-group{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.detail-dl{margin:0;padding:1rem 1.25rem}.detail-dl__row{border-bottom:1px solid var(--border,#e2e8f0);grid-template-columns:minmax(8rem,14rem) 1fr;gap:.5rem 1.25rem;padding:.55rem 0;display:grid}.detail-dl__row:last-child{border-bottom:none}.detail-dl dt{color:var(--muted);margin:0;font-size:.82rem;font-weight:600}.detail-dl dd{word-break:break-word;margin:0;font-size:.95rem}.detail-dd--pre{white-space:pre-wrap;word-break:break-word}.invoice-branding-logos__row{flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin-top:.35rem;display:flex}.invoice-branding-thumb{object-fit:contain;border:1px solid var(--border,#e2e8f0);background:#fff;border-radius:4px;max-width:180px;max-height:52px;padding:4px}.rte-wrap{border:1px solid var(--border,#e2e8f0);background:#fff;border-radius:6px;overflow:hidden}.rte-wrap--disabled{opacity:.65;pointer-events:none}.rte-toolbar{border-bottom:1px solid var(--border,#e2e8f0);background:#f8fafc;flex-wrap:wrap;gap:.35rem;padding:.5rem .6rem;display:flex}.rte-btn{padding:.25rem .5rem;font-size:.8rem}.rte-editor{outline:none;min-height:220px;padding:.75rem 1rem;font-size:.95rem;line-height:1.45}.rte-editor:focus{box-shadow:inset 0 0 0 1px #3b82f659}.detail-nested{margin-top:1.25rem;padding:1rem 1.25rem}.detail-nested__title{margin:0 0 .75rem;font-size:1.05rem;font-weight:600}.detail-nested__empty{margin:0}.detail-table-wrap{margin:0 -.25rem;overflow-x:auto}.detail-table{border-collapse:collapse;width:100%;font-size:.88rem}.detail-table th,.detail-table td{text-align:left;border-bottom:1px solid var(--border,#e2e8f0);vertical-align:top;padding:.45rem .6rem}.detail-table th{color:var(--muted);white-space:nowrap;font-size:.8rem;font-weight:600}.detail-table tbody tr:last-child td{border-bottom:none}.detail-table td{word-break:break-word;max-width:14rem}.detail-grid{gap:1.25rem;display:grid}.detail-group-head{margin-top:.2rem}.detail-group-head h2{margin:0;font-size:1.2rem}.detail-group-head p{margin:.2rem 0 0}.detail-kpis{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;margin-bottom:.9rem;display:grid}.detail-kpi{padding:.75rem .9rem}.detail-kpi .metric-value{font-size:1.4rem;line-height:1.1}.detail-jump-links{flex-wrap:wrap;gap:.8rem;margin-bottom:1rem;padding:.7rem .9rem;display:flex}.detail-jump-links a{font-size:.86rem;font-weight:600;text-decoration:none}.detail-tabs{flex-wrap:wrap;gap:.55rem;margin-bottom:1rem;padding:.55rem;display:flex}.detail-tab{border:1px solid var(--border);color:var(--text);cursor:pointer;background:#fff;border-radius:10px;padding:.45rem .75rem;font-size:.86rem;font-weight:600}.detail-tab:hover{background:#f8fafc}.detail-tab--active{color:var(--accent-strong);background:#0d94881f;border-color:#0d948859}.link-button{cursor:pointer;background:0 0;border:none;padding:0}.detail-section,.detail-meta{padding:1.1rem 1.25rem}.detail-section-head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.detail-section-head h2{margin:0;font-size:1.1rem}.meta-dl{grid-template-columns:auto 1fr;gap:.35rem 1.25rem;margin:0;font-size:.93rem;display:grid}.meta-dl dt{color:var(--muted);font-weight:600}.meta-dl dd{margin:0}.table--compact th,.table--compact td{padding:.45rem .55rem;font-size:.88rem}.form-boq{padding:1.25rem}.boq-lines-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin:1.5rem 0 .75rem;display:flex}.boq-lines-head h2{margin:0;font-size:1.1rem}.boq-lines-actions{flex-wrap:wrap;gap:.5rem;display:flex}.boq-lines{margin-bottom:.75rem}.table-input{border:1px solid var(--border);width:100%;min-width:4rem;font:inherit;border-radius:8px;padding:.35rem .45rem;font-size:.88rem}.btn-icon{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.15rem .35rem;font-size:1.25rem;line-height:1}.btn-icon:hover{color:var(--danger);background:#f1f5f9}.muted{color:var(--muted)}.small{font-size:.85rem}.banner{border-radius:12px;margin:.75rem 0;padding:.75rem;font-size:.93rem}.banner--error{background:var(--danger-bg);color:var(--danger);border:1px solid #fecaca}.link-inline{font-size:.82rem;font-weight:600}.reports-hero{background:linear-gradient(135deg,#fff 0%,#eff6ff 100%);margin-bottom:1rem}.reports-hero h1{margin:0 0 .25rem}.reports-hero__top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.reports-hero__actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.reports-toolbar{flex-wrap:wrap;gap:.45rem;margin:.85rem 0 .5rem;display:flex}.reports-toolbar__btn{border:1px solid var(--border);color:var(--text);cursor:pointer;background:#fff;border-radius:999px;padding:.35rem .75rem;font-family:inherit;font-size:.82rem;font-weight:600;transition:background .15s,border-color .15s}.reports-toolbar__btn:hover{background:#f8fafc}.reports-toolbar__btn--active{color:var(--accent-strong);background:#0d948824;border-color:#0d948873}.reports-filters{margin-bottom:1rem}.reports-filters__row{flex-wrap:wrap;align-items:flex-end;gap:.85rem 1rem;display:flex}.reports-filters__field span{color:var(--muted);font-size:.78rem}.reports-filters__field input,.reports-filters__select{min-width:10rem;margin-top:.25rem}.reports-filters__actions{flex-wrap:wrap;gap:.5rem;margin-left:auto;display:flex}.reports-filters__presets{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.45rem;margin-top:.75rem;padding-top:.75rem;display:flex}.reports-filters__applied{margin:.65rem 0 0;line-height:1.45}.reports-kpi--warn{color:#c2410c}.cashflow-legend{flex-wrap:wrap;align-items:center;gap:1rem;margin:.5rem 0 0;display:flex}.legend-swatch{vertical-align:middle;border-radius:3px;width:12px;height:12px;margin-right:.35rem;display:inline-block}.legend-swatch--in{background:linear-gradient(90deg,#14b8a6,#0d9488)}.legend-swatch--out{background:linear-gradient(90deg,#f59e0b,#d97706)}.report-section h3{margin:0}.reports-hero__kpis{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.8rem;margin-top:.85rem;display:grid}.reports-hero__kpis .metric-value{font-size:1.35rem}.report-bars{gap:.55rem;margin-bottom:.8rem;display:grid}.report-bar__label{justify-content:space-between;gap:.75rem;margin-bottom:.2rem;font-size:.86rem;display:flex}.cashflow-viz{gap:.6rem;margin-bottom:.85rem;display:grid}.cashflow-row{grid-template-columns:84px minmax(0,1fr) minmax(180px,240px);align-items:center;gap:.7rem;display:grid}.cashflow-row__month{color:var(--muted);font-size:.82rem}.cashflow-row__bars{gap:.3rem;display:grid}.cashflow-row__values{justify-content:space-between;gap:.6rem;font-size:.82rem;display:flex}.table-wrap{overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:.93rem}.table th{text-align:left;border-bottom:1px solid var(--border);color:var(--muted);padding:.65rem .85rem}.table td{border-bottom:1px solid #f1f5f9;padding:.68rem .85rem}.notifications-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.notification-card{margin:0}.notification-card--read{opacity:.72}.notification-card__head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.notification-card__msg{margin:.35rem 0 0;font-size:.93rem;line-height:1.45}.notification-card__actions{flex-wrap:wrap;gap:.5rem;margin-top:.65rem;display:flex}.kanban-board{scroll-snap-type:x proximity;align-items:flex-start;gap:1rem;padding-bottom:.5rem;display:flex;overflow-x:auto}.kanban-column{scroll-snap-align:start;background:color-mix(in srgb, var(--surface) 92%, var(--bg));border:1px solid var(--border);border-top-width:3px;border-top-color:var(--border);border-radius:10px;flex:0 0 248px;min-width:220px;min-height:4.5rem;padding:.55rem .7rem .85rem}.kanban-column[data-status=pending]{border-top-color:#94a3b8}.kanban-column[data-status=in_progress]{border-top-color:#0ea5e9}.kanban-column[data-status=completed]{border-top-color:#10b981}.kanban-column[data-status=cancelled]{border-top-color:#cbd5e1}.kanban-column[data-status=other]{border-top-color:#a78bfa}.kanban-column__title{text-transform:uppercase;letter-spacing:.045em;color:var(--muted);justify-content:space-between;align-items:center;gap:.5rem;margin:0 0 .55rem;font-size:.72rem;font-weight:650;display:flex}.kanban-column__count{color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:.1rem .45rem;font-size:.7rem;font-weight:700;line-height:1.2}.kanban-column__empty{text-align:center;border:1px dashed var(--border);border-radius:6px;margin:0 0 .35rem;padding:.35rem .25rem;font-size:.78rem}.kanban-card{background:var(--surface);border:1px solid var(--border);color:inherit;border-radius:8px;margin-bottom:.5rem;padding:.55rem .7rem;font-size:.9rem;text-decoration:none;transition:border-color .12s,box-shadow .12s;display:block;box-shadow:0 1px #0f172a0a}.kanban-card:hover{border-color:var(--accent);box-shadow:0 2px 8px #0f172a0f}.kanban-card__title{font-weight:550;line-height:1.35}.kanban-card:hover .kanban-card__title{color:var(--accent-strong)}.kanban-card__meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.35rem .5rem;margin-top:.35rem;font-size:.75rem;display:flex}.kanban-card__project{color:var(--text);font-size:.72rem;font-weight:500}.kanban-card__due{font-size:.72rem}.kanban-card__footer{margin-top:.4rem}.kanban-card__priority{text-transform:uppercase;letter-spacing:.03em;color:var(--accent-strong);background:color-mix(in srgb, var(--accent) 12%, var(--surface));border-radius:4px;padding:.12rem .35rem;font-size:.68rem;font-weight:600;display:inline-block}.task-timeline{--task-timeline-span:14}.task-timeline__chips{flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.45rem;display:flex}.task-timeline__chip{color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:999px;align-items:center;padding:.2rem .55rem;font-size:.78rem;font-weight:500;display:inline-flex}.task-timeline__chip--muted{color:var(--muted);font-weight:450}.task-timeline__chip--today{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 35%, var(--border));background:var(--danger-bg)}.task-timeline__ruler-row{grid-template-columns:minmax(180px,240px) 1fr;align-items:center;gap:.65rem;min-width:520px;margin-bottom:.45rem;display:grid}.task-timeline__ruler-spacer{min-width:0}.task-timeline__ruler-track{background:var(--bg);border:1px solid var(--border);border-radius:6px;justify-content:space-between;align-items:center;gap:.5rem;padding:.25rem .35rem;font-size:.72rem;display:flex}.task-timeline__ruler-mid{text-align:center;color:var(--muted);flex:1;font-size:.7rem}.task-timeline__empty{margin:.75rem 0 .25rem}.task-timeline__track{min-width:520px}.task-timeline__row{border-bottom:1px solid var(--border);color:inherit;grid-template-columns:minmax(180px,240px) 1fr;align-items:center;gap:.65rem;padding:.45rem 0;text-decoration:none;display:grid}.task-timeline__row:last-child{border-bottom:none}.task-timeline__row:hover .task-timeline__name{color:var(--accent-strong)}.task-timeline__title{z-index:1;background:linear-gradient(90deg, var(--surface) 88%, transparent);flex-direction:column;gap:.2rem;min-width:0;padding-right:.35rem;display:flex;position:sticky;left:0}.task-timeline__name{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:550;overflow:hidden}.task-timeline__subtitle{flex-wrap:wrap;align-items:center;gap:.15rem;line-height:1.35;display:inline-flex}.task-timeline__dot{opacity:.55}.task-timeline__bar-wrap{--day-pct:calc(100% / var(--task-timeline-span,14));background-color:var(--bg);background-image:repeating-linear-gradient(90deg, transparent 0, transparent calc(var(--day-pct) * 7 - 1px), color-mix(in srgb, var(--border) 55%, transparent) calc(var(--day-pct) * 7 - 1px), color-mix(in srgb, var(--border) 55%, transparent) calc(var(--day-pct) * 7));border:1px solid var(--border);border-radius:6px;height:1.35rem;position:relative}.task-timeline__today{background:var(--danger);opacity:.88;z-index:2;pointer-events:none;border-radius:1px;width:2px;margin-left:-1px;position:absolute;top:0;bottom:0}.task-timeline__bar{background:linear-gradient(90deg, var(--accent), var(--accent-strong));z-index:1;border-radius:4px;min-width:4px;position:absolute;top:3px;bottom:3px;box-shadow:0 1px 2px #0f172a14}.gantt-frappe-wrap{--g-bar-color:color-mix(in srgb, var(--accent) 28%, var(--surface));--g-bar-border:var(--accent-strong);--g-arrow-color:var(--accent-strong);--g-header-background:var(--surface);--g-actions-background:var(--bg);--g-row-color:var(--surface);--g-row-border-color:var(--border);--g-border-color:var(--border);--g-tick-color:var(--border);--g-tick-color-thick:color-mix(in srgb, var(--border) 70%, var(--text));--g-text-dark:var(--text);--g-text-muted:var(--muted);--g-progress-color:color-mix(in srgb, var(--accent) 50%, var(--surface));--g-today-highlight:var(--accent-strong);--g-popup-actions:var(--bg);--g-weekend-highlight-color:color-mix(in srgb, var(--border) 40%, transparent)}@media (width<=900px){.shell{grid-template-columns:1fr}.sidebar{flex-direction:column;align-items:stretch;min-height:auto}.nav{flex-flow:column;width:100%;max-height:min(55vh,28rem);overflow-y:auto}.sidebar-footer{flex-flow:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-top:.75rem}.toolbar--row{flex-direction:column;align-items:stretch}.toolbar-actions{justify-content:space-between;width:100%}.field--inline input{width:100%}.detail-action-menu{width:100%;margin-top:.35rem;position:static}.dashboard-hero{flex-direction:column}.dashboard-hero__score{width:100%}.info-tooltip__bubble{max-width:min(280px,100vw - 2rem);left:0;right:auto}.dashboard-priority{grid-template-columns:1fr}.cashflow-row{grid-template-columns:1fr;gap:.35rem}.cashflow-row__values{justify-content:flex-start}}:root{--g-arrow-color:#1f2937;--g-bar-color:#fff;--g-bar-border:#fff;--g-tick-color-thick:#ededed;--g-tick-color:#f3f3f3;--g-actions-background:#f3f3f3;--g-border-color:#ebeff2;--g-text-muted:#7c7c7c;--g-text-light:#fff;--g-text-dark:#171717;--g-progress-color:#dbdbdb;--g-handle-color:#37352f;--g-weekend-label-color:#dcdce4;--g-expected-progress:#c4c4e9;--g-header-background:#fff;--g-row-color:#fdfdfd;--g-row-border-color:#c7c7c7;--g-today-highlight:#37352f;--g-popup-actions:#ebeff2;--g-weekend-highlight-color:#f7f7f7}html[data-theme=dark]{--g-arrow-color:#e5e5e5;--g-bar-color:#2a2a2a;--g-bar-border:#3a3a3a;--g-tick-color-thick:#1a1a1a;--g-tick-color:#0a0a0a;--g-actions-background:#1a1a1a;--g-border-color:#2a2a2a;--g-text-muted:#999;--g-text-light:#fff;--g-text-dark:#f5f5f5;--g-progress-color:#4a4a4a;--g-handle-color:#d0d0d0;--g-weekend-label-color:#3a3a3a;--g-expected-progress:#5a5a5a;--g-header-background:#0a0a0a;--g-row-color:#141414;--g-row-border-color:#2a2a2a;--g-today-highlight:#999;--g-popup-actions:#1a1a1a;--g-weekend-highlight-color:#0f0f0f}.gantt-container{height:var(--gv-grid-height);isolation:isolate;border-radius:8px;width:100%;font-size:12px;line-height:14.5px;position:relative;overflow:auto}.gantt-container .popup-wrapper{background:var(--g-header-background);z-index:1000;border-radius:5px;width:max-content;padding:10px;position:absolute;top:0;left:0;box-shadow:0 10px 24px -3px #0003}.gantt-container .popup-wrapper .title{color:var(--g-text-dark);margin-bottom:2px;font-size:.85rem;font-weight:650;line-height:15px}.gantt-container .popup-wrapper .subtitle{color:var(--g-text-dark);margin-bottom:5px;font-size:.8rem}.gantt-container .popup-wrapper .details{color:var(--g-text-muted);font-size:.7rem}.gantt-container .popup-wrapper .actions{margin-top:10px;margin-left:3px}.gantt-container .popup-wrapper .action-btn{background-color:var(--g-popup-actions);border:none;border-right:1px solid var(--g-border-color);padding:5px 8px}.gantt-container .popup-wrapper .action-btn:hover{filter:brightness(97%)}.gantt-container .popup-wrapper .action-btn:first-child{border-top-left-radius:4px;border-bottom-left-radius:4px}.gantt-container .popup-wrapper .action-btn:last-child{border-right:none;border-top-right-radius:4px;border-bottom-right-radius:4px}.gantt-container .grid-header{height:calc(var(--gv-lower-header-height) + var(--gv-upper-header-height) + 10px);background-color:var(--g-header-background);border-bottom:1px solid var(--g-row-border-color);z-index:1000;position:sticky;top:0;left:0}.gantt-container .lower-text,.gantt-container .upper-text{text-anchor:middle}.gantt-container .upper-header{height:var(--gv-upper-header-height)}.gantt-container .lower-header{height:var(--gv-lower-header-height)}.gantt-container .lower-text{width:calc(var(--gv-column-width) * .8);height:calc(var(--gv-lower-header-height) * .8);margin:0 calc(var(--gv-column-width) * .1);text-align:center;color:var(--g-text-muted);align-content:center;font-size:12px;position:absolute}.gantt-container .upper-text{width:fit-content;color:var(--g-text-dark);height:calc(var(--gv-lower-header-height) * .66);font-size:14px;font-weight:500;position:absolute}.gantt-container .current-upper{background:var(--g-header-background);padding-left:17px;position:sticky;left:0!important}.gantt-container .side-header{float:right;z-index:1000;background:var(--g-header-background);width:max-content;margin-left:auto;padding-top:10px;padding-right:10px;font-weight:400;line-height:20px;display:flex;position:sticky;top:0;right:0}.gantt-container .side-header *{background-color:var(--g-actions-background);color:var(--g-text-dark);letter-spacing:.02em;box-sizing:content-box;border:none;border-radius:.5rem;margin-right:5px;padding:5px 8px;font-size:14px;font-weight:420;transition-property:background-color;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.gantt-container .side-header :last-child{margin-right:0}.gantt-container .side-header :hover{filter:brightness(97.5%)}.gantt-container .side-header select{width:60px;padding-top:2px;padding-bottom:2px}.gantt-container .side-header select:focus{outline:none}.gantt-container .date-range-highlight{background-color:var(--g-progress-color);height:calc(var(--gv-lower-header-height) - 6px);top:calc(var(--gv-upper-header-height) + 5px);border-radius:12px;position:absolute}.gantt-container .current-highlight{background:var(--g-today-highlight);z-index:999;width:1px;position:absolute}.gantt-container .current-ball-highlight{background:var(--g-today-highlight);z-index:1001;border-radius:50%;position:absolute}.gantt-container .current-date-highlight{background:var(--g-today-highlight);color:var(--g-text-light);border-radius:5px}.gantt-container .holiday-label{opacity:0;z-index:1000;background:var(--g-weekend-label-color);border-radius:5px;padding:2px 5px;position:absolute;top:0;left:0}.gantt-container .holiday-label.show{opacity:100}.gantt-container .extras{position:sticky;left:0}.gantt-container .extras .adjust{left:8px;top:calc(var(--gv-grid-height) - 60px);background-color:var(--g-actions-background);color:var(--g-text-light);border:none;border-radius:3px;padding:8px;position:absolute}.gantt-container .hide{display:none}.gantt{-webkit-user-select:none;user-select:none;position:absolute}.gantt .grid-background{fill:none}.gantt .grid-row{fill:var(--g-row-color)}.gantt .row-line{stroke:var(--g-border-color)}.gantt .tick{stroke:var(--g-tick-color);stroke-width:.4px}.gantt .tick.thick{stroke:var(--g-tick-color-thick);stroke-width:.7px}.gantt .arrow{fill:none;stroke:var(--g-arrow-color);stroke-width:1.5px}.gantt .bar-wrapper .bar{fill:var(--g-bar-color);stroke:var(--g-bar-border);stroke-width:0;transition:stroke-width .3s}.gantt .bar-progress{fill:var(--g-progress-color);border-radius:4px}.gantt .bar-expected-progress{fill:var(--g-expected-progress)}.gantt .bar-invalid{fill:#0000;stroke:var(--g-bar-border);stroke-width:1px;stroke-dasharray:5}:is(.gantt .bar-invalid)~.bar-label{fill:var(--g-text-light)}.gantt .bar-label{fill:var(--g-text-dark);dominant-baseline:central;font-family:Helvetica;font-size:13px;font-weight:400}.gantt .bar-label.big{fill:var(--g-text-dark);text-anchor:start}.gantt .handle{fill:var(--g-handle-color);opacity:0;transition:opacity .3s}.gantt .handle.active,.gantt .handle.visible{cursor:ew-resize;opacity:1}.gantt .handle.progress{fill:var(--g-text-muted)}.gantt .bar-wrapper{cursor:pointer}.gantt .bar-wrapper .bar{outline:1px solid var(--g-row-border-color);border-radius:3px}.gantt .bar-wrapper:hover .bar{transition:transform .3s}.gantt .bar-wrapper:hover .date-range-highlight{display:block}.gantt .grid-column{fill:#0000;pointer-events:all}.gantt .grid-column:hover{fill:var(--g-weekend-highlight-color);transition:fill .1s}
