:root{--ilabs-red: #ff2f00;--ilabs-red-hover: #e62900;--ilabs-red-active: #cc2400;--ilabs-red-light: rgba(255, 47, 0, .08);--ilabs-red-lighter: rgba(255, 47, 0, .04);--ilabs-dark: #1a1a1a;--ilabs-gray: #656565;--ilabs-gray-light: #9a9a9a;--ilabs-gray-bg: #f7f7f8;--ilabs-white: #ffffff;--ilabs-black: #000000;--color-success: #2e7d32;--color-warning: #e65100;--color-danger: #c62828;--color-info: #1565c0;--text-primary: var(--ilabs-dark);--text-secondary: #595959;--text-tertiary: #8c8c8c;--text-placeholder: #bfbfbf;--surface-primary: var(--ilabs-white);--surface-secondary: var(--ilabs-gray-bg);--surface-sidebar: var(--ilabs-dark);--surface-border: #f0f0f0;--font-body: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-display: "DM Sans", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--shadow-card: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);--shadow-card-hover: 0 4px 12px rgba(0,0,0,.08), 0 2px 4px rgba(0,0,0,.04);--shadow-dropdown: 0 8px 24px rgba(0,0,0,.12)}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--surface-secondary);color:var(--ilabs-dark)}.ant-btn-primary{background:var(--ilabs-red)!important;border-color:var(--ilabs-red)!important;box-shadow:0 2px 6px #ff2f0040}.ant-btn-primary:hover{background:var(--ilabs-red-hover)!important;border-color:var(--ilabs-red-hover)!important}.ant-btn-primary:active{background:var(--ilabs-red-active)!important;border-color:var(--ilabs-red-active)!important}a,.ant-typography a{color:var(--ilabs-red)}a:hover,.ant-typography a:hover{color:var(--ilabs-red-hover)}.ant-badge .ant-badge-count{background:var(--ilabs-red)!important}.ant-tag-blue{background:var(--ilabs-red-light)!important;color:var(--ilabs-red)!important;border-color:#ff2f0040!important}.ant-layout-sider{background:var(--ilabs-dark)!important}.ant-menu-dark{background:transparent!important}.ant-menu-dark .ant-menu-item-selected{background:#ff2f0026!important;color:var(--ilabs-red)!important}.ant-menu-dark .ant-menu-item:hover{color:var(--ilabs-red)!important}.ant-card{border-radius:var(--radius-md);box-shadow:var(--shadow-card);border:1px solid rgba(0,0,0,.04);transition:box-shadow .2s,transform .2s}.ant-card:hover{box-shadow:var(--shadow-card-hover)}.ant-table-tbody>tr:hover>td{background:var(--ilabs-red-lighter)!important}.ant-table-thead>tr>th{font-weight:600!important;color:var(--ilabs-gray)!important;text-transform:uppercase;font-size:11px!important;letter-spacing:.5px}.ant-tabs-tab-active .ant-tabs-tab-btn{color:var(--ilabs-red)!important}.ant-tabs-ink-bar,.ant-progress-bg,.ant-switch-checked{background:var(--ilabs-red)!important}.ant-checkbox-checked .ant-checkbox-inner{background-color:var(--ilabs-red)!important;border-color:var(--ilabs-red)!important}.ant-input:focus,.ant-input-focused,.ant-select-focused .ant-select-selector,.ant-picker-focused{border-color:var(--ilabs-red)!important;box-shadow:0 0 0 2px #ff2f001a!important}.ant-pagination-item-active{border-color:var(--ilabs-red)!important}.ant-pagination-item-active a{color:var(--ilabs-red)!important}.ant-modal-content{border-radius:var(--radius-lg)!important}.hide-scrollbar::-webkit-scrollbar{display:none}.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.skeleton-card{background:var(--surface-primary);border-radius:var(--radius-md);padding:12px;margin-bottom:8px}.skeleton-line{height:12px;border-radius:4px;background:linear-gradient(90deg,#f0f0f0 25%,#e8e8e8,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.skeleton-line.wide{width:80%}.skeleton-line.medium{width:50%;margin-top:8px}.skeleton-line.short{width:30%;margin-top:8px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes pulse-active{0%,to{box-shadow:0 0 #ff2f004d}50%{box-shadow:0 0 0 4px #ff2f001a}}@keyframes page-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.page-content{animation:page-enter .2s ease-out}.ant-table-tbody>tr{transition:background .15s}.ant-btn:active{transform:scale(.97)}.ant-btn{transition:all .2s,transform .1s}.ant-drawer-content-wrapper{transition:transform .25s cubic-bezier(.25,.8,.25,1)!important}.ant-modal{animation:modal-enter .2s ease-out}@keyframes modal-enter{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.ant-tag{transition:opacity .15s}.ant-tag:hover{opacity:.85}.topbar{display:flex;align-items:center;justify-content:space-between;padding:0 16px;height:48px;background:var(--surface-primary);border-bottom:1px solid var(--surface-border)}.topbar-left{display:flex;align-items:center}.topbar-logo{height:22px}.topbar-avatar{cursor:pointer;background-color:var(--ilabs-red);font-size:13px;font-weight:600}.bottom-tabbar{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-around;align-items:stretch;height:calc(56px + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);background:var(--surface-primary);border-top:1px solid var(--surface-border);z-index:100;overflow:hidden}.bottom-tabbar-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:none;background:none;padding:4px 0;font-size:10px;line-height:1.2;color:var(--text-tertiary);cursor:pointer;transition:color .15s;overflow:hidden;white-space:nowrap}.bottom-tabbar-btn--active{color:var(--ilabs-red)}.bottom-tabbar-btn-icon{font-size:20px;line-height:1;display:flex;align-items:center}.issue-card{margin-bottom:8px;cursor:pointer}.issue-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.issue-card-title{flex:1;min-width:0}.issue-card-meta{margin-top:6px;font-size:12px;color:var(--text-secondary)}.issue-card-meta-row{display:flex;align-items:center;gap:4px}.issue-card-meta-row+.issue-card-meta-row{margin-top:2px}.issue-card-meta-icon{color:var(--text-tertiary);flex-shrink:0}.issue-card-meta-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.issue-card-date{margin-top:4px;font-size:12px;color:var(--text-tertiary)}
