:root{--tessell-primary-dark:#1a4d5e;--tessell-primary:#2c5f7f;--tessell-primary-light:#3d7a9f;--tessell-accent:#4fb3d9;--tessell-accent-light:#6fc5e3;--tessell-white:#fff;--tessell-gray-50:#f8f9fa;--tessell-gray-100:#f5f5f5;--tessell-gray-200:#e0e0e0;--tessell-gray-300:#d1d1d1;--tessell-gray-400:#999;--tessell-gray-500:#666;--tessell-gray-600:#555;--tessell-gray-700:#333;--tessell-gray-800:#222;--tessell-success:#28a745;--tessell-success-light:#e8f5e9;--tessell-warning:#ff9800;--tessell-warning-light:#fff3e0;--tessell-error:#dc3545;--tessell-error-light:#ffebee;--tessell-info:#2c5f7f;--tessell-info-light:#e0f2f7;--tessell-bg-primary:linear-gradient(135deg,#1a4d5e,#2c5f7f 50%,#4fb3d9);--tessell-bg-secondary:linear-gradient(135deg,#2c5f7f,#4fb3d9);--tessell-bg-light:#f5f5f5;--tessell-bg-white:#fff;--tessell-shadow-sm:0 2px 4px #0000001a;--tessell-shadow-md:0 2px 8px #0000001a;--tessell-shadow-lg:0 4px 12px #00000026;--tessell-radius-sm:4px;--tessell-radius-md:6px;--tessell-radius-lg:8px;--tessell-radius-xl:12px;--tessell-space-xs:4px;--tessell-space-sm:8px;--tessell-space-md:16px;--tessell-space-lg:24px;--tessell-space-xl:32px;--tessell-space-xxl:48px;--tessell-font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;--tessell-font-family-mono:source-code-pro,Menlo,Monaco,Consolas,"Courier New",monospace;--tessell-transition-fast:0.15s ease;--tessell-transition-normal:0.2s ease;--tessell-transition-slow:0.3s ease}.tessell-hex-bg{overflow:hidden;position:relative}.tessell-hex-bg:before{animation:hexMove 60s linear infinite;background-image:repeating-linear-gradient(60deg,#0000,#0000 35px,#ffffff14 0,#ffffff14 70px),repeating-linear-gradient(-60deg,#0000,#0000 35px,#ffffff14 0,#ffffff14 70px),repeating-linear-gradient(0deg,#0000,#0000 35px,#ffffff14 0,#ffffff14 70px);background-size:70px 120px;content:"";height:200%;opacity:.6;pointer-events:none;position:absolute;right:-10%;top:-50%;width:120%}@keyframes hexMove{0%{transform:translateY(0) rotate(0deg)}to{transform:translateY(120px) rotate(1turn)}}.tessell-gradient-bg{background:linear-gradient(135deg,#1a4d5e,#2c5f7f 50%,#4fb3d9);background:var(--tessell-bg-primary);position:relative}.tessell-gradient-bg-secondary{background:linear-gradient(135deg,#2c5f7f,#4fb3d9);background:var(--tessell-bg-secondary);position:relative}.tessell-glass{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3}*{box-sizing:border-box;margin:0;padding:0}body,html{background-color:var(--tessell-bg-light);height:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--tessell-gray-700);font-family:var(--tessell-font-family)}#root{background-color:var(--tessell-bg-light);min-height:100%}code{font-family:var(--tessell-font-family-mono)}h1,h2,h3,h4,h5,h6{color:var(--tessell-gray-800);font-weight:600;margin:0}a{color:inherit;text-decoration:none}button{border:none;cursor:pointer}button,input,select,textarea{font-family:inherit;outline:none}.loading{color:var(--tessell-gray-500);font-size:18px}.loading,.login-page{align-items:center;display:flex;justify-content:center;min-height:100vh}.login-page{background:linear-gradient(135deg,#667eea,#764ba2)}.login-container{max-width:400px;padding:20px;width:100%}.login-card{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;padding:48px 32px;text-align:center}.login-card h1{color:#1a1a1a;font-size:28px;margin-bottom:8px}.login-subtitle{color:#666;font-size:14px;margin-bottom:32px}.btn-google{font-size:16px;font-weight:600;padding:14px 24px;width:100%}.login-footer{color:#999;font-size:12px;margin-top:24px}.error-message{background-color:#ffebee;font-size:14px;margin-bottom:20px;padding:12px}.profile-completion-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:10000}.profile-completion-modal{animation:slideUp .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}.profile-completion-header{border-bottom:1px solid #e5e7eb;padding:32px 32px 24px;text-align:center}.profile-completion-header h1{color:#1a202c;font-size:28px;font-weight:700;margin:0 0 12px}.profile-completion-subtitle{color:#6b7280;font-size:15px;line-height:1.6;margin:0}.profile-completion-form{padding:32px}.profile-completion-form .form-group{margin-bottom:24px}.profile-completion-form label{color:#374151;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.profile-completion-form .required{color:#ef4444;margin-left:4px}.profile-completion-form input,.profile-completion-form select{background:#fff;border:2px solid #e5e7eb;border-radius:8px;font-size:15px;padding:12px 16px;transition:all .2s;width:100%}.profile-completion-form input:focus,.profile-completion-form select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.profile-completion-form input.error,.profile-completion-form select.error{border-color:#ef4444}.profile-completion-form input.disabled-field{background:#f3f4f6;color:#6b7280;cursor:not-allowed}.profile-completion-form .error-message{color:#ef4444;display:block;font-size:13px;font-weight:500;margin-top:6px}.profile-completion-form .field-hint{color:#9ca3af;display:block;font-size:13px;font-style:italic;margin-top:6px}.profile-completion-footer{border-top:1px solid #e5e7eb;display:flex;flex-direction:column;gap:16px;margin-top:32px;padding-top:24px}.profile-completion-footer .required-note{color:#6b7280;font-size:13px;margin:0;text-align:center}.profile-completion-footer .btn{border:none;border-radius:8px;cursor:pointer;font-size:16px;font-weight:600;padding:14px 24px;transition:all .2s;width:100%}.profile-completion-footer .btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.profile-completion-footer .btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 12px #2563eb4d;transform:translateY(-1px)}.profile-completion-footer .btn-primary:disabled{background:#9ca3af;cursor:not-allowed;opacity:.6}.profile-completion-footer .btn-large{height:56px}@media (max-width:640px){.profile-completion-modal{margin:20px;max-height:calc(100vh - 40px)}.profile-completion-header{padding:24px 24px 20px}.profile-completion-header h1{font-size:24px}.profile-completion-form{padding:24px}}@media (max-width:768px){.version-timeline-git{padding:0}.git-graph{min-height:400px;padding:150px 0;width:100%}.commit-card{max-width:220px;min-width:160px;padding:.75rem}.card-header h3{font-size:.85rem}.lock-badge,.tag-badge{font-size:.65rem;padding:.25rem .6rem}.info-item{font-size:.7rem}}@media (max-width:480px){.version-timeline-git{padding:0}.git-graph{min-height:350px;padding:150px 0}.node-circle{height:14px;width:14px}.commit-card{max-width:180px;min-width:140px;padding:.6rem}.card-header h3{font-size:.8rem}.action-btn-small{padding:.4rem}.action-btn-small svg{height:12px;width:12px}}.version-timeline-git{height:100%;overflow-x:auto;overflow-y:auto;padding:0;width:100%}.git-graph{height:100%;margin:0;min-height:350px;padding:90px 40px}.commit-node{align-items:center;display:flex;justify-content:center;z-index:3}.node-circle{box-shadow:0 2px 6px #0003;cursor:pointer;position:relative;transition:all .2s ease;z-index:3}.node-circle:hover{box-shadow:0 3px 10px #0000004d;transform:scale(1.3)}.commit-popup{display:block!important;max-width:calc(100vw - 40px);pointer-events:auto!important;transform:translateX(-50%)}.commit-node:hover .commit-popup,.commit-popup{opacity:1!important;visibility:visible!important}.commit-popup.above{bottom:calc(100% + 35px)!important;top:auto!important}.commit-popup.below{bottom:auto!important;top:calc(100% + 30px)!important}.commit-card{border:1px solid #e0e0e0;border-radius:6px;box-shadow:0 2px 8px #0000001a;cursor:pointer;display:block;max-width:min(240px,calc(100vw - 100px));min-width:160px;padding:.5rem .6rem;transition:all .2s ease;width:-webkit-fit-content;width:fit-content}.commit-card:hover{box-shadow:0 6px 20px #0000002e;transform:translateY(-2px)}.card-header{align-items:center;display:flex;gap:.4rem;justify-content:space-between;margin-bottom:.4rem}.card-header h3{color:#1a1a1a;flex:1 1;font-size:.85rem;font-weight:700;margin:0;word-break:break-word}.card-header-actions{align-items:center;display:flex;gap:.25rem}.action-btn-small{align-items:center;background:none;border:1px solid #e0e0e0;border-radius:4px;color:#666;cursor:pointer;display:flex;height:24px;justify-content:center;padding:.25rem;transition:all .2s ease;width:24px}.action-btn-small:hover{background:#f5f5f5;border-color:#ccc;transform:scale(1.1)}.action-btn-small svg{stroke:currentColor}.card-version{margin-bottom:.4rem}.version-badge{background:#f5f5f5;border-radius:8px;color:#666;display:inline-block;font-size:.6rem;font-weight:600;padding:.15rem .4rem;white-space:nowrap}.card-tags{align-items:center;display:flex;gap:.3rem;margin-bottom:.4rem}.lock-badge,.tag-badge{border-radius:10px;flex-shrink:0;font-size:.6rem;letter-spacing:.3px;padding:.2rem .5rem;text-transform:uppercase;white-space:nowrap}.lock-badge{align-items:center;background:#fff3e0;color:#ff9800;display:inline-flex;font-weight:600;gap:.15rem;transition:all .2s ease}.lock-badge.clickable{cursor:pointer}.lock-badge.clickable:hover{background:#ffe0b2;transform:scale(1.05)}.card-info{display:flex;flex-direction:column;gap:.3rem;margin-bottom:0}.info-item{font-size:.65rem;gap:.3rem}.info-item svg{color:#999;flex-shrink:0}.card-actions{border-top:1px solid #f0f0f0;display:flex;gap:.5rem;padding-top:.75rem}.action-btn{align-items:center;background:none;border:1px solid #e0e0e0;border-radius:6px;color:#666;cursor:pointer;display:flex;justify-content:center;padding:.5rem;transition:all .2s ease}.action-btn:hover{background:#f5f5f5;box-shadow:0 2px 8px #0000001a;transform:translateY(-2px)}.action-btn svg{stroke:currentColor}.card-arrow{background:#fff;height:12px;left:50%;position:absolute;width:12px}.commit-popup.above .card-arrow{bottom:-6px;box-shadow:2px 2px 4px #0000001a;transform:translateX(-50%) rotate(45deg)}.commit-popup.below .card-arrow{box-shadow:-2px -2px 4px #0000001a;top:-6px;transform:translateX(-50%) rotate(45deg)}.timeline-empty{padding:4rem 2rem;text-align:center}.timeline-empty p{font-size:1.125rem;margin:0}@media (max-width:1200px){.version-timeline-git{padding:0}.git-graph{width:100%}}@media (max-width:768px){.version-timeline-git{padding:0}.git-graph{min-height:400px;padding:150px 0;width:100%}.commit-card{max-width:220px;min-width:160px;padding:.75rem}.card-header h3{font-size:.85rem}.lock-badge,.tag-badge{font-size:.65rem;padding:.25rem .6rem}.info-item{font-size:.7rem}.version-badge{font-size:.65rem;padding:.2rem .5rem}}@media (max-width:480px){.version-timeline-git{padding:0}.git-graph{min-height:350px;padding:150px 0}.node-circle{height:14px;width:14px}.commit-card{max-width:180px;min-width:140px;padding:.6rem}.card-header h3{font-size:.8rem}.action-btn{padding:.4rem}.action-btn svg{height:12px;width:12px}}.versions-page{display:flex;flex-direction:column;height:calc(100vh - 80px);margin:0 auto;max-width:1400px;overflow:visible;padding:1rem 2rem 2rem}.page-actions{margin-bottom:1rem}.btn-create{font-size:.9rem;padding:.6rem 1.25rem}.versions-pane-container{background:#fff;border-radius:8px;box-shadow:0 1px 4px #00000014;flex:1 1;min-height:0;overflow-x:hidden;overflow-y:auto;padding:0;position:relative}.btn-create-inline{font-size:.9rem;padding:.6rem 1.25rem;position:absolute;right:.5rem;top:.5rem;z-index:20}.btn-primary:hover:not(:disabled){box-shadow:0 4px 12px #1976d24d;transform:translateY(-2px)}.btn-secondary:hover:not(:disabled){background:#e8e8e8}.error-banner,.info-banner{flex-shrink:0;font-size:.875rem;gap:.75rem;margin-bottom:1rem;padding:.875rem 1.25rem}.error-banner svg{stroke:#c62828}.error-banner button{color:#c62828}.info-banner{border:1px solid #90caf9;color:#1976d2}.info-banner svg{stroke:#1976d2;flex-shrink:0}.empty-state{box-shadow:0 1px 4px #00000014;flex:1 1;min-height:0;padding:3rem 2rem}.empty-state svg{color:#999;height:48px;width:48px}.empty-state h2{color:#333;font-size:1.25rem;margin-bottom:.5rem}.empty-state p{font-size:.9rem}.versions-grid{grid-gap:1.5rem;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.version-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 2px 4px #0000000d;padding:1.5rem;transition:all .2s ease}.version-card:hover{box-shadow:0 8px 16px #0000001a;transform:translateY(-4px)}.version-card-development{background:linear-gradient(90deg,#4caf500d,#fff);border-left:4px solid #4caf50}.version-card-development:hover{border-color:#4caf50;box-shadow:0 8px 16px #4caf5033}.version-card-qa{background:linear-gradient(90deg,#ff98000d,#fff);border-left:4px solid #ff9800}.version-card-qa:hover{border-color:#ff9800;box-shadow:0 8px 16px #ff980033}.version-card-stage{background:linear-gradient(90deg,#2196f30d,#fff);border-left:4px solid #2196f3}.version-card-stage:hover{border-color:#2196f3;box-shadow:0 8px 16px #2196f333}.version-card-production{background:linear-gradient(90deg,#f443360d,#fff);border-left:4px solid #f44336}.version-card-production:hover{border-color:#f44336;box-shadow:0 8px 16px #f4433633}.version-header{align-items:flex-start;gap:1rem;justify-content:space-between;margin-bottom:1rem}.version-header h3{color:#1976d2;font-size:1.5rem;font-weight:600;margin:0 0 .5rem}.status-badge-active{color:#4caf50}.status-badge-archived{color:#666}.badges{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.tag-badge{font-size:.75rem;letter-spacing:.5px;text-transform:capitalize}.tag-badge-development{background:#e8f5e9;border:1px solid #4caf50;color:#4caf50}.tag-badge-qa{background:#fff3e0;border:1px solid #ff9800;color:#ff9800}.tag-badge-stage{background:#e3f2fd;border:1px solid #2196f3;color:#2196f3}.tag-badge-production{background:#ffebee;border:1px solid #f44336;color:#f44336}.tag-badge-none{background:#f5f5f5;color:#999}.text-muted{color:#999;font-style:italic}.version-actions{gap:.5rem}.btn-icon{background:none;border:1px solid #e0e0e0;padding:.5rem;transition:all .2s ease}.btn-icon svg{stroke:#666}.btn-icon:hover{box-shadow:0 2px 8px #0000001a;transform:translateY(-2px)}.btn-release{border-color:#4caf50}.btn-release svg{stroke:#4caf50}.btn-release:hover{background:#e8f5e9;border-color:#4caf50}.btn-edit svg{stroke:#1976d2}.btn-edit:hover{background:#e3f2fd;border-color:#1976d2}.btn-delete{border-color:#f44336}.btn-delete svg{stroke:#f44336}.btn-delete:hover{border-color:#f44336}.version-info{border-top:1px solid #f0f0f0;display:flex;flex-direction:column;gap:.5rem;padding-top:1rem}.info-item{align-items:center;color:#666;display:flex;font-size:.875rem;gap:.5rem}.info-item strong{color:#333;font-weight:600}.form-group label{font-size:.9375rem}.form-group input{border:1px solid #ddd;border-radius:8px;font-size:1rem;padding:.75rem;transition:all .2s ease;width:100%}.form-group input:focus{border-color:#1976d2;box-shadow:0 0 0 3px #1976d21a;outline:none}.form-group input:disabled{background:#f5f5f5;cursor:not-allowed}.form-group select{background:#fff;border:1px solid #ddd;border-radius:8px;cursor:pointer;font-size:1rem;padding:.75rem;transition:all .2s ease;width:100%}.form-group select:focus{border-color:#1976d2;box-shadow:0 0 0 3px #1976d21a;outline:none}.form-group select:disabled{background:#f5f5f5;cursor:not-allowed}.form-group small{color:#999;font-size:.8125rem;font-style:italic}.detail-item{font-size:.9375rem;gap:.75rem}.detail-item strong{font-weight:600;min-width:120px}.detail-item a{color:#1976d2;text-decoration:none;word-break:break-all}.detail-item a:hover{text-decoration:underline}@media (max-width:1024px){.versions-page{padding:1rem 1.5rem 1.5rem}.versions-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}@media (max-width:768px){.versions-page{height:calc(100vh - 60px);padding:1rem}.page-actions{margin-bottom:.875rem}.versions-pane-container{padding:0}.btn-create-inline{font-size:.85rem;padding:.5rem 1rem;right:.5rem;top:.5rem}.versions-grid{grid-template-columns:1fr}.modal-overlay{padding:1rem}.modal-content{max-height:90vh;max-width:100%}.modal-header{padding:1.25rem}.modal-header h2{font-size:1.25rem}.modal-body{padding:1.25rem}.version-header{align-items:flex-start;flex-direction:column}.version-actions{justify-content:flex-end;width:100%}.detail-item{align-items:flex-start;flex-direction:column;gap:.5rem}.detail-item strong{min-width:auto}.btn{font-size:.9375rem;padding:.65rem 1.25rem}}@media (max-width:480px){.versions-page{height:calc(100vh - 60px);padding:.75rem}.page-actions{margin-bottom:.75rem}.versions-pane-container{padding:0}.btn-create-inline{font-size:.8rem;padding:.5rem .75rem;right:.25rem;top:.25rem}.btn-create-inline svg{height:16px;width:16px}.btn{font-size:.875rem;padding:.6rem 1rem}.btn svg{height:18px;width:18px}.error-banner,.info-banner{font-size:.875rem;padding:.875rem 1rem}.empty-state{padding:2rem 1.5rem}.empty-state svg{height:40px;width:40px}.empty-state h2{font-size:1.125rem}.empty-state p{font-size:.875rem}.modal-overlay{padding:.5rem}.modal-content{border-radius:8px;max-height:95vh}.modal-header{padding:1rem}.modal-header h2{font-size:1.125rem}.modal-close{font-size:1.75rem;height:28px;width:28px}.modal-body{padding:1rem}.form-group{margin-bottom:1.25rem}.form-group label{font-size:.875rem}.form-group input,.form-group select{font-size:.9375rem;padding:.65rem}.form-group small{font-size:.75rem}.modal-actions{flex-direction:column-reverse;gap:.75rem}.modal-actions .btn{justify-content:center;width:100%}.version-card{padding:1.25rem}.version-header h3{font-size:1.25rem}.info-item{font-size:.8125rem}}@media (max-width:360px){.versions-page{height:calc(100vh - 60px);padding:.5rem}.btn{font-size:.8125rem;padding:.5rem .875rem}.modal-content{border-radius:4px}.modal-body,.modal-header{padding:.875rem}}.patch-train-container{align-items:center;display:flex;justify-content:center;min-height:400px}.info-box{background:#fff;border-radius:12px;box-shadow:0 2px 12px #00000014;max-width:500px;padding:3rem 2rem;text-align:center}.info-box svg{color:#1976d2;margin-bottom:1.5rem}.info-box h2{color:#333;font-size:1.75rem;font-weight:600;margin:0 0 1rem}.info-box p{color:#666;font-size:1rem;line-height:1.6;margin:0 0 2rem}.tabs-container{margin-bottom:1.5rem}.tabs-header{border-bottom:2px solid #e0e0e0;display:flex;gap:.5rem;padding-bottom:0}.tab-button{align-items:center;background:none;border:none;border-bottom:3px solid #0000;color:#666;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;margin-bottom:-2px;padding:.75rem 1.5rem;position:relative;transition:all .2s ease}.tab-button:hover{background:#1976d20d;color:#1976d2}.tab-button.active{border-bottom-color:#1976d2;color:#1976d2}.tab-button svg{flex-shrink:0}@media (max-width:768px){.tabs-header{gap:.25rem}.tab-button{font-size:.9rem;padding:.65rem 1rem}.tab-button svg{height:16px;width:16px}}@media (max-width:480px){.tabs-header{-webkit-overflow-scrolling:touch;gap:0;overflow-x:auto}.tab-button{flex-shrink:0;font-size:.85rem;padding:.6rem .75rem;white-space:nowrap}.tab-button svg{height:14px;width:14px}}.move-issues-dialog-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.move-issues-dialog{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;display:flex;flex-direction:column;max-height:80vh;max-width:600px;width:90%}.dialog-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:20px}.dialog-header h2{color:#2a5f8f;font-size:20px;margin:0}.close-btn{border-radius:4px;color:#666}.close-btn:hover{background:#f0f0f0;color:#333}.dialog-body{flex:1 1;overflow-y:auto;padding:20px}.dialog-description{color:#666;line-height:1.5;margin:0 0 20px}.move-section{margin-bottom:20px}.section-title{color:#333;margin-bottom:12px}.section-title label{align-items:center;cursor:pointer;display:flex;gap:8px}.section-title input[type=checkbox]{cursor:pointer;height:18px;width:18px}.issues-list{border:1px solid #e0e0e0;border-radius:4px;max-height:300px;overflow-y:auto}.issue-item{border-bottom:1px solid #f0f0f0;padding:10px 12px}.issue-item:last-child{border-bottom:none}.issue-item label{align-items:center;cursor:pointer;display:flex;gap:10px}.issue-item input[type=checkbox]{cursor:pointer;flex-shrink:0;height:16px;width:16px}.issue-key{color:#2a5f8f;flex-shrink:0;font-weight:600;min-width:100px}.issue-title{color:#666;flex:1 1}.destination-section{background:#f8f9fa;border-radius:4px;margin-top:20px;padding:16px}.destination-label{color:#333;display:flex;flex-direction:column;font-weight:600;gap:8px}.patch-select{background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:14px;padding:8px 12px;transition:border-color .2s}.patch-select:focus{border-color:#2a5f8f;outline:none}.patch-select:disabled{background:#f5f5f5;cursor:not-allowed}.dialog-footer{border-top:1px solid #e0e0e0;display:flex;gap:12px;justify-content:flex-end;padding:20px}.dialog-footer .btn{border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s}.dialog-footer .btn:disabled{cursor:not-allowed;opacity:.5}.dialog-footer .btn-secondary{background:#f0f0f0;color:#666}.dialog-footer .btn-secondary:hover:not(:disabled){background:#e0e0e0}.dialog-footer .btn-primary{background:#2a5f8f;color:#fff}.dialog-footer .btn-primary:hover:not(:disabled){background:#1e4a6f}.dialog-footer .btn-danger{background:#dc3545;color:#fff}.dialog-footer .btn-danger:hover:not(:disabled){background:#c82333}.patch-timeline-git{min-height:600px;padding:3rem 0 2rem;width:100%}.git-graph{height:600px;padding-bottom:0;padding-top:0}.git-graph,.main-lane{position:relative;width:100%}.main-lane{height:100%}.branch-svg{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:1}.commit-node{position:absolute;transform:translate(-50%,-50%);z-index:5}.commit-node.placeholder{z-index:2}.node-circle{border:3px solid #fff;border-radius:50%;box-shadow:0 2px 4px #0003;height:16px;width:16px}.node-circle.empty{background:#e0e0e0}.commit-node.main-commit:hover .commit-popup{opacity:1;transform:translateY(0);visibility:visible}.commit-popup{left:50%;margin-top:1rem;opacity:0;position:absolute;top:100%;transform:translateX(-50%) translateY(10px);transition:all .2s ease;visibility:hidden;z-index:100}.commit-card{background:#fff;border:2px solid #667eea;border-radius:12px;box-shadow:0 4px 12px #00000026;cursor:default;min-width:200px;padding:1rem;position:relative}.lock-button{background:none;border:none;cursor:pointer;font-size:18px;line-height:1;padding:.25rem;position:absolute;right:.5rem;top:.5rem;transition:transform .2s ease}.lock-button:hover{transform:scale(1.2)}.archive-button{background:none;border:none;cursor:pointer;font-size:18px;line-height:1;padding:.25rem;position:absolute;right:2.5rem;top:.5rem;transition:transform .2s ease}.archive-button:hover{transform:scale(1.2)}.commit-info{display:flex;flex-direction:column;gap:.5rem}.commit-info strong{color:#333;font-size:16px}.tag-badge{align-self:flex-start;color:#fff;display:inline-block}.branch-label-popup,.tag-badge{border-radius:12px;font-size:12px;padding:.25rem .75rem}.branch-label-popup{background:#f5f5f5;color:#666;font-weight:600;margin-top:.5rem;text-align:center}.patch-tile{position:absolute;z-index:10}.patch-tile-card{background:#fff;border:3px solid;border-radius:12px;box-shadow:0 4px 12px #00000026;min-width:180px;padding:1rem;position:relative;transition:all .2s ease}.patch-tile-actions{align-items:center;display:flex;gap:2px;justify-content:flex-end;margin-bottom:6px}.archive-button-small,.delete-button-small,.edit-button-small,.lock-button-small{align-items:center;background:#0000;border:none;border-radius:4px;cursor:pointer;display:flex;font-size:.7rem;height:20px;justify-content:center;padding:2px;transition:all .2s ease;width:20px}.archive-button-small:disabled,.delete-button-small:disabled,.edit-button-small:disabled,.lock-button-small:disabled{cursor:not-allowed;opacity:.3;pointer-events:none}.lock-button-small.locked{background:#f443361a}.lock-button-small.unlocked{background:#4caf501a}.edit-button-small{background:#2196f31a}.archive-button-small{background:#9c27b01a}.delete-button-small{background:#f443361a}.archive-button-small:hover:not(:disabled),.delete-button-small:hover:not(:disabled),.edit-button-small:hover:not(:disabled),.lock-button-small:hover:not(:disabled){transform:scale(1.15)}.patch-tile-content{display:flex;flex-direction:column;gap:.5rem}.patch-tile-number{color:#333;font-size:16px;font-weight:700;padding-right:3rem}.patch-tile-badge{align-self:flex-start;border-radius:12px;color:#fff;display:inline-block;font-size:11px;font-weight:600;padding:.25rem .75rem}.patch-tile-date{color:#666;font-size:12px}.timeline-empty{align-items:center;color:#999;display:flex;font-size:14px;font-style:italic;height:200px;justify-content:center}.version-detail-page{margin:0 auto;max-width:1600px;padding:2rem}.page-header-detail{margin-bottom:2rem}.btn-back{background:none;border:none;color:#1976d2;display:flex;font-size:14px;padding:.5rem 0;transition:color .2s ease}.btn-back:hover{color:#1565c0}.version-header-info{align-items:center;display:flex;gap:1rem}.version-header-info h1{color:#333;font-size:28px;margin:0}.page-actions{display:flex;justify-content:flex-end;margin-bottom:2rem}.btn-create{align-items:center;display:flex;gap:.5rem}.error-banner,.info-banner{align-items:center;border-radius:8px;display:flex;gap:1rem;margin-bottom:1.5rem;padding:1rem}.error-banner{border:1px solid #ef5350}.info-banner{background:#e3f2fd;border:1px solid #42a5f5;color:#1565c0}.error-banner button,.info-banner button{background:none;border:none;color:inherit;cursor:pointer;font-size:20px;margin-left:auto;padding:0 .5rem}.empty-state svg{margin-bottom:1rem}.empty-state h2{color:#666;font-size:24px;margin:0 0 .5rem}.modal-close{transition:background .2s ease}.form-group input,.form-group select{font-size:14px;transition:border-color .2s ease}.form-group input:disabled,.form-group select:disabled{background:#f5f5f5}.form-group small{color:#666;display:block;font-size:12px;line-height:1.4;margin-top:.5rem}.detail-item{border-bottom:1px solid #f0f0f0}.detail-item strong{color:#666;font-size:14px}.detail-item span{color:#333;font-size:14px}.status-badge-planning{background:#fff3e0;color:#e65100}.status-badge-active{background:#e8f5e9;color:#2e7d32}.status-badge-archived{background:#f5f5f5;color:#757575}.btn-primary{background:linear-gradient(135deg,#1976d2,#1565c0)}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#1565c0,#0d47a1);box-shadow:0 4px 8px #1976d24d}.btn-secondary{border:1px solid #e0e0e0}.btn-secondary:hover:not(:disabled){background:#f5f5f5;border-color:#1976d2}.patches-timeline-container{flex:1 1;min-height:0;overflow-x:hidden;overflow-y:auto;padding-top:2rem}.version-management-page{margin:0 auto;max-width:1400px;padding:24px}.page-header p{color:#666}.action-bar{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:24px}.btn-warning{background:#ff9800}.btn-warning:hover:not(:disabled){background:#f57c00}.btn-danger:hover:not(:disabled){background:#c62828}.message{align-items:center;border-radius:6px;display:flex;font-size:14px;justify-content:space-between;margin-bottom:24px;padding:12px 16px}.message.success{background:#e8f5e9;border:1px solid #81c784;color:#2e7d32}.message.error{background:#ffebee;border:1px solid #e57373;color:#c62828}.message-close{align-items:center;background:none;border:none;color:inherit;cursor:pointer;display:flex;font-size:20px;height:24px;justify-content:center;padding:0;width:24px}.duplicates-container h2{color:#1a1a1a;font-size:20px;font-weight:600;margin:0 0 24px}.duplicate-group{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:24px;padding:24px}.duplicate-group h3{align-items:center;color:#1a1a1a;display:flex;font-size:18px;font-weight:600;gap:12px;margin:0 0 16px}.duplicate-count{background:#ffebee;border-radius:12px;color:#d32f2f;font-size:14px;font-weight:400;padding:4px 12px}.versions-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.version-card{background:#fafafa;border:2px solid #e0e0e0;border-radius:8px;padding:16px;transition:all .2s}.version-card:hover{border-color:#bdbdbd;box-shadow:0 2px 8px #0000001a}.version-card.selected{background:#e3f2fd;border-color:#1976d2}.version-card-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;gap:8px;margin-bottom:12px;padding-bottom:12px}.version-checkbox{cursor:pointer;height:18px;width:18px}.version-id{color:#666;font-family:monospace;font-size:12px}.version-details{display:flex;flex-direction:column;gap:8px}.detail-row{align-items:center;display:flex;font-size:13px;justify-content:space-between}.detail-row .label{color:#666;font-weight:500}.badge{border-radius:4px;padding:2px 8px}.badge-active{background:#e8f5e9;color:#2e7d32}.badge-planning{background:#fff3e0;color:#e65100}.badge-archive,.badge-archived{background:#f5f5f5;color:#757575}.badge-production{background:#e8f5e9;color:#2e7d32}.badge-qa{background:#fff3e0;color:#e65100}.badge-stage{background:#e3f2fd;color:#1565c0}.badge-none{background:#f5f5f5;color:#9e9e9e}.date{color:#666;font-family:monospace;font-size:12px}.empty-state{font-size:16px}.project-management-page h1{margin-bottom:8px}.management-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:48px}.management-card{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:24px}.management-card h3{color:#666;font-size:16px;margin-bottom:16px}.management-sections{display:flex;flex-direction:column;gap:24px}.management-section{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:24px}.management-section h2{margin-bottom:16px}.empty-state{padding:48px 0}.release-dashboard-page{margin:0 auto;max-width:1400px;padding:1rem 2rem 2rem}.dashboard-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.dashboard-header h1{color:#1a1a1a;font-size:2rem;margin:0 0 .5rem}.dashboard-header .subtitle{color:#666;font-size:1rem;margin:0}.stats-section{margin-bottom:2.5rem}.stats-section h2{color:#1a1a1a;font-size:1.5rem;margin:0 0 1.5rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.stat-card{border-left:4px solid #ddd;box-shadow:0 2px 8px #00000014;transition:transform .2s,box-shadow .2s}.stat-card:hover{box-shadow:0 4px 12px #0000001f}.stat-header{align-items:center;display:flex;gap:.75rem;margin-bottom:1rem}.stat-icon{color:#fff;font-size:1rem;font-weight:600;height:36px;width:36px}.stat-card h3{color:#444;font-size:1rem;font-weight:500;margin:0}.stat-number{color:#1a1a1a;font-size:2.5rem;margin:.5rem 0}.stat-label{font-size:.9rem}.blockers-section{margin-bottom:1.5rem}.blockers-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.blocker-card{align-items:center;background:#fff;border-radius:8px;box-shadow:0 1px 4px #00000014;display:flex;gap:1rem;padding:1.25rem;transition:transform .2s,box-shadow .2s}.blocker-card:hover{box-shadow:0 2px 8px #0000001f;transform:translateY(-2px)}.blocker-icon{align-items:center;border-radius:8px;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.blocker-icon svg{height:24px;width:24px}.major-blocker .blocker-icon{background:#f443361a;color:#f44336}.patch-blocker .blocker-icon{background:#ff98001a;color:#ff9800}.blocker-content{display:flex;flex:1 1;flex-direction:column;gap:.5rem}.blocker-content h3{color:#444;font-size:.95rem;font-weight:500;margin:0}.blocker-number{color:#1a1a1a;font-size:1.75rem;font-weight:700;margin:0}.major-blocker .blocker-number{color:#f44336}.patch-blocker .blocker-number{color:#ff9800}.priority-badges{display:flex;gap:.5rem;margin-top:.25rem}.priority-badge{align-items:center;border-radius:16px;color:#fff;display:inline-flex;font-size:.875rem;gap:.25rem;height:32px;justify-content:center;min-width:32px;padding:0 .5rem}.priority-badge svg{flex-shrink:0}.priority-badge-highest{background:#f44336}.priority-badge-high{background:#ff9800}.priority-badge-medium{background:#ffc107;color:#333}.priority-badge-low{background:#2196f3}.blocker-label{color:#666;font-size:.9rem;margin:0}.issue-stats-section{margin-bottom:2rem}.issue-stats-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.issue-stat-card{align-items:center;background:#fff;border-radius:8px;box-shadow:0 1px 4px #00000014;display:flex;gap:1rem;padding:1.25rem;transition:transform .2s,box-shadow .2s}.issue-stat-card:hover{box-shadow:0 2px 8px #0000001f;transform:translateY(-2px)}.issue-stat-card .stat-icon{align-items:center;border-radius:8px;display:flex;flex-shrink:0;height:56px;justify-content:center;width:56px}.issue-stat-card .stat-content{display:flex;flex:1 1;flex-direction:column;gap:.25rem}.issue-stat-card .stat-content h3{color:#444;font-size:.875rem;font-weight:500;margin:0}.issue-stat-card .stat-number{color:#1a1a1a;font-size:1.75rem;font-weight:700;margin:0}.issue-stat-card .stat-label{color:#666;font-size:.75rem;margin:0}.qa-issues .stat-icon{background:#2196f31a;color:#2196f3}.qa-issues .stat-number{color:#2196f3}.stage-issues .stat-icon{background:#9c27b01a;color:#9c27b0}.stage-issues .stat-number{color:#9c27b0}.imp-fixes .stat-icon{background:#ff98001a;color:#ff9800}.imp-fixes .stat-number{color:#ff9800}.hcp-issues .stat-icon{background:#f443361a;color:#f44336}.hcp-issues .stat-number{color:#f44336}.recent-section{margin-bottom:2.5rem}.section-header h2{color:#1a1a1a}.btn-link{border:none;border-radius:6px;color:#1976d2;cursor:pointer;font-size:1rem;font-weight:500;padding:.5rem 1rem;transition:background-color .2s}.btn-link:hover{background-color:#1976d214}.versions-list{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow:hidden}.version-item{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:1.25rem 1.5rem;transition:background-color .2s}.version-item:last-child{border-bottom:none}.version-item:hover{background-color:#fafafa}.version-info{flex:1 1}.version-header{align-items:center;display:flex;gap:.75rem;margin-bottom:.5rem}.version-number{color:#1a1a1a;font-size:1.1rem;font-weight:600}.version-tag{border-radius:6px;color:#fff;display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.5px;padding:.25rem .75rem;text-transform:uppercase}.lock-indicator{font-size:1rem}.version-date{color:#666;font-size:.9rem}.version-actions{display:flex;gap:.75rem}.btn-small{background-color:#1976d2;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:.5rem 1rem;transition:background-color .2s}.btn-small:hover{background-color:#1565c0}.quick-links-section{margin-bottom:0}.quick-links-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.quick-link-card{align-items:center;background:#fff;border-radius:8px;box-shadow:0 1px 4px #00000014;cursor:pointer;display:flex;flex-direction:column;gap:.5rem;padding:1rem;text-align:center;transition:transform .2s,box-shadow .2s}.quick-link-card:hover{box-shadow:0 2px 8px #0000001f;transform:translateY(-2px)}.quick-link-card svg{color:#1976d2;flex-shrink:0;height:20px;width:20px}.quick-link-card h3{color:#1a1a1a;font-size:.9rem;font-weight:600;margin:0}@media (max-width:768px){.release-dashboard-page{padding:1rem}.blockers-grid,.issue-stats-grid,.quick-links-grid,.stats-grid{grid-template-columns:1fr}.blocker-card,.issue-stat-card{flex-direction:column;text-align:center}.version-item{align-items:flex-start;flex-direction:column;gap:1rem}.version-actions{width:100%}.btn-small{flex:1 1}}.release-calendar-page{display:flex;flex-direction:column;height:calc(100vh - 70px);margin:0 auto;max-width:1600px;overflow:hidden;padding:16px}.page-header{flex-shrink:0;margin-bottom:12px}.view-toggle{background:var(--tessell-gray-100);border-radius:8px;display:flex;padding:4px}.toggle-btn{background:#0000;border:none;border-radius:6px;color:var(--tessell-gray-600);cursor:pointer;font-size:14px;font-weight:500;padding:8px 20px;transition:all .2s}.toggle-btn:hover{color:var(--tessell-gray-900)}.toggle-btn.active{color:var(--tessell-primary)}.calendar-toolbar,.toggle-btn.active{background:#fff;box-shadow:0 1px 3px #0000001a}.calendar-toolbar{align-items:center;border-radius:8px;display:flex;flex-shrink:0;justify-content:space-between;margin-bottom:12px;padding:12px 16px}.toolbar-center{align-items:center;display:flex;gap:20px}.nav-btn{background:#fff;border:1px solid var(--tessell-gray-200);border-radius:6px;color:var(--tessell-gray-700);cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s}.nav-btn:hover{background:var(--tessell-gray-50);border-color:var(--tessell-gray-300)}.filter-btn{color:var(--tessell-gray-600);font-size:13px;padding:6px 16px;transition:all .2s}.toolbar-title{flex-shrink:0}.toolbar-title h2{color:var(--tessell-gray-900);font-size:18px;font-weight:600;margin:0}.calendar-container{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;display:flex;flex:1 1;flex-direction:column;margin-bottom:12px;overflow:hidden;padding:16px}.calendar-month{display:flex;flex-direction:column;height:100%;width:100%}.calendar-header{flex-shrink:0;margin-bottom:8px}.calendar-weekdays{grid-gap:6px;border-bottom:2px solid var(--tessell-gray-100);display:grid;gap:6px;grid-template-columns:repeat(7,1fr);padding-bottom:8px}.calendar-weekday{color:var(--tessell-gray-700);font-size:12px;font-weight:600;letter-spacing:.5px;text-align:center;text-transform:uppercase}.calendar-body{display:flex;flex:1 1;flex-direction:column;gap:6px}.calendar-week{grid-gap:6px;display:grid;flex:1 1;gap:6px;grid-template-columns:repeat(7,1fr)}.calendar-day{background:var(--tessell-gray-50);border:1px solid var(--tessell-gray-100);border-radius:6px;display:flex;flex-direction:column;min-height:0;padding:0;position:relative;transition:all .2s}.calendar-day:hover{border-color:var(--tessell-primary);box-shadow:0 2px 8px #2a5f8f1a}.calendar-day.other-month{background:#0000;border-color:#0000;visibility:hidden}.calendar-day.today{border-color:var(--tessell-primary);border-width:2px}.calendar-day.today .day-number{background:var(--tessell-primary);border-radius:0;color:#fff}.day-number{background:#ffffffe6;border-radius:4px;box-shadow:0 1px 3px #0000001a;color:var(--tessell-gray-900);flex-shrink:0;font-size:11px;font-weight:700;left:4px;min-width:20px;padding:2px 6px;position:absolute;text-align:center;top:4px;z-index:2}.day-events{bottom:0;flex-direction:column;gap:0;left:0;position:absolute;right:0;top:0;z-index:0}.day-events,.event-badge{display:flex;overflow:hidden}.event-badge{align-items:center;border-radius:6px;box-shadow:0 1px 2px #00000014;cursor:pointer;flex:1 1;font-size:13px;font-style:italic;font-weight:900!important;justify-content:center;padding:8px;text-overflow:ellipsis;transition:all .2s;white-space:nowrap}.event-badge.release{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border-left:4px solid #1565c0;color:#0d47a1}.event-badge.release:hover{background:linear-gradient(135deg,#bbdefb,#90caf9);box-shadow:0 2px 6px #1565c04d;transform:translateY(-1px)}.event-badge.patch{background:linear-gradient(135deg,#f3e5f5,#e1bee7);border-left:4px solid #6a1b9a;color:#4a148c}.event-badge.patch:hover{background:linear-gradient(135deg,#e1bee7,#ce93d8);box-shadow:0 2px 6px #6a1b9a4d;transform:translateY(-1px)}.event-badge.event-production{background:linear-gradient(135deg,#c8e6c9,#a5d6a7);border-left:4px solid #2e7d32;color:#1b5e20}.event-badge.event-production:hover{background:linear-gradient(135deg,#a5d6a7,#81c784);box-shadow:0 2px 6px #2e7d324d;transform:translateY(-1px)}.event-badge.event-rollout{background:linear-gradient(135deg,#fff9c4,#fff59d);border-left:4px solid #f9a825;color:#f57f17}.event-badge.event-rollout:hover{background:linear-gradient(135deg,#fff59d,#fff176);box-shadow:0 2px 6px #f9a8254d;transform:translateY(-1px)}.event-badge.event-delayed{background:linear-gradient(135deg,#ffccbc,#ffab91);border-left:4px solid #d84315;color:#bf360c}.event-badge.event-delayed:hover{background:linear-gradient(135deg,#ffab91,#ff8a65);box-shadow:0 2px 6px #d843154d;transform:translateY(-1px)}.event-badge.event-cancelled{background:linear-gradient(135deg,#ffcdd2,#ef9a9a);border-left:4px solid #c62828;color:#b71c1c}.event-badge.event-cancelled:hover{background:linear-gradient(135deg,#ef9a9a,#e57373);box-shadow:0 2px 6px #c628284d;transform:translateY(-1px)}.event-badge.event-archived{background:linear-gradient(135deg,#e0e0e0,#bdbdbd);border-left:4px solid #616161;color:#424242}.event-badge.event-archived:hover{background:linear-gradient(135deg,#bdbdbd,#9e9e9e);box-shadow:0 2px 6px #6161614d;transform:translateY(-1px)}.event-badge.event-active{background:linear-gradient(135deg,#b3e5fc,#81d4fa);border-left:4px solid #0277bd;color:#01579b}.event-badge.event-active:hover{background:linear-gradient(135deg,#81d4fa,#4fc3f7);box-shadow:0 2px 6px #0277bd4d;transform:translateY(-1px)}.event-badge.event-planning{background:linear-gradient(135deg,#d1c4e9,#b39ddb);border-left:4px solid #4527a0;color:#311b92}.event-badge.event-planning:hover{background:linear-gradient(135deg,#b39ddb,#9575cd);box-shadow:0 2px 6px #4527a04d;transform:translateY(-1px)}.event-badge.event-default,.event-badge.event-release{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border-left:4px solid #1565c0;color:#0d47a1}.event-badge.event-default:hover,.event-badge.event-release:hover{background:linear-gradient(135deg,#bbdefb,#90caf9);box-shadow:0 2px 6px #1565c04d;transform:translateY(-1px)}.event-badge.event-patch{background:linear-gradient(135deg,#f3e5f5,#e1bee7);border-left:4px solid #6a1b9a;color:#4a148c}.event-badge.event-patch:hover{background:linear-gradient(135deg,#e1bee7,#ce93d8);box-shadow:0 2px 6px #6a1b9a4d;transform:translateY(-1px)}.event-title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-quarter{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr);height:100%}.quarter-month{background:var(--tessell-gray-50);border-radius:8px;display:flex;flex-direction:column;padding:12px}.month-title{color:var(--tessell-gray-900);flex-shrink:0;font-size:14px;font-weight:600;margin:0 0 10px;text-align:center}.calendar-month-mini{display:flex;flex:1 1;flex-direction:column;width:100%}.calendar-weekdays-mini{grid-gap:3px;display:grid;flex-shrink:0;gap:3px;grid-template-columns:repeat(7,1fr);margin-bottom:6px}.calendar-weekday-mini{color:var(--tessell-gray-600);font-size:10px;font-weight:600;text-align:center;text-transform:uppercase}.calendar-body-mini{display:flex;flex:1 1;flex-direction:column;gap:3px}.calendar-week-mini{grid-gap:3px;display:grid;flex:1 1;gap:3px;grid-template-columns:repeat(7,1fr)}.calendar-day-mini{align-items:center;background:#fff;border:1px solid var(--tessell-gray-100);border-radius:4px;cursor:pointer;display:flex;flex-direction:column;font-size:10px;font-style:italic;font-weight:700;justify-content:center;min-height:0;padding:4px 2px;position:relative;transition:all .2s}.calendar-day-mini:hover{border-color:var(--tessell-primary);box-shadow:0 2px 4px #2a5f8f1a}.calendar-day-mini.other-month{background:#0000;border-color:#0000;visibility:hidden}.calendar-day-mini.today{background:#2a5f8f1a;border-color:var(--tessell-primary)}.calendar-day-mini.today .day-number-mini{color:var(--tessell-primary);font-weight:700}.calendar-day-mini.has-events{font-weight:700}.calendar-day-mini.event-production{background:linear-gradient(135deg,#c8e6c9,#a5d6a7);border:1px solid #2e7d32;color:#1b5e20}.calendar-day-mini.event-rollout{background:linear-gradient(135deg,#fff9c4,#fff59d);border:1px solid #f9a825;color:#f57f17}.calendar-day-mini.event-delayed{background:linear-gradient(135deg,#ffccbc,#ffab91);border:1px solid #d84315;color:#bf360c}.calendar-day-mini.event-cancelled{background:linear-gradient(135deg,#ffcdd2,#ef9a9a);border:1px solid #c62828;color:#b71c1c}.calendar-day-mini.event-archived{background:linear-gradient(135deg,#e0e0e0,#bdbdbd);border:1px solid #616161;color:#424242}.calendar-day-mini.event-active{background:linear-gradient(135deg,#b3e5fc,#81d4fa);border:1px solid #0277bd;color:#01579b}.calendar-day-mini.event-planning{background:linear-gradient(135deg,#d1c4e9,#b39ddb);border:1px solid #4527a0;color:#311b92}.calendar-day-mini.event-default,.calendar-day-mini.event-release{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border:1px solid #1565c0;color:#0d47a1}.calendar-day-mini.event-patch{background:linear-gradient(135deg,#f3e5f5,#e1bee7);border:1px solid #6a1b9a;color:#4a148c}.day-number-mini{background:#ffffffe6;border-radius:3px;color:var(--tessell-gray-900);font-size:9px;font-weight:700;margin-bottom:2px;padding:1px 4px}.event-title-mini{font-size:9px;font-style:italic;font-weight:700;max-width:100%;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.event-indicator{display:flex;flex-wrap:wrap;gap:2px;justify-content:center;margin-top:2px}.event-dot{border-radius:50%;height:4px;width:4px}.event-dot.release{background:#1565c0}.event-dot.patch{background:#6a1b9a}.event-modal-overlay{align-items:center;animation:fadeIn .2s ease-out;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.event-modal{animation:slideUp .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 4px 20px #0003;max-width:500px;width:90%}.event-modal-header{align-items:center;border-bottom:1px solid var(--tessell-gray-100);display:flex;justify-content:space-between;padding:20px}.event-modal-header h3{color:var(--tessell-gray-900);font-size:20px;font-weight:600;margin:0}.close-btn{align-items:center;background:none;border:none;border-radius:6px;color:var(--tessell-gray-500);cursor:pointer;display:flex;font-size:28px;height:32px;justify-content:center;padding:0;transition:all .2s;width:32px}.close-btn:hover{background:var(--tessell-gray-100);color:var(--tessell-gray-900)}.event-modal-body{padding:20px}.event-modal-row{align-items:flex-start;border-bottom:1px solid var(--tessell-gray-50);display:flex;justify-content:space-between;padding:12px 0}.event-modal-row:last-child{border-bottom:none}.event-modal-label{color:var(--tessell-gray-700);font-size:14px;font-weight:600}.event-modal-value{color:var(--tessell-gray-900);font-size:14px;max-width:60%;text-align:right}.event-modal-value.release{color:#1565c0;font-weight:600}.event-modal-value.patch{color:#6a1b9a;font-weight:600}.error-state,.loading-state{color:var(--tessell-gray-600);font-size:16px;min-height:400px}.error-state p{color:var(--tessell-error);margin-bottom:16px}.error-state button{background:var(--tessell-primary);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s}.error-state button:hover{background:var(--tessell-primary-dark)}@media (max-width:1200px){.calendar-quarter{grid-template-columns:1fr}}@media (max-width:768px){.release-calendar-page{padding:16px}.page-header{align-items:flex-start}.calendar-toolbar,.page-header{flex-direction:column;gap:16px}.calendar-day{min-height:80px}.event-badge{font-size:10px;padding:4px 6px}}.release-tracker-page{margin:0;max-width:100%;padding:24px}.version-selector{align-items:center;background:#fff;border:1px solid var(--tessell-gray-100);border-radius:8px;box-shadow:0 1px 3px #0000001a;display:flex;gap:12px;margin-bottom:24px;padding:16px 20px}.version-selector label{color:var(--tessell-gray-700);font-size:14px;font-weight:600}.version-select{background:#fff;border:1px solid var(--tessell-gray-200);border-radius:6px;cursor:pointer;font-size:14px;outline:none;padding:8px 16px;transition:border-color var(--tessell-transition-normal)}.version-select:focus{border-color:var(--tessell-primary);box-shadow:0 0 0 3px #2a5f8f1a}.tracker-stats{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-bottom:24px}.stat-card{border:1px solid var(--tessell-gray-100);text-align:center}.stat-value{color:var(--tessell-primary);font-size:32px;margin-bottom:8px}.stat-label{font-size:12px}.stat-completed .stat-value{color:#4caf50}.stat-in-progress .stat-value{color:#2196f3}.stat-pending .stat-value{color:#ff9800}.stat-blocked .stat-value{color:#f44336}.stat-delayed .stat-value{color:#9c27b0}.milestone-category{background:#fff;border:1px solid var(--tessell-gray-100);border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-bottom:24px;padding:20px}.category-title{border-bottom:2px solid var(--tessell-primary);color:var(--tessell-gray-800);font-size:18px;font-weight:600;margin:0 0 16px;padding-bottom:8px}.milestones-table-container{overflow-x:auto}.milestones-table{border-collapse:collapse;min-width:900px;width:100%}.milestones-table thead{background:var(--tessell-gray-50)}.milestones-table th{border-bottom:2px solid var(--tessell-gray-200);color:var(--tessell-gray-700);font-size:12px;font-weight:600;letter-spacing:.5px;padding:12px 16px;text-align:left;text-transform:uppercase}.milestones-table tbody tr{border-bottom:1px solid var(--tessell-gray-100);transition:background var(--tessell-transition-normal)}.milestones-table tbody tr:hover{background:var(--tessell-gray-50)}.milestones-table td{color:var(--tessell-gray-700);font-size:14px;padding:14px 16px}.status-icon{align-items:center;border-radius:50%;display:inline-flex;font-size:16px;font-weight:700;height:28px;justify-content:center;width:28px}.status-in-progress{color:#1976d2}.status-blocked{background:#ffebee;color:#c62828}.contributors{display:flex;flex-wrap:wrap;gap:6px}.contributor-tag{background:var(--tessell-gray-100);border:1px solid var(--tessell-gray-200);border-radius:12px;color:var(--tessell-gray-700);padding:4px 10px}.contributor-tag,.delay-badge{display:inline-block;font-size:12px}.delay-badge{background:#ffebee;border-radius:12px;color:#c62828;font-weight:600;padding:4px 12px}@media (max-width:768px){.release-tracker-page{padding:16px}.tracker-stats{grid-template-columns:repeat(2,1fr)}.milestones-table-container{overflow-x:auto}}.release-feature-payload-page h1{margin-bottom:8px}.issues-table-container{overflow-x:auto}.release-feature-queue-page h1{margin-bottom:8px}.subtitle{color:#666;margin-bottom:32px}.release-stats{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(5,1fr);margin-bottom:48px}@media (max-width:1200px){.release-stats{grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){.release-stats{grid-template-columns:repeat(2,1fr)}}.release-stat-card{background:#fff;border:2px solid #0000;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:24px;transition:all .2s ease}.release-stat-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.release-stat-card.active{border:2px solid #1976d2;box-shadow:0 4px 16px #1976d24d}.release-stat-card h3{color:#666;font-size:16px;margin-bottom:16px}.stat-number{color:#1976d2;font-size:48px;font-weight:700;margin:0 0 8px}.stat-label{color:#999;font-size:14px;margin:0}.release-content{display:flex;flex-direction:column;gap:24px}.release-section{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:24px}.section-header{margin-bottom:24px}.release-section h2{margin-bottom:16px}.feature-board{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:16px}.feature-column{background:#f9f9f9;border-radius:8px;min-height:200px;padding:16px}.feature-column h3{color:#333;font-size:14px;font-weight:600;letter-spacing:.5px;margin-bottom:12px;text-transform:uppercase}.empty-state{font-size:14px;padding:24px 0}.btn{transition:background-color .2s}.loading-text{color:#1976d2;font-weight:500}.error-message{margin-bottom:16px;padding:16px}.issues-table-container{margin-top:16px}.issues-table{background:#fff}.issues-table th{background:#f5f5f5;border-bottom:2px solid #e0e0e0;color:#333;font-size:14px;padding:12px}.issues-table td{border-bottom:1px solid #e0e0e0;padding:12px}.issues-table tbody tr:hover{background:#f9f9f9}.issue-key{color:#1976d2;font-weight:500;text-decoration:none}.issue-key:hover{text-decoration:underline}.issue-type{align-items:center;display:flex;gap:8px}.issue-type-icon{height:16px;width:16px}.issue-summary{max-width:400px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.issue-priority{align-items:center;display:flex;gap:6px}.priority-icon{height:16px;width:16px}.assignee-info{align-items:center;display:flex;gap:8px}.assignee-avatar{border-radius:50%;height:24px;width:24px}.unassigned{color:#999;font-style:italic}.due-date-badge{border-radius:12px;color:#fff;display:inline-block;font-size:12px;font-weight:500;padding:4px 12px;white-space:nowrap}.due-date-overdue{background:#d32f2f}.due-date-normal{background:#4caf50}.feature-planning-page{margin:0 auto;max-width:1400px;padding:2rem}.planning-modules-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));margin-bottom:3rem}.planning-module-card{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:8px;cursor:pointer;display:flex;gap:1.5rem;padding:2rem;transition:all .2s ease}.planning-module-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.module-icon{flex-shrink:0}.module-content{flex:1 1}.module-content h2{color:#1a1a1a;font-size:1.25rem;font-weight:600;margin:0 0 .5rem}.module-content p{color:#666;font-size:.875rem;line-height:1.5;margin:0}.module-arrow{color:#999;flex-shrink:0;transition:transform .2s ease}.planning-module-card:hover .module-arrow{color:#666;transform:translateX(4px)}.planning-overview{margin-top:3rem}.overview-section{margin-bottom:2rem}.overview-section h3{color:#1a1a1a;font-size:1.5rem;font-weight:600;margin:0 0 1rem}.overview-section p{color:#666;font-size:1rem;line-height:1.6;margin:0}.overview-cards{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.info-card{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;padding:1.5rem}.info-card h4{color:#1a1a1a;font-size:1.125rem;font-weight:600;margin:0 0 .75rem}.info-card p{color:#666;font-size:.875rem;line-height:1.6;margin:0}@media (max-width:768px){.feature-planning-page{padding:1rem}.planning-modules-grid{grid-template-columns:1fr}.planning-module-card{padding:1.5rem}.overview-cards{grid-template-columns:1fr}}.hcp-issues-page{margin:0;max-width:100%;padding:24px}.page-header p{font-size:14px}.filter-bar{background:#fff;border:1px solid var(--tessell-gray-100);border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-bottom:24px;padding:16px}.filter-buttons{display:flex;flex-wrap:wrap;gap:12px}.filter-btn{background:#fff;border:1px solid var(--tessell-gray-200);border-radius:6px;color:var(--tessell-gray-700);cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all var(--tessell-transition-normal)}.filter-btn:hover{background:var(--tessell-gray-50);border-color:var(--tessell-primary);color:var(--tessell-primary)}.filter-btn.active{background:var(--tessell-primary);border-color:var(--tessell-primary);color:#fff}.empty-state,.error-state,.loading-state{background:#fff;border:1px solid var(--tessell-gray-100);border-radius:8px;min-height:400px;padding:40px}.loading-state .spinner{margin-bottom:16px}.empty-state p,.error-state p,.loading-state p{color:var(--tessell-gray-600);font-size:14px;margin:8px 0}.empty-state h3,.error-state h3{color:var(--tessell-gray-800);font-size:18px;margin:16px 0 8px}.error-state h3{color:var(--tessell-error)}.empty-state svg{color:var(--tessell-gray-400)}.btn-retry{background:var(--tessell-primary);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;margin-top:16px;padding:8px 16px;transition:background var(--tessell-transition-normal)}.btn-retry:hover{background:var(--tessell-primary-dark)}.issues-table-container{background:#fff;border:1px solid var(--tessell-gray-100);border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:visible}.issues-table{border-collapse:collapse;width:100%}.issues-table thead{background:var(--tessell-gray-50)}.issues-table th{border-bottom:2px solid var(--tessell-gray-200);color:var(--tessell-gray-700);font-size:13px;font-weight:600;letter-spacing:.5px;padding:12px 16px;text-align:left;text-transform:uppercase}.issues-table tbody tr{border-bottom:1px solid var(--tessell-gray-100);transition:background var(--tessell-transition-normal)}.issues-table tbody tr:hover{background:var(--tessell-gray-50)}.issues-table td{color:var(--tessell-gray-700);font-size:14px;padding:16px}.priority-badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:600;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase}.priority-highest{background:#ffebee;color:#c62828}.priority-high{background:#fff3e0;color:#e65100}.priority-medium{background:#fff9c4;color:#f57f17}.priority-low{background:#e8f5e9;color:#2e7d32}.issue-key-link{color:var(--tessell-primary);font-weight:600;text-decoration:none;transition:color var(--tessell-transition-normal)}.issue-key-link:hover{color:var(--tessell-primary-dark);text-decoration:underline}.summary-cell{max-width:400px}.status-badge{background:var(--tessell-gray-100);color:var(--tessell-gray-700)}.labels-cell{display:flex;flex-wrap:wrap;gap:6px}.label-tag{background:var(--tessell-gray-100);border:1px solid var(--tessell-gray-200);border-radius:4px;color:var(--tessell-gray-700);display:inline-block;font-size:11px;padding:2px 8px}@media (max-width:768px){.hcp-issues-page{padding:16px}.issues-table-container{overflow-x:auto}.issues-table{min-width:800px}.filter-buttons{flex-direction:column}.filter-btn{width:100%}}.feature-request-page{margin:0 auto;max-width:1200px;padding:24px}.page-header h1{color:var(--tessell-gray-900)}.page-header p{color:var(--tessell-gray-600);font-size:16px;margin:0}.alert{align-items:center;border-radius:8px;display:flex;font-size:14px;justify-content:space-between;margin-bottom:20px;padding:12px 16px}.alert-error{background:#ffebee;border:1px solid #ef9a9a;color:#c62828}.alert-success{background:#e8f5e9;border:1px solid #81c784;color:#2e7d32}.alert-close{background:none;border:none;color:inherit;cursor:pointer;font-size:20px;line-height:1;padding:0}.feature-request-form-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;margin-bottom:32px;padding:24px}.feature-request-form-card h2{color:var(--tessell-gray-900);font-size:20px;font-weight:600;margin:0 0 20px}.form-group label{color:var(--tessell-gray-700)}.form-group textarea{border:1px solid var(--tessell-gray-300);border-radius:8px;font-size:14px;padding:12px}.form-group textarea:focus{border-color:var(--tessell-primary);box-shadow:0 0 0 3px #2c5f7f1a}.form-group textarea:disabled{background:var(--tessell-gray-50)}.btn-primary{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s}.btn-primary:hover:not(:disabled){box-shadow:0 4px 12px #2c5f7f4d}.feature-requests-list h2{align-items:center;color:var(--tessell-gray-900);display:flex;font-size:20px;font-weight:600;gap:12px;margin:0 0 20px}.count-badge{background:var(--tessell-gray-100);color:var(--tessell-gray-700);font-size:14px;padding:2px 10px}.empty-state,.loading-state{color:var(--tessell-gray-500);padding:60px 20px;text-align:center}.loading-state .spinner{border:4px solid var(--tessell-gray-200);border-top-color:var(--tessell-primary);height:40px;margin:0 auto 16px;width:40px}.empty-state svg{opacity:.5}.empty-state h3{color:var(--tessell-gray-700);font-size:18px}.requests-grid{grid-gap:16px;display:grid;gap:16px}.request-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:20px;transition:all .2s}.request-card:hover{box-shadow:0 4px 12px #0000001f}.request-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.request-meta{display:flex;flex:1 1;flex-direction:column;gap:8px}.request-date,.request-user{align-items:center;color:var(--tessell-gray-600);display:flex;font-size:13px;gap:6px}.request-date svg,.request-user svg{flex-shrink:0}.request-actions{align-items:center;display:flex;gap:8px}.status-badge{font-size:12px;white-space:nowrap}.status-in-progress{background:#e3f2fd;color:#1565c0}.status-completed{background:#e8f5e9;color:#2e7d32}.status-rejected{background:#ffebee;color:#c62828}.status-select{background:#fff;border:1px solid var(--tessell-gray-300);border-radius:6px;cursor:pointer;font-size:12px;padding:4px 8px}.btn-delete{align-items:center;background:none;border:none;border-radius:4px;color:var(--tessell-gray-500);cursor:pointer;display:flex;justify-content:center;padding:4px;transition:all .2s}.btn-delete:hover{background:#ffebee;color:#c62828}.request-content p{word-wrap:break-word;color:var(--tessell-gray-700);font-size:14px;line-height:1.6;margin:0;white-space:pre-wrap}@media (max-width:768px){.feature-request-page{padding:16px}.request-header{align-items:flex-start;flex-direction:column}.request-actions{justify-content:space-between;width:100%}}.analysis-modal-overlay{align-items:center;animation:fadeIn .2s ease-out;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1001}.analysis-modal-content{animation:slideDown .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 8px 32px #0003;display:flex;flex-direction:column;max-height:80vh;max-width:700px;width:90%}.analysis-modal-header{align-items:center;border-bottom:1px solid var(--tessell-gray-100);display:flex;justify-content:space-between;padding:20px 24px}.analysis-modal-header h2{color:var(--tessell-gray-800);font-size:20px;margin:0}.analysis-modal-close{align-items:center;background:none;border:none;color:var(--tessell-gray-500);cursor:pointer;display:flex;font-size:32px;height:32px;justify-content:center;line-height:1;padding:0;width:32px}.analysis-modal-close:hover{color:var(--tessell-gray-700)}.analysis-modal-body{flex:1 1;overflow-y:auto;padding:24px}.analysis-text{color:var(--tessell-gray-700);font-size:15px;line-height:1.6;white-space:pre-wrap}.analysis-meta{border-top:1px solid var(--tessell-gray-100);color:var(--tessell-gray-600);display:flex;font-size:13px;justify-content:flex-end;margin-top:16px;padding-top:16px}.analysis-loading{padding:40px;text-align:center}.analysis-loading .spinner{animation:spin 1s linear infinite;border:4px solid var(--tessell-gray-200);border-radius:50%;border-top-color:var(--tessell-primary);height:40px;margin:0 auto 16px;width:40px}.analysis-loading p{color:var(--tessell-gray-600)}.analysis-error{color:var(--tessell-error);padding:40px;text-align:center}.analysis-error button{margin-top:16px}.analysis-empty{color:var(--tessell-gray-500);padding:40px;text-align:center}.analysis-modal-footer{border-top:1px solid var(--tessell-gray-100);display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.zoom-meeting-button{align-items:center;border:none;border-radius:6px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;padding:8px 16px;transition:all .2s ease;white-space:nowrap}.zoom-meeting-button:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.zoom-meeting-button:active{transform:translateY(0)}.zoom-meeting-button--connected{background-color:#2d8cff;color:#fff}.zoom-meeting-button--connected:hover{background-color:#1a75e8}.zoom-meeting-button--disconnected{background-color:#f5f5f5;border:1px solid #ddd;color:#333}.zoom-meeting-button--disconnected:hover{background-color:#e8e8e8;border-color:#ccc}.zoom-meeting-button--loading{background-color:#f5f5f5;color:#999;cursor:not-allowed;opacity:.6}.zoom-icon{flex-shrink:0;height:18px;width:18px}.zoom-meeting-button:disabled{cursor:not-allowed;opacity:.6}.zoom-modal-overlay{align-items:center;animation:fadeIn .2s ease;background-color:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.zoom-modal{animation:slideUp .3s ease;background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:85vh;max-width:700px;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.zoom-modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:20px 24px}.zoom-modal-header h2{color:#111827;font-size:20px;font-weight:600;margin:0}.zoom-modal-close{align-items:center;background:none;border:none;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;font-size:28px;height:32px;justify-content:center;line-height:1;padding:0;transition:all .2s ease;width:32px}.zoom-modal-close:hover{background-color:#f3f4f6;color:#111827}.zoom-modal-body{flex:1 1;overflow-y:auto;padding:24px}.zoom-modal-error{background-color:#fee2e2;border:1px solid #fecaca;border-radius:6px;color:#991b1b;font-size:14px;padding:12px 16px}.zoom-form-group,.zoom-modal-error{margin-bottom:20px}.zoom-form-group label{color:#374151;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.zoom-form-group input{border:1px solid #d1d5db;border-radius:6px;font-size:14px;padding:10px 12px;transition:all .2s ease;width:100%}.zoom-form-group input:focus{border-color:#2d8cff;box-shadow:0 0 0 3px #2d8cff1a;outline:none}.zoom-form-group input:disabled{background-color:#f3f4f6;cursor:not-allowed}.zoom-filters{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:20px;padding:16px}.zoom-filters h3{color:#111827;font-size:15px;font-weight:600;margin:0 0 16px}.zoom-filter-row{display:flex;flex-direction:column;gap:16px}.zoom-filter-chips{display:flex;flex-wrap:wrap;gap:8px}.zoom-chip{background-color:#fff;border:1px solid #d1d5db;border-radius:20px;color:#6b7280;cursor:pointer;font-size:13px;font-weight:500;padding:6px 14px;transition:all .2s ease}.zoom-chip:hover:not(:disabled){background-color:#eff6ff;border-color:#2d8cff;color:#2d8cff}.zoom-chip--active{background-color:#2d8cff;border-color:#2d8cff;color:#fff}.zoom-chip--active:hover{background-color:#1a75e8;border-color:#1a75e8}.zoom-chip:disabled{cursor:not-allowed;opacity:.5}.zoom-participants{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:16px}.zoom-participants h3{align-items:center;color:#111827;display:flex;font-size:15px;font-weight:600;gap:8px;margin:0 0 12px}.zoom-participants-subtitle{color:#6b7280;font-size:13px;font-weight:400}.zoom-no-participants{color:#6b7280;font-size:14px;line-height:1.6;padding:32px 16px;text-align:center}.zoom-participants-list{background-color:#fff;border:1px solid #e5e7eb;border-radius:6px;max-height:200px;overflow-y:auto;padding:8px}.zoom-participant-item{align-items:center;border-bottom:1px solid #f3f4f6;color:#374151;display:flex;font-size:13px;gap:8px;padding:8px 10px}.zoom-participant-item:last-child{border-bottom:none}.zoom-participant-icon{color:#9ca3af;flex-shrink:0;height:16px;width:16px}.zoom-modal-footer{border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.zoom-button{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s ease}.zoom-button--secondary{background-color:#fff;border:1px solid #d1d5db;color:#374151}.zoom-button--secondary:hover:not(:disabled){background-color:#f9fafb;border-color:#9ca3af}.zoom-button--primary{background-color:#2d8cff;color:#fff}.zoom-button--primary:hover:not(:disabled){background-color:#1a75e8;box-shadow:0 4px 8px #2d8cff4d}.zoom-button:disabled{cursor:not-allowed;opacity:.5}.zoom-participants-list::-webkit-scrollbar{width:8px}.zoom-participants-list::-webkit-scrollbar-track{background:#f3f4f6;border-radius:4px}.zoom-participants-list::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.zoom-participants-list::-webkit-scrollbar-thumb:hover{background:#9ca3af}.release-notes-modal{display:flex;flex-direction:column;max-height:90vh;max-width:900px}.release-notes-modal .modal-body{flex:1 1;overflow-y:auto;padding:20px}.release-notes-content{background-color:#f9f9f9;border:1px solid #ddd;border-radius:4px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6;padding:20px}.release-notes-content h1{border-bottom:2px solid #1976d2;font-size:24px;margin-bottom:16px;margin-top:0;padding-bottom:8px}.release-notes-content h2{color:#333;font-size:20px;margin-bottom:12px;margin-top:24px}.release-notes-content h3{color:#555;font-size:16px;margin-bottom:10px;margin-top:20px}.release-notes-content ol,.release-notes-content ul{margin-bottom:16px;margin-left:20px}.release-notes-content li{margin-bottom:8px}.release-notes-content code{background-color:#f0f0f0;border-radius:3px;font-family:Courier New,Courier,monospace;font-size:13px;padding:2px 6px}.release-notes-content pre{background-color:#f0f0f0;border-radius:4px;margin-bottom:16px;overflow-x:auto;padding:12px}.release-notes-content pre code{background-color:initial;padding:0}.release-notes-content p{margin-bottom:12px}.release-notes-content strong{color:#222;font-weight:600}.release-notes-content a{color:#1976d2;text-decoration:underline}.release-notes-content a:hover{color:#1565c0}.primary-button{background-color:#1976d2;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:background-color .2s}.primary-button:hover:not(:disabled){background-color:#1565c0}.primary-button:disabled{background-color:#ccc;cursor:not-allowed}.secondary-button{background-color:#f5f5f5;border:1px solid #ddd;border-radius:4px;color:#333;cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:all .2s}.secondary-button:hover:not(:disabled){background-color:#e0e0e0;border-color:#bbb}.secondary-button:disabled{background-color:#f9f9f9;color:#999;cursor:not-allowed}.announce-button{background-color:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:background-color .2s}.announce-button:hover:not(:disabled){background-color:#45a049}.announce-button:disabled{background-color:#ccc;cursor:not-allowed}.release-notes-editor{font-family:Monaco,Menlo,Ubuntu Mono,Consolas,monospace}.patch-dashboard-page{margin:0 auto;max-width:1400px;padding:20px}@media (max-width:768px){.patch-dashboard-page{padding:12px}}.find-patch-train-page{align-items:center;display:flex;flex-direction:column;min-height:calc(100vh - 80px);padding:2rem;transition:all .3s ease}.find-patch-train-page:not(.has-results){height:calc(100vh - 80px);justify-content:center}.find-patch-train-page.has-results{justify-content:flex-start;padding:0}.search-section{max-width:600px;text-align:center;transition:all .3s ease;width:100%}.find-patch-train-page.has-results .search-section{background:#f5f5f5;box-shadow:0 2px 4px #0000001a;margin-bottom:0;max-width:100%;padding:1rem 2rem;position:-webkit-sticky;position:sticky;top:0;z-index:10}.search-box{background:#fff;border:1px solid #ddd;border-radius:24px;box-shadow:0 2px 8px #0000001a;gap:.75rem;margin-bottom:1rem;padding:.75rem 1rem .75rem 1.5rem;transition:all .2s ease}.find-patch-train-page:not(.has-results) .search-box{margin-bottom:1.5rem}.search-box:hover{box-shadow:0 4px 16px #00000026}.search-box:focus-within{border-color:#1976d2;box-shadow:0 4px 16px #1976d233}.search-input{background:#0000;border:none;flex:1 1;font-size:1rem;min-width:0;outline:none;padding:0}.search-input:disabled{cursor:not-allowed;opacity:.6}.search-submit-btn{background:#1976d2;border:none;border-radius:18px;color:#fff;cursor:pointer;flex-shrink:0;font-size:.9rem;font-weight:600;padding:.5rem 1.5rem;transition:all .2s ease;white-space:nowrap}.search-submit-btn:hover:not(:disabled){background:#1565c0}.search-submit-btn:disabled{cursor:not-allowed;opacity:.6}.search-hint{color:#666;font-size:.875rem;margin:0}.results-section{animation:fadeIn .3s ease;margin-top:2rem;max-width:700px;width:100%}.result-card{background:#fff;border-radius:12px;box-shadow:0 2px 12px #0000001a;padding:2.5rem 2rem;text-align:center}.result-icon{align-items:center;border-radius:50%;display:flex;height:64px;justify-content:center;margin:0 auto 1.5rem;width:64px}.success-card .result-icon{background:#e8f5e9;color:#4caf50}.info-card .result-icon{background:#e3f2fd;color:#2196f3}.error-card .result-icon{background:#ffebee;color:#f44336}.not-found-card .result-icon{background:#fff3e0;color:#ff9800}.result-card h2{color:#333;font-size:1.75rem;font-weight:500;margin:0 0 1.5rem}.result-details{background:#f5f5f5;border-radius:8px;margin-bottom:1.5rem;padding:1.5rem;text-align:left}.detail-item{align-items:center;border-bottom:1px solid #e0e0e0;padding:.75rem 0}.detail-item:last-child{border-bottom:none}.detail-label{font-size:.9rem}.detail-value{font-size:1rem;font-weight:500}.status-badge{border-radius:16px;padding:.4rem .9rem}.status-badge.released{background:#4caf50;color:#fff}.status-badge.scheduled{background:#2196f3;color:#fff}.status-badge.waiting{background:#ff9800;color:#fff}.result-message{color:#666;font-size:1rem;line-height:1.6;margin:0 0 1.5rem}.additional-details{background:#fafafa;border:1px solid #e8e8e8;border-radius:8px;margin-top:1.5rem;padding:1.25rem;text-align:left}.additional-details .detail-item{padding:.6rem 0}.additional-details .detail-label{color:#757575;font-size:.85rem;min-width:120px}.additional-details .detail-value{color:#424242;font-size:.9rem;max-width:calc(100% - 140px);word-break:break-word}.btn-new-search{background:#1976d2;border:none;border-radius:8px;box-shadow:0 2px 6px #1976d24d;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;padding:.75rem 1.75rem;transition:all .2s ease}.btn-new-search:hover{background:#1565c0;box-shadow:0 4px 10px #1976d266;transform:translateY(-1px)}.btn-new-search:active{transform:translateY(0)}@media (max-width:768px){.find-patch-train-page{padding:1.5rem}.find-patch-train-page:not(.has-results){height:calc(100vh - 60px)}.search-box{gap:.5rem;padding:.6rem .75rem .6rem 1.25rem}.search-submit-btn{font-size:.85rem;padding:.45rem 1.25rem}.results-section{margin-top:1.5rem}.result-card{padding:2rem 1.5rem}.result-card h2{font-size:1.5rem}.result-icon{height:56px;width:56px}.result-icon svg{height:40px;width:40px}}@media (max-width:480px){.find-patch-train-page{padding:1rem}.search-box{border-radius:20px;gap:.5rem;padding:.5rem .75rem .5rem 1.25rem}.search-input{font-size:.9rem}.search-submit-btn{font-size:.8rem;padding:.4rem 1rem}.search-hint{font-size:.8rem}.results-section{margin-top:1rem}.result-card{padding:1.5rem 1rem}.result-card h2{font-size:1.25rem;margin-bottom:1rem}.result-icon{height:48px;margin-bottom:1rem;width:48px}.result-icon svg{height:32px;width:32px}.result-details{padding:1rem}.detail-item{align-items:flex-start;flex-direction:column;gap:.25rem;padding:.5rem 0}.detail-label,.detail-value{font-size:.85rem}.status-badge{font-size:.75rem;padding:.3rem .7rem}.result-message{font-size:.9rem}.btn-new-search{font-size:.9rem;padding:.7rem 1.5rem;width:100%}}.rm-laundry-list{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.rm-laundry-list h1{color:#333;font-size:28px;font-weight:600}.rm-laundry-list .subtitle{color:#666;font-size:14px}.rm-laundry-list .error-message{background-color:#fee;border:1px solid #fcc;border-radius:4px;color:#c33;padding:12px}.rm-laundry-list .empty-state{color:#999;font-size:14px;margin-top:40px;text-align:center}.rm-laundry-list .tracked-threads-table{border-collapse:collapse;width:100%}.rm-laundry-list .tracked-threads-table th{background-color:#f5f5f5;border-bottom:2px solid #ddd;color:#555;font-size:13px;font-weight:600;padding:12px;text-align:left}.rm-laundry-list .tracked-threads-table td{border-bottom:1px solid #eee;font-size:13px;padding:12px}.rm-laundry-list .tracked-threads-table tr:hover{background-color:#fafafa}.rm-laundry-list button{transition:all .2s ease}.rm-laundry-list button:hover{opacity:.85;transform:translateY(-1px)}.rm-laundry-list button:active{transform:translateY(0)}.rm-laundry-list input[type=date]:disabled,.rm-laundry-list select:disabled{cursor:not-allowed!important;opacity:.6}.integrations-page{margin:0 auto;max-width:1400px;padding:2rem}.page-header{margin-bottom:3rem}.error-banner{color:#c62828;margin-bottom:2rem}.success-banner{background:#e8f5e9;border:1px solid #4caf50;border-radius:8px;color:#2e7d32;justify-content:space-between;margin-bottom:2rem;padding:1rem 1.5rem}.error-close,.success-banner{align-items:center;display:flex}.error-close{background:none;border:none;color:#c62828;cursor:pointer;font-size:1.5rem;height:24px;justify-content:center;padding:0;width:24px}.success-banner .error-close{color:#2e7d32}.error-close:hover{opacity:.7}.integrations-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}.integration-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;display:flex;flex-direction:column;padding:2rem;transition:all .2s ease}.integration-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.integration-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1.5rem}.integration-icon{align-items:center;border-radius:12px;display:flex;height:64px;justify-content:center;width:64px}.github-icon{background:#f6f8fa;color:#24292e}.jira-icon{background:#e8f4ff;color:#0052cc}.slack-icon{background:#f4ede4;color:#4a154b}.status-indicator{align-items:center;background:#fff;border:1px solid;border-radius:16px;display:flex;gap:.5rem;padding:.375rem .75rem;transition:all .3s ease}.status-dot{border-radius:50%;flex-shrink:0;height:10px;transition:all .3s ease;width:10px}.status-text{font-size:.75rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.status-indicator.connected{background:#4caf500d}.status-indicator.disconnected{background:#9e9e9e0d;border-color:#999}.status-indicator.disconnected .status-dot{background:#999}@keyframes pulse-green{0%,to{box-shadow:0 0 0 3px #4caf5033}50%{box-shadow:0 0 0 6px #4caf501a}}.integration-content{flex:1 1;margin-bottom:1.5rem}.integration-content h3{color:#1a1a1a;font-size:1.5rem;font-weight:600;margin:0 0 .5rem}.integration-content p{color:#666;line-height:1.5;margin:0 0 1rem}.integration-features{list-style:none;margin:0;padding:0}.integration-features li{align-items:center;color:#444;display:flex;padding:.5rem 0}.integration-features li:before{background:#e8f5e9;border-radius:50%;color:#4caf50;content:"✓";display:inline-block;font-size:.875rem;font-weight:700;height:20px;line-height:20px;margin-right:.75rem;text-align:center;width:20px}.integration-actions{display:flex;gap:1rem}.integration-actions .btn{flex:1 1}.btn-primary{background:#4caf50}.btn-primary:hover:not(:disabled){background:#45a049}.btn-primary:disabled{background:#ccc;cursor:not-allowed;opacity:.6}@media (max-width:768px){.integrations-grid{grid-template-columns:1fr}.page-header h1{font-size:2rem}.integrations-page{padding:1rem}}.user-management-page{margin:0 auto;max-width:1600px;padding:2rem}.page-header .subtitle{color:#666;font-size:1rem;margin:0}.loading-state{font-size:1.1rem;padding:3rem;text-align:center}.error-state{background:#ffebee;color:#c62828;margin-bottom:1.5rem;padding:1rem}.user-stats-section{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}.user-stats-section .stat-card{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 2px 4px #0000000d;display:flex;gap:1rem;padding:1.25rem;transition:all .2s}.user-stats-section .stat-card:hover{border-color:#1976d2;box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.user-stats-section .stat-icon{align-items:center;border-radius:10px;color:#fff;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.user-stats-section .stat-content{flex:1 1;min-width:0}.user-stats-section .stat-label{color:#666;font-size:.75rem;font-weight:500;letter-spacing:.5px;margin-bottom:.25rem;text-transform:uppercase}.user-stats-section .stat-value{color:#1a1a1a;font-size:1.75rem;font-weight:700;line-height:1}.users-table-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow:hidden}.users-table{border-collapse:collapse;width:100%}.users-table thead{background:#f5f5f5}.users-table th{border-bottom:2px solid #e5e7eb;color:#374151;font-size:.875rem;font-weight:600;padding:1rem;text-align:left}.users-table td{border-bottom:1px solid #e5e7eb;color:#1f2937;font-size:.875rem;padding:1rem}.users-table tbody tr:hover{background:#f9fafb}.user-name-cell{align-items:center;display:flex;gap:.75rem}.user-avatar{height:32px;width:32px}.role-badge{border-radius:12px;color:#fff;display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.5px;padding:.25rem .75rem;text-transform:uppercase}.btn-edit{background:#2563eb;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:background-color .2s}.btn-edit:hover{background:#1d4ed8}.empty-state{color:#9ca3af;font-size:1rem;padding:3rem}.modal-content{max-width:90%;padding:2rem;width:500px}.modal-content h2{color:#1a1a1a;font-size:1.5rem;margin:0 0 1.5rem}.form-group{margin-bottom:1.25rem}.form-group input,.form-group select{border:1px solid #d1d5db;font-family:inherit;font-size:.875rem;padding:.75rem;width:100%}.form-group input:focus,.form-group select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.form-group input:disabled,.form-group select:disabled{background:#f3f4f6;cursor:not-allowed}.modal-footer{gap:1rem;margin-top:2rem;padding-top:1.5rem}.btn-cancel{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#6b7280;cursor:pointer;font-size:.875rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s}.btn-cancel:hover{background:#f9fafb}.btn-cancel:disabled{cursor:not-allowed;opacity:.5}.btn-save{background:#2563eb;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;padding:.75rem 1.5rem;transition:background-color .2s}.btn-save:hover{background:#1d4ed8}.btn-save:disabled{background:#93c5fd;cursor:not-allowed}.action-buttons{flex-wrap:wrap;gap:.75rem}.btn-edit,.btn-slack{border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s;white-space:nowrap}.btn-edit{background:#fff;border-color:#1976d2;color:#1976d2}.btn-edit:hover{background:#1976d2;color:#fff}.btn-slack{background:#fff;border-color:#e1e4e8;color:#2d333b}.btn-slack:hover{background:#f6f8fa;border-color:#2d333b}.btn-slack-disabled{background:#f5f5f5;border:1px solid #ddd;border-radius:6px;color:#999;cursor:not-allowed;display:inline-block;font-size:.875rem;padding:.5rem 1rem;white-space:nowrap}.btn-slack-send{background:#2d333b;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;padding:.75rem 1.5rem;transition:all .2s}.btn-slack-send:hover:not(:disabled){background:#1c2128;box-shadow:0 2px 8px #00000026}.btn-slack-send:disabled{background:#999;cursor:not-allowed}.message-box{border-radius:6px;font-weight:500;margin-bottom:1.5rem;padding:1rem}.message-box.success{background:#d1fae5;border:1px solid #a7f3d0;color:#065f46}.message-box.error{background:#fee2e2;border:1px solid #fecaca;color:#991b1b}.form-group textarea{border:1px solid #d1d5db;border-radius:6px;font-family:inherit;font-size:.875rem;padding:.75rem;transition:border-color .2s;width:100%}.form-group textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a;outline:none}.form-group textarea:disabled{background:#f3f4f6;cursor:not-allowed}@media (max-width:768px){.action-buttons{display:flex;flex-direction:column;gap:.5rem}.btn-edit,.btn-slack{width:100%}.user-management-page{padding:1rem}.user-stats-section{grid-template-columns:1fr}.user-stats-section .stat-card{padding:1rem}.user-stats-section .stat-icon{height:40px;width:40px}.user-stats-section .stat-value{font-size:1.5rem}.users-table-container{overflow-x:auto}.users-table{min-width:900px}.modal-content{max-height:85vh;width:100%}}.activity-monitoring-page{padding:12px 20px 20px}.page-header{margin-bottom:2px}.page-header h1{font-size:24px;margin:0 0 4px}.page-description{color:#666;font-size:13px;margin:0}.controls-container{align-items:center;display:flex;flex-wrap:nowrap;gap:12px;margin-bottom:12px;padding:0}.time-range-selector{align-items:center;background:#f8f9fa;border-radius:6px;display:flex;gap:8px;padding:8px 12px;width:100%}.filter-input,.refresh-button,.time-range-button,.view-mode-button{align-items:center;border:1px solid #ddd;border-radius:6px;box-sizing:border-box;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;height:36px;justify-content:center;padding:8px 16px;transition:all .2s;white-space:nowrap}.time-range-button,.view-mode-button{background:#fff;color:#555}.time-range-button:hover,.view-mode-button:hover{background:#f5f5f5;border-color:#bbb}.time-range-button.active,.view-mode-button.active{background:#1976d2;border-color:#1976d2;color:#fff}.filter-input{background:#fff;color:#555;justify-content:flex-start;padding:8px 12px;width:160px}.filter-input:focus{border-color:#1976d2;box-shadow:0 0 0 2px #1976d21a;outline:none}.filter-input::placeholder{color:#999}.refresh-button{background:#1976d2;border-color:#1976d2;color:#fff}.refresh-button:hover{background:#1565c0}.error-message{background:#ffebee;border-radius:4px;color:#c62828;font-size:13px;margin-bottom:10px;padding:10px 14px}.loading-container{align-items:center;display:flex;justify-content:center;padding:40px 20px}.loading-text{color:#666;font-size:14px}.section-title{color:#1a1a1a;font-size:18px;font-weight:600;margin:0 0 12px}.activities-container{background:#fff;border:1px solid #e0e0e0;border-radius:6px;overflow:hidden;padding:16px}.activities-table{border-collapse:collapse;width:100%}.activities-table thead{background:#f5f5f5;border-bottom:2px solid #e0e0e0}.activities-table th{color:#555;font-size:12px;font-weight:600;letter-spacing:.5px;padding:10px 12px;text-align:left;text-transform:uppercase}.activities-table tbody tr{border-bottom:1px solid #f0f0f0;transition:background .2s}.activities-table tbody tr:hover{background:#f9f9f9}.activities-table td{color:#333;font-size:13px;padding:12px;vertical-align:top}.user-cell .user-info{display:flex;flex-direction:column;gap:4px}.user-cell .user-name{color:#1a1a1a;font-weight:500}.user-cell .user-email{color:#666;font-size:12px}.feature-cell{display:flex;flex-direction:column;gap:4px}.feature-name{color:#1a1a1a;font-weight:500}.feature-path{color:#666;font-family:Courier New,monospace;font-size:12px}.time-badge{background:#e3f2fd;color:#1976d2}.count-badge,.time-badge{border-radius:12px;display:inline-block;font-size:13px;font-weight:500;padding:4px 12px}.count-badge{background:#f3e5f5;color:#7b1fa2}.timestamp-cell{color:#666;font-size:13px;white-space:nowrap}.empty-state{color:#999;font-size:13px;font-style:italic;padding:40px 20px!important}.summary-container{background:#fff;border:1px solid #e0e0e0;border-radius:6px;padding:16px}.summary-grid{grid-gap:14px;gap:14px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.summary-card{border:1px solid #e0e0e0;border-radius:6px;padding:16px;transition:all .2s}.summary-card-high{background:linear-gradient(135deg,#fffaeb,#fef8e7);border:1.5px solid #ffd89b}.summary-card-high:hover{background:linear-gradient(135deg,#fff9e0,#fef5de);border-color:#ffc107;box-shadow:0 3px 10px #ffc10726}.summary-card-medium{background:linear-gradient(135deg,#e3f2fd,#e1f5fe);border:1.5px solid #90caf9}.summary-card-medium:hover{background:linear-gradient(135deg,#e0effe,#dff4ff);border-color:#42a5f5;box-shadow:0 3px 10px #2196f326}.summary-card-low{background:linear-gradient(135deg,#e8f5e9,#f1f8e9);border:1.5px solid #81c784}.summary-card-low:hover{background:linear-gradient(135deg,#dffde3,#e8f5e9);border-color:#66bb6a;box-shadow:0 3px 10px #4caf5026}.card-title{border-bottom:2px solid #00000014;color:#1a1a1a;font-size:16px;margin:0 0 12px;padding-bottom:10px}.card-stats{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.stat{display:flex;flex-direction:column;gap:4px}.stat-label{color:#555;font-size:11px}.stat-value{font-size:20px}.analytics-container{display:flex;flex-direction:column;gap:20px}.analytics-stats{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.stat-card{gap:16px;padding:20px;transition:all .2s}.stat-card .stat-icon{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px;color:#fff;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.stat-card .stat-content{flex:1 1;min-width:0}.stat-card .stat-label{color:#666;font-size:13px;font-weight:500;margin-bottom:4px}.stat-card .stat-value{color:#1a1a1a;font-size:28px;font-weight:700}.analytics-charts{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(450px,1fr))}@media (max-width:1024px){.analytics-charts{grid-template-columns:1fr}}@media (max-width:768px){.analytics-stats{grid-template-columns:1fr}.stat-card .stat-value{font-size:24px}}.activities-list-section{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-top:30px;padding:20px}.activities-list-section .section-title{color:#1a1a1a;font-size:18px;font-weight:600;margin:0 0 16px}.bar-chart-container{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:20px}.bar-chart-title{color:#1f2937;font-size:18px;font-weight:600;margin:0 0 20px}.bar-chart{align-items:flex-end;display:flex;gap:12px;padding:10px 0;position:relative}.bar-chart-item{align-items:center;display:flex;flex:1 1;flex-direction:column;min-width:0}.bar-chart-bar-container{align-items:flex-end;height:100%}.bar-chart-bar,.bar-chart-bar-container{display:flex;justify-content:center;position:relative;width:100%}.bar-chart-bar{align-items:flex-start;border-radius:4px 4px 0 0;cursor:pointer;max-width:80px;min-height:4px;padding-top:8px;transition:all .3s ease}.bar-chart-bar:hover{opacity:.8;transform:translateY(-2px)}.bar-chart-value{color:#fff;font-size:12px;font-weight:600;text-shadow:0 1px 2px #0003;white-space:nowrap}.bar-chart-label{color:#6b7280;font-size:12px;line-height:1.2;margin-top:8px;max-width:100%;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}@media (max-width:768px){.bar-chart{gap:8px}.bar-chart-bar{max-width:60px}.bar-chart-label,.bar-chart-value{font-size:10px}}.ci-page{margin:0 auto;max-width:1200px}.ci-content{display:flex;flex-direction:column;gap:32px}.ci-section{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000000d;padding:24px}.ci-section h2{color:#333;font-size:1.5rem;margin:0 0 8px}.ci-section>p{color:#666;margin:0 0 24px}.placeholder-box{align-items:center;background:#f5f5f5;border:2px dashed #ddd;border-radius:8px;color:#999;display:flex;flex-direction:column;gap:16px;justify-content:center;padding:48px}.placeholder-box svg{stroke:#ccc}.placeholder-box p{font-size:1.125rem;margin:0}.ci-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.ci-card{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000000d;display:flex;flex-direction:column;gap:16px;padding:24px;transition:transform .2s,box-shadow .2s}.ci-card:hover{box-shadow:0 4px 16px #0000001a;transform:translateY(-4px)}.ci-card-icon{align-items:center;border-radius:12px;display:flex;height:64px;justify-content:center;width:64px}.code-structure-icon{background:linear-gradient(135deg,#11998e,#38ef7d);color:#fff}.build-icon{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.test-icon{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.deploy-icon{background:linear-gradient(135deg,#4facfe,#00f2fe);color:#fff}.ci-card h3{color:#333;font-size:1.25rem;margin:0}.ci-card p{color:#666;flex:1 1;margin:0}.ci-card .btn{margin-top:8px}.btn-secondary{color:#666}.btn-secondary:hover:not(:disabled){background:#e0e0e0}@media (max-width:768px){.ci-grid{grid-template-columns:1fr}}.code-structure-page{margin:0 auto;max-width:1400px}.loading-state{gap:24px}.spinner{border-top-color:#1976d2}.error-state{align-items:center;box-shadow:0 2px 8px #0000000d;display:flex;flex-direction:column;gap:16px;justify-content:center;padding:48px}.error-state svg{stroke:#ff6b6b}.error-state h2{color:#333;font-size:1.5rem;margin:0}.stats-grid{grid-gap:24px;gap:24px;margin-bottom:32px}.stat-card{box-shadow:0 2px 8px #0000000d;gap:20px;padding:24px;position:relative}.orgs-grid-tiles{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(2,1fr);margin-bottom:32px}.org-tile{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;box-shadow:0 4px 16px #667eea33;cursor:pointer;display:flex;flex-direction:column;overflow:hidden;padding:32px;position:relative;text-align:center;transition:all .3s ease}.org-tile:before{background:linear-gradient(135deg,#ffffff1a,#fff0);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.org-tile:hover{box-shadow:0 12px 32px #667eea59;transform:translateY(-6px)}.org-tile-avatar{border:4px solid #ffffff4d;border-radius:16px;box-shadow:0 8px 16px #0003;height:80px;margin-bottom:20px;position:relative;transition:all .3s ease;width:80px;z-index:1}.org-tile:hover .org-tile-avatar{border-color:#ffffff80;transform:scale(1.1)}.org-tile-content{position:relative;z-index:1}.org-tile-name{color:#fff;font-size:1.5rem;font-weight:700;margin:0 0 12px;text-shadow:0 2px 8px #00000026}.org-tile-desc{-webkit-line-clamp:3;-webkit-box-orient:vertical;color:#ffffffe6;display:-webkit-box;font-size:.9375rem;line-height:1.5;margin:0;overflow:hidden;text-shadow:0 1px 4px #0000001a}.orgs-empty-state{background:#f9fafb;border:2px dashed #e5e7eb;border-radius:12px;color:#9ca3af;font-size:1rem;font-style:italic;grid-column:1/-1;padding:48px;text-align:center}.stat-card.clickable{cursor:pointer;transition:all .2s ease}.stat-card.clickable:hover{box-shadow:0 8px 16px #0000001a;transform:translateY(-4px)}.stat-icon{height:64px;width:64px}.orgs-icon{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.repos-icon{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.deps-icon{background:linear-gradient(135deg,#4facfe,#00f2fe);color:#fff}.stat-label{margin-top:4px}.section{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000000d;margin-bottom:24px;padding:24px}.section h2{color:#333;font-size:1.5rem;margin:0 0 20px}.orgs-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.org-card{align-items:center;border:1px solid #e0e0e0;border-radius:8px;display:flex;gap:16px;padding:16px;transition:all .2s}.org-card:hover{border-color:#1976d2;box-shadow:0 2px 8px #1976d21a}.org-avatar{border-radius:8px;height:48px;width:48px}.org-info{flex:1 1}.org-info h3{color:#333;font-size:1rem;margin:0 0 4px}.org-info p{color:#666;font-size:.875rem;margin:0}.repos-grid{grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.repo-card{border-radius:8px;padding:16px;transition:all .2s}.repo-card:hover{box-shadow:0 2px 8px #1976d21a;transform:translateY(-2px)}.repo-header{align-items:center;margin-bottom:8px}.repo-header h3{color:#333;font-size:1rem}.language-badge{padding:4px 8px}.repo-description{color:#666;font-size:.875rem;margin:0 0 12px;min-height:40px}.repo-stats{color:#666;font-size:.875rem;gap:16px}.repo-stats span{gap:4px}.repo-stats svg{stroke-width:2}.dependency-graph-legend{background:#f9f9f9;border-radius:8px;display:flex;flex-wrap:wrap;gap:2rem;margin-bottom:1rem;padding:1rem}.legend-dot{border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px #0000001a;height:20px;width:20px}.legend-dot.has-deps{background:linear-gradient(135deg,#1976d2,#1565c0)}.legend-dot.is-dep{background:linear-gradient(135deg,#ff9800,#f57c00)}.dependency-graph{background:#f9f9f9;border-radius:8px;overflow-x:auto;padding:24px}.graph-svg{min-width:900px}.modal-content{box-shadow:0 8px 32px #0003}.modal-body p{color:#333;margin:0 0 12px}.modal-body strong{color:#666}.modal-body ul{margin:8px 0 0;padding-left:20px}.modal-body li{margin-bottom:4px}.btn-primary:hover:not(:disabled){background:#1565c0}@media (max-width:768px){.orgs-grid,.orgs-grid-tiles,.repos-grid,.stats-grid{grid-template-columns:1fr}.org-tile{padding:24px}.org-tile-avatar{height:64px;width:64px}.org-tile-name{font-size:1.25rem}}.repositories-page{margin:0 auto;max-width:1400px;padding:2rem}.page-header{position:relative}.btn-back{background:#f5f5f5;border:1px solid #ddd;border-radius:6px;color:#333;font-size:.875rem;transition:all .2s ease}.btn-back:hover{background:#e8e8e8;transform:translateX(-2px)}.btn-clear-filter{align-items:center;background:#fff3e0;border:1px solid #ff9800;border-radius:6px;color:#ff9800;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:600;gap:.5rem;margin-top:1rem;padding:.5rem 1rem;transition:all .2s ease}.btn-clear-filter:hover{background:#ffe0b2;box-shadow:0 2px 8px #ff980033;transform:translateY(-2px)}.repos-summary{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:auto 1fr;margin-bottom:2rem;max-width:100%}@media (max-width:968px){.repos-summary{grid-template-columns:1fr}}.summary-stat{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;box-shadow:0 4px 12px #667eea40;display:flex;gap:1rem;overflow:hidden;padding:1.25rem 1.5rem;position:relative;transition:all .3s ease}.summary-stat:before{background:linear-gradient(135deg,#ffffff1a,#fff0);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.summary-stat:hover{box-shadow:0 8px 20px #667eea59;transform:translateY(-2px)}.stat-icon-small{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:12px;display:flex;flex-shrink:0;height:40px;justify-content:center;position:relative;width:40px;z-index:1}.stat-icon-small svg{stroke:#fff;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.stat-content-small{display:flex;flex-direction:column;position:relative;z-index:1}.languages-stat{background:linear-gradient(135deg,#f093fb,#f5576c);box-shadow:0 4px 12px #f5576c40}.languages-stat:hover{box-shadow:0 8px 20px #f5576c59}.languages-content{position:relative;width:100%;z-index:1}.languages-content .summary-label{display:block;margin-bottom:.75rem}.languages-list{display:flex;flex-wrap:wrap;gap:.75rem}.language-item{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:1px solid #ffffff4d;border-radius:20px;display:inline-flex;gap:.5rem;padding:.375rem .875rem;transition:all .2s ease}.language-item:hover{background:#ffffff4d;transform:translateY(-2px)}.language-name{font-size:.8125rem;font-weight:600}.language-name,.language-percentage{color:#fff;text-shadow:0 1px 2px #0000001a}.language-percentage{background:#00000026;border-radius:12px;font-size:.75rem;font-weight:700;padding:.125rem .5rem}.language-filter{align-items:center;display:flex;gap:.5rem}.language-filter label{color:#333;font-weight:500}.language-filter select{background:#fff;border:1px solid #ddd;border-radius:8px;cursor:pointer;font-size:1rem;padding:.75rem 1rem;transition:all .2s ease}.language-filter select:focus{border-color:#1976d2;box-shadow:0 0 0 3px #1976d21a;outline:none}.repo-card.archived{background:#fafafa;opacity:.7}.repo-card.archived:hover{border-color:#ff9800}.repo-card.archived h3{color:#999}.repo-badges{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.archived-badge{background:#fff3e0;border-radius:12px;color:#ff9800;font-size:.75rem;font-weight:500;padding:.25rem .75rem;white-space:nowrap}@media (max-width:768px){.repositories-page{padding:1rem}.page-header h1{font-size:2rem}.repos-grid{grid-template-columns:1fr}.filters-bar{flex-direction:column}.search-box{min-width:100%}.repos-summary{grid-template-columns:1fr}}.pr-activity-chart{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000000d;margin-bottom:24px;padding:24px}.chart-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:24px}.chart-header-left{display:flex;flex-direction:column;gap:16px}.chart-controls{align-items:center;display:flex;flex-wrap:wrap;gap:16px}.chart-header h3{color:#333;font-size:1.25rem;margin:0}.chart-time-range{background:#f5f5f5;border-radius:8px;display:flex;gap:4px;padding:4px}.time-range-btn{background:#0000;border:none;border-radius:6px;color:#666;cursor:pointer;font-size:.875rem;font-weight:500;padding:6px 14px;transition:all .2s;white-space:nowrap}.time-range-btn:hover{background:#e8e8e8;color:#333}.time-range-btn.active{background:#fff;box-shadow:0 1px 3px #0000001a;color:#2196f3}.chart-version-filter{align-items:center;display:flex;gap:10px}.chart-version-filter label{color:#666;font-size:.875rem;font-weight:500}.chart-version-select{background-color:#fff;border:1px solid #ddd;border-radius:6px;color:#333;cursor:pointer;font-size:.875rem;min-width:160px;padding:6px 12px;transition:all .2s}.chart-version-select:hover{border-color:#2196f3}.chart-version-select:focus{border-color:#2196f3;box-shadow:0 0 0 3px #2196f31a;outline:none}.chart-legend{display:flex;gap:24px}.legend-item{color:#666;font-size:.875rem;gap:8px}.legend-color{border-radius:3px;height:16px;width:16px}.legend-color.raised{background:#4caf50}.legend-color.reviewed{background:#2196f3}.legend-color.merged{background:#9c27b0}.chart-container{overflow-x:auto;overflow-y:hidden}.chart-empty{color:#999;font-size:1rem;padding:48px 24px;text-align:center}.chart-svg{display:block}.bar{transition:opacity .2s}.bar:hover{cursor:pointer;opacity:.8}@media (max-width:768px){.chart-header{align-items:flex-start;flex-direction:column;gap:12px}.chart-controls,.chart-header-left{gap:12px;width:100%}.chart-controls{align-items:stretch;flex-direction:column}.chart-time-range{justify-content:space-between;width:100%}.time-range-btn{flex:1 1;font-size:.8125rem;padding:8px 10px}.chart-version-filter{width:100%}.chart-version-select{flex:1 1;min-width:auto}.chart-legend{gap:12px;justify-content:space-between;width:100%}.legend-item{font-size:.8125rem}.pr-activity-chart{padding:16px}}.pull-requests-page{margin:0 auto;max-width:1200px}.loading-state{gap:16px;padding:80px 20px}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #e0e0e0;border-radius:50%;border-top-color:#1976d2;height:48px;width:48px}.pr-content{display:flex;flex-direction:column;gap:20px}.pr-section{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000000d;padding:24px}.pr-section-header{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:24px}.pr-section h2{color:#333;font-size:1.5rem;margin:0}.pr-filter{align-items:center;display:flex;gap:12px}.pr-filter label{color:#666;font-size:.9375rem;font-weight:500}.pr-filter select{background:#fff;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:.9375rem;min-width:200px;padding:8px 12px}.pr-filter select:disabled{cursor:not-allowed;opacity:.5}.pr-empty,.pr-loading{color:#999;padding:48px 24px;text-align:center}.pr-empty p,.pr-loading p{font-size:1rem;margin:16px 0 0}.pr-list{display:flex;flex-direction:column;gap:16px}.pr-item{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:16px;transition:all .2s}.pr-item:hover{border-color:#1976d2;box-shadow:0 2px 8px #1976d21a}.pr-item-header{margin-bottom:12px}.pr-item-header,.pr-item-title-section{align-items:flex-start;display:flex;gap:12px}.pr-item-title-section{flex:1 1}.pr-status-badge{align-items:center;border-radius:50%;display:flex;flex-shrink:0;height:32px;justify-content:center;width:32px}.pr-status-badge.open{background:#e8f5e9}.pr-status-badge.open svg{stroke:#28a745}.pr-status-badge.merged{background:#f3e5f5}.pr-status-badge.merged svg{stroke:#7b1fa2}.pr-status-badge.closed{background:#ffebee}.pr-status-badge.closed svg{stroke:#dc3545}.pr-item-title{flex:1 1}.pr-item-title a{color:#333;display:block;font-size:1rem;font-weight:600;margin-bottom:4px;text-decoration:none}.pr-item-title a:hover{color:#1976d2}.pr-item-description{color:#666;font-size:.875rem;line-height:1.4;margin:0}.pr-item-meta{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.pr-item-branches{align-items:center;display:flex;gap:8px}.pr-branch{background:#f5f5f5;border-radius:4px;color:#333;font-family:monospace;font-size:.8125rem;padding:4px 8px}.pr-branch.source-branch{background:#e3f2fd;color:#1976d2}.pr-branch.target-branch{background:#f3e5f5;color:#7b1fa2}.pr-item-branches svg{stroke:#999;flex-shrink:0}.pr-item-info{align-items:center;color:#666;display:flex;font-size:.875rem;gap:12px}.pr-author{font-weight:500}.pr-time{color:#999}.pr-stats-grid,.pr-stats-grid-four{grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.pr-stats-grid-four{display:grid}@media (min-width:769px) and (max-width:1199px){.pr-stats-grid-four{grid-template-columns:repeat(2,1fr)}}@media (min-width:1200px){.pr-stats-grid-four{grid-template-columns:repeat(4,1fr)}}.pr-stats-grid-five{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}@media (min-width:769px) and (max-width:1199px){.pr-stats-grid-five{grid-template-columns:repeat(3,1fr)}}@media (min-width:1200px){.pr-stats-grid-five{grid-template-columns:repeat(5,1fr)}}.pr-stats-grid-five .pr-stat-card{padding:14px}.pr-stats-grid-five .pr-stat-icon{height:44px;width:44px}.pr-stats-grid-five .pr-stat-content h3{font-size:.75rem;margin-bottom:6px}.pr-stats-grid-five .pr-stat-number{font-size:1.75rem;margin-bottom:4px}.pr-stats-grid-five .pr-stat-label{font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pr-stat-card{align-items:flex-start;box-shadow:0 2px 8px #0000000d;gap:12px;padding:16px;transition:transform .2s,box-shadow .2s}.pr-stat-card:hover{box-shadow:0 4px 16px #0000001a;transform:translateY(-4px)}.pr-stat-card.clickable{cursor:pointer}.pr-stat-card.clickable:hover{border:1px solid #1976d2;box-shadow:0 6px 20px #1976d233;transform:translateY(-4px) scale(1.02)}.pr-stat-icon{border-radius:10px;height:48px;width:48px}.open-icon{background:linear-gradient(135deg,#e3f2fd,#bbdefb);color:#1976d2}.merged-icon{background:linear-gradient(135deg,#f3e5f5,#e1bee7);color:#7b1fa2}.closed-icon{background:linear-gradient(135deg,#fce4ec,#f8bbd0);color:#c2185b}.review-icon{background:linear-gradient(135deg,#fff3e0,#ffe0b2);color:#f57c00}.developer-icon{background:linear-gradient(135deg,#e0f2f1,#b2dfdb);color:#00897b}.reviewer-icon{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);color:#388e3c}.pr-stat-content{display:flex;flex-direction:column;gap:4px}.pr-stat-content h3{font-size:.75rem;font-weight:600;margin:0}.pr-stat-number{font-size:1.75rem;margin:0}.pr-stat-label{color:#999;font-size:.8125rem}@media (max-width:768px){.pr-stats-grid,.pr-stats-grid-four{grid-template-columns:1fr}.page-header h1{font-size:1.75rem}.page-subtitle{font-size:1rem}.pr-stat-number{font-size:1.75rem}.pr-section-header{align-items:flex-start;flex-direction:column}.pr-filter{width:100%}.pr-filter select{flex:1 1;min-width:auto}.pr-item-meta{align-items:flex-start;flex-direction:column}}@media (max-width:480px){.pull-requests-page{padding:0}.page-header h1{font-size:1.5rem}.pr-section,.pr-stat-card{padding:16px}.pr-stat-icon{height:48px;height:40px;width:48px;width:40px}.pr-stat-icon svg{height:20px;width:20px}.pr-item{padding:12px}.pr-filter{align-items:flex-start;flex-direction:column;width:100%}.pr-filter label{font-size:.875rem}.pr-filter select{width:100%}.pr-item-branches{flex-wrap:wrap}}.modal-overlay{background:#0009}.modal-content{box-shadow:0 10px 40px #0003;display:flex;flex-direction:column}.modal-content.large-modal{max-width:900px}.modal-header{gap:16px}.modal-close:hover{background-color:#f5f5f5}.modal-body{flex:1 1;overflow-y:auto}.modal-stats{border-bottom:1px solid #e0e0e0;display:flex;gap:24px;margin-bottom:24px;padding-bottom:24px}.modal-stat-item{display:flex;flex:1 1;flex-direction:column;gap:8px}.modal-stat-label{color:#666;font-size:.875rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.modal-stat-value{color:#1976d2;font-size:2rem;font-weight:700}.pr-list-modal{display:flex;flex-direction:column;gap:12px}.pr-item-modal{border:1px solid #e0e0e0;border-radius:8px;padding:16px;transition:all .2s}.pr-item-modal:hover{border-color:#1976d2;box-shadow:0 2px 8px #1976d21a}.pr-item-modal-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:8px}.pr-title-link{color:#1976d2;flex:1 1;font-size:.9375rem;font-weight:600}.pr-status-badge-modal{border-radius:12px;color:#fff;flex-shrink:0;font-size:.75rem;font-weight:600;padding:4px 12px;text-transform:uppercase}.pr-status-badge-modal.open{background:#28a745}.pr-status-badge-modal.merged{background:#7b1fa2}.pr-status-badge-modal.closed{background:#dc3545}.pr-item-modal-meta{align-items:center;color:#666;display:flex;flex-wrap:wrap;font-size:.8125rem;gap:8px}@media (max-width:768px){.modal-content{max-height:85vh}.modal-body,.modal-header{padding:16px}.modal-stats{flex-direction:column;gap:16px}.modal-stat-value{font-size:1.5rem}}.pr-pending-tile-container{display:flex;justify-content:center;margin-bottom:2rem}.pr-pending-tile{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;box-shadow:0 8px 24px #667eea4d;cursor:pointer;display:flex;gap:2rem;min-width:400px;padding:2rem 3rem;transition:all .3s ease}.pr-pending-tile:hover{box-shadow:0 12px 32px #667eea66;transform:translateY(-4px)}.pr-pending-icon{align-items:center;background:#fff3;border-radius:16px;display:flex;flex-shrink:0;height:80px;justify-content:center;width:80px}.pr-pending-icon svg{stroke:#fff;stroke-width:2}.pr-pending-content{color:#fff;flex:1 1}.pr-pending-title{font-size:.9rem;font-weight:600;letter-spacing:1.5px;margin:0 0 .5rem;opacity:.9}.pr-pending-number{font-size:3.5rem;font-weight:700;line-height:1;margin:0 0 .25rem}.pr-pending-subtitle{font-size:1rem;margin:0;opacity:.8}.pr-list-section{animation:slideDown .3s ease;background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow:hidden}.pr-list-header{align-items:center;background:#f8f9fa;border-bottom:2px solid #e9ecef;display:flex;justify-content:space-between;padding:1.5rem 2rem}.pr-list-header h3{color:#333;font-size:1.25rem;font-weight:600;margin:0}.btn-close-list{font-size:.9rem}.pr-table th{border-bottom:2px solid #dee2e6}.pr-age-warning{color:#dc3545;font-weight:600}.pr-status-badge{border-radius:4px;display:inline-block;font-size:.85rem;font-weight:500;padding:.35rem .75rem;text-transform:capitalize}.pr-empty-state{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:3rem 2rem;text-align:center}.pr-empty-state p{color:#666;font-size:1rem;margin:0}@media (max-width:768px){.pr-pending-tile{flex-direction:column;min-width:auto;padding:1.5rem;text-align:center}.pr-pending-icon{height:64px;width:64px}.pr-pending-number{font-size:2.5rem}.pr-list-header{align-items:flex-start;flex-direction:column;gap:1rem;padding:1rem}.pr-table td,.pr-table th{font-size:.85rem;padding:.75rem 1rem}}.pr-stat-card.pending-tile{background:linear-gradient(135deg,#ede7f6,#d1c4e9);border:1px solid #b39ddb;box-shadow:0 4px 16px #5e35b126;color:#5e35b1}.pr-stat-card.pending-tile:hover{box-shadow:0 6px 20px #5e35b133;transform:translateY(-2px)}.pr-stat-card.pending-tile .pr-stat-icon.pending-tile-icon{background:#5e35b11a}.pr-stat-card.pending-tile .pr-stat-icon svg{stroke:#5e35b1}.pr-stat-card.pending-tile h3{color:#5e35b1;font-size:.85rem;font-weight:600;letter-spacing:1px;opacity:.9;text-transform:none}.pr-stat-card.pending-tile .pr-stat-number{color:#5e35b1}.pr-stat-card.pending-tile .pr-stat-label{color:#7e57c2;opacity:.85}.pr-pending-list{animation:slideDown .3s ease;background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;margin-top:1.5rem;overflow:hidden}.pr-pending-list-header{align-items:center;background:#f8f9fa;border-bottom:2px solid #e9ecef;display:flex;justify-content:space-between;padding:1.5rem 2rem}.pr-pending-list-header h3{color:#333;font-size:1.125rem;font-weight:600;margin:0}.btn-close-list{background:#6c757d;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:background .2s}.btn-close-list:hover{background:#545b62}.pr-author-cell{align-items:center;display:flex;gap:.75rem}.pr-author-avatar{border-radius:50%;height:32px;object-fit:cover;width:32px}.pr-branch-badge{background:#e3f2fd;border-radius:4px;color:#1976d2;display:inline-block;font-size:.85rem;font-weight:500;padding:.35rem .75rem}.pr-age-old{color:#dc3545;font-weight:600}.pr-status-badge-inline{border-radius:4px;display:inline-block;font-size:.85rem;font-weight:500;padding:.35rem .75rem;text-transform:capitalize}.pr-status-open{background:#d1ecf1;color:#0c5460}.pr-status-merged{background:#d4edda;color:#155724}.pr-status-closed{background:#f8d7da;color:#721c24}.pr-empty-message{padding:3rem 2rem;text-align:center}.pr-empty-message p{color:#666;font-size:1rem;margin:0}.pr-detail-page{display:flex;flex-direction:column;gap:14px;margin:0 auto;max-width:1600px;padding:20px 24px}.pr-detail-header{align-items:center;display:flex;gap:14px}.pr-detail-title-group{align-items:baseline;display:flex;flex:1 1;gap:10px}.pr-detail-title-group h1{color:#111;font-size:1.4rem;font-weight:700;letter-spacing:-.3px;margin:0}.pr-count-badge{background:#e3f2fd;border-radius:10px;color:#1976d2;font-size:12px;font-weight:600;padding:2px 9px}.back-button{background:#fff;border:1px solid #ddd;color:#555;font-size:.875rem;gap:6px;padding:6px 12px;transition:all .15s;white-space:nowrap}.back-button:hover{border-color:#1976d2;color:#1976d2}.repo-filter{flex-shrink:0}.repo-select{background:#fff;border:1px solid #ddd;border-radius:6px;color:#333;cursor:pointer;font-size:13px;outline:none;padding:6px 10px;transition:border-color .15s}.repo-select:focus{border-color:#1976d2}.version-pills{align-items:center;display:flex;flex-wrap:wrap;gap:7px}.error-banner{background:#fff0f0;border-left:3px solid #dc3545;font-size:13.5px;gap:10px;padding:10px 16px}.error-banner button{font-size:1.25rem;line-height:1;margin-left:auto}.pr-loading{align-items:center;color:#888;display:flex;font-size:13.5px;gap:10px;padding:32px 0}.loading-spinner-sm{animation:spin .7s linear infinite;border:2px solid #e0e0e0;border-radius:50%;border-top-color:#1976d2;height:18px;width:18px}.pr-empty{color:#aaa;padding:48px 24px;text-align:center}.pr-empty svg{stroke:#ccc;margin-bottom:12px}.pr-empty p{font-size:14px;margin:0}.pr-table-container{background:#fff;border-radius:10px;box-shadow:0 1px 4px #00000014,0 0 0 1px #0000000d;overflow-x:auto}.pr-table{table-layout:fixed}.pr-table thead tr{background:#fafafa;border-bottom:1px solid #ebebeb}.pr-table th{color:#888;font-size:11px;font-weight:700;letter-spacing:.6px;padding:10px 14px;white-space:nowrap}.pr-table tbody tr{border-bottom:1px solid #f0f0f0;transition:background .1s}.pr-table tbody tr:last-child{border-bottom:none}.pr-table tbody tr:hover{background:#fafcff}.pr-table td{color:#222;font-size:13px;overflow:hidden;padding:9px 14px}.pr-title-td{min-width:0}.pr-title-link{align-items:baseline;display:flex;gap:6px;max-width:100%;overflow:hidden}.pr-title-link:hover .pr-title-text{color:#1976d2}.pr-number{color:#bbb;flex-shrink:0;font-size:11.5px;font-weight:600;white-space:nowrap}.pr-title-text{color:#111;font-weight:500;overflow:hidden;text-overflow:ellipsis;transition:color .15s;white-space:nowrap}.pr-branch-row{align-items:center;display:flex;gap:5px;margin-top:4px}.branch-chip{border-radius:4px;display:inline-block;font-family:ui-monospace,monospace;font-size:10.5px;max-width:160px;overflow:hidden;padding:1px 7px;text-overflow:ellipsis;white-space:nowrap}.branch-chip.source{background:#e8f4fd;color:#1565c0}.branch-chip.target{background:#f3e5f5;color:#6a1b9a}.pr-jira-td{text-align:center}.jira-badge{background:#fffbe6;border:1px solid #ffe58f;border-radius:4px;color:#7a5c00;display:inline-block;font-family:ui-monospace,monospace;font-size:11.5px;font-weight:600;padding:3px 9px;text-decoration:none;transition:all .15s;white-space:nowrap}.jira-badge:hover{background:#ffe58f;color:#4a3500}.pr-author-td{white-space:nowrap}.author-cell{align-items:center;display:flex;gap:7px;overflow:hidden}.avatar{border:1.5px solid #e8e8e8;border-radius:50%;flex-shrink:0;height:22px;width:22px}.author-name{color:#333;font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reviewers-list{align-items:center;display:flex;flex-wrap:nowrap;gap:5px;overflow:hidden}.reviewer-chip{background:#e8f4fd;color:#1565c0;font-size:11.5px;max-width:90px;overflow:hidden;padding:2px 8px;text-overflow:ellipsis}.reviewer-chip,.reviewer-more{border-radius:10px;font-weight:500;white-space:nowrap}.reviewer-more{background:#f0f0f0;color:#666;cursor:default;flex-shrink:0;font-size:11px;padding:2px 7px}.pr-mergeable-td{text-align:center;white-space:nowrap}.mergeable-badge{border-radius:10px;display:inline-block;font-size:11.5px;font-weight:600;padding:3px 9px;white-space:nowrap}.mergeable-badge.mergeable-yes{background:#e8f5e9;color:#2e7d32}.mergeable-badge.mergeable-no{background:#ffebee;color:#c62828}.mergeable-badge.mergeable-unknown{color:#ccc;font-size:14px}.pr-repo-td,.repo-chip{white-space:nowrap}.repo-chip{background:#f4f4f5;border-radius:4px;color:#555;display:inline-block;font-size:11.5px;max-width:100%;overflow:hidden;padding:2px 8px;text-overflow:ellipsis}.pr-updated-td{font-feature-settings:"tnum";color:#999;font-size:12.5px;font-variant-numeric:tabular-nums;white-space:nowrap}.cell-dash{color:#ccc;font-size:14px}.pending-dc-prs-page{margin:0 auto;max-width:1600px;padding:2rem}.error-banner{border-left:4px solid #dc3545}.error-banner svg{stroke:#dc3545;flex-shrink:0}.error-banner span{color:#721c24}.pr-stats-summary{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}.stat-item{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 4px 12px #667eea33;display:flex;flex-direction:column;gap:.5rem;padding:1.5rem}.stat-label{color:#ffffffe6;font-size:.85rem;font-weight:600}.stat-value{color:#fff;font-size:2.5rem}.pr-table-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow:hidden}.pr-table-wrapper{overflow-x:auto}.pr-table td,.pr-table th{padding:1rem 1.5rem}.pr-table td{vertical-align:middle}.repo-badge{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:6px;color:#fff;display:inline-block;font-size:.85rem;padding:.4rem .85rem;white-space:nowrap}.pr-title-link{display:block;line-height:1.4}.pr-author{gap:.75rem}.branch-badge{white-space:nowrap}.loading-state{border-radius:12px;box-shadow:0 2px 8px #00000014}.loading-state p{color:#666;font-size:1rem;margin:0}.empty-state{border-radius:12px;box-shadow:0 2px 8px #00000014;min-height:400px}.empty-icon{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;display:flex;height:80px;justify-content:center;margin-bottom:1.5rem;width:80px}.empty-icon svg{stroke:#fff}.empty-state h3{margin:0 0 .75rem}.empty-state p{max-width:500px}@media (max-width:1200px){.pr-table{font-size:.85rem}.pr-table td,.pr-table th{padding:.875rem 1rem}}@media (max-width:768px){.pending-dc-prs-page{padding:1rem}.page-header{flex-direction:column;gap:1rem}.header-actions{flex-direction:column;width:100%}.header-actions button{width:100%}.pr-stats-summary{grid-template-columns:1fr}.stat-value{font-size:2rem}.pr-table-wrapper{overflow-x:scroll}.pr-table{min-width:800px}.pr-table td,.pr-table th{font-size:.8rem;padding:.75rem .5rem}.branch-badge,.repo-badge{font-size:.75rem;padding:.3rem .6rem}}.cloud-cost-page{margin:0 auto;max-width:1600px}.time-range-selector{background:var(--tessell-bg-white);border:1px solid var(--tessell-gray-200);border-radius:var(--tessell-radius-md);cursor:pointer;font-size:.875rem;padding:10px 16px;transition:all var(--tessell-transition-normal)}.time-range-selector:focus{border-color:var(--tessell-accent);box-shadow:0 0 0 2px #4a90d91a;outline:none}.cost-summary{grid-gap:var(--tessell-space-lg);display:grid;gap:var(--tessell-space-lg);grid-template-columns:repeat(auto-fit,minmax(400px,1fr));margin-bottom:var(--tessell-space-xl)}.summary-card.savings-card{border-left:4px solid #4caf50}.summary-amount.savings-amount{color:#2e7d32}.summary-icon{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border-radius:var(--tessell-radius-lg);height:64px;width:64px}.summary-icon svg{stroke:#1976d2;stroke-width:2}.provider-cards{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.provider-card{cursor:pointer}.provider-card.active{border-color:var(--tessell-primary);box-shadow:0 4px 20px #2a5f8f33}.provider-header{margin-bottom:var(--tessell-space-lg)}.provider-icon{height:48px;width:48px}.provider-cost{align-items:center;display:flex;justify-content:space-between}.cost-amount{color:var(--tessell-gray-800);font-size:1.5rem;font-weight:700;margin:0}.cost-trend{align-items:center;border-radius:var(--tessell-radius-xl);display:flex;font-size:.875rem;font-weight:600;gap:4px;padding:4px 12px}.cost-trend.trend-up{background:var(--tessell-error-light);color:var(--tessell-error)}.cost-trend.trend-down{background:var(--tessell-success-light);color:var(--tessell-success)}.cost-trend.trend-stable{background:var(--tessell-gray-100);color:var(--tessell-gray-500)}.cost-trend svg{stroke-width:2}.cost-details{background:var(--tessell-bg-white);border-radius:var(--tessell-radius-lg);box-shadow:var(--tessell-shadow-md);overflow:hidden}.details-header{background:var(--tessell-gray-50);border-bottom:1px solid var(--tessell-gray-200);padding:var(--tessell-space-lg)}.details-header h2{align-items:center;color:var(--tessell-gray-800);display:flex;font-size:1.25rem;gap:var(--tessell-space-sm);margin:0}.details-content{display:flex;flex-direction:column;gap:var(--tessell-space-xl);padding:var(--tessell-space-xl)}.comparison-section{align-items:center;display:flex;gap:var(--tessell-space-lg);justify-content:center}.comparison-card{background:var(--tessell-gray-50);border-radius:var(--tessell-radius-lg);flex:1 1;max-width:280px;padding:var(--tessell-space-lg);text-align:center}.comparison-card h3{color:var(--tessell-gray-500);font-size:.875rem;font-weight:500;letter-spacing:.5px;margin-bottom:var(--tessell-space-sm);text-transform:uppercase}.comparison-amount{color:var(--tessell-gray-800);font-size:2rem;font-weight:700;margin:0}.comparison-arrow{align-items:center;display:flex;justify-content:center}.trend-indicator{align-items:center;border-radius:var(--tessell-radius-lg);display:flex;flex-direction:column;gap:var(--tessell-space-xs);padding:var(--tessell-space-md)}.trend-indicator.trend-up{background:var(--tessell-error-light);color:var(--tessell-error)}.trend-indicator.trend-down{background:var(--tessell-success-light);color:var(--tessell-success)}.trend-indicator.trend-stable{background:var(--tessell-gray-100);color:var(--tessell-gray-500)}.trend-indicator svg{stroke-width:2;height:24px;width:24px}.trend-indicator span{font-size:1.25rem;font-weight:700}.service-breakdown h3{color:var(--tessell-gray-800);font-size:1.125rem;margin-bottom:var(--tessell-space-lg)}.service-list{display:flex;flex-direction:column;gap:var(--tessell-space-lg)}.service-item{grid-gap:var(--tessell-space-md);align-items:center;display:grid;gap:var(--tessell-space-md);grid-template-columns:1fr 2fr auto}.service-info{align-items:center;display:flex;justify-content:space-between}.service-name{color:var(--tessell-gray-700)}.service-cost{color:var(--tessell-gray-800)}.service-bar-container{background:var(--tessell-gray-100);height:32px;overflow:hidden;position:relative}.service-bar,.service-bar-container{border-radius:var(--tessell-radius-sm)}.service-bar{background:linear-gradient(90deg,var(--tessell-primary),var(--tessell-accent));height:100%;transition:width var(--tessell-transition-slow)}.service-percentage{color:var(--tessell-gray-500);min-width:50px;text-align:right}.cost-chart{background:var(--tessell-gray-50);border-radius:var(--tessell-radius-lg);padding:var(--tessell-space-lg)}.cost-chart h3{color:var(--tessell-gray-800);font-size:1.125rem;margin-bottom:var(--tessell-space-lg)}.chart-placeholder{align-items:center;background:var(--tessell-bg-white);border-radius:var(--tessell-radius-md);display:flex;justify-content:center;padding:var(--tessell-space-lg)}@media (max-width:768px){.page-header{align-items:flex-start;flex-direction:column;gap:var(--tessell-space-md)}.header-actions{flex-direction:column;width:100%}.header-actions button,.time-range-selector{width:100%}.cost-summary,.provider-cards{grid-template-columns:1fr}.comparison-section{flex-direction:column}.comparison-arrow{transform:rotate(90deg)}.comparison-card{max-width:100%;width:100%}.service-item{gap:var(--tessell-space-sm);grid-template-columns:1fr}.service-bar-container{height:24px}}.error-banner.info-banner{background:#e3f2fd;border-left:4px solid #2196f3}.trend-section{margin-top:var(--tessell-space-xl)}.trend-card{background:linear-gradient(135deg,#fff,#f8f9fa);border:1px solid #0000000a;border-radius:16px;box-shadow:0 4px 20px #00000014;padding:2rem}.trend-card h2{color:var(--tessell-gray-800);font-size:1.75rem;font-weight:700;letter-spacing:-.5px;margin:0 0 .5rem}.trend-subtitle{color:var(--tessell-gray-500);font-size:1rem;font-weight:400;margin:0 0 2rem}.trend-graph{align-items:flex-end;background:linear-gradient(0deg,#00000005 0,#0000);border-radius:12px;display:flex;gap:1.5rem;height:320px;justify-content:space-around;padding:2rem 1rem 1rem;position:relative}.trend-graph:before{background:linear-gradient(90deg,#0000,#0000001a,#0000);bottom:0;content:"";height:1px;left:0;position:absolute;right:0}.trend-month-group{align-items:center;display:flex;flex:1 1;flex-direction:column;height:100%;position:relative}.trend-bars-wrapper{gap:8px;justify-content:center;width:100%}.trend-bar-single,.trend-bars-wrapper{align-items:flex-end;display:flex;height:100%}.trend-bar-single{flex:1 1;max-width:45px}.trend-bar{border-radius:8px 8px 0 0;box-shadow:0 -2px 8px #00000014;cursor:pointer;position:relative;transition:all .4s cubic-bezier(.4,0,.2,1);width:100%}.trend-bar:before{background:#fff6;border-radius:8px 8px 0 0;content:"";height:4px;left:0;position:absolute;right:0;top:0}.trend-bar:hover{box-shadow:0 -4px 16px #00000026;filter:brightness(1.1);transform:translateY(-6px) scale(1.05)}.trend-bar.aws-bar{background:linear-gradient(180deg,#ffb84d,#f90 50%,#e68a00)}.trend-bar.azure-bar{background:linear-gradient(180deg,#4da6ff,#0078d4 50%,#005a9e)}.trend-bar-label{color:var(--tessell-gray-700);font-size:.8rem;font-weight:700;letter-spacing:.5px;margin-top:.75rem;text-transform:uppercase}.trend-bar-value{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;color:var(--tessell-gray-800);font-size:.85rem;font-weight:700;margin-top:.35rem}.trend-legend{border-top:1px solid #0000000f;display:flex;gap:2rem;justify-content:center;margin-top:2rem;padding-top:1.5rem}.legend-item{background:#00000005;border-radius:8px;color:var(--tessell-gray-700);font-size:.95rem;font-weight:600;gap:.75rem;padding:.5rem 1rem;transition:all .3s ease}.legend-item:hover{background:#0000000a;transform:translateY(-2px)}.legend-color{border-radius:6px;box-shadow:0 2px 6px #00000026;height:24px;position:relative;width:24px}.legend-color:before{background:linear-gradient(135deg,#ffffff4d,#0000);border-radius:6px;bottom:0;content:"";left:0;position:absolute;right:0;top:0}.legend-color.aws-color{background:linear-gradient(135deg,#ffb84d,#f90)}.legend-color.azure-color{background:linear-gradient(135deg,#4da6ff,#0078d4)}.no-data{color:var(--tessell-gray-500);font-size:1.1rem;font-weight:500}@media (max-width:768px){.trend-graph{gap:1rem;height:280px;padding:1.5rem .5rem 1rem}.trend-bars-wrapper{gap:4px}.trend-bar-single{max-width:30px}.trend-bar-label{font-size:.7rem}.trend-bar-value{font-size:.75rem}.trend-legend{gap:1rem}.legend-item{font-size:.85rem;padding:.4rem .75rem}.legend-color{height:20px;width:20px}}.provider-detail-page{margin:0 auto;max-width:1400px;padding:2rem}.back-button{align-items:center;background:#0000;border:1px solid #e0e0e0;border-radius:6px;color:#666;cursor:pointer;display:flex;font-size:.9rem;gap:.5rem;margin-bottom:1.5rem;padding:.5rem 1rem;transition:all .2s}.back-button:hover{background:#f5f5f5;border-color:#ccc}.back-button svg{height:16px;width:16px}.provider-header{gap:1rem;margin-bottom:2rem}.provider-icon-large{font-size:3rem}.provider-header h1{color:#333;font-size:2rem;margin:0}.provider-header .page-subtitle{color:#666;font-size:1rem;margin:.25rem 0 0}.summary-cards{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:2rem}.summary-card{box-shadow:0 2px 8px #0000001a}.summary-card h3{color:#666;font-size:.9rem;margin:0 0 1rem}.summary-value{color:#333;margin:0 0 .5rem}.summary-value.trend-up{color:#f44336}.summary-value.trend-down{color:#4caf50}.summary-value.trend-stable{color:#666}.summary-label{font-size:.85rem}.services-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:2rem}.services-section h2{color:#333;font-size:1.5rem;margin:0 0 1.5rem}.services-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.service-card{border:1px solid #e0e0e0;border-radius:8px;padding:1.25rem;transition:all .2s}.service-card:hover{border-color:#1976d2;box-shadow:0 2px 8px #1976d21a}.service-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.service-name{color:#333;font-size:.95rem;font-weight:600}.service-percentage{color:#1976d2;font-size:.9rem;font-weight:600}.service-cost-bar{background:#f0f0f0;border-radius:4px;height:8px;margin-bottom:.75rem;overflow:hidden;width:100%}.service-cost-fill{background:linear-gradient(90deg,#1976d2,#42a5f5);height:100%;transition:width .3s ease}.service-cost{color:#333;font-size:1.25rem;font-weight:700}.no-data{color:#999;font-size:1rem;padding:3rem;text-align:center}.error-banner{background:#ffebee;border:1px solid #f44336;padding:1rem}.error-banner button{background:#0000;color:#f44336}.leak-report-page{margin:0 auto;max-width:1600px;padding:2rem}.slack-btn{align-items:center;background:#611f69;border:none;color:#fff;display:flex;gap:.5rem}.summary-section{grid-gap:1.5rem;gap:1.5rem;grid-template-columns:repeat(3,1fr);margin-bottom:2rem}@media (max-width:1200px){.summary-section{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.summary-section{grid-template-columns:1fr}}.summary-card-large{background:#fff;border-radius:12px;box-shadow:0 2px 12px #00000014;padding:2rem}.savings-card{border-left:4px solid #4caf50}.issues-card{border-left:4px solid #ff9800}.resources-card{border-left:4px solid #2196f3}.summary-card-large h3{color:#666;font-size:.9rem;font-weight:500;letter-spacing:.5px;margin:0 0 1rem;text-transform:uppercase}.savings-amount{color:#4caf50;font-size:2.5rem;font-weight:700;margin:0}.savings-label{color:#999;font-size:1rem;margin:.5rem 0 0}.issues-count{color:#ff9800;font-size:2.5rem;font-weight:700;margin:0}.issues-breakdown{color:#666;font-size:.9rem;margin:.5rem 0 0}.resource-breakdown{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem}.resource-item{align-items:center;background:#f5f5f5;border-radius:8px;display:flex;gap:.75rem;padding:.5rem}.resource-icon{font-size:1.5rem}.resource-info{align-items:baseline;display:flex;gap:.5rem}.resource-count{color:#2196f3;font-size:1.5rem;font-weight:700}.resource-label{color:#666;font-size:.85rem;font-weight:500}.no-resources{color:#999;font-size:.9rem;margin:1rem 0;text-align:center}.filters-section{grid-gap:1.5rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;display:grid;gap:1.5rem;grid-template-columns:repeat(3,1fr);margin-bottom:2rem;padding:1.5rem}.filter-group{flex-direction:column}.filter-group label{color:#666;font-size:.85rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.filter-group select{border:1px solid #e0e0e0;border-radius:8px;font-size:.95rem;padding:.75rem 1rem;transition:all .2s}.filter-group select:focus{border-color:#1976d2;box-shadow:0 0 0 3px #1976d21a}.leaks-section{margin-bottom:2rem}.leak-items{display:flex;flex-direction:column;gap:1.5rem}.leak-item{background:#fff;border-left:4px solid #0000;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:1.5rem;transition:all .3s}.leak-item:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.leak-header{align-items:flex-start;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:1rem}.leak-title-section{align-items:center;display:flex;gap:1rem}.leak-provider-icon{align-items:center;background:#f5f5f5;border-radius:8px;display:flex;height:40px;justify-content:center;width:40px}.leak-title-section h4{color:#333;font-size:1.1rem;font-weight:600;margin:0 0 .25rem}.leak-resource-type{color:#999;font-size:.85rem;margin:0}.leak-severity-section{align-items:center;display:flex;gap:.75rem}.severity-badge{color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.5px}.category-badge,.severity-badge{border-radius:6px;padding:.4rem .75rem}.category-badge{background:#e3f2fd;color:#1976d2;font-size:.75rem;font-weight:600}.leak-body{display:flex;flex-direction:column;gap:1rem}.leak-recommendation{color:#555;font-size:.95rem;line-height:1.6;margin:0}.leak-subscription{background:#f5f5f5;border-radius:6px;color:#666;display:inline-block;font-size:.85rem;margin:0;padding:.5rem .75rem}.leak-details{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(4,1fr)}.leak-detail-item{display:flex;flex-direction:column;gap:.25rem;min-width:0}.detail-value{font-size:1.1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-value.savings-value{color:#4caf50;font-weight:700}.detail-value.detail-value-email{align-items:center;display:flex;font-size:.85rem;gap:.5rem;line-height:1.3;overflow:visible;text-overflow:clip;white-space:normal;word-break:break-all}.slack-indicator{align-items:center;cursor:help;display:inline-flex;font-size:.9rem}.no-leaks{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;display:flex;flex-direction:column;justify-content:center;padding:4rem 2rem}.no-leaks svg{stroke:#4caf50;stroke-width:2;margin-bottom:1.5rem}.no-leaks h3{color:#333;font-size:1.5rem;margin:0 0 .5rem}.no-leaks p{color:#666;font-size:1rem;margin:0}.info-banner{background:#f5f9ff;border-left:4px solid #1976d2;border-radius:8px;padding:1rem 1.5rem}.info-banner p{color:#555}.info-banner strong{color:#333}.loading-state{color:#666;min-height:400px}@media (max-width:1024px){.leak-details{grid-template-columns:repeat(2,1fr)}}@media (max-width:900px){.filters-section{grid-template-columns:1fr}}@media (max-width:768px){.leak-report-page{padding:1rem}.page-header{align-items:flex-start}.leak-header,.page-header{flex-direction:column;gap:1rem}.leak-severity-section{justify-content:flex-start;width:100%}.leak-details{grid-template-columns:1fr}}.pagination-info{color:#666;font-size:.9rem;margin-bottom:1rem;text-align:center}.pagination-controls{align-items:center;display:flex;gap:1.5rem;justify-content:center;margin-top:2rem;padding:1rem}.pagination-text{color:#333;font-size:.95rem;font-weight:500}.pagination-controls button:disabled{cursor:not-allowed;opacity:.5}.slack-modal-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:2rem;position:fixed;right:0;top:0;z-index:1000}.slack-modal{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0003;display:flex;flex-direction:column;max-height:90vh;max-width:900px;width:100%}.slack-modal-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:1.5rem}.slack-modal-header h2{color:#333;font-size:1.5rem;margin:0}.modal-close{line-height:1;padding:.25rem .5rem}.slack-modal-actions{align-items:center;background:#f5f9ff;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:1rem 1.5rem}.modal-note{color:#666;font-size:.9rem;margin:0}.slack-modal-content{display:flex;flex:1 1;flex-direction:column;gap:1.5rem;overflow-y:auto;padding:1.5rem}.slack-draft-item{background:#f5f5f5;border:1px solid #e0e0e0;border-radius:8px;padding:1rem}.slack-draft-header{align-items:center;border-bottom:1px solid #d0d0d0;display:flex;justify-content:space-between;margin-bottom:.75rem;padding-bottom:.75rem}.slack-draft-user{align-items:center;display:flex;gap:.75rem}.slack-draft-user strong{color:#333;font-size:1rem}.slack-status{border-radius:4px;font-size:.75rem;font-weight:600;padding:.25rem .5rem}.slack-connected{background:#d4edda;color:#155724}.slack-not-connected{background:#fff3cd;color:#856404}.slack-draft-message{word-wrap:break-word;background:#fff;border:1px solid #d0d0d0;border-radius:6px;color:#333;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.85rem;line-height:1.6;margin:0;padding:1rem;white-space:pre-wrap}.btn-small{font-size:.85rem;padding:.4rem .75rem}.btn-small:disabled{cursor:not-allowed;opacity:.6}.btn-small.btn-primary{background:#1976d2;border:none;color:#fff}.btn-small.btn-primary:hover:not(:disabled){background:#1565c0}.btn-icon-small{align-items:center;background:#0000;border:none;border-radius:4px;cursor:pointer;display:inline-flex;font-size:1rem;justify-content:center;margin-left:.5rem;padding:.25rem .5rem;transition:background-color .2s}.btn-icon-small:hover:not(:disabled){background:#0000000d}.btn-icon-small:disabled{cursor:not-allowed;opacity:.6}.slack-modal-actions>div{display:flex;flex-wrap:wrap;gap:.75rem}@media (max-width:768px){.slack-modal-overlay{padding:1rem}.slack-modal{max-height:95vh}.slack-modal-actions{align-items:stretch;flex-direction:column;gap:.75rem}.slack-draft-header{align-items:flex-start;flex-direction:column;gap:.75rem}.header-actions{flex-direction:column;width:100%}.slack-btn{justify-content:center;width:100%}}@keyframes orbit{0%{transform:translateY(-15px)}25%{transform:translate(15px)}50%{transform:translateY(15px)}75%{transform:translate(-15px)}to{transform:translateY(-15px)}}.leak-footer{background-color:#fafafa;border-top:1px solid #e0e0e0;display:flex;justify-content:flex-end;padding:1rem}.btn-danger{align-items:center;background-color:#dc3545;display:flex;font-size:14px;font-weight:500;gap:.5rem;padding:.5rem 1rem}.btn-danger:disabled{background-color:#e9a4ab;cursor:not-allowed;opacity:.6}.cloud-invoices-page{margin:0 auto;max-width:1400px;padding:2rem}.sync-info{align-items:center;background:#f8f9fa;border-radius:8px;color:#495057;display:flex;font-size:.9rem;gap:.75rem;margin-bottom:2rem;padding:1rem}.info-note,.sync-info svg{color:#6c757d}.info-note{font-style:italic;margin-left:auto}.invoices-section{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.loading-state,.no-invoices{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:4rem 2rem;text-align:center}.no-invoices svg{color:#adb5bd;margin-bottom:1.5rem}.no-invoices h3{color:#495057;font-size:1.5rem;margin:0 0 .75rem}.no-invoices p{color:#6c757d;font-size:1rem;margin:.5rem 0}.hint{color:#adb5bd!important;font-size:.9rem!important;font-style:italic}.invoices-table{overflow-x:auto}.invoices-table table{border-collapse:collapse;width:100%}.invoices-table thead{background:#f8f9fa;border-bottom:2px solid #dee2e6}.invoices-table th{color:#495057;font-size:.875rem;font-weight:600;letter-spacing:.5px;padding:1rem;text-align:left;text-transform:uppercase}.invoices-table td{border-bottom:1px solid #dee2e6;color:#212529;padding:1rem}.invoices-table tbody tr:hover{background:#f8f9fa}.provider-cell{align-items:center;display:flex;gap:.75rem}.provider-cell span{font-weight:500}.btn{font-size:.95rem}.btn-primary:hover:not(:disabled){background:#0056b3}.btn-secondary:hover{background:#5a6268}.btn-sm{font-size:.875rem;padding:.375rem .75rem}.info-banner{background:#e7f3ff;border-left:4px solid #007bff;border-radius:4px;margin-top:2rem;padding:1rem}.info-banner p{color:#004085;font-size:.9rem;line-height:1.6;margin:0}.info-banner strong{font-weight:600}@media (max-width:768px){.cloud-invoices-page{padding:1rem}.page-header{align-items:flex-start;flex-direction:column;gap:1rem}.header-actions{flex-direction:column;width:100%}.header-actions button{width:100%}.sync-info{align-items:flex-start;flex-direction:column;gap:.5rem}.info-note{margin-left:0}.invoices-table{font-size:.875rem}.invoices-table td,.invoices-table th{padding:.75rem .5rem}}.ricsp-page{margin:0 auto;max-width:1600px}.page-header h1{color:var(--tessell-gray-800);margin-bottom:var(--tessell-space-xs)}.header-actions{align-items:center;gap:var(--tessell-space-md)}.commitment-summary{margin-bottom:var(--tessell-space-xl)}.summary-card{gap:var(--tessell-space-lg);padding:var(--tessell-space-lg)}.summary-card.total-card{border-left:4px solid var(--tessell-primary)}.summary-content h3{color:var(--tessell-gray-500);font-weight:500;margin-bottom:var(--tessell-space-xs)}.summary-amount{color:var(--tessell-gray-800);font-size:2.5rem;font-weight:700;margin:0 0 var(--tessell-space-xs) 0}.summary-label{color:var(--tessell-gray-400);font-size:.875rem}.provider-cards{grid-gap:var(--tessell-space-lg);display:grid;gap:var(--tessell-space-lg);grid-template-columns:repeat(auto-fit,minmax(320px,1fr));margin-bottom:var(--tessell-space-xl)}.provider-card{background:var(--tessell-bg-white);border:2px solid #0000;border-radius:var(--tessell-radius-lg);box-shadow:var(--tessell-shadow-md);padding:var(--tessell-space-lg);transition:all var(--tessell-transition-normal)}.provider-card:hover{border-color:var(--tessell-accent-light);box-shadow:var(--tessell-shadow-lg);transform:translateY(-4px)}.provider-header{align-items:center;display:flex;gap:var(--tessell-space-md);margin-bottom:var(--tessell-space-md)}.provider-icon{border-radius:var(--tessell-radius-md);font-size:2rem;height:52px;padding:8px;width:52px}.provider-info h4{color:var(--tessell-gray-800);font-size:1rem;font-weight:700;margin-bottom:2px}.provider-info p{color:var(--tessell-gray-500);font-size:.75rem;margin:0}.commitment-types{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:var(--tessell-space-md)}.commitment-type-badge{background:var(--tessell-accent-light);border:1px solid var(--tessell-accent);border-radius:var(--tessell-radius-xl);color:var(--tessell-primary);display:inline-block;font-size:.75rem;font-weight:600;padding:.25rem .75rem}.provider-stats{border-bottom:1px solid var(--tessell-gray-200);display:flex;flex-direction:column;gap:var(--tessell-space-sm);margin-bottom:var(--tessell-space-md);padding-bottom:var(--tessell-space-md)}.stat-row{align-items:center;display:flex;justify-content:space-between}.stat-label{color:var(--tessell-gray-600)}.stat-value{color:var(--tessell-gray-800);font-size:1.125rem}.stat-value.savings,.stat-value.utilization-high{color:var(--tessell-success)}.stat-value.utilization-medium{color:#ffa726}.stat-value.utilization-low{color:var(--tessell-error)}.utilization-bar-container{background:var(--tessell-gray-100);border-radius:var(--tessell-radius-sm);height:8px;margin-bottom:var(--tessell-space-md);overflow:hidden}.utilization-bar{border-radius:var(--tessell-radius-sm);height:100%;transition:width var(--tessell-transition-slow)}.utilization-bar.utilization-high{background:linear-gradient(90deg,var(--tessell-success),#4caf50)}.utilization-bar.utilization-medium{background:linear-gradient(90deg,#ffa726,#ffb74d)}.utilization-bar.utilization-low{background:linear-gradient(90deg,var(--tessell-error),#f44336)}.provider-counts{gap:var(--tessell-space-md);justify-content:space-around;padding-top:var(--tessell-space-sm)}.count-item,.provider-counts{align-items:center;display:flex}.count-item{color:var(--tessell-gray-700);font-size:.875rem;font-weight:600;gap:.5rem}.count-item svg{stroke:var(--tessell-primary);stroke-width:2}.count-item.expiring{color:var(--tessell-error)}.count-item.expiring svg{stroke:var(--tessell-error)}.error-banner{border-left:4px solid #c33;gap:12px;margin-bottom:20px;padding:16px 20px}.error-banner span{color:#333;flex:1 1}.error-banner button{color:#666;font-size:24px;padding:0 8px}.error-banner button:hover{color:#333}.info-banner-bottom{margin-top:32px;padding:16px 20px}.loading-state{color:var(--tessell-gray-500);font-size:1.125rem}@media (max-width:768px){.page-header{align-items:flex-start;flex-direction:column;gap:var(--tessell-space-md)}.header-actions,.header-actions button{width:100%}.provider-cards{grid-template-columns:1fr}.provider-counts{align-items:flex-start;flex-direction:column;gap:var(--tessell-space-sm)}}.provider-cards .empty-state{background:var(--tessell-bg-white);border-radius:var(--tessell-radius-lg);box-shadow:var(--tessell-shadow-md);grid-column:1/-1;padding:4rem 2rem;text-align:center}.provider-cards .empty-state svg{margin-bottom:1.5rem}.provider-cards .empty-state h3{color:var(--tessell-gray-800);font-size:1.5rem;margin:0 0 .5rem}.provider-cards .empty-state>p{color:var(--tessell-gray-600);font-size:1rem;margin:0 0 2rem}.empty-state-requirements{background:#f5f9ff;border-left:4px solid var(--tessell-accent);border-radius:var(--tessell-radius-md);margin:0 auto 2rem;max-width:600px;padding:1.5rem;text-align:left}.empty-state-requirements p{color:var(--tessell-gray-700);font-weight:600;margin:0 0 .75rem}.empty-state-requirements ul{color:var(--tessell-gray-600);line-height:1.6;margin:0;padding-left:1.5rem}.empty-state-requirements li{margin-bottom:.5rem}.btn{gap:.5rem;padding:.625rem 1.25rem}.btn-secondary{background:var(--tessell-gray-100);border:1px solid var(--tessell-gray-300)}.btn-secondary:hover:not(:disabled){background:var(--tessell-gray-200);border-color:var(--tessell-gray-400)}.ricsp-detail-page{margin:0 auto;max-width:1600px;padding:1.5rem 2rem 2rem}.page-header{margin-bottom:var(--tessell-space-xl)}.btn-back{background:var(--tessell-gray-100);border:1px solid var(--tessell-gray-300);border-radius:var(--tessell-radius-md);color:var(--tessell-gray-700);cursor:pointer;font-size:.9rem;font-weight:500;padding:.5rem 1rem;transition:all var(--tessell-transition-normal)}.btn-back:hover{background:var(--tessell-gray-200);border-color:var(--tessell-gray-400)}.btn-back svg{stroke-width:2.5}.provider-title{gap:1rem}.provider-icon,.provider-title{align-items:center;display:flex}.provider-icon{background:var(--tessell-gray-50);border-radius:var(--tessell-radius-lg);box-shadow:var(--tessell-shadow-sm);height:60px;justify-content:center;padding:10px;width:60px}.provider-title h1{color:var(--tessell-gray-800);font-size:2rem;margin:0 0 .25rem}.page-subtitle{color:var(--tessell-gray-500);font-size:1rem}.summary-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-bottom:var(--tessell-space-xl)}.summary-card{background:var(--tessell-bg-white);border:2px solid var(--tessell-gray-100);border-radius:var(--tessell-radius-lg);box-shadow:var(--tessell-shadow-md);padding:1.5rem;transition:all var(--tessell-transition-normal)}.summary-card:hover{border-color:var(--tessell-accent-light);box-shadow:var(--tessell-shadow-lg)}.summary-card h3{color:var(--tessell-gray-500);font-size:.875rem;font-weight:500;letter-spacing:.5px;margin:0 0 .75rem;text-transform:uppercase}.summary-value{color:var(--tessell-gray-800);font-size:2rem;margin:0}.summary-value.savings,.summary-value.utilization-high{color:var(--tessell-success)}.summary-value.utilization-medium{color:#ffa726}.summary-value.utilization-low{color:var(--tessell-error)}.summary-value.counts{align-items:baseline;display:flex;gap:.5rem}.expiring-count{color:var(--tessell-error)}.graph-section{margin-bottom:var(--tessell-space-xl)}.graph-card{background:linear-gradient(135deg,#fff,#f8f9fa);border:1px solid #0000000a;border-radius:var(--tessell-radius-lg);box-shadow:var(--tessell-shadow-md);padding:2rem}.graph-card h2{color:var(--tessell-gray-800);font-size:1.5rem;font-weight:700;margin:0 0 1.5rem}.utilization-visual{display:flex;flex-direction:column;gap:1.5rem}.utilization-bar-large{background:var(--tessell-gray-100);box-shadow:inset 0 2px 4px #0000000f;height:60px;overflow:hidden}.utilization-bar-large,.utilization-fill{border-radius:var(--tessell-radius-lg);position:relative}.utilization-fill{align-items:center;display:flex;height:100%;justify-content:flex-end;padding-right:1rem;transition:width .6s cubic-bezier(.4,0,.2,1)}.utilization-fill:before{background:linear-gradient(180deg,#fff3,#0000);border-radius:var(--tessell-radius-lg) var(--tessell-radius-lg) 0 0;content:"";height:50%;left:0;position:absolute;right:0;top:0}.utilization-fill.utilization-high{background:linear-gradient(90deg,#81c784,#a5d6a7);box-shadow:0 0 20px #81c78440}.utilization-fill.utilization-medium{background:linear-gradient(90deg,#ffb74d,#ffd54f);box-shadow:0 0 20px #ffb74d40}.utilization-fill.utilization-low{background:linear-gradient(90deg,#e57373,#ef9a9a);box-shadow:0 0 20px #e5737340}.utilization-label{color:#fff;font-size:1.25rem;font-weight:700;text-shadow:0 1px 3px #0000004d;z-index:1}.utilization-legend{display:flex;flex-wrap:wrap;gap:2rem;justify-content:center}.legend-item{align-items:center;color:var(--tessell-gray-600);display:flex;font-size:.9rem;gap:.5rem}.legend-box{border-radius:4px;box-shadow:0 2px 4px #0000001a;height:20px;width:32px}.legend-box.high{background:linear-gradient(90deg,#81c784,#a5d6a7)}.legend-box.medium{background:linear-gradient(90deg,#ffb74d,#ffd54f)}.legend-box.low{background:linear-gradient(90deg,#e57373,#ef9a9a)}.commitments-section{margin-bottom:var(--tessell-space-xl)}.commitments-section h2{color:var(--tessell-gray-800);font-size:1.5rem;font-weight:700;margin:0 0 1rem}.commitments-table{background:var(--tessell-bg-white);border-radius:var(--tessell-radius-lg);box-shadow:var(--tessell-shadow-md);overflow:hidden}.commitments-table table{border-collapse:collapse;width:100%}.commitments-table thead{background:var(--tessell-gray-50)}.commitments-table th{border-bottom:2px solid var(--tessell-gray-200);color:var(--tessell-gray-700);font-size:.875rem;font-weight:600;letter-spacing:.5px;padding:1rem;text-align:left;text-transform:uppercase}.commitments-table td{border-bottom:1px solid var(--tessell-gray-100);color:var(--tessell-gray-600);font-size:.9rem;padding:1rem}.commitments-table tbody tr:hover{background:var(--tessell-gray-50)}.commitment-name{color:var(--tessell-gray-800);font-weight:600;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.type-badge{background:var(--tessell-primary-light);border:1px solid var(--tessell-primary);border-radius:var(--tessell-radius-sm);color:var(--tessell-primary);display:inline-block;font-size:.75rem;font-weight:700;padding:.25rem .625rem}.utilization-cell{align-items:center;display:flex;gap:.5rem}.mini-bar{background:var(--tessell-gray-100);border-radius:4px;flex:1 1;height:8px;max-width:100px;overflow:hidden}.mini-bar-fill{border-radius:4px;height:100%;transition:width .3s ease}.mini-bar-fill.utilization-high{background:linear-gradient(90deg,#4caf50,#66bb6a)}.mini-bar-fill.utilization-medium{background:linear-gradient(90deg,#ffa726,#ffb74d)}.mini-bar-fill.utilization-low{background:linear-gradient(90deg,#ef5350,#f44336)}.status-badge{border-radius:var(--tessell-radius-xl);padding:.375rem .75rem}.status-badge.status-active{background:var(--tessell-success-light);color:var(--tessell-success)}.status-badge.status-expiring{background:#fff3e0;color:#f57c00}.status-badge.status-expired{background:var(--tessell-error-light);color:var(--tessell-error)}.empty-state{background:var(--tessell-bg-white);border-radius:var(--tessell-radius-lg);box-shadow:var(--tessell-shadow-md)}.empty-state p{color:var(--tessell-gray-500);font-size:1.125rem}.error-state,.loading-state{min-height:60vh}.error-state p,.loading-state p{color:var(--tessell-gray-500);font-size:1.125rem;margin:0 0 1rem}.info-banner-bottom{background:#f5f9ff;border-left:4px solid var(--tessell-accent);border-radius:4px;margin-top:2rem;padding:1rem 1.25rem}.info-banner-bottom p{color:var(--tessell-gray-600);font-size:.9rem;line-height:1.6;margin:0}.info-banner-bottom strong{color:var(--tessell-gray-800)}@media (max-width:1024px){.summary-grid{grid-template-columns:repeat(2,1fr)}.commitments-table{overflow-x:auto}.commitments-table table{min-width:900px}}@media (max-width:768px){.ricsp-detail-page{padding:1rem}.provider-title{align-items:flex-start;flex-direction:column;gap:.75rem}.provider-icon{height:50px;width:50px}.provider-title h1{font-size:1.5rem}.summary-grid{grid-template-columns:1fr}.utilization-legend{align-items:flex-start;flex-direction:column;gap:.75rem}.graph-card{padding:1.5rem}.utilization-bar-large{height:48px}.utilization-label{font-size:1rem}}.it-management-page{margin:0 auto;max-width:1400px;padding:24px}.page-header{margin-bottom:32px}.page-header h1{color:#333;margin:0 0 8px}.page-subtitle{font-size:.9375rem}.header-actions{gap:12px}.summary-section{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:32px}.summary-card{align-items:flex-start;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;display:flex;gap:16px;padding:24px}.summary-icon{color:#fff;height:56px;width:56px}.summary-content{flex:1 1}.summary-content h3{color:#666;font-size:.875rem;font-weight:600;letter-spacing:.5px;margin:0 0 8px;text-transform:uppercase}.summary-number{color:#333;font-size:2rem;font-weight:700;margin:0 0 4px}.summary-label{color:#999;margin:0}.tabs-container{align-items:center;background:#fff;border-bottom:1px solid #e0e0e0;border-radius:12px 12px 0 0;box-shadow:0 2px 8px #0000000d;display:flex;justify-content:space-between;padding:16px 24px}.tabs{display:flex;gap:8px}.tab{background:#0000;border:none;border-radius:8px;color:#666;cursor:pointer;font-size:.9375rem;font-weight:500;padding:10px 20px;transition:all .2s}.tab:hover{background:#f5f5f5;color:#333}.tab.active{background:#1976d2;color:#fff}.tab-actions{display:flex;gap:12px}.assets-section{background:#fff;border-radius:0 0 12px 12px;box-shadow:0 2px 8px #0000000d;padding:24px}.assets-table{overflow-x:auto}.assets-table table{border-collapse:collapse;width:100%}.assets-table th{border-bottom:2px solid #e0e0e0;color:#666;font-size:.875rem;font-weight:600;letter-spacing:.5px;padding:12px;text-align:left;text-transform:uppercase}.assets-table td{border-bottom:1px solid #f0f0f0;font-size:.9375rem;padding:16px 12px}.asset-name{align-items:center;display:flex;font-weight:500;gap:8px}.asset-icon{font-size:1.25rem}.capitalize{text-transform:capitalize}.monospace{color:#666;font-family:Monaco,Menlo,Courier New,monospace;font-size:.875rem}.status-badge{color:#fff;padding:4px 12px}.btn-icon{align-items:center;background:#f5f5f5;border:none;border-radius:6px;color:#666;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s;width:32px}.btn-icon:hover{background:#e0e0e0;color:#333}.employees-section{background:#fff;border-radius:0 0 12px 12px;box-shadow:0 2px 8px #0000000d;padding:24px}.employees-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.employee-card{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:12px;padding:20px;transition:all .2s}.employee-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.employee-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;gap:12px;margin-bottom:16px;padding-bottom:16px}.employee-avatar{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;font-size:1rem;font-weight:700;height:48px;justify-content:center;width:48px}.employee-info h3{color:#333;font-size:1.125rem;margin:0 0 4px}.employee-email{color:#666;font-size:.8125rem;margin:0}.employee-details{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.detail-item{font-size:.875rem;justify-content:space-between}.detail-value{font-weight:600}.employee-actions{display:flex;gap:8px}.requests-section{background:#fff;border-radius:0 0 12px 12px;box-shadow:0 2px 8px #0000000d;padding:64px 24px}.empty-state{padding:40px}.empty-state svg{color:#ccc;margin-bottom:16px}.empty-state h3{color:#666}.empty-state p{color:#999}.modal-content{max-width:500px}.modal-close{border-radius:50%;height:40px;transition:background .2s;width:40px}.modal-body{padding:24px}.asset-form,.employee-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:.875rem}.form-group input,.form-group select{border:1px solid #e0e0e0;border-radius:6px;font-size:.9375rem;padding:10px 12px;transition:border-color .2s}.form-group input:focus,.form-group select:focus{border-color:#1976d2;outline:none}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:8px}.btn{font-size:.9375rem}.btn-secondary:hover{background:#e0e0e0}.btn-small{font-size:.8125rem;padding:6px 12px}@media (max-width:768px){.it-management-page{padding:16px}.page-header{flex-direction:column;gap:16px}.summary-section{grid-template-columns:1fr}.tabs-container{align-items:stretch;gap:16px}.tabs,.tabs-container{flex-direction:column}.tab{text-align:left}.employees-grid{grid-template-columns:1fr}.assets-table{font-size:.875rem}.assets-table td,.assets-table th{padding:8px}}.convoy-migration-page{margin:0 auto;max-width:1400px;padding:2rem}.convoy-summary{margin-bottom:2rem}.summary-card{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;box-shadow:0 4px 12px #667eea40;display:inline-flex;gap:1rem;overflow:hidden;padding:1.25rem 1.5rem;position:relative;transition:all .3s ease}.summary-card:before{background:linear-gradient(135deg,#ffffff1a,#fff0);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.summary-card:hover{box-shadow:0 8px 20px #667eea59;transform:translateY(-2px)}.summary-icon{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:12px;display:flex;flex-shrink:0;height:40px;justify-content:center;position:relative;width:40px;z-index:1}.summary-icon svg{stroke:#fff;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.summary-content{display:flex;flex-direction:column;position:relative;z-index:1}.summary-value{color:#fff;font-size:1.75rem;font-weight:700;line-height:1;margin-bottom:.25rem;text-shadow:0 2px 4px #0000001a}.summary-label{color:#ffffffe6;font-size:.8125rem;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.filters-bar{gap:1rem;margin-bottom:2rem}.search-box{align-items:center;display:flex;flex:1 1;min-width:300px;position:relative}.search-box svg{color:#666;left:1rem;position:absolute}.search-box input{border:1px solid #ddd;border-radius:8px;font-size:1rem;padding:.75rem 1rem .75rem 3rem;transition:all .2s ease;width:100%}.search-box input:focus{border-color:#1976d2;box-shadow:0 0 0 3px #1976d21a;outline:none}.repos-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.repo-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 2px 4px #0000000d;cursor:pointer;padding:1.5rem;transition:all .2s ease}.repo-card:hover{border-color:#1976d2;box-shadow:0 8px 16px #0000001a;transform:translateY(-4px)}.repo-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:.75rem}.repo-header h3{color:#1976d2;flex:1 1;font-size:1.25rem;font-weight:600;margin:0;word-break:break-word}.language-badge{background:#e3f2fd;border-radius:12px;color:#1976d2;font-size:.75rem;font-weight:500;padding:.25rem .75rem;white-space:nowrap}.repo-full-name{color:#666;font-family:monospace;font-size:.875rem;margin-bottom:.75rem}.repo-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#555;display:-webkit-box;line-height:1.5;margin-bottom:1rem;min-height:3em;overflow:hidden}.repo-stats{border-top:1px solid #f0f0f0;display:flex;gap:1.5rem;margin-bottom:.75rem;padding-top:1rem}.repo-stats span{align-items:center;color:#666;display:flex;font-size:.875rem;gap:.375rem}.repo-stats svg{color:#999}.repo-footer{align-items:center;border-top:1px solid #f0f0f0;display:flex;justify-content:space-between;padding-top:.75rem}.repo-updated{color:#999;font-size:.75rem}.empty-state svg,.error-state svg{color:#999;margin-bottom:1.5rem}.empty-state h2,.error-state h2{color:#333;font-size:1.5rem;margin-bottom:.5rem}.empty-state p,.error-state p{color:#666;margin-bottom:1.5rem}.btn{border-radius:8px;font-size:1rem;padding:.75rem 1.5rem}.btn-primary:hover{box-shadow:0 4px 12px #1976d24d;transform:translateY(-2px)}.modal-content{max-height:80vh}.modal-body p{line-height:1.6;margin-bottom:1rem}.modal-body strong{color:#333;font-weight:600}.modal-body ul{margin-top:.5rem;padding-left:1.5rem}.modal-body li{color:#666;margin-bottom:.5rem}@media (max-width:768px){.convoy-migration-page{padding:1rem}.page-header h1{font-size:2rem}.repos-grid{grid-template-columns:1fr}.filters-bar{flex-direction:column}.search-box{min-width:100%}}.convoy-dashboard-page{margin:0 auto;max-width:1400px;padding:2rem}.stats-grid{grid-gap:1.5rem;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:2rem}.stat-card{border-radius:12px;box-shadow:0 2px 4px #0000000d}.stat-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.stat-icon{border-radius:12px;height:56px;width:56px}.stat-content{display:flex;flex-direction:column}.stat-value{color:#1a1a1a}.stat-label{font-size:.875rem}.charts-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));margin-bottom:2rem}.chart-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 2px 4px #0000000d;padding:1.5rem}.chart-card h3{color:#333;font-size:1.125rem;font-weight:600;margin-bottom:1rem}.recent-section{background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 2px 4px #0000000d;padding:1.5rem}.section-header h3{color:#333;font-size:1.25rem;font-weight:600;margin:0}.webhooks-list{display:flex;flex-direction:column;gap:1rem}.webhook-item{align-items:center;background:#f9f9f9;border-radius:8px;display:flex;justify-content:space-between;padding:1rem;transition:all .2s ease}.webhook-item:hover{background:#f0f0f0}.webhook-info h4{color:#1976d2;font-size:1rem;font-weight:600;margin:0 0 .25rem}.webhook-url{color:#666;font-family:monospace;font-size:.875rem;margin:0}.webhook-stats{align-items:center;gap:1rem}.status-badge.active{background:#e8f5e9;color:#2e7d32}.status-badge.inactive{background:#ffebee;color:#c62828}.failure-count{color:#666;font-size:.875rem;font-weight:500}.error-state,.loading-state{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:4rem 2rem;text-align:center}.error-state h3{color:#333;font-size:1.5rem;margin-bottom:.5rem}@media (max-width:768px){.convoy-dashboard-page{padding:1rem}.page-header h1{font-size:2rem}.charts-grid,.stats-grid{grid-template-columns:1fr}.webhook-item{align-items:flex-start;flex-direction:column;gap:1rem}}.convoy-events-page{margin:0 auto;max-width:1400px;padding:2rem}.filters-bar{background:#f8f9fa;border-radius:8px;display:flex;flex-wrap:wrap;gap:1.5rem;margin-bottom:1.5rem;padding:1rem}.filter-group{align-items:center;display:flex;gap:.5rem}.filter-group label{color:#333;font-size:.9rem;font-weight:500}.filter-group select{background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:.9rem;min-width:150px;padding:.5rem 2rem .5rem .75rem}.filter-group select:focus{border-color:#007bff;outline:none}.events-table{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.events-table table{border-collapse:collapse;width:100%}.events-table thead{background:#f8f9fa;border-bottom:2px solid #dee2e6}.events-table th{color:#495057;font-size:.9rem;font-weight:600;letter-spacing:.5px;padding:1rem;text-align:left;text-transform:uppercase}.events-table tbody tr{border-bottom:1px solid #e9ecef;transition:background-color .2s}.events-table tbody tr:hover{background-color:#f8f9fa}.events-table td{color:#333;padding:1rem}.event-type-badge{background:#e3f2fd;border-radius:4px;color:#1976d2;display:inline-block;font-size:.85rem;font-weight:500;padding:.35rem .75rem}.status-badge{align-items:center;display:inline-flex}.status-completed{background:#d4edda;color:#155724}.status-failed{background:#f8d7da;color:#721c24}.status-processing{background:#fff3cd;color:#856404}.status-pending{background:#d1ecf1;color:#0c5460}.empty-state h3{font-size:1.25rem;margin:0 0 .5rem}.empty-state p{margin:0 0 1.5rem}.error-state{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:3rem 2rem;text-align:center}.error-state h3{color:#dc3545;font-size:1.25rem;margin:0 0 .5rem}.error-state p{color:#666;margin:0}.modal-content{border-radius:8px;box-shadow:0 4px 20px #00000026;overflow:auto;width:90%}.modal-content.modal-large{max-width:900px}.modal-header{border-bottom:1px solid #e9ecef}.modal-header h2{color:#333}.modal-close{color:#666;font-size:1.5rem}.modal-actions{border-top:1px solid #e9ecef;gap:.75rem;margin-top:1.5rem}.details-section h3{font-size:1.1rem;margin:0 0 1rem}.details-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.detail-item{gap:.25rem}.detail-label{color:#666;font-size:.85rem;font-weight:500}.detail-value{font-size:.95rem}.code-block{background:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;font-family:Courier New,monospace;font-size:.85rem}.btn-sm{font-size:.85rem;padding:.35rem .75rem}.btn-primary{background:#007bff}.btn-primary:hover{background:#0056b3}.btn-danger{background:#dc3545}.btn-danger:hover{background:#bd2130}@media (max-width:768px){.convoy-events-page{padding:1rem}.filters-bar,.page-header{flex-direction:column;gap:1rem}.filter-group,.filter-group select{width:100%}.events-table{overflow-x:auto}.events-table table{min-width:600px}.modal-content{max-height:95vh;width:95%}.details-grid{grid-template-columns:1fr}}.convoy-releases-page{margin:0 auto;max-width:1400px;padding:2rem}.environment-badge{align-items:center;display:flex;gap:.5rem}.env-indicator{border-radius:4px;font-size:.85rem;font-weight:600;letter-spacing:.5px;padding:.5rem 1rem;text-transform:uppercase}.env-indicator.env-dev{background:#e3f2fd;color:#1976d2}.env-indicator.env-stage{background:#fff3cd;color:#856404}.env-indicator.env-prod{background:#d4edda;color:#155724}.content-placeholder{align-items:center;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;display:flex;flex-direction:column;justify-content:center;min-height:400px;padding:4rem 2rem;text-align:center}.content-placeholder h3{color:#333;font-size:1.5rem;margin:0 0 1rem}.content-placeholder p{color:#666;font-size:1rem;margin:0;max-width:500px}@media (max-width:768px){.convoy-releases-page{padding:1rem}.page-header{flex-direction:column;gap:1rem}.content-placeholder{min-height:300px;padding:3rem 1rem}.placeholder-icon{font-size:3rem}.content-placeholder h3{font-size:1.25rem}}.code-coverage-page{background:#f5f5f5;margin:0 auto;max-width:1800px;min-height:100vh;padding:2rem}.page-header-section{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-bottom:2rem;padding:1.5rem}.header-content h1{color:#1976d2;font-size:2rem;font-weight:600;margin:0 0 .5rem}.page-subtitle{font-weight:400}.highlight{color:#1976d2;font-weight:600}.stats-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:1.5rem}.stat-card{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 1px 3px #0000001a;display:flex;gap:1rem;padding:1.5rem;transition:all .2s ease}.stat-card:hover{border-color:#1976d2;box-shadow:0 2px 8px #00000026}.stat-card.alert-card{border-left:4px solid #f44336}.stat-card.alert-card:hover{border-color:#d32f2f}.stat-icon{align-items:center;border-radius:8px;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.repos-icon{background:#e3f2fd}.branch-icon{background:#f3e5f5}.statement-icon{background:#e8f5e9}.alert-icon{background:#ffebee}.repos-icon svg{stroke:#1976d2}.branch-icon svg{stroke:#7b1fa2}.statement-icon svg{stroke:#388e3c}.alert-icon svg{stroke:#d32f2f}.stat-content{flex:1 1}.stat-label{color:#666;font-size:.8rem;font-weight:500;letter-spacing:.5px;margin-bottom:.5rem;text-transform:uppercase}.stat-value{color:#333;font-size:2rem;font-weight:700;line-height:1;margin-bottom:.25rem}.stat-sublabel{color:#999;font-size:.75rem;font-weight:500;margin-top:.25rem}.coverage-table-section{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.table-header{align-items:center;background:#f9f9f9;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:1.25rem 1.5rem}.table-header h2{color:#333;font-size:1.25rem;font-weight:600;margin:0}.table-actions{display:flex;gap:.75rem}.btn-secondary{align-items:center;background:#fff;border:1px solid #ddd;border-radius:6px;color:#1976d2;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.5rem 1rem;transition:all .2s ease}.btn-secondary:hover{background:#f5f5f5;border-color:#1976d2}.btn-secondary svg{stroke:#1976d2}.coverage-table-wrapper{overflow-x:auto}.coverage-table{border-collapse:collapse;width:100%}.coverage-table thead{background:#f9f9f9}.coverage-table th{border-bottom:2px solid #e0e0e0;color:#666;font-size:.8rem;font-weight:600;letter-spacing:.5px;padding:1rem 1.25rem;text-align:left;text-transform:uppercase}.coverage-table th.text-center{text-align:center}.coverage-table th.expand-col{width:60px}.coverage-table tbody tr{border-bottom:1px solid #f0f0f0;transition:all .2s ease}.coverage-table tbody tr:hover{background:#f9f9f9}.coverage-table tbody tr.expanded{background:#f5f5f5}.coverage-table td{color:#333;font-size:.9rem;padding:1rem 1.25rem}.coverage-table td.text-center{text-align:center}.expand-cell{width:60px}.expand-btn{align-items:center;background:#fff;border:1px solid #ddd;border-radius:4px;color:#1976d2;cursor:pointer;display:flex;font-size:1.1rem;font-weight:500;height:32px;justify-content:center;transition:all .2s ease;width:32px}.expand-btn:hover{background:#f5f5f5;border-color:#1976d2}.repo-cell{max-width:300px}.repo-info{align-items:center;display:flex;gap:.75rem}.repo-name{color:#333;font-size:.9rem;font-weight:600}.repo-badge{background:#f3e5f5;border-radius:4px;color:#7b1fa2;font-size:.7rem;font-weight:600;letter-spacing:.5px;padding:.25rem .625rem;text-transform:uppercase}.language-badge{border-radius:6px;display:inline-block;font-size:.8rem;font-weight:600;padding:.375rem .875rem;text-transform:capitalize}.language-badge.java{background:#ffebee;color:#d32f2f}.language-badge.python{background:#e3f2fd;color:#1976d2}.language-badge.go{background:#e8f5e9;color:#388e3c}.tag-badge{background:#f5f5f5;border:1px solid #e0e0e0;border-radius:6px;color:#666;font-family:Monaco,Courier New,monospace;font-size:.8rem;font-weight:600;padding:.375rem .875rem}.coverage-bar-container{background:#f5f5f5;border:1px solid #e0e0e0;border-radius:4px;height:28px;margin:0 auto;overflow:hidden;position:relative;width:120px}.coverage-bar{border-radius:4px;height:100%;left:0;position:absolute;top:0;transition:width .6s ease,background-color .3s ease}.coverage-text{font-size:.8rem;font-weight:700;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:1}.overall-badge{border:1px solid #0000001a;border-radius:6px;color:#fff;display:inline-block;font-size:.85rem;font-weight:700;min-width:60px;padding:.5rem 1rem}.date-cell{color:#666;font-size:.85rem;white-space:nowrap}.report-btn{background:#1976d2;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.report-btn:hover{background:#1565c0}.report-btn.download-btn{background:#7b1fa2}.report-btn.download-btn:hover{background:#6a1b9a}@media (max-width:1200px){.code-coverage-page{padding:1.5rem}.stats-grid{grid-template-columns:repeat(2,1fr)}.coverage-table td,.coverage-table th{font-size:.85rem;padding:.875rem}}@media (max-width:768px){.code-coverage-page,.page-header-section{padding:1rem}.header-content h1{font-size:1.5rem}.page-subtitle{font-size:.85rem}.stats-grid{grid-template-columns:1fr}.stat-icon{height:40px;width:40px}.stat-value{font-size:1.75rem}.table-header{align-items:flex-start;flex-direction:column;gap:1rem;padding:1rem}.table-actions{justify-content:flex-start;width:100%}.coverage-table td,.coverage-table th{font-size:.8rem;padding:.75rem}.repo-name{font-size:.85rem}.coverage-bar-container{height:24px;width:90px}.coverage-text{font-size:.75rem}}.convoy-pull-requests-page{margin:0 auto;max-width:1600px;padding:2rem}.page-header{border-bottom:2px solid #e9ecef;padding-bottom:1rem}.page-header h1{font-size:2rem;margin:0 0 .5rem}.page-subtitle{font-size:.95rem;margin:0}.header-actions{gap:.75rem}.pr-section{margin-bottom:3rem}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.section-header h2{color:#333;font-size:1.5rem;font-weight:600;margin:0}.pr-stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-bottom:1.5rem}.pr-stat-card{align-items:center;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;display:flex;gap:1.25rem;padding:1.5rem;transition:all .2s}.pr-stat-card:hover{box-shadow:0 4px 12px #0000001f;transform:translateY(-2px)}.pr-stat-icon{align-items:center;border-radius:12px;display:flex;flex-shrink:0;height:64px;justify-content:center;width:64px}.total-icon{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.pending-icon{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.approved-icon{background:linear-gradient(135deg,#4facfe,#00f2fe);color:#fff}.changes-icon{background:linear-gradient(135deg,#43e97b,#38f9d7);color:#fff}.success-icon{background:linear-gradient(135deg,#a8edea,#fed6e3);color:#155724}.failed-icon{background:linear-gradient(135deg,#ff9a9e,#fecfef);color:#721c24}.progress-icon{background:linear-gradient(135deg,#ffecd2,#fcb69f);color:#856404}.pr-stat-content{flex:1 1}.pr-stat-content h3{color:#666;font-size:.9rem;font-weight:500;letter-spacing:.5px;margin:0 0 .5rem;text-transform:uppercase}.pr-stat-number{color:#333;font-size:2rem;font-weight:700;line-height:1;margin:0 0 .25rem}.pr-stat-label{color:#888;font-size:.85rem;margin:0}.pr-list{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.pr-table{border-collapse:collapse;width:100%}.pr-table thead{background:#f8f9fa;border-bottom:2px solid #dee2e6}.pr-table th{color:#495057;font-size:.9rem;font-weight:600;letter-spacing:.5px;padding:1rem;text-align:left;text-transform:uppercase}.pr-table tbody tr{border-bottom:1px solid #e9ecef;transition:background-color .2s}.pr-table tbody tr:hover{background-color:#f8f9fa}.pr-table td{color:#333;font-size:.95rem;padding:1rem}.pr-title-link{color:#007bff;font-weight:500;text-decoration:none}.pr-title-link:hover{text-decoration:underline}.pr-author{align-items:center;display:flex;gap:.5rem}.author-avatar{border-radius:50%;height:32px;object-fit:cover;width:32px}.branch-badge{background:#e3f2fd;border-radius:4px;color:#1976d2;display:inline-block;font-size:.85rem;font-weight:500;padding:.35rem .75rem}.age-warning{color:#dc3545;font-weight:600}.status-badge{border-radius:4px;font-size:.85rem;font-weight:500;padding:.35rem .75rem;text-transform:capitalize}.status-open{background:#d1ecf1;color:#0c5460}.status-merged{background:#d4edda;color:#155724}.status-closed{background:#f8d7da;color:#721c24}.build-status{align-items:center;border-radius:4px;display:inline-flex;font-size:.85rem;font-weight:500;gap:.35rem;padding:.35rem .75rem}.build-success{background:#d4edda;color:#155724}.build-failed{background:#f8d7da;color:#721c24}.build-in_progress{background:#fff3cd;color:#856404}.loading-state{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:4rem 2rem}.spinner{border:4px solid #f3f3f3;border-top-color:#007bff;height:40px;margin-bottom:1rem;width:40px}.empty-state{background:#fff;box-shadow:0 1px 3px #0000001a;padding:4rem 2rem}.placeholder-icon{font-size:4rem;margin-bottom:1.5rem;opacity:.7}.empty-state h3{margin:0 0 1rem}.empty-state p{font-size:1rem}.error-banner{background:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;color:#721c24;padding:1rem 1.25rem}.error-banner button{align-items:center;color:#721c24;display:flex;height:24px;justify-content:center;width:24px}.error-banner button:hover{opacity:.7}.btn{border-radius:4px;font-size:.9rem}.btn-secondary{background:#6c757d}.btn-secondary:hover{background:#545b62}.btn-link{background:none;color:#007bff;padding:.25rem .5rem;text-decoration:none}.btn-link:hover{text-decoration:underline}@media (max-width:1200px){.pr-stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.convoy-pull-requests-page{padding:1rem}.page-header{flex-direction:column;gap:1rem}.pr-stats-grid{grid-template-columns:1fr}.pr-stat-card{padding:1rem}.pr-stat-icon{height:48px;width:48px}.pr-stat-number{font-size:1.5rem}.pr-table{font-size:.85rem}.pr-table td,.pr-table th{padding:.75rem .5rem}.section-header{align-items:flex-start;flex-direction:column;gap:.75rem}}.webhooks-page{margin:0 auto;max-width:1400px;padding:2rem}.page-header{align-items:flex-start;margin-bottom:2rem}.page-header h1{color:#1a1a1a;font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.page-subtitle{color:#666;font-size:1.125rem}.header-actions{display:flex;gap:1rem}.error-banner{background:#fee;border:1px solid #fcc;color:#c33;margin-bottom:1.5rem;padding:1rem 1.5rem}.error-banner button{background:none;border:none;color:#c33;cursor:pointer;font-size:1.5rem;padding:0}.webhooks-list{grid-gap:1.5rem;display:grid;gap:1.5rem}.webhook-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 2px 4px #0000000d;padding:1.5rem;transition:all .2s ease}.webhook-card:hover{border-color:#1976d2;box-shadow:0 4px 12px #0000001a}.webhook-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1rem}.webhook-header h3{color:#1976d2;font-size:1.5rem;font-weight:600;margin:0 0 .5rem}.webhook-description{color:#666;font-size:.875rem;margin:0}.webhook-status{border-radius:20px;font-size:.8125rem;font-weight:600;letter-spacing:.5px;padding:.375rem .875rem;text-transform:uppercase}.webhook-status.active{background:#e8f5e9;color:#2e7d32}.webhook-status.inactive{background:#ffebee;color:#c62828}.webhook-body{border-bottom:1px solid #f0f0f0;border-top:1px solid #f0f0f0;gap:1rem;margin-bottom:1rem;padding:1rem 0}.webhook-body,.webhook-detail{display:flex;flex-direction:column}.webhook-detail{gap:.5rem}.webhook-detail .label{color:#999;font-size:.75rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.webhook-detail .value{color:#333;font-family:monospace;font-size:.9375rem;word-break:break-all}.event-badges{display:flex;flex-wrap:wrap;gap:.5rem}.event-badge{background:#e3f2fd;border-radius:12px;color:#1976d2;font-size:.75rem;font-weight:500;padding:.25rem .75rem}.webhook-stats{display:flex;flex-wrap:wrap;gap:2rem}.webhook-stats .stat{display:flex;flex-direction:column;gap:.25rem}.webhook-stats .stat-label{color:#999;font-size:.75rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.webhook-stats .stat-value{color:#333;font-size:1.125rem;font-weight:600}.webhook-footer{display:flex;flex-wrap:wrap;gap:.75rem}.btn{font-size:.875rem;padding:.5rem 1rem;transition:all .2s ease}.btn-sm{font-size:.8125rem;padding:.375rem .875rem}.btn-primary{background:#1976d2}.btn-primary:hover{background:#1565c0;box-shadow:0 2px 8px #1976d24d;transform:translateY(-1px)}.btn-secondary{background:#f5f5f5;color:#333}.btn-secondary:hover{background:#e8e8e8}.btn-danger{background:#d32f2f}.btn-danger:hover{background:#c62828}.btn-success{background:#2e7d32;color:#fff}.btn-success:hover{background:#1b5e20}.btn-warning{background:#f57c00}.btn-warning:hover{background:#e65100}.empty-state,.error-state,.loading-state{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:4rem 2rem;text-align:center}.loading-state .spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#1976d2;height:48px;margin-bottom:1rem;width:48px}.empty-state h3{color:#333;font-size:1.5rem;margin-bottom:.5rem}.empty-state p{color:#666;margin-bottom:1.5rem}.modal-overlay{background:#00000080;padding:2rem}.modal-content{box-shadow:0 20px 60px #0000004d}.modal-header{border-bottom:1px solid #e0e0e0;padding:1.5rem}.modal-header h2{color:#1976d2;font-size:1.5rem}.modal-close{border-radius:4px;color:#999;font-size:2rem;transition:all .2s ease}.modal-close:hover{background:#f5f5f5;color:#333}.modal-body{padding:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{color:#333;font-weight:600;margin-bottom:.5rem}.form-group input,.form-group textarea{border:1px solid #ddd;border-radius:6px;font-size:1rem;padding:.75rem;transition:all .2s ease;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:#1976d2;box-shadow:0 0 0 3px #1976d21a;outline:none}.form-group textarea{min-height:80px;resize:vertical}.event-checkboxes{background:#f9f9f9;border-radius:6px;display:flex;flex-direction:column;gap:.75rem;padding:1rem}.checkbox-label{align-items:center;cursor:pointer;display:flex;gap:.75rem}.checkbox-label input[type=checkbox]{cursor:pointer;width:auto}.modal-actions{border-top:1px solid #e0e0e0;display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1.5rem}.btn-back{align-items:center;display:inline-flex;gap:.5rem;margin-bottom:1rem}.webhook-info-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 2px 4px #0000000d;margin-bottom:2rem;padding:1.5rem}.info-row{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:.75rem 0}.info-row:last-child{border-bottom:none}.info-label{color:#666;font-weight:600}.info-value{color:#333;font-family:monospace;font-size:.9375rem}.deliveries-table{background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 2px 4px #0000000d;overflow:hidden}.deliveries-table table{border-collapse:collapse;width:100%}.deliveries-table thead{background:#f9f9f9}.deliveries-table th{border-bottom:2px solid #e0e0e0;color:#666;font-size:.8125rem;font-weight:600;letter-spacing:.5px;padding:1rem;text-align:left;text-transform:uppercase}.deliveries-table td{border-bottom:1px solid #f0f0f0;color:#333;padding:1rem}.deliveries-table tr:last-child td{border-bottom:none}.deliveries-table tbody tr:hover{background:#f9f9f9}.status-badge{border-radius:12px;display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.5px;padding:.25rem .75rem;text-transform:uppercase}.status-success{background:#e8f5e9;color:#2e7d32}.status-failed{background:#ffebee;color:#c62828}.status-pending{background:#fff3e0;color:#f57c00}.error-cell{max-width:200px}.error-text{color:#c62828;cursor:help;font-size:.8125rem}.action-buttons{gap:.5rem}.modal-large{max-width:800px}.details-section{margin-bottom:2rem}.details-section:last-child{margin-bottom:0}.details-section h3{border-bottom:1px solid #e0e0e0;color:#333;font-size:1.125rem;font-weight:600;margin-bottom:1rem;padding-bottom:.5rem}.details-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.detail-item{display:flex;flex-direction:column;gap:.5rem}.detail-label{color:#999;font-size:.75rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.detail-value{color:#333;font-size:.9375rem}.code-block{word-wrap:break-word;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:6px;color:#333;font-family:Courier New,Courier,monospace;font-size:.875rem;line-height:1.5;overflow-x:auto;padding:1rem;white-space:pre-wrap}.error-block{background:#ffebee;border-color:#ffcdd2;color:#c62828}@media (max-width:768px){.webhooks-page{padding:1rem}.page-header{flex-direction:column;gap:1rem}.page-header h1{font-size:2rem}.webhook-stats{gap:1rem}.webhook-footer,.webhook-stats{flex-direction:column}.btn{width:100%}.deliveries-table{overflow-x:auto}.details-grid{grid-template-columns:1fr}.action-buttons{flex-direction:column}}.maintenance-window-page{margin:0 auto;max-width:1400px;padding:24px}.page-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.page-header h1{color:#1f2937;font-size:28px;font-weight:600;margin:0}.loading{color:#6b7280;font-size:16px;padding:48px;text-align:center}.error-banner{align-items:center;background-color:#fee2e2;border:1px solid #fca5a5;border-radius:8px;display:flex;justify-content:space-between;margin-bottom:24px;padding:16px}.error-banner p{color:#991b1b;flex:1 1;margin:0}.error-banner-close{background:none;border:none;color:#991b1b;cursor:pointer;font-size:24px;line-height:1;padding:0 8px}.error-banner-close:hover{color:#7f1d1d}.form-error{background-color:#fee2e2;border:1px solid #fca5a5;border-radius:6px;margin-bottom:16px;padding:12px}.form-error p{color:#991b1b;font-size:14px;margin:0}.empty-state{background-color:#f9fafb;border:1px dashed #d1d5db;border-radius:8px;padding:48px}.empty-state p{color:#6b7280;font-size:16px;margin:0}.maintenance-windows-list{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.maintenance-table{border-collapse:collapse;width:100%}.maintenance-table thead{background-color:#f9fafb;border-bottom:1px solid #e5e7eb}.maintenance-table th{color:#6b7280;font-size:12px;font-weight:600;letter-spacing:.05em;padding:12px 16px;text-align:left;text-transform:uppercase}.maintenance-table tbody tr{border-bottom:1px solid #e5e7eb;transition:background-color .2s}.maintenance-table tbody tr:hover{background-color:#f9fafb}.maintenance-table tbody tr:last-child{border-bottom:none}.maintenance-table td{color:#374151;font-size:14px;padding:16px;vertical-align:top}.message-cell{max-width:400px}.message-text{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;text-overflow:ellipsis}.action-buttons{align-items:center;display:flex;gap:8px}.btn{outline:none;padding:8px 16px}.btn:disabled{opacity:.5}.btn-primary{background-color:#3b82f6}.btn-primary:hover:not(:disabled){background-color:#2563eb}.btn-secondary{background-color:#6b7280;color:#fff}.btn-secondary:hover:not(:disabled){background-color:#4b5563}.btn-warning{background-color:#f59e0b;color:#fff}.btn-warning:hover:not(:disabled){background-color:#d97706}.btn-danger:hover:not(:disabled){background-color:#dc2626}.btn-sm{font-size:12px;padding:4px 8px}.modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}.modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:24px}.modal-header h2{color:#1f2937;font-size:20px;font-weight:600;margin:0}.modal-close{align-items:center;background:none;border:none;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;font-size:28px;height:32px;justify-content:center;padding:0;transition:background-color .2s;width:32px}.modal-close:hover{background-color:#f3f4f6}.modal-content form{padding:24px}.form-group label{color:#374151;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.required{color:#ef4444}.form-input,.form-textarea{border:1px solid #d1d5db;border-radius:6px;color:#1f2937;font-family:inherit;font-size:14px;padding:10px 12px;transition:border-color .2s,box-shadow .2s;width:100%}.form-input:focus,.form-textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-input:disabled,.form-textarea:disabled{background-color:#f3f4f6;cursor:not-allowed}.form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.modal-footer{border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;margin:0 -24px -24px;padding:24px}@media (max-width:768px){.maintenance-window-page{padding:16px}.page-header{align-items:flex-start;flex-direction:column;gap:16px}.maintenance-table{font-size:12px}.maintenance-table td,.maintenance-table th{padding:8px}.form-row{grid-template-columns:1fr}.modal-content{margin:20px}}.chat-panel{animation:slideIn .3s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-radius:12px;bottom:100px;box-shadow:0 8px 32px #00000026;display:flex;flex-direction:column;height:450px;max-height:calc(100vh - 140px);position:fixed;right:24px;width:320px;z-index:999}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.chat-header{background:var(--tessell-primary);border-bottom:1px solid var(--tessell-gray-100);border-radius:12px 12px 0 0;color:#fff;padding:16px 20px}.chat-header-content{align-items:center;display:flex;justify-content:space-between}.chat-header h3{color:#fff;font-size:16px;font-weight:600;margin:0}.chat-header-actions{display:flex;gap:8px}.chat-action-btn,.chat-close-btn{align-items:center;background:#fff3;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;justify-content:center;padding:6px;transition:all var(--tessell-transition-normal)}.chat-action-btn:hover,.chat-close-btn:hover{background:#ffffff4d}.chat-close-btn{font-size:24px;line-height:1;padding:2px 8px}.chat-messages{flex:1 1;gap:16px;overflow-y:auto;padding:16px}.chat-empty-state,.chat-messages{display:flex;flex-direction:column}.chat-empty-state{align-items:center;color:var(--tessell-gray-500);height:100%;justify-content:center;padding:20px;text-align:center}.chat-empty-state svg{margin-bottom:16px;opacity:.5}.chat-empty-state h4{color:var(--tessell-gray-700);font-size:16px;margin:0 0 8px}.chat-empty-state p{font-size:14px;margin:0}.chat-message{animation:fadeIn .3s ease-out;display:flex;gap:12px}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-avatar{flex-shrink:0}.avatar-assistant,.avatar-user{align-items:center;border-radius:50%;color:#fff;display:flex;font-size:14px;font-weight:600;height:32px;justify-content:center;width:32px}.avatar-user{background:var(--tessell-primary)}.avatar-assistant{background:var(--tessell-accent)}.message-content{flex:1 1;max-width:calc(100% - 44px)}.message-text{word-wrap:break-word;background:var(--tessell-gray-50);border-radius:12px;color:var(--tessell-gray-700);font-size:14px;line-height:1.5;padding:10px 14px}.chat-message.assistant .message-text{background:var(--tessell-gray-100)}.message-time{color:var(--tessell-gray-500);font-size:11px;margin-top:4px;padding-left:4px}.chat-error{align-items:center;background:#ffebee;border-top:1px solid var(--tessell-gray-100);color:#c62828;display:flex;font-size:13px;justify-content:space-between;padding:12px 16px}.chat-error button{background:none;border:none;color:#c62828;cursor:pointer;font-size:20px;line-height:1;padding:0}.chat-input-form{border-top:1px solid var(--tessell-gray-100);display:flex;gap:12px;padding:16px}.chat-input{border:1px solid var(--tessell-gray-100);border-radius:8px;flex:1 1;font-family:inherit;font-size:14px;outline:none;padding:10px 14px;transition:all var(--tessell-transition-normal)}.chat-input:focus{border-color:var(--tessell-primary);box-shadow:0 0 0 3px #2c5f7f1a}.chat-input:disabled{background:var(--tessell-gray-50);cursor:not-allowed}.chat-send-btn{align-items:center;background:var(--tessell-primary);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:40px;justify-content:center;transition:all var(--tessell-transition-normal);width:40px}.chat-send-btn:hover:not(:disabled){background:var(--tessell-primary-dark);transform:translateY(-1px)}.chat-send-btn:disabled{cursor:not-allowed;opacity:.6}@media (max-width:768px){.chat-panel{right:24px;width:calc(100vw - 48px)}}.chat-floating-button{align-items:center;background:var(--tessell-primary);border:none;border-radius:50%;bottom:24px;box-shadow:0 4px 12px #2c5f7f4d;color:var(--tessell-white);cursor:pointer;display:flex;height:56px;justify-content:center;position:fixed;right:24px;transition:all var(--tessell-transition-normal);width:56px;z-index:998}.chat-floating-button:hover{background:var(--tessell-primary-dark);box-shadow:0 6px 20px #2c5f7f66;transform:scale(1.05)}.chat-floating-button:active{transform:scale(.95)}.maintenance-banner{align-items:center;animation:slideDown .3s ease;display:flex;justify-content:center;padding:12px 20px;position:relative;width:100%;z-index:1000}@keyframes slideDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.maintenance-banner.active{background:linear-gradient(135deg,#d32f2f,#c62828);box-shadow:0 2px 8px #d32f2f4d;color:#fff}.maintenance-banner.upcoming{background:linear-gradient(135deg,#ff9800,#f57c00);box-shadow:0 2px 8px #ff98004d;color:#fff}.maintenance-banner-content{align-items:center;display:flex;gap:12px;max-width:1400px;width:100%}.maintenance-banner-icon{align-items:center;background:#fff3;border-radius:50%;display:flex;flex-shrink:0;height:32px;justify-content:center;width:32px}.maintenance-banner-text{align-items:center;display:flex;flex:1 1;flex-wrap:wrap;font-size:14px;gap:8px;line-height:1.5}.maintenance-banner-text strong{font-weight:600}.maintenance-banner-separator{color:#fff9;font-weight:300}.maintenance-banner-duration{background:#ffffff26;border-radius:4px;font-weight:500;padding:2px 8px}.maintenance-banner-dismiss{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;transition:background .2s ease;width:28px}.maintenance-banner-dismiss:hover{background:#ffffff4d}.maintenance-banner-dismiss:active{transform:scale(.95)}@media (max-width:768px){.maintenance-banner{padding:10px 16px}.maintenance-banner-content{gap:10px}.maintenance-banner-icon{height:28px;width:28px}.maintenance-banner-icon svg{height:20px;width:20px}.maintenance-banner-text{font-size:13px;gap:6px}.maintenance-banner-separator{display:none}.maintenance-banner-text{align-items:flex-start;flex-direction:column;gap:4px}.maintenance-banner-duration{margin-top:2px}}@media (max-width:480px){.maintenance-banner{padding:8px 12px}.maintenance-banner-text{font-size:12px}.maintenance-banner-icon{height:24px;width:24px}.maintenance-banner-icon svg{height:18px;width:18px}}.maintenance-header-text{align-items:center;color:#fff;display:flex;font-size:14px;font-weight:500;gap:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.maintenance-header-text span{white-space:nowrap}@media (max-width:768px){.maintenance-header-text{font-size:13px;gap:6px}}@media (max-width:480px){.maintenance-header-text{font-size:12px;gap:4px}.maintenance-header-text svg{height:16px;width:16px}}.token-status-badge{align-items:center;border-radius:12px;display:inline-flex;font-size:12px;font-weight:600;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase}.token-status-badge.active{background-color:#d4edda;color:#155724}.token-status-badge.expiring{background-color:#fff3cd;color:#856404}.token-status-badge.expired{background-color:#f8d7da;color:#721c24}.token-status-badge.revoked{background-color:#e2e3e5;color:#383d41}.token-status-badge .days-left{font-weight:700;margin-left:4px}.token-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:16px;padding:16px;transition:box-shadow .2s,transform .2s}.token-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.token-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.token-card-title{align-items:center;display:flex;gap:12px}.token-type-icon{font-size:32px}.token-card-title h3{color:#1a202c;font-size:18px;font-weight:600;margin:0}.token-type-label{color:#718096;display:inline-block;font-size:12px;margin-top:2px}.token-card-body{border-bottom:1px solid #e2e8f0;border-top:1px solid #e2e8f0;padding:12px 0}.token-info-row{align-items:center;display:flex;justify-content:space-between;padding:6px 0}.token-info-label{color:#718096;font-size:14px;font-weight:500}.token-info-value{color:#2d3748;font-size:14px}.token-card-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}.btn-sm{font-size:13px;padding:6px 12px}.btn-warning{background-color:#fbbf24;border:none;border-radius:4px;color:#78350f;cursor:pointer;transition:background-color .2s}.btn-warning:hover{background-color:#f59e0b}.btn-danger{background-color:#ef4444;border:none;border-radius:4px;color:#fff;cursor:pointer;transition:background-color .2s}.btn-danger:hover{background-color:#dc2626}.add-token-form{padding:20px}.add-token-form .form-group{margin-bottom:20px}.add-token-form label{color:#2d3748;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.add-token-form .required{color:#e53e3e}.add-token-form input,.add-token-form select,.add-token-form textarea{background-color:#fff;border:1px solid #cbd5e0;border-radius:6px;color:#2d3748;font-size:14px;padding:10px 12px;transition:border-color .2s,box-shadow .2s;width:100%}.add-token-form input:focus,.add-token-form select:focus,.add-token-form textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.add-token-form input.error,.add-token-form select.error,.add-token-form textarea.error{border-color:#f56565}.add-token-form input:disabled,.add-token-form select:disabled,.add-token-form textarea:disabled{background-color:#f7fafc;cursor:not-allowed}.add-token-form textarea{font-family:Monaco,Courier New,monospace;min-height:80px;resize:vertical}.add-token-form .error-message{color:#e53e3e;display:block;font-size:13px;margin-top:6px}.add-token-form .field-hint{color:#718096;display:block;font-size:12px;margin-top:6px}.add-token-form .form-actions{border-top:1px solid #e2e8f0;display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:20px}.add-token-form .btn{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s}.add-token-form .btn:disabled{cursor:not-allowed;opacity:.6}.add-token-form .btn-secondary{background-color:#e2e8f0;color:#2d3748}.add-token-form .btn-secondary:hover:not(:disabled){background-color:#cbd5e0}.add-token-form .btn-primary{background-color:#667eea;color:#fff}.add-token-form .btn-primary:hover:not(:disabled){background-color:#5a67d8}.myfleet-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.myfleet-modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:900px;position:relative;width:90%}.myfleet-modal-header{background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:1px solid #e2e8f0;border-radius:12px 12px 0 0;color:#fff;padding:24px 32px;position:relative}.myfleet-modal-header h1{font-size:28px;font-weight:700;margin:0}.myfleet-subtitle{font-size:14px;margin:8px 0 0;opacity:.9}.myfleet-main-tabs{background:#f7fafc;border-bottom:2px solid #e2e8f0;display:flex;padding:0 32px}.main-tab{background:none;border:none;border-bottom:3px solid #0000;bottom:-2px;color:#64748b;cursor:pointer;font-size:16px;font-weight:600;padding:16px 32px;position:relative;transition:all .2s}.main-tab:hover{background:#677eea0d;color:#475569}.main-tab.active{background:#fff;border-bottom-color:#667eea;color:#667eea}.todo-tab-content{min-height:400px;padding:40px}.myfleet-close-btn,.todo-tab-content{align-items:center;display:flex;justify-content:center}.myfleet-close-btn{background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;height:36px;position:absolute;right:20px;top:20px;transition:background .2s;width:36px}.myfleet-close-btn:hover{background:#ffffff4d}.myfleet-modal-body{flex:1 1;overflow-y:auto;padding:24px 32px}.myfleet-actions{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:24px}.filter-tabs{display:flex;flex-wrap:wrap;gap:8px}.filter-tab{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#4a5568;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s}.filter-tab:hover{background:#f7fafc}.filter-tab.active{background:#667eea;border-color:#667eea;color:#fff}.tokens-list{min-height:300px}.loading-state{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.spinner{animation:spin 1s linear infinite;border:4px solid #e2e8f0;border-radius:50%;border-top-color:#667eea;height:48px;width:48px}@keyframes spin{to{transform:rotate(1turn)}}.loading-state p{color:#718096;font-size:14px;margin-top:16px}.empty-state{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.empty-icon{font-size:64px;margin-bottom:16px;opacity:.5}.empty-state h3{color:#2d3748;font-size:20px;margin:0 0 8px}.empty-state p{color:#718096;font-size:14px;margin:0 0 24px}.token-help{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;margin:20px 0;max-width:600px;padding:20px;text-align:left}.token-help p{color:#2d3748;font-size:14px;line-height:1.6;margin:0 0 16px}.token-setup-steps{margin:16px 0;padding-left:20px;text-align:left}.token-setup-steps li{color:#4a5568;font-size:14px;line-height:1.6;margin:8px 0}.help-link{border-bottom:1px solid #0000;color:#667eea;font-weight:600;text-decoration:none;transition:border-bottom .2s}.help-link:hover{border-bottom:1px solid #667eea}.help-note{background:#fff5e6;border-left:3px solid #f59e0b;border-radius:4px;color:#92400e!important;font-size:13px!important;margin-top:12px!important;padding:12px}.btn{border-radius:6px;font-weight:600;transition:all .2s}.btn-primary{background-color:#667eea;color:#fff}.btn-primary:hover{background-color:#5a67d8}.action-items-list{display:flex;flex-direction:column;gap:16px}.action-items-header{margin-bottom:8px}.action-items-header h3{color:#2d3748;font-size:18px;font-weight:600;margin:0 0 4px}.action-items-header p{color:#718096;font-size:14px;margin:0}.action-item-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:16px;transition:all .2s}.action-item-card:hover{border-color:#cbd5e0;box-shadow:0 2px 8px #0000001a}.action-item-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;margin-bottom:12px}.action-item-key-section{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.action-item-key{color:#667eea;font-size:14px;font-weight:600;text-decoration:none}.action-item-key:hover{text-decoration:underline}.action-item-source{background:#f7fafc;border-radius:4px;color:#4a5568;font-size:12px;padding:2px 8px}.action-item-badges{display:flex;flex-wrap:wrap;gap:8px}.badge{border-radius:12px;font-size:11px;font-weight:600;letter-spacing:.5px;padding:4px 10px;text-transform:uppercase}.badge.status{background:#edf2f7;color:#4a5568}.badge.new-badge{animation:pulse 2s ease-in-out infinite;background:#10b981;color:#fff}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.badge.priority-high,.badge.priority-highest{background:#fed7d7;color:#c53030}.badge.priority-medium{background:#fef5e7;color:#d97706}.badge.priority-low,.badge.priority-lowest{background:#e2e8f0;color:#718096}.action-item-summary{color:#2d3748;font-size:14px;line-height:1.5;margin-bottom:8px}.action-item-due-date{align-items:center;color:#718096;display:flex;font-size:12px;gap:4px}.jira-tickets-tab-content,.pull-requests-tab-content{padding:24px}.jira-tickets-content{display:flex;flex-direction:column;gap:24px}.tickets-section{background:#f7fafc;border-radius:8px;padding:16px}.tickets-section .section-header{border-bottom:2px solid #e2e8f0;margin-bottom:16px;padding-bottom:12px}.tickets-section .section-header h3{color:#2d3748;font-size:18px;font-weight:600;margin:0}.jira-ticket-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:12px;padding:16px;transition:all .2s}.jira-ticket-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.jira-ticket-card:last-child{margin-bottom:0}.ticket-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.ticket-key{color:#667eea;font-family:Monaco,Menlo,monospace;font-size:14px;font-weight:600;text-decoration:none;transition:color .2s}.ticket-key:hover{color:#764ba2;text-decoration:underline}.ticket-badges{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.badge.type-bug{background:#fc8181;color:#fff}.badge.type-task{background:#90cdf4;color:#2c5282}.badge.type-story{background:#9ae6b4;color:#22543d}.ticket-summary{color:#2d3748;font-size:14px;line-height:1.5;margin-bottom:8px}.ticket-meta{align-items:center;color:#718096;display:flex;font-size:12px;gap:4px}.pull-requests-tab-content{padding:24px}.pr-filter-section{align-items:center;background:#f7fafc;border-radius:8px;display:flex;gap:12px;margin-bottom:20px;padding:12px 16px}.pr-filter-section label{color:#2d3748;font-weight:600}.base-branch-select{background:#fff;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;font-size:14px;min-width:150px;padding:8px 12px}.base-branch-select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.pr-count{color:#667eea;font-weight:600;margin-left:auto}.pull-requests-list{display:flex;flex-direction:column;gap:12px}.pr-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:16px;transition:all .2s}.pr-card:hover{border-color:#667eea;box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.pr-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.pr-title-section{align-items:center;display:flex;flex:1 1;gap:8px}.pr-title{color:#2d3748;flex:1 1;font-size:15px;font-weight:600;text-decoration:none}.pr-title:hover{color:#667eea;text-decoration:underline}.pr-number{color:#718096;font-family:Monaco,Menlo,monospace;font-size:13px}.pr-badges{display:flex;flex-shrink:0;gap:6px}.badge.status-open{background:#48bb78;color:#fff}.badge.status-closed{background:#e53e3e;color:#fff}.badge.merged{background:#805ad5;color:#fff}.pr-meta{color:#4a5568;display:flex;font-size:13px;gap:16px;margin-bottom:8px}.pr-repo{font-weight:500}.pr-branches{background:#edf2f7;border-radius:4px;font-family:Monaco,Menlo,monospace;padding:2px 8px}.pr-dates{color:#718096;display:flex;font-size:12px;gap:16px}.layout{background:var(--tessell-bg-light);display:flex;flex-direction:column;min-height:100vh}.header{background:var(--tessell-bg-primary);box-shadow:0 2px 8px #00000026;color:var(--tessell-white);padding:0 var(--tessell-space-lg);position:-webkit-sticky;position:sticky;top:0;z-index:100}.header-content{height:64px;justify-content:space-between;margin:0 auto;max-width:100%;position:relative;z-index:1}.header-content,.header-left{align-items:center;display:flex}.header-left{flex-shrink:0;gap:var(--tessell-space-md)}.header-center{flex:1 1;min-width:0;padding:0 var(--tessell-space-md)}.header-center,.sidebar-toggle{align-items:center;display:flex;justify-content:center}.sidebar-toggle{background:none;border:none;border-radius:var(--tessell-radius-md);color:#ffffffe6;cursor:pointer;padding:var(--tessell-space-sm);transition:all var(--tessell-transition-normal)}.sidebar-toggle:hover{background:#fff3;color:var(--tessell-white);transform:scale(1.05)}.logo-container{align-items:baseline;display:flex;gap:12px}.tessell-logo{filter:drop-shadow(0 2px 4px rgba(0,0,0,.2));flex-shrink:0;margin-bottom:-2px;vertical-align:initial}.logo{color:#fff!important;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,sans-serif;font-size:20px;font-weight:700;letter-spacing:-.02em;line-height:1;margin:0;padding-bottom:2px}.nav{display:flex;gap:var(--tessell-space-lg)}.nav-link{border-radius:var(--tessell-radius-sm);color:#ffffffe6;font-weight:500;padding:var(--tessell-space-sm);text-decoration:none;transition:all var(--tessell-transition-normal)}.nav-link:hover{background:#fff3;color:var(--tessell-white)}.header-right{align-items:center;display:flex;flex-shrink:0;gap:var(--tessell-space-md)}.notification-container{position:relative}.notification-bell{align-items:center;background:none;border:none;border-radius:var(--tessell-radius-md);color:#ffffffe6;cursor:pointer;display:flex;justify-content:center;padding:8px;position:relative;transition:all var(--tessell-transition-normal)}.notification-bell:hover{background:#fff3;color:var(--tessell-white);transform:scale(1.05)}.notification-badge{align-items:center;background:#f44336;border-radius:50%;box-shadow:0 2px 4px #0000004d;color:#fff;display:flex;font-size:11px;font-weight:600;height:18px;justify-content:center;position:absolute;right:4px;top:4px;width:18px}.notification-dropdown{background:#fff;border-radius:8px;box-shadow:0 8px 24px #00000026;display:flex;flex-direction:column;max-height:480px;overflow:hidden;position:absolute;right:0;top:calc(100% + 12px);width:380px;z-index:1000}.notification-header{align-items:center;background:#f9f9f9;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:16px 20px}.notification-header h3{color:#333;font-size:16px;font-weight:600;margin:0}.mark-all-read{background:none;border:none;border-radius:4px;color:#1976d2;cursor:pointer;font-size:13px;font-weight:500;padding:4px 8px;transition:background .2s}.mark-all-read:hover{background:#1976d21a}.notification-list{max-height:420px;overflow-y:auto}.notification-empty{color:#999;padding:48px 20px;text-align:center}.notification-empty p{font-size:14px;margin:0}.notification-item{align-items:flex-start;border-bottom:1px solid #f0f0f0;cursor:pointer;display:flex;gap:12px;padding:16px 20px;position:relative;transition:background .2s}.notification-item:hover{background:#f9f9f9}.notification-item.unread{background:#f0f7ff}.notification-item.unread:hover{background:#e3f2fd}.notification-content{flex:1 1}.notification-content h4{color:#333;font-size:14px;font-weight:600;margin:0 0 4px}.notification-content p{color:#666;font-size:13px;line-height:1.4;margin:0}.unread-dot{background:#1976d2;border-radius:50%;flex-shrink:0;height:8px;margin-top:4px;width:8px}.user-menu{align-items:center;display:flex;gap:12px}.user-avatar{border:2px solid #ffffff4d;border-radius:50%;height:36px;object-fit:cover;width:36px}.user-name,.user-role{color:var(--tessell-white);font-weight:500}.user-role{background:#fff3;border-radius:12px;font-size:12px;padding:4px 8px;text-transform:capitalize}.layout-body{display:flex;flex:1 1;height:calc(100vh - 64px);overflow:hidden}.sidebar{background:var(--tessell-bg-white);box-shadow:var(--tessell-shadow-md);height:100%;overflow-x:hidden;overflow-y:auto;transition:width var(--tessell-transition-slow),transform var(--tessell-transition-slow);width:280px}.sidebar.collapsed{width:64px}.sidebar-nav{display:flex;flex-direction:column;gap:4px;padding:var(--tessell-space-md) 0}.sidebar-link{align-items:center;border-left:3px solid #0000;color:var(--tessell-gray-700);display:flex;gap:var(--tessell-space-sm);padding:12px 20px;text-decoration:none;transition:all var(--tessell-transition-normal);white-space:nowrap}.sidebar-link:hover{background:var(--tessell-gray-50);border-left-color:var(--tessell-accent)}.sidebar-link.active{background:var(--tessell-info-light);border-left-color:var(--tessell-primary);color:var(--tessell-primary);font-weight:600}.sidebar-icon{stroke-width:2;flex-shrink:0;height:20px;width:20px}.sidebar-text{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar.collapsed .sidebar-text{opacity:0;width:0}.sidebar.collapsed .sidebar-link{justify-content:center;padding:12px 22px}.sidebar-menu-group{display:flex;flex-direction:column}.sidebar-chevron{stroke-width:2;flex-shrink:0;height:16px;margin-left:auto;transition:transform var(--tessell-transition-normal);width:16px}.sidebar-chevron.expanded{transform:rotate(180deg)}.sidebar.collapsed .sidebar-chevron{display:none}.sidebar-submenu{background:#f9f9f9;display:flex;flex-direction:column}.sidebar-sublink{align-items:center;border-left:3px solid #0000;color:var(--tessell-gray-500);display:flex;font-size:.9rem;padding:10px 20px 10px 52px;text-decoration:none;transition:all var(--tessell-transition-normal)}.sidebar-sublink:hover{background:var(--tessell-gray-50);border-left-color:var(--tessell-accent);color:var(--tessell-primary)}.sidebar-sublink.active{background:var(--tessell-info-light);border-left-color:var(--tessell-primary);color:var(--tessell-primary);font-weight:600}.sidebar.collapsed .sidebar-submenu{display:none}.sidebar-nested-menu,.sidebar-nested-submenu{display:flex;flex-direction:column}.sidebar-nested-submenu{background:#f3f3f3}.sidebar-nested-sublink{align-items:center;border-left:3px solid #0000;color:var(--tessell-gray-500);display:flex;font-size:.85rem;padding:8px 20px 8px 68px;text-decoration:none;transition:all var(--tessell-transition-normal)}.sidebar-nested-sublink:hover{background:var(--tessell-gray-50);border-left-color:var(--tessell-accent);color:var(--tessell-primary)}.sidebar-nested-sublink.active{background:var(--tessell-info-light);border-left-color:var(--tessell-primary);color:var(--tessell-primary);font-weight:600}.sidebar-menu-divider{color:var(--tessell-gray-400);font-size:.75rem;font-weight:600;letter-spacing:.5px;margin-top:8px;padding:12px 20px 6px 48px;text-transform:uppercase}.sidebar.collapsed .sidebar-nested-submenu{display:none}.main-content{background:var(--tessell-bg-light);flex:1 1;height:100%;overflow-y:auto;padding:var(--tessell-space-xl) var(--tessell-space-lg)}@media (max-width:768px){.header-content{padding:0}.logo{font-size:18px}.nav,.user-name{display:none}.user-role{font-size:11px;padding:3px 6px}.notification-dropdown{right:-20px;width:320px}.sidebar{bottom:0;left:0;position:fixed;top:64px;transform:translateX(0);width:280px;z-index:50}.sidebar.collapsed{transform:translateX(-100%);width:280px}.main-content{margin-left:0!important;padding:var(--tessell-space-lg) var(--tessell-space-md)}}@media (max-width:480px){.header{padding:0 var(--tessell-space-md)}.header-content{height:56px}.header-left{gap:12px}.logo{font-size:16px}.sidebar-toggle{padding:6px}.sidebar-toggle svg{height:20px;width:20px}.user-avatar{height:32px;width:32px}.user-role{font-size:10px;padding:2px 6px}.notification-dropdown{right:-16px;width:calc(100vw - 32px)}.notification-item{padding:12px 16px}.sidebar{top:56px}.sidebar,.sidebar.collapsed{width:260px}.main-content{padding:var(--tessell-space-md) 12px}.sidebar-link{padding:10px var(--tessell-space-md)}.sidebar-sublink{font-size:.85rem;padding:8px var(--tessell-space-md) 8px 44px}}@media (max-width:360px){.header{padding:0 12px}.header-content{height:52px}.logo{font-size:15px}.header-right{gap:var(--tessell-space-sm)}.user-avatar{border-width:1px;height:28px;width:28px}.sidebar,.sidebar.collapsed{width:220px}.main-content{padding:12px var(--tessell-space-sm)}}.btn{align-items:center;border:none;border-radius:var(--tessell-radius-md);cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:var(--tessell-space-sm);padding:10px 20px;transition:all var(--tessell-transition-normal)}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-primary{background:var(--tessell-primary);color:var(--tessell-white)}.btn-primary:hover:not(:disabled){background:var(--tessell-primary-dark);box-shadow:var(--tessell-shadow-md);transform:translateY(-1px)}.btn-secondary{background-color:var(--tessell-gray-100);color:var(--tessell-gray-700)}.btn-secondary:hover:not(:disabled){background-color:var(--tessell-gray-200)}.btn-success{background-color:var(--tessell-success);color:var(--tessell-white)}.btn-success:hover:not(:disabled){background-color:#229037;box-shadow:var(--tessell-shadow-md);transform:translateY(-1px)}.btn-danger{background-color:var(--tessell-error);color:var(--tessell-white)}.btn-danger:hover:not(:disabled){background-color:#c82333;box-shadow:var(--tessell-shadow-md);transform:translateY(-1px)}.form-group{margin-bottom:20px}.form-label{color:var(--tessell-gray-700);display:block;font-weight:500;margin-bottom:var(--tessell-space-sm)}.form-input{border:1px solid var(--tessell-gray-200);border-radius:var(--tessell-radius-sm);font-size:14px;padding:10px 12px;transition:all var(--tessell-transition-normal);width:100%}.form-input:focus{border-color:var(--tessell-accent);box-shadow:0 0 0 2px #4a90d91a}.form-textarea{border:1px solid var(--tessell-gray-200);border-radius:var(--tessell-radius-sm);font-size:14px;min-height:100px;padding:10px 12px;resize:vertical;transition:all var(--tessell-transition-normal);width:100%}.form-textarea:focus{border-color:var(--tessell-accent);box-shadow:0 0 0 2px #4a90d91a}.card{background:var(--tessell-bg-white);border-radius:var(--tessell-radius-lg);box-shadow:var(--tessell-shadow-md);padding:var(--tessell-space-lg)}.card-header{border-bottom:1px solid var(--tessell-gray-200);margin-bottom:20px;padding-bottom:var(--tessell-space-md)}.card-title{color:var(--tessell-gray-800);font-size:20px;font-weight:600}.table{border-collapse:collapse;width:100%}.table td,.table th{border-bottom:1px solid var(--tessell-gray-200);padding:12px;text-align:left}.table th{color:var(--tessell-gray-500);font-weight:600}.table th,.table tr:hover{background-color:var(--tessell-gray-50)}.badge{border-radius:var(--tessell-radius-xl);display:inline-block;font-size:12px;font-weight:500;padding:4px 12px}.badge-success{background-color:var(--tessell-success-light);color:#2e7d32}.badge-warning{background-color:var(--tessell-warning-light);color:#e65100}.badge-error{background-color:var(--tessell-error-light);color:#c62828}.badge-info{background-color:var(--tessell-info-light);color:#1565c0}.badge-default{background-color:var(--tessell-gray-100);color:var(--tessell-gray-500)}.text-center{text-align:center}.text-right{text-align:right}.mt-1{margin-top:var(--tessell-space-sm)}.mt-2{margin-top:var(--tessell-space-md)}.mt-3{margin-top:var(--tessell-space-lg)}.mt-4{margin-top:var(--tessell-space-xl)}.mb-1{margin-bottom:var(--tessell-space-sm)}.mb-2{margin-bottom:var(--tessell-space-md)}.mb-3{margin-bottom:var(--tessell-space-lg)}.mb-4{margin-bottom:var(--tessell-space-xl)}.flex{display:flex}.flex-between{justify-content:space-between}.flex-between,.flex-center{align-items:center;display:flex}.flex-center{justify-content:center}.gap-1{gap:var(--tessell-space-sm)}.gap-2{gap:var(--tessell-space-md)}.gap-3{gap:var(--tessell-space-lg)}
/*# sourceMappingURL=main.ee5bc73e.css.map*/