.view-container{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001f,0 1px 2px #0000003d;overflow:hidden;margin-bottom:24px}.view-header{padding:24px;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:16px}.view-header-content{flex:1;min-width:0}.view-title{margin:0 0 8px;font-size:clamp(20px,4vw,24px);font-weight:400;color:#1d1b20;line-height:1.2}.view-subtitle{margin:0;font-size:14px;color:#49454f;line-height:1.4}.view-actions{display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap}.view-summary{padding:16px 24px;border-bottom:1px solid #e0e0e0;background-color:#fafafa}.view-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.view-summary-card{padding:16px;border-radius:12px;text-align:center;border:1px solid #e0e0e0;background-color:#fff;transition:transform .2s ease,box-shadow .2s ease}.view-summary-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.view-summary-card-title{margin:0 0 6px;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.5px;color:#49454f}.view-summary-card-value{font-size:clamp(24px,5vw,32px);font-weight:400;color:#1d1b20;line-height:1}.view-summary-card-currency{font-size:11px;margin-top:2px;color:#49454f}.view-summary-card.primary{background-color:#f7f2fa;border-color:#e0e0e0}.view-summary-card.success{background-color:#e8f5e9;border-color:#c8e6c9}.view-summary-card.success .view-summary-card-title,.view-summary-card.success .view-summary-card-value,.view-summary-card.success .view-summary-card-currency{color:#2e7d32}.view-summary-card.info{background-color:#e3f2fd;border-color:#90caf9}.view-summary-card.info .view-summary-card-title,.view-summary-card.info .view-summary-card-value,.view-summary-card.info .view-summary-card-currency{color:#1976d2}.view-summary-card.warning{background-color:#fff3e0;border-color:#ffcc80}.view-summary-card.warning .view-summary-card-title,.view-summary-card.warning .view-summary-card-value,.view-summary-card.warning .view-summary-card-currency{color:#ef6c00}.view-summary-card.accent{background-color:#fce4ec;border-color:#f8bbd0}.view-summary-card.accent .view-summary-card-title,.view-summary-card.accent .view-summary-card-value,.view-summary-card.accent .view-summary-card-currency{color:#c2185b}.view-filters{padding:16px 24px;border-bottom:1px solid #e0e0e0;background-color:#f8f9fa}.view-filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;align-items:end}.view-filter-group{display:flex;flex-direction:column;gap:8px}.view-filter-label{font-size:14px;font-weight:500;color:#49454f}.view-filter-select,.view-filter-input{padding:12px;border-radius:4px;border:1px solid transparent;font-size:14px;background-color:transparent;cursor:pointer;transition:border-color .2s ease}.view-filter-select:focus,.view-filter-input:focus{outline:none;border-color:#1976d2;box-shadow:0 0 0 2px #1976d233}.view-filter-select:hover,.view-filter-input:hover{background-color:#fff;border-color:#004d40}.view-filter-actions{display:flex;gap:8px;align-items:flex-end}.view-table-container{overflow-x:auto;position:relative;width:100%}.view-table{width:100%;border-collapse:collapse;border:1px solid #e0e0e0;table-layout:auto}.view-table th{padding:12px 16px;text-align:left;vertical-align:middle;font-size:13px;font-weight:500;color:#49454f;background-color:#f7f2fa;white-space:nowrap}.view-table th.actions{text-align:center;width:64px;min-width:64px;max-width:64px}.view-table th.center{text-align:center}.view-table th.amount{text-align:right;white-space:nowrap}.view-table tbody tr{border-bottom:1px solid #e0e0e0;transition:background-color .2s ease}.view-table tbody tr:hover{background-color:#f7f2fa}.view-table td{padding:12px 16px;font-size:13px;color:#1d1b20;vertical-align:middle}.view-table td.actions{text-align:center;width:64px;min-width:64px;max-width:64px;padding:12px;vertical-align:middle}.view-table td.center{text-align:center}.view-table td.amount{text-align:right;font-family:monospace;white-space:nowrap}.view-table td.primary{font-weight:500}.view-table td.secondary{color:#49454f}.view-table td.monospace{font-family:monospace}.view-table tfoot tr{background-color:var(--md-sys-color-secondary-container, #f7f2fa);font-weight:500;line-height:.5}.view-mobile-cards{display:none;padding:16px 0;position:relative}.view-mobile-card{margin:0 16px 16px;padding:16px;background-color:#fff;border-radius:12px;border:1px solid #e0e0e0;box-shadow:0 1px 3px #0000001f;transition:transform .2s ease,box-shadow .2s ease}.view-mobile-card:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.view-mobile-card--loading{display:flex;flex-direction:column;gap:10px;pointer-events:none}.view-loading-shimmer-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;pointer-events:all;cursor:progress;background:linear-gradient(100deg,#ffffff14,#ffffff57 42%,#1976d21a,#ffffff57 58%,#ffffff14);background-size:200% 100%;animation:shimmer 1.8s infinite linear}.view-mobile-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.view-mobile-card-title{margin:0 0 4px;font-size:16px;font-weight:500;color:#1d1b20}.view-mobile-card-subtitle{margin:0;font-size:14px;color:#49454f}.view-mobile-card-actions{display:flex;gap:4px;flex-shrink:0}.view-mobile-card-details{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:13px}.view-mobile-card-field{color:#49454f;font-weight:500;margin-bottom:2px}.view-mobile-card-value{color:#1d1b20}.view-mobile-card-value.primary{font-weight:500}.view-mobile-card-value.amount{font-family:monospace}.view-empty{padding:48px 24px;text-align:center;color:#49454f;font-size:14px;background-color:#fafafa;border-radius:8px;margin:24px}.view-empty-icon{font-size:48px;color:#e0e0e0;margin-bottom:16px}.view-empty-title{margin:0 0 8px;font-size:18px;font-weight:500;color:#49454f}.view-empty-message{margin:0;color:#6c757d}.view-loading{padding:48px 24px;text-align:center;color:#49454f;font-size:14px}.view-loading-spinner{display:inline-block;width:32px;height:32px;border:3px solid #e0e0e0;border-top:3px solid #1976d2;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.view-actions-group{display:flex;gap:4px;justify-content:flex-end;flex-wrap:wrap}.view-status-badge{padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500;display:inline-block;text-align:center;min-width:60px}.view-status-badge.active{background-color:#e8f5e9;color:#2e7d32}.view-status-badge.inactive{background-color:#ffebee;color:#c62828}.view-status-badge.pending{background-color:#fff3e0;color:#ef6c00}.view-status-badge.success{background-color:#e8f5e9;color:#2e7d32}.view-status-badge.warning{background-color:#fff3e0;color:#ef6c00}.view-status-badge.error{background-color:#ffebee;color:#c62828}.view-status-badge.info{background-color:#e3f2fd;color:#1976d2}.view-type-badge{padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500;display:inline-block}.view-type-badge.primary{background-color:#e3f2fd;color:#1976d2}.view-type-badge.secondary{background-color:#f3e5f5;color:#7b1fa2}.view-type-badge.success{background-color:#e8f5e9;color:#2e7d32}.view-type-badge.warning{background-color:#fff3e0;color:#ef6c00}.view-info-box{padding:16px;border-radius:8px;margin:16px 24px;display:flex;align-items:flex-start;gap:12px}.view-info-box.info{background-color:#e3f2fd;border-left:4px solid #1976d2}.view-info-box.warning{background-color:#fff3e0;border-left:4px solid #ef6c00}.view-info-box.success{background-color:#e8f5e9;border-left:4px solid #2e7d32}.view-info-box.error{background-color:#ffebee;border-left:4px solid #c62828}.view-info-box-icon{font-size:20px;flex-shrink:0;margin-top:2px}.view-info-box-content{flex:1}.view-info-box-title{margin:0 0 4px;font-size:14px;font-weight:500}.view-info-box-message{margin:0;font-size:14px;line-height:1.4}.dark-mode .view-container{background-color:#1e1e1e;box-shadow:0 1px 3px #0000004d,0 1px 2px #0006}.dark-mode .view-header{border-bottom:1px solid #404040}.dark-mode .view-title{color:#e0e0e0}.dark-mode .view-subtitle{color:#b0b0b0}.dark-mode .view-summary{background-color:#2d2d2d;border-bottom:1px solid #404040}.dark-mode .view-summary-card{background-color:#2d2d2d;border-color:#404040}.dark-mode .view-summary-card.primary{background-color:#2d2d2d}.dark-mode .view-summary-card.success{background-color:#1b5e20;border-color:#2e7d32}.dark-mode .view-summary-card.success .view-summary-card-title,.dark-mode .view-summary-card.success .view-summary-card-value,.dark-mode .view-summary-card.success .view-summary-card-currency{color:#c8e6c9}.dark-mode .view-summary-card.info{background-color:#0d47a1;border-color:#1976d2}.dark-mode .view-summary-card.info .view-summary-card-title,.dark-mode .view-summary-card.info .view-summary-card-value,.dark-mode .view-summary-card.info .view-summary-card-currency{color:#bbdefb}.dark-mode .view-summary-card.warning{background-color:#e65100;border-color:#ef6c00}.dark-mode .view-summary-card.warning .view-summary-card-title,.dark-mode .view-summary-card.warning .view-summary-card-value,.dark-mode .view-summary-card.warning .view-summary-card-currency{color:#ffe0b2}.dark-mode .view-summary-card.accent{background-color:#880e4f;border-color:#c2185b}.dark-mode .view-summary-card.accent .view-summary-card-title,.dark-mode .view-summary-card.accent .view-summary-card-value,.dark-mode .view-summary-card.accent .view-summary-card-currency{color:#f8bbd9}.dark-mode .view-summary-card-title{color:#b0b0b0}.dark-mode .view-summary-card-value{color:#e0e0e0}.dark-mode .view-summary-card-currency{color:#b0b0b0}.dark-mode .view-filters{background-color:#2d2d2d;border-bottom:1px solid #404040}.dark-mode .view-filter-label{color:#e0e0e0}.dark-mode .view-filter-select,.dark-mode .view-filter-input{background-color:#3d3d3d;color:#e0e0e0;border-color:#555}.dark-mode .view-filter-select:focus,.dark-mode .view-filter-input:focus{border-color:#64b5f6;box-shadow:0 0 0 2px #64b5f633}.dark-mode .view-table th{background-color:#2d2d2d;color:#e0e0e0;border-bottom:1px solid #404040}.dark-mode .view-table{border:1px solid #404040;background-color:#1e1e1e}.dark-mode .view-table tbody tr{border-bottom:1px solid #404040}.dark-mode .view-table tbody tr:hover{background-color:#2d2d2d}.dark-mode .view-table td{color:#e0e0e0}.dark-mode .view-table td.secondary{color:#b0b0b0}.dark-mode .view-mobile-card{background-color:#2d2d2d;border-color:#404040;box-shadow:0 1px 3px #0000004d}.dark-mode .view-mobile-card-title{color:#e0e0e0}.dark-mode .view-mobile-card-subtitle,.dark-mode .view-mobile-card-field{color:#b0b0b0}.dark-mode .view-mobile-card-value{color:#e0e0e0}.dark-mode .view-loading-shimmer-overlay{background:linear-gradient(100deg,#1e1e1e1a,#64b5f61a 42%,#ffffff1f,#64b5f61a 58%,#1e1e1e1a);background-size:200% 100%}.dark-mode .view-empty{background-color:#2d2d2d;color:#b0b0b0}.dark-mode .view-empty-icon{color:#404040}.dark-mode .view-empty-title{color:#b0b0b0}.dark-mode .view-empty-message{color:#888}.dark-mode .view-loading{color:#b0b0b0}.dark-mode .view-loading-spinner{border-color:#404040;border-top-color:#64b5f6}.dark-mode .view-status-badge.active{background-color:#1b5e20;color:#c8e6c9}.dark-mode .view-status-badge.inactive{background-color:#b71c1c;color:#ffcdd2}.dark-mode .view-status-badge.pending{background-color:#e65100;color:#ffe0b2}.dark-mode .view-status-badge.success{background-color:#1b5e20;color:#c8e6c9}.dark-mode .view-status-badge.warning{background-color:#e65100;color:#ffe0b2}.dark-mode .view-status-badge.error{background-color:#b71c1c;color:#ffcdd2}.dark-mode .view-status-badge.info,.dark-mode .view-type-badge.primary{background-color:#0d47a1;color:#bbdefb}.dark-mode .view-type-badge.secondary{background-color:#4a148c;color:#e1bee7}.dark-mode .view-type-badge.success{background-color:#1b5e20;color:#c8e6c9}.dark-mode .view-type-badge.warning{background-color:#e65100;color:#ffe0b2}.dark-mode .view-info-box.info{background-color:#0d47a1;border-left-color:#1976d2}.dark-mode .view-info-box.warning{background-color:#e65100;border-left-color:#ff9800}.dark-mode .view-info-box.success{background-color:#1b5e20;border-left-color:#4caf50}.dark-mode .view-info-box.error{background-color:#b71c1c;border-left-color:#f44336}.dark-mode .view-info-box-title{color:#e0e0e0}.dark-mode .view-info-box-message{color:#b0b0b0}@media(max-width:768px){.view-header{flex-direction:column;align-items:stretch;gap:16px}.view-actions{justify-content:stretch}.view-actions .md3-button{flex:1;justify-content:center}.view-summary-grid{grid-template-columns:repeat(2,1fr);gap:8px}.view-filters-grid{grid-template-columns:1fr;gap:12px}.view-filter-actions{flex-direction:column}.view-table-container{display:none!important}.view-mobile-cards{display:block!important}.view-mobile-card-details{grid-template-columns:1fr;gap:8px}.view-actions-group{flex-direction:column}.view-actions-group .md3-button{width:100%;justify-content:center}}@media(max-width:480px){.view-header{padding:16px}.view-summary,.view-filters{padding:12px 16px}.view-summary-grid{grid-template-columns:1fr;gap:8px}.view-mobile-card{margin:0 8px 12px;padding:12px}.view-mobile-card-header{flex-direction:column;gap:8px}.view-mobile-card-actions{align-self:stretch;justify-content:space-between}.view-empty{padding:32px 16px;margin:16px}.view-loading{padding:32px 16px}}@media(min-width:769px){.view-table-container{display:block!important}.view-mobile-cards{display:none!important}}.view-table tbody tr.overhour-row{background-color:#fff3e0}.view-table tbody tr.overhour-row:hover{background-color:#ffe0b2}.view-table tbody tr.overhour-row td:first-child{border-left:3px solid #ef6c00}.dark-mode .view-table tbody tr.overhour-row{background-color:#4a2c00}.dark-mode .view-table tbody tr.overhour-row:hover{background-color:#5c3600}.dark-mode .view-table tbody tr.overhour-row td:first-child{border-left:3px solid #ff9800}.view-table tbody tr.rate-inactive{opacity:.4;background-color:#f5f5f5}.view-table tbody tr.rate-inactive:hover{opacity:.5;background-color:#eee}.dark-mode .view-table tbody tr.rate-inactive{opacity:.4;background-color:#1a1a1a}.dark-mode .view-table tbody tr.rate-inactive:hover{opacity:.5;background-color:#252525}.rates-filters-compact{padding:12px 16px;border-bottom:1px solid #e0e0e0;background-color:#f8f9fa}.rates-filters-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.rates-filter-select{padding:8px 12px;border-radius:4px;border:1px solid #79747e;font-size:13px;background-color:#fff;cursor:pointer;transition:border-color .2s ease;flex:1;min-width:140px}.rates-filter-button{flex-shrink:0;min-width:auto;padding:8px 16px}@media(max-width:768px){.rates-filters-row{flex-direction:column}.rates-filter-select{width:100%;min-width:auto}.rates-filter-button{width:100%}}.md3-list{list-style:none;margin:0;padding:0;background-color:#fff}.md3-list-item{display:flex;align-items:center;padding:12px 16px;min-height:56px;border-bottom:1px solid #e0e0e0;transition:background-color .2s ease;position:relative}.md3-list-item:hover{background-color:#f7f2fa}.md3-list-item.inactive .md3-list-item-content,.md3-list-item.inactive .md3-list-item-trailing{opacity:.4}.md3-list-item-leading{display:flex;align-items:center;justify-content:center;width:48px;min-width:48px;flex-shrink:0;margin-right:16px}.md3-list-item-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.md3-list-item-primary{font-size:16px;font-weight:500;line-height:24px;color:#1d1b20}.md3-list-item-secondary{font-size:14px;line-height:20px;color:#49454f;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.md3-list-item-meta{display:inline-flex;align-items:center;gap:4px}.md3-list-item-trailing{display:flex;align-items:center;gap:8px;margin-left:16px;flex-shrink:0}.md3-list-item-amount{font-size:20px;font-weight:500;color:#1d1b20;font-family:monospace;text-align:right;min-width:100px}.md3-list-item-currency{font-size:14px;color:#49454f;margin-left:4px}.md3-list-divider{height:1px;background-color:#e0e0e0;margin:0}.dark-mode .md3-list{background-color:#1e1e1e}.dark-mode .md3-list-item{border-bottom-color:#404040}.dark-mode .md3-list-item:hover{background-color:#2d2d2d}.dark-mode .md3-list-item-primary{color:#e0e0e0}.dark-mode .md3-list-item-secondary{color:#b0b0b0}.dark-mode .md3-list-item-amount{color:#e0e0e0}.dark-mode .md3-list-item-currency{color:#b0b0b0}.dark-mode .md3-list-divider{background-color:#404040}@media(max-width:768px){.md3-list-item{flex-direction:column;align-items:stretch;padding:16px}.md3-list-item-leading{margin-right:0;margin-bottom:12px;width:100%;justify-content:flex-start}.md3-list-item-trailing{margin-left:0;margin-top:12px;justify-content:space-between}.md3-list-item-amount{text-align:left}}.invoice-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:8px 0 16px}.invoice-detail-grid .card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;overflow:hidden}.invoice-detail-grid .card-title{margin:0;padding:12px 16px;font-size:14px;font-weight:500;color:#49454f;background:#f7f2fa;border-bottom:1px solid #e0e0e0}.invoice-detail-grid .card-body{padding:12px 16px;font-size:13px;color:#1d1b20;line-height:1.5}.invoice-detail-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(160px,1fr));gap:12px;margin:8px 0 16px}.invoice-detail-summary-grid .summary-item{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:12px 16px;display:flex;flex-direction:column;gap:6px}.invoice-detail-summary-grid .summary-item span{font-size:11px;color:#49454f;text-transform:uppercase;letter-spacing:.3px}.invoice-detail-summary-grid .summary-item strong{font-size:14px;color:#1d1b20}.invoice-detail-summary-grid .summary-item.total strong{font-size:16px}.invoice-detail-summary-grid .summary-item .view-filter-select{width:100%;padding:8px 10px;border-radius:8px;border:1px solid transparent;color:#1d1b20;font-size:14px}.invoice-detail-summary-grid .summary-item .view-filter-select:focus{outline:none;border-color:#1976d2;box-shadow:0 0 0 2px #1976d21f}.invoice-detail-summary-grid .summary-item.project .view-filter-select{pointer-events:none;border-color:transparent;background-color:transparent;padding-left:0;padding-right:0;cursor:default;transition:all .15s ease}.invoice-detail-summary-grid .summary-item.project:hover .view-filter-select{pointer-events:auto;border-color:#e0e0e0;background-color:#fff;padding-left:10px;padding-right:10px;cursor:pointer;box-shadow:0 1px 3px #00000014}.invoice-bottom-summary{display:grid;grid-template-columns:1fr 420px;gap:16px;margin-top:16px}.invoice-bottom-summary .left-note .note-block{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:12px 16px}.note-block{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:12px 16px;color:#1d1b20}.notes-modal{display:grid;gap:12px}.notes-modal__textarea{min-height:220px;resize:vertical}.notes-modal__preview{min-height:120px}.notes-modal__preview-text{white-space:pre-wrap;line-height:1.55}.notes-modal__empty{color:#6b7280}.invoice-detail-grid .note-block{width:100%;box-sizing:border-box}.invoice-bottom-summary .right-vat-summary .vat-summary-table{width:100%;border:1px solid #e0e0e0;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden}.vat-summary-table th{background:#f7f2fa;text-align:left;padding:10px 12px;font-size:13px;color:#49454f}.vat-summary-table td{padding:10px 12px;font-size:13px;color:#1d1b20}.vat-summary-table td.amount{text-align:right;font-family:monospace}.vat-summary-total td{font-weight:600;background:#fafafa}.dark-mode .invoice-detail-grid .card{background:#1e1e1e;border-color:#404040}.dark-mode .invoice-detail-grid .card-title{background:#2d2d2d;border-bottom-color:#404040;color:#e0e0e0}.dark-mode .invoice-detail-grid .card-body{color:#e0e0e0}.dark-mode .invoice-detail-summary-grid .summary-item{background:#1e1e1e;border-color:#404040}.dark-mode .invoice-detail-summary-grid .summary-item span{color:#b0b0b0}.dark-mode .invoice-detail-summary-grid .summary-item strong{color:#e0e0e0}.dark-mode .invoice-detail-summary-grid .summary-item .view-filter-select{background-color:#1e1e1e;color:#e0e0e0;border-color:#404040}.dark-mode .invoice-detail-summary-grid .summary-item .view-filter-select:focus{border-color:#64b5f6;box-shadow:0 0 0 2px #64b5f633;outline:none}.dark-mode .invoice-detail-summary-grid .summary-item.project .view-filter-select{pointer-events:none;border-color:transparent;background-color:transparent;padding-left:0;padding-right:0;cursor:default}.dark-mode .invoice-detail-summary-grid .summary-item.project:hover .view-filter-select{pointer-events:auto;border-color:#404040;background-color:#1e1e1e;padding-left:10px;padding-right:10px;cursor:pointer;box-shadow:0 1px 3px #00000040}.dark-mode .invoice-bottom-summary .left-note .note-block,.dark-mode .note-block{background:#1e1e1e;border-color:#404040;color:#e0e0e0}.dark-mode .notes-modal__empty{color:#9ca3af}.dark-mode .invoice-bottom-summary .right-vat-summary .vat-summary-table{background:#1e1e1e;border-color:#404040}.dark-mode .vat-summary-table th{background:#2d2d2d;color:#e0e0e0}.dark-mode .vat-summary-table td{color:#e0e0e0}.dark-mode .vat-summary-total td{background:#2a2a2a}@media(max-width:992px){.invoice-detail-summary-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.invoice-detail-grid{grid-template-columns:1fr}.invoice-detail-summary-grid{grid-template-columns:repeat(2,1fr)}.invoice-bottom-summary{grid-template-columns:1fr}}@media(max-width:480px){.invoice-detail-summary-grid{grid-template-columns:1fr}}.attachments-modal-overlay{background:#00000061;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.attachments-modal{border-radius:14px;box-shadow:0 12px 32px #0000003d;overflow:hidden}.attachments-modal-header{position:sticky;top:0;background:#fff;z-index:5;border-bottom:1px solid #e0e0e0}.attachments-modal .view-table thead th{position:sticky;top:0;z-index:4;background:#f7f2fa}.attachments-modal-body{position:relative;padding-top:0}.attachments-upload .view-filters{background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;padding:12px}.attachments-dropzone{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:10px 12px;border:2px dashed #cbd5e1;border-radius:10px;background:#f8fafc;color:#475569;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease}.attachments-dropzone:hover{background:#eef6ff;border-color:#1976d2}.attachments-dropzone.drag-active{background:#e3f2fd;border-color:#1976d2;box-shadow:0 0 0 2px #1976d226 inset}.attachments-dropzone:focus{outline:none;border-color:#1976d2;box-shadow:0 0 0 2px #1976d233}.attachments-dropzone .dz-primary{font-weight:600}.attachments-dropzone .dz-secondary{text-decoration:underline}.attachments-dropzone .dz-sep{color:#94a3b8}.attachments-dropzone .dz-selected{color:#374151;font-weight:500}.chip{display:inline-flex;align-items:center;height:22px;padding:0 8px;font-size:12px;border-radius:9999px;background:#eef2f7;color:#374151;border:1px solid #e0e0e0;line-height:1}.chip-info,.chip-type.invoice{background:#e3f2fd;color:#1976d2;border-color:#90caf9}.chip-type.timesheet{background:#f3e5f5;color:#7b1fa2;border-color:#ce93d8}.chip-type.sow{background:#e0f2f1;color:#00796b;border-color:#80cbc4}.chip-type.po{background:#fff3e0;color:#ef6c00;border-color:#ffcc80}.chip-type.document{background:#f5f5f5;color:#374151;border-color:#e0e0e0}.file-link{display:inline-flex;align-items:center;gap:8px;color:#1976d2;text-decoration:none;min-width:0;max-width:100%}.file-link:hover .file-name{text-decoration:underline}.file-name{display:inline-block;max-width:46ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.versions-row{background:#1976d20a;padding:0}.versions-table th{background:#eef6ff}.versions-table th,.versions-table td{font-size:12px;padding:8px 12px}.attachments-modal-body.drag-active:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:2px dashed #1976d2;background:#1976d20f;border-radius:12px;pointer-events:none}.inline-type-editor{margin-top:6px}.view-filter-select.small{padding:6px 8px;font-size:12px;height:32px}.attachments-dropzone.inline{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:6px 10px;border:1px dashed #cbd5e1;background:#f8fafc;border-radius:8px}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.dark-mode .attachments-modal-body.drag-active:after{border-color:#64b5f6;background:#64b5f61f}.dark-mode .attachments-modal-header{background:#1e1e1e;border-bottom:1px solid #404040}.dark-mode .attachments-modal .view-table thead th{background:#2d2d2d}.dark-mode .attachments-upload .view-filters{background:#2d2d2d;border-color:#404040}.dark-mode .attachments-dropzone{background:#2d2d2d;border-color:#404040;color:#e0e0e0}.dark-mode .attachments-dropzone:hover{background:#233a53;border-color:#64b5f6}.dark-mode .attachments-dropzone.drag-active{background:#64b5f61f;border-color:#64b5f6;box-shadow:0 0 0 2px #64b5f626 inset}.dark-mode .attachments-dropzone .dz-sep{color:#b0b0b0}.dark-mode .file-link{color:#64b5f6}.dark-mode .chip{background:#2a2a2a;color:#e0e0e0;border-color:#404040}.dark-mode .chip-info,.dark-mode .chip-type.invoice{background:#0d47a1;color:#bbdefb;border-color:#1976d2}.dark-mode .chip-type.timesheet{background:#4a148c;color:#e1bee7;border-color:#7b1fa2}.dark-mode .chip-type.sow{background:#004d40;color:#b2dfdb;border-color:#00796b}.dark-mode .chip-type.po{background:#e65100;color:#ffe0b2;border-color:#ef6c00}.dark-mode .chip-type.document{background:#2a2a2a;color:#e0e0e0;border-color:#404040}.dark-mode .versions-row{background:#64b5f614}.dark-mode .versions-table th{background:#2d2d2d}.md3-modal.shared-tableview-filters-modal{--color-bg-modal-header: rgba(15, 23, 42, .96);--color-bg-modal: rgba(15, 23, 42, .96);--md-sys-color-on-surface: #e5e7eb;--md-sys-color-on-surface-variant: #94a3b8}.shared-tableview-filters__grid{display:grid;gap:12px;padding:6px 0;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.shared-tableview-filters__grid--quick{grid-template-columns:1fr}.shared-tableview-filters__field{display:flex;flex-direction:column;gap:6px;min-width:0}.shared-tableview-filters__label{font-size:12px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--md-sys-color-on-surface-variant, #94a3b8)}.shared-tableview-filters__input{height:40px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#02061759;color:var(--md-sys-color-on-surface, #e5e7eb);padding:0 12px;font-size:14px}.shared-tableview-filters__input:focus{outline:none;border-color:#60a5faf2;box-shadow:0 0 0 2px #60a5fa40}.shared-tableview-filters__input option{color:#0f172a}.shared-tableview-filters__help{font-size:12px;line-height:16px;color:#94a3b8}.shared-tableview-filters__topbar-badge{position:absolute;top:8px;right:8px;min-width:18px;height:18px;padding:0 6px;border-radius:999px;background:var(--md-sys-color-primary, #1976d2);color:var(--md-sys-color-on-primary, #ffffff);font-size:11px;font-weight:700;line-height:18px;box-shadow:0 6px 16px #00000059}@media(max-width:768px){.shared-tableview-filters__grid{grid-template-columns:1fr}}:root{--md-sys-color-primary: #1976d2;--md-sys-color-on-primary: #ffffff;--md-sys-color-chip: #f0f0f0}.dark-mode{--md-sys-color-primary: #64b5f6;--md-sys-color-on-primary: #000000;--md-sys-color-chip: #444444}.md3-tooltip-wrapper{position:relative;display:inline-block}.md3-tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-8px);background-color:var(--md-sys-color-inverse-surface, #313033);color:var(--md-sys-color-inverse-on-surface, #f4eff4);padding:8px 12px;border-radius:4px;font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:12px;font-weight:500;line-height:16px;white-space:nowrap;box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f;z-index:1000;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .15s cubic-bezier(.4,0,.2,1),visibility .15s cubic-bezier(.4,0,.2,1),transform .15s cubic-bezier(.4,0,.2,1)}.md3-tooltip--top{bottom:100%;top:auto;transform:translate(-50%) translateY(-8px)}.md3-tooltip--bottom{top:100%;bottom:auto;transform:translate(-50%) translateY(8px)}.md3-tooltip--left{right:100%;left:auto;top:50%;transform:translate(-8px) translateY(-50%)}.md3-tooltip--right{left:100%;right:auto;top:50%;transform:translate(8px) translateY(-50%)}.md3-tooltip--shown{opacity:1;visibility:visible}.md3-tooltip--shown.md3-tooltip--top{transform:translate(-50%) translateY(-4px)}.md3-tooltip--shown.md3-tooltip--bottom{transform:translate(-50%) translateY(4px)}.md3-tooltip--shown.md3-tooltip--left{transform:translate(-4px) translateY(-50%)}.md3-tooltip--shown.md3-tooltip--right{transform:translate(4px) translateY(-50%)}.dark-mode .md3-tooltip{background-color:var(--md-sys-color-surface-container-highest, #49454f);color:var(--md-sys-color-on-surface, #e6e1e5);box-shadow:0 3px 5px -1px #0006,0 6px 10px #0000004d,0 1px 18px #0003}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-bg-app)}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box}.sidebar-menu{flex:1;padding:8px;margin:0 8px;overflow-y:auto;overflow-x:hidden;background-color:#f5f5f5;border-radius:16px}body.dark-mode{background-color:var(--color-bg-app);color:#e0e0e0}.dark-mode .app-layout{background-color:var(--color-bg-app)}.dark-mode .main-content,.dark-mode .content-area{background-color:#121212}.dark-mode .sidebar{background-color:#1e1e1e;box-shadow:0 8px 10px -5px #0006,0 16px 24px 2px #0000004d,0 6px 30px 5px #0003}.dark-mode .sidebar-header{border-bottom:1px solid #333;background:linear-gradient(135deg,#4a5568,#2d3748)}.dark-mode .sidebar-menu{background-color:#1e1e1e}.dark-mode .menu-item{color:#e0e0e0}.dark-mode .menu-item:hover{background-color:#2d2d2d;color:#64b5f6}.dark-mode .menu-item.active{background-color:#1e3a8a;color:#93c5fd}.dark-mode .menu-group-header{color:#e0e0e0}.dark-mode .menu-group-header:hover{background-color:#2d2d2d;color:#64b5f6}.dark-mode .menu-group-header.active{background-color:#1e3a8a;color:#93c5fd}.dark-mode .submenu{background-color:#2d2d2d;border:1px solid #404040;box-shadow:0 8px 24px #0006}.dark-mode .submenu-item{color:#b0b0b0}.dark-mode .submenu-item:hover{background-color:#3d3d3d;color:#64b5f6}.dark-mode .submenu-item.active{background-color:#1e3a8a;color:#93c5fd}.dark-mode .sidebar-footer{background-color:#1a1a1a;border-top:1px solid #333}.dark-mode .language-select{background-color:#2d2d2d;color:#e0e0e0;border:1px solid #404040}.dark-mode .language-select:hover{border-color:#64b5f6}.dark-mode .language-select:focus{border-color:#64b5f6;box-shadow:0 0 0 2px #64b5f633}.dark-mode .language-fab-main{background-color:#2d2d2d;border:1px solid #404040}.dark-mode .language-fab-main:hover{border-color:#64b5f6;box-shadow:0 2px 6px #0000004d;transform:scale(1.05)}.dark-mode .language-fab-main:focus{outline:none;border-color:#64b5f6;box-shadow:0 0 0 2px #64b5f633}.dark-mode .language-fab-main:active{transform:scale(.95)}.dark-mode .language-fab-main.expanded{transform:rotate(180deg)}.dark-mode .language-fab-action{background-color:#2d2d2d;color:#e0e0e0;box-shadow:0 4px 12px #0000004d}.dark-mode .language-fab-action:hover{box-shadow:0 6px 16px #0006}.dark-mode .language-fab-action.active{background-color:#1e3a8a;border-color:#64b5f6;box-shadow:0 6px 16px #64b5f666}.dark-mode .dark-mode-toggle{background-color:#2d2d2d;border:1px solid #404040}.dark-mode .dark-mode-toggle:hover{border-color:#64b5f6;box-shadow:0 2px 6px #0000004d}.dark-mode .dark-mode-toggle:focus{border-color:#64b5f6;box-shadow:0 0 0 2px #64b5f633}.dark-mode .topbar{background-color:#1e1e1e!important;border-bottom:1px solid #333!important;box-shadow:0 2px 4px -1px #0006,0 4px 5px #0000004d,0 1px 10px #0003!important}.dark-mode .topbar:after{background:radial-gradient(circle,rgba(100,181,246,.4) 0%,rgba(100,181,246,.2) 50%,transparent 70%)}.dark-mode .topbar-title{color:#e0e0e0!important}.dark-mode .topbar-runtime-badge{border-color:#a3c4ff47;background:#4c76c438;color:#dce7ff}.dark-mode .floating-menu-button{background-color:#2d2d2d;box-shadow:0 4px 12px #0000004d}.dark-mode .floating-menu-button:hover{box-shadow:0 6px 16px #0006}.dark-mode .floating-menu-button .hamburger-icon span{background-color:#e0e0e0}.dark-mode .menu-toggle{color:#e0e0e0}.dark-mode .menu-toggle:hover{background-color:#2d2d2d}.dark-mode .hamburger-line{background-color:#e0e0e0}.dark-mode .topbar-period-selector select{background-color:#2d2d2d;color:#e0e0e0;border:1px solid #404040}.dark-mode .topbar-period-selector select:focus{border-color:#64b5f6;box-shadow:0 0 0 2px #64b5f633}.dark-mode .topbar-period-selector select option{background-color:#2d2d2d;color:#e0e0e0}.dark-mode .period-selector button{background-color:#2d2d2d!important;color:#e0e0e0!important;border:1px solid #404040!important}.dark-mode .period-selector button:hover{background-color:#3d3d3d!important;border-color:#64b5f6!important}.dark-mode .period-selector button:focus{border-color:#64b5f6!important;box-shadow:0 0 0 2px #64b5f633!important}.dark-mode .period-selector button[title*=current i],.dark-mode .period-selector button[title*=Current i]{background-color:#1e3a8a!important;color:#93c5fd!important;border:1px solid #3b82f6!important}.dark-mode .period-selector button[title*=current i]:hover,.dark-mode .period-selector button[title*=Current i]:hover{background-color:#1e40af!important;border-color:#60a5fa!important}.dark-mode .period-selector>div>div{background-color:#2d2d2d!important;color:#e0e0e0!important;border:1px solid #404040!important}.dark-mode .period-selector>div>div:hover{background-color:#3d3d3d!important;border-color:#64b5f6!important}.dark-mode .period-selector>div>div+div{background-color:#2d2d2d!important;border:1px solid #404040!important;box-shadow:0 4px 12px #0006!important}.dark-mode .period-selector>div>div+div>div{color:#e0e0e0!important;background-color:transparent!important}.dark-mode .period-selector>div>div+div>div:hover{background-color:#3d3d3d!important}.dark-mode .period-selector>div>div+div>div[style*=e3f2fd]{background-color:#1e3a8a!important;color:#93c5fd!important}.user-profile-container{position:relative}.user-profile-button{display:flex;align-items:center;gap:8px;padding:8px 12px;background-color:transparent;border:1px solid #e0e0e0;border-radius:8px;cursor:pointer;font-size:14px;color:#1d1b20;transition:all .2s ease}.user-profile-button:hover{background-color:#f5f5f5;border-color:#d0d0d0}.user-profile-avatar{width:24px;height:24px;border-radius:50%;object-fit:cover}.user-profile-avatar-fallback{display:inline-flex;align-items:center;justify-content:center;background-color:#1976d2;color:#fff;font-size:12px;font-weight:600;line-height:1}.user-profile-dropdown-arrow{transition:transform .2s ease}.user-profile-dropdown-arrow.open{transform:rotate(180deg)}.user-profile-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;z-index:999}.user-profile-dropdown{position:absolute;top:100%;right:0;margin-top:4px;background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:200px;z-index:1000;overflow:hidden}.user-profile-info{padding:12px 16px;border-bottom:1px solid #f0f0f0;background-color:#f8f9fa}.user-profile-name{font-weight:500;font-size:14px;color:#1d1b20;margin-bottom:2px}.user-profile-email{font-size:12px;color:#666}.user-profile-admin-badge{font-size:11px;color:#007bff;font-weight:500;margin-top:4px}.user-profile-menu{padding:8px 0}.user-profile-menu-item{width:100%;padding:8px 16px;background-color:transparent;border:none;text-align:left;font-size:14px;color:#1d1b20;cursor:pointer;display:flex;align-items:center;gap:8px;transition:background-color .2s ease}.user-profile-menu-item:hover{background-color:#f5f5f5}.user-profile-menu-item.logout{color:#dc3545}.user-profile-menu-item.logout:hover{background-color:#fef2f2}.user-profile-divider{height:1px;background-color:#f0f0f0;margin:4px 0}.dark-mode .user-profile-button{background-color:transparent;color:#e0e0e0;border:1px solid #404040}.dark-mode .user-profile-button:hover{background-color:#3d3d3d;border-color:#64b5f6}.dark-mode .user-profile-avatar-fallback{background-color:#64b5f6;color:#0f172a}.dark-mode .user-profile-dropdown{background-color:#2d2d2d;border:1px solid #404040;box-shadow:0 4px 12px #0006}.dark-mode .user-profile-info{background-color:#1a1a1a;border-bottom:1px solid #404040}.dark-mode .user-profile-name{color:#e0e0e0}.dark-mode .user-profile-email{color:#b0b0b0}.dark-mode .user-profile-admin-badge{color:#64b5f6}.dark-mode .user-profile-menu-item{color:#e0e0e0}.dark-mode .user-profile-menu-item:hover{background-color:#3d3d3d}.dark-mode .user-profile-menu-item.logout{color:#ff6b6b}.dark-mode .user-profile-menu-item.logout:hover{background-color:#2d1a1a}.dark-mode .user-profile-divider{background-color:#404040}.settlements-container{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001f,0 1px 2px #0000003d;overflow:hidden}.settlements-header{padding:16px 24px;border-bottom:1px solid #e0e0e0}.settlements-title{margin:0;font-size:clamp(20px,4vw,24px);font-weight:400;color:#1d1b20;line-height:1.2}.settlements-summary{padding:16px 24px;border-bottom:1px solid #e0e0e0}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.summary-card-settlements{padding:16px;border-radius:12px;text-align:center;border:1px solid #e0e0e0}.summary-card-settlements.total,.summary-card-settlements.hours{background-color:#f7f2fa}.summary-card-settlements.employee{background-color:#e8f5e9;border-color:#c8e6c9}.summary-card-settlements.customer{background-color:#e3f2fd;border-color:#90caf9}.summary-card-settlements.employees{background-color:#fff3e0;border-color:#ffcc80}.summary-card-settlements.projects{background-color:#fce4ec;border-color:#f8bbd0}.summary-card-title{margin:0 0 6px;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.5px;color:#49454f}.summary-card-title.employee{color:#2e7d32}.summary-card-title.customer{color:#1976d2}.summary-card-title.employees{color:#ef6c00}.summary-card-title.projects{color:#c2185b}.summary-card-value{font-size:clamp(24px,5vw,32px);font-weight:400;color:#1d1b20}.summary-card-value.employee{font-size:clamp(20px,4vw,28px);color:#2e7d32}.summary-card-value.customer{font-size:clamp(20px,4vw,28px);color:#1976d2}.summary-card-value.employees{color:#ef6c00}.summary-card-value.projects{color:#c2185b}.summary-card-currency{font-size:11px;margin-top:2px}.summary-card-currency.employee{color:#2e7d32}.summary-card-currency.customer{color:#1976d2}.settlements-table-container{overflow-x:auto}.settlements-table{width:100%;border-collapse:collapse}.settlements-table th{padding:12px 16px;text-align:left;font-size:13px;font-weight:500;color:#49454f;background-color:#f7f2fa;border-bottom:1px solid #e0e0e0}.settlements-table th.actions{text-align:right}.settlements-table tbody tr{border-bottom:1px solid #e0e0e0;transition:background-color .2s}.settlements-table tbody tr:hover{background-color:#f7f2fa}.settlements-table td{padding:12px 16px;font-size:13px;color:#1d1b20}.settlements-table td.employee-name{font-weight:500}.settlements-table td.project-name{color:#1d1b20}.settlements-table td.period{color:#49454f}.settlements-table td.hours{font-weight:500}.settlements-table td.rate{color:#49454f}.settlements-table td.actions{text-align:right}.settlements-actions{display:flex;gap:4px;justify-content:flex-end;flex-wrap:wrap}.settlements-mobile-card{margin:0 16px 16px;padding:16px;background-color:#fff;border-radius:12px;border:1px solid #e0e0e0;box-shadow:0 1px 3px #0000001f}.settlements-mobile-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.settlements-mobile-employee{margin:0 0 4px;font-size:16px;font-weight:500;color:#1d1b20}.settlements-mobile-project{margin:0;font-size:14px;color:#49454f}.settlements-mobile-actions{display:flex;gap:4px}.settlements-mobile-details{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:13px}.settlements-mobile-field{color:#49454f;font-weight:500}.settlements-mobile-value{color:#1d1b20}.settlements-mobile-value.hours{font-weight:500}.settlements-empty{padding:48px 24px;text-align:center;color:#49454f;font-size:14px}.dark-mode .settlements-container{background-color:#1e1e1e;box-shadow:0 1px 3px #0000004d,0 1px 2px #0006}.dark-mode .settlements-header{border-bottom:1px solid #404040}.dark-mode .settlements-title{color:#e0e0e0}.dark-mode .settlements-summary{border-bottom:1px solid #404040}.dark-mode .summary-card-settlements{border-color:#404040}.dark-mode .summary-card-settlements.total,.dark-mode .summary-card-settlements.hours{background-color:#2d2d2d}.dark-mode .summary-card-settlements.employee{background-color:#1b5e20;border-color:#2e7d32}.dark-mode .summary-card-settlements.customer{background-color:#0d47a1;border-color:#1976d2}.dark-mode .summary-card-settlements.employees{background-color:#e65100;border-color:#ef6c00}.dark-mode .summary-card-settlements.projects{background-color:#880e4f;border-color:#c2185b}.dark-mode .summary-card-title{color:#b0b0b0}.dark-mode .summary-card-title.employee{color:#c8e6c9}.dark-mode .summary-card-title.customer{color:#bbdefb}.dark-mode .summary-card-title.employees{color:#ffe0b2}.dark-mode .summary-card-title.projects{color:#f8bbd9}.dark-mode .summary-card-value{color:#e0e0e0}.dark-mode .summary-card-value.employee{color:#c8e6c9}.dark-mode .summary-card-value.customer{color:#bbdefb}.dark-mode .summary-card-value.employees{color:#ffe0b2}.dark-mode .summary-card-value.projects{color:#f8bbd9}.dark-mode .summary-card-currency.employee{color:#c8e6c9}.dark-mode .summary-card-currency.customer{color:#bbdefb}.dark-mode .settlements-table th{background-color:#2d2d2d;color:#e0e0e0;border-bottom:1px solid #404040}.dark-mode .settlements-table tbody tr{border-bottom:1px solid #404040}.dark-mode .settlements-table tbody tr:hover{background-color:#2d2d2d}.dark-mode .settlements-table td,.dark-mode .settlements-table td.project-name{color:#e0e0e0}.dark-mode .settlements-table td.period,.dark-mode .settlements-table td.rate{color:#b0b0b0}.dark-mode .settlements-mobile-card{background-color:#2d2d2d;border-color:#404040;box-shadow:0 1px 3px #0000004d}.dark-mode .settlements-mobile-employee{color:#e0e0e0}.dark-mode .settlements-mobile-project,.dark-mode .settlements-mobile-field{color:#b0b0b0}.dark-mode .settlements-mobile-value{color:#e0e0e0}.dark-mode .settlements-empty{color:#b0b0b0}.period-display{display:flex;gap:.5rem;align-items:center;padding:.5rem;background-color:#f8f9fa;border-radius:4px}.period-text{font-weight:500}.period-note{color:#666;margin-left:.5rem}.generate-note{margin-top:1rem;padding:.75rem;background-color:#f8f9fa;border-radius:4px;font-size:.9rem}.generate-note-list{margin:.5rem 0;padding-left:1.5rem}.dark-mode .period-display{background-color:#2d2d2d}.dark-mode .period-note{color:#b0b0b0}.dark-mode .generate-note{background-color:#2d2d2d;color:#e0e0e0}.projects-container{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001f,0 1px 2px #0000003d;overflow:hidden}.projects-header{padding:24px;border-bottom:1px solid #e0e0e0}.projects-title{margin:0;font-size:24px;font-weight:400;color:#1d1b20}.projects-table-container{overflow-x:auto}.projects-table{width:100%;border-collapse:collapse}.projects-table th{padding:16px 24px;text-align:left;font-size:14px;font-weight:500;color:#49454f;background-color:#f7f2fa;border-bottom:1px solid #e0e0e0}.projects-table th.actions{text-align:right}.projects-table tbody tr{border-bottom:1px solid #e0e0e0;transition:background-color .2s}.projects-table tbody tr:hover{background-color:#f7f2fa}.projects-table td{padding:16px 24px;font-size:14px;color:#1d1b20}.projects-table td.po-number{font-family:monospace}.projects-table td.po-name{font-weight:500}.projects-table td.sow-name,.projects-table td.currency,.projects-table td.responsible-client,.projects-table td.invoice-contacts{color:#49454f}.projects-table td.po-amount{font-weight:500}.projects-table td.actions{text-align:right}.projects-empty{padding:48px 24px;text-align:center;color:#49454f;font-size:14px}.dark-mode .projects-container{background-color:#1e1e1e;box-shadow:0 1px 3px #0000004d,0 1px 2px #0006}.dark-mode .projects-header{border-bottom:1px solid #404040}.dark-mode .projects-title{color:#e0e0e0}.dark-mode .projects-table th{background-color:#2d2d2d;color:#e0e0e0;border-bottom:1px solid #404040}.dark-mode .projects-table tbody tr{border-bottom:1px solid #404040}.dark-mode .projects-table tbody tr:hover{background-color:#2d2d2d}.dark-mode .projects-table td{color:#e0e0e0}.dark-mode .projects-table td.sow-name,.dark-mode .projects-table td.currency,.dark-mode .projects-table td.responsible-client,.dark-mode .projects-table td.invoice-contacts{color:#b0b0b0}.dark-mode .md3-icon-button{color:#e0e0e0;background-color:transparent;border:1px solid #555;transition:all .2s ease}.dark-mode .md3-icon-button:hover,.dark-mode .md3-icon-button[data-active=true]{background-color:#404040;border-color:#64b5f6;color:#64b5f6}.dark-mode .md3-icon{color:inherit}.dark-mode .dropdown-menu{background-color:#2d2d2d;border:1px solid #404040;box-shadow:0 4px 12px #0006}.dark-mode .dropdown-item{color:#e0e0e0}.dark-mode .dropdown-item:hover{background-color:#3d3d3d}.dark-mode .dropdown-item.delete{color:#ff6b6b}.dark-mode .dropdown-item.delete:hover{background-color:#2d1a1a}.dark-mode .projects-dropdown-divider{background-color:#404040}.dark-mode .projects-empty{color:#b0b0b0}.actions-dropdown{position:relative;display:inline-block}.actions-dropdown .md3-icon-button{width:40px;height:40px;border-radius:20px;background-color:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;color:var(--md-sys-color-on-surface-variant, #49454f)}.actions-dropdown .md3-icon-button:hover{background-color:var(--md-sys-color-on-surface, #1d1b20);background-color:color-mix(in srgb,var(--md-sys-color-on-surface, #1d1b20) 8%,transparent)}.actions-dropdown .md3-icon-button[data-active=true]{background-color:var(--md-sys-color-on-surface, #1d1b20);background-color:color-mix(in srgb,var(--md-sys-color-on-surface, #1d1b20) 12%,transparent)}.actions-dropdown .dropdown-menu{position:fixed;background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;border:1px solid #e0e0e0;width:auto;min-width:auto;max-width:200px;white-space:nowrap;z-index:99999;overflow:hidden;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}.actions-dropdown .dropdown-menu.show,.actions-dropdown .dropdown-menu.dropdown-top.show{opacity:1;visibility:visible}.actions-dropdown .dropdown-item{width:100%;padding:6px 12px;border:none;background:none;text-align:left;cursor:pointer;font-size:14px;color:#1d1b20;transition:background-color .2s;display:flex;align-items:center;gap:8px}.actions-dropdown .dropdown-item:hover{background-color:#f5f5f5}.actions-dropdown .dropdown-item:disabled{opacity:.5;cursor:not-allowed}.actions-dropdown .dropdown-item.delete{color:#ba1a1a}.actions-dropdown .dropdown-item.delete:hover{background-color:#fef7f7}.actions-dropdown .dropdown-item-icon{font-size:16px;width:20px;text-align:center;flex-shrink:0;display:flex;align-items:center;justify-content:center}.actions-dropdown .dropdown-divider{height:1px;background-color:#e0e0e0;margin:4px 0}.dark-mode .actions-dropdown .md3-icon-button{color:#e0e0e0;background-color:transparent;border:1px solid #555}.dark-mode .actions-dropdown .md3-icon-button:hover,.dark-mode .actions-dropdown .md3-icon-button[data-active=true]{background-color:#404040;border-color:#64b5f6;color:#64b5f6}.dark-mode .actions-dropdown .dropdown-menu{background-color:#2d2d2d;border:1px solid #404040;box-shadow:0 4px 12px #0006}.dark-mode .actions-dropdown .dropdown-item{color:#e0e0e0}.dark-mode .actions-dropdown .dropdown-item:hover{background-color:#3d3d3d}.dark-mode .actions-dropdown .dropdown-item.delete{color:#ff6b6b}.dark-mode .actions-dropdown .dropdown-item.delete:hover{background-color:#2d1a1a}.dark-mode .actions-dropdown .dropdown-divider{background-color:#404040}.contacts-container{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001f,0 1px 2px #0000003d;overflow:hidden}.contacts-header{padding:24px;border-bottom:1px solid #e0e0e0}.contacts-title{margin:0;font-size:24px;font-weight:400;color:#1d1b20}.contacts-table-container{overflow-x:auto}.contacts-table{width:100%;border-collapse:collapse}.contacts-table th{padding:16px 24px;text-align:left;font-size:14px;font-weight:500;color:#49454f;background-color:#f7f2fa;border-bottom:1px solid #e0e0e0}.contacts-table th.actions{text-align:right}.contacts-table tbody tr{border-bottom:1px solid #e0e0e0;transition:background-color .2s}.contacts-table tbody tr:hover{background-color:#f7f2fa}.contacts-table td{padding:16px 24px;font-size:14px;color:#1d1b20}.contacts-table td.first-name,.contacts-table td.last-name{color:#1d1b20}.contacts-table td.email{color:#49454f}.contacts-table td.actions{text-align:right}.contacts-actions{display:flex;gap:8px;justify-content:flex-end}.contacts-empty{padding:48px 24px;text-align:center;color:#49454f;font-size:14px}.contacts-no-projects{padding:24px;text-align:center;color:#666;font-style:italic;background-color:#f8f8f8;border-radius:8px;border:1px solid #e0e0e0}.contacts-projects-table{border:1px solid #e0e0e0;border-radius:8px;overflow:hidden}.contacts-po-number{background-color:#f0f0f0;padding:2px 6px;border-radius:4px;font-size:.9em}.contacts-po-name{font-weight:500}.contacts-sow-name{color:#666}.contacts-po-amount{font-weight:500;color:#2e7d32}.contacts-po-amount-empty{color:#999}.dark-mode .contacts-container{background-color:#1e1e1e;box-shadow:0 1px 3px #0000004d,0 1px 2px #0006}.dark-mode .contacts-header{border-bottom:1px solid #404040}.dark-mode .contacts-title{color:#e0e0e0}.dark-mode .contacts-table th{background-color:#2d2d2d;color:#e0e0e0;border-bottom:1px solid #404040}.dark-mode .contacts-table tbody tr{border-bottom:1px solid #404040}.dark-mode .contacts-table tbody tr:hover{background-color:#2d2d2d}.dark-mode .contacts-table td,.dark-mode .contacts-table td.first-name,.dark-mode .contacts-table td.last-name{color:#e0e0e0}.dark-mode .contacts-table td.email,.dark-mode .contacts-empty{color:#b0b0b0}.dark-mode .contacts-no-projects{background-color:#2d2d2d;color:#b0b0b0;border-color:#404040}.dark-mode .contacts-projects-table{border-color:#404040}.dark-mode .contacts-po-number{background-color:#3d3d3d;color:#e0e0e0}.dark-mode .contacts-po-name{color:#e0e0e0}.dark-mode .contacts-sow-name{color:#b0b0b0}.dark-mode .contacts-po-amount{color:#c8e6c9}.dark-mode .contacts-po-amount-empty{color:#888}.contractors-container{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001f,0 1px 2px #0000003d;overflow:hidden}.contractors-header{padding:24px;border-bottom:1px solid #e0e0e0}.contractors-title{margin:0 0 8px;font-size:24px;font-weight:400;color:#1d1b20}.contractors-subtitle{margin:0;font-size:14px;color:#49454f}.contractors-table-container{overflow-x:auto}.contractors-table{width:100%;border-collapse:collapse}.contractors-table th{padding:16px 24px;text-align:left;font-size:14px;font-weight:500;color:#49454f;background-color:#f7f2fa;border-bottom:1px solid #e0e0e0}.contractors-table th.actions{text-align:right}.contractors-table tbody tr{border-bottom:1px solid #e0e0e0;transition:background-color .2s}.contractors-table tbody tr:hover{background-color:#f7f2fa}.contractors-table td{padding:16px 24px;font-size:14px;color:#1d1b20}.contractors-table td.contractor-name{font-weight:500}.contractors-table td.company-name{color:#1d1b20}.contractors-table td.nip{color:#49454f;font-family:monospace}.contractors-table td.type,.contractors-table td.city,.contractors-table td.email,.contractors-table td.phone{color:#49454f}.contractors-table td.actions{text-align:right}.contractors-actions{display:flex;gap:8px;justify-content:flex-end}.contractors-type-badge{padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500}.contractors-type-badge.customer{background-color:#e8f5e9;color:#2e7d32}.contractors-type-badge.supplier{background-color:#e3f2fd;color:#1976d2}.contractors-type-badge.both{background-color:#fff3e0;color:#ef6c00}.contractors-status-badge{padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500}.contractors-status-badge.active{background-color:#e8f5e9;color:#2e7d32}.contractors-status-badge.inactive{background-color:#ffebee;color:#c62828}.contractors-empty{padding:48px 24px;text-align:center;color:#49454f;font-size:14px}.dark-mode .contractors-container{background-color:#1e1e1e;box-shadow:0 1px 3px #0000004d,0 1px 2px #0006}.dark-mode .contractors-header{border-bottom:1px solid #404040}.dark-mode .contractors-title{color:#e0e0e0}.dark-mode .contractors-subtitle{color:#b0b0b0}.dark-mode .contractors-table th{background-color:#2d2d2d;color:#e0e0e0;border-bottom:1px solid #404040}.dark-mode .contractors-table tbody tr{border-bottom:1px solid #404040}.dark-mode .contractors-table tbody tr:hover{background-color:#2d2d2d}.dark-mode .contractors-table td,.dark-mode .contractors-table td.company-name{color:#e0e0e0}.dark-mode .contractors-table td.nip,.dark-mode .contractors-table td.type,.dark-mode .contractors-table td.city,.dark-mode .contractors-table td.email,.dark-mode .contractors-table td.phone{color:#b0b0b0}.dark-mode .contractors-type-badge.customer{background-color:#1b5e20;color:#c8e6c9}.dark-mode .contractors-type-badge.supplier{background-color:#0d47a1;color:#bbdefb}.dark-mode .contractors-type-badge.both{background-color:#e65100;color:#ffe0b2}.dark-mode .contractors-status-badge.active{background-color:#1b5e20;color:#c8e6c9}.dark-mode .contractors-status-badge.inactive{background-color:#b71c1c;color:#ffcdd2}.dark-mode .contractors-empty{color:#b0b0b0}.contractors-actions-button{width:40px;height:40px;border-radius:20px;background-color:transparent;transition:background-color .2s}.contractors-actions-button[data-active=true]{background-color:#f5f5f5}.contractors-actions-button .md3-icon{font-size:20px}.contractors-dropdown-divider{height:1px;background-color:#e0e0e0;margin:4px 0}.dark-mode .contractors-actions-button[data-active=true]{background-color:#3d3d3d}.dark-mode .contractors-dropdown-divider{background-color:#404040}.invoices-container{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001f,0 1px 2px #0000003d;overflow:hidden}.invoices-header{padding:16px 24px;border-bottom:1px solid #e0e0e0}.invoices-title{margin:0;font-size:clamp(20px,4vw,24px);font-weight:400;color:#1d1b20;line-height:1.2}.invoices-filters-section{padding:16px 24px;border-bottom:1px solid #e0e0e0}.invoices-table-container{overflow-x:auto;width:100%}.invoices-table{min-width:800px;width:100%;border-collapse:collapse}.invoices-table th{padding:12px 16px;text-align:left;font-size:13px;font-weight:500;color:#49454f;background-color:#f7f2fa;border-bottom:1px solid #e0e0e0}.invoices-table th.amount{text-align:right}.invoices-table th.center{text-align:center}.invoices-table th.actions{text-align:right}.invoices-table tbody tr{border-bottom:1px solid #e0e0e0;transition:background-color .2s}.invoices-table tbody tr:hover{background-color:#f7f2fa}.invoices-table td{padding:12px 16px;font-size:13px;color:#1d1b20}.invoices-table td.invoice-number{font-weight:500}.invoices-table td.invoice-date{color:#1d1b20}.invoices-table td.contractor-name,.invoices-table td.employee-name,.invoices-table td.project-name{color:#49454f}.invoices-table td.net-amount,.invoices-table td.vat-amount,.invoices-table td.gross-amount{text-align:right;font-family:monospace}.invoices-table td.gross-amount{font-weight:500}.invoices-table td.currency{text-align:center;color:#49454f}.invoices-table td.status{text-align:center}.invoices-table td.actions{text-align:right}.actions-button{width:40px;height:40px;border-radius:20px;background-color:transparent;transition:background-color .2s}.actions-button[data-active=true]{background-color:#f5f5f5}.actions-button .md3-icon{font-size:20px}.invoices-dropdown-menu{position:absolute;right:0;top:100%;background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;border:1px solid #e0e0e0;min-width:120px;z-index:9999;overflow:hidden}.invoices-empty{padding:48px 24px;text-align:center;color:#49454f;font-size:14px}.dark-mode .invoices-container{background-color:#1e1e1e;box-shadow:0 1px 3px #0000004d,0 1px 2px #0006}.dark-mode .invoices-header{border-bottom:1px solid #404040}.dark-mode .invoices-title{color:#e0e0e0}.dark-mode .invoices-filters-section{border-bottom:1px solid #404040}.dark-mode .invoices-table th{background-color:#2d2d2d;color:#e0e0e0;border-bottom:1px solid #404040}.dark-mode .invoices-table tbody tr{border-bottom:1px solid #404040}.dark-mode .invoices-table tbody tr:hover{background-color:#2d2d2d}.dark-mode .invoices-table td{color:#e0e0e0}.dark-mode .invoices-table td.contractor-name,.dark-mode .invoices-table td.employee-name,.dark-mode .invoices-table td.project-name,.dark-mode .invoices-table td.currency{color:#b0b0b0}.dark-mode .actions-button[data-active=true]{background-color:#3d3d3d}.dark-mode .invoices-dropdown-menu{background-color:#2d2d2d;border:1px solid #404040;box-shadow:0 4px 12px #0006}.dark-mode .invoices-dropdown-divider{background-color:#404040}.dark-mode .invoices-empty{color:#b0b0b0}.costs-container{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001f,0 1px 2px #0000003d;overflow:hidden}.costs-header{padding:16px 24px;border-bottom:1px solid #e0e0e0}.costs-title{margin:0 0 8px;font-size:clamp(20px,4vw,24px);font-weight:400;color:#1d1b20;line-height:1.2}.costs-subtitle{margin:0;font-size:14px;color:#49454f}.costs-table-container{overflow-x:auto}.costs-table{width:100%;border-collapse:collapse}.costs-table th{padding:12px 16px;text-align:left;font-size:13px;font-weight:500;color:#49454f;background-color:#f7f2fa;border-bottom:1px solid #e0e0e0}.costs-table th.amount{text-align:right}.costs-table th.center{text-align:center}.costs-table th.actions{text-align:right}.costs-table tbody tr{border-bottom:1px solid #e0e0e0;transition:background-color .2s}.costs-table tbody tr:hover{background-color:#f7f2fa}.costs-table td{padding:12px 16px;font-size:13px;color:#1d1b20}.costs-table td.cost-date,.costs-table td.cost-type{color:#1d1b20}.costs-table td.category,.costs-table td.contractor-name,.costs-table td.project-name{color:#49454f}.costs-table td.description{color:#1d1b20;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.costs-table td.net-amount,.costs-table td.vat-amount,.costs-table td.gross-amount{text-align:right;font-family:monospace}.costs-table td.gross-amount{font-weight:500}.costs-table td.currency{text-align:center;color:#49454f}.costs-table td.actions{text-align:right}.costs-actions{display:flex;gap:4px;justify-content:flex-end;flex-wrap:wrap}.costs-mobile-cards{display:none}.costs-mobile-card{margin:0 16px 16px;padding:16px;background-color:#fff;border-radius:12px;border:1px solid #e0e0e0;box-shadow:0 1px 3px #0000001f}.costs-mobile-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.costs-mobile-title{margin:0 0 4px;font-size:16px;font-weight:500;color:#1d1b20}.costs-mobile-date{margin:0;font-size:14px;color:#49454f}.costs-mobile-actions{display:flex;gap:4px}.costs-mobile-details{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:13px}.costs-mobile-description{grid-column:1/-1}.costs-mobile-field{color:#49454f;font-weight:500}.costs-mobile-value{color:#1d1b20}.costs-mobile-value.amount{font-weight:500}.costs-empty{padding:48px 24px;text-align:center;color:#49454f;font-size:14px}.dark-mode .costs-container{background-color:#1e1e1e;box-shadow:0 1px 3px #0000004d,0 1px 2px #0006}.dark-mode .costs-header{border-bottom:1px solid #404040}.dark-mode .costs-title{color:#e0e0e0}.dark-mode .costs-subtitle{color:#b0b0b0}.dark-mode .costs-table th{background-color:#2d2d2d;color:#e0e0e0;border-bottom:1px solid #404040}.dark-mode .costs-table tbody tr{border-bottom:1px solid #404040}.dark-mode .costs-table tbody tr:hover{background-color:#2d2d2d}.dark-mode .costs-table td,.dark-mode .costs-table td.cost-date,.dark-mode .costs-table td.cost-type{color:#e0e0e0}.dark-mode .costs-table td.category,.dark-mode .costs-table td.contractor-name,.dark-mode .costs-table td.project-name{color:#b0b0b0}.dark-mode .costs-table td.description{color:#e0e0e0}.dark-mode .costs-table td.currency{color:#b0b0b0}.dark-mode .costs-mobile-card{background-color:#2d2d2d;border-color:#404040;box-shadow:0 1px 3px #0000004d}.dark-mode .costs-mobile-title{color:#e0e0e0}.dark-mode .costs-mobile-date,.dark-mode .costs-mobile-field{color:#b0b0b0}.dark-mode .costs-mobile-value{color:#e0e0e0}.dark-mode .costs-empty{color:#b0b0b0}.currency-rates-container{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001f,0 1px 2px #0000003d;overflow:hidden}.currency-rates-header{padding:24px;border-bottom:1px solid #e0e0e0}.currency-rates-title{margin:0 0 8px;font-size:24px;font-weight:400;color:#1d1b20}.currency-rates-subtitle{margin:0;font-size:14px;color:#49454f}.currency-rates-filters{padding:24px;border-bottom:1px solid #e0e0e0;background-color:#f8f9fa}.currency-rates-info{padding:16px 24px;background-color:#e3f2fd;border-bottom:1px solid #e0e0e0}.currency-rates-info-text{margin:0;font-size:14px;color:#1976d2;display:flex;align-items:center;gap:8px}.currency-rates-info-icon{font-size:16px}.currency-rates-loading{padding:48px 24px;text-align:center;color:#49454f;font-size:14px}.currency-rates-table-container{overflow-x:auto}.currency-rates-table{width:100%;border-collapse:collapse}.currency-rates-table th{padding:16px 24px;text-align:left;font-size:14px;font-weight:500;color:#49454f;background-color:#f7f2fa;border-bottom:1px solid #e0e0e0}.currency-rates-table th.actions{text-align:right}.currency-rates-table tbody tr{border-bottom:1px solid #e0e0e0;transition:background-color .2s}.currency-rates-table tbody tr:hover{background-color:#f7f2fa}.currency-rates-table tbody tr.manual{background-color:#fff3e0}.currency-rates-table tbody tr.manual:hover{background-color:#ffecb3}.currency-rates-table td{padding:16px 24px;font-size:14px;color:#1d1b20}.currency-rates-table td.rate-date{color:#1d1b20}.currency-rates-table td.rate-number{color:#49454f;font-family:monospace}.currency-rates-table td.rate-value{color:#1d1b20;font-weight:500;font-family:monospace}.currency-rates-table td.rate-source{color:#49454f}.currency-rates-table td.actions{text-align:right}.currency-rates-source-badge{padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500}.currency-rates-source-badge.manual{background-color:#fff3e0;color:#ef6c00}.currency-rates-source-badge.api{background-color:#e8f5e9;color:#2e7d32}.currency-rates-empty{padding:48px 24px;text-align:center;color:#49454f;font-size:14px}.dark-mode .currency-rates-container{background-color:#1e1e1e;box-shadow:0 1px 3px #0000004d,0 1px 2px #0006}.dark-mode .currency-rates-header{border-bottom:1px solid #404040}.dark-mode .currency-rates-title{color:#e0e0e0}.dark-mode .currency-rates-subtitle{color:#b0b0b0}.dark-mode .currency-rates-filters{background-color:#2d2d2d;border-bottom:1px solid #404040}.dark-mode .currency-rates-info{background-color:#0d47a1;border-bottom:1px solid #404040}.dark-mode .currency-rates-info-text{color:#bbdefb}.dark-mode .currency-rates-loading{color:#b0b0b0}.dark-mode .currency-rates-table th{background-color:#2d2d2d;color:#e0e0e0;border-bottom:1px solid #404040}.dark-mode .currency-rates-table tbody tr{border-bottom:1px solid #404040}.dark-mode .currency-rates-table tbody tr:hover{background-color:#2d2d2d}.dark-mode .currency-rates-table tbody tr.manual{background-color:#2d1a00}.dark-mode .currency-rates-table tbody tr.manual:hover{background-color:#3d2a00}.dark-mode .currency-rates-table td,.dark-mode .currency-rates-table td.rate-date{color:#e0e0e0}.dark-mode .currency-rates-table td.rate-number,.dark-mode .currency-rates-table td.rate-source{color:#b0b0b0}.dark-mode .currency-rates-table td.rate-value{color:#e0e0e0}.dark-mode .currency-rates-source-badge.manual{background-color:#e65100;color:#ffe0b2}.dark-mode .currency-rates-source-badge.api{background-color:#1b5e20;color:#c8e6c9}.dark-mode .currency-rates-empty{color:#b0b0b0}.settings-loading{padding:48px 24px;text-align:center;color:#49454f;font-size:14px}.settings-container{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001f,0 1px 2px #0000003d;overflow:hidden}.settings-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid #e0e0e0}.settings-title{margin:0 0 8px;font-size:24px;font-weight:400;color:#1d1b20}.settings-subtitle{margin:0;font-size:14px;color:#49454f}.settings-section{padding:24px;border-bottom:1px solid #e0e0e0}.settings-section-last{border-bottom:none}.settings-section-header{display:flex;align-items:center;gap:12px;margin-bottom:24px}.settings-section-icon{width:40px;height:40px;border-radius:20px;display:flex;align-items:center;justify-content:center;font-size:20px}.settings-section-icon.integration{background-color:#e8f5e9}.settings-section-icon.info{background-color:#e3f2fd}.settings-section-icon.docs{background-color:#f3e5f5}.settings-section-title{margin:0 0 4px;font-size:20px;font-weight:400;color:#1d1b20}.settings-section-description{margin:0;font-size:14px;color:#49454f}.settings-form{display:flex;flex-direction:column;gap:24px}.settings-company-selection{display:flex;flex-direction:column;gap:16px}.settings-connection-status{padding:16px;border-radius:12px;display:flex;align-items:center;gap:12px}.settings-connection-status.success{background-color:#e8f5e9;border:1px solid #4caf50}.settings-connection-status.error{background-color:#ffebee;border:1px solid #f44336}.settings-status-icon{font-size:20px}.settings-connection-status.success .settings-status-icon{color:#2e7d32}.settings-connection-status.error .settings-status-icon{color:#c62828}.settings-status-message{font-weight:500;font-size:14px}.settings-connection-status.error .settings-status-message{color:#c62828}.settings-status-details{font-size:12px;color:#c62828;margin-top:4px}.settings-actions{display:flex;gap:12px;justify-content:flex-end}.settings-info-content{display:flex;flex-direction:column;gap:24px}.settings-info-box{padding:20px;background-color:#f8f9fa;border-radius:12px;border:1px solid #e0e0e0}.settings-info-title{margin:0 0 16px;font-size:16px;font-weight:500;color:#1d1b20}.settings-info-list{margin:0;padding-left:20px;font-size:14px;color:#49454f;line-height:1.5}.settings-warning-box{padding:20px;background-color:#fff3e0;border-radius:12px;border:1px solid #ff9800}.settings-warning-title{margin:0 0 12px;font-size:16px;font-weight:500;color:#e65100;display:flex;align-items:center;gap:8px}.settings-warning-text{margin:0;font-size:14px;color:#e65100;line-height:1.5}.settings-docs-intro{margin:0 0 16px;font-size:14px;color:#49454f}.settings-docs-list{margin:0;padding-left:20px;font-size:14px;color:#49454f;line-height:1.5}.settings-docs-link{color:#1976d2;text-decoration:none}.dark-mode .settings-loading{color:#b0b0b0}.dark-mode .settings-container{background-color:#1e1e1e;box-shadow:0 1px 3px #0000004d,0 1px 2px #0006}.dark-mode .settings-header{border-bottom:1px solid #404040}.dark-mode .settings-title{color:#e0e0e0}.dark-mode .settings-subtitle{color:#b0b0b0}.dark-mode .settings-section{border-bottom:1px solid #404040}.dark-mode .settings-section-icon.integration{background-color:#1b5e20}.dark-mode .settings-section-icon.info{background-color:#0d47a1}.dark-mode .settings-section-icon.docs{background-color:#4a148c}.dark-mode .settings-section-title{color:#e0e0e0}.dark-mode .settings-section-description{color:#b0b0b0}.dark-mode .settings-connection-status.success{background-color:#1b5e20;border-color:#2e7d32}.dark-mode .settings-connection-status.error{background-color:#b71c1c;border-color:#d32f2f}.dark-mode .settings-connection-status.success .settings-status-icon{color:#c8e6c9}.dark-mode .settings-connection-status.error .settings-status-icon{color:#ffcdd2}.dark-mode .settings-connection-status.success .settings-status-message{color:#c8e6c9}.dark-mode .settings-connection-status.error .settings-status-message,.dark-mode .settings-status-details{color:#ffcdd2}.dark-mode .settings-info-box{background-color:#2d2d2d;border-color:#404040}.dark-mode .settings-info-title{color:#e0e0e0}.dark-mode .settings-info-list{color:#b0b0b0}.dark-mode .settings-warning-box{background-color:#e65100;border-color:#ff9800}.dark-mode .settings-warning-title,.dark-mode .settings-warning-text{color:#ffe0b2}.dark-mode .settings-docs-intro,.dark-mode .settings-docs-list{color:#b0b0b0}.dark-mode .settings-docs-link{color:#64b5f6}.dark-mode .settings-docs-link:hover{color:#90caf9}.employees-container{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001f,0 1px 2px #0000003d;overflow:hidden}.employees-header{padding:24px;border-bottom:1px solid #e0e0e0}.employees-title{margin:0;font-size:24px;font-weight:400;color:#1d1b20}.employees-table-container{overflow-x:auto}.employees-table{width:100%;border-collapse:collapse}.employees-table th{padding:16px 24px;text-align:left;font-size:14px;font-weight:500;color:#49454f;background-color:#f7f2fa;border-bottom:1px solid #e0e0e0}.employees-table th.actions{text-align:right}.employees-table tbody tr{border-bottom:1px solid #e0e0e0;transition:background-color .2s}.employees-table tbody tr:hover{background-color:#f7f2fa}.employees-table td{padding:16px 24px;font-size:14px;color:#1d1b20}.employees-table td.first-name,.employees-table td.last-name{font-weight:500}.employees-table td.email,.employees-table td.phone{color:#49454f}.employees-table td.vat-id,.employees-table td.jira-account{color:#49454f;font-family:monospace}.employees-table td.actions{text-align:right}.employees-actions{display:flex;gap:8px;justify-content:flex-end}.employees-empty{padding:48px 24px;text-align:center;color:#49454f;font-size:14px}.dark-mode .employees-container{background-color:#1e1e1e;box-shadow:0 1px 3px #0000004d,0 1px 2px #0006}.dark-mode .employees-header{border-bottom:1px solid #404040}.dark-mode .employees-title{color:#e0e0e0}.dark-mode .employees-table th{background-color:#2d2d2d;color:#e0e0e0;border-bottom:1px solid #404040}.dark-mode .employees-table tbody tr{border-bottom:1px solid #404040}.dark-mode .employees-table tbody tr:hover{background-color:#2d2d2d}.dark-mode .employees-table td{color:#e0e0e0}.dark-mode .employees-table td.email,.dark-mode .employees-table td.phone,.dark-mode .employees-table td.vat-id,.dark-mode .employees-table td.jira-account,.dark-mode .employees-empty{color:#b0b0b0}.rates-container{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001f,0 1px 2px #0000003d;overflow:hidden}.rates-header{padding:24px;border-bottom:1px solid #e0e0e0}.rates-title{margin:0 0 8px;font-size:24px;font-weight:400;color:#1d1b20}.rates-subtitle{margin:0;font-size:14px;color:#49454f}.rates-info{padding:16px 24px;background-color:#e3f2fd;border-bottom:1px solid #e0e0e0}.rates-info-text{margin:0;font-size:14px;color:#1976d2;display:flex;align-items:center;gap:8px}.rates-info-icon{font-size:16px}.rates-table-container{overflow-x:auto}.rates-table{width:100%;border-collapse:collapse}.rates-table th{padding:16px 24px;text-align:left;font-size:14px;font-weight:500;color:#49454f;background-color:#f7f2fa;border-bottom:1px solid #e0e0e0}.rates-table th.actions{text-align:right}.rates-table tbody tr{border-bottom:1px solid #e0e0e0;transition:background-color .2s}.rates-table tbody tr:hover{background-color:#f7f2fa}.rates-table td{padding:16px 24px;font-size:14px;color:#1d1b20}.rates-table td.employee-name{font-weight:500}.rates-table td.project-name{color:#1d1b20}.rates-table td.rate-type{color:#49454f}.rates-table td.rate-amount{font-weight:500;font-family:monospace}.rates-table td.rate-currency{color:#49454f;font-family:monospace}.rates-table td.valid-from{color:#49454f}.rates-table td.actions{text-align:right}.rates-actions{display:flex;gap:8px;justify-content:flex-end}.rates-type-badge{padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500}.rates-type-badge.to-employee{background-color:#e8f5e9;color:#2e7d32}.rates-type-badge.from-customer{background-color:#e3f2fd;color:#1976d2}.rates-empty{padding:48px 24px;text-align:center;color:#49454f;font-size:14px}.rates-filters-compact{padding:16px 24px;border-bottom:1px solid #e0e0e0;background-color:#f8f9fa}.rates-filters-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.rates-filter-select{flex:1;min-width:150px;padding:10px 12px;border-radius:4px;border:1px solid #79747e;font-size:14px;background-color:#fff;cursor:pointer;transition:border-color .2s ease}.rates-filter-select:focus{outline:none;border-color:#1976d2;box-shadow:0 0 0 2px #1976d233}.rates-filter-button{flex-shrink:0;white-space:nowrap}.rate-inactive{opacity:.5;background-color:#f5f5f5}.dark-mode .rates-container{background-color:#1e1e1e;box-shadow:0 1px 3px #0000004d,0 1px 2px #0006}.dark-mode .rates-header{border-bottom:1px solid #404040}.dark-mode .rates-title{color:#e0e0e0}.dark-mode .rates-subtitle{color:#b0b0b0}.dark-mode .rates-info{background-color:#0d47a1;border-bottom:1px solid #404040}.dark-mode .rates-info-text{color:#bbdefb}.dark-mode .rates-table th{background-color:#2d2d2d;color:#e0e0e0;border-bottom:1px solid #404040}.dark-mode .rates-table tbody tr{border-bottom:1px solid #404040}.dark-mode .rates-table tbody tr:hover{background-color:#2d2d2d}.dark-mode .rates-table td,.dark-mode .rates-table td.project-name{color:#e0e0e0}.dark-mode .rates-table td.rate-type,.dark-mode .rates-table td.rate-currency,.dark-mode .rates-table td.valid-from{color:#b0b0b0}.dark-mode .rates-type-badge.to-employee{background-color:#1b5e20;color:#c8e6c9}.dark-mode .rates-type-badge.from-customer{background-color:#0d47a1;color:#bbdefb}.dark-mode .rates-empty{color:#b0b0b0}.dark-mode .rates-filters-compact{background-color:#2d2d2d;border-bottom:1px solid #404040}.dark-mode .rates-filter-select{background-color:#3d3d3d;color:#e0e0e0;border-color:#555}.dark-mode .rates-filter-select:focus{border-color:#64b5f6;box-shadow:0 0 0 2px #64b5f633}.dark-mode .rate-inactive{opacity:.5;background-color:#2d2d2d}.md3-filter-chips-section{padding:20px 24px;border-bottom:1px solid #e0e0e0;background-color:#fafafa}.md3-filter-chips-container{display:flex;flex-direction:column;gap:20px}.md3-filter-chips-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;min-height:48px}.md3-filter-chip-group{display:flex;align-items:center;height:48px}.md3-filter-chip-label{font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;font-weight:500;color:var(--md-sys-color-on-surface, #1d1b20);margin-bottom:4px}.md3-filter-chip{position:relative;display:inline-flex;align-items:center;height:48px;border-radius:24px;background-color:var(--md-sys-color-surface-container-low, #f7f2fa);border:1px solid var(--md-sys-color-outline, #79747e);transition:all .2s cubic-bezier(.2,0,0,1);overflow:hidden;min-width:250px;flex:1}.md3-filter-chip-dropdown{position:relative;cursor:pointer;width:100%;height:100%}.md3-filter-chip-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;outline:none;padding:12px 40px 12px 20px;font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;font-weight:500;color:var(--md-sys-color-on-surface-variant, #49454f);cursor:pointer;width:100%;height:100%}.md3-filter-chip-dropdown-icon{position:absolute;right:8px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--md-sys-color-on-surface-variant, #49454f);transition:transform .2s ease}.md3-filter-chip-dropdown:hover{background-color:var(--md-sys-color-surface-container, #f3edf7)}.md3-filter-chip-dropdown:hover .md3-filter-chip-dropdown-icon{transform:translateY(-50%) rotate(180deg)}.md3-employee-chips{display:flex;flex-wrap:wrap;gap:2px;align-items:center}.md3-employee-chip{display:flex;align-items:center;gap:2px;padding:5px;border-radius:24px;background-color:var(--md-sys-color-surface-container-low, #f7f2fa);border:1px solid var(--md-sys-color-outline, #79747e);cursor:pointer;transition:all .2s cubic-bezier(.2,0,0,1);-webkit-user-select:none;user-select:none;max-width:64px;height:48px}.md3-employee-chip:hover{background-color:var(--md-sys-color-surface-container, #f3edf7);transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.md3-employee-chip-selected{background-color:var(--md-sys-color-secondary-container, #e8def8);border-color:var(--md-sys-color-secondary, #625b71);color:var(--md-sys-color-on-secondary-container, #1d192b)}.md3-employee-chip-selected:hover{background-color:var(--md-sys-color-secondary-container, #e8def8);opacity:.9}.md3-employee-chip-avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 1px 3px #0003}.md3-employee-chip-selected .md3-employee-chip-avatar{background:linear-gradient(135deg,#6750a4,#7c4dff)}.md3-employee-chip-initials{font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:12px;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.5px}.md3-employee-chip-plus-container{position:relative;display:inline-block}.md3-employee-chip-plus{cursor:pointer}.md3-employee-chip-plus:hover{transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.md3-employee-chip-avatar-plus{background:linear-gradient(135deg,#ff9800,#f57c00)}.md3-employee-chip-plus .md3-employee-chip-initials{font-size:12px;font-weight:700}.md3-employee-dropdown{position:absolute;top:100%;left:0;margin-top:8px;background-color:#fff;border-radius:12px;box-shadow:0 8px 24px #00000026;border:1px solid #e0e0e0;min-width:200px;max-height:300px;overflow-y:auto;z-index:1000;padding:8px 0;animation:md3DropdownSlideIn .2s cubic-bezier(.2,0,0,1)}@keyframes md3DropdownSlideIn{0%{opacity:0;transform:translateY(-10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.md3-employee-dropdown-item{display:flex;align-items:center;gap:12px;padding:12px 16px;cursor:pointer;transition:all .2s cubic-bezier(.2,0,0,1);border-radius:8px;margin:0 8px}.md3-employee-dropdown-item:hover{background-color:var(--md-sys-color-surface-container, #f3edf7)}.md3-employee-dropdown-item .md3-employee-chip-avatar{width:24px;height:24px;flex-shrink:0}.md3-employee-dropdown-item .md3-employee-chip-initials{font-size:10px}.md3-employee-dropdown-name{font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;font-weight:500;color:var(--md-sys-color-on-surface, #1d1b20);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.md3-employee-chip-label{font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;font-weight:500;color:var(--md-sys-color-on-surface-variant, #49454f);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.md3-employee-chip-selected .md3-employee-chip-label{color:var(--md-sys-color-on-secondary-container, #1d192b);font-weight:600}.md3-status-chip{display:flex;align-items:center;height:48px}.md3-checkbox-chip{display:flex;align-items:center;gap:12px;padding:12px 20px;height:48px;border-radius:24px;background-color:var(--md-sys-color-surface-container-low, #f7f2fa);border:1px solid var(--md-sys-color-outline, #79747e);cursor:pointer;transition:all .2s cubic-bezier(.2,0,0,1);-webkit-user-select:none;user-select:none;min-width:180px}.md3-checkbox-chip:hover{background-color:var(--md-sys-color-surface-container, #f3edf7)}.md3-checkbox-chip-input{position:absolute;opacity:0;width:0;height:0}.md3-checkbox-chip-background{position:relative;width:20px;height:20px;border:2px solid var(--md-sys-color-on-surface-variant, #49454f);border-radius:4px;transition:all .2s cubic-bezier(.2,0,0,1);flex-shrink:0;display:flex;align-items:center;justify-content:center}.md3-checkbox-chip-input:checked+.md3-checkbox-chip-background{background-color:var(--md-sys-color-primary, #6750a4);border-color:var(--md-sys-color-primary, #6750a4)}.md3-checkbox-chip-checkmark{opacity:0;color:var(--md-sys-color-on-primary, #ffffff);transition:opacity .2s cubic-bezier(.2,0,0,1)}.md3-checkbox-chip-input:checked+.md3-checkbox-chip-background .md3-checkbox-chip-checkmark{opacity:1}.md3-checkbox-chip-label{font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;font-weight:500;color:var(--md-sys-color-on-surface-variant, #49454f)}.md3-checkbox-chip-input:checked~.md3-checkbox-chip-label{color:var(--md-sys-color-on-surface, #1d1b20);font-weight:600}.md3-filter-chip-date{position:relative;cursor:pointer;height:48px;border-radius:24px;background-color:var(--md-sys-color-surface-container-low, #f7f2fa);border:1px solid var(--md-sys-color-outline, #79747e);transition:all .2s cubic-bezier(.2,0,0,1);overflow:hidden;min-width:200px;flex:1}.md3-filter-chip-date-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;outline:none;padding:12px 20px;font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;font-weight:500;color:var(--md-sys-color-on-surface-variant, #49454f);cursor:pointer;width:100%;height:100%}.md3-filter-chip-date:hover{background-color:var(--md-sys-color-surface-container, #f3edf7)}.md3-filter-actions{display:flex;gap:12px;align-items:center;margin-top:8px}.dark-mode .md3-filter-chips-section{background-color:#1a1a1a;border-bottom:1px solid #333}.dark-mode .md3-filter-chip-label{color:#e8e8e8;font-weight:600}.dark-mode .md3-filter-chip{background-color:#2d2d2d;border-color:#4a4a4a;box-shadow:0 1px 3px #0000004d}.dark-mode .md3-filter-chip:hover{background-color:#3a3a3a;border-color:#5a5a5a}.dark-mode .md3-filter-chip-select{color:#e8e8e8;background-color:transparent}.dark-mode .md3-filter-chip-select option{background-color:#2d2d2d;color:#e8e8e8}.dark-mode .md3-filter-chip-dropdown-icon{color:#b8b8b8}.dark-mode .md3-filter-chip-dropdown:hover{background-color:#3a3a3a}.dark-mode .md3-filter-chip-dropdown:hover .md3-filter-chip-dropdown-icon{color:#e8e8e8}.dark-mode .md3-employee-chip{background-color:#2d2d2d;border-color:#4a4a4a;box-shadow:0 1px 3px #0000004d}.dark-mode .md3-employee-chip:hover{background-color:#3a3a3a;border-color:#5a5a5a;box-shadow:0 2px 6px #0006}.dark-mode .md3-employee-chip-selected{background-color:#1565c0;border-color:#42a5f5;box-shadow:0 2px 8px #1565c066}.dark-mode .md3-employee-chip-selected:hover{background-color:#1976d2;border-color:#64b5f6}.dark-mode .md3-employee-chip-label{color:#e8e8e8}.dark-mode .md3-employee-chip-selected .md3-employee-chip-label{color:#fff;font-weight:600}.dark-mode .md3-employee-dropdown{background-color:#2d2d2d;border:1px solid #4a4a4a;box-shadow:0 8px 24px #00000080}.dark-mode .md3-employee-dropdown-item{color:#e8e8e8}.dark-mode .md3-employee-dropdown-item:hover{background-color:#3a3a3a}.dark-mode .md3-employee-dropdown-name{color:#e8e8e8}.dark-mode .md3-checkbox-chip{background-color:#2d2d2d;border-color:#4a4a4a;box-shadow:0 1px 3px #0000004d}.dark-mode .md3-checkbox-chip:hover{background-color:#3a3a3a;border-color:#5a5a5a}.dark-mode .md3-checkbox-chip-background{border-color:#b8b8b8;background-color:transparent}.dark-mode .md3-checkbox-chip-input:checked+.md3-checkbox-chip-background{background-color:#42a5f5;border-color:#42a5f5}.dark-mode .md3-checkbox-chip-label{color:#e8e8e8;font-weight:500}.dark-mode .md3-checkbox-chip-input:checked~.md3-checkbox-chip-label{color:#fff;font-weight:600}.dark-mode .md3-filter-chip-date{background-color:#2d2d2d;border-color:#4a4a4a;box-shadow:0 1px 3px #0000004d}.dark-mode .md3-filter-chip-date:hover{background-color:#3a3a3a;border-color:#5a5a5a}.dark-mode .md3-filter-chip-date-input{color:#e8e8e8;background-color:transparent}.dark-mode .md3-filter-chip-date-input::-webkit-calendar-picker-indicator{filter:invert(1);opacity:.8}.dark-mode .md3-filter-chip-date-input::-webkit-calendar-picker-indicator:hover{opacity:1}.md3-filter-clear{display:flex;align-items:center;height:48px}.md3-clear-filters-button{width:48px;height:48px;border-radius:24px;background-color:transparent;border:1px solid var(--md-sys-color-outline, #79747e);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s cubic-bezier(.2,0,0,1);color:var(--md-sys-color-on-surface-variant, #49454f)}.md3-clear-filters-button:hover{background-color:var(--md-sys-color-error-container, #ffdad6);border-color:var(--md-sys-color-error, #ba1a1a);color:var(--md-sys-color-error, #ba1a1a);transform:scale(1.05)}.md3-clear-filters-button:active{transform:scale(.95)}.dark-mode .md3-clear-filters-button{border-color:#555;color:#e0e0e0}.dark-mode .md3-clear-filters-button:hover{background-color:#b71c1c;border-color:#ff6b6b;color:#ffcdd2}@media(max-width:768px){.md3-filter-chips-section{padding:16px}.md3-filter-chips-container{gap:16px}.md3-employee-chips{gap:8px}.md3-employee-chip{padding:4px 12px 4px 4px;max-width:150px}.md3-employee-chip-avatar{width:28px;height:28px}.md3-employee-chip-initials{font-size:11px}.md3-employee-chip-label{font-size:13px}.md3-filter-chip-select{min-width:150px;font-size:13px}.md3-filter-chip-date-input{min-width:140px;font-size:13px}.md3-filter-actions{flex-direction:column;align-items:stretch}.md3-filter-actions .md3-button{width:100%;justify-content:center}}@media(max-width:480px){.md3-filter-chips-section{padding:12px}.md3-employee-chips{gap:6px}.md3-employee-chip{padding:3px 8px 3px 3px;max-width:120px}.md3-employee-chip-avatar{width:24px;height:24px}.md3-employee-chip-initials{font-size:10px}.md3-employee-chip-label{font-size:12px}.md3-filter-chip-select{min-width:120px;font-size:12px;padding:4px 32px 4px 12px}.md3-filter-chip-date-input{min-width:120px;font-size:12px;padding:4px 12px}.md3-checkbox-chip{padding:6px 12px}.md3-checkbox-chip-label{font-size:13px}}.dark-mode .timesheets-container{background-color:#1e1e1e;box-shadow:0 1px 3px #0000004d,0 1px 2px #0006}.dark-mode .timesheets-header{border-bottom:1px solid #404040}.dark-mode .timesheets-title{color:#e0e0e0}.dark-mode .timesheets-filters{background-color:#2d2d2d;border-bottom:1px solid #404040}.dark-mode .timesheets-filter-label{color:#e0e0e0}.dark-mode .timesheets-filter-select{background-color:#3d3d3d;color:#e0e0e0;border-color:#555}.dark-mode .timesheets-filter-select:focus{border-color:#64b5f6}.dark-mode .card{background-color:#1e1e1e;box-shadow:0 2px 4px #0000004d}.dark-mode .card-title{color:#e0e0e0}.dark-mode .table th{background-color:#2d2d2d;color:#e0e0e0;border-bottom:1px solid #404040}.dark-mode .table td{color:#e0e0e0;border-bottom:1px solid #404040}.dark-mode .table tbody tr:hover{background-color:#2d2d2d}.dark-mode .form-control{background-color:#2d2d2d;color:#e0e0e0;border:1px solid #404040}.dark-mode .form-control:focus{border-color:#64b5f6;box-shadow:0 0 0 2px #64b5f633}.dark-mode .form-label{color:#e0e0e0}.dark-mode .md3-modal{background:#2d2d2d}.dark-mode .md3-modal-title{color:#e0e0e0}.dark-mode .md3-modal-subtitle{color:#b0b0b0}.dark-mode .md3-section-title{color:#e0e0e0}.dark-mode .md3-section-subtitle{color:#b0b0b0}.dark-mode .md3-text-field-filled .md3-text-field-input{background-color:#3d3d3d;color:#e0e0e0;border-bottom:1px solid #666}.dark-mode .md3-text-field-filled .md3-text-field-input:focus{border-bottom:2px solid #64b5f6}.dark-mode .md3-text-field-filled .md3-text-field-label{color:#b0b0b0}.dark-mode .md3-text-field-filled .md3-text-field-input:focus+.md3-text-field-label{color:#64b5f6}.dark-mode .md3-text-field-outlined .md3-text-field-input:focus{border-color:#64b5f6}.dark-mode .md3-text-field-outlined .md3-text-field-textarea,.dark-mode .md3-text-field-outlined .md3-text-field-input{color:#e0e0e0}.dark-mode .md3-text-field-outlined .md3-text-field-textarea:focus{border-color:#64b5f6}.dark-mode .md3-text-field-outlined .md3-text-field-label{background:#2d2d2d;color:#b0b0b0}.dark-mode .md3-text-field-outlined .md3-text-field-input:focus+.md3-text-field-label{color:#64b5f6}.dark-mode select.md3-text-field-input,.dark-mode .md3-text-field select.md3-text-field-input{color:#e0e0e0;border-color:#555}.dark-mode select.md3-text-field-input option{background-color:#2d2d2d;color:#e0e0e0}.dark-mode .md3-text-field-supporting-text{color:#888}.dark-mode .md3-checkbox-background{border:2px solid #b0b0b0}.dark-mode .md3-checkbox-input:checked+.md3-checkbox-background{background-color:#64b5f6;border-color:#64b5f6}.dark-mode .md3-checkbox-label{color:#e0e0e0}.dark-mode .md3-checkbox-supporting-text{color:#888}.dark-mode .md3-button-filled{background-color:#64b5f6;color:#000}.dark-mode .md3-button-filled:hover{background-color:#42a5f5}.dark-mode .md3-button-text{color:#64b5f6}.dark-mode .md3-button-text:hover{background-color:#64b5f61a}.dark-mode .md3-text-field .md3-text-field-input::placeholder,.dark-mode .md3-text-field .md3-text-field-textarea::placeholder{color:#9ca3af;opacity:.85}.md3-text-field.md3-text-field-disabled .md3-text-field-input,.md3-text-field.md3-text-field-disabled .md3-text-field-textarea,.md3-text-field.md3-text-field-disabled select.md3-text-field-input{opacity:.7;cursor:not-allowed}.dark-mode .md3-text-field.md3-text-field-disabled .md3-text-field-input,.dark-mode .md3-text-field.md3-text-field-disabled .md3-text-field-textarea,.dark-mode .md3-text-field.md3-text-field-disabled select.md3-text-field-input{background-color:#2a2a2a;border-color:#444;color:#9aa3b2}.md3-checkbox-group-box{border:1px solid #ccc;border-radius:4px;padding:8px;max-height:160px;overflow-y:auto;background-color:#f8f8f8}.md3-checkbox-group-box::-webkit-scrollbar{width:6px}.md3-checkbox-group-box::-webkit-scrollbar-thumb{background:#0003;border-radius:3px}.dark-mode .md3-checkbox-group-box{border-color:#404040;background-color:#2d2d2d}.dark-mode .md3-checkbox-group-box::-webkit-scrollbar-thumb{background:#fff3}.dark-mode input[type=date]::-webkit-calendar-picker-indicator,.dark-mode input[type=datetime-local]::-webkit-calendar-picker-indicator{filter:invert(1);opacity:.8}.dark-mode .fab-main{background-color:var(--md-sys-color-primary, #64b5f6);color:var(--md-sys-color-on-primary, #000)}.dark-mode .fab-action-button{background-color:#2d2d2d;color:#e0e0e0}.dark-mode .fab-action-label{background-color:#000000e6;color:#e0e0e0}.dark-mode .timesheets-view,.dark-mode .contractors-view,.dark-mode .invoices-view,.dark-mode .costs-view,.dark-mode .settings-view,.dark-mode .settlements-view,.dark-mode .main-view,.dark-mode .settlements-container{background-color:#1e1e1e}.dark-mode .settlements-header{background-color:#2d2d2d;border-bottom:1px solid #404040}.dark-mode .settlements-summary{background-color:#2d2d2d}.dark-mode .settlements-table{background-color:#1e1e1e}.dark-mode .settlement-card{background-color:#2d2d2d;border:1px solid #404040}.dark-mode .settlement-card:hover{background-color:#3d3d3d}.dark-mode .settlement-amount{color:#64b5f6}.dark-mode .settlement-date{color:#b0b0b0}.dark-mode .settlement-employee{color:#e0e0e0}.dark-mode .settlement-project{color:#b0b0b0}.dark-mode .filters-section{background-color:#2d2d2d}.dark-mode .summary-card{background:linear-gradient(135deg,#4a5568,#2d3748)}.dark-mode .view-header h2{color:#e0e0e0}.dark-mode .calendar-view{background-color:#1e1e1e}.dark-mode .calendar-controls{background-color:#2d2d2d}.dark-mode .calendar-view-mode-toggle{background-color:#111827;box-shadow:none}.dark-mode .calendar-view-mode-toggle .MuiToggleButton-root{color:#cbd5e1;border-color:#374151}.dark-mode .calendar-view-mode-toggle .MuiToggleButton-root.Mui-selected{background-color:#1d4ed8;color:#e5e7eb}.dark-mode .calendar-view-mode-toggle .MuiToggleButton-root.Mui-selected:hover{background-color:#1e40af}.dark-mode .calendar-day{background-color:#1e1e1e;border:1px solid #404040}.dark-mode .calendar-day.bank-holiday{background-color:#3d2f0f}.dark-mode .calendar-day.vacation-day{background-color:#4a3a0f}.dark-mode .calendar-day.other-month{background-color:#2d2d2d;color:#888}.dark-mode .calendar-day.today{background-color:#1e3a8a;border-color:#64b5f6;box-shadow:inset 0 0 0 2px #64b5f6}.dark-mode .day-header{border-bottom:1px solid #404040}.dark-mode .timesheet-entry-detailed{background-color:#2d2d2d;border-left:4px solid #64b5f6}.dark-mode .week-timeline{border-color:#374151;background-color:#111827;background-image:repeating-linear-gradient(to bottom,rgba(148,163,184,.22) 0,rgba(148,163,184,.22) 1px,transparent 1px,transparent 4.1666666667%)}.dark-mode .week-timeline-marker{border-top-color:#94a3b859}.dark-mode .week-timeline-label{color:#cbd5e1;background-color:#111827e6}.dark-mode .week-timeline-entry{background:#64b5f63d;color:#e5e7eb;box-shadow:none}.dark-mode .week-timeline-time{color:#bfdbfe}.dark-mode .week-timeline-project{color:#e5e7eb}.dark-mode .week-timeline-user{color:#cbd5e1}.dark-mode .week-empty{color:#94a3b8}.dark-mode .calendar-bank-holiday,.dark-mode .day-holiday-chip{color:#fef3c7;background-color:#4b3b14;border-color:#8a6d1f}.dark-mode .calendar-bank-holiday.calendar-bank-holiday-editable:hover{background-color:#5c4717;border-color:#ad8528}.dark-mode .calendar-vacation-entry{color:#dbeafe;background-color:#102a4c;border-color:#3b82f6}.dark-mode .calendar-vacation-entry:hover,.dark-mode .calendar-vacation-entry.is-linked-hover{box-shadow:0 4px 10px #0206178c;filter:saturate(1.15) brightness(1.08)}.dark-mode .calendar-vacation-entry.vacation-kind-employee{color:#fef3c7;background-color:#4b3b14;border-color:#8a6d1f}.dark-mode .calendar-vacation-entry.vacation-kind-contact{color:#ede9fe;background-color:#3b1d71;border-color:#8b5cf6}.dark-mode .calendar-vacation-entry.vacation-kind-unknown{color:#dbeafe;background-color:#102a4c;border-color:#3b82f6}.dark-mode .calendar-vacation-entry.vacation-kind-employee:hover,.dark-mode .calendar-vacation-entry.vacation-kind-employee.is-linked-hover{box-shadow:0 0 0 1px #fbbf24,0 4px 10px #0206178c}.dark-mode .calendar-vacation-entry.vacation-kind-contact:hover,.dark-mode .calendar-vacation-entry.vacation-kind-contact.is-linked-hover{box-shadow:0 0 0 1px #a78bfa,0 4px 10px #0206178c}.dark-mode .calendar-vacation-entry.vacation-kind-unknown:hover,.dark-mode .calendar-vacation-entry.vacation-kind-unknown.is-linked-hover{box-shadow:0 0 0 1px #60a5fa,0 4px 10px #0206178c}.dark-mode .calendar-vacation-entry.vacation-source-manual{border-style:dashed}.dark-mode .day-holiday-banner{color:#fef3c7;background-color:#4b3b14;border-color:#8a6d1f}.dark-mode .day-holiday-banner.calendar-vacation-banner{color:#dbeafe;background-color:#102a4c;border-color:#3b82f6}.dark-mode .day-holiday-banner.calendar-vacation-banner.vacation-kind-employee{color:#fef3c7;background-color:#4b3b14;border-color:#8a6d1f}.dark-mode .day-holiday-banner.calendar-vacation-banner.vacation-kind-contact{color:#ede9fe;background-color:#3b1d71;border-color:#8b5cf6}.dark-mode .day-holiday-banner.calendar-vacation-banner.vacation-kind-unknown{color:#dbeafe;background-color:#102a4c;border-color:#3b82f6}.dark-mode .calendar-warning-message{border-color:#7c4a03;background-color:#3d2a00;color:#fde68a}.dark-mode .entry-user{color:#e0e0e0}.dark-mode .entry-project{color:#b0b0b0}.dark-mode .entry-hours{color:#64b5f6}.dark-mode .calendar-bank-holiday-manual-badge{border-color:#164e63;background-color:#0f172a;color:#bae6fd}.dark-mode .day-timesheet-entry{background-color:#1e1e1e;border:1px solid #404040}.dark-mode .timesheet-entry-detailed.calendar-bank-holiday-editable:hover,.dark-mode .day-timesheet-entry.calendar-bank-holiday-editable:hover{border-color:#3b82f6}.dark-mode .day-timesheet-entry.calendar-vacation-day-entry.vacation-kind-employee{background-color:#3f3215;border-color:#8a6d1f}.dark-mode .day-timesheet-entry.calendar-vacation-day-entry.vacation-kind-contact{background-color:#3b1d71;border-color:#8b5cf6}.dark-mode .day-timesheet-entry.calendar-vacation-day-entry.vacation-kind-unknown{background-color:#102a4c;border-color:#3b82f6}.dark-mode .entry-header{border-bottom:1px solid #404040}.dark-mode .entry-header .entry-user{color:#e0e0e0}.dark-mode .entry-header .entry-hours{color:#000;background-color:#64b5f6}.dark-mode .day-timesheet-entry.calendar-vacation-day-entry.vacation-kind-employee .entry-header .entry-hours{color:#fef3c7;background-color:#6b5118}.dark-mode .day-timesheet-entry.calendar-vacation-day-entry.vacation-kind-contact .entry-header .entry-hours{color:#ede9fe;background-color:#6d28d9}.dark-mode .day-timesheet-entry.calendar-vacation-day-entry.vacation-kind-unknown .entry-header .entry-hours{color:#dbeafe;background-color:#1d4ed8}.dark-mode .calendar-manual-holiday-field span{color:#cbd5e1}.dark-mode .calendar-manual-holiday-field input{border-color:#475569;color:#e2e8f0;background-color:#0f172a}.dark-mode .calendar-manual-holiday-field input:focus{border-color:#60a5fa;box-shadow:0 0 0 2px #60a5fa59}.dark-mode .calendar-manual-holiday-error{border-color:#7f1d1d;background-color:#3f0f0f;color:#fecaca}.dark-mode .calendar-vacation-details-label{color:#94a3b8}.dark-mode .calendar-vacation-details-value{color:#e2e8f0}.dark-mode .entry-issue{background-color:#2d2d2d;color:#b0b0b0}.dark-mode .entry-description{color:#b0b0b0}.dark-mode .no-entries{background-color:#2d2d2d;color:#b0b0b0}.dark-mode .status-badge.active{background-color:#1b5e20;color:#c8e6c9}.dark-mode .status-badge.inactive{background-color:#b71c1c;color:#ffcdd2}.dark-mode .status-badge.unpaid{background-color:#e65100;color:#ffe0b2}.dark-mode .status-badge.partial{background-color:#0277bd;color:#b3e5fc}.dark-mode .status-badge.paid{background-color:#1b5e20;color:#c8e6c9}.dark-mode .modal{background:#2d2d2d}.dark-mode .modal-header{background-color:#1e1e1e;border-bottom:1px solid #404040}.dark-mode .modal-title{color:#e0e0e0}.dark-mode .modal-footer{background-color:#1e1e1e;border-top:1px solid #404040}.dark-mode .close-btn{color:#b0b0b0}.dark-mode .close-btn:hover{color:#e0e0e0;background-color:#404040}.dark-mode .settings-section{background-color:#1e1e1e}.dark-mode .settings-section h3{color:#e0e0e0;border-bottom:2px solid #404040}.dark-mode .setting-item label{color:#e0e0e0}.dark-mode .setting-description{color:#b0b0b0}.dark-mode .api-key-input{background-color:#2d2d2d;color:#e0e0e0;border:2px solid #404040}.dark-mode .api-key-input:focus{border-color:#64b5f6;box-shadow:0 0 0 3px #64b5f633}.dark-mode .connection-status.success{background-color:#1b5e20;color:#c8e6c9;border:1px solid #2e7d32}.dark-mode .connection-status.error{background-color:#b71c1c;color:#ffcdd2;border:1px solid #d32f2f}.dark-mode .info-box{background-color:#2d2d2d;border-left:4px solid #64b5f6}.dark-mode .info-box.warning{background-color:#2d2d2d;border-left-color:#ff9800}.dark-mode .info-box h4{color:#e0e0e0}.dark-mode .info-box p{color:#b0b0b0}.dark-mode .info-box a{color:#64b5f6}.dark-mode .md3-snackbar{background-color:#404040;color:#e0e0e0}.dark-mode .md3-snackbar.md3-snackbar-success{background-color:#1b5e20;color:#c8e6c9}.dark-mode .md3-snackbar.md3-snackbar-error{background-color:#b71c1c;color:#ffcdd2}.dark-mode .md3-snackbar-action{color:#64b5f6}.dark-mode .md3-chip{background-color:#3d3d3d;border:1px solid #555;color:#e0e0e0}.dark-mode .md3-chip:hover{background-color:#4d4d4d}.dark-mode .md3-chip-remove{color:#b0b0b0}.dark-mode .md3-chip-remove:hover{background-color:#b0b0b033}.dark-mode .label-tag{background-color:#1e3a8a;color:#93c5fd;border-color:#3b82f6}.dark-mode .label-tag:nth-child(2n){background-color:#7c2d12;color:#fed7aa;border-color:#ea580c}.dark-mode .label-tag:nth-child(3n){background-color:#14532d;color:#bbf7d0;border-color:#22c55e}.dark-mode .label-tag:nth-child(4n){background-color:#92400e;color:#fde68a;border-color:#f59e0b}.spotlight-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;justify-content:center;align-items:flex-start;padding:10vh 16px 24px;background:#00000059;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:10002}.spotlight-container{width:100%;max-width:760px;border-radius:16px;background:#ffffffd9;box-shadow:0 20px 60px #00000040;border:1px solid rgba(0,0,0,.06);overflow:hidden}.spotlight-input-wrapper{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#fffffff2;border-bottom:1px solid rgba(0,0,0,.06)}.spotlight-input-icon{display:inline-flex;align-items:center;justify-content:center;color:#6b7280;font-size:20px}.spotlight-input{flex:1;border:none;outline:none;background:transparent;font-size:18px;line-height:26px;color:#111827}.spotlight-input::placeholder{color:#9aa3b2}.spotlight-close{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:18px;background:transparent;color:#6b7280;cursor:pointer;transition:background-color .15s ease,transform .05s ease}.spotlight-close:hover{background:#0000000f;color:#374151}.spotlight-close:active{transform:scale(.98)}.spotlight-filter-row{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;padding:10px 16px 8px;border-bottom:1px solid rgba(0,0,0,.06);background:#ffffffeb}.spotlight-filter-label{font-size:12px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:#6b7280}.spotlight-filter-select{height:34px;border-radius:8px;border:1px solid #d1d5db;background:#fff;color:#111827;font-size:13px;padding:0 10px;outline:none}.spotlight-filter-select:focus{border-color:#93c5fd;box-shadow:0 0 0 2px #93c5fd59}.spotlight-results{max-height:60vh;overflow:auto;padding:8px 0 12px;background:#ffffffe6}.spotlight-group{padding:10px 16px}.spotlight-group+.spotlight-group{border-top:1px solid rgba(0,0,0,.06)}.spotlight-group-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:#6b7280;margin:0 0 8px}.spotlight-items{display:flex;flex-wrap:wrap;gap:8px}.spotlight-chip{display:inline-flex;align-items:center;padding:6px 10px;border-radius:10px;font-size:13px;font-weight:500;color:#374151;background:#f3f4f6;border:1px solid #e5e7eb;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.spotlight-group-actions{display:flex;justify-content:flex-end;margin-top:8px}.spotlight-show-btn{padding:8px 12px;border-radius:10px;border:1px solid #dbeafe;background:#eff6ff;color:#1d4ed8;font-weight:600;font-size:13px;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.spotlight-show-btn:hover{background:#dbeafe;border-color:#bfdbfe}.dark-mode .spotlight-container{background:#1e1e1ee6;border:1px solid rgba(255,255,255,.08);box-shadow:0 20px 60px #0009}.dark-mode .spotlight-input-wrapper{background:#262626f2;border-bottom:1px solid rgba(255,255,255,.08)}.dark-mode .spotlight-input{color:#e5e7eb}.dark-mode .spotlight-input::placeholder{color:#9ca3af}.dark-mode .spotlight-close{color:#9ca3af}.dark-mode .spotlight-close:hover{background:#ffffff14;color:#e5e7eb}.dark-mode .spotlight-filter-row{border-bottom:1px solid rgba(255,255,255,.08);background:#1e1e1eeb}.dark-mode .spotlight-filter-label{color:#9ca3af}.dark-mode .spotlight-filter-select{background:#111827;color:#e5e7eb;border-color:#374151}.dark-mode .spotlight-filter-select:focus{border-color:#60a5fa;box-shadow:0 0 0 2px #60a5fa40}.dark-mode .spotlight-results{background:#1e1e1ee6}.dark-mode .spotlight-group+.spotlight-group{border-top:1px solid rgba(255,255,255,.08)}.dark-mode .spotlight-group-title{color:#9ca3af}.dark-mode .spotlight-chip{background:#1f2937;border-color:#374151;color:#e5e7eb}.dark-mode .spotlight-show-btn{background:#111827;border-color:#1f2937;color:#93c5fd}.dark-mode .spotlight-show-btn:hover{background:#1f2937;border-color:#374151}@media(max-width:768px){.spotlight-container{max-width:100%}.spotlight-input{font-size:16px}.spotlight-filter-row{grid-template-columns:1fr;gap:6px}.spotlight-results{max-height:65vh}}.topbar{display:flex;align-items:center;gap:16px;padding:0 24px;height:64px;background-color:#fff;border-bottom:1px solid #e0e0e0;box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f;z-index:49;position:relative}.menu-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px;border-radius:50%;transition:background-color .2s ease;width:40px;height:40px;flex-direction:column;justify-content:center;align-items:center;gap:4px}.menu-toggle:hover{background-color:#f5f5f5}.hamburger-line{width:20px;height:2px;background-color:#424242;border-radius:1px;transition:all .3s ease}.topbar-title{font-size:1.25rem;font-weight:500;color:#424242}.topbar-title-group{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:0;max-width:100%;flex-wrap:wrap}.topbar-runtime-badge{display:inline-flex;align-items:center;gap:6px;min-width:0;max-width:min(42vw,320px);padding:4px 10px;border:1px solid #d3e3fd;border-radius:999px;background:#eef4ff;color:#20446f;font-size:.75rem;font-weight:600;line-height:1;white-space:nowrap}.topbar-runtime-badge-label{opacity:.72;letter-spacing:.04em}.topbar-runtime-badge-value{overflow:hidden;text-overflow:ellipsis}.sidebar-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;z-index:50;opacity:0;animation:fadeIn .3s ease forwards}@media(max-width:768px){.main-content{margin-left:0}.sidebar{transform:translate(-100%)}.sidebar-open{transform:translate(0)}.menu-toggle{display:flex}.topbar-title{font-size:1.125rem}.topbar-title-group{gap:6px}.topbar-runtime-badge{max-width:min(56vw,240px)}}@media(max-width:480px){.content-area{padding:16px}.topbar{padding:0 16px}.sidebar{width:100%;max-width:320px}}.md3-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;background-color:#00000052;display:flex;justify-content:center;align-items:center;z-index:10000;padding:24px;animation:md3FadeIn .2s cubic-bezier(.2,0,0,1)}@keyframes md3FadeIn{0%{opacity:0}to{opacity:1}}.md3-modal{background:var(--md-sys-color-surface-container-high, #f3f3f3);border-radius:28px;width:100%;max-width:560px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f;animation:md3SlideUp .3s cubic-bezier(.2,0,0,1);overflow:hidden}.md3-modal-large{max-width:840px}@keyframes md3SlideUp{0%{transform:translateY(40px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.md3-modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:24px 24px 16px;flex-shrink:0;background-color:var(--color-bg-modal-header)}.md3-modal-header-content{flex:1;margin-right:16px}.md3-modal-title{font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:24px;font-weight:400;line-height:32px;color:var(--md-sys-color-on-surface, #1d1b20);margin:0 0 4px}.md3-modal-subtitle{font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;font-weight:400;line-height:20px;color:var(--md-sys-color-on-surface-variant, #49454f);margin:0}.md3-modal-body{flex:1;padding:0 24px;overflow-y:auto;background-color:var(--color-bg-modal)}.md3-modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:16px 24px 24px;flex-shrink:0;background-color:var(--color-bg-modal)}.md3-icon-button{position:relative;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border:none;border-radius:24px;background:transparent;cursor:pointer;transition:all .2s cubic-bezier(.2,0,0,1);flex-shrink:0}.md3-icon-button svg{will-change:transform,filter;transition:transform .22s ease,filter .22s ease}.md3-icon-button:hover svg{-webkit-animation:md3-reflect-in .26s ease-out forwards;animation:md3-reflect-in .26s ease-out forwards;transform:translateY(-1px)}@-webkit-keyframes md3-reflect-in{0%{-webkit-box-reflect:below -12px -webkit-gradient(linear,left top,left bottom,from(transparent),color-stop(55%,transparent),to(rgba(255,255,255,0)))}to{-webkit-box-reflect:below -4px -webkit-gradient(linear,left top,left bottom,from(transparent),color-stop(45%,transparent),to(#FFFFFF))}}@keyframes md3-reflect-in{0%{-webkit-box-reflect:below -12px -webkit-gradient(linear,left top,left bottom,from(transparent),color-stop(55%,transparent),to(rgba(255,255,255,0)))}to{-webkit-box-reflect:below -4px -webkit-gradient(linear,left top,left bottom,from(transparent),color-stop(45%,transparent),to(#FFFFFF))}}.md3-icon-button:hover{background-color:var(--md-sys-color-on-surface, #1d1b20);background-color:color-mix(in srgb,var(--md-sys-color-on-surface, #1d1b20) 8%,transparent)}.md3-icon-button:focus{outline:none;background-color:color-mix(in srgb,var(--md-sys-color-on-surface, #1d1b20) 12%,transparent)}.md3-icon-button:active{background-color:color-mix(in srgb,var(--md-sys-color-on-surface, #1d1b20) 12%,transparent)}.md3-icon-button-active{background-color:var(--md-sys-color-secondary-container, #e8def8)!important;color:var(--md-sys-color-on-secondary-container, #1d192b)!important}.md3-icon-button-active .md3-icon{color:var(--md-sys-color-on-secondary-container, #1d192b)!important}.md3-icon{font-size:24px;color:var(--md-sys-color-on-surface-variant, #49454f)}.md3-period-selector{display:flex;gap:4px;align-items:center}.md3-period-nav-button{width:48px;height:48px;border-radius:24px;background-color:transparent;border:1px solid var(--md-sys-color-outline, #79747e);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s cubic-bezier(.2,0,0,1);color:var(--md-sys-color-on-surface-variant, #49454f)}.md3-period-nav-button:hover{background-color:var(--md-sys-color-on-surface, #1d1b20);background-color:color-mix(in srgb,var(--md-sys-color-on-surface, #1d1b20) 8%,transparent);border-color:var(--md-sys-color-primary, #6750a4)}.md3-period-nav-button .md3-icon{font-size:20px;color:inherit}.md3-period-dropdown-container{position:relative}.md3-period-button{padding:0 16px;border-radius:24px;border:1px solid var(--md-sys-color-outline, #79747e);background-color:var(--md-sys-color-surface-container-low, #f7f2fa);cursor:pointer;font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;font-weight:500;color:var(--md-sys-color-on-surface-variant, #49454f);transition:all .2s cubic-bezier(.2,0,0,1);-webkit-user-select:none;user-select:none;min-width:100px;text-align:center;height:48px;display:flex;align-items:center;justify-content:center}.md3-period-button:hover{background-color:var(--md-sys-color-surface-container, #f3edf7);border-color:var(--md-sys-color-primary, #6750a4)}.md3-period-button-year{min-width:80px}.md3-period-button-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.md3-period-dropdown{position:absolute;top:100%;left:0;z-index:1000;background-color:var(--md-sys-color-surface-container, #f3edf7);border:1px solid var(--md-sys-color-outline, #79747e);border-radius:8px;box-shadow:0 4px 12px #00000026;padding:8px 0;min-width:140px;max-height:300px;overflow-y:auto;margin-top:4px;animation:md3DropdownSlideIn .2s cubic-bezier(.2,0,0,1)}.md3-period-dropdown-year{min-width:100px}.md3-period-dropdown-item{padding:8px 16px;cursor:pointer;font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;font-weight:400;color:var(--md-sys-color-on-surface, #1d1b20);transition:all .2s cubic-bezier(.2,0,0,1);border-radius:4px;margin:0 8px}.md3-period-dropdown-item:hover{background-color:var(--md-sys-color-on-surface, #1d1b20);background-color:color-mix(in srgb,var(--md-sys-color-on-surface, #1d1b20) 8%,transparent)}.md3-period-dropdown-item-selected{background-color:var(--md-sys-color-secondary-container, #e8def8);color:var(--md-sys-color-on-secondary-container, #1d192b);font-weight:500}.md3-period-dropdown-item-selected:hover{background-color:var(--md-sys-color-secondary-container, #e8def8);opacity:.9}.md3-period-current-button{background-color:var(--md-sys-color-primary-container, #eaddff);color:var(--md-sys-color-on-primary-container, #21005d);border:1px solid var(--md-sys-color-primary, #6750a4)}.md3-period-current-button:hover{background-color:var(--md-sys-color-primary, #6750a4);color:var(--md-sys-color-on-primary, #ffffff);border-color:var(--md-sys-color-primary, #6750a4)}.md3-period-current-button .md3-icon{font-size:18px;color:inherit}.md3-period-center{display:inline-flex;align-items:center;gap:8px;border-radius:12px;background:transparent;color:#fff}.md3-period-center-icon{width:24px;height:24px;border-radius:12px;background:#ffffff2e;display:inline-flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}.md3-period-segment{background:none;border:none;color:inherit;height:36px;padding:0 10px;border-radius:18px;display:inline-flex;align-items:center;gap:6px;cursor:pointer;transition:background-color .15s ease,transform .05s ease;-webkit-user-select:none;user-select:none}.md3-period-segment:hover{background:#ffffff1f}.md3-period-segment:active{transform:scale(.98)}.md3-period-segment-month{font-weight:600}.md3-caret{font-size:12px;opacity:.9;margin-left:4px}.md3-period-selector .md3-period-nav-button{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#ffffff40,#ffffff1a);border:none;color:#fff;box-shadow:0 4px 12px #00000026}.md3-period-selector .md3-period-nav-button:disabled{background:linear-gradient(135deg,#ffffff1a,#ffffff0d);color:#fff6;cursor:not-allowed;box-shadow:none}.md3-period-selector .md3-period-nav-button .md3-icon{color:#fff;font-weight:700;font-size:18px}.md3-period-selector .md3-period-nav-button:hover{filter:brightness(1.05);transform:translateY(-1px)}.md3-period-selector .md3-period-nav-button:active{transform:translateY(0)}.glass-period-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-width:180px;padding:.75rem 1rem;border-radius:10px;border:none;background:linear-gradient(135deg,#ffffff40,#ffffff1a);color:#fff;cursor:pointer;transition:.3s cubic-bezier(.4,0,.2,1);font-size:.95rem;font-weight:600;letter-spacing:.025em;box-shadow:0 4px 12px #00000026}.glass-period-button:hover{transform:translateY(-1px);box-shadow:0 6px 16px #0003}.glass-period-button:active{transform:translateY(0)}.glass-period-icon{width:16px;height:16px;opacity:.8}.glass-period-label{font-family:GT Walsheim,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;white-space:nowrap}.glass-period-caret{width:16px;height:16px;opacity:.7;transform:rotate(0);transition:transform .3s cubic-bezier(.4,0,.2,1)}.glass-period-caret.open{transform:rotate(180deg)}.period-scope-toggle{display:inline-flex;border:none;border-radius:10px;overflow:hidden;box-shadow:0 4px 12px #00000026}.period-scope-toggle-wrap{padding:.75rem 1rem .25rem;display:flex;justify-content:center}.period-scope-toggle-wrap .period-scope-toggle{width:100%}.period-scope-toggle-wrap .period-scope-toggle .MuiToggleButtonGroup-grouped{flex:1}.period-scope-toggle .MuiToggleButton-root{border:none;min-height:44px;padding:0 .7rem;font-size:.82rem;font-weight:600;text-transform:none;color:#1d1b20;background:linear-gradient(135deg,#ffffff40,#ffffff1a)}.period-scope-toggle .MuiToggleButton-root:not(:last-child){border-right:1px solid rgba(0,0,0,.08)}.period-scope-toggle .MuiToggleButton-root:hover{background:#ffffff73}.period-scope-toggle .MuiToggleButton-root.Mui-selected,.period-scope-toggle .MuiToggleButton-root.Mui-selected:hover{color:#fff;background:#38539a}.period-date-picker-body{padding:1rem;display:flex;flex-direction:column;gap:.75rem}.period-date-input{height:40px;border-radius:8px;border:1px solid rgba(0,0,0,.15);padding:0 .65rem;font-size:.9rem;color:#1d1b20;background:#fffffff2}.period-date-input:focus{outline:none;border-color:#38539a80;box-shadow:0 0 0 2px #38539a33}.period-month-btn.selected{color:#fff;background:#38539a}.period-month-btn.selected .period-month-label{opacity:1}.topbar .glass-period-button{color:#1d1b20}.topbar-project-selector{min-width:220px;height:44px;padding:0 2rem 0 .9rem;border-radius:10px;border:none;background:linear-gradient(135deg,#ffffff40,#ffffff1a);color:#1d1b20;font-size:.95rem;font-weight:600;letter-spacing:.025em;box-shadow:0 4px 12px #00000026;cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:linear-gradient(45deg,transparent 50%,rgba(29,27,32,.7) 50%),linear-gradient(135deg,rgba(29,27,32,.7) 50%,transparent 50%);background-position:calc(100% - 14px) 19px,calc(100% - 8px) 19px;background-size:6px 6px,6px 6px;background-repeat:no-repeat}.topbar-project-selector:hover{transform:translateY(-1px);box-shadow:0 6px 16px #0003}.topbar-project-selector:focus{outline:none;box-shadow:0 6px 16px #0003,0 0 0 2px #38539a40}.topbar-project-selector:active{transform:translateY(0)}.topbar-project-selector option,.topbar .md3-period-selector .md3-period-nav-button .md3-icon,.topbar .md3-period-selector .md3-period-nav-button{color:#1d1b20}.topbar .md3-period-selector .md3-period-nav-button:disabled{background:linear-gradient(135deg,#0000000d,#00000008);color:#0006;box-shadow:none;cursor:not-allowed}.md3-period-center .md3-period-dropdown{z-index:1000}.period-combined-dropdown{position:absolute;top:100%;left:50%;transform:translate(-50%);background-color:#fffffffa;border-radius:16px;box-shadow:0 20px 40px #00000026,0 8px 16px #0000001a;z-index:1000;margin-top:.5rem;min-width:320px;max-width:400px;overflow:hidden;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.3);animation:fadeInUp .3s cubic-bezier(.4,0,.2,1)}.period-combined-header{padding:1rem 1.25rem .75rem;border-bottom:1px solid rgba(0,0,0,.08);background:linear-gradient(135deg,#007bff0d,#007bff05)}.period-combined-title{font-size:.875rem;font-weight:600;color:#38539a;text-align:center;font-family:GT Walsheim,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;letter-spacing:.025em}.period-header-controls{display:grid;grid-template-columns:28px 1fr auto 28px;align-items:center;gap:8px}.period-year-btn{width:28px;height:28px;border:none;border-radius:8px;background:linear-gradient(135deg,#0000000f,#00000008);color:#38539a;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #00000014;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}.period-year-btn:hover{transform:translateY(-1px);box-shadow:0 4px 10px #0000001f}.period-year-btn:active{transform:translateY(0);box-shadow:none}.period-year-btn:disabled{background:linear-gradient(135deg,#00000008,#00000004);color:#00000059;cursor:not-allowed;box-shadow:none}.period-year-display{font-size:.875rem;font-weight:600;color:#38539a;letter-spacing:.04em}.dark-mode .period-year-btn{background:linear-gradient(135deg,#ffffff2e,#ffffff14);color:#e0e0e0;border:none;box-shadow:0 2px 6px #00000059}.dark-mode .period-year-btn:disabled{background:linear-gradient(135deg,#ffffff1f,#ffffff0f);color:#ffffff73;box-shadow:none;cursor:not-allowed}.dark-mode .period-year-display{color:#bbdefb}.period-header-actions{display:flex;align-items:center;justify-content:center;gap:12px;padding:.5rem 1rem;background-color:#00000005;border-bottom:1px solid rgba(0,0,0,.06)}.period-link-btn{border:none;background:transparent;color:#38539a;font-size:.85rem;font-weight:600;letter-spacing:.03em;padding:6px 10px;border-radius:8px;cursor:pointer;transition:background-color .15s ease,transform .05s ease,color .15s ease}.period-link-btn:hover{background-color:#0000000a;transform:translateY(-1px)}.period-link-btn:active{transform:translateY(0)}.dark-mode .period-header-actions{background-color:#ffffff08;border-bottom:1px solid rgba(255,255,255,.08)}.dark-mode .period-link-btn{color:#bbdefb}.dark-mode .period-link-btn:hover{background-color:#ffffff0f}.period-combined-body{max-height:300px;overflow-y:auto}.period-group-header{padding:.75rem 1.25rem .5rem;background-color:#00000005;font-size:.8rem;font-weight:600;color:#666;font-family:GT Walsheim,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;letter-spacing:.05em;text-transform:uppercase;border-bottom:1px solid rgba(0,0,0,.05)}.period-months-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.25rem;padding:.75rem 1rem 1rem}.period-years-grid{grid-template-columns:repeat(4,1fr)}.period-month-btn{position:relative;overflow:hidden;padding:.75rem .5rem;border:none;border-radius:8px;background:transparent;color:#333;cursor:pointer;font-size:.8rem;font-weight:500;text-align:center;transition:.2s cubic-bezier(.4,0,.2,1);line-height:1.2}.period-month-btn:hover{background-color:#0000000a;transform:translateY(-1px);box-shadow:0 4px 12px #00000014}.period-month-btn:active{transform:translateY(0);box-shadow:none}.period-month-btn:disabled{background:transparent;color:#333;opacity:.8;cursor:default;box-shadow:none;transform:none}.period-month-label{font-size:.75rem;opacity:.8;font-family:GT Walsheim,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.period-month-current-dot{position:absolute;top:2px;right:4px;width:6px;height:6px;border-radius:50%;background-color:var(--md-sys-color-primary)}.dark-mode .period-combined-dropdown{background-color:#1e1e1efa;border:1px solid rgba(255,255,255,.12);box-shadow:0 20px 40px #0006,0 8px 16px #0000004d}.dark-mode .period-combined-header{border-bottom:1px solid rgba(255,255,255,.08);background:linear-gradient(135deg,#64b5f614,#64b5f608)}.dark-mode .period-combined-title{color:#bbdefb}.dark-mode .period-group-header{background-color:#ffffff08;color:#b0b0b0;border-bottom:1px solid rgba(255,255,255,.06)}.dark-mode .period-month-btn{color:#e0e0e0}.dark-mode .period-month-btn:hover{background-color:#ffffff0f;box-shadow:0 4px 12px #00000040}.dark-mode .period-month-btn:disabled{color:#e0e0e0;opacity:.6}.dark-mode .period-month-label{opacity:.9}.dark-mode .period-month-current-dot{background-color:#64b5f6}.dark-mode .period-scope-toggle{box-shadow:0 4px 12px #00000059}.dark-mode .period-scope-toggle .MuiToggleButton-root{color:#e0e0e0;background:linear-gradient(135deg,#1e293bf2,#334155e6)}.dark-mode .period-scope-toggle .MuiToggleButton-root:not(:last-child){border-right:1px solid rgba(255,255,255,.12)}.dark-mode .period-scope-toggle .MuiToggleButton-root:hover{background:#94a3b859}.dark-mode .period-scope-toggle .MuiToggleButton-root.Mui-selected,.dark-mode .period-scope-toggle .MuiToggleButton-root.Mui-selected:hover{color:#fff;background:#1f6feb}.dark-mode .period-date-input{color:#e0e0e0;background:#111827f2;border-color:#fff3}.dark-mode .period-month-btn.selected{background:#1f6feb}@keyframes fadeInUp{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media(max-width:768px){.period-scope-toggle .MuiToggleButton-root{min-height:36px;padding:0 .55rem;font-size:.75rem}.glass-period-button{min-width:150px;padding:.65rem .85rem;font-size:.88rem}.md3-period-center{padding:4px 6px}.md3-period-center-icon{width:20px;height:20px;font-size:12px}.md3-period-segment{height:28px;padding:0 8px}.md3-period-selector .md3-period-nav-button{width:28px;height:28px;border-radius:14px}}@media(max-width:480px){.period-scope-toggle .MuiToggleButton-root{min-height:32px;padding:0 .45rem;font-size:.7rem}.glass-period-button{min-width:132px;padding:.55rem .7rem;font-size:.82rem}.md3-period-center{gap:6px}.md3-period-segment{height:24px;padding:0 6px}.md3-caret{display:none}}.dark-mode .md3-period-center{background:transparent;color:#fff}.dark-mode .md3-period-center-icon{background:#ffffff29}.dark-mode .md3-period-segment:hover{background:#ffffff1a}.dark-mode .md3-period-selector .md3-period-nav-button{background:linear-gradient(135deg,#ffffff2e,#ffffff14);border:none;color:#fff;box-shadow:0 4px 12px #00000059}.dark-mode .md3-period-selector .md3-period-nav-button:disabled{background:linear-gradient(135deg,#ffffff1f,#ffffff0f);color:#fff6;cursor:not-allowed;box-shadow:none}.dark-mode .md3-period-selector .md3-period-nav-button .md3-icon{color:#fff}.dark-mode .topbar-project-selector{color:#f3f4f6;background:linear-gradient(135deg,#1e293bf2,#334155e6);box-shadow:0 4px 12px #00000059;background-image:linear-gradient(45deg,transparent 50%,rgba(243,244,246,.75) 50%),linear-gradient(135deg,rgba(243,244,246,.75) 50%,transparent 50%);background-position:calc(100% - 14px) 19px,calc(100% - 8px) 19px;background-size:6px 6px,6px 6px;background-repeat:no-repeat}.dark-mode .topbar-project-selector option{color:#f3f4f6;background-color:#1f2937}.dark-mode .topbar-project-selector:focus{box-shadow:0 6px 16px #00000059,0 0 0 2px #93c5fd59}.dark-mode .md3-period-nav-button{border-color:#555;color:#e0e0e0}.dark-mode .md3-period-nav-button:hover{background-color:color-mix(in srgb,#e0e0e0 8%,transparent);border-color:#64b5f6}.dark-mode .md3-period-button{background-color:#2d2d2d;border-color:#555;color:#e0e0e0}.dark-mode .md3-period-button:hover{background-color:#3d3d3d;border-color:#64b5f6}.dark-mode .md3-period-dropdown{background-color:#2d2d2d;border-color:#555;box-shadow:0 4px 12px #0006}.dark-mode .md3-period-dropdown-item{color:#e0e0e0}.dark-mode .md3-period-dropdown-item:hover{background-color:color-mix(in srgb,#e0e0e0 8%,transparent)}.dark-mode .md3-period-dropdown-item-selected{background-color:#1565c0;color:#fff}.dark-mode .md3-period-dropdown-item-selected:hover{background-color:#1976d2}.dark-mode .md3-period-current-button{background-color:#1565c0;color:#fff;border-color:#64b5f6}.dark-mode .md3-period-current-button:hover{background-color:#1976d2;color:#fff;border-color:#90caf9}@media(max-width:768px){.md3-period-selector{gap:2px}.md3-period-nav-button{width:28px;height:28px;border-radius:14px}.md3-period-nav-button .md3-icon{font-size:14px}.md3-period-button{padding:4px 8px;font-size:12px;min-width:60px;height:28px}.md3-period-button-year{min-width:50px}.md3-period-current-button{height:28px;min-width:50px;padding:0 8px;font-size:10px}.md3-period-dropdown{min-width:120px}.md3-period-dropdown-year{min-width:80px}.md3-period-dropdown-item{padding:6px 12px;font-size:13px}}@media(max-width:480px){.md3-period-selector{gap:1px}.md3-period-nav-button{width:24px;height:24px;border-radius:12px}.md3-period-nav-button .md3-icon{font-size:12px}.md3-period-button{padding:2px 6px;font-size:11px;min-width:50px;height:24px}.md3-period-button-year{min-width:40px}.md3-period-current-button{height:24px;min-width:40px;padding:0 6px;font-size:9px}.md3-period-dropdown{min-width:100px;font-size:12px}.md3-period-dropdown-year{min-width:70px}.md3-period-dropdown-item{padding:4px 8px;font-size:12px}}.md3-form-container{display:flex;flex-direction:column;gap:32px}.md3-form-section{display:flex;flex-direction:column;gap:24px}.md3-section-title{font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:22px;font-weight:400;line-height:28px;color:var(--md-sys-color-on-surface, #1d1b20);margin:0}.md3-section-subtitle{font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;font-weight:400;line-height:20px;color:var(--md-sys-color-on-surface-variant, #49454f);margin:-16px 0 0}.md3-form-row{display:flex;gap:16px;align-items:flex-start}.md3-text-field{position:relative;display:flex;flex-direction:column;flex:1;min-width:0;border:1px solid var(--md-sys-color-outline, #ccc);border-radius:4px}.md3-text-field-full-width{flex:1 1 100%}.md3-text-field-input{font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;font-weight:400;line-height:24px;border:none;outline:none;background:transparent;color:var(--md-sys-color-on-surface, #1d1b20);width:100%;box-sizing:border-box}.md3-text-field-textarea{resize:vertical;min-height:56px;font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.md3-text-field-label{position:absolute;font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;font-weight:400;color:var(--md-sys-color-on-surface-variant, #49454f);pointer-events:none;transition:all .2s cubic-bezier(.2,0,0,1);transform-origin:left top;z-index:1}.md3-text-field-supporting-text{font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:12px;font-weight:400;line-height:16px;color:var(--md-sys-color-on-surface-variant, #49454f);margin-top:4px;padding:0 16px}.md3-text-field-filled{position:relative}.md3-text-field-filled .md3-text-field-input{height:56px;padding:24px 16px 8px;border-bottom:1px solid var(--md-sys-color-on-surface-variant, #666);transition:all .2s cubic-bezier(.2,0,0,1)}.md3-text-field-filled .md3-text-field-input:focus{outline:none}.md3-text-field-filled .md3-text-field-label{top:8px;left:16px;font-size:12px;color:var(--md-sys-color-on-surface-variant, #666);transform:none}.md3-text-field-filled .md3-text-field-input:focus+.md3-text-field-label{color:var(--md-sys-color-primary, #1976d2)}.md3-text-field-filled select.md3-text-field-input{padding:16px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 12px center;background-size:16px;cursor:pointer}.md3-text-field-filled select.md3-text-field-input+.md3-text-field-label{top:8px;transform:none;font-size:12px}.md3-text-field-outlined{position:relative;padding:5px;margin-bottom:8px;border:1px solid var(--md-sys-color-outline, #ccc);border-radius:8px;transition:background-color 1s cubic-bezier(.2,0,0,1)}.md3-text-field-outlined:hover{padding:5px;border-width:1px;border-color:var(--md-sys-color-primary, #1976d2)}.md3-text-field-outlined:focus-within{background-color:color-mix(in srgb,var(--md-sys-color-primary, #1976d2) 5%,transparent)}.md3-text-field-outlined .md3-text-field-input{height:56px;padding:16px;background:transparent;transition:all .2s cubic-bezier(.2,0,0,1);border:none;outline:none}.md3-text-field-outlined .md3-text-field-textarea{padding:16px;background:transparent;border-radius:4px;outline:none;resize:vertical;min-height:80px}.md3-text-field-outlined .md3-text-field-label{position:absolute;top:-8px;left:12px;background:#fff;padding:0 4px;font-size:12px;color:var(--md-sys-color-on-surface-variant, #666);transform:none}.md3-text-field-outlined .md3-text-field-input:focus+.md3-text-field-label{color:var(--md-sys-color-primary, #1976d2)}.md3-text-field-outline,.md3-text-field-outline-start,.md3-text-field-outline-end,.md3-text-field-outline-notch{display:none}.md3-text-field-readonly .md3-text-field-input,.md3-text-field-readonly .md3-text-field-textarea{background-color:var(--md-sys-color-surface-container, #f8f8f8);color:var(--md-sys-color-on-surface-variant, #666);cursor:default;border-color:var(--md-sys-color-outline-variant, #ddd)}.md3-text-field-readonly .md3-text-field-label{color:var(--md-sys-color-on-surface-variant, #666)}.md3-checkbox-container{display:flex;flex-direction:column;gap:4px}.md3-checkbox{display:flex;align-items:center;gap:16px;cursor:pointer;position:relative;padding:8px 0}.md3-checkbox-input{position:absolute;opacity:0;width:0;height:0}.md3-checkbox-background{position:relative;width:18px;height:18px;border:2px solid var(--md-sys-color-on-surface-variant, #49454f);border-radius:2px;transition:all .2s cubic-bezier(.2,0,0,1);flex-shrink:0}.md3-checkbox-input:checked+.md3-checkbox-background{background-color:var(--md-sys-color-primary, #6750a4);border-color:var(--md-sys-color-primary, #6750a4)}.md3-checkbox-checkmark{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:12px;height:12px;opacity:0;transition:opacity .2s cubic-bezier(.2,0,0,1)}.md3-checkbox-input:checked+.md3-checkbox-background .md3-checkbox-checkmark{opacity:1}.md3-checkbox-checkmark-path{width:100%;height:100%}.md3-checkbox-checkmark-path path{stroke:var(--md-sys-color-on-primary, #ffffff);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:16;stroke-dashoffset:16;transition:stroke-dashoffset .2s cubic-bezier(.2,0,0,1)}.md3-checkbox-input:checked+.md3-checkbox-background .md3-checkbox-checkmark-path path{stroke-dashoffset:0}.md3-checkbox-label{font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;font-weight:500;line-height:20px;color:var(--md-sys-color-on-surface, #1d1b20)}.md3-checkbox-supporting-text{font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:12px;font-weight:400;line-height:16px;color:var(--md-sys-color-on-surface-variant, #49454f);margin-left:34px}.md3-button{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:64px;height:40px;padding:0 24px;border:none;border-radius:20px;font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;font-weight:500;line-height:20px;cursor:pointer;transition:all .2s cubic-bezier(.2,0,0,1);text-decoration:none;overflow:hidden}.md3-button-label{position:relative;z-index:1}.md3-button-filled{background-color:var(--md-sys-color-primary, #6750a4);color:var(--md-sys-color-on-primary, #ffffff)}.md3-button-filled:hover{background-color:color-mix(in srgb,var(--md-sys-color-primary, #6750a4) 92%,black);box-shadow:0 1px 2px #0000004d,0 1px 3px 1px #00000026}.md3-button-filled:focus{outline:none;box-shadow:0 1px 2px #0000004d,0 1px 3px 1px #00000026}.md3-button-filled:active{background-color:color-mix(in srgb,var(--md-sys-color-primary, #6750a4) 88%,black);box-shadow:0 1px 2px #0000004d,0 1px 3px 1px #00000026}.md3-button-text{background-color:transparent;color:var(--md-sys-color-primary, #6750a4)}.md3-button-text:hover{background-color:color-mix(in srgb,var(--md-sys-color-primary, #6750a4) 8%,transparent)}.md3-button-text:focus{outline:none;background-color:color-mix(in srgb,var(--md-sys-color-primary, #6750a4) 12%,transparent)}.md3-button-text:active{background-color:color-mix(in srgb,var(--md-sys-color-primary, #6750a4) 12%,transparent)}.md3-snackbar{position:fixed;bottom:16px;left:50%;transform:translate(-50%);min-width:344px;max-width:672px;background-color:var(--md-sys-color-inverse-surface, #313033);color:var(--md-sys-color-inverse-on-surface, #f4eff4);border-radius:4px;padding:14px 16px;box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f;display:flex;align-items:center;justify-content:space-between;z-index:10001;font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;font-weight:400;line-height:20px;animation:md3SnackbarSlideUp .3s cubic-bezier(.2,0,0,1)}.md3-snackbar.md3-snackbar-success{background-color:var(--md-sys-color-primary, #6750a4);color:var(--md-sys-color-on-primary, #ffffff)}.md3-snackbar.md3-snackbar-error{background-color:var(--md-sys-color-error, #ba1a1a);color:var(--md-sys-color-on-error, #ffffff)}.md3-snackbar.md3-snackbar-warning{background-color:var(--md-sys-color-tertiary, #7d5260);color:var(--md-sys-color-on-tertiary, #ffffff)}@keyframes md3SnackbarSlideUp{0%{transform:translate(-50%) translateY(100%);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}.md3-snackbar-content{flex:1;margin-right:12px}.md3-snackbar-action{background:none;border:none;color:var(--md-sys-color-inverse-primary, #d0bcff);font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;font-weight:500;line-height:20px;padding:10px 12px;border-radius:4px;cursor:pointer;transition:background-color .2s cubic-bezier(.2,0,0,1);text-transform:uppercase;letter-spacing:.1px}.md3-snackbar-action:hover{background-color:color-mix(in srgb,var(--md-sys-color-inverse-primary, #d0bcff) 8%,transparent)}.md3-snackbar-action:focus{outline:none;background-color:color-mix(in srgb,var(--md-sys-color-inverse-primary, #d0bcff) 12%,transparent)}.md3-snackbar-action:active{background-color:color-mix(in srgb,var(--md-sys-color-inverse-primary, #d0bcff) 12%,transparent)}.md3-snackbar.md3-snackbar-success .md3-snackbar-action{color:var(--md-sys-color-primary-container, #eaddff)}.md3-snackbar.md3-snackbar-error .md3-snackbar-action{color:var(--md-sys-color-error-container, #ffdad6)}.md3-snackbar.md3-snackbar-warning .md3-snackbar-action{color:var(--md-sys-color-tertiary-container, #ffd8e4)}.md3-chip-set{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.md3-chip{display:inline-flex;align-items:center;height:32px;padding:0 16px;border-radius:16px;background-color:var(--md-sys-color-surface-container-low, #f7f2fa);border:1px solid var(--md-sys-color-outline, #79747e);font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;font-weight:500;line-height:20px;color:var(--md-sys-color-on-surface-variant, #49454f);transition:all .2s cubic-bezier(.2,0,0,1);cursor:default}.md3-chip:hover{background-color:var(--md-sys-color-surface-container, #f3edf7)}.md3-chip-input{display:inline-flex;align-items:center;height:32px;padding:0 16px;border-radius:16px;background-color:var(--md-sys-color-surface-container-low, #f7f2fa);border:1px solid var(--md-sys-color-outline, #79747e);font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;font-weight:500;line-height:20px;color:var(--md-sys-color-on-surface-variant, #49454f);transition:all .2s cubic-bezier(.2,0,0,1);cursor:pointer}.md3-chip-input:hover{background-color:var(--md-sys-color-surface-container, #f3edf7)}.md3-chip-remove{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-left:8px;margin-right:-8px;border-radius:50%;background:transparent;border:none;cursor:pointer;color:var(--md-sys-color-on-surface-variant, #49454f);font-size:16px;line-height:1;padding:0;transition:all .2s cubic-bezier(.2,0,0,1)}.md3-chip-remove:hover{background-color:var(--md-sys-color-on-surface-variant, #49454f);background-color:color-mix(in srgb,var(--md-sys-color-on-surface-variant, #49454f) 12%,transparent)}.md3-chip-remove:active{background-color:color-mix(in srgb,var(--md-sys-color-on-surface-variant, #49454f) 16%,transparent)}.shimmer{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.shimmer-table{width:100%;border-collapse:collapse}.shimmer-table th,.shimmer-table td{padding:.75rem;text-align:left;border-bottom:1px solid #e0e0e0}.shimmer-table th{background-color:#f8f9fa;font-weight:600;color:#2c3e50}.shimmer-row{height:60px}.shimmer-cell{height:20px;border-radius:4px;margin:4px 0}.shimmer-cell.small{width:60%}.shimmer-cell.medium{width:80%}.shimmer-cell.large{width:100%}.shimmer-cell.actions{width:120px;height:32px}@media(max-width:768px){.md3-modal{max-width:100%;max-height:100vh;border-radius:0;margin:0}.md3-modal-overlay{padding:0}.md3-form-row{flex-direction:column;gap:24px}.md3-modal-footer{flex-direction:column-reverse;gap:8px}.md3-button{width:100%;justify-content:center}.md3-snackbar{left:16px;right:16px;transform:none;min-width:auto;max-width:none}}.md3-compact .md3-modal-header{padding:12px 16px 8px}.md3-compact .md3-modal-title{font-size:20px;line-height:26px;margin-bottom:2px}.md3-compact .md3-modal-subtitle{font-size:12px;line-height:16px}.md3-compact .md3-modal-body{padding:0 16px}.md3-compact .md3-modal-footer{padding:12px 16px 16px;gap:6px}.md3-compact .md3-form-container{gap:16px}.md3-compact .md3-form-section{gap:12px}.md3-compact .md3-section-title{font-size:18px;line-height:24px}.md3-compact .md3-form-row{gap:12px}.md3-compact .md3-text-field-input{font-size:14px;line-height:20px}.md3-compact .md3-text-field-textarea{min-height:48px}.md3-compact .md3-text-field-filled .md3-text-field-input{height:44px;padding:18px 12px 6px;border-bottom-width:1px}.md3-compact .md3-text-field-filled .md3-text-field-input:focus{border-bottom-width:2px}.md3-compact .md3-text-field-filled .md3-text-field-label{top:6px;left:12px;font-size:11px}.md3-compact .md3-text-field-filled select.md3-text-field-input{padding:16px 28px 8px 12px;background-position:right 8px center;background-size:14px}.md3-compact .md3-text-field-outlined .md3-text-field-input{height:36px;padding:5px 8px}.md3-compact .md3-text-field-outlined .md3-text-field-textarea{min-height:60px;padding:12px}.md3-compact .md3-text-field-supporting-text{font-size:11px;line-height:14px;margin-top:2px;padding:0 12px}.md3-compact .md3-checkbox{gap:8px;padding:4px 0}.md3-compact .md3-checkbox-background{width:16px;height:16px}.md3-compact .md3-checkbox-label{font-size:13px;line-height:18px}.md3-compact .md3-button{height:36px;padding:0 16px;font-size:13px}.container{max-width:100%;margin:0;padding:0}.card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:1.5rem;margin-bottom:1rem}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #eee}.card-title{margin:0;color:#2c3e50}.btn{padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background-color .3s;text-decoration:none;display:inline-block;text-align:center}.btn-primary{background-color:#3498db;color:#fff}.btn-primary:hover{background-color:#2980b9}.btn-success{background-color:#27ae60;color:#fff}.btn-success:hover{background-color:#229954}.btn-danger{background-color:#e74c3c;color:#fff}.btn-danger:hover{background-color:#c0392b}.btn-secondary{background-color:#95a5a6;color:#fff}.btn-secondary:hover{background-color:#7f8c8d}.btn-sm{padding:.25rem .5rem;font-size:.8rem}.table{width:100%;border-collapse:collapse;margin-top:1rem}.table th,.table td{padding:.75rem;text-align:left;border-bottom:1px solid #ddd}.table th{background-color:#f8f9fa;font-weight:600;color:#2c3e50}.table tbody tr:hover{background-color:#f8f9fa}.form-group{margin-bottom:1rem}.form-label{display:block;margin-bottom:.5rem;font-weight:500;color:#2c3e50}.form-control{width:100%;padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:1rem}.form-control:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 2px #3498db33}.form-row{display:flex;gap:1rem;margin-bottom:1rem}.form-col{flex:1}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:9999;padding:20px;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:#fff;border-radius:12px;width:100%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 10px 40px #0000004d;animation:slideUp .3s ease-out;overflow:hidden}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e9ecef;background-color:#f8f9fa;flex-shrink:0}.modal-header h3,.modal-title{margin:0;color:#2c3e50;font-size:1.25rem;font-weight:600}.close-btn{background:none;border:none;font-size:1.75rem;line-height:1;cursor:pointer;color:#6c757d;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease;flex-shrink:0}.close-btn:hover{color:#000;background-color:#e9ecef;transform:rotate(90deg)}.modal-body{padding:1.5rem;overflow-y:auto;flex:1}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1.5rem;border-top:1px solid #e9ecef;background-color:#f8f9fa;flex-shrink:0}.modal.modal-lg{max-width:900px}.modal.modal-sm{max-width:400px}.alert{padding:.75rem 1rem;margin-bottom:1rem;border-radius:4px}.alert-success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.alert-error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.loading{text-align:center;padding:2rem;color:#666}.actions{display:flex;gap:.5rem}.currency-manual{background-color:#fff3cd}.text-center{text-align:center}.text-right{text-align:right}.mb-2{margin-bottom:1rem}.mt-2{margin-top:1rem}.timesheets-view{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:1.5rem}.view-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid #eee}.view-header h2{margin:0;color:#2c3e50}.filters-section{background-color:#f8f9fa;padding:1.5rem;border-radius:8px;margin-bottom:2rem}.filters-section h3{margin:0 0 1rem;color:#2c3e50;font-size:1.1rem}.filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;align-items:end}.summary-section{margin-bottom:2rem}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.summary-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1.5rem;border-radius:8px;text-align:center}.summary-card h4{margin:0 0 .5rem;font-size:.9rem;opacity:.9}.summary-value{font-size:2rem;font-weight:700;display:block}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.form-group.full-width{grid-column:1/-1}.table-container{overflow-x:auto;margin-top:1rem}.data-table{width:100%;border-collapse:collapse;min-width:800px}.data-table th,.data-table td{padding:.75rem;text-align:left;border-bottom:1px solid #ddd;vertical-align:top}.data-table th{background-color:#f8f9fa;font-weight:600;color:#2c3e50;position:sticky;top:0}.data-table tbody tr:hover{background-color:#f8f9fa}.issue-summary{font-size:.85rem;color:#666;margin-top:.25rem}.status{padding:.25rem .5rem;border-radius:12px;font-size:.8rem;font-weight:500}.status.billable{background-color:#d4edda;color:#155724}.status.non-billable{background-color:#f8d7da;color:#721c24}.status.approved{background-color:#d1ecf1;color:#0c5460}.status.pending{background-color:#fff3cd;color:#856404}.action-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.no-data{text-align:center;padding:3rem;color:#666;font-style:italic}.error-message{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24;padding:.75rem 1rem;border-radius:4px;margin-bottom:1rem}.header-buttons{display:flex;gap:.5rem}.import-info{margin-bottom:1.5rem}.import-info code{display:block;background-color:#f8f9fa;padding:.5rem;border-radius:4px;margin:.5rem 0;font-size:.85rem;word-break:break-all}.import-info h4{margin:1.5rem 0 .5rem;color:#2c3e50}.import-info ul{margin:.5rem 0;padding-left:1.5rem}.import-info li{margin-bottom:.25rem}.import-warning{background-color:#fff3cd;border:1px solid #ffeaa7;border-radius:4px;padding:1rem;margin-top:1rem;color:#856404}.labels{display:flex;flex-wrap:wrap;gap:.25rem}.label-tag{background-color:#e3f2fd;color:#1565c0;padding:.2rem .5rem;border-radius:12px;font-size:.75rem;font-weight:500;border:1px solid #bbdefb;white-space:nowrap}.label-tag:nth-child(2n){background-color:#f3e5f5;color:#7b1fa2;border-color:#e1bee7}.label-tag:nth-child(3n){background-color:#e8f5e8;color:#2e7d32;border-color:#c8e6c9}.label-tag:nth-child(4n){background-color:#fff3e0;color:#ef6c00;border-color:#ffcc02}.calendar-view{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:1.5rem}.calendar-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding:1rem;background-color:#f8f9fa;border-radius:8px;flex-wrap:wrap;gap:1rem}.calendar-data-mode{display:flex;justify-content:flex-end;align-items:center;gap:.75rem;flex-wrap:wrap;margin-bottom:1rem}.calendar-manual-holiday-button{min-height:34px}.view-mode-buttons{display:flex;gap:.5rem}.calendar-view-mode-toggle{background-color:#fff;border-radius:10px;box-shadow:0 1px 3px #0f172a14}.calendar-view-mode-toggle .MuiToggleButton-root{text-transform:none;font-size:.85rem;font-weight:600;color:#334155;border-color:#d7dee8;padding:.35rem .7rem}.calendar-view-mode-toggle .MuiToggleButton-root.Mui-selected{background-color:#e3f2fd;color:#0b3d66}.calendar-view-mode-toggle .MuiToggleButton-root.Mui-selected:hover{background-color:#d9edfb}.navigation-controls{display:flex;gap:.5rem;align-items:center}.date-header h3{margin:0;color:#2c3e50;font-size:1.2rem}.calendar-container{margin-top:2rem}.calendar-grid{border:1px solid #e0e0e0;border-radius:8px;overflow:hidden}.calendar-header{display:grid;grid-template-columns:repeat(7,1fr);background-color:#2c3e50;color:#fff}.day-name{padding:1rem;text-align:center;font-weight:600;font-size:.9rem}.calendar-body{display:grid}.month-view .calendar-body{grid-template-columns:repeat(7,1fr)}.month-vacation-body{display:flex;flex-direction:column}.month-vacation-week-row{--vacation-lane-count: 1;--vacation-lane-height: 20px;--vacation-lane-gap: 2px;--vacation-lane-top: 32px;position:relative}.month-vacation-week-days{display:grid;grid-template-columns:repeat(7,1fr)}.month-vacation-week-row .calendar-day{min-height:calc(var(--vacation-lane-top) + var(--vacation-lane-count) * var(--vacation-lane-height) + (var(--vacation-lane-count) - 1) * var(--vacation-lane-gap) + 10px)}.month-vacation-week-row .day-header{margin-bottom:.25rem}.month-vacation-span-layer{position:absolute;left:0;right:0;top:var(--vacation-lane-top);display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:var(--vacation-lane-height);row-gap:var(--vacation-lane-gap);pointer-events:none;z-index:2}.calendar-day{--calendar-day-horizontal-padding: .5rem;min-height:120px;border:1px solid #e0e0e0;padding:.5rem;background-color:#fff;position:relative;overflow:hidden}.calendar-day.bank-holiday{background-color:#fff8e6}.calendar-day.vacation-day{background-color:#fff9dd}.calendar-day.other-month{background-color:#f8f9fa;color:#6c757d}.calendar-day.today{background-color:#e3f2fd;border-color:#2196f3;box-shadow:inset 0 0 0 2px #2196f3}.day-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.day-number{font-weight:600;font-size:1rem}.day-hours{font-size:.75rem;background-color:#007bff;color:#fff;padding:.2rem .4rem;border-radius:10px;font-weight:500}.day-content{display:flex;flex-direction:column;gap:2px;height:calc(100% - 2rem)}.calendar-bank-holiday{display:inline-block;max-width:100%;margin-bottom:.2rem;padding:.12rem .35rem;border-radius:999px;font-size:.62rem;line-height:1.2;color:#8a5a00;background-color:#ffe9b5;border:1px solid #ffd47a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-bank-holiday-editable{cursor:pointer}.calendar-bank-holiday.calendar-bank-holiday-editable:hover{background-color:#ffe2a6;border-color:#ffcc6a}.calendar-vacation-entry{color:#1e3a8a;background-color:#dbeafe;border-color:#93c5fd;position:relative;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease,border-color .16s ease}.calendar-vacation-entry:hover,.calendar-vacation-entry.is-linked-hover{transform:translateY(-1px);box-shadow:0 3px 8px #0f172a33;filter:saturate(1.08) brightness(1.02);z-index:4}.calendar-vacation-entry.vacation-kind-employee{color:#6a4a00;background-color:#ffe9b5;border-color:#ffd47a}.calendar-vacation-entry.vacation-kind-contact{color:#5b21b6;background-color:#ede9fe;border-color:#c4b5fd}.calendar-vacation-entry.vacation-kind-unknown{color:#1e3a8a;background-color:#dbeafe;border-color:#93c5fd}.calendar-vacation-entry.vacation-kind-employee:hover,.calendar-vacation-entry.vacation-kind-employee.is-linked-hover{box-shadow:0 0 0 1px #ffd47a,0 3px 8px #78350f33}.calendar-vacation-entry.vacation-kind-contact:hover,.calendar-vacation-entry.vacation-kind-contact.is-linked-hover{box-shadow:0 0 0 1px #a78bfa,0 3px 8px #5b21b63d}.calendar-vacation-entry.vacation-kind-unknown:hover,.calendar-vacation-entry.vacation-kind-unknown.is-linked-hover{box-shadow:0 0 0 1px #60a5fa,0 3px 8px #1e3a8a33}.calendar-vacation-entry.vacation-source-manual{border-style:dashed}.calendar-vacation-chips{display:flex;flex-direction:column;gap:2px;margin-left:calc(var(--calendar-day-horizontal-padding, .5rem) * -1);margin-right:calc(var(--calendar-day-horizontal-padding, .5rem) * -1)}.calendar-vacation-chip{display:block;margin-bottom:0;border-radius:8px;min-height:18px;line-height:1.2;padding-left:calc(.35rem + var(--calendar-day-horizontal-padding, .5rem));padding-right:calc(.35rem + var(--calendar-day-horizontal-padding, .5rem))}.calendar-vacation-chip.is-start,.calendar-vacation-chip.is-middle{border-right-color:transparent;border-top-right-radius:0;border-bottom-right-radius:0;margin-right:1px}.calendar-vacation-chip.is-end,.calendar-vacation-chip.is-middle{border-left-color:transparent;border-top-left-radius:0;border-bottom-left-radius:0;margin-left:1px}.calendar-vacation-chip.no-label{color:transparent;-webkit-user-select:none;user-select:none}.month-vacation-span{margin:0 8px;pointer-events:auto}.calendar-vacation-placeholder{background-color:transparent;border-color:transparent;pointer-events:none}.week-vacation-chips .calendar-vacation-chip{font-size:.66rem}.day-holiday-chip{max-width:100%;margin-top:.35rem;padding:.15rem .4rem;border-radius:999px;font-size:.62rem;font-weight:600;line-height:1.1;color:#8a5a00;background-color:#ffe9b5;border:1px solid #ffd47a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.timesheet-entry{position:relative;height:4px;background-color:#f0f0f0;border-radius:2px;overflow:hidden}.entry-bar{height:100%;border-radius:2px;transition:all .2s ease}.timesheet-entry:hover .entry-bar{transform:scaleY(1.5)}.week-view .calendar-body,.two-weeks-view .calendar-body{grid-template-columns:repeat(7,1fr)}.week-day{--calendar-day-horizontal-padding: 1rem;min-height:200px;padding:1rem}.week-day.week-day-timeline{min-height:620px}.week-day.week-day-timeline .day-content{height:calc(100% - 5rem)}.week-day .day-header{flex-direction:column;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid #e0e0e0}.week-day .day-name{font-size:.8rem;color:#666;margin-bottom:.25rem;padding:0}.week-day .day-number{font-size:1.2rem;font-weight:700}.week-day .day-hours{margin-top:.25rem}.week-timeline{position:relative;height:480px;border:1px solid #d9e2ec;border-radius:6px;overflow:hidden;background-color:#fbfdff;background-image:repeating-linear-gradient(to bottom,rgba(44,62,80,.08) 0,rgba(44,62,80,.08) 1px,transparent 1px,transparent 4.1666666667%)}.week-timeline-marker{position:absolute;left:0;right:0;border-top:1px dashed rgba(44,62,80,.2);pointer-events:none}.week-timeline-label{position:absolute;left:.25rem;top:-.5rem;font-size:.62rem;font-weight:500;color:#4a5568;background-color:#ffffffeb;padding:0 .2rem;border-radius:3px}.week-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.8rem;color:#6b7280;font-style:italic;padding:.75rem}.week-timeline-entry{position:absolute;box-sizing:border-box;border-left:3px solid #007bff;border-radius:4px;background:#007bff2e;color:#1f2937;padding:.2rem .3rem;overflow:hidden;box-shadow:0 1px 2px #0f172a26;display:flex;flex-direction:column;gap:.1rem}.week-timeline-entry.inferred-time{border-left-style:dashed;opacity:.92}.week-timeline-time{font-size:.65rem;line-height:1.1;font-weight:700;color:#0b3d66}.week-timeline-project,.week-timeline-user{line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.week-timeline-project{font-size:.64rem}.week-timeline-user{font-size:.6rem;color:#4b5563}.timesheet-entry-detailed{background-color:#f8f9fa;border-left:4px solid #007bff;padding:.5rem;margin-bottom:.5rem;border-radius:4px;font-size:.85rem}.timesheet-entry-detailed.calendar-bank-holiday-editable:hover{box-shadow:0 0 0 1px #93c5fd}.entry-info{display:flex;flex-direction:column;gap:.2rem}.entry-user{font-weight:600;color:#2c3e50}.entry-project{color:#666;font-size:.8rem}.calendar-bank-holiday-manual-badge{display:inline-flex;align-items:center;margin-left:.45rem;padding:.12rem .4rem;border-radius:999px;border:1px solid #bae6fd;background-color:#e0f2fe;color:#0c4a6e;font-size:.68rem;font-weight:600;line-height:1.1}.calendar-bank-holiday-edit-button{align-self:flex-start;margin-top:.35rem}.entry-hours{color:#007bff;font-weight:600}.day-view{max-width:800px;margin:0 auto}.day-summary{text-align:center;margin-bottom:2rem;padding:2rem;background-color:#f8f9fa;border-radius:8px}.day-summary h3{margin:0 0 1rem;color:#2c3e50}.day-holiday-banner{margin-top:1rem;padding:.5rem .75rem;border-radius:8px;font-size:.85rem;font-weight:500;color:#8a5a00;background-color:#fff3cd;border:1px solid #ffe082}.day-holiday-banner.calendar-vacation-banner{color:#1e3a8a;background-color:#dbeafe;border-color:#93c5fd}.day-holiday-banner.calendar-vacation-banner.vacation-kind-employee{color:#8a5a00;background-color:#fff3cd;border-color:#ffe082}.day-holiday-banner.calendar-vacation-banner.vacation-kind-contact{color:#5b21b6;background-color:#ede9fe;border-color:#c4b5fd}.day-holiday-banner.calendar-vacation-banner.vacation-kind-unknown{color:#1e3a8a;background-color:#dbeafe;border-color:#93c5fd}.calendar-warning-message{margin-bottom:1rem;padding:.6rem .8rem;border-radius:8px;border:1px solid #ffd9b2;background-color:#fff4e5;color:#8a4b00;font-size:.85rem}.day-stats{display:flex;justify-content:center;gap:2rem}.stat{font-size:1.1rem;font-weight:600;color:#007bff}.day-timesheets{display:flex;flex-direction:column;gap:1rem}.day-timesheet-entry{background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px #0000000d}.day-timesheet-entry.calendar-bank-holiday-editable:hover{border-color:#93c5fd}.calendar-bank-holiday-day-actions{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.calendar-manual-holiday-form{display:flex;flex-direction:column;gap:.85rem;padding:.25rem .1rem}.calendar-manual-holiday-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.calendar-manual-holiday-field{display:flex;flex-direction:column;gap:.35rem}.calendar-manual-holiday-field span{font-size:.82rem;font-weight:600;color:#334155}.calendar-manual-holiday-field input{height:38px;border:1px solid #cbd5e1;border-radius:8px;padding:0 .65rem;font-size:.9rem;color:#1f2937;background-color:#fff}.calendar-manual-holiday-field input:focus{outline:none;border-color:#60a5fa;box-shadow:0 0 0 2px #60a5fa40}.calendar-manual-holiday-field-full{grid-column:1/-1}.calendar-manual-holiday-error{border:1px solid #fecaca;background-color:#fef2f2;color:#991b1b;border-radius:8px;font-size:.82rem;padding:.5rem .65rem}.calendar-vacation-details{display:flex;flex-direction:column;gap:.55rem}.calendar-vacation-details-row{display:grid;grid-template-columns:minmax(150px,190px) minmax(0,1fr);gap:.6rem;align-items:baseline}.calendar-vacation-details-label{font-size:.82rem;font-weight:600;color:#475569}.calendar-vacation-details-value{font-size:.9rem;color:#1f2937;word-break:break-word}.day-timesheet-entry.calendar-vacation-day-entry.vacation-kind-employee{background-color:#fff9e0;border-color:#ffd47a}.day-timesheet-entry.calendar-vacation-day-entry.vacation-kind-contact{background-color:#f5f3ff;border-color:#c4b5fd}.day-timesheet-entry.calendar-vacation-day-entry.vacation-kind-unknown{background-color:#eaf2ff;border-color:#93c5fd}.day-timesheet-entry.calendar-vacation-day-entry.vacation-kind-employee .entry-header .entry-hours{color:#7a4a00;background-color:#ffe9b5}.day-timesheet-entry.calendar-vacation-day-entry.vacation-kind-contact .entry-header .entry-hours{color:#5b21b6;background-color:#ede9fe}.day-timesheet-entry.calendar-vacation-day-entry.vacation-kind-unknown .entry-header .entry-hours{color:#1e3a8a;background-color:#dbeafe}.entry-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid #e0e0e0}.entry-header .entry-user{font-size:1.1rem;font-weight:600;color:#2c3e50}.entry-header .entry-hours{font-size:1.2rem;font-weight:700;color:#007bff;background-color:#e3f2fd;padding:.5rem 1rem;border-radius:20px}.entry-details{display:flex;flex-direction:column;gap:.5rem}.entry-details .entry-project{font-size:1rem;font-weight:500;color:#495057}.entry-issue{font-size:.9rem;color:#666;font-family:monospace;background-color:#f8f9fa;padding:.25rem .5rem;border-radius:4px;display:inline-block}.entry-description{font-size:.9rem;color:#666;line-height:1.4;font-style:italic}.no-entries{text-align:center;padding:3rem;color:#666;font-style:italic;background-color:#f8f9fa;border-radius:8px}@media(max-width:1024px){.calendar-data-mode{justify-content:center}.calendar-manual-holiday-grid{grid-template-columns:1fr}.calendar-vacation-details-row{grid-template-columns:1fr;gap:.2rem}.calendar-controls{flex-direction:column;align-items:stretch}.view-mode-buttons,.navigation-controls{justify-content:center}.date-header{text-align:center}.day-stats{flex-direction:column;gap:.5rem}}@media(max-width:768px){.calendar-day{min-height:80px}.week-day{min-height:150px;padding:.5rem}.week-day.week-day-timeline{min-height:480px}.week-day.week-day-timeline .day-content{height:calc(100% - 4.5rem)}.week-timeline{height:340px}.week-timeline-label{font-size:.55rem}.week-timeline-project,.week-timeline-user{display:none}.month-view .calendar-body,.week-view .calendar-body,.two-weeks-view .calendar-body{grid-template-columns:repeat(7,1fr)}.day-header{flex-direction:column;gap:.25rem}.day-number{font-size:.9rem}.day-hours{font-size:.7rem}.calendar-bank-holiday,.day-holiday-chip{font-size:.55rem;padding:.1rem .3rem}.timesheet-entry-detailed{font-size:.8rem;padding:.4rem}.day-timesheet-entry{padding:1rem}.entry-header{flex-direction:column;gap:.5rem;align-items:stretch}.entry-header .entry-hours{text-align:center}}@media(max-width:480px){.calendar-data-mode{display:block;width:100%}.calendar-data-mode .calendar-view-mode-toggle{width:100%}.calendar-data-mode .calendar-view-mode-toggle .MuiToggleButton-root{flex:1}.view-mode-buttons{display:block;width:100%}.view-mode-buttons .calendar-view-mode-toggle{width:100%}.view-mode-buttons .calendar-view-mode-toggle .MuiToggleButton-root{flex:1;padding:.35rem .4rem;font-size:.78rem}.navigation-controls{width:100%;justify-content:space-between}.calendar-day{min-height:60px;padding:.25rem}.day-number{font-size:.8rem}.day-hours{font-size:.6rem;padding:.1rem .3rem}.timesheet-entry{height:3px}.day-holiday-banner{font-size:.78rem;padding:.4rem .55rem}.week-day{min-height:120px}.timesheet-entry-detailed{padding:.3rem;font-size:.75rem}}.contractors-view,.invoices-view,.costs-view,.settings-view{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:1.5rem}.header-actions{display:flex;gap:.75rem;flex-wrap:wrap}.btn-sync{background-color:#9c27b0;color:#fff;padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background-color .3s}.btn-sync:hover:not(:disabled){background-color:#7b1fa2}.btn-sync:disabled{background-color:#ce93d8;cursor:not-allowed}.btn-icon{background:none;border:none;cursor:pointer;font-size:1.2rem;padding:.25rem .5rem;transition:transform .2s}.btn-icon:hover{transform:scale(1.2)}.tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:2px solid #e0e0e0}.tab{padding:.75rem 1.5rem;background:none;border:none;border-bottom:3px solid transparent;cursor:pointer;font-size:1rem;font-weight:500;color:#666;transition:all .3s}.tab:hover{color:#1976d2;background-color:#f5f5f5}.tab.active{color:#1976d2;border-bottom-color:#1976d2;background-color:#e3f2fd}.filters{display:flex;gap:1rem;margin-bottom:1.5rem;padding:1rem;background-color:#f8f9fa;border-radius:8px;flex-wrap:wrap}.filters select,.filters input[type=number]{padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:.9rem}.contractors-table,.invoices-table,.costs-table{overflow-x:auto;margin-top:1rem}.contractors-table table,.invoices-table table,.costs-table table{width:100%;border-collapse:collapse;min-width:800px}.contractors-table th,.contractors-table td,.invoices-table th,.invoices-table td,.costs-table th,.costs-table td{padding:.75rem;text-align:left;border-bottom:1px solid #ddd}.contractors-table th,.invoices-table th,.costs-table th{background-color:#f8f9fa;font-weight:600;color:#2c3e50;position:sticky;top:0}.contractors-table tbody tr:hover,.invoices-table tbody tr:hover,.costs-table tbody tr:hover{background-color:#f8f9fa}.status-badge{padding:.25rem .75rem;border-radius:12px;font-size:.8rem;font-weight:500;display:inline-block}.status-badge.active{background-color:#d4edda;color:#155724}.status-badge.inactive{background-color:#f8d7da;color:#721c24}.status-badge.unpaid{background-color:#fff3cd;color:#856404}.status-badge.partial{background-color:#d1ecf1;color:#0c5460}.status-badge.paid{background-color:#d4edda;color:#155724}.form-modal{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:9999;padding:20px;animation:fadeIn .2s ease-out}.form-container{background:#fff;border-radius:12px;width:100%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 10px 40px #0000004d;animation:slideUp .3s ease-out;overflow:hidden}.form-container h3{margin:0;padding:1.5rem;background-color:#f8f9fa;border-bottom:1px solid #e0e0e0;color:#2c3e50}.form-container form{padding:1.5rem;overflow-y:auto;flex:1}.form-actions{display:flex;justify-content:flex-end;gap:.75rem;padding:1.5rem;border-top:1px solid #e0e0e0;background-color:#f8f9fa}.dark-mode .form-container{background-color:#1e1e1e;box-shadow:0 10px 40px #0009}.dark-mode .form-container h3{background-color:#1e1e1e;border-bottom:1px solid #404040;color:#e0e0e0}.dark-mode .form-actions{background-color:#1e1e1e;border-top:1px solid #404040}.settings-container{max-width:900px;margin:0 auto}.settings-section{background:#fff;border-radius:8px;padding:2rem;margin-bottom:2rem;box-shadow:0 2px 4px #0000001a}.settings-section h3{margin:0 0 1.5rem;color:#2c3e50;font-size:1.5rem;border-bottom:2px solid #e0e0e0;padding-bottom:.75rem}.setting-item{margin-bottom:2rem}.setting-item label{display:block;font-weight:600;color:#2c3e50;margin-bottom:.5rem;font-size:1.1rem}.setting-description{color:#666;font-size:.9rem;margin-bottom:1rem;line-height:1.5}.api-key-input-group{display:flex;gap:.75rem;align-items:stretch}.api-key-input{flex:1;padding:.75rem;border:2px solid #ddd;border-radius:4px;font-size:1rem;font-family:monospace;transition:border-color .3s}.api-key-input:focus{outline:none;border-color:#1976d2;box-shadow:0 0 0 3px #1976d21a}.btn-test{background-color:#ff9800;color:#fff;padding:.75rem 1.5rem;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;font-weight:500;transition:background-color .3s;white-space:nowrap}.btn-test:hover:not(:disabled){background-color:#f57c00}.btn-test:disabled{background-color:#ffcc80;cursor:not-allowed}.connection-status{margin-top:1rem;padding:1rem;border-radius:4px;display:flex;align-items:center;gap:.75rem;font-weight:500}.connection-status.success{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.connection-status.error{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.status-icon{font-size:1.5rem;font-weight:700}.setting-actions{margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e0e0e0}.info-box{background-color:#f8f9fa;border-left:4px solid #1976d2;padding:1.5rem;margin-bottom:1.5rem;border-radius:4px}.info-box.warning{background-color:#fff3cd;border-left-color:#ff9800}.info-box h4{margin:0 0 1rem;color:#2c3e50;font-size:1.1rem}.info-box p{margin:.5rem 0;line-height:1.6;color:#495057}.info-box ol,.info-box ul{margin:.5rem 0;padding-left:1.5rem}.info-box li{margin-bottom:.5rem;line-height:1.5}.info-box a{color:#1976d2;text-decoration:none;font-weight:500}.info-box a:hover{text-decoration:underline}@media(min-width:769px){.desktop-table{display:block!important}.mobile-cards{display:none!important}}@media(max-width:768px){.desktop-table{display:none!important}.mobile-cards{display:block!important;padding:16px 0}.md3-button{font-size:12px!important;padding:0 12px!important;min-width:auto!important}.md3-button-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}@media(max-width:768px)and (max-width:480px){.md3-button{width:100%;margin-bottom:8px}.summary-grid{grid-template-columns:repeat(2,1fr)!important;gap:8px!important}.mobile-cards>div{margin:0 8px 12px!important;padding:12px!important}}.pagination-container{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-top:1px solid #e0e0e0;background-color:#fafafa;flex-wrap:wrap;gap:16px}.pagination-info{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.pagination-text{font-size:14px;color:#49454f;font-weight:500}.pagination-per-page{display:flex;align-items:center;gap:8px}.pagination-label{font-size:14px;color:#49454f;font-weight:500}.pagination-select{padding:6px 12px;border:1px solid #79747e;border-radius:4px;font-size:14px;background-color:#fff;cursor:pointer;transition:border-color .2s ease}.pagination-select:focus{outline:none;border-color:#1976d2;box-shadow:0 0 0 2px #1976d233}.pagination-controls{display:flex;align-items:center;gap:4px}.pagination-button{width:40px;height:40px;border:1px solid #79747e;border-radius:20px;background-color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;color:#49454f}.pagination-button:hover:not(:disabled){background-color:#f5f5f5;border-color:#1976d2;color:#1976d2}.pagination-button:disabled{opacity:.5;cursor:not-allowed;background-color:#f5f5f5}.pagination-pages{display:flex;align-items:center;gap:4px;margin:0 8px}.pagination-page{width:40px;height:40px;border:1px solid #79747e;border-radius:20px;background-color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:500;transition:all .2s ease;color:#49454f}.pagination-page:hover{background-color:#f5f5f5;border-color:#1976d2;color:#1976d2}.pagination-page.active{background-color:#1976d2;border-color:#1976d2;color:#fff}.pagination-page.active:hover{background-color:#1565c0;border-color:#1565c0}.pagination-dots{padding:0 8px;color:#49454f;font-weight:500}.dark-mode .pagination-container{background-color:#2d2d2d;border-top:1px solid #404040}.dark-mode .pagination-text,.dark-mode .pagination-label{color:#e0e0e0}.dark-mode .pagination-select{background-color:#3d3d3d;color:#e0e0e0;border-color:#555}.dark-mode .pagination-select:focus{border-color:#64b5f6;box-shadow:0 0 0 2px #64b5f633}.dark-mode .pagination-button{background-color:#3d3d3d;border-color:#555;color:#e0e0e0}.dark-mode .pagination-button:hover:not(:disabled){background-color:#4d4d4d;border-color:#64b5f6;color:#64b5f6}.dark-mode .pagination-button:disabled{background-color:#2d2d2d;color:#666}.dark-mode .pagination-page{background-color:#3d3d3d;border-color:#555;color:#e0e0e0}.dark-mode .pagination-page:hover{background-color:#4d4d4d;border-color:#64b5f6;color:#64b5f6}.dark-mode .pagination-page.active{background-color:#64b5f6;border-color:#64b5f6;color:#000}.dark-mode .pagination-page.active:hover{background-color:#42a5f5;border-color:#42a5f5}.dark-mode .pagination-dots{color:#b0b0b0}@media(max-width:768px){.pagination-container{flex-direction:column;align-items:stretch;gap:12px}.pagination-info{justify-content:space-between;gap:12px}.pagination-controls{justify-content:center}.pagination-pages{margin:0 4px}.pagination-button,.pagination-page{width:36px;height:36px;font-size:13px}}@media(max-width:480px){.pagination-container{padding:12px 16px}.pagination-info{flex-direction:column;align-items:stretch;gap:8px}.pagination-per-page{justify-content:space-between}.pagination-button,.pagination-page{width:32px;height:32px;font-size:12px}.pagination-pages{gap:2px;margin:0 2px}}@media(max-width:768px){.modal{max-width:100%;max-height:100vh;border-radius:0}.modal-overlay{padding:0}.filters-grid,.summary-cards,.form-grid{grid-template-columns:1fr}.action-buttons{flex-direction:column}.view-header{flex-direction:column;gap:1rem;align-items:stretch}.header-buttons,.modal-footer{flex-direction:column}.modal-footer .btn{width:100%}.header-actions,.tabs{flex-direction:column}.tab{text-align:center}.filters,.api-key-input-group{flex-direction:column}.form-actions{flex-direction:column-reverse}.form-actions .btn{width:100%}}.app-layout{display:flex;min-height:100vh;background-color:var(--color-bg-app)}.main-content{flex:1;display:flex;flex-direction:column;margin-left:72px;transition:none;height:100vh}.content-area{flex:1;padding:24px;overflow-y:auto;height:calc(100vh - 64px)}.sidebar{position:fixed;top:0;left:0;width:72px;height:100vh;background-color:#f5f5f5;box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f;display:flex;flex-direction:column;z-index:50;transition:width .3s ease;overflow:hidden}.sidebar.sidebar-expanded{width:260px;z-index:200}.sidebar.sidebar-expanded .sidebar-header{justify-content:flex-start}.sidebar.sidebar-expanded .sidebar-brand{width:100%;height:48px;padding:0 12px;justify-content:flex-start;gap:12px;font-size:1rem}.sidebar.sidebar-expanded .brand-text{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar.sidebar-expanded .menu-item,.sidebar.sidebar-expanded .menu-group-header{justify-content:flex-start}.sidebar.sidebar-expanded .menu-text{display:block}.sidebar.sidebar-expanded .submenu{left:260px}.sidebar-header{padding:12px 12px 20px;border-bottom:none;background:transparent;position:relative;display:flex;align-items:center;justify-content:center}.sidebar-brand{display:flex;align-items:center;justify-content:center;text-decoration:none;color:#424242;font-weight:500;font-size:1.5rem;transition:opacity .2s ease;width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,#667eea,#764ba2)}.sidebar-brand:hover{opacity:.9;transform:scale(1.05)}.brand-icon{font-size:1.5rem}.brand-text{display:none}.collapse-toggle{background:none;border:none;color:#fff;cursor:pointer;padding:8px;border-radius:50%;transition:all .2s ease;width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:14px;opacity:.8}.collapse-toggle:hover{background-color:#ffffff1a;opacity:1}.collapse-icon{transition:transform .3s ease}.collapse-icon.collapsed{transform:rotate(0)}@media(max-width:768px){.collapse-toggle{display:none}}.floating-menu-button{position:fixed;top:40px;left:20px;width:48px;height:48px;background-color:#fff;border:none;border-radius:50%;box-shadow:0 4px 12px #00000026;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:1300;transition:all .3s cubic-bezier(.4,0,.2,1);opacity:1;visibility:visible}.floating-menu-button:hover{box-shadow:0 6px 16px #0003;transform:scale(1.05)}.floating-menu-button .hamburger-icon{display:flex;flex-direction:column;gap:3px}.floating-menu-button .hamburger-icon span{width:18px;height:2px;background-color:#424242;border-radius:1px;transition:all .3s ease}.sidebar-open .floating-menu-button{opacity:0;visibility:hidden;transform:scale(.8)}.fab-container{position:fixed;bottom:24px;right:24px;z-index:1200;display:flex;flex-direction:column;align-items:flex-end;gap:12px;pointer-events:none}.fab-main{width:56px;height:56px;background-color:var(--md-sys-color-primary, #6750a4);border:none;border-radius:50%;box-shadow:0 6px 16px #0003;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);color:var(--md-sys-color-on-primary, #ffffff);font-size:24px;pointer-events:auto}.fab-main:hover{box-shadow:0 8px 20px #0000004d;transform:scale(1.05)}.fab-main.expanded{transform:rotate(45deg)}.fab-actions{display:flex;flex-direction:column;gap:8px;opacity:0;visibility:hidden;transform:translateY(20px);transition:all .3s cubic-bezier(.4,0,.2,1)}.fab-actions.show{opacity:1;visibility:visible;transform:translateY(0)}.fab-action{display:flex;align-items:center;gap:12px;background:none;border:none;cursor:pointer;padding:0;text-decoration:none}.fab-action-button{width:40px;height:40px;background-color:#fff;border:none;border-radius:50%;box-shadow:0 4px 12px #00000026;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);color:#424242;font-size:18px;pointer-events:auto}.fab-action-button:hover{box-shadow:0 6px 16px #0003;transform:scale(1.1)}.fab-action-label{background-color:#000c;color:#fff;padding:8px 12px;border-radius:4px;font-size:14px;font-weight:500;white-space:nowrap;opacity:0;visibility:hidden;transform:translate(10px);transition:all .3s cubic-bezier(.4,0,.2,1)}.fab-action:hover .fab-action-label{opacity:1;visibility:visible;transform:translate(0)}.fab-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:transparent;z-index:1100;opacity:0;visibility:hidden;transition:all .3s ease}.fab-overlay.show{opacity:1;visibility:visible}@media(max-width:768px){.fab-container{bottom:16px;right:16px}.fab-main{width:48px;height:48px;font-size:20px}.fab-action-button{width:36px;height:36px;font-size:16px}.fab-action-label{font-size:12px;padding:6px 10px}}.sidebar.sidebar-collapsed.sidebar-floating{transform:translate(0);box-shadow:0 8px 32px #0000004d;z-index:1250}.sidebar-menu{flex:1;padding:8px;margin:0 8px;overflow-y:auto;overflow-x:hidden;background-color:#f8f9fa;border-radius:16px}.sidebar-menu::-webkit-scrollbar{width:4px}.sidebar-menu::-webkit-scrollbar-track{background:transparent}.sidebar-menu::-webkit-scrollbar-thumb{background:#0003;border-radius:2px}.sidebar-menu::-webkit-scrollbar-thumb:hover{background:#0000004d}.menu-item{display:flex;align-items:center;gap:16px;padding:12px;margin:4px 0;border-radius:12px;text-decoration:none;color:#424242;font-weight:500;font-size:.875rem;position:relative;transition:all .2s cubic-bezier(.4,0,.2,1);min-height:48px;justify-content:center;white-space:nowrap}.menu-item:hover{background-color:#f5f5f5;color:#1976d2}.menu-item.active{background-color:#e3f2fd;color:#1976d2;font-weight:600}.menu-icon{font-size:1.25rem;width:24px;height:24px;text-align:center;display:flex;align-items:center;justify-content:center;flex-shrink:0}.menu-text{flex:1;line-height:1.2;display:none}.active-indicator{position:absolute;right:0;top:50%;transform:translateY(-50%);width:3px;height:24px;background-color:#1976d2;border-radius:2px 0 0 2px}.menu-group{margin:4px 0;border-radius:12px;position:relative}.menu-group-header{display:flex;align-items:center;gap:16px;padding:12px;color:#424242;font-weight:500;font-size:.875rem;cursor:pointer;min-height:48px;border-radius:12px;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;justify-content:center;white-space:nowrap}.menu-group-header:hover{background-color:#f5f5f5;color:#1976d2}.menu-group-header.active{background-color:#e3f2fd;color:#1976d2;font-weight:600}.menu-group-header .menu-icon{font-size:1.25rem;width:24px;height:24px;text-align:center;display:flex;align-items:center;justify-content:center;flex-shrink:0}.menu-group-header .menu-text{flex:1;line-height:1.2;display:none}.submenu{position:fixed;left:72px;min-width:200px;background-color:#fff;box-shadow:0 8px 24px #0003;border-radius:8px;padding:8px 0;opacity:0;visibility:hidden;transform:translate(-10px);transition:all .3s cubic-bezier(.4,0,.2,1);z-index:9999;border:1px solid #e0e0e0;max-height:400px;overflow-y:auto}.menu-group:hover .submenu{opacity:1;visibility:visible;transform:translate(0)}.submenu.positioned{position:fixed}.submenu-item{display:flex;align-items:center;gap:12px;padding:12px 16px;margin:0 8px;border-radius:6px;text-decoration:none;color:#616161;font-size:.8125rem;position:relative;transition:all .2s cubic-bezier(.4,0,.2,1);min-height:40px}.submenu-item:hover{background-color:#f0f0f0;color:#1976d2}.submenu-item.active{background-color:#e3f2fd;color:#1976d2;font-weight:600}.submenu-icon{font-size:1rem;width:20px;height:20px;text-align:center;display:flex;align-items:center;justify-content:center;flex-shrink:0}.submenu-text{flex:1;line-height:1.2}@media(max-width:768px){.submenu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;background-color:#f8f9fa;border:none;border-radius:0;margin-top:4px;padding:4px 0}.menu-group:hover .submenu{transform:none}.submenu-item{margin:0 16px;padding:8px 16px}}.sidebar-footer{padding:8px 12px;border-top:none;background-color:transparent}.footer-controls{display:flex;flex-direction:column;gap:8px;align-items:center}.language-selector{width:100%;display:flex;justify-content:center}.language-fab-container{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px}.language-fab-main{width:48px;height:48px;background-color:#fff;border:1px solid #e0e0e0;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;box-shadow:0 1px 3px #0000001f;position:relative;z-index:1001}.language-fab-main:hover{border-color:#1976d2;box-shadow:0 2px 6px #00000026;transform:scale(1.05)}.language-fab-main:focus{outline:none;border-color:#1976d2;box-shadow:0 0 0 2px #1976d233}.language-fab-main:active{transform:scale(.95)}.language-fab-main.expanded{transform:rotate(180deg)}.language-fab-main .language-flag-img{width:20px;height:15px;object-fit:cover;border-radius:2px;transition:transform .3s ease}.language-fab-actions{display:flex;flex-direction:column;gap:8px;opacity:0;visibility:hidden;transform:translateY(20px);transition:all .3s cubic-bezier(.4,0,.2,1);position:absolute;bottom:100%;margin-bottom:8px}.language-fab-actions.show{opacity:1;visibility:visible;transform:translateY(0)}.language-fab-action{width:40px;height:40px;background-color:#fff;border:none;border-radius:50%;box-shadow:0 4px 12px #00000026;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative}.language-fab-action:hover{box-shadow:0 6px 16px #0003;transform:scale(1.1)}.language-fab-action.active{background-color:#e3f2fd;border:2px solid #1976d2;box-shadow:0 6px 16px #1976d24d}.language-fab-action .language-flag-img{width:16px;height:12px;object-fit:cover;border-radius:2px}.language-fab-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:transparent;z-index:1000;opacity:0;visibility:hidden;transition:all .3s ease}.language-fab-overlay.show{opacity:1;visibility:visible}.dark-mode-toggle{width:48px;height:48px;background-color:#fff;border:1px solid #e0e0e0;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;box-shadow:0 1px 3px #0000001f;flex-shrink:0}.dark-mode-toggle:hover{border-color:#1976d2;box-shadow:0 2px 6px #00000026;transform:scale(1.05)}.dark-mode-toggle:focus{outline:none;border-color:#1976d2;box-shadow:0 0 0 2px #1976d233}.dark-mode-toggle:active{transform:scale(.95)}.dark-mode-icon{font-size:20px;transition:transform .3s ease}.dark-mode-toggle:hover .dark-mode-icon{transform:rotate(15deg)}.app-footer-deployments{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.app-footer-deploy-link{display:inline-flex;align-items:center;gap:6px;text-decoration:none;padding:2px 8px;border-radius:999px;border:1px solid rgba(13,110,253,.18);background:#0d6efd14;color:#34506f}.app-footer-deploy-link--qa{border-color:#0d6efd33;background:#0d6efd14}.app-footer-deploy-link--prod{border-color:#19875433;background:#1987541a}.app-footer-deploy-link.is-approval-pending{border-color:#ffc10747;background:#ffc10729;color:#7a5800}.app-footer-deploy-link.is-static{cursor:default}.app-footer-deploy-label{font-size:11px;font-weight:700;letter-spacing:.04em;line-height:1}.app-footer-deploy-link--qa .app-footer-deploy-spinner{border-top-color:#0d6efd}.app-footer-deploy-link--prod .app-footer-deploy-spinner{border-top-color:#198754}.app-footer-deploy-spinner{width:12px;height:12px;border-radius:50%;border:2px solid rgba(108,117,125,.3);border-top-color:#0d6efd;animation:app-footer-deploy-spin .8s linear infinite}.app-footer-deploy-icon{font-size:14px!important;flex:0 0 auto}.app-footer-deploy-icon--approval-pending{color:#b37a00}.app-footer-bg-jobs-button{display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;padding:2px;margin:0;border-radius:999px;cursor:pointer}.app-footer-bg-jobs-indicator{width:12px;height:12px;border-radius:50%;border:2px solid rgba(108,117,125,.45);box-sizing:border-box}.app-footer-bg-jobs-indicator.is-running{border-color:#6c757d4d;border-top-color:#198754;animation:app-footer-bg-jobs-spin .8s linear infinite}.app-footer-feedback-button{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(13,110,253,.18);background:#0d6efd14;color:#34506f;border-radius:999px;padding:2px 10px;cursor:pointer;font:inherit;line-height:1;transition:background-color .2s ease,border-color .2s ease}.app-footer-feedback-button:hover{background:#0d6efd24;border-color:#0d6efd47}.app-footer-feedback-button:focus{outline:none;box-shadow:0 0 0 2px #0d6efd2e}.app-footer-feedback-button .MuiSvgIcon-root{font-size:14px}.bg-jobs-footer-modal{display:flex;flex-direction:column;gap:16px}.bg-jobs-footer-section-title{font-size:13px;font-weight:600;margin:0 0 8px}.bg-jobs-footer-table{overflow:auto;max-height:240px}.bg-jobs-footer-error{padding:10px 12px;border-radius:8px;background:#dc354514;border:1px solid rgba(220,53,69,.2);color:#b02a37;font-size:12px;line-height:16px}@keyframes app-footer-deploy-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes app-footer-bg-jobs-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.md3-modal-overlay{background:var(--overlay-35)}.md3-modal-header .md3-modal-close-button{width:40px;height:40px;border-radius:20px;color:var(--md-sys-color-on-surface-variant, #49454f);background:transparent}.md3-modal-header .md3-modal-close-button svg{font-size:22px}.blue-form .md3-modal-header .md3-modal-close-button{color:var(--md-sys-color-on-surface-variant, #49454f)}.md3-modal-header .md3-modal-close-button:hover{background-color:color-mix(in srgb,var(--md-sys-color-on-surface, #1d1b20) 8%,transparent)}.md3-modal-header .md3-modal-close-button:focus-visible{outline:2px solid color-mix(in srgb,var(--md-sys-color-primary, #6750a4) 45%,transparent);outline-offset:2px}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{background:transparent;border:0}input[type=number]{-moz-appearance:textfield}.dark-mode input[type=number]::-webkit-inner-spin-button,.dark-mode input[type=number]::-webkit-outer-spin-button{filter:invert(1)}.md3-number-input{display:inline-flex;align-items:center;justify-content:flex-end;gap:8px;width:100%}.md3-number-input>.md3-text-field-input,.md3-number-input>.md3-rate-input,.md3-number-input>.form-control{flex:1 1 auto;min-width:0}.md3-number-input__derived{color:color-mix(in srgb,currentColor 62%,transparent);font-size:12px;line-height:1.2;white-space:nowrap}@media(max-width:900px){.md3-number-input__derived{display:none}}.md3-rate-row{display:flex;align-items:stretch;gap:8px;border-radius:8px;padding:0 8px 0 4px;transition:border-color .15s ease,box-shadow .15s ease}.md3-rate-input{flex:1 1 auto;border:0;outline:0;background:transparent;padding:8px 10px;font:inherit;color:inherit;min-width:0}.md3-rate-input::placeholder{color:#616161;opacity:.8}.md3-rate-currency{flex:0 0 auto;border:0;outline:0;background:transparent;padding:8px 6px;font:inherit;color:inherit;min-width:84px;cursor:pointer;border-left:1px solid var(--color-border-light, #e0e0e0);margin-left:4px}.dark-mode .md3-rate-currency{border-left-color:#404040}.md3-date-range-field{width:100%}.md3-date-range-row{display:flex;align-items:center;gap:8px;border-radius:8px;padding:6px 8px}.md3-date-range-input-wrap{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:4px}.md3-date-range-caption{font-size:11px;line-height:1.2;color:#616161}.md3-date-range-input{width:100%;border:0;outline:0;background:transparent;color:inherit;font:inherit;min-width:0;padding:6px 4px}.md3-date-range-separator{flex:0 0 auto;color:#616161;padding:0 2px}.dark-mode .md3-date-range-caption,.dark-mode .md3-date-range-separator{color:#b0b0b0}@media(max-width:640px){.md3-date-range-row{flex-direction:column;align-items:stretch}.md3-date-range-separator{align-self:center;transform:rotate(90deg)}}.mv-datetime-with-timezone-wrapper{position:relative;width:100%}.mv-datetime-with-timezone{position:relative;display:block;width:100%}.mv-datetime-with-timezone .mv-datetime-input{width:100%;background-color:#fff;padding:12px 120px 12px 14px;font:inherit;color:inherit;transition:border-color .15s ease,box-shadow .15s ease}.mv-datetime-with-timezone .mv-datetime-input:focus{outline:none;box-shadow:0 0 0 2px #1976d21f}.mv-timezone-badge{position:absolute;right:30px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;padding:4px 10px;background-color:#e3f2fd;color:#1976d2;border:1px solid #e3f2fd;border-radius:12px;font-size:.75rem;font-weight:500;white-space:nowrap;pointer-events:none;z-index:1;margin-right:20px}.dark-mode .mv-datetime-with-timezone .mv-datetime-input{background-color:#2d2d2d;border-color:#404040;color:var(--md-sys-color-on-surface, #e0e0e0)}.dark-mode .mv-datetime-with-timezone .mv-datetime-input:focus{border-color:var(--md-sys-color-primary, #1976d2);box-shadow:0 0 0 2px color-mix(in srgb,var(--md-sys-color-primary, #1976d2) 40%,transparent)}.dark-mode .mv-timezone-badge{background-color:color-mix(in srgb,var(--md-sys-color-primary, #1976d2) 20%,transparent);color:var(--md-sys-color-primary, #1976d2);border-color:color-mix(in srgb,var(--md-sys-color-primary, #1976d2) 40%,transparent)}.mv-field-readonly .md3-text-field-input{background-color:#f5f5f5!important;color:#616161!important;cursor:not-allowed;opacity:.7}.dark-mode .mv-field-readonly .md3-text-field-input{background-color:#2a2a2a!important;color:#b0b0b0!important}.mv-field-readonly .md3-text-field-label{color:#616161!important}.dark-mode .mv-field-readonly .md3-text-field-label{color:#b0b0b0!important}.chips-autocomplete{position:relative}.chips-autocomplete-inner{display:flex;flex-wrap:wrap;gap:6px;border-radius:6px;padding:6px;min-height:40px;background:transparent}.chips-autocomplete-chip{background-color:var(--md-sys-color-chip);border-radius:16px;padding:2px 8px;display:inline-flex;align-items:center;gap:6px;max-width:100%}.chips-autocomplete-chip-label{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chips-autocomplete-remove{border:0;background:transparent;cursor:pointer;font-size:14px;line-height:1;padding:0}.chips-autocomplete-input{border:0;outline:none;flex:1 1 120px;min-width:120px;font:inherit;padding:4px 6px;background:transparent}.chips-autocomplete-menu{position:fixed;z-index:10000;background-color:#fff;border:1px solid #e0e0e0;border-radius:6px;max-height:260px;overflow-y:auto;box-shadow:0 6px 16px #0000002e}.chips-autocomplete-menu-item{padding:8px 10px;cursor:pointer;font-size:14px;border-bottom:1px solid #f0f0f0;background-color:transparent;transition:background-color .15s ease}.chips-autocomplete-menu-item--active{background-color:#e3f2fd}.dark-mode .chips-autocomplete-menu{background-color:#2d2d2d;border-color:#404040;box-shadow:0 6px 16px #0006}.dark-mode .chips-autocomplete-menu-item{border-bottom-color:#404040}.dark-mode .chips-autocomplete-menu-item--active{background-color:color-mix(in srgb,var(--md-sys-color-primary, #1976d2) 14%,transparent)}.project-attachments-empty{color:#616161;font-style:italic}.dark-mode .project-attachments-empty{color:#b0b0b0}.project-invoice-contacts{position:relative}.project-invoice-contacts-label{position:absolute;top:-12px;left:12px;padding:0 6px;font-size:12px;color:#616161;background:var(--color-bg-modal, #ffffff);z-index:2;pointer-events:none}.dark-mode .project-invoice-contacts-label{color:#b0b0b0}.md3-section-title-collapsible{cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:8px}.md3-section-title-text{min-width:0}.md3-section-collapsed-summary{margin-left:auto;min-width:0;display:inline-flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;font-size:14px;line-height:20px;font-weight:400;color:var(--md-sys-color-on-surface-variant, #49454f)}.project-form-section-summary{display:inline-flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;min-width:0}.project-form-section-summary__item{display:inline-flex;align-items:baseline;gap:4px;min-width:0;max-width:100%}.project-form-section-summary__label{font-weight:500;white-space:nowrap}.project-form-section-summary__value{min-width:0;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:768px){.md3-section-title-collapsible{flex-wrap:wrap;align-items:flex-start}.md3-section-collapsed-summary{width:100%;margin-left:28px;justify-content:flex-start}}.mv-hours-overhour-row{display:flex;align-items:center;gap:16px}.mv-hours-field{flex:1 1 auto;min-width:0}.mv-hours-switch{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:170px}.mv-switch{position:relative;display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.9rem;color:#888}.mv-switch-input{position:absolute;opacity:0;pointer-events:none}.mv-switch-track{position:relative;width:40px;height:22px;border-radius:999px;background-color:#e9ecef;box-shadow:inset 0 0 0 1px #00000014;display:inline-flex;align-items:center;padding:3px;box-sizing:border-box;transition:background-color .2s ease,box-shadow .2s ease}.mv-switch-thumb{width:16px;height:16px;border-radius:50%;background-color:#fff;box-shadow:0 1px 3px #0006;transform:translate(0);transition:transform .2s ease}.mv-switch-label{font-size:.85rem;font-weight:500;color:#888}.mv-switch-helper{font-size:.75rem;color:#616161;max-width:220px}.mv-switch--on .mv-switch-track{background-color:#1976d2;box-shadow:0 0 0 1px #00000029}.mv-switch--on .mv-switch-thumb{transform:translate(18px)}.mv-switch--disabled{cursor:default;opacity:.6}.dark-mode .mv-switch-label{color:#e0e0e0}.dark-mode .mv-switch-helper{color:#b0b0b0}.dark-mode .mv-switch-track{background-color:#3d3d3d;box-shadow:inset 0 0 0 1px #0009}.dark-mode .mv-switch--on .mv-switch-track{background-color:#1976d2}.dark-mode .mv-switch-thumb{background-color:#f5f5f5}@media(max-width:768px){.mv-hours-overhour-row{flex-direction:column;align-items:stretch;gap:8px}.mv-hours-switch{align-items:flex-start}}.view-table thead th .th-menu-button{opacity:0}.view-table thead th:hover .th-menu-button{opacity:1}.mv-summary-currency-switch{border:none;background:transparent;padding:0;margin:0;cursor:pointer;font:inherit;color:inherit}.mv-summary-currency-switch:hover{color:#1976d2;text-decoration:underline dotted}.mv-filter-badge{display:inline-flex;align-items:center;gap:6px}.mv-filter-badge-remove{border:none;background:transparent;padding:0;margin:0;cursor:pointer;color:inherit;font:inherit;line-height:1}.mv-filter-badge-remove:hover{opacity:.8}.mv-settlement-assignment-cell{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.mv-settlement-assignment-badge{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;text-align:left;min-width:0}.mv-settlement-assignment-badge__label{font-weight:600}.mv-settlement-assignment-badge__text{min-width:0;word-break:break-word}.mv-settlement-assignment-badge__icon{flex-shrink:0;font-size:14px}.pv-attach-button{position:relative}.pv-badge{position:absolute;top:-2px;right:-2px;background:var(--color-red-600);color:var(--color-white);border-radius:10px;padding:0 5px;font-size:10px;line-height:16px;min-width:16px;text-align:center}.pv-budget-status-cell{text-align:center}.pv-budget-status-icon{display:inline-flex;align-items:center;justify-content:center}.pv-budget-status-icon--within{color:#2e7d32}.pv-budget-status-icon--risk{color:#b26a00}.pv-budget-status-icon--over{color:#b3261e}.pv-budget-status-icon--unknown,.pv-budget-status-icon--loading{color:var(--color-gray-650)}.pv-budget-status-mobile{display:inline-flex;align-items:center}.pv-modal{width:min(1480px,100vw - 32px);max-width:calc(100vw - 32px);max-height:94vh}.pv-modal-body{display:grid;grid-template-columns:minmax(0,720px);gap:16px}.pv-modal-body.with-preview{grid-template-columns:720px minmax(0,720px)}.project-edit-modal-content{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;min-width:0}.pv-form-container{overflow:visible;max-height:none;width:100%;min-width:0;box-sizing:border-box}.project-edit-summary{padding:0 0 16px;border-bottom:none;background:transparent}.project-edit-summary .view-summary-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.project-edit-summary-card--meta .view-summary-card-value,.project-edit-summary-card--amount .view-summary-card-value{display:block;white-space:normal;word-break:break-word}.project-edit-summary-card--meta .view-summary-card-value{font-size:1.4rem;line-height:1.2}.project-edit-summary-card--amount .view-summary-card-value{font-size:1.6rem;line-height:1.2}.project-edit-summary-card--budget .view-summary-card-value{font-size:1.25rem;line-height:1.25}.project-edit-summary-card--interactive{cursor:pointer}.project-edit-summary-card--interactive:focus-visible{outline:2px solid var(--color-blue-600);outline-offset:2px}.project-edit-summary-card__detail{margin-top:6px;font-size:12px;line-height:1.4;color:var(--color-gray-650);white-space:normal;word-break:break-word}.project-edit-summary-card__badges{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:8px}.project-edit-actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.project-edit-action-card{margin:0}.project-edit-action-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.project-edit-action-card__title{display:inline-flex;align-items:center;gap:8px}.project-edit-action-card__description{margin:0;color:var(--color-gray-650);font-size:13px;line-height:1.5}.project-edit-action-card__badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.project-edit-action-card__empty{margin:12px 0 0;color:var(--color-gray-650);font-size:13px}.project-edit-action-card__list{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.project-edit-action-card__list--assignments{grid-template-columns:repeat(3,minmax(0,1fr))}.project-edit-action-card__list-item{border:1px solid var(--color-border-light);border-radius:10px;padding:10px;display:grid;gap:8px}.project-edit-action-card__list-item--editable{cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.project-edit-action-card__list-item--editable:hover{border-color:var(--color-primary, #007acc);box-shadow:0 0 0 1px #007acc33}.project-edit-action-card__list-main,.project-edit-action-card__list-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.project-edit-action-card__list-key{font-weight:600;color:var(--color-gray-800)}.project-edit-action-card__status-icon{display:inline-flex;align-items:center;justify-content:center}.project-edit-action-card__status-icon--active{color:#2e7d32}.project-edit-action-card__status-icon--inactive{color:#b3261e}.project-edit-action-card__employee-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.project-edit-action-card__more{margin-top:10px;font-size:12px;color:var(--color-gray-650)}.project-budget-breakdown{display:grid;gap:16px}.project-budget-breakdown-summary{padding:0 0 8px;border-bottom:none;background:transparent}.project-budget-breakdown-summary-card--projection .view-summary-card-title+.view-summary-card-value{margin-bottom:12px}.project-budget-breakdown-summary-card--danger{background-color:#ffebee;border-color:#ef9a9a}.project-budget-breakdown-summary-card--danger .view-summary-card-title,.project-budget-breakdown-summary-card--danger .view-summary-card-value,.project-budget-breakdown-summary-card--danger .view-summary-card-currency{color:#c62828}.project-budget-breakdown-section{margin:0}.project-budget-breakdown-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.project-budget-breakdown-item{display:grid;gap:4px;padding:12px;border:1px solid var(--color-border-light);border-radius:12px;background:var(--color-white)}.project-budget-breakdown-item__label{font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:var(--color-gray-650)}.project-budget-breakdown-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.project-budget-breakdown-granularity{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:12px;margin-top:12px}.project-budget-breakdown-granularity .period-scope-toggle{box-shadow:none;border:1px solid var(--color-border-light)}.project-budget-breakdown-granularity__label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--color-gray-650)}.project-budget-breakdown-combined{display:grid;gap:16px}.project-budget-breakdown-subsection{display:grid;gap:12px}.project-budget-breakdown-subsection--separated{padding-top:16px;border-top:1px solid var(--color-border-light)}.project-budget-breakdown-subtitle{font-size:13px;font-weight:700;color:var(--color-gray-800)}.project-budget-breakdown-empty{margin:0;padding:8px 0 0;color:var(--color-gray-650)}.project-budget-breakdown-note{margin:10px 0 0;color:var(--color-gray-650);font-size:13px;line-height:1.45}.project-budget-breakdown-deductions{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:11px;line-height:1}.project-budget-breakdown-deductions-empty{color:var(--color-gray-500);font-size:12px}.project-budget-breakdown-hours-icon{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;border-radius:999px;font-size:11px;font-weight:600;cursor:help;border:1px solid transparent}.project-budget-breakdown-hours-icon--vacation{color:#8a6a00;background:#fff6d6;border-color:#f0d88a}.project-budget-breakdown-hours-icon--bank{color:#255083;background:#eaf3ff;border-color:#b7d0f5}.project-budget-breakdown-table .amount{text-align:right;white-space:nowrap}.project-budget-breakdown-table .center{text-align:center}.project-budget-breakdown-table__actions{display:inline-flex;align-items:center;justify-content:center;gap:6px}.project-budget-breakdown-inline-form{display:grid;gap:16px}.project-budget-breakdown-table__inline-edit-cell{min-width:128px}.project-budget-breakdown-table__manual-column,.project-budget-breakdown-table__manual-cell{width:44px;min-width:44px}.project-budget-breakdown-table__manual-indicator.view-status-badge.warning{display:inline-flex;align-items:center;justify-content:center;min-width:0;padding:4px 6px;border-radius:999px;line-height:1}.project-budget-breakdown-table__manual-indicator svg{width:12px;height:12px}.project-budget-breakdown-table__inline-edit-trigger,.project-budget-breakdown-table__reset-trigger,.project-budget-breakdown-badge-reset{padding:0;border:none;background:transparent;color:inherit;font:inherit;cursor:pointer}.project-budget-breakdown-table__inline-edit-trigger{width:100%;text-align:inherit;border-bottom:1px dashed color-mix(in srgb,var(--color-blue-500) 55%,transparent);transition:color .18s ease,border-color .18s ease}.project-budget-breakdown-table__inline-edit-trigger:hover,.project-budget-breakdown-table__inline-edit-trigger:focus-visible{color:var(--color-blue-700);border-color:var(--color-blue-700);outline:none}.project-budget-breakdown-table__inline-edit-input{min-width:96px;text-align:right}.project-budget-breakdown-table__hours-value{display:inline-flex;align-items:center;justify-content:flex-end;gap:8px;width:100%}.project-budget-breakdown-table__hours-value>.project-budget-breakdown-table__inline-edit-trigger,.project-budget-breakdown-table__hours-value>.project-budget-breakdown-table__inline-edit-input{flex:1 1 auto;min-width:0}.project-budget-breakdown-table__hours-days{color:color-mix(in srgb,currentColor 62%,transparent);font-size:12px;line-height:1.2;white-space:nowrap}.project-budget-breakdown-table__reset-trigger{color:var(--color-blue-700);text-decoration:underline}.project-budget-breakdown-table__reset-trigger:hover,.project-budget-breakdown-table__reset-trigger:focus-visible{color:var(--color-blue-800);outline:none}.project-budget-breakdown-badge-reset{margin-left:6px;line-height:1}.project-budget-breakdown-badge-reset:hover,.project-budget-breakdown-badge-reset:focus-visible{outline:none;opacity:.85}.project-budget-breakdown-edit-error{margin:0;color:var(--color-warning-settlements-mismatch-down);font-size:13px;line-height:1.45}@media(max-width:900px){.project-budget-breakdown-table__hours-days{display:none}}.dark-mode .project-budget-breakdown-summary-card--danger{background-color:#7f1d1d;border-color:#b91c1c}.dark-mode .project-budget-breakdown-summary-card--danger .view-summary-card-title,.dark-mode .project-budget-breakdown-summary-card--danger .view-summary-card-value,.dark-mode .project-budget-breakdown-summary-card--danger .view-summary-card-currency{color:#fecaca}.project-budget-breakdown-table__row--interactive{cursor:pointer}.project-budget-breakdown-table__row--interactive td{transition:background-color .18s ease}.project-budget-breakdown-table__row--interactive:hover td,.project-budget-breakdown-table__row--interactive:focus-visible td{background:color-mix(in srgb,var(--color-blue-50) 72%,white)}.project-budget-breakdown-table__row--selected td{background:color-mix(in srgb,var(--color-blue-100) 78%,white)}.project-budget-breakdown-table__positive{color:var(--color-green-700);font-weight:600}.project-budget-breakdown-table__negative{color:var(--color-warning-settlements-mismatch-down);font-weight:600}.project-worklog-assignments-modal{display:grid;gap:16px}.project-worklog-assignments-modal__intro-header,.project-worklog-assignments-modal__section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.project-worklog-assignments-modal__intro-copy{margin:6px 0 0;color:var(--color-gray-650);font-size:13px;line-height:1.5}.project-worklog-assignments-modal__stats{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.project-worklog-assignments-modal__section-meta{font-size:12px;color:var(--color-gray-650);white-space:nowrap}.project-worklog-assignments-modal__form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;margin-top:16px}.project-worklog-assignments-modal__helper{display:block;margin-top:6px;color:var(--color-gray-650);line-height:1.45}.project-worklog-assignments-modal__status-toggle{grid-column:1/-1;display:grid;gap:6px}.project-worklog-assignments-modal__empty{margin:16px 0 0;color:var(--color-gray-650)}.project-worklog-assignments-modal__table{margin-top:12px}.project-worklog-assignments-modal__table code,.project-worklog-assignments-modal__guidance-item code{font-family:monospace;font-size:12px}.project-worklog-assignments-modal__row--inactive{opacity:.62}.project-worklog-assignments-modal__row--editable{cursor:pointer}.project-worklog-assignments-modal__table-hint{margin:10px 0 0;font-size:12px;color:var(--color-gray-650)}.project-worklog-assignments-modal__actions-heading,.project-worklog-assignments-modal__actions-cell{text-align:right;white-space:nowrap}.project-worklog-assignments-modal__actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:4px}.project-worklog-assignments-modal__code-cell code{white-space:nowrap}.project-worklog-assignments-modal__guidance-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:12px}.project-worklog-assignments-modal__guidance-item{display:grid;gap:8px;padding:12px;border:1px solid var(--color-border-light);border-radius:12px;background:var(--color-white)}.project-worklog-assignments-modal__guidance-item p{margin:0;color:var(--color-gray-650);font-size:13px;line-height:1.5}.project-worklog-assignments-modal__guidance-label{font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--color-gray-650)}.dark-mode .project-worklog-assignments-modal__guidance-item{background:#1e1e1e;border-color:#404040}.project-employee-assignments-modal{display:grid;gap:16px}.project-employee-assignments-modal__section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.project-employee-assignments-modal__section-heading{display:grid;gap:10px}.project-employee-assignments-modal__stats{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.project-employee-assignments-modal__stats--compact{margin-top:0}.project-employee-assignments-modal__section-meta{font-size:12px;color:var(--color-gray-650);white-space:nowrap}.project-employee-assignments-modal__form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 16px;margin-top:16px}.project-employee-assignments-modal__field--full{grid-column:1/-1}.project-employee-assignments-modal__form-actions{display:flex;justify-content:flex-end;gap:8px;grid-column:1/-1;margin-top:4px}.project-employee-assignments-modal__empty{margin:16px 0 0;color:var(--color-gray-650)}.project-employee-assignments-modal__table{margin-top:12px}.project-employee-assignments-modal__table-toolbar{display:flex;justify-content:flex-end;margin-top:12px;margin-bottom:-2px}.project-employee-assignments-modal__table-fab{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:999px;background:var(--color-primary, #1976d2);color:var(--color-white);cursor:pointer;box-shadow:0 10px 18px #1976d238;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease}.project-employee-assignments-modal__table-fab:hover,.project-employee-assignments-modal__table-fab:focus-visible{transform:translateY(-1px);box-shadow:0 12px 22px #1976d247;outline:none}.project-employee-assignments-modal__table-fab:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}.project-employee-assignments-modal__row--editing{background:color-mix(in srgb,var(--color-primary, #1976d2) 5%,transparent)}.project-employee-assignments-modal__employee-cell{min-width:220px}.project-employee-assignments-modal__employee-name{font-weight:600;color:var(--color-text-primary)}.project-employee-assignments-modal__muted{color:var(--color-gray-650);font-size:12px;line-height:1.45}.project-employee-assignments-modal__period{display:grid;gap:4px}.project-employee-assignments-modal__period-summary{display:grid;gap:2px}.project-employee-assignments-modal__period-line{display:grid;grid-template-columns:34px minmax(0,1fr);gap:6px;align-items:center}.project-employee-assignments-modal__period-label{font-size:11px;font-weight:600;color:var(--color-gray-650)}.project-employee-assignments-modal__period-value{min-width:0;font-size:12px;line-height:1.3}.project-employee-assignments-modal__period-editor{display:grid;gap:6px}.project-employee-assignments-modal__period-editor-row{display:grid;grid-template-columns:34px minmax(0,1fr);gap:6px;align-items:center}.project-employee-assignments-modal__period-value-button{border:1px solid var(--color-border-light);border-radius:8px;background:var(--color-white);padding:5px 8px;text-align:left;color:var(--color-text-primary);font:inherit;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.project-employee-assignments-modal__period-input{min-height:34px;padding:5px 8px;font-size:12px}.project-employee-assignments-modal__period-value-button:hover,.project-employee-assignments-modal__period-value-button:focus-visible{border-color:var(--color-primary, #1976d2);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary, #1976d2) 14%,transparent);outline:none}.project-employee-assignments-modal__editor-stack{display:grid;gap:8px}.project-employee-assignments-modal__editor-trigger{width:100%;display:grid;gap:4px;padding:10px 12px;border:1px solid var(--color-border-light);border-radius:10px;background:var(--color-white);color:var(--color-text-primary);text-align:left;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.project-employee-assignments-modal__editor-trigger:hover,.project-employee-assignments-modal__editor-trigger:focus-visible{border-color:var(--color-primary, #1976d2);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary, #1976d2) 14%,transparent);outline:none}.project-employee-assignments-modal__editor-trigger.is-open{border-color:var(--color-primary, #1976d2);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary, #1976d2) 16%,transparent)}.project-employee-assignments-modal__editor-trigger--centered{text-align:center}.project-employee-assignments-modal__editor-trigger--period{padding:8px 10px}.project-employee-assignments-modal__editor-trigger-value{font-size:13px;line-height:1.4}.project-employee-assignments-modal__editor-trigger-value--muted,.project-employee-assignments-modal__editor-trigger-meta{color:var(--color-gray-650)}.project-employee-assignments-modal__editor-trigger-meta{font-size:12px;line-height:1.35}.project-employee-assignments-modal__role-editor{position:relative;display:inline-flex}.project-employee-assignments-modal__editor-overlay{position:fixed;z-index:10002;display:grid;gap:8px;padding:8px;max-height:min(320px,100vh - 24px);overflow-y:auto;border:1px solid var(--color-border-light);border-radius:12px;background:var(--color-white);box-shadow:0 16px 30px #0f172a29}.project-employee-assignments-modal__editor-overlay--period,.project-employee-assignments-modal__editor-overlay--allocation,.project-employee-assignments-modal__editor-overlay--rate{padding:0;max-height:none;overflow:visible;border:none;background:transparent;box-shadow:none}.project-employee-assignments-modal__role-badge-trigger{border:none;cursor:pointer;font:inherit;background:transparent}.project-employee-assignments-modal__role-badge-trigger.is-open{box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary, #1976d2) 16%,transparent)}.project-employee-assignments-modal__role-menu,.project-employee-assignments-modal__employee-menu{display:grid;gap:4px}.project-employee-assignments-modal__employee-option{display:grid;gap:2px;border:none;border-radius:8px;background:transparent;padding:8px 10px;text-align:left;color:var(--color-text-primary);font:inherit;cursor:pointer;transition:background-color .15s ease,color .15s ease}.project-employee-assignments-modal__employee-option:hover,.project-employee-assignments-modal__employee-option:focus-visible{background:color-mix(in srgb,var(--color-primary, #1976d2) 10%,transparent);outline:none}.project-employee-assignments-modal__employee-option.is-selected{background:color-mix(in srgb,var(--color-primary, #1976d2) 16%,transparent)}.project-employee-assignments-modal__employee-option-name{font-weight:600}.project-employee-assignments-modal__employee-option-email{color:var(--color-gray-650);font-size:12px;line-height:1.35}.project-employee-assignments-modal__editor-row{display:grid;gap:8px}.project-employee-assignments-modal__editor-row--period{grid-template-columns:repeat(2,minmax(0,1fr))}.project-employee-assignments-modal__editor-row--allocation{grid-template-columns:minmax(0,1fr)}.project-employee-assignments-modal__editor-row--rate{grid-template-columns:minmax(0,1fr) 96px;align-items:center}.project-employee-assignments-modal__rate-currency-switch{justify-self:start;font-weight:600;white-space:nowrap}.project-employee-assignments-modal__editor-row .form-control{min-width:0}.project-employee-assignments-modal__role-option{border:none;border-radius:8px;background:transparent;padding:8px 10px;text-align:left;color:var(--color-text-primary);font:inherit;cursor:pointer;transition:background-color .15s ease,color .15s ease}.project-employee-assignments-modal__role-option:hover,.project-employee-assignments-modal__role-option:focus-visible{background:color-mix(in srgb,var(--color-primary, #1976d2) 10%,transparent);outline:none}.project-employee-assignments-modal__role-option.is-selected{background:color-mix(in srgb,var(--color-primary, #1976d2) 16%,transparent);color:var(--color-primary, #1976d2);font-weight:600}.project-employee-assignments-modal__allocation-input{min-width:88px;text-align:center}.project-employee-assignments-modal__row--inactive{opacity:.62}.project-employee-assignments-modal__actions-heading,.project-employee-assignments-modal__actions-cell{text-align:right;white-space:nowrap}.project-employee-assignments-modal__actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:4px}.project-employee-assignments-modal__editor-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:8px}.project-employee-assignments-modal__notes-button[data-active=true]{background:color-mix(in srgb,var(--color-primary, #1976d2) 12%,transparent);color:var(--color-primary, #1976d2)}.project-employee-assignments-modal__table-hint{margin:12px 0 0;color:var(--color-gray-650);font-size:12px}.project-employee-assignments-modal__empty-row td{padding:28px 16px}.project-employee-assignments-modal__empty-state{text-align:center;color:var(--color-gray-650)}.project-employee-assignments-modal__summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:12px}.project-employee-assignments-modal__summary-item{display:grid;gap:8px;padding:12px;border:1px solid var(--color-border-light);border-radius:12px;background:var(--color-white)}.project-employee-assignments-modal__summary-item strong{font-size:1.1rem}.project-employee-assignments-modal__summary-item--roles strong{font-size:1rem}.project-employee-assignments-modal__summary-label{font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--color-gray-650)}.project-employee-assignments-modal__roles{display:flex;flex-wrap:wrap;gap:8px}.dark-mode .project-employee-assignments-modal__summary-item{background:#1e1e1e;border-color:#404040}.dark-mode .project-employee-assignments-modal__editor-trigger,.dark-mode .project-employee-assignments-modal__period-value-button{background:#1e1e1e;border-color:#404040;color:#f3f4f6}.dark-mode .project-employee-assignments-modal__editor-overlay{background:#1e1e1e;border-color:#404040;box-shadow:0 16px 30px #00000073}.dark-mode .project-employee-assignments-modal__editor-overlay--period,.dark-mode .project-employee-assignments-modal__editor-overlay--allocation,.dark-mode .project-employee-assignments-modal__editor-overlay--rate{background:transparent;border-color:transparent;box-shadow:none}.dark-mode .project-employee-assignments-modal__table-fab{background:#64b5f6;color:#0f172a;box-shadow:0 12px 24px #00000052}.dark-mode .project-employee-assignments-modal__role-option,.dark-mode .project-employee-assignments-modal__employee-option{color:#f3f4f6}.dark-mode .project-employee-assignments-modal__employee-option-email{color:#9ca3af}.dark-mode .project-employee-assignments-modal__notes-button[data-active=true]{background:#404040;color:#64b5f6;border-color:#64b5f6}@media(max-width:1200px){.project-edit-action-card__list--assignments{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:768px){.project-edit-action-card__list--assignments{grid-template-columns:minmax(0,1fr)}.project-edit-action-card__header,.project-worklog-assignments-modal__intro-header,.project-worklog-assignments-modal__section-header{flex-direction:column;align-items:stretch}.project-worklog-assignments-modal__section-meta{white-space:normal}.project-worklog-assignments-modal__form-grid{grid-template-columns:minmax(0,1fr)}.project-employee-assignments-modal__section-header{flex-direction:column;align-items:stretch}.project-employee-assignments-modal__section-meta{white-space:normal}.project-employee-assignments-modal__form-grid{grid-template-columns:minmax(0,1fr)}.project-employee-assignments-modal__form-actions{justify-content:stretch;flex-direction:column-reverse}.project-employee-assignments-modal__form-actions .md3-button{width:100%}.project-employee-assignments-modal__editor-actions{width:auto;flex-direction:row;align-items:center;justify-content:flex-end}}.pv-preview-pane{border:1px solid var(--color-border-light);border-radius:4px;overflow:hidden;background:var(--color-white);height:calc(90vh - 180px);display:flex;flex-direction:column}.pv-preview-header{display:flex;align-items:center;justify-content:space-between;padding:8px;border-bottom:1px solid var(--color-border-light);background:#fafafa}.pv-preview-frame{width:100%;height:100%;border:none}.view-status-badge.vat-yes{background:#e8f5e9;color:#2e7d32}.view-status-badge.vat-no{background:#fff3e0;color:#ef6c00}.right{text-align:right}.employee-settlement-timeline{display:grid;gap:16px;margin-top:8px}.employee-settlement-timeline__summary,.employee-settlement-timeline__panel{border:1px solid #e0e0e0;border-radius:20px;background:#fff;overflow:hidden}.employee-settlement-timeline__summary{display:grid;gap:16px;padding:20px;background:radial-gradient(circle at top right,rgba(37,111,176,.12),transparent 42%),linear-gradient(135deg,#e3f2fde6,#f5f5f5e6)}.employee-settlement-timeline__eyebrow{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#256fb0}.employee-settlement-timeline__range{margin:6px 0 8px;font-size:24px;line-height:1.15;color:#1d1b20}.employee-settlement-timeline__description,.employee-settlement-timeline__panel-note,.employee-settlement-timeline__project-number{margin:0;color:#616161}.employee-settlement-timeline__stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.employee-settlement-timeline__stat{border-radius:16px;padding:14px 16px;background:#ffffffd1;border:1px solid rgba(37,111,176,.12);box-shadow:0 10px 24px #0000000a}.employee-settlement-timeline__stat-label{display:block;margin-bottom:6px;font-size:12px;color:#616161}.employee-settlement-timeline__stat-value{font-size:24px;line-height:1;color:#1d1b20}.employee-settlement-timeline__panel{padding:18px 20px 20px}.employee-settlement-timeline__panel--timeline{position:sticky;top:0;z-index:8;align-self:start;box-shadow:0 18px 32px #fffffff5,0 14px 28px #1d1b201a}.employee-settlement-timeline__panel--gantt{position:relative;z-index:1;padding-top:8px}.employee-settlement-timeline__panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.employee-settlement-timeline__panel-header--details{align-items:center}.employee-settlement-timeline__panel-title{margin:0 0 4px;font-size:18px;color:#1d1b20}.employee-settlement-timeline__chart-scroller{overflow-x:auto;overflow-y:hidden;padding-bottom:4px;scrollbar-width:none;-ms-overflow-style:none;cursor:grab}.employee-settlement-timeline__chart-scroller::-webkit-scrollbar{display:none;height:0}.employee-settlement-timeline__chart-scroller--dragging,.employee-settlement-timeline__chart-scroller--dragging *{cursor:grabbing!important}.employee-settlement-timeline__chart{display:grid;align-items:end;column-gap:6px;min-height:260px;min-width:max-content;padding:8px 0 0}.employee-settlement-timeline__bar{display:flex;flex-direction:column;align-items:center;gap:8px;width:72px;padding:0;border:none;background:transparent;cursor:pointer}.employee-settlement-timeline__bar-value{font-size:12px;font-weight:700;color:#616161}.employee-settlement-timeline__bar-shell{display:flex;align-items:flex-end;width:100%;height:190px;padding:6px;border-radius:20px;background:linear-gradient(180deg,#f0f0f0b3,#e3f2fd80);border:1px solid rgba(37,111,176,.12);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.employee-settlement-timeline__bar:hover .employee-settlement-timeline__bar-shell,.employee-settlement-timeline__bar--selected .employee-settlement-timeline__bar-shell{transform:translateY(-3px);box-shadow:0 14px 24px #256fb02e;border-color:#256fb059}.employee-settlement-timeline__bar--project-hovered .employee-settlement-timeline__bar-shell{border-color:#256fb073;box-shadow:0 16px 28px #256fb038}.employee-settlement-timeline__bar-fill{display:flex;flex-direction:column-reverse;width:100%;border-radius:14px;overflow:hidden;background:#ffffffb8}.employee-settlement-timeline__bar-segment{width:100%;min-height:8px;transition:opacity .18s ease,filter .18s ease}.employee-settlement-timeline__bar-segment--hovered{filter:saturate(1.15) brightness(1.05)}.employee-settlement-timeline__bar-segment--dimmed{opacity:.35}.employee-settlement-timeline__bar-label{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:100%;min-height:68px;padding:8px 6px;border-radius:14px;background:#f5f5f5e6;color:#616161;font-size:12px;font-weight:700;transition:background .18s ease,color .18s ease,box-shadow .18s ease}.employee-settlement-timeline__bar-label small{font-size:11px;font-weight:500;color:inherit}.employee-settlement-timeline__bar-badges{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;width:100%}.employee-settlement-timeline__bar-badge{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:0;padding:3px 6px;border-radius:999px;font-size:10px;font-weight:700;line-height:1}.employee-settlement-timeline__bar-badge-label{opacity:.72;letter-spacing:.04em}.employee-settlement-timeline__bar-badge--bank{background:#0e74901f;color:#0f4c5c}.employee-settlement-timeline__bar-badge--vacation{background:#16a34a24;color:#166534}.employee-settlement-timeline__bar:hover .employee-settlement-timeline__bar-label,.employee-settlement-timeline__bar--selected .employee-settlement-timeline__bar-label{background:#e3f2fd;color:#256fb0;box-shadow:inset 0 0 0 1px #256fb02e}.employee-settlement-timeline__bar--project-hovered .employee-settlement-timeline__bar-label{background:#e3f2fdb8;color:#256fb0;box-shadow:inset 0 0 0 1px #256fb033}.employee-settlement-timeline__selected-stats{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.employee-settlement-timeline__selected-stats--modal{justify-content:flex-start;margin-bottom:16px}.employee-settlement-timeline__selected-stat{padding:6px 10px;border-radius:999px;background:#f5f5f5;color:#424242;font-size:12px;font-weight:600}.employee-settlement-timeline__projects{display:grid;gap:12px}.employee-settlement-timeline__project-card{padding:14px 16px;border-radius:16px;border:1px solid rgba(37,111,176,.14);background:linear-gradient(180deg,#fffffffa,#f5f5f5e6)}.employee-settlement-timeline__project-header,.employee-settlement-timeline__project-metrics{display:flex;align-items:center;justify-content:space-between;gap:12px}.employee-settlement-timeline__project-header{margin-bottom:10px}.employee-settlement-timeline__project-name-wrap{display:flex;align-items:center;gap:12px;min-width:0}.employee-settlement-timeline__project-dot{flex:0 0 auto;width:12px;height:12px;border-radius:999px;box-shadow:0 0 0 4px #fffc}.employee-settlement-timeline__project-name{font-weight:700;color:#1d1b20}.employee-settlement-timeline__project-hours{font-size:18px;color:#1d1b20}.employee-settlement-timeline__project-metrics{flex-wrap:wrap;justify-content:flex-start;margin-bottom:10px;font-size:13px;color:#616161}.employee-settlement-timeline__project-progress{width:100%;height:10px;border-radius:999px;overflow:hidden;background:#256fb01f}.employee-settlement-timeline__project-progress-fill{display:block;height:100%;border-radius:inherit}.employee-settlement-timeline__empty{padding:24px 16px;border-radius:16px;background:#f5f5f5;color:#616161;text-align:center}.employee-settlement-timeline__gantt-scroller{overflow-x:auto;padding-bottom:4px;cursor:grab}.employee-settlement-timeline__gantt-scroller--dragging,.employee-settlement-timeline__gantt-scroller--dragging *{cursor:grabbing!important}.employee-settlement-timeline__gantt-grid{display:grid;gap:8px 6px;align-items:center;min-width:max-content}.employee-settlement-timeline__gantt-project{position:sticky;left:0;z-index:2;display:flex;width:100%;align-items:center;gap:12px;min-height:58px;padding:12px 14px;font:inherit;text-align:left;color:inherit;border-radius:16px;border:1px solid rgba(37,111,176,.1);background:linear-gradient(180deg,#fffffffa,#f5f5f5f5);-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;box-shadow:8px 0 18px #ffffffeb;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.employee-settlement-timeline__gantt-project--hovered{border-color:#256fb047;box-shadow:8px 0 18px #ffffffeb,0 12px 24px #256fb024;transform:translateY(-1px)}.employee-settlement-timeline__gantt-project-copy{display:grid;gap:4px;min-width:0}.employee-settlement-timeline__gantt-project-name{color:#1d1b20;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.employee-settlement-timeline__gantt-project-meta{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;color:#616161}.employee-settlement-timeline__gantt-track{display:grid;position:relative;align-items:center;min-height:58px}.employee-settlement-timeline__gantt-track--hovered .employee-settlement-timeline__gantt-slot:before{background:#256fb038}.employee-settlement-timeline__gantt-slot{grid-row:1;position:relative;z-index:0;display:block;align-self:stretch;min-height:58px;padding:8px 4px;border-radius:16px}.employee-settlement-timeline__gantt-slot:before{content:"";position:absolute;left:6px;right:6px;top:50%;height:1px;background:#256fb01f;transform:translateY(-50%)}.employee-settlement-timeline__gantt-slot--selected{background:#e3f2fd8c}.employee-settlement-timeline__gantt-span{grid-row:1;position:relative;z-index:1;align-self:center;min-height:28px;margin:0 4px;padding:0;border:none;border-radius:999px;box-shadow:0 8px 14px #1d1b2024;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.employee-settlement-timeline__gantt-span--project-range{z-index:0;opacity:.34;box-shadow:0 4px 8px #1d1b2014;pointer-events:none}.employee-settlement-timeline__gantt-span--selected{box-shadow:0 0 0 2px #256fb033,0 8px 14px #1d1b2024}.employee-settlement-timeline__gantt-span--hovered,.employee-settlement-timeline__gantt-span:hover,.employee-settlement-timeline__gantt-span:focus-visible{transform:translateY(-1px);box-shadow:0 0 0 2px #256fb038,0 12px 18px #1d1b202e;filter:saturate(1.08);outline:none}.employee-settlement-timeline__settlement-periods{display:grid;gap:16px}.employee-settlement-timeline__settlement-period{display:grid;gap:12px;padding:16px;border:1px solid rgba(37,111,176,.12);border-radius:18px;background:linear-gradient(180deg,#fffffffa,#f5f5f5f5)}.employee-settlement-timeline__settlement-period-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px}.employee-settlement-timeline__settlement-period-metrics{display:flex;flex-wrap:wrap;gap:8px 12px;font-size:12px;color:#616161}.employee-settlement-timeline__settlement-list{display:grid;gap:10px}.employee-settlement-timeline__settlement-row{display:grid;gap:6px;padding:12px 14px;border-radius:14px;background:#ffffffeb;border:1px solid rgba(37,111,176,.08)}.employee-settlement-timeline__settlement-row-main,.employee-settlement-timeline__settlement-row-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.employee-settlement-timeline__settlement-row-meta{font-size:12px;color:#616161}.employee-settlement-timeline__settlement-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;background:#256fb01f;color:#256fb0;font-size:11px;font-weight:700;letter-spacing:.02em;text-transform:uppercase}@media(max-width:900px){.employee-settlement-timeline__stats{grid-template-columns:repeat(2,minmax(0,1fr))}.employee-settlement-timeline__panel-header,.employee-settlement-timeline__project-header,.employee-settlement-timeline__project-metrics{flex-direction:column;align-items:flex-start}.employee-settlement-timeline__selected-stats{justify-content:flex-start}.employee-settlement-timeline__panel--timeline{top:0}.employee-settlement-timeline__gantt-project{position:static;box-shadow:none}.employee-settlement-timeline__settlement-period-header{flex-direction:column;align-items:flex-start}}@media(max-width:640px){.employee-settlement-timeline__summary,.employee-settlement-timeline__panel{padding:16px}.employee-settlement-timeline__stats{grid-template-columns:1fr 1fr}.employee-settlement-timeline__chart{gap:10px}.employee-settlement-timeline__bar-shell{height:168px}}.rates-type-badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:12px;line-height:18px;vertical-align:middle}.rates-type-badge.to-employee{background:#e3f2fd;color:#256fb0}.rates-type-badge.from-customer{background:#fff3e0;color:#ef6c00}.md3-list-item-amount{font-weight:600;color:#256fb0}.md3-list-item-amount .md3-list-item-currency{margin-left:4px;font-weight:400;color:#546e7a}.md3-list-item-amount .md3-list-item-overhour{margin-left:6px;font-weight:500;color:#6d4c41}.md3-list-item.inactive{opacity:.6}.md3-filter-chips-section{margin-bottom:8px}.md3-employee-chip-selected .md3-employee-chip-avatar{background:#e3f2fd;color:#256fb0}.md3-employee-dropdown{position:absolute;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:10px;box-shadow:0 6px 18px #1018281f;padding:6px;z-index:10}.md3-employee-dropdown-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:8px;cursor:pointer}.md3-employee-dropdown-item:hover{background:#0288d10f}.timesheets-view .view-summary-card.primary,.timesheets-view .view-summary-card.info{background:#e3f2fd;color:#256fb0}.timesheets-view .view-summary-card.success{background:#e8f5e9;color:#2e7d32}.timesheets-view .view-summary-card.warning{background:#fff3e0;color:#ef6c00}.timesheets-view .labels{display:flex;flex-wrap:wrap;gap:6px}.timesheets-view .label-tag{display:inline-block;padding:2px 8px;border-radius:10px;font-size:12px;line-height:18px;background:#e3f2fd;color:#256fb0;border:1px solid rgba(0,0,0,.06)}.timesheets-view .overhour-badge{display:inline-flex;align-items:center;justify-content:center;min-width:42px;padding:2px 8px;border-radius:999px;font-size:12px;line-height:18px;font-weight:600;border:1px solid transparent}.timesheets-view .overhour-badge.is-overhour{background:#fff3e0;color:#ef6c00;border-color:#ef6c0040}.timesheets-view .overhour-badge.is-regular{background:#e8f5e9;color:#2e7d32;border-color:#2e7d3233}.timesheets-view .md3-employee-chip-selected .md3-employee-chip-avatar{background:#e3f2fd;color:#256fb0}.timesheets-view .view-empty .view-empty-title{color:#256fb0}.timesheets-view .mv-field-changed{position:relative}.timesheets-view .mv-field-changed .md3-text-field-input,.timesheets-view .mv-field-changed select.md3-text-field-input,.timesheets-view .mv-field-changed textarea.md3-text-field-input{border-color:#ef6c00!important;box-shadow:inset 0 0 0 1px #ef6c0080}.timesheets-view .mv-field-changed .md3-text-field-label{color:#ef6c00}.monospace{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.dark-mode .timesheets-view{background-color:#1e1e1e}.dark-mode .timesheets-view .overhour-badge.is-overhour{background:#ef6c0033;color:#ffcc80;border-color:#ef6c0073}.dark-mode .timesheets-view .overhour-badge.is-regular{background:#2e7d3233;color:#a5d6a7;border-color:#2e7d3273}.timesheets-view .timesheets-summary-card.users{background-color:#fff3e0;border-color:#ffcc80}.timesheets-view .timesheets-summary-value.hours{color:var(--md-sys-color-primary, #1976d2)}.timesheets-view .timesheets-summary-value.billable{color:#2e7d32}.timesheets-view .timesheets-summary-value.users{color:#ef6c00}.timesheets-view .timesheets-table-container{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001f,0 1px 2px #0000003d;overflow:hidden}.timesheets-view .timesheets-table-wrapper{overflow-x:auto}.timesheets-view .timesheets-table{width:100%;border-collapse:collapse}.timesheets-view .timesheets-table th{padding:16px 24px;text-align:left;font-size:14px;font-weight:500;color:#49454f;background-color:#f7f2fa;border-bottom:1px solid #e0e0e0}.timesheets-view .timesheets-table th.actions{text-align:right}.timesheets-view .timesheets-table tbody tr{border-bottom:1px solid #e0e0e0;transition:background-color .2s}.timesheets-view .timesheets-table tbody tr:hover{background-color:#f7f2fa}.timesheets-view .timesheets-table td{padding:16px 24px;font-size:14px;color:#1d1b20}.timesheets-view .timesheets-table td.key{color:#49454f}.timesheets-view .timesheets-table td.user{font-weight:500}.timesheets-view .timesheets-table td.hours{font-weight:600}.timesheets-view .timesheets-table td.actions{text-align:right}.timesheets-view .timesheets-table-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.timesheets-view .timesheets-empty{padding:48px 24px;text-align:center;color:#49454f;font-size:14px}.timesheets-view .timesheet-entry{position:relative;height:4px;background-color:#f0f0f0;border-radius:2px;overflow:hidden}.timesheets-view .entry-bar{height:100%;border-radius:2px;transition:all .2s ease}.timesheets-view .timesheet-entry:hover .entry-bar{transform:scaleY(1.5)}.timesheets-view .timesheet-entry-detailed{background-color:#f8f9fa;border-left:4px solid #007bff;padding:.5rem;margin-bottom:.5rem;border-radius:4px;font-size:.85rem}.timesheets-view .entry-info{display:flex;flex-direction:column;gap:.2rem}.timesheets-view .entry-user{font-weight:600;color:#2c3e50}.timesheets-view .entry-project{color:#666;font-size:.8rem}.timesheets-view .entry-hours{color:#007bff;font-weight:600}.timesheets-view .day-timesheet-entry{background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px #0000000d}.timesheets-view .entry-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid #e0e0e0}.timesheets-view .entry-header .entry-user{font-size:1.1rem;font-weight:600;color:#2c3e50}.timesheets-view .entry-header .entry-hours{font-size:1.2rem;font-weight:700;color:#007bff;background-color:#e3f2fd;padding:.5rem 1rem;border-radius:20px}.dark-mode .timesheets-view .timesheets-table-container{background-color:#1e1e1e;box-shadow:0 1px 3px #0000004d,0 1px 2px #0006}.dark-mode .timesheets-view .timesheets-table th{background-color:#2d2d2d;color:#e0e0e0;border-bottom:1px solid #404040}.dark-mode .timesheets-view .timesheets-table tbody tr{border-bottom:1px solid #404040}.dark-mode .timesheets-view .timesheets-table tbody tr:hover{background-color:#2d2d2d}.dark-mode .timesheets-view .timesheets-table td{color:#e0e0e0}.dark-mode .timesheets-view .timesheets-table td.key,.dark-mode .timesheets-view .timesheets-empty{color:#b0b0b0}.dark-mode .timesheets-view .timesheets-summary-card{border-color:#404040}.dark-mode .timesheets-view .timesheets-summary-card.entries{background-color:#2d2d2d}.dark-mode .timesheets-view .timesheets-summary-card.hours{background-color:#0d47a1;border-color:#1976d2}.dark-mode .timesheets-view .timesheets-summary-card.billable{background-color:#1b5e20;border-color:#2e7d32}.dark-mode .timesheets-view .timesheets-summary-card.users{background-color:#e65100;border-color:#ef6c00}.dark-mode .timesheets-view .timesheets-summary-title{color:#b0b0b0}.dark-mode .timesheets-view .timesheets-summary-title.hours{color:#bbdefb}.dark-mode .timesheets-view .timesheets-summary-title.billable{color:#c8e6c9}.dark-mode .timesheets-view .timesheets-summary-title.users{color:#ffe0b2}.dark-mode .timesheets-view .timesheets-summary-value{color:#e0e0e0}.dark-mode .timesheets-view .timesheets-summary-value.hours{color:#bbdefb}.dark-mode .timesheets-view .timesheets-summary-value.billable{color:#c8e6c9}.dark-mode .timesheets-view .timesheets-summary-value.users{color:#ffe0b2}.dark-mode .timesheets-view .timesheet-entry-detailed{background-color:#2d2d2d;border-left:4px solid #64b5f6}.dark-mode .timesheets-view .entry-user{color:#e0e0e0}.dark-mode .timesheets-view .entry-project{color:#b0b0b0}.dark-mode .timesheets-view .entry-hours{color:#64b5f6}.dark-mode .timesheets-view .day-timesheet-entry{background-color:#1e1e1e;border:1px solid #404040}.dark-mode .timesheets-view .entry-header{border-bottom:1px solid #404040}.dark-mode .timesheets-view .entry-header .entry-user{color:#e0e0e0}.dark-mode .timesheets-view .entry-header .entry-hours{color:#000;background-color:#64b5f6}.view-status-badge{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border-radius:999px;font-size:12px;line-height:18px;background-color:#e3f2fd;color:#256fb0}.view-status-badge.paid{background-color:#e8f5e9;color:#2e7d32}.view-status-badge.partial{background-color:#fff3e0;color:#ef6c00}.view-status-badge.unpaid{background-color:#fce4ec;color:#e53935}.invoice-detail-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}.invoice-detail-summary-grid .summary-item{background:#e3f2fd;color:#1d1b20;border-radius:8px;padding:8px 10px}.invoice-detail-summary-grid .summary-item span{font-size:12px;opacity:.8;display:block;margin-bottom:2px}.invoice-detail-summary-grid .summary-item strong{font-size:14px}.invoice-detail-summary-grid .summary-item.total{background:#fff3e0;color:#1d1b20}.vat-summary-table{width:100%;border-collapse:collapse;border:1px solid #e0e0e0;border-radius:8px;overflow:hidden}.vat-summary-table th,.vat-summary-table td{padding:8px 10px;border-bottom:1px solid #e0e0e0}.vat-summary-table thead{background:#e3f2fd;color:#1d1b20}.vat-summary-table .amount{text-align:right}.vat-summary-table .vat-summary-total td{font-weight:600}.invoice-bottom-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px}.invoice-bottom-summary .left-note .note-block{border:1px solid #e0e0e0;border-radius:8px;padding:8px 10px;background:#fff}.invoice-bottom-summary .left-note .note-block strong{display:block;margin-bottom:6px}.amount{text-align:right}.view-summary-card{border-radius:10px;background:#fff;color:#1d1b20}.view-summary-card.primary,.view-summary-card.info{background:#e3f2fd;color:#256fb0}.view-summary-card.warning{background:#fff3e0;color:#ef6c00}.view-summary-card.success{background:#e8f5e9;color:#2e7d32}.settlements-reconciliation-view .settlements-reconciliation-filters-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.settlements-reconciliation-view .settlements-reconciliation-tolerance-note{color:#616161;font-size:12px}.settlements-reconciliation-view .settlements-reconciliation-toggle-group{flex-wrap:wrap}.settlements-reconciliation-view .settlements-reconciliation-summary-card--interactive{cursor:pointer}.settlements-reconciliation-view .settlements-reconciliation-summary-card--amount .view-summary-card-value{display:block;font-size:1.2rem;line-height:1.35;white-space:normal;word-break:break-word}.settlements-reconciliation-view .settlements-reconciliation-summary-card__detail{margin-top:6px;font-size:12px;line-height:1.4;color:#616161;white-space:normal;word-break:break-word}.settlements-reconciliation-view .settlements-reconciliation-status{display:inline-flex;align-items:center;justify-content:center;min-width:92px;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.4px;text-transform:uppercase}.settlements-reconciliation-view .settlements-reconciliation-status.match{background-color:#e3f2fd;color:#616161;border:1px solid #e0e0e0}.settlements-reconciliation-view .settlements-reconciliation-status.mismatch{background-color:#fce4ec;color:#e53935;border:1px solid #e53935}.settlements-reconciliation-view .settlements-reconciliation-delta{font-weight:600}.settlements-reconciliation-view .settlements-reconciliation-delta.match{color:#616161}.settlements-reconciliation-view .settlements-reconciliation-delta.mismatch{color:#e53935}.settlements-reconciliation-view .view-table tbody tr.view-table-row-details td{padding:16px 12px;border-top:none;background:#fcfcfd}.settlements-reconciliation-view .settlements-reconciliation-row-actions{display:inline-flex;align-items:center;gap:6px;justify-content:center}.settlements-reconciliation-view .settlements-reconciliation-connection-column{min-width:64px}.settlements-reconciliation-view .settlements-reconciliation-connection-rails{display:inline-grid;grid-auto-flow:column;grid-auto-columns:6px;gap:1px;align-items:center;justify-content:center;min-height:28px;margin:0 auto}.settlements-reconciliation-view .settlements-reconciliation-connection-lane{position:relative;width:6px;height:28px;color:#1976d2;opacity:0;pointer-events:none;transition:color .16s ease,opacity .16s ease,filter .16s ease}.settlements-reconciliation-view .settlements-reconciliation-connection-lane.is-active{opacity:1;pointer-events:auto;cursor:pointer}.settlements-reconciliation-view .settlements-reconciliation-connection-lane.is-hovered{color:#256fb0;filter:drop-shadow(0 0 2px rgba(25,118,210,.2))}.settlements-reconciliation-view .settlements-reconciliation-connection-lane__line{position:absolute;left:50%;top:50%;bottom:50%;width:2px;transform:translate(-50%);background:currentColor;transition:background-color .16s ease}.settlements-reconciliation-view .settlements-reconciliation-connection-lane.has-top .settlements-reconciliation-connection-lane__line{top:-14px}.settlements-reconciliation-view .settlements-reconciliation-connection-lane.has-bottom .settlements-reconciliation-connection-lane__line{bottom:-14px}.settlements-reconciliation-view .settlements-reconciliation-connection-lane__branch{position:absolute;top:50%;left:50%;width:var(--connection-branch-width, 8px);height:2px;transform:translateY(-50%);background:currentColor;opacity:0;transition:background-color .16s ease,opacity .16s ease}.settlements-reconciliation-view .settlements-reconciliation-connection-lane.has-node .settlements-reconciliation-connection-lane__branch{opacity:1}.settlements-reconciliation-view .settlements-reconciliation-connection-lane__dot{position:absolute;top:50%;left:calc(50% + var(--connection-branch-width, 8px));width:6px;height:6px;border-radius:50%;transform:translate(-50%,-50%);background:currentColor;opacity:0;transition:background-color .16s ease,opacity .16s ease}.settlements-reconciliation-view .settlements-reconciliation-connection-lane.has-node .settlements-reconciliation-connection-lane__dot{opacity:1}.settlements-reconciliation-view .settlements-reconciliation-expand-button{display:inline-flex;align-items:center;gap:2px;min-height:28px;padding:2px 6px;border:1px solid #e0e0e0;border-radius:8px;background:#fff;color:#616161;cursor:pointer;transition:border-color .16s ease,background-color .16s ease}.settlements-reconciliation-view .settlements-reconciliation-expand-button:hover:not(.is-disabled),.settlements-reconciliation-view .settlements-reconciliation-expand-button:focus-visible:not(.is-disabled){border-color:#1976d2;background:#e3f2fd;outline:none}.settlements-reconciliation-view .settlements-reconciliation-expand-button.is-disabled{cursor:not-allowed;opacity:.45}.settlements-reconciliation-view .settlements-reconciliation-expand-button--mobile{margin-right:4px}.settlements-reconciliation-view .settlements-reconciliation-expand-count{font-size:11px;font-weight:600;min-width:14px}.settlements-reconciliation-view .settlements-reconciliation-group{margin:0;padding:10px;border:1px solid #e0e0e0;border-radius:10px;background:#f9fbff}.settlements-reconciliation-view .settlements-reconciliation-group--mobile{margin:10px 0 0;padding:8px}.settlements-reconciliation-view .settlements-reconciliation-group__header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.settlements-reconciliation-view .settlements-reconciliation-group__title{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#616161}.settlements-reconciliation-view .settlements-reconciliation-group__count{font-size:12px;color:#616161}.settlements-reconciliation-view .settlements-reconciliation-group__table-container{overflow-x:auto;border:1px solid #e0e0e0;border-radius:8px;background:#fff}.settlements-reconciliation-view .settlements-reconciliation-group__table{min-width:620px}.settlements-reconciliation-view .settlements-reconciliation-group__table th,.settlements-reconciliation-view .settlements-reconciliation-group__table td{padding:12px 16px;line-height:normal;vertical-align:middle}.settlements-reconciliation-view .settlements-reconciliation-group--mobile .settlements-reconciliation-group__table{min-width:0}.settlements-reconciliation-view .settlements-reconciliation-settlement-row{cursor:pointer;transition:background-color .2s ease}.settlements-reconciliation-view .settlements-reconciliation-settlement-row:hover,.settlements-reconciliation-view .settlements-reconciliation-settlement-row:focus-visible{background:#f7f2fa;outline:none}.settlements-reconciliation-view .settlements-reconciliation-group__table tfoot td{font-weight:500;color:inherit;padding-top:12px;padding-bottom:12px}.settlements-reconciliation-view .settlements-reconciliation-group__table tfoot tr{line-height:normal}.settlements-reconciliation-view .view-table tbody tr.settlements-reconciliation-row--mismatch{background-color:#fff3f3}.settlements-reconciliation-view .view-table tbody tr.settlements-reconciliation-row--mismatch:hover{background-color:#ffe7e7}.settlements-reconciliation-view .view-table tbody tr.settlements-reconciliation-row--mismatch td:first-child{box-shadow:inset 4px 0 #e53935}.view-status-badge.doc-type-invoice{background:#e8f5e9;color:#2e7d32}.view-status-badge.doc-type-po{background:#fff3e0;color:#ef6c00}.view-status-badge.doc-type-report,.view-status-badge.doc-type-contract,.view-status-badge.doc-type-document,.view-status-badge.doc-type-timesheet,.view-status-badge.doc-type-sow{background:#e3f2fd;color:#256fb0}.view-status-badge.doc-type-other{background:#eceff1;color:#37474f}.amount.primary{color:#256fb0}.center{text-align:center}.doc-tree{width:280px;max-height:60vh;overflow-y:auto;background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:10px;padding:8px}.doc-tree-header{font-weight:600;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:#546e7a;padding:6px 8px 8px;border-bottom:1px solid rgba(0,0,0,.08);margin-bottom:6px}.doc-tree-body{display:block}.doc-tree-row{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;width:100%;text-align:left;display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:8px;cursor:pointer;transition:background .12s ease,color .12s ease,box-shadow .12s ease}.doc-tree-row:hover{background:#0288d10f}.doc-tree-row.active{background:#e3f2fd;color:#256fb0;box-shadow:inset 3px 0 #256fb0}.doc-tree-toggle{width:20px;min-width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;color:#78909c}.doc-tree-toggle.invisible{visibility:hidden}.doc-tree-icon{width:20px;min-width:20px;display:inline-flex;align-items:center;justify-content:center;color:#607d8b}.doc-tree-name{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-tree-badge{margin-left:auto;background:#e3f2fd;color:#256fb0;padding:0 6px;border-radius:10px;font-size:11px;line-height:18px;min-width:18px;text-align:center}.doc-tree-children{margin-left:14px;padding-left:8px;border-left:1px dashed rgba(0,0,0,.08)}.settings-container{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:16px}.settings-header{display:flex;align-items:center;justify-content:space-between;padding:12px 8px 16px;border-bottom:1px solid #e0e0e0;margin-bottom:16px}.settings-title{margin:0;font-size:20px;color:#1d1b20}.settings-subtitle{margin:6px 0 0;color:#49454f;font-size:13px}.settings-tabs-shell{border:1px solid #e0e0e0;border-radius:16px;overflow:hidden;background:linear-gradient(180deg,#fcfdff,#f7f9fc)}.settings-tabs-overview{padding:18px 20px 14px;border-bottom:1px solid rgba(15,23,42,.08);background:radial-gradient(circle at top right,rgba(37,99,235,.09),transparent 34%),linear-gradient(180deg,#fffffff5,#f8fafcf2)}.settings-tabs-eyebrow{margin-bottom:6px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#256fb0}.settings-tabs-title{margin:0;font-size:20px;color:#1d1b20}.settings-tabs-description{margin:8px 0 0;max-width:760px;font-size:13px;line-height:1.5;color:#475569}.settings-tabs-nav{border-bottom:1px solid rgba(15,23,42,.08);background:#ffffffeb}.settings-tabs-nav .MuiTabs-flexContainer{gap:4px;padding:10px 12px 0}.settings-tabs-nav .MuiTab-root{min-height:46px;border-radius:10px 10px 0 0;color:#475569;text-transform:none;font-size:13px;font-weight:600;align-items:flex-start}.settings-tabs-nav .MuiTab-root.Mui-selected{color:#256fb0;background:#2563eb14}.settings-tabs-nav .MuiSvgIcon-root{font-size:18px}.settings-tabs-nav .MuiTabs-indicator{height:3px;border-radius:999px 999px 0 0;background:#256fb0}.settings-tabs-body{display:grid;gap:16px;padding:18px}.settings-tab-panel{display:grid;gap:16px}.settings-section-tab{display:none;margin-bottom:0}.settings-tabs-body--wfirma .settings-section-tab--wfirma,.settings-tabs-body--sharepoint .settings-section-tab--sharepoint,.settings-tabs-body--atlassian .settings-section-tab--atlassian,.settings-tabs-body--imports .settings-section-tab--imports,.settings-tabs-body--resources .settings-section-tab--resources{display:block}.settings-section{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:16px;margin-bottom:16px}.settings-section-last{margin-bottom:0}.settings-section-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}.settings-section-icon{width:36px;height:36px;min-width:36px;border-radius:8px;display:grid;place-items:center;color:#fff}.settings-section-icon.integration{background:#256fb0}.settings-section-icon.info{background:#ef6c00}.settings-section-icon.docs{background:#c2185b}.settings-section-title{margin:0;font-size:16px;color:#1d1b20}.settings-section-description{margin:4px 0 0;font-size:13px;color:#49454f}.settings-subsection-title{margin:0;font-size:15px;color:#1d1b20}.settings-subsection-description{margin:6px 0 0;font-size:13px;color:#49454f}.settings-form,.settings-company-selection{display:grid;gap:12px}.settings-company-row{display:flex;gap:12px;align-items:flex-end}.settings-company-select{flex:1}.settings-actions{display:flex;gap:12px;margin-top:8px}.settings-atlassian-sources{display:grid;gap:12px}.settings-atlassian-source-card{display:grid;gap:12px;padding:14px;border:1px solid rgba(15,23,42,.1);border-radius:12px;background:linear-gradient(180deg,#fffffff5,#f8fafceb)}.settings-atlassian-source-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.settings-atlassian-source-title{font-size:13px;font-weight:700;color:#1f2937}.settings-atlassian-source-fields{display:grid;gap:12px}.settings-atlassian-sources-actions{display:flex;justify-content:flex-start}.settings-connection-status{display:flex;gap:12px;align-items:center;border-radius:8px;padding:10px 12px;border:1px solid #e0e0e0;background:#fafafa}.settings-connection-status.success{border-color:#e8f5e9;background:#e8f5e9}.settings-connection-status.success .settings-status-message{color:#2e7d32}.settings-connection-status.error{border-color:#e53935;background:#fdecea}.settings-connection-status.error .settings-status-message{color:#e53935}.settings-status-icon{font-size:20px;display:grid;place-items:center;color:#1d1b20}.settings-status-message{font-weight:600;margin-bottom:2px}.settings-status-details{font-size:12px;color:#49454f}.settings-info-content{display:grid;gap:12px}.settings-info-box{border:1px solid #e0e0e0;border-radius:8px;padding:12px;background:#fafafa}.settings-info-title{margin:0 0 6px;font-size:14px;color:#1d1b20}.settings-info-list{margin:0;padding-left:20px;font-size:13px;color:#49454f}.settings-warning-box{border:1px solid #fff3e0;background:#fff3e0;border-radius:8px;padding:12px}.settings-warning-title{margin:0 0 4px;color:#ef6c00;display:flex;align-items:center;gap:6px}.settings-warning-text{margin:0;font-size:13px;color:#5c3a00}.settings-import-picker{display:grid;gap:8px}.settings-import-picker-label{font-size:14px;font-weight:600;color:#1d1b20}.settings-import-file-input{border:1px dashed #e0e0e0;border-radius:8px;padding:12px;background:#fafafa}.settings-import-helper{font-size:12px;color:#49454f}.settings-import-files-list{margin:0;padding-left:20px;display:grid;gap:6px;font-size:13px;color:#49454f}.settings-import-invalid-file{margin-left:8px;color:#e53935;font-weight:600}.settings-import-validation-note .settings-warning-text{color:#49454f}.settings-import-results{display:grid;gap:12px}.settings-import-result{border:1px solid #e0e0e0;border-radius:10px;padding:12px;background:#fafafa}.settings-import-result--success{border-color:#e8f5e9;background:#e8f5e9}.settings-import-result--issues{border-color:#f0c36d;background:#fff7e8}.settings-import-result--error{border-color:#e53935;background:#fdecea}.settings-import-result-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.settings-import-result-title{margin:0;font-size:14px;color:#1d1b20}.settings-import-result-meta{margin-top:4px;font-size:12px;color:#49454f}.settings-import-result-badge{border-radius:999px;padding:4px 10px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;background:#fffc;color:#1d1b20}.settings-import-result-grid{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));font-size:13px;color:#49454f}.settings-import-result-applied{margin-top:10px;font-size:13px;color:#1d1b20}.settings-import-result-error{margin-top:10px;font-size:13px;color:#e53935;font-weight:600}.settings-import-result-details{margin-top:10px}.settings-import-result-details summary{cursor:pointer;font-size:13px;font-weight:600;color:#1d1b20}.settings-import-result-details pre{margin:8px 0 0;padding:10px;overflow:auto;border-radius:8px;background:#ffffffbf;font-size:12px;line-height:1.45;color:#49454f}.settings-docs-intro{margin:0 0 6px;color:#49454f}.settings-docs-list{margin:0;padding-left:16px}.settings-docs-link{color:#256fb0;text-decoration:none}.settings-docs-link:hover{text-decoration:underline}@media(max-width:900px){.settings-tabs-overview,.settings-tabs-body{padding-left:14px;padding-right:14px}.settings-company-row,.settings-actions,.settings-import-result-header{flex-direction:column;align-items:stretch}.settings-company-select{width:100%}}.background-jobs-refresh-button.is-auto{cursor:default}.background-jobs-refresh-button.is-auto svg{opacity:.1}.background-jobs-refresh-button.is-auto:hover{background-color:transparent}.background-jobs-refresh-button.is-auto:focus,.background-jobs-refresh-button.is-auto:active{background-color:transparent}.background-jobs-refresh-button.is-auto:hover svg{-webkit-animation:none;animation:none;transform:none}.background-jobs-refresh-auto-badge{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:10px;line-height:1;padding:2px 6px;border-radius:999px;background-color:color-mix(in srgb,var(--md-sys-color-on-surface, #1d1b20) 12%,transparent);color:var(--md-sys-color-on-surface-variant, #49454f);pointer-events:none;z-index:1;-webkit-user-select:none;user-select:none}:root{--color-white: #ffffff;--color-black: #000000;--color-text-primary: #1d1b20;--color-border-light: #e0e0e0;--color-gray-50: #f5f5f5;--color-gray-100: #f8f9fa;--color-gray-200: #f0f0f0;--color-gray-300: #e9ecef;--color-gray-400: #e3f2fd;--color-gray-500: #d4edda;--color-gray-600: #c8e6c9;--color-gray-700: #b0b0b0;--color-gray-800: #888888;--color-gray-900: #424242;--overlay-35: rgba(0, 0, 0, .35);--color-red-600: #e53935;--color-chip-gray: #e3f2fd;--color-surface-dark: #1e1e1e;--color-surface-elevated-dark: #2d2d2d;--color-surface-muted-dark: #3d3d3d;--color-surface-soft-dark: #2a2a2a;--color-panel-dark: #1a1a1a;--color-border-dark: #404040;--color-border-strong-dark: #333333;--color-error-surface-dark: #2d1a1a;--color-warning-surface-dark: #2d1a00;--color-overlay-soft-dark: rgba(0, 0, 0, .3);--color-overlay-strong-dark: rgba(0, 0, 0, .4);--color-bg-app-light: var(--color-gray-50);--color-bg-app-dark: #121212;--color-bg-modal-light: var(--color-white);--color-bg-modal-dark: #1e1e1e;--color-bg-modal-header-light: #e3f2fd;--color-bg-modal-header-dark: #256fb0;--color-bg-app: var(--color-bg-app-light);--color-bg-modal: var(--color-bg-modal-light);--color-bg-modal-header: var(--color-bg-modal-header-light);--md-sys-color-secondary-container: var(--color-surface-elevated);--color-warning-settlements-mismatch-up: #f5cc00;--color-warning-settlements-mismatch-down: #d32f2f}.dark-mode{--color-bg-app: var(--color-bg-app-dark);--color-bg-modal: var(--color-bg-modal-dark);--color-bg-modal-header: var(--color-bg-modal-header-dark);--md-sys-color-secondary-container: var(--color-surface-elevated-dark);--color-warning-settlements-mismatch-up: #f5cc00;--color-warning-settlements-mismatch-down: #d32f2f}.background-jobs-view-actions{display:flex;justify-content:flex-end;padding:12px 12px 0;margin-bottom:10px}.background-jobs-view-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.background-jobs-view-details-grid{display:grid;grid-template-columns:180px 1fr;gap:6px;font-size:13px}.background-jobs-view-form-grid{display:grid;grid-template-columns:180px 1fr;gap:8px;align-items:center}.background-jobs-view-textarea{width:100%;min-height:120px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.background-jobs-view-textarea.is-tall{min-height:140px}.background-jobs-view-hint{font-size:12px;opacity:.75}.background-jobs-view-status-hint{font-size:13px;opacity:.8}.background-jobs-view-error-text{color:#e53935}
