*{margin:0;padding:0;box-sizing:border-box}:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-height:100vh;background-color:#f3f4f6}#root{min-height:100vh}a{font-weight:500;color:#3b82f6;text-decoration:none}a:hover{color:#2563eb}button,input,textarea,select{font-family:inherit}.value-blur{transition:filter .3s ease}.value-blur.value-hidden{filter:blur(6px);-webkit-user-select:none;user-select:none}.sidebar{width:260px;height:100vh;background-color:#1a1d23;display:flex;flex-direction:column;transition:width .3s ease;position:fixed;left:0;top:0;z-index:100}.sidebar.collapsed{width:70px}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid #2d3139;min-height:60px}.logo{font-size:1.5rem;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden}.sidebar.collapsed .sidebar-header{flex-direction:column;gap:.5rem;padding:1rem .5rem}.sidebar.collapsed .logo{text-align:center;width:100%}.collapse-btn{background:transparent;border:none;color:#8b8f96;cursor:pointer;padding:.5rem;font-size:1rem;border-radius:4px;transition:background-color .2s}.collapse-btn:hover{background-color:#2d3139;color:#fff}.sidebar-nav{flex:1;overflow-y:auto;padding:.5rem}.nav-item-wrapper{margin-bottom:2px}.nav-item{width:100%;display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:transparent;border:none;color:#8b8f96;cursor:pointer;border-radius:8px;transition:all .2s;font-size:.9rem;text-align:left}.nav-item:hover{background-color:#2d3139;color:#fff}.nav-item.active{background-color:#3b82f6;color:#fff}.nav-icon{font-size:1.2rem;min-width:24px;text-align:center}.nav-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-arrow{font-size:.7rem;transition:transform .2s}.nav-arrow.expanded{transform:rotate(90deg)}.sub-items{margin-left:2.5rem;margin-top:2px}.sub-item{padding:.5rem 1rem;font-size:.85rem}.sidebar.collapsed .nav-item{justify-content:center;padding:.75rem}.sidebar.collapsed .nav-icon{margin:0}@media(max-width:768px){.sidebar{transform:translate(-100%);width:260px!important;transition:transform .3s ease,width .3s ease}.sidebar.mobile-open{transform:translate(0)}.collapse-btn{display:none}}.notification-bell-wrapper{position:relative}.notification-bell-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;color:#6b7280;transition:color .2s,background-color .2s}.notification-bell-btn:hover{color:#374151;background-color:#f3f4f6}.notification-badge{position:absolute;top:4px;right:4px;min-width:18px;height:18px;padding:0 4px;background-color:#ef4444;color:#fff;font-size:.65rem;font-weight:700;border-radius:9px;display:flex;align-items:center;justify-content:center;line-height:1;pointer-events:none}.notification-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:360px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 8px 24px #0000001f;z-index:200;overflow:hidden}.notification-dropdown-header{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1rem;border-bottom:1px solid #f3f4f6}.notification-dropdown-title{font-size:.95rem;font-weight:600;color:#1f2937}.notification-mark-all-btn{background:none;border:none;font-size:.78rem;color:#3b82f6;cursor:pointer;padding:0}.notification-mark-all-btn:hover{text-decoration:underline}.notification-mark-all-btn:disabled{opacity:.5;cursor:default}.notification-list{max-height:380px;overflow-y:auto}.notification-empty{padding:2rem 1rem;text-align:center;color:#9ca3af;font-size:.875rem}.notification-item{display:flex;align-items:flex-start;gap:.75rem;width:100%;padding:.875rem 1rem;background:none;border:none;border-bottom:1px solid #f3f4f6;cursor:pointer;text-align:left;transition:background-color .15s}.notification-item:last-child{border-bottom:none}.notification-item:hover{background-color:#f9fafb}.notification-item.unread{background-color:#eff6ff}.notification-item.unread:hover{background-color:#dbeafe}.notification-item-icon{flex-shrink:0;width:32px;height:32px;border-radius:50%;background-color:#e0e7ff;color:#4f46e5;display:flex;align-items:center;justify-content:center;margin-top:1px}.notification-item-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.notification-item-title{font-size:.825rem;font-weight:600;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notification-item-body{font-size:.8rem;color:#6b7280;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notification-item-time{font-size:.72rem;color:#9ca3af;margin-top:2px}.notification-unread-dot{flex-shrink:0;width:8px;height:8px;border-radius:50%;background-color:#3b82f6;margin-top:6px}.notification-dropdown-footer{padding:.625rem 1rem;border-top:1px solid #f3f4f6;text-align:center}.notification-see-all-btn{background:none;border:none;font-size:.825rem;color:#3b82f6;cursor:pointer;padding:.25rem .5rem;border-radius:6px;transition:background-color .15s}.notification-see-all-btn:hover{background-color:#eff6ff}.header{height:60px;background-color:#fff;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;position:sticky;top:0;z-index:50}.header-left{display:flex;align-items:center}.page-title{font-size:1.25rem;font-weight:600;color:#1f2937;margin:0}.header-right{display:flex;align-items:center;gap:1rem}.header-btn{position:relative;background:transparent;border:none;padding:.5rem;cursor:pointer;border-radius:8px;transition:background-color .2s}.header-btn:hover{background-color:#f3f4f6}.user-menu{display:flex;align-items:center;gap:.75rem;padding:.5rem;border-radius:8px;cursor:pointer;transition:background-color .2s}.user-menu:hover{background-color:#f3f4f6}.user-avatar{width:36px;height:36px;border-radius:50%;background-color:#3b82f6;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;overflow:hidden;flex-shrink:0}.user-avatar-photo{width:100%;height:100%;object-fit:cover;display:block}.user-info{display:flex;flex-direction:column}.user-name{font-size:.9rem;font-weight:500;color:#1f2937}.user-role{font-size:.75rem;color:#6b7280}.visibility-toggle{display:flex;align-items:center;justify-content:center;width:40px;height:40px;color:#6b7280;transition:color .2s,background-color .2s}.visibility-toggle:hover{color:#374151;background-color:#f3f4f6}.visibility-toggle.active{color:#d97706;background-color:#fffbeb}.visibility-toggle.active:hover{background-color:#fef3c7}.logout-btn{display:flex;align-items:center;gap:.4rem;background:transparent;border:none;padding:.5rem .6rem;border-radius:8px;color:#6b7280;font-size:.85rem;cursor:pointer;transition:color .2s,background-color .2s}.logout-btn:hover{color:#ef4444;background-color:#fef2f2}.hamburger-btn{display:none;align-items:center;justify-content:center;background:transparent;border:none;padding:.5rem;border-radius:8px;color:#6b7280;cursor:pointer;transition:background-color .2s,color .2s}.hamburger-btn:hover{background-color:#f3f4f6;color:#1f2937}@media(max-width:768px){.hamburger-btn{display:flex}.user-info,.logout-btn span{display:none}}.toast-container{position:fixed;top:1rem;right:1rem;z-index:1000;display:flex;flex-direction:column;gap:.75rem}.toast{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;border-radius:10px;box-shadow:0 4px 12px #00000026;min-width:300px;max-width:450px;transform:translate(0);opacity:1;transition:all .3s ease}.toast.hidden{transform:translate(100%);opacity:0}.toast-success{background-color:#ecfdf5;border:1px solid #a7f3d0;color:#065f46}.toast-error{background-color:#fef2f2;border:1px solid #fecaca;color:#991b1b}.toast-warning{background-color:#fffbeb;border:1px solid #fde68a;color:#92400e}.toast-info{background-color:#eff6ff;border:1px solid #bfdbfe;color:#1e40af}.toast-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-size:.875rem;font-weight:600;flex-shrink:0}.toast-success .toast-icon{background-color:#059669;color:#fff}.toast-error .toast-icon{background-color:#dc2626;color:#fff}.toast-warning .toast-icon{background-color:#d97706;color:#fff}.toast-info .toast-icon{background-color:#2563eb;color:#fff}.toast-message{flex:1;font-size:.9rem;font-weight:500}.toast-close{background:none;border:none;font-size:1.25rem;cursor:pointer;opacity:.5;transition:opacity .2s;padding:0;line-height:1}.toast-close:hover{opacity:1}.datepicker-container{position:relative;width:100%}.datepicker-input-wrapper{position:relative;cursor:pointer}.datepicker-input{width:100%;padding:.75rem 3rem .75rem 1rem;border:1px solid #d1d5db;border-radius:8px;font-size:.95rem;color:#1f2937;background-color:#fff;cursor:pointer;transition:border-color .2s,box-shadow .2s;box-sizing:border-box;-webkit-user-select:none;user-select:none}.datepicker-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.datepicker-input.placeholder{color:#9ca3af}.datepicker-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:1.25rem;pointer-events:none}.datepicker-dropdown{position:absolute;top:calc(100% + 8px);left:0;z-index:2000;background:#fff;border-radius:16px;box-shadow:0 10px 40px #00000026;padding:1.25rem;min-width:320px;animation:dropdownFadeIn .2s ease}.datepicker-dropdown.open-upward{top:auto;bottom:auto}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.datepicker-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid #e5e7eb}.nav-btn{width:40px;height:40px;border:none;background:#f3f4f6;border-radius:10px;font-size:1.5rem;color:#374151;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.nav-btn:hover{background:#e5e7eb;color:#1f2937}.current-month{font-size:1.1rem;font-weight:600;color:#1f2937}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:.5rem}.weekday{text-align:center;font-size:.8rem;font-weight:600;color:#6b7280;padding:.5rem 0;text-transform:uppercase;letter-spacing:.05em}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:.95rem;font-weight:500;color:#374151;background:transparent;border:none;border-radius:12px;cursor:pointer;transition:all .15s}.calendar-day:not(.empty):hover{background:#f3f4f6}.calendar-day.empty{cursor:default}.calendar-day.today{background:#eff6ff;color:#2563eb;font-weight:600}.calendar-day.today:hover{background:#dbeafe}.calendar-day.selected{background:#3b82f6;color:#fff;font-weight:600}.calendar-day.selected:hover{background:#2563eb}.calendar-day.selected.today{background:#3b82f6;color:#fff}.datepicker-footer{margin-top:1rem;padding-top:1rem;border-top:1px solid #e5e7eb;display:flex;justify-content:center}.today-btn{padding:.6rem 1.5rem;background:#f3f4f6;border:none;border-radius:8px;font-size:.9rem;font-weight:500;color:#374151;cursor:pointer;transition:all .2s}.today-btn:hover{background:#3b82f6;color:#fff}.launch-item-page{max-width:800px}.launch-item-form{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:8px;font-size:.9rem;color:#1f2937;background-color:#fff;transition:border-color .2s,box-shadow .2s}.form-group input[type=date]{padding:.75rem 1rem;font-size:.95rem;font-family:inherit;min-height:48px;cursor:pointer}.form-group input[type=date]::-webkit-calendar-picker-indicator{background-color:#3b82f6;padding:8px;border-radius:6px;cursor:pointer;transition:background-color .2s;filter:invert(1)}.form-group input[type=date]::-webkit-calendar-picker-indicator:hover{background-color:#2563eb}.form-group input[type=date]::-webkit-datetime-edit{padding:0}.form-group input[type=date]::-webkit-datetime-edit-fields-wrapper{padding:0}.form-group input[type=date]::-webkit-datetime-edit-day-field,.form-group input[type=date]::-webkit-datetime-edit-month-field,.form-group input[type=date]::-webkit-datetime-edit-year-field{padding:2px 4px;border-radius:4px}.form-group input[type=date]::-webkit-datetime-edit-day-field:focus,.form-group input[type=date]::-webkit-datetime-edit-month-field:focus,.form-group input[type=date]::-webkit-datetime-edit-year-field:focus{background-color:#eff6ff;color:#1e40af;outline:none}.form-group input::placeholder,.form-group textarea::placeholder{color:#9ca3af}.form-group textarea{resize:vertical;min-height:80px}.autocomplete-suggestions{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #d1d5db;border-radius:8px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;margin-top:.25rem;max-height:200px;overflow-y:auto;z-index:10;list-style:none;padding:0;margin-bottom:0}.suggestion-item{padding:.75rem 1rem;font-size:.9rem;color:#1f2937;cursor:pointer;transition:background-color .15s;border-bottom:1px solid #f3f4f6}.suggestion-item:hover,.suggestion-item--active,.suggestion-item:active{background-color:#eff6ff;color:#3b82f6}@media(max-width:640px){.form-row{grid-template-columns:1fr}}.banks-page{max-width:900px}.last-update-card-main{display:flex;flex-direction:column;gap:.25rem}.banks-content{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.add-bank-form{display:flex;gap:.75rem;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid #e5e7eb}.add-bank-form input{flex:1;padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:8px;font-size:.9rem;color:#1f2937}.add-bank-form input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.btn-primary{padding:.75rem 1.5rem;background-color:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color .2s}.banks-list{min-height:200px}table{width:100%;border-collapse:collapse}thead{background-color:#f9fafb}th{text-align:left;padding:.75rem 1rem;font-size:.8rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #e5e7eb}td{padding:1rem;border-bottom:1px solid #e5e7eb;color:#1f2937}tr:last-child td{border-bottom:none}tr:hover{background-color:#f9fafb}.edit-input{padding:.5rem .75rem;border:1px solid #3b82f6;border-radius:6px;font-size:.9rem;width:100%;max-width:250px}.edit-input:focus{outline:none;box-shadow:0 0 0 3px #3b82f61a}.actions{display:flex;gap:.5rem}.btn-icon{width:32px;height:32px;border:none;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;transition:all .2s}.btn-edit{background-color:#f3f4f6;color:#4b5563}.btn-edit:hover{background-color:#e5e7eb}.btn-delete{background-color:#fef2f2;color:#dc2626}.btn-delete:hover{background-color:#fecaca}.btn-save{background-color:#d1fae5;color:#059669}.btn-save:hover{background-color:#a7f3d0}.btn-cancel{background-color:#f3f4f6;color:#6b7280}.btn-cancel:hover{background-color:#e5e7eb}.balance-cell{font-weight:500;text-align:right}.balance-cell.positive{color:#059669}.balance-cell.negative{color:#dc2626}.cash-list-page{max-width:1200px}.page-header{margin-bottom:2rem;display:flex;justify-content:space-between;align-items:flex-start}.last-update-card{background:#fff;border-radius:12px;padding:1.25rem 1.75rem;margin-bottom:1rem;box-shadow:0 1px 3px #0000001a;display:flex;align-items:center;gap:1.25rem;border-left:4px solid #2563eb}.last-update-card-icon-wrap{width:48px;height:48px;background:#eff6ff;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#2563eb;flex-shrink:0}.last-update-card-main{flex:1;display:flex;flex-direction:column;gap:.25rem}.last-update-card-label{font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.06em}.last-update-card-value{font-size:1.35rem;font-weight:700;color:#1f2937}.btn-mark-update{padding:.5rem 1rem;font-size:.85rem;font-weight:500;color:#2563eb;background:none;border:1.5px solid #bfdbfe;border-radius:8px;cursor:pointer;transition:all .15s;white-space:nowrap;flex-shrink:0}.btn-mark-update:hover{background-color:#eff6ff;border-color:#93c5fd}.modal-sm{max-width:400px}.update-modal-hint{font-size:.875rem;color:#6b7280;margin-bottom:1.25rem}.btn-launch{padding:.625rem 1.25rem;background-color:#2563eb;color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color .2s;white-space:nowrap}.btn-launch:hover{background-color:#1d4ed8}.btn-clear-filters{padding:.75rem 1.25rem;background-color:#6b7280;color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:500;line-height:1.2;cursor:pointer;transition:background-color .2s}.flex-break{flex-basis:100%;height:0}.data-table{width:100%;border-collapse:collapse;min-width:700px}.btn-settle,.btn-unsettle{padding:.375rem .875rem;border:none;border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-settle{background-color:#059669;color:#fff}.btn-settle:hover:not(:disabled){background-color:#047857}.btn-unsettle{background-color:#6b7280;color:#fff}.btn-unsettle:hover:not(:disabled){background-color:#4b5563}.btn-settle:disabled,.btn-unsettle:disabled{opacity:.5;cursor:not-allowed}.bank-summary{background:#fff;border-radius:12px;padding:1.5rem;margin-bottom:1rem;box-shadow:0 1px 3px #0000001a}.bank-summary h3{font-size:1.125rem;font-weight:600;color:#1f2937;margin:0 0 1rem}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.summary-item{display:flex;flex-direction:column;gap:.5rem;padding:1rem;background-color:#f9fafb;border-radius:8px}.summary-item.highlight{background-color:#eff6ff;border:1px solid #93c5fd}.summary-label{font-size:.8rem;font-weight:500;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.summary-value{font-size:1.25rem;font-weight:600;color:#1f2937}.summary-value.positive{color:#059669}.summary-value.negative{color:#dc2626}.launch-modal-body{display:flex;flex-direction:column;gap:0}.launch-modal-body .form-group{margin-bottom:1.25rem}.launch-modal-body .form-group input[type=text],.launch-modal-body .form-group input[type=number],.launch-modal-body .form-group select{width:100%;padding:.75rem 1rem}.type-selector{display:flex;gap:.75rem}.type-card{flex:1;display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.875rem 1rem;border:2px solid #e5e7eb;border-radius:10px;background:#fff;cursor:pointer;transition:all .2s}.type-card-icon{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700;background:#f3f4f6;color:#6b7280;transition:all .2s}.type-card-label{font-size:.85rem;font-weight:500;color:#6b7280;transition:all .2s}.type-card.expense:hover{border-color:#fca5a5;background:#fef2f2}.type-card.expense:hover .type-card-icon{background:#fecaca;color:#dc2626}.type-card.expense:hover .type-card-label{color:#dc2626}.type-card.income:hover{border-color:#86efac;background:#ecfdf5}.type-card.income:hover .type-card-icon{background:#bbf7d0;color:#059669}.type-card.income:hover .type-card-label{color:#059669}.type-card.expense.active{border-color:#dc2626;background:#fef2f2}.type-card.expense.active .type-card-icon{background:#dc2626;color:#fff}.type-card.expense.active .type-card-label{color:#dc2626;font-weight:600}.type-card.income.active{border-color:#059669;background:#ecfdf5}.type-card.income.active .type-card-icon{background:#059669;color:#fff}.type-card.income.active .type-card-label{color:#059669;font-weight:600}.settled-field{display:flex;flex-direction:column;justify-content:flex-end}.settled-toggle{display:inline-flex;align-items:center;gap:.5rem;width:fit-content;padding:.6rem 1.1rem;border:2px solid #e5e7eb;border-radius:20px;background:#f3f4f6;color:#6b7280;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.settled-toggle-dot{width:10px;height:10px;border-radius:50%;background:#9ca3af;transition:background .2s}.settled-toggle.settled{border-color:#a7f3d0;background:#ecfdf5;color:#059669}.settled-toggle.settled .settled-toggle-dot{background:#059669}.settled-toggle.pending:hover{border-color:#9ca3af;background:#e5e7eb}.settled-toggle.settled:hover{border-color:#059669;background:#d1fae5}.btn-edit{padding:.375rem .875rem;border:1px solid #d1d5db;border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s;background-color:#fff;color:#374151}.btn-edit:hover:not(:disabled){background-color:#f3f4f6;border-color:#9ca3af}.btn-edit:disabled{opacity:.5;cursor:not-allowed}.btn-install{padding:.375rem .875rem;border:none;border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s;background-color:#7c3aed;color:#fff}.btn-install:hover:not(:disabled){background-color:#6d28d9}.btn-install:disabled{opacity:.5;cursor:not-allowed}.btn-kebab{background:none;border:1px solid #d1d5db;border-radius:6px;padding:.25rem .5rem;font-size:1rem;cursor:pointer;color:#6b7280;line-height:1;transition:background-color .15s}.btn-kebab:hover:not(:disabled){background-color:#f3f4f6}.btn-kebab:disabled{opacity:.5;cursor:not-allowed}.kebab-menu{position:absolute;right:0;top:calc(100% + 4px);background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 12px #0000001a;z-index:100;min-width:140px;overflow:hidden}.kebab-item{display:block;width:100%;text-align:left;background:none;border:none;padding:.625rem 1rem;font-size:.875rem;color:#374151;cursor:pointer;transition:background-color .15s;white-space:nowrap}.modal-install{max-width:780px;width:95%}.install-info-band{display:flex;align-items:center;gap:.75rem;background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:.75rem 1.5rem;font-size:.9rem;flex-wrap:wrap}.install-info-label{color:#6b7280;font-weight:500}.install-info-desc{color:#111827;flex:1}.install-info-amount{font-weight:600;color:#111827}.install-sum-bar{display:flex;align-items:center;gap:1rem;padding:.625rem .875rem;border-radius:8px;font-size:.85rem;margin-bottom:1rem}.install-sum-bar.sum-pending{background:#fef3c7;border:1px solid #fcd34d;color:#92400e}.install-sum-bar.sum-ok{background:#d1fae5;border:1px solid #6ee7b7;color:#065f46}.install-sum-diff,.install-sum-ok-label{margin-left:auto;font-weight:600}.install-rows{display:flex;flex-direction:column;gap:.625rem;margin-bottom:.75rem}.install-row{display:flex;align-items:flex-end;gap:.625rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:.75rem .875rem}.install-row-num{font-size:.75rem;font-weight:700;color:#6b7280;min-width:1.25rem;text-align:center;margin-bottom:.25rem}.install-field{display:flex;flex-direction:column;gap:.25rem;flex:1;min-width:0}.install-field label{font-size:.75rem;font-weight:500;color:#6b7280}.install-field input,.install-field select{padding:.375rem .625rem;border:1px solid #d1d5db;border-radius:6px;font-size:.85rem;width:100%;box-sizing:border-box}.install-field-settled{flex:0 0 auto;min-width:90px}.btn-remove-install-row{background:none;border:1px solid #fca5a5;border-radius:6px;color:#ef4444;font-size:1rem;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;flex-shrink:0;transition:all .2s;margin-bottom:.125rem}.btn-remove-install-row:hover:not(:disabled){background:#fee2e2}.btn-remove-install-row:disabled{opacity:.35;cursor:not-allowed}.btn-add-install-row{background:none;border:1px dashed #7c3aed;border-radius:8px;color:#7c3aed;font-size:.85rem;font-weight:500;padding:.5rem 1rem;cursor:pointer;width:100%;transition:all .2s}.btn-add-install-row:hover{background:#f5f3ff}.modal-content{background:#fff;border-radius:12px;width:100%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0003}.modal-header h3{font-size:1.125rem;font-weight:600;color:#1f2937;margin:0}.modal-close{background:none;border:none;font-size:1.5rem;color:#6b7280;cursor:pointer;line-height:1;padding:0}.modal-close:hover{color:#1f2937}.modal-content>form{display:flex;flex-direction:column;flex:1;min-height:0}.modal-body{padding:1.5rem;overflow-y:auto;flex:1;min-height:0}.form-group{display:flex;flex-direction:column;gap:.375rem}.form-group input[type=text],.form-group input[type=number],.form-group select{padding:.625rem .875rem;border:1px solid #d1d5db;border-radius:8px;font-size:.9rem;color:#1f2937;background-color:#fff;transition:border-color .2s}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1.25rem 1.5rem;border-top:1px solid #e5e7eb}.btn-cancel{padding:.625rem 1.25rem;border:1px solid #d1d5db;border-radius:8px;font-size:.9rem;font-weight:500;background-color:#fff;color:#374151;cursor:pointer;transition:all .2s}.btn-cancel:hover:not(:disabled){background-color:#f3f4f6}.btn-cancel:disabled{opacity:.5;cursor:not-allowed}.btn-confirm{padding:.625rem 1.25rem;border:none;border-radius:8px;font-size:.9rem;font-weight:500;background-color:#2563eb;color:#fff;cursor:pointer;transition:background-color .2s}.btn-confirm:hover:not(:disabled){background-color:#1d4ed8}.btn-confirm:disabled{opacity:.5;cursor:not-allowed}.accrual-list-page{max-width:1200px}.data-table{width:100%;border-collapse:collapse;min-width:600px}.data-table th{text-align:left;padding:.875rem 1.5rem;font-size:.8rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #e5e7eb}.data-table td{padding:1rem 1.5rem;border-bottom:1px solid #e5e7eb;color:#1f2937;font-size:.9rem;height:60px;vertical-align:middle}.type-badge{display:inline-block;padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:500}.type-badge.type-income{background-color:#ecfdf5;color:#059669}.type-badge.type-expense{background-color:#fef2f2;color:#dc2626}.status-badge.settled{background-color:#ecfdf5;color:#059669}.btn-view-cash{background-color:#3b82f6;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;transition:background-color .2s}.btn-view-cash:hover{background-color:#2563eb}.actions-cell{display:flex;align-items:center;gap:.5rem}.kebab-menu{position:absolute;right:0;top:calc(100% + 4px);background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 12px #0000001f;z-index:20;min-width:160px;overflow:hidden}.kebab-item{display:block;width:100%;padding:.625rem 1rem;background:none;border:none;text-align:left;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .15s;white-space:nowrap;color:#374151}.modal-content{background:#fff;border-radius:12px;width:95%;max-width:1400px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.accrual-modal-content{max-width:1400px!important;width:95%!important}.modal-accrual-info{padding:1.5rem;background-color:#f9fafb;border-bottom:1px solid #e5e7eb}.pagination{display:flex;justify-content:space-between;align-items:center;margin:0 -1.5rem;padding:1.25rem 1.5rem;border-top:1px solid #e5e7eb}.pagination-info{color:#6b7280;font-size:.9rem}.pagination-buttons{display:flex;gap:.5rem}.pagination-btn{padding:.5rem 1rem;border:1px solid #d1d5db;background-color:#fff;color:#374151;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.pagination-btn:hover:not(:disabled){background-color:#f9fafb;border-color:#9ca3af}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.form-group input{width:100%;padding:.625rem .875rem;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;color:#1f2937;transition:border-color .2s;box-sizing:border-box}.pending-payments-page{max-width:1200px}.error-message{background-color:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;display:flex;justify-content:space-between;align-items:center}.error-message button{background:none;border:none;color:#dc2626;font-size:1.25rem;cursor:pointer;padding:0 .5rem}.filters-section{background:#fff;border-radius:12px;padding:1.5rem;margin-bottom:1rem;box-shadow:0 1px 3px #0000001a;display:flex;gap:1rem;align-items:flex-end}.filter-group.date-filter{min-width:180px}.btn-clear-date{position:absolute;right:2.25rem;top:50%;transform:translateY(-50%);background:none;border:none;color:#9ca3af;font-size:1rem;cursor:pointer;z-index:2;display:flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;border-radius:50%;transition:color .15s,background-color .15s}.autocomplete-suggestions{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #d1d5db;border-radius:8px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;margin-top:.25rem;max-height:200px;overflow-y:auto;z-index:10;list-style:none;padding:0;margin-left:0}.suggestion-item{padding:.625rem .875rem;cursor:pointer;transition:background-color .15s;font-size:.9rem;color:#1f2937}.suggestion-item:first-child{border-radius:8px 8px 0 0}.suggestion-item:last-child{border-radius:0 0 8px 8px}.filter-group-check{min-width:auto;justify-content:flex-end}.filter-checkbox-label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;color:#374151;cursor:pointer;padding:.625rem 0;white-space:nowrap}.filter-checkbox-label input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:#3b82f6;flex-shrink:0}.pending-total-card{background:#fff;border-radius:12px;padding:1.25rem 1.75rem;margin-bottom:1rem;box-shadow:0 1px 3px #0000001a;display:flex;align-items:center;gap:1.25rem;border-left:4px solid #059669}.pending-total-card-icon-wrap{width:48px;height:48px;background:#ecfdf5;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#059669;flex-shrink:0}.pending-total-card-main{display:flex;flex-direction:column;gap:.25rem}.pending-total-card-label{font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.06em}.pending-total-card-value{font-size:1.35rem;font-weight:700;color:#1f2937}.payments-summary{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #e5e7eb}.summary-text{font-size:.9rem;font-weight:500;color:#6b7280}.data-table th{text-align:left}.data-table th:last-child{text-align:right;padding:.875rem 1rem;font-size:.8rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #e5e7eb}.type-income{color:#059669}.type-expense{color:#dc2626}.actions-cell{display:flex;gap:.5rem;align-items:center;justify-content:flex-end;flex-wrap:wrap}.btn-settle{padding:.375rem .875rem;border:none;border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s;background-color:#059669;color:#fff}.btn-settle:hover{background-color:#047857}.kebab-wrapper{position:relative}.btn-kebab{padding:.25rem .5rem;background:none;border:1px solid #d1d5db;border-radius:6px;font-size:1rem;color:#6b7280;cursor:pointer;line-height:1;transition:background-color .2s,color .2s;letter-spacing:1px}.btn-kebab:hover{background-color:#f3f4f6;color:#374151}.kebab-menu{position:absolute;right:0;top:calc(100% + 4px);background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 12px #0000001f;z-index:20;min-width:200px;overflow:hidden}.kebab-item{display:block;width:100%;padding:.625rem 1rem;background:none;border:none;text-align:left;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .15s;white-space:nowrap}.kebab-item:hover{background-color:#f9fafb}.kebab-item-danger{color:#dc2626}.kebab-item-danger:hover{background-color:#fef2f2}.kebab-item-warning{color:#b45309}.kebab-item-warning:hover{background-color:#fffbeb}.btn-confirm-danger{background-color:#dc2626}.btn-confirm-danger:hover:not(:disabled){background-color:#b91c1c}.btn-confirm-warning{background-color:#f59e0b}.btn-confirm-warning:hover:not(:disabled){background-color:#d97706}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:#fff;border-radius:12px;width:90%;max-width:500px;box-shadow:0 10px 25px #0003;overflow:visible}.modal-close{background:none;border:none;font-size:1.5rem;color:#6b7280;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:background-color .2s}.modal-close:hover{background-color:#f3f4f6}.modal-body{padding:1.5rem;overflow:visible}.payment-info{background-color:#f9fafb;padding:1rem;border-radius:8px;margin-bottom:1.5rem}.payment-info p{margin:.5rem 0;font-size:.9rem;color:#374151}.payment-info strong{font-weight:600;color:#1f2937}.form-group{margin-bottom:1rem;overflow:visible}@media(max-width:640px){.datepicker-group{max-width:100%}}.form-group input{width:100%;padding:.625rem .875rem;border:1px solid #d1d5db;border-radius:8px;font-size:.9rem;color:#1f2937;transition:border-color .2s}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1.5rem;border-top:1px solid #e5e7eb}.btn-cancel,.btn-confirm{padding:.625rem 1.25rem;border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-cancel{background-color:#f3f4f6;color:#374151}.btn-cancel:hover:not(:disabled){background-color:#e5e7eb}.btn-confirm{background-color:#3b82f6;color:#fff}.btn-confirm:hover:not(:disabled){background-color:#2563eb}.btn-cancel:disabled,.btn-confirm:disabled{opacity:.5;cursor:not-allowed}.edit-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group-checkbox{justify-content:flex-end}.form-group-checkbox label{display:flex;align-items:center;gap:.5rem;font-weight:500;color:#374151;cursor:pointer}.form-group-checkbox input[type=checkbox]{width:1rem;height:1rem;cursor:pointer}.invoice-split-page{max-width:900px}.invoice-form{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.top-fields{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}.form-group{margin-bottom:0}.form-group input{width:100%;padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:8px;font-size:.9rem;color:#1f2937;transition:border-color .2s;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.select-input{width:100%;padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:8px;font-size:.9rem;color:#1f2937;background-color:#fff;cursor:pointer;transition:border-color .2s}.select-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.items-section{margin-bottom:1.5rem}.items-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.items-header h3{font-size:1rem;font-weight:600;color:#1f2937;margin:0}.btn-add-item{padding:.5rem 1rem;background-color:#eff6ff;color:#3b82f6;border:1px solid #bfdbfe;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-add-item:hover{background-color:#dbeafe}.items-list{display:flex;flex-direction:column;gap:.75rem}.item-row{display:flex;gap:1rem;align-items:flex-end}.item-field{display:flex;flex-direction:column;gap:.5rem}.item-field label{font-size:.8rem;font-weight:500;color:#6b7280}.project-field{flex:0 0 180px}.value-field{flex:1}.value-field input{padding:.625rem .875rem;border:1px solid #d1d5db;border-radius:8px;font-size:.9rem;color:#1f2937;width:100%;transition:border-color .2s}.value-field input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.project-field input{padding:.625rem .875rem;border:1px solid #d1d5db;border-radius:8px;font-size:.9rem;color:#1f2937;width:100%;transition:border-color .2s}.project-field input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.btn-remove-item{width:36px;height:36px;border:1px solid #e5e7eb;border-radius:8px;background-color:#fff;color:#6b7280;font-size:1.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.btn-remove-item:hover:not(:disabled){background-color:#fef2f2;border-color:#fecaca;color:#dc2626}.btn-remove-item:disabled{opacity:.3;cursor:not-allowed}.form-actions{display:flex;gap:.75rem;padding-top:1.5rem;border-top:1px solid #e5e7eb}.btn-lancar{padding:.75rem 2rem;border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s;background-color:#059669;color:#fff}.btn-lancar:hover:not(:disabled){background-color:#047857}.btn-lancar:disabled{opacity:.5;cursor:not-allowed}.result-section{background:#fff;border-radius:12px;padding:1.5rem;margin-top:1.5rem;box-shadow:0 1px 3px #0000001a}.result-section h3{font-size:1rem;font-weight:600;color:#1f2937;margin:0 0 1rem}.nota-value{font-weight:600;color:#059669}.id-value{color:#6b7280;font-size:.85rem}.data-table tfoot tr{background-color:#f9fafb}.total-label{font-weight:600;color:#1f2937;text-align:right}.total-value{font-size:1rem}.transfer-page{max-width:800px}.transfer-form{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.form-group input,.form-group select{width:100%;padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:8px;font-size:.9rem;color:#1f2937;background-color:#fff;transition:border-color .2s,box-shadow .2s}.form-group input::placeholder{color:#9ca3af}.accounts-row{display:grid;grid-template-columns:1fr auto 1fr;gap:1rem;align-items:end;margin-bottom:1.25rem}.accounts-row .form-group{margin-bottom:0}.transfer-arrow{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#eff6ff;border:2px solid #bfdbfe;border-radius:50%;color:#3b82f6}.btn-primary:hover:not(:disabled){background-color:#2563eb}.btn-secondary:hover:not(:disabled){background-color:#f9fafb}.btn-primary:disabled,.btn-secondary:disabled{opacity:.5;cursor:not-allowed}@media(max-width:640px){.accounts-row{grid-template-columns:1fr}.transfer-arrow{margin:0 auto;transform:rotate(90deg)}.form-row{grid-template-columns:1fr}}.resultado-page{max-width:1100px}.resultado-toolbar{display:flex;align-items:flex-end;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;background:#fff;border-radius:12px;padding:1.25rem;box-shadow:0 1px 3px #0000001a}.filter-group{display:flex;flex-direction:column;gap:.5rem;min-width:160px;position:relative}.toggle-btn{padding:.625rem .875rem;font-size:.9rem;background:#fff;color:#374151;border:none;cursor:pointer;transition:background .15s,color .15s}.resultado-month-input{padding:.625rem .875rem;border:1px solid #d1d5db;border-radius:8px;font-size:.9rem;color:#1f2937;background:#fff;cursor:pointer;transition:border-color .2s}.resultado-month-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.date-filter{min-width:180px}.date-filter-wrapper{position:relative}.btn-clear-date{position:absolute;right:2.25rem;top:50%;transform:translateY(-50%);background:none;border:none;color:#9ca3af;font-size:1rem;cursor:pointer;padding:.2rem .3rem;border-radius:4px;line-height:1;transition:color .15s,background-color .15s}.btn-clear-date:hover{color:#374151;background-color:#f3f4f6}.resultado-cards-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.resultado-cards-section-label{font-size:.8rem;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.05em}.toggle-btn--sm{padding:.35rem .75rem;font-size:.8rem}.resultado-cards{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.variation-badge{display:inline-flex;align-items:center;gap:.2rem;font-size:.78rem;font-weight:600;padding:.2rem .5rem;border-radius:20px;width:fit-content}.variation-badge--up{background:#ecfdf5;color:#059669}.variation-badge--down{background:#fef2f2;color:#dc2626}.resultado-card{background:#fff;border-radius:12px;padding:1.5rem 2rem;box-shadow:0 1px 3px #0000001a;min-width:220px;display:flex;flex-direction:column;gap:.5rem;border-left:4px solid #e5e7eb}.resultado-card--green{border-left-color:#059669}.resultado-card--blue{border-left-color:#3b82f6}.resultado-card--gray{border-left-color:#9ca3af}.resultado-card-label{font-size:.875rem;font-weight:500;color:#6b7280}.resultado-card-value{font-size:1.75rem;font-weight:700;color:#059669;letter-spacing:-.02em}.resultado-card-value--neutral{color:#1f2937}.resultado-card-value--blue{color:#3b82f6}.charts-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}@media(max-width:900px){.charts-grid{grid-template-columns:1fr}}.chart-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:1.25rem 1.5rem}.chart-card-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:1rem}.chart-card-title{font-size:.95rem;font-weight:700;color:#111827;margin:0}.chart-card-sub{font-size:.78rem;color:#9ca3af}.chart-loading{height:260px;display:flex;align-items:center;justify-content:center;color:#6b7280;font-size:.9rem}.dre-section{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.dre-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:2px solid #e5e7eb;flex-wrap:wrap;gap:.75rem}.dre-header-actions{display:flex;align-items:center;gap:1rem}.dre-toggle-zero{display:flex;align-items:center;gap:.4rem;font-size:.8rem;color:#6b7280;cursor:pointer;-webkit-user-select:none;user-select:none}.dre-toggle-zero input[type=checkbox]{accent-color:#3b82f6;cursor:pointer}.dre-title{font-size:1rem;font-weight:700;color:#111827;margin:0;letter-spacing:-.01em}.dre-period{font-size:.85rem;font-weight:500;color:#6b7280;background:#f3f4f6;padding:.3rem .75rem;border-radius:20px}.dre-loading{padding:2rem;text-align:center;color:#6b7280;font-size:.9rem}.dre-body{display:flex;flex-direction:column}.dre-line{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:1.5rem;padding:.7rem 1.5rem .7rem 2rem;border-bottom:1px solid #f3f4f6;transition:background .1s}.dre-line:hover{background:#fafafa}.dre-line-label{font-size:.875rem;color:#4b5563}.dre-line-pct{font-size:.78rem;color:#9ca3af;font-variant-numeric:tabular-nums;text-align:right;min-width:52px}.dre-line-amount{font-size:.875rem;font-variant-numeric:tabular-nums;font-weight:500;text-align:right;min-width:130px}.dre-subtotal{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:1.5rem;padding:.875rem 1.5rem;background:#f8fafc;border-top:2px solid #e2e8f0;border-bottom:2px solid #e2e8f0;margin-bottom:.25rem}.dre-subtotal-label{font-size:.9rem;font-weight:700;color:#1f2937;letter-spacing:-.01em}.dre-subtotal-pct{font-size:.8rem;color:#6b7280;font-weight:600;font-variant-numeric:tabular-nums;text-align:right;min-width:52px}.dre-subtotal-amount{font-size:1rem;font-weight:700;font-variant-numeric:tabular-nums;text-align:right;min-width:130px}.dre-subtotal--final{background:linear-gradient(to right,#f0fdf4,#ecfdf5);border-top:2px solid #a7f3d0;border-bottom:none;padding:1.1rem 1.5rem;margin-bottom:0;border-radius:0 0 12px 12px}.dre-subtotal--final .dre-subtotal-label{font-size:1rem;color:#065f46}.dre-subtotal--final .dre-subtotal-amount{font-size:1.15rem}.dre-amount--positive{color:#059669}.dre-amount--negative{color:#dc2626}.dre-amount--zero{color:#9ca3af}.users-page{max-width:800px;margin:0 auto;padding:1rem}.users-page .page-header{margin-bottom:1.5rem}.users-page .page-header p{font-size:.875rem;color:#6b7280;margin:0}.access-denied{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 1rem;text-align:center}.access-denied h2{font-size:1.5rem;color:#1f2937;margin-bottom:.5rem}.access-denied p{color:#6b7280;font-size:.95rem}.invite-form{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:1.25rem 1.5rem;margin-bottom:2rem}.invite-form h3{font-size:1rem;font-weight:600;color:#1f2937;margin:0 0 1rem}.invite-row{display:flex;gap:.75rem;align-items:flex-end}.invite-row input,.invite-row select{padding:.6rem .75rem;border:1px solid #e5e7eb;border-radius:8px;font-size:.9rem;color:#1f2937;background:#fff;transition:border-color .2s}.invite-row input:focus,.invite-row select:focus{outline:none;border-color:#3b82f6}.invite-row input{flex:1;min-width:0}.invite-row select{width:140px}.invite-row .btn-primary{padding:.6rem 1.25rem;background-color:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background-color .2s}.invite-row .btn-primary:hover{background-color:#2563eb}.invite-row .btn-primary:disabled{background-color:#93c5fd;cursor:not-allowed}.users-section{margin-bottom:2rem}.users-section h3{font-size:1rem;font-weight:600;color:#1f2937;margin:0 0 .75rem}.users-section .data-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden}.users-section .data-table th{text-align:left;padding:.75rem 1rem;background-color:#f9fafb;font-size:.8rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #e5e7eb}.users-section .data-table td{padding:.75rem 1rem;font-size:.9rem;color:#374151;border-bottom:1px solid #f3f4f6}.users-section .data-table tr:last-child td{border-bottom:none}.users-section .empty-state{padding:2rem;text-align:center;color:#9ca3af;font-size:.9rem;background:#fff;border:1px solid #e5e7eb;border-radius:10px}.btn-icon{background:#f3f4f6;border:none;color:#374151;border-radius:6px;padding:.4rem .7rem;font-size:.85rem;cursor:pointer;transition:background-color .2s}.btn-icon-danger{color:#dc2626}.btn-icon-danger:hover{background:#fee2e2}.btn-icon-success{color:#16a34a}.btn-icon-success:hover{background:#dcfce7}.status-badge{display:inline-block;padding:.2rem .55rem;border-radius:999px;font-size:.78rem;font-weight:500}.status-active{background:#dcfce7;color:#16a34a}.status-inactive{background:#f3f4f6;color:#6b7280}.modal-content{background:#fff;border-radius:12px;width:95%;max-width:480px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.modal-form-content{max-width:520px}.modal-header h3{font-size:1.1rem;font-weight:600;color:#1f2937;margin:0}.modal-close{background:none;border:none;font-size:1.75rem;color:#6b7280;cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.form-group{margin-bottom:1rem}.form-group label{display:block;font-size:.85rem;font-weight:500;color:#374151;margin-bottom:.4rem}.form-group input,.form-group select{width:100%;padding:.65rem .75rem;border:1px solid #e5e7eb;border-radius:8px;font-size:.9rem;color:#1f2937;background:#fff;transition:border-color .2s;box-sizing:border-box}.form-group input:focus,.form-group select:focus{outline:none;border-color:#3b82f6}.form-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.25rem;padding-top:1rem;border-top:1px solid #e5e7eb}.btn-primary,.btn-secondary{padding:.65rem 1.2rem;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background-color .2s}.btn-primary:disabled{background-color:#93c5fd;cursor:not-allowed}.user-name-cell{display:flex;align-items:center;gap:.6rem}.user-avatar-sm{width:30px;height:30px;border-radius:50%;background-color:#dbeafe;color:#1d4ed8;font-size:.7rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;letter-spacing:0;overflow:hidden}.user-avatar-sm-img{width:100%;height:100%;object-fit:cover;display:block}.btn-danger-outline{padding:.65rem 1.2rem;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background-color .2s,color .2s;background-color:#fff;color:#dc2626;border:1px solid #fca5a5}.whatsapp-page{max-width:800px;margin:0 auto;padding:1rem}.whatsapp-page .page-header{margin-bottom:1.5rem}.whatsapp-page .page-header p{font-size:.875rem;color:#6b7280;margin:0}.status-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:1.25rem 1.5rem}.status-card h3{font-size:1rem;font-weight:600;color:#1f2937;margin:0 0 1rem}.status-loading{font-size:.9rem;color:#6b7280;margin:0}.status-info{display:flex;flex-direction:column;gap:.75rem}.status-row{display:flex;align-items:center;gap:.5rem}.status-label{font-size:.95rem;font-weight:500;color:#374151}.instance-name{font-size:.875rem;color:#6b7280;display:flex;gap:.4rem}.instance-label{font-weight:500}.companies-page{max-width:1200px}.filter-group{display:flex;flex-direction:column;gap:.5rem;min-width:250px;position:relative}.contacts-page{max-width:1200px}.filter-group{display:flex;flex-direction:column;gap:.5rem;min-width:220px;position:relative}.btn-create{padding:.625rem 1.25rem;background-color:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color .2s;margin-left:auto}.note-date{font-size:.8rem;color:#6b7280;margin-bottom:.25rem}.modal-form-content{max-width:560px}.modal-info-band{padding:1.5rem;background-color:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex;align-items:flex-end;justify-content:space-between;gap:1rem}.btn-create-client{padding:.4rem .9rem;background-color:#10b981;color:#fff;border:none;border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;white-space:nowrap;flex-shrink:0}.btn-create-client:hover{background-color:#059669}.btn-create-client:disabled{opacity:.6;cursor:not-allowed}.modal-tabs{display:flex;border-bottom:1px solid #e5e7eb;padding:0 1.5rem}.company-chips-input{display:flex;flex-wrap:wrap;gap:.375rem;align-items:center;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:8px;background-color:#fff;transition:border-color .2s,box-shadow .2s;min-height:2.75rem}.company-chips-input:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.company-chips-input input{border:none;outline:none;flex:none;width:100%;padding:.125rem 0;font-size:.9rem;color:#1f2937;background:transparent;border-radius:0}.company-chips-input input:focus{border-color:transparent;box-shadow:none}.company-chip{display:inline-flex;align-items:center;gap:.25rem;background-color:#eff6ff;color:#3b82f6;border-radius:6px;padding:.25rem .5rem;font-size:.85rem}.chip-remove{background:none;border:none;color:#3b82f6;cursor:pointer;font-size:1rem;line-height:1;padding:0;display:flex;align-items:center}.chip-remove:hover{color:#1d4ed8}.deals-page{max-width:none}.page-header-row{display:flex;justify-content:space-between;align-items:flex-end}.filter-group{display:flex;flex-direction:column;gap:.5rem;min-width:240px;position:relative}.filter-hint,.form-hint{font-size:.8rem;color:#6b7280;margin-top:.35rem}.loading{text-align:center;padding:3rem;color:#6b7280}.empty-state{text-align:center;padding:2rem;color:#6b7280}.kanban-column{min-width:320px;width:320px;background:#f3f4f6;border-radius:12px;padding:1rem;display:flex;flex-direction:column;flex-shrink:0}.kanban-column-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid #e5e7eb}.kanban-column-header-left{display:flex;flex-direction:column;gap:.15rem}.kanban-column-header h3{font-size:.9rem;font-weight:600;color:#1f2937;margin:0}.kanban-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;background-color:#e5e7eb;border-radius:11px;font-size:.75rem;font-weight:600;color:#6b7280}.kanban-column-total{font-size:.8rem;font-weight:600;color:#059669;letter-spacing:-.01em}.kanban-cards{display:flex;flex-direction:column;gap:.6rem;flex:1;overflow-y:auto}.kanban-add-btn{padding:.5rem;background:transparent;border:1px dashed #d1d5db;border-radius:8px;color:#6b7280;font-size:.8rem;font-weight:500;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s}.kanban-add-btn:hover{background-color:#e5e7eb;color:#374151;border-color:#cbd5e1}.kanban-card.no-pending-activity{border-left:3px solid #f59e0b;opacity:.6}.kanban-card.dragging{opacity:.4;box-shadow:none;transform:none}.kanban-cards.drag-over{background-color:#dbeafe;border-radius:8px;min-height:60px}.card-name{font-size:.9rem;font-weight:600;color:#1f2937;margin-bottom:.35rem}.card-company{font-size:.82rem;color:#6b7280;margin-bottom:.45rem}.card-assigned{margin-bottom:.4rem}.badge-assigned{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .55rem .2rem .3rem;border-radius:20px;font-size:.75rem;font-weight:500;background-color:#eff6ff;color:#3b82f6;border:1px solid #bfdbfe}.badge-user-avatar{width:18px;height:18px;border-radius:50%;background-color:#bfdbfe;color:#1d4ed8;font-size:.6rem;font-weight:700;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.badge-user-avatar-img{width:100%;height:100%;object-fit:cover;display:block}.info-value--user{display:inline-flex;align-items:center;gap:.5rem}.info-user-avatar{width:24px;height:24px;border-radius:50%;background-color:#dbeafe;color:#1d4ed8;font-size:.65rem;font-weight:700;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.info-user-avatar-img{width:100%;height:100%;object-fit:cover;display:block}.card-amount{font-size:.9rem;font-weight:600;color:#059669}.modal-content{background:#fff;border-radius:20px;width:95%;max-width:800px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #00000040,0 10px 20px -5px #00000026;border:1px solid rgba(255,255,255,.2)}.modal-content.modal-allow-overflow{overflow:visible}.modal-content.modal-deal-detail{width:96vw;max-width:1400px;height:94vh;max-height:94vh}.modal-content.modal-deal-detail .modal-body{min-height:0;background:#fafbfc}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:2rem 2rem 1.5rem;border-bottom:2px solid #e5e7eb;background:linear-gradient(to bottom,#fff,#fafbfc);border-top-left-radius:20px;border-top-right-radius:20px}.modal-header h3{font-size:1.5rem;font-weight:700;color:#111827;margin:0;letter-spacing:-.02em}.modal-close{background:#f3f4f6;border:1.5px solid #e5e7eb;font-size:1.5rem;color:#6b7280;cursor:pointer;padding:0;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;border-radius:12px;transition:all .2s ease;font-weight:300;line-height:1}.modal-close:hover{background-color:#e5e7eb;border-color:#d1d5db;color:#111827;transform:scale(1.05)}.modal-info-band{padding:2rem;background:linear-gradient(to right,#f8fafc,#f1f5f9);border-bottom:2px solid #e2e8f0}.info-select{min-width:220px;max-width:100%;padding:.4rem .65rem;border:1px solid #d1d5db;border-radius:6px;font-size:.85rem;color:#1f2937;background-color:#fff;cursor:pointer;transition:border-color .2s,box-shadow .2s}.info-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.modal-stage-row{padding:1rem 1.5rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e5e7eb;flex-wrap:wrap;gap:.75rem}.stage-selector-group{display:flex;align-items:center;gap:.75rem}.stage-selector-group label{font-size:.875rem;font-weight:600;color:#374151}.stage-select{padding:.5rem .875rem;border:1px solid #d1d5db;border-radius:8px;font-size:.9rem;color:#1f2937;background-color:#fff;cursor:pointer;transition:border-color .2s}.stage-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.deal-action-buttons{display:flex;gap:.5rem}.btn-close-deal{padding:.5rem 1rem;background-color:#059669;color:#fff;border:none;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;transition:background-color .2s}.btn-close-deal:hover{background-color:#047857}.btn-lose-deal{padding:.5rem 1rem;background-color:#dc2626;color:#fff;border:none;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;transition:background-color .2s}.btn-lose-deal:hover{background-color:#b91c1c}.modal-tabs{display:flex;border-bottom:2px solid #e5e7eb;padding:0 1.5rem;background:#fff}.tab-btn{padding:.75rem 1.25rem;background:none;border:none;font-size:.9rem;font-weight:500;color:#6b7280;cursor:pointer;border-bottom:2px solid transparent;transition:all .2s}.modal-body{padding:2rem;overflow-y:auto;flex:1;background:#fafbfc;border-bottom-left-radius:20px;border-bottom-right-radius:20px}.modal-body.modal-body--overflow{overflow-y:auto}.data-table td{padding:.875rem 1rem;border-bottom:1px solid #e5e7eb;color:#1f2937;font-size:.9rem}.feed-pane{display:flex;flex-direction:column;gap:1rem}.feed-item-icon{font-size:1.1rem;line-height:1;margin-top:.1rem}.feed-item-type{font-size:.75rem;font-weight:600;text-transform:uppercase;color:#6b7280;letter-spacing:.04em}.feed-item-date{font-size:.78rem;color:#9ca3af;flex:1}.feed-item-content{font-size:.9rem;color:#374151;white-space:pre-wrap;word-break:break-word}.feed-item-filename{font-size:.9rem;font-weight:500;color:#374151;word-break:break-all}.feed-item-filemeta{font-size:.78rem;color:#9ca3af;margin-top:.2rem}.notes-pane{display:flex;flex-direction:column;gap:1rem}.notes-form{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;padding:1rem}.notes-form textarea{resize:vertical;min-height:90px}.installments-pane,.deliveries-pane,.sales-data-pane,.files-pane{display:flex;flex-direction:column;gap:1rem}.activities-pane{display:flex;flex-direction:column;gap:.75rem}.activities-actions{display:flex;justify-content:flex-end}.file-dropzone.is-dragging{border-color:#3b82f6;background:#eff6ff;color:#1e40af}.file-upload-btn{border:none;padding:.65rem 1.25rem;border-radius:8px;background:#3b82f6;color:#fff;font-weight:600;font-size:.875rem;cursor:pointer;transition:background .2s ease}.file-upload-btn:hover{background:#2563eb}.files-table-wrapper{max-height:320px;overflow-y:auto}.files-table .file-name{font-weight:500;color:#111827}.file-action-download:hover:not(:disabled){background:#eff6ff;color:#3b82f6}.installments-table-wrapper,.deliveries-table-wrapper{max-height:260px;overflow-y:auto}.installments-table thead th{position:sticky;top:0;background-color:#f9fafb;z-index:1}.installments-form,.deliveries-form,.sales-data-form{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;padding:1rem}.installments-actions,.deliveries-actions,.sales-data-actions{display:flex;justify-content:flex-end;margin-top:.75rem}.sales-data-status{margin-top:.75rem;font-size:.85rem;color:#6b7280;text-align:right}.installments-checkbox{margin-top:.25rem}.installment-toggle{display:inline-flex;align-items:center;gap:.5rem}.installments-table input[type=checkbox]{width:18px;height:18px;accent-color:#3b82f6}.note-item{background-color:#f9fafb;border-radius:8px;padding:1rem;border:1px solid #e5e7eb}.note-action-edit:hover:not(:disabled){background:#f0f0ff;color:#6366f1}.cash-info{margin-top:1.5rem;padding:1rem;background-color:#eff6ff;border:1px solid #bfdbfe;border-radius:8px}.cash-info h4{font-size:.9rem;font-weight:600;color:#1e40af;margin:0 0 .75rem}.cash-details{display:flex;gap:.75rem;margin-bottom:.35rem;font-size:.875rem}.cash-details .info-label{min-width:80px;color:#1e40af}.page-header-actions{display:flex;gap:.5rem;align-items:center;margin-left:1.5rem}.btn-stages{padding:.625rem .875rem;background-color:#fff;color:#374151;border:1px solid #d1d5db;border-radius:8px;font-size:1.1rem;cursor:pointer;transition:background-color .2s,border-color .2s}.btn-stages:hover{background-color:#f3f4f6;border-color:#9ca3af}.action-buttons{display:flex;gap:.35rem}.btn-icon{padding:.4rem .6rem;background:none;border:1px solid #e5e7eb;border-radius:6px;cursor:pointer;font-size:.9rem;transition:background-color .2s,border-color .2s}.btn-icon.btn-delete{display:inline-flex;align-items:center;justify-content:center;padding:.4rem;color:#9ca3af;border-color:transparent;border-radius:6px;transition:color .15s,background-color .15s,border-color .15s}.btn-icon.btn-delete:hover{color:#ef4444;border-color:#fecaca;background-color:#fef2f2}.checkbox-row{display:flex;gap:2rem;margin-bottom:1.25rem}.checkbox-label{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#374151;cursor:pointer}.checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:#3b82f6;cursor:pointer}.stages-divider{margin:1.25rem 0;border-top:1px solid #e5e7eb}.badge-won{display:inline-block;padding:.2rem .6rem;border-radius:12px;font-size:.78rem;font-weight:600;background-color:#ecfdf5;color:#059669}.badge-lost{display:inline-block;padding:.2rem .6rem;border-radius:12px;font-size:.78rem;font-weight:600;background-color:#fef2f2;color:#dc2626}.badge-normal{display:inline-block;padding:.2rem .6rem;border-radius:12px;font-size:.78rem;font-weight:600;background-color:#f3f4f6;color:#6b7280}.inline-input{border:none;border-bottom:2px solid #3b82f6;outline:none;background:transparent;color:#1f2937;font-size:.875rem;padding:.1rem .25rem;width:140px;box-sizing:border-box;transition:box-shadow .2s}.inline-input-title{font-size:1.25rem;font-weight:600;width:100%;max-width:500px}.inline-autocomplete{width:220px;max-width:100%}.inline-autocomplete-input{width:100%}.suggestion-item:hover,.suggestion-item--active{background-color:#eff6ff;color:#3b82f6}.upload-file-name{font-size:.875rem;font-weight:500;color:#374151;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upload-error{color:#dc2626;font-size:.875rem}.activities-page{max-width:1200px}.filter-select{padding:.625rem .875rem;border:1px solid #d1d5db;border-radius:8px;font-size:.9rem;color:#1f2937;background-color:#fff;cursor:pointer;transition:border-color .2s}.filter-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.btn-create{padding:.625rem 1.25rem;background-color:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color .2s}.activities-page .filters-section .btn-create{margin-left:0}.filters-break{flex-basis:100%;height:0}.filters-row--actions{flex-basis:100%;display:flex;justify-content:flex-start;width:100%}.type-tag{display:inline-block;padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:500;background-color:#eff6ff;color:#2563eb}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:500}.status-badge.completed{background-color:#ecfdf5;color:#059669}.status-badge.pending{background-color:#fffbeb;color:#d97706}.assignee-avatar.assignee-avatar--sm{width:14px;height:14px;font-size:.5rem}.empty-cell{color:#d1d5db}.btn-complete{padding:.5rem 1rem;background:linear-gradient(to bottom,#f0fdf4,#dcfce7);color:#166534;border:1.5px solid #bbf7d0;border-radius:8px;font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .2s ease;letter-spacing:.01em;box-shadow:0 1px 2px #22c55e1a;display:inline-flex;align-items:center;gap:.375rem}.btn-complete:hover:not(:disabled){background:linear-gradient(to bottom,#dcfce7,#bbf7d0);border-color:#86efac;box-shadow:0 2px 4px #22c55e33;transform:translateY(-1px)}.btn-complete:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 2px #22c55e1a}.btn-complete:disabled{opacity:.5;cursor:not-allowed}.btn-icon-action{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:7px;border:1px solid transparent;cursor:pointer;transition:background-color .15s,border-color .15s,transform .1s;padding:0;flex-shrink:0}.btn-icon-action:active{transform:scale(.93)}.btn-icon-action:disabled{opacity:.45;cursor:not-allowed}.btn-icon-edit{background-color:#eff6ff;border-color:#bfdbfe;color:#1e40af}.btn-icon-edit:hover{background-color:#dbeafe;border-color:#93c5fd}.btn-icon-complete{background-color:#f0fdf4;border-color:#bbf7d0;color:#166534}.btn-icon-complete:hover:not(:disabled){background-color:#dcfce7;border-color:#86efac}.btn-icon-delete{background-color:#fef2f2;border-color:#fecaca;color:#991b1b}.btn-icon-delete:hover{background-color:#fee2e2;border-color:#f87171}.btn-icon{background:none;border:none;cursor:pointer;font-size:1rem;padding:.25rem .5rem;border-radius:6px;transition:background-color .2s}.btn-icon:hover{background-color:#f3f4f6}.modal-form-content{max-width:600px}.autocomplete-suggestions{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #d1d5db;border-radius:8px;box-shadow:0 4px 6px -1px #0000001a;margin-top:.25rem;max-height:200px;overflow-y:auto;z-index:1010;list-style:none;padding:0}.suggestion-item{padding:.75rem 1rem;cursor:pointer;border-bottom:1px solid #f3f4f6;transition:background-color .15s}.suggestion-item:last-child{border-bottom:none}.suggestion-item:hover{background-color:#f0f7ff}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.activities-tabs{display:flex;gap:.75rem;margin-bottom:1rem}.activities-tabs .tab-btn{padding:.6rem 1.1rem;border-radius:999px;border:1px solid #e5e7eb;background:#fff;color:#6b7280;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}.activities-tabs .tab-btn.active{color:#1d4ed8;border-color:#bfdbfe;background-color:#eff6ff}.activities-tabs .tab-btn:hover{color:#1f2937;border-color:#d1d5db}.calendar-content .calendar-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.calendar-content .calendar-title{font-size:1.1rem;font-weight:600;color:#1f2937}.calendar-content .calendar-controls{display:flex;gap:.5rem;flex-wrap:wrap}.calendar-content .week-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.75rem;min-height:500px}.calendar-content .week-column{display:flex;flex-direction:column;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;background:#fff}.calendar-content .week-column--today{border-color:#3b82f6;border-width:2px;box-shadow:0 0 0 3px #3b82f61a}.calendar-content .week-column-header{background:linear-gradient(to bottom,#f9fafb,#f3f4f6);padding:.875rem .75rem;text-align:center;border-bottom:2px solid #e5e7eb}.calendar-content .week-column--today .week-column-header{background:linear-gradient(to bottom,#eff6ff,#dbeafe);border-bottom-color:#3b82f6}.calendar-content .week-day-label{font-size:.75rem;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.calendar-content .week-column--today .week-day-label{color:#1e40af}.calendar-content .week-day-number{font-size:1.5rem;font-weight:700;color:#1f2937}.calendar-content .week-column--today .week-day-number{color:#3b82f6}.calendar-content .week-column-content{flex:1;padding:.75rem;display:flex;flex-direction:column;gap:.625rem;overflow-y:auto}.calendar-content .week-column-empty{text-align:center;padding:2rem .5rem;color:#9ca3af;font-size:.8125rem;font-style:italic}.activities-page .day-view-content{display:flex;flex-direction:column;gap:.75rem;min-height:300px;padding:.5rem 0;border-radius:8px;transition:background-color .2s ease}.activities-page .day-view-content.drag-over{background-color:#dbeafe}.activities-page .day-view-empty{text-align:center;padding:4rem 2rem;color:#9ca3af;font-size:.95rem;font-style:italic}.activities-page .day-activity-card{display:flex;align-items:stretch;background:#fff;border:1px solid #e5e7eb;border-left:4px solid #3b82f6;border-radius:10px;padding:1rem 1.25rem;cursor:pointer;transition:all .2s ease;gap:1rem}.activities-page .day-activity-card:hover{border-color:#93c5fd;box-shadow:0 4px 12px #3b82f61f;transform:translateY(-1px)}.activities-page .day-activity-card.completed{border-left-color:#22c55e;background:linear-gradient(to right,#f0fdf4,#fff);opacity:.85}.activities-page .day-activity-card.completed:hover{opacity:1}.activities-page .day-activity-card.dragging{opacity:.4}.activities-page .day-activity-left{display:flex;align-items:center;min-width:80px}.activities-page .day-activity-time-slot{font-size:.875rem;font-weight:700;color:#3b82f6;white-space:nowrap}.activities-page .day-activity-card.completed .day-activity-time-slot{color:#22c55e}.activities-page .day-activity-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.375rem}.activities-page .day-activity-header{display:flex;align-items:center;gap:.625rem}.activities-page .day-activity-type{font-size:.75rem;font-weight:600;color:#6b7280;background:#f3f4f6;padding:.15rem .5rem;border-radius:4px;white-space:nowrap}.activities-page .day-activity-title{font-size:1rem;font-weight:600;color:#1f2937;line-height:1.4}.activities-page .day-activity-card.completed .day-activity-title{text-decoration:line-through;color:#6b7280}.activities-page .day-activity-details{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.activities-page .day-activity-deal{font-size:.8rem;font-weight:600;color:#1e40af;background:#eff6ff;padding:.15rem .5rem;border-radius:4px}.activities-page .day-activity-company,.activities-page .day-activity-contact{font-size:.8rem;font-weight:500;color:#4b5563}.activities-page .day-activity-assignee{display:inline-flex;align-items:center;gap:.3rem;font-size:.78rem;font-weight:500;color:#3b82f6;background:#eff6ff;border:1px solid #bfdbfe;padding:.1rem .45rem .1rem .2rem;border-radius:20px}.activities-page .day-activity-actions{display:flex;align-items:center;gap:.625rem;margin-left:auto}.activities-page .btn-complete-small{width:28px;height:28px;border-radius:50%;border:1.5px solid #bbf7d0;background:#f0fdf4;color:#166534;font-size:.875rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.activities-page .btn-complete-small:hover:not(:disabled){background:#dcfce7;border-color:#86efac;transform:scale(1.1)}.activities-page .btn-complete-small:disabled{opacity:.5;cursor:not-allowed}.activities-page .status-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.activities-page .status-dot.pending{background-color:#fbbf24}.activities-page .status-dot.done{background-color:#22c55e}.calendar-content .week-activity{background:linear-gradient(to bottom,#eff6ff,#dbeafe);border:1px solid #bfdbfe;border-left:3px solid #3b82f6;border-radius:8px;padding:.625rem .75rem;cursor:pointer;transition:all .2s ease;overflow:hidden}.calendar-content .week-activity:hover{background:linear-gradient(to bottom,#dbeafe,#bfdbfe);border-color:#93c5fd;box-shadow:0 2px 6px #3b82f626;transform:translate(2px)}.calendar-content .week-activity.completed{background:linear-gradient(to bottom,#f0fdf4,#dcfce7);border-color:#bbf7d0;border-left-color:#22c55e;opacity:.8}.calendar-content .week-activity.completed:hover{background:linear-gradient(to bottom,#dcfce7,#bbf7d0);opacity:1}.calendar-content .week-activity-title{font-size:.875rem;font-weight:600;color:#1e40af;margin-bottom:.375rem;line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.calendar-content .week-activity.completed .week-activity-title{color:#166534;text-decoration:line-through}.calendar-content .week-activity-meta{display:flex;flex-direction:column;gap:.25rem}.calendar-content .week-activity-deal,.calendar-content .week-activity-company{font-size:.75rem;color:#6b7280;display:flex;align-items:center;gap:.25rem}.calendar-content .week-activity-time{font-size:.72rem;color:#1d4ed8;font-weight:600}.calendar-content .week-activity.completed .week-activity-time{color:#166534}.calendar-content .week-activity-deal{font-weight:500;color:#4b5563}.calendar-content .week-activity-assignee{display:flex;align-items:center;gap:.3rem;font-size:.72rem;font-weight:500;color:#3b82f6}.calendar-content .calendar-empty{margin-top:1rem;color:#6b7280;font-size:.9rem;text-align:center}.calendar-content .week-activity.dragging{opacity:.4;box-shadow:none;transform:none}.calendar-content .week-column-content.drag-over{background-color:#dbeafe;border-radius:8px;min-height:60px}.month-day--today{background-color:#eff6ff;box-shadow:inset 0 0 0 2px #3b82f6}.month-day--drag-over{background-color:#dbeafe}.month-day--today .month-day-number{color:#3b82f6;font-weight:700}.month-activity{font-size:.7rem;padding:.2rem .375rem;border-radius:4px;background:linear-gradient(to bottom,#eff6ff,#dbeafe);border-left:2px solid #3b82f6;color:#1e40af;font-weight:500;cursor:pointer;overflow:hidden;transition:all .15s ease;line-height:1.4}.month-activity-title{display:block;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.month-activity-time{display:block;font-size:.62rem;font-weight:600;color:#1d4ed8;line-height:1.2}.month-activity:hover{background:linear-gradient(to bottom,#dbeafe,#bfdbfe);box-shadow:0 1px 3px #3b82f633}.month-activity.completed{background:linear-gradient(to bottom,#f0fdf4,#dcfce7);border-left-color:#22c55e;color:#166534;text-decoration:line-through;opacity:.8}.month-activity.completed:hover{opacity:1}.month-activity.dragging{opacity:.4}.month-activity-deal{display:block;font-size:.6rem;font-weight:400;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.month-activity-assignee{display:flex;align-items:center;gap:.25rem;font-size:.6rem;font-weight:500;color:#3b82f6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.month-activity.completed .month-activity-time{color:#166534}.month-activity.completed .month-activity-deal{text-decoration:line-through}.month-day-more{font-size:.7rem;color:#3b82f6;font-weight:600;padding:.125rem .375rem;cursor:default}@media(max-width:900px){.calendar-content .calendar-day{min-height:110px}.calendar-content .calendar-event{font-size:.7rem}.month-day{min-height:80px}.month-activity{font-size:.65rem}}.page-header-row{display:flex;justify-content:space-between;align-items:flex-end;width:100%}.filters-section{background:#fff;border-radius:12px;padding:1.25rem;margin-bottom:1rem;box-shadow:0 1px 3px #0000001a;display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end}.filter-input{padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;color:#374151;background:#fff;outline:none;transition:border-color .15s}.filter-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.filter-actions{display:flex;gap:.5rem;align-items:flex-end;padding-bottom:0}.btn-clear-filters{padding:.5rem 1rem;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#6b7280;font-size:.875rem;cursor:pointer;transition:background .15s,color .15s;white-space:nowrap}.btn-clear-filters:hover{background:#f3f4f6;color:#374151}.btn-primary{padding:.5rem 1.25rem;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .15s;white-space:nowrap}.btn-primary:disabled{opacity:.6;cursor:default}.btn-secondary{padding:.5rem 1.25rem;background:#fff;color:#374151;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .15s}.btn-secondary:hover{background:#f3f4f6}.btn-danger{padding:.5rem 1.25rem;background:#ef4444;color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .15s}.btn-danger:hover{background:#dc2626}.btn-icon{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:6px;cursor:pointer;transition:background .15s,color .15s;background:transparent;color:#6b7280}.btn-delete:hover{background:#fef2f2;color:#ef4444}.datepicker-group{width:100%;max-width:320px}.list-content{background:#fff;border-radius:12px;padding:1.5rem;padding-bottom:0;box-shadow:0 1px 3px #0000001a;overflow:hidden}.table-wrapper{overflow-x:auto;margin:0 -1.5rem}.data-table th{background:#f9fafb;padding:.75rem 1rem;text-align:left;font-size:.8rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #e5e7eb}.data-table td{padding:.875rem 1rem;font-size:.9rem;color:#374151;border-bottom:1px solid #f3f4f6}.row-clickable:hover td{background:#f9fafb}.pub-name{font-weight:500;color:#111827}.actions-cell{display:flex;gap:.25rem}.status-badge{display:inline-flex;align-items:center;padding:.25rem .625rem;border-radius:999px;font-size:.78rem;font-weight:500}.status-not_started{background:#f3f4f6;color:#6b7280}.status-created{background:#eff6ff;color:#3b82f6}.status-scheduled{background:#f0fdf4;color:#16a34a}.loading-state,.empty-state{text-align:center;padding:3rem;color:#6b7280;font-size:.95rem}.publications-page .modal-content{background:#fff;border-radius:20px;width:95%;max-width:800px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #00000040}.publications-page .modal-form-content{max-width:520px}.publications-page .modal-publication-detail{width:90vw;max-width:1100px;height:auto;max-height:88vh}.publications-page .modal-confirm{max-width:440px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 1.75rem 1.25rem;border-bottom:1px solid #e5e7eb;flex-shrink:0}.modal-header h3{font-size:1.15rem;font-weight:600;color:#111827;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:calc(100% - 3rem)}.modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;border-radius:8px;cursor:pointer;color:#6b7280;flex-shrink:0;transition:background .15s}.modal-close:hover{background:#f3f4f6;color:#111827}.modal-tabs{display:flex;gap:0;border-bottom:1px solid #e5e7eb;padding:0 1.75rem;flex-shrink:0}.tab-btn{padding:.75rem 1rem;border:none;background:transparent;font-size:.875rem;font-weight:500;color:#6b7280;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s,border-color .15s}.tab-btn:hover{color:#374151}.tab-btn.active{color:#3b82f6;border-bottom-color:#3b82f6}.modal-body{overflow-y:auto;flex:1;padding:1.5rem 1.75rem}.info-band{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;padding:1.25rem 1.5rem;display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem 1.5rem;margin-bottom:1.25rem}.info-row{display:flex;flex-direction:column;gap:.3rem}.info-label{font-size:.75rem;font-weight:500;color:#6b7280;text-transform:uppercase;letter-spacing:.04em}.info-value{font-size:.9rem;color:#111827;font-weight:500}.detail-actions{display:flex;gap:.75rem;margin-bottom:1.75rem}.modal-form{display:flex;flex-direction:column;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.4rem}.form-input{padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;color:#374151;background:#fff;outline:none;transition:border-color .15s;width:100%;box-sizing:border-box}.form-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-actions{display:flex;justify-content:flex-end;gap:.75rem;padding-top:.25rem}.publications-tabs{display:flex;gap:.75rem;margin-bottom:1rem}.publications-tabs .tab-btn{padding:.6rem 1.1rem;border-radius:999px;border:1px solid #e5e7eb;background:#fff;color:#6b7280;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}.publications-tabs .tab-btn.active{color:#1d4ed8;border-color:#bfdbfe;background-color:#eff6ff}.publications-tabs .tab-btn:hover{color:#1f2937;border-color:#d1d5db}.calendar-content{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.calendar-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.calendar-title{font-size:1.1rem;font-weight:600;color:#1f2937}.day-view-content{display:flex;flex-direction:column;gap:.75rem;min-height:300px;padding:.5rem 0}.day-view-content.drag-over{background-color:#ede9fe;border-radius:8px}.day-pub-card{background:#fff;border:1px solid #e5e7eb;border-left:4px solid #8b5cf6;border-radius:10px;padding:1rem 1.25rem;cursor:pointer;transition:all .2s ease}.day-pub-card:hover{border-color:#c4b5fd;box-shadow:0 4px 12px #8b5cf61f;transform:translateY(-1px)}.day-pub-name{font-size:1rem;font-weight:600;color:#1f2937;margin-bottom:.375rem}.day-pub-meta{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.day-pub-project{font-size:.8rem;font-weight:600;color:#1e40af;background:#eff6ff;padding:.15rem .5rem;border-radius:4px}.week-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.75rem;min-height:500px}.week-column{display:flex;flex-direction:column;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;background:#fff}.week-column--today{border-color:#8b5cf6;border-width:2px;box-shadow:0 0 0 3px #8b5cf61a}.week-column-header{background:linear-gradient(to bottom,#f9fafb,#f3f4f6);padding:.875rem .75rem;text-align:center;border-bottom:2px solid #e5e7eb}.week-column--today .week-column-header{background:linear-gradient(to bottom,#f5f3ff,#ede9fe);border-bottom-color:#8b5cf6}.week-day-label{font-size:.75rem;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.week-column--today .week-day-label{color:#6d28d9}.week-day-number{font-size:1.5rem;font-weight:700;color:#1f2937}.week-column--today .week-day-number{color:#8b5cf6}.week-column-content{flex:1;padding:.75rem;display:flex;flex-direction:column;gap:.5rem;overflow-y:auto}.week-column-content.drag-over{background-color:#ede9fe;border-radius:8px;min-height:60px}.week-pub.dragging{opacity:.4;box-shadow:none;transform:none}.week-column-empty{text-align:center;padding:2rem .5rem;color:#9ca3af;font-size:.8125rem;font-style:italic}.week-pub{border-radius:8px;padding:.5rem .625rem;cursor:pointer;transition:all .2s ease;overflow:hidden;background:linear-gradient(to bottom,#f5f3ff,#ede9fe);border:1px solid #c4b5fd;border-left:3px solid #8b5cf6}.week-pub:hover{background:linear-gradient(to bottom,#ede9fe,#ddd6fe);box-shadow:0 2px 6px #8b5cf626;transform:translate(2px)}.status-border-not_started{border-left-color:#6b7280!important;background:linear-gradient(to bottom,#f9fafb,#f3f4f6)!important;border-color:#d1d5db!important}.status-border-created{border-left-color:#3b82f6!important;background:linear-gradient(to bottom,#eff6ff,#dbeafe)!important;border-color:#bfdbfe!important}.status-border-scheduled{border-left-color:#16a34a!important;background:linear-gradient(to bottom,#f0fdf4,#dcfce7)!important;border-color:#bbf7d0!important}.week-pub-name{font-size:.875rem;font-weight:600;color:#1f2937;line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:.25rem}.week-pub-project{font-size:.75rem;font-weight:500;color:#4b5563}.month-calendar-grid{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.month-calendar-header-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:linear-gradient(to bottom,#f9fafb,#f3f4f6);border-bottom:2px solid #e5e7eb}.month-calendar-header-cell{padding:.625rem .5rem;text-align:center;font-size:.75rem;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.month-calendar-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.month-calendar-row:not(:last-child){border-bottom:1px solid #e5e7eb}.month-day{min-height:110px;padding:.375rem;border-right:1px solid #e5e7eb;display:flex;flex-direction:column;gap:.25rem;overflow:hidden}.month-day:last-child{border-right:none}.month-day--today{background-color:#f5f3ff;box-shadow:inset 0 0 0 2px #8b5cf6}.month-day--outside{opacity:.4;background-color:#f9fafb}.month-day--drag-over{background-color:#ede9fe}.month-pub.dragging,.day-pub-card.dragging{opacity:.4}.month-day-number{font-size:.8rem;font-weight:600;color:#374151;padding:.125rem .25rem;line-height:1}.month-day--today .month-day-number{color:#8b5cf6;font-weight:700}.month-pub{font-size:.7rem;padding:.2rem .375rem;border-radius:4px;font-weight:500;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:all .15s ease;line-height:1.4}.month-pub:hover{opacity:.85;box-shadow:0 1px 3px #00000026}.status-bg-not_started{background:#f3f4f6;border-left:2px solid #6b7280;color:#374151}.status-bg-created{background:linear-gradient(to bottom,#eff6ff,#dbeafe);border-left:2px solid #3b82f6;color:#1e40af}.status-bg-scheduled{background:linear-gradient(to bottom,#f0fdf4,#dcfce7);border-left:2px solid #16a34a;color:#166534}.month-day-more{font-size:.7rem;color:#8b5cf6;font-weight:600;padding:.125rem .375rem;cursor:default}.autocomplete-wrapper{position:relative}.autocomplete-suggestions{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 12px #0000001a;list-style:none;padding:.375rem 0;margin:0;z-index:50;max-height:180px;overflow-y:auto}.suggestion-item{padding:.5rem .875rem;font-size:.875rem;color:#374151;cursor:pointer;transition:background .1s}.suggestion-item:hover{background:#f3f4f6}.files-pane{display:flex;flex-direction:column}.file-dropzone{display:flex;align-items:center;gap:.75rem;border:2px dashed #d1d5db;border-radius:10px;padding:1.25rem 1.5rem;background:#fafafa;color:#6b7280;font-size:.875rem;transition:border-color .15s,background .15s}.file-dropzone.is-dragging{border-color:#3b82f6;background:#eff6ff}.file-upload-btn{padding:.5rem 1rem;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .15s;white-space:nowrap}.file-upload-btn:hover:not(:disabled){background:#2563eb}.file-hint{font-size:.78rem;color:#9ca3af;margin:.5rem 0 1rem}.files-table-wrapper{overflow-x:auto}.files-table .file-name{font-weight:500;color:#111827;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.files-table .file-actions{display:flex;gap:.25rem}.file-action-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:6px;cursor:pointer;background:transparent;color:#6b7280;transition:background .15s,color .15s}.file-action-view:hover{background:#f0fdf4;color:#16a34a}.file-action-download:hover{background:#eff6ff;color:#3b82f6}.file-action-delete:hover{background:#fef2f2;color:#ef4444}.confirm-body{display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center}.confirm-icon{font-size:2rem}.confirm-message{color:#374151;font-size:.95rem;margin:0}.confirm-actions{display:flex;gap:.75rem;justify-content:center;padding-top:.25rem}.pdf-viewer-name{font-size:.9rem;font-weight:500;color:#374151;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:calc(100% - 3rem)}.projects-page{max-width:1200px}.modal-body .loading,.modal-body .empty-state{background:#fff;border-radius:16px;padding:4rem 2rem;border:2px dashed #e5e7eb;color:#64748b;font-size:.9375rem}.projects-page .client-name-cell{display:flex;align-items:center;justify-content:flex-end;gap:.6rem}.client-avatar-sm{width:30px;height:30px;border-radius:50%;background-color:#dbeafe;color:#1d4ed8;font-size:.7rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.list-content>.data-table tbody tr{border-left:3px solid transparent}.data-table tbody tr.project-row-completed{border-left-color:#22c55e;background:linear-gradient(to right,#f0fdf4,#fff)}.data-table tbody tr.project-row-completed:hover{background:linear-gradient(to right,#dcfce7,#f8fafc);border-left-color:#16a34a}.project-title-cell{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.5rem}.project-title-completed{color:#64748b;text-decoration:line-through}.project-done-dot{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:999px;border:1px solid #86efac;background:#dcfce7;color:#166534;font-size:.8rem;font-weight:700;line-height:1}.modal-content{background:#fff;border-radius:20px;width:95%;max-width:800px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #00000040,0 10px 20px -5px #00000026;border:1px solid rgba(255,255,255,.2);animation:slideUp .3s ease}.modal-content.modal-projects{width:96vw;max-width:1400px;height:94vh;max-height:94vh}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:2rem 2rem 1.5rem;border-bottom:2px solid #e5e7eb;background:linear-gradient(135deg,#f0f9ff,#e0f2fe)}.modal-header h3{font-size:1.5rem;font-weight:700;color:#0c4a6e;margin:0;letter-spacing:-.02em;display:flex;align-items:center;gap:.75rem}.modal-header h3:before{content:"";display:block;width:4px;height:28px;background:linear-gradient(to bottom,#0ea5e9,#0284c7);border-radius:4px}.modal-header-actions{display:flex;align-items:center;gap:.75rem}.project-complete-indicator{display:inline-flex;align-items:center;padding:.4rem .8rem;border-radius:999px;border:1px solid #86efac;background:linear-gradient(135deg,#22c55e,#16a34a);color:#f0fdf4;font-size:.8125rem;font-weight:700;letter-spacing:.01em;box-shadow:0 2px 6px #16a34a59}.btn-watch{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;padding:0;border:1.5px solid #d1d5db;border-radius:12px;cursor:pointer;transition:all .2s ease;background-color:#fff;color:#9ca3af}.modal-close{background:#f0f9ff;border:1.5px solid #bae6fd;font-size:1.5rem;color:#0369a1;cursor:pointer;padding:0;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;border-radius:12px;transition:all .2s ease;font-weight:300;line-height:1}.modal-close:hover{background:linear-gradient(to bottom,#e0f2fe,#bae6fd);border-color:#7dd3fc;color:#0c4a6e;transform:scale(1.05);box-shadow:0 2px 8px #0ea5e933}.modal-info-band{padding:2rem;background:linear-gradient(to right,#f8fafc,#f1f5f9);border-bottom:2px solid #e2e8f0;display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:1.5rem}.info-row:hover{border-color:#cbd5e1;box-shadow:0 4px 6px #00000012}.info-client-avatar{width:28px;height:28px;border-radius:50%;background-color:#dbeafe;color:#1d4ed8;font-size:.65rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;border:1.5px solid #e5e7eb}.modal-body{padding:2rem;overflow-y:auto;flex:1;background:#fafbfc}.notes-pane,.files-pane,.deliveries-pane,.feed-pane{display:flex;flex-direction:column;gap:1rem}.feed-compose-actions{display:flex;gap:.5rem;align-items:center}.slash-option-sub{color:#9ca3af;font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:120px;flex-shrink:0}.project-deliveries-form{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;padding:1rem;margin-bottom:1.5rem}.tasks-form label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.5rem}.project-delivery-input{width:100%;padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:8px;font-size:.9rem;color:#111827;background-color:#fff;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.project-delivery-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.delivery-create-toggle{background-color:#fff;color:#374151;border:1px solid #d1d5db}.delivery-create-toggle:hover:not(:disabled){background-color:#f9fafb}.project-delivery-date-group .project-delivery-datepicker{width:100%;max-width:280px}.delivery-submit-btn{background-color:#3b82f6}.delivery-submit-btn:hover:not(:disabled){background-color:#2563eb}.note-text{font-size:.9rem;color:#1f2937}.files-table-wrapper{max-height:360px;overflow-y:auto;background:#fff;border-radius:16px;border:1px solid #e5e7eb;box-shadow:0 1px 3px #0000000d}.files-table tbody tr{transition:background-color .15s ease}.files-table tbody tr:hover{background-color:#f9fafb}.file-action-view:hover:not(:disabled){background:#f0fdf4;color:#16a34a}.pdf-viewer-overlay{z-index:1100}.pdf-viewer-modal{background:#fff;border-radius:16px;width:90vw;height:92vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 25px 50px -12px #00000059}.pdf-viewer-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid #e5e7eb;background:#f9fafb;flex-shrink:0}.pdf-viewer-name{font-size:.9rem;font-weight:500;color:#111827;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-viewer-container{flex:1;display:flex;align-items:center;justify-content:center;overflow:auto;background:#f3f4f6;padding:1.5rem}.image-viewer-img{max-width:100%;max-height:100%;object-fit:contain;border-radius:4px}.pdf-viewer-iframe{flex:1;border:none;width:100%}.deliveries-table td{padding:1.25rem 1.5rem;white-space:nowrap;font-size:.9375rem;font-weight:500;color:#1e293b}.deliveries-table tbody tr.delivery-row-completed{background:linear-gradient(to right,#f0fdf4,#f8fafc);border-left-color:#22c55e}.deliveries-table tbody tr.delivery-row-completed:hover{background:linear-gradient(to right,#dcfce7,#f0fdf4);border-left-color:#16a34a}.delivery-title-cell{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.5rem}.delivery-title-completed{color:#64748b;text-decoration:line-through}.modal-body .loading{display:flex;flex-direction:column;align-items:center;gap:1rem}.modal-body .loading p{margin:0;color:#64748b;font-weight:500}.modal-body .empty-state{display:flex;flex-direction:column;align-items:center;gap:1rem}.modal-body .empty-state svg{opacity:.5}.modal-body .empty-state p{font-size:1.125rem;font-weight:600;color:#475569;margin:0}.modal-body .empty-state span{font-size:.875rem;color:#94a3b8;font-weight:400}.deliveries-header-compact{justify-content:flex-end}@media(max-width:768px){.modal-content.modal-projects{width:100%;height:100%;max-height:100vh;border-radius:0}.modal-tabs{padding:0 1rem;flex-wrap:wrap}.modal-header h3{font-size:1.25rem;flex-wrap:wrap}.deliveries-badge{margin-left:0;margin-top:.5rem}.modal-info-band{grid-template-columns:1fr;gap:1rem;padding:1.5rem}.deliveries-header{flex-direction:column;align-items:flex-start;gap:.75rem}.deliveries-header.deliveries-header-compact{flex-direction:row;align-items:center;justify-content:flex-end;width:100%}.project-delivery-date-group .project-delivery-datepicker{max-width:100%}.deliveries-table th,.deliveries-table td{padding:1rem}.deliveries-table th:first-child,.deliveries-table td:first-child{padding-left:1.5rem}}.tasks-table tbody tr{transition:all .15s ease;border-left:3px solid transparent;cursor:pointer}.stamp-pane{padding:1.5rem 0}.stamp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem}.editable{cursor:pointer;border-bottom:1px dashed transparent;transition:border-color .2s;padding-bottom:1px}.editable:hover{border-bottom-color:#9ca3af}.inline-input{border:none;border-bottom:2px solid #3b82f6;outline:none;background:transparent;color:#1f2937;font-size:.875rem;padding:.1rem .25rem;width:160px;box-sizing:border-box;transition:box-shadow .2s}.inline-input:focus{box-shadow:0 2px #3b82f626}.cost-alert--info{background:#eff6ff;border-color:#93c5fd;color:#1e40af}.cost-negative{color:#dc2626}.cost-stats--sm{gap:.75rem}.cost-stats--sm .cost-stat{padding:.625rem 1rem;min-width:100px}.cost-stats--sm .cost-stat-value{font-size:.9rem}.clients-page{max-width:1200px}.btn-new-project{padding:.35rem .8rem;background-color:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;white-space:nowrap}.btn-new-project:hover{background-color:#2563eb}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:16px;width:95%;max-width:560px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 40px #0003}.modal-project-form{max-width:600px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid #e5e7eb}.modal-header h3{font-size:1.1rem;font-weight:600;color:#111827;margin:0}.modal-close{background:none;border:none;font-size:1.4rem;color:#6b7280;cursor:pointer;line-height:1;padding:.25rem}.modal-close:hover{color:#111827}.modal-body{padding:1.5rem;overflow-y:auto}.project-form .form-group{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}.project-form .form-group label{font-size:.85rem;font-weight:500;color:#374151}.project-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-input{padding:.6rem .875rem;border:1px solid #d1d5db;border-radius:8px;font-size:.9rem;color:#1f2937;background:#fff;width:100%;box-sizing:border-box}.form-textarea{resize:vertical;min-height:90px;font-family:inherit}.form-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:.5rem}.btn-primary{padding:.6rem 1.25rem;background-color:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer}.btn-secondary{padding:.6rem 1.25rem;background-color:#f3f4f6;color:#374151;border:1px solid #d1d5db;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer}.client-name-cell{display:flex;align-items:center;gap:.6rem}.client-avatar-sm{width:30px;height:30px;border-radius:50%;background-color:#dbeafe;color:#1d4ed8;font-size:.7rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;letter-spacing:0;overflow:hidden}.action-buttons{display:flex;gap:.5rem}.btn-icon{background:#f3f4f6;border:none;color:#374151;border-radius:6px;padding:.4rem .7rem;font-size:.8rem;cursor:pointer;transition:background-color .2s;white-space:nowrap}.btn-icon:hover{background:#e5e7eb}.btn-edit-photo{display:inline-flex;align-items:center;gap:.35rem;background:#f0f9ff;border:1px solid #bae6fd;color:#0369a1;border-radius:6px;padding:.35rem .7rem;font-size:.8rem;font-weight:500;cursor:pointer;transition:background-color .15s,border-color .15s;white-space:nowrap}.btn-edit-photo:hover{background:#e0f2fe;border-color:#7dd3fc}.photo-section{display:flex;align-items:center;gap:1.25rem;padding:1rem 0 1.25rem;border-bottom:1px solid #f3f4f6;margin-bottom:1.25rem}.photo-avatar-lg{width:72px;height:72px;border-radius:50%;overflow:hidden;flex-shrink:0;border:2px solid #e5e7eb}.photo-avatar-img{width:100%;height:100%;object-fit:cover;display:block}.photo-avatar-placeholder{width:100%;height:100%;background-color:#dbeafe;display:flex;align-items:center;justify-content:center}.photo-avatar-initials{font-size:1.4rem;font-weight:700;color:#1d4ed8;line-height:1}.photo-loading-spinner{display:block;width:22px;height:22px;border:2px solid #bfdbfe;border-top-color:#3b82f6;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.photo-controls{display:flex;flex-direction:column;gap:.5rem}.btn-danger-outline{padding:.6rem 1.25rem;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color .2s,color .2s;background-color:#fff;color:#dc2626;border:1px solid #fca5a5}.btn-danger-outline:hover{background-color:#fef2f2}.btn-danger-outline:disabled{opacity:.5;cursor:not-allowed}.client-edit-name{font-size:.9rem;color:#374151;font-weight:500}.deliveries-page{max-width:1200px}.deliveries-page .client-name-cell{display:flex;align-items:center;justify-content:flex-start;gap:.6rem}.client-avatar-sm{width:28px;height:28px;border-radius:50%;background-color:#dbeafe;color:#1d4ed8;font-size:.65rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.client-avatar-sm-img{width:100%;height:100%;object-fit:cover;display:block}.data-table td{padding:1rem;border-bottom:1px solid #e5e7eb;color:#1f2937;font-size:.9rem;height:60px;vertical-align:middle}.delivery-row-completed{border-left:3px solid #22c55e;background:linear-gradient(to right,#f0fdf4,#fff)}.data-table tr.delivery-row-completed:hover{background:linear-gradient(to right,#dcfce7,#f8fafc)}.delivery-name-cell{display:inline-flex;align-items:center;gap:.5rem}.delivery-name-completed{color:#64748b;text-decoration:line-through}.delivery-no-tasks-badge{display:inline-flex;align-items:center;font-size:.68rem;font-weight:500;color:#9ca3af;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:999px;padding:.1rem .5rem;white-space:nowrap;line-height:1.4}.delivery-no-tasks-badge--sm{font-size:.62rem;padding:.08rem .4rem}.month-delivery.no-open-tasks{opacity:.55}.delivery-done-dot{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:999px;border:1px solid #86efac;background:#dcfce7;color:#166534;font-size:.8rem;font-weight:700;line-height:1}.modal-content{background:#fff;border-radius:12px;width:95%;max-width:800px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.modal-content.modal-deliveries{width:96vw;max-width:1400px;height:94vh;max-height:94vh}.modal-info-band{padding:1.5rem;background-color:#f9fafb;border-bottom:1px solid #e5e7eb}.info-row{display:flex;margin-bottom:.5rem}.info-row:last-child{margin-bottom:0}.info-label{font-weight:600;color:#6b7280;min-width:120px;font-size:.875rem}.info-value{color:#1f2937;font-size:.875rem}.info-value--client{display:flex;align-items:center;gap:.5rem}.info-client-avatar{width:24px;height:24px;border-radius:50%;background-color:#dbeafe;color:#1d4ed8;font-size:.6rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;border:1.5px solid #e5e7eb}.info-client-avatar-img{width:100%;height:100%;object-fit:cover;display:block}.tasks-actions{display:flex;justify-content:flex-end;margin-bottom:1rem}.tasks-form{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;padding:1rem;margin-bottom:1.5rem}.form-group input,.form-group select{width:100%;padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:8px;font-size:.9rem;color:#1f2937;background-color:#fff;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.form-group input:focus,.form-group select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-hint{margin-top:.5rem;font-size:.8rem;color:#6b7280}.form-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1rem}.tasks-table-wrapper{overflow-x:auto}.tasks-table td{white-space:nowrap}.deliveries-tabs{display:flex;gap:.75rem;margin-bottom:1rem}.deliveries-tabs .tab-btn{padding:.6rem 1.1rem;border-radius:999px;border:1px solid #e5e7eb;background:#fff;color:#6b7280;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}.deliveries-tabs .tab-btn.active{color:#1d4ed8;border-color:#bfdbfe;background-color:#eff6ff}.deliveries-tabs .tab-btn:hover{color:#1f2937;border-color:#d1d5db}.day-view-content{display:flex;flex-direction:column;gap:.75rem;min-height:300px;padding:.5rem 0;border-radius:8px;transition:background-color .2s ease}.day-view-content.drag-over{background-color:#dbeafe}.day-view-empty{text-align:center;padding:4rem 2rem;color:#9ca3af;font-size:.95rem;font-style:italic}.day-delivery-card{display:flex;align-items:center;background:#fff;border:1px solid #e5e7eb;border-left:4px solid #3b82f6;border-radius:10px;padding:1rem 1.25rem;cursor:pointer;transition:all .2s ease;gap:1rem}.day-delivery-card:hover{border-color:#93c5fd;box-shadow:0 4px 12px #3b82f61f;transform:translateY(-1px)}.day-delivery-card.completed{border-left-color:#22c55e;background:linear-gradient(to right,#f0fdf4,#fff);opacity:.85}.day-delivery-card.completed:hover{opacity:1}.day-delivery-card.dragging{opacity:.4}.day-delivery-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.375rem}.day-delivery-title{font-size:1rem;font-weight:600;color:#1f2937;line-height:1.4}.day-delivery-card.completed .day-delivery-title{text-decoration:line-through;color:#6b7280}.day-delivery-details{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.day-delivery-project{font-size:.8rem;font-weight:600;color:#1e40af;background:#eff6ff;padding:.15rem .5rem;border-radius:4px}.day-delivery-client{font-size:.8rem;font-weight:500;color:#4b5563}.day-delivery-actions{display:flex;align-items:center;gap:.625rem;margin-left:auto}.status-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.status-dot.pending{background-color:#fbbf24}.status-dot.done{background-color:#22c55e}.week-delivery{background:linear-gradient(to bottom,#eff6ff,#dbeafe);border:1px solid #bfdbfe;border-left:3px solid #3b82f6;border-radius:8px;padding:.625rem .75rem;cursor:pointer;transition:all .2s ease;overflow:hidden}.week-delivery:hover{background:linear-gradient(to bottom,#dbeafe,#bfdbfe);border-color:#93c5fd;box-shadow:0 2px 6px #3b82f626;transform:translate(2px)}.week-delivery.completed{background:linear-gradient(to bottom,#f0fdf4,#dcfce7);border-color:#bbf7d0;border-left-color:#22c55e;opacity:.8}.week-delivery.completed:hover{background:linear-gradient(to bottom,#dcfce7,#bbf7d0);opacity:1}.week-delivery.dragging{opacity:.4;box-shadow:none;transform:none}.week-delivery-title{font-size:.875rem;font-weight:600;color:#1e40af;margin-bottom:.375rem;line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.week-delivery.completed .week-delivery-title{color:#166534;text-decoration:line-through}.week-delivery-meta{display:flex;flex-direction:column;gap:.25rem}.week-delivery-project,.week-delivery-client{font-size:.75rem;color:#6b7280;display:flex;align-items:center;gap:.25rem}.week-delivery-project{font-weight:500;color:#4b5563}.month-delivery{font-size:.7rem;padding:.2rem .375rem;border-radius:4px;background:linear-gradient(to bottom,#eff6ff,#dbeafe);border-left:2px solid #3b82f6;color:#1e40af;font-weight:500;cursor:pointer;overflow:hidden;transition:all .15s ease;line-height:1.4}.month-delivery:hover{background:linear-gradient(to bottom,#dbeafe,#bfdbfe);box-shadow:0 1px 3px #3b82f633}.month-delivery.completed{background:linear-gradient(to bottom,#f0fdf4,#dcfce7);border-left-color:#22c55e;color:#166534;text-decoration:line-through;opacity:.8}.month-delivery.completed:hover{opacity:1}.month-delivery.dragging{opacity:.4}.month-delivery-project{display:block;font-size:.6rem;font-weight:500;color:#4b5563;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.month-delivery.completed .month-delivery-project{text-decoration:line-through}.filter-group{display:flex;flex-direction:column;gap:.5rem;min-width:200px;position:relative}.btn-clear-filters{padding:.625rem 1.25rem;background-color:#6b7280;color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s;height:fit-content}.btn-clear-filters:hover{background-color:#4b5563}.btn-create{padding:.875rem 2rem;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:12px;font-size:.95rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .2s;box-shadow:0 2px 4px #3b82f626}.modal-form-content{max-width:500px}.tasks-page{max-width:1400px;padding:0 1rem}.page-header{margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #e5e7eb}.page-header p{color:#6b7280;font-size:.95rem;font-weight:400}.filters-section{background:linear-gradient(to bottom,#fff,#f9fafb);border:1px solid #e5e7eb;border-radius:16px;padding:2rem;margin-bottom:1.5rem;box-shadow:0 1px 3px #0000000d,0 1px 2px #00000005;display:flex;flex-wrap:wrap;gap:1.25rem;align-items:flex-end}.filter-group{display:flex;flex-direction:column;gap:.625rem;min-width:220px;position:relative}.filter-group label{font-size:.875rem;font-weight:600;color:#374151;letter-spacing:.01em}.filter-input{padding:.75rem 1rem;border:1.5px solid #d1d5db;border-radius:10px;font-size:.9rem;color:#111827;background-color:#fff;transition:all .2s ease;font-weight:400}.filter-input:hover{border-color:#9ca3af}.filter-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f61a;transform:translateY(-1px)}.autocomplete-group{position:relative}.autocomplete-list{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #d1d5db;border-radius:8px;box-shadow:0 4px 6px #0000001a;max-height:200px;overflow-y:auto;z-index:100;margin-top:.25rem;list-style:none;padding:.5rem 0}.autocomplete-item{padding:.625rem .875rem;cursor:pointer;font-size:.9rem;color:#1f2937;transition:background-color .15s ease}.autocomplete-item:hover,.autocomplete-item--active{background-color:#eff6ff;color:#3b82f6}.btn-clear-filters{padding:.75rem 1.5rem;background:linear-gradient(to bottom,#6b7280,#4b5563);color:#fff;border:none;border-radius:10px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;height:fit-content;box-shadow:0 2px 4px #0000001a;letter-spacing:.02em;display:inline-flex;align-items:center;gap:.5rem}.btn-clear-filters:hover{background:linear-gradient(to bottom,#4b5563,#374151);box-shadow:0 4px 6px #00000026;transform:translateY(-2px)}.btn-clear-filters:active{transform:translateY(0);box-shadow:0 2px 4px #0000001a}.btn-create{padding:.875rem 2rem;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:12px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 6px #3b82f633,0 2px 4px #3b82f626;letter-spacing:.02em;display:inline-flex;align-items:center;gap:.5rem}.btn-create:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 6px 12px #3b82f64d,0 4px 8px #3b82f633;transform:translateY(-2px)}.btn-create:active{transform:translateY(0);box-shadow:0 2px 4px #3b82f633}.filters-break{flex-basis:100%;height:0;margin:.5rem 0}.filters-row--actions{flex-basis:100%;display:flex;justify-content:flex-start;width:100%;padding-top:.5rem;border-top:1px solid #e5e7eb;margin-top:.5rem}.list-content{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:0;box-shadow:0 1px 3px #0000000d,0 1px 2px #00000005;overflow:hidden}.loading{text-align:center;padding:4rem 2rem;color:#6b7280;font-size:.95rem;font-weight:500;display:flex;flex-direction:column;align-items:center;gap:1rem}.loading p{margin:0}.spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.empty-state{text-align:center;padding:4rem 2rem;color:#6b7280;font-size:.95rem;font-weight:500;display:flex;flex-direction:column;align-items:center;gap:1rem}.empty-state svg{opacity:.5}.empty-state p{font-size:1.125rem;font-weight:600;color:#374151;margin:0}.empty-state span{font-size:.875rem;color:#9ca3af;font-weight:400}.data-table thead{background:linear-gradient(to bottom,#f9fafb,#f3f4f6);border-bottom:2px solid #e5e7eb}.data-table th{text-align:left;padding:1rem 1.25rem;font-size:.75rem;font-weight:700;color:#374151;text-transform:uppercase;letter-spacing:.08em;border-bottom:none}.data-table th:first-child{padding-left:2rem}.data-table th:last-child{padding-right:2rem;text-align:right}.data-table td{padding:1.25rem;border-bottom:1px solid #f3f4f6;color:#111827;font-size:.925rem;vertical-align:middle;font-weight:500}.data-table td:first-child{padding-left:2rem;font-weight:600;color:#1f2937}.data-table td:last-child{padding-right:2rem;text-align:right}.data-table tbody tr{transition:all .2s ease;position:relative;border-left:3px solid transparent}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:linear-gradient(to right,#f0f9ff,#f9fafb);border-left-color:#3b82f6;box-shadow:0 2px 4px #00000005}.data-table tbody tr:hover td:first-child{color:#1e40af}.data-table tbody tr.task-row-completed{background:linear-gradient(to right,#f0fdf4,#fff);border-left-color:#22c55e}.data-table tbody tr.task-row-completed:hover{background:linear-gradient(to right,#dcfce7,#f8fafc);border-left-color:#16a34a}.task-title-cell{display:inline-flex;align-items:center;gap:.5rem}.task-title-completed{color:#64748b;text-decoration:line-through}.task-done-dot{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:999px;border:1px solid #86efac;background:#dcfce7;color:#166534;font-size:.8rem;font-weight:700;line-height:1}.action-buttons{display:inline-flex;gap:.625rem;align-items:center;justify-content:flex-end}.btn-edit{padding:.5rem 1rem;background:linear-gradient(to bottom,#eff6ff,#dbeafe);color:#1e40af;border:1.5px solid #93c5fd;border-radius:8px;font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .2s ease;letter-spacing:.01em;box-shadow:0 1px 2px #3b82f61a;display:inline-flex;align-items:center;gap:.375rem}.btn-edit:hover{background:linear-gradient(to bottom,#dbeafe,#bfdbfe);border-color:#60a5fa;box-shadow:0 2px 4px #3b82f633;transform:translateY(-1px)}.btn-edit:active{transform:translateY(0);box-shadow:0 1px 2px #3b82f61a}.btn-delete{padding:.5rem 1rem;background:linear-gradient(to bottom,#fef2f2,#fee2e2);color:#991b1b;border:1.5px solid #fca5a5;border-radius:8px;font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .2s ease;letter-spacing:.01em;box-shadow:0 1px 2px #ef44441a;display:inline-flex;align-items:center;gap:.375rem}.btn-delete:hover{background:linear-gradient(to bottom,#fee2e2,#fecaca);border-color:#f87171;box-shadow:0 2px 4px #ef444433;transform:translateY(-1px)}.btn-delete:active{transform:translateY(0);box-shadow:0 1px 2px #ef44441a}.modal-content{background:#fff;border-radius:20px;width:95%;max-width:600px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #00000040,0 10px 20px -5px #00000026;border:1px solid rgba(255,255,255,.2);animation:slideUp .3s ease}.modal-confirm{max-width:460px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:2rem 2rem 1.5rem;border-bottom:2px solid #f3f4f6;background:linear-gradient(to bottom,#fff,#fafbfc)}.modal-header h3{font-size:1.375rem;font-weight:700;color:#111827;margin:0;letter-spacing:-.02em}.modal-header-actions{display:flex;align-items:center;gap:1rem}.btn-toggle-complete{padding:.625rem 1.25rem;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;background-color:#fff;color:#374151}.watch-btn-wrapper{display:flex;flex-direction:column;align-items:center;gap:.25rem}.btn-watch{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;border:1.5px solid #d1d5db;border-radius:10px;cursor:pointer;transition:all .2s ease;background-color:#fff;color:#9ca3af}.btn-watch:hover:not(:disabled){background-color:#f9fafb;border-color:#9ca3af;color:#6b7280}.btn-watch.watching{background-color:#eff6ff;color:#2563eb;border-color:#93c5fd}.btn-watch.watching:hover:not(:disabled){background-color:#dbeafe;border-color:#60a5fa}.btn-watch:disabled{opacity:.5;cursor:not-allowed}.watch-via-project{font-size:.7rem;color:#6b7280;white-space:nowrap}.modal-close{background:#f3f4f6;border:none;font-size:1.5rem;color:#6b7280;cursor:pointer;padding:0;width:2.25rem;height:2.25rem;display:flex;align-items:center;justify-content:center;border-radius:10px;transition:all .2s ease;font-weight:300;line-height:1}.modal-close:hover{background-color:#e5e7eb;color:#111827;transform:scale(1.05)}.modal-close:active{transform:scale(.95)}.form-group{margin-bottom:1.5rem}.form-group:last-of-type{margin-bottom:0}.form-group label{display:block;font-size:.875rem;font-weight:600;color:#374151;margin-bottom:.625rem;letter-spacing:.01em}.form-group input,.form-group select{width:100%;padding:.875rem 1.125rem;border:1.5px solid #d1d5db;border-radius:10px;font-size:.9375rem;color:#111827;background-color:#fff;transition:all .2s ease;box-sizing:border-box;font-weight:500}.form-group input:hover,.form-group select:hover{border-color:#9ca3af}.form-group input:focus,.form-group select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f61a;transform:translateY(-1px)}.form-group select{cursor:pointer}.form-hint{margin-top:.625rem;font-size:.8125rem;color:#6b7280;font-weight:500}.form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:2rem;border-top:2px solid #f3f4f6}.btn-primary,.btn-secondary{padding:.875rem 2rem;border-radius:10px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s ease;letter-spacing:.02em;display:inline-flex;align-items:center;gap:.5rem}.btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;box-shadow:0 4px 6px #3b82f633,0 2px 4px #3b82f626}.btn-primary:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 6px 12px #3b82f64d,0 4px 8px #3b82f633;transform:translateY(-2px)}.btn-primary:active{transform:translateY(0);box-shadow:0 2px 4px #3b82f633}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.btn-secondary{background-color:#fff;color:#374151;border:1.5px solid #d1d5db;box-shadow:0 1px 2px #0000000d}.btn-secondary:hover{background-color:#f9fafb;border-color:#9ca3af;box-shadow:0 2px 4px #0000001a;transform:translateY(-1px)}.btn-secondary:active{transform:translateY(0);box-shadow:0 1px 2px #0000000d}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-danger{padding:.875rem 2rem;background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff;border:none;border-radius:10px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 6px #dc262633,0 2px 4px #dc262626;letter-spacing:.02em}.btn-danger:hover{background:linear-gradient(135deg,#b91c1c,#991b1b);box-shadow:0 6px 12px #dc26264d,0 4px 8px #dc262633;transform:translateY(-2px)}.btn-danger:active{transform:translateY(0);box-shadow:0 2px 4px #dc262633}.confirm-body{display:flex;flex-direction:column;align-items:center;text-align:center;padding:1rem 0}.confirm-icon{font-size:3rem;margin-bottom:1rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.confirm-message{font-size:1rem;color:#374151;line-height:1.6;margin:0 0 2rem;font-weight:500;max-width:90%}.confirm-actions{display:flex;gap:1rem;justify-content:center;width:100%}@media(max-width:768px){.tasks-page{padding:0 .5rem}.filters-section{padding:1.5rem;gap:1rem}.filter-group{min-width:100%;flex:1 1 100%}.btn-clear-filters,.btn-create{width:100%;justify-content:center}.data-table{font-size:.875rem}.data-table th,.data-table td{padding:.75rem .875rem}.data-table th:first-child,.data-table td:first-child{padding-left:1rem}.data-table th:last-child,.data-table td:last-child{padding-right:1rem}.action-buttons{flex-direction:column;gap:.5rem}.btn-edit,.btn-delete{width:100%;justify-content:center}.modal-content{width:98%;max-height:95vh}.modal-header,.modal-body{padding:1.5rem}.form-actions{flex-direction:column-reverse}.btn-primary,.btn-secondary{width:100%;justify-content:center}.confirm-actions{flex-direction:column-reverse}.btn-danger{width:100%}}.btn-create:focus-visible,.btn-clear-filters:focus-visible,.btn-edit:focus-visible,.btn-delete:focus-visible,.btn-primary:focus-visible,.btn-secondary:focus-visible,.btn-danger:focus-visible{outline:3px solid #3b82f6;outline-offset:2px}*{scroll-behavior:smooth}::selection{background-color:#bfdbfe;color:#1e40af}.filter-input:placeholder-shown{font-style:italic}.form-group select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%236b7280' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:3rem}.btn-edit[title],.btn-delete[title]{position:relative}.form-group input:disabled,.form-group select:disabled{background-color:#f9fafb;color:#9ca3af;cursor:not-allowed;opacity:.7}.form-group label[required]:after{content:" *";color:#dc2626;font-weight:700}.project-link{color:#0ea5e9;font-weight:600;cursor:pointer;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px;transition:all .2s ease}.project-link:hover{color:#0284c7;text-decoration-style:solid}.task-link{color:#0ea5e9;font-weight:600;cursor:pointer;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px;transition:all .2s ease}.task-link:hover{color:#0284c7;text-decoration-style:solid}.modal-projects,.modal-content.modal-task{width:96vw;max-width:1400px;height:94vh;max-height:94vh}.deliveries-badge{display:inline-flex;align-items:center;padding:.375rem .875rem;background:linear-gradient(135deg,#0ea5e9,#0284c7);color:#fff;border-radius:20px;font-size:.8125rem;font-weight:600;letter-spacing:.02em;margin-left:1rem;box-shadow:0 2px 4px #0ea5e94d}.modal-info-band{padding:2rem;background:linear-gradient(to right,#f8fafc,#f1f5f9);border-bottom:2px solid #e2e8f0;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.info-label{font-weight:700;color:#64748b;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;display:flex;align-items:center;gap:.5rem}.info-label:before{content:"";display:block;width:3px;height:12px;background:linear-gradient(to bottom,#0ea5e9,#0284c7);border-radius:2px}.deliveries-section{display:flex;flex-direction:column;gap:1.5rem}.deliveries-header{display:flex;justify-content:space-between;align-items:center;padding:0 .5rem}.deliveries-header h4{font-size:1.125rem;font-weight:700;color:#0f172a;margin:0;letter-spacing:-.01em}.deliveries-count{display:inline-flex;align-items:center;padding:.375rem .875rem;background:linear-gradient(to right,#f1f5f9,#e2e8f0);color:#475569;border-radius:12px;font-size:.8125rem;font-weight:600;border:1px solid #cbd5e1}.deliveries-table-wrapper{overflow-x:auto;background:#fff;border-radius:16px;border:1px solid #e5e7eb;box-shadow:0 1px 3px #0000000d}.deliveries-table{margin:0}.deliveries-table thead{background:linear-gradient(to bottom,#f8fafc,#f1f5f9);border-bottom:2px solid #e2e8f0}.deliveries-table th{padding:1.25rem 1.5rem;font-size:.75rem;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.08em}.deliveries-table th:first-child{padding-left:2rem}.deliveries-table td{padding:1.25rem 1.5rem;font-size:.9375rem;font-weight:500;color:#1e293b}.deliveries-table td:first-child{padding-left:2rem;font-weight:600;color:#0f172a}.deliveries-table tbody tr{transition:all .15s ease;border-left:3px solid transparent}.deliveries-table tbody tr:hover{background:linear-gradient(to right,#f0f9ff,#f8fafc);border-left-color:#0ea5e9;box-shadow:0 2px 4px #00000005}.deliveries-table tbody tr:last-child td{border-bottom:none}.modal-tabs{display:flex;border-bottom:2px solid #e5e7eb;padding:0 2rem;background:#fff}.tab-btn{padding:1rem 1.5rem;background:none;border:none;font-size:.9375rem;font-weight:600;color:#6b7280;cursor:pointer;border-bottom:3px solid transparent;transition:all .2s ease;letter-spacing:.01em}.tab-btn:hover{color:#111827;background:#f9fafb}.tab-btn.active{color:#0ea5e9;border-bottom-color:#0ea5e9;background:#f0f9ff}.notes-pane,.files-pane,.deliveries-pane,.feed-pane{padding:0}.btn-attach{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .9rem;border:1px solid #e5e7eb;border-radius:6px;background:#fff;color:#6b7280;font-size:.85rem;font-weight:500;cursor:pointer;transition:border-color .15s,color .15s}.btn-attach:hover:not(:disabled){border-color:#6366f1;color:#6366f1}.btn-attach:disabled{opacity:.5;cursor:not-allowed}.assignee-cell{display:flex;align-items:center;gap:.5rem}.assignee-avatar{width:26px;height:26px;border-radius:50%;background-color:#dbeafe;color:#1d4ed8;font-size:.65rem;font-weight:700;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.assignee-avatar-img{width:100%;height:100%;object-fit:cover;display:block}.assignee-name{font-size:.875rem;color:#374151;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notes-form{background:#fff;border-radius:12px;padding:1.5rem;margin-bottom:2rem;border:1px solid #e5e7eb;box-shadow:0 1px 3px #0000000d}.notes-actions{display:flex;justify-content:flex-end;margin-top:1rem}.notes-list{display:flex;flex-direction:column;gap:1rem}.note-item{background:#fff;border-radius:12px;padding:1.5rem;border:1px solid #e5e7eb;box-shadow:0 1px 3px #0000000d;transition:all .2s ease}.note-item:hover{border-color:#cbd5e1;box-shadow:0 4px 6px #00000012}.note-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.note-meta{display:flex;align-items:center;gap:.5rem}.note-date{font-size:.8125rem;color:#6b7280;font-weight:500}.note-actions{display:flex;gap:.5rem}.note-action-btn{background:none;border:none;cursor:pointer;font-size:1.125rem;padding:.25rem .5rem;border-radius:6px;transition:all .2s ease}.note-action-btn:hover{background:#f3f4f6;transform:scale(1.1)}.note-action-btn:disabled{opacity:.5;cursor:not-allowed}.note-text{color:#1f2937;line-height:1.6;white-space:pre-wrap;word-wrap:break-word;font-size:.9375rem}.note-edit-input{width:100%;padding:.875rem;border:1.5px solid #d1d5db;border-radius:8px;font-size:.9375rem;font-family:inherit;margin-bottom:1rem;transition:all .2s ease}.note-edit-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.note-edit-actions{display:flex;justify-content:flex-end;gap:.75rem}.tasks-section{display:flex;flex-direction:column;gap:1.5rem}.tasks-table-wrapper{overflow-x:auto;background:#fff;border-radius:16px;border:1px solid #e5e7eb;box-shadow:0 1px 3px #0000000d}.tasks-table{margin:0}.tasks-table thead{background:linear-gradient(to bottom,#f8fafc,#f1f5f9);border-bottom:2px solid #e2e8f0}.tasks-table th{padding:1.25rem 1.5rem;font-size:.75rem;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.08em}.tasks-table th:first-child{padding-left:2rem}.tasks-table td{padding:1.25rem 1.5rem;white-space:nowrap;font-size:.9375rem;font-weight:500;color:#1e293b}.tasks-table td:first-child{padding-left:2rem;font-weight:600;color:#0f172a}.tasks-table tbody tr{transition:all .15s ease;border-left:3px solid transparent}.tasks-table tbody tr:hover{background:linear-gradient(to right,#f0f9ff,#f8fafc);border-left-color:#0ea5e9;box-shadow:0 2px 4px #00000005}.tasks-table tbody tr:last-child td{border-bottom:none}.tasks-pane{display:flex;flex-direction:column;gap:1rem}.tasks-tabs{display:flex;gap:.75rem;margin-bottom:1rem}.tasks-tabs .tab-btn{padding:.6rem 1.1rem;border-radius:999px;border:1px solid #e5e7eb;background:#fff;color:#6b7280;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}.tasks-tabs .tab-btn.active{color:#1d4ed8;border-color:#bfdbfe;background-color:#eff6ff}.tasks-tabs .tab-btn:hover{color:#1f2937;border-color:#d1d5db}.kanban-board{display:flex;gap:1rem;overflow-x:auto;padding-bottom:1rem;min-height:400px}.kanban-col{min-width:280px;width:280px;background:#f3f4f6;border-radius:12px;padding:1rem;display:flex;flex-direction:column;flex-shrink:0}.kanban-col-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid #e5e7eb}.kanban-col-avatar{width:28px;height:28px;border-radius:50%;background-color:#dbeafe;color:#1d4ed8;font-size:.65rem;font-weight:700;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.kanban-col-title{font-size:.9rem;font-weight:600;color:#1f2937;margin:0}.kanban-col-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;background-color:#e5e7eb;border-radius:11px;font-size:.75rem;font-weight:600;color:#6b7280}.kanban-col-body{display:flex;flex-direction:column;gap:.6rem;flex:1;overflow-y:auto}.kanban-card{background:#fff;border-radius:8px;padding:1rem;box-shadow:0 1px 3px #00000014;cursor:pointer;transition:box-shadow .2s,transform .15s;border:1px solid #e5e7eb}.kanban-card:hover{box-shadow:0 4px 12px #0000001f;transform:translateY(-1px)}.kanban-card--done{opacity:.6}.kanban-card--dragging{opacity:.4;cursor:grabbing}.kanban-card--drag-over{border-top:2px solid #3b82f6}.kanban-card[draggable=true]{cursor:grab}.kanban-card-title{font-size:.9rem;font-weight:600;color:#1f2937;margin-bottom:.35rem;display:flex;align-items:center;gap:.375rem}.kanban-card-meta{font-size:.82rem;color:#6b7280}.cost-pane{display:flex;flex-direction:column;gap:1.25rem}.cost-loading,.cost-empty{text-align:center;padding:2rem;color:#6b7280;font-size:.9rem}.cost-controls{display:flex;align-items:center;gap:1rem}.cost-approved-toggle{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#374151;cursor:pointer}.cost-approved-toggle input[type=checkbox]{width:16px;height:16px;cursor:pointer}.cost-alert{background:#fef3c7;border:1px solid #fbbf24;border-radius:8px;padding:.75rem 1rem;font-size:.875rem;color:#92400e}.cost-stats{display:flex;gap:1rem;flex-wrap:wrap}.cost-stat{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;padding:.875rem 1.25rem;display:flex;flex-direction:column;gap:.25rem;min-width:120px}.cost-stat-label{font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.04em}.cost-stat-value{font-size:1rem;font-weight:700;color:#111827}.cost-section{display:flex;flex-direction:column;gap:.5rem}.cost-section-title{font-size:.875rem;font-weight:600;color:#374151;margin:0}.cost-table{width:100%;border-collapse:collapse;font-size:.875rem}.cost-table th{text-align:left;padding:.625rem .75rem;font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #e5e7eb;background:#f9fafb}.cost-table td{padding:.625rem .75rem;border-bottom:1px solid #f3f4f6;color:#1f2937}.cost-table tr:last-child td{border-bottom:none}.my-tasks-page{max-width:1400px}.my-tasks-container{display:grid;grid-template-columns:350px 1fr;gap:1.5rem;height:calc(100vh - 200px)}.tasks-sidebar{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px #0000001a;overflow-y:auto}.tasks-sidebar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;gap:.5rem}.tasks-sidebar h3{font-size:1.125rem;font-weight:600;color:#1f2937;margin:0}.btn-show-completed{padding:.3rem .75rem;font-size:.78rem;font-weight:500;border:1px solid #d1d5db;border-radius:20px;background:#fff;color:#6b7280;cursor:pointer;white-space:nowrap;transition:all .15s}.btn-show-completed:hover{background:#f3f4f6;border-color:#9ca3af;color:#374151}.btn-show-completed.active{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8}.tasks-list{display:flex;flex-direction:column;gap:.75rem}.task-item{padding:1rem;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .2s;background:#fff}.task-item:hover{background:#f9fafb;border-color:#0ea5e9;box-shadow:0 2px 4px #0000000d}.task-item.active{background:#eff6ff;border-color:#0ea5e9;box-shadow:0 0 0 3px #0ea5e91a}.task-item-title{font-size:.9rem;font-weight:600;color:#1f2937;margin-bottom:.5rem}.task-item-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.task-item-code-badge{flex-shrink:0;background:#eff6ff;color:#2563eb;border:1px solid #bfdbfe;border-radius:4px;font-size:.7rem;font-weight:600;padding:1px 6px;white-space:nowrap;line-height:1.4;margin-top:1px}.task-item-meta{display:flex;flex-direction:column;gap:.25rem;font-size:.8rem;color:#6b7280}.task-item-delivery,.task-item-project{display:block}.task-details{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;display:flex;flex-direction:column;overflow:hidden}.task-details-header{padding:1.5rem;border-bottom:2px solid #e5e7eb;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);display:flex;justify-content:space-between;align-items:center;gap:1rem}.task-details-header h3{font-size:1.25rem;font-weight:700;color:#0c4a6e;margin:0;letter-spacing:-.02em}.btn-toggle-complete{padding:.625rem 1.25rem;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;background-color:#fff;color:#374151;white-space:nowrap}.btn-toggle-complete:hover:not(:disabled){background-color:#f9fafb;border-color:#9ca3af}.btn-toggle-complete.completed{background-color:#dcfce7;color:#166534;border-color:#86efac}.btn-toggle-complete.completed:hover:not(:disabled){background-color:#bbf7d0;border-color:#4ade80}.btn-toggle-complete:disabled{opacity:.6;cursor:not-allowed}.task-info-band{padding:1.5rem;background:linear-gradient(to right,#f8fafc,#f1f5f9);border-bottom:2px solid #e2e8f0;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.info-row{display:flex;flex-direction:column;gap:.5rem;padding:1.25rem;background:#fff;border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000d;transition:all .2s ease}.info-row:hover{border-color:#cbd5e1;box-shadow:0 4px 6px #00000012;transform:translateY(-2px)}.info-label{font-weight:700;color:#64748b;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}.info-value{color:#0f172a;font-size:1rem;font-weight:600;letter-spacing:-.01em}.task-tabs{display:flex;border-bottom:2px solid #e5e7eb;background:#fff}.tab-btn{padding:.85rem 1.25rem;background:none;border:none;font-size:.9rem;font-weight:600;color:#6b7280;cursor:pointer;border-bottom:2px solid transparent;transition:all .2s ease}.tab-btn:hover{color:#1f2937}.tab-btn.active{color:#0ea5e9;border-bottom-color:#0ea5e9}.task-details-body{padding:2rem;overflow-y:auto;flex:1;background:#fafbfc}.loading,.empty-state{text-align:center;padding:3rem;color:#6b7280;font-weight:500}.notes-pane,.files-pane,.feed-pane{display:flex;flex-direction:column;gap:1rem}.feed-compose{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.feed-note-form textarea{width:100%;padding:.6rem .75rem;border:1px solid #e5e7eb;border-radius:8px;font-size:.9rem;resize:vertical;font-family:inherit;color:#111827;background:#f9fafb;box-sizing:border-box}.feed-note-form textarea:focus{outline:none;border-color:#3b82f6;background:#fff}.feed-compose-actions{display:flex;gap:.5rem;margin-top:.5rem;align-items:center}.feed-list{display:flex;flex-direction:column;gap:.75rem}.feed-item{display:flex;gap:.75rem;align-items:flex-start;background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;padding:.875rem 1rem}.feed-item--file{border-left:3px solid #6366f1}.feed-item--note{border-left:3px solid #3b82f6}.feed-item-icon{font-size:1.1rem;line-height:1;flex-shrink:0;margin-top:.1rem}.feed-item-body{flex:1;min-width:0}.feed-item-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.35rem;flex-wrap:wrap}.feed-item-type{font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.04em}.feed-item-date{font-size:.78rem;color:#9ca3af;margin-right:auto}.feed-item-content{font-size:.9rem;color:#1f2937;white-space:pre-wrap;word-break:break-word}.mention-wrapper{position:relative}.mention-wrapper textarea{width:100%}.mention-dropdown{position:absolute;top:calc(100% + 4px);left:0;background:#fff;border:1px solid #e5e7eb;border-radius:6px;box-shadow:0 4px 12px #0000001a;z-index:200;min-width:200px;max-height:200px;overflow-y:auto}.mention-option{padding:.5rem .75rem;font-size:.875rem;color:#1f2937;cursor:pointer}.mention-option:hover,.mention-option--highlighted{background:#f3f4f6}.mention-tag{display:inline-block;color:#1d4ed8;font-weight:500;background:#dbeafe;border-radius:999px;padding:1px 8px;white-space:nowrap;font-size:.85em}.slash-tag{display:inline-block;color:#065f46;font-weight:500;background:#d1fae5;border-radius:999px;padding:1px 8px;white-space:nowrap;font-size:.85em}.slash-tag-link{cursor:pointer}.slash-tag-link:hover{background:#a7f3d0}.slash-option{display:flex;align-items:center;gap:.5rem}.slash-option-type{font-size:.7rem;font-weight:600;color:#6b7280;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:4px;padding:1px 5px;flex-shrink:0;text-transform:uppercase;letter-spacing:.03em}.slash-option-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slash-option-sub{color:#9ca3af;font-size:.8rem}.feed-item-filename{font-size:.9rem;font-weight:500;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.feed-item-filemeta{font-size:.78rem;color:#9ca3af;margin-top:.15rem}.feed-item-author{font-size:.75rem;color:#9ca3af;margin-top:.25rem}.feed-item-author--user{display:flex;align-items:center;gap:.35rem}.feed-uploader-avatar{width:18px;height:18px;border-radius:50%;background-color:#dbeafe;color:#1d4ed8;font-size:.55rem;font-weight:700;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.feed-uploader-avatar-img{width:100%;height:100%;object-fit:cover;display:block}.notes-form{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;padding:1rem}.notes-form label{display:block;font-size:.85rem;font-weight:600;color:#374151;margin-bottom:.5rem}.notes-form textarea{width:100%;padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:8px;font-size:.9rem;color:#111827;background-color:#fff;resize:vertical;min-height:90px}.notes-form textarea:focus{outline:none;border-color:#0ea5e9;box-shadow:0 0 0 3px #0ea5e926}.notes-actions{display:flex;justify-content:flex-end;margin-top:.75rem}.notes-list{display:flex;flex-direction:column;gap:.75rem}.note-item{background-color:#f9fafb;border-radius:10px;padding:1rem;border:1px solid #e5e7eb}.note-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.5rem}.note-meta{display:flex;gap:.5rem;align-items:center}.note-actions{display:flex;gap:.25rem;opacity:0;transition:opacity .15s ease}.note-item:hover .note-actions,.feed-item .note-actions{opacity:1}.note-action-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;border:none;background:transparent;color:#9ca3af;cursor:pointer;transition:all .15s ease;padding:0}.note-action-btn:disabled{opacity:.4;cursor:not-allowed}.note-action-edit:hover:not(:disabled){background:#eef2ff;color:#6366f1}.note-action-delete:hover:not(:disabled){background:#fef2f2;color:#ef4444}.note-date{font-size:.8rem;color:#6b7280;margin-bottom:0}.note-text{font-size:.9rem;color:#1f2937;white-space:pre-wrap}.note-edit-input{width:100%;padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:8px;font-size:.9rem;color:#1f2937;background-color:#fff;margin-top:.25rem}.note-edit-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.75rem}.note-line{min-height:1.3em;white-space:pre-wrap;word-break:break-word}.todo-item{padding:.15rem 0}.todo-label{display:flex;align-items:flex-start;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none;width:100%}.todo-checkbox{appearance:none;-webkit-appearance:none;width:15px;height:15px;min-width:15px;border:1.5px solid #d1d5db;border-radius:4px;background:#fff;cursor:pointer;margin-top:2px;transition:border-color .15s,background-color .15s;position:relative}.todo-checkbox:hover{border-color:#3b82f6;background-color:#eff6ff}.todo-checkbox:checked{background-color:#3b82f6;border-color:#3b82f6}.todo-checkbox:checked:after{content:"";position:absolute;left:3px;top:0;width:5px;height:9px;border:2px solid #fff;border-top:none;border-left:none;transform:rotate(45deg)}.todo-text{font-size:.88rem;color:#374151;line-height:1.45;transition:color .15s}.todo-item--checked .todo-text{text-decoration:line-through;color:#9ca3af}.list-item{display:flex;align-items:flex-start;gap:.45rem;padding:.1rem 0}.list-marker{flex-shrink:0;line-height:1.45;color:#6b7280;font-size:.88rem;-webkit-user-select:none;user-select:none}.list-item--bullet .list-marker{width:1em;text-align:center}.list-item--numbered .list-marker{min-width:1.6em;text-align:right;font-variant-numeric:tabular-nums}.list-text{font-size:.88rem;color:#374151;line-height:1.45}.file-dropzone{display:flex;align-items:center;justify-content:center;gap:.75rem;flex-wrap:wrap;padding:2rem;border:2px dashed #d1d5db;border-radius:12px;background:#fafafa;color:#6b7280;font-size:.9rem;cursor:pointer;transition:all .2s ease;text-align:center}.file-dropzone input{display:none}.file-dropzone.is-dragging{border-color:#0ea5e9;background:#eff6ff;color:#0c4a6e}.file-dropzone.is-loading{opacity:.7;cursor:default}.file-upload-btn{border:none;padding:.65rem 1.25rem;border-radius:8px;background:#0ea5e9;color:#fff;font-weight:600;font-size:.875rem;cursor:pointer;transition:background .2s ease}.file-upload-btn:hover{background:#0284c7}.file-upload-btn:disabled{opacity:.7;cursor:default}.file-hint{margin-top:-.5rem;margin-bottom:1rem;font-size:.8rem;color:#9ca3af;display:block;text-align:center}.upload-progress-container{margin:1.5rem 0;padding:1.25rem;background:linear-gradient(to bottom,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 4px #0000000d}.upload-progress-item{margin-bottom:1rem}.upload-progress-item:last-child{margin-bottom:0}.upload-progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;gap:1rem}.upload-file-name{font-size:.875rem;font-weight:600;color:#1e293b;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upload-progress-percent{font-size:.8125rem;font-weight:700;color:#0ea5e9;min-width:45px;text-align:right}.upload-error{color:#dc2626;font-weight:700}.upload-success{color:#16a34a;font-size:1rem}.upload-progress-bar{height:8px;background:#e2e8f0;border-radius:12px;overflow:hidden;box-shadow:inset 0 1px 2px #0000001a}.upload-progress-fill{height:100%;background:linear-gradient(90deg,#0ea5e9,#06b6d4);border-radius:12px;transition:width .3s ease;box-shadow:0 0 8px #0ea5e966;animation:progressShine 2s infinite}.upload-progress-fill.completed{background:linear-gradient(90deg,#16a34a,#15803d);box-shadow:0 0 8px #16a34a66;animation:none}.upload-progress-fill.error{background:linear-gradient(90deg,#dc2626,#b91c1c);box-shadow:0 0 8px #dc262666;animation:none}@keyframes progressShine{0%{filter:brightness(1)}50%{filter:brightness(1.1)}to{filter:brightness(1)}}.files-table-wrapper{max-height:500px;overflow-y:auto;background:#fff;border-radius:16px;border:1px solid #e5e7eb;box-shadow:0 1px 3px #0000000d}.data-table td{padding:1rem;border-bottom:1px solid #e5e7eb;color:#1f2937;font-size:.9rem}.files-table .file-name{font-weight:600;color:#0f172a}.files-table .file-actions{display:flex;gap:.25rem;justify-content:flex-end}.file-action-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;border:none;background:transparent;color:#9ca3af;cursor:pointer;transition:all .15s ease;padding:0}.file-action-btn:disabled{opacity:.4;cursor:not-allowed}.file-action-download:hover:not(:disabled){background:#eff6ff;color:#0ea5e9}.file-action-delete:hover:not(:disabled){background:#fef2f2;color:#ef4444}.btn-primary,.btn-secondary{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color .2s}.btn-primary{background-color:#0ea5e9;color:#fff}.btn-primary:hover{background-color:#0284c7}.btn-primary:disabled{opacity:.7;cursor:default}.btn-secondary{background-color:#f3f4f6;color:#4b5563}.btn-secondary:hover{background-color:#e5e7eb}.btn-danger{padding:.75rem 1.5rem;background-color:#dc2626;color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color .2s}.quick-shift-actions{display:flex;gap:.5rem;padding:.75rem 1rem;border-bottom:1px solid #e5e7eb}.btn-shift{flex:1;padding:.45rem .75rem;background:linear-gradient(to bottom,#f0fdf4,#dcfce7);color:#166534;border:1.5px solid #86efac;border-radius:8px;font-size:.775rem;font-weight:600;cursor:pointer;transition:all .2s;text-align:center;white-space:nowrap}.btn-shift:hover{background:linear-gradient(to bottom,#dcfce7,#bbf7d0);border-color:#4ade80}.shift-form-content{max-width:520px}.shift-task-ref{display:flex;align-items:baseline;gap:.5rem;margin-bottom:1.25rem;padding:.625rem 1rem;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.shift-task-label{font-size:.8rem;font-weight:600;color:#6b7280;flex-shrink:0}.shift-task-title{font-size:.875rem;font-weight:500;color:#1f2937}.shift-form-row{display:flex;gap:1rem}.shift-form-row .form-group{flex:1;min-width:0}.shift-form-content .form-group label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.5rem}.shift-form-content .form-group input[type=time],.shift-form-content .form-group input[type=number],.shift-form-content .form-group select,.shift-form-content .form-group textarea{width:100%;padding:.625rem .75rem;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;color:#1f2937;background:#fff;box-sizing:border-box;transition:border-color .2s}.shift-form-content .form-group input[type=time]:focus,.shift-form-content .form-group input[type=number]:focus,.shift-form-content .form-group select:focus,.shift-form-content .form-group textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.shift-duration-info{font-size:.85rem;color:#166534;margin-bottom:1.25rem;padding:.5rem .875rem;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;font-weight:500}.shift-form-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid #e5e7eb}.modal-overlay{position:fixed;inset:0;background:linear-gradient(to bottom,#0006,#0009);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#fff;border-radius:20px;width:95%;max-width:500px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #00000040,0 10px 20px -5px #00000026;border:1px solid rgba(255,255,255,.2);animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-confirm{max-width:420px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e5e7eb}.modal-body{padding:2rem;overflow-y:auto;flex:1}.confirm-body{display:flex;flex-direction:column;align-items:center;text-align:center}.confirm-icon{font-size:2.5rem;margin-bottom:.75rem}.confirm-message{font-size:.95rem;color:#374151;line-height:1.5;margin:0 0 1.75rem}.confirm-actions{display:flex;gap:.75rem;justify-content:center}@media(max-width:1024px){.my-tasks-container{grid-template-columns:1fr;height:auto}.tasks-sidebar{max-height:300px}.task-details{min-height:500px}}@media(max-width:768px){.task-info-band{grid-template-columns:1fr;gap:1rem;padding:1.5rem}.task-tabs{flex-wrap:wrap}}.note-action-reply{display:inline-flex;align-items:center;gap:.25rem;margin-top:.375rem;padding:.125rem .375rem;font-size:.75rem;color:#6b7280;background:none;border:none;border-radius:4px;cursor:pointer;transition:color .15s,background .15s}.note-action-reply:hover{color:#374151;background:#f3f4f6}.reply-list{margin-top:.5rem;display:flex;flex-direction:column;gap:.5rem;border-left:2px solid #e5e7eb;padding-left:.75rem}.reply-item{background:#f9fafb;border-radius:6px;padding:.5rem .625rem}.reply-banner{font-size:.7rem;color:#9ca3af;margin-bottom:.25rem;display:flex;flex-wrap:wrap;gap:.125rem;align-items:center}.reply-banner-excerpt{font-style:italic;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}.reply-content{font-size:.875rem;color:#1f2937;white-space:pre-wrap;word-break:break-word}.reply-footer{display:flex;align-items:center;gap:.5rem;margin-top:.25rem;flex-wrap:wrap}.reply-author{font-size:.7rem;color:#6b7280}.reply-date{font-size:.7rem;color:#9ca3af}.reply-delete-btn{display:inline-flex;align-items:center;justify-content:center;padding:.125rem;background:none;border:none;border-radius:3px;color:#d1d5db;cursor:pointer;transition:color .15s;margin-left:auto}.reply-delete-btn:hover{color:#ef4444}.reply-compose{margin-top:.5rem;display:flex;flex-direction:column;gap:.375rem}.reply-compose-input{width:100%;padding:.5rem;font-size:.875rem;border:1px solid #e5e7eb;border-radius:6px;resize:vertical;font-family:inherit;background:#fff;color:#1f2937;box-sizing:border-box;transition:border-color .15s}.reply-compose-input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 2px #6366f11a}.reply-compose-actions{display:flex;justify-content:flex-end;gap:.5rem}.reminders-page{max-width:1400px;padding:0 1rem}.reminders-page .page-header{margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #e5e7eb}.reminders-page .page-header p{color:#6b7280;font-size:.95rem;font-weight:400}.reminders-page .filters-section{background:linear-gradient(to bottom,#fff,#f9fafb);border:1px solid #e5e7eb;border-radius:16px;padding:2rem;margin-bottom:1.5rem;box-shadow:0 1px 3px #0000000d,0 1px 2px #00000005;display:flex;flex-wrap:wrap;gap:1.25rem;align-items:flex-end}.reminders-page .filter-group{display:flex;flex-direction:column;gap:.625rem;min-width:220px;position:relative}.reminders-page .filter-group label{font-size:.875rem;font-weight:600;color:#374151;letter-spacing:.01em}.reminders-page .filter-input{padding:.75rem 1rem;border:1.5px solid #d1d5db;border-radius:10px;font-size:.9rem;color:#111827;background-color:#fff;transition:all .2s ease;font-weight:400}.reminders-page .filter-input:hover{border-color:#9ca3af}.reminders-page .filter-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f61a;transform:translateY(-1px)}.reminders-page .btn-clear-filters{padding:.75rem 1.5rem;background:linear-gradient(to bottom,#6b7280,#4b5563);color:#fff;border:none;border-radius:10px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;height:fit-content;box-shadow:0 2px 4px #0000001a;letter-spacing:.02em;display:inline-flex;align-items:center;gap:.5rem}.reminders-page .btn-clear-filters:hover{background:linear-gradient(to bottom,#4b5563,#374151);box-shadow:0 4px 6px #00000026;transform:translateY(-2px)}.reminders-page .btn-clear-filters:active{transform:translateY(0);box-shadow:0 2px 4px #0000001a}.reminders-page .btn-create{padding:.875rem 2rem;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:12px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 6px #3b82f633,0 2px 4px #3b82f626;letter-spacing:.02em;display:inline-flex;align-items:center;gap:.5rem}.reminders-page .btn-create:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 6px 12px #3b82f64d,0 4px 8px #3b82f633;transform:translateY(-2px)}.reminders-page .btn-create:active{transform:translateY(0);box-shadow:0 2px 4px #3b82f633}.reminders-page .filters-break{flex-basis:100%;height:0;margin:.5rem 0}.reminders-page .filters-row--actions{flex-basis:100%;display:flex;justify-content:flex-start;width:100%;padding-top:.5rem;border-top:1px solid #e5e7eb;margin-top:.5rem}.reminders-page .list-content{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:0;box-shadow:0 1px 3px #0000000d,0 1px 2px #00000005;overflow:hidden}.reminders-page .loading,.reminders-page .empty-state{text-align:center;padding:4rem 2rem;color:#6b7280;font-size:.95rem;font-weight:500}.reminders-page .data-table{width:100%;border-collapse:collapse}.reminders-page .data-table thead{background:linear-gradient(to bottom,#f9fafb,#f3f4f6);border-bottom:2px solid #e5e7eb}.reminders-page .data-table th{text-align:left;padding:1rem 1.25rem;font-size:.75rem;font-weight:700;color:#374151;text-transform:uppercase;letter-spacing:.08em;border-bottom:none}.reminders-page .data-table th:first-child{padding-left:2rem}.reminders-page .data-table th:last-child{padding-right:2rem;text-align:right}.reminders-page .data-table td{padding:1.25rem;border-bottom:1px solid #f3f4f6;color:#111827;font-size:.925rem;vertical-align:middle;font-weight:500}.reminders-page .data-table td:first-child{padding-left:2rem;font-weight:600;color:#1f2937}.reminders-page .data-table td:last-child{padding-right:2rem;text-align:right}.reminders-page .data-table tbody tr{transition:all .2s ease;position:relative;border-left:3px solid transparent}.reminders-page .data-table tbody tr:last-child td{border-bottom:none}.reminders-page .data-table tbody tr:hover{background:linear-gradient(to right,#f0f9ff,#f9fafb);border-left-color:#3b82f6;box-shadow:0 2px 4px #00000005}.reminders-page .data-table tbody tr:hover td:first-child{color:#1e40af}.reminders-page .data-table tbody tr.reminder-row-completed{background:linear-gradient(to right,#f0fdf4,#fff);border-left-color:#22c55e}.reminders-page .data-table tbody tr.reminder-row-completed:hover{background:linear-gradient(to right,#dcfce7,#f8fafc);border-left-color:#16a34a}.reminders-page .overdue{color:#dc2626!important;font-weight:700!important}.reminders-page .status-badge{display:inline-block;padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:500}.reminders-page .status-badge.completed{background-color:#ecfdf5;color:#059669}.reminders-page .status-badge.pending{background-color:#fffbeb;color:#d97706}.reminders-page .action-buttons{display:inline-flex;gap:.625rem;align-items:center;justify-content:flex-end}.reminders-page .btn-edit{padding:.5rem 1rem;background:linear-gradient(to bottom,#eff6ff,#dbeafe);color:#1e40af;border:1.5px solid #93c5fd;border-radius:8px;font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .2s ease;letter-spacing:.01em;box-shadow:0 1px 2px #3b82f61a;display:inline-flex;align-items:center;gap:.375rem}.reminders-page .btn-edit:hover{background:linear-gradient(to bottom,#dbeafe,#bfdbfe);border-color:#60a5fa;box-shadow:0 2px 4px #3b82f633;transform:translateY(-1px)}.reminders-page .btn-complete{padding:.5rem 1rem;background:linear-gradient(to bottom,#f0fdf4,#dcfce7);color:#166534;border:1.5px solid #bbf7d0;border-radius:8px;font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .2s ease;letter-spacing:.01em;box-shadow:0 1px 2px #22c55e1a;display:inline-flex;align-items:center;gap:.375rem}.reminders-page .btn-complete:hover:not(:disabled){background:linear-gradient(to bottom,#dcfce7,#bbf7d0);border-color:#86efac;box-shadow:0 2px 4px #22c55e33;transform:translateY(-1px)}.reminders-page .btn-complete:disabled{opacity:.5;cursor:not-allowed}.reminders-page .btn-delete{padding:.5rem 1rem;background:linear-gradient(to bottom,#fef2f2,#fee2e2);color:#991b1b;border:1.5px solid #fca5a5;border-radius:8px;font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .2s ease;letter-spacing:.01em;box-shadow:0 1px 2px #ef44441a;display:inline-flex;align-items:center;gap:.375rem}.reminders-page .btn-delete:hover{background:linear-gradient(to bottom,#fee2e2,#fecaca);border-color:#f87171;box-shadow:0 2px 4px #ef444433;transform:translateY(-1px)}.reminders-page .modal-overlay{position:fixed;inset:0;background:linear-gradient(to bottom,#0006,#0009);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:remindersModalFadeIn .2s ease}@keyframes remindersModalFadeIn{0%{opacity:0}to{opacity:1}}.reminders-page .modal-content{background:#fff;border-radius:20px;width:95%;max-width:600px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #00000040,0 10px 20px -5px #00000026;border:1px solid rgba(255,255,255,.2);animation:remindersModalSlideUp .3s ease}@keyframes remindersModalSlideUp{0%{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.reminders-page .modal-confirm{max-width:460px}.reminders-page .modal-header{display:flex;justify-content:space-between;align-items:center;padding:2rem 2rem 1.5rem;border-bottom:2px solid #f3f4f6;background:linear-gradient(to bottom,#fff,#fafbfc)}.reminders-page .modal-header h3{font-size:1.375rem;font-weight:700;color:#111827;margin:0;letter-spacing:-.02em}.reminders-page .modal-close{background:#f3f4f6;border:none;font-size:1.5rem;color:#6b7280;cursor:pointer;padding:0;width:2.25rem;height:2.25rem;display:flex;align-items:center;justify-content:center;border-radius:10px;transition:all .2s ease;font-weight:300;line-height:1}.reminders-page .modal-close:hover{background-color:#e5e7eb;color:#111827;transform:scale(1.05)}.reminders-page .modal-body{padding:2rem;overflow-y:auto;flex:1}.reminders-page .form-group{margin-bottom:1.5rem}.reminders-page .form-group:last-of-type{margin-bottom:0}.reminders-page .form-group label{display:block;font-size:.875rem;font-weight:600;color:#374151;margin-bottom:.625rem;letter-spacing:.01em}.reminders-page .form-group input,.reminders-page .form-group select{width:100%;padding:.875rem 1.125rem;border:1.5px solid #d1d5db;border-radius:10px;font-size:.9375rem;color:#111827;background-color:#fff;transition:all .2s ease;box-sizing:border-box;font-weight:500}.reminders-page .form-group textarea{width:100%;padding:.875rem 1.125rem;border:1.5px solid #d1d5db;border-radius:10px;font-size:.9375rem;color:#111827;background-color:#fff;transition:all .2s ease;box-sizing:border-box;font-family:inherit;font-weight:500}.reminders-page .form-group input:hover,.reminders-page .form-group select:hover,.reminders-page .form-group textarea:hover{border-color:#9ca3af}.reminders-page .form-group input:focus,.reminders-page .form-group select:focus,.reminders-page .form-group textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f61a;transform:translateY(-1px)}.reminders-page .form-group select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%236b7280' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:3rem}.reminders-page .autocomplete-wrapper{position:relative}.reminders-page .autocomplete-suggestions{position:absolute;top:100%;left:0;right:0;background:#fff;border:1.5px solid #d1d5db;border-top:none;border-radius:0 0 10px 10px;max-height:200px;overflow-y:auto;z-index:10;list-style:none;margin:0;padding:0;box-shadow:0 4px 6px #0000001a}.reminders-page .suggestion-item{padding:.75rem 1.125rem;font-size:.9375rem;color:#111827;cursor:pointer;transition:background-color .15s ease;font-weight:500}.reminders-page .suggestion-item:hover{background-color:#eff6ff;color:#1e40af}.reminders-page .suggestion-item:last-child{border-radius:0 0 10px 10px}.reminders-page .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.reminders-page .form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:2rem;border-top:2px solid #f3f4f6}.reminders-page .btn-primary,.reminders-page .btn-secondary{padding:.875rem 2rem;border-radius:10px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s ease;letter-spacing:.02em;display:inline-flex;align-items:center;gap:.5rem}.reminders-page .btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;box-shadow:0 4px 6px #3b82f633,0 2px 4px #3b82f626}.reminders-page .btn-primary:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 6px 12px #3b82f64d,0 4px 8px #3b82f633;transform:translateY(-2px)}.reminders-page .btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.reminders-page .btn-secondary{background-color:#fff;color:#374151;border:1.5px solid #d1d5db;box-shadow:0 1px 2px #0000000d}.reminders-page .btn-secondary:hover{background-color:#f9fafb;border-color:#9ca3af;box-shadow:0 2px 4px #0000001a;transform:translateY(-1px)}.reminders-page .btn-secondary:disabled{opacity:.5;cursor:not-allowed}.reminders-page .btn-danger{padding:.875rem 2rem;background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff;border:none;border-radius:10px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 6px #dc262633,0 2px 4px #dc262626;letter-spacing:.02em}.reminders-page .btn-danger:hover{background:linear-gradient(135deg,#b91c1c,#991b1b);box-shadow:0 6px 12px #dc26264d,0 4px 8px #dc262633;transform:translateY(-2px)}.reminders-page .confirm-body{display:flex;flex-direction:column;align-items:center;text-align:center;padding:1rem 0}.reminders-page .confirm-icon{font-size:3rem;margin-bottom:1rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.reminders-page .confirm-message{font-size:1rem;color:#374151;line-height:1.6;margin:0 0 2rem;font-weight:500;max-width:90%}.reminders-page .confirm-actions{display:flex;gap:1rem;justify-content:center;width:100%}.reminders-page .reminders-tabs{display:flex;gap:.75rem;margin-bottom:1rem}.reminders-page .reminders-tabs .tab-btn{padding:.6rem 1.1rem;border-radius:999px;border:1px solid #e5e7eb;background:#fff;color:#6b7280;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}.reminders-page .reminders-tabs .tab-btn.active{color:#1d4ed8;border-color:#bfdbfe;background-color:#eff6ff}.reminders-page .reminders-tabs .tab-btn:hover{color:#1f2937;border-color:#d1d5db}.reminders-page .calendar-content{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.reminders-page .calendar-content .calendar-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.reminders-page .calendar-content .calendar-title{font-size:1.1rem;font-weight:600;color:#1f2937}.reminders-page .calendar-content .calendar-controls{display:flex;gap:.5rem;flex-wrap:wrap}.reminders-page .calendar-empty{margin-top:1rem;color:#6b7280;font-size:.9rem;text-align:center}.reminders-page .day-view-content{display:flex;flex-direction:column;gap:.75rem;min-height:300px;padding:.5rem 0;border-radius:8px;transition:background-color .2s ease}.reminders-page .day-view-content.drag-over{background-color:#dbeafe}.reminders-page .day-view-empty{text-align:center;padding:4rem 2rem;color:#9ca3af;font-size:.95rem;font-style:italic}.reminders-page .day-reminder-card{display:flex;align-items:stretch;background:#fff;border:1px solid #e5e7eb;border-left:4px solid #3b82f6;border-radius:10px;padding:1rem 1.25rem;cursor:pointer;transition:all .2s ease;gap:1rem}.reminders-page .day-reminder-card:hover{border-color:#93c5fd;box-shadow:0 4px 12px #3b82f61f;transform:translateY(-1px)}.reminders-page .day-reminder-card.completed{border-left-color:#22c55e;background:linear-gradient(to right,#f0fdf4,#fff);opacity:.85}.reminders-page .day-reminder-card.completed:hover{opacity:1}.reminders-page .day-reminder-card.dragging{opacity:.4}.reminders-page .day-reminder-left{display:flex;align-items:center;min-width:80px}.reminders-page .day-reminder-time-slot{font-size:.875rem;font-weight:700;color:#3b82f6;white-space:nowrap}.reminders-page .day-reminder-card.completed .day-reminder-time-slot{color:#22c55e}.reminders-page .day-reminder-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.375rem}.reminders-page .day-reminder-title{font-size:1rem;font-weight:600;color:#1f2937;line-height:1.4}.reminders-page .day-reminder-card.completed .day-reminder-title{text-decoration:line-through;color:#6b7280}.reminders-page .day-reminder-details{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.reminders-page .day-reminder-project{font-size:.8rem;font-weight:600;color:#1e40af;background:#eff6ff;padding:.15rem .5rem;border-radius:4px}.reminders-page .day-reminder-assignee{font-size:.78rem;font-weight:500;color:#3b82f6;background:#eff6ff;border:1px solid #bfdbfe;padding:.1rem .45rem;border-radius:20px}.reminders-page .day-reminder-desc{font-size:.8rem;color:#6b7280;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:300px}.reminders-page .day-reminder-actions{display:flex;align-items:center;gap:.625rem;margin-left:auto}.reminders-page .btn-complete-small{width:28px;height:28px;border-radius:50%;border:1.5px solid #bbf7d0;background:#f0fdf4;color:#166534;font-size:.875rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.reminders-page .btn-complete-small:hover:not(:disabled){background:#dcfce7;border-color:#86efac;transform:scale(1.1)}.reminders-page .btn-complete-small:disabled{opacity:.5;cursor:not-allowed}.reminders-page .status-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.reminders-page .status-dot.pending{background-color:#fbbf24}.reminders-page .status-dot.overdue{background-color:#ef4444}.reminders-page .status-dot.done{background-color:#22c55e}.reminders-page .week-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.75rem;min-height:500px}.reminders-page .week-column{display:flex;flex-direction:column;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;background:#fff}.reminders-page .week-column--today{border-color:#3b82f6;border-width:2px;box-shadow:0 0 0 3px #3b82f61a}.reminders-page .week-column-header{background:linear-gradient(to bottom,#f9fafb,#f3f4f6);padding:.875rem .75rem;text-align:center;border-bottom:2px solid #e5e7eb}.reminders-page .week-column--today .week-column-header{background:linear-gradient(to bottom,#eff6ff,#dbeafe);border-bottom-color:#3b82f6}.reminders-page .week-day-label{font-size:.75rem;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.reminders-page .week-column--today .week-day-label{color:#1e40af}.reminders-page .week-day-number{font-size:1.5rem;font-weight:700;color:#1f2937}.reminders-page .week-column--today .week-day-number{color:#3b82f6}.reminders-page .week-column-content{flex:1;padding:.75rem;display:flex;flex-direction:column;gap:.625rem;overflow-y:auto}.reminders-page .week-column-content.drag-over{background-color:#dbeafe;border-radius:8px;min-height:60px}.reminders-page .week-column-empty{text-align:center;padding:2rem .5rem;color:#9ca3af;font-size:.8125rem;font-style:italic}.reminders-page .week-reminder{background:linear-gradient(to bottom,#eff6ff,#dbeafe);border:1px solid #bfdbfe;border-left:3px solid #3b82f6;border-radius:8px;padding:.625rem .75rem;cursor:pointer;transition:all .2s ease;overflow:hidden}.reminders-page .week-reminder:hover{background:linear-gradient(to bottom,#dbeafe,#bfdbfe);border-color:#93c5fd;box-shadow:0 2px 6px #3b82f626;transform:translate(2px)}.reminders-page .week-reminder.completed{background:linear-gradient(to bottom,#f0fdf4,#dcfce7);border-color:#bbf7d0;border-left-color:#22c55e;opacity:.8}.reminders-page .week-reminder.completed:hover{background:linear-gradient(to bottom,#dcfce7,#bbf7d0);opacity:1}.reminders-page .week-reminder.dragging{opacity:.4;box-shadow:none;transform:none}.reminders-page .week-reminder-title{font-size:.875rem;font-weight:600;color:#1e40af;margin-bottom:.375rem;line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.reminders-page .week-reminder.completed .week-reminder-title{color:#166534;text-decoration:line-through}.reminders-page .week-reminder-time{font-size:.7rem;font-weight:700;color:#6b7280;margin-bottom:.125rem}.reminders-page .week-reminder.completed .week-reminder-time{color:#4ade80}.reminders-page .week-reminder-meta{display:flex;flex-direction:column;gap:.25rem}.reminders-page .week-reminder-assignee{font-size:.72rem;font-weight:500;color:#3b82f6}.reminders-page .week-reminder-project{font-size:.75rem;font-weight:500;color:#4b5563;display:flex;align-items:center;gap:.25rem}.reminders-page .month-calendar-grid{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.reminders-page .month-calendar-header-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:linear-gradient(to bottom,#f9fafb,#f3f4f6);border-bottom:2px solid #e5e7eb}.reminders-page .month-calendar-header-cell{padding:.625rem .5rem;text-align:center;font-size:.75rem;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.reminders-page .month-calendar-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.reminders-page .month-calendar-row:not(:last-child){border-bottom:1px solid #e5e7eb}.reminders-page .month-day{min-height:110px;padding:.375rem;border-right:1px solid #e5e7eb;display:flex;flex-direction:column;gap:.25rem;overflow:hidden}.reminders-page .month-day:last-child{border-right:none}.reminders-page .month-day--today{background-color:#eff6ff;box-shadow:inset 0 0 0 2px #3b82f6}.reminders-page .month-day--outside{opacity:.4;background-color:#f9fafb}.reminders-page .month-day--drag-over{background-color:#dbeafe}.reminders-page .month-day-number{font-size:.8rem;font-weight:600;color:#374151;padding:.125rem .25rem;line-height:1}.reminders-page .month-day--today .month-day-number{color:#3b82f6;font-weight:700}.reminders-page .month-reminder{font-size:.7rem;padding:.2rem .375rem;border-radius:4px;background:linear-gradient(to bottom,#eff6ff,#dbeafe);border-left:2px solid #3b82f6;color:#1e40af;font-weight:500;cursor:pointer;overflow:hidden;transition:all .15s ease;line-height:1.4}.reminders-page .month-reminder:hover{background:linear-gradient(to bottom,#dbeafe,#bfdbfe);box-shadow:0 1px 3px #3b82f633}.reminders-page .month-reminder.completed{background:linear-gradient(to bottom,#f0fdf4,#dcfce7);border-left-color:#22c55e;color:#166534;text-decoration:line-through;opacity:.8}.reminders-page .month-reminder.completed:hover{opacity:1}.reminders-page .month-reminder.dragging{opacity:.4}.reminders-page .month-reminder-time{font-weight:700;color:#6b7280}.reminders-page .month-reminder.completed .month-reminder-time{text-decoration:line-through}.reminders-page .reminder-time{font-size:.85rem;color:#6b7280;font-weight:500}.reminders-page .month-reminder-project{display:block;font-size:.6rem;font-weight:500;color:#4b5563;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reminders-page .month-reminder-assignee{display:block;font-size:.6rem;font-weight:500;color:#3b82f6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reminders-page .month-reminder.completed .month-reminder-project{text-decoration:line-through}.reminders-page .month-day-more{font-size:.7rem;color:#3b82f6;font-weight:600;padding:.125rem .375rem;cursor:default}@media(max-width:768px){.reminders-page{padding:0 .5rem}.reminders-page .filters-section{padding:1.5rem;gap:1rem}.reminders-page .filter-group{min-width:100%;flex:1 1 100%}.reminders-page .btn-clear-filters,.reminders-page .btn-create{width:100%;justify-content:center}.reminders-page .data-table th,.reminders-page .data-table td{padding:.75rem .875rem}.reminders-page .action-buttons{flex-direction:column;gap:.5rem}.reminders-page .modal-content{width:98%;max-height:95vh}.reminders-page .modal-header,.reminders-page .modal-body{padding:1.5rem}.reminders-page .form-row{grid-template-columns:1fr}.reminders-page .form-actions{flex-direction:column-reverse}.reminders-page .btn-primary,.reminders-page .btn-secondary{width:100%;justify-content:center}.reminders-page .confirm-actions{flex-direction:column-reverse}.reminders-page .btn-danger{width:100%}}.dashboard-page{max-width:1200px}.dashboard-greeting{margin-bottom:2rem}.dashboard-greeting h2{font-size:1.75rem;font-weight:700;color:#1f2937;margin-bottom:.25rem}.dashboard-greeting p{color:#6b7280;font-size:1rem;text-transform:capitalize}.dashboard-section{margin-bottom:2rem}.dashboard-section-title{font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid #e5e7eb}.dashboard-month-calendar{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:1rem}.dashboard-month-calendar-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem}.dashboard-month-calendar-title{font-size:1rem;font-weight:600;color:#1f2937}.dashboard-month-calendar-controls{display:flex;gap:.5rem}.dashboard-month-calendar-controls button{border:1px solid #d1d5db;background:#fff;color:#374151;border-radius:8px;padding:.45rem .75rem;font-size:.85rem;font-weight:500;cursor:pointer}.dashboard-month-calendar-controls button:hover{background:#f9fafb}.dashboard-month-legend{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.dashboard-month-legend-item{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;padding:.2rem .6rem;font-size:.78rem;font-weight:500}.dashboard-month-legend-item:before{content:"";width:8px;height:8px;border-radius:999px}.dashboard-month-legend-item--activity{background:#eff6ff;color:#1d4ed8}.dashboard-month-legend-item--activity:before{background:#3b82f6}.dashboard-month-legend-item--reminder{background:#fffbeb;color:#b45309}.dashboard-month-legend-item--reminder:before{background:#f59e0b}.dashboard-month-legend-item--delivery{background:#f0fdf4;color:#166534}.dashboard-month-legend-item--delivery:before{background:#22c55e}.dashboard-month-grid{border:1px solid #e5e7eb;border-radius:10px;overflow:hidden}.dashboard-month-header-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:#f9fafb}.dashboard-month-header-cell{padding:.55rem .35rem;text-align:center;font-size:.75rem;font-weight:600;color:#6b7280;border-bottom:1px solid #e5e7eb}.dashboard-month-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.dashboard-month-row:not(:last-child) .dashboard-month-day{border-bottom:1px solid #f3f4f6}.dashboard-month-day{min-height:140px;padding:.45rem;border-right:1px solid #f3f4f6;background:#fff}.dashboard-month-day:last-child{border-right:none}.dashboard-month-day--outside{background:#f9fafb}.dashboard-month-day--today{background:#fff7ed}.dashboard-month-day-number{font-size:.78rem;font-weight:600;color:#374151;margin-bottom:.35rem}.dashboard-month-day--today .dashboard-month-day-number{color:#c2410c}.dashboard-month-entry{display:block;border-radius:6px;padding:.3rem .4rem;margin-bottom:.3rem;border:1px solid transparent}.dashboard-month-entry-title,.dashboard-month-entry-meta{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-month-entry-title{font-size:.73rem;font-weight:600}.dashboard-month-entry-time{display:block;font-size:.66rem;font-weight:600;margin-top:.08rem}.dashboard-month-entry-meta{font-size:.68rem;margin-top:.1rem;color:#6b7280}.dashboard-month-entry--activity{border-color:#bfdbfe;background:#eff6ff}.dashboard-month-entry--activity .dashboard-month-entry-title,.dashboard-month-entry--activity .dashboard-month-entry-time{color:#1d4ed8}.dashboard-month-entry--reminder{border-color:#fde68a;background:#fffbeb}.dashboard-month-entry--reminder .dashboard-month-entry-title,.dashboard-month-entry--reminder .dashboard-month-entry-time{color:#b45309}.dashboard-month-entry--delivery{border-color:#bbf7d0;background:#f0fdf4}.dashboard-month-entry--delivery .dashboard-month-entry-title,.dashboard-month-entry--delivery .dashboard-month-entry-time{color:#166534}.dashboard-month-entry--done{opacity:.7}.dashboard-month-entry--done .dashboard-month-entry-title{text-decoration:line-through}.dashboard-month-day-more{font-size:.7rem;color:#6b7280;font-weight:600;padding-left:.1rem}.dashboard-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:1.5rem}.dashboard-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.dashboard-card-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid #e5e7eb}.dashboard-card-header h3{font-size:1rem;font-weight:600;color:#1f2937;margin:0}.dashboard-card-badge{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 .5rem;border-radius:999px;background-color:#fef2f2;color:#dc2626;font-size:.85rem;font-weight:700}.dashboard-card-body{padding:1rem 1.5rem;max-height:400px;overflow-y:auto}.dashboard-card-loading,.dashboard-card-empty{text-align:center;padding:2rem 0;color:#6b7280;font-size:.9rem}.dashboard-card-list{display:flex;flex-direction:column;gap:.5rem}.dashboard-activity-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;border-radius:8px;border:1px solid #fecaca;background:#fef2f2;gap:1rem}.dashboard-activity-info{display:flex;flex-direction:column;gap:.2rem;min-width:0}.dashboard-activity-title{font-size:.9rem;font-weight:500;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-activity-deal{font-size:.8rem;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-activity-date{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0;gap:.15rem}.dashboard-activity-overdue{font-size:.8rem;font-weight:600;color:#dc2626}.dashboard-activity-scheduled{font-size:.75rem;color:#6b7280}.badge-today{background-color:#eff6ff;color:#2563eb}.today-item{border-color:#bfdbfe;background:#eff6ff}.dashboard-activity-item.activity-completed{border-color:#bbf7d0;background:#f0fdf4;opacity:.7}.activity-completed .dashboard-activity-title{text-decoration:line-through;color:#6b7280}.dashboard-activity-time{font-size:.85rem;font-weight:600;color:#2563eb;flex-shrink:0}.badge-delivery{background-color:#f0fdf4;color:#16a34a}.dashboard-delivery-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;border-radius:8px;border:1px solid #e5e7eb;background:#f9fafb;gap:1rem}.dashboard-delivery-item.delivery-completed{border-color:#bbf7d0;background:#f0fdf4;opacity:.7}.dashboard-delivery-info{display:flex;flex-direction:column;gap:.2rem;min-width:0}.dashboard-delivery-title{font-size:.9rem;font-weight:500;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.delivery-completed .dashboard-delivery-title{text-decoration:line-through;color:#6b7280}.dashboard-delivery-project{font-size:.8rem;color:#6b7280}.dashboard-delivery-date{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0;gap:.15rem}.dashboard-delivery-weekday{font-size:.8rem;font-weight:600;color:#374151;text-transform:capitalize}.dashboard-delivery-due{font-size:.75rem;color:#6b7280}.badge-task{background-color:#fefce8;color:#ca8a04}.dashboard-task-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;border-radius:8px;border:1px solid #fde68a;background:#fefce8;gap:1rem}.dashboard-task-info{display:flex;flex-direction:column;gap:.2rem;min-width:0}.dashboard-task-title{font-size:.9rem;font-weight:500;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-task-delivery{font-size:.8rem;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.badge-reminder{background-color:#fdf4ff;color:#a855f7}.dashboard-reminder-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;border-radius:8px;border:1px solid #e9d5ff;background:#fdf4ff;gap:1rem}.dashboard-reminder-item.reminder-completed{border-color:#bbf7d0;background:#f0fdf4;opacity:.7}.dashboard-reminder-item.reminder-overdue{border-color:#fca5a5;background:#fef2f2}.reminder-overdue .dashboard-reminder-title{color:#991b1b}.dashboard-reminder-date-overdue{font-size:.8rem;font-weight:600;color:#dc2626;white-space:nowrap}.badge-overdue{background-color:#fef2f2!important;color:#dc2626!important}.reminder-completed .dashboard-reminder-title{text-decoration:line-through;color:#6b7280}.dashboard-reminder-info{display:flex;flex-direction:column;gap:.2rem;min-width:0}.dashboard-reminder-time{font-size:.8rem;font-weight:600;color:#6b7280;white-space:nowrap}.reminder-completed .dashboard-reminder-time{text-decoration:line-through;opacity:.6}.dashboard-reminder-title{font-size:.9rem;font-weight:500;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-reminder-project{font-size:.8rem;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-calendar-tabs{display:flex;gap:.5rem;margin-bottom:.75rem}.dashboard-cal-tab{padding:.45rem .9rem;border-radius:999px;border:1px solid #e5e7eb;background:#fff;color:#6b7280;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s}.dashboard-cal-tab.active{color:#1d4ed8;border-color:#bfdbfe;background-color:#eff6ff}.dashboard-cal-tab:hover{color:#1f2937;border-color:#d1d5db}.dashboard-week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.5rem;min-height:400px}.dashboard-week-column{display:flex;flex-direction:column;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;background:#fff}.dashboard-week-column--today{border-color:#3b82f6;border-width:2px;box-shadow:0 0 0 2px #3b82f61a}.dashboard-week-column-header{background:#f9fafb;padding:.625rem .5rem;text-align:center;border-bottom:1px solid #e5e7eb}.dashboard-week-column--today .dashboard-week-column-header{background:#eff6ff;border-bottom-color:#3b82f6}.dashboard-week-day-label{font-size:.7rem;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.15rem}.dashboard-week-column--today .dashboard-week-day-label{color:#1e40af}.dashboard-week-day-number{font-size:1.25rem;font-weight:700;color:#1f2937}.dashboard-week-column--today .dashboard-week-day-number{color:#3b82f6}.dashboard-week-column-content{flex:1;padding:.5rem;display:flex;flex-direction:column;gap:.4rem;overflow-y:auto}.dashboard-week-empty{text-align:center;padding:1.5rem .25rem;color:#9ca3af;font-size:.75rem;font-style:italic}.dashboard-day-view{display:flex;flex-direction:column;gap:.625rem;min-height:200px}.dashboard-day-card{display:flex;align-items:center;gap:1rem;padding:.875rem 1rem;border-radius:10px;border:1px solid #e5e7eb;border-left:4px solid #3b82f6;background:#fff;transition:all .15s ease}.dashboard-day-card:hover{box-shadow:0 2px 8px #0000000f}.dashboard-day-card--activity{border-left-color:#3b82f6}.dashboard-day-card--reminder{border-left-color:#f59e0b}.dashboard-day-card--delivery{border-left-color:#22c55e}.dashboard-day-card--done{opacity:.7}.dashboard-day-card--done .dashboard-day-card-title{text-decoration:line-through;color:#6b7280}.dashboard-day-card-time{min-width:65px;font-size:.85rem;font-weight:700;color:#374151;white-space:nowrap}.dashboard-day-card-body{flex:1;min-width:0}.dashboard-day-card-title{font-size:.95rem;font-weight:600;color:#1f2937;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-day-card-meta{font-size:.8rem;color:#6b7280;margin-top:.15rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-day-card-type{font-size:.72rem;font-weight:600;padding:.2rem .5rem;border-radius:999px;white-space:nowrap;flex-shrink:0}.dashboard-day-card-type--activity{background:#eff6ff;color:#1d4ed8}.dashboard-day-card-type--reminder{background:#fffbeb;color:#b45309}.dashboard-day-card-type--delivery{background:#f0fdf4;color:#166534}@media(max-width:900px){.dashboard-cards{grid-template-columns:1fr}}@media(max-width:768px){.dashboard-month-calendar-header{flex-direction:column;align-items:flex-start}.dashboard-month-day{min-height:110px;padding:.3rem}.dashboard-month-entry-title{font-size:.68rem}.dashboard-month-entry-meta{font-size:.64rem}}.my-shifts-page{max-width:1200px}.shift-preset-group{display:flex;gap:.5rem;flex-shrink:0}.btn-shift-preset{padding:.625rem 1rem;background:linear-gradient(to bottom,#f0fdf4,#dcfce7);color:#166534;border:1.5px solid #86efac;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-shift-preset:hover{background:linear-gradient(to bottom,#dcfce7,#bbf7d0);border-color:#4ade80}.btn-create{padding:.625rem 1.25rem;background-color:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color .2s;margin-left:auto;white-space:nowrap}.form-row .form-group{flex:1;min-width:140px}.time-summary{display:flex;gap:1.5rem;padding:.75rem 1rem;background:#f9fafb;border-radius:8px;margin-bottom:1.25rem;font-size:.875rem;color:#374151}.over-allocated{color:#dc2626}.allocations-section{margin-top:1rem;border:1px solid #e5e7eb;border-radius:8px;padding:1rem;margin-bottom:1.25rem}.allocations-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.allocations-header h4{margin:0;font-size:.9rem;font-weight:600;color:#374151}.btn-add-allocation{padding:.375rem .875rem;background-color:#10b981;color:#fff;border:none;border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;transition:background-color .2s}.btn-add-allocation:hover{background-color:#059669}.empty-allocations{text-align:center;padding:1rem;color:#9ca3af;font-size:.875rem}.allocation-row{display:flex;gap:.75rem;align-items:flex-end;padding:.75rem 0;border-bottom:1px solid #f3f4f6;flex-wrap:wrap}.allocation-row:last-child{border-bottom:none}.alloc-field{display:flex;flex-direction:column;gap:.25rem}.alloc-field label{font-size:.75rem;font-weight:500;color:#6b7280}.alloc-field select,.alloc-field input[type=text],.alloc-field input[type=number]{padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;color:#1f2937;background:#fff}.alloc-field select:focus,.alloc-field input:focus{outline:none;border-color:#3b82f6}.alloc-ref{flex:1;min-width:160px}.alloc-ref select,.alloc-ref input{width:100%}.alloc-min{width:90px}.alloc-billable{align-items:center}.alloc-billable input[type=checkbox]{width:18px;height:18px;cursor:pointer;padding:0;margin-top:4px}.btn-remove-allocation{background:none;border:none;color:#9ca3af;font-size:1.25rem;cursor:pointer;padding:.25rem;line-height:1;align-self:flex-end;margin-bottom:2px;transition:color .2s}.btn-remove-allocation:hover{color:#dc2626}.task-group{margin-bottom:.75rem}.task-group-header{font-size:.8rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.03em;padding:.5rem 0 .25rem;border-bottom:1px solid #f3f4f6;margin-bottom:.25rem}.task-check-row{display:flex;align-items:center;gap:.75rem;padding:.4rem .5rem;border-radius:6px;transition:background-color .15s}.task-check-row:hover{background-color:#f9fafb}.task-check-row-active{background-color:#f0f9ff}.task-check-row-active:hover{background-color:#e0f2fe}.task-check-row input[type=checkbox]{width:18px;height:18px;cursor:pointer;flex-shrink:0}.task-check-title{flex:1;font-size:.875rem;color:#1f2937}.task-check-minutes-wrapper{display:flex;align-items:center;gap:.25rem;flex-shrink:0}.task-check-minutes{width:70px;padding:.375rem .5rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;color:#1f2937;text-align:center}.task-check-minutes:focus{outline:none;border-color:#3b82f6}.task-check-minutes-label{font-size:.75rem;color:#9ca3af}.confirm-message{color:#374151;margin-bottom:1.5rem}.autocomplete-wrapper{position:relative;width:100%}.autocomplete-list{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #d1d5db;border-radius:6px;box-shadow:0 4px 12px #0000001a;list-style:none;margin:2px 0 0;padding:0;z-index:100;max-height:180px;overflow-y:auto}.autocomplete-list li{padding:.5rem .75rem;cursor:pointer;font-size:.85rem;color:#374151}.autocomplete-list li:hover{background:#f3f4f6}.shift-approval-page{max-width:1200px}.btn-approve{padding:.4rem .875rem;background:linear-gradient(to bottom,#d1fae5,#a7f3d0);color:#065f46;border:1.5px solid #6ee7b7;border-radius:8px;font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn-approve:hover:not(:disabled){background:linear-gradient(to bottom,#a7f3d0,#6ee7b7)}.btn-approve:disabled{opacity:.5;cursor:not-allowed}.status-badge{display:inline-block;padding:.2rem .6rem;border-radius:999px;font-size:.75rem;font-weight:600;white-space:nowrap}.badge-draft{background:#f3f4f6;color:#6b7280}.badge-submitted{background:#dbeafe;color:#1e40af}.badge-approved{background:#d1fae5;color:#065f46}.badge-adjusted{background:#fef3c7;color:#92400e}.badge-deleted{background:#fee2e2;color:#991b1b}.shift-info-band{padding:1rem 1.5rem;background-color:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex;flex-wrap:wrap;gap:1rem;flex-shrink:0}.shift-info-row{display:flex;gap:.5rem;align-items:center}.shift-info-label{font-weight:600;color:#6b7280;font-size:.875rem}.shift-info-value{color:#1f2937;font-size:.875rem}.rh-dashboard-page{max-width:1200px}.data-table{width:100%;border-collapse:collapse;min-width:900px}.data-table td{padding:1rem;border-bottom:1px solid #e5e7eb;color:#1f2937;font-size:.9rem;vertical-align:middle;white-space:nowrap}.totals-row{background-color:#f0fdf4;border-top:2px solid #e5e7eb}.totals-row td{border-bottom:none;color:#065f46}.productivity-dashboard-page{max-width:1200px}.filter-checkbox{min-width:auto;justify-content:flex-end}.filter-checkbox label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.875rem;font-weight:500;color:#374151;padding-bottom:.625rem}.date-mode-toggle{min-width:auto}.toggle-buttons{display:flex;border:1px solid #d1d5db;border-radius:8px;overflow:hidden}.toggle-btn{padding:.625rem .875rem;font-size:.9rem;background:#fff;border:none;cursor:pointer;color:#6b7280;font-weight:500;transition:background .15s,color .15s}.toggle-btn:not(:last-child){border-right:1px solid #d1d5db}.toggle-btn.active{background:#3b82f6;color:#fff}.toggle-btn:not(.active):hover{background:#f3f4f6;color:#1f2937}.list-content{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px #0000001a;overflow-x:auto}.data-table th{text-align:left;padding:.875rem 1rem;font-size:.8rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #e5e7eb;white-space:nowrap}.data-table tbody tr:hover{background-color:#f9fafb}.totals-row{background-color:#eff6ff;border-top:2px solid #e5e7eb}.totals-row td{border-bottom:none;color:#1e40af}.employment-terms-page{max-width:1200px}.page-header p{color:#6b7280;font-size:.9rem}.filter-group{display:flex;flex-direction:column;gap:.5rem;min-width:160px}.filter-input{padding:.625rem .875rem;border:1px solid #d1d5db;border-radius:8px;font-size:.9rem;color:#1f2937;background-color:#fff;transition:border-color .2s}.filter-checkbox{justify-content:flex-end;min-width:auto}.filter-checkbox label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:400;white-space:nowrap}.filter-checkbox input[type=checkbox]{width:16px;height:16px;cursor:pointer}.btn-create{padding:.625rem 1.25rem;background-color:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color .2s;margin-left:auto;white-space:nowrap;align-self:flex-end}.btn-create:hover{background-color:#2563eb}.list-content{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.loading,.empty-state{text-align:center;padding:3rem;color:#6b7280}.data-table{width:100%;border-collapse:collapse}.data-table thead{background-color:#f9fafb}.data-table th{text-align:left;padding:.875rem 1rem;font-size:.8rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #e5e7eb}.data-table td{padding:1rem;border-bottom:1px solid #e5e7eb;color:#1f2937;font-size:.9rem;vertical-align:middle}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover{background-color:#f9fafb}.row-clickable{cursor:pointer}.action-buttons{display:inline-flex;gap:.5rem;align-items:center}.btn-edit{padding:.4rem .875rem;background:linear-gradient(to bottom,#eff6ff,#dbeafe);color:#1e40af;border:1.5px solid #93c5fd;border-radius:8px;font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-edit:hover{background:linear-gradient(to bottom,#dbeafe,#bfdbfe)}.btn-delete{padding:.4rem .875rem;background:linear-gradient(to bottom,#fef2f2,#fee2e2);color:#991b1b;border:1.5px solid #fca5a5;border-radius:8px;font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-delete:hover{background:linear-gradient(to bottom,#fee2e2,#fecaca)}.et-badge{display:inline-block;padding:.2rem .6rem;border-radius:999px;font-size:.75rem;font-weight:600;white-space:nowrap}.et-badge-current{background:#d1fae5;color:#065f46}.et-open{color:#6b7280;font-style:italic;font-size:.875rem}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:12px;width:95%;max-width:800px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #0000001a}.modal-form-large{max-width:860px}.modal-confirm{max-width:480px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e5e7eb;flex-shrink:0}.modal-header h3{font-size:1.25rem;font-weight:600;color:#1f2937;margin:0}.modal-close{background:none;border:none;font-size:2rem;color:#6b7280;cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.modal-close:hover{background-color:#f3f4f6;color:#1f2937}.et-info-band{padding:1rem 1.5rem;background-color:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex;flex-wrap:wrap;gap:1rem;flex-shrink:0}.et-info-row{display:flex;gap:.5rem;align-items:center}.et-info-label{font-weight:600;color:#6b7280;font-size:.875rem}.et-info-value{color:#1f2937;font-size:.875rem}.modal-body{padding:1.5rem;overflow-y:auto;flex:1}.modal-body h4{font-size:1rem;font-weight:600;color:#1f2937;margin:0 0 .75rem}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.5rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:8px;font-size:.9rem;color:#1f2937;background-color:#fff;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-row{display:flex;gap:1rem;flex-wrap:wrap}.form-row .form-group{flex:1;min-width:160px}.label-optional{font-weight:400;color:#9ca3af;font-size:.8rem}.form-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e5e7eb}.btn-primary,.btn-secondary{padding:.75rem 1.5rem;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-primary{background-color:#3b82f6;color:#fff;border:none}.btn-primary:hover{background-color:#2563eb}.btn-secondary{background-color:#fff;color:#374151;border:1px solid #d1d5db}.btn-secondary:hover{background-color:#f9fafb}.btn-danger{padding:.75rem 1.5rem;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;background-color:#dc2626;color:#fff;border:none;transition:background-color .2s}.btn-danger:hover{background-color:#b91c1c}.confirm-body{text-align:center}.confirm-message{color:#374151;margin-bottom:1.5rem;line-height:1.6}.confirm-sub{font-size:.875rem;color:#6b7280}.confirm-actions{display:flex;justify-content:center;gap:.75rem}.time-offs-page{max-width:1200px}.page-header{margin-bottom:2rem}.filters-section{background:#fff;border-radius:12px;padding:1.5rem;margin-bottom:1rem;box-shadow:0 1px 3px #0000001a;display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end}.filter-group{display:flex;flex-direction:column;gap:.5rem;min-width:150px}.filter-group label{font-size:.875rem;font-weight:500;color:#374151}.filter-input{padding:.625rem .875rem;border:1px solid #d1d5db;border-radius:8px;font-size:.9rem;color:#1f2937;background:#fff;transition:border-color .2s}.filter-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.btn-clear-filters{align-self:flex-end;padding:.625rem 1rem;background:none;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;color:#6b7280;cursor:pointer;white-space:nowrap;transition:border-color .2s,color .2s}.btn-clear-filters:hover{border-color:#9ca3af;color:#374151}.to-vacation-cards{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.to-vacation-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:.25rem;min-width:160px}.to-vacation-card-name{font-size:.8rem;font-weight:500;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.to-vacation-card-days{font-size:2rem;font-weight:700;color:#7c3aed;line-height:1}.to-vacation-card-label{font-size:.8rem;color:#9ca3af}.to-table-wrap{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.to-table{width:100%;border-collapse:collapse;font-size:.9rem}.to-table thead tr{border-bottom:2px solid #f3f4f6}.to-table th{padding:.875rem 1rem;text-align:left;font-weight:600;font-size:.8rem;color:#6b7280;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.to-table tbody tr{border-bottom:1px solid #f3f4f6;transition:background .15s}.to-table tbody tr:hover{background:#f9fafb}.to-table tbody tr:last-child{border-bottom:none}.to-table td{padding:.875rem 1rem;color:#1f2937;vertical-align:middle}.to-row--deleted td{opacity:.5;text-decoration:line-through}.to-cell-user{font-weight:500}.to-cell-duration,.to-cell-days{color:#6b7280;font-size:.85rem}.to-cell-actions{display:flex;gap:.25rem;align-items:center}.to-badge{display:inline-block;padding:.2rem .6rem;border-radius:9999px;font-size:.75rem;font-weight:600;white-space:nowrap}.to-badge--draft{background:#f3f4f6;color:#6b7280}.to-badge--submitted{background:#dbeafe;color:#1d4ed8}.to-badge--approved{background:#dcfce7;color:#15803d}.to-badge--rejected{background:#fee2e2;color:#dc2626}.to-badge--cancelled{background:#f3f4f6;color:#9ca3af}.to-type-badge{display:inline-block;padding:.2rem .6rem;border-radius:6px;font-size:.75rem;font-weight:500;white-space:nowrap;background:#f3f4f6;color:#374151}.to-type-badge--vacation{background:#ede9fe;color:#7c3aed}.to-type-badge--sick_leave{background:#fef3c7;color:#b45309}.to-type-badge--absence{background:#fee2e2;color:#dc2626}.to-type-badge--day_off{background:#dbeafe;color:#1d4ed8}.to-type-badge--unpaid_leave{background:#f0fdf4;color:#166534}.to-type-badge--other{background:#f3f4f6;color:#6b7280}.to-action-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:none;border-radius:6px;cursor:pointer;color:#6b7280;transition:background .15s,color .15s}.to-action-btn:hover{background:#f3f4f6;color:#374151}.to-action-btn--danger:hover{background:#fee2e2;color:#dc2626}.to-action-btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{padding:.625rem 1.25rem;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background .2s}.btn-primary:hover:not(:disabled){background:#2563eb}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{padding:.625rem 1.25rem;background:#fff;color:#374151;border:1px solid #d1d5db;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background .2s,border-color .2s}.btn-secondary:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.btn-danger{padding:.625rem 1.25rem;background:#dc2626;color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background .2s}.btn-danger:hover:not(:disabled){background:#b91c1c}.btn-danger:disabled{opacity:.6;cursor:not-allowed}.btn-approve{padding:.625rem 1.25rem;background:#16a34a;color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background .2s}.btn-approve:hover:not(:disabled){background:#15803d}.btn-approve:disabled{opacity:.6;cursor:not-allowed}.btn-reject{padding:.625rem 1.25rem;background:#dc2626;color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background .2s}.btn-reject:hover:not(:disabled){background:#b91c1c}.btn-reject:disabled{opacity:.6;cursor:not-allowed}.modal-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:#fff;border-radius:16px;width:100%;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column;box-shadow:0 20px 60px #0003}.to-form-modal{max-width:640px}.to-detail-modal{max-width:700px}.to-note-modal{max-width:460px}.to-confirm-modal{max-width:420px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid #f3f4f6;flex-shrink:0}.modal-header h3{margin:0;font-size:1.1rem;font-weight:600;color:#111827}.modal-close{background:none;border:none;font-size:1.1rem;color:#9ca3af;cursor:pointer;padding:.25rem;line-height:1;border-radius:4px;transition:color .15s}.modal-close:hover{color:#374151}.modal-body{padding:1.5rem;flex:1;overflow-y:auto}.modal-footer{padding:1rem 1.5rem;border-top:1px solid #f3f4f6;display:flex;gap:.75rem;justify-content:flex-end;flex-shrink:0}.modal-tabs{display:flex;border-bottom:1px solid #f3f4f6;padding:0 1.5rem;flex-shrink:0}.modal-tab{padding:.75rem 1rem;background:none;border:none;border-bottom:2px solid transparent;font-size:.875rem;font-weight:500;color:#6b7280;cursor:pointer;transition:color .15s,border-color .15s;margin-bottom:-1px}.modal-tab.active{color:#3b82f6;border-bottom-color:#3b82f6}.to-detail-title{display:flex;flex-direction:column;gap:.5rem}.to-detail-title h3{margin:0}.to-detail-badges{display:flex;gap:.5rem}.to-detail-loading{padding:1rem 1.5rem;color:#6b7280;font-size:.875rem}.to-detail-info-band{display:flex;flex-wrap:wrap;gap:1.5rem;padding:1rem 1.5rem;background:#f9fafb;border-bottom:1px solid #f3f4f6}.to-info-item{display:flex;flex-direction:column;gap:.2rem}.to-info-label{font-size:.75rem;font-weight:500;color:#9ca3af;text-transform:uppercase;letter-spacing:.04em}.to-info-value{font-size:.9rem;font-weight:600;color:#111827}.to-detail-fields{display:flex;flex-direction:column;gap:1rem}.to-detail-field{display:flex;flex-direction:column;gap:.25rem}.to-field-label{font-size:.8rem;font-weight:500;color:#9ca3af;text-transform:uppercase;letter-spacing:.04em}.to-field-value{font-size:.9rem;color:#374151;white-space:pre-wrap}.to-detail-meta{margin-top:1rem;padding-top:1rem;border-top:1px solid #f3f4f6;display:flex;flex-direction:column;gap:.5rem}.to-meta-item{display:flex;gap:.75rem;font-size:.85rem}.to-meta-label{color:#9ca3af;min-width:100px}.to-meta-value{color:#374151}.to-detail-footer{justify-content:space-between}.to-workflow-actions{display:flex;gap:.5rem;flex-wrap:wrap}.to-detail-right-actions{display:flex;gap:.5rem}.to-files-tab{display:flex;flex-direction:column;gap:1rem}.to-file-upload{display:flex;justify-content:flex-end}.to-file-list{display:flex;flex-direction:column;gap:.5rem}.to-file-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:#f9fafb;border-radius:8px;border:1px solid #f3f4f6}.to-file-info{display:flex;flex-direction:column;gap:.15rem}.to-file-name{font-size:.9rem;color:#1f2937;font-weight:500}.to-file-meta{font-size:.8rem;color:#9ca3af}.to-file-actions{display:flex;gap:.25rem}.to-audit-list{display:flex;flex-direction:column;gap:.5rem}.to-audit-item{display:flex;gap:1rem;align-items:center;padding:.75rem 1rem;background:#f9fafb;border-radius:8px;font-size:.875rem}.to-audit-action{font-weight:600;color:#374151;min-width:90px;text-transform:capitalize}.to-audit-by{color:#6b7280;flex:1}.to-audit-date{color:#9ca3af;white-space:nowrap}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.875rem;font-weight:500;color:#374151}.form-group--full{grid-column:1 / -1}.form-group--checkbox{justify-content:flex-end;grid-column:1 / -1}.form-group--checkbox label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:500}.form-input{padding:.625rem .875rem;border:1px solid #d1d5db;border-radius:8px;font-size:.9rem;color:#1f2937;background:#fff;transition:border-color .2s;width:100%;box-sizing:border-box}.form-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-input:disabled{background:#f9fafb;color:#9ca3af;cursor:not-allowed}.form-textarea{resize:vertical;min-height:72px;font-family:inherit}.required{color:#dc2626}.loading,.empty-state{padding:2rem;text-align:center;color:#9ca3af}.to-warn{color:#b45309;font-size:.875rem;margin-top:.5rem}.to-confirm-modal p{margin:0;color:#374151}.nwd-page{max-width:none}.page-header{margin-bottom:1.5rem}.page-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.page-header h2{margin:0 0 .25rem}.page-header p{color:#6b7280;font-size:.9rem;margin:0}.nwd-filters{background:#fff;border-radius:12px;padding:1rem 1.25rem;margin-bottom:1rem;box-shadow:0 1px 3px #0000001a;display:flex;gap:.75rem;align-items:center}.nwd-search-input{flex:1;max-width:360px;padding:.5rem .875rem;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;color:#1f2937;background:#fff;transition:border-color .2s}.nwd-search-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.nwd-btn-clear{padding:.5rem .875rem;background:none;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;color:#6b7280;cursor:pointer;white-space:nowrap;transition:border-color .2s,color .2s}.nwd-btn-clear:hover{border-color:#9ca3af;color:#374151}.calendar-content{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.calendar-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid #e5e7eb}.calendar-title{font-size:1.1rem;font-weight:600;color:#111827}.calendar-controls{display:flex;gap:.5rem}.nwd-month-grid{border-top:none}.nwd-month-header-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:linear-gradient(to bottom,#f9fafb,#f3f4f6);border-bottom:2px solid #e5e7eb}.nwd-month-header-cell{padding:.625rem .5rem;text-align:center;font-size:.75rem;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.nwd-month-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-bottom:1px solid #e5e7eb}.nwd-month-row:last-child{border-bottom:none}.nwd-month-day{min-height:110px;padding:.5rem;border-right:1px solid #e5e7eb;display:flex;flex-direction:column;gap:.3rem;overflow:hidden;transition:background .1s}.nwd-month-day:last-child{border-right:none}.nwd-month-day--clickable{cursor:pointer}.nwd-month-day--clickable:not(.nwd-month-day--outside):hover{background:#f9fafb}.nwd-month-day--today{background-color:#eff6ff;box-shadow:inset 0 0 0 2px #3b82f6}.nwd-month-day--today:hover{background-color:#dbeafe}.nwd-month-day--outside{opacity:.35;background-color:#f9fafb;cursor:default}.nwd-month-day--weekend:not(.nwd-month-day--outside){background-color:#f5f5f4}.nwd-month-day--weekend .nwd-month-day-number{color:#9ca3af}.nwd-month-day--marked:not(.nwd-month-day--outside){background-color:#fff8f8}.nwd-month-day-number{font-size:.8rem;font-weight:600;color:#374151;line-height:1;padding:.1rem .2rem}.nwd-month-day--today .nwd-month-day-number{color:#3b82f6;font-weight:700}.nwd-month-chip{font-size:.72rem;padding:.25rem .5rem;border-radius:5px;background:linear-gradient(to bottom,#fee2e2,#fecaca);border-left:2px solid #dc2626;color:#991b1b;font-weight:600;cursor:pointer;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;transition:all .15s ease;line-height:1.4}.nwd-month-chip:hover{background:linear-gradient(to bottom,#fecaca,#fca5a5);box-shadow:0 1px 3px #dc262633}.nwd-loading{padding:3rem;text-align:center;color:#9ca3af}.nwd-btn-primary{padding:.625rem 1.25rem;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .2s}.nwd-btn-primary:hover:not(:disabled){background:#2563eb}.nwd-btn-primary:disabled{opacity:.6;cursor:not-allowed}.nwd-btn-secondary{padding:.5rem 1rem;background:#fff;color:#374151;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .2s,border-color .2s;white-space:nowrap}.nwd-btn-secondary:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.nwd-btn-secondary:disabled{opacity:.6;cursor:not-allowed}.nwd-btn-danger{padding:.625rem 1.25rem;background:#dc2626;color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background .2s;white-space:nowrap}.nwd-btn-danger:hover:not(:disabled){background:#b91c1c}.nwd-btn-danger:disabled{opacity:.6;cursor:not-allowed}.nwd-btn-danger--left{margin-right:auto}.nwd-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.nwd-modal{background:#fff;border-radius:16px;width:100%;max-width:460px;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column;box-shadow:0 20px 60px #0003}.nwd-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid #f3f4f6;flex-shrink:0}.nwd-modal-header h3{margin:0;font-size:1.1rem;font-weight:600;color:#111827}.nwd-modal-close{background:none;border:none;font-size:1.25rem;color:#9ca3af;cursor:pointer;padding:.25rem;line-height:1;border-radius:4px;transition:color .15s}.nwd-modal-close:hover{color:#374151}.nwd-form{display:flex;flex-direction:column;flex:1}.nwd-form-body{padding:1.5rem;display:flex;flex-direction:column;gap:1rem;flex:1}.nwd-form-group{display:flex;flex-direction:column;gap:.4rem}.nwd-form-group label{font-size:.875rem;font-weight:500;color:#374151}.nwd-form-input{padding:.625rem .875rem;border:1px solid #d1d5db;border-radius:8px;font-size:.9rem;color:#1f2937;background:#fff;transition:border-color .2s;width:100%;box-sizing:border-box;font-family:inherit}.nwd-form-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.nwd-form-textarea{resize:vertical;min-height:80px}.nwd-modal-footer{padding:1rem 1.5rem;border-top:1px solid #f3f4f6;display:flex;gap:.75rem;justify-content:flex-end;align-items:center;flex-shrink:0}.nwd-confirm-body{padding:1.25rem 1.5rem}.nwd-confirm-body p{margin:0;color:#374151;font-size:.9rem;line-height:1.5}.notifications-page{padding:1.5rem;max-width:720px}.notifications-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem;flex-wrap:wrap;gap:.75rem}.notifications-filters{display:flex;gap:.5rem}.notif-filter-btn{display:flex;align-items:center;gap:.4rem;background:none;border:1px solid #e5e7eb;border-radius:8px;padding:.4rem .75rem;font-size:.85rem;color:#6b7280;cursor:pointer;transition:all .15s}.notif-filter-btn:hover{background-color:#f3f4f6;border-color:#d1d5db}.notif-filter-btn.active{background-color:#eff6ff;border-color:#bfdbfe;color:#1d4ed8;font-weight:500}.notif-filter-count{background-color:#e5e7eb;color:#374151;font-size:.72rem;font-weight:600;border-radius:10px;padding:0 6px;min-width:20px;text-align:center}.notif-filter-btn.active .notif-filter-count{background-color:#bfdbfe;color:#1d4ed8}.notif-mark-all-btn{background:none;border:none;font-size:.825rem;color:#3b82f6;cursor:pointer;padding:.4rem .5rem;border-radius:6px;transition:background-color .15s}.notif-mark-all-btn:hover{background-color:#eff6ff}.notif-mark-all-btn:disabled{opacity:.5;cursor:default}.notifications-empty{padding:3rem 1rem;text-align:center;color:#9ca3af;font-size:.9rem}.notifications-list{display:flex;flex-direction:column;gap:.5rem}.notif-card{display:flex;align-items:flex-start;gap:.875rem;width:100%;padding:1rem 1.25rem;background:#fff;border:1px solid #e5e7eb;border-radius:10px;cursor:pointer;text-align:left;transition:background-color .15s,border-color .15s}.notif-card:hover{background-color:#f9fafb;border-color:#d1d5db}.notif-card.unread{background-color:#eff6ff;border-color:#bfdbfe}.notif-card.unread:hover{background-color:#dbeafe}.notif-card.processing{opacity:.6;cursor:default}.notif-card-icon{flex-shrink:0;width:36px;height:36px;border-radius:50%;background-color:#e0e7ff;color:#4f46e5;display:flex;align-items:center;justify-content:center}.notif-card-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.notif-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.notif-card-title{font-size:.875rem;font-weight:600;color:#1f2937}.notif-card-time{font-size:.75rem;color:#9ca3af;white-space:nowrap;flex-shrink:0}.notif-card-body{font-size:.825rem;color:#6b7280;line-height:1.45}.notif-card-actor{font-size:.75rem;color:#9ca3af;margin-top:1px}.notif-card-dot{flex-shrink:0;width:8px;height:8px;border-radius:50%;background-color:#3b82f6;margin-top:6px}.cp-overlay{position:fixed;inset:0;background:#00000073;z-index:2000;display:flex;justify-content:center;align-items:flex-start;padding-top:12vh}.cp-modal{background:#fff;border-radius:14px;width:90%;max-width:580px;box-shadow:0 24px 64px #00000038,0 4px 16px #00000014;display:flex;flex-direction:column;overflow:hidden;max-height:72vh}.cp-search-row{display:flex;align-items:center;gap:.75rem;padding:0 1.25rem;height:56px;border-bottom:1px solid #e5e7eb;flex-shrink:0}.cp-search-icon{color:#9ca3af;display:flex;align-items:center;flex-shrink:0}.cp-input{flex:1;border:none;outline:none;font-size:1rem;color:#1f2937;background:transparent;font-family:inherit}.cp-input::placeholder{color:#9ca3af}.cp-clear{background:none;border:none;cursor:pointer;color:#9ca3af;font-size:1.25rem;line-height:1;padding:0 4px;border-radius:4px;display:flex;align-items:center;flex-shrink:0}.cp-clear:hover{background:#f3f4f6;color:#374151}.cp-results{overflow-y:auto;flex:1;min-height:0;padding:.5rem 0}.cp-empty{padding:2rem 1.25rem;text-align:center;color:#9ca3af;font-size:.9rem}.cp-group{margin-bottom:.25rem}.cp-group-label{padding:.5rem 1.25rem .25rem;font-size:.7rem;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.06em}.cp-item{display:flex;align-items:center;gap:.75rem;padding:.6rem 1.25rem;cursor:pointer;border-radius:0;transition:background .1s}.cp-item.active{background:#f0f4ff}.cp-item-icon{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.cp-item-icon--page{background:#f3f4f6;color:#6b7280}.cp-item-icon--project{background:#ede9fe;color:#7c3aed}.cp-item-icon--task{background:#d1fae5;color:#059669}.cp-item-label{flex:1;font-size:.9rem;color:#1f2937;font-weight:450;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cp-item-desc{font-size:.78rem;color:#9ca3af;white-space:nowrap;flex-shrink:0}.cp-item-enter{color:#6b7280;display:flex;align-items:center;flex-shrink:0}.cp-footer{display:flex;gap:1.25rem;padding:.6rem 1.25rem;border-top:1px solid #e5e7eb;flex-shrink:0}.cp-hint{display:flex;align-items:center;gap:.3rem;font-size:.75rem;color:#9ca3af}.cp-hint kbd{display:inline-flex;align-items:center;justify-content:center;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:4px;padding:1px 5px;font-size:.7rem;color:#6b7280;font-family:inherit;min-width:20px}.layout{display:flex;min-height:100vh}.main-wrapper{flex:1;margin-left:260px;display:flex;flex-direction:column;transition:margin-left .3s ease}.layout.sidebar-collapsed .main-wrapper{margin-left:70px}.main-content{flex:1;padding:1.5rem;background-color:#f3f4f6;overflow-y:auto}.placeholder-content{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;color:#6b7280}.placeholder-content h2{font-size:1.5rem;color:#1f2937;margin-bottom:.5rem}.placeholder-content p{font-size:1rem}.sidebar-overlay{display:none}@media(max-width:768px){.main-wrapper{margin-left:0!important}.main-content{padding:1rem}.sidebar-overlay{display:block;position:fixed;inset:0;background:#00000080;z-index:99}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:#f3f4f6}.login-card{background:#fff;border-radius:12px;box-shadow:0 4px 24px #00000014;padding:2.5rem 2rem;width:100%;max-width:400px}.login-logo{font-size:1.75rem;font-weight:700;color:#3b82f6;text-align:center;margin-bottom:.25rem}.login-title{font-size:1.1rem;font-weight:500;color:#6b7280;text-align:center;margin:0 0 1.75rem}.login-card .form-group{margin-bottom:1.25rem}.login-card .form-group label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.375rem}.login-card .form-group input{width:100%;padding:.625rem .75rem;border:1px solid #e5e7eb;border-radius:8px;font-size:.95rem;color:#1f2937;background-color:#fff;transition:border-color .2s;box-sizing:border-box}.login-card .form-group input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.login-card .form-group input:disabled{background-color:#f3f4f6;color:#6b7280}.login-card .btn-primary{width:100%;padding:.7rem;background-color:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;margin-top:.5rem;transition:background-color .2s}.login-card .btn-primary:hover{background-color:#2563eb}.login-card .btn-primary:disabled{background-color:#93c5fd;cursor:not-allowed}.password-hint{display:block;font-size:.78rem;color:#9ca3af;margin-top:.375rem}.password-strength{display:flex;align-items:center;gap:.6rem;margin-top:.375rem}.strength-bar{display:flex;gap:3px;flex:1}.strength-segment{height:4px;flex:1;border-radius:2px;background-color:#e5e7eb;transition:background-color .2s}.strength-bar-1 .strength-segment.active{background-color:#ef4444}.strength-bar-2 .strength-segment.active{background-color:#f59e0b}.strength-bar-3 .strength-segment.active{background-color:#22c55e}.strength-label{font-size:.75rem;font-weight:500;white-space:nowrap}.strength-label.strength-fraca{color:#ef4444}.strength-label.strength-média{color:#f59e0b}.strength-label.strength-forte{color:#22c55e}.password-mismatch{display:block;font-size:.78rem;color:#ef4444;margin-top:.375rem}.login-link{display:block;width:100%;margin-top:.75rem;padding:0;background:none;border:none;font-size:.875rem;color:#3b82f6;text-align:center;cursor:pointer;text-decoration:underline}.login-link:hover{color:#2563eb}.login-info-text{font-size:.9rem;color:#6b7280;text-align:center;line-height:1.5;margin:0 0 1.25rem}.login-email-context{font-size:.875rem;color:#6b7280;text-align:center;margin:-1rem 0 1.5rem}
