.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary-color) 0%,var(--accent-color) 100%);padding:var(--space-base)}.login-card{width:100%;max-width:420px;padding:2.5rem}.login-logo{width:80px;height:80px;margin-bottom:var(--space-base)}.login-error{background-color:#fee;border:1px solid #fcc;color:#c33;padding:.875rem;border-radius:var(--radius-base)}.login-footer{border-top:1px solid var(--border-light)}@media (max-width: 480px){.login-card{padding:2rem 1.5rem}.login-logo{width:60px;height:60px}}.user-list{display:flex;flex-direction:column}.user-list-loading{padding:.75rem;text-align:center;color:var(--text-secondary);font-size:.875rem}.user-list-item{display:flex;align-items:center;gap:.75rem;padding:.625rem .75rem;cursor:pointer;transition:background-color .2s ease;border-radius:6px;margin:.125rem .25rem}.user-list-item:hover{background-color:var(--bg-secondary)}.user-list-item.selected{background-color:#0099cc1a}.user-list-name{font-size:.875rem;color:var(--text-primary);font-weight:500}.story-points-badge{display:inline-flex;align-items:center;gap:.25rem;border-radius:12px;font-weight:600;cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none;flex-shrink:0;white-space:nowrap}.story-points-badge.story-points-small{padding:.125rem .5rem;font-size:.7rem}.story-points-badge.story-points-medium{padding:.25rem .625rem;font-size:.75rem}.story-points-badge.story-points-large{padding:.375rem .75rem;font-size:.875rem}.story-points-badge.has-value{background-color:var(--accent-color);color:#fff}.story-points-badge.has-value:hover{background-color:var(--primary-color);transform:translateY(-1px);box-shadow:0 2px 8px #0099cc4d}.story-points-badge.empty{background-color:var(--bg-secondary);color:var(--text-tertiary);border:1px dashed var(--border-medium)}.story-points-badge.empty:hover{border-color:var(--accent-color);border-style:solid;color:var(--accent-color);background-color:#0099cc0d}.story-points-input{border-radius:8px;border:2px solid var(--accent-color);background-color:#fff;text-align:center;font-weight:600;color:var(--text-primary);outline:none;box-shadow:0 2px 8px #09c3;transition:all .2s ease}.story-points-input.story-points-small{padding:.125rem .5rem;font-size:.7rem;width:50px}.story-points-input.story-points-medium{padding:.25rem .625rem;font-size:.75rem;width:60px}.story-points-input.story-points-large{padding:.375rem .75rem;font-size:.875rem;width:70px}.story-points-input:focus{border-color:var(--primary-color);box-shadow:0 4px 12px #0099cc4d}.story-points-input::placeholder{color:var(--text-tertiary);font-weight:400}.toast{position:fixed;top:2rem;right:2rem;z-index:9999;min-width:300px;max-width:500px;animation:slideInRight .3s ease-out;border-radius:var(--radius-base);box-shadow:var(--shadow-xl)}.toast-error{background-color:var(--color-error);color:var(--text-inverse)}.toast-success{background-color:var(--color-success);color:var(--text-inverse)}.toast-info{background-color:var(--color-info);color:var(--text-inverse)}.toast-warning{background-color:var(--color-warning);color:var(--text-inverse)}.toast-close{background:transparent;border:none;color:var(--text-inverse);font-size:1.5rem;cursor:pointer;padding:0;width:24px;height:24px;border-radius:var(--radius-sm);transition:var(--transition-base);flex-shrink:0}.toast-close:hover{background-color:#fff3}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@media (max-width: 640px){.toast{left:var(--space-base);right:var(--space-base);min-width:auto}}.column-manager-modal{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);width:90%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.modal-close-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:.25rem;border-radius:var(--radius-base);transition:var(--transition-base);display:flex;align-items:center;justify-content:center}.modal-close-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.column-manager-body{flex:1;overflow-y:auto;padding:1.5rem}.manager-description{color:var(--text-secondary);font-size:var(--font-sm);margin-bottom:1.5rem;padding:1rem;background:var(--bg-secondary);border-radius:var(--radius-base);border-left:3px solid var(--primary-color)}.column-item{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-base);transition:var(--transition-base)}.column-item:hover{border-color:var(--border-medium);box-shadow:var(--shadow-sm)}.column-drag-handle{cursor:grab;color:var(--text-tertiary);display:flex;align-items:center;padding:.25rem;border-radius:var(--radius-base);transition:var(--transition-base)}.column-drag-handle:hover{color:var(--text-secondary);background:var(--bg-tertiary)}.column-drag-handle:active{cursor:grabbing}.column-color-preview{width:40px;height:40px;border-radius:var(--radius-base);border:2px solid var(--border-light);flex-shrink:0}.column-title{font-weight:var(--font-weight-medium);color:var(--text-primary);font-size:var(--font-base)}.column-id{font-size:var(--font-sm);color:var(--text-tertiary);font-family:Courier New,monospace}.btn-icon{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:.5rem;border-radius:var(--radius-base);transition:var(--transition-base);display:flex;align-items:center;justify-content:center}.btn-icon:hover{background:var(--bg-tertiary);color:var(--text-primary)}.btn-icon.btn-danger:hover{background:var(--color-error);color:#fff}.btn-add-column{width:100%;padding:1rem;border:2px dashed var(--border-medium);background:none;border-radius:var(--radius-base);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;color:var(--text-secondary);font-weight:var(--font-weight-medium);transition:var(--transition-base)}.btn-add-column:hover{border-color:var(--primary-color);color:var(--primary-color);background:var(--bg-secondary)}.column-form{display:flex;flex-direction:column;gap:1rem;padding:1rem;background:#fff;border:1px solid var(--border-medium);border-radius:var(--radius-base)}.color-picker{display:flex;align-items:center;gap:1rem}.color-picker input[type=color]{width:60px;height:40px;border:1px solid var(--border-medium);border-radius:var(--radius-base);cursor:pointer;background:none}.color-picker input[type=color]::-webkit-color-swatch-wrapper{padding:0;border-radius:var(--radius-base)}.color-picker input[type=color]::-webkit-color-swatch{border:none;border-radius:calc(var(--radius-base) - 2px)}.color-value{font-family:Courier New,monospace;color:var(--text-secondary);font-size:var(--font-sm)}.form-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:.5rem}@media (max-width: 640px){.column-manager-modal{width:95%;max-height:90vh}.column-item{flex-wrap:wrap}.column-actions{width:100%;justify-content:flex-end}}.tiptap-editor{border:1px solid var(--border-color);border-radius:var(--radius-base);background-color:#fff;overflow:hidden;transition:border-color .2s ease}.tiptap-editor:focus-within{border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-color-rgb, 106, 117, 249),.1)}.tiptap-editor.read-only{border:none;background-color:transparent}.editor-menubar{background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);flex-wrap:wrap}.editor-menu-btn{display:flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:.25rem .5rem;border:none;background-color:transparent;color:var(--text-secondary);font-size:.875rem;font-weight:600;border-radius:var(--radius-sm);cursor:pointer;transition:all .15s ease}.editor-menu-btn:hover{background-color:var(--bg-primary);color:var(--text-primary)}.editor-menu-btn.is-active{background-color:var(--primary-color);color:#fff}.editor-menu-btn:active{transform:scale(.95)}.editor-menu-btn:disabled{opacity:.5;cursor:not-allowed}.tiptap-editor .ProseMirror{padding:1rem;min-height:150px;max-height:400px;overflow-y:auto;outline:none;font-size:.9375rem;line-height:1.6;color:var(--text-primary)}.tiptap-editor.read-only .ProseMirror{padding:0;min-height:auto;max-height:none}.tiptap-editor .ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:var(--text-light);pointer-events:none;height:0}.tiptap-editor .ProseMirror h1{font-size:1.875rem;font-weight:700;margin-top:1.5rem;margin-bottom:.75rem;line-height:1.2;color:var(--text-primary)}.tiptap-editor .ProseMirror h1:first-child{margin-top:0}.tiptap-editor .ProseMirror h2{font-size:1.5rem;font-weight:700;margin-top:1.25rem;margin-bottom:.625rem;line-height:1.3;color:var(--text-primary)}.tiptap-editor .ProseMirror h2:first-child{margin-top:0}.tiptap-editor .ProseMirror h3{font-size:1.25rem;font-weight:600;margin-top:1rem;margin-bottom:.5rem;line-height:1.4;color:var(--text-primary)}.tiptap-editor .ProseMirror h3:first-child{margin-top:0}.tiptap-editor .ProseMirror p{margin:.5rem 0}.tiptap-editor .ProseMirror p:first-child{margin-top:0}.tiptap-editor .ProseMirror p:last-child{margin-bottom:0}.tiptap-editor .ProseMirror strong{font-weight:700}.tiptap-editor .ProseMirror em{font-style:italic}.tiptap-editor .ProseMirror s{text-decoration:line-through}.tiptap-editor .ProseMirror code{background-color:var(--bg-secondary);color:var(--accent-color);padding:.125rem .375rem;border-radius:var(--radius-sm);font-family:Courier New,monospace;font-size:.875em}.tiptap-editor .ProseMirror pre{background-color:#1e1e1e;color:#d4d4d4;padding:1rem;border-radius:var(--radius-base);overflow-x:auto;margin:1rem 0;font-family:Courier New,monospace;font-size:.875rem;line-height:1.5}.tiptap-editor .ProseMirror pre code{background:none;color:inherit;padding:0;font-size:inherit}.tiptap-editor .ProseMirror blockquote{border-left:4px solid var(--primary-color);padding-left:1rem;margin:1rem 0;color:var(--text-secondary);font-style:italic}.tiptap-editor .ProseMirror ul,.tiptap-editor .ProseMirror ol{padding-left:1.5rem;margin:.75rem 0}.tiptap-editor .ProseMirror ul{list-style-type:disc}.tiptap-editor .ProseMirror ol{list-style-type:decimal}.tiptap-editor .ProseMirror li{margin:.25rem 0}.tiptap-editor .ProseMirror li p{margin:0}.tiptap-editor .ProseMirror ul[data-type=taskList]{list-style:none;padding-left:0}.tiptap-editor .ProseMirror ul[data-type=taskList] li{display:flex;align-items:flex-start;gap:.5rem}.tiptap-editor .ProseMirror ul[data-type=taskList] li label{flex-shrink:0;margin-top:.125rem}.tiptap-editor .ProseMirror ul[data-type=taskList] li input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--accent-color)}.tiptap-editor .ProseMirror ul[data-type=taskList] li div{flex:1}.tiptap-editor .ProseMirror ul[data-type=taskList] li[data-checked=true]>div{text-decoration:line-through;color:var(--text-secondary)}.tiptap-editor .ProseMirror a{color:var(--primary-color);text-decoration:underline;cursor:pointer;transition:color .2s ease}.tiptap-editor .ProseMirror a:hover{color:var(--accent-color)}.tiptap-editor .ProseMirror hr{border:none;border-top:2px solid var(--border-color);margin:2rem 0}.tiptap-editor .ProseMirror ::selection{background-color:rgba(var(--primary-color-rgb, 106, 117, 249),.2)}.tiptap-editor .ProseMirror::-webkit-scrollbar{width:8px}.tiptap-editor .ProseMirror::-webkit-scrollbar-track{background:var(--bg-secondary)}.tiptap-editor .ProseMirror::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.tiptap-editor .ProseMirror::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.tiptap-editor .ProseMirror:focus{outline:none}.tiptap-editor .ProseMirror:empty:before{content:attr(data-placeholder);color:var(--text-light);pointer-events:none;position:absolute}.tiptap-editor.read-only .ProseMirror{cursor:default}.tiptap-editor.read-only .ProseMirror ul[data-type=taskList] li input[type=checkbox]{pointer-events:none}.tiptap-editor .ProseMirror img.editor-image{max-width:100%;height:auto;border-radius:var(--radius-base);margin:.75rem 0;display:block;box-shadow:0 2px 8px #0000001a;cursor:pointer;transition:box-shadow .2s ease}.tiptap-editor .ProseMirror img.editor-image:hover{box-shadow:0 4px 12px #00000026}.editor-upload-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background-color:#ffffffe6;display:flex;align-items:center;justify-content:center;font-weight:600;color:var(--primary-color);z-index:10}:root{--react-pdf-annotation-layer: 1;--annotation-unfocused-field-background: url("data:image/svg+xml;charset=UTF-8,<svg width='1px' height='1px' xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' style='fill:rgba(0, 54, 255, 0.13);'/></svg>");--input-focus-border-color: Highlight;--input-focus-outline: 1px solid Canvas;--input-unfocused-border-color: transparent;--input-disabled-border-color: transparent;--input-hover-border-color: black;--link-outline: none}@media screen and (forced-colors: active){:root{--input-focus-border-color: CanvasText;--input-unfocused-border-color: ActiveText;--input-disabled-border-color: GrayText;--input-hover-border-color: Highlight;--link-outline: 1.5px solid LinkText}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid selectedItem}.annotationLayer .linkAnnotation:hover{-webkit-backdrop-filter:invert(100%);backdrop-filter:invert(100%)}}.annotationLayer{position:absolute;top:0;left:0;pointer-events:none;transform-origin:0 0;z-index:3}.annotationLayer[data-main-rotation="90"] .norotate{transform:rotate(270deg) translate(-100%)}.annotationLayer[data-main-rotation="180"] .norotate{transform:rotate(180deg) translate(-100%,-100%)}.annotationLayer[data-main-rotation="270"] .norotate{transform:rotate(90deg) translateY(-100%)}.annotationLayer canvas{position:absolute;width:100%;height:100%}.annotationLayer section{position:absolute;text-align:initial;pointer-events:auto;box-sizing:border-box;margin:0;transform-origin:0 0}.annotationLayer .linkAnnotation{outline:var(--link-outline)}.textLayer.selecting~.annotationLayer section{pointer-events:none}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a{position:absolute;font-size:1em;top:0;left:0;width:100%;height:100%}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a:hover{opacity:.2;background:#ff0;box-shadow:0 2px 10px #ff0}.annotationLayer .textAnnotation img{position:absolute;cursor:pointer;width:100%;height:100%;top:0;left:0}.annotationLayer .textWidgetAnnotation :is(input,textarea),.annotationLayer .choiceWidgetAnnotation select,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{background-image:var(--annotation-unfocused-field-background);border:2px solid var(--input-unfocused-border-color);box-sizing:border-box;font:calc(9px * var(--total-scale-factor)) sans-serif;height:100%;margin:0;vertical-align:top;width:100%}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid red}.annotationLayer .choiceWidgetAnnotation select option{padding:0}.annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}.annotationLayer .textWidgetAnnotation textarea{resize:none}.annotationLayer .textWidgetAnnotation :is(input,textarea)[disabled],.annotationLayer .choiceWidgetAnnotation select[disabled],.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input[disabled]{background:none;border:2px solid var(--input-disabled-border-color);cursor:not-allowed}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:hover{border:2px solid var(--input-hover-border-color)}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation.checkBox input:hover{border-radius:2px}.annotationLayer .textWidgetAnnotation :is(input,textarea):focus,.annotationLayer .choiceWidgetAnnotation select:focus{background:none;border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) :focus{background-image:none;background-color:transparent}.annotationLayer .buttonWidgetAnnotation.checkBox :focus{border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.radioButton :focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{background-color:CanvasText;content:"";display:block;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{height:80%;left:45%;width:1px}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;height:50%;left:30%;top:20%;width:50%}.annotationLayer .textWidgetAnnotation input.comb{font-family:monospace;padding-left:2px;padding-right:0}.annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{-webkit-appearance:none;-moz-appearance:none;appearance:none}.annotationLayer .popupTriggerArea{height:100%;width:100%}.annotationLayer .fileAttachmentAnnotation .popupTriggerArea{position:absolute}.annotationLayer .popupWrapper{position:absolute;font-size:calc(9px * var(--total-scale-factor));width:100%;min-width:calc(180px * var(--total-scale-factor));pointer-events:none}.annotationLayer .popup{position:absolute;max-width:calc(180px * var(--total-scale-factor));background-color:#ff9;box-shadow:0 calc(2px * var(--total-scale-factor)) calc(5px * var(--total-scale-factor)) #888;border-radius:calc(2px * var(--total-scale-factor));padding:calc(6px * var(--total-scale-factor));margin-left:calc(5px * var(--total-scale-factor));cursor:pointer;font:message-box;white-space:normal;word-wrap:break-word;pointer-events:auto}.annotationLayer .popup>*{font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .popup h1{display:inline-block}.annotationLayer .popupDate{display:inline-block;margin-left:calc(5px * var(--total-scale-factor))}.annotationLayer .popupContent{border-top:1px solid rgba(51,51,51,1);margin-top:calc(2px * var(--total-scale-factor));padding-top:calc(2px * var(--total-scale-factor))}.annotationLayer .richText>*{white-space:pre-wrap;font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .highlightAnnotation,.annotationLayer .underlineAnnotation,.annotationLayer .squigglyAnnotation,.annotationLayer .strikeoutAnnotation,.annotationLayer .freeTextAnnotation,.annotationLayer .lineAnnotation svg line,.annotationLayer .squareAnnotation svg rect,.annotationLayer .circleAnnotation svg ellipse,.annotationLayer .polylineAnnotation svg polyline,.annotationLayer .polygonAnnotation svg polygon,.annotationLayer .caretAnnotation,.annotationLayer .inkAnnotation svg polyline,.annotationLayer .stampAnnotation,.annotationLayer .fileAttachmentAnnotation{cursor:pointer}.annotationLayer section svg{position:absolute;width:100%;height:100%;top:0;left:0}.annotationLayer .annotationTextContent{position:absolute;width:100%;height:100%;opacity:0;color:transparent;-webkit-user-select:none;user-select:none;pointer-events:none}.annotationLayer .annotationTextContent span{width:100%;display:inline-block}:root{--react-pdf-text-layer: 1;--highlight-bg-color: rgba(180, 0, 170, 1);--highlight-selected-bg-color: rgba(0, 100, 0, 1)}@media screen and (forced-colors: active){:root{--highlight-bg-color: Highlight;--highlight-selected-bg-color: ButtonText}}[data-main-rotation="90"]{transform:rotate(90deg) translateY(-100%)}[data-main-rotation="180"]{transform:rotate(180deg) translate(-100%,-100%)}[data-main-rotation="270"]{transform:rotate(270deg) translate(-100%)}.textLayer{position:absolute;text-align:initial;top:0;right:0;bottom:0;left:0;overflow:hidden;line-height:1;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;z-index:2}.textLayer :is(span,br){color:transparent;position:absolute;white-space:pre;cursor:text;margin:0;transform-origin:0 0}.textLayer span.markedContent{top:0;height:0}.textLayer .highlight{margin:-1px;padding:1px;background-color:var(--highlight-bg-color);border-radius:4px}.textLayer .highlight.appended{position:initial}.textLayer .highlight.begin{border-radius:4px 0 0 4px}.textLayer .highlight.end{border-radius:0 4px 4px 0}.textLayer .highlight.middle{border-radius:0}.textLayer .highlight.selected{background-color:var(--highlight-selected-bg-color)}.textLayer br::selection{background:transparent}.textLayer .endOfContent{display:block;position:absolute;top:100%;right:0;bottom:0;left:0;z-index:-1;cursor:default;-webkit-user-select:none;user-select:none}.textLayer.selecting .endOfContent{top:0}.hiddenCanvasElement{position:absolute;top:0;left:0;width:0;height:0;display:none}.pdf-viewer-container{background-color:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;max-width:90vw;max-height:90vh;width:1000px;overflow:hidden}.pdf-viewer-header{border-bottom:1px solid var(--border-light);background-color:var(--bg-primary)}.pdf-viewer-zoom{min-width:50px;text-align:center}.pdf-viewer-content{flex:1;overflow:auto;padding:var(--space-lg);display:flex;align-items:center;justify-content:center;background-color:var(--bg-tertiary);position:relative}.pdf-viewer-content .react-pdf__Document{display:flex;justify-content:center}.pdf-viewer-content .react-pdf__Page{max-width:100%;box-shadow:var(--shadow-base)}.pdf-viewer-content .react-pdf__Page__canvas{max-width:100%;height:auto!important}.pdf-viewer-footer{border-top:1px solid var(--border-light);background-color:var(--bg-primary)}@media (max-width: 768px){.pdf-viewer-container{max-width:95vw;max-height:95vh}.pdf-viewer-content{padding:var(--space-sm)}}.attachments-list{width:100%}.attachment-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-base);transition:all .2s ease}.attachment-item:hover{background-color:var(--bg-primary);border-color:var(--primary-color)}.attachment-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:40px;height:40px;background-color:#fff;border-radius:var(--radius-sm);color:var(--accent-color)}.attachment-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.125rem}.attachment-name{font-size:.875rem;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attachment-action-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background-color:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all .15s ease;position:relative;z-index:1}.attachment-action-btn:hover{background-color:#ffffffe6;border-color:var(--border-color);color:var(--primary-color)}.attachment-delete-btn:hover{background-color:#ef4444!important;border-color:#dc2626!important;color:#fff!important}.empty-attachments{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2.5rem 1rem;text-align:center;background-color:#f9fafb;border-radius:8px;border:1.5px dashed #e5e7eb}.empty-attachments-icon{color:#d1d5db;margin-bottom:.75rem;opacity:.6}.project-list{display:flex;flex-direction:column}.project-list-loading{padding:.75rem;text-align:center;color:var(--text-secondary);font-size:.875rem}.project-list-item{display:flex;align-items:center;gap:.75rem;padding:.625rem .75rem;cursor:pointer;transition:background-color .2s ease;border-radius:6px;margin:.125rem .25rem}.project-list-item:hover{background-color:var(--bg-secondary)}.project-list-item.selected{background-color:#015e7c1a}.project-list-name{font-size:.875rem;color:var(--text-primary);font-weight:500}.task-comments{display:flex;flex-direction:column;gap:var(--space-base)}.comment-form{display:flex;flex-direction:column;gap:var(--space-sm)}.comment-input-wrapper{display:flex;gap:var(--space-sm);align-items:flex-start}.comment-textarea{flex:1;min-height:40px;max-height:200px;padding:var(--space-sm) var(--space-base);border:1px solid var(--border-medium);border-radius:var(--radius-base);font-family:inherit;font-size:var(--font-sm);color:var(--text-primary);resize:none;transition:all .2s ease;overflow-y:auto}.comment-textarea:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px #0099cc1a}.comment-textarea::placeholder{color:var(--text-tertiary)}.comment-textarea:disabled{opacity:.6;cursor:not-allowed;background-color:var(--bg-secondary)}.comment-actions{padding-left:40px}.comments-list{display:flex;flex-direction:column;gap:var(--space-base);margin-top:var(--space-base)}.comment-item{display:flex;flex-direction:column;gap:var(--space-xs);padding:var(--space-base);background-color:var(--bg-secondary);border-radius:var(--radius-base);transition:background-color .2s ease}.comment-item:hover{background-color:var(--bg-tertiary)}.comment-header{display:flex;align-items:center;gap:var(--space-sm)}.comment-meta{display:flex;align-items:center;flex:1}.comment-date{font-size:var(--font-xs);white-space:nowrap}.comment-delete-btn{opacity:0;transition:opacity .2s ease}.comment-item:hover .comment-delete-btn{opacity:1}.comment-delete-btn:hover{color:var(--error-color)}.comment-body{padding-left:40px}.comment-text{margin:0;font-size:var(--font-sm);color:var(--text-primary);line-height:1.5;white-space:pre-wrap;word-wrap:break-word}.sidebar-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0006;z-index:1000;display:flex;justify-content:flex-end;animation:fadeIn .2s ease}.task-sidebar{width:100%;max-width:650px;height:100vh;background-color:#fafafa;box-shadow:-4px 0 20px #0000001a;display:flex;flex-direction:column;animation:slideIn .25s cubic-bezier(.4,0,.2,1);overflow:hidden}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.sidebar-header{background-color:#fff;border-bottom:1px solid #e5e7eb}.task-id-badge{font-size:.875rem;font-weight:600;color:var(--text-secondary);background-color:var(--bg-primary);padding:.25rem .75rem;border-radius:var(--radius-base);font-family:monospace}.sidebar-content{flex:1;overflow-y:auto;padding:0}.sidebar-section{margin-bottom:0;padding:2rem;background-color:#fff;border-bottom:1px solid #e5e7eb}.sidebar-section:last-child{border-bottom:none}.sidebar-section h4{margin-bottom:1.5rem;font-size:.6875rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:1px}.sidebar-section .flex.items-center.justify-between.mb-base{align-items:center}.sidebar-section .flex.items-center.justify-between.mb-base h4{margin:0;line-height:1}.section-header-integrated{background:#fff;border-bottom:1px solid #e5e7eb}.task-header-row{display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem;margin-bottom:1.5rem}.task-title-integrated{font-size:1.75rem;font-weight:700;color:#111827;margin:0;line-height:1.3;letter-spacing:-.02em;flex:1}.task-title-integrated.editable-title{cursor:pointer;padding:.25rem .5rem;margin-left:-.5rem;border-radius:var(--radius-base);transition:background-color .2s ease}.task-title-integrated.editable-title:hover{background-color:#f3f4f6}.task-title-input{font-size:1.75rem;font-weight:700;color:#111827;line-height:1.3;letter-spacing:-.02em;flex:1;padding:.25rem .5rem;border:2px solid var(--color-primary);border-radius:var(--radius-base);background-color:#fff;outline:none;font-family:inherit;width:100%}.task-meta-badges{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.status-badge-integrated{display:inline-flex;align-items:center;padding:.5rem .875rem;background-color:#3b82f6;border-radius:12px;font-size:.75rem;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.5px;line-height:1;cursor:help}.task-assignee-row{position:relative;display:flex;align-items:center;gap:.5rem}.assignee-chip-integrated{display:inline-flex;align-items:center;gap:.625rem;cursor:pointer;transition:opacity .2s ease}.assignee-chip-integrated:hover{opacity:.8}.btn-assign-integrated{display:inline-flex;align-items:center;padding:0;background:none;border:none;color:#9ca3af;font-size:.875rem;font-weight:500;cursor:pointer;transition:color .2s ease}.btn-assign-integrated:hover{color:#6b7280}.description-section{margin-top:2rem}.description-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.description-section h4{margin:0}.btn-edit-description{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background-color:#015e7c;border:none;border-radius:50%;color:#fff;cursor:pointer;transition:all .2s ease;flex-shrink:0}.btn-edit-description:hover{background-color:#014660;transform:scale(1.1)}.description-actions{display:flex;gap:.5rem}.btn-save-description,.btn-cancel-description{padding:.5rem 1rem;font-size:.875rem;font-weight:500;border-radius:8px;cursor:pointer;transition:all .2s ease;border:none}.btn-save-description{background-color:#015e7c;color:#fff}.btn-save-description:hover:not(:disabled){background-color:#014660}.btn-save-description:disabled{opacity:.5;cursor:not-allowed}.btn-cancel-description{background-color:#f3f4f6;color:#374151;border:1px solid #e5e7eb}.btn-cancel-description:hover:not(:disabled){background-color:#e5e7eb}.description-content{font-size:.9375rem;color:#374151;line-height:1.7}.no-description{font-size:.875rem;color:#9ca3af;font-style:italic;margin:0;padding:1.5rem;text-align:center;background-color:#f9fafb;border-radius:8px;border:1.5px dashed #e5e7eb}.date-item{display:flex;align-items:center;gap:.75rem;padding:.5rem 0}.date-item>.icon{color:#9ca3af;flex-shrink:0}.date-item>div{display:flex;flex-direction:column;gap:.25rem;flex:1}.date-label{font-size:.75rem;color:#6b7280;font-weight:500}.date-value{font-size:.875rem;color:#111827;font-weight:400}.movement-timeline{position:relative;padding-left:2rem}.timeline-entry{position:relative;padding-bottom:1.5rem}.timeline-entry:last-child{padding-bottom:0}.timeline-entry:before{content:"";position:absolute;left:-1.5rem;top:.75rem;bottom:-.75rem;width:2px;background-color:#e5e7eb}.timeline-entry:last-child:before{display:none}.timeline-marker{position:absolute;left:-1.75rem;top:.5rem;width:.5rem;height:.5rem;background-color:#015e7c;border:2px solid white;border-radius:50%;box-shadow:0 0 0 3px #e5e7eb;z-index:1}.timeline-content{background-color:#f9fafb;padding:1rem 1.25rem;border-radius:10px;border:1px solid #e5e7eb;transition:all .2s ease}.timeline-content:hover{border-color:#015e7c;background-color:#f3f4f6}.timeline-header{margin-bottom:.5rem}.timeline-movement{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#111827}.timeline-movement strong{color:#015e7c;font-weight:600}.timeline-movement .icon{color:#9ca3af;flex-shrink:0}.timeline-details{display:flex;align-items:center;gap:.75rem;font-size:.75rem;margin-top:.5rem}.timeline-date{color:#6b7280;font-weight:500}.timeline-duration{color:#015e7c;font-weight:600}.sidebar-content::-webkit-scrollbar{width:6px}.sidebar-content::-webkit-scrollbar-track{background:transparent}.sidebar-content::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.sidebar-content::-webkit-scrollbar-thumb:hover{background:#9ca3af}.history-count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 .5rem;background-color:#015e7c;color:#fff;font-size:.75rem;font-weight:600;border-radius:12px;margin-left:auto}.btn-show-more{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.875rem;margin-top:1.5rem;background-color:#fff;border:1.5px solid #e5e7eb;border-radius:8px;color:#6b7280;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-show-more:hover{background-color:#f9fafb;border-color:#015e7c;color:#015e7c}.task-project-row{position:relative}.user-select-dropdown-sidebar{position:absolute;top:100%;left:0;margin-top:.5rem;background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 12px #0000001a;z-index:10;min-width:200px;max-height:300px;overflow-y:auto}.task-sidebar .priority-badge{font-size:.75rem;font-weight:600;padding:.5rem .875rem;border-radius:12px;color:#fff;text-transform:uppercase;letter-spacing:.5px;width:fit-content;line-height:1;display:inline-flex;align-items:center}.task-sidebar .priority-low{background-color:#10b981}.task-sidebar .priority-medium{background-color:#f59e0b}.task-sidebar .priority-high{background-color:#ef4444}.task-sidebar .priority-critical{background-color:#dc2626}.btn-add-attachment{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background-color:#015e7c;border:none;border-radius:50%;color:#fff;cursor:pointer;transition:all .2s ease;flex-shrink:0}.btn-add-attachment:hover{background-color:#014660;transform:scale(1.1)}@media (max-width: 768px){.task-sidebar{max-width:100%}.sidebar-header{padding:1rem 1.5rem}.sidebar-header h2{font-size:1.25rem}.sidebar-content{padding:0}.sidebar-section{padding:1.5rem}.task-title-minimal{font-size:1.5rem}.meta-grid-minimal{grid-template-columns:1fr;gap:1.25rem}}.kanban-board{width:100%}.kanban-stats{align-items:center}.kanban-stats .stat{display:flex;align-items:center;gap:.375rem}.kanban-stats .stat strong{font-size:1.5rem;font-weight:700;line-height:1}.kanban-columns{display:flex;gap:1.5rem;align-items:start;overflow-x:auto;overflow-y:visible;padding-bottom:1rem}.kanban-header{margin:1rem 0;padding:0 .5rem}.kanban-columns::-webkit-scrollbar{height:8px}.kanban-columns::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:4px}.kanban-columns::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.kanban-columns::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.kanban-column{background-color:var(--bg-secondary);border-radius:12px;border:2px solid transparent;transition:all .2s ease;min-height:500px;display:flex;flex-direction:column;flex:0 0 320px;min-width:320px}.kanban-column.is-over{border-color:var(--accent-color);box-shadow:0 4px 12px #09c3}.column-header{padding:1.25rem;border-bottom:1px solid var(--border-color);border-top:4px solid var(--primary-color);border-radius:12px 12px 0 0;display:flex;justify-content:space-between;align-items:center}.column-title{display:flex;align-items:center;gap:.75rem}.column-title h3{font-size:1rem;font-weight:600;color:var(--text-primary)}.task-count{background-color:var(--bg-primary);color:var(--text-secondary);font-size:.75rem;font-weight:600;padding:.25rem .5rem;border-radius:12px;min-width:24px;text-align:center}.add-task-btn{width:32px;height:32px;border-radius:8px;border:1px solid var(--border-color);background-color:transparent;color:var(--accent-color);font-size:1.5rem;line-height:1;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.add-task-btn:hover{background-color:var(--accent-color);color:#fff;border-color:var(--accent-color)}.column-content{padding:1rem;flex:1;display:flex;flex-direction:column;gap:1rem;overflow-y:auto;max-height:calc(100vh - 300px)}.empty-column{text-align:center;padding:3rem 1rem;color:var(--text-secondary);font-size:.875rem;min-height:200px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;border:2px dashed var(--border-color);border-radius:8px;margin:.5rem;transition:all .2s ease}.empty-column:hover{border-color:var(--accent-color);background-color:#0099cc05}.empty-hint{font-size:.75rem;color:var(--text-light);font-style:italic;margin-top:.25rem}.kanban-card{background-color:#fff;border:1px solid var(--border-color);border-radius:10px;transition:all .2s ease;box-shadow:0 1px 3px #0000000d}.kanban-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.kanban-card.dragging{opacity:.5;box-shadow:0 8px 24px #0003}.card-drag-area{padding:.875rem;cursor:grab}.card-drag-area:active{cursor:grabbing}.drag-overlay .kanban-card{cursor:grabbing;box-shadow:0 8px 24px #0003;transform:rotate(3deg)}.priority-badge{font-size:.625rem;font-weight:var(--font-weight-semibold);padding:.25rem .625rem;border-radius:12px;color:#fff;text-transform:uppercase;letter-spacing:.5px}.priority-medium{background-color:var(--priority-medium)}.kanban-card .card-title{font-size:.875rem;font-weight:500;color:var(--text-primary);margin:0 0 1rem;line-height:1.5}.card-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.card-info{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.card-assignee{position:relative;display:flex;align-items:center}.btn-assign-user{width:28px;height:28px;border-radius:50%;border:2px dashed var(--border-color);background-color:transparent;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.btn-assign-user:hover{border-color:var(--primary-color);color:var(--primary-color);background-color:#015e7c0d}.user-select-dropdown{position:absolute;top:100%;left:0;margin-top:.5rem;background-color:#fff;border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px #0000001a;z-index:100;min-width:200px;max-height:300px;overflow-y:auto;pointer-events:auto}.card-time{font-size:.75rem;color:var(--text-secondary);display:flex;align-items:center;gap:.25rem;cursor:help;margin-left:auto}.card-time:hover{color:var(--text-primary)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background-color:#fff;border-radius:12px;padding:2rem;max-width:500px;width:100%;box-shadow:0 20px 60px #0000004d}.modal-content h3{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin-bottom:1.5rem}.modal-content .form-group{margin-bottom:1.25rem}.modal-content label{display:block;font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.modal-content input,.modal-content textarea,.modal-content select{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:8px;font-size:.95rem;transition:border-color .2s ease;font-family:inherit}.modal-content input:focus,.modal-content textarea:focus,.modal-content select:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px #0099cc1a}.modal-content textarea{resize:vertical;min-height:80px}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem}.btn-primary,.btn-secondary{padding:.75rem 1.5rem;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.btn-primary{background-color:var(--accent-color);color:#fff}.btn-primary:hover{background-color:var(--accent-dark);transform:translateY(-1px);box-shadow:0 4px 12px #0099cc4d}.btn-secondary{background-color:transparent;border:1px solid var(--border-color);color:var(--text-primary)}.btn-secondary:hover{background-color:var(--bg-primary)}.inline-create-card{background-color:#fff;border:2px solid var(--accent-color);border-radius:10px;padding:1rem;box-shadow:0 2px 8px #0099cc26;animation:slideInCard .2s ease}@keyframes slideInCard{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.inline-create-input-kanban{width:100%;border:none;outline:none;font-size:.875rem;font-weight:500;color:var(--text-primary);padding:.5rem 0;background-color:transparent;margin-bottom:.5rem}.inline-create-input-kanban::placeholder{color:var(--text-tertiary);font-weight:400}.inline-create-hint-kanban{font-size:.7rem;color:var(--text-tertiary);border-top:1px solid var(--border-color);padding-top:.5rem;text-align:center}@media (max-width: 768px){.kanban-columns{grid-template-columns:1fr}.column-content{max-height:400px}.kanban-header{flex-direction:column;align-items:flex-start}.modal-content{padding:1.5rem}}.dashboard-page{width:100%;max-width:100%;height:100%;padding:2rem;overflow-x:hidden;overflow-y:visible}.sprint-header{border-bottom:1px solid var(--border-color);padding:1.5rem 0}.complete-sprint-modal{max-width:600px}.sprint-summary{background-color:var(--bg-secondary);padding:1.25rem;border-radius:8px;margin-bottom:1.5rem}.summary-item{border-radius:6px}.summary-item-completed{background-color:#06d6a01a;color:#06d6a0}.summary-item-incomplete{background-color:#ef476f1a;color:#ef476f}.move-options{grid-template-columns:1fr 1fr}.move-option-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:1.5rem 1rem;background-color:var(--bg-secondary);border:2px solid var(--border-color);border-radius:12px;cursor:pointer;transition:all .2s ease}.move-option-card:hover:not(:disabled){border-color:var(--accent-color);background-color:#0099cc0d;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.move-option-card:disabled{opacity:.5;cursor:not-allowed}.move-option-card svg{color:var(--accent-color);margin-bottom:.75rem}.move-option-card h4,.move-option-card p{margin:0;line-height:1.5}.dashboard-empty-container{min-height:500px}.dashboard-empty-icon{color:var(--accent-color);opacity:.3;margin-bottom:1.5rem}.dashboard-form-row{grid-template-columns:1fr 1fr}@media (max-width: 768px){.dashboard-page{padding:1rem}.sprint-header{flex-direction:column;align-items:flex-start!important;gap:1rem;padding:1rem 0}.move-options,.dashboard-form-row{grid-template-columns:1fr}}.backlog-page{width:100%;max-width:1400px;margin:0 auto;padding:2rem}.backlog-header{padding-bottom:1rem}.task-count{font-size:.75rem;font-weight:600;color:var(--text-secondary);background-color:var(--bg-primary);padding:.25rem .5rem;border-radius:12px;min-width:24px;text-align:center}.sprint-section,.backlog-section{background-color:var(--bg-secondary);border-radius:12px;border:2px solid transparent;margin-bottom:1.5rem;overflow:visible;transition:all .2s ease}.sprint-section.active{border-color:var(--accent-color)}.expand-btn{background:none;border:none;cursor:pointer;padding:.25rem;color:var(--text-secondary);display:flex;align-items:center;transition:transform .2s ease}.expand-btn:hover{color:var(--text-primary)}.count-badge{font-size:.75rem;font-weight:600;color:var(--text-secondary);background-color:var(--bg-primary);padding:.25rem .5rem;border-radius:12px;min-width:24px;text-align:center}.status-badge{font-size:.7rem;font-weight:600;padding:.25rem .5rem;border-radius:6px;text-transform:uppercase;letter-spacing:.5px}.status-badge.planned{background-color:var(--status-in-progress-bg);color:var(--status-in-progress-text)}.status-badge.active{background-color:var(--status-completed-bg);color:var(--status-completed-text)}.status-badge.planning,.status-badge.pending{background-color:var(--status-pending-bg);color:var(--status-pending-text)}.status-badge.in-progress{background-color:var(--status-in-progress-bg);color:var(--status-in-progress-text)}.status-badge.qa{background-color:var(--status-qa-bg);color:var(--status-qa-text)}.status-badge.completed{background-color:var(--status-completed-bg);color:var(--status-completed-text)}.status-badge.on-hold{background-color:var(--color-error-light);color:var(--color-error-dark)}table{width:100%;border-collapse:collapse;background-color:#fff;border-radius:8px;overflow:visible}thead{background-color:var(--bg-secondary)}th{text-align:left;padding:.75rem 1rem;font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.task-row{border-bottom:1px solid var(--border-color);transition:background-color .2s ease;cursor:grab}.task-row:hover{background-color:#0099cc05}.task-row:active{cursor:grabbing}.task-row td{padding:1rem;vertical-align:middle;overflow:visible}.task-title{max-width:500px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-row td[style*="cursor: pointer"]:hover .task-title{color:var(--primary-color);text-decoration:underline}.priority-badge{display:inline-block;padding:.25rem .5rem;border-radius:6px;font-size:.7rem;font-weight:600;color:#fff;text-transform:capitalize}.priority-low{background-color:var(--priority-low)}.priority-medium{background-color:var(--priority-medium);color:var(--priority-medium-dark)}.priority-high{background-color:var(--priority-high)}.priority-critical{background-color:var(--priority-critical)}.form-row{grid-template-columns:1fr 1fr}@media (max-width: 768px){.backlog-page{padding:1rem}.form-row{grid-template-columns:1fr}table{font-size:.85rem}th,.task-row td{padding:.5rem}}.task-assignee,.task-project{position:relative;display:flex;align-items:center}.btn-assign-user-backlog{display:flex;align-items:center;gap:.5rem;padding:.375rem .75rem;background-color:transparent;border:1px dashed var(--border-color);border-radius:var(--radius-base);color:var(--text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-assign-user-backlog:hover{border-color:var(--primary-color);color:var(--primary-color);background-color:#015e7c0d}.user-select-dropdown-backlog{position:absolute;top:100%;left:0;margin-top:.5rem;background-color:#fff;border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px #0000001a;z-index:100;min-width:200px;max-height:300px;overflow-y:auto;pointer-events:auto}.inline-create-row{background-color:#0099cc08;border-bottom:1px solid var(--border-color);animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.inline-create-row td{padding:.75rem 1rem;vertical-align:middle}.inline-create-icon{color:var(--accent-color);opacity:.6}.inline-create-wrapper{display:flex;flex-direction:column;gap:.5rem}.inline-create-input{border:2px solid var(--accent-color);border-radius:6px;padding:.75rem;font-size:.95rem;font-weight:500;color:var(--text-primary);background-color:#fff;outline:none;transition:all .2s ease;box-shadow:0 2px 8px #0099cc1a}.inline-create-input:focus{border-color:var(--accent-color);box-shadow:0 4px 12px #09c3}.inline-create-input::placeholder{color:var(--text-tertiary);font-weight:400}.inline-create-hint{display:flex;gap:.5rem;align-items:center;font-size:.75rem;color:var(--text-tertiary);padding-left:.25rem}.hint-text{color:var(--text-tertiary)}._3_ygE{display:table;border-bottom:#e6e4e4 1px solid;border-top:#e6e4e4 1px solid;border-left:#e6e4e4 1px solid}._1nBOt{display:table-row;list-style:none}._2eZzQ{border-right:1px solid rgb(196,196,196);opacity:1;margin-left:-2px}._WuQ0f{display:table-cell;vertical-align:-webkit-baseline-middle;vertical-align:middle}._3ZbQT{display:table;border-bottom:#e6e4e4 1px solid;border-left:#e6e4e4 1px solid}._34SS0{display:table-row;text-overflow:ellipsis}._34SS0:nth-of-type(2n){background-color:#f5f5f5}._3lLk3{display:table-cell;vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._nI1Xw{display:flex}._2QjE6{color:#565656;font-size:.6rem;padding:.15rem .2rem 0rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}._2TfEi{font-size:.6rem;padding-left:1rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}._3T42e{background:#fff;padding:12px;box-shadow:0 3px 6px #00000029,0 3px 6px #0000003b}._29NTg{font-size:12px;margin-bottom:6px;color:#666}._25P-K{position:absolute;display:flex;flex-shrink:0;pointer-events:none;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}._3gVAq{visibility:hidden;position:absolute;display:flex;pointer-events:none}._1eT-t{overflow:hidden auto;width:1rem;flex-shrink:0;scrollbar-width:thin}._1eT-t::-webkit-scrollbar{width:1.1rem;height:1.1rem}._1eT-t::-webkit-scrollbar-corner{background:transparent}._1eT-t::-webkit-scrollbar-thumb{border:6px solid transparent;background:#0003;background:var(--palette-black-alpha-20, rgba(0, 0, 0, .2));border-radius:10px;background-clip:padding-box}._1eT-t::-webkit-scrollbar-thumb:hover{border:4px solid transparent;background:#0000004d;background:var(--palette-black-alpha-30, rgba(0, 0, 0, .3));background-clip:padding-box}._2dZTy{fill:#fff}._2dZTy:nth-child(2n){fill:#f5f5f5}._3rUKi{stroke:#ebeff2}._RuwuK{stroke:#e6e4e4}._9w8d5{text-anchor:middle;fill:#333;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}._1rLuZ{stroke:#e6e4e4}._2q1Kt{text-anchor:middle;fill:#555;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}._35nLX{fill:#fff;stroke:#e0e0e0;stroke-width:1.4}._KxSXS{cursor:pointer;outline:none}._KxSXS:hover ._3w_5u{visibility:visible;opacity:1}._3w_5u{fill:#ddd;cursor:ew-resize;opacity:0;visibility:hidden}._31ERP{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;stroke-width:0}._RRr13{cursor:pointer;outline:none}._2P2B1{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}._1KJ6x{cursor:pointer;outline:none}._2RbVy{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;opacity:.6}._2pZMF{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}._3zRJQ{fill:#fff;text-anchor:middle;font-weight:lighter;dominant-baseline:central;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}._3KcaM{fill:#555;text-anchor:start;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}._CZjuD{overflow:hidden;font-size:0;margin:0;padding:0}._2B2zv{margin:0;padding:0;overflow:hidden}._3eULf{display:flex;padding:0;margin:0;list-style:none;outline:none;position:relative}._2k9Ys{overflow:auto;max-width:100%;scrollbar-width:thin;height:1.2rem}._2k9Ys::-webkit-scrollbar{width:1.1rem;height:1.1rem}._2k9Ys::-webkit-scrollbar-corner{background:transparent}._2k9Ys::-webkit-scrollbar-thumb{border:6px solid transparent;background:#0003;background:var(--palette-black-alpha-20, rgba(0, 0, 0, .2));border-radius:10px;background-clip:padding-box}._2k9Ys::-webkit-scrollbar-thumb:hover{border:4px solid transparent;background:#0000004d;background:var(--palette-black-alpha-30, rgba(0, 0, 0, .3));background-clip:padding-box}._19jgW{height:1px}.user-multiselect-container{position:relative;display:inline-block}.user-multiselect-trigger{display:flex;align-items:center;gap:.5rem;cursor:pointer;background:transparent;border:none;padding:0}.user-multiselect-avatars{display:flex;align-items:center;flex:1}.user-multiselect-avatar{position:relative;border:2px solid white;border-radius:50%;box-shadow:0 1px 3px #0000001a}.user-multiselect-count{width:28px;height:28px;margin-left:-8px;border-radius:50%;background-color:var(--border-medium);display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:600;color:var(--text-secondary);border:2px solid white;box-shadow:0 1px 3px #0000001a}.user-multiselect-avatar-na{width:28px;height:28px;border-radius:50%;background-color:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:600;color:var(--text-tertiary);border:2px solid white;box-shadow:0 1px 3px #0000001a}.user-multiselect-chevron{color:var(--text-secondary);flex-shrink:0}.user-multiselect-dropdown{position:fixed;min-width:280px;background-color:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-base);box-shadow:var(--shadow-lg);z-index:9999;max-height:320px;overflow-y:auto;animation:dropdownSlideIn .15s ease}@keyframes dropdownSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.user-multiselect-loading,.user-multiselect-empty{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1.5rem;color:var(--text-secondary);font-size:var(--font-sm)}.user-multiselect-loading .spinner{border-color:var(--border-medium);border-top-color:var(--color-primary)}.user-multiselect-list{padding:.25rem}.user-multiselect-option{display:flex;align-items:center;gap:.75rem;padding:.625rem .75rem;cursor:pointer;border-radius:var(--radius-sm);transition:background-color .15s ease}.user-multiselect-option:hover{background-color:var(--bg-secondary)}.user-multiselect-option.selected,.user-multiselect-option.selected:hover{background-color:var(--bg-tertiary)}.user-multiselect-option-text{flex:1;display:flex;flex-direction:column;gap:.125rem;min-width:0}.user-multiselect-option-name{font-size:var(--font-sm);font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-multiselect-option-email{font-size:var(--font-xs);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-multiselect-option-checkbox{width:18px;height:18px;border:1.5px solid var(--border-medium);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s ease}.user-multiselect-option.selected .user-multiselect-option-checkbox{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.gantt-container{padding:0;max-width:100%}.gantt-container g[data-needs-config=true] rect{display:none!important}.gantt-container g[data-needs-config=true]{pointer-events:none}.gantt-wrapper{background-color:#fff;border-radius:0;overflow:hidden;box-shadow:none;max-width:100%;width:100%;display:flex;flex-direction:column}.gantt-toolbar{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);border-top:4px solid var(--primary-color);flex-shrink:0}.toolbar-left{display:flex;align-items:center;gap:1rem}.toolbar-title{font-size:1rem;font-weight:600;color:var(--text-primary);letter-spacing:0}.toolbar-count{font-size:.75rem;color:var(--text-secondary);background-color:var(--bg-primary);padding:.25rem .5rem;border-radius:12px;font-weight:600;min-width:24px;text-align:center}.legend-container{margin-left:1.5rem}.legend-color{width:12px;height:12px;border-radius:3px}.legend-color-id{background-color:#09c}.legend-color-functionality{background-color:#8b5cf6}.view-mode-select{padding:.5rem .75rem;border-radius:8px;border:1px solid var(--border-color);background-color:#fff;color:var(--text-primary);font-weight:500;cursor:pointer;font-size:.85rem}.toolbar-right{display:flex;gap:1rem}.gantt-tooltip{padding:12px;background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:200px}.tooltip-title{font-weight:700;font-size:1rem;margin-bottom:8px;color:var(--text-primary)}.tooltip-detail{font-size:.85rem;color:var(--text-secondary);margin-bottom:4px}.tooltip-detail:last-child{margin-bottom:0}.btn-danger-bg{background-color:#ef476f!important}.zoom-control{display:flex;align-items:center;gap:.75rem}.zoom-slider{width:150px;height:4px;background:#ffffff4d;border-radius:2px;outline:none;-webkit-appearance:none}.zoom-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;background:#fff;cursor:pointer;border-radius:50%;box-shadow:0 2px 4px #0003}.zoom-slider::-moz-range-thumb{width:16px;height:16px;background:#fff;cursor:pointer;border-radius:50%;border:none;box-shadow:0 2px 4px #0003}.zoom-label{font-size:.85rem;color:var(--text-secondary);font-weight:500;min-width:60px;text-align:right}.gantt-timeline{display:flex;max-height:600px;overflow:hidden;min-width:0;flex:1}.gantt-chart-wrapper-outer{height:450px;max-height:450px;overflow:scroll;background-color:#fafbfc;position:relative}.gantt-chart-container{background-color:#fafbfc;position:relative;display:inline-block;min-width:100%}.gantt-sidebar{width:280px;flex-shrink:0;border-right:2px solid var(--border-color);background:linear-gradient(to bottom,#f8f9fa,#fff);display:flex;flex-direction:column}.gantt-chart-wrapper{flex:1;overflow-x:auto;overflow-y:auto;background-color:#fafbfc;position:relative;min-width:0}.gantt-chart{position:relative;min-height:100%}.gantt-days-header{display:flex;position:sticky;top:0;z-index:20;background:linear-gradient(135deg,var(--primary-color),var(--accent-color));border-bottom:2px solid var(--primary-color);height:70px}.gantt-day-column{flex-shrink:0;border-right:1px solid rgba(255,255,255,.2);display:flex;align-items:flex-end;justify-content:center;padding-bottom:.5rem;position:relative}.gantt-day-column.weekend{background-color:#ffffff1a}.gantt-day-column.today{background-color:#ef476f33}.gantt-day-column.today .day-label{color:#ef476f;font-weight:900}.day-label{writing-mode:vertical-rl;text-orientation:mixed;transform:rotate(180deg);font-size:.75rem;font-weight:700;color:#fff;white-space:nowrap;letter-spacing:.5px}.gantt-grid{position:absolute;top:70px;left:0;bottom:0;display:flex;pointer-events:none;z-index:1}.gantt-grid-column{flex-shrink:0;border-right:1px solid #e9ecef;height:100%}.gantt-grid-column.weekend{background-color:#f8f9fa}.gantt-grid-column.today{background-color:#ef476f0d}.gantt-rows{position:relative;z-index:2}.gantt-bar-row{height:70px;border-bottom:1px solid var(--border-color);position:relative}.gantt-bar{height:40px;width:100%;border-radius:6px;-webkit-user-select:none;user-select:none;box-shadow:0 2px 8px #00000026;transition:box-shadow .2s ease;overflow:hidden}.gantt-bar:hover{box-shadow:0 4px 12px #00000040;z-index:10}.gantt-bar:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to bottom,rgba(255,255,255,.2),transparent);pointer-events:none}.gantt-bar-content{position:relative;z-index:2;height:100%;display:flex;align-items:center;padding:0 .75rem}.gantt-bar-label{font-size:.875rem;font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gantt-bar-progress{position:absolute;left:0;top:0;bottom:0;background-color:#ffffff40;border-radius:6px 0 0 6px;z-index:1;transition:width .3s ease}.gantt-header-row{display:flex;height:70px;border-bottom:2px solid var(--border-color);background:linear-gradient(to bottom,#f1f3f5,#e9ecef);position:sticky;top:0;z-index:10}.gantt-sidebar .gantt-header-row{background:linear-gradient(135deg,var(--primary-color),var(--accent-color))}.project-name-header{padding:1rem 1.5rem;font-weight:700;font-size:.85rem;color:#fff;text-transform:uppercase;letter-spacing:.8px;display:flex;align-items:center;flex:1}.gantt-sidebar>div:not(.gantt-header-row){flex:1;overflow-y:auto}.gantt-row{display:flex;height:70px;border-bottom:1px solid var(--border-color);align-items:center;transition:background-color .2s ease}.gantt-row:hover{background-color:#015e7c08}.gantt-sidebar .gantt-row{padding:1rem 1.5rem;cursor:grab;position:relative}.gantt-sidebar .gantt-row:active{cursor:grabbing}.gantt-sidebar .gantt-row:before{content:"⋮⋮";position:absolute;left:.5rem;top:50%;transform:translateY(-50%);color:var(--text-secondary);opacity:0;transition:opacity .2s ease;font-size:1rem;letter-spacing:-2px}.gantt-sidebar .gantt-row:hover:before{opacity:.5}.project-info{flex:1;display:flex;flex-direction:column;gap:.4rem}.project-name{font-weight:700;font-size:.95rem;color:var(--text-primary);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-meta{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.project-type{display:inline-block;padding:.2rem .6rem;background:linear-gradient(135deg,var(--primary-color),var(--accent-color));color:#fff;font-size:.7rem;font-weight:700;border-radius:10px;text-transform:uppercase;letter-spacing:.5px}.gantt-chart-wrapper::-webkit-scrollbar,.gantt-sidebar::-webkit-scrollbar{width:8px;height:8px}.gantt-chart-wrapper::-webkit-scrollbar-track,.gantt-sidebar::-webkit-scrollbar-track{background:#f1f3f5}.gantt-chart-wrapper::-webkit-scrollbar-thumb,.gantt-sidebar::-webkit-scrollbar-thumb{background:var(--accent-color);border-radius:4px}.gantt-chart-wrapper::-webkit-scrollbar-thumb:hover,.gantt-sidebar::-webkit-scrollbar-thumb:hover{background:var(--primary-color)}.gantt-chart-wrapper::-webkit-scrollbar-corner{background:#f1f3f5}.unscheduled-projects{margin-top:2rem;padding:0;background:transparent;border-radius:0;border:none;overflow:visible;max-width:100%}.unscheduled-header{font-size:1rem;font-weight:600;color:var(--text-primary);text-transform:none;letter-spacing:0;margin-bottom:1rem;padding:1.25rem 1.5rem;background-color:var(--bg-secondary);border-top:4px solid var(--primary-color);border-bottom:1px solid var(--border-color);display:flex;align-items:center;gap:.75rem}.unscheduled-hint{font-size:.875rem;color:var(--text-secondary);margin-bottom:1.5rem;padding:0 1.5rem}.unscheduled-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;padding:1rem 1.5rem 2rem}.unscheduled-project{padding:1rem;background:#fff;border-radius:10px;border:1px solid var(--border-color);transition:all .2s ease;position:relative;-webkit-user-select:none;user-select:none;box-shadow:0 1px 3px #0000000d}.unscheduled-project:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.unscheduled-info{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.5rem}.unscheduled-name{font-weight:600;font-size:.95rem;color:var(--text-primary);flex:1;line-height:1.4;display:flex;align-items:center}.unscheduled-status{padding:.25rem .5rem;border-radius:6px;font-size:.7rem;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.unscheduled-description{margin-top:.75rem;font-size:.875rem;color:var(--text-secondary);line-height:1.5;padding-top:.75rem;border-top:1px solid var(--border-color)}.gantt-wrapper{transition:all .2s ease;position:relative}.gantt-wrapper.drag-over{border:2px solid var(--accent-color);box-shadow:0 4px 12px #09c3}.gantt-wrapper.drag-over:after{content:"⬇ Suelta aquí para programar";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background-color:var(--accent-color);color:#fff;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;font-size:.95rem;z-index:1000;pointer-events:none;box-shadow:0 4px 12px #0099cc4d;animation:bounce .6s infinite alternate}@keyframes bounce{0%{transform:translate(-50%,-50%) translateY(0)}to{transform:translate(-50%,-50%) translateY(-10px)}}.gantt-drop-zone{min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:transparent;border:2px dashed var(--border-color);border-radius:8px;padding:3rem;margin:0 1.5rem 2rem;transition:all .2s ease;text-align:center}.gantt-drop-zone.drag-over{border-color:var(--accent-color);background-color:#0099cc05}.gantt-drop-zone h3{margin:1rem 0 .5rem;color:var(--text-primary);font-size:1.1rem;font-weight:600}.gantt-drop-zone p{color:var(--text-secondary);font-size:.875rem;margin:0}.gantt-drop-zone svg{color:var(--text-secondary);opacity:.5}.unscheduled-project[draggable=true]{cursor:grab}.unscheduled-project[draggable=true]:active{cursor:grabbing;opacity:.5;transform:scale(.95)}.unscheduled-name{display:flex;align-items:center}.gantt-timeline.drop-target-active{background-color:#0099cc1a;border:2px dashed var(--accent-color)}.date-assign-modal{max-width:500px}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid var(--border-color)}.modal-header h3{margin:0;font-size:1.5rem;color:var(--text-primary)}.modal-close{background:none;border:none;font-size:2rem;color:var(--text-secondary);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.modal-close:hover{background-color:var(--bg-primary);color:var(--text-primary)}.modal-body{padding:0}.project-preview{display:flex;align-items:center;gap:1rem;padding:1rem;background:linear-gradient(135deg,#015e7c0d,#0099cc0d);border-radius:8px;margin-bottom:1.5rem}.project-preview h4{margin:0 0 .25rem;font-size:1.1rem;color:var(--text-primary)}.project-type-badge{display:inline-block;padding:.2rem .6rem;background:linear-gradient(135deg,var(--primary-color),var(--accent-color));color:#fff;font-size:.7rem;font-weight:700;border-radius:10px;text-transform:uppercase;letter-spacing:.5px}.gantt-chart-container :global(.gantt-container){font-family:inherit}.gantt-chart-container>div:first-child{overflow:visible!important;height:auto!important;max-height:none!important}.gantt-chart-container :global(._3uo5T){background:var(--bg-secondary)!important;color:var(--text-primary)!important;font-weight:600;text-transform:none;letter-spacing:0;border-bottom:1px solid var(--border-color)!important}.gantt-chart-container :global(._36F-Y){border-bottom:1px solid var(--border-color)!important;animation:fadeInRow .3s ease-out;transform-origin:top}.gantt-chart-container :global(._36F-Y:hover){background-color:#015e7c08!important}@keyframes fadeInRow{0%{opacity:0;transform:scaleY(.8);max-height:0}to{opacity:1;transform:scaleY(1);max-height:100px}}.gantt-chart-container :global(._1dOI4){background:var(--bg-secondary)!important;color:var(--text-primary)!important;font-weight:600;border-bottom:1px solid var(--border-color)!important}.gantt-chart-container :global(._3lLk3){border-radius:6px!important;box-shadow:0 2px 8px #00000026!important;transition:all .2s ease;animation:fadeInBar .3s ease-out}.gantt-chart-container :global(._3lLk3:hover){box-shadow:0 4px 12px #00000040!important}@keyframes fadeInBar{0%{opacity:0;transform:scaleX(.9)}to{opacity:1;transform:scaleX(1)}}.gantt-chart-container :global(._3lLk3:active){opacity:.8;cursor:grabbing!important}.gantt-chart-container svg line{stroke:#015e7c26!important;stroke-width:1!important}.gantt-chart-container :global(._3uo5T){font-size:.8rem!important}.gantt-chart-container :global(._36F-Y){font-size:.85rem!important}.gantt-chart-wrapper-outer::-webkit-scrollbar,.gantt-chart-container::-webkit-scrollbar,.gantt-chart-container *::-webkit-scrollbar,.gantt-chart-container>div::-webkit-scrollbar{width:12px;height:12px}.gantt-chart-wrapper-outer::-webkit-scrollbar-track,.gantt-chart-container::-webkit-scrollbar-track,.gantt-chart-container *::-webkit-scrollbar-track,.gantt-chart-container>div::-webkit-scrollbar-track{background:#f1f3f5}.gantt-chart-wrapper-outer::-webkit-scrollbar-thumb,.gantt-chart-container::-webkit-scrollbar-thumb,.gantt-chart-container *::-webkit-scrollbar-thumb,.gantt-chart-container>div::-webkit-scrollbar-thumb{background:var(--accent-color);border-radius:6px;border:2px solid #f1f3f5}.gantt-chart-wrapper-outer::-webkit-scrollbar-thumb:hover,.gantt-chart-container::-webkit-scrollbar-thumb:hover,.gantt-chart-container *::-webkit-scrollbar-thumb:hover,.gantt-chart-container>div::-webkit-scrollbar-thumb:hover{background:var(--primary-color)}.gantt-chart-wrapper-outer::-webkit-scrollbar-corner,.gantt-chart-container::-webkit-scrollbar-corner,.gantt-chart-container *::-webkit-scrollbar-corner,.gantt-chart-container>div::-webkit-scrollbar-corner{background:#f1f3f5}.gantt-chart-wrapper-outer,.gantt-chart-container,.gantt-chart-container>div{scrollbar-width:thin;scrollbar-color:var(--accent-color) #f1f3f5}.gantt-connection-circle{position:absolute;right:-8px;top:50%;transform:translateY(-50%);width:16px;height:16px;background-color:var(--accent-color);border:2px solid white;border-radius:50%;cursor:pointer;z-index:100;box-shadow:0 2px 6px #0003;transition:all .2s ease;opacity:0;animation:fadeInCircle .2s ease forwards}@keyframes fadeInCircle{0%{opacity:0;transform:translateY(-50%) scale(.5)}to{opacity:1;transform:translateY(-50%) scale(1)}}.gantt-connection-circle:hover{transform:translateY(-50%) scale(1.2);background-color:var(--primary-color);box-shadow:0 3px 8px #0000004d}.gantt-connection-circle:active{transform:translateY(-50%) scale(1.1)}.gantt-dependency-delete-button{position:absolute;width:24px;height:24px;background-color:#ef4444;color:#fff;border:2px solid white;border-radius:50%;cursor:pointer;z-index:10000;font-size:18px;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000004d;transition:all .2s ease;line-height:1;padding:0;animation:fadeInButton .2s ease forwards}@keyframes fadeInButton{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.gantt-dependency-delete-button:hover{transform:translate(-50%,-50%) scale(1.2);background-color:#dc2626;box-shadow:0 3px 10px #0006}.gantt-dependency-delete-button:active{transform:translate(-50%,-50%) scale(1.1)}.gantt-chart-container :global(._3lLk3){position:relative!important}@media (max-width: 768px){.gantt-container{padding:.75rem}.gantt-toolbar{flex-direction:column;gap:1rem;padding:1rem}.toolbar-left{flex-direction:column;align-items:flex-start;gap:.5rem}.toolbar-right,.zoom-control{width:100%}.zoom-slider{flex:1}.gantt-sidebar{width:200px}.project-name{font-size:.85rem}.day-label{font-size:.7rem}.gantt-bar-row{height:60px}.gantt-bar{height:32px}.gantt-bar-label{font-size:.75rem}.unscheduled-list{grid-template-columns:1fr}}.gantt-project-menu{position:fixed!important;z-index:9999!important;background-color:#fff;border:1px solid var(--border-medium);border-radius:6px;box-shadow:0 4px 12px #00000026!important;min-width:180px;overflow:visible!important}.gantt-project-menu button{width:100%;padding:.75rem 1rem;border:none;background:transparent;cursor:pointer;text-align:left;display:flex;align-items:center;gap:.5rem;color:var(--text-primary);font-size:.875rem;transition:background-color .15s ease}.gantt-project-menu button:hover:not(:disabled){background-color:#015e7c14}.gantt-project-menu button:disabled{opacity:.5;cursor:not-allowed}.gantt-project-menu button.danger-option{color:var(--color-error)}.gantt-project-menu button.danger-option:hover{background-color:#dc354514}.gantt-project-menu .menu-divider{height:1px;background-color:var(--border-light);margin:0}.warning-trigger-btn{background:transparent;border:none;padding:4px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:background-color .15s ease;margin-left:4px;flex-shrink:0}.warning-trigger-btn:hover{background-color:#f59e0b1a}.warning-popover{min-width:280px;max-width:400px;background-color:#fff;border:1px solid var(--border-medium);border-radius:var(--radius-base);box-shadow:0 8px 24px #00000026;overflow:hidden;animation:popoverFadeIn .15s ease}@keyframes popoverFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.warning-popover-header{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-base);background-color:#f59e0b1a;border-bottom:1px solid rgba(245,158,11,.2)}.warning-popover-list{padding:var(--space-xs);max-height:300px;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-xs)}.warning-popover-item{display:flex;align-items:flex-start;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);background-color:var(--bg-secondary);border-left:2px solid}.warning-popover-item.warning-popover-warning{border-left-color:var(--color-warning);background-color:#f59e0b0d}.warning-popover-item.warning-popover-error{border-left-color:var(--color-error);background-color:#dc35450d}.warning-popover-item.warning-popover-info{border-left-color:var(--color-primary);background-color:#015e7c0d}.warning-popover-item span{color:var(--text-secondary);line-height:1.4;word-break:break-word}.projects-page{width:100%;max-width:100%;height:100%;padding:2rem;overflow-x:hidden;overflow-y:visible}.projects-header{margin-top:1.5rem}.project-count{display:flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:600;color:var(--text-secondary);background-color:var(--bg-primary);padding:.25rem .5rem;border-radius:12px;min-width:24px;text-align:center}.view-tabs{display:flex;gap:.5rem;padding:0;margin-top:1.5rem;border-bottom:2px solid var(--border-color)}.view-tabs .tab{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:none;background:transparent;color:var(--text-secondary);font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;border-bottom:3px solid transparent;position:relative}.view-tabs .tab:hover{color:var(--primary-color);background-color:#0099cc0d}.view-tabs .tab.active{color:var(--accent-color);border-bottom-color:var(--accent-color);background-color:#0099cc0d}.tab-badge{font-size:.7rem;padding:.2rem .5rem;background-color:var(--accent-color);color:#fff;border-radius:10px;margin-left:.25rem}.tab-content{width:100%;max-width:100%}.header-filters{background-color:var(--bg-primary);padding:1rem 1.5rem;border-radius:12px;border:1px solid var(--border-color)}.filter-group{display:flex;align-items:center;gap:1rem}.filter-label{font-size:.875rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.view-mode-tabs{display:flex;gap:.5rem;background-color:var(--bg-secondary);padding:.25rem;border-radius:8px}.view-mode-tabs .tab{padding:.5rem 1.25rem;border:none;background:transparent;color:var(--text-secondary);font-size:.875rem;font-weight:600;border-radius:6px;cursor:pointer;transition:all .2s ease}.view-mode-tabs .tab:hover{background-color:#015e7c1a;color:var(--primary-color)}.view-mode-tabs .tab.active{background-color:var(--accent-color);color:#fff}.empty-state-container{display:flex;align-items:center;justify-content:center;min-height:500px}.empty-state-content{text-align:center;max-width:500px;padding:3rem}.empty-illustration{margin-bottom:2rem;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.empty-state-content .empty-icon{color:var(--accent-color);opacity:.3}.empty-state-content h2{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin-bottom:.75rem}.empty-state-content p{font-size:1rem;color:var(--text-secondary);line-height:1.6;margin-bottom:2rem}.btn-create-first{display:inline-flex;align-items:center;gap:.75rem;padding:1rem 2rem;background-color:var(--accent-color);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-create-first:hover{background-color:var(--accent-dark);transform:translateY(-1px);box-shadow:0 4px 12px #0099cc4d}.projects-timeline{background-color:var(--bg-primary);border-radius:0;border:none;border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);overflow:hidden;box-shadow:none;width:100%;max-width:100%}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media (max-width: 768px){.projects-page{padding:1rem}.header-top{flex-direction:column;align-items:stretch;gap:1rem}.header-title{justify-content:center}.header-title h1{font-size:1.5rem}.btn-create-new,.btn-create-first{width:100%;justify-content:center}.filter-group{flex-direction:column;align-items:stretch}.view-mode-tabs{width:100%}.view-mode-tabs .tab{flex:1;text-align:center}.form-row{grid-template-columns:1fr}.empty-state-content{padding:2rem 1rem}}.table-container{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.table-wrapper{overflow-x:auto}.generic-table{width:100%;border-collapse:collapse;font-size:.875rem}.generic-table thead{background:var(--primary-color, #015E7C);color:#fff}.generic-table th{padding:1rem;text-align:left;font-weight:700;font-size:.813rem;text-transform:uppercase;letter-spacing:.8px;white-space:nowrap;color:#fff!important}.generic-table tbody tr{border-bottom:1px solid #e2e8f0;transition:background-color .2s ease}.generic-table tbody tr:last-child{border-bottom:none}.generic-table td{padding:1rem;color:#334155;vertical-align:middle}.generic-table.table-hoverable tbody tr:hover{background-color:#f8fafc}.generic-table tbody tr.table-row-clickable{cursor:pointer}.generic-table tbody tr.table-row-clickable:hover{background-color:#f1f5f9}.generic-table.table-striped tbody tr:nth-child(2n){background-color:#f9fafb}.generic-table.table-striped tbody tr:nth-child(2n):hover{background-color:#f1f5f9}.table-cell-empty{color:#94a3b8;font-style:italic}.table-empty{text-align:center;padding:3rem!important;color:#94a3b8;font-style:italic}.table-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;gap:1rem}.table-loading p{color:#64748b;font-size:1rem}.loading-spinner{width:40px;height:40px;border:4px solid #e2e8f0;border-top-color:var(--primary-color, #015E7C);border-radius:50%;animation:spin .8s linear infinite}.table-cell-bold{font-weight:600}.table-cell-muted{color:#64748b}.table-cell-small{font-size:.813rem}.table-cell-center{text-align:center}.table-cell-right{text-align:right}@media (max-width: 768px){.generic-table{font-size:.813rem}.generic-table th,.generic-table td{padding:.75rem}.table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.generic-table{min-width:600px}}@media (max-width: 480px){.generic-table th,.generic-table td{padding:.5rem}}.table-filters-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;background:#f8fafc;border-bottom:1px solid #e2e8f0}.table-search{flex:1;max-width:400px;position:relative;display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#fff;border:2px solid #e2e8f0;border-radius:8px;transition:border-color .2s}.table-search:focus-within{border-color:var(--primary-color, #015E7C)}.table-search .icon{color:#94a3b8}.table-search-input{flex:1;border:none;outline:none;font-size:.875rem;background:transparent}.table-search-input::placeholder{color:#94a3b8}.table-filter-actions{display:flex;align-items:center;gap:.75rem}.btn-filter-toggle,.btn-clear-filters{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:1px solid #e2e8f0;background:#fff;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;color:#475569}.btn-filter-toggle:hover,.btn-clear-filters:hover{border-color:var(--primary-color, #015E7C);background:#f8fafc}.btn-filter-toggle.active{background:var(--primary-color, #015E7C);color:#fff;border-color:var(--primary-color, #015E7C)}.btn-clear-filters{border-color:#fca5a5;color:#dc2626}.btn-clear-filters:hover{background:#fef2f2;border-color:#dc2626}.table-results-count{font-size:.875rem;color:#64748b;font-weight:500;white-space:nowrap}.table-filter-row{background:#f1f5f9}.table-filter-cell{padding:.5rem!important}.table-filter-input,.table-filter-select{width:100%;padding:.5rem;border:1px solid #e2e8f0;border-radius:4px;font-size:.813rem;background:#fff;transition:border-color .2s}.table-filter-input:focus,.table-filter-select:focus{outline:none;border-color:var(--primary-color, #015E7C);box-shadow:0 0 0 3px #015e7c1a}.table-filter-select{cursor:pointer}@media (max-width: 768px){.table-filters-bar{flex-direction:column;align-items:stretch}.table-search{max-width:none}.table-filter-actions{justify-content:space-between}.btn-filter-toggle span,.btn-clear-filters span{display:none}}.table-actions-container.table-actions-horizontal{flex-direction:row;justify-content:flex-end}.table-actions-container.table-actions-vertical{flex-direction:column;align-items:stretch}.table-action-btn{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;border:1px solid transparent;border-radius:6px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap;font-family:inherit}.table-action-btn:focus{outline:none;box-shadow:0 0 0 3px #015e7c26}.table-action-btn.table-action-small{padding:.25rem .5rem;font-size:.75rem;border-radius:4px}.table-action-btn.table-action-medium{padding:.375rem .75rem;font-size:.813rem}.table-action-btn.table-action-large{padding:.5rem 1rem;font-size:.875rem}.table-action-btn.table-action-icon-only{padding:.5rem;min-width:2rem;min-height:2rem;border-radius:6px}.table-action-btn.table-action-icon-only.table-action-small{padding:.375rem;min-width:1.75rem;min-height:1.75rem;border-radius:4px}.table-action-btn.table-action-icon-only.table-action-large{padding:.625rem;min-width:2.5rem;min-height:2.5rem;border-radius:8px}@media (max-width: 768px){.table-action-btn.table-action-small .table-action-label{display:none}}.table-action-primary{background:var(--primary-color, #015E7C);color:#fff;border-color:var(--primary-color, #015E7C)}.table-action-primary:hover:not(.table-action-disabled){background:#014152;border-color:#014152;transform:translateY(-1px);box-shadow:0 2px 4px #015e7c33}.table-action-primary:active:not(.table-action-disabled){transform:translateY(0)}.table-action-secondary{background:#fff;color:#475569;border-color:#e2e8f0}.table-action-secondary:hover:not(.table-action-disabled){background:#f8fafc;border-color:#cbd5e1;color:#334155}.table-action-success{background:#06d6a0;color:#fff;border-color:#06d6a0}.table-action-success:hover:not(.table-action-disabled){background:#05a57a;border-color:#05a57a;transform:translateY(-1px);box-shadow:0 2px 4px #06d6a033}.table-action-warning{background:#ffd166;color:#7c5d1a;border-color:#ffd166}.table-action-warning:hover:not(.table-action-disabled){background:#e6b84f;border-color:#e6b84f;transform:translateY(-1px);box-shadow:0 2px 4px #ffd1664d}.table-action-danger{background:#ef476f;color:#fff;border-color:#ef476f}.table-action-danger:hover:not(.table-action-disabled){background:#d63557;border-color:#d63557;transform:translateY(-1px);box-shadow:0 2px 4px #ef476f4d}.table-action-info{background:#118ab2;color:#fff;border-color:#118ab2}.table-action-info:hover:not(.table-action-disabled){background:#0d6e8f;border-color:#0d6e8f;transform:translateY(-1px);box-shadow:0 2px 4px #118ab24d}.table-action-ghost{background:transparent;color:#64748b;border-color:transparent}.table-action-ghost:hover:not(.table-action-disabled){background:#f1f5f9;color:#334155}.table-action-disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.table-action-label{line-height:1}@media (max-width: 640px){.table-actions-container.table-actions-horizontal{gap:.25rem}.table-action-btn{padding:.25rem .5rem;font-size:.75rem}.table-action-label{display:none}.table-actions-vertical .table-action-label{display:inline}}.table-action-btn.table-action-icon-only{position:relative}.table-action-btn.table-action-icon-only:hover:before{content:attr(title);position:absolute;bottom:calc(100% + .5rem);left:50%;transform:translate(-50%);padding:.375rem .625rem;background:#1e293b;color:#fff;font-size:.75rem;font-weight:500;border-radius:6px;white-space:nowrap;pointer-events:none;z-index:1000;opacity:0;animation:tooltip-fade-in .15s ease-in-out .3s forwards;box-shadow:0 4px 6px #0000001a}.table-action-btn.table-action-icon-only:hover:after{content:"";position:absolute;bottom:calc(100% + .125rem);left:50%;transform:translate(-50%);border:.25rem solid transparent;border-top-color:#1e293b;pointer-events:none;z-index:1000;opacity:0;animation:tooltip-fade-in .15s ease-in-out .3s forwards}@keyframes tooltip-fade-in{to{opacity:1}}.archived-tasks-page{max-width:1400px;margin:0 auto;padding:2rem}.task-title{font-weight:500;color:#333;max-width:250px}.task-description{color:#666;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-description em{color:#999}.task-date{color:#666;font-size:.9rem;white-space:nowrap}.priority-badge,.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:500;white-space:nowrap}.priority-low{background:var(--priority-low-light);color:var(--priority-low)}.priority-medium{background:var(--priority-medium-light);color:var(--priority-medium-dark)}.priority-high{background:var(--priority-high-light);color:var(--priority-high)}.priority-critical{background:var(--priority-critical-light);color:var(--priority-critical)}.status-pending{background:var(--status-pending-bg);color:var(--status-pending-text)}.status-in-progress{background:var(--status-in-progress-bg);color:var(--status-in-progress-text)}.status-qa{background:var(--status-qa-bg);color:var(--status-qa-text)}.status-completed{background:var(--status-completed-bg);color:var(--status-completed-text)}.archived-error-state{text-align:center;padding:4rem 2rem;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin:2rem auto;max-width:600px}@media (max-width: 768px){.archived-tasks-page{padding:1rem}.task-title,.task-description{max-width:150px}}.users-container{padding:2rem;max-width:1400px;margin:0 auto}.user-email{font-weight:500;color:var(--primary-color)}.user-name{color:#475569}.user-date{color:#64748b;font-size:.813rem}.role-badge{display:inline-block;padding:.375rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.role-badge-admin{background-color:#fef3c7;color:#92400e;border:1px solid #fbbf24}.role-badge-user{background-color:#dbeafe;color:#1e40af;border:1px solid #60a5fa}.status-badge{display:inline-block;padding:.375rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-enabled{background-color:#dcfce7;color:#166534;border:1px solid #4ade80}.status-disabled{background-color:#fee2e2;color:#991b1b;border:1px solid #f87171}@media (max-width: 768px){.users-container{padding:1rem}}.sidebar{width:250px;background-color:var(--bg-secondary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;transition:width .3s ease;position:fixed;left:0;top:0;bottom:0;z-index:100}.sidebar.collapsed{width:70px}.sidebar-header{border-bottom:1px solid var(--border-color);min-height:83px}.sidebar-logo{min-width:0;flex:1;align-items:center}.sidebar-logo-img{width:40px;height:40px;flex-shrink:0;display:block}.sidebar.collapsed .sidebar-logo span{display:none}.sidebar-toggle{width:28px;height:28px;border-radius:6px;border:1px solid var(--border-color);background-color:transparent;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;font-size:.75rem;flex-shrink:0}.sidebar-toggle:hover{background-color:var(--bg-primary);border-color:var(--accent-color);color:var(--accent-color)}.sidebar.collapsed .sidebar-header{flex-direction:column;gap:var(--space-sm);align-items:center}.sidebar-nav{overflow-y:auto}.sidebar-item{padding:.875rem 1.25rem;color:var(--text-secondary);text-decoration:none;transition:all .2s ease;cursor:pointer;position:relative}.sidebar-item:hover{background-color:var(--bg-primary);color:var(--text-primary)}.sidebar-item.active{background-color:#0099cc1a;color:var(--accent-color);font-weight:600}.sidebar-item.active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background-color:var(--accent-color)}.sidebar-icon{font-size:1.25rem;flex-shrink:0;width:24px;text-align:center}.sidebar-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.9rem}.sidebar.collapsed .sidebar-label{display:none}.sidebar.collapsed .sidebar-item{justify-content:center;padding:.875rem 0}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-track{background:transparent}.sidebar-nav::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:var(--text-light)}@media (max-width: 768px){.sidebar,.sidebar.collapsed{width:100%;max-width:250px;transform:translate(-100%)}.sidebar.mobile-open{transform:translate(0)}}.main-layout{min-height:100vh;background-color:var(--bg-primary)}.main-content{flex:1;margin-left:250px;display:flex;flex-direction:column;transition:margin-left .3s ease;min-width:0;overflow-x:hidden}.main-content.sidebar-collapsed{margin-left:70px}.main-header{background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:50;box-shadow:0 1px 3px #0000000d;min-height:73px}.user-menu{position:relative}.user-button{padding:.5rem 1rem;background-color:transparent;border:1px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .2s ease}.user-button:hover{background-color:var(--bg-primary);border-color:var(--accent-color)}.dropdown-menu{position:absolute;top:calc(100% + .5rem);right:0;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px #0000001a;min-width:200px;overflow:hidden;z-index:1000}.menu-header{border-bottom:1px solid var(--border-color)}.menu-item{width:100%;padding:.75rem 1rem;background:none;border:none;text-align:left;cursor:pointer;color:var(--text-primary);font-size:.875rem;transition:background-color .2s ease}.menu-item:hover{background-color:var(--bg-primary)}.main-container{overflow-y:auto;overflow-x:hidden;max-width:100%}@media (max-width: 768px){.main-content,.main-content.sidebar-collapsed{margin-left:0}.user-email{display:none}.header-title{font-size:1rem}.main-container{padding:1rem}}:root{--color-primary: #015E7C;--color-primary-dark: #014152;--color-primary-light: #0099CC;--color-primary-lighter: #b3e5f5;--primary-color: #015E7C;--accent-color: #0099CC;--accent-dark: #007ba3;--color-secondary: #073b4c;--color-secondary-dark: #012a36;--color-secondary-light: #118ab2;--color-success: #06d6a0;--color-success-dark: #05a57a;--color-success-light: #d1fae5;--color-warning: #ffd166;--color-warning-dark: #e6b84f;--color-warning-light: #fff3d9;--color-error: #ef476f;--color-error-dark: #d63557;--color-error-light: #fde0e7;--color-info: #118ab2;--color-info-light: #d4eef5;--priority-low: #06d6a0;--priority-low-light: #d1fae5;--priority-low-dark: #05a57a;--priority-medium: #ffd166;--priority-medium-light: #fff3d9;--priority-medium-dark: #e6b84f;--priority-high: #ef476f;--priority-high-light: #fde0e7;--priority-critical: #d63557;--priority-critical-light: #fccdd9;--status-pending: #ffd166;--status-pending-bg: #fff3d9;--status-pending-text: #9c7a2f;--status-in-progress: #118ab2;--status-in-progress-bg: #d4eef5;--status-in-progress-text: #014152;--status-qa: #8b5cf6;--status-qa-bg: #ede9fe;--status-qa-text: #5b21b6;--status-completed: #06d6a0;--status-completed-bg: #d1fae5;--status-completed-text: #035a47;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--text-primary: var(--gray-900);--text-secondary: var(--gray-600);--text-tertiary: var(--gray-500);--text-disabled: var(--gray-400);--text-inverse: #ffffff;--text-light: var(--gray-500);--bg-primary: #ffffff;--bg-secondary: var(--gray-50);--bg-tertiary: var(--gray-100);--bg-overlay: rgba(0, 0, 0, .5);--border-light: var(--gray-200);--border-medium: var(--gray-300);--border-dark: var(--gray-400);--border-color: var(--gray-200);--action-hover: var(--gray-100);--action-active: var(--gray-200);--action-disabled: var(--gray-300);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-base: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--radius-sm: .25rem;--radius-base: .5rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-full: 9999px;--space-xs: .25rem;--space-sm: .5rem;--space-base: 1rem;--space-md: 1.5rem;--space-lg: 2rem;--space-xl: 3rem;--space-2xl: 4rem;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--font-xs: .75rem;--font-sm: .875rem;--font-base: 1rem;--font-lg: 1.125rem;--font-xl: 1.25rem;--font-2xl: 1.5rem;--font-3xl: 1.875rem;--font-4xl: 2.25rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1);--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070}.container{width:100%;margin-left:auto;margin-right:auto;padding-left:var(--space-base);padding-right:var(--space-base)}.container-sm{max-width:640px}.container-md{max-width:768px}.container-lg{max-width:1024px}.container-xl{max-width:1280px}.flex{display:flex}.flex-col{display:flex;flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1}.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.gap-xs{gap:var(--space-xs)}.gap-sm{gap:var(--space-sm)}.gap-base{gap:var(--space-base)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.p-0{padding:0}.p-xs{padding:var(--space-xs)}.p-sm{padding:var(--space-sm)}.p-base{padding:var(--space-base)}.p-md{padding:var(--space-md)}.p-lg{padding:var(--space-lg)}.p-xl{padding:var(--space-xl)}.p-2xl{padding:var(--space-2xl)}.p-3xl{padding:6rem}.p-4xl{padding:8rem}.px-xs{padding-left:var(--space-xs);padding-right:var(--space-xs)}.px-sm{padding-left:var(--space-sm);padding-right:var(--space-sm)}.px-base{padding-left:var(--space-base);padding-right:var(--space-base)}.px-md{padding-left:var(--space-md);padding-right:var(--space-md)}.px-lg{padding-left:var(--space-lg);padding-right:var(--space-lg)}.py-xs{padding-top:var(--space-xs);padding-bottom:var(--space-xs)}.py-sm{padding-top:var(--space-sm);padding-bottom:var(--space-sm)}.py-base{padding-top:var(--space-base);padding-bottom:var(--space-base)}.py-md{padding-top:var(--space-md);padding-bottom:var(--space-md)}.py-lg{padding-top:var(--space-lg);padding-bottom:var(--space-lg)}.m-0{margin:0}.m-xs{margin:var(--space-xs)}.m-sm{margin:var(--space-sm)}.m-base{margin:var(--space-base)}.m-md{margin:var(--space-md)}.m-lg{margin:var(--space-lg)}.mx-auto{margin-left:auto;margin-right:auto}.mb-xs{margin-bottom:var(--space-xs)}.mb-sm{margin-bottom:var(--space-sm)}.mb-base{margin-bottom:var(--space-base)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.mb-xl{margin-bottom:var(--space-xl)}.mb-2xl{margin-bottom:var(--space-2xl)}.mb-3xl{margin-bottom:6rem}.mb-4xl{margin-bottom:8rem}.mt-xs{margin-top:var(--space-xs)}.mt-sm{margin-top:var(--space-sm)}.mt-base{margin-top:var(--space-base)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mt-xl{margin-top:var(--space-xl)}.mt-2xl{margin-top:var(--space-2xl)}.w-full{width:100%}.h-full{height:100%}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-auto{overflow-x:auto}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.heading-1{font-size:var(--font-3xl);font-weight:var(--font-weight-bold);line-height:1.2;color:var(--text-primary);margin:0}.heading-2{font-size:var(--font-2xl);font-weight:var(--font-weight-semibold);line-height:1.3;color:var(--text-primary);margin:0}.heading-3{font-size:var(--font-xl);font-weight:var(--font-weight-semibold);line-height:1.4;color:var(--text-primary);margin:0}.heading-4{font-size:var(--font-lg);font-weight:var(--font-weight-medium);line-height:1.4;color:var(--text-primary);margin:0}.text-base{font-size:var(--font-base);line-height:1.5;color:var(--text-primary)}.text-sm{font-size:var(--font-sm);line-height:1.5;color:var(--text-secondary)}.text-xs{font-size:var(--font-xs);line-height:1.5;color:var(--text-tertiary)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.text-disabled{color:var(--text-disabled)}.text-inverse{color:var(--text-inverse)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning-dark)}.text-error{color:var(--color-error)}.text-info{color:var(--color-info)}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-break{word-break:break-word;overflow-wrap:break-word}.label{display:inline-block;font-size:var(--font-xs);font-weight:var(--font-weight-medium);color:var(--text-secondary);margin-bottom:var(--space-xs)}.label-required:after{content:" *";color:var(--color-error)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:.625rem 1rem;font-size:var(--font-sm);font-weight:var(--font-weight-medium);line-height:1.5;border:1px solid transparent;border-radius:var(--radius-base);cursor:pointer;transition:all var(--transition-base);white-space:nowrap;text-decoration:none;font-family:var(--font-sans)}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn:focus{outline:2px solid var(--color-primary-light);outline-offset:2px}.btn-primary{background:var(--color-primary);color:var(--text-inverse);border-color:var(--color-primary)}.btn-primary:hover:not(:disabled){background:var(--color-primary-dark);border-color:var(--color-primary-dark)}.btn-secondary{background:transparent;color:var(--color-primary);border-color:var(--color-primary)}.btn-secondary:hover:not(:disabled){background:var(--color-primary-lighter)}.btn-success{background:var(--color-success);color:var(--text-inverse);border-color:var(--color-success)}.btn-success:hover:not(:disabled){background:var(--color-success-dark);border-color:var(--color-success-dark)}.btn-warning{background:var(--color-warning);color:var(--gray-900);border-color:var(--color-warning)}.btn-warning:hover:not(:disabled){background:var(--color-warning-dark);border-color:var(--color-warning-dark)}.btn-danger{background:var(--color-error);color:var(--text-inverse);border-color:var(--color-error)}.btn-danger:hover:not(:disabled){background:var(--color-error-dark);border-color:var(--color-error-dark)}.btn-ghost{background:transparent;color:var(--text-secondary);border-color:transparent}.btn-ghost:hover:not(:disabled){background:var(--action-hover);color:var(--text-primary)}.btn-sm{padding:.375rem .75rem;font-size:var(--font-xs);gap:.25rem}.btn-md{padding:.625rem 1rem;font-size:var(--font-sm)}.btn-lg{padding:.75rem 1.5rem;font-size:var(--font-base)}.btn-icon{padding:.5rem;width:2.5rem;height:2.5rem;border-radius:var(--radius-base)}.btn-icon.btn-sm{width:2rem;height:2rem;padding:.375rem}.btn-icon.btn-lg{width:3rem;height:3rem;padding:.75rem}.btn-block{width:100%;display:flex}.btn-group{display:flex;gap:var(--space-sm);align-items:center}.btn-group-end{display:flex;gap:var(--space-sm);justify-content:flex-end;align-items:center}.btn-group-between{display:flex;gap:var(--space-sm);justify-content:space-between;align-items:center}.form-group{margin-bottom:var(--space-base)}.form-group:last-child{margin-bottom:0}.input{width:100%;padding:.625rem .75rem;font-size:var(--font-sm);font-family:var(--font-sans);color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--border-medium);border-radius:var(--radius-base);transition:all var(--transition-base)}.input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-lighter)}.input:disabled{background:var(--bg-tertiary);color:var(--text-disabled);cursor:not-allowed}.input::placeholder{color:var(--text-tertiary)}.input-error{border-color:var(--color-error)}.input-error:focus{border-color:var(--color-error);box-shadow:0 0 0 3px var(--color-error-light)}.input-sm{padding:.375rem .5rem;font-size:var(--font-xs)}.input-lg{padding:.75rem 1rem;font-size:var(--font-base)}.textarea{width:100%;padding:.625rem .75rem;font-size:var(--font-sm);font-family:var(--font-sans);color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--border-medium);border-radius:var(--radius-base);resize:vertical;min-height:80px;transition:all var(--transition-base)}.textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-lighter)}.select{width:100%;padding:.625rem 2rem .625rem .75rem;font-size:var(--font-sm);font-family:var(--font-sans);color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--border-medium);border-radius:var(--radius-base);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;transition:all var(--transition-base)}.select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-lighter)}.select:disabled{background:var(--bg-tertiary);color:var(--text-disabled);cursor:not-allowed}.checkbox,.radio{display:inline-flex;align-items:center;gap:var(--space-sm);cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox input[type=checkbox],.radio input[type=radio]{width:1.125rem;height:1.125rem;cursor:pointer;accent-color:var(--color-primary)}.checkbox input[type=checkbox]:disabled,.radio input[type=radio]:disabled{cursor:not-allowed;opacity:.5}.error-message{display:block;margin-top:var(--space-xs);font-size:var(--font-xs);color:var(--color-error)}.help-text{display:block;margin-top:var(--space-xs);font-size:var(--font-xs);color:var(--text-tertiary)}.search-wrapper{position:relative;width:100%}.search-input{padding-left:2.5rem}.search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--text-tertiary);pointer-events:none}.input-with-icon{position:relative}.input-with-icon .input{padding-left:2.5rem}.input-with-icon .icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--text-tertiary);pointer-events:none}.card{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-base)}.card:hover{box-shadow:var(--shadow-md)}.card-header{padding:var(--space-base) var(--space-md);border-bottom:1px solid var(--border-light)}.card-title{font-size:var(--font-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.card-body{padding:var(--space-md)}.card-footer{padding:var(--space-base) var(--space-md);border-top:1px solid var(--border-light);background:var(--bg-secondary);border-radius:0 0 var(--radius-md) var(--radius-md)}.card-flat{box-shadow:none;border:1px solid var(--border-light)}.card-bordered{border:2px solid var(--border-medium);box-shadow:none}.card-elevated{box-shadow:var(--shadow-lg);border:none}.card-compact .card-header,.card-compact .card-body,.card-compact .card-footer{padding:var(--space-sm) var(--space-base)}.card-loose .card-header,.card-loose .card-body,.card-loose .card-footer{padding:var(--space-lg) var(--space-xl)}.card-clickable{cursor:pointer;transition:all var(--transition-base)}.card-clickable:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--color-primary-light)}.card-clickable:active{transform:translateY(0);box-shadow:var(--shadow-md)}.badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .625rem;font-size:var(--font-xs);font-weight:var(--font-weight-medium);line-height:1;border-radius:var(--radius-full);white-space:nowrap}.badge-primary{background:var(--color-primary-lighter);color:var(--color-primary-dark)}.badge-success{background:var(--color-success-light);color:var(--color-success-dark)}.badge-warning{background:var(--color-warning-light);color:var(--color-warning-dark)}.badge-danger{background:var(--color-error-light);color:var(--color-error-dark)}.badge-info{background:var(--color-info-light);color:var(--color-info)}.badge-neutral{background:var(--gray-100);color:var(--gray-700)}.badge-priority-low{background:var(--priority-low-light);color:var(--priority-low-dark)}.badge-priority-medium{background:var(--priority-medium-light);color:var(--priority-medium-dark)}.badge-priority-high{background:var(--priority-high-light);color:var(--color-error-dark)}.badge-priority-critical{background:var(--priority-critical-light);color:var(--priority-critical)}.badge-status-pending{background:var(--status-pending-bg);color:var(--status-pending-text)}.badge-status-in-progress{background:var(--status-in-progress-bg);color:var(--status-in-progress-text)}.badge-status-qa{background:var(--status-qa-bg);color:var(--status-qa-text)}.badge-status-completed{background:var(--status-completed-bg);color:var(--status-completed-text)}.badge-sm{padding:.125rem .5rem;font-size:.625rem}.badge-lg{padding:.375rem .75rem;font-size:var(--font-sm)}.badge-dot:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-overlay);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-backdrop);padding:var(--space-base);animation:fadeIn var(--transition-base)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);max-width:500px;width:100%;max-height:90vh;overflow:hidden;z-index:var(--z-modal);animation:slideUp var(--transition-base)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--border-light);display:flex;align-items:center;justify-content:space-between;gap:var(--space-base)}.modal-title{font-size:var(--font-xl);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.modal-close{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:var(--space-xs);border-radius:var(--radius-base);display:flex;align-items:center;justify-content:center;transition:all var(--transition-base)}.modal-close:hover{background:var(--action-hover);color:var(--text-primary)}.modal-body{padding:var(--space-lg);overflow-y:auto;overflow-x:hidden;max-height:calc(90vh - 250px)}.modal-body::-webkit-scrollbar{width:8px}.modal-body::-webkit-scrollbar-track{background:transparent}.modal-body::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:10px}.modal-body::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.modal-body{scrollbar-width:thin;scrollbar-color:var(--border-medium) transparent}.modal-footer{padding:var(--space-md) var(--space-lg);border-top:1px solid var(--border-light);display:flex;gap:var(--space-sm);justify-content:flex-end}.modal-sm{max-width:400px}.modal-sm .modal-header{padding:var(--space-base) var(--space-md);border-bottom:none}.modal-sm .modal-title{font-size:var(--font-lg);margin:0}.modal-sm .modal-body{padding:var(--space-sm) var(--space-md) var(--space-md)}.modal-sm .modal-footer{padding:var(--space-base) var(--space-md);border-top:none;gap:var(--space-xs)}.modal-md{max-width:750px}.modal-lg{max-width:800px}.modal-xl{max-width:1200px}.modal-full{max-width:95vw;max-height:95vh}.has-tooltip{position:relative}.has-tooltip:before{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-4px);background-color:var(--gray-900);color:#fff;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s ease;z-index:1000}.has-tooltip:hover:before{opacity:1}.has-tooltip.tooltip-top:before{bottom:100%;top:auto;left:50%;right:auto;transform:translate(-50%) translateY(-4px)}.has-tooltip.tooltip-bottom:before{top:100%;bottom:auto;left:50%;right:auto;transform:translate(-50%) translateY(4px)}.has-tooltip.tooltip-left:before{top:50%;bottom:auto;right:100%;left:auto;transform:translateY(-50%) translate(-4px)}.has-tooltip.tooltip-right:before{top:50%;bottom:auto;left:100%;right:auto;transform:translateY(-50%) translate(4px)}.has-tooltip.tooltip-delay:before{transition:opacity .15s ease .5s}.has-tooltip.tooltip-delay:hover:before{transition-delay:0s}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-2xl) var(--space-base);text-align:center;color:var(--text-secondary)}.empty-state-icon{font-size:3rem;color:var(--text-tertiary);margin-bottom:var(--space-base)}.empty-state-title{font-size:var(--font-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-bottom:var(--space-sm)}.empty-state-description{font-size:var(--font-sm);color:var(--text-secondary);margin-bottom:var(--space-md);max-width:400px}.loading{display:flex;align-items:center;justify-content:center;padding:var(--space-2xl);color:var(--text-secondary)}.spinner{width:2rem;height:2rem;border:3px solid var(--border-light);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.spinner-sm{width:1rem;height:1rem;border-width:2px}.spinner-lg{width:3rem;height:3rem;border-width:4px}.divider{height:1px;background:var(--border-light);border:none;margin:var(--space-base) 0}.divider-vertical{width:1px;height:auto;background:var(--border-light);margin:0 var(--space-base)}.avatar{width:2.5rem;height:2.5rem;border-radius:50%;background:var(--color-primary-light);color:var(--text-inverse);display:flex;align-items:center;justify-content:center;font-weight:var(--font-weight-semibold);font-size:var(--font-sm);overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.avatar-sm{width:2rem;height:2rem;font-size:var(--font-xs)}.avatar-lg{width:3rem;height:3rem;font-size:var(--font-base)}.avatar-xl{width:4rem;height:4rem;font-size:var(--font-lg)}.user-avatar-container{display:flex;align-items:center;gap:var(--space-sm)}.user-avatar-container .user-name{font-size:var(--font-sm);color:var(--text-secondary);font-weight:var(--font-weight-medium)}.tooltip{position:relative;display:inline-block}.tooltip-text{visibility:hidden;position:absolute;z-index:var(--z-tooltip);background:var(--gray-900);color:var(--text-inverse);text-align:center;padding:.375rem .75rem;border-radius:var(--radius-base);font-size:var(--font-xs);white-space:nowrap;opacity:0;transition:opacity var(--transition-base);bottom:125%;left:50%;transform:translate(-50%)}.tooltip-text:after{content:"";position:absolute;top:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:var(--gray-900) transparent transparent transparent}.tooltip:hover .tooltip-text{visibility:visible;opacity:1}.custom-scrollbar::-webkit-scrollbar{width:8px;height:8px}.custom-scrollbar::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:var(--radius-base)}.custom-scrollbar::-webkit-scrollbar-thumb{background:var(--border-dark);border-radius:var(--radius-base)}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--gray-500)}.backdrop-blur{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.skeleton{background:linear-gradient(90deg,var(--gray-200) 25%,var(--gray-100) 50%,var(--gray-200) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:var(--radius-base)}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-text{height:1rem;margin-bottom:var(--space-sm)}.skeleton-title{height:1.5rem;width:60%;margin-bottom:var(--space-base)}.skeleton-circle{width:2.5rem;height:2.5rem;border-radius:50%}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-secondary);color:var(--text-primary);font-size:var(--font-base);line-height:1.5}#root{min-height:100vh}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--gray-100)}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}
