.timeline-page{gap:var(--s-3,12px);flex-direction:column;display:flex}.timeline-filters{border:1px solid var(--neutral-200,#e2e8f0);background:#fff;border-radius:12px;flex-wrap:wrap;align-items:center;gap:18px;padding:10px 14px;display:flex}.timeline-filters .filter-group{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.timeline-filters .filter-label{color:var(--muted,#64748b);margin-inline-end:2px;font-size:12px;font-weight:600}.timeline-filters .filter-chip{border:1px solid var(--neutral-200,#e2e8f0);color:var(--ink,#0f172a);background:0 0;border-radius:999px;padding:4px 10px;font-size:12px;text-decoration:none;transition:all .12s}.timeline-filters .filter-chip:hover{background:var(--neutral-100,#f1f5f9);border-color:var(--neutral-300,#cbd5e1)}.timeline-filters .filter-chip.active{background:var(--primary-600,#4f46e5);border-color:var(--primary-600,#4f46e5);color:#fff}.timeline-filters .filter-chip-type.active{font-weight:700}.timeline-filters .filter-chip-type.type-task.active{background:var(--primary-600);border-color:var(--primary-600)}.timeline-filters .filter-chip-type.type-rfq.active{background:var(--warning-600);border-color:var(--warning-600)}.timeline-filters .filter-chip-type.type-submittal.active{background:var(--success-600);border-color:var(--success-600)}.timeline-filters .filter-chip-type.type-rfi.active{background:#2563eb;border-color:#2563eb}.timeline-filters .filter-chip-type.type-inspection.active{background:#0891b2;border-color:#0891b2}.timeline-filters .filter-chip-type.type-document.active{background:var(--neutral-700);border-color:var(--neutral-700)}.timeline-filters .filter-chip-type.type-change_order.active{background:var(--danger-600);border-color:var(--danger-600)}.timeline-filters .filter-chip-type.type-payment.active{background:#d97706;border-color:#d97706}.filter-nav{margin-inline-start:auto}.deprecation-banner{background:var(--warning-50,#fffbeb);border:1px solid var(--warning-300,#fcd34d);margin-bottom:var(--s-4,16px);border-radius:12px;align-items:flex-start;gap:14px;padding:14px 18px;display:flex}.deprecation-banner-icon{font-size:22px;line-height:1.2}.deprecation-banner-body{flex:auto;min-width:0}.deprecation-banner-body strong{color:var(--warning-700,#b45309);margin-bottom:4px;font-size:13.5px;display:block}.deprecation-banner-body p{color:var(--muted,#64748b);margin:0;font-size:12.5px;line-height:1.6}.deprecation-banner-action{background:var(--warning-600,#d97706);color:#fff;white-space:nowrap;border-radius:8px;align-self:center;padding:8px 14px;font-size:13px;font-weight:600;text-decoration:none}.deprecation-banner-action:hover{background:var(--warning-700,#b45309)}.universal-gantt-wrapper{border:1px solid var(--neutral-200,#e2e8f0);background:#fff;border-radius:12px;max-height:calc(100vh - 280px);position:relative;overflow:auto}.universal-gantt-wrapper.wide{border-radius:0;max-height:calc(100vh - 120px)}.universal-gantt{background:#fff;transition:zoom .2s cubic-bezier(.22,1,.36,1);position:relative}.gantt-content,.gantt-body{position:relative}.universal-gantt.gantt-empty{color:var(--muted,#64748b);text-align:center;padding:60px 20px}.gantt-header{background:var(--neutral-50,#f8fafc);border-bottom:2px solid var(--neutral-200,#e2e8f0);z-index:10;grid-template-columns:180px 1fr;display:grid;position:sticky;top:0}.gantt-header-label{font-size:12.5px}.gantt-time-col{border-inline-end:1px solid var(--neutral-200,#e2e8f0);color:var(--muted,#64748b);letter-spacing:.02em;text-align:center;white-space:nowrap;padding:8px 6px;font-size:11px;font-weight:600}.gantt-row{border-bottom:1px solid var(--neutral-100,#f1f5f9);grid-template-columns:180px 1fr;min-height:56px;display:grid}.gantt-row:hover{background:var(--neutral-50,#f8fafc)}.gantt-row-label{background:var(--neutral-50,#f8fafc);border-inline-end:2px solid var(--neutral-200,#e2e8f0);z-index:5;justify-content:space-between;align-items:center;gap:6px;padding:8px 10px;font-size:12.5px;font-weight:600;display:flex;position:sticky;inset-inline-start:0}.universal-gantt.per-project .gantt-row-label{padding:8px;font-size:12px}.gantt-row-label-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gantt-row-label-count{background:var(--neutral-200,#e2e8f0);color:var(--muted,#64748b);border-radius:999px;padding:1px 8px;font-size:11px}.gantt-row-track{grid-column:2/-1;position:relative}.gantt-bar{text-overflow:ellipsis;white-space:nowrap;border-radius:6px;align-items:center;gap:6px;height:36px;padding:0 10px;font-size:13px;font-weight:600;text-decoration:none;transition:transform .15s cubic-bezier(.22,1,.36,1),box-shadow .15s;display:flex;position:absolute;top:8px;overflow:hidden;box-shadow:0 1px 2px #0f172a14}.gantt-bar:hover{z-index:50;transform:translateY(-2px);box-shadow:0 4px 12px #0f172a2e}.gantt-bar.clipped-start{border-start-start-radius:0;border-end-start-radius:0}.gantt-bar.clipped-end{border-start-end-radius:0;border-end-end-radius:0}.gantt-bar-label{text-overflow:ellipsis;z-index:2;position:relative;overflow:hidden}.gantt-progress-overlay{opacity:.22;pointer-events:none;z-index:1;background:currentColor;position:absolute;inset-block:0;inset-inline-start:0}.gantt-progress-pct{opacity:.9;z-index:2;margin-inline-start:6px;font-size:10.5px;font-weight:700;position:relative}.gantt-bar.is-milestone{border-radius:4px;justify-content:center;align-items:center;height:32px;padding:0;transform:rotate(45deg);background:var(--warning-100,#fef3c7)!important;border:2px solid var(--warning-600,#d97706)!important;color:var(--warning-700,#b45309)!important;width:32px!important}.gantt-bar.is-milestone .gantt-milestone-diamond{font-size:14px;font-weight:700;transform:rotate(-45deg)}.gantt-bar.is-milestone:hover{transform:rotate(45deg)scale(1.15)}.gantt-bar.entity-task{background:var(--primary-100,#e0e7ff);border:1px solid var(--primary-300,#a5b4fc);color:var(--primary-700,#4338ca)}.gantt-bar.entity-boq_item{color:#155e75;background:#ecfeff;border:1px solid #22d3ee}.gantt-bar.entity-rfq{background:var(--warning-100,#fef3c7);border:1px solid var(--warning-300,#fcd34d);color:var(--warning-700,#b45309)}.gantt-bar.entity-submittal{background:var(--success-100,#d1fae5);border:1px solid var(--success-300,#6ee7b7);color:var(--success-700,#047857)}.gantt-bar.entity-rfi{color:#1e40af;background:#dbeafe;border:1px solid #60a5fa}.gantt-bar.entity-inspection{color:#155e75;background:#cffafe;border:1px solid #06b6d4}.gantt-bar.entity-document{background:var(--neutral-100,#f1f5f9);border:1px solid var(--neutral-400,#94a3b8);color:var(--neutral-700,#334155)}.gantt-bar.entity-change_order{background:var(--danger-100,#fee2e2);border:1px solid var(--danger-500,#ef4444);color:var(--danger-700,#b91c1c)}.gantt-bar.entity-payment{color:#92400e;background:#fef3c7;border:1px solid #f59e0b}.gantt-bar.is-critical{border-color:var(--danger-500,#ef4444);border-width:2px;font-weight:700}.gantt-bar.is-critical:after{content:"⚡";font-size:12px;position:absolute;inset-block-start:-6px;inset-inline-end:-6px}.gantt-today-line{background:var(--info-500,#0ea5e9);pointer-events:none;z-index:4;width:2px;position:absolute;inset-block:0}.gantt-today-label{background:var(--info-600,#0284c7);color:#fff;white-space:nowrap;z-index:5;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:700;position:absolute;inset-block-start:-18px;inset-inline-start:-18px}.gantt-popover{border:1px solid var(--neutral-200,#e2e8f0);pointer-events:none;z-index:1000;background:#fff;border-radius:12px;min-width:280px;max-width:360px;font-size:12.5px;animation:.14s cubic-bezier(.22,1,.36,1) gantt-popover-fade-in;position:fixed;transform:translate(-50%);box-shadow:0 12px 32px #0f172a2e}@keyframes gantt-popover-fade-in{0%{opacity:0;transform:translate(-50%)translateY(-6px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.gantt-popover-head{border-bottom:1px solid var(--neutral-100,#f1f5f9);padding:12px 14px 10px}.gantt-popover-type{letter-spacing:.04em;text-transform:uppercase;border-radius:4px;margin-bottom:6px;padding:2px 8px;font-size:10px;font-weight:700;display:inline-block}.gantt-popover-type.entity-task{background:var(--primary-100,#e0e7ff);color:var(--primary-700,#4338ca)}.gantt-popover-type.entity-rfq{background:var(--warning-100,#fef3c7);color:var(--warning-700,#b45309)}.gantt-popover-type.entity-submittal{background:var(--success-100,#d1fae5);color:var(--success-700,#047857)}.gantt-popover-type.entity-rfi{color:#1e40af;background:#dbeafe}.gantt-popover-type.entity-inspection{color:#155e75;background:#cffafe}.gantt-popover-type.entity-document{background:var(--neutral-100,#f1f5f9);color:var(--neutral-700,#334155)}.gantt-popover-type.entity-change_order{background:var(--danger-100,#fee2e2);color:var(--danger-700,#b91c1c)}.gantt-popover-type.entity-payment{color:#92400e;background:#fef3c7}.gantt-popover-title{color:var(--ink,#0f172a);margin:0;font-size:14px;font-weight:600;line-height:1.4}.gantt-popover-body{gap:8px;margin:0;padding:12px 14px;display:grid}.gantt-popover-body>div{grid-template-columns:64px 1fr;align-items:center;gap:8px;display:grid}.gantt-popover-body dt{color:var(--muted,#64748b);margin:0;font-size:11px;font-weight:600}.gantt-popover-body dd{color:var(--ink,#0f172a);margin:0;font-size:12.5px}.gantt-popover-critical{color:var(--danger-700,#b91c1c);font-weight:700}.gantt-popover-critical dt{color:var(--danger-700,#b91c1c)}.gantt-popover-conflict{background:#fffbeb;border:1px solid #fcd34d;border-radius:8px;padding:8px;grid-template-columns:64px 1fr!important;align-items:start!important}.gantt-popover-conflict dt{color:#92400e}.gantt-popover-conflict dd{color:#78350f;gap:6px;display:grid}.gantt-popover-conflict strong{font-size:12.5px}.gantt-popover-conflict ul{gap:3px;margin:0;padding-inline-start:16px;display:grid}.gantt-popover-conflict li{line-height:1.45}.gantt-popover-progress{align-items:center;gap:8px;display:flex}.gantt-popover-progress-track{background:var(--neutral-100,#f1f5f9);border-radius:999px;flex:auto;height:6px;overflow:hidden}.gantt-popover-progress-fill{background:var(--success-500,#10b981);border-radius:999px;height:100%;display:block}.gantt-popover-assignees{align-items:center;display:inline-flex}.gantt-popover-avatar{background:var(--primary-500,#6366f1);color:#fff;border:2px solid #fff;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:9px;font-weight:700;line-height:1;display:inline-flex;position:relative}.gantt-popover-avatar:not(:first-child){margin-inline-start:-6px}.gantt-popover-avatar.more{background:var(--neutral-200,#e2e8f0);color:var(--muted,#64748b);font-size:10px}.gantt-popover-avatar.is-responsible:after{background:var(--success-500,#10b981);content:"";bottom:-2px;border:1.5px solid #fff;border-radius:999px;width:8px;height:8px;position:absolute;inset-inline-end:-2px}.gantt-popover-foot{background:var(--neutral-50,#f8fafc);border-top:1px solid var(--neutral-100,#f1f5f9);color:var(--primary-600,#4f46e5);text-align:center;border-radius:0 0 12px 12px;padding:8px 14px;font-size:11.5px;font-weight:600}@media (max-width:768px){.gantt-row-label{padding:8px;font-size:12px}}.gantt-controls{border:1px solid var(--neutral-200,#e2e8f0);background:#fff;border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;padding:6px 10px;display:flex}.gantt-zoom-controls{background:var(--neutral-50,#f8fafc);border:1px solid var(--neutral-200,#e2e8f0);border-radius:8px;align-items:center;gap:2px;padding:2px;display:inline-flex}.gantt-zoom-pct{color:var(--ink,#0f172a);letter-spacing:.02em;text-align:center;min-width:50px;padding:0 6px;font-size:12.5px;font-weight:700}.gantt-ctrl-btn{border:1px solid var(--neutral-200,#e2e8f0);color:var(--ink,#0f172a);cursor:pointer;font:inherit;background:#fff;border-radius:6px;justify-content:center;align-items:center;gap:4px;min-height:28px;padding:4px 10px;font-size:12.5px;font-weight:600;transition:all .12s;display:inline-flex}.gantt-ctrl-btn:hover{background:var(--primary-50,#eef2ff);border-color:var(--primary-300,#a5b4fc);color:var(--primary-700,#4338ca)}.gantt-ctrl-btn:active{transform:translateY(1px)}.gantt-ctrl-btn:disabled{cursor:not-allowed;opacity:.4}.gantt-ctrl-btn.is-active{background:var(--primary-600,#4f46e5);border-color:var(--primary-600,#4f46e5);color:#fff}.gantt-ctrl-help{margin-inline-start:auto}.gantt-wbs-handle{cursor:col-resize;inset-block:0;z-index:8;background:0 0;width:6px;position:absolute;top:0;bottom:0}.gantt-wbs-handle:after{background:var(--neutral-200,#e2e8f0);content:"";width:2px;transition:background .12s;position:absolute;inset-block:24px;inset-inline-start:2px}.gantt-wbs-handle:hover:after,.gantt-wbs-handle:active:after{background:var(--primary-500,#6366f1)}.gantt-toggle{border:1px solid var(--neutral-200,#e2e8f0);cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border-radius:6px;align-items:center;gap:6px;padding:5px 10px;font-size:12px;font-weight:600;display:inline-flex}.gantt-toggle:hover{background:var(--neutral-50,#f8fafc)}.gantt-toggle input{accent-color:var(--primary-500,#6366f1);margin:0}.gantt-range-picker{position:relative}.gantt-range-trigger{align-items:center;gap:6px;display:inline-flex}.gantt-range-trigger.is-custom{background:var(--primary-50,#eef2ff);border-color:var(--primary-300,#a5b4fc);color:var(--primary-700,#4338ca)}.gantt-range-trigger-text{font-variant-numeric:tabular-nums}.gantt-range-trigger-days{color:var(--muted,#64748b);font-size:11px;font-weight:500}.gantt-range-dropdown{border:1px solid var(--neutral-200,#e2e8f0);inset-inline-start:0;z-index:60;background:#fff;border-radius:12px;min-width:360px;padding:14px;position:absolute;top:calc(100% + 6px);box-shadow:0 12px 32px #0f172a2e}.gantt-range-dropdown h4{color:var(--muted,#64748b);letter-spacing:.04em;text-transform:uppercase;margin:0 0 8px;font-size:11px;font-weight:700}.gantt-range-presets{grid-template-columns:1fr 1fr;gap:6px;margin-bottom:14px;display:grid}.gantt-range-preset{background:var(--neutral-50,#f8fafc);border:1px solid var(--neutral-200,#e2e8f0);color:var(--ink,#0f172a);cursor:pointer;font:inherit;text-align:center;border-radius:6px;padding:8px;font-size:12px;font-weight:500;transition:all .12s}.gantt-range-preset:hover{background:var(--primary-50,#eef2ff);border-color:var(--primary-300,#a5b4fc);color:var(--primary-700,#4338ca)}.gantt-range-custom{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px;display:grid}.gantt-range-custom label{flex-direction:column;gap:4px;font-size:11px;display:flex}.gantt-range-custom label span{color:var(--muted,#64748b);font-weight:600}.gantt-range-custom input{border:1px solid var(--neutral-200,#e2e8f0);font:inherit;background:#fff;border-radius:6px;padding:6px 8px;font-size:13px}.gantt-range-custom input:focus{border-color:var(--primary-500,#6366f1);box-shadow:0 0 0 3px var(--primary-100,#e0e7ff);outline:none}.gantt-range-actions{gap:8px;display:flex}.gantt-range-actions .gantt-ctrl-btn{flex:1}.gantt-body.shift-held{cursor:crosshair}.gantt-drag-selection{border:2px dashed var(--primary-500,#6366f1);pointer-events:none;z-index:6;background:#6366f12e;position:absolute;inset-block:0}.gantt-drag-selection-label{background:var(--ink,#0f172a);color:#fff;font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:600;position:absolute;inset-block-start:-22px;inset-inline-start:50%;transform:translate(-50%)}.gantt-bg-layer{pointer-events:none;z-index:0;position:absolute;inset-block:0}.gantt-weekend-stripe{background:#94a3b814;position:absolute;inset-block:0}.gantt-grid-line{background:var(--neutral-200,#e2e8f0);width:1px;position:absolute;inset-block:0}.gantt-minimap-row{background:var(--neutral-50,#f8fafc);border:1px solid var(--neutral-200,#e2e8f0);border-radius:10px;align-items:center;gap:12px;margin-top:8px;padding:10px 12px;display:flex}.gantt-minimap-label{color:var(--muted,#64748b);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;font-size:11px;font-weight:700}.gantt-minimap{border:1px solid var(--neutral-200,#e2e8f0);cursor:crosshair;background:#fff;border-radius:6px;flex:auto;height:56px;position:relative;overflow:hidden}.gantt-minimap-bars{position:absolute;inset:4px}.gantt-minimap-bar{opacity:.7;border-radius:2px;height:4px;position:absolute}.gantt-minimap-bar.entity-task{background:var(--primary-500,#6366f1);inset-block-start:4px}.gantt-minimap-bar.entity-rfq{background:var(--warning-500,#f59e0b);inset-block-start:10px}.gantt-minimap-bar.entity-submittal{background:var(--success-500,#10b981);inset-block-start:16px}.gantt-minimap-bar.entity-rfi{background:#3b82f6;inset-block-start:22px}.gantt-minimap-bar.entity-inspection{background:#06b6d4;inset-block-start:28px}.gantt-minimap-bar.entity-document{background:var(--neutral-500,#64748b);inset-block-start:34px}.gantt-minimap-bar.entity-change_order{background:var(--danger-500,#ef4444);inset-block-start:40px}.gantt-minimap-bar.entity-payment{background:#d97706;inset-block-start:46px}.gantt-minimap-today{background:var(--danger-500,#ef4444);z-index:2;width:1.5px;position:absolute;inset-block:0}.gantt-minimap-viewport{border:2px solid var(--primary-500,#6366f1);cursor:grab;z-index:3;background:#6366f124;border-radius:4px;position:absolute;inset-block:0}.gantt-minimap-viewport:active{cursor:grabbing}.gantt-minimap-handle{background:var(--primary-500,#6366f1);cursor:col-resize;width:6px;position:absolute;inset-block:0}.gantt-minimap-handle.handle-start{border-radius:3px 0 0 3px;inset-inline-start:-3px}.gantt-minimap-handle.handle-end{border-radius:0 3px 3px 0;inset-inline-end:-3px}.gantt-minimap-stats{color:var(--muted,#64748b);white-space:nowrap;align-items:center;gap:6px;font-size:11px;font-weight:600;display:flex}body.gantt-wide .shell-sidebar,body.gantt-wide .shell-topbar{display:none!important}body.gantt-wide .app-shell{grid-template-columns:1fr!important}body.gantt-wide .app-shell-content{padding:12px!important}.gantt-shortcuts-overlay{z-index:1100;background:#0f172a73;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.gantt-shortcuts-card{border:1px solid var(--neutral-200,#e2e8f0);background:#fff;border-radius:14px;width:calc(100% - 40px);max-width:480px;padding:16px 20px 20px;box-shadow:0 14px 40px #0f172a38}.gantt-shortcuts-card header{border-bottom:1px solid var(--neutral-100,#f1f5f9);justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:10px;display:flex}.gantt-shortcuts-card h3{color:var(--ink,#0f172a);margin:0;font-size:15px;font-weight:700}.gantt-shortcuts-card dl{grid-template-columns:1fr;gap:8px 16px;margin:0;display:grid}.gantt-shortcuts-card dl>div{grid-template-columns:minmax(140px,max-content) 1fr;align-items:center;gap:12px;display:grid}.gantt-shortcuts-card dt{color:var(--muted,#64748b);flex-wrap:wrap;gap:4px;font-size:12px;display:inline-flex}.gantt-shortcuts-card dd{color:var(--ink,#0f172a);margin:0;font-size:13px}.gantt-shortcuts-card kbd{background:var(--neutral-100,#f1f5f9);border:1px solid var(--neutral-200,#e2e8f0);color:var(--ink,#0f172a);border-radius:4px;padding:1px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;font-weight:600}.gantt-bar.has-conflict:before{background:var(--warning-500,#f59e0b);color:#fff;content:"⚠";text-align:center;z-index:5;border-radius:50%;width:14px;height:14px;font-size:9px;line-height:14px;position:absolute;inset-block-start:2px;inset-inline-end:2px}.timeline-legend{background:var(--neutral-50,#f8fafc);border:1px solid var(--neutral-200,#e2e8f0);border-radius:8px;flex-wrap:wrap;align-items:center;gap:14px;margin:8px 0;padding:8px 12px;font-size:11.5px;display:flex}.timeline-legend-title{color:var(--muted,#64748b);font-weight:700}.timeline-legend-item{color:var(--text,#1e293b);align-items:center;gap:5px;display:inline-flex}.timeline-legend-swatch{border-radius:3px;width:22px;height:14px;display:inline-block}.timeline-legend-swatch.is-boq{background:#ecfeff;border:1px solid #22d3ee}.timeline-legend-swatch.is-task{background:var(--primary-100,#e0e7ff);border:1px solid var(--primary-400,#818cf8)}.timeline-legend-swatch.is-critical{background:var(--danger-100,#fee2e2);border:2px solid var(--danger-500,#ef4444)}.timeline-legend-icon{font-size:13px}.timeline-legend-today-bar{background:var(--danger-500,#ef4444);width:2px;height:16px;display:inline-block}
.user-avatar{align-items:center;gap:8px;display:inline-flex}.user-avatar.size-xs{--av-size:20px;--av-font:9px}.user-avatar.size-sm{--av-size:28px;--av-font:11px}.user-avatar.size-md{--av-size:36px;--av-font:13px}.user-avatar.size-lg{--av-size:48px;--av-font:16px}.user-avatar-img,.user-avatar-initials{color:#fff;font-size:var(--av-font,13px);height:var(--av-size,36px);object-fit:cover;width:var(--av-size,36px);border:2px solid #fff;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;line-height:1;display:inline-flex;box-shadow:0 1px 2px #0f172a1a}.user-avatar-name{font-size:13px;font-weight:500}.proj-avatar.is-responsible{position:relative}.proj-avatar.is-responsible:after{background:var(--success-500,#10b981);content:"";bottom:-2px;border:2px solid #fff;border-radius:999px;width:10px;height:10px;position:absolute;inset-inline-end:-2px}.assignment-picker-trigger{align-items:center;gap:4px;display:inline-flex}.assignment-picker-add{background:var(--neutral-100,#f1f5f9);border:2px dashed var(--neutral-400,#94a3b8);color:var(--muted,#64748b);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;width:26px;height:26px;margin-inline-start:4px;padding:0;font-size:16px;line-height:1;transition:all .15s;display:inline-flex}.assignment-picker-add:hover{background:var(--primary-50,#eef2ff);border-color:var(--primary-500,#6366f1);color:var(--primary-600,#4f46e5)}.assignment-picker-overlay{z-index:1000;background:#0f172a8c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.assignment-picker-dialog{background:#fff;border-radius:14px;flex-direction:column;width:520px;max-width:92vw;max-height:80vh;display:flex;overflow:hidden;box-shadow:0 24px 60px #0f172a47}.assignment-picker-header{border-bottom:1px solid var(--neutral-100,#f1f5f9);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.assignment-picker-header h3{margin:0;font-size:16px;font-weight:600}.assignment-picker-close{color:var(--muted,#64748b);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:18px}.assignment-picker-close:hover{color:var(--ink,#0f172a)}.assignment-picker-types{border-bottom:1px solid var(--neutral-100,#f1f5f9);grid-template-columns:1fr 1fr;gap:6px;padding:12px 20px;display:grid}.assignment-picker-type{border:1px solid var(--neutral-300,#cbd5e1);cursor:pointer;font:inherit;background:#fff;border-radius:6px;padding:8px 12px;font-size:12px;font-weight:500;transition:all .15s}.assignment-picker-type:hover{background:var(--neutral-50,#f8fafc)}.assignment-picker-type.active{background:var(--primary-500,#6366f1);border-color:var(--primary-500,#6366f1);color:#fff}.assignment-picker-search{border:1px solid var(--neutral-300,#cbd5e1);font:inherit;background:#fff;border-radius:6px;margin:12px 20px;padding:8px 12px;font-size:13px}.assignment-picker-search:focus{border-color:var(--primary-500,#6366f1);box-shadow:0 0 0 3px var(--primary-100,#e0e7ff);outline:none}.assignment-picker-section{padding:0 20px 16px;overflow-y:auto}.assignment-picker-section h4{color:var(--muted,#64748b);letter-spacing:.04em;text-transform:uppercase;margin:4px 0 8px;font-size:11px;font-weight:700}.assignment-picker-list{flex-direction:column;gap:2px;max-height:240px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.assignment-picker-row{cursor:pointer;font:inherit;text-align:start;background:0 0;border:none;border-radius:6px;align-items:center;gap:12px;width:100%;padding:8px 10px;transition:background .15s;display:flex}.assignment-picker-row:hover:not(.disabled):not(:disabled){background:var(--neutral-50,#f8fafc)}.assignment-picker-row.assigned{background:var(--primary-50,#eef2ff)}.assignment-picker-row.disabled,.assignment-picker-row:disabled{cursor:not-allowed;opacity:.55}.assignment-picker-row-info{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.assignment-picker-row-name{color:var(--ink,#0f172a);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;overflow:hidden}.assignment-picker-row-meta{color:var(--muted,#64748b);font-size:11px}.assignment-picker-unassign{color:var(--danger-500,#ef4444);cursor:pointer;background:0 0;border:none;border-radius:4px;width:24px;height:24px;padding:0}.assignment-picker-unassign:hover{background:var(--danger-50,#fef2f2)}.assignment-picker-check{color:var(--success-500,#10b981);font-weight:700}.assignment-picker-spinner{color:var(--muted,#64748b)}.assignment-picker-loading,.assignment-picker-empty{color:var(--muted,#64748b);text-align:center;padding:12px 8px;font-size:12px}.role-badge{background:var(--neutral-100,#f1f5f9);color:var(--neutral-700,#334155);border-radius:4px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.role-badge.role-admin{color:#b91c1c;background:#fef2f2}.role-badge.role-manager{color:#4338ca;background:#eef2ff}.role-badge.role-engineer{color:#047857;background:#ecfdf5}.role-badge.role-designer{color:#6d28d9;background:#f5f3ff}.role-badge.role-supervisor{color:#0e7490;background:#ecfeff}.role-badge.role-accountant{color:#b45309;background:#fffbeb}.role-badge.role-viewer{color:#475569;background:#f1f5f9}.user-color-swatch{box-shadow:0 0 0 1px var(--neutral-300,#cbd5e1);vertical-align:middle;border:2px solid #fff;border-radius:999px;width:22px;height:22px;margin-inline-end:6px;display:inline-block}.kanban-card-assignees{align-items:center;margin-inline-end:auto;display:inline-flex}.user-workload-cell{flex-direction:column;gap:4px;min-width:160px;display:flex}.workload-stats{align-items:center;gap:6px;font-size:12px;display:flex}.workload-avg{color:var(--ink,#0f172a);font-weight:700}.workload-tasks{color:var(--muted,#64748b);font-size:11px}.workload-mini-bar{background:var(--neutral-100,#f1f5f9);border-radius:2px;width:100%;max-width:120px;height:4px;display:block;overflow:hidden}.workload-mini-fill{border-radius:2px;height:100%;transition:width .2s;display:block}.workload-mini-fill.load-ok{background:var(--success-500,#10b981)}.workload-mini-fill.load-warning{background:var(--warning-500,#f59e0b)}.workload-mini-fill.load-critical{background:var(--danger-500,#ef4444)}.workload-overload-badge{background:var(--warning-100,#fef3c7);color:var(--warning-700,#b45309);border-radius:4px;width:fit-content;padding:2px 6px;font-size:10px;font-weight:600}.workload-overload-badge.is-critical{background:var(--danger-100,#fee2e2);color:var(--danger-700,#b91c1c)}.workload-empty{color:var(--muted,#64748b);font-size:11px;font-style:italic}
.conflicts-page{flex-direction:column;gap:16px;display:flex}.conflict-stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.conflict-stat-card{border:1px solid var(--neutral-200,#e2e8f0);background:#fff;border-radius:12px;align-items:center;gap:12px;padding:14px 16px;display:flex}.conflict-stat-icon{border-radius:999px;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;display:inline-flex}.conflict-stat-icon.tone-critical{background:var(--danger-50,#fef2f2);color:var(--danger-600,#dc2626)}.conflict-stat-icon.tone-warning{background:var(--warning-50,#fffbeb);color:var(--warning-700,#b45309)}.conflict-stat-icon.tone-info{color:#1d4ed8;background:#eff6ff}.conflict-stat-icon.tone-primary{background:var(--primary-50,#eef2ff);color:var(--primary-700,#4338ca)}.conflict-stat-body{flex-direction:column;gap:2px;display:flex}.conflict-stat-label{color:var(--muted,#64748b);font-size:11.5px;font-weight:600}.conflict-stat-value{font-size:20px;font-weight:700}.conflict-empty{background:var(--success-50,#f0fdf4);border:1px solid var(--success-200,#bbf7d0);color:var(--success-700,#15803d);text-align:center;border-radius:14px;flex-direction:column;align-items:center;gap:8px;padding:36px 24px;font-weight:600;display:flex}.conflict-empty-icon{border:2px solid var(--success-500,#10b981);color:var(--success-600,#16a34a);background:#fff;border-radius:999px;justify-content:center;align-items:center;width:48px;height:48px;font-size:22px;display:inline-flex}.conflict-user-group{border:1px solid var(--neutral-200,#e2e8f0);background:#fff;border-radius:14px;flex-direction:column;display:flex;overflow:hidden}.conflict-user-head{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:16px;padding:14px 18px;display:flex}.conflict-user-head:hover{background:var(--neutral-50,#f8fafc)}.conflict-user-stats{flex-wrap:wrap;flex:auto;align-items:center;gap:12px;display:flex}.conflict-user-count{color:var(--ink,#0f172a);font-size:13px;font-weight:600}.conflict-user-pills{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.conflict-pill{border-radius:999px;padding:2px 10px;font-size:0;font-weight:700}.conflict-pill.pill-critical{background:var(--danger-100,#fee2e2);color:var(--danger-700,#b91c1c)}.conflict-pill.pill-warning{background:var(--warning-100,#fef3c7);color:var(--warning-700,#b45309)}.conflict-pill.pill-info{color:#1d4ed8;background:#dbeafe}.conflict-user-toggle{color:var(--muted,#64748b);font-size:16px}.conflict-user-body{border-top:1px solid var(--neutral-100,#f1f5f9);flex-direction:column;gap:12px;padding:14px 18px;display:flex}.conflict-card{border:1px solid var(--neutral-200,#e2e8f0);border-inline-start:4px solid var(--neutral-400,#94a3b8);background:#fff;border-radius:10px;flex-direction:column;gap:10px;padding:12px 14px;display:flex}.conflict-card.severity-critical{border-inline-start-color:var(--danger-500,#ef4444)}.conflict-card.severity-warning{border-inline-start-color:var(--warning-500,#f59e0b)}.conflict-card.severity-info{border-inline-start-color:var(--info-500,#0ea5e9)}.conflict-card-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.conflict-type-badge{background:var(--neutral-100,#f1f5f9);color:var(--ink,#0f172a);border-radius:6px;padding:3px 8px;font-size:11px;font-weight:700}.conflict-type-badge.type-time_overlap{color:#b91c1c;background:#fee2e2}.conflict-type-badge.type-workload_excess{color:#b45309;background:#fef3c7}.conflict-type-badge.type-holiday{color:#1d4ed8;background:#dbeafe}.conflict-type-badge.type-non_working_day{background:var(--neutral-100,#f1f5f9);color:var(--muted,#64748b)}.conflict-period{color:var(--muted,#64748b);font-variant-numeric:tabular-nums;font-size:12px;font-weight:500}.conflict-period-days{color:var(--ink,#0f172a);font-weight:600}.conflict-entities{flex-direction:column;gap:6px;display:flex}.conflict-entity{background:var(--neutral-50,#f8fafc);border:1px solid var(--neutral-200,#e2e8f0);color:var(--ink,#0f172a);border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;padding:8px 10px;font-size:12.5px;text-decoration:none;transition:all .12s;display:flex}.conflict-entity:hover{background:var(--primary-50,#eef2ff);border-color:var(--primary-300,#a5b4fc)}.conflict-entity-type{border:1px solid var(--neutral-200,#e2e8f0);background:#fff;border-radius:6px;padding:2px 6px;font-size:10px;font-weight:700}.conflict-entity-type.entity-task{color:var(--primary-700,#4338ca);border-color:var(--primary-200,#c7d2fe)}.conflict-entity-type.entity-rfq{color:#b45309;border-color:#fde68a}.conflict-entity-type.entity-submittal{color:#047857;border-color:#a7f3d0}.conflict-entity-type.entity-rfi{color:#1d4ed8;border-color:#bfdbfe}.conflict-entity-type.entity-inspection{color:#0e7490;border-color:#a5f3fc}.conflict-entity-type.entity-change_order{color:#b91c1c;border-color:#fecaca}.conflict-entity-type.entity-payment{color:#b45309;border-color:#fde68a}.conflict-entity-title{flex:200px;font-weight:600}.conflict-entity-project,.conflict-entity-period{color:var(--muted,#64748b);font-variant-numeric:tabular-nums;font-size:11.5px}.conflict-entity-load{border:1px solid var(--neutral-300,#cbd5e1);background:#fff;border-radius:6px;padding:2px 6px;font-size:10.5px;font-weight:700}.conflict-workload{background:var(--neutral-50,#f8fafc);border:1px solid var(--neutral-100,#f1f5f9);border-radius:8px;align-items:center;gap:10px;padding:8px 12px;font-size:12px;display:flex}.conflict-workload-label{color:var(--muted,#64748b);font-size:11.5px;font-weight:600}.conflict-workload-track{border:1px solid var(--neutral-200,#e2e8f0);background:#fff;border-radius:999px;flex:auto;height:12px;position:relative;overflow:hidden}.conflict-workload-fill{border-radius:999px;height:100%;transition:width .2s;display:block}.conflict-workload-fill.load-critical{background:var(--danger-500,#ef4444)}.conflict-workload-fill.load-warning{background:var(--warning-500,#f59e0b)}.conflict-workload-fill.load-info{background:var(--info-500,#0ea5e9)}.conflict-workload-reference{background:var(--neutral-400,#94a3b8);bottom:0;inset-inline-start:50%;width:1px;position:absolute;top:0}.conflict-workload-value{color:var(--ink,#0f172a);text-align:end;min-width:48px;font-weight:700}.conflict-holiday{color:#1d4ed8;background:#dbeafe;border:1px solid #93c5fd;border-radius:8px;padding:6px 10px;font-size:12px;font-weight:600}.conflict-suggestions{background:var(--neutral-50,#f8fafc);border:1px solid var(--neutral-100,#f1f5f9);border-radius:8px;padding:8px 12px;font-size:12px}.conflict-suggestions summary{color:var(--ink,#0f172a);cursor:pointer;font-weight:600;list-style:none}.conflict-suggestions summary::-webkit-details-marker{display:none}.conflict-suggestions summary:before{color:var(--muted,#64748b);content:"▸ ";font-weight:700}.conflict-suggestions[open] summary:before{content:"▾ "}.conflict-suggestions ul{color:var(--muted,#64748b);margin:6px 0 0;padding-inline-start:18px}.conflict-suggestions li{line-height:1.6}.gantt-bar.has-conflict{position:relative}.gantt-bar.has-conflict:before{border:2px solid var(--warning-500,#f59e0b);border-radius:inherit;content:"";pointer-events:none;position:absolute;inset:-3px;box-shadow:0 0 0 2px #f59e0b29}.gantt-conflict-badge{background:var(--warning-500,#f59e0b);color:#78350f;pointer-events:none;z-index:4;border:2px solid #fff;border-radius:999px;justify-content:center;align-items:center;width:18px;height:18px;font-size:11px;font-weight:800;line-height:1;display:inline-flex;position:absolute;inset-block-start:-9px;inset-inline-end:-9px}.gantt-conflict-badge:before{content:"!";font-size:11px}.shell-sidebar-item-badge.badge-danger{background:var(--danger-500,#ef4444);color:#fff}.conflict-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;display:flex}.conflict-sync{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.conflict-sync-result{background:var(--success-50,#ecfdf5);border:1px solid var(--success-200,#a7f3d0);color:var(--success-800,#065f46);border-radius:6px;padding:4px 10px;font-size:12.5px}.conflict-status-tabs{border:1px solid var(--neutral-200,#e2e8f0);background:#fff;border-radius:999px;gap:4px;padding:4px;display:flex}.conflict-status-tab{color:var(--muted,#64748b);background:0 0;border-radius:999px;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:500;text-decoration:none;transition:all .12s;display:inline-flex}.conflict-status-tab:hover{background:var(--neutral-50,#f8fafc)}.conflict-status-tab.is-active{background:var(--primary-600,#4338ca);color:#fff}.conflict-status-tab-badge{text-align:center;background:#00000014;border-radius:999px;min-width:20px;padding:1px 7px;font-size:11px;font-weight:700}.conflict-status-tab.is-active .conflict-status-tab-badge{background:#ffffff40}.conflict-resolution{background:var(--primary-50,#eef2ff);border-radius:10px;margin-top:12px;padding:12px 14px}.conflict-resolution-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.conflict-resolution-head h5{margin:0;font-size:13px;font-weight:700}.conflict-resolution-learning{background:var(--warning-100,#fef3c7);color:var(--warning-800,#92400e);border-radius:999px;padding:2px 10px;font-size:11.5px;font-weight:600}.conflict-resolution-status{background:#fff;border-radius:999px;padding:2px 10px;font-size:11.5px;font-weight:700}.conflict-resolution-status.is-applied{background:var(--success-100,#d1fae5);color:var(--success-800,#065f46)}.conflict-resolution-status.is-ignored{background:var(--neutral-200,#e2e8f0);color:var(--muted,#64748b)}.conflict-resolution-hint{margin-bottom:8px;font-size:12px}.conflict-resolution-list{flex-direction:column;gap:6px;display:flex}.conflict-resolution-btn{border:1px solid var(--neutral-200,#e2e8f0);cursor:pointer;text-align:start;background:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;font-size:13px;transition:all .12s;display:flex}.conflict-resolution-btn:hover:not(:disabled){background:var(--primary-50,#eef2ff);border-color:var(--primary-300,#a5b4fc)}.conflict-resolution-btn:disabled{cursor:not-allowed;opacity:.55}.conflict-resolution-btn.confidence-high{border-color:var(--primary-300,#a5b4fc)}.conflict-resolution-btn.is-ignore{background:var(--neutral-50,#f8fafc)}.conflict-resolution-btn-main{flex-direction:column;flex:1;gap:2px;display:flex}.conflict-resolution-btn-main strong{font-size:13px;font-weight:600}.conflict-resolution-confidence{background:var(--neutral-100,#f1f5f9);color:var(--muted,#64748b);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600}.conflict-resolution-confidence.c-high{background:var(--primary-100,#e0e7ff);color:var(--primary-800,#3730a3)}.conflict-resolution-confidence.c-medium{background:var(--warning-100,#fef3c7);color:var(--warning-800,#92400e)}.conflict-resolution-busy{font-size:14px}.conflict-resolution-done{background:var(--success-50,#ecfdf5);border:1px solid var(--success-200,#a7f3d0);color:var(--success-800,#065f46);border-radius:6px;margin-top:8px;padding:6px 10px;font-size:12.5px}
.team-page{flex-direction:column;gap:16px;display:flex}.team-stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.team-stat-card{border:1px solid var(--neutral-200,#e2e8f0);background:#fff;border-radius:12px;flex-direction:column;align-items:flex-start;gap:4px;padding:14px 18px;display:flex}.team-stat-card .stat-label{color:var(--muted,#64748b);font-size:11.5px;font-weight:600}.team-stat-card .stat-value{color:var(--ink,#0f172a);font-size:22px;font-weight:700}.team-stat-card.tone-success .stat-value{color:var(--success-600,#16a34a)}.team-stat-card.tone-warning .stat-value{color:var(--warning-600,#d97706)}.team-stat-card.tone-danger .stat-value{color:var(--danger-600,#dc2626)}.team-toolbar{border:1px solid var(--neutral-200,#e2e8f0);background:#fff;border-radius:10px;flex-wrap:wrap;align-items:center;gap:16px;padding:10px 14px;display:flex}.team-toolbar label{align-items:center;gap:6px;font-size:12px;display:flex}.team-toolbar input[type=date],.team-toolbar select{border:1px solid var(--neutral-300,#cbd5e1);font:inherit;background:#fff;border-radius:6px;padding:5px 10px;font-size:12.5px}.team-toolbar button{background:var(--primary-500,#6366f1);color:#fff;cursor:pointer;font:inherit;border:none;border-radius:6px;padding:6px 14px;font-size:12.5px;font-weight:600}.team-toolbar button:hover{background:var(--primary-600,#4f46e5)}.team-toolbar .team-toolbar-spacer{flex:auto}.team-toolbar a.team-toolbar-link{color:var(--primary-700,#4338ca);font-size:12.5px;font-weight:600;text-decoration:none}.team-toolbar a.team-toolbar-link:hover{text-decoration:underline}.heatmap-container{border:1px solid var(--neutral-200,#e2e8f0);background:#fff;border-radius:12px;flex-direction:column;max-height:calc(100vh - 320px);display:flex;overflow:auto}.heatmap-empty{background:var(--neutral-50,#f8fafc);border:1px dashed var(--neutral-300,#cbd5e1);color:var(--muted,#64748b);text-align:center;border-radius:12px;padding:36px 24px;font-size:13px}.heatmap-grid{flex-direction:column;flex:auto;min-width:max-content;display:flex;position:relative}.heatmap-row-month,.heatmap-row-days{background:var(--neutral-50,#f8fafc);z-index:10;flex-shrink:0;display:flex;position:sticky}.heatmap-row-month{border-bottom:1px solid var(--neutral-200,#e2e8f0);top:0}.heatmap-row-days{border-bottom:1px solid var(--neutral-200,#e2e8f0);top:32px}.heatmap-corner{background:var(--neutral-50,#f8fafc);border-inline-end:1px solid var(--neutral-200,#e2e8f0);z-index:12;flex-shrink:0;height:32px;position:sticky;inset-inline-start:0}.heatmap-corner-second{color:var(--muted,#64748b);letter-spacing:.04em;text-transform:uppercase;align-items:center;height:28px;padding:0 12px;font-size:11.5px;font-weight:700;display:flex}.heatmap-months{height:32px;display:flex}.heatmap-month{border-inline-end:1px solid var(--neutral-200,#e2e8f0);color:var(--muted,#64748b);justify-content:center;align-items:center;padding:0 8px;font-size:12px;font-weight:700;display:flex}.heatmap-days{height:28px;display:flex}.heatmap-day-label{color:var(--muted,#64748b);font-variant-numeric:tabular-nums;flex-shrink:0;justify-content:center;align-items:center;font-size:10px;display:flex;position:relative}.heatmap-day-label.is-weekend{background:var(--neutral-100,#f1f5f9);color:var(--neutral-500,#64748b)}.heatmap-rows{flex-direction:column;display:flex}.heatmap-row{border-bottom:1px solid var(--neutral-100,#f1f5f9);transition:background .1s;display:flex}.heatmap-row:hover,.heatmap-row:hover .heatmap-user-cell{background:var(--neutral-50,#f8fafc)}.heatmap-user-cell{border-inline-end:1px solid var(--neutral-200,#e2e8f0);z-index:5;background:#fff;flex-shrink:0;align-items:center;gap:10px;padding:10px 12px;display:flex;position:sticky;inset-inline-start:0}.heatmap-user-info{flex-direction:column;gap:2px;min-width:0;display:flex}.heatmap-user-name{color:var(--ink,#0f172a);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.heatmap-user-meta{color:var(--muted,#64748b);font-size:11px}.heatmap-user-overload{color:var(--danger-600,#dc2626);font-weight:700}.heatmap-cells{align-items:center;display:flex}.heatmap-cell{border-inline-end:1px solid var(--neutral-100,#f1f5f9);cursor:pointer;flex-shrink:0;transition:transform .12s,box-shadow .12s;display:inline-block;position:relative}.heatmap-cell:hover{z-index:6;border-radius:4px;transform:scale(1.6);box-shadow:0 2px 10px #0f172a2e}.heatmap-cell.cell-empty{background:#fff}.heatmap-cell.cell-light{background:#d1fae5}.heatmap-cell.cell-medium{background:#6ee7b7}.heatmap-cell.cell-full{background:#fde68a}.heatmap-cell.cell-over{background:#fb923c}.heatmap-cell.cell-critical{background:#ef4444;animation:2s ease-in-out infinite heatmap-pulse}@keyframes heatmap-pulse{0%,to{opacity:1}50%{opacity:.65}}.heatmap-cell.cell-weekend{background:var(--neutral-100,#f1f5f9)}.heatmap-cell.cell-holiday{background:var(--warning-100,#fef3c7);background-image:repeating-linear-gradient(45deg,#0000,#0000 4px,#fbbf248c 4px 6px)}.cell-overload-icon{color:#fff;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex;position:absolute;inset:0}.heatmap-popover{border:1px solid var(--neutral-200,#e2e8f0);pointer-events:auto;z-index:1000;background:#fff;border-radius:12px;min-width:280px;max-width:380px;padding:10px 12px;font-size:12.5px;position:fixed;transform:translate(-50%);box-shadow:0 12px 36px #0f172a2e}.heatmap-popover-head{border-bottom:1px solid var(--neutral-100,#f1f5f9);flex-direction:column;align-items:baseline;gap:2px;margin-bottom:8px;padding-bottom:6px;display:flex}.heatmap-popover-user{color:var(--ink,#0f172a);font-size:13px;font-weight:700}.heatmap-popover-date{color:var(--muted,#64748b);font-size:11.5px}.heatmap-popover-dayflag{background:var(--warning-50,#fffbeb);border:1px solid var(--warning-200,#fde68a);color:var(--warning-700,#b45309);border-radius:6px;margin-bottom:8px;padding:4px 8px;font-size:11.5px;font-weight:600}.heatmap-popover-load{font-variant-numeric:tabular-nums;align-items:center;gap:10px;margin-bottom:8px;display:flex}.heatmap-popover-load .num{color:var(--ink,#0f172a);min-width:50px;font-size:16px;font-weight:700}.heatmap-popover-track{background:var(--neutral-100,#f1f5f9);border:1px solid var(--neutral-200,#e2e8f0);border-radius:999px;flex:auto;height:8px;position:relative;overflow:hidden}.heatmap-popover-fill{border-radius:999px;height:100%;display:block}.heatmap-popover-fill.fill-ok{background:var(--success-500,#10b981)}.heatmap-popover-fill.fill-full{background:var(--warning-500,#f59e0b)}.heatmap-popover-fill.fill-over{background:#fb923c}.heatmap-popover-fill.fill-critical{background:var(--danger-500,#ef4444)}.heatmap-popover-100mark{background:var(--neutral-400,#94a3b8);bottom:-2px;inset-inline-start:50%;width:1px;position:absolute;top:-2px}.heatmap-popover-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.heatmap-popover-empty{color:var(--muted,#64748b);text-align:center;padding:4px 0;font-size:11.5px}.heatmap-popover-item{padding:0}.heatmap-popover-link{color:inherit;border-radius:6px;align-items:center;gap:8px;padding:6px 8px;text-decoration:none;transition:background .12s;display:flex}.heatmap-popover-link:hover{background:var(--neutral-50,#f8fafc)}.heatmap-popover-dot{background:var(--primary-500,#6366f1);border-radius:999px;flex-shrink:0;width:8px;height:8px}.heatmap-popover-dot.entity-task{background:var(--primary-500,#6366f1)}.heatmap-popover-dot.entity-rfq{background:var(--warning-500,#f59e0b)}.heatmap-popover-dot.entity-submittal{background:var(--success-500,#10b981)}.heatmap-popover-dot.entity-rfi{background:#3b82f6}.heatmap-popover-dot.entity-inspection{background:#06b6d4}.heatmap-popover-dot.entity-change_order{background:var(--danger-500,#ef4444)}.heatmap-popover-dot.entity-payment{background:#d97706}.heatmap-popover-dot.entity-document{background:var(--neutral-500,#64748b)}.heatmap-popover-dot.entity-meeting{background:#8b5cf6}.heatmap-popover-title{color:var(--ink,#0f172a);text-overflow:ellipsis;white-space:nowrap;flex:auto;font-size:12px;font-weight:500;overflow:hidden}.heatmap-popover-project{color:var(--muted,#64748b);font-size:11px}.heatmap-popover-type{background:var(--neutral-100,#f1f5f9);color:var(--muted,#64748b);border-radius:4px;padding:1px 6px;font-size:10px;font-weight:700}.heatmap-popover-load-pill{background:var(--primary-50,#eef2ff);color:var(--primary-700,#4338ca);border-radius:4px;padding:1px 6px;font-size:10.5px;font-weight:700}.heatmap-legend{background:var(--neutral-50,#f8fafc);border-top:1px solid var(--neutral-200,#e2e8f0);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:16px;padding:10px 14px;display:flex;position:sticky;bottom:0}.heatmap-legend-label{color:var(--muted,#64748b);font-size:11.5px;font-weight:700}.heatmap-legend-items{flex-wrap:wrap;gap:14px;margin:0;padding:0;list-style:none;display:flex}.heatmap-legend-items li{color:var(--ink,#0f172a);align-items:center;gap:6px;font-size:11px;display:inline-flex}.heatmap-legend-swatch{border:1px solid var(--neutral-300,#cbd5e1);border-radius:3px;width:14px;height:14px;display:inline-block}.heatmap-legend-swatch.cell-empty{background:#fff}.heatmap-legend-swatch.cell-light{background:#d1fae5}.heatmap-legend-swatch.cell-medium{background:#6ee7b7}.heatmap-legend-swatch.cell-full{background:#fde68a}.heatmap-legend-swatch.cell-over{background:#fb923c}.heatmap-legend-swatch.cell-critical{background:#ef4444}.heatmap-legend-swatch.cell-weekend{background:var(--neutral-100,#f1f5f9)}.heatmap-legend-swatch.cell-holiday{background:var(--warning-100,#fef3c7);background-image:repeating-linear-gradient(45deg,#0000,#0000 3px,#fbbf2499 3px 5px)}
.cpm-page{flex-direction:column;gap:16px;display:flex}.cpm-page-head{border:1px solid var(--neutral-200,#e2e8f0);background:#fff;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.cpm-page-title{margin:0 0 4px;font-size:18px;font-weight:700}.cpm-page-subtitle{color:var(--muted,#64748b);margin:0;font-size:12.5px}.cpm-empty{background:var(--neutral-50,#f8fafc);border:1px dashed var(--neutral-300,#cbd5e1);color:var(--muted,#64748b);text-align:start;border-radius:12px;flex-direction:column;gap:8px;padding:28px 32px;font-size:13px;line-height:1.7;display:flex}.cpm-empty strong{color:var(--ink,#0f172a);font-size:14px}.cpm-empty-inline{color:var(--muted,#64748b);text-align:center;padding:16px;font-size:12.5px}.cpm-stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.cpm-stat-card{border:1px solid var(--neutral-200,#e2e8f0);border-inline-start:4px solid var(--neutral-300,#cbd5e1);background:#fff;border-radius:12px;flex-direction:column;gap:4px;padding:14px 18px;display:flex}.cpm-stat-card.tone-danger{border-inline-start-color:var(--danger-500,#ef4444)}.cpm-stat-card.tone-success{border-inline-start-color:var(--success-500,#10b981)}.cpm-stat-label{color:var(--muted,#64748b);font-size:11.5px;font-weight:600}.cpm-stat-value{color:var(--ink,#0f172a);font-size:20px;font-weight:700}.cpm-flow,.cpm-float{border:1px solid var(--neutral-200,#e2e8f0);background:#fff;border-radius:12px;padding:16px 18px}.cpm-flow-head,.cpm-float-head{flex-wrap:wrap;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.cpm-flow-head h3,.cpm-float-head h3{margin:0;font-size:15px;font-weight:700}.cpm-flow-meta{color:var(--muted,#64748b);font-size:11.5px}.cpm-flow-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.cpm-flow-node{align-items:stretch;gap:10px;display:flex;position:relative}.cpm-flow-node:before{background:var(--danger-300,#fca5a5);content:"";inset-inline-start:14px;z-index:0;width:2px;position:absolute;top:32px;bottom:-8px}.cpm-flow-node:last-child:before{display:none}.cpm-flow-step{background:var(--danger-500,#ef4444);box-shadow:0 0 0 1px var(--danger-300,#fca5a5);color:#fff;z-index:1;border:2px solid #fff;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:11px;font-weight:700;display:inline-flex;position:relative}.cpm-flow-card{background:var(--danger-50,#fef2f2);border:1px solid var(--danger-200,#fecaca);border-radius:8px;flex:auto;padding:10px 12px}.cpm-flow-title{color:var(--ink,#0f172a);margin-bottom:4px;font-size:13.5px;font-weight:600}.cpm-flow-meta-row{color:var(--muted,#64748b);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:14px;font-size:11.5px;display:flex}.cpm-flow-assignee{color:var(--ink,#0f172a);align-items:center;gap:6px;font-weight:600;display:inline-flex}.cpm-flow-assignee-dot{box-shadow:0 0 0 1px var(--neutral-300,#cbd5e1);border:2px solid #fff;border-radius:999px;width:10px;height:10px;display:inline-block}.cpm-float-table{border-collapse:collapse;width:100%;font-size:12.5px}.cpm-float-table th{background:var(--neutral-50,#f8fafc);border-bottom:1px solid var(--neutral-200,#e2e8f0);color:var(--muted,#64748b);letter-spacing:.04em;text-align:start;text-transform:uppercase;padding:8px 10px;font-size:11px;font-weight:700}.cpm-float-table td{border-bottom:1px solid var(--neutral-100,#f1f5f9);vertical-align:middle;padding:8px 10px}.cpm-float-table tr:hover{background:var(--neutral-50,#f8fafc)}.cpm-float-pill{background:var(--success-50,#f0fdf4);border:1px solid var(--success-200,#bbf7d0);color:var(--success-700,#15803d);border-radius:6px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.gantt-bar.is-critical{box-shadow:0 0 0 1px var(--danger-200,#fecaca);border-color:var(--danger-500,#ef4444)!important;border-width:2px!important}.gantt-bar.is-critical:before{background:var(--danger-500,#ef4444);content:"";bottom:0;inset-inline-start:0;width:4px;position:absolute;top:0}.gantt-critical-marker{background:var(--danger-500,#ef4444);color:#fff;pointer-events:none;z-index:4;border:2px solid #fff;border-radius:999px;justify-content:center;align-items:center;width:16px;height:16px;font-size:9px;font-weight:700;line-height:1;display:inline-flex;position:absolute;inset-block-start:-8px;inset-inline-start:-6px}.universal-gantt.show-only-critical .gantt-bar:not(.is-critical){opacity:.18}.universal-gantt.show-only-critical .gantt-bar.is-critical{opacity:1}.team-autobalance{background:var(--primary-50,#eef2ff);border:1px solid var(--primary-200,#c7d2fe);border-radius:12px;padding:14px 18px}.team-autobalance h3{color:var(--primary-700,#4338ca);margin:0 0 8px;font-size:14px;font-weight:700}.team-autobalance-row{border:1px solid var(--primary-200,#c7d2fe);background:#fff;border-radius:8px;flex-wrap:wrap;align-items:center;gap:14px;margin-top:8px;padding:10px 12px;display:flex}.team-autobalance-source{align-items:center;gap:8px;font-size:12.5px;display:inline-flex}.team-autobalance-arrow{color:var(--muted,#64748b);font-size:14px}.team-autobalance-targets{flex-wrap:wrap;flex:auto;align-items:center;gap:8px;display:inline-flex}.team-autobalance-tag{background:var(--danger-100,#fee2e2);color:var(--danger-700,#b91c1c);border-radius:4px;padding:1px 6px;font-size:10px;font-weight:700}.team-export-button{border:1px solid var(--neutral-300,#cbd5e1);color:var(--ink,#0f172a);cursor:pointer;font:inherit;background:#fff;border-radius:6px;padding:6px 12px;font-size:12.5px;font-weight:600;text-decoration:none}.team-export-button:hover{background:var(--neutral-50,#f8fafc);border-color:var(--neutral-400,#94a3b8)}.conflict-actions{background:var(--neutral-50,#f8fafc);border:1px solid var(--neutral-100,#f1f5f9);border-radius:8px;padding:8px 12px}.conflict-actions h5{color:var(--muted,#64748b);letter-spacing:.04em;text-transform:uppercase;margin:0 0 6px;font-size:11px;font-weight:700}.conflict-resolution-hint{border-inline-start:3px solid var(--primary-300,#a5b4fc);color:var(--muted,#64748b);background:#fff;border-radius:4px;margin:0 0 8px;padding:6px 10px;font-size:11px;font-style:italic;line-height:1.6}.conflict-actions-row{flex-wrap:wrap;gap:6px;display:flex}.conflict-action-btn{border:1px solid var(--neutral-300,#cbd5e1);color:var(--ink,#0f172a);background:#fff;border-radius:6px;align-items:center;gap:6px;padding:4px 10px;font-size:11.5px;font-weight:600;text-decoration:none;transition:all .12s;display:inline-flex}.conflict-action-btn:hover{background:var(--primary-50,#eef2ff);border-color:var(--primary-300,#a5b4fc);color:var(--primary-700,#4338ca)}.cpm-tabs{border-bottom:2px solid var(--neutral-200,#e2e8f0);flex-wrap:wrap;gap:8px;margin:0 0 8px;display:flex}.cpm-tab{color:var(--muted,#64748b);cursor:pointer;background:0 0;border:2px solid #0000;border-bottom:none;border-radius:10px 10px 0 0;align-items:center;gap:8px;margin-bottom:-2px;padding:10px 16px;font-size:14px;font-weight:500;text-decoration:none;transition:all .12s;display:inline-flex}.cpm-tab:hover{background:var(--neutral-50,#f8fafc);color:var(--text,#1e293b)}.cpm-tab.is-active{border-color:var(--neutral-200,#e2e8f0);color:var(--primary-700,#4338ca);background:#fff;border-bottom-color:#fff;font-weight:600}.cpm-tab-icon{font-size:18px;line-height:1}.cpm-tab-badge{background:var(--danger-100,#fee2e2);color:var(--danger-700,#b91c1c);text-align:center;border-radius:999px;min-width:22px;padding:2px 8px;font-size:12px;font-weight:700}.cpm-tab.is-active .cpm-tab-badge{background:var(--danger-600,#dc2626);color:#fff}.cpm-tab-note{background:var(--info-50,#eff6ff);border:1px solid var(--info-200,#bfdbfe);color:var(--info-800,#1e40af);border-radius:8px;padding:10px 14px;font-size:13px;line-height:1.5}.cpm-boq-table{border-collapse:collapse;width:100%}.cpm-boq-table th,.cpm-boq-table td{border-bottom:1px solid var(--neutral-200,#e2e8f0);text-align:start;vertical-align:middle;padding:8px 10px;font-size:13px}.cpm-boq-code{color:var(--primary-700,#4338ca);font-family:ui-monospace,SFMono-Regular,monospace;font-size:12.5px}.cpm-float-pill.is-critical{background:var(--danger-100,#fee2e2);color:var(--danger-800,#991b1b);border-radius:999px;padding:2px 10px;font-weight:700;display:inline-block}.cpm-recompute-all{flex-direction:column;align-items:center;gap:8px;display:flex}.cpm-recompute-result{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.cpm-recompute-pill{background:var(--neutral-50,#f8fafc);border:1px solid var(--neutral-200,#e2e8f0);color:var(--text,#1e293b);border-radius:999px;padding:4px 12px;font-size:12px}.cpm-recompute-pill.is-ok{background:var(--success-50,#ecfdf5);border-color:var(--success-200,#a7f3d0);color:var(--success-800,#065f46)}.cpm-recompute-pill.is-warn{background:var(--warning-50,#fffbeb);border-color:var(--warning-200,#fde68a);color:var(--warning-800,#92400e)}
.comments-thread{border:1px solid var(--neutral-200,#e2e8f0);background:#fff;border-radius:12px;flex-direction:column;gap:12px;padding:18px 20px;display:flex}.comments-header{border-bottom:1px solid var(--neutral-100,#f1f5f9);align-items:center;gap:10px;margin-bottom:4px;padding-bottom:10px;display:flex}.comments-header h3{margin:0;font-size:15px;font-weight:700}.comments-header-count{background:var(--neutral-100,#f1f5f9);color:var(--muted,#64748b);border-radius:999px;padding:2px 10px;font-size:11.5px;font-weight:700}.comments-error{background:var(--danger-50,#fef2f2);border:1px solid var(--danger-200,#fecaca);color:var(--danger-700,#b91c1c);border-radius:8px;padding:8px 12px;font-size:12.5px}.comments-loading{color:var(--muted,#64748b);text-align:center;padding:16px;font-size:12.5px}.comments-pinned{background:var(--warning-50,#fffbeb);border:1px solid var(--warning-200,#fde68a);border-radius:10px;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.comments-section-title{color:var(--warning-700,#b45309);letter-spacing:.04em;text-transform:uppercase;margin:0 0 6px;font-size:11px;font-weight:700}.comments-list{flex-direction:column;gap:8px;display:flex}.comments-empty{color:var(--muted,#64748b);text-align:center;padding:24px 16px;font-size:13px}.comments-empty p{margin:4px 0}.comments-empty strong{color:var(--ink,#0f172a)}.comment-item{border:1px solid var(--neutral-100,#f1f5f9);background:#fff;border-radius:10px;gap:12px;padding:12px 14px;display:flex}.comment-item.depth-1{background:var(--neutral-50,#f8fafc);border-color:var(--neutral-200,#e2e8f0);margin-block-start:8px;margin-inline-start:36px}.comment-item.is-deleted{opacity:.7}.comment-item.is-deleted .comment-content{color:var(--muted,#64748b);font-style:italic}.comment-body{flex-direction:column;flex:auto;gap:6px;min-width:0;display:flex}.comment-meta{flex-wrap:wrap;align-items:baseline;gap:8px;font-size:11.5px;display:flex}.comment-author{color:var(--ink,#0f172a);font-size:13px;font-weight:700}.comment-time{color:var(--muted,#64748b)}.comment-edited-tag{font-style:italic}.comment-pin-tag{font-size:13px}.comment-content{color:var(--ink,#0f172a);word-break:break-word;font-size:13.5px;line-height:1.7}.comment-content a{color:var(--primary-700,#4338ca);text-decoration:underline}.comment-content strong{font-weight:700}.comment-content em{font-style:italic}.comment-mention{background:var(--primary-50,#eef2ff);color:var(--primary-700,#4338ca);border-radius:4px;padding:1px 5px;font-weight:600}.comment-mention:hover{background:var(--primary-100,#e0e7ff)}.comment-actions{flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;display:flex}.comment-action-btn{color:var(--muted,#64748b);cursor:pointer;font:inherit;background:0 0;border:1px solid #0000;border-radius:6px;padding:3px 8px;font-size:11.5px;font-weight:600;transition:all .12s}.comment-action-btn:hover:not(:disabled){background:var(--neutral-100,#f1f5f9);border-color:var(--neutral-200,#e2e8f0);color:var(--ink,#0f172a)}.comment-action-btn.is-danger:hover:not(:disabled){background:var(--danger-50,#fef2f2);border-color:var(--danger-200,#fecaca);color:var(--danger-700,#b91c1c)}.comment-action-btn:disabled{cursor:not-allowed;opacity:.55}.comment-replies{flex-direction:column;gap:6px;margin-top:6px;display:flex}.comment-replies-toggle{color:var(--primary-700,#4338ca);cursor:pointer;font:inherit;background:0 0;border:none;align-self:flex-start;padding:2px 0;font-size:11.5px;font-weight:600}.comment-editor{flex-direction:column;gap:6px;display:flex}.comment-editor-textarea,.comment-composer-textarea{border:1px solid var(--neutral-300,#cbd5e1);font:inherit;resize:vertical;background:#fff;border-radius:8px;width:100%;padding:8px 12px;font-size:13px;line-height:1.5}.comment-editor-textarea:focus,.comment-composer-textarea:focus{border-color:var(--primary-500,#6366f1);box-shadow:0 0 0 3px var(--primary-100,#e0e7ff);outline:none}.comment-editor-actions,.comment-composer-actions{align-items:center;gap:6px;display:inline-flex}.comment-btn-save{background:var(--primary-500,#6366f1);border:1px solid var(--primary-500,#6366f1);color:#fff;cursor:pointer;font:inherit;border-radius:6px;padding:5px 12px;font-size:12.5px;font-weight:600}.comment-btn-save:hover:not(:disabled){background:var(--primary-600,#4f46e5)}.comment-btn-save:disabled{cursor:not-allowed;opacity:.5}.comment-btn-cancel{border:1px solid var(--neutral-300,#cbd5e1);color:var(--muted,#64748b);cursor:pointer;font:inherit;background:#fff;border-radius:6px;padding:5px 10px;font-size:12.5px;font-weight:600}.comment-btn-cancel:hover:not(:disabled){background:var(--neutral-50,#f8fafc)}.comment-reply-composer{margin-block-start:6px;margin-inline-start:0}.comment-composer{background:var(--neutral-50,#f8fafc);border:1px solid var(--neutral-200,#e2e8f0);border-radius:10px;flex-direction:column;gap:8px;padding:12px;display:flex}.comment-composer.is-reply{background:#fff;padding:8px}.comment-composer-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.comment-composer-hints{color:var(--muted,#64748b);flex-wrap:wrap;align-items:center;gap:8px;font-size:11px;display:inline-flex}.comment-composer-hints code{border:1px solid var(--neutral-200,#e2e8f0);background:#fff;border-radius:4px;padding:1px 5px;font-size:10.5px}.comment-composer-error{background:var(--danger-50,#fef2f2);border:1px solid var(--danger-200,#fecaca);color:var(--danger-700,#b91c1c);border-radius:6px;padding:6px 10px;font-size:12px}.mention-autocomplete{border:1px solid var(--neutral-200,#e2e8f0);z-index:1100;background:#fff;border-radius:12px;flex-direction:column;gap:4px;min-width:280px;max-width:360px;max-height:300px;padding:6px;display:flex;position:fixed;overflow-y:auto;box-shadow:0 12px 36px #0f172a2e}.mention-autocomplete-hint{border-bottom:1px solid var(--neutral-100,#f1f5f9);color:var(--muted,#64748b);margin-bottom:4px;padding:4px 8px;font-size:10px}.mention-autocomplete-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.mention-autocomplete-item{cursor:pointer;font:inherit;text-align:start;background:0 0;border:none;border-radius:6px;align-items:center;gap:10px;width:100%;padding:6px 8px;transition:background .1s;display:flex}.mention-autocomplete-item.is-selected,.mention-autocomplete-item:hover{background:var(--primary-50,#eef2ff)}.mention-autocomplete-meta{flex-direction:column;flex:auto;gap:1px;min-width:0;display:flex}.mention-autocomplete-name{color:var(--ink,#0f172a);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.mention-autocomplete-sub{color:var(--muted,#64748b);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.mention-autocomplete-empty{color:var(--muted,#64748b);text-align:center;padding:14px 12px;font-size:12px}.mentions-inbox{flex-direction:column;gap:16px;display:flex}.mentions-empty{background:var(--neutral-50,#f8fafc);border:1px dashed var(--neutral-300,#cbd5e1);color:var(--muted,#64748b);text-align:center;border-radius:14px;flex-direction:column;align-items:center;gap:8px;padding:36px 24px;font-size:13px;display:flex}.mentions-empty-icon{border:2px solid var(--primary-300,#a5b4fc);color:var(--primary-600,#4f46e5);background:#fff;border-radius:999px;justify-content:center;align-items:center;width:48px;height:48px;font-size:22px;font-weight:700;display:inline-flex}.mentions-empty strong{color:var(--ink,#0f172a)}.mentions-bucket{flex-direction:column;gap:8px;display:flex}.mentions-bucket-head{color:var(--muted,#64748b);letter-spacing:.04em;text-transform:uppercase;margin:0;padding:4px 4px 0;font-size:11px;font-weight:700}.mentions-bucket-list{flex-direction:column;gap:8px;display:flex}.mentions-card{border:1px solid var(--neutral-200,#e2e8f0);color:inherit;background:#fff;border-radius:12px;align-items:flex-start;gap:12px;padding:12px 14px;text-decoration:none;transition:all .12s;display:flex}.mentions-card:hover{background:var(--primary-50,#eef2ff);border-color:var(--primary-300,#a5b4fc)}.mentions-card-body{flex-direction:column;flex:auto;gap:4px;min-width:0;display:flex}.mentions-card-head{flex-wrap:wrap;align-items:baseline;gap:6px;font-size:12.5px;display:flex}.mentions-card-author{color:var(--ink,#0f172a);font-weight:700}.mentions-card-action{color:var(--muted,#64748b)}.mentions-card-time{color:var(--muted,#64748b);font-size:11px}.mentions-card-content{background:var(--neutral-50,#f8fafc);color:var(--ink,#0f172a);word-break:break-word;border-radius:6px;padding:6px 10px;font-size:13px;line-height:1.6}.mentions-card-meta{gap:6px;display:flex}.mentions-card-project-tag{background:var(--primary-50,#eef2ff);color:var(--primary-700,#4338ca);border-radius:4px;padding:2px 8px;font-size:10.5px;font-weight:700}
.activity-page{flex-direction:column;gap:16px;display:flex}.activity-stats{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;display:grid}.activity-stat-card{border:1px solid var(--neutral-200,#e2e8f0);background:#fff;border-radius:12px;flex-direction:column;align-items:flex-start;gap:4px;padding:14px 18px;display:flex}.activity-stat-card .stat-label{color:var(--muted,#64748b);font-size:11.5px;font-weight:600}.activity-stat-card .stat-value{color:var(--ink,#0f172a);font-size:22px;font-weight:700}.activity-filters{border:1px solid var(--neutral-200,#e2e8f0);background:#fff;border-radius:10px;flex-direction:column;gap:10px;padding:12px 14px;display:flex}.activity-filters-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.activity-filters-label{color:var(--muted,#64748b);letter-spacing:.04em;text-transform:uppercase;margin-inline-end:4px;font-size:11.5px;font-weight:700}.activity-filter-chip{background:var(--neutral-50,#f8fafc);border:1px solid var(--neutral-200,#e2e8f0);color:var(--ink,#0f172a);border-radius:999px;align-items:center;gap:6px;padding:4px 12px;font-size:12px;font-weight:600;text-decoration:none;transition:all .12s;display:inline-flex}.activity-filter-chip:hover{border-color:var(--neutral-300,#cbd5e1);background:#fff}.activity-filter-chip.is-active{background:var(--primary-500,#6366f1);border-color:var(--primary-500,#6366f1);color:#fff}.activity-filter-count{background:#ffffff40;border-radius:999px;padding:1px 7px;font-size:10.5px}.activity-filter-chip:not(.is-active) .activity-filter-count{background:var(--neutral-200,#e2e8f0);color:var(--muted,#64748b)}.activity-empty{background:var(--neutral-50,#f8fafc);border:1px dashed var(--neutral-300,#cbd5e1);color:var(--muted,#64748b);text-align:center;border-radius:14px;flex-direction:column;align-items:center;gap:8px;padding:36px 24px;font-size:13px;display:flex}.activity-empty-icon{border:2px solid var(--neutral-300,#cbd5e1);background:#fff;border-radius:999px;justify-content:center;align-items:center;width:48px;height:48px;font-size:22px;display:inline-flex}.activity-empty strong{color:var(--ink,#0f172a)}.activity-timeline{flex-direction:column;gap:18px;display:flex}.activity-bucket{flex-direction:column;gap:6px;display:flex}.activity-bucket-head{color:var(--muted,#64748b);letter-spacing:.04em;text-transform:uppercase;padding:0 4px;font-size:11px;font-weight:700}.activity-list{flex-direction:column;gap:0;margin:0;padding:0;list-style:none;display:flex}.activity-item{align-items:stretch;gap:12px;display:flex}.activity-rail{flex-direction:column;flex-shrink:0;align-items:center;width:32px;display:flex}.activity-icon{z-index:1;border:2px solid #fff;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;display:inline-flex;box-shadow:0 0 0 1px #0f172a0f}.activity-icon.tone-success{background:var(--success-50,#f0fdf4);color:var(--success-700,#15803d)}.activity-icon.tone-danger{background:var(--danger-50,#fef2f2);color:var(--danger-700,#b91c1c)}.activity-icon.tone-primary{background:var(--primary-50,#eef2ff);color:var(--primary-700,#4338ca)}.activity-icon.tone-warning{background:var(--warning-50,#fffbeb);color:var(--warning-700,#b45309)}.activity-icon.tone-neutral{background:var(--neutral-100,#f1f5f9);color:var(--neutral-700,#334155)}.activity-line{background:var(--neutral-200,#e2e8f0);flex:auto;width:2px;min-height:18px;margin-top:2px}.activity-content{flex-direction:column;flex:auto;gap:4px;min-width:0;padding:4px 0 18px;display:flex}.activity-row{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.activity-desc{color:var(--ink,#0f172a);word-break:break-word;flex:200px;font-size:13px;line-height:1.6}.activity-desc strong{font-weight:700}.activity-status-chip{background:var(--neutral-100,#f1f5f9);color:var(--ink,#0f172a);border-radius:4px;padding:1px 8px;font-size:11.5px;font-style:normal;font-weight:600}.activity-entity-link{color:var(--primary-700,#4338ca);font-weight:600;text-decoration:none}.activity-entity-link:hover{text-decoration:underline}.activity-time{color:var(--muted,#64748b);white-space:nowrap;font-size:11px}.activity-project-tag{background:var(--neutral-50,#f8fafc);color:var(--muted,#64748b);border-radius:999px;align-items:center;gap:4px;width:fit-content;padding:2px 10px;font-size:11px;text-decoration:none;display:inline-flex}.activity-project-tag:hover{background:var(--neutral-100,#f1f5f9);color:var(--ink,#0f172a)}.activity-timeline.is-compact .activity-bucket-head{display:none}.activity-timeline.is-compact .activity-icon{width:22px;height:22px;font-size:11px}.activity-timeline.is-compact .activity-rail{width:26px}.activity-timeline.is-compact .activity-content{padding-bottom:10px}.activity-timeline.is-compact .activity-desc{font-size:12px}
.messaging-layout{border:1px solid var(--neutral-200,#e2e8f0);background:#fff;border-radius:12px;grid-template-columns:320px 1fr;height:calc(100vh - 200px);min-height:540px;display:grid;overflow:hidden}.messaging-empty{color:var(--muted,#64748b);text-align:center;justify-content:center;align-items:center;height:100%;padding:24px;font-size:13.5px;display:flex}.messaging-empty--inline{background:0 0;height:auto;padding:36px 16px}.messaging-list{border-inline-end:1px solid var(--neutral-200,#e2e8f0);flex-direction:column;display:flex;overflow:hidden}.messaging-list-head{border-bottom:1px solid var(--neutral-100,#f1f5f9);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.messaging-list-head h2{margin:0;font-size:15px;font-weight:700}.messaging-new-btn{background:var(--primary-500,#6366f1);border:1px solid var(--primary-500,#6366f1);color:#fff;border-radius:6px;padding:4px 10px;font-size:12px;font-weight:600;text-decoration:none}.messaging-new-btn:hover{background:var(--primary-600,#4f46e5)}.messaging-search{padding:8px 12px}.messaging-search input{background:var(--neutral-50,#f8fafc);border:1px solid var(--neutral-200,#e2e8f0);font:inherit;border-radius:8px;width:100%;padding:7px 10px;font-size:13px}.messaging-search input:focus{border-color:var(--primary-500,#6366f1);box-shadow:0 0 0 3px var(--primary-100,#e0e7ff);background:#fff;outline:none}.messaging-list-empty{color:var(--muted,#64748b);text-align:center;padding:24px 16px;font-size:12.5px}.messaging-list-items{flex:auto;margin:0;padding:0;list-style:none;overflow-y:auto}.messaging-list-item{color:inherit;border-inline-start:3px solid #0000;align-items:center;gap:10px;padding:10px 14px;text-decoration:none;transition:background .1s;display:flex}.messaging-list-item:hover{background:var(--neutral-50,#f8fafc)}.messaging-list-item.is-active{background:var(--primary-50,#eef2ff);border-inline-start-color:var(--primary-500,#6366f1)}.messaging-list-item.is-unread:not(.is-active){background:var(--primary-50,#eef2ff)}.messaging-list-item.is-unread .messaging-list-name{font-weight:700}.messaging-group-avatar{background:var(--primary-100,#e0e7ff);box-shadow:0 0 0 1px var(--neutral-300,#cbd5e1);color:var(--primary-700,#4338ca);border:2px solid #fff;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:14px;display:inline-flex}.messaging-group-avatar--lg{width:44px;height:44px;font-size:18px}.messaging-list-body{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.messaging-list-row{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.messaging-list-name{color:var(--ink,#0f172a);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.messaging-list-time{color:var(--muted,#64748b);flex-shrink:0;font-size:11px}.messaging-list-preview{color:var(--muted,#64748b);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.messaging-list-badge{background:var(--primary-500,#6366f1);color:#fff;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:10.5px;font-weight:700;display:inline-flex}.messaging-list-badge.is-muted{background:var(--neutral-300,#cbd5e1);color:var(--neutral-700,#334155)}.messaging-list-mute-icon{color:var(--muted,#64748b);margin-inline-start:-4px;font-size:12px}.messaging-view{background:var(--neutral-50,#f8fafc);flex-direction:column;display:flex;overflow:hidden}.messaging-view-head{border-bottom:1px solid var(--neutral-200,#e2e8f0);background:#fff;flex-shrink:0;align-items:center;gap:12px;padding:10px 18px;display:flex}.messaging-view-head-text{flex-direction:column;flex:auto;min-width:0;display:flex}.messaging-view-head-text strong{color:var(--ink,#0f172a);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:700;overflow:hidden}.messaging-view-head-text span{color:var(--muted,#64748b);font-size:11.5px}.messaging-view-project-tag{background:var(--primary-50,#eef2ff);border:1px solid var(--primary-200,#c7d2fe);color:var(--primary-700,#4338ca);border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:11px;text-decoration:none;display:inline-flex}.messaging-view-body{flex-direction:column;flex:auto;gap:12px;padding:16px 18px;display:flex;overflow-y:auto}.messaging-system-row{justify-content:center;align-items:center;margin:8px 0;display:flex}.messaging-system-row span{border:1px solid var(--neutral-200,#e2e8f0);color:var(--muted,#64748b);background:#fff;border-radius:999px;padding:4px 14px;font-size:11.5px;font-style:italic}.messaging-group{flex-direction:column;gap:2px;display:flex}.messaging-group.is-own{align-items:flex-end}.messaging-group.is-other{align-items:flex-start}.messaging-bubble{align-items:flex-start;gap:8px;max-width:76%;display:flex}.messaging-bubble.is-own{flex-direction:row-reverse}.messaging-bubble.is-continuation{margin-inline-start:36px}.messaging-bubble.is-own.is-continuation{margin-inline:0}.messaging-bubble-avatar-spacer{flex-shrink:0;width:28px;height:28px;display:inline-block}.messaging-bubble-content{border:1px solid var(--neutral-100,#f1f5f9);word-break:break-word;background:#fff;border-radius:12px;flex-direction:column;gap:4px;padding:8px 12px;display:flex;position:relative;box-shadow:0 1px 2px #0f172a0d}.messaging-bubble.is-own .messaging-bubble-content{background:var(--primary-500,#6366f1);border-color:var(--primary-500,#6366f1);color:#fff}.messaging-bubble.is-own .messaging-bubble-content a{color:#fff;text-decoration:underline}.messaging-bubble.is-own .messaging-bubble-content .comment-mention{color:#fff;background:#ffffff2e}.messaging-bubble-author{color:var(--primary-700,#4338ca);font-size:11px;font-weight:700}.messaging-bubble-reply{border-inline-start:3px solid var(--primary-500,#6366f1);background:#0f172a0f;border-radius:6px;flex-direction:column;gap:2px;padding:4px 8px;font-size:11.5px;display:flex}.messaging-bubble.is-own .messaging-bubble-reply{background:#ffffff2e;border-inline-start-color:#fff}.messaging-bubble-reply-author{color:var(--primary-700,#4338ca);font-weight:700}.messaging-bubble.is-own .messaging-bubble-reply-author{color:#fff}.messaging-bubble-reply-body{color:var(--muted,#64748b);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.messaging-bubble.is-own .messaging-bubble-reply-body{color:#ffffffd9}.messaging-bubble-body{white-space:pre-wrap;font-size:13.5px;line-height:1.55}.messaging-bubble-body strong{font-weight:700}.messaging-bubble-body em{font-style:italic}.messaging-bubble-attachments{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.messaging-bubble-attachment{background:var(--neutral-50,#f8fafc);border:1px solid var(--neutral-200,#e2e8f0);color:inherit;border-radius:6px;align-items:center;gap:4px;padding:3px 8px;font-size:11.5px;text-decoration:none;display:inline-flex}.messaging-bubble.is-own .messaging-bubble-attachment{color:#fff;background:#ffffff2e;border-color:#ffffff47}.messaging-bubble-meta{color:var(--muted,#64748b);opacity:.85;justify-content:flex-end;gap:4px;font-size:10.5px;display:flex}.messaging-bubble.is-own .messaging-bubble-meta{color:#ffffffd9}.messaging-bubble-reply-btn{border:1px solid var(--neutral-200,#e2e8f0);cursor:pointer;opacity:0;background:#fff;border-radius:999px;width:22px;height:22px;font-size:11px;transition:opacity .12s;position:absolute;inset-block-start:-10px;inset-inline-end:-8px}.messaging-bubble:hover .messaging-bubble-reply-btn{opacity:1}.messaging-composer{border-top:1px solid var(--neutral-200,#e2e8f0);background:#fff;flex-direction:column;flex-shrink:0;gap:6px;padding:10px 14px;display:flex}.messaging-composer-reply{background:var(--primary-50,#eef2ff);border:1px solid var(--primary-200,#c7d2fe);color:var(--primary-700,#4338ca);border-radius:8px;align-items:center;gap:8px;padding:6px 10px;font-size:11.5px;display:flex}.messaging-composer-reply-icon{font-weight:700}.messaging-composer-reply-text{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.messaging-composer-reply-text strong{color:var(--primary-700,#4338ca)}.messaging-composer-reply-text span{color:var(--muted,#64748b);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.messaging-composer-reply-cancel{color:var(--primary-700,#4338ca);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:16px;line-height:1}.messaging-composer-row{background:var(--neutral-50,#f8fafc);border:1px solid var(--neutral-200,#e2e8f0);border-radius:12px;align-items:flex-end;gap:8px;padding:6px;display:flex}.messaging-composer-textarea{font:inherit;resize:none;background:0 0;border:none;outline:none;flex:auto;min-height:24px;max-height:160px;padding:6px 10px;font-size:13.5px;line-height:1.5}.messaging-composer-send{background:var(--primary-500,#6366f1);color:#fff;cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;display:inline-flex}.messaging-composer-send:hover:not(:disabled){background:var(--primary-600,#4f46e5)}.messaging-composer-send:disabled{cursor:not-allowed;opacity:.5}.messaging-composer-error{background:var(--danger-50,#fef2f2);border:1px solid var(--danger-200,#fecaca);color:var(--danger-700,#b91c1c);border-radius:6px;padding:6px 10px;font-size:12px}.messaging-new-page{flex-direction:column;gap:16px;display:flex}.messaging-new-form{border:1px solid var(--neutral-200,#e2e8f0);background:#fff;border-radius:12px;flex-direction:column;gap:16px;padding:20px;display:flex}.messaging-new-form h2{margin:0;font-size:15px;font-weight:700}.messaging-new-form label{flex-direction:column;gap:4px;font-size:12px;display:flex}.messaging-new-form label>span{color:var(--muted,#64748b);font-weight:600}.messaging-new-form input[type=text],.messaging-new-form textarea{border:1px solid var(--neutral-300,#cbd5e1);font:inherit;background:#fff;border-radius:8px;padding:7px 10px;font-size:13px}.messaging-new-form .messaging-new-tabs{gap:6px;display:flex}.messaging-new-tab{background:var(--neutral-50,#f8fafc);border:1px solid var(--neutral-200,#e2e8f0);color:var(--ink,#0f172a);cursor:pointer;font:inherit;border-radius:999px;padding:5px 14px;font-size:12px;font-weight:600}.messaging-new-tab.is-active{background:var(--primary-500,#6366f1);border-color:var(--primary-500,#6366f1);color:#fff}.messaging-new-users{flex-direction:column;gap:6px;max-height:320px;display:flex;overflow-y:auto}.messaging-new-user{background:var(--neutral-50,#f8fafc);border:1px solid var(--neutral-200,#e2e8f0);cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:6px 10px;display:flex}.messaging-new-user.is-selected{background:var(--primary-50,#eef2ff);border-color:var(--primary-300,#a5b4fc)}.messaging-new-user input{margin:0}.messaging-new-user-meta{flex-direction:column;flex:auto;gap:1px;min-width:0;display:flex}.messaging-new-user-name{color:var(--ink,#0f172a);font-size:13px;font-weight:600}.messaging-new-user-sub{color:var(--muted,#64748b);font-size:11px}.messaging-new-actions{justify-content:flex-end;gap:8px;display:flex}
.boq-link-section{background:var(--surface,#fff);border:1px solid var(--border,#e5e7eb);border-radius:12px;flex-direction:column;gap:.75rem;padding:1.25rem 1.5rem;display:flex}.boq-link-section h3{margin:0 0 .25rem;font-size:1.05rem}.boq-link-loading{color:var(--muted,#6b7280);font-size:.875rem}.boq-link-section-label{color:var(--muted,#6b7280);margin-bottom:.5rem;font-size:.875rem}.boq-link-suggestions{flex-direction:column;gap:.5rem;display:flex}.boq-link-chips{flex-wrap:wrap;gap:.5rem;display:flex}.boq-link-chip{cursor:pointer;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:999px;align-items:center;gap:.5rem;max-width:100%;padding:.4rem .85rem;font-size:.875rem;transition:background .15s,border-color .15s;display:inline-flex}.boq-link-chip:hover:not(:disabled){background:#e0e7ff;border-color:#c7d2fe}.boq-link-chip.is-suggestion{background:#fef3c7;border-color:#fde68a}.boq-link-chip.is-suggestion:hover{background:#fde68a}.boq-link-chip.is-linked{cursor:default;background:#d1fae5;border-color:#a7f3d0}.boq-link-chip-meta{color:var(--muted,#6b7280);background:#fff9;border-radius:4px;padding:.1rem .4rem;font-size:.75rem}.boq-link-linked{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.boq-link-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:.5rem .75rem;font-size:.875rem}.boq-link-empty{flex-direction:column;align-items:flex-start;gap:.75rem;padding:1rem 0;display:flex}.boq-link-btn-secondary{border:1px solid var(--border,#e5e7eb);cursor:pointer;color:var(--text,#1f2937);background:0 0;border-radius:6px;align-items:center;gap:.4rem;padding:.4rem .85rem;font-size:.875rem;display:inline-flex}.boq-link-btn-secondary:hover:not(:disabled){background:#f9fafb}.boq-link-btn-secondary:disabled{opacity:.6;cursor:not-allowed}.boq-link-modal-backdrop{z-index:50;background:#00000073;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.boq-link-modal{background:#fff;border-radius:12px;flex-direction:column;width:min(640px,100%);max-height:80vh;display:flex;box-shadow:0 25px 50px #00000040}.boq-link-modal-header{border-bottom:1px solid var(--border,#e5e7eb);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.boq-link-modal-header h4{margin:0}.boq-link-modal-close{cursor:pointer;color:var(--muted,#6b7280);background:0 0;border:0;font-size:1.25rem}.boq-link-modal-search{border:1px solid var(--border,#e5e7eb);border-radius:6px;margin:1rem 1.25rem 0;padding:.5rem .75rem;font-size:.95rem}.boq-link-modal-list{flex-direction:column;gap:.25rem;padding:.5rem .75rem 1rem;display:flex;overflow-y:auto}.boq-link-modal-empty{text-align:center;color:var(--muted,#6b7280);padding:2rem}.boq-link-modal-row{cursor:pointer;text-align:start;background:0 0;border:1px solid #0000;border-radius:8px;flex-direction:column;align-items:flex-start;gap:.25rem;padding:.6rem .75rem;transition:background .15s;display:flex}.boq-link-modal-row:hover:not(:disabled){background:#f3f4f6;border-color:#e5e7eb}.boq-link-modal-row-main{align-items:center;gap:.5rem;display:flex}.boq-link-modal-code{background:#f3f4f6;border-radius:4px;padding:.1rem .4rem;font-family:ui-monospace,SFMono-Regular,monospace;font-size:.8rem}.boq-link-modal-title{font-weight:500}.boq-link-modal-row-meta{color:var(--muted,#6b7280);flex-wrap:wrap;gap:.5rem;font-size:.8rem;display:flex}.boq-link-status{background:#f3f4f6;border-radius:4px;padding:.05rem .4rem}.boq-link-status.is-in_progress{color:#1e3a8a;background:#dbeafe}.boq-link-status.is-completed{color:#065f46;background:#d1fae5}.boq-link-status.is-on_hold{color:#78350f;background:#fef3c7}.boq-link-status.is-cancelled{color:#991b1b;background:#fee2e2}.boq-item-summary{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem 1rem;margin:0;display:grid}.boq-item-summary>div{flex-direction:column;gap:.15rem;display:flex}.boq-item-summary dt{color:var(--muted,#6b7280);margin:0;font-size:.8rem}.boq-item-summary dd{margin:0;font-weight:500}.boq-execution-panel{flex-direction:column;gap:1rem;display:flex}.boq-execution-header{justify-content:space-between;align-items:center;display:flex}.boq-execution-header h3{margin:0}.boq-execution-slider{flex-direction:column;gap:.5rem;display:flex}.boq-execution-slider-row{justify-content:space-between;align-items:baseline;display:flex}.boq-execution-slider-label{color:var(--muted,#6b7280);font-size:.875rem}.boq-execution-slider-value{font-size:1.25rem;font-weight:600}.boq-execution-slider input[type=range]{accent-color:#4f46e5;width:100%}.boq-execution-qty-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.boq-execution-statuses{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.boq-status-btn{border:1px solid var(--border,#e5e7eb);cursor:pointer;background:#fff;border-radius:6px;padding:.35rem .7rem;font-size:.85rem}.boq-status-btn:hover:not(:disabled){background:#f9fafb}.boq-status-btn.is-active{color:#fff;background:#4f46e5;border-color:#4f46e5}.boq-status-pill{color:#1f2937;background:#f3f4f6;border-radius:999px;align-items:center;padding:.2rem .7rem;font-size:.8rem;font-weight:500;display:inline-flex}.boq-status-pill.is-not_started{color:#374151;background:#f3f4f6}.boq-status-pill.is-in_progress{color:#1e3a8a;background:#dbeafe}.boq-status-pill.is-completed{color:#065f46;background:#d1fae5}.boq-status-pill.is-on_hold{color:#78350f;background:#fef3c7}.boq-status-pill.is-cancelled{color:#991b1b;background:#fee2e2}.boq-activity-section{flex-direction:column;gap:1rem;display:flex}.boq-activity-header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.boq-activity-header h3{margin:0}.boq-activity-progress-pill{color:#374151;background:#f3f4f6;border-radius:999px;padding:.35rem .85rem;font-weight:600}.boq-activity-progress-pill.is-zero{color:#6b7280;background:#f3f4f6}.boq-activity-progress-pill.is-low{color:#78350f;background:#fef3c7}.boq-activity-progress-pill.is-mid{color:#1e3a8a;background:#dbeafe}.boq-activity-progress-pill.is-complete{color:#065f46;background:#d1fae5}.boq-activity-cards{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;display:grid}.boq-activity-card{border:1px solid var(--border,#e5e7eb);background:#f9fafb;border-radius:8px;flex-direction:column;gap:.2rem;padding:.75rem 1rem;display:flex}.boq-activity-card.is-earned{background:#ecfdf5;border-color:#a7f3d0}.boq-activity-card strong{font-size:1.1rem}.boq-activity-table{width:100%}.boq-activity-table th,.boq-activity-table td{border-bottom:1px solid var(--border,#e5e7eb);vertical-align:middle;padding:.5rem .75rem}.boq-activity-row-slider{align-items:center;gap:.5rem;min-width:200px;display:flex}.boq-activity-row-slider input[type=range]{accent-color:#4f46e5;flex:1}.boq-activity-row-slider .num{text-align:end;font-variant-numeric:tabular-nums;min-width:40px}.boq-activity-footer{justify-content:flex-end;display:flex}.boq-bulk-banner-card{background:#eef2ff;border-color:#c7d2fe}.boq-bulk-banner-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.boq-bulk-banner-head h3{margin:.25rem 0}.boq-bulk-banner-eyebrow{color:#4338ca;text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;font-weight:600}.boq-bulk-banner-toolbar{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:.75rem;display:flex}.boq-bulk-banner-toolbar input[type=search]{border:1px solid var(--border,#e5e7eb);border-radius:6px;flex:1;min-width:220px;padding:.5rem .75rem}.boq-bulk-banner-list{border:1px solid var(--border,#e5e7eb);background:#fff;border-radius:8px;flex-direction:column;max-height:320px;margin-top:.75rem;padding:.25rem;display:flex;overflow-y:auto}.boq-bulk-row{cursor:pointer;border:1px solid #0000;border-radius:6px;grid-template-columns:auto 80px 1fr auto auto;align-items:center;gap:.75rem;padding:.5rem .75rem;display:grid}.boq-bulk-row:hover{background:#f9fafb}.boq-bulk-row.is-checked{background:#eef2ff;border-color:#c7d2fe}.boq-bulk-row.is-elsewhere{opacity:.85}.boq-bulk-row-code{background:#f3f4f6;border-radius:4px;padding:.15rem .5rem;font-family:ui-monospace,SFMono-Regular,monospace;font-size:.85rem}.boq-bulk-row-tag{border-radius:999px;padding:.1rem .5rem;font-size:.75rem}.boq-bulk-row-tag.is-linked{color:#065f46;background:#d1fae5}.boq-bulk-row-tag.is-elsewhere{color:#78350f;background:#fef3c7}.boq-bulk-banner-foot{border-top:1px solid #c7d2fe;justify-content:space-between;align-items:center;margin-top:.75rem;padding-top:.75rem;display:flex}.boq-bulk-banner-result{color:#065f46;background:#d1fae5;border-radius:6px;margin-top:.5rem;padding:.5rem .75rem;font-size:.875rem}.gantt-popover-progress-fill.is-earned{background:#10b981}.boq-deps-section{flex-direction:column;gap:1rem;display:flex}.boq-deps-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.boq-deps-head h3{margin:0 0 .25rem}.boq-deps-side{border:1px solid var(--border,#e5e7eb);background:#f9fafb;border-radius:8px;flex-direction:column;gap:.5rem;padding:.75rem 1rem;display:flex}.boq-deps-side header strong{font-size:.95rem}.boq-deps-list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.boq-deps-item{border:1px solid var(--border,#e5e7eb);background:#fff;border-radius:6px;grid-template-columns:1fr auto auto;align-items:center;gap:.5rem;padding:.4rem .6rem;display:grid}.boq-deps-link{color:inherit;flex-direction:column;gap:.1rem;text-decoration:none;display:flex}.boq-deps-link:hover{text-decoration:underline}.boq-deps-code{color:#4f46e5;font-family:ui-monospace,SFMono-Regular,monospace;font-size:.8rem}.boq-deps-name{font-size:.9rem}.boq-deps-meta{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.boq-deps-remove{border:1px solid var(--border,#e5e7eb);cursor:pointer;width:24px;height:24px;color:var(--muted,#6b7280);background:0 0;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.boq-deps-remove:hover:not(:disabled){color:#b91c1c;background:#fef2f2;border-color:#fca5a5}.boq-deps-form{flex-direction:column;gap:.75rem;padding:1rem 1.25rem;display:flex}.boq-deps-form label{flex-direction:column;gap:.3rem;display:flex}.boq-deps-form label>span:first-child{font-size:.875rem;font-weight:500}.boq-deps-form input,.boq-deps-form select,.boq-deps-form textarea{border:1px solid var(--border,#e5e7eb);border-radius:6px;padding:.5rem .75rem;font-size:.95rem}.boq-deps-form-actions{justify-content:flex-end;gap:.5rem;margin-top:.5rem;display:flex}.boq-cpm-section{flex-direction:column;gap:1rem;display:flex}.boq-cpm-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.boq-cpm-head h3{margin:0 0 .25rem}.boq-cpm-badge{white-space:nowrap;border-radius:999px;padding:.35rem .85rem;font-size:.85rem;font-weight:600}.boq-cpm-badge.is-critical{color:#991b1b;background:#fee2e2}.boq-cpm-badge.is-slack{color:#065f46;background:#d1fae5}.boq-cpm-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem 1.5rem;margin:0;padding:.5rem 0;display:grid}.boq-cpm-grid>div{flex-direction:column;gap:.15rem;display:flex}.boq-cpm-grid dt{color:var(--muted,#6b7280);font-size:.75rem}.boq-cpm-grid dd{margin:0;font-weight:500}.boq-cpm-explainer{border-radius:8px;padding:.75rem 1rem;font-size:.9rem;line-height:1.5}.boq-cpm-explainer.is-critical{color:#7f1d1d;background:#fef2f2;border:1px solid #fecaca}.boq-cpm-explainer.is-slack{color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0}.boq-cpm-foot{border-top:1px solid var(--border,#e5e7eb);padding-top:.5rem}.boq-cpm-recompute{flex-wrap:wrap;align-items:center;gap:.5rem;display:inline-flex}.boq-cpm-recompute-result{color:#065f46;background:#d1fae5;border-radius:6px;padding:.25rem .6rem;font-size:.85rem}.boq-critical-cell{text-align:center}.boq-critical-flag{font-size:1rem}.boq-kanban-page{flex-direction:column;gap:16px;display:flex}.boq-kanban-filters .filters{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.boq-kanban-filters .filters label{flex-direction:column;gap:4px;min-width:180px;font-size:12.5px;display:flex}.boq-kanban-filters .filters select{border:1px solid var(--neutral-200,#e2e8f0);border-radius:6px;padding:6px 10px}.boq-kanban-filters .filters-actions{gap:6px;display:flex}.boq-kanban-board{grid-template-columns:repeat(5,minmax(220px,1fr));gap:12px;padding-bottom:4px;display:grid;overflow-x:auto}.boq-kanban-column{background:var(--neutral-50,#f8fafc);border:2px dashed #0000;border-radius:12px;flex-direction:column;min-height:240px;padding:10px;transition:border-color .12s,background .12s;display:flex}.boq-kanban-column.drop-target{background:var(--primary-50,#eef2ff);border-color:var(--primary-300,#a5b4fc)}.boq-kanban-column-header{justify-content:space-between;align-items:center;gap:6px;margin-bottom:8px;padding:0 4px;display:flex}.boq-kanban-column-title{align-items:center;gap:6px;font-size:13px;font-weight:700;display:flex}.boq-kanban-column-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.boq-kanban-column-count{background:#fff;border-radius:999px;padding:2px 9px;font-size:11.5px;font-weight:700}.boq-kanban-column-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.boq-kanban-empty{border:1px dashed var(--neutral-200,#e2e8f0);color:var(--muted,#64748b);text-align:center;background:#fff;border-radius:8px;padding:14px;font-size:12.5px}.boq-kanban-card{border:1px solid var(--neutral-200,#e2e8f0);cursor:grab;background:#fff;border-radius:10px;flex-direction:column;gap:6px;padding:10px 12px;transition:box-shadow .12s,transform .12s;display:flex}.boq-kanban-card:active{cursor:grabbing}.boq-kanban-card:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0f172a14}.boq-kanban-card.is-critical{border-color:var(--danger-400,#f87171);box-shadow:0 0 0 1px var(--danger-100,#fee2e2)}.boq-kanban-card.is-pending{opacity:.65;pointer-events:none}.boq-kanban-card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;display:flex}.boq-kanban-card-code{color:var(--primary-700,#4338ca);font-family:ui-monospace,SFMono-Regular,monospace;font-size:12px;font-weight:700}.boq-kanban-card-badges{gap:4px;display:flex}.boq-kanban-card-flag{border-radius:999px;padding:2px 8px;font-size:10.5px;font-weight:700}.boq-kanban-card-flag.is-critical{background:var(--danger-100,#fee2e2);color:var(--danger-800,#991b1b)}.boq-kanban-card-flag.is-conflict{background:var(--warning-100,#fef3c7);color:var(--warning-800,#92400e)}.boq-kanban-card-title{color:inherit;font-size:13.5px;font-weight:600;text-decoration:none}.boq-kanban-card-title:hover{text-decoration:underline}.boq-kanban-card-meta{font-size:11.5px}.boq-kanban-card-assignees{gap:2px;margin-top:2px;display:flex}.boq-kanban-card-avatar{color:#fff;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;margin-inline-start:-6px;font-size:10px;font-weight:700;display:inline-flex}.boq-kanban-card-avatar:first-child{margin-inline-start:0}.boq-kanban-card-avatar.is-responsible{box-shadow:0 0 0 2px var(--success-500,#10b981)}.boq-kanban-card-avatar.more{background:var(--neutral-300,#cbd5e1);color:var(--text,#1e293b)}.boq-kanban-card-dates{flex-wrap:wrap;gap:6px;font-size:11.5px;display:flex}.boq-kanban-card-progress{background:var(--neutral-100,#f1f5f9);border-radius:999px;height:4px;overflow:hidden}.boq-kanban-card-progress-fill{background:var(--primary-500,#6366f1);height:100%;display:block}
.home-page{gap:var(--s-5);max-width:1600px;padding:var(--s-6) var(--s-8);flex-direction:column;margin:0 auto;display:flex}.home-hero{background:linear-gradient(160deg, var(--brand-ink,#2a2a2a) 0%, #1f1f1f 50%, var(--brand-ink,#2a2a2a) 100%);color:#fff;border-radius:12px;grid-template-columns:1fr auto;align-items:center;gap:32px;padding:36px 40px;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff0d,0 20px 60px #2a2a2a2e,0 4px 10px #2a2a2a14}.home-hero-bg{background:radial-gradient(circle at 90% 0%, color-mix(in srgb, var(--brand-gold,#b8965e) 22%, transparent), transparent 50%), radial-gradient(circle at 10% 100%, color-mix(in srgb, var(--brand-gold,#b8965e) 12%, transparent), transparent 50%);pointer-events:none;position:absolute;inset:0}.home-hero-content{z-index:1;position:relative}.home-hero-date{color:#ffffffb3;background:#ffffff14;border:1px solid #ffffff1f;border-radius:999px;align-items:center;gap:6px;margin-bottom:16px;padding:5px 12px;font-size:12px;display:inline-flex}.home-hero-title{letter-spacing:-.03em;margin:0 0 10px;font-size:38px;font-weight:800;line-height:1.15}.home-hero-title .grad{background:linear-gradient(135deg, var(--brand-gold-soft,#d4a574), var(--brand-gold,#b8965e));-webkit-text-fill-color:transparent;font-family:var(--font-display-arabic,"Reem Kufi", sans-serif);-webkit-background-clip:text;background-clip:text}.home-hero-sub{color:#ffffffc7;max-width:620px;margin:0 0 22px;font-size:15px;line-height:1.6}.home-hero-sub b{color:#fff;font-weight:700}.home-hero-actions{flex-wrap:wrap;gap:10px;display:flex}.home-hero-actions .btn-primary,.home-hero-actions .home-hero-cta-primary{color:var(--primary-700);background:#fff;font-weight:700}.home-hero-actions .btn-primary:hover,.home-hero-actions .home-hero-cta-primary:hover{background:var(--neutral-100)}.home-hero-actions .btn-secondary,.home-hero-actions .btn-ghost,.home-hero-actions .home-hero-cta{color:#fff;background:#ffffff1a;border:1px solid #ffffff2e}.home-hero-actions .btn-secondary:hover,.home-hero-actions .btn-ghost:hover,.home-hero-actions .home-hero-cta:hover{background:#ffffff26}.home-hero-side{z-index:1;flex-direction:column;gap:14px;min-width:200px;display:flex;position:relative}.home-hero-stat{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff14;border:1px solid #ffffff1f;border-radius:14px;padding:14px 18px}.home-hero-stat-l{color:#ffffffa6;margin-bottom:4px;font-size:11.5px;font-weight:500}.home-hero-stat-v{font-variant-numeric:tabular-nums;letter-spacing:-.03em;font-size:30px;font-weight:800;line-height:1.1}.home-hero-stat-t{color:#fff9;margin-top:2px;font-size:11px}.home-grid-1{gap:var(--s-4);grid-template-columns:2fr 1fr;display:grid}.home-grid-2{gap:var(--s-4);grid-template-columns:1fr 1fr;display:grid}.home-card{border:1px solid var(--neutral-200);border-radius:var(--r-5);box-shadow:var(--sh-1);background:#fff;flex-direction:column;display:flex;overflow:hidden}.home-card-header{border-bottom:1px solid var(--neutral-200);align-items:center;gap:var(--s-3);padding:var(--s-4) var(--s-5);display:flex}.home-card-title{color:var(--ink);letter-spacing:-.01em;margin:0;font-size:14px;font-weight:700}.home-card-subtitle{color:var(--muted);margin-top:2px;font-size:12px}.home-card-spacer{flex:1}.home-alert{border-bottom:1px solid var(--neutral-200);color:inherit;padding:12px var(--s-5);align-items:center;gap:12px;text-decoration:none;transition:background .12s cubic-bezier(.22,1,.36,1);display:flex}.home-alert:last-child{border-bottom:none}.home-alert:hover{background:var(--neutral-50)}.home-alert-icon{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.home-alert.danger .home-alert-icon{background:var(--danger-50,#fef2f2);color:var(--danger-600,#dc2626)}.home-alert.warning .home-alert-icon{background:var(--warning-50,#fffbeb);color:var(--warning-600,#d97706)}.home-alert.info .home-alert-icon{background:var(--primary-50);color:var(--primary-600)}.home-alert.success .home-alert-icon{background:var(--success-50,#ecfdf5);color:var(--success-600,#059669)}.home-alert-body{flex:1;min-width:0}.home-alert-title{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;margin-bottom:2px;font-size:13.5px;font-weight:600;overflow:hidden}.home-alert-meta{color:var(--muted);font-size:11.5px}.home-alert-cta{color:var(--primary-600);white-space:nowrap;flex-shrink:0;font-size:11.5px;font-weight:600}.home-quick{padding:var(--s-3) var(--s-4);grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.home-quick-item{border:1px solid var(--neutral-200);color:inherit;cursor:pointer;text-align:start;background:#fff;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;text-decoration:none;transition:all .12s cubic-bezier(.22,1,.36,1);display:flex;position:relative}.home-quick-item:hover{background:var(--primary-50);border-color:var(--primary-300);transform:translateY(-1px)}.home-quick-icon{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.home-quick-label{flex:1;font-size:12.5px;font-weight:600}.home-quick-badge{background:var(--danger-500,#ef4444);color:#fff;text-align:center;border-radius:999px;min-width:18px;padding:1px 6px;font-size:10.5px;font-weight:700}.home-portfolio{padding:var(--s-3) var(--s-5) var(--s-5);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.home-proj-card{border:1px solid var(--neutral-200);color:inherit;cursor:pointer;background:#fff;border-radius:12px;padding:14px 16px;text-decoration:none;transition:all .12s cubic-bezier(.22,1,.36,1);display:block}.home-proj-card:hover{border-color:var(--neutral-300);box-shadow:var(--sh-2);transform:translateY(-2px)}.home-proj-head{align-items:flex-start;gap:10px;margin-bottom:12px;display:flex}.home-proj-dot{border-radius:3px;flex-shrink:0;width:10px;height:10px;margin-top:5px}.home-proj-text{flex:1;min-width:0}.home-proj-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;margin-bottom:2px;font-size:13.5px;font-weight:700;overflow:hidden}.home-proj-meta{color:var(--muted);font-family:var(--font-mono);font-size:11px}.home-proj-health{flex-shrink:0;font-size:14px}.home-proj-health.h-good{color:var(--success-500,#10b981)}.home-proj-health.h-warning{color:var(--warning-500,#f59e0b)}.home-proj-health.h-danger{color:var(--danger-500,#ef4444)}.home-proj-progress{background:var(--neutral-100);border-radius:999px;height:6px;margin-bottom:12px;overflow:hidden}.home-proj-progress-bar{border-radius:999px;height:100%;transition:width .18s cubic-bezier(.22,1,.36,1)}.home-proj-stats{grid-template-columns:repeat(4,1fr);gap:4px;display:grid}.home-proj-stats>div{flex-direction:column;align-items:flex-start;gap:1px;display:flex}.home-proj-stats-l{color:var(--muted);font-size:10px;font-weight:500}.home-proj-stats-v{color:var(--ink);font-variant-numeric:tabular-nums;font-size:12.5px;font-weight:700}.home-task{border-bottom:1px solid var(--neutral-200);color:inherit;padding:10px var(--s-5);align-items:center;gap:12px;text-decoration:none;transition:background .12s cubic-bezier(.22,1,.36,1);display:flex}.home-task:last-child{border-bottom:none}.home-task:hover{background:var(--neutral-50)}.home-task-check{border:1.5px solid var(--neutral-300);cursor:pointer;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;display:inline-flex}.home-task-check.done{background:var(--success-500,#10b981);border-color:var(--success-500,#10b981);color:#fff}.home-task-body{flex:1;min-width:0}.home-task-title{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;margin-bottom:2px;font-size:13px;font-weight:500;overflow:hidden}.home-task-critical{color:var(--danger-500,#ef4444);margin-inline-end:4px}.home-task-meta{color:var(--muted);align-items:center;gap:6px;font-size:11px;display:flex}.home-task-meta .home-task-dot{border-radius:50%;width:6px;height:6px}.home-task-priority{border-radius:999px;flex-shrink:0;padding:2px 8px;font-size:10.5px;font-weight:700}.home-task-priority.p-urgent{background:var(--danger-50,#fef2f2);color:var(--danger-700,#b91c1c)}.home-task-priority.p-high{background:var(--warning-50,#fffbeb);color:var(--warning-600,#d97706)}.home-task-priority.p-medium{background:var(--primary-50);color:var(--primary-700)}.home-task-priority.p-low,.home-task-priority.p-normal{background:var(--neutral-100);color:var(--neutral-700)}.home-task-due{color:var(--muted);font-variant-numeric:tabular-nums;text-align:end;flex-shrink:0;min-width:40px;font-size:11px;font-weight:600}.home-activity{max-height:280px;padding:var(--s-2) 0;overflow:auto}.home-activity-item{border-bottom:1px solid var(--neutral-200);padding:10px var(--s-5);align-items:flex-start;gap:10px;display:flex}.home-activity-item:last-child{border-bottom:none}.home-activity-avatar{flex-shrink:0;margin-top:2px}.home-activity-body{flex:1;min-width:0;font-size:12.5px;line-height:1.5}.home-activity-who{color:var(--ink);font-weight:600}.home-activity-action{color:var(--muted)}.home-activity-target{font-weight:500}.home-activity-meta{color:var(--muted-soft);margin-top:2px;font-size:11px}.home-bar-chart{align-items:flex-end;gap:8px;height:180px;padding:0 4px;display:flex}.home-bar-col{flex-direction:column;flex:1;align-items:center;gap:6px;display:flex}.home-bar-num{color:var(--muted);font-variant-numeric:tabular-nums;font-size:10px;font-weight:600}.home-bar-fill{background:var(--primary-500);border-radius:4px 4px 0 0;width:100%;transition:all .2s}.home-bar-fill.muted{opacity:.4}.home-bar-label{color:var(--muted);font-size:10.5px;font-weight:500}.home-proc{padding:var(--s-4) var(--s-5);grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.home-proc-stage{background:var(--neutral-50);border:1px solid var(--neutral-200);color:inherit;text-align:center;border-radius:10px;padding:14px 12px;text-decoration:none;transition:all .12s cubic-bezier(.22,1,.36,1);display:block;position:relative;overflow:hidden}.home-proc-stage:hover{border-color:var(--neutral-300);transform:translateY(-1px)}.home-proc-stage-bar{inset-inline:0;height:3px;position:absolute;top:0}.home-proc-stage-num{color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.02em;margin-bottom:2px;font-size:26px;font-weight:800}.home-proc-stage-l{color:var(--muted);font-size:11px;font-weight:500}.home-empty{color:var(--muted);padding:24px var(--s-5);text-align:center;font-size:13px}@media (max-width:1100px){.home-grid-1,.home-grid-2,.home-hero{grid-template-columns:1fr}.home-hero-side{flex-direction:row}.home-hero-side>*{flex:1}}@media (max-width:700px){.home-page{padding:var(--s-3)}.home-hero{padding:24px}.home-hero-title{font-size:28px}.home-quick{grid-template-columns:1fr}.home-proc{grid-template-columns:1fr 1fr}}
