.gantt-container{display:flex;flex-direction:column;height:100%;background:#fafafa;font-size:13px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;overflow:hidden}.gantt-header-fixed{display:flex;overflow:hidden;background:#fff;border-bottom:2px solid #e0e0e0;box-shadow:0 2px 4px #0000000d;position:sticky;top:0;z-index:10;height:80px}.gantt-header-label{width:300px;flex-shrink:0;padding:12px;border-right:1px solid #e0e0e0;display:flex;align-items:center;font-weight:600;color:#333;background:#f9f9f9}.gantt-header-timeline{flex:1;overflow:hidden}.gantt-month-header{display:flex;flex-shrink:0;border-bottom:1px solid #e0e0e0;height:40px}.gantt-month-label{border-right:1px solid #e0e0e0;padding:8px 12px;text-align:center;font-weight:600;color:#555;background:#fafafa;white-space:nowrap}.gantt-day-header{display:flex;height:40px;position:relative}.gantt-week-mark{position:absolute;width:0;height:100%;border-right:1px solid #e8e8e8;top:0}.gantt-scroll-container{flex:1;overflow-y:auto;overflow-x:auto}.gantt-rows{position:relative}.gantt-connectors{position:absolute;top:0;left:0;pointer-events:none;z-index:2}.gantt-row{display:flex;height:44px;border-bottom:1px solid #f0f0f0;background:#fff;transition:background-color .2s}.gantt-row:hover{background:#f5f5f5}.gantt-row.selected,.gantt-row.selected .gantt-row-label{background:#e3f2fd}.gantt-row-label{width:300px;padding:10px 12px;border-right:1px solid #e0e0e0;display:flex;align-items:center;overflow:hidden;background:#fff;flex-shrink:0;position:sticky;left:0;z-index:4}.gantt-row-toggle-slot{display:inline-block;width:16px;flex-shrink:0;text-align:center}.gantt-row-toggle{background:none;border:none;padding:0;font-size:9px;color:#666;cursor:pointer;line-height:1}.gantt-item-title{cursor:pointer;color:#1976d2;text-decoration:none;overflow:text-overflow;text-overflow:ellipsis;white-space:nowrap;transition:color .2s}.gantt-item-title:hover{color:#1565c0;text-decoration:underline}.gantt-row-open{flex-shrink:0;margin-left:4px;padding:0 4px;background:none;border:none;font-size:12px;line-height:1;color:#666;cursor:pointer;opacity:0;transition:opacity .15s,color .2s}.gantt-row:hover .gantt-row-open,.gantt-row-open:focus-visible{opacity:1}.gantt-row-open:hover{color:#1976d2}.gantt-row-cluster{flex-shrink:0;margin-left:4px;padding:0 4px;background:none;border:none;font-size:12px;line-height:1;cursor:pointer;opacity:.7;transition:opacity .15s}.gantt-row-cluster:hover,.gantt-row-cluster:focus-visible{opacity:1}.gantt-cluster-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100}.gantt-cluster-modal{width:min(1000px,92vw);height:min(520px,82vh);background:#fff;border-radius:8px;box-shadow:0 8px 32px #0000004d;display:flex;flex-direction:column;overflow:hidden}.gantt-cluster-modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #e0e0e0;font-size:14px}.gantt-cluster-modal-header button{background:none;border:none;font-size:20px;line-height:1;cursor:pointer;color:#666}.gantt-cluster-modal-body{flex:1;min-height:0}.gantt-item-title.has-children{font-weight:500;color:#333}.gantt-timeline-cell{flex:1;position:relative;overflow:visible;border-right:1px solid #f0f0f0}.gantt-bar{position:absolute;height:24px;top:10px;border-radius:3px;box-shadow:0 1px 3px #0000001f;cursor:grab;transition:box-shadow .2s,opacity .2s;display:flex;align-items:center;justify-content:center;color:#fff;font-size:11px;font-weight:600;-webkit-user-select:none;user-select:none;z-index:3}.gantt-bar:hover{box-shadow:0 2px 6px #0003}.gantt-bar.dragging{cursor:grabbing;opacity:.85;box-shadow:0 4px 10px #0000004d}.gantt-bar-label{padding:0 4px;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.2)}.gantt-milestone{position:absolute;top:12px;width:20px;height:20px;margin-left:-10px;background:#ab47bc;border-radius:3px;transform:rotate(45deg);box-shadow:0 1px 3px #0003;cursor:grab;z-index:3}.gantt-milestone.dragging{cursor:grabbing;opacity:.85;box-shadow:0 4px 10px #0000004d}.gantt-open-ended{position:absolute;top:16px;width:70px;height:12px;display:flex;align-items:center;z-index:3}.gantt-open-ended:before{content:"";flex-shrink:0;width:10px;height:10px;border-radius:50%;background:currentColor;box-shadow:0 1px 3px #0000001f}.gantt-open-ended:after{content:"";flex:1;height:0;margin-left:3px;border-top:2px dashed currentColor;opacity:.5}.gantt-filter-panel{width:220px;flex-shrink:0;padding:16px;background:#fff;border-right:1px solid #e0e0e0;overflow-y:auto;font-size:13px}.gantt-filter-panel-collapsed{width:32px;padding:12px 0;display:flex;justify-content:center;align-items:flex-start}.gantt-filter-panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.gantt-filter-panel-title{font-weight:600;color:#333}.gantt-filter-toggle{position:relative;background:none;border:none;color:#666;cursor:pointer;font-size:13px;line-height:1;padding:4px}.gantt-filter-toggle:hover{color:#1976d2}.gantt-filter-active-dot{position:absolute;top:-1px;right:-1px;width:6px;height:6px;border-radius:50%;background:#1976d2}.gantt-filter-group{margin-bottom:16px;display:flex;flex-direction:column;gap:6px}.gantt-filter-label{font-weight:600;color:#333;margin-bottom:2px}.gantt-filter-checkbox{display:flex;align-items:center;gap:6px;cursor:pointer}.gantt-filter-clear{width:100%;padding:6px 10px;background:#f0f0f0;border:none;border-radius:4px;cursor:pointer;font-size:12px}.gantt-inspector{width:280px;flex-shrink:0;padding:16px;background:#fff;border-left:1px solid #e0e0e0;overflow-y:auto;font-size:13px}.gantt-inspector-empty{color:#888}.gantt-inspector-header{display:flex;justify-content:space-between;align-items:center}.gantt-inspector-type{text-transform:uppercase;font-size:11px;font-weight:700;color:#1976d2;letter-spacing:.05em}.gantt-inspector-close{background:none;border:none;font-size:18px;line-height:1;cursor:pointer;color:#666}.gantt-inspector-title{margin:8px 0 12px;font-size:15px}.gantt-inspector-fields{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;margin:0 0 16px}.gantt-inspector-fields dt{color:#888}.gantt-inspector-fields dd{margin:0;color:#333;font-weight:500}.gantt-inspector-open{width:100%;padding:8px 12px;background:#1976d2;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:13px}.gantt-dependencies{margin:0 0 16px}.gantt-inspector-fields-label{display:block;font-weight:600;color:#333;margin-bottom:8px}.gantt-dependency-group{margin-bottom:10px}.gantt-dependency-group-label{display:block;font-size:11px;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.03em;margin-bottom:4px}.gantt-dependency-empty{margin:0;color:#aaa;font-size:12px;font-style:italic}.gantt-dependency-row{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:4px 0;border-bottom:1px solid #f0f0f0}.gantt-dependency-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#333}.gantt-dependency-remove{flex-shrink:0;background:none;border:none;color:#999;font-size:14px;line-height:1;cursor:pointer;padding:2px 4px}.gantt-dependency-remove:hover{color:#d32f2f}.gantt-dependency-add{display:flex;gap:6px;margin-top:10px}.gantt-dependency-select{flex:1;min-width:0;padding:6px;border:1px solid #e0e0e0;border-radius:4px;font-size:12px}.gantt-dependency-add-button{flex-shrink:0;padding:6px 10px;background:#f0f0f0;border:none;border-radius:4px;cursor:pointer;font-size:12px}.gantt-dependency-add-button:hover{background:#e0e0e0}.gantt-legend{display:flex;flex-wrap:wrap;gap:14px;align-items:center}.gantt-legend-item{display:flex;align-items:center;gap:6px;font-size:12px;color:#555}.gantt-legend-swatch{width:12px;height:12px;border-radius:3px;display:inline-block}.gantt-legend-milestone{background:#ab47bc;border-radius:2px;transform:rotate(45deg)}.gantt-legend-divider{width:1px;align-self:stretch;background:#e0e0e0}.gantt-legend-icon{font-size:12px;line-height:1;width:12px;text-align:center}@media print{.module-sidebar,.nav,.gantt-page-toolbar,.gantt-filter-panel,.gantt-inspector{display:none!important}.gantt-container{height:auto!important}.gantt-scroll-container{overflow:visible!important}}.gantt-scroll-container::-webkit-scrollbar,.gantt-header-timeline::-webkit-scrollbar{width:8px;height:8px}.gantt-scroll-container::-webkit-scrollbar-track,.gantt-header-timeline::-webkit-scrollbar-track{background:#f1f1f1}.gantt-scroll-container::-webkit-scrollbar-thumb,.gantt-header-timeline::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.gantt-scroll-container::-webkit-scrollbar-thumb:hover,.gantt-header-timeline::-webkit-scrollbar-thumb:hover{background:#555}@media (max-width: 1024px){.gantt-row-label,.gantt-header-label{width:200px}}@media (max-width: 768px){.gantt-row-label,.gantt-header-label{width:150px}.gantt-item-title{font-size:12px}}.forge-scene-wrap{position:relative}.forge-scene{min-height:420px;border:1px solid #28515a;background:#102a32;overflow:hidden;cursor:grab}.forge-scene:active{cursor:grabbing}.forge-hover-label{position:absolute;top:12px;left:12px;display:grid;gap:3px;pointer-events:none;padding:9px 12px;color:#ecf7f2;background:#0a1c22e6;border:1px solid #74c6b3}.forge-hover-label span{color:#9ccfc2;font-size:.72rem;text-transform:uppercase}.forge-reset{position:absolute;right:12px;bottom:12px;border:1px solid #74c6b3;border-radius:5px;padding:8px 10px;color:#ecf7f2;background:#0a1c22e6;cursor:pointer}:root{--bg: #ffffff;--fg: #14151a;--card-bg: #f7f7f9;--border: #e2e2e6;--accent: #5b5bd6;font-family:Outfit,system-ui,sans-serif}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #14151a;--fg: #f2f2f5;--card-bg: #1d1e26;--border: #2c2d36}}:root[data-theme=dark]{--bg: #14151a;--fg: #f2f2f5;--card-bg: #1d1e26;--border: #2c2d36}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg)}.page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px}.card{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:32px;max-width:420px;width:100%;text-align:center}.card h1{margin:0 0 8px}.small{font-size:.9rem;opacity:.8}button{margin-top:16px;padding:10px 20px;border-radius:8px;border:none;background:var(--accent);color:#fff;font-size:1rem;cursor:pointer}button:disabled{opacity:.6;cursor:not-allowed}input{width:100%;margin-top:16px;padding:10px 12px;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--fg);font-size:1rem}.error{color:#d64545;font-size:.9rem;margin-top:12px}.dashboard{max-width:720px;margin:0 auto;padding:48px 16px}.dashboard-header{display:flex;align-items:baseline;justify-content:space-between;gap:16px}.dashboard-header .link-button{margin-top:0}.org-list{display:flex;flex-direction:column;gap:16px}.ticket-row{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:16px 24px;text-decoration:none;color:inherit}.ticket-row-subject{font-weight:600}.ticket-row-badges{display:flex;gap:8px;flex-shrink:0}.ticket-body{margin-top:20px;border-top:1px solid var(--border);padding-top:16px}.ticket-body h3{margin:0 0 8px;font-size:1rem}.status-badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.8rem;font-weight:600;text-transform:capitalize}.status-badge--open{background:#e2b33c2e;color:var(--gold, #E3B23C)}.status-badge--in-progress{background:#2f8fc22e;color:#2f8fc2}.status-badge--resolved{background:#6f7f4f2e;color:var(--green, #6F7F4F)}.status-badge--closed{background:#8b9caa2e;color:var(--fg-muted, #6b6255)}.status-badge--response{background:#6f7f4f2e;color:var(--green, #6F7F4F)}.org-card{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:24px}.org-card h2{margin:0 0 4px}.org-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.org-card-header h2{flex:1}.org-card--multi{border-left:4px solid var(--org-accent)}.org-color-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--org-accent);margin-right:8px}.accent-picker{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap}.accent-swatch{width:20px;height:20px;border-radius:50%;border:2px solid transparent;margin:0;padding:0;cursor:pointer}.accent-swatch.selected{border-color:var(--fg)}.accent-swatch:disabled{opacity:.25;cursor:not-allowed}.team-context-label{margin:0 0 12px;font-size:.9rem}.org-card--suspended{border-left:4px solid #d64545}.org-card--suspended.org-card--multi{border-left-color:#d64545}.suspended-badge{display:inline-block;background:#d645451f;color:#d64545;font-weight:600;font-size:.85rem;padding:4px 10px;border-radius:999px;margin:0 0 12px}.stat-row{display:flex;gap:24px;margin-top:16px}.stat{display:flex;flex-direction:column}.stat-label{font-size:.8rem;opacity:.7}.stat-value{font-size:1.1rem;font-weight:600;text-transform:capitalize}.usage{margin-top:16px}.usage-bar{height:8px;border-radius:4px;background:var(--border);overflow:hidden}.usage-fill{height:100%;background:var(--accent)}.link-button{background:none;border:none;color:var(--accent);padding:0;margin-top:16px;font-size:.9rem;text-decoration:underline;cursor:pointer}.team-section{margin-top:16px;border-top:1px solid var(--border);padding-top:16px}.member-list{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:8px}.member-list li{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}.member-actions{display:flex;gap:12px}.link-button.danger{color:#d64545}.link-button:disabled{opacity:.5;cursor:not-allowed}.invite-form{display:flex;gap:8px;align-items:flex-start;flex-wrap:wrap}.invite-form input{margin-top:0;flex:1;min-width:200px}.invite-form button{margin-top:0}.invite-form .error{width:100%}.buy-seats-form{margin-top:16px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.buy-seats-form label{display:flex;align-items:center;gap:6px}.buy-seats-form input[type=number]{margin-top:0;width:60px}.buy-seats-form button{margin-top:0}.buy-seats-form .small,.buy-seats-form .error{width:100%;margin:4px 0 0}.support-form{margin-top:16px;border-top:1px solid var(--border);padding-top:16px;display:flex;flex-direction:column;gap:8px;max-width:420px}.support-form select,.support-form input,.support-form textarea{margin-top:0;width:100%}.support-form textarea{min-height:80px;padding:10px 12px;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--fg);font-family:inherit;font-size:1rem;resize:vertical}.team-nav{display:flex;gap:4px;margin-top:24px;border-bottom:1px solid var(--border);flex-wrap:wrap}.team-nav-link{padding:8px 14px;color:var(--fg);opacity:.7;text-decoration:none;font-size:.9rem;border-bottom:2px solid transparent}.team-nav-link.active{opacity:1;border-bottom-color:var(--accent)}.team-nav-panel{padding-top:20px}.roster-table{width:100%;border-collapse:collapse;font-size:.9rem}.roster-table th{text-align:left;padding:8px;border-bottom:1px solid var(--border);opacity:.7;font-weight:500}.roster-table td{padding:8px;border-bottom:1px solid var(--border);vertical-align:top}.role-badge--owner{font-weight:600;color:var(--accent)}.grant-chips{display:flex;gap:4px;flex-wrap:wrap}.grant-chip{display:inline-block;padding:2px 8px;border-radius:999px;background:var(--card-bg);border:1px solid var(--border);font-size:.8rem}.grant-chip--global{border-color:var(--accent);color:var(--accent)}.activity-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.activity-list li{border-bottom:1px solid var(--border);padding-bottom:8px}.detail-cards{display:flex;flex-direction:column;gap:16px;margin-top:24px}.detail-card{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:20px}.detail-card h3{margin:0 0 8px}.profile-edit-form{display:flex;flex-direction:column;gap:4px;max-width:320px}.profile-edit-form input{margin-top:4px}.support-form button{margin-top:0;align-self:flex-start}.credential-form{margin-top:24px;border-top:1px solid var(--border);padding-top:16px;display:flex;flex-direction:column;gap:12px;max-width:420px}.credential-form label{display:flex;flex-direction:column;gap:4px}.credential-form input,.credential-form select{margin-top:0;width:100%}.credential-form button{margin-top:0;align-self:flex-start}.notif-bell-container{position:relative;flex-shrink:0}.notif-bell{position:relative;margin-top:0;padding:6px 10px;background:none;border:1px solid var(--border);color:var(--fg);font-size:1.1rem;line-height:1}.notif-badge{position:absolute;top:-6px;right:-6px;background:#d64545;color:#fff;font-size:.7rem;font-weight:600;border-radius:999px;padding:1px 6px;line-height:1.3}.notif-panel{position:absolute;right:0;top:calc(100% + 8px);width:320px;max-height:400px;overflow-y:auto;background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:12px;z-index:10;text-align:left}.notif-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.notif-list--settings{max-width:560px}.notif-item{display:flex;align-items:flex-start;gap:10px;border-bottom:1px solid var(--border);padding-bottom:10px}.notif-item-body{flex:1}.notif-title{margin:0;font-weight:600}.notif-severity-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-top:4px;flex-shrink:0}.notif-severity--critical{background:#d64545}.notif-severity--warning{background:var(--gold, #E3B23C)}.notif-severity--info{background:#2f8fc2}.kanban-scroll{overflow-x:auto;margin-top:16px}.kanban-grid{display:grid;gap:8px;align-items:start}.kanban-header-cell{font-weight:600;font-size:.85rem;padding:4px 8px}.kanban-row-label{font-size:.85rem;opacity:.8;padding:8px;align-self:start}.kanban-cell{background:var(--card-bg);border:1px solid var(--border);border-radius:8px;min-height:60px;padding:6px;display:flex;flex-direction:column;gap:6px}.kanban-card{background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:6px 8px;cursor:grab;font-size:.85rem}.kanban-card:active{cursor:grabbing}.tasker-tree-list{list-style:none;margin:8px 0 8px 16px;padding:0;display:flex;flex-direction:column;gap:6px}.tasker-tree-list--root{margin-left:0}.tasker-tree-list li{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.tasker-tree-list select{margin-top:0;width:auto}.tasker-inline-form{display:flex;gap:8px;margin:8px 0 8px 16px}.tasker-inline-form input{margin-top:0;flex:1;max-width:280px}.tasker-inline-form button{margin-top:0}
