.dsx{--dsx-paper:#faf8f4;--dsx-card:#ffffff;--dsx-sunken:#f1ede5;--dsx-border:#e8e2d6;--dsx-border-strong:#d6cdbd;--dsx-ink:#1c2b36;--dsx-ink-2:#54646f;--dsx-ink-3:#97a4ad;--dsx-ink-inverse:#ffffff;--dsx-lagoon:#0e7c86;--dsx-lagoon-deep:#0a5f68;--dsx-lagoon-tint:#e2f2f3;--dsx-lagoon-ring:rgba(14,124,134,0.32);--dsx-sun:#e9a13b;--dsx-sun-deep:#c07f1e;--dsx-sun-tint:#fcf1dc;--dsx-sea:#2a9d6d;--dsx-sea-tint:#e2f3ea;--dsx-coral:#e05a3a;--dsx-coral-tint:#fbe9e3;--dsx-wave:#3273c5;--dsx-wave-tint:#e7eff9;--dsx-amber:#d97e12;--dsx-amber-tint:#fdf0dd;--dsx-shadow-sm:0 1px 2px rgba(28,43,54,0.05);--dsx-shadow-md:0 1px 2px rgba(28,43,54,0.05),0 10px 28px -10px rgba(28,43,54,0.16);--dsx-shadow-lg:0 2px 4px rgba(28,43,54,0.06),0 24px 56px -16px rgba(28,43,54,0.24);--dsx-r-sm:8px;--dsx-r-md:12px;--dsx-r-lg:18px;--dsx-r-pill:999px;background:var(--dsx-paper);color:var(--dsx-ink);font-family:var(--font-dsx-sans),system-ui,sans-serif;font-feature-settings:"cv05","cv08";-webkit-font-smoothing:antialiased}.dsx ::selection{background:var(--dsx-lagoon-tint)}.dsx-display{font-family:var(--font-dsx-display),var(--font-dsx-sans),sans-serif;letter-spacing:-.02em}.dsx-mono{font-family:var(--font-dsx-mono),ui-monospace,monospace;font-variant-numeric:tabular-nums}.dsx-card{background:var(--dsx-card);border:1px solid var(--dsx-border);border-radius:var(--dsx-r-lg);box-shadow:var(--dsx-shadow-sm)}.dsx-card--hover{transition:box-shadow .18s ease,transform .18s ease,border-color .18s ease}.dsx-card--hover:hover{box-shadow:var(--dsx-shadow-md);transform:translateY(-1px);border-color:var(--dsx-border-strong)}.dsx-btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;border-radius:var(--dsx-r-md);border:1px solid transparent;font-weight:600;font-size:.855rem;line-height:1;padding:.62rem 1rem;cursor:pointer;user-select:none;transition:background .14s ease,border-color .14s ease,transform .05s ease,box-shadow .14s ease,color .14s ease}.dsx-btn:active{transform:scale(.98)}.dsx-btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--dsx-lagoon-ring)}.dsx-btn--primary{background:var(--dsx-lagoon);color:var(--dsx-ink-inverse);box-shadow:var(--dsx-shadow-sm)}.dsx-btn--primary:hover{background:var(--dsx-lagoon-deep)}.dsx-btn--secondary{background:var(--dsx-card);border-color:var(--dsx-border-strong);color:var(--dsx-ink);box-shadow:var(--dsx-shadow-sm)}.dsx-btn--secondary:hover{border-color:var(--dsx-ink-3);background:var(--dsx-paper)}.dsx-btn--soft{background:var(--dsx-lagoon-tint);color:var(--dsx-lagoon-deep)}.dsx-btn--soft:hover{background:#d3ebec}.dsx-btn--ghost{background:transparent;color:var(--dsx-ink-2)}.dsx-btn--ghost:hover{background:var(--dsx-sunken);color:var(--dsx-ink)}.dsx-btn--danger-soft{background:var(--dsx-coral-tint);color:#b23c22}.dsx-btn--danger-soft:hover{background:#f6d9d0}.dsx-btn--sm{font-size:.78rem;padding:.42rem .72rem}.dsx-btn--icon,.dsx-btn--sm{border-radius:var(--dsx-r-sm)}.dsx-btn--icon{padding:.5rem}.dsx-pill{display:inline-flex;align-items:center;gap:.32rem;border-radius:var(--dsx-r-pill);font-size:.72rem;font-weight:600;padding:.22rem .62rem;line-height:1.2;white-space:nowrap}.dsx-pill--neutral{background:var(--dsx-sunken);color:var(--dsx-ink-2)}.dsx-pill--lagoon{background:var(--dsx-lagoon-tint);color:var(--dsx-lagoon-deep)}.dsx-pill--sun{background:var(--dsx-sun-tint);color:var(--dsx-sun-deep)}.dsx-pill--sea{background:var(--dsx-sea-tint);color:#1d7450}.dsx-pill--coral{background:var(--dsx-coral-tint);color:#b23c22}.dsx-pill--wave{background:var(--dsx-wave-tint);color:#245a9e}.dsx-pill--amber{background:var(--dsx-amber-tint);color:#a35f0b}.dsx-source{display:inline-flex;align-items:center;gap:.3rem;border-radius:var(--dsx-r-pill);border:1px dashed var(--dsx-border-strong);background:var(--dsx-card);color:var(--dsx-ink-2);font-size:.7rem;font-weight:500;padding:.14rem .55rem;cursor:pointer;transition:all .14s ease}.dsx-source:hover{border-color:var(--dsx-lagoon);color:var(--dsx-lagoon-deep);border-style:solid;background:var(--dsx-lagoon-tint)}.dsx-chip{display:inline-flex;align-items:center;gap:.35rem;border-radius:var(--dsx-r-sm);background:var(--dsx-sunken);border:1px solid var(--dsx-border);color:var(--dsx-ink-2);font-size:.72rem;font-weight:600;padding:.22rem .5rem}.dsx-input{width:100%;border:1px solid var(--dsx-border-strong);border-radius:var(--dsx-r-md);background:var(--dsx-card);color:var(--dsx-ink);font-size:.875rem;padding:.6rem .85rem;transition:border-color .14s ease,box-shadow .14s ease}.dsx-input::placeholder{color:var(--dsx-ink-3)}.dsx-input:focus{outline:none;border-color:var(--dsx-lagoon);box-shadow:0 0 0 3px var(--dsx-lagoon-ring)}.dsx-select{width:100%;appearance:none;border:1px solid var(--dsx-border-strong);border-radius:var(--dsx-r-md);background-color:var(--dsx-card);background-image:linear-gradient(45deg,transparent 50%,var(--dsx-ink-3) 50%),linear-gradient(135deg,var(--dsx-ink-3) 50%,transparent 50%);background-position:right 1.05rem center,right .8rem center;background-size:5px 5px,5px 5px;background-repeat:no-repeat;color:var(--dsx-ink);font-size:.875rem;padding:.55rem 2rem .55rem .85rem;cursor:pointer;transition:border-color .14s ease,box-shadow .14s ease}.dsx-select:focus{outline:none;border-color:var(--dsx-lagoon);box-shadow:0 0 0 3px var(--dsx-lagoon-ring)}.dsx-select:disabled{background-color:var(--dsx-sunken);color:var(--dsx-ink-3);cursor:not-allowed}.dsx-checkbox{appearance:none;width:1.1rem;height:1.1rem;flex:none;border:1px solid var(--dsx-border-strong);border-radius:5px;background:var(--dsx-card);cursor:pointer;transition:background .12s ease,border-color .12s ease}.dsx-checkbox:checked{background-color:var(--dsx-lagoon);border-color:var(--dsx-lagoon);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8.5l3.2 3.2L13 5'/%3E%3C/svg%3E");background-size:82%;background-position:50%;background-repeat:no-repeat}.dsx-checkbox:focus-visible{outline:none;box-shadow:0 0 0 3px var(--dsx-lagoon-ring)}.dsx-checkbox:disabled{background-color:var(--dsx-sunken);border-color:var(--dsx-border);cursor:not-allowed}.dsx-checkbox:disabled:checked{background-color:var(--dsx-ink-3);border-color:var(--dsx-ink-3)}.dsx-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.85rem}.dsx-table th{position:sticky;top:0;z-index:1;background:var(--dsx-sunken);color:var(--dsx-ink-3);font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;text-align:left;padding:.6rem .9rem;white-space:nowrap}.dsx-table td{border-top:1px solid var(--dsx-border);padding:.7rem .9rem;vertical-align:middle}.dsx-table tbody tr:hover td{background:var(--dsx-paper)}.dsx-table--fixed{table-layout:fixed}.dsx-kbd{display:inline-flex;align-items:center;justify-content:center;min-width:1.45rem;height:1.45rem;padding:0 .35rem;border-radius:6px;border:solid var(--dsx-border-strong);border-width:1px 1px 2px;background:var(--dsx-card);color:var(--dsx-ink-2);font-family:var(--font-dsx-mono),monospace;font-size:.7rem;font-weight:600}.dsx-toggle{position:relative;width:2.55rem;height:1.5rem;border-radius:var(--dsx-r-pill);background:var(--dsx-border-strong);border:none;cursor:pointer;transition:background .18s ease}.dsx-toggle:after{content:"";position:absolute;top:3px;left:3px;width:1.12rem;height:1.12rem;border-radius:50%;background:#fff;box-shadow:var(--dsx-shadow-sm);transition:transform .18s cubic-bezier(.34,1.56,.64,1)}.dsx-toggle[aria-checked=true]{background:var(--dsx-lagoon)}.dsx-toggle[aria-checked=true]:after{transform:translateX(1.05rem)}.dsx-confidence{display:inline-flex;align-items:center;gap:.4rem;font-size:.72rem;font-weight:600;color:var(--dsx-ink-2)}.dsx-confidence-track{width:3rem;height:.32rem;border-radius:var(--dsx-r-pill);background:var(--dsx-sunken);overflow:hidden}.dsx-confidence-fill{height:100%;border-radius:var(--dsx-r-pill);transition:width .4s ease}.dsx-progress{height:.4rem;border-radius:var(--dsx-r-pill);background:var(--dsx-sunken);overflow:hidden}.dsx-progress-fill{height:100%;border-radius:var(--dsx-r-pill);background:var(--dsx-lagoon);transition:width .8s ease}.dsx-proposal-enter{animation:dsx-pop-in .28s cubic-bezier(.34,1.4,.64,1) both}.dsx-proposal-leave{animation:dsx-collapse-out .32s ease both}@keyframes dsx-pop-in{0%{opacity:0;transform:translateY(6px) scale(.99)}to{opacity:1;transform:none}}@keyframes dsx-collapse-out{0%{opacity:1}to{opacity:0;transform:translateX(14px)}}.dsx-diff-row{display:flex;align-items:center;gap:.75rem;padding:.55rem .8rem;border-radius:var(--dsx-r-md);border:1px solid transparent;transition:background .12s ease}.dsx-diff-row:hover{background:var(--dsx-sunken)}.dsx-diff-row--accepted{background:var(--dsx-sea-tint);border-color:#bfe5d2}.dsx-diff-row--rejected{background:var(--dsx-sunken);opacity:.55}.dsx-diff-row--rejected .dsx-diff-label{text-decoration:line-through}@keyframes dsx-check-pop{0%{transform:scale(.4);opacity:0}60%{transform:scale(1.18);opacity:1}to{transform:scale(1)}}.dsx-check-pop{animation:dsx-check-pop .32s cubic-bezier(.34,1.56,.64,1) both}@keyframes dsx-breathe{0%,to{opacity:1}50%{opacity:.35}}.dsx-breathe{animation:dsx-breathe 1.6s ease-in-out infinite}.dsx ::-webkit-scrollbar{width:8px;height:8px}.dsx ::-webkit-scrollbar-thumb{background:var(--dsx-border-strong);border-radius:99px}.dsx ::-webkit-scrollbar-track{background:transparent}.gantt-theme.gantt-theme--dsx{--gantt-grid-stripe:var(--dsx-card);--gantt-grid-stripe-alt:var(--dsx-paper);--gantt-grid-line:var(--dsx-border);--gantt-header-bg:var(--dsx-sunken);--gantt-header-text:var(--dsx-ink-2);--gantt-list-text:var(--dsx-ink);--gantt-list-muted:var(--dsx-ink-3)}.gantt-theme.gantt-theme--dsx ._3ZbQT,.gantt-theme.gantt-theme--dsx ._3_ygE{border-color:var(--dsx-border)!important;background:var(--dsx-sunken)!important}.gantt-task-list--dsx{background:var(--dsx-card);border-color:var(--dsx-border)}.gantt-task-list-header.gantt-task-list-header--dsx{background:var(--dsx-sunken);border-color:var(--dsx-border);color:var(--dsx-ink-3)}.gantt-task-list--dsx .gantt-task-list-row{background:var(--dsx-card);border-bottom-color:var(--dsx-border);color:var(--dsx-ink)}.gantt-task-list--dsx .gantt-task-list-row:nth-child(2n){background:var(--dsx-paper)}.gantt-task-list--dsx .gantt-task-list-row:hover{background:var(--dsx-sunken)!important}.gantt-task-list--dsx .gantt-task-list-row--selected{background:var(--dsx-lagoon-tint)!important;box-shadow:inset 2px 0 0 var(--dsx-lagoon)}.gantt-task-list--dsx .gantt-task-list-row--match:not(.gantt-task-list-row--selected){background:var(--dsx-sun-tint)!important;box-shadow:inset 2px 0 0 var(--dsx-sun)}.gantt-task-list--dsx .gantt-task-list-row--project{background:var(--dsx-sunken)!important;border-bottom-color:var(--dsx-border)}.gantt-task-list--dsx .gantt-task-list-row--project:hover{background:var(--dsx-border)!important}.gantt-task-list--dsx .gantt-task-list-row--project .gantt-task-list-label{font-weight:600;color:var(--dsx-lagoon-deep);letter-spacing:.01em}.gantt-task-list--dsx .gantt-task-list-row--job .gantt-task-list-label{font-weight:500;color:var(--dsx-lagoon)}.gantt-task-list--dsx .gantt-task-list-row--child .gantt-task-list-label{color:var(--dsx-ink)}.gantt-task-list--dsx .gantt-task-list-cell--cost,.gantt-task-list--dsx .gantt-task-list-cell--date,.gantt-task-list--dsx .gantt-task-list-cell--duration,.gantt-task-list--dsx .gantt-task-list-cell--progress{color:var(--dsx-ink-2)}.gantt-task-list--dsx .gantt-task-list-detail{color:var(--dsx-ink-3)}.gantt-task-list--dsx .gantt-task-list-expander{color:var(--dsx-lagoon)}.gantt-task-list--dsx .gantt-task-list-expander:hover{color:var(--dsx-lagoon-deep);border-color:var(--dsx-border-strong);background:var(--dsx-sunken)}.gantt-task-list--dsx .gantt-task-list-action{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:1.15rem;height:1.15rem;border-radius:999px;border:none;background:transparent;color:var(--dsx-ink-3);cursor:pointer}.gantt-task-list--dsx .gantt-task-list-action:hover{color:var(--dsx-lagoon-deep);background:var(--dsx-lagoon-tint)}.gantt-task-list--dsx .gantt-task-list-action--warn{color:var(--dsx-amber)}.gantt-task-list--dsx .gantt-task-list-action--warn:hover{color:var(--dsx-coral);background:var(--dsx-coral-tint)}.dsx-phone{width:340px;border-radius:42px;border:1px solid var(--dsx-border-strong);background:#10181f;padding:10px;box-shadow:var(--dsx-shadow-lg);flex-shrink:0}.dsx-phone-screen{border-radius:32px;background:var(--dsx-paper);overflow:hidden;height:660px;display:flex;flex-direction:column;position:relative}