.sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);background:#0d1f3c;display:flex;flex-direction:column;height:100vh;overflow:hidden;z-index:10}.sidebar-logo{display:flex;align-items:center;gap:10px;padding:16px 14px;cursor:pointer;border-bottom:1px solid rgba(255,255,255,.08);min-height:56px}.sidebar-logo-icon{width:30px;height:30px;background:var(--primary);border-radius:7px;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:11px;color:#fff;flex-shrink:0;letter-spacing:-.5px}.sidebar-logo-text{font-size:13px;font-weight:700;color:#fff;letter-spacing:.2px}.sidebar-nav{flex:1;overflow-y:auto;padding:8px 0}.sidebar-section{padding:14px 14px 4px}.sidebar-project-name{font-size:10px;font-weight:700;color:#fff6;text-transform:uppercase;letter-spacing:.8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,.06)}.sidebar-item{display:flex;align-items:center;gap:10px;padding:8px 14px;color:#ffffffa6;font-size:13px;font-weight:500;transition:background .15s,color .15s;margin:1px 6px;border-radius:7px}.sidebar-item:hover{background:#ffffff12;color:#fff}.sidebar-item-active{background:var(--primary)!important;color:#fff!important}.sidebar-icon{font-size:14px;width:20px;text-align:center;flex-shrink:0}.sidebar-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-separator{height:1px;background:#ffffff14;margin:8px 12px}.sidebar-footer{padding:10px 14px;border-top:1px solid rgba(255,255,255,.08);display:flex;align-items:center;gap:8px}.sidebar-version{font-size:11px;color:#ffffff40}.sidebar-toggle-btn{background:#ffffff14;border:none;color:#ffffff80;border-radius:6px;width:28px;height:28px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:11px;transition:background .15s,color .15s;flex-shrink:0;margin-left:auto}.sidebar-toggle-btn:hover{background:#ffffff26;color:#fff}.sidebar--collapsed{width:52px;min-width:52px}.sidebar--collapsed .sidebar-logo{justify-content:center;padding:16px 0}.sidebar--collapsed .sidebar-item{justify-content:center;padding:10px 0;margin:1px 4px}.sidebar--collapsed .sidebar-icon{width:auto}.sidebar--collapsed .sidebar-footer{justify-content:center;padding:10px 0}.sidebar--collapsed .sidebar-toggle-btn{margin:0 auto}.sidebar--collapsed .sidebar-section{padding:8px 0;border-bottom:1px solid rgba(255,255,255,.06)}.app-layout{transition:none}.app-layout .sidebar{transition:width .2s ease,min-width .2s ease}.topbar{display:flex;align-items:center;justify-content:space-between;height:var(--header-height);padding:0 20px;background:#fff;border-bottom:1px solid var(--border);flex-shrink:0;z-index:9}.topbar-left{display:flex;align-items:center;gap:8px}.topbar-breadcrumb{display:flex;align-items:center;gap:6px;font-size:13px}.topbar-breadcrumb-sep{color:var(--text-muted)}.topbar-breadcrumb-project{font-weight:600;color:var(--text)}.topbar-breadcrumb-client{color:var(--text-muted);font-size:12px}.topbar-right{display:flex;align-items:center;gap:12px}.topbar-user{display:flex;align-items:center;gap:8px}.topbar-avatar{width:28px;height:28px;background:var(--primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.topbar-email{font-size:13px;color:var(--text-muted)}.topbar-notification-wrap{position:relative}.topbar-notification-button,.topbar-icon-button{position:relative;width:36px;height:36px;border:1px solid var(--border);border-radius:10px;background:#fff;display:inline-flex;align-items:center;justify-content:center}.topbar-icon-button{color:#64748b}.topbar-icon-button:hover{border-color:#93c5fd;background:#eff6ff;color:#1d4ed8}.topbar-notification-button.is-open,.topbar-icon-button:focus-visible{border-color:var(--primary);box-shadow:0 0 0 3px #1565c01f;outline:none}.topbar-notification-button-icon{font-size:16px;line-height:1}.topbar-notification-badge{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--error);color:#fff;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #f4433647}.topbar-notification-menu{position:absolute;top:calc(100% + 10px);right:0;width:min(360px,calc(100vw - 32px));background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 28px #0f172a29;overflow:hidden;z-index:20}.topbar-notification-menu-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid var(--border);font-size:13px;font-weight:600}.topbar-notification-menu-title{display:flex;align-items:center;gap:8px}.topbar-notification-clear{border:none;background:transparent;color:var(--primary);font-size:12px;font-weight:700;white-space:nowrap}.topbar-notification-empty{padding:18px 14px;font-size:13px;color:var(--text-muted)}.topbar-notification-list{max-height:360px;overflow-y:auto}.topbar-notification-item{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-bottom:1px solid var(--border)}.topbar-notification-item:last-child{border-bottom:none}.topbar-notification-content{flex:1;border:none;background:transparent;text-align:left;display:flex;flex-direction:column;gap:4px}.topbar-notification-title{font-size:13px;font-weight:600;color:var(--text)}.topbar-notification-message{font-size:13px;color:var(--text);line-height:1.4;word-break:break-word}.topbar-notification-time{font-size:12px;color:var(--text-muted)}.topbar-notification-dismiss{border:none;background:transparent;color:var(--primary);font-size:12px;font-weight:600;padding:2px 0;white-space:nowrap}.app-layout{display:flex;height:100vh;width:100vw;overflow:hidden}.app-main{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.app-content{flex:1;overflow:hidden;display:flex;flex-direction:column}.login-page{display:flex;align-items:center;justify-content:center;height:100vh;background:linear-gradient(135deg,#0d1f3c,#1565c0 60%,#00bcd4)}.login-card{background:#fff;border-radius:16px;padding:40px;width:100%;max-width:400px;box-shadow:0 24px 80px #0000004d}.login-logo{text-align:center;margin-bottom:28px}.login-logo-icon{width:52px;height:52px;background:var(--primary);border-radius:14px;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:16px;color:#fff;margin:0 auto 12px;letter-spacing:-.5px}.login-title{font-size:22px;font-weight:800;color:var(--text);margin-bottom:4px}.login-subtitle{font-size:13px;color:var(--text-muted)}.login-form{display:flex;flex-direction:column;gap:4px}.login-error{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#ffebee;color:#c62828;border-radius:8px;font-size:13px;margin-bottom:8px}.login-lock{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#fff3e0;color:#e65100;border-radius:8px;font-size:13px;margin-bottom:8px}.login-captcha{margin:8px 0}.login-captcha-hint{font-size:11px;color:var(--text-muted);margin-top:6px}.password-field-wrap{position:relative}.password-input{padding-right:42px}.password-visibility-btn{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:none;background:transparent;color:#64748b;font-size:16px;line-height:1;width:28px;height:28px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center}.password-visibility-btn:hover{background:#eef2ff;color:#334155}.login-attempts-hint{font-size:11px;color:var(--warning);text-align:center;margin-top:8px}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.project-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:20px;cursor:pointer;transition:box-shadow .2s,transform .15s;display:flex;flex-direction:column;gap:12px}.project-card:hover{box-shadow:0 6px 24px #1565c021;transform:translateY(-2px);border-color:var(--primary-light)}.project-card-header{display:flex;align-items:center;gap:12px}.project-card-avatar{width:40px;height:40px;background:linear-gradient(135deg,var(--primary),var(--accent));border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:16px;color:#fff;flex-shrink:0}.project-card-name{font-size:15px;font-weight:700;color:var(--text)}.project-card-client{font-size:12px;color:var(--text-muted);margin-top:2px}.project-card-desc{font-size:13px;color:var(--text-muted);line-height:1.5;overflow:hidden;display:-webkit-box;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical}.project-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:10px;border-top:1px solid var(--border)}.project-card-actions{display:flex;align-items:center;gap:8px}.modal-captcha{margin:12px 0}.clone-project-modal{max-width:640px}.clone-project-source{font-size:13px;color:var(--text-muted);margin-bottom:16px}.clone-project-toggle{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:var(--text);margin-bottom:16px}.clone-project-toggle input{width:16px;height:16px}.clone-project-section-picker{border:1px solid var(--border);border-radius:12px;padding:16px;background:#f8fafc}.clone-project-options-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.clone-project-option{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #D8E2F0;border-radius:10px;background:#fff;font-size:14px;color:var(--text)}.clone-project-option input{width:16px;height:16px}.clone-project-option--all{font-weight:700}.clone-project-option--disabled{opacity:.5;background:#f1f5f9}.clone-project-help{font-size:12px;color:var(--text-muted);margin-top:6px;line-height:1.5}.project-card-meta{display:flex;align-items:center;gap:8px;margin-top:2px}.project-card-code{font-size:11px;font-weight:600;color:#fff;background:#2563eb;padding:2px 6px;border-radius:4px}.project-card-client{font-size:12px;color:var(--text-muted)}.delete-project-modal{max-width:480px}.delete-project-content{padding:8px 0}.delete-project-warning{font-size:15px;color:var(--text);line-height:1.5;margin-bottom:12px}.delete-project-info{font-size:13px;color:var(--text-muted);line-height:1.5;margin-bottom:16px;padding:12px;background:#fef3c7;border-radius:8px;border-left:3px solid #F59E0B}.delete-project-option{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:500;color:var(--text);padding:12px;background:#f8fafc;border-radius:8px;cursor:pointer}.delete-project-option input{width:16px;height:16px}.delete-project-help{font-size:12px;color:var(--text-muted);margin-top:8px;line-height:1.5}.dashboard{display:flex;flex-direction:column;height:100%;overflow:hidden}.dashboard-body{flex:1;overflow-y:auto;padding:20px}.stat-row{display:flex;gap:14px;margin-bottom:16px;flex-wrap:wrap}.stat-card{flex:1;min-width:100px;background:#fff;border:2px solid var(--border);border-radius:10px;padding:16px;text-align:center;box-shadow:0 1px 4px #0000000d}.stat-value{font-size:28px;font-weight:800;color:var(--primary);line-height:1;margin-bottom:4px}.stat-label{font-size:11px;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.progress-bar-bg{height:10px;background:#e0e0e0;border-radius:5px;overflow:hidden;margin-bottom:10px}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--accent));border-radius:5px;transition:width .5s ease}.progress-breakdown{display:flex;flex-wrap:wrap;gap:10px}.progress-chip{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:500}.progress-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px}.phase-list{display:flex;flex-direction:column;gap:8px}.phase-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border)}.phase-row:last-child{border-bottom:none}.phase-name{font-weight:500;font-size:13px}.phase-dates{font-size:12px}.milestone-list{display:flex;flex-direction:column;gap:10px}.milestone-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border)}.milestone-row:last-child{border-bottom:none}.milestone-name{font-weight:500;font-size:13px;margin-bottom:2px}.risk-list{display:flex;flex-direction:column;gap:8px}.risk-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border)}.risk-row:last-child{border-bottom:none}.risk-desc{font-size:13px;flex:1;margin-right:12px}.risk-score-badge{min-width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0}.quick-links{display:grid;grid-template-columns:1fr 1fr;gap:8px}.quick-link-btn{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface2);font-size:13px;font-weight:500;color:var(--text);cursor:pointer;transition:background .15s,border-color .15s}.quick-link-btn:hover{background:#eef2ff;border-color:var(--primary-light);color:var(--primary)}.quick-link-icon{font-size:16px}.reminder-widget-card{text-align:left;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}.reminder-widget-card:hover{border-color:#93c5fd;box-shadow:0 8px 24px #1565c01f;transform:translateY(-1px)}.reminder-widget-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.reminder-widget-link{font-size:12px;font-weight:700;color:var(--primary)}.reminder-widget-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.reminder-widget-value{font-size:26px;font-weight:800;color:var(--primary);line-height:1;margin-bottom:4px}.reminder-widget-value.is-overdue{color:var(--error)}.reminder-widget-value.is-today{color:#ca8a04}.wbs-page{display:flex;flex-direction:column;height:100%;overflow:hidden}.wbs-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.wbs-settings-btn{width:32px;height:32px;border:1px solid #D5DCE6;border-radius:10px;background:#fff;color:#475569;display:inline-flex;align-items:center;justify-content:center;transition:all .16s ease}.wbs-settings-btn:hover,.wbs-settings-btn.is-active{border-color:#93c5fd;color:#2563eb;background:#eff6ff}.wbs-grid-wrapper{flex:1;overflow:hidden;min-height:0;position:relative}.wbs-grid-wrapper .rdg{height:100%!important;width:100%!important;font-size:11px}.wbs-grid-wrapper .rdg-header-row{font-size:10px}.wbs-grid-wrapper .rdg-cell,.wbs-grid-wrapper .rdg-editor-container{overflow:visible}.wbs-grid-wrapper .rdg-viewport{min-width:0}.owner-add-btn{background:#1565c01f;border:none;color:#1565c0;border-radius:3px;width:18px;height:18px;font-size:14px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-weight:700;transition:background .15s;flex-shrink:0}.owner-add-btn:hover{background:#1565c038}.owner-editor{position:relative;height:100%;background:#fff;z-index:20}.owner-editor-input{width:100%;height:100%;border:none;outline:none;font-size:12px;padding:0 4px;background:transparent}.owner-editor-list{max-height:260px;overflow:auto;border:1px solid #CBD5E1;border-radius:10px;background:#fff;z-index:2000;box-shadow:0 12px 28px #0f172a29}.owner-editor-option{width:100%;border:none;background:transparent;text-align:left;padding:8px 10px;font-size:12px;line-height:1.4;color:#1f2937;cursor:pointer}.owner-editor-option:hover{background:#f3f4f6}.owner-editor-option-custom{color:#1565c0;font-weight:600}.owner-editor-option-add{border-top:1px solid var(--border);color:#1565c0;font-weight:600}.wbs-date-button{width:100%;height:100%;border:none;background:transparent;padding:0 6px;display:inline-flex;align-items:center;justify-content:space-between;gap:8px;color:inherit;font:inherit;cursor:pointer}.wbs-date-button.is-empty{color:#94a3b8}.wbs-date-button-value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wbs-date-button-icon{flex-shrink:0;font-size:12px;opacity:.75}.wbs-date-dialog{width:min(360px,calc(100vw - 32px));border-radius:16px;background:#fff;box-shadow:0 24px 60px #0f172a38;padding:16px}.wbs-date-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.wbs-date-dialog-title{font-size:15px;font-weight:700;color:#0f172a}.wbs-date-dialog-subtitle{margin-top:4px;font-size:12px;color:#64748b}.wbs-date-dialog-close,.wbs-date-nav-btn{width:32px;height:32px;border:1px solid #D5DCE6;border-radius:10px;background:#fff;color:#334155;font-size:14px;font-weight:700}.wbs-date-dialog-toolbar{margin-top:14px;display:flex;align-items:center;justify-content:space-between;gap:12px}.wbs-date-month-label{flex:1;text-align:center;font-size:14px;font-weight:700;color:#0f172a}.wbs-date-weekdays,.wbs-date-grid{margin-top:12px;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.wbs-date-weekday{text-align:center;font-size:11px;font-weight:700;color:#64748b;padding:4px 0}.wbs-date-day{aspect-ratio:1;border:1px solid #E2E8F0;border-radius:10px;background:#fff;color:#0f172a;font-size:12px;font-weight:600;transition:all .16s ease}.wbs-date-day:hover{border-color:#93c5fd;background:#eff6ff;color:#1d4ed8}.wbs-date-day.is-outside{color:#94a3b8;background:#f8fafc}.wbs-date-day.is-selected{border-color:#2563eb;background:#2563eb;color:#fff}.wbs-date-dialog-actions{margin-top:16px;display:flex;justify-content:flex-end;gap:8px}.wbs-task-cell{position:relative;min-height:27px;display:flex;align-items:center;cursor:pointer;min-width:0}.wbs-task-cell.is-toolbar-active{z-index:10}.wbs-task-cell-copy{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:6px}.wbs-task-cell-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wbs-expand-btn{width:13px;height:13px;margin-left:-4px;border:none;border-radius:4px;background:transparent;color:#64748b;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;line-height:1;transition:color .15s ease,background .15s ease}.wbs-expand-btn:hover{background:#e2e8f0;color:#1d4ed8}.wbs-expand-spacer{width:13px;height:13px;margin-left:-4px;flex-shrink:0}.wbs-task-cell.is-toolbar-active .wbs-task-cell-copy{padding-right:140px}.wbs-task-tooltip{position:absolute;z-index:10001;width:min(320px,calc(100vw - 32px));background:#fff;border:1px solid #CBD5E1;border-radius:10px;box-shadow:0 8px 24px #0000001f;overflow:hidden}.wbs-task-tooltip-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px 8px;border-bottom:1px solid #F1F5F9;font-size:12px;font-weight:700;color:#334155}.wbs-task-tooltip-copy{border:none;background:transparent;color:#1565c0;font-size:12px;font-weight:700;white-space:nowrap}.wbs-task-tooltip-body{padding:10px 12px 12px;font-size:13px;color:#0f172a;line-height:1.5;white-space:normal;word-break:break-word}.wbs-row-toolbar{position:absolute;right:6px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;gap:2px;padding:3px;border-radius:16px;background:linear-gradient(135deg,#ffffffd9,#ffffffb3);border:1.5px solid rgba(255,255,255,.8);box-shadow:0 8px 32px #0f172a26,0 2px 8px #0f172a1a,inset 0 1px 1px #ffffffe6;-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);animation:toolbarFadeIn .2s cubic-bezier(.16,1,.3,1)}@keyframes toolbarFadeIn{0%{opacity:0;transform:translateY(-50%) scale(.92)}to{opacity:1;transform:translateY(-50%) scale(1)}}.wbs-row-toolbar-btn{width:28px;height:28px;border:none;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;background:#fff6;color:#475569;transition:all .2s cubic-bezier(.16,1,.3,1);position:relative;box-shadow:0 1px 3px #0f172a14}.wbs-row-toolbar-btn svg{position:relative;z-index:1}.wbs-row-toolbar-btn:hover{background:#ffffffb3;transform:translateY(-1px);box-shadow:0 2px 6px #0f172a1f}.wbs-row-toolbar-btn:active{transform:translateY(0);box-shadow:0 1px 3px #0f172a14}.wbs-row-toolbar-btn.is-add{color:#0ea5e9}.wbs-row-toolbar-btn.is-add:hover{background:linear-gradient(135deg,#0ea5e933,#0ea5e926);color:#0284c7}.wbs-row-toolbar-btn.is-move{color:#64748b}.wbs-row-toolbar-btn.is-move:hover{background:linear-gradient(135deg,#64748b2e,#64748b1f);color:#475569}.wbs-row-toolbar-btn.is-relocate{color:#7c3aed}.wbs-row-toolbar-btn.is-relocate:hover{background:linear-gradient(135deg,#7c3aed33,#7c3aed24);color:#6d28d9}.wbs-row-toolbar-btn.is-delete{color:#ef4444}.wbs-row-toolbar-btn.is-delete:hover{background:linear-gradient(135deg,#ef444433,#ef444426);color:#dc2626}.wbs-id-cell{display:inline-flex;align-items:center;width:100%;height:100%;font-weight:600;color:#1565c0;font-size:11px;padding:0 2px}.move-target-modal{max-width:620px}.move-target-option-list{display:flex;flex-direction:column;gap:6px;max-height:320px;overflow:auto;margin-bottom:12px}.move-target-option-row{width:100%;border:1px solid var(--border);border-radius:10px;background:var(--surface);text-align:left;padding:8px 10px;cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease}.move-target-option-row:hover{border-color:#7c3aed59;background:#f8f5ff;transform:translateY(-1px)}.move-target-option-title{font-size:12px;font-weight:600;color:var(--text)}.move-target-option-meta{margin-top:2px;font-size:10px;color:var(--text-muted)}.move-target-empty{padding:14px;border:1px dashed var(--border);border-radius:10px;color:var(--text-muted);text-align:center;font-size:13px}.add-person-modal{max-width:400px}.add-person-form{display:flex;flex-direction:column;gap:14px}.add-person-active{padding:10px 12px;background:var(--surface2);border-radius:8px;border:1px solid var(--border)}.add-person-checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;font-weight:500}.add-person-checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary);cursor:pointer}.add-person-active-hint{font-size:11px;color:var(--text-muted);font-weight:400}.predecessor-modal{max-width:620px}.predecessor-option-list{display:flex;flex-direction:column;gap:6px;max-height:320px;overflow:auto;margin-bottom:12px}.predecessor-option-row{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;border:1px solid var(--border);border-radius:10px;background:var(--surface);cursor:pointer}.predecessor-option-row.is-selected{border-color:#93c5fd;background:#f8fbff}.predecessor-option-content{min-width:0}.predecessor-option-title{font-size:12px;font-weight:600;color:var(--text)}.predecessor-option-meta{font-size:10px;color:var(--text-muted);margin-top:2px}.predecessor-option-warning{margin-top:5px;font-size:10px;line-height:1.45;color:#b91c1c;background:#fef2f2;border:1px solid #FECACA;border-radius:8px;padding:5px 7px}.predecessor-empty{padding:14px;border:1px dashed var(--border);border-radius:10px;color:var(--text-muted);text-align:center;font-size:13px}.predecessor-selection-warning{margin-bottom:12px;border:1px solid #FECACA;background:#fef2f2;border-radius:10px;padding:8px 10px}.predecessor-selection-warning-title{font-size:11px;font-weight:700;color:#991b1b;margin-bottom:5px}.predecessor-selection-warning-item{font-size:10px;line-height:1.5;color:#b91c1c}.predecessor-selection-warning-item+.predecessor-selection-warning-item{margin-top:4px}.wbs-dependency-chip{width:100%;display:inline-flex;align-items:center;justify-content:space-between;gap:6px;min-height:24px;padding:3px 6px;border:1px solid #D0D7E2;border-radius:7px;background:#f8fafc;color:#334155;cursor:pointer;text-align:left}.wbs-dependency-chip.is-blocked{border-color:#ffb74d;background:#fff8e1}.wbs-dependency-chip.is-conflict{border-color:#ef5350;background:#ffebee}.wbs-dependency-chip-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.wbs-dependency-chip-icon{flex-shrink:0;font-size:11px;font-weight:700}.wbs-row-level-0{background:#ede9fe!important;font-weight:700!important}.wbs-row-level-0 .rdg-cell{background:#ede9fe!important;color:#334155!important;font-weight:700!important}.wbs-row-level-1{background:#e2e8f0!important;font-weight:600!important}.wbs-row-level-1 .rdg-cell{background:#e2e8f0!important;color:#334155!important;font-weight:600!important}.wbs-row-level-2,.wbs-row-level-3{background:#f8fafc!important}.wbs-row-level-2 .rdg-cell,.wbs-row-level-3 .rdg-cell{background:#f8fafc!important;color:#334155!important}.wbs-row-level-0:hover .rdg-cell{background:#ddd6fe!important}.wbs-row-level-1:hover .rdg-cell{background:#cbd5e1!important}.wbs-row-level-2:hover .rdg-cell,.wbs-row-level-3:hover .rdg-cell{background:#f1f5f9!important}.wbs-row-blocked .rdg-cell{box-shadow:inset 0 -2px #ffb74d}.wbs-row-conflict .rdg-cell{box-shadow:inset 0 -2px #ef5350}.wbs-save-status{min-width:88px;height:28px;padding:0 10px;border-radius:999px;border:1px solid #D7E3F4;background:#f8fafc;color:#64748b;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}.wbs-save-status.is-pending{border-color:#fde68a;background:#fffbeb;color:#b45309}.wbs-save-status.is-saving{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}.wbs-save-status.is-saved{border-color:#bbf7d0;background:#f0fdf4;color:#15803d}.wbs-save-status.is-error{border-color:#fecaca;background:#fef2f2;color:#b91c1c}.wbs-collapse-all-btn{width:30px;height:30px;border:1px solid #D1D9E6;border-radius:7px;background:#fff;color:#64748b;display:inline-flex;align-items:center;justify-content:center;padding:0;transition:all .15s ease}.wbs-collapse-all-btn:hover{border-color:#93c5fd;background:#f8fbff;color:#1d4ed8}.wbs-collapse-all-btn.is-active{border-color:#2563eb;background:#dbeafe;color:#1d4ed8}.wbs-settings-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a00;pointer-events:none;transition:background .2s ease;z-index:150}.wbs-settings-backdrop.is-open{background:#0f172a38;pointer-events:auto}.wbs-settings-drawer{position:absolute;top:0;right:0;height:100%;width:min(760px,96vw);background:#fff;box-shadow:-18px 0 38px #0f172a2e;transform:translate(100%);transition:transform .24s ease;display:flex;flex-direction:column;padding:18px;gap:12px;overflow:hidden}.wbs-settings-drawer.is-open{transform:translate(0)}.wbs-settings-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-shrink:0}.wbs-settings-title{font-size:18px;font-weight:700;color:#0f172a}.wbs-settings-subtitle{margin-top:4px;font-size:12px;color:#64748b}.wbs-settings-close{border:1px solid #E2E8F0;background:#fff;color:#64748b;border-radius:8px;width:32px;height:32px;font-size:14px;line-height:1}.wbs-settings-search-wrap{flex-shrink:0}.wbs-settings-search{width:100%;height:36px;border:1px solid #D5DCE6;border-radius:10px;padding:0 11px;font-size:13px;color:#334155;background:#fff}.wbs-settings-search:focus{outline:none;border-color:#93c5fd;box-shadow:0 0 0 3px #3b82f624}.wbs-settings-tabs{display:flex;align-items:center;gap:8px;padding-bottom:10px;border-bottom:1px solid #E2E8F0;flex-shrink:0;overflow-x:auto}.wbs-settings-tab{display:inline-flex;align-items:center;justify-content:center;border:1px solid #D5DCE6;background:#f8fafc;color:#475569;border-radius:10px 10px 0 0;padding:9px 14px;font-size:12px;font-weight:700;white-space:nowrap;flex-shrink:0;transition:all .16s ease}.wbs-settings-tab:hover{background:#f1f5f9;color:#0f172a}.wbs-settings-tab.is-active{background:#fff;color:#2563eb;border-color:#93c5fd;border-bottom-color:#fff;box-shadow:inset 0 -2px #2563eb}.wbs-settings-panel{display:flex;flex-direction:column;gap:12px;min-height:0}.wbs-settings-panel-section{border:1px solid #E5E7EB;border-radius:12px;background:#f8fafc;padding:14px;display:flex;flex-direction:column;gap:10px;box-shadow:inset 0 1px #fff9}.wbs-settings-panel-title{font-size:12px;font-weight:700;color:#0f172a}.wbs-settings-content{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:4px;padding-top:4px}.wbs-settings-section{border:1px solid #E5E7EB;border-radius:12px;background:#f8fafc;padding:12px;display:flex;flex-direction:column;gap:10px}.wbs-settings-section-toggle{width:100%;border:none;background:transparent;padding:0;display:flex;align-items:center;justify-content:space-between;text-align:left}.wbs-settings-section-title{font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#475569}.wbs-settings-chevron{color:#64748b;font-size:14px;line-height:1;transform:rotate(-90deg);transition:transform .16s ease}.wbs-settings-chevron.is-open{transform:rotate(0)}.wbs-settings-option{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border:none;border-top:1px solid #E2E8F0;background:transparent;text-align:left}.wbs-settings-section .wbs-settings-option:first-of-type{border-top:none;padding-top:2px}.wbs-settings-option-copy{min-width:0;flex:1}.wbs-column-order-pane{display:flex;flex-direction:column;gap:10px;padding:14px;margin-bottom:0;border:1px solid #E5E7EB;border-radius:12px;background:#f8fafc;box-shadow:inset 0 1px #fff9}.wbs-column-order-title{font-size:12px;font-weight:700;color:#0f172a}.wbs-column-order-subtitle{font-size:11px;line-height:1.4;color:#64748b}.wbs-column-order-list{display:flex;flex-direction:column;gap:8px}.wbs-column-order-item{display:flex;align-items:center;gap:10px;width:100%;min-height:48px;padding:10px 12px;border:1px solid #D5DCE6;border-radius:10px;background:#fff;cursor:grab;position:relative;overflow:hidden;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease,opacity .16s ease}.wbs-column-order-item:before{content:"⋮⋮";color:#94a3b8;font-size:12px;letter-spacing:-1px;flex-shrink:0}.wbs-column-order-item:hover{border-color:#bfdbfe;background:#f8fbff;box-shadow:0 2px 8px #0f172a0f}.wbs-column-order-item.is-dragging{opacity:.72;cursor:grabbing;transform:scale(.995)}.wbs-column-order-item.is-drop-target{border-color:#2563eb;background:#eff6ff;box-shadow:0 0 0 1px #2563eb14;transform:translateY(-1px)}.wbs-column-order-item.is-drop-target:after{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:10px;border:1px dashed rgba(37,99,235,.45);pointer-events:none}.wbs-column-order-index{width:24px;height:24px;border-radius:999px;background:#e2e8f0;color:#475569;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.wbs-column-order-copy{min-width:0;flex:1;display:flex;flex-direction:column;overflow:hidden}.wbs-column-order-name{font-size:12px;font-weight:700;color:#0f172a}.wbs-column-order-hint{margin-top:2px;font-size:10px;line-height:1.2;color:#64748b}.wbs-column-order-name,.wbs-column-order-hint{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wbs-settings-option-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.wbs-settings-fixed-tag{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:999px;background:#e2e8f0;color:#475569;font-size:11px;font-weight:700;white-space:nowrap}.wbs-column-order-item .wbs-settings-fixed-tag{margin-left:auto;flex-shrink:0}.wbs-settings-option .wbs-switch{padding:0;border:1px solid #CBD5E1;cursor:pointer}.wbs-settings-option .wbs-switch:focus-visible,.wbs-column-order-item:focus-visible{outline:2px solid #93C5FD;outline-offset:2px}.wbs-settings-option .wbs-switch:not(.is-on):hover{background:#d1d5db}.wbs-settings-option .wbs-switch.is-on:hover{background:#1d4ed8}.wbs-settings-option .wbs-switch .wbs-switch-thumb{pointer-events:none}.wbs-settings-option-title{font-size:13px;font-weight:700;color:#0f172a}.wbs-settings-option-meta{margin-top:3px;font-size:11px;line-height:1.4;color:#64748b}.wbs-switch{position:relative;width:42px;height:24px;border-radius:999px;border:1px solid #CBD5E1;background:#e5e7eb;flex-shrink:0;transition:all .16s ease}.wbs-switch.is-on{background:#2563eb;border-color:#2563eb}.wbs-switch-thumb{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:999px;background:#fff;box-shadow:0 1px 3px #0f172a2e;transition:transform .16s ease}.wbs-switch.is-on .wbs-switch-thumb{transform:translate(18px)}.wbs-sprint-panel{display:flex;flex-direction:column;gap:12px}.wbs-sprint-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.wbs-sprint-panel-copy{min-width:0}.wbs-sprint-panel-title{font-size:12px;font-weight:700;color:#0f172a}.wbs-sprint-panel-subtitle{margin-top:3px;font-size:11px;line-height:1.4;color:#64748b}.wbs-sprint-list{display:flex;flex-direction:column;gap:8px}.wbs-sprint-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid #E2E8F0;border-radius:10px;background:#fff}.wbs-sprint-copy{min-width:0;flex:1}.wbs-sprint-name{font-size:12px;font-weight:700;color:#0f172a}.wbs-sprint-range{margin-top:2px;font-size:11px;color:#64748b}.wbs-sprint-actions{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.wbs-sprint-form{display:flex;flex-direction:column;gap:14px}.wbs-sprint-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.wbs-date-format-list{display:flex;flex-wrap:wrap;gap:8px;border:1px solid #E5E7EB;border-radius:12px;background:#f8fafc;padding:14px;box-shadow:inset 0 1px #fff9}.wbs-date-format-option{border:1px solid #D5DCE6;background:#fff;color:#334155;border-radius:10px;padding:8px 10px;font-size:12px;font-weight:600;transition:all .16s ease}.wbs-date-format-option.is-active{border-color:#2563eb;background:#eff6ff;color:#1d4ed8}.wbs-settings-empty{font-size:12px;color:#64748b;padding:8px 0 2px}.gantt-page{display:flex;flex-direction:column;height:100%;overflow:hidden;padding:14px;gap:10px;background:#f5f7fb}.gantt-topbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.gantt-topbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.gantt-title-block{display:flex;flex-direction:column;gap:2px}.gantt-subtitle{font-size:11px;color:var(--text-muted)}.gantt-legend-card{padding:6px 10px;border:1px solid #E5E7EB;border-radius:8px;background:#fff}.gantt-filterbar{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;padding:12px 14px;border:1px solid #DDE3EC;border-radius:10px;background:#fff}.gantt-filter-group{display:flex;flex-direction:column;gap:4px;min-width:150px}.gantt-filter-group-search{min-width:min(300px,100%);flex:1}.gantt-filter-label{font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.gantt-filter-input,.gantt-filter-select{min-height:36px}.gantt-filter-actions{display:flex;align-items:center;gap:8px;margin-left:auto;flex-wrap:wrap;justify-content:flex-end}.gantt-visibility-controls{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.gantt-hierarchy-btn{border:1px solid #D1D9E6;background:#fff;color:#64748b;border-radius:7px;padding:5px 6px;display:flex;align-items:center;justify-content:center;transition:all .15s ease;cursor:pointer}.gantt-hierarchy-btn:hover{border-color:#93c5fd;background:#f8fbff;color:#1d4ed8}.gantt-hierarchy-btn.is-active{border-color:#2563eb;background:#dbeafe;color:#1d4ed8}.gantt-hierarchy-btn svg{display:block}.gantt-settings-btn{border:1px solid #D1D9E6;background:#fff;color:#64748b;border-radius:7px;padding:5px 6px;display:flex;align-items:center;justify-content:center;transition:all .15s ease;cursor:pointer}.gantt-settings-btn:hover{border-color:#93c5fd;background:#f8fbff;color:#1d4ed8}.gantt-settings-btn.is-active{border-color:#2563eb;background:#dbeafe;color:#1d4ed8}.gantt-settings-btn svg{display:block}.gantt-toggle-btn{border:1px solid #D1D9E6;background:#fff;color:#475569;border-radius:999px;padding:7px 12px;font-size:11px;font-weight:700;transition:all .15s ease}.gantt-toggle-btn:hover{border-color:#93c5fd;background:#f8fbff;color:#1d4ed8}.gantt-toggle-btn.is-active{border-color:#2563eb;background:#dbeafe;color:#1d4ed8}.gantt-legend{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.gantt-legend-item{display:flex;align-items:center;gap:4px;font-size:9px;font-weight:600;color:var(--text-muted)}.gantt-legend-dot{width:8px;height:8px;border-radius:3px;flex-shrink:0;box-shadow:inset 0 0 0 1px #0f172a14}.gantt-legend-weekend{background:#e2e8f0}.gantt-scroll-wrapper{flex:1;overflow:auto;border:1px solid #DDE3EC;border-radius:10px;background:#fff;box-shadow:0 6px 18px #0f172a0d}.gantt-grid{display:flex;flex-direction:column;border:none;margin:0;position:relative;background:#fff}.gantt-header-row{display:flex;background:#fff;color:#334155;position:sticky;top:0;z-index:10;flex-shrink:0;border-bottom:1px solid #E5E7EB}.gantt-header-row-main{top:0}.gantt-week-header-row{top:30px}.gantt-day-header-row{background:#fcfdfe;top:52px}.gantt-cell{display:flex;align-items:center;padding:0 5px;border-right:1px solid #E5E7EB;font-size:10px;font-weight:600;overflow:hidden;white-space:nowrap;flex-shrink:0}.gantt-task-column{position:sticky;z-index:6;background:#fff}.gantt-task-column-header{z-index:12;font-size:9px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.03em}.gantt-task-header-toolbar{justify-content:flex-start;padding-left:6px}.gantt-collapse-all-btn{width:22px;height:22px;border:1px solid #D1D9E6;border-radius:6px;background:#fff;color:#64748b;display:inline-flex;align-items:center;justify-content:center;padding:0;transition:all .15s ease}.gantt-collapse-all-btn:hover{border-color:#93c5fd;background:#f8fbff;color:#1d4ed8}.gantt-collapse-all-btn.is-active{border-color:#2563eb;background:#dbeafe;color:#1d4ed8}.gantt-cell.is-center{justify-content:center}.gantt-task-column:nth-child(1){left:0}.gantt-task-column-second{left:236px}.gantt-task-column-third{left:348px}.gantt-task-column-fourth{left:406px}.gantt-month-header{justify-content:center;font-size:10px;font-weight:700;color:#475569;border-right:1px solid #E5E7EB}.gantt-week-header{justify-content:flex-start;align-items:center;padding-left:8px;font-size:9px;font-weight:700;color:#64748b;background:#fafbfc}.gantt-day-cell{flex-direction:column;justify-content:center;gap:1px;font-size:9px;border-right:1px solid #EEF2F7;padding:0}.gantt-day-number{font-size:10px;font-weight:700;color:#334155}.gantt-day-name{font-size:8px;font-weight:600;color:#94a3b8}.gantt-data-row{display:flex;height:38px;border-bottom:1px solid #EDF2F7;flex-shrink:0;background:#fff}.gantt-data-row:hover{background:#fafcff}.gantt-data-row.is-epic-row{background:#f5f3ff}.gantt-data-row.is-epic-row:hover{background:#ede9fe}.gantt-data-row.is-parent-row{background:#f8fafc;border-top:1px solid #CBD5E1!important}.gantt-data-row.is-parent-row:hover{background:#f1f5f9}.gantt-data-row.is-child-row{background:#fefefe}.gantt-data-row.is-child-row:hover{background:#f9fafb}.gantt-hierarchy-connector{opacity:.6}.gantt-task-label{display:flex;align-items:center;gap:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:6px;box-shadow:4px 0 10px #0f172a05}.gantt-expand-btn{width:18px;height:18px;border:1px solid #CBD5E1;border-radius:4px;background:#fff;color:#475569;display:inline-flex;align-items:center;justify-content:center;font-size:11px;line-height:1;flex-shrink:0;padding:0}.gantt-expand-btn:hover{border-color:#93c5fd;color:#1d4ed8;background:#eff6ff}.gantt-expand-spacer{width:18px;height:18px;flex-shrink:0}.is-parent-row .gantt-task-label{font-weight:600}.is-epic-row .gantt-task-label{font-weight:700}.is-child-row .gantt-task-label{border-left:2px solid #E2E8F0}.gantt-level-marker{width:3px;height:14px;border-radius:999px;flex-shrink:0}.gantt-level-marker.level-0{background:#7c3aed}.gantt-level-marker.level-1{background:#2563eb}.gantt-level-marker.level-2{background:#16a34a}.gantt-level-marker.level-3{background:#94a3b8}.gantt-task-text{display:flex;flex-direction:column;align-items:flex-start;gap:1px;min-width:0;flex:1}.gantt-task-text.is-compact{display:block}.gantt-task-code{font-size:9px;font-weight:700;color:#64748b;background:transparent;border:none;border-radius:0;padding:0;flex-shrink:0}.gantt-task-name{min-width:0;width:100%;overflow:hidden;text-overflow:ellipsis;font-size:11px;font-weight:600;color:#1f2937}.gantt-schedule-cell,.gantt-assignee-cell,.gantt-progress-cell,.gantt-duration-cell,.gantt-sprint-cell,.gantt-meta-cell{font-size:10px;color:#475569;background:#fff}.gantt-schedule-cell{font-weight:500}.gantt-assignee-cell,.gantt-progress-cell,.gantt-duration-cell{justify-content:center}.gantt-assignee-badge{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:999px;background:#3b82f6;color:#fff;font-size:9px;font-weight:700}.gantt-timeline-row{position:relative;display:flex;align-items:stretch;height:100%;overflow:hidden;flex-shrink:0}.gantt-empty-cell{border-right:1px solid #EEF2F7;flex-shrink:0;height:100%}.gantt-empty-cell.is-nonworking{background:#f3f4f6}.gantt-task-bar{position:absolute;top:6px;height:24px;border-radius:3px;display:flex;align-items:center;overflow:hidden;color:#fff;font-size:10px;font-weight:700;box-shadow:0 2px 8px #0f172a24;z-index:4}.gantt-task-bar.is-blocked{box-shadow:0 2px 8px #0f172a24,inset 0 0 0 2px #f59e0b}.gantt-task-bar.is-conflict{box-shadow:0 2px 8px #0f172a24,inset 0 0 0 2px #ef4444}.gantt-task-bar-label{position:relative;z-index:2;padding:0 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gantt-connector-layer{position:absolute;inset:0 auto auto 0;pointer-events:none;z-index:3}.gantt-connector-dot{fill:#bfdbfe}.gantt-connector-path{fill:none;stroke:#93c5fd;stroke-width:1.4;opacity:.95}.gantt-connector-arrow{fill:#93c5fd}.gantt-task-warning{margin-left:4px;font-size:10px;font-weight:700;flex-shrink:0}.gantt-task-blocked{color:#ef6c00}.gantt-task-conflict{color:#d32f2f}.gantt-bar-flag{position:absolute;right:5px;top:4px;font-size:9px;line-height:1;color:#fff;z-index:3}.gantt-bar-flag-conflict{color:#d32f2f}.gantt-legend-warning{background:#ff9800}.gantt-legend-conflict{background:#f44336}.gantt-progress-fill{position:absolute;left:0;top:0;bottom:0;border-radius:0;opacity:.24;background:#ffffffeb}.gantt-tooltip{background:#0f172af5;color:#fff;border-radius:14px;padding:12px 14px;font-size:12px;line-height:1.65;pointer-events:none;box-shadow:0 18px 40px #0f172a47;max-width:280px;border:1px solid rgba(255,255,255,.08)}.gantt-tooltip-title{font-weight:700;margin-bottom:4px;font-size:13px}.gantt-settings-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a00;pointer-events:none;transition:background .2s ease;z-index:150}.gantt-settings-backdrop.is-open{background:#0f172a38;pointer-events:auto}.gantt-settings-drawer{position:absolute;top:0;right:0;height:100%;width:min(360px,92vw);background:#fff;box-shadow:-18px 0 38px #0f172a2e;transform:translate(100%);transition:transform .24s ease;display:flex;flex-direction:column;padding:18px 16px;gap:16px}.gantt-settings-drawer.is-open{transform:translate(0)}.gantt-settings-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.gantt-settings-title{font-size:18px;font-weight:700;color:#0f172a}.gantt-settings-subtitle{margin-top:4px;font-size:12px;color:#64748b}.gantt-settings-close{border:1px solid #E2E8F0;background:#fff;color:#64748b;border-radius:8px;width:32px;height:32px;font-size:14px;line-height:1}.gantt-settings-section{border:1px solid #E5E7EB;border-radius:12px;background:#f8fafc;padding:12px;display:flex;flex-direction:column;gap:10px}.gantt-settings-section-title{font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#475569}.gantt-settings-option{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid #E2E8F0}.gantt-settings-section .gantt-settings-option:first-of-type{border-top:none;padding-top:2px}.gantt-settings-option-copy{min-width:0}.gantt-settings-option-title{font-size:13px;font-weight:700;color:#0f172a}.gantt-settings-option-meta{margin-top:3px;font-size:11px;line-height:1.4;color:#64748b}.gantt-switch{position:relative;width:42px;height:24px;border-radius:999px;border:1px solid #CBD5E1;background:#e5e7eb;flex-shrink:0;transition:all .16s ease}.gantt-switch.is-on{background:#2563eb;border-color:#2563eb}.gantt-switch-thumb{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:999px;background:#fff;box-shadow:0 1px 3px #0f172a2e;transition:transform .16s ease}.gantt-switch.is-on .gantt-switch-thumb{transform:translate(18px)}@media (max-width: 1024px){.gantt-topbar{align-items:flex-start}.gantt-filterbar{align-items:stretch}.gantt-filter-actions{margin-left:0}}.ext-gantt-page{display:flex;flex-direction:column;height:100%;overflow:hidden;padding:14px;gap:10px;background:#f5f7fb}.ext-gantt-topbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.ext-gantt-title-block{display:flex;flex-direction:column;gap:2px}.ext-gantt-title-row{display:flex;align-items:center;gap:8px}.ext-gantt-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.04em;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;text-transform:uppercase}.ext-gantt-subtitle{font-size:11px;color:var(--text-muted)}.ext-gantt-topbar-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ext-view-toggle-btn{border:1px solid #D1D9E6;background:#fff;color:#475569;border-radius:999px;padding:7px 12px;font-size:11px;font-weight:700;transition:all .15s ease;cursor:pointer}.ext-view-toggle-btn:hover{border-color:#93c5fd;background:#f8fbff;color:#1d4ed8}.ext-view-toggle-btn.is-active{border-color:#6366f1;background:#eef2ff;color:#4338ca}.ext-gantt-settings-btn{display:flex;align-items:center;gap:5px;border:1px solid #D1D9E6;background:#fff;color:#64748b;border-radius:7px;padding:6px 10px;font-size:11px;font-weight:700;transition:all .15s ease;cursor:pointer}.ext-gantt-settings-btn:hover{border-color:#93c5fd;background:#f8fbff;color:#1d4ed8}.ext-filter-toggle-btn{border:1px solid #D1D9E6;background:#fff;color:#475569;border-radius:999px;padding:7px 12px;font-size:11px;font-weight:700;transition:all .15s ease;cursor:pointer}.ext-filter-toggle-btn:hover{border-color:#93c5fd;background:#f8fbff;color:#1d4ed8}.ext-filter-toggle-btn.is-active{border-color:#2563eb;background:#dbeafe;color:#1d4ed8}.ext-legend-card{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:6px 12px;border:1px solid #E5E7EB;border-radius:8px;background:#fff;font-size:10px}.ext-legend-section-label{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#64748b}.ext-legend-item{display:flex;align-items:center;gap:4px;font-size:9px;font-weight:600;color:var(--text-muted)}.ext-legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.ext-legend-divider{width:1px;height:16px;background:#e5e7eb;margin:0 4px}.ext-filterbar{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;padding:12px 14px;border:1px solid #DDE3EC;border-radius:10px;background:#fff}.ext-filter-group{display:flex;flex-direction:column;gap:4px;min-width:150px}.ext-filter-group-search{min-width:min(300px,100%);flex:1}.ext-filter-label{font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.ext-filter-actions{display:flex;align-items:center;gap:8px;margin-left:auto;justify-content:flex-end}.ext-gantt-scroll-wrapper{flex:1;overflow:auto;border:1px solid #DDE3EC;border-radius:10px;background:#fff;box-shadow:0 6px 18px #0f172a0d}.ext-gantt-grid{display:flex;flex-direction:column;position:relative;background:#fff}.ext-header-row{display:flex;background:#fff;color:#334155;position:sticky;top:0;z-index:10;flex-shrink:0;border-bottom:1px solid #E5E7EB}.ext-week-header-row{top:30px}.ext-day-header-row{background:#fcfdfe;top:52px}.ext-cell{display:flex;align-items:center;padding:0 6px;border-right:1px solid #E5E7EB;font-size:10px;font-weight:600;overflow:hidden;white-space:nowrap;flex-shrink:0}.ext-cell.is-center{justify-content:center}.ext-task-col{position:sticky;z-index:6;background:#fff}.ext-task-col-header{z-index:12;font-size:9px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.03em}.ext-task-header-toolbar{justify-content:flex-start;padding-left:6px}.ext-header-icon-group{display:flex;align-items:center;gap:6px}.ext-collapse-all-btn{width:22px;height:22px;border:1px solid #D1D9E6;border-radius:6px;background:#fff;color:#64748b;display:inline-flex;align-items:center;justify-content:center;padding:0;transition:all .15s ease;cursor:pointer}.ext-collapse-all-btn:hover{border-color:#93c5fd;background:#f8fbff;color:#1d4ed8}.ext-collapse-all-btn.is-active{border-color:#2563eb;background:#dbeafe;color:#1d4ed8}.ext-month-header{justify-content:center;font-size:10px;font-weight:700;color:#475569;border-right:1px solid #E5E7EB}.ext-week-header{justify-content:flex-start;padding-left:8px;font-size:9px;font-weight:700;color:#64748b;background:#fafbfc}.ext-day-cell{flex-direction:column;justify-content:center;gap:1px;font-size:9px;border-right:1px solid #EEF2F7;padding:0}.ext-day-number{font-size:10px;font-weight:700;color:#334155}.ext-day-name{font-size:8px;font-weight:600;color:#94a3b8}.ext-data-row{display:flex;border-bottom:1px solid #EDF2F7;flex-shrink:0;background:#fff}.ext-data-row:hover{background:#fafcff}.ext-data-row.is-epic-row{background:#f5f3ff}.ext-data-row.is-epic-row:hover{background:#ede9fe}.ext-data-row.is-parent-row{background:#f8fafc;border-top:1px solid #CBD5E1}.ext-data-row.is-parent-row:hover{background:#f1f5f9}.ext-data-row.is-child-row{background:#fefefe}.ext-task-sub-row{display:flex;border-bottom:1px solid #F3F4F6;flex-shrink:0;background:#fafbff}.ext-task-sub-row:hover{background:#f0f4ff}.ext-sub-task-name-cell{font-size:10px;color:#64748b;gap:4px}.ext-sub-task-connector{color:#cbd5e1;font-size:12px;flex-shrink:0}.ext-sub-task-label{font-size:10px;font-weight:500;color:#374151;overflow:hidden;text-overflow:ellipsis}.ext-task-label{gap:5px;padding-right:6px;box-shadow:4px 0 10px #0f172a05}.ext-expand-btn{width:18px;height:18px;border:1px solid #CBD5E1;border-radius:4px;background:#fff;color:#475569;display:inline-flex;align-items:center;justify-content:center;font-size:11px;flex-shrink:0;padding:0;cursor:pointer}.ext-expand-btn:hover{border-color:#93c5fd;color:#1d4ed8;background:#eff6ff}.ext-expand-spacer{width:18px;height:18px;flex-shrink:0}.ext-level-marker{width:3px;height:14px;border-radius:999px;flex-shrink:0}.ext-level-marker.level-0{background:#7c3aed}.ext-level-marker.level-1{background:#2563eb}.ext-level-marker.level-2{background:#16a34a}.ext-level-marker.level-3{background:#94a3b8}.ext-task-text{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.ext-task-code{font-size:9px;font-weight:700;color:#64748b}.ext-task-name{min-width:0;width:100%;overflow:hidden;text-overflow:ellipsis;font-size:11px;font-weight:600;color:#1f2937}.is-parent-row .ext-task-label{font-weight:600}.is-epic-row .ext-task-label{font-weight:700}.ext-task-expand-btn{flex-shrink:0;border:1px solid #D1D9E6;background:#f8fafc;color:#64748b;border-radius:5px;padding:1px 5px;font-size:9px;font-weight:700;cursor:pointer;transition:all .12s ease}.ext-task-expand-btn:hover,.ext-task-expand-btn.has-tasks{border-color:#6366f1;background:#eef2ff;color:#4338ca}.ext-config-btn{flex-shrink:0;border:1px solid #D1D9E6;background:#fff;color:#94a3b8;border-radius:5px;width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;cursor:pointer;transition:all .12s ease}.ext-config-btn:hover:not(:disabled){border-color:#fcd34d;background:#fffbeb;color:#d97706}.ext-breakdown-type-cell,.ext-breakdown-status-cell,.ext-breakdown-pct-cell{font-size:10px;color:#475569}.ext-breakdown-status-cell{justify-content:center}.ext-task-count-badge{display:inline-flex;align-items:center;padding:1px 6px;border-radius:999px;font-size:9px;font-weight:700;background:#eef2ff;color:#4338ca;white-space:nowrap}.ext-wbs-status-chip{display:inline-flex;align-items:center;padding:2px 7px;border-radius:999px;font-size:9px;font-weight:700;white-space:nowrap}.ext-wbs-status-chip.is-feature-status{font-size:8px;padding:2px 6px}.ext-task-status-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:999px;font-size:9px;font-weight:700;white-space:nowrap}.ext-task-status-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.ext-task-type-chip{display:inline-flex;padding:1px 5px;border-radius:4px;font-size:9px;font-weight:600;background:#f1f5f9;color:#475569}.ext-pct-display{display:flex;align-items:center;gap:3px}.ext-pct-value{font-size:10px;font-weight:700;color:#374151}.ext-pct-override-dot{width:5px;height:5px;border-radius:50%;background:#f59e0b;flex-shrink:0}.ext-sub-pct-bar-wrap{display:flex;flex-direction:column;align-items:center;gap:1px;width:100%}.ext-sub-pct-bar{width:90%;height:4px;background:#e5e7eb;border-radius:999px;overflow:hidden}.ext-sub-pct-fill{height:100%;border-radius:999px;transition:width .3s ease}.ext-sub-pct-label{font-size:8px;font-weight:700;color:#64748b}.ext-timeline-row{position:relative;display:flex;align-items:stretch;height:100%;overflow:hidden;flex-shrink:0}.ext-empty-cell{border-right:1px solid #EEF2F7;flex-shrink:0;height:100%}.ext-empty-cell.is-nonworking{background:#f3f4f6}.ext-sub-cell{border-right-color:#f3f4f6}.ext-task-bar{position:absolute;top:8px;height:22px;border-radius:3px;display:flex;align-items:center;overflow:hidden;color:#fff;font-size:10px;font-weight:700;box-shadow:0 2px 8px #0f172a24;z-index:4;gap:4px}.ext-progress-fill{position:absolute;left:0;top:0;bottom:0;border-radius:0;opacity:.24;background:#ffffffeb}.ext-task-bar-label{position:relative;z-index:2;padding:0 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.ext-task-bar-pct{position:relative;z-index:2;padding-right:6px;font-size:9px;font-weight:800;flex-shrink:0;opacity:.9}.ext-tooltip{background:#0f172af5;color:#fff;border-radius:14px;padding:12px 14px;font-size:11px;line-height:1.65;pointer-events:none;box-shadow:0 18px 40px #0f172a47;max-width:320px;border:1px solid rgba(255,255,255,.08)}.ext-tooltip-title{font-weight:700;margin-bottom:4px;font-size:13px}.ext-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;z-index:200;display:flex;align-items:center;justify-content:center;padding:16px}.ext-modal{background:#fff;border-radius:16px;box-shadow:0 24px 56px #0f172a38;width:min(640px,96vw);max-height:min(90vh,700px);display:flex;flex-direction:column;overflow:hidden}.ext-modal-sm{width:min(440px,96vw)}.ext-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 20px 14px;border-bottom:1px solid #E5E7EB}.ext-modal-title{font-size:16px;font-weight:800;color:#0f172a}.ext-modal-subtitle{margin-top:3px;font-size:12px;color:#64748b}.ext-modal-close{border:1px solid #E2E8F0;background:#fff;color:#64748b;border-radius:8px;width:30px;height:30px;font-size:13px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer}.ext-modal-close:hover{background:#f1f5f9;color:#1f2937}.ext-modal-body{flex:1;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:12px}.ext-modal-hint{font-size:12px;color:#64748b;padding:8px 10px;background:#f8fafc;border-radius:8px;border:1px solid #E5E7EB}.ext-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid #E5E7EB}.ext-modal-footer-split{justify-content:space-between}.ext-modal-footer-left,.ext-modal-footer-right{display:flex;align-items:center;gap:8px}.ext-task-type-list{display:flex;flex-direction:column;gap:6px}.ext-task-type-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:8px 10px;border:1px solid #E5E7EB;border-radius:8px;background:#fafbfc;transition:background .12s ease}.ext-task-type-row.is-selected{background:#f0f4ff;border-color:#a5b4fc}.ext-task-type-checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;flex:1;min-width:160px}.ext-task-type-checkbox{width:15px;height:15px;flex-shrink:0;cursor:pointer;accent-color:#4F46E5}.ext-task-type-name{font-size:12px;font-weight:600;color:#1f2937}.ext-task-type-fields{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ext-task-status-select{min-height:32px!important;font-size:11px!important;padding:4px 8px!important;min-width:130px}.ext-task-pct-wrap{display:flex;align-items:center;gap:4px}.ext-task-pct-input{width:56px;min-height:32px!important;font-size:11px!important;padding:4px 6px!important;text-align:center}.ext-task-pct-suffix{font-size:11px;font-weight:700;color:#64748b}.ext-custom-type-row{display:flex;align-items:center;gap:8px}.ext-custom-type-input{flex:1;min-height:36px!important}.ext-copy-option{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:500;color:#334155}.ext-copy-option input{accent-color:#4F46E5}.ext-copy-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ext-copy-search{flex:1;min-width:min(260px,100%)}.ext-copy-target-list{display:flex;flex-direction:column;gap:8px}.ext-copy-target-row{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid #E5E7EB;border-radius:10px;background:#fafbfc;cursor:pointer}.ext-copy-target-row.is-selected{border-color:#a5b4fc;background:#eef2ff}.ext-copy-target-row input{margin-top:2px;accent-color:#4F46E5}.ext-copy-target-copy{min-width:0;flex:1}.ext-copy-target-title{font-size:12px;font-weight:700;color:#0f172a;line-height:1.4}.ext-copy-target-meta{margin-top:2px;font-size:11px;color:#64748b}.ext-copy-empty,.ext-copy-selection-count{font-size:12px;color:#64748b}.ext-types-list{display:flex;flex-direction:column;gap:6px}.ext-types-list-row{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border:1px solid #E5E7EB;border-radius:8px;background:#f8fafc;font-size:13px;font-weight:500;color:#1f2937}.ext-types-remove-btn{border:none;background:transparent;color:#94a3b8;font-size:12px;cursor:pointer;padding:2px 5px;border-radius:4px;transition:all .12s ease}.ext-types-remove-btn:hover{background:#fee2e2;color:#dc2626}.ext-export-option{border:1px solid #E5E7EB;border-radius:10px;padding:12px;transition:border-color .12s ease}.ext-export-option:has(input:checked){border-color:#6366f1;background:#f5f3ff}.ext-export-radio-label{display:flex;align-items:flex-start;gap:10px;cursor:pointer}.ext-export-radio-label input{margin-top:2px;accent-color:#4F46E5;flex-shrink:0}.ext-export-option-copy{flex:1}.ext-export-option-title{font-size:13px;font-weight:700;color:#0f172a}.ext-export-option-desc{margin-top:3px;font-size:11px;color:#64748b;line-height:1.4}@media (max-width: 1024px){.ext-gantt-topbar{align-items:flex-start}.ext-filterbar{align-items:stretch}.ext-filter-actions{margin-left:0}}.wsr-page-body{background:var(--surface2)}.wsr-report-list{display:flex;flex-direction:column;gap:16px}.wsr-filterbar{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:16px}.wsr-filter-group{display:flex;flex-direction:column;gap:4px;min-width:150px}.wsr-filter-group-search{flex:1;min-width:min(320px,100%)}.wsr-filter-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.wsr-no-filter-results{margin-bottom:16px}.wsr-report-card{display:flex;flex-direction:column;gap:16px}.wsr-report-card.is-collapsed{gap:8px}.wsr-report-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.wsr-report-title{font-size:18px;font-weight:700;color:var(--text)}.wsr-report-meta{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px;font-size:12px;color:var(--text-muted)}.wsr-report-actions{display:flex;align-items:center;gap:8px}.wsr-section-chip-row{display:flex;flex-wrap:wrap;gap:8px}.wsr-inline-chip{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:700;line-height:1.2}.wsr-summary-card{border:1px solid var(--border);border-radius:10px;background:#f8fafc;padding:14px 16px}.wsr-summary-title{font-size:12px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;margin-bottom:8px}.wsr-summary-text{font-size:14px;color:var(--text);white-space:pre-wrap;line-height:1.6}.wsr-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:10px}.wsr-empty-table{text-align:center;color:var(--text-muted);padding:18px!important}.wsr-editor-modal{max-width:1220px}.wsr-form-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(220px,1fr);gap:0 16px}.wsr-grid-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.wsr-grid-actions{display:flex;align-items:center;gap:8px}.wsr-grid-title{font-size:15px;font-weight:700;color:var(--text)}.wsr-grid-subtitle{margin-top:4px;font-size:12px;color:var(--text-muted)}.wsr-grid-shell{border:1px solid var(--border);border-radius:10px;overflow:hidden;background:#fff}.wsr-grid-select,.wsr-grid-date{width:100%;height:100%;border:none;outline:none;padding:0 8px;font:inherit;color:var(--text);background:#fff}.wsr-compact-confirm{max-width:520px;width:min(520px,calc(100vw - 32px))}.wsr-compact-confirm .modal-header{padding:16px 20px 12px}.wsr-compact-confirm .modal-body{padding:14px 20px}.wsr-compact-confirm .modal-actions{margin-top:0;padding:12px 20px 16px}@media (max-width: 900px){.wsr-report-header,.wsr-grid-toolbar{flex-direction:column;align-items:stretch}.wsr-report-actions,.wsr-grid-actions{justify-content:flex-end}.wsr-form-grid{grid-template-columns:1fr}.wsr-filterbar{align-items:stretch}.wsr-filter-actions{margin-left:0;justify-content:flex-end}}.weekly-task-page{background:var(--surface2);overflow:auto}.weekly-task-header{align-items:flex-start}.weekly-settings-card,.weekly-controlbar,.weekly-filterbar,.weekly-table-card{margin-bottom:16px}.weekly-settings-card,.weekly-controlbar,.weekly-filterbar{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap}.weekly-settings-card{justify-content:space-between;align-items:center}.weekly-settings-fields{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.weekly-day-picker-field{min-width:280px}.weekly-day-picker{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.weekly-day-chip{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:42px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-muted);font-size:12px;font-weight:700;cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color .15s,background .15s,color .15s}.weekly-day-chip input{position:absolute;opacity:0;pointer-events:none}.weekly-day-chip:hover{border-color:#93c5fd;background:#eff6ff;color:#1d4ed8}.weekly-day-chip.is-active{border-color:var(--primary);background:#e3f2fd;color:var(--primary)}.weekly-section-title{color:var(--text);font-size:15px;font-weight:700}.weekly-field-label{display:flex;min-width:150px;flex-direction:column;gap:5px;color:var(--text-muted);font-size:12px;font-weight:600}.weekly-sprint-field,.weekly-search-field{min-width:min(360px,100%);flex:1}.weekly-period-note{margin-left:auto;color:var(--text-muted);font-size:12px;white-space:nowrap}.weekly-stat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:16px}.weekly-stat-card{min-height:106px;padding:14px 16px;border:1px solid var(--border);border-radius:10px;background:var(--surface);box-shadow:var(--shadow-sm)}.weekly-stat-card.success{border-top:3px solid #22C55E}.weekly-stat-card.warning{border-top:3px solid #F59E0B}.weekly-stat-card.danger{border-top:3px solid #EF4444}.weekly-stat-card.positive{border-top:3px solid #22C55E}.weekly-stat-card.negative{border-top:3px solid #EF4444}.weekly-stat-label{color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.weekly-stat-value{margin-top:8px;color:var(--text);font-size:25px;font-weight:800}.weekly-stat-detail{margin-top:3px;color:var(--text-muted);font-size:11px}.weekly-check-label{display:flex;align-items:center;gap:7px;min-height:38px;color:var(--text-muted);font-size:12px;white-space:nowrap}.weekly-table-card{padding:0;overflow:hidden}.weekly-table-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid var(--border)}.weekly-row-count{padding:5px 9px;border-radius:999px;background:#eef2ff;color:#4338ca;font-size:11px;font-weight:700;white-space:nowrap}.weekly-table-scroll{overflow-x:auto}.weekly-task-table{width:100%;min-width:1120px;border-collapse:collapse;font-size:12px}.weekly-task-table th{padding:11px 10px;border-bottom:1px solid var(--border);background:#f8fafc;color:var(--text-muted);font-size:10px;font-weight:800;letter-spacing:.04em;text-align:left;text-transform:uppercase;white-space:nowrap}.weekly-task-table td{height:62px;padding:8px 10px;border-bottom:1px solid #EEF2F7;color:var(--text);vertical-align:middle}.weekly-task-table tbody tr:hover{background:#fafcff}.weekly-wbs-cell{color:#64748b!important;font-family:monospace;font-weight:700;white-space:nowrap}.weekly-story-cell{max-width:240px;font-weight:650}.weekly-task-chip{display:inline-flex;max-width:170px;padding:5px 9px;overflow:hidden;border-radius:6px;background:#eff6ff;color:#1d4ed8;font-size:11px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.weekly-percent-input{display:flex;align-items:center;width:76px;border:1px solid var(--border);border-radius:6px;background:var(--surface)}.weekly-percent-input:focus-within{border-color:var(--primary);box-shadow:0 0 0 2px #2563eb1f}.weekly-percent-input input{width:52px;padding:7px 4px 7px 8px;border:0;outline:0;background:transparent;color:var(--text);font-size:12px}.weekly-percent-input span{color:var(--text-muted);font-size:11px}.weekly-variance{font-weight:800;white-space:nowrap}.weekly-variance.positive{color:#15803d}.weekly-variance.negative{color:#b91c1c}.weekly-variance.neutral{color:#64748b}.weekly-status-select,.weekly-notes-input{min-height:34px;padding:6px 8px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);font-size:12px}.weekly-status-select{width:125px}.weekly-notes-input{width:170px}.weekly-no-rows{padding:32px!important;color:var(--text-muted)!important;text-align:center}.weekly-footer-note{padding:2px 4px 16px;color:var(--text-muted);font-size:11px}@media (max-width: 1100px){.weekly-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 700px){.weekly-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.weekly-period-note{width:100%;margin-left:0}.weekly-day-picker-field{min-width:100%}.weekly-table-heading{align-items:flex-start;flex-direction:column}}.scrum-call-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.scrum-call-page-body{display:flex;flex-direction:column;gap:16px}.scrum-call-toolbar{display:grid;grid-template-columns:minmax(240px,1fr) 220px auto;gap:12px;align-items:center;padding:16px}.scrum-call-filter{min-width:0}.scrum-call-count{text-align:right}.scrum-call-empty-results{padding:32px 20px}.scrum-modal{max-width:960px}.scrum-modal-lg{max-width:1200px}.scrum-modal-fullscreen{max-width:100vw!important;max-height:100vh;width:100vw;height:100vh;margin:0;border-radius:0}.scrum-modal-fullscreen .modal-body{max-height:calc(100vh - 140px);overflow-y:auto}.scrum-confirm-modal{max-width:520px}.scrum-modal-actions{margin-top:24px}.scrum-call-card{padding:14px 16px}.scrum-call-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:8px}.scrum-call-date{font-size:16px;font-weight:600;color:#1e293b;margin:0 0 4px}.scrum-call-meta{font-size:12px;color:#64748b;margin:0}.scrum-call-notes{font-size:13px;color:#475569;margin:10px 0 0;padding:10px 12px;background:#f8fafc;border-radius:6px;border-left:3px solid #3B82F6;display:-webkit-box;line-clamp:3;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.scrum-call-actions{display:flex;gap:8px;flex-shrink:0;align-items:center}.scrum-call-actions .btn-icon{width:34px;height:34px;border-radius:10px;border:1px solid #E2E8F0;background:#fff;color:#334155;font-size:16px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,border-color .15s,transform .05s}.scrum-call-actions .btn-icon:hover{background:#f8fafc;border-color:#cbd5e1}.scrum-call-actions .btn-icon:active{transform:translateY(1px)}.scrum-call-actions .btn-icon-danger{border-color:#fecaca;background:#fef2f2;color:#b91c1c}.scrum-call-actions .btn-icon-danger:hover{background:#fee2e2;border-color:#fca5a5}.scrum-followup-summary{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:#fef2f2;color:#b91c1c;font-size:12px;font-weight:700;cursor:help}.scrum-followup-members{margin:0 0 12px;padding:10px 12px;border-radius:6px;background:#fff7ed;color:#9a3412;font-size:13px;border-left:3px solid #F97316}.scrum-grid{border:1px solid #E2E8F0;border-radius:8px;overflow:hidden;margin-bottom:12px}.scrum-grid-header{display:grid;grid-template-columns:1fr 2fr 2fr 96px;gap:1px;background:#f1f5f9;font-weight:600;font-size:13px;color:#475569}.scrum-grid-row{display:grid;grid-template-columns:1fr 2fr 2fr 96px;gap:1px;background:#e2e8f0;border-top:1px solid #CBD5E1}.scrum-grid-row-followup{background:#fca5a5}.scrum-grid-row-followup .scrum-grid-cell,.scrum-grid-row-followup .scrum-grid-cell-actions{background:#fef2f2}.scrum-grid-cell{padding:8px 10px;background:#fff;display:flex;align-items:center}.scrum-grid-cell-actions{padding:8px 10px;background:#fff;display:flex;align-items:center;justify-content:center;gap:6px}.scrum-grid-cell .form-control{width:100%;border:none;border-radius:0;background:transparent;padding:4px 2px;font-size:14px;box-shadow:none}.scrum-grid-cell .form-control::placeholder,.modal-body .form-control::placeholder{font-size:11px;color:#94a3b8}.scrum-grid-cell-multiline{align-items:stretch}.scrum-grid-cell-multiline .form-control{min-height:52px;resize:vertical}.scrum-grid-cell .form-control:focus{outline:2px solid #3B82F6;outline-offset:-1px;border-radius:2px;background:#fff}.scrum-followup-toggle.active{background:#fee2e2;color:#b91c1c}.scrum-grid-cell-owner{flex-direction:column;align-items:flex-start!important;gap:4px}.scrum-grid-cell-owner .form-control{width:100%}.scrum-member-role{display:inline-block;font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;letter-spacing:.3px}.scrum-tag-badge{display:inline-flex;align-items:center;padding:1px 7px;border-radius:4px;font-size:11px;font-weight:700;letter-spacing:.3px;margin:0 2px;vertical-align:middle}.scrum-tag-item{display:flex;align-items:center}.scrum-history-tooltip{position:absolute;z-index:10001;background:#fff;border:1px solid #CBD5E1;border-radius:10px;box-shadow:0 8px 24px #0000001f;min-width:280px;max-width:400px}.scrum-history-header{display:flex;justify-content:space-between;align-items:center;padding:10px 14px 8px;border-bottom:1px solid #F1F5F9;font-size:13px;font-weight:700;color:#334155}.scrum-history-close{background:none;border:none;cursor:pointer;font-size:13px;color:#94a3b8;padding:0 2px}.scrum-history-close:hover{color:#475569}.scrum-history-entry{padding:10px 14px;border-bottom:1px solid #F8FAFC}.scrum-history-entry:last-of-type{border-bottom:none}.scrum-history-date{font-size:11px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.scrum-history-status{font-size:13px;color:#1e293b;line-height:1.5;white-space:pre-wrap}.scrum-history-comments{font-size:12px;color:#64748b;margin-top:4px;line-height:1.5;white-space:pre-wrap}.scrum-history-hint{padding:6px 14px;font-size:11px;color:#cbd5e1;border-top:1px solid #F1F5F9;text-align:right}.scrum-autosave-status{font-size:12px;font-weight:500;color:#94a3b8;padding:4px 10px;border-radius:999px;background:#f8fafc;border:1px solid #E2E8F0;white-space:nowrap}.scrum-autosave-status.saved{color:#15803d;background:#f0fdf4;border-color:#bbf7d0}.scrum-autocomplete{position:absolute;background:#fff;border:1px solid #CBD5E1;border-radius:8px;box-shadow:0 4px 12px #0000001a;max-height:240px;overflow-y:auto;z-index:10000;min-width:200px}.scrum-autocomplete-item{padding:10px 14px;cursor:pointer;font-size:14px;color:#1e293b;transition:background .15s}.scrum-autocomplete-item:hover{background:#f1f5f9}.scrum-autocomplete-item.active{background:#dbeafe;color:#1d4ed8}.scrum-autocomplete-empty{padding:10px 14px;font-size:14px;color:#94a3b8;text-align:center}.scrum-story-autocomplete{max-height:320px;min-width:400px;max-width:600px}.scrum-story-item{display:flex;align-items:center;gap:8px;padding:8px 12px;line-height:1.4}.scrum-story-id{font-weight:700;color:#3b82f6;flex-shrink:0}.scrum-story-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scrum-story-sprint{font-size:12px;color:#64748b;flex-shrink:0}.scrum-story-empty{text-align:left;line-height:1.5}.scrum-view-actions{margin-bottom:16px;display:flex;justify-content:flex-end}.scrum-view-table{width:100%;border-collapse:collapse;border:1px solid #E2E8F0;border-radius:8px;overflow:hidden}.scrum-view-table thead{background:#f8fafc}.scrum-view-table th{padding:12px 16px;text-align:left;font-weight:600;font-size:13px;color:#475569;border-bottom:2px solid #E2E8F0}.scrum-view-table td{padding:12px 16px;font-size:14px;color:#1e293b;border-bottom:1px solid #F1F5F9}.scrum-view-table tbody tr:last-child td{border-bottom:none}.scrum-view-table tbody tr:hover{background:#f8fafc}.scrum-view-notes{margin-top:20px;padding:16px;background:#f8fafc;border-radius:8px;border-left:3px solid #3B82F6}.scrum-view-notes strong{display:block;font-size:14px;font-weight:600;color:#475569;margin-bottom:8px}.scrum-view-notes p{font-size:14px;color:#1e293b;margin:0;white-space:pre-wrap}@media (max-width: 768px){.scrum-call-toolbar{grid-template-columns:1fr}.scrum-call-count{text-align:left}.scrum-call-header{flex-direction:column;align-items:flex-start}.scrum-call-actions{width:100%;justify-content:flex-start}.scrum-grid-header,.scrum-grid-row{grid-template-columns:1fr;gap:0}.scrum-grid-cell-actions{border-top:1px solid #E2E8F0}.scrum-view-table{font-size:13px}.scrum-view-table th,.scrum-view-table td{padding:10px 12px}}.ss-page{display:flex;flex-direction:column;height:100%;min-height:0;background:#f8fafc}.ss-loading{display:flex;align-items:center;justify-content:center;height:100%}.ss-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 20px;border-bottom:1px solid #E2E8F0;background:#fff;flex-shrink:0}.ss-topbar-left{display:flex;align-items:center;gap:14px;min-width:0;flex:1}.ss-topbar-right{display:flex;align-items:center;gap:10px;flex-shrink:0}.ss-search{max-width:260px;height:34px;font-size:13px;padding:0 10px}.ss-view-toggle{display:flex;border:1px solid #E2E8F0;border-radius:6px;overflow:hidden}.ss-view-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;background:#fff;border:none;color:#94a3b8;font-size:16px;cursor:pointer;transition:background .12s,color .12s;border-right:1px solid #E2E8F0}.ss-view-btn:last-child{border-right:none}.ss-view-btn.active{background:#eff6ff;color:#1d4ed8}.ss-view-btn:hover:not(.active){background:#f8fafc;color:#475569}.ss-save-status{font-size:12px;font-weight:500;padding:3px 10px;border-radius:999px;white-space:nowrap}.ss-save-saving{color:#64748b;background:#f1f5f9;border:1px solid #E2E8F0}.ss-save-done{color:#15803d;background:#f0fdf4;border:1px solid #BBF7D0}.ss-body{flex:1;min-height:0;overflow-y:auto;padding:20px 24px}.ss-empty{text-align:center;color:#94a3b8;font-size:14px;padding:60px 20px;line-height:1.8}.ss-tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.ss-list-grid{display:flex;flex-direction:column;gap:10px}.ss-note-tile{display:flex;flex-direction:column;min-height:110px;cursor:pointer;transition:box-shadow .15s,border-color .15s}.ss-note-tile:hover{box-shadow:0 4px 14px #00000017;border-color:#93c5fd}.ss-note-row{display:flex;align-items:center;gap:14px;padding:10px 16px;cursor:pointer;transition:box-shadow .12s,border-color .12s}.ss-note-row:hover{box-shadow:0 2px 8px #0000000f;border-color:#93c5fd}.ss-note-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:12px 14px 8px}.ss-note-row .ss-note-top{padding:0;flex:1;min-width:0}.ss-note-title{font-size:14px;font-weight:700;color:#1e293b;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.4}.ss-note-actions{display:flex;gap:4px;flex-shrink:0}.ss-note-preview{flex:1;padding:2px 14px 10px;font-size:13px;color:#64748b;line-height:1.5;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.ss-note-meta{padding:6px 14px 10px;font-size:11px;color:#94a3b8;border-top:1px solid #F1F5F9}.ss-note-row .ss-note-meta{border-top:none;padding:0;flex-shrink:0;white-space:nowrap}.ss-popup{position:fixed;z-index:10200;background:#fff;border:1px solid #CBD5E1;border-radius:8px;box-shadow:0 6px 20px #0000001a,0 1px 4px #0000000f;min-width:240px;max-width:420px;display:flex;flex-direction:column;max-height:320px}.ss-popup-header{padding:7px 12px 5px;font-size:10px;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.6px;border-bottom:1px solid #F1F5F9;flex-shrink:0}.ss-popup-filter{display:flex;align-items:center;gap:6px;padding:4px 12px;background:#f8fafc;border-bottom:1px solid #F1F5F9;font-size:12px;flex-shrink:0}.ss-popup-filter-val{flex:1;color:#1d4ed8;font-weight:600}.ss-popup-filter-clear{color:#94a3b8;cursor:pointer;font-size:11px;padding:0 3px;border-radius:3px;line-height:1}.ss-popup-filter-clear:hover{background:#f1f5f9;color:#475569}.ss-popup-list{flex:1;overflow-y:auto}.ss-popup-empty{padding:10px 12px;font-size:12px;color:#94a3b8;text-align:center}.ss-popup-item{display:flex;align-items:baseline;gap:8px;padding:7px 12px;font-size:13px;color:#1e293b;cursor:pointer;transition:background .1s}.ss-popup-item:hover{background:#f8fafc}.ss-popup-item.active{background:#dbeafe;color:#1d4ed8}.ss-popup-id{font-weight:700;color:#3b82f6;flex-shrink:0;font-size:12px}.ss-popup-item.active .ss-popup-id{color:#1d4ed8}.ss-popup-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:#475569}.ss-popup-item.active .ss-popup-name{color:#1d4ed8}.ss-popup-foot{padding:5px 12px;border-top:1px solid #F1F5F9;font-size:10px;color:#cbd5e1;flex-shrink:0}.ss-popup-foot kbd{display:inline-block;padding:0 4px;font-family:inherit;font-size:9px;font-weight:700;color:#475569;background:#f1f5f9;border:1px solid #CBD5E1;border-radius:3px}.sne-page{display:flex;flex-direction:column;height:100%;min-height:0;background:#fff}.sne-loading{display:flex;align-items:center;justify-content:center;height:100%}.sne-topbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:8px 18px;border-bottom:1px solid #E2E8F0;background:#fff;flex-shrink:0}.sne-topbar-left{display:flex;align-items:center;gap:14px;min-width:0;flex:1}.sne-topbar-right{display:flex;align-items:center;gap:12px;flex-shrink:0}.sne-back-btn{background:none;border:1px solid #E2E8F0;border-radius:6px;padding:4px 10px;font-size:13px;color:#475569;cursor:pointer;white-space:nowrap;transition:background .12s,border-color .12s;flex-shrink:0}.sne-back-btn:hover{background:#f1f5f9;border-color:#cbd5e1}.sne-title{font-size:16px;font-weight:700;color:#1e293b;cursor:text;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:6px}.sne-title-edit-hint{font-size:12px;color:#cbd5e1;font-weight:400}.sne-title:hover .sne-title-edit-hint{color:#94a3b8}.sne-title-input{font-size:16px;font-weight:700;color:#1e293b;border:none;border-bottom:2px solid #3B82F6;outline:none;background:transparent;min-width:200px;max-width:400px;padding:2px 4px}.sne-hint{font-size:12px;color:#94a3b8}.sne-hint kbd{display:inline-block;padding:1px 5px;font-family:inherit;font-size:11px;font-weight:600;color:#334155;background:#f1f5f9;border:1px solid #CBD5E1;border-radius:4px}.sne-date-token{font-weight:700;color:#0f766e}.ss-popup-datepicker{padding:10px 12px 6px}.ss-popup-datepicker .form-control{width:100%;font-size:13px;height:34px}.ss-popup-datepicker-hint{font-size:10px;color:#cbd5e1;margin-top:5px;padding-bottom:2px}.sne-editor-wrap{position:relative;flex:1;min-height:0;overflow:hidden}.sne-textarea{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;width:100%;height:100%;padding:20px 28px;font-family:Courier New,Courier,monospace;font-size:14px;line-height:1.8;color:transparent;caret-color:#1d4ed8;background:transparent;border:none;outline:none;resize:none;box-shadow:none;white-space:pre-wrap;word-break:break-word;overflow-y:auto}.sne-textarea::selection{background:#3b82f640;color:transparent}.sne-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;padding:20px 28px;font-family:Courier New,Courier,monospace;font-size:14px;line-height:1.8;white-space:pre-wrap;word-break:break-word;overflow:hidden;pointer-events:none;-webkit-user-select:none;user-select:none}.sne-line{min-height:1.8em;color:#334155}.sne-line-header{color:transparent;min-height:auto}.sne-header-text{display:block;font-weight:700;color:#1d4ed8;font-size:14px;line-height:1.5}.sne-header-rule{display:block;height:1px;background:#bfdbfe;margin:2px 0 6px}.notification-modal{max-width:560px}.notification-modal-subtitle{margin-top:4px;color:var(--text-muted);font-size:12px}.notification-form{display:flex;flex-direction:column;gap:8px}.notification-modal-preview{display:flex;gap:8px;align-items:flex-start;margin-bottom:8px;padding:12px;background:#f8fafc;border-left:3px solid var(--primary);border-radius:6px;color:#475569;line-height:1.45}.notification-message-input{min-height:88px;resize:vertical}.notification-character-count{align-self:flex-end;margin-top:-4px;color:var(--text-muted);font-size:11px}.notification-modal-actions{margin-top:0;padding:16px 24px 20px}.notification-recurrence-section{margin-top:16px;padding-top:16px;border-top:1px solid #E2E8F0}.notification-recurrence-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;font-weight:600;color:#1e293b}.notification-recurrence-toggle input[type=checkbox]{width:16px;height:16px;cursor:pointer}.notification-recurrence-options{margin-top:12px;padding:12px;background:#f8fafc;border-radius:6px;display:flex;flex-direction:column;gap:12px}.notification-recurrence-row{display:grid;grid-template-columns:100px 1fr auto;gap:10px;align-items:center}.notification-recurrence-row .form-label{margin:0;font-size:12px;color:#475569}.tagged-toolbar{display:grid;grid-template-columns:minmax(240px,1fr) 200px auto;gap:10px;align-items:center;padding:12px 14px;margin-bottom:12px}.tagged-filter{min-width:0}.tagged-count{text-align:right}.tagged-stats{font-size:14px;color:#64748b;font-weight:500}.tagged-table-container{overflow-x:auto;padding:0}.tagged-table{width:100%;border-collapse:collapse}.tagged-table thead{background:#f8fafc;border-bottom:2px solid #E2E8F0}.tagged-table th{padding:10px 12px;text-align:left;font-weight:600;font-size:12px;color:#475569;white-space:nowrap}.tagged-table td{padding:10px 12px;font-size:13px;color:#1e293b;border-bottom:1px solid #F1F5F9;vertical-align:middle}.tagged-table tbody tr:hover{background:#f8fafc}.tagged-table tbody tr:last-child td{border-bottom:none}.tagged-row-closed{opacity:.5;background:#f8fafc!important}.tagged-row-closed td{text-decoration:line-through}.tagged-date{font-size:12px;color:#64748b;white-space:nowrap}.tagged-owner{font-weight:600;font-size:13px;color:#334155;white-space:nowrap}.tagged-content{max-width:500px;line-height:1.4;word-wrap:break-word}.tagged-field{white-space:nowrap}.tagged-field-badge{display:inline-block;padding:2px 6px;border-radius:3px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;background:#f1f5f9;color:#64748b}.tagged-actions{display:flex;gap:6px;align-items:center;white-space:nowrap}.tagged-actions .btn{min-width:32px;padding:4px 8px}.tagged-notification-button{color:#1565c0}.tagged-notification-button:hover{background:#e8f1fb}.tagged-closed-label{font-size:12px;font-weight:600;color:#15803d;padding:3px 8px;border-radius:4px;background:#f0fdf4}.tagged-confirm-modal{max-width:520px}.tagged-confirm-preview{margin-top:16px;padding:14px;background:#f8fafc;border-radius:8px;border-left:3px solid #3B82F6}.tagged-confirm-preview strong{font-size:14px;color:#334155}.tagged-confirm-content{margin-top:8px;font-size:13px;color:#475569;line-height:1.5}.scrum-tag-badge{display:inline-flex;align-items:center;padding:2px 7px;border-radius:3px;font-size:10px;font-weight:700;letter-spacing:.3px;white-space:nowrap}@media (max-width: 768px){.tagged-toolbar{grid-template-columns:1fr}.tagged-count{text-align:left}.tagged-table-container{overflow-x:scroll}.tagged-table{min-width:800px}}.status-history-page{display:flex;flex-direction:column;height:100%;overflow:hidden}.status-history-filters{display:flex;align-items:flex-end;gap:12px;padding:16px;background:var(--surface);border-bottom:1px solid var(--border)}.status-history-filters .form-group{flex:0 0 auto;min-width:180px}.status-history-filters .btn{margin-bottom:0}.status-history-list{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.status-history-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:14px 16px;transition:box-shadow .15s ease}.status-history-card:hover{box-shadow:0 2px 8px #0f172a14}.status-history-header{display:flex;align-items:center;gap:12px;margin-bottom:10px}.status-history-owner{font-size:14px;font-weight:600;color:var(--text)}.status-history-date{font-size:12px;color:var(--text-muted)}.status-history-badge{font-size:10px;font-weight:600;padding:2px 8px;border-radius:8px;background:#fff7ed;color:#c2410c}.status-history-field{display:flex;gap:8px;margin-bottom:6px;font-size:13px;line-height:1.5}.status-history-field:last-child{margin-bottom:0}.status-history-label{font-weight:600;color:var(--text-muted);flex-shrink:0}.status-history-value{color:var(--text);word-break:break-word}.notification-page-subtitle{margin-top:4px;color:var(--text-muted);font-size:13px}.notification-page-icon{display:flex;width:42px;height:42px;align-items:center;justify-content:center;border-radius:12px;background:#e8f1fb;font-size:22px}.notification-page-body{display:flex;flex-direction:column;gap:16px;max-width:980px}.notification-success-banner{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#dcfce7;border:1px solid #86EFAC;border-radius:8px;color:#166534;font-size:13px;font-weight:600}.notification-success-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:#22c55e;color:#fff;font-size:12px;font-weight:700}.notification-status-card,.notification-schedule-card,.notification-list-card{padding:20px}.notification-status-card{display:flex;align-items:center;gap:14px}.notification-status-icon{display:flex;width:42px;height:42px;align-items:center;justify-content:center;border-radius:10px;background:#e8f1fb;font-size:20px}.notification-status-copy{flex:1}.notification-status-copy h2,.notification-section-heading h2{font-size:15px;font-weight:700;color:#1e293b}.notification-status-copy p,.notification-section-heading p{margin-top:4px;color:var(--text-muted);font-size:12px}.notification-section-heading{margin-bottom:16px}.notification-schedule-form-wrapper{display:flex;flex-direction:column;gap:16px}.notification-schedule-form{display:grid;grid-template-columns:minmax(240px,1fr) 230px auto;gap:12px;align-items:end}.notification-form-field{position:relative}.notification-form-field-message textarea{min-height:78px;resize:vertical}.notification-schedule-button{white-space:nowrap;margin-right:8px}.notification-character-count{display:block;margin-top:3px;color:var(--text-muted);font-size:11px;text-align:right}.notification-form-hint{margin-top:12px;color:#92400e;font-size:12px;line-height:1.45}.notification-list{display:flex;flex-direction:column}.notification-list-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-top:1px solid #F1F5F9}.notification-list-item:first-child{border-top:none;padding-top:0}.notification-list-item:last-child{padding-bottom:0}.notification-list-item-copy{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1}.notification-list-item-header{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.notification-list-item-copy strong{overflow:hidden;color:#334155;font-size:13px;font-weight:600;text-overflow:ellipsis}.notification-list-item-time{color:var(--text-muted);font-size:12px}.notification-recurrence-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;border-radius:4px;background:#eef2ff;color:#4f46e5;font-size:10px;font-weight:600;white-space:nowrap}.notification-recurrence-unit{font-size:12px;color:var(--text-muted);white-space:nowrap}.notification-recurrence-summary{margin-top:8px;padding:10px 12px;background:#eef2ff;border-left:3px solid #4F46E5;border-radius:4px;color:#4338ca;font-size:12px;font-weight:600;line-height:1.4}.notification-list-item-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.notification-status-badge{padding:4px 8px;border-radius:5px;background:#fef3c7;color:#92400e;font-size:11px;font-weight:700}.notification-status-badge-sent{background:#dcfce7;color:#166534}.notification-tabs{display:flex;gap:8px;border-bottom:1px solid #E2E8F0;margin-bottom:20px}.notification-tab{position:relative;padding:10px 16px;border:none;background:transparent;color:var(--text-muted);font-size:13px;font-weight:600;cursor:pointer;transition:color .2s;display:flex;align-items:center;gap:6px}.notification-tab:hover{color:#1e293b}.notification-tab-active{color:var(--primary-color);border-bottom:2px solid var(--primary-color);margin-bottom:-1px}.notification-tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#e2e8f0;color:#475569;font-size:11px;font-weight:700}.notification-tab-active .notification-tab-badge{background:var(--primary-color);color:#fff}.notification-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.notification-grid-item{padding:14px;border:1px solid #E2E8F0;border-radius:8px;background:#f8fafc;transition:all .2s}.notification-grid-item:hover{border-color:#cbd5e1;box-shadow:0 2px 4px #0000000d}.notification-grid-item-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.notification-grid-delete{padding:2px 8px;font-size:18px;line-height:1;opacity:.6}.notification-grid-delete:hover{opacity:1;color:#dc2626}.notification-grid-item-body{display:flex;flex-direction:column;gap:6px}.notification-grid-item-body strong{color:#334155;font-size:13px;font-weight:600;line-height:1.4;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.notification-grid-item-body span{color:var(--text-muted);font-size:11px}.notification-load-more{margin-top:16px;text-align:center;padding-top:16px;border-top:1px solid #E2E8F0}.notification-list-state{display:flex;min-height:150px;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--text-muted);font-size:12px}.notification-list-state strong{color:#334155;font-size:14px}.notification-empty-icon{margin-bottom:4px;font-size:24px}@media (max-width: 760px){.notification-status-card{align-items:flex-start;flex-wrap:wrap}.notification-status-card .btn{width:100%;margin-left:56px}.notification-schedule-form{grid-template-columns:1fr}.notification-schedule-button{margin-right:0;width:100%}.notification-list-item{align-items:flex-start;flex-direction:column}.notification-list-item-actions{width:100%;justify-content:space-between}}.reminders-page{background:#f5f7fb}.reminders-page-header{gap:12px;flex-wrap:wrap}.reminders-subtitle{margin-top:4px}.reminders-page-body{display:flex;flex-direction:column;gap:16px}.reminders-quick-add-card{padding:14px}.reminders-quick-add{display:grid;grid-template-columns:minmax(0,1.9fr) 170px 180px auto;gap:10px;align-items:center}.reminders-quick-meta{margin-top:8px}.reminders-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.reminders-filter-chips{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.reminders-filter-chip{border:1px solid #D8E2F0;border-radius:999px;background:#fff;color:#475569;font-size:12px;font-weight:700;padding:7px 12px;transition:all .15s ease}.reminders-filter-chip:hover{border-color:#93c5fd;color:#1d4ed8;background:#eff6ff}.reminders-filter-chip.is-active{border-color:#2563eb;color:#1d4ed8;background:#dbeafe}.reminders-table-card{padding:0;overflow:hidden}.reminders-table{table-layout:fixed}.reminders-table tbody tr{cursor:pointer}.reminders-table tbody tr.is-overdue td{background:#fef2f2}.reminders-table tbody tr.is-due-today td{background:#fffbeb}.reminders-table tbody tr:hover td{background:#f5f7fa}.reminders-table tbody tr.is-overdue:hover td{background:#fde8e8}.reminders-table tbody tr.is-due-today:hover td{background:#fef3c7}.reminders-title-cell{display:flex;flex-direction:column;gap:2px}.reminders-sort-header{border:none;background:transparent;color:inherit;font:inherit;font-weight:600}.reminders-status-chip{display:inline-flex;align-items:center;justify-content:center;min-width:74px;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:700}.reminders-status-chip.is-pending{background:#fff7ed;color:#c2410c}.reminders-status-chip.is-done{background:#ecfdf3;color:#15803d}.reminders-status-chip.is-snoozed{background:#eff6ff;color:#1d4ed8}.reminders-priority-chip{display:inline-flex;align-items:center;justify-content:center;min-width:68px;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:700;background:#f8fafc;color:#475569}.reminders-priority-chip.is-critical{background:#fee2e2;color:#b91c1c}.reminders-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.reminders-board-column{min-height:420px;padding:14px;display:flex;flex-direction:column}.reminders-board-column.is-overdue{border-top:4px solid #EF4444}.reminders-board-column.is-today{border-top:4px solid #EAB308}.reminders-board-column.is-upcoming{border-top:4px solid #2563EB}.reminders-board-column.is-done{border-top:4px solid #16A34A}.reminders-board-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}.reminders-board-count{min-width:28px;height:28px;border-radius:999px;background:#f1f5f9;color:#475569;font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.reminders-board-list{display:flex;flex-direction:column;gap:10px;min-height:280px}.reminders-board-empty{flex:1;min-height:120px;border:1px dashed #CBD5E1;border-radius:10px;color:#94a3b8;font-size:12px;display:flex;align-items:center;justify-content:center;text-align:center;padding:12px}.reminders-card{border:1px solid #D8E2F0;border-radius:10px;background:#fff;padding:12px;box-shadow:0 2px 6px #0f172a0d}.reminders-card.is-critical{border-color:#fecaca;box-shadow:0 4px 12px #ef444414}.reminders-card-title{font-size:13px;font-weight:700;color:#0f172a;margin-bottom:6px}.reminders-card-meta{font-size:12px;color:#64748b;margin-bottom:4px}.reminders-card-footer{margin-top:10px;display:flex;align-items:center;justify-content:space-between;gap:8px}.reminders-calendar-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.8fr);gap:16px}.reminders-calendar-card,.reminders-day-list-card{padding:16px}.reminders-calendar-header,.reminders-day-list-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.reminders-calendar-weekdays,.reminders-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.reminders-calendar-weekdays{margin-bottom:8px}.reminders-calendar-weekdays>div{text-align:center;font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase}.reminders-calendar-day{min-height:88px;border:1px solid #E2E8F0;border-radius:12px;background:#fff;padding:10px 8px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;transition:all .15s ease}.reminders-calendar-day:hover{border-color:#93c5fd;background:#f8fbff}.reminders-calendar-day.is-outside{opacity:.52}.reminders-calendar-day.is-selected{border-color:#2563eb;background:#eff6ff}.reminders-calendar-day-number{font-size:14px;font-weight:700;color:#0f172a}.reminders-calendar-dot{min-width:22px;height:22px;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.reminders-calendar-dot.is-empty{background:transparent}.reminders-day-items{display:flex;flex-direction:column;gap:10px}.reminders-day-item{border:1px solid #E2E8F0;border-radius:10px;background:#fff;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px}.reminders-day-item.is-overdue{border-color:#fecaca;background:#fef2f2}.reminders-day-item.is-due-today{border-color:#fde68a;background:#fffbeb}.reminders-editor-modal{width:min(760px,calc(100vw - 32px))}.reminders-editor-body{display:flex;flex-direction:column;gap:14px}.reminders-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.reminders-link-box{border:1px solid #DBE4F0;border-radius:12px;background:#f8fafc;padding:14px}.reminders-link-title{margin-bottom:4px}.reminders-link-copy{margin-bottom:12px}.reminders-snooze-modal{width:min(420px,calc(100vw - 32px))}.reminders-snooze-copy{margin-bottom:14px;line-height:1.5}.reminders-empty-state{min-height:220px}@media (max-width: 1180px){.reminders-board{grid-template-columns:repeat(2,minmax(0,1fr))}.reminders-calendar-layout{grid-template-columns:1fr}}@media (max-width: 860px){.reminders-quick-add,.reminders-editor-grid,.reminders-board{grid-template-columns:1fr}}.sm-page{display:flex;flex-direction:column;height:100%;overflow:hidden;background:var(--surface2)}.sm-page-header{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.sm-header-right{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.sm-save-indicator{font-size:11px;padding:2px 8px;border-radius:10px;font-weight:600}.sm-save-saving{background:#e3f2fd;color:#1565c0}.sm-save-saved{background:#e8f5e9;color:#2e7d32}.sm-save-error{background:#ffebee;color:#c62828}.sm-retry-btn{background:none;border:none;color:inherit;font-weight:700;text-decoration:underline;cursor:pointer;padding:0;font-size:inherit}.sm-matrix-bar{background:#fff;border-bottom:1px solid var(--border);flex-shrink:0;padding:0 20px}.sm-matrix-tabs{display:flex;align-items:flex-end;padding:6px 0 0;overflow:hidden}.sm-matrix-tabs-list{display:flex;align-items:flex-end;gap:2px;overflow-x:auto;flex:1;scrollbar-width:none}.sm-matrix-tabs-list::-webkit-scrollbar{display:none}.sm-matrix-tab{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border:1px solid var(--border);border-bottom:none;border-radius:6px 6px 0 0;background:var(--surface2);color:var(--text-muted);font-size:12px;font-weight:600;cursor:pointer;transition:background .12s,color .12s;white-space:nowrap;flex-shrink:0}.sm-matrix-tab:hover{background:#eef2ff;color:var(--primary)}.sm-matrix-tab-active{background:#fff;color:var(--primary);border-color:var(--border);position:relative;z-index:1}.sm-matrix-tab-active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:#fff}.sm-matrix-tab-add{background:none;border-style:dashed;color:var(--primary);margin-left:8px;flex-shrink:0;align-self:flex-end;margin-bottom:1px}.sm-matrix-tab-add:hover{background:#eef2ff}.sm-matrix-tab-actions{display:flex;align-items:center;gap:2px;margin-left:4px}.sm-matrix-tab-actions span{font-size:11px;padding:1px 4px;border-radius:3px;cursor:pointer;opacity:.6;transition:opacity .12s,background .12s}.sm-matrix-tab-actions span:hover{opacity:1;background:#0000000f}.sm-matrix-desc{font-size:11px;color:var(--text-muted);padding:4px 0 6px;font-style:italic}.sm-chips-bar{display:flex;align-items:center;gap:6px;padding:5px 20px;background:#fff;border-bottom:1px solid var(--border);flex-shrink:0;flex-wrap:wrap}.sm-chips-label{font-size:10px;font-weight:700;color:var(--text-muted);letter-spacing:.7px;text-transform:uppercase}.sm-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:10px;border:1px solid var(--border);font-size:11px;font-weight:600;cursor:pointer;background:#fff;color:var(--text-muted);transition:background .12s,border-color .12s,color .12s}.sm-chip:hover{border-color:#93c5fd;background:#eff6ff;color:var(--primary)}.sm-chip-active{background:var(--chip-bg, #E3F2FD);color:var(--chip-text, #1565C0);border-color:transparent}.sm-chip-count{background:#00000014;border-radius:8px;padding:0 4px;font-size:10px;font-weight:700;min-width:16px;text-align:center}.sm-filter-divider{width:1px;height:18px;background:var(--border);flex-shrink:0;margin:0 4px}.sm-filter-select-wrap{position:relative;display:inline-flex;align-items:center}.sm-filter-select{font-size:11px;font-weight:500;border:1px solid var(--border);border-radius:8px;padding:3px 26px 3px 8px;background:#f8fafc;color:var(--text-muted);cursor:pointer;outline:none;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;max-width:150px}.sm-filter-select:hover,.sm-filter-select:focus{border-color:#93c5fd;background:#fff;color:var(--text-main)}.sm-filter-select-active{border-color:#2563eb;background:#eff6ff;color:#1d4ed8;font-weight:700}.sm-filter-clear{position:absolute;right:4px;top:50%;transform:translateY(-50%);background:none;border:none;font-size:10px;color:#94a3b8;cursor:pointer;padding:0 2px;line-height:1}.sm-filter-clear:hover{color:#ef4444}.sm-filter-clear-all{font-size:11px;font-weight:600;border:1px solid #FCA5A5;background:#fef2f2;color:#dc2626;border-radius:8px;padding:3px 10px;cursor:pointer;margin-left:4px}.sm-filter-clear-all:hover{background:#fee2e2}.sm-dot{display:inline-block;border-radius:50%;flex-shrink:0}.sm-loading,.sm-error{flex:1;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;color:var(--text-muted)}.sm-error-msg{font-size:14px;color:var(--error)}.sm-empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:48px 24px;color:var(--text-muted)}.sm-empty-icon{font-size:44px}.sm-empty-state h3{font-size:17px;font-weight:700;color:var(--text);margin:0}.sm-empty-state p{font-size:13px;text-align:center;max-width:340px;margin:0}.sm-empty-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:6px}.sm-empty-add-inline{margin-top:10px}.sm-matrix-modal{max-width:480px}.sm-matrix-modal-body{padding-top:10px!important}.sm-modal-name-group,.sm-modal-list-group{margin-bottom:10px}.sm-modal-list-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.sm-modal-clear-btn{background:none;border:none;font-size:11px;font-weight:600;color:var(--primary);cursor:pointer;padding:1px 6px;border-radius:4px;transition:background .12s;line-height:1.4}.sm-modal-clear-btn:hover{background:#eef2ff}.sm-modal-empty-note{font-size:12px;color:var(--text-muted);padding:6px 0;margin:0}.sm-matrix-item-list{display:flex;flex-direction:column;gap:2px;max-height:210px;overflow-y:auto;border:1px solid var(--border);border-radius:6px;padding:4px}.sm-matrix-item-row{display:flex;align-items:center;gap:7px;padding:4px 7px;border-radius:5px;cursor:pointer;color:var(--text);transition:background .1s}.sm-matrix-item-row:hover{background:var(--surface2)}.sm-matrix-item-row-checked{background:#e3f2fd}.sm-matrix-item-row input[type=checkbox]{accent-color:var(--primary);flex-shrink:0}.sm-modal-level-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;font-size:9px;font-weight:800;flex-shrink:0;line-height:1}.sm-matrix-item-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.sm-table-wrap{flex:1;overflow:auto;position:relative;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.18) transparent}.sm-table-wrap::-webkit-scrollbar{width:6px;height:6px}.sm-table-wrap::-webkit-scrollbar-track{background:transparent}.sm-table-wrap::-webkit-scrollbar-thumb{background:#0000002e;border-radius:3px}.sm-table-wrap::-webkit-scrollbar-thumb:hover{background:#00000052}.sm-table-wrap::-webkit-scrollbar-corner{background:transparent}.sm-table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;table-layout:fixed}.sm-th{background:#0d1f3c;color:#fff;padding:7px 10px;font-size:11px;font-weight:700;text-align:left;border-right:1px solid rgba(255,255,255,.08);position:sticky;top:0;z-index:20;white-space:nowrap;-webkit-user-select:none;user-select:none}.sm-th:last-child{border-right:none}.sm-th-sticky{left:0;z-index:30;min-width:240px;max-width:300px;background:#0d1f3c}.sm-th-stream{min-width:150px;max-width:180px;cursor:grab;transition:background .12s}.sm-th-stream:active{cursor:grabbing}.sm-th-drag-over{background:#1d4ed8!important}.sm-th-stream-inner{display:flex;align-items:center;gap:5px}.sm-th-stream-name{flex:1;overflow:hidden;text-overflow:ellipsis;font-size:11px}.sm-th-del-btn{background:none;border:none;color:#ffffff4d;font-size:10px;cursor:pointer;padding:1px 3px;border-radius:3px;line-height:1;transition:color .12s,background .12s;flex-shrink:0;opacity:0}.sm-th:hover .sm-th-del-btn,.sm-th-del-btn:focus{opacity:1}.sm-th-del-btn:hover{color:#ef9a9a;background:#ffffff1a}.sm-th-add{min-width:120px;background:#0d1f3c;z-index:20}.sm-add-stream-btn{background:#ffffff1a;border:1px dashed rgba(255,255,255,.3);color:#ffffffb3;border-radius:5px;padding:3px 8px;font-size:11px;cursor:pointer;transition:background .12s}.sm-add-stream-btn:hover{background:#ffffff2e;color:#fff}.sm-rename-input{background:#ffffff1f;border:1px solid rgba(255,255,255,.4);border-radius:4px;color:#fff;font-size:11px;padding:2px 6px;outline:none;width:100%;font-family:inherit}.sm-rename-input:focus{border-color:#60a5fa}.sm-row-header-label{font-size:9px;font-weight:700;color:#ffffff73;letter-spacing:.7px;text-transform:uppercase}.sm-td{border-bottom:1px solid var(--border);border-right:1px solid var(--border);vertical-align:top;padding:0;background:#fff}.sm-td:last-child{border-right:none}.sm-td-sticky{position:sticky;left:0;z-index:10;background:#fff;border-right:2px solid var(--border)}.sm-td-cell{cursor:pointer;min-height:54px;width:240px;min-width:200px;max-width:300px;overflow:hidden}.sm-td-cell:hover{background:#f0f7ff!important}.sm-td-cell:focus{outline:2px solid var(--primary);outline-offset:-2px}.sm-td-selected{outline:2px solid #3B82F6!important;outline-offset:-2px;background:#3b82f612!important;position:relative;z-index:1}.sm-td-selected:hover{background:#3b82f61f!important}.sm-td-empty-hover:hover .sm-cell-empty{opacity:1}.sm-td-dimmed{opacity:.35}.sm-popup-multi-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;color:var(--primary);background:#3b82f61a;border-radius:10px;padding:2px 8px}.sm-td-filler{background:var(--surface2);border-right:none;min-width:16px}.sm-td-empty{text-align:center;color:var(--text-muted);font-size:13px;padding:32px}.sm-row-level-0 .sm-td-sticky{background:#f3e5f5}.sm-row-level-1 .sm-td-sticky{background:#e3f2fd}.sm-row-level-2 .sm-td-sticky{background:#e8f5e9}.sm-row-level-3 .sm-td-sticky{background:#fafafa}.sm-row-level-0 .sm-td{background:#faf5fd}.sm-row-level-1 .sm-td{background:#fff}.sm-row-level-2 .sm-td{background:#f8fdf9}.sm-row-level-3 .sm-td{background:#fff}.sm-row-level-0 .sm-td-cell:hover{background:#efe2fa!important}.sm-row-level-1 .sm-td-cell:hover{background:#f0f7ff!important}.sm-row-level-2 .sm-td-cell:hover{background:#d9efd9!important}.sm-row-level-3 .sm-td-cell:hover{background:#f0f7ff!important}.sm-td-row-label{min-width:240px;max-width:300px}.sm-row-label{display:flex;align-items:flex-start;gap:4px;padding:5px;min-height:34px}.sm-chevron{background:none;border:none;color:var(--text-muted);font-size:11px;cursor:pointer;padding:0 1px;line-height:1.6;transition:transform .15s;flex-shrink:0}.sm-chevron-collapsed{transform:rotate(-90deg)}.sm-chevron-placeholder{display:inline-block;width:12px;flex-shrink:0}.sm-row-level-icon{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:50%;font-size:8px;font-weight:800;flex-shrink:0;margin-top:2px;line-height:1}.sm-row-task-name{font-size:12px;font-weight:600;color:var(--text);white-space:normal;word-break:break-word;line-height:1.35}.sm-row-label-main{display:flex;flex-direction:column;flex:1;min-width:0;gap:1px}.sm-row-label-head{display:flex;align-items:flex-start;gap:8px;min-width:0}.sm-row-label-head .sm-row-task-name{flex:1;min-width:0}.sm-feature-actions{display:flex;align-items:center;flex-shrink:0;position:relative}.sm-feature-menu-btn{border:1px solid var(--border);background:#fff;color:var(--text-muted);border-radius:12px;cursor:pointer;line-height:1;font-size:13px;font-weight:700;padding:3px 8px 5px}.sm-feature-menu-btn:hover{background:#f8fafc;color:var(--primary)}.sm-row-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:2px}.sm-meta-select{font-size:12px;padding:2px 16px 2px 4px;border:1px solid transparent;border-radius:4px;background-color:transparent;color:var(--text-muted);-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%2394a3b8'%3E%3Cpath fill-rule='evenodd' d='M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z' clip-rule='evenodd'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 2px center;background-size:10px;cursor:pointer;max-width:100px;line-height:1.3}.sm-meta-select:hover,.sm-meta-select:focus{background-color:#f1f5f9;border-color:#cbd5e1;outline:none}.sm-meta-select-filled{font-weight:600}.sm-meta-owner.sm-meta-select-filled{color:#4f46e5}.sm-meta-sprint.sm-meta-select-filled{color:#d97706}.sm-cell-empty{display:flex;align-items:center;justify-content:center;min-height:54px;font-size:17px;color:#cbd5e1;opacity:0;transition:opacity .12s}.sm-cell-content{padding:6px 8px;display:flex;flex-direction:column;gap:2px;min-height:54px;max-height:110px;overflow:hidden;width:100%;box-sizing:border-box}.sm-cell-top{display:flex;align-items:center;gap:4px;flex-wrap:nowrap;overflow:hidden;min-width:0}.sm-cell-status{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.3px}.sm-cell-owner{font-size:9px;color:var(--text-muted);margin-left:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60px;flex-shrink:1}.sm-cell-date{font-size:9px;color:var(--text-muted);white-space:nowrap;flex-shrink:0}.sm-cell-text{font-size:11px;color:var(--text);line-height:1.45;white-space:pre-wrap;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:100%;word-break:break-word}.sm-cell-ai-section{display:flex;flex-direction:column;gap:2px;margin-top:3px}.sm-cell-ai-divider{margin-top:4px;padding-top:4px;border-top:1px dashed var(--border)}.sm-cell-ai-row{display:flex;align-items:flex-start;gap:4px}.sm-cell-ai-dot{flex-shrink:0;width:5px;height:5px;border-radius:50%;margin-top:3px}.sm-cell-ai-dot-open{background:#94a3b8}.sm-cell-ai-dot-in-progress{background:#f59e0b}.sm-cell-ai-dot-complete{background:#22c55e}.sm-cell-ai-text{font-size:10px;color:var(--text-muted);line-height:1.35;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.sm-cell-ai-more{font-size:9px;color:var(--text-muted);font-style:italic;margin-top:1px}.sm-cell-rollup{padding:6px 8px;min-height:54px;display:flex;flex-direction:column;gap:3px;justify-content:center}.sm-dimmed{opacity:.35}.sm-rollup{display:flex;flex-direction:column;gap:3px}.sm-rollup-label{font-size:10px;font-weight:600;color:#4caf50}.sm-rollup-bar{display:flex;height:5px;border-radius:3px;overflow:hidden;background:var(--border);gap:1px}.sm-rollup-seg{height:100%;min-width:2px}.sm-tooltip{position:fixed;z-index:9000;background:#1e293b;color:#e2e8f0;border-radius:8px;padding:8px 12px;box-shadow:0 8px 24px #00000040;min-width:220px;max-width:340px;pointer-events:auto}.sm-tooltip-line{display:flex;flex-wrap:wrap;align-items:baseline;gap:5px;padding:4px 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:12px}.sm-tooltip-line:last-of-type{border-bottom:none}.sm-tooltip-date{font-size:10px;color:#94a3b8;flex-shrink:0;min-width:34px}.sm-tooltip-badge{display:inline-flex;align-items:center;gap:3px;font-size:9px;font-weight:700;padding:1px 5px;border-radius:9px;flex-shrink:0}.sm-tooltip-owner{font-size:9px;color:#94a3b8;flex-shrink:0}.sm-tooltip-text{font-size:11px;color:#cbd5e1;flex:1;min-width:100%;line-height:1.4}.sm-tooltip-more{background:none;border:none;color:#60a5fa;font-size:11px;cursor:pointer;padding:5px 0 2px;text-decoration:underline;display:block;text-align:left}.sm-tooltip-more:hover{color:#93c5fd}.sm-tooltip-ai-header{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#94a3b8;padding-top:4px;margin-top:2px;border-top:1px solid rgba(255,255,255,.08)}.sm-popup-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:10000;padding:16px}.sm-popup-box{background:var(--surface);border-radius:12px;box-shadow:0 20px 60px #0003;width:100%;max-width:540px;max-height:88vh;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border)}.sm-popup-head{display:flex;flex-direction:row;align-items:flex-start;gap:8px;padding:10px 12px 10px 16px;border-bottom:1px solid var(--border);flex-shrink:0;background:var(--surface2)}.sm-popup-head-left{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.sm-popup-breadcrumb{display:flex;align-items:center;gap:4px;font-size:10px;color:var(--text-muted);letter-spacing:.5px}.sm-popup-level{font-weight:700;text-transform:uppercase;color:var(--text-muted)}.sm-popup-arrow{color:var(--border)}.sm-popup-stream-name{font-weight:700;text-transform:uppercase;color:var(--primary)}.sm-popup-title{font-size:13px;font-weight:700;color:var(--text);line-height:1.35}.sm-popup-close{flex-shrink:0;background:none;border:none;color:var(--text-muted);font-size:15px;cursor:pointer;padding:2px 6px;border-radius:4px;line-height:1;transition:background .12s,color .12s;align-self:flex-start}.sm-popup-close:hover{background:#ef44441a;color:var(--error, #EF4444)}.sm-popup-history{flex:1;overflow-y:auto;padding:8px 14px;display:flex;flex-direction:column;gap:6px;min-height:60px;max-height:260px}.sm-popup-empty{text-align:center;color:var(--text-muted);font-size:12px;padding:16px 0}.sm-popup-entry{background:var(--surface2);border:1px solid var(--border);border-radius:7px;padding:7px 10px;display:flex;flex-direction:column;gap:4px}.sm-popup-entry-editing{border-color:var(--primary);background:#eef6ff}.sm-popup-entry-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.sm-popup-entry-date{font-size:11px;font-weight:600;color:var(--text-muted);min-width:36px}.sm-popup-entry-badge{display:inline-flex;align-items:center;gap:3px;font-size:9px;font-weight:700;padding:1px 6px;border-radius:10px;flex-shrink:0}.sm-popup-entry-owner{font-size:10px;color:var(--text-muted);flex-shrink:0}.sm-popup-entry-actions{display:flex;align-items:center;gap:2px;margin-left:auto}.sm-popup-entry-text{font-size:12px;color:var(--text);line-height:1.5;white-space:pre-wrap}.sm-popup-act{background:none;border:none;font-size:12px;color:var(--text-muted);cursor:pointer;padding:2px 5px;border-radius:4px;transition:background .12s,color .12s}.sm-popup-act:hover{background:var(--surface2);color:var(--primary)}.sm-popup-act-icon{font-size:14px;padding:2px 4px}.sm-popup-act-del:hover{color:var(--error)}.sm-popup-act-yes{color:var(--error);font-weight:700}.sm-popup-act-yes:hover{background:#ffebee}.sm-popup-confirm-label{font-size:11px;color:var(--error);font-weight:600}.sm-popup-form{border-top:1px solid var(--border);padding:0 14px 10px;display:flex;flex-direction:column;gap:6px;flex-shrink:0;background:var(--surface2)}.sm-popup-form-toggle{display:flex;align-items:center;gap:6px;background:none;border:none;cursor:pointer;padding:8px 0 4px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted);width:100%;text-align:left;transition:color .12s}.sm-popup-form-toggle:hover{color:var(--primary)}.sm-popup-form-toggle-icon{font-size:10px;display:inline-block;transition:transform .15s}.sm-popup-form-toggle-icon.open{transform:rotate(90deg)}.sm-popup-form-row{display:flex;gap:6px;flex-wrap:wrap}.sm-popup-form-group{display:flex;flex-direction:column;gap:2px;flex:1;min-width:90px}.sm-popup-form-label{font-size:8px;font-weight:700;color:var(--text-muted);letter-spacing:.5px;text-transform:uppercase}.sm-popup-date-input{min-width:110px}.sm-popup-select-sm{padding-top:4px!important;padding-bottom:4px!important;font-size:12px!important}.sm-popup-form input.form-control,.sm-popup-form select.form-control,.sm-popup-form .sm-owner-input{height:36px;font-size:12px!important;padding-top:6px!important;padding-bottom:6px!important}.sm-popup-textarea{resize:vertical;min-height:36px;max-height:120px;line-height:1.45;font-size:12px!important}@keyframes sm-blink{0%{background:#fef9c3}60%{background:#fef9c3}to{background:var(--surface)}}.sm-textarea-blink{animation:sm-blink .8s ease-out forwards}.sm-popup-form-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:2px}.sm-popup-shortcut{font-size:10px;color:var(--text-muted)}.sm-popup-form-btns{display:flex;gap:6px}.sm-owner-select{position:relative}.sm-owner-input-wrap{position:relative;display:flex;align-items:center}.sm-owner-input{padding-right:42px!important}.sm-owner-clear{position:absolute;right:22px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-muted);font-size:10px;cursor:pointer;padding:2px 4px;border-radius:3px;line-height:1}.sm-owner-clear:hover{color:var(--error)}.sm-owner-caret{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:9px;color:var(--text-muted);pointer-events:none}.sm-owner-dropdown{position:absolute;top:calc(100% + 2px);left:0;right:0;background:var(--surface);border:1px solid var(--border);border-radius:6px;z-index:300;box-shadow:0 6px 16px #0000001a;max-height:140px;overflow-y:auto}.sm-owner-option{padding:6px 10px;font-size:12px;color:var(--text);cursor:pointer;transition:background .1s}.sm-owner-option:hover,.sm-owner-option-active{background:#eef2ff;color:var(--primary)}.sm-add-stream-inline{display:flex;align-items:center;gap:5px}.sm-add-stream-input{width:130px;padding:3px 7px!important;font-size:11px!important;background:#ffffff1f!important;border-color:#ffffff4d!important;color:#fff!important}@media (max-width: 640px){.sm-popup-form-row{flex-direction:column}.sm-th-sticky,.sm-td-sticky{min-width:180px;max-width:230px}}.sm-input-error{border-color:var(--error, #EF4444)!important;box-shadow:0 0 0 2px #ef444426!important}.sm-modal-field-error{font-weight:400;font-size:11px;color:var(--error, #EF4444)}.sm-popup-tabs{display:flex;border-bottom:1px solid var(--border);background:var(--surface);padding:0 14px;gap:2px;flex-shrink:0}.sm-popup-tab{display:flex;align-items:center;gap:5px;background:none;border:none;border-bottom:2px solid transparent;padding:7px 10px 6px;font-size:11px;font-weight:600;color:var(--text-muted);cursor:pointer;transition:color .12s,border-color .12s;white-space:nowrap;margin-bottom:-1px}.sm-popup-tab:hover{color:var(--primary)}.sm-popup-tab-active{color:var(--primary);border-bottom-color:var(--primary)}.sm-popup-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:8px;font-size:9px;font-weight:700;background:var(--surface2);color:var(--text-muted)}.sm-popup-tab-active .sm-popup-tab-count{background:rgba(var(--primary-rgb, 59, 130, 246),.12);color:var(--primary)}.sm-ai-tab{display:flex;flex-direction:column;flex:1;overflow:hidden}.sm-ai-done{opacity:.55}.sm-ai-text-done{text-decoration:line-through;color:var(--text-muted)}.sm-ai-status-sel{border:1px solid var(--border);border-radius:6px;font-size:9px;font-weight:700;padding:1px 4px;height:22px;cursor:pointer;flex-shrink:0}.sm-ai-crit-badge{font-size:9px;font-weight:700;padding:1px 5px;border-radius:8px;flex-shrink:0}.sm-ai-due{font-size:9px;color:var(--text-muted);flex-shrink:0}.pnd-fab{position:fixed;bottom:28px;right:28px;z-index:200;display:flex;align-items:center;gap:6px;background:var(--primary);color:#fff;border:none;border-radius:28px;padding:10px 18px 10px 14px;font-size:14px;font-weight:600;cursor:pointer;box-shadow:0 4px 14px #0000002e;transition:background .15s,box-shadow .15s,transform .12s}.pnd-fab:hover{background:var(--primary-dark, #1D4ED8);box-shadow:0 6px 18px #00000038;transform:translateY(-1px)}.pnd-fab-label{font-size:13px;letter-spacing:.2px}.pnd-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:transparent}.pnd-drawer{position:fixed;top:0;right:0;bottom:0;z-index:310;width:680px;max-width:95vw;background:var(--surface);border-left:1px solid var(--border);display:flex;flex-direction:column;box-shadow:-6px 0 24px #0000001a;animation:pnd-slide-in .2s ease}@keyframes pnd-slide-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.pnd-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 12px;border-bottom:1px solid var(--border);background:var(--surface2);flex-shrink:0}.pnd-title{font-size:14px;font-weight:700;color:var(--text)}.pnd-close{background:none;border:none;font-size:15px;color:var(--text-muted);cursor:pointer;padding:2px 6px;border-radius:4px;transition:background .12s,color .12s}.pnd-close:hover{background:#ef44441a;color:#ef4444}.pnd-tabs{display:flex;border-bottom:1px solid var(--border);flex-shrink:0;background:var(--surface2)}.pnd-tab{flex:1;background:none;border:none;padding:8px 4px;font-size:11px;font-weight:600;color:var(--text-muted);cursor:pointer;border-bottom:2px solid transparent;transition:color .12s,border-color .12s;display:flex;align-items:center;justify-content:center;gap:4px}.pnd-tab:hover{color:var(--text)}.pnd-tab-active{color:var(--primary);border-bottom-color:var(--primary)}.pnd-tab-count{background:var(--primary);color:#fff;font-size:9px;padding:1px 5px;border-radius:8px;font-weight:700}.pnd-body{flex:1;overflow-y:auto;display:flex;flex-direction:column;min-height:0}.pnd-list{flex:1;overflow-y:auto;padding:8px 12px;display:flex;flex-direction:column;gap:6px}.pnd-empty{font-size:12px;color:var(--text-muted);text-align:center;padding:20px 0}.pnd-loading{font-size:12px;color:var(--text-muted);padding:12px;text-align:center}.pnd-note-card{background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:8px 11px;display:flex;flex-direction:column;gap:5px}.pnd-note-card-editing{border-color:var(--primary);background:#eef6ff}.pnd-note-meta{display:flex;align-items:center;gap:7px}.pnd-note-person{font-size:11px;font-weight:700;color:#4f46e5;background:#eef2ff;border-radius:10px;padding:1px 8px;flex-shrink:0}.pnd-note-date{font-size:10px;color:var(--text-muted);flex-shrink:0}.pnd-note-actions{display:flex;align-items:center;gap:2px;margin-left:auto}.pnd-note-text{font-size:12px;color:var(--text);line-height:1.5;white-space:pre-wrap}.sm-ai-item{background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:8px 10px;display:flex;flex-direction:column;gap:5px}.sm-ai-item.sm-ai-complete{opacity:.55}.sm-ai-item-top{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.sm-ai-status-select{border:1px solid var(--border);border-radius:6px;font-size:10px;font-weight:700;padding:1px 4px;height:22px;cursor:pointer;flex-shrink:0}.sm-ai-crit{font-size:9px;font-weight:700;padding:1px 5px;border-radius:8px;flex-shrink:0}.sm-ai-crit-low{background:#f0fdf4;color:#166534}.sm-ai-crit-medium{background:#fff7ed;color:#9a3412}.sm-ai-crit-high{background:#fef2f2;color:#991b1b}.sm-ai-crit-critical{background:#450a0a;color:#fca5a5}.sm-ai-owner{font-size:10px;color:var(--text-muted);flex-shrink:0}.sm-ai-actions{display:flex;align-items:center;gap:2px;margin-left:auto}.sm-ai-text{font-size:12px;color:var(--text);line-height:1.5;white-space:pre-wrap}.sm-feature-panel{position:fixed;width:420px;max-width:min(420px,calc(100vw - 24px));max-height:min(82vh,680px);background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 24px 60px #0f172a2e;z-index:9500;display:flex;flex-direction:column;overflow:hidden}.sm-feature-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:12px 14px 10px;border-bottom:1px solid var(--border);background:var(--surface2)}.sm-feature-panel-kicker{font-size:10px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--text-muted)}.sm-feature-panel-title{font-size:14px;font-weight:700;color:var(--text);line-height:1.35}.sm-feature-panel-close{background:none;border:none;color:var(--text-muted);font-size:15px;cursor:pointer;padding:2px 6px;border-radius:4px}.sm-feature-panel-close:hover{background:#ef44441a;color:#ef4444}.sm-feature-panel-tabs{display:flex;border-bottom:1px solid var(--border);background:var(--surface);padding:0 12px;gap:2px}.sm-feature-panel-tab{border:none;background:none;border-bottom:2px solid transparent;padding:8px 10px 7px;font-size:11px;font-weight:700;color:var(--text-muted);cursor:pointer}.sm-feature-panel-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.sm-feature-panel-body{flex:1;overflow-y:auto;display:flex;flex-direction:column;min-height:0}.sm-feature-panel-list,.sm-summary-list{flex:1;overflow-y:auto;padding:10px 12px;display:flex;flex-direction:column;gap:8px}.sm-feature-panel-empty{font-size:12px;color:var(--text-muted);text-align:center;padding:18px 0}.sm-feature-form{border-top:1px solid var(--border)}.sm-demo-card,.sm-summary-card{background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:9px 10px;display:flex;flex-direction:column;gap:5px}.sm-demo-card-editing{border-color:var(--primary);background:#eef6ff}.sm-demo-card-meta,.sm-summary-card-head{display:flex;align-items:center;gap:6px}.sm-demo-card-date,.sm-summary-meta{font-size:10px;color:var(--text-muted)}.sm-demo-card-status,.sm-summary-status{display:inline-flex;align-items:center;gap:4px;font-size:9px;font-weight:700;padding:2px 6px;border-radius:10px}.sm-demo-card-actions{display:flex;align-items:center;gap:2px;margin-left:auto}.sm-demo-card-title,.sm-summary-stream{font-size:12px;font-weight:700;color:var(--text)}.sm-demo-card-features,.sm-summary-empty{font-size:11px;color:var(--text-muted)}.sm-demo-card-items{display:flex;flex-direction:column;gap:4px}.sm-demo-card-item{display:flex;align-items:flex-start;gap:6px}.sm-demo-card-item-type{font-size:9px;font-weight:700;color:#7c3aed;background:#f3e8ff;border-radius:8px;padding:1px 5px;flex-shrink:0}.sm-demo-card-item-text,.sm-summary-text{font-size:12px;color:var(--text);line-height:1.45;white-space:pre-wrap}.sm-demo-feature-list{max-height:140px;overflow-y:auto;border:1px solid var(--border);border-radius:6px;padding:4px;display:flex;flex-direction:column;gap:4px}.sm-demo-feature-option{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text);padding:4px 6px;border-radius:5px}.sm-demo-feature-option.checked{background:#f8fafc}.sm-demo-feature-option.locked{color:var(--text-muted)}.sm-demo-items-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.sm-demo-edit-items{display:flex;flex-direction:column;gap:6px}.sm-demo-edit-row{display:flex;align-items:center;gap:6px}.sm-feedback-form-stack{display:flex;flex-direction:column;gap:8px;padding:0 12px 8px}.sm-feedback-textarea{width:100%;min-height:56px;resize:vertical;font-size:13px;line-height:1.55;font-family:inherit}.sm-demo-item-type{width:135px;flex-shrink:0}.sm-summary-meta{display:flex;align-items:center;gap:8px}.sm-demo-panel-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a2e;z-index:9400;display:flex;align-items:flex-start;justify-content:center;padding:24px}.sm-demo-panel{margin-top:44px;width:min(1100px,calc(100vw - 48px));max-height:calc(100vh - 88px);background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:0 24px 64px #0f172a38;display:flex;flex-direction:column;overflow:hidden}.sm-demo-panel-grid{display:grid;grid-template-columns:.95fr 1.25fr;min-height:0;flex:1}.sm-demo-panel-col{min-height:0;display:flex;flex-direction:column;border-right:1px solid var(--border)}.sm-demo-panel-col:last-child{border-right:none}.sm-demo-panel-col-wide{background:#fcfcfd}.sm-demo-panel-section-title{padding:12px 14px 10px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted);border-bottom:1px solid var(--border);background:var(--surface2)}.sm-demo-schedule-list,.sm-demo-feedback-list{flex:1;min-height:0;overflow-y:auto;padding:10px 12px;display:flex;flex-direction:column;gap:8px}.sm-demo-schedule-card,.sm-demo-feedback-card{background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:9px 10px;display:flex;flex-direction:column;gap:5px}.sm-demo-schedule-card{cursor:pointer}.sm-demo-schedule-card.active{border-color:var(--primary);background:#eef6ff}.sm-demo-selected-head{padding:12px 14px 0}.sm-demo-feedback-card{flex-direction:row;align-items:flex-start;justify-content:space-between;gap:10px}.sm-demo-feedback-card .sm-demo-card-actions{margin-left:0;flex-shrink:0}@media (max-width: 900px){.sm-demo-panel-grid{grid-template-columns:1fr}.sm-demo-panel-col{border-right:none;border-bottom:1px solid var(--border)}.sm-demo-panel-col:last-child{border-bottom:none}}.sm-feature-dropdown{position:fixed;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 6px 20px #0000001f;z-index:10000;min-width:160px;overflow:hidden}.sm-feature-dropdown-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;font-size:12px;font-weight:500;color:var(--text-main);background:transparent;border:none;cursor:pointer;text-align:left}.sm-feature-dropdown-item:hover{background:#f1f5f9}.sm-feature-dropdown-icon{font-size:14px;width:18px;text-align:center;flex-shrink:0}.sm-owner-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:1100}.sm-owner-popup{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0003;width:680px;max-width:calc(100vw - 32px);max-height:82vh;display:flex;flex-direction:column;overflow:hidden}.sm-owner-popup-head{display:flex;align-items:flex-start;justify-content:space-between;padding:20px 20px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.sm-owner-popup-kicker{font-size:10px;font-weight:700;letter-spacing:.08em;color:var(--text-muted);text-transform:uppercase;margin-bottom:4px}.sm-owner-popup-title{font-size:16px;font-weight:700;color:var(--text-main);line-height:1.3}.sm-owner-popup-close{border:none;background:transparent;font-size:18px;color:var(--text-muted);cursor:pointer;line-height:1;padding:2px 6px;border-radius:6px;flex-shrink:0}.sm-owner-popup-close:hover{background:#f1f5f9;color:var(--text-main)}.sm-owner-popup-body{flex:1;overflow-y:auto;padding:12px 16px 16px;display:flex;flex-direction:column;gap:8px}.sm-owner-stream-card{border:1px solid var(--border);border-radius:8px;overflow:hidden}.sm-owner-stream-row{display:flex;align-items:center;gap:12px;padding:10px 14px;background:#f8fafc;flex-wrap:wrap}.sm-owner-stream-name{font-size:12px;font-weight:700;color:var(--text-main);min-width:120px;flex:1}.sm-owner-stream-current{flex:1;min-width:0}.sm-owner-badge{display:inline-flex;align-items:center;background:#eff6ff;color:#1d4ed8;border:1px solid #BFDBFE;border-radius:12px;font-size:11px;font-weight:600;padding:2px 10px}.sm-owner-unassigned{font-size:11px;color:var(--text-muted);font-style:italic}.sm-owner-stream-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.sm-owner-hist-btn{font-size:11px;border:1px solid var(--border);background:#fff;color:var(--text-muted);border-radius:6px;padding:2px 8px;cursor:pointer}.sm-owner-hist-btn:hover{background:#f1f5f9}.sm-owner-add-btn{font-size:11px;font-weight:600;border:1px solid #93C5FD;background:#eff6ff;color:#1d4ed8;border-radius:6px;padding:2px 10px;cursor:pointer}.sm-owner-add-btn:hover{background:#dbeafe}.sm-owner-form{padding:12px 14px;background:#fafbfc;border-top:1px solid var(--border)}.sm-owner-form-row{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:10px}.sm-owner-form-group{display:flex;flex-direction:column;gap:4px;flex:1;min-width:140px}.sm-owner-form-label{font-size:10px;font-weight:700;letter-spacing:.06em;color:var(--text-muted);text-transform:uppercase}.sm-owner-form-select,.sm-owner-form-input{font-size:12px;border:1px solid var(--border);border-radius:6px;padding:5px 8px;background:#fff;color:var(--text-main);outline:none}.sm-owner-form-select:focus,.sm-owner-form-input:focus{border-color:#93c5fd}.sm-owner-form-btns{display:flex;gap:8px}.sm-owner-form-save{font-size:12px;font-weight:600;background:var(--primary);color:#fff;border:none;border-radius:6px;padding:5px 16px;cursor:pointer}.sm-owner-form-save:hover:not(:disabled){background:#1d4ed8}.sm-owner-form-save:disabled{opacity:.6;cursor:not-allowed}.sm-owner-form-cancel{font-size:12px;border:1px solid var(--border);background:#fff;color:var(--text-muted);border-radius:6px;padding:5px 12px;cursor:pointer}.sm-owner-form-cancel:hover{background:#f1f5f9}.sm-owner-history{border-top:1px solid var(--border);padding:10px 14px;display:flex;flex-direction:column;gap:0;background:#fff}.sm-owner-hist-entry{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px dashed #E2E8F0}.sm-owner-hist-entry:last-child{border-bottom:none}.sm-owner-hist-dot{width:8px;height:8px;border-radius:50%;background:#93c5fd;flex-shrink:0}.sm-owner-hist-entry:first-child .sm-owner-hist-dot{background:#2563eb}.sm-owner-hist-content{flex:1;display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap}.sm-owner-hist-name{font-size:12px;font-weight:600;color:var(--text-main)}.sm-owner-hist-date{font-size:11px;color:var(--text-muted)}.sm-owner-hist-current-tag{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;background:#d1fae5;color:#065f46;border-radius:8px;padding:1px 7px}.sm-owner-hist-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.sm-owner-hist-edit,.sm-owner-hist-del{border:none;background:transparent;cursor:pointer;font-size:13px;padding:2px 4px;border-radius:4px;color:var(--text-muted)}.sm-owner-hist-edit:hover{background:#f1f5f9;color:var(--primary)}.sm-owner-hist-del:hover{background:#fef2f2}.sm-owner-hist-confirm{font-size:11px;color:#c62828;white-space:nowrap}.sm-owner-hist-yes,.sm-owner-hist-no{background:none;border:none;font-size:11px;font-weight:700;cursor:pointer;padding:0 2px;text-decoration:underline}.sm-owner-hist-yes{color:#c62828}.sm-owner-hist-no{color:var(--text-muted)}.sm-row-hovered .sm-td{background:#eff6ff!important}.sm-row-hovered .sm-td-sticky{background:#dbeafe!important}.sm-row-hovered .sm-td-cell{filter:brightness(.97)}.sm-row-level-0 .sm-td-sticky{border-left:3px solid #9C27B0}.sm-row-level-1 .sm-td-sticky{border-left:3px solid #1976D2;background:#ebf4ff}.sm-row-level-2 .sm-td-sticky{border-left:3px solid #388E3C}.sm-row-level-3 .sm-td-sticky{border-left:2px solid #CFD8DC}.sm-row-hovered.sm-row-level-1 .sm-td-sticky{background:#dbeafe!important;border-left-color:#1565c0}.sm-member-panel{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0003;width:700px;max-width:calc(100vw - 32px);max-height:85vh;display:flex;flex-direction:column;overflow:hidden}.sm-member-panel-head{padding:20px 20px 0;border-bottom:1px solid var(--border);flex-shrink:0}.sm-member-panel-title-row{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:14px}.sm-member-picker-row{display:flex;align-items:center;gap:10px;padding-bottom:14px;flex-wrap:wrap}.sm-member-picker-label{font-size:10px;font-weight:700;letter-spacing:.07em;color:var(--text-muted);text-transform:uppercase;white-space:nowrap}.sm-member-picker-select{font-size:13px;font-weight:600;border:1px solid var(--border);border-radius:8px;padding:6px 12px;background:#f8fafc;color:var(--text-main);cursor:pointer;outline:none;min-width:200px}.sm-member-picker-select:focus{border-color:#93c5fd;background:#fff}.sm-member-count{font-size:11px;color:var(--text-muted);background:#f1f5f9;border-radius:10px;padding:2px 10px}.sm-member-panel-body{flex:1;overflow-y:auto;padding:12px 20px 8px;display:flex;flex-direction:column;gap:6px}.sm-member-empty{padding:40px 20px;text-align:center;color:var(--text-muted);font-size:13px}.sm-member-entry{display:flex;gap:14px;align-items:flex-start;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:#fafbfc}.sm-member-entry:hover{background:#f1f5f9}.sm-member-entry-date{font-size:11px;font-weight:700;color:var(--text-muted);white-space:nowrap;min-width:52px;padding-top:2px}.sm-member-entry-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.sm-member-entry-feature{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.sm-member-feat-name{font-size:13px;font-weight:600;color:var(--text-main)}.sm-member-item-name{font-size:11px;color:var(--text-muted)}.sm-member-entry-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.sm-member-stream{font-size:11px;font-weight:600;color:#475569;background:#e2e8f0;border-radius:6px;padding:1px 8px}.sm-member-status{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;border-radius:10px;padding:2px 8px}.sm-member-entry-text{font-size:11px;color:#64748b;margin-top:2px;line-height:1.4}.sm-member-pagination{display:flex;align-items:center;justify-content:center;gap:16px;padding:12px 20px;border-top:1px solid var(--border);flex-shrink:0}.sm-member-page-btn{font-size:12px;font-weight:600;border:1px solid var(--border);background:#fff;color:var(--text-main);border-radius:6px;padding:5px 14px;cursor:pointer}.sm-member-page-btn:hover:not(:disabled){background:#f1f5f9}.sm-member-page-btn:disabled{opacity:.4;cursor:not-allowed}.sm-member-page-info{font-size:12px;color:var(--text-muted)}.sm-fstatus-popup{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0003;width:520px;max-width:calc(100vw - 32px);display:flex;flex-direction:column;overflow:hidden}.sm-fstatus-head{display:flex;align-items:flex-start;justify-content:space-between;padding:18px 20px 14px;border-bottom:1px solid var(--border)}.sm-fstatus-body{padding:18px 20px}.sm-fstatus-form-row{display:flex;gap:14px}.sm-fstatus-textarea{width:100%;border:1px solid var(--border);border-radius:8px;padding:8px 10px;font-size:13px;font-family:inherit;color:var(--text-main);resize:vertical;outline:none;background:#fafbfc;box-sizing:border-box}.sm-fstatus-textarea:focus{border-color:#93c5fd;background:#fff}.sm-fstatus-footer{display:flex;align-items:center;gap:10px;padding:14px 20px;border-top:1px solid var(--border);background:#f8fafc}.sm-fstatus-clear{font-size:12px;font-weight:600;color:#dc2626;background:#fef2f2;border:1px solid #FECACA;border-radius:6px;padding:5px 12px;cursor:pointer}.sm-fstatus-clear:hover{background:#fee2e2}.sm-row-feat-status-blocked td.sm-td{background:#fff5f5!important}.sm-row-feat-status-deferred td.sm-td{background:#f0f4f8!important}.sm-row-feat-status-complete td.sm-td{background:#f0fdf4!important}.sm-feat-badge-row{display:flex;align-items:center;gap:6px;margin-top:3px;flex-wrap:wrap}.sm-feat-status-badge{display:inline-flex;align-items:center;font-size:10px;font-weight:700;border-radius:10px;padding:2px 8px;cursor:pointer;letter-spacing:.03em;text-transform:uppercase;gap:3px}.sm-feat-status-badge:hover{filter:brightness(.95)}.sm-feat-demo-badge{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:600;color:#6d28d9;background:#ede9fe;border-radius:10px;padding:2px 8px;cursor:pointer}.sm-feat-demo-badge:hover{background:#ddd6fe}.sm-feat-demo-count{font-size:9px;font-weight:700;background:#6d28d9;color:#fff;border-radius:8px;padding:0 5px;margin-left:2px}.sm-fdemo-popup{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0003;width:620px;max-width:calc(100vw - 32px);max-height:85vh;display:flex;flex-direction:column;overflow:hidden}.sm-fdemo-head{display:flex;align-items:flex-start;justify-content:space-between;padding:18px 20px 14px;border-bottom:1px solid var(--border);flex-shrink:0}.sm-fdemo-body{flex:1;overflow-y:auto;padding:14px 20px;display:flex;flex-direction:column;gap:12px}.sm-fdemo-form{border:1px solid var(--border);border-radius:10px;padding:14px;background:#fafbfc}.sm-fdemo-fb-section{margin-top:12px}.sm-fdemo-fb-add{display:flex;gap:8px;align-items:center;margin-top:6px}.sm-fdemo-fb-item{display:flex;align-items:center;gap:8px;padding:5px 8px;border:1px solid var(--border);border-radius:6px;background:#fff;margin-bottom:4px}.sm-fdemo-fb-item-ro{background:#f8fafc}.sm-fdemo-fb-type{font-size:10px;font-weight:700;color:#6d28d9;background:#ede9fe;border-radius:6px;padding:1px 7px;white-space:nowrap;flex-shrink:0}.sm-fdemo-fb-text{font-size:12px;color:var(--text-main);flex:1;min-width:0}.sm-fdemo-fb-list{margin-top:6px;display:flex;flex-direction:column;gap:4px}.sm-fdemo-entry{border:1px solid var(--border);border-radius:10px;padding:12px 14px;background:#fafbfc}.sm-fdemo-entry-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.sm-fdemo-entry-date{font-size:13px;font-weight:700;color:#6d28d9}.sm-fdemo-entry-notes{font-size:12px;color:#475569;margin-bottom:6px;line-height:1.5}.sm-feature-dropdown-divider{height:1px;background:var(--border);margin:3px 0}.sm-group-toggle-btn{border:1px solid var(--border);background:#f8fafc;color:var(--text-muted);border-radius:8px;padding:4px 10px;font-size:11px;font-weight:600;cursor:pointer;transition:background .12s,border-color .12s,color .12s}.sm-group-toggle-btn:hover{background:#eff6ff;border-color:#93c5fd;color:var(--primary)}.sm-group-toggle-btn-active{background:#eff6ff;border-color:#3b82f6;color:#1d4ed8}.sm-group-header-row{position:sticky;top:0;z-index:8}.sm-group-header-row:not(:first-child){margin-top:4px}.sm-group-header-cell{padding:5px 8px 5px 12px!important;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;display:flex!important;align-items:center;gap:7px;cursor:default;position:sticky;left:0;z-index:9}.sm-group-header-data-cell{border:none!important;opacity:.55}.sm-group-header-chevron{background:none;border:none;cursor:pointer;font-size:12px;padding:0;line-height:1;color:inherit;flex-shrink:0}.sm-group-header-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.sm-group-header-label{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.sm-group-header-count{font-size:10px;font-weight:700;background:#0000001a;border-radius:8px;padding:1px 7px;margin-left:2px}.sm-status-entry-panel{background:#fff;border-radius:12px;box-shadow:0 20px 60px #00000038;width:min(900px,calc(100vw - 32px));max-height:88vh;display:flex;flex-direction:column;overflow:hidden}.sm-status-entry-head{display:flex;align-items:flex-start;justify-content:space-between;padding:16px 20px 12px;border-bottom:1px solid var(--border);flex-shrink:0}.sm-status-entry-head-right{display:flex;align-items:center;gap:14px}.sm-status-entry-date-group{display:flex;align-items:center;gap:8px}.sm-status-entry-date{font-size:13px;font-weight:600;padding:5px 10px;min-width:140px}.sm-status-entry-body{flex:1;overflow-y:auto;padding:0}.sm-status-entry-table{width:100%;border-collapse:collapse;table-layout:fixed}.sm-se-th{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);background:#f8fafc;padding:8px 12px;text-align:left;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:2}.sm-se-th-stream{width:22%}.sm-se-th-owner{width:18%}.sm-se-th-status{width:16%}.sm-se-th-text{width:44%}.sm-se-row{border-bottom:1px solid var(--border);transition:background .1s}.sm-se-row:hover{background:#f8fafc}.sm-se-row-dirty{background:#fffef0}.sm-se-row-dirty:hover{background:#fefce8}.sm-se-td{padding:8px 12px;vertical-align:top}.sm-se-stream-name{font-size:13px;font-weight:600;color:var(--text-main);display:block;padding-top:6px}.sm-se-select{width:100%;font-size:12px;border:1px solid var(--border);border-radius:6px;padding:5px 8px;background:#f8fafc;color:var(--text-main);outline:none;cursor:pointer}.sm-se-select:focus{border-color:#93c5fd;background:#fff}.sm-se-status-in-progress{border-color:#93c5fd;color:#1d4ed8;background:#eff6ff}.sm-se-status-complete{border-color:#6ee7b7;color:#065f46;background:#ecfdf5}.sm-se-status-blocked{border-color:#fca5a5;color:#991b1b;background:#fef2f2}.sm-se-status-delayed{border-color:#fcd34d;color:#92400e;background:#fffbeb}.sm-se-status-deferred{border-color:#b0bec5;color:#37474f;background:#eceff1}.sm-se-status-not-started{border-color:#cbd5e1;color:#475569;background:#f8fafc}.sm-se-status-not-applicable{border-color:#d6b9ae;color:#4e342e;background:#efebe9}.sm-se-textarea{width:100%;box-sizing:border-box;font-size:12px;font-family:inherit;border:1px solid var(--border);border-radius:6px;padding:6px 8px;background:#fafbfc;color:var(--text-main);resize:vertical;outline:none;min-height:54px}.sm-se-textarea:focus{border-color:#93c5fd;background:#fff}.sm-status-entry-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 20px;border-top:1px solid var(--border);background:#f8fafc;flex-shrink:0}.sm-status-entry-hint{font-size:11px;color:var(--text-muted)}.sm-status-entry-footer-btns{display:flex;gap:8px;align-items:center}.sm-feature-dropdown-item-highlight{color:#1d4ed8!important;font-weight:700}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--primary: #1565C0;--primary-light: #1976D2;--primary-dark: #0D47A1;--accent: #00BCD4;--success: #4CAF50;--warning: #FF9800;--error: #F44336;--info: #2196F3;--surface: #FFFFFF;--surface2: #F5F7FA;--border: #E0E0E0;--text: #212121;--text-muted: #757575;--sidebar-width: 220px;--header-height: 52px}html,body,#root{height:100%;width:100%;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;color:var(--text);background:var(--surface2);overflow:hidden}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit;font-size:14px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#bdbdbd;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#9e9e9e}.flex{display:flex}.flex-1{flex:1}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:4px}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.w-full{width:100%}.h-full{height:100%}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.relative{position:relative}.absolute{position:absolute}.inset-0{top:0;right:0;bottom:0;left:0}.rounded{border-radius:6px}.rounded-lg{border-radius:10px}.shadow{box-shadow:0 2px 8px #0000001a}.shadow-lg{box-shadow:0 4px 20px #00000026}.p-2{padding:8px}.p-3{padding:12px}.p-4{padding:16px}.p-6{padding:24px}.px-3{padding-left:12px;padding-right:12px}.px-4{padding-left:16px;padding-right:16px}.py-2{padding-top:8px;padding-bottom:8px}.mb-2{margin-bottom:8px}.mb-4{margin-bottom:16px}.mt-2{margin-top:8px}.mt-4{margin-top:16px}.text-sm{font-size:12px}.text-base{font-size:14px}.text-lg{font-size:16px}.text-xl{font-size:20px}.text-2xl{font-size:24px}.font-bold{font-weight:700}.font-semibold{font-weight:600}.font-medium{font-weight:500}.text-muted{color:var(--text-muted)}.text-white{color:#fff}.text-primary{color:var(--primary)}.bg-white{background:#fff}.bg-surface2{background:var(--surface2)}.border{border:1px solid var(--border)}.border-b{border-bottom:1px solid var(--border)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:6px;border:none;font-size:13px;font-weight:500;transition:background .15s,transform .1s;white-space:nowrap}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-secondary{background:#eef2ff;color:var(--primary)}.btn-secondary:hover{background:#dbeafe}.btn-danger{background:var(--error);color:#fff}.btn-danger:hover{background:#c62828}.btn-success{background:var(--success);color:#fff}.btn-success:hover{background:#2e7d32}.btn-ghost{background:transparent;color:var(--text-muted);border:1px solid var(--border)}.btn-ghost:hover{background:var(--surface2)}.btn-sm{padding:5px 10px;font-size:12px}.btn-icon{padding:6px;border-radius:6px;background:transparent;border:none;color:var(--text-muted)}.btn-icon:hover{background:var(--surface2);color:var(--primary)}.form-group{display:flex;flex-direction:column;gap:4px;margin-bottom:14px}.form-label{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.form-control{padding:9px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;color:var(--text);background:#fff;transition:border-color .15s;outline:none;width:100%}.form-control:focus{border-color:var(--primary);box-shadow:0 0 0 3px #1565c01f}textarea.form-control{resize:vertical;min-height:100px}.card{background:#fff;border-radius:10px;border:1px solid var(--border);padding:20px;box-shadow:0 1px 4px #0000000f}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600}.badge-success{background:#e8f5e9;color:#2e7d32}.badge-warning{background:#fff3e0;color:#e65100}.badge-error{background:#ffebee;color:#c62828}.badge-info{background:#e3f2fd;color:#1565c0}.badge-muted{background:#f5f5f5;color:#616161}.data-table{width:100%;border-collapse:collapse}.data-table th{background:var(--primary);color:#fff;padding:10px 12px;font-size:12px;font-weight:600;text-align:left;position:sticky;top:0;z-index:1}.data-table td{padding:9px 12px;font-size:13px;border-bottom:1px solid var(--border);vertical-align:middle}.data-table tr:hover td{background:#f5f7fa}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}.modal{background:#fff;border-radius:12px;padding:24px;width:100%;max-width:520px;box-shadow:0 20px 60px #00000040;max-height:90vh;overflow-y:auto}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid var(--border)}.modal-title{font-size:18px;font-weight:700;color:var(--text)}.status-chip{display:inline-flex;align-items:center;padding:3px 10px;border-radius:12px;font-size:11px;font-weight:600}.status-not-started{background:#f5f5f5;color:#616161}.status-in-progress{background:#e3f2fd;color:#1565c0}.status-completed{background:#e8f5e9;color:#2e7d32}.status-delayed{background:#ffebee;color:#c62828}.status-on-hold{background:#fff3e0;color:#e65100}.page-container{display:flex;flex-direction:column;height:100%;overflow:hidden}.page-header{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-bottom:1px solid var(--border);background:#fff;min-height:56px;flex-shrink:0}.page-title{font-size:18px;font-weight:700;color:var(--text)}.page-body{flex:1;overflow:auto;padding:20px}.spinner{width:36px;height:36px;border:3px solid #E0E0E0;border-top-color:var(--primary);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--text-muted);gap:12px}.empty-state svg{opacity:.3}.empty-state h3{font-size:16px;font-weight:600;color:var(--text)}.empty-state p{font-size:13px;text-align:center;max-width:300px}.rdg{height:100%!important}.rdg-cell{padding:0 8px!important;font-size:13px!important}.rdg-header-row{background:var(--primary)!important;color:#fff!important}.rdg-header-row .rdg-cell{color:#fff!important;font-weight:600!important}.roles-list{display:flex;flex-direction:column;gap:6px}.role-row{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface2);transition:background .15s}.role-row:hover{background:#eef2ff}.role-chip{display:flex;align-items:center;gap:8px}.role-icon{font-size:14px}.role-name{font-weight:500;font-size:13px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.modal-box{background:var(--surface);border-radius:12px;box-shadow:0 20px 60px #00000040;width:100%;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px 14px;border-bottom:1px solid var(--border)}.modal-title{font-size:16px;font-weight:700;color:var(--text);margin:0}.modal-close{background:none;border:none;font-size:18px;color:var(--text-muted);cursor:pointer;padding:4px 8px;border-radius:4px;line-height:1;transition:background .15s}.modal-close:hover{background:var(--surface2);color:var(--text)}.modal-body{padding:20px 24px;overflow-y:auto;flex:1}.modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:14px 24px 18px;border-top:1px solid var(--border);flex-shrink:0}.drop-zone{border:2px dashed var(--border);border-radius:10px;padding:40px 24px;text-align:center;cursor:pointer;transition:border-color .2s,background .2s;background:var(--surface2);margin-bottom:16px;-webkit-user-select:none;user-select:none}.drop-zone:hover,.drop-zone--active{border-color:var(--primary);background:#e3f2fd33}.drop-zone-icon{font-size:40px;margin-bottom:10px}.drop-zone-text{font-size:15px;color:var(--text);margin-bottom:4px}.drop-zone-sub{font-size:12px;color:var(--text-muted)}.drop-zone-spinner{display:flex;justify-content:center;padding:16px 0}.import-tip-box{background:#fff9c4;border:1px solid #F9A825;border-radius:8px;padding:12px 16px}.import-tip-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;font-size:13px;font-weight:600}.import-tip-list{margin:0;padding-left:18px;font-size:12px;color:#5d4037;line-height:1.7}.mapping-table{width:100%;border-collapse:collapse;font-size:13px;margin-bottom:4px}.mapping-table th{background:var(--surface2);padding:8px 10px;text-align:left;font-weight:600;border-bottom:2px solid var(--border);font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.mapping-table td{padding:7px 10px;border-bottom:1px solid var(--border);vertical-align:middle}.mapping-row--warn td{background:#fff3e0}.mapping-label{font-weight:500;margin-right:6px}.mapping-select{width:100%;padding:5px 8px;border:1px solid var(--border);border-radius:5px;font-size:13px;background:var(--surface);color:var(--text);outline:none}.mapping-select:focus{border-color:var(--primary)}.badge{display:inline-block;padding:2px 7px;border-radius:10px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.4px}.badge-req{background:#ffebee;color:#c62828}.badge-ok{background:#e8f5e9;color:#2e7d32}.badge-err{background:#ffebee;color:#c62828}.badge-skip{background:#f5f5f5;color:#9e9e9e}.import-summary{text-align:center;padding:20px 0 16px}.import-summary-count{font-size:48px;font-weight:800;color:var(--primary);line-height:1}.import-summary-label{font-size:14px;color:var(--text-muted);margin-top:4px}.import-breakdown{border:1px solid var(--border);border-radius:8px;overflow:hidden;margin-bottom:16px}.import-breakdown-row{display:flex;align-items:center;justify-content:space-between;padding:9px 14px;font-size:13px;border-bottom:1px solid var(--border)}.import-breakdown-row:last-child{border-bottom:none}.import-warnings,.import-errors{border-radius:8px;padding:10px 14px;margin-bottom:12px;font-size:12px}.import-warnings{background:#fff9c4;border:1px solid #F9A825;color:#5d4037}.import-errors{background:#ffebee;border:1px solid #EF9A9A;color:#b71c1c}.import-warnings ul,.import-errors ul{margin:6px 0 0 16px;padding:0;line-height:1.8}.confirm-dialog{max-width:440px}.btn-danger{background:#f44336;color:#fff;border:none;transition:background .15s}.btn-danger:hover{background:#d32f2f}.btn-danger:disabled{background:#ffcdd2;cursor:not-allowed}.export-modal{max-width:520px}.export-modal-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.export-modal-intro-text{font-size:13px;color:var(--text-muted)}.export-sheet-list{display:flex;flex-direction:column;gap:4px;margin-bottom:14px}.export-sheet-option{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1.5px solid var(--border);border-radius:10px;background:var(--surface2);cursor:pointer;transition:border-color .15s,background .15s;-webkit-user-select:none;user-select:none}.export-sheet-option:hover{border-color:#93c5fd;background:#eff6ff}.export-sheet-option.is-selected{border-color:var(--primary);background:#e3f2fd}.export-sheet-checkbox{width:16px;height:16px;accent-color:var(--primary);flex-shrink:0}.export-sheet-copy{flex:1;min-width:0}.export-sheet-title{font-size:13px;font-weight:700;color:var(--text);line-height:1.3}.export-sheet-meta{font-size:11px;color:var(--text-muted);margin-top:2px}.export-sheet-tick{font-size:13px;font-weight:700;color:var(--primary);opacity:0;transition:opacity .15s}.export-sheet-tick.is-visible{opacity:1}.export-modal-count{font-size:12px;color:var(--text-muted);text-align:center;margin-bottom:4px}.export-sheet-option-collapsible{align-items:stretch;flex-direction:column;gap:10px}.export-sheet-option-extended{cursor:default}.export-sheet-option-main{display:flex;align-items:center;gap:12px}.export-sheet-expand-btn{width:24px;height:24px;border:1px solid #BFDBFE;border-radius:999px;background:#fff;color:var(--primary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.export-sheet-expand-btn:hover{background:#eff6ff}.export-sheet-nested-options{display:flex;flex-direction:column;gap:8px;padding-left:28px}.export-sheet-nested-option{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;border:1px solid #BFDBFE;border-radius:8px;background:#ffffffb8}.export-sheet-radio{margin-top:2px;accent-color:var(--primary)}.export-sheet-nested-title{font-size:12px;font-weight:700;color:var(--text)}.export-sheet-nested-meta{font-size:11px;color:var(--text-muted);margin-top:2px}.import-overwrite-warning{border:1.5px solid #FFA726;border-radius:12px;background:#fff8e1;padding:20px;margin-bottom:4px;text-align:center}.import-overwrite-icon{font-size:36px;margin-bottom:10px}.import-overwrite-heading{font-size:16px;font-weight:800;color:#e65100;margin-bottom:8px}.import-overwrite-body{font-size:13px;color:var(--text);margin-bottom:12px}.import-overwrite-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:6px;text-align:left;max-width:320px;margin:0 auto 12px}.import-overwrite-list-item{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--text);padding:6px 10px;background:#ffffffb3;border-radius:8px;border:1px solid rgba(255,167,38,.35)}.import-overwrite-badge{font-size:10px;font-weight:800;color:#e65100;background:#ffe0b2;border-radius:50%;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.import-overwrite-note{font-size:11px;color:#8d6e63;font-style:italic}@layer rdg{@layer Defaults,FocusSink,CheckboxInput,CheckboxIcon,CheckboxLabel,Cell,HeaderCell,SummaryCell,EditCell,Row,HeaderRow,SummaryRow,GroupedRow,Root;}@layer rdg.MeasuringCell{.mlln6zg7-0-0-beta-47{contain:strict;grid-row:1;visibility:hidden}}@layer rdg.Cell{.cj343x07-0-0-beta-47{position:relative;padding-block:0;padding-inline:8px;border-inline-end:1px solid var(--rdg-border-color);border-block-end:1px solid var(--rdg-border-color);grid-row-start:var(--rdg-grid-row-start);align-content:center;background-color:inherit;white-space:nowrap;overflow:clip;text-overflow:ellipsis;outline:none}.cj343x07-0-0-beta-47[aria-selected=true]{outline:2px solid var(--rdg-selection-color);outline-offset:-2px}}@layer rdg.Cell{.csofj7r7-0-0-beta-47{position:sticky;z-index:1}.csofj7r7-0-0-beta-47:nth-last-child(1 of.csofj7r7-0-0-beta-47){box-shadow:var(--rdg-cell-frozen-box-shadow)}}@layer rdg.CheckboxInput{.c1bn88vv7-0-0-beta-47{display:block;margin:auto;inline-size:20px;block-size:20px}.c1bn88vv7-0-0-beta-47:focus-visible{outline:2px solid var(--rdg-checkbox-focus-color);outline-offset:-3px}.c1bn88vv7-0-0-beta-47:enabled{cursor:pointer}}@layer rdg.GroupCellContent{.g1s9ylgp7-0-0-beta-47{outline:none}}@layer rdg.GroupCellCaret{.cz54e4y7-0-0-beta-47{margin-inline-start:4px;stroke:currentColor;stroke-width:1.5px;fill:transparent;vertical-align:middle}.cz54e4y7-0-0-beta-47>path{transition:d .1s}}@layer rdg.DragHandle{.c1w9bbhr7-0-0-beta-47{--rdg-drag-handle-size: 8px;z-index:0;cursor:move;inline-size:var(--rdg-drag-handle-size);block-size:var(--rdg-drag-handle-size);background-color:var(--rdg-selection-color);place-self:end}.c1w9bbhr7-0-0-beta-47:hover{--rdg-drag-handle-size: 16px;border:2px solid var(--rdg-selection-color);background-color:var(--rdg-background-color)}}@layer rdg.DragHandle{.c1creorc7-0-0-beta-47{z-index:1;position:sticky}}@layer rdg.EditCell{.cis5rrm7-0-0-beta-47{padding:0}}@layer rdg.SortableHeaderCell{.h44jtk67-0-0-beta-47{display:flex}}@layer rdg.SortableHeaderCellName{.hcgkhxz7-0-0-beta-47{flex-grow:1;overflow:clip;text-overflow:ellipsis}}@layer rdg.HeaderCell{.c6l2wv17-0-0-beta-47{cursor:pointer}}@layer rdg.HeaderCell{.c1kqdw7y7-0-0-beta-47{touch-action:none}}@layer rdg.HeaderCell{.r1y6ywlx7-0-0-beta-47{cursor:col-resize;position:absolute;inset-block-start:0;inset-inline-end:0;inset-block-end:0;inline-size:10px}}.c1bezg5o7-0-0-beta-47{opacity:.5}.c1vc96037-0-0-beta-47{background-color:var(--rdg-header-draggable-background-color)}@layer rdg.Row{.r1upfr807-0-0-beta-47{display:contents;background-color:var(--rdg-background-color)}.r1upfr807-0-0-beta-47:hover{background-color:var(--rdg-row-hover-background-color)}.r1upfr807-0-0-beta-47[aria-selected=true]{background-color:var(--rdg-row-selected-background-color)}.r1upfr807-0-0-beta-47[aria-selected=true]:hover{background-color:var(--rdg-row-selected-hover-background-color)}}@layer rdg.FocusSink{.r190mhd37-0-0-beta-47{outline:2px solid var(--rdg-selection-color);outline-offset:-2px}}@layer rdg.FocusSink{.r139qu9m7-0-0-beta-47:before{content:"";display:inline-block;block-size:100%;position:sticky;inset-inline-start:0;border-inline-start:2px solid var(--rdg-selection-color)}}@layer rdg.HeaderRow{.h10tskcx7-0-0-beta-47{display:contents;background-color:var(--rdg-header-background-color);font-weight:700}.h10tskcx7-0-0-beta-47>.cj343x07-0-0-beta-47{z-index:2;position:sticky}.h10tskcx7-0-0-beta-47>.csofj7r7-0-0-beta-47{z-index:3}}@layer rdg.Cell{.c6ra8a37-0-0-beta-47{background-color:#ccf}}@layer rdg.Cell{.cq910m07-0-0-beta-47{background-color:#ccf}.cq910m07-0-0-beta-47.c6ra8a37-0-0-beta-47{background-color:#99f}}@layer rdg.SortIcon{.a3ejtar7-0-0-beta-47{fill:currentColor}.a3ejtar7-0-0-beta-47>path{transition:d .1s}}@layer rdg.Defaults{.rnvodz57-0-0-beta-47 *,.rnvodz57-0-0-beta-47 *:before,.rnvodz57-0-0-beta-47 *:after{box-sizing:inherit}}@layer rdg.Root{.rnvodz57-0-0-beta-47{--rdg-color: #000;--rdg-border-color: #ddd;--rdg-summary-border-color: #aaa;--rdg-background-color: hsl(0deg 0% 100%);--rdg-header-background-color: hsl(0deg 0% 97.5%);--rdg-header-draggable-background-color: hsl(0deg 0% 90.5%);--rdg-row-hover-background-color: hsl(0deg 0% 96%);--rdg-row-selected-background-color: hsl(207deg 76% 92%);--rdg-row-selected-hover-background-color: hsl(207deg 76% 88%);--rdg-checkbox-focus-color: hsl(207deg 100% 69%);--rdg-selection-color: #66afe9;--rdg-font-size: 14px;--rdg-cell-frozen-box-shadow: 2px 0 5px -2px rgba(136, 136, 136, .3);display:grid;color-scheme:var(--rdg-color-scheme, light dark);accent-color:light-dark(hsl(207deg 100% 29%),hsl(207deg 100% 79%));contain:content;content-visibility:auto;block-size:350px;border:1px solid var(--rdg-border-color);box-sizing:border-box;overflow:auto;background-color:var(--rdg-background-color);color:var(--rdg-color);font-size:var(--rdg-font-size)}.rnvodz57-0-0-beta-47:dir(rtl){--rdg-cell-frozen-box-shadow: -2px 0 5px -2px rgba(136, 136, 136, .3)}.rnvodz57-0-0-beta-47:before{content:"";grid-column:1/-1;grid-row:1/-1}.rnvodz57-0-0-beta-47.rdg-dark{--rdg-color-scheme: dark;--rdg-color: #ddd;--rdg-border-color: #444;--rdg-summary-border-color: #555;--rdg-background-color: hsl(0deg 0% 13%);--rdg-header-background-color: hsl(0deg 0% 10.5%);--rdg-header-draggable-background-color: hsl(0deg 0% 17.5%);--rdg-row-hover-background-color: hsl(0deg 0% 9%);--rdg-row-selected-background-color: hsl(207deg 76% 42%);--rdg-row-selected-hover-background-color: hsl(207deg 76% 38%);--rdg-checkbox-focus-color: hsl(207deg 100% 89%)}.rnvodz57-0-0-beta-47.rdg-light{--rdg-color-scheme: light}@media (prefers-color-scheme: dark){.rnvodz57-0-0-beta-47:not(.rdg-light){--rdg-color: #ddd;--rdg-border-color: #444;--rdg-summary-border-color: #555;--rdg-background-color: hsl(0deg 0% 13%);--rdg-header-background-color: hsl(0deg 0% 10.5%);--rdg-header-draggable-background-color: hsl(0deg 0% 17.5%);--rdg-row-hover-background-color: hsl(0deg 0% 9%);--rdg-row-selected-background-color: hsl(207deg 76% 42%);--rdg-row-selected-hover-background-color: hsl(207deg 76% 38%);--rdg-checkbox-focus-color: hsl(207deg 100% 89%)}}.rnvodz57-0-0-beta-47>:nth-last-child(1 of.rdg-top-summary-row)>.cj343x07-0-0-beta-47{border-block-end:2px solid var(--rdg-summary-border-color)}.rnvodz57-0-0-beta-47>:nth-child(1 of.rdg-bottom-summary-row)>.cj343x07-0-0-beta-47{border-block-start:2px solid var(--rdg-summary-border-color)}}@layer rdg.Root{.vlqv91k7-0-0-beta-47{-webkit-user-select:none;user-select:none}.vlqv91k7-0-0-beta-47 .r1upfr807-0-0-beta-47{cursor:move}}@layer rdg.FocusSink{.f1lsfrzw7-0-0-beta-47{grid-column:1/-1;pointer-events:none;z-index:1}}@layer rdg.FocusSink{.f1cte0lg7-0-0-beta-47{z-index:3}}@layer rdg.SummaryCell{.s8wc6fl7-0-0-beta-47{inset-block-start:var(--rdg-summary-row-top);inset-block-end:var(--rdg-summary-row-bottom)}}@layer rdg.SummaryRow{.skuhp557-0-0-beta-47>.cj343x07-0-0-beta-47{position:sticky}}@layer rdg.SummaryRow{.tf8l5ub7-0-0-beta-47>.cj343x07-0-0-beta-47{z-index:2}.tf8l5ub7-0-0-beta-47>.csofj7r7-0-0-beta-47{z-index:3}}@layer rdg.GroupedRow{.g1yxluv37-0-0-beta-47:not([aria-selected=true]){background-color:var(--rdg-header-background-color)}.g1yxluv37-0-0-beta-47>.cj343x07-0-0-beta-47:not(:last-child,.csofj7r7-0-0-beta-47),.g1yxluv37-0-0-beta-47>:nth-last-child(n+2 of.csofj7r7-0-0-beta-47){border-inline-end:none}}@layer rdg.TextEditor{.t7vyx3i7-0-0-beta-47{-webkit-appearance:none;-moz-appearance:none;appearance:none;box-sizing:border-box;inline-size:100%;block-size:100%;padding-block:0;padding-inline:6px;border:2px solid #ccc;vertical-align:top;color:var(--rdg-color);background-color:var(--rdg-background-color);font-family:inherit;font-size:var(--rdg-font-size)}.t7vyx3i7-0-0-beta-47:focus{border-color:var(--rdg-selection-color);outline:none}.t7vyx3i7-0-0-beta-47::placeholder{color:#999;opacity:1}}
