html{background-color:#fff}html,html *{color-scheme:light}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}#root,body{background-color:#fff;color:#000}@media (prefers-color-scheme:dark){html{background-color:#fff;color-scheme:light}#root,body{background-color:#fff;color:#000}}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.login-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.login-box{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;max-width:400px;padding:40px;width:100%}.login-box h2{color:#333;font-size:28px;font-weight:600;margin:0 0 30px;text-align:center}.form-group{margin-bottom:20px}.form-group label{color:#555;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.form-group input{border:2px solid #e0e0e0;border-radius:8px;box-sizing:border-box;font-size:16px;padding:12px 16px;transition:border-color .3s ease;width:100%}.form-group input:focus{border-color:#667eea;outline:none}.form-group input:disabled{background-color:#f5f5f5;cursor:not-allowed}.login-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:10px;padding:14px;transition:transform .2s ease,box-shadow .2s ease;width:100%}.login-button:hover:not(:disabled){box-shadow:0 5px 15px #667eea66;transform:translateY(-2px)}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{cursor:not-allowed;opacity:.6}.error-message{background-color:#fee;border:1px solid #fcc;border-radius:6px;color:#c33}.error-message,.success-message{font-size:14px;margin-bottom:15px;padding:12px}.success-message{background-color:#efe;border:1px solid #cfc;border-radius:6px;color:#3c3}.projects-container{background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;padding:40px 20px}.projects-header{color:#fff;margin:0 auto 40px;max-width:1200px}.projects-header h1{font-size:36px;font-weight:600;margin:0 0 10px}.projects-count{font-size:16px;margin:0;opacity:.9}.projects-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin:0 auto;max-width:1200px}.project-card{background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;cursor:pointer;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}.project-card:hover{box-shadow:0 8px 30px #0003;transform:translateY(-4px)}.project-card-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:20px}.project-card-header .project-name{word-wrap:break-word;font-size:22px;font-weight:600;margin:0}.project-card-body{padding:20px}.project-info{display:flex;flex-direction:column;margin-bottom:16px}.project-info:last-child{margin-bottom:0}.project-label{color:#666;font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:6px;text-transform:uppercase}.project-value{color:#333;font-size:16px;word-break:break-all}.project-id{color:#555;font-family:Courier New,monospace;font-size:14px}.project-budget{color:#667eea;font-size:24px;font-weight:700}.project-card-action{background:linear-gradient(135deg,#667eea1a,#764ba21a);border-radius:20px;color:#667eea;display:inline-block;font-size:13px;font-weight:600;letter-spacing:1.5px;margin-top:16px;padding:8px 16px;text-transform:uppercase;transition:all .3s ease}.project-card:hover .project-card-action{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 12px #667eea66;color:#fff;transform:translateX(4px)}.error-message,.loading-message,.no-projects{color:#fff;font-size:18px;margin:100px auto;max-width:1200px;text-align:center}.error-message{background-color:#ffffff1a;border:2px solid #ffffff4d;border-radius:8px;padding:20px}.no-projects{background-color:#ffffff1a;border-radius:8px;padding:40px}.add-project-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:50%;bottom:30px;box-shadow:0 4px 20px #0000004d;color:#fff;cursor:pointer;display:flex;font-size:36px;font-weight:300;height:60px;justify-content:center;position:fixed;right:30px;transition:transform .2s ease,box-shadow .2s ease;width:60px;z-index:100}.add-project-button:hover{box-shadow:0 6px 25px #0006;transform:scale(1.1)}.add-project-button:active{transform:scale(.95)}@media (max-width:768px){.projects-grid{grid-template-columns:1fr}.projects-header h1{font-size:28px}.add-project-button{bottom:20px;font-size:32px;height:56px;right:20px;width:56px}}.dialog-content{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}@media (max-width:768px){.dialog-content{margin:10px;max-width:100%}.dialog-header h2{font-size:20px}}.task-select-container{position:relative;width:100%}.task-select-input{align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:6px;cursor:pointer;display:flex;font-family:inherit;font-size:inherit;justify-content:space-between;min-height:44px;padding:10px 14px;text-align:left;transition:all .2s ease;width:100%}.task-select-input:hover{border-color:#667eea}.task-select-input.task-select-open{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.task-select-selected{align-items:center;display:flex;flex:1 1;min-height:24px}.task-select-placeholder{color:#999;font-size:14px}.task-select-value{color:#333;font-size:14px}.task-select-arrow{color:#666;flex-shrink:0;font-size:12px;margin-left:8px;transition:transform .2s ease}.task-select-dropdown{animation:slideDown .2s ease;background:#fff;border:2px solid #e0e0e0;border-radius:6px;box-shadow:0 4px 12px #00000026;left:0;max-height:300px;overflow-y:auto;position:absolute;right:0;top:calc(100% + 4px);z-index:1000}.task-select-tree{padding:4px 0}.task-select-option{border-bottom:1px solid #f0f0f0;cursor:pointer;padding:10px 14px;transition:background-color .2s ease}.task-select-option:last-child{border-bottom:none}.task-select-option:hover{background-color:#f8f9fa}.task-select-option-selected{background-color:#f0f4ff;font-weight:500}.task-select-option-content{align-items:center;display:flex;gap:8px}.task-select-expand-button{align-items:center;background:none;border:none;color:#667eea;cursor:pointer;display:inline-flex;flex-shrink:0;font-size:12px;justify-content:center;min-width:20px;padding:4px 6px;transition:transform .2s ease,color .2s ease}.task-select-expand-button:hover{color:#764ba2;transform:scale(1.1)}.task-select-expand-button:active{transform:scale(.95)}.task-select-expand-spacer{display:inline-block;flex-shrink:0;width:20px}.task-select-option-text{color:#333;flex:1 1;font-size:14px}.task-select-children{background-color:#fafbfc}.task-select-empty{color:#999;font-size:14px;font-style:italic;padding:20px;text-align:center}.task-select-dropdown::-webkit-scrollbar{width:8px}.task-select-dropdown::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.task-select-dropdown::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.task-select-dropdown::-webkit-scrollbar-thumb:hover{background:#555}.toast-notification{align-items:center;border-radius:12px;bottom:24px;box-shadow:0 8px 32px #0000002e,0 2px 8px #0000001a;display:flex;gap:12px;left:50%;max-width:min(480px,80vw);min-width:min(320px,80vw);opacity:0;overflow:hidden;padding:16px 48px 16px 16px;position:fixed;transform:translateX(-50%) translateY(100px);transition:transform .3s cubic-bezier(.34,1.56,.64,1),opacity .3s ease;z-index:9999}.toast-notification.toast-visible{opacity:1;transform:translateX(-50%) translateY(0)}.toast-notification.toast-exiting{opacity:0;transform:translateX(-50%) translateY(100px);transition:transform .3s cubic-bezier(.55,0,1,.45),opacity .3s ease}.toast-success{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.toast-success .toast-icon-wrapper{background:#fff3}.toast-success .toast-progress-bar{background:#fff6}.toast-info{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.toast-info .toast-icon-wrapper{background:#fff3}.toast-info .toast-progress-bar{background:#fff6}.toast-error{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.toast-error .toast-icon-wrapper{background:#fff3}.toast-error .toast-progress-bar{background:#fff6}.toast-content{align-items:center;display:flex;flex:1 1;gap:12px}.toast-icon-wrapper{align-items:center;border-radius:10px;display:flex;flex-shrink:0;height:36px;justify-content:center;width:36px}.toast-icon{height:20px;width:20px}.toast-message{font-size:15px;font-weight:500;letter-spacing:-.01em;line-height:1.4}.toast-close-btn{align-items:center;background:#ffffff26;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;height:28px;justify-content:center;position:absolute;right:12px;top:50%;transform:translateY(-50%);transition:background-color .2s ease,transform .2s ease;width:28px}.toast-close-btn svg{height:14px;width:14px}.toast-close-btn:hover{background:#ffffff40;transform:translateY(-50%) scale(1.05)}.toast-close-btn:active{transform:translateY(-50%) scale(.95)}.toast-progress-bar{animation:toast-progress 10s linear forwards;bottom:0;height:4px;left:0;position:absolute;width:100%}@keyframes toast-progress{0%{width:100%}to{width:0}}@media (max-width:520px){.toast-notification{bottom:16px;max-width:80vw;min-width:min(calc(100vw - 32px),80vw)}}.generic-dialog-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.generic-dialog-content{overflow:hidden}.dialog-header{flex-shrink:0}.dialog-body-wrapper{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow-y:auto}.dialog-footer{flex-shrink:0}@media (max-width:768px){.generic-dialog-overlay{align-items:stretch;height:100vh;justify-content:flex-start;min-height:100vh;padding:0}.generic-dialog-content{align-self:stretch;border-radius:0;box-shadow:none;height:100vh;margin:0;max-height:100vh;max-width:100vw;min-height:100vh;width:100vw}.dialog-header h2{font-size:20px}.dialog-footer{flex-direction:row;flex-wrap:wrap}.dialog-footer button{flex:1 1;min-width:0}}.photo-remove-btn:hover:not(:disabled){background:#d0d0d0;transform:translateY(-1px)}.photo-remove-btn:disabled{cursor:not-allowed;opacity:.5}.photo-uploading-overlay{align-items:center;background:#0009;border-radius:8px;bottom:0;display:flex;flex-direction:column;gap:12px;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:10}.photo-uploading-spinner{animation:spin 1s linear infinite;border:4px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:40px;width:40px}.photo-uploading-text{color:#fff;font-size:14px;font-weight:600}.task-input-error .task-select-input{background-color:#fff5f5;border-color:#dc3545}.task-input-error .task-select-input:hover{border-color:#dc3545}.task-input-error .task-select-input.task-select-open{border-color:#dc3545;box-shadow:0 0 0 3px #dc354526}@media (max-width:768px){.task-detail-value{font-size:14px}}.expense-detail-item{border-bottom:1px solid #f0f0f0;display:flex;flex-direction:column;margin-bottom:20px;padding-bottom:20px}.expense-detail-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.expense-detail-label{color:#666;font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.expense-detail-value{color:#333;font-size:16px;word-break:break-word}.expense-id-value{color:#555;font-family:Courier New,monospace;font-size:14px}.expense-value-value{font-size:20px}.expense-input{border:2px solid #e0e0e0;border-radius:8px;box-sizing:border-box;font-family:inherit;font-size:16px;padding:12px 16px;transition:border-color .3s ease;width:100%}.expense-input:focus{border-color:#667eea;outline:none}.expense-input::placeholder{color:#999}.expense-textarea{min-height:100px;resize:vertical}.expense-class-badge,.expense-type-badge{border-radius:20px;display:inline-block;font-size:12px;font-weight:600;letter-spacing:.5px;padding:6px 12px;text-transform:uppercase}.items-container{margin-top:8px}.items-add-section{margin-bottom:12px}.items-search-container{display:flex;gap:8px;margin-bottom:8px}.items-search-input{flex:1 1;margin-bottom:0}.items-create-button{background:linear-gradient(135deg,#51cf66,#2f9e44);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 20px;transition:transform .2s ease,box-shadow .2s ease;white-space:nowrap}.items-create-button:hover{box-shadow:0 4px 12px #2f9e4466;transform:translateY(-2px)}.items-create-button:active{transform:translateY(0)}.items-select-container{position:relative;width:100%}.items-select-button{align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:8px;box-sizing:border-box;cursor:pointer;display:flex;font-family:inherit;font-size:16px;justify-content:space-between;padding:12px 16px;text-align:left;transition:border-color .3s ease;width:100%}.items-select-button:hover{border-color:#667eea}.items-select-arrow{color:#666;font-size:12px;margin-left:8px}.items-select-dropdown{background:#fff;border:2px solid #e0e0e0;border-radius:8px;box-shadow:0 4px 12px #00000026;display:flex;flex-direction:column;left:0;margin-top:4px;max-height:400px;overflow:hidden;position:absolute;right:0;top:100%;z-index:1000}.items-select-search-container{background:#f9f9f9;border-bottom:1px solid #e0e0e0;display:flex;gap:8px;padding:12px}.items-select-search-input{border:1px solid #e0e0e0;border-radius:6px;box-sizing:border-box;flex:1 1;font-family:inherit;font-size:14px;padding:8px 12px}.items-select-search-input:focus{border-color:#667eea;outline:none}.items-create-button-small{background:linear-gradient(135deg,#51cf66,#2f9e44);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;transition:transform .2s ease,box-shadow .2s ease;white-space:nowrap}.items-create-button-small:hover{box-shadow:0 2px 8px #2f9e4466;transform:translateY(-1px)}.items-create-button-small:active{transform:translateY(0)}.items-select-options{max-height:300px;overflow-y:auto;padding:4px 0}.items-select-option{color:#333;cursor:pointer;font-size:14px;padding:12px 16px;transition:background-color .2s ease}.items-select-option:hover{background-color:#f0f0f0}.items-select-empty{color:#999;font-size:14px;font-style:italic;padding:12px 16px;text-align:center}.items-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}.item-row{align-items:center;background:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;display:flex;justify-content:space-between;padding:12px;transition:background-color .2s ease}.item-row:hover{background:#f0f0f0}.item-info{display:flex;flex:1 1;flex-direction:column;gap:4px}.item-name{color:#333;font-size:16px;font-weight:600}.item-unit{color:#666;font-size:14px;font-style:italic}.item-remove-btn{background:#e0e0e0;border:none;border-radius:8px;color:#333;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;transition:background-color .2s ease,transform .2s ease}.item-remove-btn:hover{background:#d0d0d0;transform:translateY(-1px)}.item-remove-btn:active{transform:translateY(0)}.photo-remove-btn:hover{transform:translateY(-2px)}.photo-remove-btn:active{transform:translateY(0)}.expense-files{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-top:12px}.expense-file-item{aspect-ratio:4/3;background:#e9ecef;border-radius:6px;overflow:hidden;position:relative}.expense-file-item img{cursor:pointer;height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.expense-file-item img:hover{transform:scale(1.05)}.expense-file-loading{align-items:center;background:#f8f9fa;display:flex;flex-direction:column;height:100%;justify-content:center;width:100%}.expense-file-loading-spinner{animation:spin 1s linear infinite;border:3px solid #f3f3f3;border-radius:50%;border-top-color:#667eea;height:30px;margin-bottom:8px;width:30px}.expense-file-loading p{color:#666;font-size:12px;margin:0}.expense-file-error{align-items:center;background:#fff3cd;color:#856404;display:flex;font-size:12px;height:100%;justify-content:center;padding:10px;text-align:center;width:100%}.expense-file-error p{margin:0}.image-modal-content img{border-radius:8px;max-height:90vh;max-width:100%;object-fit:contain}@media (max-width:768px){.expense-detail-value{font-size:14px}}.entity-table-container{border:1px solid #e0e0e0;border-radius:8px;overflow-x:auto;position:relative}.entity-table-header{position:absolute;right:8px;top:8px;z-index:10}.entity-table-config-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;box-shadow:0 2px 8px #0003;color:#fff;cursor:pointer;display:flex;font-size:18px;height:36px;justify-content:center;padding:0;transition:transform .2s ease,box-shadow .2s ease;width:36px}.entity-table-config-button:hover{box-shadow:0 4px 12px #0000004d;transform:translateY(-2px)}.entity-table-config-button:active{transform:translateY(0)}.entity-table{background:#fff;border-collapse:collapse;font-size:14px;width:100%}.entity-table thead{background:linear-gradient(135deg,#f5f7fa,#c3cfe2)}.entity-table th{border-bottom:2px solid #e0e0e0;color:#333;font-size:12px;font-weight:600;letter-spacing:.5px;padding:16px;text-align:left;text-transform:uppercase}.entity-table tbody tr{border-bottom:1px solid #f0f0f0;transition:background-color .2s ease}.entity-table tbody tr:hover{background-color:#f8f9fa}.entity-table tbody tr:last-child{border-bottom:none}.entity-table td{color:#333;padding:16px;vertical-align:middle}.column-config-dialog{padding:24px}.column-config-description{color:#666;font-size:14px;margin:0 0 16px}.column-config-list{display:flex;flex-direction:column;gap:12px}.column-config-item{align-items:center;border-radius:8px;cursor:pointer;display:flex;gap:12px;padding:12px;transition:background-color .2s ease}.column-config-item:hover{background-color:#f5f5f5}.column-config-item input[type=checkbox]{accent-color:#667eea;cursor:pointer;height:18px;width:18px}.column-config-item span{color:#333;font-size:14px;font-weight:500}@media (max-width:768px){.hide-mobile{display:none}.entity-table{font-size:12px}.entity-table td,.entity-table th{padding:12px 8px}.entity-table-header{right:4px;top:4px}.entity-table-config-button{font-size:16px;height:32px;width:32px}}.expense-name{text-align:left}@media (max-width:768px){.expense-name{font-size:16px;max-width:none;width:100%}.expense-name.mobile-clickable{border-radius:8px;cursor:pointer;padding:16px;transition:background-color .2s ease}.expense-name.mobile-clickable:hover{background-color:#f0f0f0}.expense-name.mobile-clickable:active{background-color:#e0e0e0}}.status-badge.status-todo{background-color:#ffc107;color:#333}.status-badge.status-in-progress{background-color:#17a2b8;color:#fff}.status-badge.status-completed,.status-badge.status-done{background-color:#28a745;color:#fff}.task-back-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:6px;margin-bottom:20px;padding:8px 16px;transition:transform .2s ease,box-shadow .2s ease}.task-back-button:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.task-back-button:active{transform:translateY(0)}.task-children-section{margin-top:20px}.task-children-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:12px}.create-child-task-button{align-items:center;background:linear-gradient(135deg,#51cf66,#2f9e44);border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:6px;padding:8px 16px;transition:transform .2s ease,box-shadow .2s ease}.create-child-task-button:hover{box-shadow:0 4px 12px #51cf6666;transform:translateY(-2px)}.create-child-task-button:active{transform:translateY(0)}.create-expense-button{align-items:center;background:linear-gradient(135deg,#ff6b6b,#ee5a6f);border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:6px;justify-content:center;padding:10px 20px;transition:transform .2s ease,box-shadow .2s ease;width:100%}.create-expense-button:hover{box-shadow:0 4px 12px #ff6b6b66;transform:translateY(-2px)}.create-expense-button:active{transform:translateY(0)}.no-children-message{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;color:#666;font-size:14px;padding:20px;text-align:center}.creating-child-task-notice{background:linear-gradient(135deg,#e7f5ff,#d0ebff);border:2px solid #4dabf7;border-radius:8px;color:#1864ab;font-size:14px;margin-bottom:20px;padding:12px 16px}.creating-child-task-notice strong{font-weight:600}.task-children-table-container{border:1px solid #e0e0e0;border-radius:8px;margin-top:12px;overflow-x:auto}.task-children-table{background:#fff;border-collapse:collapse;font-size:14px;width:100%}.task-children-table thead{background:linear-gradient(135deg,#f5f7fa,#c3cfe2)}.task-children-table th{border-bottom:2px solid #e0e0e0;color:#333;font-size:12px;font-weight:600;letter-spacing:.5px;padding:12px 16px;text-align:left;text-transform:uppercase}.task-children-table tbody tr{border-bottom:1px solid #f0f0f0;transition:background-color .2s ease}.task-children-table tbody tr:hover{background-color:#f8f9fa}.task-children-table tbody tr:last-child{border-bottom:none}.task-children-table td{color:#333;padding:12px 16px;vertical-align:middle}.child-task-name{color:#333;font-weight:600}.child-task-progress{min-width:150px}.child-task-progress-container{align-items:center;display:flex;gap:12px}.child-task-progress-bar{background-color:#e9ecef;border-radius:4px;flex:1 1;height:8px;overflow:hidden}.child-task-progress-fill{border-radius:4px;height:100%;transition:width .3s ease,background-color .3s ease}.child-task-progress-text{color:#666;font-size:12px;font-weight:600;min-width:40px;text-align:right}.child-task-details-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:6px 12px;transition:transform .2s ease,box-shadow .2s ease}.child-task-details-button:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.child-task-details-button:active{transform:translateY(0)}@media (max-width:768px){.task-detail-value{font-size:14px}.task-children-table-container{overflow-x:scroll}.task-children-table{font-size:12px}.task-children-table td,.task-children-table th{padding:8px 12px}.child-task-progress-container{align-items:stretch;flex-direction:column;gap:4px}.child-task-progress-text{min-width:auto;text-align:left}.task-children-header{align-items:stretch;flex-direction:column}.create-child-task-button{justify-content:center;width:100%}}.task-expenses-section{margin-top:20px}.task-expenses-table-container{border:1px solid #e0e0e0;border-radius:8px;margin-top:12px;overflow-x:auto}.generic-screen-container{background:linear-gradient(135deg,#667eea,#764ba2);box-sizing:border-box;height:100vh;overflow:hidden;padding:40px 20px}.generic-screen-content{background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;box-sizing:border-box;display:flex;flex-direction:column;height:100%;margin:0 auto;max-width:1200px;padding:40px;position:relative}.generic-screen-back-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:4px;left:20px;margin:0;padding:6px 12px;position:absolute;top:20px;transition:transform .2s ease,box-shadow .2s ease}.generic-screen-back-button:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.generic-screen-back-button:active{transform:translateY(0)}.generic-screen-options-menu-container{position:absolute;right:20px;top:20px;z-index:100}.generic-screen-options-menu-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;box-shadow:0 4px 12px #0003;color:#fff;cursor:pointer;display:flex;font-size:20px;height:44px;justify-content:center;transition:transform .2s ease,box-shadow .2s ease;width:44px}.generic-screen-options-menu-button:hover{box-shadow:0 6px 16px #0000004d;transform:translateY(-2px)}.generic-screen-options-menu-button:active{transform:translateY(0)}.generic-screen-options-menu-dropdown{animation:slideDown .2s ease;background:#fff;border-radius:8px;box-shadow:0 4px 20px #0003;min-width:150px;overflow:hidden;position:absolute;right:0;top:54px}.generic-screen-options-menu-item{background:#fff;border:none;color:#333;cursor:pointer;font-size:14px;font-weight:500;padding:12px 20px;text-align:left;transition:background-color .2s ease;width:100%}.generic-screen-options-menu-item:hover{background-color:#f5f5f5}.generic-screen-options-menu-item:active{background-color:#e9ecef}.generic-screen-content h1{color:#333;font-size:32px;font-weight:600;margin:0 0 30px;padding-top:20px}.generic-screen-body{flex:1 1;margin-top:20px;min-height:0;overflow-y:auto}@media (max-width:768px){.generic-screen-container{padding:0}.generic-screen-content{border-radius:0;height:100vh;margin:0;max-width:none;padding:0}.generic-screen-content h1{font-size:24px;padding-top:60px}.generic-screen-options-menu-container{right:15px;top:15px}.generic-screen-options-menu-button{font-size:18px;height:40px;width:40px}}.project-screen-container{background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;padding:40px 20px}.project-screen-content{background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;margin:0 auto;max-width:1200px;padding:40px}.project-screen-back-button{align-items:center;background:#0000;border:2px solid #667eea;border-radius:8px;color:#667eea;cursor:pointer;display:inline-flex;font-size:16px;font-weight:500;gap:8px;margin-bottom:20px;padding:10px 20px;transition:all .2s ease}.project-screen-back-button:hover{background:#667eea;color:#fff;transform:translateX(-4px)}.project-screen-back-button:active{transform:translateX(-2px)}.project-screen-content h1{color:#333;font-size:32px;font-weight:600;margin:0 0 20px}.project-screen-content p{color:#666;font-size:16px;line-height:1.6;margin:10px 0}.project-screen-buttons{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,1fr);margin-top:40px;padding:20px}.project-screen-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;box-shadow:0 4px 15px #667eea4d;color:#fff;cursor:pointer;display:flex;font-size:20px;font-weight:600;justify-content:center;min-height:120px;padding:30px 20px;transition:transform .2s ease,box-shadow .2s ease}.project-screen-button:hover{box-shadow:0 6px 25px #667eea80;transform:translateY(-4px)}.project-screen-button:active{transform:translateY(-2px)}@media (max-width:768px){.project-screen-buttons{gap:16px;grid-template-columns:1fr}.project-screen-button{font-size:18px;min-height:100px;padding:24px 16px}}.pie-chart-container{flex-direction:column;gap:24px;padding:20px 0}.pie-chart-svg{transition:transform .3s ease}.pie-chart-svg:hover{transform:scale(1.05)}.pie-segment{cursor:pointer;transition:opacity .2s ease}.pie-segment:hover{opacity:.8}.pie-chart-legend{display:flex;flex-direction:column;gap:8px;max-width:300px;width:100%}.pie-chart-legend-item{align-items:center;background:#ffffffb3;border-radius:6px;display:flex;gap:8px;padding:6px 10px;transition:background-color .2s ease}.pie-chart-legend-item:hover{background:#ffffffe6}.pie-chart-legend-color{border-radius:3px;box-shadow:0 2px 4px #0000001a;flex-shrink:0;height:16px;width:16px}.pie-chart-legend-text{display:flex;flex:1 1;flex-direction:column;gap:2px}.pie-chart-legend-label{color:#333;font-size:13px;font-weight:600;text-transform:capitalize}.pie-chart-legend-value{color:#666;font-size:11px;font-weight:500}.pie-chart-empty{color:#666;font-size:14px;padding:40px;text-align:center}@media (max-width:768px){.pie-chart-container{gap:16px;padding:16px 0}.pie-chart-svg{height:160px;width:160px}.pie-chart-legend{max-width:100%}}.task-name-cell{text-align:left}@media (max-width:768px){.task-name{font-size:16px;max-width:none;width:100%}.task-name.mobile-clickable{border-radius:8px;cursor:pointer;padding:16px;transition:background-color .2s ease}.task-name.mobile-clickable:hover{background-color:#f0f0f0}.task-name.mobile-clickable:active{background-color:#e0e0e0}}.project-detail-container{background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;padding:40px 20px}.project-detail-content{background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;margin:0 auto;max-width:1200px;padding:40px;position:relative}.back-button{left:20px;margin:0;position:absolute;top:20px}.project-detail-content h1{color:#333;font-size:32px;font-weight:600;margin:0 0 10px}.project-dates{display:flex;flex-wrap:wrap;gap:30px;margin:0 0 30px}.project-date{color:#666;font-size:16px}.project-date .date-label{color:#333;font-weight:600;margin-right:8px}.project-summary{margin-left:20px;margin-right:20px;margin-top:40px}.project-summary h2{color:#333;font-size:24px;font-weight:600;margin:0 0 30px}.summary-cards{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:40px}.summary-card{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);border-radius:12px;box-shadow:0 2px 10px #0000001a;padding:24px;transition:transform .2s ease,box-shadow .2s ease}.summary-card:hover{box-shadow:0 4px 15px #00000026;transform:translateY(-2px)}.summary-card.over-budget{background:linear-gradient(135deg,#ffe5e5,#fcc);border:2px solid #ff6b6b}.summary-card.under-budget{background:linear-gradient(135deg,#e5ffe5,#cfc);border:2px solid #51cf66}.summary-card-label{color:#666;font-size:14px;font-weight:600;letter-spacing:.5px;margin-bottom:12px;text-transform:uppercase}.summary-card-value{color:#333;font-size:28px;font-weight:700}.summary-card-value.budget-value{color:#667eea}.summary-card-value.planned-value{color:#4dabf7}.summary-card-value.actual-value.red{color:#e03131}.summary-card-value.actual-value.green{color:#2f9e44}.cost-chart-container{margin-top:40px}.cost-chart-container h3{color:#333;font-size:20px;font-weight:600;margin:0 0 24px}.chart-wrapper{background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;padding:30px}.chart-bars{display:flex;flex-direction:column;gap:24px}.chart-bar-container{align-items:center;display:flex;gap:16px}.chart-bar-label{color:#495057;font-size:14px;font-weight:600;min-width:80px;text-align:right}.chart-bar-bg{background:#e9ecef;flex:1 1;height:50px;overflow:hidden}.chart-bar,.chart-bar-bg{border-radius:8px;position:relative}.chart-bar{align-items:center;display:flex;height:100%;justify-content:flex-end;padding:0 12px;transition:width .5s ease}.chart-bar.planned-bar{background:linear-gradient(90deg,#4dabf7,#339af0)}.chart-bar.actual-bar.red{background:linear-gradient(90deg,#ff6b6b,#e03131)}.chart-bar.actual-bar.green{background:linear-gradient(90deg,#51cf66,#2f9e44)}.chart-bar.budget-bar{background:linear-gradient(90deg,#667eea,#764ba2);border:2px dashed #667eea;opacity:.3}.chart-bar-value{color:#fff;font-size:14px;font-weight:600;text-shadow:0 1px 2px #0003;white-space:nowrap}.budget-bar .chart-bar-value{color:#667eea;text-shadow:none}.project-progress{margin-top:50px}.project-progress h2{color:#333;font-size:24px;font-weight:600;margin:0 0 30px}.progress-cards{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(400px,1fr))}.progress-card{background:#fff;border:2px solid #e9ecef;border-radius:12px;box-shadow:0 2px 10px #0000001a;padding:24px;transition:transform .2s ease,box-shadow .2s ease}.progress-card:hover{box-shadow:0 4px 15px #00000026;transform:translateY(-2px)}.progress-card.behind-schedule{background:linear-gradient(135deg,#fff5f5,#ffe5e5);border-color:#ff6b6b}.progress-card.on-schedule{background:linear-gradient(135deg,#f0fff4,#e5ffe5);border-color:#51cf66}.progress-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.progress-card-label{color:#333;font-size:16px;font-weight:600}.progress-status{border-radius:20px;font-size:12px;font-weight:700;letter-spacing:.5px;padding:6px 12px;text-transform:uppercase}.progress-status.red{background-color:#ff6b6b;color:#fff}.progress-status.green{background-color:#51cf66;color:#fff}.progress-stats{display:flex;flex-direction:column;gap:16px;margin-bottom:20px}.progress-stat{align-items:center;background:#ffffffb3;border-radius:8px;display:flex;justify-content:space-between;padding:12px}.progress-stat-label{color:#666;font-size:14px;font-weight:500}.progress-stat-value{font-size:20px;font-weight:700}.progress-stat-value.red{color:#e03131}.progress-stat-value.green{color:#2f9e44}.progress-stat-value.planned{color:#4dabf7}.progress-bar-container{margin-top:16px}.progress-bar-bg{background:#e9ecef;height:32px;overflow:hidden;width:100%}.progress-bar-bg,.progress-bar-fill{border-radius:16px;position:relative}.progress-bar-fill{align-items:center;display:flex;height:100%;justify-content:center;transition:width .5s ease}.progress-bar-fill.red{background:linear-gradient(90deg,#ff6b6b,#e03131)}.progress-bar-fill.green{background:linear-gradient(90deg,#51cf66,#2f9e44)}.progress-bar-text{color:#fff;font-size:14px;font-weight:700;left:50%;position:absolute;text-shadow:0 1px 2px #0003;transform:translateX(-50%);white-space:nowrap}.dates-card,.tasks-status-card{background:linear-gradient(135deg,#f5f7fa,#c3cfe2)}.tasks-status-chart-container{width:100%}.expenses-type-card{background:linear-gradient(135deg,#f5f7fa,#c3cfe2)}.expenses-type-chart-container{width:100%}.expense-type-selector{background:#fff;border:1px solid #ddd;border-radius:6px;color:#333;cursor:pointer;font-size:14px;font-weight:500;padding:6px 12px;transition:border-color .2s ease,box-shadow .2s ease}.expense-type-selector:hover{border-color:#667eea}.expense-type-selector:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.date-info{display:flex;flex-direction:row;flex-wrap:wrap;gap:16px}.date-box{background:#fffc;border:1px solid #ffffff80;border-radius:6px;box-sizing:border-box;display:flex;flex:1 1;flex-direction:column;gap:8px;min-width:160px;padding:14px}.date-box-title{border-bottom:1px solid #667eea4d;color:#333;font-size:12px;font-weight:700;letter-spacing:.5px;margin-bottom:6px;padding-bottom:6px;text-transform:uppercase}.date-item{background:#ffffff80;border-radius:4px;display:flex;flex-direction:column;gap:5px;padding:8px}.date-label{color:#666;font-size:11px;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.date-value{color:#333;font-size:15px;font-weight:600}.tasks-section{margin-top:50px}.tasks-section h2{color:#333;font-size:24px;font-weight:600;margin:0 0 24px}.no-tasks,.tasks-error,.tasks-loading,.tasks-table-container{border-radius:12px;box-shadow:0 2px 10px #0000001a}.no-tasks,.tasks-error,.tasks-loading{background:#fff;color:#666;font-size:16px;padding:40px;text-align:center}.tasks-error{background:#fff5f5;border:1px solid #fcc}.tasks-table{border-radius:12px;overflow:hidden}.tasks-table thead{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.tasks-table th{font-size:14px}.tasks-table tbody tr{border-bottom:1px solid #e9ecef}.tasks-table td{font-size:14px}.task-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-badge{display:inline-block}.status-completed{background-color:#d4edda;color:#155724}.status-in-progress{background-color:#fff3cd;color:#856404}.status-not-started{background-color:#f8d7da;color:#721c24}.progress-cell{align-items:center;display:flex;gap:12px}.progress-bar-small{background-color:#e9ecef;border-radius:4px;flex:1 1;height:8px;min-width:100px;overflow:hidden}.progress-bar-fill-small{background:linear-gradient(90deg,#51cf66,#2f9e44);border-radius:4px;height:100%;transition:width .3s ease}.progress-text{color:#666;font-size:12px;font-weight:600;min-width:40px;text-align:right}.details-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:8px 16px;transition:transform .2s ease,box-shadow .2s ease;white-space:nowrap}.details-button:hover{box-shadow:0 2px 8px #667eea66;transform:translateY(-1px)}.details-button:active{transform:translateY(0)}@media (max-width:768px){.project-progress{margin-left:20px;margin-right:20px;margin-top:50px}.summary-cards{grid-template-columns:1fr}.chart-bar-container{align-items:flex-start;flex-direction:column}.chart-bar-label{min-width:auto;text-align:left}.chart-bar-bg{width:100%}.progress-cards{grid-template-columns:1fr}.date-info{flex-direction:column}.date-box{max-width:100%;min-width:100%;width:100%}.hide-mobile{display:none}.tasks-table{font-size:12px}.tasks-table td,.tasks-table th{padding:12px 8px}.task-name{font-size:16px;max-width:none;width:100%}.task-name.mobile-clickable{border-radius:8px;cursor:pointer;padding:16px;transition:background-color .2s ease}.task-name.mobile-clickable:hover{background-color:#f0f0f0}.task-name.mobile-clickable:active{background-color:#e0e0e0}.progress-cell{align-items:center;flex-direction:row;gap:8px}.progress-bar-small{flex:1 1;min-width:80px}.progress-text{font-size:11px;min-width:35px;text-align:right}.details-button{font-size:11px;padding:6px 12px}}.dialog-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.generic-dialog-content{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}.dialog-header{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:24px}.dialog-header h2{color:#333;font-size:24px;font-weight:600;margin:0}.dialog-close-button{align-items:center;background:none;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;font-size:32px;height:32px;justify-content:center;padding:0;transition:background-color .2s ease,color .2s ease;width:32px}.dialog-close-button:hover{background-color:#f0f0f0;color:#333}.dialog-body{flex:1 1;padding:24px}.delayed-label{background:linear-gradient(135deg,#ffe5e5,#fcc);border:2px solid #ff6b6b;border-radius:8px;color:#c33;font-size:14px;font-weight:600;margin-bottom:24px;padding:12px 16px;text-align:center}.task-detail-item{border-bottom:1px solid #f0f0f0;display:flex;flex-direction:column;margin-bottom:20px;padding-bottom:20px}.task-detail-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.task-detail-label{color:#666;font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.task-detail-value{color:#333;font-size:16px;word-break:break-word}.task-id-value{color:#555;font-family:Courier New,monospace;font-size:14px}.pie-chart-container{align-items:center;display:flex;justify-content:center;margin-top:8px}.pie-chart{transition:transform .3s ease}.pie-chart:hover{transform:scale(1.05)}.pie-chart-progress{transition:stroke-dashoffset .5s ease}.pie-chart-text{fill:#333;font-size:20px;font-weight:700}.dialog-footer{border-top:1px solid #e9ecef;display:flex;gap:12px;justify-content:flex-end;padding:24px}.dialog-delete-btn{background:linear-gradient(135deg,#ff6b6b,#e03131);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:transform .2s ease,box-shadow .2s ease}.dialog-delete-btn:hover{box-shadow:0 4px 12px #ff6b6b66;transform:translateY(-2px)}.dialog-delete-btn:active{transform:translateY(0)}.dialog-edit-btn{background:linear-gradient(135deg,#4dabf7,#339af0);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:transform .2s ease,box-shadow .2s ease}.dialog-edit-btn:hover{box-shadow:0 4px 12px #4dabf766;transform:translateY(-2px)}.dialog-edit-btn:active{transform:translateY(0)}.dialog-close-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:transform .2s ease,box-shadow .2s ease}.dialog-close-btn:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.dialog-close-btn:active{transform:translateY(0)}.task-input{border:2px solid #e0e0e0;border-radius:8px;box-sizing:border-box;font-family:inherit;font-size:16px;padding:12px 16px;transition:border-color .3s ease;width:100%}.task-input:focus{border-color:#667eea;outline:none}.task-input::placeholder{color:#999}.progress-slider{-webkit-appearance:none;appearance:none;background:#e0e0e0;border-radius:4px;cursor:pointer;height:8px;margin-top:8px;outline:none;width:100%}.progress-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;box-shadow:0 2px 6px #0003;cursor:pointer;height:20px;-webkit-transition:transform .2s ease,box-shadow .2s ease;transition:transform .2s ease,box-shadow .2s ease;width:20px}.progress-slider::-webkit-slider-thumb:hover{box-shadow:0 3px 8px #667eea66;transform:scale(1.1)}.progress-slider::-moz-range-thumb{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:50%;box-shadow:0 2px 6px #0003;cursor:pointer;height:20px;-moz-transition:transform .2s ease,box-shadow .2s ease;transition:transform .2s ease,box-shadow .2s ease;width:20px}.progress-slider::-moz-range-thumb:hover{box-shadow:0 3px 8px #667eea66;transform:scale(1.1)}.progress-slider::-ms-thumb{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:50%;box-shadow:0 2px 6px #0003;cursor:pointer;height:20px;width:20px}.progress-slider::-ms-track{background:#e0e0e0;border-color:#0000;border-radius:4px;color:#0000;cursor:pointer;height:8px;width:100%}.photo-upload-container{display:flex;flex-direction:column;gap:12px}.photo-select-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-block;font-size:14px;font-weight:600;padding:10px 20px;text-align:center;transition:transform .2s ease,box-shadow .2s ease;width:-webkit-fit-content;width:fit-content}.photo-select-button:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.photo-select-button:active{transform:translateY(0)}.photos-preview-list{display:flex;flex-direction:column;gap:16px;margin-top:12px}.photo-preview-container{background:#f9f9f9;border:2px solid #e0e0e0;border-radius:8px;display:flex;flex-direction:column;gap:12px;padding:12px}.photo-preview-wrapper{display:inline-block;position:relative}.photo-uploaded-icon{align-items:center;background:linear-gradient(135deg,#51cf66,#2f9e44);border-radius:50%;box-shadow:0 2px 8px #0000004d;color:#fff;display:flex;font-size:20px;font-weight:700;height:32px;justify-content:center;position:absolute;right:8px;top:8px;width:32px;z-index:10}.photo-preview{background:#f5f5f5;border:2px solid #e0e0e0;border-radius:8px;max-height:300px;max-width:100%;object-fit:contain}.photo-preview-actions{display:flex;gap:12px}.photo-upload-btn{background:linear-gradient(135deg,#51cf66,#2f9e44);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:transform .2s ease,box-shadow .2s ease}.photo-upload-btn:hover:not(:disabled){box-shadow:0 4px 12px #2f9e4466;transform:translateY(-2px)}.photo-upload-btn:disabled{cursor:not-allowed;opacity:.5}.photo-remove-btn{background:#e0e0e0;border:none;border-radius:8px;color:#333;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:background-color .2s ease,transform .2s ease}.photo-remove-btn:hover{background:#d0d0d0;transform:translateY(-1px)}.dialog-cancel-btn{background:#f0f0f0;border:none;border-radius:8px;color:#333;cursor:pointer;font-size:16px;font-weight:600;margin-right:12px;padding:12px 24px;transition:background-color .2s ease}.dialog-cancel-btn:hover{background:#e0e0e0}.dialog-cancel-btn:active{background:#d0d0d0}.add-button-container{align-items:flex-end;bottom:30px;display:flex;flex-direction:column;gap:16px;position:fixed;right:30px;z-index:100}.add-menu-buttons{animation:slideUp .3s ease;display:flex;flex-direction:column;gap:12px}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.add-menu-button{align-items:center;background:#fff;border:none;border-radius:30px;box-shadow:0 4px 15px #0003;color:#333;cursor:pointer;display:flex;font-size:14px;font-weight:600;justify-content:center;padding:12px 20px;transition:transform .2s ease,box-shadow .2s ease;white-space:nowrap}.add-menu-button:hover{box-shadow:0 6px 20px #0000004d;transform:translateX(-5px)}.add-menu-button:active{transform:translateX(-3px)}.add-menu-button-label{margin:0}.add-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:50%;box-shadow:0 4px 20px #0000004d;color:#fff;cursor:pointer;display:flex;font-size:36px;font-weight:300;height:60px;justify-content:center;transition:transform .3s ease,box-shadow .2s ease,background .3s ease;width:60px}.add-button:hover{box-shadow:0 6px 25px #0006;transform:scale(1.1)}.add-button:active{transform:scale(.95)}.add-button.expanded{background:linear-gradient(135deg,#ff6b6b,#e03131);transform:rotate(45deg)}@media (max-width:768px){.dialog-content{margin:10px;max-width:100%}.dialog-header h2{font-size:20px}.task-detail-value{font-size:14px}.add-button-container{bottom:20px;right:20px}.add-button{font-size:32px;height:56px;width:56px}.add-menu-button{font-size:13px;padding:10px 16px}}.post-container{background:#f8f9fa;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:20px;padding:20px;transition:transform .2s ease,box-shadow .2s ease}.post-container:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.post-meta{border-bottom:1px solid #e0e0e0;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:16px;padding-bottom:12px}.post-author,.post-meta{align-items:center;display:flex}.post-author{gap:8px}.post-author-label{color:#666;font-size:13px;font-weight:500}.post-author-name{color:#333;font-size:14px;font-weight:600}.post-date{align-items:center;display:flex;gap:8px}.post-date-label{color:#666;font-size:13px;font-weight:500}.post-date-value{color:#666;font-size:13px;font-weight:400}.post-header{flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:16px}.post-header,.post-status{align-items:center;display:flex}.status-badge{border-radius:20px;font-size:12px;font-weight:600;letter-spacing:.5px;padding:6px 12px;text-transform:uppercase}.status-pending{background-color:#ffc107;color:#333}.status-in-progress{background-color:#17a2b8;color:#fff}.status-completed{background-color:#28a745;color:#fff}.status-on-hold{background-color:#dc3545;color:#fff}.post-progress{flex:1 1;min-width:200px}.progress-label{color:#333;font-size:14px;font-weight:600;margin-bottom:8px}.progress-bar{background-color:#e9ecef;border-radius:4px;height:8px;overflow:hidden;width:100%}.progress-fill{background:linear-gradient(90deg,#667eea,#764ba2);border-radius:4px;height:100%;transition:width .3s ease}.post-source{align-items:flex-start;background:#e8f4f8;border-left:4px solid #667eea;border-radius:6px;cursor:pointer;display:flex;gap:12px;margin-bottom:16px;padding:12px 16px;transition:background-color .2s ease,transform .2s ease}.post-source:hover{background-color:#d4e8f0;transform:translateX(2px)}.source-label{color:#666;flex-shrink:0;font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;white-space:nowrap}.source-name{color:#333;flex:1 1;font-size:15px;font-weight:500;line-height:1.5}.post-task-section{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:6px;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:16px;padding:16px}.task-name-display{align-items:center;display:flex;flex:1 1;gap:8px;min-width:200px}.task-name-label{color:#666;font-size:14px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.task-name-value{color:#333;font-size:16px;font-weight:600}.task-dates-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:transform .2s ease,box-shadow .2s ease;white-space:nowrap}.task-dates-button:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.task-dates-button:active{transform:translateY(0)}.task-dates{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.task-date-group{display:flex;flex-direction:column;gap:8px}.task-date-row{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:8px 0}.task-date-row:last-child{border-bottom:none}.task-date-label{color:#666;font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.task-date-value{color:#333;font-size:14px;font-weight:500}.post-notes{margin-bottom:16px}.post-notes p{background:#fff;border-left:3px solid #667eea;border-radius:6px;color:#333;font-size:15px;line-height:1.6;margin:0;padding:12px}.post-files{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-top:16px}.file-item{aspect-ratio:4/3;background:#e9ecef;border-radius:6px;overflow:hidden;position:relative}.file-item img{cursor:pointer;height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.file-item img:hover{transform:scale(1.05)}.file-loading{align-items:center;background:#f8f9fa;display:flex;flex-direction:column;height:100%;justify-content:center;width:100%}.file-loading-spinner{animation:spin 1s linear infinite;border:3px solid #f3f3f3;border-radius:50%;border-top-color:#667eea;height:30px;margin-bottom:8px;width:30px}.file-loading p{color:#666;font-size:12px;margin:0}.file-error{align-items:center;background:#fff3cd;color:#856404;display:flex;font-size:12px;height:100%;justify-content:center;padding:10px;text-align:center;width:100%}.file-error p{margin:0}.image-modal-overlay{align-items:center;animation:fadeIn .3s ease;background-color:#000000e6;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:2000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.image-modal-content{max-height:90vh;max-width:90vw;position:relative}.image-modal-close,.image-modal-content{align-items:center;display:flex;justify-content:center}.image-modal-close{background:#ffffffe6;border:none;border-radius:50%;color:#333;cursor:pointer;font-size:28px;height:40px;line-height:1;padding:0;position:absolute;right:0;top:-40px;transition:background-color .2s ease,transform .2s ease;width:40px;z-index:2001}.image-modal-close:hover{background:#fff;transform:scale(1.1)}.image-modal-image{border-radius:8px;box-shadow:0 4px 20px #00000080;max-height:90vh;max-width:100%;object-fit:contain}@media (max-width:768px){.image-modal-close{font-size:24px;height:35px;top:-35px;width:35px}.image-modal-content{max-height:95vh;max-width:95vw}}.modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.modal-content{animation:modalFadeIn .3s ease;background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000004d;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.modal-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:20px}.modal-title{color:#333;font-size:24px;font-weight:600;margin:0}.modal-close-button{align-items:center;background:none;border:none;border-radius:4px;color:#666;cursor:pointer;display:flex;font-size:32px;height:32px;justify-content:center;padding:0;transition:background-color .2s ease,color .2s ease;width:32px}.modal-close-button:hover{background-color:#f0f0f0;color:#333}.modal-body{padding:20px}.modal-body .task-dates{margin-top:0}@media (max-width:768px){.post-header,.post-meta{align-items:flex-start;flex-direction:column}.post-progress{width:100%}.post-source{flex-direction:column;gap:8px}.source-label{font-size:12px}.source-name{font-size:14px}.task-dates{grid-template-columns:1fr}.post-files{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.post-task-section{align-items:flex-start;flex-direction:column}.task-dates-button,.task-name-display{width:100%}.modal-content{margin:10px;max-width:100%}.modal-header{padding:16px}.modal-title{font-size:20px}.modal-body{padding:16px}}.feed-container{background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;padding:40px 20px}.feed-content{background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;margin:0 auto;max-width:1200px;padding:40px;position:relative}.feed-content h1{color:#333;font-size:32px;font-weight:600;margin:0 0 20px}.feed-content p{color:#666;font-size:16px;margin-bottom:30px}.posts-list{margin-top:30px}.back-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:4px;margin:0 0 20px;padding:6px 12px;transition:transform .2s ease,box-shadow .2s ease}.back-button:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.back-button:active{transform:translateY(0)}.load-more-container{display:flex;justify-content:center;margin-top:40px;padding-top:30px}.load-more-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;min-width:150px;padding:12px 32px;transition:transform .2s ease,box-shadow .2s ease}.load-more-button:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.load-more-button:active{transform:translateY(0)}.load-more-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;margin-top:30px;padding:60px 20px}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#667eea;height:50px;margin-bottom:20px;width:50px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-container p{color:#666;font-size:16px;margin:0}.error-container{align-items:center;background:#fff3cd;border:1px solid #ffc107;border-radius:8px;display:flex;flex-direction:column;justify-content:center;margin-top:30px;padding:40px 20px}.error-message{color:#856404;font-size:16px;margin:0 0 20px;text-align:center}.retry-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px;transition:transform .2s ease,box-shadow .2s ease}.retry-button:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.retry-button:active{transform:translateY(0)}.no-posts{color:#666;font-size:16px;margin-top:30px;padding:60px 20px;text-align:center}.multi-select-container{position:relative;width:100%}.multi-select-input{align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:6px;cursor:pointer;display:flex;justify-content:space-between;min-height:44px;padding:10px 14px;transition:all .2s ease}.multi-select-input:hover{border-color:#667eea}.multi-select-input.multi-select-open{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.multi-select-selected{align-items:center;display:flex;flex:1 1;gap:8px;min-height:24px}.multi-select-placeholder{color:#999;font-size:14px}.multi-select-chips{display:flex;flex-wrap:wrap;gap:6px}.multi-select-chip{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;color:#fff;display:inline-flex;font-size:13px;font-weight:500;gap:6px;padding:4px 10px}.multi-select-chip-remove{align-items:center;background:none;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:18px;height:18px;justify-content:center;line-height:1;padding:0;transition:background-color .2s ease;width:18px}.multi-select-chip-remove:hover{background-color:#fff3}.multi-select-arrow{color:#666;flex-shrink:0;font-size:12px;margin-left:8px;transition:transform .2s ease}.multi-select-dropdown{animation:slideDown .2s ease;background:#fff;border:2px solid #e0e0e0;border-radius:6px;box-shadow:0 4px 12px #00000026;left:0;max-height:300px;overflow-y:auto;position:absolute;right:0;top:calc(100% + 4px);z-index:1000}.multi-select-option{align-items:center;border-bottom:1px solid #f0f0f0;cursor:pointer;display:flex;gap:10px;padding:12px 14px;transition:background-color .2s ease}.multi-select-option:last-child{border-bottom:none}.multi-select-option:hover{background-color:#f8f9fa}.multi-select-option-selected{background-color:#f0f4ff}.multi-select-option input[type=checkbox]{accent-color:#667eea;cursor:pointer;flex-shrink:0;height:18px;width:18px}.multi-select-option span{color:#333;flex:1 1;font-size:14px}.multi-select-empty{color:#999;font-size:14px;font-style:italic;padding:20px;text-align:center}.multi-select-dropdown::-webkit-scrollbar{width:8px}.multi-select-dropdown::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.multi-select-dropdown::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.multi-select-dropdown::-webkit-scrollbar-thumb:hover{background:#555}.entities-screen-container{background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;padding:40px 20px}.entities-screen-content{background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;margin:0 auto;max-width:1200px;padding:40px;position:relative}.entities-screen-back-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:4px;left:20px;margin:0;padding:6px 12px;position:absolute;top:20px;transition:transform .2s ease,box-shadow .2s ease}.entities-screen-back-button:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.entities-screen-back-button:active{transform:translateY(0)}.entities-screen-content h1{color:#333;font-size:32px;font-weight:600;margin:0 0 30px;padding-top:20px}.entities-filter-toggle-container{margin-bottom:20px}.entities-filter-toggle-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;padding:10px 20px;transition:transform .2s ease,box-shadow .2s ease}.entities-filter-toggle-button:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.entities-filter-toggle-button:active{transform:translateY(0)}.entities-filter-section{grid-gap:20px;background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:30px;padding:20px}.entities-filter-group{display:flex;flex-direction:column}.entities-filter-label{color:#333;display:block;font-size:14px;font-weight:600;letter-spacing:.5px;margin-bottom:12px;text-transform:uppercase}.entities-filter-date-group{grid-column:1/-1}.entities-date-inputs{display:flex;flex-wrap:wrap;gap:16px}.entities-date-input-wrapper{display:flex;flex:1 1;flex-direction:column;gap:8px;min-width:200px}.entities-date-label{color:#666;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.entities-date-input{background:#fff;border:2px solid #e0e0e0;border-radius:6px;color:#333;font-size:14px;padding:10px 14px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.entities-date-input:hover{border-color:#667eea}.entities-date-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.entities-filter-actions{border-top:1px solid #e0e0e0;display:flex;gap:12px;grid-column:1/-1;justify-content:flex-end;margin-top:10px;padding-top:10px}.entities-filter-clear-button{background:linear-gradient(135deg,#ff6b6b,#ee5a6f);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease}.entities-filter-clear-button:hover:not(:disabled){box-shadow:0 4px 12px #ff6b6b66;transform:translateY(-2px)}.entities-filter-clear-button:active:not(:disabled){transform:translateY(0)}.entities-filter-clear-button:disabled{cursor:not-allowed;opacity:.5}.entities-filter-refresh-button{align-items:center;background:linear-gradient(135deg,#4dabf7,#339af0);border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:6px;padding:10px 20px;transition:transform .2s ease,box-shadow .2s ease}.entities-filter-refresh-button:hover{box-shadow:0 4px 12px #4dabf766;transform:translateY(-2px)}.entities-filter-refresh-button:active{transform:translateY(0)}.entities-screen-header{align-items:center;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:30px}.entities-summary{display:flex;flex-wrap:wrap;gap:30px}.entities-summary-item{display:flex;flex-direction:column;gap:8px}.entities-summary-label{color:#666;font-size:14px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.entities-summary-value{color:#667eea;font-size:24px;font-weight:700}.entities-screen-create-button{background:linear-gradient(135deg,#51cf66,#2f9e44);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:transform .2s ease,box-shadow .2s ease;white-space:nowrap}.entities-screen-create-button:hover{box-shadow:0 4px 12px #51cf6666;transform:translateY(-2px)}.entities-screen-create-button:active{transform:translateY(0)}.entities-section{margin-top:30px}.entities-error,.entities-loading{color:#666;font-size:16px;padding:40px;text-align:center}.entities-error{color:#e03131}.no-entities{color:#666;font-size:16px;padding:60px 20px;text-align:center}.entities-table-container{border:1px solid #e0e0e0;border-radius:8px;overflow-x:auto}.entities-table{background:#fff;border-collapse:collapse;font-size:14px;width:100%}.entities-table thead{background:linear-gradient(135deg,#f5f7fa,#c3cfe2)}.entities-table th{border-bottom:2px solid #e0e0e0;color:#333;font-size:12px;font-weight:600;letter-spacing:.5px;padding:16px;text-align:left;text-transform:uppercase}.entities-table tbody tr{border-bottom:1px solid #f0f0f0;transition:background-color .2s ease}.entities-table tbody tr:hover{background-color:#f8f9fa}.entities-table tbody tr:last-child{border-bottom:none}.entities-table td{color:#333;padding:16px;vertical-align:middle}@media (max-width:768px){.entities-screen-content{padding:20px}.entities-screen-content h1{font-size:24px;padding-top:60px}.entities-screen-header{align-items:stretch;flex-direction:column;margin-left:20px;margin-right:20px}.entities-summary{justify-content:space-between;width:100%}.entities-screen-create-button{width:100%}.hide-mobile{display:none}.entities-table{font-size:12px}.entities-table td,.entities-table th{padding:12px 8px}.entities-filter-section{gap:16px;grid-template-columns:1fr;padding:16px}.entities-date-inputs{flex-direction:column}.entities-date-input-wrapper{min-width:100%}}.expenses-screen-container{background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;padding:40px 20px}.expenses-screen-content{background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;margin:0 auto;max-width:1200px;padding:40px;position:relative}.expenses-screen-back-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:4px;left:20px;margin:0;padding:6px 12px;position:absolute;top:20px;transition:transform .2s ease,box-shadow .2s ease}.expenses-screen-back-button:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.expenses-screen-back-button:active{transform:translateY(0)}.expenses-screen-content h1{color:#333;font-size:32px;font-weight:600;margin:0 0 30px;padding-top:20px}.expenses-filter-toggle-container{margin-bottom:20px}.expenses-filter-toggle-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;padding:10px 20px;transition:transform .2s ease,box-shadow .2s ease}.expenses-filter-toggle-button:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.expenses-filter-toggle-button:active{transform:translateY(0)}.expenses-filter-section{grid-gap:20px;background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:30px;padding:20px}.expenses-filter-group{display:flex;flex-direction:column}.expenses-filter-label{color:#333;display:block;font-size:14px;font-weight:600;letter-spacing:.5px;margin-bottom:12px;text-transform:uppercase}.expenses-filter-date-group{grid-column:1/-1}.expenses-date-inputs{display:flex;flex-wrap:wrap;gap:16px}.expenses-date-input-wrapper{display:flex;flex:1 1;flex-direction:column;gap:8px;min-width:200px}.expenses-date-label{color:#666;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.expenses-date-input{background:#fff;border:2px solid #e0e0e0;border-radius:6px;color:#333;font-size:14px;padding:10px 14px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.expenses-date-input:hover{border-color:#667eea}.expenses-date-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.expenses-filter-actions{border-top:1px solid #e0e0e0;display:flex;gap:12px;grid-column:1/-1;justify-content:flex-end;margin-top:10px;padding-top:10px}.expenses-filter-clear-button{background:linear-gradient(135deg,#ff6b6b,#ee5a6f);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease}.expenses-filter-clear-button:hover:not(:disabled){box-shadow:0 4px 12px #ff6b6b66;transform:translateY(-2px)}.expenses-filter-clear-button:active:not(:disabled){transform:translateY(0)}.expenses-filter-clear-button:disabled{cursor:not-allowed;opacity:.5}.expenses-filter-refresh-button{align-items:center;background:linear-gradient(135deg,#4dabf7,#339af0);border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:6px;padding:10px 20px;transition:transform .2s ease,box-shadow .2s ease}.expenses-filter-refresh-button:hover{box-shadow:0 4px 12px #4dabf766;transform:translateY(-2px)}.expenses-filter-refresh-button:active{transform:translateY(0)}.expenses-screen-header{align-items:center;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:30px}.expenses-summary{display:flex;flex-wrap:wrap;gap:30px}.expenses-summary-item{display:flex;flex-direction:column;gap:8px}.expenses-summary-label{color:#666;font-size:14px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.expenses-summary-value{color:#667eea;font-size:24px;font-weight:700}.expenses-screen-create-button{background:linear-gradient(135deg,#51cf66,#2f9e44);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:transform .2s ease,box-shadow .2s ease;white-space:nowrap}.expenses-screen-create-button:hover{box-shadow:0 4px 12px #51cf6666;transform:translateY(-2px)}.expenses-screen-create-button:active{transform:translateY(0)}.expenses-section{margin-top:30px}.expenses-error,.expenses-loading{color:#666;font-size:16px;padding:40px;text-align:center}.expenses-error{color:#e03131}.no-expenses{color:#666;font-size:16px;padding:60px 20px;text-align:center}.expenses-table-container{border:1px solid #e0e0e0;border-radius:8px;overflow-x:auto}.expenses-table{background:#fff;border-collapse:collapse;font-size:14px;width:100%}.expenses-table thead{background:linear-gradient(135deg,#f5f7fa,#c3cfe2)}.expenses-table th{border-bottom:2px solid #e0e0e0;color:#333;font-size:12px;font-weight:600;letter-spacing:.5px;padding:16px;text-align:left;text-transform:uppercase}.expenses-table tbody tr{border-bottom:1px solid #f0f0f0;transition:background-color .2s ease}.expenses-table tbody tr:hover{background-color:#f8f9fa}.expenses-table tbody tr:last-child{border-bottom:none}.expenses-table td{color:#333;padding:16px;vertical-align:middle}.expense-name{color:#333;font-weight:600;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.expense-name.mobile-clickable{border-radius:8px;cursor:pointer;transition:background-color .2s ease}.expense-name.mobile-clickable:hover{background-color:#f0f0f0}.expense-name.mobile-clickable:active{background-color:#e0e0e0}.expense-class-badge,.expense-type-badge{border-radius:20px;display:inline-block;font-size:12px;font-weight:600;letter-spacing:.5px;padding:6px 12px;text-transform:uppercase}.expense-type-badge.expense-type-material{background-color:#ffc107;color:#333}.expense-type-badge.expense-type-service{background-color:#17a2b8;color:#fff}.expense-type-badge.expense-type-labor{background-color:#28a745;color:#fff}.expense-type-badge.expense-type-project{background-color:#6f42c1;color:#fff}.expense-type-badge.expense-type-document{background-color:#fd7e14;color:#fff}.expense-type-badge.expense-type-transport{background-color:#20c997;color:#fff}.expense-class-badge.expense-class-planning{background-color:#4dabf7;color:#fff}.expense-class-badge.expense-class-execution{background-color:#51cf66;color:#fff}.expense-value-cell{font-weight:600}.expense-value-value{color:#28a745;font-size:16px;font-weight:700}.expense-date-cell{font-size:14px}.expense-date-value{color:#666;font-size:13px}.expense-details-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;transition:transform .2s ease,box-shadow .2s ease}.expense-details-button:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.expense-details-button:active{transform:translateY(0)}@media (max-width:768px){.expenses-screen-content{padding:20px}.expenses-screen-content h1{font-size:24px;padding-top:60px}.expenses-screen-header{align-items:stretch;flex-direction:column}.expenses-summary{justify-content:space-between;width:100%}.expenses-screen-create-button{width:100%}.hide-mobile{display:none}.expenses-table{font-size:12px}.expenses-table td,.expenses-table th{padding:12px 8px}.expense-name{font-size:16px;max-width:none;width:100%}.expense-name.mobile-clickable{border-radius:8px;cursor:pointer;padding:16px;transition:background-color .2s ease}.expense-name.mobile-clickable:hover{background-color:#f0f0f0}.expense-name.mobile-clickable:active{background-color:#e0e0e0}.expenses-filter-section{gap:16px;grid-template-columns:1fr;padding:16px}.expenses-date-inputs{flex-direction:column}.expenses-date-input-wrapper{min-width:100%}}.gantt-container{background:#fafbfc;border-radius:12px;font-family:JetBrains Mono,SF Mono,Fira Code,monospace;overflow:hidden;width:100%}.gantt-wrapper{display:flex;max-height:60vh;min-height:300px;overflow-x:auto;overflow-y:hidden}.gantt-empty{align-items:center;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:12px;color:#6c757d;display:flex;font-size:16px;justify-content:center;min-height:200px}.gantt-left-panel{background:linear-gradient(180deg,#1a1d21,#212529);border-right:2px solid #343a40;display:flex;flex-direction:column;flex-shrink:0;left:0;min-width:280px;position:-webkit-sticky;position:sticky;width:280px;z-index:10}.gantt-task-header{background:linear-gradient(135deg,#0d6efd,#6610f2);color:#fff;font-size:11px;font-weight:700;justify-content:flex-start;letter-spacing:1.5px;padding-left:16px;text-transform:uppercase}.gantt-task-list{flex:1 1;overflow-y:auto}.gantt-task-row{align-items:center;border-bottom:1px solid #343a40;display:flex;height:44px;transition:background-color .15s ease}.gantt-task-row:hover{background:#0d6efd1a}.gantt-child-task{background:#0003}.gantt-child-task:hover{background:#0d6efd26}.gantt-task-name-cell{align-items:center;display:flex;gap:6px;overflow:hidden;width:100%}.gantt-expand-btn{align-items:center;background:none;border:none;border-radius:4px;color:#6c9eff;cursor:pointer;display:flex;flex-shrink:0;font-size:10px;height:20px;justify-content:center;padding:4px;transition:all .15s ease;width:20px}.gantt-expand-btn:hover{background:#6c9eff33;color:#a5c4ff}.gantt-expand-spacer{flex-shrink:0;width:20px}.gantt-task-name{color:#e9ecef;flex:1 1;font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gantt-right-panel{background:#212529;display:flex;flex:1 1;flex-direction:column;min-width:600px}.gantt-header-row{align-items:center;display:flex;flex-shrink:0;font-weight:600;height:36px;justify-content:center}.gantt-months-row{background:linear-gradient(135deg,#495057,#343a40);border-bottom:2px solid #0d6efd}.gantt-month-cell{align-items:center;border-right:1px solid #495057;box-sizing:border-box;color:#f8f9fa;display:flex;font-size:12px;font-weight:700;height:100%;justify-content:center;letter-spacing:.5px;text-transform:uppercase}.gantt-month-cell:last-child{border-right:none}.gantt-timeline{flex:1 1;overflow-y:auto;position:relative}.gantt-timeline-content{min-height:100%;position:relative}.gantt-grid{display:flex;height:100%;left:0;pointer-events:none;position:absolute;right:0;top:0}.gantt-grid-col{border-right:1px solid #343a40;box-sizing:border-box;height:100%}.gantt-grid-col:last-child{border-right:none}.gantt-bar-row,.gantt-bars{position:relative}.gantt-bar-row{align-items:center;border-bottom:1px solid #343a40;display:flex;height:44px}.gantt-bar{border-radius:6px;box-shadow:0 2px 8px #0000004d;cursor:pointer;height:24px;overflow:hidden;position:absolute;transition:all .2s ease}.gantt-bar:hover{box-shadow:0 4px 16px #0006;transform:scaleY(1.15);z-index:5}.gantt-bar-planned{opacity:.9;top:6px}.gantt-bar-actual{background:linear-gradient(90deg,#20c997,#0dcaf0);border-radius:4px;box-shadow:0 1px 4px #20c99766;height:8px;top:26px}.gantt-bar-actual:hover{transform:scaleY(1.5)}.gantt-status-todo{background:linear-gradient(135deg,#dc3545,#c92a2a)}.gantt-status-in-progress{background:linear-gradient(135deg,#0d6efd,#0b5ed7)}.gantt-status-done{background:linear-gradient(135deg,#198754,#157347)}.gantt-progress-fill{background:#ffffff40;border-radius:6px 0 0 6px;height:100%;left:0;pointer-events:none;position:absolute;top:0}.gantt-legend{align-items:center;background:linear-gradient(135deg,#212529,#343a40);border-top:2px solid #0d6efd;display:flex;flex-wrap:wrap;gap:24px;justify-content:center;padding:16px 20px}.gantt-legend-item{align-items:center;color:#e9ecef;display:flex;font-size:12px;font-weight:500;gap:8px}.gantt-legend-color{border-radius:4px;box-shadow:0 1px 4px #0000004d;height:12px;width:24px}.gantt-legend-planned{background:linear-gradient(135deg,#6c757d,#495057)}.gantt-legend-actual{background:linear-gradient(90deg,#20c997,#0dcaf0)}.gantt-legend-progress{background:#ffffff40;border:1px solid #fff6}.gantt-legend-todo{background:linear-gradient(135deg,#dc3545,#c92a2a)}.gantt-legend-in-progress{background:linear-gradient(135deg,#0d6efd,#0b5ed7)}.gantt-legend-done{background:linear-gradient(135deg,#198754,#157347)}.gantt-legend-divider{background:#495057;height:24px;width:1px}.gantt-task-list::-webkit-scrollbar,.gantt-timeline::-webkit-scrollbar,.gantt-wrapper::-webkit-scrollbar{height:8px;width:8px}.gantt-task-list::-webkit-scrollbar-track,.gantt-timeline::-webkit-scrollbar-track,.gantt-wrapper::-webkit-scrollbar-track{background:#1a1d21;border-radius:4px}.gantt-task-list::-webkit-scrollbar-thumb,.gantt-timeline::-webkit-scrollbar-thumb,.gantt-wrapper::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#495057,#343a40);border-radius:4px}.gantt-task-list::-webkit-scrollbar-thumb:hover,.gantt-timeline::-webkit-scrollbar-thumb:hover,.gantt-wrapper::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#6c757d,#495057)}@media (max-width:768px){.gantt-container{border-radius:0;display:flex;flex-direction:column;height:100%}.gantt-wrapper{flex:1 1;max-height:none;min-height:0}.gantt-left-panel{min-width:140px;width:140px}.gantt-task-name{font-size:11px}.gantt-legend{flex-shrink:0;gap:8px;padding:10px 12px}.gantt-legend-item{font-size:10px}.gantt-legend-color{height:10px;width:18px}.gantt-bar{height:20px}.gantt-bar-actual{height:6px;top:24px}.gantt-bar-row,.gantt-task-row{height:36px}.gantt-legend-divider{display:none}}.tasks-screen-container{background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;padding:40px 20px}.tasks-screen-content{background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;margin:0 auto;max-width:1200px;padding:40px;position:relative}.tasks-screen-back-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:4px;left:20px;margin:0;padding:6px 12px;position:absolute;top:20px;transition:transform .2s ease,box-shadow .2s ease}.tasks-screen-back-button:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.tasks-screen-back-button:active{transform:translateY(0)}.tasks-screen-content h1{color:#333;font-size:32px;font-weight:600;margin:0 0 30px;padding-top:20px}.tasks-filter-toggle-container{margin-bottom:20px}.tasks-filter-toggle-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;padding:10px 20px;transition:transform .2s ease,box-shadow .2s ease}.tasks-filter-toggle-button:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.tasks-filter-toggle-button:active{transform:translateY(0)}.tasks-filter-section{grid-gap:20px;background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:30px;padding:20px}.tasks-filter-group{display:flex;flex-direction:column}.tasks-filter-label{color:#333;display:block;font-size:14px;font-weight:600;letter-spacing:.5px;margin-bottom:12px;text-transform:uppercase}.tasks-filter-date-group{grid-column:1/-1}.tasks-date-inputs{display:flex;flex-wrap:wrap;gap:16px}.tasks-date-input-wrapper{display:flex;flex:1 1;flex-direction:column;gap:8px;min-width:200px}.tasks-date-label{color:#666;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.tasks-date-input{background:#fff;border:2px solid #e0e0e0;border-radius:6px;color:#333;font-size:14px;padding:10px 14px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.tasks-date-input:hover{border-color:#667eea}.tasks-date-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.tasks-filter-actions{border-top:1px solid #e0e0e0;display:flex;gap:12px;grid-column:1/-1;justify-content:flex-end;margin-top:10px;padding-top:10px}.tasks-filter-clear-button{background:linear-gradient(135deg,#ff6b6b,#ee5a6f);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease}.tasks-filter-clear-button:hover:not(:disabled){box-shadow:0 4px 12px #ff6b6b66;transform:translateY(-2px)}.tasks-filter-clear-button:active:not(:disabled){transform:translateY(0)}.tasks-filter-clear-button:disabled{cursor:not-allowed;opacity:.5}.tasks-filter-refresh-button{align-items:center;background:linear-gradient(135deg,#4dabf7,#339af0);border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:6px;padding:10px 20px;transition:transform .2s ease,box-shadow .2s ease}.tasks-filter-refresh-button:hover{box-shadow:0 4px 12px #4dabf766;transform:translateY(-2px)}.tasks-filter-refresh-button:active{transform:translateY(0)}.tasks-screen-header{align-items:center;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:30px}.tasks-summary{display:flex;flex-wrap:wrap;gap:30px}.tasks-summary-item{display:flex;flex-direction:column;gap:8px}.tasks-summary-label{color:#666;font-size:14px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.tasks-summary-value{color:#667eea;font-size:24px;font-weight:700}.tasks-summary-completed{color:#51cf66}.tasks-summary-in-progress{color:#4dabf7}.tasks-summary-todo{color:#ff6b6b}.tasks-screen-create-button{background:linear-gradient(135deg,#51cf66,#2f9e44);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:transform .2s ease,box-shadow .2s ease;white-space:nowrap}.tasks-screen-create-button:hover{box-shadow:0 4px 12px #51cf6666;transform:translateY(-2px)}.tasks-screen-create-button:active{transform:translateY(0)}.tasks-section{margin-top:30px}.tasks-error,.tasks-loading{color:#666;font-size:16px;padding:40px;text-align:center}.tasks-error{color:#e03131}.no-tasks{color:#666;font-size:16px;padding:60px 20px;text-align:center}.tasks-table-container{border:1px solid #e0e0e0;border-radius:8px;overflow-x:auto}.tasks-table{background:#fff;border-collapse:collapse;font-size:14px;width:100%}.tasks-table thead{background:linear-gradient(135deg,#f5f7fa,#c3cfe2)}.tasks-table th{border-bottom:2px solid #e0e0e0;color:#333;font-size:12px;font-weight:600;letter-spacing:.5px;padding:16px;text-align:left;text-transform:uppercase}.tasks-table tbody tr{border-bottom:1px solid #f0f0f0;transition:background-color .2s ease}.tasks-table tbody tr:hover{background-color:#f8f9fa}.tasks-table tbody tr:last-child{border-bottom:none}.tasks-table td{color:#333;padding:16px;vertical-align:middle}.task-name{color:#333;font-weight:600;max-width:200px}.task-name.mobile-clickable{border-radius:8px;cursor:pointer;transition:background-color .2s ease}.task-name.mobile-clickable:hover{background-color:#f0f0f0}.task-name.mobile-clickable:active{background-color:#e0e0e0}.task-name-content{align-items:center;display:flex;gap:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-expand-button{align-items:center;background:none;border:none;color:#667eea;cursor:pointer;display:inline-flex;flex-shrink:0;font-size:12px;justify-content:center;min-width:20px;padding:4px 6px;transition:transform .2s ease,color .2s ease}.task-expand-button:hover{color:#764ba2;transform:scale(1.1)}.task-expand-button:active{transform:scale(.95)}.task-expand-spacer{display:inline-block;flex-shrink:0;width:20px}.task-name-text{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-child-row{background-color:#fafbfc}.task-child-row:hover{background-color:#f0f2f5}.task-delayed-badge{flex-shrink:0;font-size:16px}.task-status-badge{border-radius:20px;display:inline-block;font-size:12px;font-weight:600;letter-spacing:.5px;padding:6px 12px;text-transform:uppercase}.task-status-badge.task-status-not_started,.task-status-badge.task-status-todo{background-color:#ff6b6b;color:#fff}.task-status-badge.task-status-in_progress{background-color:#4dabf7;color:#fff}.task-status-badge.task-status-completed,.task-status-badge.task-status-done{background-color:#51cf66;color:#fff}.task-progress-cell{min-width:150px}.task-progress-container{align-items:center;display:flex;gap:12px}.task-progress-bar{background-color:#e9ecef;border-radius:4px;flex:1 1;height:8px;overflow:hidden}.task-progress-fill{border-radius:4px;height:100%;transition:width .3s ease,background-color .3s ease}.task-progress-text{color:#666;font-size:12px;font-weight:600;min-width:40px;text-align:right}.task-date-cell{font-size:14px}.task-date-value{color:#666;font-size:13px}.task-details-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;transition:transform .2s ease,box-shadow .2s ease}.task-details-button:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.task-details-button:active{transform:translateY(0)}.hide-mobile{display:table-cell}.tasks-gantt-button{background:linear-gradient(135deg,#845ef7,#5f3dc4);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:transform .2s ease,box-shadow .2s ease;white-space:nowrap}.tasks-gantt-button:hover{box-shadow:0 4px 12px #845ef766;transform:translateY(-2px)}.tasks-gantt-button:active{transform:translateY(0)}.gantt-dialog-content{display:flex;flex-direction:column;max-height:70vh;min-height:400px;overflow:hidden;padding:0}.gantt-dialog-content .gantt-container{display:flex;flex:1 1;flex-direction:column}.gantt-dialog-content .gantt-wrapper{flex:1 1}@media (max-width:768px){.gantt-dialog-content{flex:1 1;height:calc(100vh - 80px);max-height:none;min-height:0}.tasks-screen-content{padding:20px}.tasks-screen-content h1{font-size:24px;padding-top:60px}.tasks-screen-header{align-items:stretch;flex-direction:column}.tasks-summary{justify-content:space-between;width:100%}.tasks-gantt-button,.tasks-screen-create-button{width:100%}.hide-mobile{display:none}.tasks-table{font-size:12px}.tasks-table td,.tasks-table th{padding:12px 8px}.task-name{font-size:16px;max-width:none;width:100%}.task-name.mobile-clickable{border-radius:8px;cursor:pointer;padding:16px;transition:background-color .2s ease}.task-name.mobile-clickable:hover{background-color:#f0f0f0}.task-name.mobile-clickable:active{background-color:#e0e0e0}.tasks-filter-section{gap:16px;grid-template-columns:1fr;padding:16px}.tasks-date-inputs{flex-direction:column}.tasks-date-input-wrapper{min-width:100%}}.App{background-color:#fff;min-height:100vh;text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.user-menu-container{position:fixed;right:20px;top:20px;z-index:1000}.user-menu-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;box-shadow:0 4px 12px #0003;color:#fff;cursor:pointer;display:flex;font-size:20px;height:44px;justify-content:center;transition:transform .2s ease,box-shadow .2s ease;width:44px}.user-menu-button:hover{box-shadow:0 6px 16px #0000004d;transform:translateY(-2px)}.user-menu-button:active{transform:translateY(0)}.user-menu-dropdown{animation:slideDown .2s ease;background:#fff;border-radius:8px;box-shadow:0 4px 20px #0003;min-width:150px;overflow:hidden;position:absolute;right:0;top:54px}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.user-menu-item{background:#fff;border:none;color:#333;cursor:pointer;font-size:14px;font-weight:500;padding:12px 20px;text-align:left;transition:background-color .2s ease;width:100%}.user-menu-item:hover{background-color:#f5f5f5}.user-menu-item:active{background-color:#e9ecef}.user-menu-section{padding:8px 0}.user-menu-section-label{color:#666;font-size:12px;font-weight:600;letter-spacing:.5px;padding:8px 20px;text-transform:uppercase}.user-menu-divider{background-color:#e9ecef;height:1px;margin:4px 0}.language-item{font-size:14px;padding:10px 20px}.language-item.active{background-color:#667eea;color:#fff;font-weight:600}.language-item.active:hover{background-color:#5568d3}@media (max-width:768px){.user-menu-container{right:15px;top:15px}.user-menu-button{font-size:18px;height:40px;width:40px}}
/*# sourceMappingURL=main.96e8cf69.css.map*/