*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;max-width:100%;overflow-x:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;font-size:16px;line-height:1.5;color:#1e293b;background:var(--app-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--fluper-gradient: linear-gradient(135deg,#5b5b5b,#000);--fluper-purple: #4f6cff;--fluper-pink: #e22586;--fluper-ink: #111827;--app-bg: #f4f7fb;--app-surface: #ffffff;--app-border: #e6edf6;--app-muted: #687386;--app-teal: #04966f}button[class*=btn-primary],a[class*=btn-primary],.page-btn.active{background:var(--fluper-gradient)!important;color:#fff;border-color:#11182773!important;box-shadow:0 8px 20px #0f172a2e}button[class*=btn-primary]:hover,a[class*=btn-primary]:hover{filter:brightness(1.2)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}h1{font-size:2rem;font-weight:700}h2{font-size:1.5rem;font-weight:700}h3{font-size:1.125rem;font-weight:600}h4{font-size:.95rem;font-weight:600}a{color:var(--fluper-purple);text-decoration:none}a:hover{text-decoration:underline}input,select,textarea,button{font-family:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-detail .embedded-chat{height:min(680px,calc(100vh - 210px));min-height:520px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;border:1px solid #e5edf4;border-radius:8px;overflow:hidden;background:#fff}.project-detail .chat-head{display:flex;align-items:center;gap:.85rem;padding:1rem 1.2rem;border-bottom:1px solid #e5edf4;background:#fff}.project-detail .chat-avatar{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#f59e0b;color:#4f46e5;font-weight:900;flex:0 0 auto}.project-detail .chat-head strong{display:block;color:#172033;font-size:1.05rem}.project-detail .chat-head small{display:flex;align-items:center;gap:.35rem;color:#16a34a;font-size:.82rem}.project-detail .chat-head small:before{content:"";width:8px;height:8px;border:2px solid #16a34a;border-radius:50%}.project-detail .chat-head-tools{margin-left:auto;display:flex;align-items:center;gap:.55rem}.project-detail .chat-head-tools>button,.project-detail .icon-btn,.project-detail .send-icon{width:44px;height:44px;border:1px solid #dfe7ef;border-radius:8px;background:#fff;color:#64748b;display:grid;place-items:center;cursor:pointer;font-weight:900}.project-detail .chat-head-tools svg,.project-detail .icon-btn svg,.project-detail .send-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.project-detail .chat-search-box{height:42px;width:min(300px,34vw);border:1px solid #dfe7ef;border-radius:8px;background:#fff;display:flex;align-items:center;padding:0 .45rem 0 .75rem}.project-detail .chat-search-box input{border:0;outline:0;min-width:0;width:100%;font:inherit}.project-detail .chat-search-box button{width:26px;height:26px;border:0;background:#f1f5f9;color:#64748b;border-radius:50%;font-weight:900}.project-detail .chat-messages{min-height:0;padding:1.2rem 2.4rem;overflow:auto;display:flex;flex-direction:column;gap:.7rem;background:#f4f6f9}.project-detail .chat-messages article{max-width:min(620px,72%);background:#fff;border:1px solid #e5edf4;border-radius:8px;padding:.65rem;overflow-wrap:anywhere}.project-detail .chat-messages article.mine{align-self:flex-end}.project-detail .chat-messages article>strong{display:block;margin-bottom:.25rem;color:#1e293b}.project-detail .rich-message{color:#243042;line-height:1.45}.project-detail .rich-message *{max-width:100%}.project-detail .deleted-text{color:#94a3b8;font-style:italic}.project-detail .chat-messages time{display:block;margin-top:.3rem;color:#94a3b8;font-size:.72rem}.project-detail .attachment-preview{margin:.45rem 0 .25rem}.project-detail .image-preview{display:block!important;width:min(420px,100%);border:1px solid #dfe7ef;border-radius:8px;overflow:hidden;background:#f8fafc}.project-detail .image-preview img{display:block;width:100%;max-height:360px;object-fit:contain}.project-detail .video-preview{display:block;width:min(460px,100%);max-height:360px;border:1px solid #dfe7ef;border-radius:8px;background:#0f172a}.project-detail .file-preview{display:flex!important;align-items:center;gap:.75rem;width:min(390px,100%);border:1px solid #dfe7ef;border-radius:8px;background:#fff;padding:.75rem;text-decoration:none;color:#172033!important}.project-detail .file-icon{display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;border-radius:8px;background:#eef2ff;color:#4f46e5!important;font-size:.66rem!important;font-weight:900;text-transform:uppercase}.project-detail .file-preview span:last-child{display:grid;gap:.12rem;min-width:0}.project-detail .file-preview b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.86rem}.project-detail .file-preview small{color:#64748b;font-size:.72rem}.project-detail .chat-compose{position:relative;display:grid;grid-template-columns:54px minmax(220px,1fr) 54px 54px;grid-template-rows:auto 52px;gap:.6rem;align-items:center;padding:.8rem 1rem;border-top:1px solid #e5edf4;background:#fff}.project-detail .internal-composer{grid-row:2;grid-column:2;border:1px solid #dfe7ef;border-radius:8px;background:#f8fafc;padding:.72rem;min-height:52px;max-height:150px;overflow:auto;outline:none}.project-detail .internal-composer:empty:before{content:attr(data-placeholder);color:#94a3b8}.project-detail .mention-menu{position:absolute;left:5rem;bottom:calc(100% - .25rem);width:min(340px,calc(100% - 6rem));max-height:220px;overflow:auto;background:#fff;border:1px solid #dfe7ef;border-radius:8px;box-shadow:0 16px 34px #0f172a29;padding:.25rem;z-index:5}.project-detail .mention-menu button{width:100%;border:0;background:#fff;padding:.55rem .65rem;border-radius:6px;display:flex;justify-content:space-between;gap:.7rem;cursor:pointer}.project-detail .mention-menu button:hover{background:#eef2ff}.project-detail .mention-menu span{color:#64748b;font-size:.72rem}.project-detail .icon-btn,.project-detail .send-icon{width:52px;height:52px}.project-detail .attach-btn{grid-row:2;grid-column:1}.project-detail .icon-btn input{display:none}.project-detail .send-icon{grid-row:2;grid-column:4;background:#4f46e5;color:#fff;border-color:#4f46e5}.project-detail .emoji-btn{grid-row:2;grid-column:3}.project-detail .send-icon:disabled{opacity:.6;cursor:not-allowed}.project-detail .upload-preview{grid-row:1;grid-column:1/-1;display:flex;gap:.65rem;overflow:auto;min-height:70px;max-height:78px;padding:0 0 .45rem}.project-detail .upload-preview.single .upload-tile,.project-detail .upload-tile{position:relative;width:68px;height:68px;border:1px solid #dfe7ef;border-radius:8px;background:#eef2f7;overflow:hidden;flex:0 0 68px}.project-detail .upload-tile img,.project-detail .upload-tile video{width:100%;height:100%;object-fit:cover}.project-detail .upload-file{height:100%;display:grid;place-items:center;color:#4f46e5;font-size:.72rem;font-weight:900;text-transform:uppercase}.project-detail .upload-tile button{position:absolute!important;top:3px!important;right:3px!important;width:20px!important;height:20px!important;border:0!important;border-radius:50%!important;padding:0!important;background:#111827d1!important;color:#fff!important;display:grid!important;place-items:center!important}.project-detail .upload-tile small{position:absolute;left:0;right:0;bottom:0;padding:.12rem .25rem;background:#0f172aa6;color:#fff;font-size:.58rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-detail .emoji-picker{position:absolute;right:5.1rem;bottom:calc(100% + .45rem);display:grid;grid-template-columns:repeat(5,34px);gap:.25rem;background:#fff;border:1px solid #dfe7ef;border-radius:8px;box-shadow:0 16px 34px #0f172a29;padding:.45rem;z-index:6}.project-detail .emoji-picker button{width:34px!important;height:34px!important;border:0!important;border-radius:7px!important;background:#f8fafc!important;color:#172033!important;cursor:pointer;font-size:1rem;padding:0!important}@media (max-width:700px){.project-detail .embedded-chat{height:auto;min-height:calc(100vh - 160px)}.project-detail .chat-head{align-items:flex-start;display:grid;grid-template-columns:52px minmax(0,1fr);padding:.85rem}.project-detail .chat-head-tools{grid-column:1/-1;margin-left:0;width:100%;justify-content:flex-end}.project-detail .chat-search-box{width:100%}.project-detail .chat-messages{padding:1rem}.project-detail .chat-messages article{max-width:88%}.project-detail .chat-compose{grid-template-columns:44px minmax(0,1fr) 44px 48px;padding:.75rem}.project-detail .icon-btn{width:44px;height:44px}.project-detail .send-icon{width:48px;height:44px}.project-detail .mention-menu{left:.75rem;width:calc(100% - 1.5rem)}}.commit-page .quick-filter-panel{background:#fff;border:1px solid #e2eaf5;border-radius:8px;padding:.8rem;box-shadow:0 8px 24px #0f172a0a}.commit-page .quick-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.55rem}.commit-page .quick-head strong{font-size:.78rem;color:#1f2937}.commit-page .filter-toggle,.commit-page .more-filter{height:36px;border:1px solid #dbe5f1;border-radius:6px;background:#fff;color:#334155;font-weight:800;padding:0 .8rem;cursor:pointer}.commit-page .quick-filters{display:flex;gap:.75rem;align-items:end;flex-wrap:wrap}.commit-page .quick-filters label{width:190px;display:grid;gap:.25rem}.commit-page .quick-filters span{font-size:.68rem;font-weight:900;color:#64748b}.commit-page .dashboard-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.commit-page .dash-card{min-height:168px!important;padding:1rem!important;display:grid!important;grid-template-columns:48px 1fr;grid-template-rows:auto 1fr;gap:.65rem!important;border-radius:8px!important}.commit-page .dash-card>i,.commit-page .dash-mini>i{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-weight:900;font-size:1.1rem}.commit-page .dash-card.blue>i,.commit-page .dash-mini.blue>i{background:#eaf2ff;color:#2563eb}.commit-page .dash-card.green>i,.commit-page .dash-mini.green>i{background:#dcfce7;color:#16a34a}.commit-page .dash-card.red>i,.commit-page .dash-mini.red>i{background:#fee2e2;color:#ef4444}.commit-page .dash-card.orange>i{background:#ffedd5;color:#f97316}.commit-page .dash-card.purple>i,.commit-page .dash-mini.purple>i{background:#f3e8ff;color:#9333ea}.commit-page .dash-card div:nth-child(2){display:grid;gap:.2rem;align-content:start}.commit-page .dash-card strong{font-size:1.55rem!important}.commit-page .spark{grid-column:1/-1;height:56px;display:flex;align-items:end;gap:10%;padding:.45rem .15rem 0}.commit-page .spark b{flex:1;min-height:4px;border-radius:999px;background:#2563eb}.commit-page .dash-card.green .spark b{background:#16a34a}.commit-page .dash-card.red .spark b{background:#ef4444}.commit-page .dash-card.orange .spark b{background:#f97316}.commit-page .dash-card.purple .spark b{background:#9333ea}.commit-page .spark.flat b{height:4px!important}.commit-page .analytics-grid{display:grid;grid-template-columns:1fr 1fr 1.15fr;gap:1rem}.commit-page .analytics-grid .panel,.commit-page .bottom-analytics .panel{min-height:285px}.commit-page .repo-panel{display:grid;grid-template-columns:160px 1fr;gap:1rem;align-items:center}.commit-page .repo-panel .panel-head{grid-column:1/-1}.commit-page .repo-donut{width:150px;height:150px;border-radius:50%;display:grid;place-items:center;align-content:center;background:conic-gradient(#2563eb 0 40%,#10b981 40% 68%,#f59e0b 68% 83%,#ef4444 83% 93%,#cbd5e1 93%);position:relative}.commit-page .repo-donut:after{content:"";position:absolute;inset:34px;border-radius:50%;background:#fff}.commit-page .repo-donut strong,.commit-page .repo-donut span{position:relative;z-index:1}.commit-page .repo-donut strong{font-size:1.7rem;color:#111827}.commit-page .repo-donut span{font-size:.75rem;color:#64748b}.commit-page .repo-list{display:grid;gap:.48rem}.commit-page .repo-list p{margin:0;display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:.5rem;align-items:center;font-size:.72rem}.commit-page .repo-list i{width:8px;height:8px;border-radius:50%;background:#2563eb}.commit-page .repo-list p:nth-child(2) i{background:#10b981}.commit-page .repo-list p:nth-child(3) i{background:#f59e0b}.commit-page .repo-list p:nth-child(4) i{background:#ef4444}.commit-page .repo-list span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.commit-page .dev-bars{display:grid;align-content:start}.commit-page .bar-row{display:grid;grid-template-columns:110px minmax(0,1fr) 36px;gap:.65rem;align-items:center;margin:.75rem 0;font-size:.72rem}.commit-page .bar-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.commit-page .bar-row i{height:14px;border-radius:999px;background:#edf2f7;overflow:hidden}.commit-page .bar-row b{display:block;height:100%;border-radius:999px;background:#2563eb}.commit-page .bar-row strong{text-align:right}.commit-page .mini-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.commit-page .dash-mini{min-height:88px!important;padding:1rem!important;display:grid!important;grid-template-columns:52px 1fr;gap:.75rem!important;align-items:center}.commit-page .bottom-analytics{display:grid;grid-template-columns:1fr 1.08fr;gap:1rem}.commit-page .heatmap{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;margin-top:.8rem}.commit-page .heatmap b{height:28px;border-radius:2px;background:#2563eb}.commit-page .heatmap-scale{display:flex;align-items:center;justify-content:center;gap:.3rem;margin-top:1rem;color:#64748b;font-size:.72rem}.commit-page .heatmap-scale i{width:22px;height:12px;background:#bfdbfe}.commit-page .heatmap-scale i:nth-of-type(5){background:#2563eb}.commit-page .filter-backdrop{position:fixed;inset:0;background:#0f172a1f;z-index:119}.commit-page .filter-drawer{position:fixed;right:1.4rem;top:155px;width:min(300px,calc(100vw - 2rem));max-height:calc(100vh - 180px);overflow:auto;background:#fff;border:1px solid #dbe5f1;border-radius:8px;box-shadow:0 24px 60px #0f172a2e;z-index:125;padding:1rem}.commit-page .filter-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.commit-page .filter-head button{border:0;background:transparent;font-size:1rem;cursor:pointer;color:#64748b}.commit-page .filter-drawer .filters{display:grid!important;grid-template-columns:1fr!important;margin:0!important}.commit-page .filter-drawer .filters label:nth-last-child(-n+2){display:block}.commit-page .filter-drawer .primary-btn,.commit-page .filter-drawer .light-btn{width:100%}@media (max-width:1200px){.commit-page .dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.commit-page .analytics-grid,.commit-page .bottom-analytics,.commit-page .repo-panel{grid-template-columns:1fr}.commit-page .repo-donut{margin:auto}.commit-page .mini-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:680px){.commit-page .dashboard-metrics,.commit-page .mini-metrics{grid-template-columns:1fr}.commit-page .quick-filters label,.commit-page .more-filter{width:100%}.commit-page .filter-drawer{right:.75rem;top:90px;max-height:calc(100vh - 110px)}}app-commit-history .commit-page .quick-filter-panel{padding:.8rem 1rem!important}app-commit-history .commit-page .quick-head{margin:0!important}app-commit-history .commit-page .filter-toggle.small{height:36px;padding:0 .75rem}app-commit-history .commit-page .dash-card{min-height:150px!important;grid-template-columns:48px minmax(0,1fr)!important;align-content:start!important}app-commit-history .commit-page .dash-card>i{border-radius:12px!important}app-commit-history .commit-page .spark{height:44px!important;gap:6px!important;align-items:end!important;padding:.2rem 0 0!important}app-commit-history .commit-page .spark b{height:auto!important;max-height:34px!important;min-height:4px!important;border-radius:3px!important;flex:0 0 12px!important}app-commit-history .commit-page .spark.flat b{height:4px!important;max-height:4px!important}app-commit-history .commit-page .analytics-grid .panel-head select{display:none!important}app-commit-history .commit-page .analytics-grid .panel{display:grid!important;align-content:start!important;align-items:start!important}app-commit-history .commit-page .analytics-grid .panel-head{align-self:start!important;margin-bottom:.4rem!important}app-commit-history .commit-page .repo-panel{grid-template-columns:minmax(0,1fr) minmax(170px,.9fr)!important;gap:.5rem 1rem!important}app-commit-history .commit-page .repo-panel apx-chart{display:block!important;min-height:210px!important}app-commit-history .commit-page .dev-bars apx-chart{display:block!important;min-height:230px!important}app-commit-history .commit-page .dev-bars{gap:.25rem!important}app-commit-history .commit-page .dash-mini{min-height:96px!important;grid-template-columns:52px minmax(0,1fr)!important}app-commit-history .commit-page .dash-mini div{display:grid!important;grid-template-columns:auto 1fr!important;align-items:baseline!important;gap:.15rem .35rem!important;min-width:0!important}app-commit-history .commit-page .dash-mini span{grid-column:1 / -1!important;white-space:nowrap!important}app-commit-history .commit-page .dash-mini strong{font-size:1.3rem!important;line-height:1!important}app-commit-history .commit-page .dash-mini small{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}app-commit-history .commit-page .one-line-head{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;gap:1rem!important;flex-wrap:nowrap!important}app-commit-history .commit-page .one-line-head h3{white-space:nowrap!important;min-width:max-content!important}app-commit-history .commit-page .one-line-head .table-tools,app-commit-history .commit-page .one-line-head .summary-controls{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-end!important;gap:.65rem!important;flex-wrap:nowrap!important;min-width:0!important}app-commit-history .commit-page .one-line-head .table-search{width:min(430px,38vw)!important;min-width:260px!important}app-commit-history .commit-page .one-line-head .sort-select{width:170px!important}app-commit-history .commit-page .compact-date{width:155px!important;min-width:155px!important}app-commit-history .commit-page .no-commit-head{border-bottom:1px solid #edf2f7!important;padding-bottom:.75rem!important;margin-bottom:.75rem!important}app-commit-history .commit-page .compact-controls{margin-left:auto!important}app-commit-history .commit-page .compact-controls select{width:150px!important;height:34px!important}app-commit-history .commit-page .gap-filter-row{display:grid!important;grid-template-columns:repeat(4,minmax(160px,1fr))!important;gap:.75rem!important}@media (max-width:900px){app-commit-history .commit-page .one-line-head{align-items:stretch!important;flex-direction:column!important}app-commit-history .commit-page .one-line-head .table-tools,app-commit-history .commit-page .one-line-head .summary-controls{flex-wrap:wrap!important;justify-content:stretch!important}app-commit-history .commit-page .one-line-head .table-search,app-commit-history .commit-page .one-line-head .sort-select,app-commit-history .commit-page .compact-date{width:100%!important;min-width:0!important}app-commit-history .commit-page .gap-filter-row{grid-template-columns:1fr!important}}.status-open{background:#dbeafe;color:#1e40af}.status-assigned{background:linear-gradient(135deg,#c6c6c6,#fff);color:#2448d8}.status-in_progress{background:#fef3c7;color:#92400e}.status-ready_for_testing,.status-testing,.status-failed_testing{background:#ffedd5;color:#c2410c}.status-resolved{background:#f0fdf4;color:#15803d}.status-to_be_discussed{background:#fff7ed;color:#c2410c}.status-under_review{background:#e0f2fe;color:#0369a1}.status-verified,.status-closed{background:#d1fae5;color:#065f46}.status-rejected{background:#fef2f2;color:#dc2626}.status-reopened{background:#fef3c7;color:#92400e}.source-client{background:#e0f2fe;color:#0369a1}.source-development{background:#ecfdf5;color:#047857}.milestone-status-control{display:flex;align-items:center;gap:.4rem}.milestone-status-control select{height:32px;border:1px solid #d7e0ec;border-radius:7px;background:#fff;color:#334155;font-size:.75rem;font-weight:700;padding:0 .45rem}.client-status-control{display:flex;align-items:center;gap:.4rem;color:var(--app-muted);font-size:.75rem;font-weight:800}.client-status-control select{height:32px;border:1px solid #d7e0ec;border-radius:7px;background:#fff;color:#334155;font-size:.75rem;font-weight:700;padding:0 .45rem}.client-status-control select:disabled{background:#f8fafc;color:#64748b;cursor:not-allowed}body .project-detail .module{gap:.9rem;padding:1rem;border-color:#eef0f4;border-radius:10px;background:#fff;box-shadow:0 6px 18px #0f172a0a;flex-wrap:wrap;align-items:center}body .project-detail .module.expanded,body .project-detail .module.overdue{border-color:#b9c7ff;background:#f6f8ff}body .project-detail .milestone-summary{flex:1 1 330px!important;min-width:260px;display:grid!important;grid-template-columns:38px 54px minmax(0,1fr)!important;gap:.8rem;text-align:left;border:0!important;background:transparent!important;padding:.15rem!important}body .project-detail .accordion-icon,body .project-detail .milestone-flag{display:grid;place-items:center;border-radius:8px}body .project-detail .accordion-icon{width:38px;height:38px;border:1px solid #edf0f5;background:#fff;color:#334155;font-weight:900}body .project-detail .milestone-flag{width:54px;height:54px;background:#eef2ff;color:var(--fluper-purple)}body .project-detail .milestone-flag svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.9}body .project-detail .milestone-copy{min-width:0}body .project-detail .milestone-copy strong{font-size:1.05rem}body .project-detail .milestone-copy small{display:block;font-size:.82rem;color:#6b5b78;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body .project-detail .milestone-status-control{flex:0 0 360px;flex-wrap:nowrap}body .project-detail .milestone-status-control .badge,body .project-detail .milestone-status-control .overdue-pill,body .project-detail .milestone-status-control select{flex:0 0 auto}body .project-detail .milestone-expand{flex:0 0 100%;width:100%}body .project-detail .milestone-expand .module-tasks{width:100%}body .project-detail .milestone-progress{flex:0 0 250px;display:grid;gap:.42rem}body .project-detail .progress-label{display:flex;gap:.35rem;color:#64748b;font-size:.78rem}body .project-detail .progress-label strong{color:#1f2937;font-size:1rem}body .project-detail .progress-track{height:7px;border-radius:999px;background:#e9e7ee;overflow:hidden}body .project-detail .progress-track span{display:block;height:100%;border-radius:inherit;background:var(--fluper-purple)}body .project-detail .overdue-pill,body .project-detail .badge.status-testing,body .project-detail .badge.status-completed,body .project-detail .badge.status-released,body .project-detail .badge.status-in_progress{border-radius:8px;padding:.38rem .6rem;font-size:.78rem}body .project-detail .overdue-pill{background:#fff7ed;color:#c2410c;border:1px solid #fed7aa}@media (max-width: 900px){body .project-detail .milestone-status-control{flex-wrap:wrap}}.rows-select{display:inline-flex;align-items:center;gap:.4rem;color:#806d89;font-size:.78rem;font-weight:800;white-space:nowrap}.rows-select select{height:34px;border:1px solid #d7e0ec;border-radius:8px;background:#fff;color:#374151;padding:0 .45rem;font:inherit;font-weight:700}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}router-outlet+*{animation:fadeIn .2s ease}table{width:100%;border-collapse:separate;border-spacing:0;background:#fff}table thead th{padding:.85rem 1rem;color:#111827;background:#f8fafc;border-bottom:1px solid var(--app-border);font-size:.82rem;font-weight:800;letter-spacing:0;text-transform:none;white-space:nowrap}table tbody td{padding:.8rem 1rem;color:#334155;border-bottom:1px solid #edf2f7}table tbody tr{transition:background-color .15s ease,box-shadow .15s ease}table tbody tr:hover{background:#f8fbff;box-shadow:inset 3px 0 0 var(--fluper-purple)}table tbody tr:last-child td{border-bottom:0}.app-toast{--mdc-snackbar-container-shape: 3px;--mdc-snackbar-supporting-text-color: #ffffff;--mat-snack-bar-button-color: #ffffff;color:#fff;font-weight:700;margin:0}.cdk-overlay-container{position:fixed;inset:0;z-index:1000;pointer-events:none}.cdk-overlay-container .cdk-global-overlay-wrapper:has(.app-toast){align-items:flex-start!important;justify-content:flex-end!important;padding:1rem!important;pointer-events:none}.cdk-overlay-container .cdk-global-overlay-wrapper:has(.app-toast) .cdk-overlay-pane{pointer-events:auto}.cdk-overlay-pane:has(.app-toast){position:fixed!important;top:1rem!important;right:1rem!important;left:auto!important;bottom:auto!important;transform:none!important;pointer-events:auto}.app-toast .mdc-snackbar__surface{min-width:320px;max-width:min(420px,calc(100vw - 2rem));padding:0;border:0;border-radius:3px;overflow:hidden;position:relative;box-shadow:0 14px 30px #0f172a33}.app-toast .mdc-snackbar__surface:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:4px;background:#ffffffe6;animation:toastTimer 4s linear forwards}.app-toast .mat-mdc-snack-bar-label{display:flex;align-items:center;padding:.9rem 1rem;font-size:.86rem;line-height:1.25}.app-toast .mat-mdc-snack-bar-actions{padding-right:.45rem}.app-toast .mat-mdc-snack-bar-action{min-width:28px;height:28px;padding:0;opacity:.78}.app-toast .mat-mdc-snack-bar-action:hover{opacity:1}@keyframes toastTimer{0%{width:100%}to{width:0}}.toast-success{--mdc-snackbar-container-color: #078f84;--mdc-snackbar-supporting-text-color: #ffffff;color:#fff}.toast-error{--mdc-snackbar-container-color: #d9534f;--mdc-snackbar-supporting-text-color: #ffffff;color:#fff}.toast-info{--mdc-snackbar-container-color: #55bdd7;--mdc-snackbar-supporting-text-color: #ffffff;color:#fff}.toast-warning{--mdc-snackbar-container-color: #f6b84b;--mdc-snackbar-supporting-text-color: #ffffff;color:#fff}.push-notification-snackbar{--mdc-snackbar-container-color: transparent;--mdc-snackbar-container-shape: 8px;--mdc-snackbar-supporting-text-color: #ffffff;margin:0!important}.push-notification-snackbar .mdc-snackbar__surface{padding:0!important;min-width:0!important;max-width:none!important;background:transparent!important;box-shadow:none!important}.push-notification-snackbar .mat-mdc-snack-bar-label{padding:0!important}app-dashboard .hero-metric{padding:.95rem 1rem}app-dashboard .stats-grid,app-dashboard .loading-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem}app-dashboard .stat-card{position:relative;min-height:112px;display:grid;grid-template-columns:minmax(0,1fr) 42px;grid-template-areas:"label icon" "value icon" "note icon";align-content:start;align-items:start;gap:.4rem .85rem;padding:1rem .95rem .9rem;border-radius:7px;border-color:#eef2f7;overflow:hidden}app-dashboard .stat-icon{grid-area:icon;justify-self:end;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:#fff!important}app-dashboard .stat-icon svg{width:18px;height:18px;stroke:#fff!important;color:#fff!important}app-dashboard .stat-value{grid-area:value;font-size:1.42rem;color:#1f2937;line-height:1}app-dashboard .stat-label{grid-area:label;font-size:.74rem;color:#687386;font-weight:950;text-transform:uppercase;line-height:1.15}app-dashboard .stat-note{grid-area:note;display:inline-flex;align-self:start;width:max-content;max-width:100%;min-height:21px;padding:.18rem .5rem;border-radius:999px;background:#dff7f1;color:#00936d;font-size:.7rem;font-weight:900;white-space:nowrap}app-dashboard .total .stat-icon{background:#252525}app-dashboard .closed .stat-icon{background:#009f73}app-dashboard .open .stat-icon{background:#4f63ff}app-dashboard .progress .stat-icon{background:#e22586}app-dashboard .review .stat-icon{background:#16b6c7}app-dashboard .overdue .stat-icon{background:#e11d48}app-dashboard .notifications .stat-icon{background:#009f73}app-dashboard .projects .stat-icon{background:#334155}app-dashboard .overview-chart-card{grid-template-columns:170px minmax(0,1fr);gap:1.35rem}app-dashboard .overview-chart{position:relative;width:148px;height:148px;margin:auto;display:grid;place-items:center;outline:none}app-dashboard .chart-donut{position:relative;width:148px;height:148px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;align-content:center;box-shadow:0 16px 35px #0f172a14;animation:dashboardChartIn .65s ease-out both;transition:transform .18s ease,filter .18s ease}app-dashboard .chart-donut:after{content:"";position:absolute;inset:34px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 1px #edf2f7}app-dashboard .chart-donut span,app-dashboard .chart-donut small{position:relative;z-index:1;text-align:center}app-dashboard .chart-donut span{font-size:1.5rem;font-weight:950;color:#111827;line-height:1}app-dashboard .chart-donut small{width:72px;margin-top:.25rem;color:#475569;font-size:.62rem;font-weight:900;line-height:1.1}app-dashboard .overview-chart:hover .chart-donut,app-dashboard .overview-chart:focus .chart-donut{transform:scale(1.035);filter:saturate(1.08)}app-dashboard .chart-tooltip{position:absolute;left:50%;bottom:calc(100% + .6rem);z-index:5;width:230px;transform:translate(-50%,8px);opacity:0;visibility:hidden;pointer-events:none;background:#111827;color:#fff;border-radius:8px;padding:.75rem;box-shadow:0 18px 40px #0f172a3d;transition:.18s}app-dashboard .overview-chart:hover .chart-tooltip,app-dashboard .overview-chart:focus .chart-tooltip{opacity:1;visibility:visible;transform:translate(-50%)}app-dashboard .chart-tooltip strong{display:block;margin-bottom:.45rem;font-size:.78rem}app-dashboard .chart-tooltip span{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:.45rem;color:#dbeafe;font-size:.74rem}app-dashboard .chart-tooltip i{width:9px;height:9px;border-radius:50%;display:inline-block}app-dashboard .chart-tooltip b{color:#fff}app-dashboard .chart-hover{position:relative;display:grid;place-items:center;outline:none}app-dashboard .chart-hover:hover .donut,app-dashboard .chart-hover:focus .donut{transform:scale(1.035);filter:saturate(1.08)}app-dashboard .chart-hover:hover .chart-tooltip,app-dashboard .chart-hover:focus .chart-tooltip{opacity:1;visibility:visible;transform:translate(-50%)}app-dashboard .delivery-tooltip{bottom:calc(100% - .15rem)}app-dashboard .chart-legend-list{gap:.5rem}app-dashboard .chart-legend-list div{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:.5rem;min-height:22px;padding:.18rem .25rem;transition:transform .16s ease,background .16s ease}app-dashboard .chart-legend-list div:hover{transform:translate(3px);background:#f8fafc;border-radius:6px}app-dashboard .chart-legend-list i{display:inline-block;width:10px;height:10px;border-radius:50%;box-shadow:0 0 0 3px #0f172a09}app-dashboard .chart-legend-list span{color:#475569;font-size:.78rem}app-dashboard .chart-legend-list strong{color:#111827;font-size:.82rem;font-weight:950}app-dashboard .spark-bar,app-dashboard .stack-bar,app-dashboard .donut{animation:dashboardChartIn .65s ease-out both;transition:transform .18s ease,filter .18s ease}app-dashboard .spark-bar:hover,app-dashboard .stack-bar:hover,app-dashboard .donut:hover{transform:scale(1.035);filter:saturate(1.08)}app-dashboard .spark-bar-wrap{position:relative}app-dashboard .bar-tooltip{position:absolute;left:50%;bottom:calc(100% - 1rem);z-index:4;min-width:150px;transform:translate(-50%,8px);opacity:0;visibility:hidden;pointer-events:none;background:#111827;color:#fff;border-radius:8px;padding:.6rem .7rem;box-shadow:0 16px 34px #0f172a38;transition:.18s;text-align:left}app-dashboard .spark-bar-wrap:hover .bar-tooltip,app-dashboard .spark-bar-wrap:focus-within .bar-tooltip{opacity:1;visibility:visible;transform:translate(-50%)}app-dashboard .bar-tooltip strong{display:block;margin-bottom:.35rem;font-size:.76rem}app-dashboard .bar-tooltip span{display:flex;justify-content:space-between;gap:1rem;color:#dbeafe;font-size:.72rem;font-weight:750}app-dashboard .bar-tooltip b{color:#fff}@keyframes dashboardChartIn{0%{opacity:.2;transform:scale(.88) rotate(-14deg)}to{opacity:1;transform:scale(1) rotate(0)}}body .panel-head h3,body .chart-card h3,body .new-project-panel h3,body .modal-header h3,body .detail-head h3,body .undated h3,body .page-section-title{position:relative;padding-left:.8rem;color:#111827;font-size:1rem;font-weight:900;line-height:1.2;letter-spacing:0}body .panel-head h3:before,body .chart-card h3:before,body .new-project-panel h3:before,body .modal-header h3:before,body .detail-head h3:before,body .undated h3:before,body .page-section-title:before{content:"";position:absolute;left:0;top:.12rem;width:3px;height:1.05rem;border-radius:2px;background:#f97316}app-dashboard .panel{min-width:0}app-dashboard .overview-card{display:grid!important;grid-template-columns:minmax(180px,230px) minmax(0,1fr)!important;align-items:center!important;gap:1rem!important;margin:0!important;min-height:190px}app-dashboard .overview-chart,app-dashboard .chart-hover{width:min(100%,230px)!important;height:auto!important;min-height:190px!important;margin:0 auto!important;overflow:visible!important}app-dashboard .overview-chart apx-chart{width:min(100%,220px)!important;min-height:220px!important}app-dashboard .chart-hover apx-chart{width:min(100%,260px)!important;min-height:260px!important}app-dashboard .overview-list{border-top:0!important}app-dashboard .overview-list div{min-height:42px!important;padding:.55rem .65rem!important;border-bottom:1px solid #edf2f7;transform:none!important}app-dashboard .delivery-summary{display:grid!important;grid-template-columns:minmax(220px,320px) minmax(160px,240px)!important;align-items:center!important;justify-content:center!important;gap:1.2rem!important;min-width:0}app-dashboard .delivery-summary .delivery-legend{border:0!important}app-dashboard .delivery-summary .delivery-legend span{grid-template-columns:10px minmax(0,1fr)!important;padding:.35rem 0!important;border:0!important}app-dashboard .delivery-summary .delivery-legend span:after{content:""}app-dashboard .apexcharts-canvas,app-dashboard .apexcharts-svg{max-width:100%}@media (max-width: 1320px){app-dashboard .overview-card{grid-template-columns:minmax(150px,200px) minmax(0,1fr)!important}app-dashboard .overview-chart apx-chart{width:200px!important;min-height:200px!important}}@media (max-width: 900px){app-dashboard .overview-card,app-dashboard .delivery-summary{grid-template-columns:1fr!important}app-dashboard .overview-list{border-top:1px solid #edf2f7!important}}app-project-detail .back-link{display:none}app-project-detail .project-detail>.stats-row,app-project-detail .project-detail>section.card:nth-of-type(-n+5){display:none}app-project-detail .detail-topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:3rem}app-project-detail .detail-topbar h1{margin:0 0 .45rem;color:#0f172a;font-size:1rem}app-project-detail .breadcrumb,app-project-detail .top-actions,app-project-detail .tab-actions,app-project-detail .milestone-status-control{display:flex;align-items:center;gap:.55rem}app-project-detail .breadcrumb{color:#64748b;font-size:.8rem}app-project-detail .breadcrumb a{color:#64748b;text-decoration:none}app-project-detail .top-actions button,app-project-detail .sort-btn{height:34px;border:1px solid #dfe7f1;background:#fff;border-radius:4px;color:#172033;font-weight:700;padding:0 .75rem;box-shadow:0 3px 10px #0f172a0a;cursor:pointer}app-project-detail .detail-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:1.25rem;align-items:start}app-project-detail .project-sidebar{display:grid;gap:1rem}app-project-detail .project-sidebar section,app-project-detail .detail-tabs,app-project-detail .tab-card{background:#fff;border:1px solid #e4ebf4;border-radius:4px;box-shadow:0 5px 18px #0f172a09}app-project-detail .project-sidebar section,app-project-detail .tab-card{padding:1rem}app-project-detail .project-sidebar h3,app-project-detail .tab-card h3{margin:0 0 .9rem;color:#0f172a;font-size:.9rem;font-weight:800}app-project-detail .project-sidebar h3:before,app-project-detail .tab-card h3:before{content:"";display:inline-block;width:3px;height:18px;background:#f0442c;border-radius:2px;margin-right:.5rem;vertical-align:-4px}app-project-detail .side-stat,app-project-detail .project-sidebar dl div{display:flex;justify-content:space-between;gap:1rem;padding:.42rem 0;color:#596a80;font-size:.78rem}app-project-detail .side-stat strong,app-project-detail .project-sidebar dd{margin:0;color:#111827;font-weight:800}app-project-detail .side-panels,app-project-detail .detail-tabs{display:flex;flex-wrap:wrap;gap:.35rem}app-project-detail .side-panels span{padding:.28rem .45rem;border-radius:999px;background:#f3f6fb;color:#64748b;font-size:.66rem;font-weight:700}app-project-detail .project-sidebar button,app-project-detail .project-sidebar a{display:block;width:100%;box-sizing:border-box;text-align:left;border:0;background:#fff;color:#334155;text-decoration:none;padding:.42rem 0;font-weight:700;font-size:.78rem}app-project-detail .project-workspace{min-width:0}app-project-detail .detail-tabs{align-items:center;gap:1.25rem;min-height:56px;padding:0 1.25rem;margin-bottom:1rem;overflow-x:auto;flex-wrap:nowrap}app-project-detail .detail-tabs button{position:relative;flex:0 0 auto;height:56px;border:0;background:transparent;color:#475569;font-size:.76rem;font-weight:800;cursor:pointer}app-project-detail .detail-tabs button.active{color:#ef1d11}app-project-detail .detail-tabs button.active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:#ef1d11}app-project-detail .tab-card{min-height:420px;animation:projectDetailFade .24s ease}@keyframes projectDetailFade{0%{opacity:.2;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}app-project-detail .activity-list{display:grid;gap:.8rem}app-project-detail .activity-list article{display:grid;grid-template-columns:42px minmax(0,1fr);gap:.8rem;border:1px solid #e7edf6;border-radius:4px;padding:.85rem}app-project-detail .activity-icon{width:36px;height:36px;border-radius:4px;display:grid;place-items:center;color:#fff;font-weight:900}app-project-detail .activity-icon.blue{background:#2f80ed}app-project-detail .activity-icon.green{background:#20c463}app-project-detail .activity-icon.red{background:#ff3232}app-project-detail .activity-icon.amber{background:#f7b500}app-project-detail .activity-list p{margin:.2rem 0;color:#475569;font-size:.78rem}app-project-detail .activity-list time{color:#94a3b8;font-size:.7rem}app-project-detail .milestone-list .module{display:grid;grid-template-columns:minmax(260px,1fr) auto minmax(180px,260px) auto;align-items:center;gap:.8rem;border-color:#e8eef6;border-radius:4px;background:#fff}app-project-detail .milestone-summary{display:grid!important;grid-template-columns:28px 38px minmax(0,1fr);align-items:center;gap:.6rem;border:0!important;background:transparent!important;color:#172033!important;padding:0!important;text-align:left}app-project-detail .accordion-icon,app-project-detail .milestone-flag{display:grid;place-items:center;border-radius:4px;background:#eef3ff;color:#5b6cff}app-project-detail .accordion-icon{width:22px;height:22px}app-project-detail .milestone-flag{width:34px;height:34px}app-project-detail .milestone-copy strong{font-size:.82rem}app-project-detail .milestone-copy small,app-project-detail .progress-label{font-size:.68rem;color:#64748b}app-project-detail .milestone-progress{display:grid;gap:.35rem}app-project-detail .progress-label{justify-content:flex-end}app-project-detail .progress-track{height:6px;background:#e5e7eb;border-radius:999px;overflow:hidden}app-project-detail .progress-track span{display:block;height:100%;background:#5b6cff}app-project-detail .milestone-expand{grid-column:1 / -1;border-top:1px solid #edf2f7;padding-top:.75rem}app-project-detail .embedded-chat{border:1px solid #e6edf5;border-radius:4px;overflow:hidden;background:#f6f8fb}app-project-detail .chat-head,app-project-detail .chat-compose{display:flex;justify-content:space-between;gap:1rem;padding:.8rem 1rem;background:#fff;border-bottom:1px solid #e6edf5}app-project-detail .chat-messages{min-height:0;height:auto;overflow:auto;padding:1rem;display:flex;flex-direction:column;gap:.75rem}app-project-detail .chat-messages article{max-width:78%;background:#fff;border:1px solid #e6edf5;border-radius:4px;padding:.75rem;color:#334155}app-project-detail .chat-messages article.mine{align-self:flex-end;background:#eef3ff}app-project-detail .chat-compose{display:grid;grid-template-columns:54px minmax(220px,1fr) 54px 54px;grid-template-rows:auto 52px;gap:.6rem;align-items:center;padding:.8rem 1rem;border-top:1px solid #e6edf5;border-bottom:0}app-project-detail .chat-compose .internal-composer{grid-row:2;grid-column:2;min-height:52px;height:52px;max-height:52px;border:1px solid #dfe7ef;border-radius:8px;background:#f8fafc}app-project-detail .chat-compose>label,app-project-detail .chat-compose>button{width:52px;height:52px;border:1px solid #dfe7f1;background:#fff;border-radius:8px;padding:0;display:grid;place-items:center;cursor:pointer}app-project-detail .chat-compose .upload-preview{grid-row:1;grid-column:1 / -1;min-height:70px;max-height:78px;padding:0 0 .45rem}app-project-detail .chat-compose .attach-btn{grid-row:2;grid-column:1}app-project-detail .chat-compose>label input{display:none}app-project-detail .chat-compose .send-icon{grid-row:2;grid-column:4;background:#6672f5;color:#fff;border-color:#6672f5}app-project-detail .chat-compose .emoji-btn{grid-row:2;grid-column:3}@media (max-width: 1100px){app-project-detail .detail-layout{grid-template-columns:1fr}app-project-detail .project-sidebar{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 720px){app-project-detail .detail-topbar,app-project-detail .chat-head{flex-direction:column}app-project-detail .project-sidebar,app-project-detail .milestone-list .module{grid-template-columns:1fr}app-project-detail .chat-compose{grid-template-columns:44px minmax(0,1fr) 44px 48px}app-project-detail .chat-compose>label,app-project-detail .chat-compose>button{width:44px;height:44px}app-project-detail .chat-compose .send-icon{width:48px}app-project-detail .chat-messages article{max-width:100%}}app-dashboard .card,app-project-list .card,app-project-detail .card,app-project-detail .project-sidebar section,app-project-detail .detail-tabs,app-issue-list .toolbar,app-issue-list .table-card,app-issue-list .entity-card,app-test-cases .panel,app-test-cases .entity-card,app-test-cases .table-wrap,app-test-cases .wide-table{border-radius:6px!important}app-dashboard button,app-dashboard input,app-dashboard select,app-project-list button,app-project-list input,app-project-list select,app-project-detail button,app-project-detail input,app-project-detail select,app-project-detail textarea,app-issue-list button,app-issue-list input,app-issue-list select,app-test-cases button,app-test-cases input,app-test-cases select,app-test-cases textarea{border-radius:5px!important}app-project-detail .tab-card .section-header{gap:1rem;margin-bottom:1.1rem;align-items:flex-start}app-project-detail .tab-card .tab-actions{margin-bottom:.9rem}app-project-detail .documents,app-project-detail .project-links,app-project-detail .milestone-list,app-project-detail .embedded-chat,app-project-detail .activity-list{margin-top:.85rem}app-project-detail .project-detail>section.card:last-of-type{margin-top:1.6rem}app-project-detail .project-detail.edit-page .detail-layout,app-project-detail .project-detail.edit-page>section.card:last-of-type{display:none!important}app-project-detail .project-detail.edit-page .detail-header{align-items:flex-start;max-width:980px;min-height:520px;padding:1.8rem}app-project-detail .project-detail.edit-page .title{max-width:560px}app-project-detail .project-detail.edit-page .actions{position:sticky;top:1rem}app-project-detail .activity-pagination{display:flex;justify-content:flex-end;align-items:center;gap:.6rem;margin-top:1rem;color:#64748b;font-size:.82rem}app-project-detail .activity-pagination button{height:34px;border:1px solid #dfe7f1;background:#fff;color:#334155;padding:0 .8rem;font-weight:800;cursor:pointer}app-project-detail .activity-pagination button:disabled{opacity:.45;cursor:not-allowed}app-issue-list .project-table td,app-issue-list .project-table th{vertical-align:middle!important}app-issue-list .issue-count-cell{display:flex!important;align-items:center;gap:.45rem;flex-wrap:wrap;max-width:180px}app-issue-list .issue-count-cell span{display:inline-flex;align-items:center;min-height:24px;line-height:1}app-issue-list .issue-title-cell{display:grid;align-content:center;gap:.35rem;min-height:58px}app-issue-list .issue-title-cell .issue-title{line-height:1.35;white-space:normal}app-issue-list .issue-title-cell .issue-tags{display:flex;flex-wrap:wrap;gap:.25rem;margin:0}app-issue-list .issue-table td{vertical-align:middle!important}app-issue-list .assignee{align-items:center}app-issue-list .entity-grid,app-test-cases .entity-grid{align-items:stretch}app-issue-list .entity-card,app-test-cases .entity-card{grid-template-rows:auto auto auto 1fr auto;min-height:260px}app-issue-list .entity-card h3,app-test-cases .entity-card h3{min-height:2.5em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}app-issue-list .entity-card p,app-test-cases .entity-card p,app-test-cases .entity-desc{min-height:2.6em}app-issue-list .entity-meta,app-test-cases .entity-meta{min-height:30px;align-content:flex-start}app-issue-list .entity-card .view-link,app-test-cases .entity-card .link-btn,app-test-cases .case-card .row-actions,app-issue-list .issue-card-item .row-actions{margin-top:auto}app-issue-list .entity-grid:has(.project-card),app-test-cases .entity-grid:has(.project-card){grid-template-columns:repeat(auto-fill,minmax(320px,1fr))!important;gap:1.35rem!important;padding:1.1rem!important}app-issue-list .project-card,app-test-cases .project-card{min-height:320px!important;padding:1.45rem!important;gap:.95rem!important;border:1px solid #e4ebf4!important;border-radius:6px!important;box-shadow:0 6px 18px #0f172a0b!important;grid-template-rows:auto auto auto 1fr auto!important}app-issue-list .project-card-head,app-test-cases .project-card .entity-top{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto;align-items:start!important;gap:.8rem!important}app-issue-list .project-card .project-badge,app-test-cases .project-card .entity-avatar{width:42px!important;min-width:42px!important;height:34px!important;min-height:34px!important;display:grid!important;place-items:center!important;border-radius:5px!important;background:#eaf2ff!important;color:#3b82f6!important;font-weight:900!important}app-test-cases .project-card .entity-avatar{height:42px!important;border-radius:50%!important}app-issue-list .project-card-title h3,app-test-cases .project-card h3{min-height:0!important;margin:0!important;color:#0f172a!important;font-size:1.18rem!important;font-weight:950!important;line-height:1.2!important;display:block!important}app-issue-list .project-card-title h3 a{color:inherit!important;text-decoration:none!important}app-issue-list .project-card-title p,app-test-cases .project-card>p{margin:.22rem 0 0!important;min-height:0!important;color:#7b8493!important;font-size:.82rem!important}app-issue-list .project-type-line{margin:.55rem 0 0!important;min-height:0!important;color:#4b5563!important;font-weight:850!important;font-size:.86rem!important}app-issue-list .project-status-line{margin:-.25rem 0 0!important;min-height:0!important;color:#6b7280!important;font-size:.8rem!important}app-issue-list .project-counts,app-test-cases .project-card .entity-meta{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:.55rem!important;min-height:88px!important;margin-top:.35rem!important}app-issue-list .project-counts span,app-test-cases .project-card .entity-meta span{border-radius:5px!important;background:#eaf2ff!important;color:#3b82f6!important;padding:.36rem .65rem!important;font-size:.78rem!important;font-weight:950!important}app-issue-list .project-card .view-link,app-test-cases .project-card .link-btn{width:100%!important;height:46px!important;display:flex!important;align-items:center!important;justify-content:center!important;border:1px solid #e4d8ef!important;background:#fff!important;color:#5b45ff!important;border-radius:5px!important;font-size:.95rem!important;font-weight:900!important;text-decoration:none!important}app-issue-list .project-table th:nth-child(5),app-issue-list .project-table td.issue-count-cell{width:190px!important;min-width:190px!important}app-issue-list .project-table td.issue-count-cell{display:grid!important;grid-auto-rows:min-content;align-content:center;justify-items:start;gap:.35rem!important;max-width:none!important;overflow:visible!important}app-issue-list .project-table tbody tr{min-height:82px!important}app-issue-list .project-table td{height:82px!important;padding-top:.9rem!important;padding-bottom:.9rem!important}app-issue-list .issue-table tbody tr{min-height:76px!important}app-issue-list .issue-table td{height:76px!important;padding-top:.85rem!important;padding-bottom:.85rem!important}app-issue-list .project-table td.issue-count-cell span{position:static!important;white-space:nowrap!important;min-height:24px!important;line-height:1!important}@media (max-width: 760px){app-issue-list .entity-grid:has(.project-card),app-test-cases .entity-grid:has(.project-card){grid-template-columns:minmax(280px,1fr)!important;padding:1rem!important}app-issue-list .project-card,app-test-cases .project-card{min-height:335px!important}}@media (max-width: 700px){app-dashboard .dashboard{max-width:430px;margin:0 auto;padding-bottom:5.25rem}app-dashboard .mobile-hero-bar,app-dashboard .mobile-section-title{display:flex!important}app-dashboard .hero{position:relative;margin:-1rem -1rem 1rem;padding:1.1rem 1rem 1rem;border-radius:0 0 24px 24px;background:linear-gradient(135deg,#001f75,#053bd2 55%,#020617)!important;box-shadow:0 18px 34px #0f172a2e;overflow:hidden}app-dashboard .hero:after{content:"";position:absolute;right:-28px;bottom:-40px;width:150px;height:150px;border-radius:50%;background:#ffffff14}app-dashboard .mobile-hero-bar{position:relative;z-index:1;align-items:center;justify-content:space-between;margin-bottom:1.15rem}app-dashboard .mobile-brand{display:flex;align-items:center;gap:.55rem;color:#fff;font-weight:950;line-height:1}app-dashboard .mobile-brand img{width:28px;height:28px;border-radius:7px;background:#fff}app-dashboard .mobile-brand small{display:block;color:#bfdbfe;font-size:.56rem;font-weight:800;margin-top:.14rem}app-dashboard .mobile-hero-actions{display:flex;gap:.55rem}app-dashboard .mobile-hero-actions a{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#fffffff2;color:#1e293b}app-dashboard .mobile-hero-actions svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}app-dashboard .hero-copy{position:relative;z-index:1}app-dashboard .hero h2{font-size:1.32rem;line-height:1.2;max-width:260px}app-dashboard .hero p{max-width:240px;font-size:.78rem;line-height:1.45}app-dashboard .hero-stats{position:relative;z-index:1;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:0;margin-top:1.15rem;border-radius:12px;background:linear-gradient(135deg,#ffffff2e,#0000006b);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);overflow:hidden}app-dashboard .hero-stats div{border:0;border-right:1px solid rgba(255,255,255,.18);border-radius:0;background:transparent;padding:.75rem .55rem}app-dashboard .hero-stats div:last-child{border-right:0}app-dashboard .hero-stats strong{font-size:1.15rem}app-dashboard .hero-stats span{font-size:.61rem;line-height:1.25}app-dashboard .mobile-section-title{align-items:center;justify-content:space-between;margin:.25rem .1rem .7rem}app-dashboard .mobile-section-title h3,app-dashboard .panel-head h3,app-dashboard .build-panel-head h3{position:relative;margin:0;padding-left:.7rem;font-size:.9rem}app-dashboard .mobile-section-title h3:before,app-dashboard .panel-head h3:before,app-dashboard .build-panel-head h3:before{content:"";position:absolute;left:0;top:.05rem;width:3px;height:1rem;border-radius:3px;background:#f97316}app-dashboard .mobile-section-title h3:before{background:#22c55e}app-dashboard .mobile-section-title a,app-dashboard .panel-head a,app-dashboard .build-panel-head a{font-size:.68rem;color:#2563eb;font-weight:900;text-decoration:none}app-dashboard .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.75rem;margin-bottom:.85rem}app-dashboard .stat-card{min-height:104px;border-radius:9px;padding:.8rem;grid-template-columns:38px minmax(0,1fr)!important;grid-template-areas:"icon value" "icon label" "icon note"!important;box-shadow:0 12px 24px #0f172a14}app-dashboard .stat-icon{justify-self:start;width:36px;height:36px;border-radius:50%}app-dashboard .stat-value{font-size:1.28rem}app-dashboard .stat-label{font-size:.72rem;line-height:1.2;text-transform:none}app-dashboard .stat-note{font-size:.66rem}app-dashboard .dashboard-grid{gap:.75rem}app-dashboard .panel{border-radius:8px;padding:.85rem;box-shadow:0 10px 24px #0f172a0f}app-dashboard .overview-card{grid-template-columns:minmax(132px,.9fr) minmax(0,1fr)!important;min-height:0;gap:.5rem!important}app-dashboard .overview-chart,app-dashboard .chart-hover{min-height:138px!important}app-dashboard .overview-chart apx-chart,app-dashboard .chart-hover apx-chart{width:138px!important;min-height:138px!important}app-dashboard .overview-list div,app-dashboard .delivery-legend span{border-bottom:0;padding:.35rem 0!important;font-size:.72rem}app-dashboard .build-status-table{overflow:visible}app-dashboard .build-header{display:none}app-dashboard .build-row{min-width:0!important;grid-template-columns:minmax(0,1fr) auto 52px;gap:.5rem;padding:.62rem 0}app-dashboard .build-row>span:nth-child(4),app-dashboard .build-row>span:nth-child(5){display:none}app-dashboard .build-milestone b{font-size:.66rem}app-dashboard .build-milestone strong{font-size:.72rem}app-dashboard .build-project-tag{font-size:.58rem;padding:.25rem .45rem}app-dashboard .delivery-list{max-height:none;padding-right:0}app-dashboard .delivery-row{grid-template-columns:minmax(0,1fr) auto 42px;border:0;border-bottom:1px solid #edf2f7;border-radius:0;background:#fff;padding:.62rem 0}app-dashboard .delivery-row time{text-align:right;font-size:.7rem}app-dashboard .delivery-status{font-size:.58rem;padding:.2rem .42rem}app-dashboard .delivery-summary{display:none!important}app-dashboard .favorite-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}app-dashboard .favorite-project{border-radius:7px;padding:.62rem;gap:.55rem;box-shadow:0 10px 18px #0f172a14}app-dashboard .favorite-top{grid-template-columns:34px minmax(0,1fr);gap:.45rem}app-dashboard .favorite-logo{width:34px;height:34px;border-radius:7px}app-dashboard .favorite-star{top:.45rem;right:.45rem;width:22px;height:22px}app-dashboard .favorite-main strong{font-size:.7rem}app-dashboard .favorite-main span,app-dashboard .favorite-meta{font-size:.58rem}app-dashboard .activity-head{display:flex;align-items:center}app-dashboard .activity-tabs button{padding:.28rem .45rem;font-size:.58rem}app-dashboard .apex-weekly apx-chart{min-height:200px}app-dashboard .issue-table{overflow:visible}app-dashboard .issue-row{grid-template-columns:minmax(0,1fr) 62px 64px 30px;gap:.4rem;padding:.58rem 0}app-dashboard .issue-row>*:nth-child(2){display:none}app-dashboard .issue-row>*:nth-child(5){display:flex}app-dashboard .issue-num{font-size:.62rem}app-dashboard .issue-title{font-size:.66rem;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}app-dashboard .project-tag,app-dashboard .badge-sev,app-dashboard .badge-status{font-size:.56rem;padding:.2rem .38rem}app-dashboard .assignee span{display:none}app-dashboard .mini-avatar{width:24px;height:24px;font-size:.58rem}app-dashboard .loading-grid{grid-template-columns:repeat(2,1fr)!important}}@media (max-width: 700px){app-dashboard .mobile-hero-bar{display:none!important}app-dashboard .hero{margin-top:0}}@media (max-width: 760px){app-shell .sidebar{height:100dvh!important;max-height:100dvh!important;overflow:hidden!important}app-shell .sidebar-header,app-shell .profile-card,app-shell .sidebar-footer{flex:0 0 auto!important}app-shell .nav{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding-bottom:calc(1rem + env(safe-area-inset-bottom))!important}app-dashboard .dashboard{max-width:100%!important}app-dashboard .hero{padding:.95rem .85rem .85rem!important;border-radius:0 0 18px 18px!important}app-dashboard .hero h2{font-size:1.1rem!important;line-height:1.18!important;margin-bottom:.35rem!important}app-dashboard .hero p{font-size:.72rem!important;line-height:1.35!important}app-dashboard .hero-stats{margin-top:.85rem!important;border-radius:10px!important}app-dashboard .hero-stats div{padding:.55rem .42rem!important}app-dashboard .hero-stats strong{font-size:.95rem!important}app-dashboard .hero-stats span{font-size:.55rem!important}app-dashboard .stats-grid{gap:.55rem!important}app-dashboard .stat-card{min-height:78px!important;padding:.55rem!important;border-radius:8px!important;grid-template-columns:30px minmax(0,1fr)!important;column-gap:.48rem!important;row-gap:.08rem!important}app-dashboard .stat-icon{width:30px!important;height:30px!important;border-radius:8px!important;font-size:.58rem!important}app-dashboard .stat-icon svg{width:15px!important;height:15px!important}app-dashboard .stat-value{font-size:1rem!important;line-height:1!important}app-dashboard .stat-label{font-size:.6rem!important;line-height:1.1!important}app-dashboard .stat-note{width:fit-content;max-width:100%;min-height:16px;padding:.1rem .32rem!important;font-size:.54rem!important;line-height:1.15!important;white-space:normal!important}app-project-list .projects-page{width:100%!important;overflow-x:hidden}app-project-list .page-header h2,app-milestone-calendar .page-head h2{font-size:1.15rem!important}app-project-list .header-tools{width:100%}app-project-list .search-input,app-project-list .category-filter{height:40px!important}app-project-list .rows-select select,app-project-list .view-toggle{height:40px!important}app-project-list .view-toggle button{height:34px!important}app-milestone-calendar .calendar-page{overflow:visible!important}app-milestone-calendar .page-head{margin-bottom:.75rem!important}app-milestone-calendar .page-head p{font-size:.78rem!important}app-milestone-calendar .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.55rem!important}app-milestone-calendar .metric{min-height:68px;padding:.6rem!important;border-radius:8px!important;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:.15rem .45rem!important}app-milestone-calendar .metric:before{width:28px!important;height:28px!important}app-milestone-calendar .metric span{font-size:.6rem!important;line-height:1.15}app-milestone-calendar .metric strong{font-size:.95rem!important}app-milestone-calendar .toolbar{display:grid!important;gap:.55rem!important}app-milestone-calendar .filters,app-milestone-calendar .nav-actions{display:flex!important;flex-wrap:nowrap!important;gap:.45rem!important;width:100%;overflow-x:auto;padding-bottom:.2rem;-webkit-overflow-scrolling:touch}app-milestone-calendar .filters select,app-milestone-calendar .filters input{flex:0 0 150px;width:auto!important;min-width:0!important;height:38px!important;font-size:.76rem!important}app-milestone-calendar .filters input{flex-basis:190px}app-milestone-calendar .nav-actions button{flex:0 0 auto;width:auto!important;min-width:48px;height:36px!important;padding:0 .6rem!important;font-size:.72rem!important}app-milestone-calendar .calendar-layout{display:grid!important;grid-template-columns:1fr!important;gap:.65rem!important}app-milestone-calendar .month-title{padding:.65rem .75rem!important;font-size:.86rem!important}app-milestone-calendar .calendar-grid{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important}app-milestone-calendar .dow{display:block!important;padding:.35rem .12rem!important;font-size:.58rem!important}app-milestone-calendar .day-cell{min-height:58px!important;padding:.25rem!important;gap:.18rem!important}app-milestone-calendar .day-number{width:20px!important;height:20px!important;font-size:.65rem!important}app-milestone-calendar .event,app-milestone-calendar .count-pill{padding:.14rem .2rem!important;border-radius:5px!important;font-size:.52rem!important}app-milestone-calendar .event small,app-milestone-calendar .event em{display:none!important}app-milestone-calendar .legend{gap:.45rem!important;padding:.55rem .65rem!important;font-size:.62rem!important}app-milestone-calendar .detail-card{padding:.75rem!important;max-height:none!important}app-milestone-calendar .detail-head h3{font-size:.82rem!important}}
