:root{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#0b1220;background-color:#f6f8fc;--bg: #f6f8fc;--surface: #ffffff;--surface-2: #f8fafc;--border: rgba(15, 23, 42, .12);--text: #0b1220;--muted: rgba(15, 23, 42, .62);--primary: #2563eb;--primary-700: #1d4ed8;--danger: #ef4444;--danger-700: #dc2626;--ring: rgba(37, 99, 235, .22);--shadow-sm: 0 1px 2px rgba(2, 6, 23, .06);--shadow-md: 0 10px 30px rgba(2, 6, 23, .1);--shadow-lg: 0 20px 70px rgba(2, 6, 23, .18);--radius: 12px;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg);color:var(--text)}*{box-sizing:border-box}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--surface);cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:var(--text);background-color:var(--bg)}}:root{--blue-50: #eff6ff;--blue-100: #dbeafe;--blue-500: #3b82f6;--blue-600: #2563eb;--blue-700: #1d4ed8;--green-50: #f0fdf4;--green-100: #dcfce7;--green-500: #22c55e;--green-600: #16a34a;--green-700: #15803d;--orange-50: #fff7ed;--orange-100: #ffedd5;--orange-500: #f97316;--orange-600: #ea580c;--purple-50: #faf5ff;--purple-100: #f3e8ff;--purple-500: #a855f7;--purple-600: #9333ea;--red-50: #fef2f2;--red-100: #fee2e2;--red-500: #ef4444;--red-600: #dc2626;--slate-50: #f8fafc;--slate-100: #f1f5f9;--slate-200: #e2e8f0;--slate-300: #cbd5e1;--slate-400: #94a3b8;--slate-500: #64748b;--slate-600: #475569;--slate-700: #334155;--slate-800: #1e293b;--slate-900: #0f172a;--success: var(--green-600);--success-bg: var(--green-50);--success-border: var(--green-200);--warning: var(--orange-600);--warning-bg: var(--orange-50);--warning-border: var(--orange-200);--info: var(--blue-600);--info-bg: var(--blue-50);--info-border: var(--blue-200);--error: var(--red-600);--error-bg: var(--red-50);--error-border: var(--red-200);--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-card: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1);--shadow-hover: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px}.metric-card{background:#fff;border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-card);transition:box-shadow .2s ease}.metric-card:hover{box-shadow:var(--shadow-hover)}.metric-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.metric-card-title{font-size:.875rem;font-weight:500;color:var(--slate-600);text-transform:uppercase;letter-spacing:.05em}.metric-card-value{font-size:2rem;font-weight:700;color:var(--slate-900);line-height:1}.metric-card-icon{width:48px;height:48px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;flex-shrink:0}.metric-card-icon.blue{background:var(--blue-100);color:var(--blue-600)}.metric-card-icon.green{background:var(--green-100);color:var(--green-600)}.metric-card-icon.orange{background:var(--orange-100);color:var(--orange-600)}.metric-card-icon.purple{background:var(--purple-100);color:var(--purple-600)}.status-badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:.75rem;font-weight:600;line-height:1}.status-badge.success{background:var(--success-bg);color:var(--success);border:1px solid var(--success-border)}.status-badge.warning{background:var(--warning-bg);color:var(--warning);border:1px solid var(--warning-border)}.status-badge.info{background:var(--info-bg);color:var(--info);border:1px solid var(--info-border)}.status-badge.error{background:var(--error-bg);color:var(--error);border:1px solid var(--error-border)}.status-dot{width:8px;height:8px;border-radius:var(--radius-full)}.status-dot.green{background:var(--green-500)}.status-dot.orange{background:var(--orange-500)}.status-dot.red{background:var(--red-500)}.modern-table{width:100%;background:#fff;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-card)}.modern-table thead{background:var(--slate-50);border-bottom:1px solid var(--slate-200)}.modern-table th{padding:var(--space-3) var(--space-4);text-align:left;font-size:.75rem;font-weight:600;color:var(--slate-600);text-transform:uppercase;letter-spacing:.05em}.modern-table td{padding:var(--space-4);border-bottom:1px solid var(--slate-100);font-size:.875rem;color:var(--slate-700)}.modern-table tbody tr{transition:background-color .15s ease}.modern-table tbody tr:hover{background:var(--slate-50)}.modern-table tbody tr:last-child td{border-bottom:none}.health-indicator{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.health-indicator-icon{width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.health-indicator-icon.healthy{background:var(--green-100);color:var(--green-600)}.health-indicator-icon.warning{background:var(--orange-100);color:var(--orange-600)}.health-indicator-icon.error{background:var(--red-100);color:var(--red-600)}.health-indicator-content{flex:1;min-width:0}.health-indicator-title{font-size:.875rem;font-weight:600;color:var(--slate-900);margin-bottom:var(--space-1)}.health-indicator-status{font-size:.75rem;font-weight:500;display:inline-flex;align-items:center;gap:var(--space-1)}.health-indicator-status.healthy{color:var(--green-600)}.health-indicator-status.warning{color:var(--orange-600)}.health-indicator-status.error{color:var(--red-600)}.btn-primary{background:var(--blue-600);color:#fff;border:none;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-weight:600;font-size:.875rem;cursor:pointer;transition:all .15s ease;box-shadow:var(--shadow-xs)}.btn-primary:hover{background:var(--blue-700);box-shadow:var(--shadow-card)}.btn-secondary{background:#fff;color:var(--slate-700);border:1px solid var(--slate-300);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-weight:600;font-size:.875rem;cursor:pointer;transition:all .15s ease}.btn-secondary:hover{background:var(--slate-50);border-color:var(--slate-400)}.btn-success{background:var(--green-600);color:#fff;border:none;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-weight:600;font-size:.875rem;cursor:pointer;transition:all .15s ease}.btn-success:hover{background:var(--green-700)}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-6)}.page-title{font-size:1.875rem;font-weight:700;color:var(--slate-900);margin:0 0 var(--space-2) 0}.page-subtitle{font-size:.875rem;color:var(--slate-600);margin:0}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-6);margin-bottom:var(--space-8)}.chart-container{background:#fff;border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-card)}.chart-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-6)}.chart-title{font-size:1.125rem;font-weight:600;color:var(--slate-900)}.empty-state{text-align:center;padding:var(--space-10) var(--space-6)}.empty-state-icon{width:64px;height:64px;margin:0 auto var(--space-4);border-radius:var(--radius-full);background:var(--slate-100);color:var(--slate-400);display:flex;align-items:center;justify-content:center}.empty-state-title{font-size:1.125rem;font-weight:600;color:var(--slate-900);margin-bottom:var(--space-2)}.empty-state-description{font-size:.875rem;color:var(--slate-600);max-width:400px;margin:0 auto}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-error{color:var(--error)}.text-info{color:var(--info)}.bg-success{background:var(--success-bg)}.bg-warning{background:var(--warning-bg)}.bg-error{background:var(--error-bg)}.bg-info{background:var(--info-bg)}.shadow-sm{box-shadow:var(--shadow-xs)}.shadow{box-shadow:var(--shadow-card)}.shadow-md{box-shadow:var(--shadow-hover)}.rounded-sm{border-radius:var(--radius-sm)}.rounded{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-full{border-radius:var(--radius-full)}.globalSearchWrap{position:relative;width:100%;max-width:720px}.globalSearchInput{position:relative;display:flex;align-items:center}.globalSearchIcon{position:absolute;left:14px;color:var(--slate-400);pointer-events:none}.globalSearch{width:100%;padding:10px 40px 10px 44px;border:1px solid var(--border);border-radius:8px;font-size:14px;outline:none;transition:all .15s ease;background:var(--surface);color:var(--slate-900)}.globalSearch::placeholder{color:var(--slate-400)}.globalSearch:focus{border-color:#2563eb59;box-shadow:0 0 0 4px #2563eb1a}.globalSearchClear{position:absolute;right:10px;padding:4px;background:none;border:none;color:var(--slate-400);cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.globalSearchClear:hover{background:var(--slate-100);color:var(--slate-600)}.globalSearchResults{position:absolute;top:calc(100% + 8px);left:0;right:0;max-height:500px;overflow-y:auto;background:#fff;border:1px solid var(--slate-200);border-radius:12px;box-shadow:0 10px 40px #0000001f;z-index:1000;padding:8px}.globalSearchLoading{padding:24px;text-align:center;color:var(--slate-500);font-size:14px}.globalSearchEmpty{padding:32px 24px;text-align:center}.globalSearchEmptyTitle{font-size:14px;font-weight:600;color:var(--slate-700);margin-bottom:4px}.globalSearchEmptyHint{font-size:12px;color:var(--slate-500)}.globalSearchSection{margin-bottom:12px}.globalSearchSection:last-child{margin-bottom:0}.globalSearchSectionTitle{display:flex;align-items:center;gap:6px;padding:8px 12px;font-size:11px;font-weight:700;color:var(--slate-600);text-transform:uppercase;letter-spacing:.5px}.globalSearchItem{display:flex;align-items:flex-start;gap:12px;width:100%;padding:10px 12px;border:none;background:none;border-radius:8px;cursor:pointer;text-align:left;transition:all .15s ease}.globalSearchItem:hover{background:var(--slate-50)}.globalSearchItemIcon{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--slate-100);border-radius:6px;color:var(--slate-600)}.globalSearchItemContent{flex:1;min-width:0}.globalSearchItemTitle{font-size:14px;font-weight:600;color:var(--slate-900);margin-bottom:4px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.globalSearchTicketId{display:inline-flex;padding:2px 8px;background:var(--blue-100);color:var(--blue-700);font-size:11px;font-weight:700;border-radius:4px;font-family:Courier New,monospace}.globalSearchItemMeta{font-size:12px;color:var(--slate-600);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.globalSearchBadge{display:inline-flex;padding:2px 8px;background:var(--slate-100);color:var(--slate-700);font-size:11px;font-weight:600;border-radius:4px}.globalSearchBadge.priority{background:var(--orange-100);color:var(--orange-700)}.globalSearchResults::-webkit-scrollbar{width:8px}.globalSearchResults::-webkit-scrollbar-track{background:transparent}.globalSearchResults::-webkit-scrollbar-thumb{background:var(--slate-300);border-radius:4px}.globalSearchResults::-webkit-scrollbar-thumb:hover{background:var(--slate-400)}.modalOverlay{position:fixed;inset:0;display:grid;place-items:center;z-index:10000}.modalBackdrop{position:fixed;inset:0;background:#02061785;border:0;z-index:10000}.modalCard{position:relative;width:min(960px,calc(100vw - 32px));max-height:calc(100vh - 32px);background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);overflow:hidden;z-index:10001;display:grid;grid-template-rows:auto 1fr auto}.modalHeader{padding:14px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px}.modalTitle{font-size:16px;font-weight:900;color:var(--text);letter-spacing:-.01em}.modalClose{border:1px solid var(--border);background:var(--surface);border-radius:10px;width:36px;height:36px;padding:0;display:grid;place-items:center;line-height:1;cursor:pointer;font-weight:900;color:#0f172ac7}.modalBody{padding:18px 16px;overflow:auto}.modalFooter{padding:12px 16px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:10px;background:#f8fafcbf}.fieldError{font-size:12px;color:#991b1b;margin-top:6px}.toastRegion{position:fixed;right:16px;bottom:16px;z-index:9999;display:grid;gap:10px;width:min(360px,calc(100vw - 32px))}.toast{border-radius:var(--radius);border:1px solid var(--border);background:#ffffffeb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-md);padding:10px 12px;position:relative;overflow:hidden}.toast:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#0f172a2e}.toastTitle{display:none}.toastMessage{margin-top:0;font-size:13px;color:var(--text);font-weight:600}.toast_success{border-color:#10b98147}.toast_success:before{background:#10b981f2}.toast_error{border-color:#ef444447}.toast_error:before{background:#ef4444f2}.toast_info{border-color:var(--border)}.toast_info:before{background:#2563ebf2}.toast_warning{border-color:#f59e0b47}.toast_warning:before{background:#f59e0bf2}.shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh;background:var(--bg)}.shell.sidebarCollapsed{grid-template-columns:74px 1fr}.sidebar{background:var(--surface);border-right:1px solid var(--border);display:grid;grid-template-rows:auto 1fr auto}.sidebar.collapsed{width:74px}.sidebarTop{display:flex;gap:10px;align-items:center;padding:18px 16px}.brandText{min-width:0}.sidebarControls{margin-left:auto;display:inline-flex;align-items:center;gap:6px}.sidebarCtrlBtn{width:30px;height:30px;border-radius:10px;border:1px solid var(--border);background:var(--surface);cursor:pointer;display:grid;place-items:center;padding:0;color:#0f172ab8}.sidebarCtrlBtn.pinned{color:var(--primary-700);border-color:#2563eb40;background:#2563eb0f}.sidebar.collapsed .brandText{display:none}.sidebar.collapsed .sidebarTop{flex-direction:column;gap:10px;padding:14px 0}.sidebar.collapsed .sidebarControls{margin-left:0}.brandMark{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,var(--primary),#60a5fa);color:#fff;display:grid;place-items:center;font-weight:800}.brandLogo{width:36px;height:36px;border-radius:10px;object-fit:cover}.brandName{font-weight:800;color:#0f172a}.brandPlan{font-size:12px;color:#64748b;margin-top:2px}.nav{padding:8px;display:flex;flex-direction:column;gap:2px;overflow:auto}.navItem{padding:10px 12px;border-radius:10px;color:#0f172ac7;text-decoration:none;font-weight:700;font-size:13px;display:flex;align-items:center;gap:10px}.navLabel{min-width:0}.sidebar.collapsed .navItem{justify-content:center;padding:10px 0;width:46px;margin:0 auto}.sidebar.collapsed .navLabel{display:none}.navItem:hover{background:var(--surface-2)}.navItem.active{background:#2563eb1a;color:var(--primary-700);border:1px solid rgba(37,99,235,.18)}.sidebarBottom{padding:12px;border-top:1px solid var(--border)}.userChip{display:grid;grid-template-columns:36px 1fr auto;gap:10px;align-items:center}.avatar{width:36px;height:36px;border-radius:999px;background:#2563eb1f;display:grid;place-items:center;font-weight:800;color:var(--primary-700)}.userName{font-size:13px;font-weight:800;color:#0f172a}.userRole{font-size:12px;color:#64748b;margin-top:2px}.logout{border:1px solid var(--border);background:var(--surface);border-radius:10px;padding:8px 10px;cursor:pointer;font-weight:700;font-size:12px}.logoutIcon{width:34px;height:34px;border-radius:10px;border:1px solid var(--border);background:var(--surface);cursor:pointer;display:grid;place-items:center;padding:0;color:#0f172ab8}.sidebar.collapsed .userInfo{display:none}.sidebar.collapsed .userChip{display:flex;flex-direction:column;align-items:center;gap:10px}.main{display:grid;grid-template-rows:auto 1fr;min-width:0}.topbar{background:#f6f8fcd9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);padding:10px 16px;min-height:60px;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}.searchWrap{display:flex;align-items:center}.search{width:100%;max-width:720px;border:1px solid var(--border);border-radius:12px;padding:10px 12px;outline:none;background:var(--surface)}.search:focus{border-color:#2563eb59;box-shadow:0 0 0 4px var(--ring)}.topbarRight{display:flex;gap:10px;align-items:center}.userMenuWrap{position:relative}.userChipTop{display:flex;align-items:center;gap:10px;padding:4px 8px 4px 4px;border:1px solid var(--border);border-radius:999px;background:var(--surface);box-shadow:var(--shadow-sm);cursor:pointer;font-family:inherit;appearance:none}.userChipTop:hover{background:var(--surface-2)}.userChipTop:focus-visible{outline:none;box-shadow:0 0 0 4px var(--ring);border-color:#2563eb59}.userMenuPanel{position:absolute;top:calc(100% + 8px);right:0;width:220px;background:#fff;border:1px solid rgba(15,23,42,.1);border-radius:14px;box-shadow:0 12px 40px #0f172a24;z-index:110;overflow:hidden;padding:6px}.userMenuItem{width:100%;display:flex;align-items:center;gap:10px;border:none;background:transparent;padding:10px;border-radius:10px;cursor:pointer;font-weight:700;font-size:13px;color:#0f172adb;font-family:inherit;text-align:left}.userMenuItem:hover{background:#2563eb0f}.userMenuItem.danger{color:#dc2626}.userMenuItem.danger:hover{background:#dc26260f}.topUserText{display:grid;line-height:1.2}.topUserName{font-size:12px;font-weight:900;color:#0f172a}.topUserRole{font-size:11px;color:#64748b}.iconBtn{width:36px;height:36px;border-radius:12px;border:1px solid var(--border);background:var(--surface);cursor:pointer;display:grid;place-items:center;padding:0;line-height:0}.notifWrap,.notifBellBtn{position:relative}.notifBadge{position:absolute;top:2px;right:2px;min-width:16px;height:16px;border-radius:999px;background:#dc2626;color:#fff;font-size:9px;font-weight:800;display:flex;align-items:center;justify-content:center;padding:0 4px;line-height:1;pointer-events:none;border:2px solid var(--surface)}.notifPanel{position:absolute;top:calc(100% + 8px);right:0;width:380px;max-height:480px;background:#fff;border:1px solid rgba(15,23,42,.1);border-radius:14px;box-shadow:0 12px 40px #0f172a24;z-index:100;overflow:hidden;display:flex;flex-direction:column}.notifHeader{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid rgba(15,23,42,.06)}.notifHeaderTitle{font-size:14px;font-weight:800;color:#0f172a}.notifMarkAll{display:inline-flex;align-items:center;gap:4px;border:none;background:none;color:#2563eb;font-size:11px;font-weight:600;cursor:pointer;padding:4px 8px;border-radius:6px;font-family:inherit}.notifMarkAll:hover{background:#2563eb0f}.notifList{overflow-y:auto;flex:1;max-height:400px}.notifEmpty{padding:40px 16px;text-align:center;color:#94a3b8;font-size:13px}.notifItem{display:flex;align-items:flex-start;gap:10px;padding:12px 16px;cursor:pointer;transition:background .1s;border-bottom:1px solid rgba(15,23,42,.04)}.notifItem:hover{background:#2563eb08}.notifItem.unread{background:#2563eb0a}.notifItem.unread:hover{background:#2563eb12}.notifItemIcon{width:30px;height:30px;border-radius:8px;background:#0f172a0a;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}.notifItem.unread .notifItemIcon{background:#2563eb14}.notifItemBody{flex:1;min-width:0}.notifItemTitle{font-size:12px;font-weight:700;color:#0f172a;line-height:1.3}.notifItemMsg{font-size:11px;color:#64748b;margin-top:2px;line-height:1.4;display:-webkit-box;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notifItemMeta{display:flex;align-items:center;gap:10px;margin-top:4px;font-size:10px;color:#94a3b8}.notifDue{display:inline-flex;align-items:center;gap:3px;color:#ea580c;font-weight:700}.notifItemRead{width:24px;height:24px;border-radius:6px;border:1px solid rgba(15,23,42,.1);background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#64748b;margin-top:3px}.notifItemRead:hover{background:#2563eb0f;color:#2563eb;border-color:#2563eb33}@media(max-width:500px){.notifPanel{width:calc(100vw - 24px);right:-8px}}.profileDot{width:34px;height:34px;border-radius:999px;background:#0f172a0f;border:1px solid var(--border);display:grid;place-items:center;font-weight:900;color:#0f172ac7;font-size:14px;object-fit:cover}.content{padding:24px;overflow:auto}.loginRoot{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr;background:var(--bg)}.loginPanel{width:100%;display:grid;place-items:center;padding:28px;position:relative}.loginPanel:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 20%,rgba(37,99,235,.16),transparent 55%),radial-gradient(circle at 80% 60%,rgba(96,165,250,.2),transparent 55%),radial-gradient(circle at 50% 100%,rgba(15,23,42,.06),transparent 55%);pointer-events:none}.loginPanel>*{position:relative}.loginSide{display:grid;align-content:center;padding:56px;color:var(--text)}.captchaRow{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px}.captchaRefresh{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;padding:10px 12px;font-weight:600;font-size:12px;cursor:pointer;color:var(--text)}.securityCard{background:#0f172a08;border:1px solid rgba(15,23,42,.08);border-radius:12px;padding:14px;display:grid;gap:10px}.securityHeader{display:flex;align-items:center;justify-content:space-between}.securityTitle{font-weight:600;font-size:13px;color:#0f172ac7}.securityRefresh{border:0;background:transparent;padding:6px;border-radius:10px;cursor:pointer;color:#0f172a9e}.securityRefresh:hover{background:#0f172a0f;color:#0f172ac7}.securityRow{display:grid;grid-template-columns:1fr 1fr;gap:12px}.securityPrompt{height:44px;border-radius:10px;border:1px solid rgba(15,23,42,.14);background:#fff;display:grid;place-items:center;font-weight:700;letter-spacing:.02em}.securityAnswer{height:44px;border-radius:10px;border:1px solid rgba(15,23,42,.14);padding:0 12px;background:#fff;outline:none}.securityAnswer:focus{border-color:#2563eb59;box-shadow:0 0 0 4px var(--ring)}.securityAnswer.invalid{border-color:#fecaca}.forgotLink{border:0;background:transparent;color:var(--primary);font-weight:600;padding:10px 0 0;cursor:pointer}.forgotLink:hover{text-decoration:underline}.loginSideInner{max-width:520px}.loginSideTitle{font-size:40px;font-weight:700;letter-spacing:-.02em;line-height:1.1}.loginSideSub{margin-top:14px;font-size:14px;color:var(--muted)}.loginSideBadge{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border);background:#ffffffb3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:8px 12px;border-radius:999px;box-shadow:var(--shadow-sm);font-size:12px;font-weight:800;color:#0f172ac7}.loginCard{width:100%;max-width:420px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:22px}.loginBrand{display:flex;gap:12px;align-items:center;margin-bottom:16px}.loginLogo{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary),#60a5fa);color:#fff;font-weight:800}.loginBrandLogo{width:48px;height:48px;border-radius:12px;object-fit:cover}.loginTitle{font-size:18px;font-weight:600;color:#0f172a}.loginSubtitle{font-size:12px;color:#64748b;margin-top:2px}.loginForm{display:grid;gap:14px}.field{display:grid}.loginLabel{display:grid;gap:6px;font-size:12px;color:#0f172ac7;font-weight:600}.loginLabelSub{font-weight:600;color:#0f172a9e}.loginInput{border:1px solid var(--border);border-radius:10px;padding:10px 12px;font-size:14px;outline:none;background:var(--surface)}.loginInput:focus{border-color:#2563eb59;box-shadow:0 0 0 4px var(--ring)}.loginInput.invalid{border-color:#fecaca}.passwordWrap{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px}.pwToggle{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;padding:10px 12px;font-weight:600;font-size:12px;cursor:pointer;color:var(--text)}.loginButton{margin-top:4px;border:1px solid var(--primary-700);background:var(--primary);color:#fff;border-radius:12px;padding:10px 12px;font-weight:700;cursor:pointer}.loginButton:disabled{opacity:.7;cursor:not-allowed}.loginHint{margin-top:8px;font-size:12px;color:var(--muted)}@media(max-width:980px){.loginRoot{grid-template-columns:1fr}.loginSide{display:none}.loginPanel{padding:24px}}.widgetSettingsOverlay{position:fixed;inset:0;background:#0f172a80;display:flex;align-items:center;justify-content:center;z-index:9999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.widgetSettingsModal{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;width:90%;max-width:700px;max-height:85vh;display:flex;flex-direction:column}.widgetSettingsHeader{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid rgba(15,23,42,.08)}.widgetSettingsTitle{font-size:18px;font-weight:700;color:#0f172a;margin:0}.widgetSettingsClose{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;color:#64748b;cursor:pointer;border-radius:6px;transition:all .15s}.widgetSettingsClose:hover{background:#0f172a0f;color:#0f172a}.widgetSettingsBody{padding:24px;overflow-y:auto;flex:1}.widgetSettingsSubtitle{font-size:13px;color:#64748b;margin:0 0 20px}.widgetSettingsList{display:flex;flex-direction:column;gap:12px}.widgetSettingsItem{display:flex;align-items:center;gap:16px;padding:16px;background:#f8fafc;border:1px solid rgba(15,23,42,.08);border-radius:8px;transition:all .15s}.widgetSettingsItem:hover{background:#f1f5f9;border-color:#0f172a1f}.widgetSettingsItemIcon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:8px;font-size:20px;flex-shrink:0}.widgetSettingsItemContent{flex:1;min-width:0}.widgetSettingsItemLabel{font-size:14px;font-weight:600;color:#0f172a;margin-bottom:4px}.widgetSettingsItemDesc{font-size:12px;color:#64748b;line-height:1.5}.widgetSettingsToggle{position:relative;display:inline-block;width:48px;height:26px;flex-shrink:0;cursor:pointer}.widgetSettingsToggle input{opacity:0;width:0;height:0}.widgetSettingsToggleSlider{position:absolute;cursor:pointer;inset:0;background-color:#cbd5e1;transition:.3s;border-radius:26px}.widgetSettingsToggleSlider:before{position:absolute;content:"";height:20px;width:20px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%}.widgetSettingsToggle input:checked+.widgetSettingsToggleSlider{background-color:#5b7cfc}.widgetSettingsToggle input:checked+.widgetSettingsToggleSlider:before{transform:translate(22px)}.widgetSettingsFooter{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-top:1px solid rgba(15,23,42,.08);background:#f8fafc;border-radius:0 0 12px 12px}.widgetSettingsResetBtn{padding:8px 16px;font-size:13px;font-weight:600;color:#64748b;background:#fff;border:1px solid rgba(15,23,42,.12);border-radius:6px;cursor:pointer;transition:all .15s}.widgetSettingsResetBtn:hover{color:#0f172a;border-color:#0f172a33}.widgetSettingsCancelBtn{padding:8px 16px;font-size:13px;font-weight:600;color:#64748b;background:#fff;border:1px solid rgba(15,23,42,.12);border-radius:6px;cursor:pointer;transition:all .15s}.widgetSettingsCancelBtn:hover{color:#0f172a;border-color:#0f172a33}.widgetSettingsSaveBtn{padding:8px 20px;font-size:13px;font-weight:600;color:#fff;background:#5b7cfc;border:1px solid #5b7cfc;border-radius:6px;cursor:pointer;transition:all .15s}.widgetSettingsSaveBtn:hover{background:#4c6eeb;border-color:#4c6eeb}.dashPage{padding:16px 20px;max-width:1400px;margin:0 auto}.dashHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}.dashTitle{font-size:22px;font-weight:900;color:#0f172a;letter-spacing:-.3px}.dashSubtitle{font-size:13px;color:#64748b;margin-top:2px}.dashControls{display:flex;align-items:center;gap:10px;flex-shrink:0}.dashSelect{height:36px;border-radius:10px;border:1px solid rgba(15,23,42,.12);padding:0 12px;background:#fff;color:#0f172a;outline:none;font-size:13px;font-family:inherit;min-width:180px;transition:border-color .15s}.dashSelect:focus{box-shadow:0 0 0 2px #2563eb1f;border-color:#2563eb59}.dashWidgetSettingsBtn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;font-size:13px;font-weight:600;border:1px solid rgba(15,23,42,.12);background:#fff;color:#334155;cursor:pointer;transition:all .15s;-webkit-user-select:none;user-select:none}.dashWidgetSettingsBtn:hover{background:#f8fafc;border-color:#0f172a33;color:#0f172a}.dashWidget{background:#fff;border-radius:14px;border:1px solid rgba(15,23,42,.08);box-shadow:0 1px 3px #0f172a0a;margin-bottom:12px;overflow:hidden}.dashWidgetHeader{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid rgba(15,23,42,.06)}.dashWidgetTitle{font-size:14px;font-weight:800;color:#0f172a;display:flex;align-items:center;gap:8px}.dashWidgetBadge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;border-radius:999px;padding:0 6px;font-size:10px;font-weight:800;background:#2563eb1a;color:#2563eb}.dashWidgetBody{padding:0}.dashTaskTable{width:100%;border-collapse:collapse}.dashTaskTable thead th{padding:10px 14px;text-align:left;font-size:10px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.4px;border-bottom:1px solid rgba(15,23,42,.06);background:#f8fafc}.dashTaskTable tbody tr{transition:background .1s}.dashTaskTable tbody tr:hover{background:#2563eb05}.dashTaskTable tbody td{padding:10px 14px;font-size:12px;color:#0f172a;border-bottom:1px solid rgba(15,23,42,.04);vertical-align:middle}.dashTaskTable tbody tr.dashOverdue{background:#dc262608}.dashTaskTable tbody tr.dashOverdue:hover{background:#dc26260f}.dashTaskTitle{font-weight:700;color:#0f172a;display:flex;align-items:center;gap:6px}.dashTaskPath{font-size:10px;color:#94a3b8;margin-top:2px}.dashItemType{display:inline-flex;padding:2px 7px;border-radius:4px;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.3px}.dashItemType.Category{background:#2563eb14;color:#2563eb}.dashItemType.Task{background:#10b98114;color:#059669}.dashItemType.SubTask{background:#8b5cf614;color:#7c3aed}.dashStatusSelect{height:28px;border-radius:6px;border:1px solid rgba(15,23,42,.1);padding:0 6px;background:#fff;color:#0f172a;outline:none;font-size:11px;font-family:inherit;cursor:pointer}.dashStatusSelect:focus{box-shadow:0 0 0 2px #2563eb1f}.dashPriorityPill{display:inline-flex;padding:2px 8px;border-radius:999px;font-size:10px;font-weight:700}.dashPriorityPill.Critical{background:#dc26261a;color:#dc2626}.dashPriorityPill.High{background:#f973161a;color:#ea580c}.dashPriorityPill.Medium{background:#eab3081a;color:#ca8a04}.dashPriorityPill.Low{background:#22c55e1a;color:#16a34a}.dashOverdueBadge{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:999px;font-size:10px;font-weight:700;background:#dc26261a;color:#dc2626}.dashDueSoon{color:#ea580c}.dashLinkBtn{display:inline-flex;align-items:center;gap:4px;border:none;background:none;color:#2563eb;font-size:11px;font-weight:600;cursor:pointer;padding:4px 8px;border-radius:6px;transition:background .1s}.dashLinkBtn:hover{background:#2563eb0f}.dashEmpty,.dashLoading{padding:40px 20px;text-align:center;color:#94a3b8;font-size:13px}@media(max-width:900px){.dashPage{padding:16px}.dashHeader{flex-direction:column}.dashControls{flex-wrap:wrap}}.profilePage{max-width:1160px}.profileGrid{display:grid;grid-template-columns:380px 1fr;gap:16px;align-items:start}@media(max-width:980px){.profileGrid{grid-template-columns:1fr}}.profileCard{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.profileCardTitle{font-weight:900;color:var(--text);margin-bottom:12px}.avatarRow{display:grid;grid-template-columns:88px 1fr;gap:14px;align-items:center}.avatarImg{width:88px;height:88px;border-radius:999px;object-fit:cover;border:1px solid var(--border)}.avatarPlaceholder{width:88px;height:88px;border-radius:999px;background:#2563eb1f;display:grid;place-items:center;font-weight:900;color:var(--primary-700);font-size:28px;border:1px solid var(--border)}.avatarActions{display:grid;gap:6px}.profileForm{display:grid;grid-template-columns:1fr 1fr;gap:12px}.profileField.full{grid-column:1 / -1}.profileLabel{display:block;font-size:12px;font-weight:800;color:#0f172ab8;margin-bottom:6px}.profileInput{width:100%;border:1px solid var(--border);border-radius:12px;padding:10px 12px;outline:none;background:#fff}.profileInput:focus{border-color:#2563eb59;box-shadow:0 0 0 4px var(--ring)}.profileInput.invalid{border-color:#dc262680;box-shadow:0 0 0 4px #dc26261f}.profileTextarea{width:100%;border:1px solid var(--border);border-radius:12px;padding:10px 12px;outline:none;background:#fff;resize:vertical}.profileTextarea:focus{border-color:#2563eb59;box-shadow:0 0 0 4px var(--ring)}.profileActions{margin-top:14px;display:flex;justify-content:flex-end}.secondaryBtn.disabled{opacity:.6;pointer-events:none}.prPage{max-width:1160px}.prHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.prTitle{font-size:22px;font-weight:900;color:var(--text);letter-spacing:-.01em}.prSubtitle{font-size:13px;color:var(--muted);margin-top:4px}.prCard{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}.prTabs{display:flex;gap:18px;padding:12px 14px;border-bottom:1px solid var(--border)}.prTab{border:0;background:transparent;padding:10px 12px;border-radius:10px;font-size:12px;font-weight:700;letter-spacing:.02em;color:#0f172a9e;text-transform:uppercase;cursor:pointer}.prTab:hover{background:#2563eb0f;color:#0f172ad1}.prTab:focus{outline:none}.prTab.active{color:var(--primary);background:#2563eb14;position:relative}.prTab.active:after{content:"";position:absolute;left:12px;right:12px;bottom:-12px;height:2px;background:var(--primary);border-radius:999px}.prBody{padding:16px}.prFilters{display:flex;align-items:center;gap:12px;padding-bottom:12px;border-bottom:1px solid rgba(15,23,42,.08);margin-bottom:12px;flex-wrap:wrap}.prFilterSpacer{flex:1}.prSelect{height:42px;border-radius:12px;border:1px solid var(--border);padding:0 12px;background:#fff;color:var(--text);outline:none;min-width:160px;font-weight:600}.prSelect:focus{box-shadow:0 0 0 4px var(--ring);border-color:#2563eb59}.prPrimaryBtn{display:inline-flex;align-items:center;gap:8px;background:var(--primary);color:#fff;border:1px solid var(--primary-700);padding:10px 12px;border-radius:12px;font-weight:800;cursor:pointer}.prPrimaryBtn:disabled{opacity:.55;cursor:not-allowed}.prSecondaryBtn{display:inline-flex;align-items:center;gap:8px;background:var(--surface);color:var(--text);border:1px solid var(--border);padding:10px 12px;border-radius:12px;font-weight:800;cursor:pointer}.prTableWrap{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.prTable{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}.prTable thead th{text-align:left;background:#0f172a08;padding:12px;font-size:12px;font-weight:700;color:#0f172ab8;border-bottom:1px solid var(--border)}.prTable tbody td{padding:12px;border-bottom:1px solid rgba(15,23,42,.08)}.prTable tbody tr:last-child td{border-bottom:0}.prPill{display:inline-flex;align-items:center;border:1px solid rgba(15,23,42,.12);background:#0f172a08;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700}.prPill.success{background:#22c55e1f;border-color:#22c55e42;color:#166534}.prPill.warn{background:#f973161f;border-color:#f9731642;color:#9a3412}.prPill.blue{background:#2563eb1a;border-color:#2563eb33;color:#1e40af}.prPill.danger{background:#dc26261a;border-color:#dc262633;color:#991b1b}.prRowActions{display:inline-flex;align-items:center;gap:8px}.prIconAction{border:1px solid var(--border);background:var(--surface);border-radius:10px;width:32px;height:32px;cursor:pointer;display:grid;place-items:center;color:#0f172ab8;padding:0;line-height:0}.prIconAction.danger{border-color:#dc262638;color:#dc2626d1}.prEmpty{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;color:var(--muted);font-size:13px}.prFormGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.prFormField{display:grid;gap:6px}.prFormLabel{font-size:12px;font-weight:700;color:#0f172ab8}.prFormInput{height:42px;border-radius:12px;border:1px solid var(--border);padding:0 12px;background:#fff;color:var(--text);outline:none}.prFormInput:focus{box-shadow:0 0 0 4px var(--ring);border-color:#2563eb59}.prFormSelect{height:42px;border-radius:12px;border:1px solid var(--border);padding:0 12px;background:#fff;color:var(--text);outline:none}.prFormSelect:focus{box-shadow:0 0 0 4px var(--ring);border-color:#2563eb59}.prFullSpan{grid-column:1 / -1}.prToggleRow{display:flex;align-items:center;gap:10px;font-weight:700;color:#0f172ab8;font-size:13px}.prToggleRow input[type=checkbox]{width:40px;height:22px}.prSection{margin-top:12px;border:1px solid var(--border);border-radius:12px;padding:12px;background:#f8fafc99}.prSectionTitle{font-size:13px;font-weight:800;color:#0f172a;margin-bottom:8px;display:flex;align-items:center;justify-content:space-between}.prItemRow{display:grid;grid-template-columns:160px 1fr 120px auto;gap:8px;align-items:center;margin-bottom:8px}.prItemRow5{display:grid;grid-template-columns:140px 1fr 120px 120px auto;gap:8px;align-items:center;margin-bottom:8px}.prItemRow6{display:grid;grid-template-columns:140px 1fr 100px 120px 100px auto;gap:8px;align-items:center;margin-bottom:8px}.prItemInput{height:36px;border-radius:10px;border:1px solid var(--border);padding:0 10px;background:#fff;color:var(--text);outline:none;font-size:12px;min-width:0}.prItemInput:focus{box-shadow:0 0 0 3px var(--ring);border-color:#2563eb59}.prItemSelect{height:36px;border-radius:10px;border:1px solid var(--border);padding:0 8px;background:#fff;color:var(--text);outline:none;font-size:12px;min-width:0}.prItemRemove{width:30px;height:30px;border-radius:8px;border:1px solid rgba(220,38,38,.22);background:#dc26260f;color:#dc2626d1;cursor:pointer;display:grid;place-items:center;padding:0}.prAddBtn{display:inline-flex;align-items:center;gap:6px;border:1px dashed rgba(37,99,235,.3);background:#2563eb0a;color:var(--primary);border-radius:10px;padding:6px 10px;font-weight:700;font-size:12px;cursor:pointer}.prEmailSection{margin-top:14px;border:1px solid var(--border);border-radius:12px;padding:12px;background:#f8fafc99}.prUserCheckList{margin-top:8px;max-height:180px;overflow:auto;display:grid;gap:6px}.prUserCheckItem{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:#0f172ac7}.prUserCheckItem input[type=checkbox]{width:16px;height:16px}@media(max-width:900px){.prFormGrid,.prItemRow,.prItemRow5,.prItemRow6{grid-template-columns:1fr}.prFilters{flex-direction:column;align-items:stretch}}.page{max-width:1160px}.pageActions{display:flex;gap:10px}.primaryBtn{background:var(--primary);color:#fff;border:1px solid var(--primary-700);padding:10px 12px;border-radius:12px;font-weight:800;cursor:pointer}.secondaryBtn{background:var(--surface);color:var(--text);border:1px solid var(--border);padding:10px 12px;border-radius:12px;font-weight:800;cursor:pointer}.empty{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;color:var(--muted);font-size:13px;margin-bottom:14px}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}@media(max-width:1200px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:900px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.grid{grid-template-columns:1fr}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .12s ease,box-shadow .12s ease}.card:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.cardCover{height:120px;background:radial-gradient(circle at 25% 25%,rgba(37,99,235,.25),transparent 60%),radial-gradient(circle at 75% 65%,rgba(96,165,250,.35),transparent 60%),linear-gradient(135deg,#0f172a0a,#0f172a05)}.cardBody{padding:14px}.cardTopRow{display:flex;align-items:center;justify-content:space-between;gap:10px}.cardIcons{display:flex;gap:8px}.status{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:900;border:1px solid #e2e8f0;color:#0f172a;background:#f8fafc}.status_ACTIVE{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}.status_PLANNING{background:#fffbeb;border-color:#fde68a;color:#92400e}.status_ON_TRACK{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.status_DELAYED{background:#fef2f2;border-color:#fecaca;color:#991b1b}.status_NOT_STARTED{background:#f1f5f9;border-color:#e2e8f0;color:#334155}.cardTitle{margin-top:0;font-size:15px;font-weight:900;color:var(--text);line-height:1.25}.cardText{margin-top:6px;font-size:12px;color:var(--muted);min-height:34px;line-height:1.45}.cardMeta{margin-top:12px;display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}.cardMeta span{display:inline-flex;align-items:center;gap:6px}.formGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}@media(max-width:720px){.formGrid{grid-template-columns:1fr}}.formField{display:grid;gap:6px}.formLabel{font-size:12px;font-weight:800;color:#0f172ac7}.formInput,.formTextarea{border:1px solid var(--border);border-radius:10px;padding:10px 12px;font-size:14px;outline:none;background:var(--surface)}.formTextarea{min-height:96px;resize:vertical}.formInput:focus,.formTextarea:focus{border-color:#2563eb59;box-shadow:0 0 0 4px var(--ring)}.formInput.invalid,.formTextarea.invalid{border-color:#fecaca}.footerLeft,.footerRight{display:flex;gap:10px}.btnSecondary{background:var(--surface);color:var(--text);border:1px solid var(--border);padding:10px 12px;border-radius:12px;font-weight:900;cursor:pointer;min-height:40px}.btnPrimary{background:var(--primary);color:#fff;border:1px solid var(--primary-700);padding:10px 12px;border-radius:12px;font-weight:900;cursor:pointer;min-height:40px}.btnDanger{background:var(--danger);color:#fff;border:1px solid var(--danger-700);padding:10px 12px;border-radius:12px;font-weight:900;cursor:pointer;min-height:40px}.btnSecondary:disabled,.btnPrimary:disabled,.btnDanger:disabled{opacity:.7;cursor:not-allowed}.pfPage{display:grid;gap:14px}.pfHeader{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.pfTitle{font-size:22px;font-weight:800;color:#0f172a}.pfSub{margin-top:6px;color:#64748b;font-weight:600;font-size:13px}.pfHeaderRight{display:flex;gap:10px;align-items:center}.pfToolbar{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}.pfBreadcrumbs{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.pfCrumb{display:flex;gap:6px;align-items:center}.pfSep{color:#94a3b8;font-weight:800}.pfLink{border:none;background:transparent;cursor:pointer;padding:0;font-weight:700;color:#2563ebf2}.pfSearch{display:flex;gap:10px;align-items:center}.pfActions{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.pfUpload{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.pfUploadStatus{min-width:56px;text-align:right;font-weight:700;color:#64748b;font-size:12px}.pfInput{border:1px solid var(--border);border-radius:12px;padding:10px 12px;outline:none;background:var(--surface);min-width:220px}.pfInput:focus{border-color:#2563eb59;box-shadow:0 0 0 4px var(--ring)}.pfSelect{border:1px solid var(--border);border-radius:12px;padding:10px 12px;outline:none;background:var(--surface);font-weight:700}.pfBtn{border:1px solid var(--border);background:var(--surface);border-radius:12px;padding:10px 12px;cursor:pointer;font-weight:700;color:#0f172ac7;display:inline-flex;align-items:center;gap:8px}.pfIconBtn{border:1px solid var(--border);background:var(--surface);border-radius:12px;width:40px;height:40px;padding:0;cursor:pointer;color:#0f172ac7;display:grid;place-items:center}.pfIconBtn:disabled{opacity:.55;cursor:not-allowed}.pfBtn:disabled{opacity:.55;cursor:not-allowed}.pfPrimary{background:#2563eb1a;border-color:#2563eb3d;color:#2563ebf2}.pfHint{font-size:12px;font-weight:700;color:#b45309;background:#f59e0b1f;border:1px solid rgba(245,158,11,.28);border-radius:12px;padding:10px 12px}.pfGrid{display:grid;grid-template-columns:360px 1fr;gap:14px;align-items:start}.pfPanel{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:12px;box-shadow:var(--shadow-sm)}.pfPanelTitle{font-weight:800;color:#0f172a;margin-bottom:10px}.pfList{display:grid;gap:8px}.pfFolderRow{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.pfRow{text-align:left;border:1px solid var(--border);border-radius:12px;padding:10px;background:#f8fafccc;cursor:pointer}.pfRow:hover{background:#2563eb0f;border-color:#2563eb38}.pfRowTitle{font-weight:700;color:#0f172a}.pfRowSub{margin-top:4px;font-size:12px;font-weight:700;color:#64748b}.pfTableWrap{overflow:auto}.pfTable{width:100%;border-collapse:collapse;table-layout:fixed}.pfTable th,.pfTable td{padding:10px 8px;border-bottom:1px solid rgba(15,23,42,.08);vertical-align:top}.pfTable th{font-size:12px;color:#0f172ab8;text-align:left}.pfTdStrong{font-weight:600}.pfTdMuted{color:#64748b;font-weight:500;font-size:13px}.pfEllipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pfRowActions{display:flex;gap:8px}.pfIconBtnSm{border:1px solid var(--border);background:var(--surface);border-radius:10px;width:34px;height:34px;padding:0;cursor:pointer;display:grid;place-items:center}.pfDanger{border-color:#dc262638;background:#dc262614;color:#dc2626f2}.pfEmpty{padding:16px;font-weight:800;color:#64748b}.pfEmptySmall{padding:10px 2px;font-weight:800;color:#94a3b8}.pfViewer{min-height:420px;display:grid;place-items:center}.pfViewerImg{max-width:100%;max-height:520px;border-radius:12px;border:1px solid rgba(15,23,42,.1);background:#fff}.pfViewerFrame{width:100%;height:520px;border:1px solid rgba(15,23,42,.1);border-radius:12px;background:#fff}.pfViewerUnsupported{width:100%;border:1px dashed rgba(15,23,42,.22);border-radius:14px;padding:18px;background:#f8fafccc}.pfViewerUnsupportedTitle{font-weight:900;color:#0f172a}.pfViewerUnsupportedSub{margin-top:6px;font-weight:700;color:#64748b;font-size:13px}@media(max-width:1000px){.pfToolbar{grid-template-columns:1fr}.pfSearch{flex-wrap:wrap}.pfGrid{grid-template-columns:1fr}}.settingsPage{max-width:1160px}.settingsCard{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}.tabs{display:flex;gap:18px;padding:12px 14px;border-bottom:1px solid var(--border)}.tab{display:inline-flex;align-items:center;gap:8px;border:0;background:transparent;padding:10px 12px;border-radius:10px;font-size:12px;font-weight:700;letter-spacing:.02em;color:#0f172a9e;text-transform:uppercase;cursor:pointer}.tab:hover{background:#2563eb0f;color:#0f172ad1}.tab:focus{outline:none}.tab:focus-visible{outline:none;box-shadow:0 0 0 4px var(--ring)}.tab.active{color:var(--primary);background:#2563eb14;position:relative}.tab.active:after{content:"";position:absolute;left:12px;right:12px;bottom:-12px;height:2px;background:var(--primary);border-radius:999px}.tabBody{padding:16px}.formGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.formActions{display:flex;justify-content:center;gap:10px;padding-top:16px;border-top:1px solid var(--border);margin-top:16px}.cellMain{display:inline-flex;align-items:center;gap:8px}.pill.primary{background:#2563eb1a;border-color:#2563eb40;color:var(--primary)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px}.logoGrid{display:grid;grid-template-columns:1.3fr 1fr;gap:16px;align-items:start}.logoBox{border:1px dashed rgba(15,23,42,.18);border-radius:var(--radius);background:#0f172a05;padding:14px;display:grid;justify-items:center;gap:12px}.logoPreview{max-width:100%;max-height:140px;object-fit:contain}.logoEmpty{width:100%;height:140px;display:grid;place-items:center;background:#fff;border:1px solid rgba(15,23,42,.12);border-radius:12px}.logoPlaceholder{color:var(--muted);font-size:13px;font-weight:700}.uploadBtn{display:inline-flex;align-items:center;justify-content:center;height:38px;padding:0 14px;border-radius:12px;border:1px solid rgba(37,99,235,.25);background:#2563eb0f;color:var(--primary);font-weight:700;cursor:pointer}@media(max-width:980px){.formGrid,.logoGrid{grid-template-columns:1fr}}.sprintsPage{max-width:1160px}.sprintsCard{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}.sprintsTabs{display:flex;gap:12px;padding:12px 14px;border-bottom:1px solid var(--border);flex-wrap:wrap}.sprintsTab{border:0;background:transparent;padding:10px 12px;border-radius:10px;font-size:12px;font-weight:700;letter-spacing:.02em;color:#0f172a9e;text-transform:uppercase;cursor:pointer}.sprintsTab:hover{background:#2563eb0f;color:#0f172ad1}.sprintsTab.active{background:#2563eb1c;color:#0f172ae0}.sprintsBody{padding:14px}.table tbody td{padding:12px;border-bottom:1px solid rgba(15,23,42,.08);vertical-align:middle}.cellStrong{font-weight:700;color:var(--text)}.rowActions{display:flex;gap:8px;justify-content:flex-end}.sprintsTopRow{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:nowrap}.filtersRow{display:flex;gap:10px;flex-wrap:nowrap;align-items:center;flex:1;min-width:0}.searchInput{border:1px solid var(--border);border-radius:12px;padding:10px 12px;width:100%;max-width:360px;background:var(--surface);outline:none}.searchInput:focus{border-color:#2563eb59;box-shadow:0 0 0 4px var(--ring)}.selectInput{border:1px solid var(--border);border-radius:12px;padding:10px 12px;background:var(--surface);outline:none}.selectInput:focus{border-color:#2563eb59;box-shadow:0 0 0 4px var(--ring)}.comboWrap{position:relative}.comboInput{cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,rgba(15,23,42,.55) 50%),linear-gradient(135deg,rgba(15,23,42,.55) 50%,transparent 50%);background-position:calc(100% - 18px) calc(1em + 2px),calc(100% - 13px) calc(1em + 2px);background-size:5px 5px,5px 5px;background-repeat:no-repeat}.comboBackdrop{position:fixed;inset:0;z-index:59}.comboMenu{position:absolute;left:0;right:0;top:calc(100% + 6px);background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-sm);max-height:260px;overflow:auto;z-index:60}.comboSearchWrap{padding:10px;border-bottom:1px solid rgba(15,23,42,.08);background:#0f172a05}.comboSearch{width:100%;border:1px solid var(--border);border-radius:10px;padding:10px 12px;outline:none;background:var(--surface)}.comboSearch:focus{border-color:#2563eb59;box-shadow:0 0 0 4px var(--ring)}.comboOption{width:100%;text-align:left;border:0;background:transparent;padding:10px 12px;cursor:pointer;color:#0f172ae0}.comboOption:hover{background:#2563eb0f}.comboOption.active{background:#2563eb1f;color:#2563ebf2;font-weight:700}.tsWrap{display:grid;grid-template-columns:320px 1fr;gap:18px;align-items:start;margin-bottom:14px}.tsLeft{border:1px solid var(--border);border-radius:12px;background:var(--surface);padding:14px}.tsActions{display:flex;gap:10px;margin-top:12px}.tsRight{border:1px solid var(--border);border-radius:12px;background:var(--surface);padding:14px}.tsTitle{font-weight:700;margin-bottom:10px;color:#0f172ad9}.tsStatusList{display:grid;grid-template-columns:1fr;gap:8px;max-height:320px;overflow:auto;padding-right:6px}.tsStatusItem{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;cursor:pointer;color:#0f172ae0}.tsStatusItem:hover{background:#2563eb0d}.tsStatusItem input{width:16px;height:16px}.modName{display:flex;flex-direction:column;gap:2px}.modDesc{font-size:12px;color:#0f172a9e}@media(max-width:900px){.tsWrap{grid-template-columns:1fr}}.sprintsGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}@media(max-width:1200px){.sprintsGrid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:900px){.sprintsGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.sprintsTopRow,.filtersRow{flex-wrap:wrap}.searchInput{max-width:none;min-width:220px;flex:1}}@media(max-width:640px){.sprintsGrid{grid-template-columns:1fr}}.sprintCard{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:14px;display:grid;gap:10px}.sprintCardTop{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.sprintName{font-weight:900;color:var(--text);font-size:14px;line-height:1.3}.sprintMeta{font-size:12px;color:var(--muted)}.pill{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800;border:1px solid rgba(15,23,42,.12);background:#0f172a0a;color:#0f172ad9}.pill.success{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}.pill.warn{background:#fffbeb;border-color:#fde68a;color:#92400e}.usersPage{max-width:1160px}.pageHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.pageTitle{font-size:22px;font-weight:900;color:var(--text);letter-spacing:-.01em}.pageSubtitle{font-size:13px;color:var(--muted);margin-top:4px}.primaryBtn{display:inline-flex;align-items:center;gap:8px;background:var(--primary);color:#fff;border:1px solid var(--primary-700);padding:10px 12px;border-radius:12px;font-weight:800;cursor:pointer}.secondaryBtn{display:inline-flex;align-items:center;gap:8px;background:var(--surface);color:var(--text);border:1px solid var(--border);padding:10px 12px;border-radius:12px;font-weight:800;cursor:pointer}.btnPrimary{background:var(--primary);color:#fff;border:1px solid var(--primary-700);padding:10px 12px;border-radius:12px;font-weight:800;cursor:pointer}.btnSecondary{background:var(--surface);color:var(--text);border:1px solid var(--border);padding:10px 12px;border-radius:12px;font-weight:800;cursor:pointer}.empty{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;color:var(--muted);font-size:13px}.usersCard{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}.usersTabs{display:flex;gap:18px;padding:12px 14px;border-bottom:1px solid var(--border)}.usersTab{border:0;background:transparent;padding:10px 12px;border-radius:10px;font-size:12px;font-weight:700;letter-spacing:.02em;color:#0f172a9e;text-transform:uppercase;cursor:pointer}.usersTab:hover{background:#2563eb0f;color:#0f172ad1}.usersTab:focus{outline:none}.usersTab:focus-visible{outline:none;box-shadow:0 0 0 4px var(--ring)}.usersTab.active{color:var(--primary);background:#2563eb14;position:relative}.usersTab.active:after{content:"";position:absolute;left:12px;right:12px;bottom:-12px;height:2px;background:var(--primary);border-radius:999px}.usersBody{padding:16px}.filtersRow{display:flex;align-items:center;gap:12px;padding-bottom:12px;border-bottom:1px solid rgba(15,23,42,.08);margin-bottom:12px}.filtersSpacer{flex:1}.searchInputWrap{flex:1;min-width:220px}.searchInput{width:100%;height:42px;border-radius:12px;border:1px solid var(--border);padding:0 12px;background:#fff;color:var(--text);outline:none}.searchInput:focus{box-shadow:0 0 0 4px var(--ring);border-color:#2563eb59}.filterSelect{height:42px;border-radius:12px;border:1px solid var(--border);padding:0 12px;background:#fff;color:var(--text);outline:none;min-width:140px}.filterSelect:focus{box-shadow:0 0 0 4px var(--ring);border-color:#2563eb59}.tabTopRow{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.sectionTitle{font-size:16px;font-weight:700;color:var(--text)}.tableWrap{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}.table thead th{text-align:left;background:#0f172a08;padding:12px;font-size:12px;font-weight:700;color:#0f172ab8;border-bottom:1px solid var(--border)}.table tbody td{padding:12px;border-bottom:1px solid rgba(15,23,42,.08)}.table tbody tr:last-child td{border-bottom:0}.cellStrong{font-weight:700}.roleNameCell{display:inline-flex;align-items:center;gap:8px}.userCell{display:flex;align-items:center;gap:10px}.avatarCircle{width:34px;height:34px;border-radius:999px;background:#2563eb1a;border:1px solid rgba(37,99,235,.18);color:var(--primary);display:grid;place-items:center;font-weight:800}.cellSub{font-size:12px;color:var(--muted);margin-top:2px}.pill{display:inline-flex;align-items:center;border:1px solid rgba(15,23,42,.12);background:#0f172a08;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700}.pill.success{background:#22c55e1f;border-color:#22c55e42;color:#166534}.pill.warn{background:#f973161f;border-color:#f9731642;color:#9a3412}.rolesChips{display:flex;flex-wrap:wrap;gap:6px}.roleChip{display:inline-flex;align-items:center;border:1px solid rgba(15,23,42,.12);background:#0f172a08;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;white-space:nowrap}.hint{font-size:12px;color:var(--muted)}.upaForm{display:grid;grid-template-columns:1fr 1fr 180px auto;gap:12px;align-items:end;padding-bottom:12px;border-bottom:1px solid rgba(15,23,42,.08);margin-bottom:12px}.upaActions{display:flex;gap:10px}@media(max-width:900px){.upaForm{grid-template-columns:1fr;align-items:stretch}.upaActions{justify-content:flex-end}}.switchRow{display:inline-flex;align-items:center;gap:10px;font-weight:600;color:#0f172ab8}.switchRow input{width:40px;height:22px}.userFormGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.multiSelect{width:100%;height:42px;border-radius:12px;border:1px solid var(--border);padding:0 12px;background:#fff;color:#0f172ab8;display:inline-flex;align-items:center;justify-content:space-between}.multiSelect.invalid{border-color:#ef444473;box-shadow:0 0 0 4px #ef44441a}.multiSelectPanel{margin-top:8px;border:1px solid rgba(15,23,42,.12);border-radius:12px;background:#fff;box-shadow:var(--shadow-sm);padding:10px;display:grid;gap:8px;max-height:190px;overflow:auto}@media(max-width:900px){.userFormGrid{grid-template-columns:1fr}.filtersRow{flex-wrap:wrap}}.countPill{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:999px;border:1px solid rgba(37,99,235,.25);background:#2563eb0f;color:var(--primary);font-weight:700;font-size:12px}.rowActions{display:inline-flex;align-items:center;gap:8px}.iconAction{border:1px solid var(--border);background:var(--surface);border-radius:10px;width:32px;height:32px;cursor:pointer;display:grid;place-items:center;color:#0f172ab8;transition:background .12s ease,border-color .12s ease,color .12s ease;padding:0;line-height:0}.iconAction svg{display:block}.iconAction:hover{background:var(--surface-2);border-color:#0f172a2e}.iconAction.danger{border-color:#ef444459;color:#ef4444e6}.iconAction.danger:hover{background:#ef44440f;border-color:#ef444473}.roleForm{display:grid;gap:12px}.formField{display:flex;flex-direction:column;gap:6px}.formField.full{grid-column:1 / -1}.formLabel{font-size:12px;font-weight:600;color:#0f172ab8}.formInput{height:42px;border-radius:12px;border:1px solid var(--border);padding:0 12px;background:#fff;color:var(--text);outline:none}.formInput.invalid{border-color:#ef444473;box-shadow:0 0 0 4px #ef44441a}.formInput:focus{box-shadow:0 0 0 4px var(--ring);border-color:#2563eb59}.permHeader{display:flex;align-items:baseline;justify-content:space-between;padding-top:10px;border-top:1px solid var(--border);margin-top:6px}.permTitle{font-size:14px;font-weight:700}.permMeta{font-size:12px;color:var(--muted)}.permGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-height:52vh;overflow:auto;padding-right:6px}.permCard{border:1px solid var(--border);background:#0f172a05;border-radius:var(--radius);padding:12px}.permCardTitle{font-weight:700;margin-bottom:10px}.permChecks{display:flex;gap:14px;flex-wrap:wrap}.checkRow{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:#0f172ab8}.checkRow input{width:16px;height:16px}@media(max-width:900px){.permGrid{grid-template-columns:1fr}}.msPage{max-width:1400px}.msHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.msTitle{font-size:22px;font-weight:900;color:var(--text);letter-spacing:-.01em}.msSubtitle{font-size:13px;color:var(--muted);margin-top:4px}.msCard{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}.msToolbar{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--border);flex-wrap:wrap}.msToolbar .msSpacer{flex:1}.msSelect{height:38px;border-radius:10px;border:1px solid var(--border);padding:0 10px;background:#fff;color:var(--text);outline:none;min-width:140px;font-weight:600;font-size:12px}.msSelect:focus{box-shadow:0 0 0 3px var(--ring);border-color:#2563eb59}.msSearchInput{height:38px;border-radius:10px;border:1px solid var(--border);padding:0 10px;background:#fff;color:var(--text);outline:none;min-width:200px;font-size:12px}.msSearchInput:focus{box-shadow:0 0 0 3px var(--ring);border-color:#2563eb59}.msPrimaryBtn{display:inline-flex;align-items:center;gap:6px;background:var(--primary);color:#fff;border:1px solid var(--primary-700);padding:8px 14px;border-radius:10px;font-weight:800;font-size:12px;cursor:pointer}.msPrimaryBtn:disabled{opacity:.55;cursor:not-allowed}.msSecBtn{display:inline-flex;align-items:center;gap:6px;background:var(--surface);color:var(--text);border:1px solid var(--border);padding:8px 12px;border-radius:10px;font-weight:700;font-size:12px;cursor:pointer}.msIconBtn{border:1px solid var(--border);background:var(--surface);border-radius:8px;width:32px;height:32px;cursor:pointer;display:grid;place-items:center;color:#0f172ab8;padding:0;line-height:0}.msIconBtn.danger{border-color:#dc262638;color:#dc2626d1}.msIconBtn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.msBody{padding:0}.msTabs{display:flex;gap:0;border-bottom:1px solid var(--border)}.msTab{border:0;background:transparent;padding:10px 16px;font-size:12px;font-weight:700;letter-spacing:.02em;color:#0f172a8c;text-transform:uppercase;cursor:pointer;position:relative}.msTab:hover{color:#0f172ad1}.msTab.active{color:var(--primary)}.msTab.active:after{content:"";position:absolute;left:12px;right:12px;bottom:-1px;height:2px;background:var(--primary);border-radius:999px}.msList{padding:14px;display:grid;gap:10px}.msMilestoneCard{border:1px solid var(--border);border-radius:12px;background:var(--surface);overflow:hidden;cursor:pointer;transition:box-shadow .15s}.msMilestoneCard:hover{box-shadow:0 2px 12px #2563eb14}.msMilestoneHeader{display:flex;align-items:center;gap:12px;padding:14px 16px}.msMilestoneTitle{font-size:14px;font-weight:800;color:var(--text);flex:1}.msMilestoneProject{font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;background:#2563eb14;color:#2563eb;border:1px solid rgba(37,99,235,.18)}.msMilestoneMeta{display:flex;gap:16px;padding:0 16px 12px;font-size:11px;color:var(--muted)}.msMilestoneMeta span{display:inline-flex;align-items:center;gap:4px}.msTreeWrap{padding:14px;overflow-x:auto}.msTreeTable{width:100%;border-collapse:separate;border-spacing:0;font-size:12px;min-width:1000px}.msTreeTable thead th{text-align:left;background:#0f172a08;padding:10px;font-size:11px;font-weight:700;color:#0f172aa6;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:2}.msTreeTable tbody td{padding:8px 10px;border-bottom:1px solid rgba(15,23,42,.06);vertical-align:middle}.msTreeTable tbody tr:hover td{background:#2563eb05}.msIndent0{padding-left:10px!important}.msIndent1{padding-left:32px!important}.msIndent2{padding-left:56px!important}.msRowTitle{font-weight:700;color:var(--text)}.msCatRow td{background:#2563eb08}.msCatRow .msRowTitle{font-weight:800;font-size:13px;color:#1e40af}.msTaskRow td{background:transparent}.msSubRow td{background:#f8fafccc}.msSubRow .msRowTitle{font-weight:600;color:#0f172ab8;font-size:11px}.msPill{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:10px;font-weight:700;border:1px solid rgba(15,23,42,.12);background:#0f172a08}.msPill.success{background:#22c55e1f;border-color:#22c55e42;color:#166534}.msPill.warn{background:#f973161f;border-color:#f9731642;color:#9a3412}.msPill.blue{background:#2563eb1a;border-color:#2563eb33;color:#1e40af}.msPill.danger{background:#dc26261a;border-color:#dc262633;color:#991b1b}.msPill.gray{background:#64748b1a;border-color:#64748b33;color:#475569}.msProgressWrap{width:80px;height:6px;background:#0f172a14;border-radius:999px;overflow:hidden}.msProgressBar{height:100%;border-radius:999px;transition:width .3s}.msProgressBar.green{background:#16a34a}.msProgressBar.yellow{background:#d97706}.msProgressBar.red{background:#dc2626}.msProgressBar.blue{background:#2563eb}.msProgressLabel{font-size:10px;font-weight:700;color:var(--muted);margin-left:4px}.msRowActions{display:inline-flex;align-items:center;gap:4px}.msRowActionBtn{border:1px solid var(--border);background:var(--surface);border-radius:6px;width:26px;height:26px;cursor:pointer;display:grid;place-items:center;color:#0f172a99;padding:0;line-height:0;font-size:0}.msRowActionBtn:hover{background:#2563eb0f;color:var(--primary)}.msRowActionBtn.danger{border-color:#dc262638;color:#dc2626b3}.msRowActionBtn.danger:hover{background:#dc262614}.msRiskBadge{display:inline-flex;align-items:center;gap:3px;padding:2px 6px;border-radius:6px;font-size:9px;font-weight:800;text-transform:uppercase}.msRiskBadge.overdue{background:#dc26261f;color:#dc2626}.msRiskBadge.atrisk{background:#f973161f;color:#d97706}.msRiskBadge.blocked{background:#8b5cf61f;color:#7c3aed}.msRiskBadge.ontrack{background:#22c55e1a;color:#16a34a}.msGanttWrap{overflow-x:auto;padding:14px}.msGanttContainer{display:flex;min-width:100%}.msGanttLeft{min-width:280px;max-width:280px;border-right:2px solid var(--border);flex-shrink:0;position:sticky;left:0;z-index:5;background:var(--surface)}.msGanttLeftHeader{height:48px;display:flex;align-items:center;padding:0 10px;font-size:11px;font-weight:700;color:#0f172aa6;background:#0f172a08;border-bottom:1px solid var(--border)}.msGanttLeftRow{height:36px;display:flex;align-items:center;padding:0 10px;font-size:11px;font-weight:600;color:var(--text);border-bottom:1px solid rgba(15,23,42,.06);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.msGanttLeftRow.cat{font-weight:800;color:#1e40af;background:#2563eb08}.msGanttLeftRow.sub{color:#0f172a99;font-weight:500}.msGanttRight{flex:1;overflow-x:auto;position:relative}.msGanttTimeline{position:relative;min-height:100%}.msGanttTimeHeader{height:48px;display:flex;background:#0f172a08;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:3}.msGanttTimeCell{display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:#0f172a8c;border-right:1px solid rgba(15,23,42,.06);flex-shrink:0}.msGanttTimeCell.weekend{background:#f973160a}.msGanttTimeCell.today{background:#2563eb14;color:var(--primary);font-weight:800}.msGanttRows{position:relative}.msGanttRow{height:36px;position:relative;border-bottom:1px solid rgba(15,23,42,.06)}.msGanttBar{position:absolute;top:8px;height:20px;border-radius:4px;font-size:9px;font-weight:700;color:#fff;display:flex;align-items:center;padding:0 6px;overflow:hidden;white-space:nowrap;min-width:4px;z-index:2}.msGanttBar.default{background:#94a3b8}.msGanttBar.completed{background:#16a34a}.msGanttBarContent{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;cursor:grab;-webkit-user-select:none;user-select:none}.msGanttHandle{position:absolute;top:0;bottom:0;width:6px;cursor:col-resize;z-index:3}.msGanttHandleLeft{left:0;border-radius:4px 0 0 4px}.msGanttHandleRight{right:0;border-radius:0 4px 4px 0}.msGanttHandle:hover{background:#ffffff59}.msGanttBarProgress{position:absolute;left:0;top:0;bottom:0;border-radius:4px;background:#ffffff40;pointer-events:none}.msGanttDep{position:absolute;z-index:1}.msGanttDepLine{stroke:#94a3b8;stroke-width:1.5;fill:none;marker-end:url(#arrowhead)}.msGanttToday{position:absolute;top:0;bottom:0;width:2px;background:#ef4444;z-index:4;opacity:.6}.msCriticalPanel{margin:14px;border:1px solid rgba(220,38,38,.2);border-radius:12px;background:#dc262608;padding:14px}.msCriticalTitle{font-size:14px;font-weight:800;color:#991b1b;margin-bottom:10px;display:flex;align-items:center;gap:8px}.msCriticalItem{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid rgba(220,38,38,.08);font-size:12px}.msCriticalItem:last-child{border-bottom:0}.msEmpty{padding:40px 16px;text-align:center;color:var(--muted);font-size:13px}.msFormGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.msFormField{display:grid;gap:6px}.msFormLabel{font-size:12px;font-weight:700;color:#0f172ab8}.msFormInput{height:40px;border-radius:10px;border:1px solid var(--border);padding:0 10px;background:#fff;color:var(--text);outline:none;font-size:12px}.msFormInput:focus{box-shadow:0 0 0 3px var(--ring);border-color:#2563eb59}.msFormSelect{height:40px;border-radius:10px;border:1px solid var(--border);padding:0 10px;background:#fff;color:var(--text);outline:none;font-size:12px}.msFormSelect:focus{box-shadow:0 0 0 3px var(--ring);border-color:#2563eb59}.msFormTextarea{border-radius:10px;border:1px solid var(--border);padding:8px 10px;background:#fff;color:var(--text);outline:none;font-size:12px;resize:vertical;min-height:60px;font-family:inherit}.msFormTextarea:focus{box-shadow:0 0 0 3px var(--ring);border-color:#2563eb59}.msFullSpan{grid-column:1 / -1}.msLegend{display:flex;align-items:center;gap:14px;padding:8px 14px;border-top:1px solid var(--border);font-size:10px;color:var(--muted)}.msLegendDot{width:10px;height:10px;border-radius:3px;display:inline-block;margin-right:4px}.msInlineDate{width:100%;height:28px;border-radius:6px;border:1px solid transparent;padding:0 4px;background:transparent;color:var(--text);outline:none;font-size:11px;font-family:inherit}.msInlineDate:hover{border-color:var(--border);background:#fff}.msInlineDate:focus{border-color:#2563eb59;background:#fff;box-shadow:0 0 0 2px var(--ring)}.msInlineSelect{width:100%;height:28px;border-radius:6px;border:1px solid transparent;padding:0 2px;background:transparent;color:var(--text);outline:none;font-size:10px;font-family:inherit;cursor:pointer}.msInlineSelect:hover{border-color:var(--border);background:#fff}.msInlineSelect:focus{border-color:#2563eb59;background:#fff;box-shadow:0 0 0 2px var(--ring)}.msSkeleton{height:14px;border-radius:6px;background:linear-gradient(90deg,#0f172a0f 25%,#0f172a1a,#0f172a0f 75%);background-size:200% 100%;animation:msShimmer 1.5s infinite}@keyframes msShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.msFilterBar{margin:0 14px 10px;padding:12px 14px;border-radius:10px;background:#2563eb08;border:1px solid rgba(37,99,235,.1)}.msFilterRow{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.msFilterGroup{display:flex;flex-direction:column;gap:3px;min-width:0}.msFilterLabel{font-size:10px;font-weight:700;color:#0f172a8c;text-transform:uppercase;letter-spacing:.3px}.msFilterInput{height:32px;border-radius:8px;border:1px solid var(--border);padding:0 8px;background:#fff;color:var(--text);outline:none;font-size:11px;font-family:inherit;min-width:120px}.msFilterInput:focus{box-shadow:0 0 0 2px var(--ring);border-color:#2563eb59}.msFilterSelect{height:60px;border-radius:8px;border:1px solid var(--border);padding:4px;background:#fff;color:var(--text);outline:none;font-size:11px;font-family:inherit;min-width:110px}.msFilterSelect:focus{box-shadow:0 0 0 2px var(--ring);border-color:#2563eb59}.msFilterActions{display:flex;align-items:center;gap:6px;padding-bottom:2px}.msFilterSaved{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:10px;padding-top:8px;border-top:1px solid rgba(37,99,235,.08)}.msFilterChip{display:inline-flex;align-items:center;border-radius:999px;background:#fff;border:1px solid var(--border);font-size:11px;overflow:hidden;transition:all .15s}.msFilterChip.active{background:#2563eb14;border-color:#2563eb40}.msFilterChipBtn{border:none;background:none;padding:3px 8px;cursor:pointer;font-size:11px;font-weight:600;color:var(--text);display:flex;align-items:center}.msFilterChipBtn:hover{background:#2563eb0f}.msFilterChipDel{border:none;background:none;padding:3px 5px 3px 0;cursor:pointer;color:#94a3b8;display:flex;align-items:center}.msFilterChipDel:hover{color:#dc2626}.ssWrap{position:relative;min-width:90px}.ssBtn{display:flex;align-items:center;gap:4px;width:100%;height:26px;border-radius:6px;border:1px solid rgba(15,23,42,.1);padding:0 6px;background:#fff;color:#0f172a;outline:none;font-size:11px;font-family:inherit;cursor:pointer;text-align:left}.ssBtn:hover{border-color:#2563eb4d}.ssBtn:focus{box-shadow:0 0 0 2px #2563eb1f;border-color:#2563eb59}.ssText{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ssPanel{position:absolute;top:calc(100% + 3px);left:0;z-index:50;min-width:180px;width:max-content;max-width:260px;background:#fff;border:1px solid rgba(15,23,42,.12);border-radius:10px;box-shadow:0 8px 24px #0f172a1f;overflow:hidden}.ssSearch{width:100%;height:32px;border:none;border-bottom:1px solid rgba(15,23,42,.08);padding:0 10px;font-size:12px;font-family:inherit;outline:none;background:#f8fafc;color:#0f172a}.ssSearch::placeholder{color:#94a3b8}.ssList{max-height:180px;overflow-y:auto;padding:3px 0}.ssItem{padding:6px 10px;font-size:12px;cursor:pointer;-webkit-user-select:none;user-select:none}.ssItem:hover{background:#2563eb0a}.ssItem.active{background:#2563eb14;font-weight:700;color:#2563eb}.ssEmpty{padding:10px;font-size:11px;color:#94a3b8;text-align:center}.msMultiDrop{position:relative;min-width:130px}.msMultiDropBtn{display:flex;align-items:center;gap:6px;width:100%;height:32px;border-radius:8px;border:1px solid var(--border);padding:0 8px;background:#fff;color:var(--text);outline:none;font-size:11px;font-family:inherit;cursor:pointer;text-align:left}.msMultiDropBtn:hover{border-color:#2563eb4d}.msMultiDropBtn:focus{box-shadow:0 0 0 2px var(--ring);border-color:#2563eb59}.msMultiDropText{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.msMultiDropPanel{position:absolute;top:calc(100% + 4px);left:0;z-index:50;min-width:200px;max-width:280px;width:max-content;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px #0f172a1f;overflow:hidden}.msMultiDropSearch{width:100%;height:34px;border:none;border-bottom:1px solid var(--border);padding:0 10px;font-size:12px;font-family:inherit;outline:none;background:#f8fafc;color:var(--text)}.msMultiDropSearch::placeholder{color:#94a3b8}.msMultiDropList{max-height:200px;overflow-y:auto;padding:4px 0}.msMultiDropItem{display:flex;align-items:center;gap:8px;padding:6px 10px;font-size:12px;cursor:pointer;-webkit-user-select:none;user-select:none}.msMultiDropItem:hover{background:#2563eb0a}.msMultiDropItem input[type=checkbox]{width:14px;height:14px;accent-color:#2563eb;cursor:pointer;flex-shrink:0}.msMultiDropEmpty{padding:12px 10px;font-size:11px;color:#94a3b8;text-align:center}.msMultiDropClear{display:block;width:100%;border:none;border-top:1px solid var(--border);background:none;padding:6px 10px;font-size:11px;color:#dc2626;cursor:pointer;text-align:center;font-family:inherit}.msMultiDropClear:hover{background:#dc26260a}@media(max-width:900px){.msFormGrid{grid-template-columns:1fr}.msToolbar{flex-direction:column;align-items:stretch}.msFilterRow{flex-direction:column}}.richEditor{border:1px solid var(--border);border-radius:var(--radius);background:#fff;overflow:hidden}.richEditor.focused{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.richEditorToolbar{display:flex;align-items:center;gap:4px;padding:6px 8px;border-bottom:1px solid var(--border);background:#f8fafc80}.richEditorBtn{border:1px solid transparent;background:transparent;border-radius:4px;width:28px;height:28px;padding:0;display:grid;place-items:center;cursor:pointer;font-size:14px;color:var(--text);transition:all .15s}.richEditorBtnWide{width:auto;padding:0 8px;gap:4px;grid-template-columns:auto auto}.richEditorBtn:hover:not(:disabled){background:#0f172a0d;border-color:var(--border)}.richEditorBtn:active:not(:disabled){background:#0f172a1a}.richEditorBtn:disabled{opacity:.5;cursor:not-allowed}.richEditorSep{width:1px;height:20px;background:var(--border);margin:0 4px}.richEditorContent{min-height:120px;max-height:400px;overflow-y:auto;padding:12px;font-size:14px;line-height:1.6;color:var(--text);outline:none}.richEditorContent:empty:before{content:attr(data-placeholder);color:#0f172a66;pointer-events:none}.richEditorContent p{margin:0 0 8px}.richEditorContent p:last-child{margin-bottom:0}.richEditorContent ul,.richEditorContent ol{margin:0 0 8px;padding-left:24px}.richEditorContent li{margin-bottom:4px}.richEditorContent strong{font-weight:600}.richEditorContent h1,.richEditorContent h2,.richEditorContent h3{margin:12px 0 8px;font-weight:700;line-height:1.3}.richEditorContent h1{font-size:24px}.richEditorContent h2{font-size:20px}.richEditorContent h3{font-size:16px}.richEditorContent pre{background:#f8fafc;border:1px solid rgba(15,23,42,.1);border-radius:6px;padding:12px;margin:8px 0;overflow-x:auto;font-family:Courier New,monospace;font-size:13px}.richEditorContent table{border-collapse:collapse;width:100%;margin:8px 0}.richEditorContent table td,.richEditorContent table th{border:1px solid #ddd;padding:8px;text-align:left}.richEditorContent table th{background:#f8fafc;font-weight:600}.richEditorContent img{max-width:100%;height:auto;border-radius:4px;margin:8px 0}.richEditorContent a{color:#2563eb;text-decoration:underline}.richEditorContent a:hover{color:#1d4ed8}.richEditorDropdown{position:relative}.richEditorDropdownMenu{position:absolute;top:100%;left:0;margin-top:4px;background:#fff;border:1px solid rgba(15,23,42,.1);border-radius:6px;box-shadow:0 4px 12px #0f172a1a;padding:4px;min-width:160px;z-index:1000}.richEditorDropdownMenu button{width:100%;text-align:left;padding:6px 10px;border:none;background:transparent;border-radius:4px;cursor:pointer;font-size:13px;color:var(--text);transition:background .15s}.richEditorDropdownMenu button:hover{background:#0f172a0d}.richEditorColorPicker{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:8px;min-width:auto}.richEditorColorBtn{width:28px;height:28px;border:2px solid white;border-radius:4px;cursor:pointer;box-shadow:0 0 0 1px #0f172a1a;transition:transform .15s}.richEditorColorBtn:hover{transform:scale(1.1);box-shadow:0 0 0 2px #2563eb80}.ticketsPage{padding:8px 12px 12px;max-width:100%;margin:0 auto}.ticketsHeader{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.ticketsHeaderLeft{display:flex;align-items:baseline;gap:16px}.ticketsTitle{font-size:22px;font-weight:700;color:var(--text);margin:0}.ticketsMeta{font-size:12px;color:#0f172a99}.ticketsFilters{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap}.ticketsSearchWrap{position:relative;flex:1;min-width:280px}.ticketsSearchIcon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#0f172a66;pointer-events:none}.ticketsSearch{width:100%;padding:7px 10px 7px 32px;border:1px solid var(--border);border-radius:var(--radius);font-size:12px;outline:none;transition:all .15s}.ticketsSearch:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.ticketsFilterSelect{padding:7px 10px;border:1px solid var(--border);border-radius:var(--radius);font-size:12px;background:#fff;cursor:pointer;outline:none;transition:all .15s;min-width:140px}.ticketsFilterSelect:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.ticketsGrid{border:1px solid var(--border);border-radius:var(--radius);background:#fff;overflow:hidden}.ticketsGridHeader{display:grid;grid-template-columns:100px 1fr 120px 130px 120px 120px 100px 90px 90px 90px 140px;gap:8px;padding:8px 12px;background:#f8fafccc;border-bottom:1px solid var(--border);font-weight:600;font-size:11px;color:#0f172ab3;text-transform:uppercase;letter-spacing:.03em}.ticketsGridRow{display:grid;grid-template-columns:100px 1fr 120px 130px 120px 120px 100px 90px 90px 90px 140px;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border);transition:background .15s;font-size:12px}.ticketsGridRow:last-child{border-bottom:none}.ticketsGridRow:hover{background:#2563eb08}.ticketsGridCell{display:flex;align-items:center;font-size:14px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ticketIdLink{color:#2563eb;font-weight:600;font-family:Courier New,monospace;cursor:pointer;transition:color .15s}.ticketIdLink:hover{color:#1d4ed8;text-decoration:underline}.ticketTitle{font-weight:500}.ticketStatusBadge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600;background:#2563eb1a;color:#2563eb}.ticketsSkeleton{border:1px solid var(--border);border-radius:var(--radius);background:#fff;overflow:hidden}.ticketsSkeletonRow{height:52px;border-bottom:1px solid var(--border);background:linear-gradient(90deg,transparent 0%,rgba(15,23,42,.04) 50%,transparent 100%);background-size:200% 100%;animation:skeleton 1.5s ease-in-out infinite}@keyframes skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}.ticketsEmpty{padding:60px 20px;text-align:center;color:#0f172a80;font-size:15px;border:1px solid var(--border);border-radius:var(--radius);background:#fff}.ticketsPagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:20px}.ticketsPaginationInfo{font-size:14px;color:#0f172ab3}.ticketsModalForm{display:grid;gap:16px}.ticketsFormRow{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.ticketsLabelsGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.ticketsLabelCheckbox{display:flex;align-items:center;gap:8px;cursor:pointer}.ticketsLabelCheckbox input[type=checkbox]{cursor:pointer}.ticketsLabelBadge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600;color:#fff;flex:1;text-align:center}.ticketsToolbar{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#fff;border:1px solid var(--border);border-radius:var(--radius);margin-bottom:12px}.ticketsFilterPanel{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:12px;margin-bottom:12px}.ticketsFilterGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:12px}.ticketsFilterField{display:flex;flex-direction:column;gap:6px}.ticketsFilterField label{font-size:11px;font-weight:700;color:#0f172a99;text-transform:uppercase;letter-spacing:.03em}.ticketsFilterActions{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding-top:8px;border-top:1px solid var(--border)}.activityFeed{margin-top:32px;padding:24px;background:#fff;border:1px solid var(--border);border-radius:var(--radius)}.activityFeedHeader{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border)}.activityFeedHeader h3{font-size:18px;font-weight:700;color:var(--text);margin:0}.activityTabs{display:flex;gap:8px}.activityTab{display:flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--border);border-radius:var(--radius);background:#fff;color:#0f172ab3;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.activityTab:hover{background:#0f172a0d;border-color:#0f172a33}.activityTab.active{background:#2563eb;color:#fff;border-color:#2563eb}.activityCommentInput{display:flex;gap:12px;margin-bottom:24px;padding:16px;background:#0f172a05;border:1px solid var(--border);border-radius:var(--radius)}.activityAvatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;flex-shrink:0}.activityCommentInputWrapper{flex:1;display:flex;flex-direction:column;gap:8px}.activityCommentTextarea{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);font-size:14px;font-family:inherit;resize:vertical;outline:none;transition:all .15s}.activityCommentTextarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.activityCommentSubmit{align-self:flex-end;padding:8px 16px;background:#2563eb;color:#fff;border:none;border-radius:var(--radius);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s}.activityCommentSubmit:hover:not(:disabled){background:#1d4ed8}.activityCommentSubmit:disabled{opacity:.5;cursor:not-allowed}.activityList{display:flex;flex-direction:column;gap:16px}.activityLoading,.activityEmpty{padding:40px 20px;text-align:center;color:#0f172a80;font-size:14px}.activityItem{display:flex;gap:12px;padding:16px;border-radius:var(--radius);transition:all .15s}.activityItem:hover{background:#0f172a05}.activityContent{flex:1;min-width:0}.activityMeta{display:flex;align-items:center;gap:12px;margin-bottom:8px}.activityUsername{font-weight:600;color:var(--text);font-size:14px}.activityTimestamp{display:flex;align-items:center;gap:4px;font-size:12px;color:#0f172a80}.activityEdited{margin-left:4px;font-style:italic;color:#0f172a66}.activityCommentText{font-size:14px;color:#0f172acc;line-height:1.6;white-space:pre-wrap;word-break:break-word;margin-bottom:8px}.activityCommentActions{display:flex;gap:12px}.activityCommentAction{display:flex;align-items:center;gap:4px;padding:4px 8px;background:none;border:none;color:#0f172a99;font-size:12px;font-weight:500;cursor:pointer;border-radius:4px;transition:all .15s}.activityCommentAction:hover{background:#0f172a0d;color:#0f172ae6}.activityCommentAction.danger:hover{background:#ef44441a;color:#dc2626}.activityCommentEdit{display:flex;flex-direction:column;gap:8px}.activityCommentEditActions{display:flex;gap:8px}.activityCommentSave,.activityCommentCancel{padding:6px 12px;border:1px solid var(--border);border-radius:var(--radius);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}.activityCommentSave{background:#2563eb;color:#fff;border-color:#2563eb}.activityCommentSave:hover:not(:disabled){background:#1d4ed8}.activityCommentSave:disabled{opacity:.5;cursor:not-allowed}.activityCommentCancel{background:#fff;color:#0f172ab3}.activityCommentCancel:hover{background:#0f172a0d}.activityHistory{border-left:2px solid rgba(15,23,42,.1)}.activityHistoryText{font-size:14px;color:#0f172acc;margin-bottom:4px}.activityHistoryText .activityUsername{color:var(--text)}.activityMentionsDropdown{position:absolute;bottom:100%;left:0;right:0;background:#fff;border:1px solid var(--border);border-radius:var(--radius);margin-bottom:8px;max-height:200px;overflow-y:auto;box-shadow:0 4px 12px #00000026;z-index:1000}.activityMentionItem{display:flex;align-items:center;gap:10px;padding:10px 12px;cursor:pointer;transition:all .15s;border-bottom:1px solid rgba(15,23,42,.05)}.activityMentionItem:last-child{border-bottom:none}.activityMentionItem:hover{background:#2563eb0d}.activityMentionAvatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;flex-shrink:0}.activityMentionInfo{flex:1;min-width:0}.activityMentionUsername{font-size:13px;font-weight:600;color:var(--text);margin-bottom:2px}.activityMentionEmail{font-size:11px;color:#0f172a80;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ticketDetailPage{padding:12px;max-width:100%;margin:0 auto}.ticketDetailLoading,.ticketDetailError{padding:60px 20px;text-align:center;color:#0f172a99;font-size:15px}.ticketDetailHeader{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.ticketDetailActions{display:flex;gap:8px}.ticketDetailContent{display:grid;grid-template-columns:1fr 320px;gap:16px}.ticketDetailMain{display:grid;gap:12px}.ticketDetailTitle{display:flex;align-items:center;gap:12px}.ticketIdBadge{display:inline-block;padding:4px 10px;background:#2563eb;color:#fff;border-radius:6px;font-weight:700;font-size:13px;font-family:Courier New,monospace}.ticketDetailTitle h1{font-size:22px;font-weight:700;color:var(--text);margin:0;flex:1}.ticketTitleInput{flex:1;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius);font-size:16px;font-weight:600;outline:none;transition:all .15s}.ticketTitleInput:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.ticketDetailSection{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:12px}.ticketDetailSection h3{font-size:14px;font-weight:700;color:var(--text);margin:0 0 10px}.ticketDetailHtml{font-size:13px;line-height:1.5;color:var(--text)}.ticketDetailHtml p{margin:0 0 8px}.ticketDetailHtml p:last-child{margin-bottom:0}.ticketDetailHtml ul,.ticketDetailHtml ol{margin:0 0 8px;padding-left:20px}.ticketDetailHtml li{margin-bottom:4px}.ticketDetailEmpty{color:#0f172a80;font-size:13px;font-style:italic}.ticketDetailFiles{display:grid;gap:8px}.ticketFileItem{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;background:#f8fafccc;border:1px solid var(--border);border-radius:6px}.ticketFileName{font-size:12px;color:var(--text);font-weight:500}.ticketFileActions{display:flex;gap:8px}.ticketFileBtn{border:1px solid var(--border);background:#fff;border-radius:4px;width:28px;height:28px;padding:0;display:grid;place-items:center;cursor:pointer;color:var(--text);transition:all .15s;text-decoration:none}.ticketFileBtn:hover{background:#0f172a0d}.ticketFileBtn.danger{color:#dc2626}.ticketFileBtn.danger:hover{background:#dc26261a;border-color:#dc2626}.ticketFileUpload{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;background:#fff;border:1px dashed var(--border);border-radius:6px;font-size:12px;font-weight:600;color:#2563eb;cursor:pointer;transition:all .15s}.ticketFileUpload:hover{background:#2563eb0d;border-color:#2563eb}.ticketDetailSidebar{display:grid;gap:10px;align-content:start}.ticketDetailField{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:10px}.ticketDetailField label{display:block;font-size:11px;font-weight:700;color:#0f172a99;text-transform:uppercase;letter-spacing:.03em;margin-bottom:6px}.ticketDetailValue{font-size:13px;color:var(--text);font-weight:500}.ticketDetailSelect,.ticketDetailInput{width:100%;padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius);font-size:13px;outline:none;transition:all .15s}.ticketDetailSelect:focus,.ticketDetailInput:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.ticketDetailLabels{display:grid;gap:8px}.ticketDetailLabelCheckbox{display:flex;align-items:center;gap:8px;font-size:14px;cursor:pointer}.ticketDetailLabelCheckbox input[type=checkbox]{cursor:pointer}.ticketRelationshipItem{padding:10px 12px;background:#f8fafccc;border:1px solid var(--border);border-radius:6px;transition:all .15s}.ticketRelationshipItem:hover{background:#2563eb0d;border-color:#2563eb;transform:translateY(-1px);box-shadow:0 2px 4px #0000000d}.ticketChildList{display:grid;gap:8px}.analyticsPage{padding:20px;max-width:100%;margin:0 auto}.analyticsHeader{margin-bottom:20px}.analyticsHeader h1{font-size:24px;font-weight:700;color:var(--text);margin:0}.analyticsCardHeader{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--border)}.analyticsCardHeader h2{margin:0}.analyticsCardFilters{display:flex;gap:16px}.analyticsFilterGroup{display:flex;flex-direction:column;gap:6px;min-width:180px}.analyticsFilterGroup label{font-size:11px;font-weight:600;color:#0f172ab3;text-transform:uppercase;letter-spacing:.03em}.analyticsFilterSelect{padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius);font-size:13px;outline:none;transition:all .15s;background:#fff}.analyticsFilterSelect:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.analyticsLoading{padding:60px 20px;text-align:center;color:#0f172a99;font-size:15px}.analyticsCard{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:20px}.analyticsCard h2{font-size:18px;font-weight:700;color:var(--text)}.analyticsTableWrapper{overflow-x:auto}.analyticsTable{width:100%;border-collapse:collapse;font-size:13px}.analyticsTableHeaderCorner{background:#f8fafc;border:1px solid var(--border);padding:12px;text-align:left;font-weight:700;color:var(--text);position:sticky;left:0;z-index:2}.analyticsTableHeader{background:#f8fafc;border:1px solid var(--border);padding:12px;text-align:center;font-weight:700;color:var(--text);white-space:nowrap}.analyticsTableTeamName{background:#f8fafc;border:1px solid var(--border);padding:12px;font-weight:600;color:var(--text);position:sticky;left:0;z-index:1}.analyticsTableCell{border:1px solid var(--border);padding:12px;text-align:center;color:#0f172a80}.analyticsTableCell.clickable{color:#2563eb;font-weight:600;cursor:pointer;transition:all .15s}.analyticsTableCell.clickable:hover{background:#2563eb0d;color:#1e40af}.analyticsModal{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.analyticsModalContent{background:#fff;border-radius:var(--radius);max-width:1000px;width:100%;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.analyticsModalHeader{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid var(--border)}.analyticsModalHeader h3{font-size:18px;font-weight:700;color:var(--text);margin:0}.analyticsModalClose{border:none;background:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;color:#0f172a99;transition:all .15s;border-radius:4px}.analyticsModalClose:hover{background:#0f172a0d;color:var(--text)}.analyticsModalBody{padding:20px;overflow-y:auto;flex:1}.analyticsModalLoading,.analyticsModalEmpty{padding:40px 20px;text-align:center;color:#0f172a99;font-size:14px}.analyticsModalTable{width:100%;border-collapse:collapse;font-size:13px}.analyticsModalTable thead th{background:#f8fafc;border:1px solid var(--border);padding:10px 12px;text-align:left;font-weight:600;color:var(--text);font-size:12px;text-transform:uppercase;letter-spacing:.03em}.analyticsModalTable tbody td{border:1px solid var(--border);padding:10px 12px;color:var(--text)}.analyticsModalRow{cursor:pointer;transition:background .15s}.analyticsModalRow:hover{background:#2563eb0d}.analyticsModalTicketId{font-weight:600;color:#2563eb;font-family:monospace;font-size:12px}
