.contracts-table-cell.actions-cell{min-width:120px!important;width:auto;padding:.5rem .25rem!important;white-space:nowrap;position:relative}.contract-actions{display:flex;align-items:center;gap:.375rem;position:relative;justify-content:flex-start}.action-btn{display:flex!important;align-items:center;justify-content:center;border:none!important;border-radius:.375rem;padding:.5rem!important;cursor:pointer;transition:all .2s ease;font-size:.875rem;font-weight:500;min-width:2.5rem!important;height:2.5rem!important;flex-shrink:0;margin:0!important}.action-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 2px 4px #0000001a!important}.action-btn:disabled{cursor:not-allowed!important;opacity:.6!important;transform:none!important}.action-btn.pdf-btn{background-color:#8b5cf6!important;color:#fff!important}.action-btn.pdf-btn:hover:not(:disabled){background-color:#7c3aed!important}.dropdown-trigger{background-color:#6b7280!important;color:#fff!important;display:flex;align-items:center;gap:.125rem}.dropdown-trigger:hover:not(:disabled){background-color:#4b5563!important}.actions-dropdown{position:relative}.dropdown-menu{position:absolute;top:100%;right:0;background:#fff;border:1px solid #e5e7eb;border-radius:.375rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;z-index:9999!important;min-width:200px;max-height:300px;overflow-y:auto;overflow-x:visible;margin-top:.25rem}.dropdown-item{width:100%!important;padding:.75rem 1rem!important;display:flex!important;align-items:center!important;gap:.75rem!important;background:#fff!important;border:none!important;text-align:left!important;cursor:pointer!important;font-size:.875rem!important;color:#374151!important;transition:background-color .15s ease!important;border-bottom:1px solid #f3f4f6!important;box-sizing:border-box!important;min-height:44px!important;justify-content:flex-start!important}.dropdown-item:last-child{border-bottom:none}.dropdown-item:hover:not(:disabled){background-color:#f9fafb}.dropdown-item:disabled{color:#9ca3af;cursor:not-allowed;background-color:#f9fafb}.dropdown-item.payment-btn:hover:not(:disabled){background-color:#dcfce7;color:#16a34a}.dropdown-item.history-btn:hover:not(:disabled){background-color:#e0f2fe;color:#0ea5e9}.dropdown-item.edit-btn:hover:not(:disabled){background-color:#dbeafe;color:#3b82f6}.dropdown-item.package-booking-btn:hover:not(:disabled){background-color:#dcfce7;color:#16a34a}.dropdown-item.delete-btn:hover:not(:disabled){background-color:#fee2e2;color:#dc2626}.dropdown-backdrop{position:fixed;inset:0;z-index:999;background:transparent}.loading-spinner-small{width:14px;height:14px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}.rotate-180{transform:rotate(180deg);transition:transform .2s ease}@media (max-width: 768px){.contracts-table-cell.actions-cell{min-width:100px!important;position:sticky;right:0;background:#fff;border-left:1px solid #e5e7eb}.contract-actions{gap:.25rem}.action-btn{min-width:2rem!important;height:2rem!important;padding:.375rem!important}.dropdown-menu{min-width:150px;right:-10px}.dropdown-item{padding:.5rem .75rem;font-size:.8125rem}}@media (max-width: 480px){.contracts-table-cell.actions-cell{min-width:80px!important}.action-btn{min-width:1.75rem!important;height:1.75rem!important;padding:.25rem!important}.action-btn svg{width:12px!important;height:12px!important}.dropdown-menu{right:-20px;min-width:140px}}.contracts-table-container{overflow-x:auto;position:relative}.action-btn svg,.dropdown-item svg{flex-shrink:0}.contracts-filter{margin-bottom:1.5rem;border:1px solid #e5e7eb;border-radius:.5rem;background-color:#fff;overflow:hidden}.filter-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background-color:#f9fafb;border-bottom:1px solid #e5e7eb}.filter-toggle-btn{display:flex;align-items:center;gap:.5rem;background:transparent;border:none;cursor:pointer;font-size:.875rem;font-weight:500;color:#374151;padding:0;transition:color .2s ease}.filter-toggle-btn:hover{color:#111827}.filter-toggle-btn.active{color:#16a34a}.filter-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;height:1.5rem;background-color:#16a34a;color:#fff;font-size:.75rem;font-weight:600;border-radius:9999px;padding:0 .375rem}.clear-filters-btn{display:flex;align-items:center;gap:.375rem;background-color:#f3f4f6;color:#6b7280;border:1px solid #d1d5db;border-radius:.375rem;padding:.5rem .75rem;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s ease}.clear-filters-btn:hover{background-color:#e5e7eb;color:#374151;border-color:#9ca3af}.clear-filters-btn:focus{outline:2px solid #16a34a;outline-offset:2px}.filter-content{padding:1.5rem;animation:filterSlideDown .3s ease-out}@keyframes filterSlideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}@media (min-width: 768px){.filter-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width: 1024px){.filter-grid{grid-template-columns:repeat(4,1fr)}}.filter-group{display:flex;flex-direction:column;gap:.375rem}.filter-label{font-size:.75rem;font-weight:500;color:#374151;text-transform:uppercase;letter-spacing:.05em}.filter-select,.filter-input{width:100%;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;color:#111827;background-color:#fff;transition:all .2s ease}.filter-select:focus,.filter-input:focus{outline:none;border-color:#16a34a;box-shadow:0 0 0 3px #16a34a1a}.filter-select{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem}.active-filters{padding-top:1rem;border-top:1px solid #e5e7eb}.active-filters-label{display:block;font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem}.active-filters-list{display:flex;flex-wrap:wrap;gap:.5rem}.filter-tag{display:inline-flex;align-items:center;gap:.375rem;background-color:#eff6ff;color:#1e40af;border:1px solid #bfdbfe;border-radius:9999px;padding:.25rem .75rem;font-size:.75rem;font-weight:500;animation:filterTagSlideIn .2s ease-out}@keyframes filterTagSlideIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.filter-tag-remove{display:flex;align-items:center;justify-content:center;width:1rem;height:1rem;background-color:#3b82f6;color:#fff;border:none;border-radius:9999px;cursor:pointer;transition:background-color .2s ease}.filter-tag-remove:hover{background-color:#1e40af}.filter-tag-remove:focus{outline:2px solid #3b82f6;outline-offset:2px}.filter-results-info{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;background-color:#f0fdf4;border:1px solid #bbf7d0;border-radius:.375rem;margin-bottom:1rem;font-size:.875rem}.filter-results-count{color:#166534;font-weight:600}.filter-results-total{color:#6b7280}@media (max-width: 768px){.filter-header{flex-direction:column;gap:.75rem;align-items:stretch}.filter-content{padding:1rem}.filter-grid{grid-template-columns:1fr;gap:.75rem}.active-filters-list{justify-content:flex-start}.filter-tag{font-size:.6875rem;padding:.1875rem .5rem}.filter-tag-remove{width:.875rem;height:.875rem}}@media (max-width: 640px){.filter-header,.filter-content{padding:.75rem 1rem}.filter-toggle-btn{font-size:.8125rem}.clear-filters-btn{font-size:.6875rem;padding:.375rem .5rem}.filter-select,.filter-input{font-size:.8125rem;padding:.375rem .5rem}.filter-select{padding-right:2rem;background-size:1.25em 1.25em}}.filter-toggle-btn:focus{outline:2px solid #16a34a;outline-offset:2px}.filter-select:hover,.filter-input:hover{border-color:#9ca3af}.filter-select:invalid{border-color:#ef4444}.filter-input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;color:#6b7280}.filter-loading{display:flex;align-items:center;justify-content:center;padding:2rem;color:#6b7280;font-size:.875rem}.filter-loading-spinner{display:inline-block;width:1rem;height:1rem;border:2px solid rgba(107,114,128,.3);border-radius:50%;border-top-color:#6b7280;animation:spin 1s linear infinite;margin-right:.5rem}.filter-no-results{text-align:center;padding:3rem 1.5rem;color:#6b7280}.filter-no-results-icon{margin:0 auto 1rem;color:#d1d5db}.filter-no-results h3{margin:0 0 .5rem;font-size:1.125rem;font-weight:600;color:#374151}.filter-no-results p{margin:0;font-size:.875rem;line-height:1.5}.filter-no-results-actions{margin-top:1.5rem;display:flex;justify-content:center;gap:.75rem}.filter-toggle-btn:focus-visible,.clear-filters-btn:focus-visible,.filter-select:focus-visible,.filter-input:focus-visible,.filter-tag-remove:focus-visible{outline:2px solid #16a34a;outline-offset:2px}@media (prefers-contrast: high){.filter-count-badge{border:2px solid currentColor}.filter-tag{border-width:2px}}@media (prefers-reduced-motion: reduce){.filter-content,.filter-tag,.filter-loading-spinner{animation:none}}.partner-contracts-page{padding:1.5rem;max-width:1400px;margin:0 auto}.partner-contracts-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;gap:1rem}.partner-contracts-header-content h1{display:flex;align-items:center;font-size:1.875rem;font-weight:700;color:#111827;margin:0 0 .5rem}.partner-contracts-title{display:flex;align-items:center;gap:.5rem}.partner-contracts-description{color:#6b7280;font-size:1rem;margin:0 0 1.5rem}.partner-contracts-stats{display:flex;gap:2rem;flex-wrap:wrap}.stat-item{display:flex;flex-direction:column;gap:.25rem}.partner-contracts-header-actions{flex-shrink:0}.add-contract-btn{display:flex;align-items:center;gap:.5rem;background-color:#4f46e5;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s}.add-contract-btn:hover{background-color:#3730a3}.partner-contracts-filters{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.filter-select{padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;color:#111827;background-color:#fff;min-width:150px}.partner-contracts-table-container{background:#fff;border-radius:.5rem;overflow:hidden;box-shadow:0 1px 3px #0000001a}.partner-contracts-table-wrapper{overflow-x:auto}.partner-contracts-table{width:100%;border-collapse:collapse}.partner-contracts-table-head{background-color:#f9fafb}.partner-contracts-table-header{padding:.75rem 1rem;text-align:left;font-size:.875rem;font-weight:600;color:#374151;border-bottom:1px solid #e5e7eb;white-space:nowrap}.partner-contracts-table-body{background-color:#fff}.partner-contracts-table-row{border-bottom:1px solid #f3f4f6;transition:background-color .1s}.partner-contracts-table-row:hover{background-color:#f9fafb}.partner-contracts-table-cell{padding:1rem;font-size:.875rem;color:#111827;vertical-align:top}.contract-info{display:flex;flex-direction:column;gap:.25rem}.contract-number{font-weight:600;color:#111827}.contract-created{font-size:.75rem;color:#6b7280}.partner-info{display:flex;flex-direction:column;gap:.25rem}.plan-info{display:flex;flex-direction:column;gap:.25rem}.plan-name{font-weight:500;color:#111827}.discount-code{font-size:.75rem;color:#059669;background-color:#ecfdf5;padding:.125rem .375rem;border-radius:.25rem;width:fit-content}.billing-info{display:flex;flex-direction:column;gap:.25rem}.billing-frequency{font-weight:500;color:#111827;text-transform:capitalize}.auto-renew{font-size:.75rem;color:#059669;background-color:#ecfdf5;padding:.125rem .375rem;border-radius:.25rem;width:fit-content}.final-price{font-weight:600;color:#111827;font-size:.9375rem}.discount-info{display:flex;flex-direction:column;gap:.125rem}.base-price{font-size:.75rem;color:#6b7280;text-decoration:line-through}.discount{font-size:.75rem;color:#dc2626}.period-dates{font-size:.875rem;color:#111827}.next-payment{font-size:.75rem;color:#059669;font-weight:500}.status-badge{display:inline-flex;align-items:center;padding:.25rem .5rem;font-size:.75rem;font-weight:500;border-radius:.375rem;text-transform:capitalize}.status-expired{background-color:#fee2e2;color:#991b1b}.status-cancelled{background-color:#f3f4f6;color:#374151}.status-draft{background-color:#e0e7ff;color:#3730a3}.status-inactive{background-color:#f3f4f6;color:#6b7280}.contract-actions{display:flex;gap:.5rem}.action-btn{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;border-radius:.25rem;cursor:pointer;transition:all .2s}.view-btn{background-color:#e0f2fe;color:#0369a1}.view-btn:hover{background-color:#bae6fd}.edit-btn{background-color:#fef3c7;color:#d97706}.edit-btn:hover{background-color:#fde68a}.delete-btn{background-color:#fee2e2;color:#dc2626}.delete-btn:hover{background-color:#fecaca}.partner-contracts-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.empty-icon{color:#9ca3af;margin-bottom:1rem}.partner-contracts-empty p{color:#6b7280;font-size:1rem;margin:0}.partner-contracts-loading{display:flex;align-items:center;justify-content:center;padding:4rem;font-size:1rem;color:#6b7280}.access-denied{text-align:center;padding:4rem 2rem}.access-denied h1{font-size:1.5rem;font-weight:600;color:#dc2626;margin-bottom:1rem}.access-denied p{color:#6b7280;font-size:1rem}.payment-history-modal{width:100%;max-width:900px;max-height:90vh;overflow-y:auto}.contract-summary{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;padding:1.5rem;margin-bottom:1.5rem}.section-title{font-size:1.125rem;font-weight:600;color:#111827;margin:0 0 1rem}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.summary-item{display:flex;flex-direction:column;gap:.25rem}.summary-value{font-size:.9375rem;color:#111827;font-weight:600}.payment-stats{display:flex;gap:2rem;margin-bottom:2rem;flex-wrap:wrap}.payment-stats .stat-item{background-color:#fff;border:1px solid #e5e7eb;border-radius:.5rem;padding:1rem;min-width:150px;text-align:center}.payment-stats .stat-value.paid{color:#059669}.payment-stats .stat-value.outstanding{color:#dc2626}.payments-section{margin-bottom:1rem}.add-payment-btn{display:flex;align-items:center;gap:.5rem;background-color:#4f46e5;color:#fff;border:none;padding:.5rem 1rem;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s}.add-payment-btn:hover{background-color:#3730a3}.loading-state{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:2rem;color:#6b7280}.loading-spinner{width:1.5rem;height:1.5rem;border:2px solid #e5e7eb;border-top:2px solid #4f46e5;border-radius:50%;animation:spin 1s linear infinite}.payments-list{display:flex;flex-direction:column;gap:1rem}.payment-item{background-color:#fff;border:1px solid #e5e7eb;border-radius:.5rem;padding:1.5rem;transition:shadow .2s}.payment-item:hover{box-shadow:0 4px 6px -1px #0000001a}.payment-info{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.payment-period{display:flex;align-items:center;gap:.5rem;font-size:.9375rem;font-weight:500;color:#111827}.payment-details{display:flex;align-items:center;gap:1rem}.payment-amount{font-size:1.125rem;font-weight:600;color:#111827}.payment-status{padding:.25rem .75rem;font-size:.75rem;font-weight:500;border-radius:.375rem;text-transform:uppercase;letter-spacing:.05em}.status-paid{background-color:#dcfce7;color:#166534}.status-failed{background-color:#fee2e2;color:#991b1b}.status-overdue{background-color:#fecaca;color:#991b1b}.status-default{background-color:#f3f4f6;color:#6b7280}.payment-meta{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding-top:1rem;border-top:1px solid #f3f4f6}.payment-dates,.payment-method-info{display:flex;flex-direction:column;gap:.5rem}.date-item,.method-item,.reference-item{display:flex;gap:.5rem;font-size:.875rem}.date-label,.method-label,.reference-label{color:#6b7280;font-weight:500;min-width:80px}.date-value,.method-value,.reference-value{color:#111827;font-weight:500}.delete-modal{max-width:500px}.warning-text p{margin:0 0 .5rem;font-size:.875rem;color:#92400e;line-height:1.5}.warning-note{font-style:italic;font-size:.8125rem!important}.partner-contract-modal{max-width:800px;max-height:90vh;overflow-y:auto}.form-section{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid #e5e7eb}.form-section:last-child{border-bottom:none;margin-bottom:0}.form-section-title{font-size:1.125rem;font-weight:600;color:#111827;margin:0 0 1rem}.form-row{display:grid;grid-template-columns:1fr;gap:1rem;margin-bottom:1rem}.form-input,.form-select{width:100%;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;color:#111827;box-sizing:border-box;transition:border-color .2s}.form-input:focus,.form-select:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a}.form-help{font-size:.75rem;color:#6b7280;margin-top:.25rem}.form-checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;margin-bottom:.5rem}.form-checkbox{width:1rem;height:1rem;border:1px solid #d1d5db;border-radius:.25rem;cursor:pointer}.checkbox-text{font-size:.875rem;color:#374151}.plan-details{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;padding:1rem;margin-top:1rem}.plan-details h4{font-size:.9375rem;font-weight:600;color:#111827;margin:0 0 .75rem}.plan-info-display{display:flex;flex-direction:column;gap:.5rem}.plan-detail-item{display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.detail-label{color:#6b7280;font-weight:500}.detail-value{color:#111827;font-weight:600}.pricing-summary{background-color:#f0fdf4;border:1px solid #bbf7d0;border-radius:.5rem;padding:1rem;margin-top:1rem}.pricing-summary h4{font-size:.9375rem;font-weight:600;color:#166534;margin:0 0 .75rem}.pricing-breakdown{display:flex;flex-direction:column;gap:.5rem}.pricing-item{display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.pricing-item.discount{color:#dc2626}.pricing-item.total{padding-top:.5rem;border-top:1px solid #bbf7d0;font-weight:600;font-size:.9375rem}.pricing-label{color:#166534}.pricing-value{font-weight:600;color:#166534}@media (max-width: 768px){.partner-contracts-page{padding:1rem}.partner-contracts-header{flex-direction:column;align-items:stretch;gap:1.5rem}.partner-contracts-stats{gap:1rem}.partner-contracts-filters{flex-direction:column}.filter-group{width:100%}.filter-select{min-width:auto}.payment-info{flex-direction:column;gap:.5rem}.payment-details{align-self:flex-start}.payment-meta{grid-template-columns:1fr}.contract-actions{flex-wrap:wrap}.form-row,.summary-grid{grid-template-columns:1fr}.payment-stats{flex-direction:column;gap:1rem}}@media print{.partner-contracts-header-actions,.partner-contracts-filters,.contract-actions,.add-payment-btn{display:none}.partner-contracts-table{font-size:.75rem}.partner-contracts-table-cell{padding:.5rem}}.btn-danger{background-color:#dc2626;color:#fff;border:1px solid #dc2626;padding:.5rem 1rem;border-radius:.375rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-danger:hover{background-color:#b91c1c;border-color:#b91c1c}.delete-modal .btn-danger,.modal-container .btn-danger{background-color:#dc2626!important;color:#fff!important;border:1px solid #dc2626!important;font-weight:500}.delete-modal .btn-danger:hover,.modal-container .btn-danger:hover{background-color:#b91c1c!important;color:#fff!important;border-color:#b91c1c!important}.delete-modal .btn-danger:focus,.modal-container .btn-danger:focus{color:#fff!important;box-shadow:0 0 0 3px #dc26264d}.btn-print{background-color:#2563eb;color:#fff;border:1px solid #2563eb;transition:all .2s ease}.btn-print:hover{background-color:#1d4ed8;border-color:#1d4ed8;transform:translateY(-1px)}.btn-print:disabled{background-color:#9ca3af;border-color:#9ca3af;cursor:not-allowed;transform:none}.spinner-small{width:16px;height:16px;border:2px solid #ffffff;border-top:2px solid transparent;border-radius:50%;animation:spin 1s linear infinite}.pricing-plans-page{padding:1.5rem;max-width:100%;background-color:#f9fafb;min-height:100vh}.pricing-plans-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;background:#fff;padding:2rem;border-radius:.75rem;box-shadow:0 1px 3px #0000001a}.pricing-plans-header-content{flex:1}.pricing-plans-title{display:flex;align-items:center;font-size:1.875rem;font-weight:700;color:#111827;margin-bottom:.5rem}.pricing-plans-description{color:#6b7280;font-size:1rem;margin-bottom:1.5rem}.pricing-plans-stats{display:flex;gap:2rem}.pricing-plans-header-actions{display:flex;gap:1rem;align-items:center}.add-plan-btn{display:flex;align-items:center;background-color:#4f46e5;color:#fff;border:none;border-radius:.5rem;padding:.75rem 1.5rem;font-weight:600;cursor:pointer;transition:background-color .2s}.add-plan-btn:hover{background-color:#4338ca}.pricing-plans-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.pricing-plan-card{background:#fff;border-radius:.75rem;box-shadow:0 1px 3px #0000001a;padding:1.5rem;transition:all .2s;border:2px solid transparent}.pricing-plan-card:hover{box-shadow:0 4px 6px -1px #0000001a;transform:translateY(-2px)}.pricing-plan-card.trial-plan{border-color:#f59e0b;background:linear-gradient(135deg,#fffbeb,#fff)}.plan-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.plan-name-section{flex:1}.plan-name{font-size:1.25rem;font-weight:700;color:#111827;margin-bottom:.5rem}.plan-badges{display:flex;gap:.5rem;flex-wrap:wrap}.trial-badge{background-color:#fef3c7;color:#92400e;padding:.25rem .75rem;border-radius:1rem;font-size:.75rem;font-weight:500}.plan-actions{display:flex;gap:.25rem}.action-btn{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;border-radius:.375rem;cursor:pointer;transition:all .2s}.view-btn{background-color:#f3f4f6;color:#6b7280}.view-btn:hover{background-color:#e5e7eb;color:#374151}.edit-btn{background-color:#eff6ff;color:#2563eb}.edit-btn:hover{background-color:#dbeafe;color:#1d4ed8}.plan-description{color:#6b7280;font-size:.875rem;line-height:1.5;margin-bottom:1.5rem}.plan-pricing{margin-bottom:1.5rem}.trial-pricing{text-align:center;padding:1rem;background-color:#fef3c7;border-radius:.5rem;border:1px solid #f59e0b}.trial-text{display:block;font-size:1.25rem;font-weight:700;color:#92400e;margin-bottom:.25rem}.trial-duration{font-size:.875rem;color:#92400e}.price-option{display:flex;align-items:baseline;gap:.25rem;margin-bottom:.75rem;padding:.75rem;border-radius:.5rem;transition:background-color .2s}.price-option:hover{background-color:#f9fafb}.price-option.yearly{background-color:#eff6ff;border:1px solid #3b82f6}.price-label{font-size:.875rem;font-weight:500;color:#6b7280;min-width:4rem}.price-value{font-size:1.5rem;font-weight:700;color:#111827}.price-period{font-size:.875rem;color:#6b7280}.savings-badge{background-color:#22c55e;color:#fff;padding:.125rem .5rem;border-radius:.75rem;font-size:.625rem;font-weight:600;margin-left:auto}.plan-features-summary{display:flex;justify-content:space-between;align-items:center;padding:1rem;background-color:#f9fafb;border-radius:.5rem;margin-bottom:1rem}.features-count{display:flex;flex-direction:column;align-items:center}.features-count .count{font-size:1.5rem;font-weight:700;color:#111827}.features-count .label{font-size:.75rem;color:#6b7280;text-align:center}.view-features-btn{display:flex;align-items:center;gap:.25rem;background:none;border:none;color:#4f46e5;font-size:.875rem;font-weight:500;cursor:pointer;transition:color .2s}.view-features-btn:hover{color:#4338ca}.plan-footer{border-top:1px solid #f3f4f6;padding-top:.75rem}.created-date{color:#9ca3af;font-size:.75rem}.pricing-plans-empty{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;color:#6b7280;background:#fff;border-radius:.75rem;box-shadow:0 1px 3px #0000001a}.pricing-plans-loading{display:flex;align-items:center;justify-content:center;padding:4rem;font-size:1.125rem;color:#6b7280}.input-with-prefix,.input-with-suffix{position:relative;display:flex;align-items:center}.input-prefix{position:absolute;left:.75rem;color:#6b7280;font-weight:500;z-index:1}.input-suffix{position:absolute;right:.75rem;color:#6b7280;font-size:.875rem}.input-with-prefix .form-input{padding-left:2rem}.input-with-suffix .form-input{padding-right:3rem}.pricing-preview{margin-top:1rem;padding:1rem;background-color:#f9fafb;border-radius:.5rem;border:1px solid #e5e7eb}.pricing-preview h4{font-size:.875rem;font-weight:600;color:#374151;margin-bottom:.75rem}.preview-comparison{display:flex;flex-direction:column;gap:.5rem}.preview-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem;background:#fff;border-radius:.375rem}.preview-item.savings{background-color:#ecfdf5;border:1px solid #22c55e}.preview-label{font-size:.875rem;color:#6b7280}.preview-value{font-weight:600;color:#111827}.savings-value{color:#16a34a}.plan-features-modal{max-width:48rem;max-height:80vh;overflow:hidden}.modal-content{padding:1.5rem;max-height:60vh;overflow-y:auto}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;gap:1rem}.loading-spinner{width:2rem;height:2rem;border:2px solid #f3f4f6;border-top:2px solid #4f46e5;border-radius:50%;animation:spin 1s linear infinite}.add-feature-section{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid #e5e7eb}.section-title{font-size:1.125rem;font-weight:600;color:#111827;margin-bottom:1rem}.add-feature-form{background-color:#f9fafb;padding:1rem;border-radius:.5rem}.feature-select-group{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.feature-select{flex:1;min-width:200px;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:.375rem;background-color:#fff;font-size:.875rem}.feature-value-input{min-width:120px}.feature-input{width:100%;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:.375rem;background-color:#fff;font-size:.875rem}.feature-input:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a}.add-feature-btn{display:flex;align-items:center;gap:.25rem;background-color:#4f46e5;color:#fff;border:none;border-radius:.375rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s}.add-feature-btn:hover:not(:disabled){background-color:#4338ca}.assigned-features-section{margin-bottom:1rem}.empty-features{text-align:center;padding:2rem;color:#6b7280;background-color:#f9fafb;border-radius:.5rem;border:2px dashed #d1d5db}.features-list{display:flex;flex-direction:column;gap:.75rem}.feature-item{display:flex;align-items:center;gap:1rem;padding:1rem;background-color:#fff;border:1px solid #e5e7eb;border-radius:.5rem;transition:all .2s}.feature-item:hover{border-color:#d1d5db;box-shadow:0 1px 3px #0000001a}.feature-info{flex:1}.feature-name{font-weight:600;color:#111827;margin-bottom:.25rem}.feature-details{display:flex;gap:.75rem;align-items:center;font-size:.75rem}.feature-key{background-color:#f3f4f6;color:#374151;padding:.125rem .375rem;border-radius:.25rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-weight:600}.feature-type{color:#6b7280;font-style:italic}.feature-category{color:#6b7280;text-transform:capitalize}.feature-value-section{min-width:120px}.feature-actions{display:flex;gap:.25rem}.remove-feature-btn{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background-color:#fef2f2;color:#dc2626;border:none;border-radius:.375rem;cursor:pointer;transition:all .2s}.remove-feature-btn:hover:not(:disabled){background-color:#fee2e2;color:#b91c1c}.remove-feature-btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 1024px){.pricing-plans-header{flex-direction:column;gap:1.5rem}.pricing-plans-stats{gap:1.5rem}.pricing-plans-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}}@media (max-width: 768px){.pricing-plans-page{padding:1rem}.pricing-plans-header{padding:1.5rem}.pricing-plans-stats{flex-direction:column;gap:1rem}.pricing-plans-grid{grid-template-columns:1fr}.plan-header{flex-direction:column;gap:.75rem;align-items:flex-start}.plan-actions{align-self:flex-end}.feature-select-group{flex-direction:column;align-items:stretch}.feature-select,.feature-value-input{min-width:100%}.feature-item{flex-direction:column;align-items:stretch;gap:.75rem}.feature-details{flex-direction:column;align-items:flex-start;gap:.25rem}}@media (max-width: 480px){.pricing-plans-title{font-size:1.5rem}.stat-value{font-size:1.25rem}.pricing-plan-card{padding:1rem}.plan-name{font-size:1.125rem}.price-value{font-size:1.25rem}.modal-content{padding:1rem}}.price-input-container{position:relative;display:flex;flex-direction:column;gap:4px}.price-preview{font-size:.875rem;font-weight:600;color:#059669;background-color:#ecfdf5;padding:4px 8px;border-radius:4px;border:1px solid #d1fae5;align-self:flex-start}.form-select{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;background-color:#fff;transition:border-color .2s ease}.form-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-select option{padding:8px}.discount-codes-page{padding:1.5rem;max-width:1400px;margin:0 auto}.discount-codes-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;gap:1rem}.discount-codes-header-content h1{display:flex;align-items:center;font-size:1.875rem;font-weight:700;color:#111827;margin:0 0 .5rem}.discount-codes-title{display:flex;align-items:center;gap:.5rem}.discount-codes-description{color:#6b7280;font-size:1rem;margin:0 0 1.5rem}.discount-codes-stats{display:flex;gap:2rem;flex-wrap:wrap}.discount-codes-header-actions{flex-shrink:0}.add-code-btn{display:flex;align-items:center;gap:.5rem;background-color:#4f46e5;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s}.add-code-btn:hover{background-color:#3730a3}.discount-codes-table-container{background:#fff;border-radius:.5rem;overflow:hidden;box-shadow:0 1px 3px #0000001a}.discount-codes-table-wrapper{overflow-x:auto}.discount-codes-table{width:100%;border-collapse:collapse}.discount-codes-table-head{background-color:#f9fafb}.discount-codes-table-header{padding:.75rem 1rem;text-align:left;font-size:.875rem;font-weight:600;color:#374151;border-bottom:1px solid #e5e7eb;white-space:nowrap}.discount-codes-table-body{background-color:#fff}.discount-codes-table-row{border-bottom:1px solid #f3f4f6;transition:background-color .1s}.discount-codes-table-row:hover{background-color:#f9fafb}.discount-codes-table-cell{padding:1rem;font-size:.875rem;color:#111827;vertical-align:top}.code-info{display:flex;flex-direction:column;gap:.25rem}.code-value{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-weight:600;font-size:.9375rem;color:#111827;background-color:#f3f4f6;padding:.25rem .5rem;border-radius:.25rem;width:fit-content}.code-description{font-size:.75rem;color:#6b7280}.discount-info{display:flex;flex-direction:column;gap:.25rem}.discount-value{display:flex;align-items:center;gap:.25rem;font-weight:600;color:#111827}.percentage-discount{display:flex;align-items:center;gap:.25rem;color:#059669}.fixed-discount{display:flex;align-items:center;gap:.25rem;color:#dc2626}.discount-type{font-size:.75rem;color:#6b7280;text-transform:capitalize}.validity-info{display:flex;flex-direction:column;gap:.25rem}.validity-dates{font-size:.875rem;color:#111827}.validity-remaining{font-size:.75rem;color:#6b7280}.usage-info{display:flex;flex-direction:column;gap:.5rem}.usage-stats{display:flex;align-items:center;font-size:.875rem}.usage-count{font-weight:600;color:#111827}.usage-separator{color:#6b7280;margin:0 .25rem}.usage-limit{color:#6b7280}.usage-bar{width:60px;height:4px;background-color:#e5e7eb;border-radius:2px;overflow:hidden}.usage-progress{height:100%;background-color:#4f46e5;border-radius:2px;transition:width .3s ease}.code-actions{display:flex;gap:.5rem}.discount-codes-filters{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.discount-codes-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.discount-codes-loading{display:flex;align-items:center;justify-content:center;padding:4rem;font-size:1rem;color:#6b7280}.discount-code-modal{max-width:600px;max-height:90vh;overflow-y:auto}.code-input-group{display:flex;gap:.5rem;align-items:flex-end}.code-input-group .form-input{flex:1}.generate-btn{padding:.5rem 1rem;font-size:.875rem;white-space:nowrap}.amount-preview{display:flex;justify-content:space-between;align-items:center;background-color:#f0fdf4;border:1px solid #bbf7d0;border-radius:.375rem;padding:.75rem;margin-top:.5rem}.preview-label{font-size:.875rem;color:#166534;font-weight:500}.preview-value{font-size:1rem;color:#166534;font-weight:700}.partner-payment-modal{max-width:700px;max-height:90vh;overflow-y:auto}.payment-actions{display:flex;gap:.25rem;margin-top:.5rem;justify-content:flex-end}.payment-actions .action-btn{width:1.75rem;height:1.75rem}.payment-summary{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:.375rem;padding:1rem;margin:1rem 0}.payment-summary .summary-item{display:flex;justify-content:space-between;padding:.25rem 0;border-bottom:1px solid #f3f4f6;font-size:.875rem}.payment-summary .summary-item:last-child{border-bottom:none}.empty-payments{text-align:center;padding:2rem;color:#6b7280}.empty-payments .btn-primary{margin-top:1rem}@media (max-width: 768px){.discount-codes-page{padding:1rem}.discount-codes-header{flex-direction:column;align-items:stretch;gap:1.5rem}.discount-codes-stats{gap:1rem}.discount-codes-filters{flex-direction:column}.filter-group{width:100%}.filter-select{min-width:auto}.code-actions{flex-wrap:wrap}.form-row{grid-template-columns:1fr}.code-input-group{flex-direction:column;align-items:stretch}.payment-meta{grid-template-columns:1fr}.payment-actions{justify-content:center}}@media print{.discount-codes-header-actions,.discount-codes-filters,.code-actions,.add-code-btn{display:none}.discount-codes-table{font-size:.75rem}.discount-codes-table-cell{padding:.5rem}}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:#f9fafb;padding:3rem 1rem;position:relative}.auth-container{max-width:28rem;width:100%;display:flex;flex-direction:column;gap:2rem}.auth-header{text-align:center}.auth-logo{margin:0 auto;height:3rem;width:3rem;display:flex;align-items:center;justify-content:center}.auth-title{margin-top:1.5rem;font-size:1.875rem;font-weight:800;color:#111827}.auth-form{margin-top:2rem;display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.25rem}.form-label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.25rem}.form-input{appearance:none;position:relative;display:block;width:100%;padding:.5rem .75rem;border:1px solid #d1d5db;color:#111827;border-radius:.375rem;font-size:.875rem;transition:all .2s;box-sizing:border-box}.form-input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a;z-index:10}.input-group .form-input.has-right-icon{padding-left:2.5rem;padding-right:2.5rem}.input-icon-left{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);height:1rem;width:1rem;color:#9ca3af;pointer-events:none}.input-icon-right{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);height:2rem;width:2rem;background:none;border:none;cursor:pointer;color:#9ca3af;padding:0;display:flex;align-items:center;justify-content:center;z-index:999}.input-icon-right:focus{outline:2px solid #6366f1;outline-offset:2px;border-radius:.25rem}.form-select{display:block;width:100%;padding:.5rem .75rem;border:1px solid #d1d5db;background-color:#fff;border-radius:.375rem;box-shadow:0 1px 2px #0000000d;font-size:.875rem}.form-select:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.auth-submit-btn{position:relative;width:100%;display:flex;justify-content:center;padding:.5rem 1rem;border:1px solid transparent;font-size:.875rem;font-weight:500;border-radius:.375rem;color:#fff;background-color:#4f46e5;box-shadow:0 1px 2px #0000000d;cursor:pointer;transition:background-color .2s}.auth-submit-btn:hover{background-color:#4338ca}.auth-links{display:flex;align-items:center;justify-content:space-between}.forgot-password-link{font-size:.875rem;color:#4f46e5;text-decoration:none}.forgot-password-link:hover{color:#6366f1}.auth-switch{text-align:center}.auth-switch-link{font-weight:500;color:#4f46e5;text-decoration:none}.auth-switch-link:hover{color:#6366f1}.auth-back-link{margin-top:1.5rem}.auth-language-switcher{position:absolute;top:1rem;right:1rem}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:#f9fafb;padding:1rem}.auth-container{background-color:#fff;border-radius:.5rem;box-shadow:0 10px 15px -3px #0000001a;padding:2rem;width:100%;max-width:28rem}.auth-loading{text-align:center;padding:2rem}.loading-spinner{display:inline-block;width:2rem;height:2rem;border:3px solid #f3f4f6;border-radius:50%;border-top-color:#4f46e5;animation:spin 1s ease-in-out infinite;margin-bottom:1rem}.auth-header{text-align:center;margin-bottom:2rem}.auth-logo{margin-bottom:1rem}.auth-title{font-size:1.25rem;font-weight:600;color:#111827;margin:0}.auth-title-error{color:#dc2626}.auth-instructions{margin-top:.5rem;font-size:.875rem;color:#6b7280}.invitation-info{margin-top:1rem;padding:1rem;background-color:#f0f9ff;border:1px solid #e0f2fe;border-radius:.5rem}.invitation-text{margin:0 0 .75rem;font-size:.875rem;color:#0369a1;font-weight:500}.invitation-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .75rem;background-color:#dbeafe;color:#1e40af;border-radius:9999px;font-size:.75rem;font-weight:600}.auth-form{display:flex;flex-direction:column;gap:1rem}.input-icon-right{right:.75rem;background:none;border:none;cursor:pointer;color:#9ca3af;padding:0;pointer-events:auto;transition:color .2s}.input-icon-right:hover{color:#6b7280}.auth-submit-btn{width:100%;background-color:#4f46e5;color:#fff;border:none;padding:.75rem 1rem;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s}.auth-submit-btn:hover:not(:disabled){background-color:#4338ca}.auth-submit-btn:disabled{opacity:.5;cursor:not-allowed}.auth-switch{text-align:center;margin-top:1rem}.auth-switch-text{font-size:.875rem;color:#6b7280}.auth-switch-link{background:none;border:none;color:#4f46e5;text-decoration:underline;cursor:pointer;font-size:.875rem;padding:0;transition:color .2s}.auth-switch-link:hover{color:#4338ca}.auth-actions{margin-top:1.5rem;text-align:center}.auth-language-switcher{margin-top:1rem}.language-switcher-placeholder{padding:1rem;color:#6b7280;font-size:.875rem;text-align:center}@media (max-width: 640px){.auth-page{padding:.5rem}.auth-container{padding:1.5rem;max-width:100%}.form-row{grid-template-columns:1fr}.auth-title{font-size:1.125rem}.invitation-info{padding:.75rem}.invitation-text{font-size:.8125rem}}@media (max-width: 480px){.auth-container{padding:1rem}.auth-header{margin-bottom:1.5rem}.auth-form{gap:.75rem}}.auth-submit-btn:focus{outline:2px solid #a78bfa;outline-offset:2px}.input-icon-right:focus{outline:2px solid #a78bfa;outline-offset:2px;border-radius:.25rem}.auth-switch-link:focus{outline:2px solid #a78bfa;outline-offset:2px;border-radius:.25rem}.form-input:valid{border-color:#10b981}.form-input:invalid:not(:placeholder-shown){border-color:#ef4444}.invitation-badge svg{flex-shrink:0}.auth-form{animation:fadeInUp .4s ease-out}.auth-loading p{color:#6b7280;margin:0}.auth-title-error+.auth-instructions{color:#ef4444}.registration-success-content{text-align:left;margin-top:1.5rem}.verification-steps{margin:2rem 0;display:flex;flex-direction:column;gap:1.5rem}.verification-step{display:flex;align-items:flex-start;gap:1rem;padding:1rem;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem;border-left:4px solid #10b981}.step-number{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background-color:#10b981;color:#fff;border-radius:50%;font-weight:600;font-size:.875rem;flex-shrink:0}.step-content{flex:1}.step-content h4{margin:0 0 .25rem;font-size:.9375rem;font-weight:600;color:#111827}.step-content p{margin:0;font-size:.875rem;color:#6b7280;line-height:1.4}.verification-note{margin-top:1.5rem;padding:1rem;background-color:#fef3c7;border:1px solid #f59e0b;border-radius:.5rem;border-left:4px solid #f59e0b}@media (max-width: 640px){.verification-step{padding:.75rem;gap:.75rem}.step-number{width:1.75rem;height:1.75rem;font-size:.8125rem}.step-content h4{font-size:.875rem}.step-content p{font-size:.8125rem}.verification-note{padding:.75rem}.note-text{font-size:.8125rem}}.layout{height:100vh;display:flex;overflow:hidden;background-color:#f3f4f6}.mobile-sidebar-overlay{position:fixed;inset:0;display:flex;z-index:40;pointer-events:none}.mobile-sidebar-overlay.open{pointer-events:auto}.mobile-sidebar-backdrop{position:fixed;inset:0;background-color:#4b5563bf;transition:opacity .3s ease-linear;opacity:0}.mobile-sidebar-overlay.open .mobile-sidebar-backdrop{opacity:1}.mobile-sidebar{position:relative;flex:1;display:flex;flex-direction:column;max-width:20rem;width:100%;background-color:#fff;transform:translate(-100%);transition:transform .3s ease-in-out}.mobile-sidebar.open{transform:translate(0)}.mobile-sidebar-close{position:absolute;top:0;right:0;margin-right:-3rem;padding-top:.5rem}.sidebar-close-btn{margin-left:.25rem;display:flex;align-items:center;justify-content:center;height:2.5rem;width:2.5rem;border-radius:50%;background:transparent;border:none;cursor:pointer}.sidebar-close-btn:focus{outline:2px solid white;outline-offset:2px}.desktop-sidebar{display:none;flex-shrink:0}@media (min-width: 768px){.desktop-sidebar{display:flex}.mobile-sidebar-overlay{display:none}}.sidebar-container{display:flex;flex-direction:column;width:16rem}.main-content{display:flex;flex-direction:column;width:0;flex:1;overflow:hidden}.topbar{position:relative;z-index:10;flex-shrink:0;display:flex;height:4rem;background-color:#fff;box-shadow:0 1px 3px #0000001a}.mobile-menu-btn{padding:0 1rem;border-right:1px solid #e5e7eb;color:#6b7280;background:transparent;border:none;cursor:pointer;display:block}@media (min-width: 768px){.mobile-menu-btn{display:none}}.mobile-menu-btn:focus{outline:2px solid #4f46e5;outline-offset:-2px}.topbar-content{flex:1;padding:0 1rem;display:flex;justify-content:space-between}.topbar-title{flex:1;display:flex}.topbar-title>div{width:100%;display:flex;margin-left:0}.app-title{position:relative;width:100%;color:#374151;display:flex;align-items:center;font-size:1.125rem;font-weight:600}.topbar-actions{margin-left:1rem;display:flex;align-items:center;gap:1rem}.user-info{display:flex;align-items:center;gap:1rem}.user-name{font-size:.875rem;color:#374151}.logout-btn{color:#9ca3af;background:transparent;border:none;cursor:pointer;transition:color .2s}.logout-btn:hover{color:#6b7280}.logout-btn:focus{outline:2px solid #4f46e5;outline-offset:2px}.page-content{flex:1;position:relative;overflow-y:auto}.page-content:focus{outline:none}.page-container{padding:1.5rem;max-width:80rem;margin:0 auto}.language-switcher{position:relative}.locations-modal-backdrop{position:fixed;inset:0;background-color:#0009;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:50;display:flex;align-items:center;justify-content:center;padding:1rem}.locations-modal-container{background-color:#fff;border-radius:1rem;box-shadow:0 25px 50px -12px #00000040;width:100%;max-width:72rem;max-height:90vh;overflow:hidden}.locations-modal-header{position:relative;background:linear-gradient(135deg,#059669,#047857);padding:1rem 1.5rem}.locations-modal-header-content{display:flex;align-items:center;gap:.75rem;color:#fff}.locations-modal-icon{width:1.5rem;height:1.5rem}.locations-modal-title{font-size:1.25rem;font-weight:600;margin:0}.locations-modal-subtitle{color:#d1fae5;font-size:.875rem;margin:.25rem 0 0}.locations-modal-close{position:absolute;right:1.5rem;top:50%;transform:translateY(-50%);background:transparent;border:none;color:#fffc;cursor:pointer;padding:.5rem;border-radius:.375rem;transition:color .2s ease}.locations-modal-close:hover{color:#fff}.locations-modal-close svg{width:1.5rem;height:1.5rem}.locations-content-layout{display:flex;height:calc(90vh - 6rem)}.locations-sidebar{width:20rem;background-color:#f9fafb;border-right:1px solid #e5e7eb;display:flex;flex-direction:column}.locations-sidebar-header{padding:1.5rem;border-bottom:1px solid #e5e7eb}.locations-add-button{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;background-color:#059669;color:#fff;border:none;border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s ease}.locations-add-button:hover{background-color:#047857}.locations-add-button svg{width:1.25rem;height:1.25rem}.locations-stats{padding:1.5rem;border-bottom:1px solid #e5e7eb}.locations-stats-title{font-size:1rem;font-weight:500;color:#111827;margin:0 0 1rem}.locations-stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.locations-stat-card{background-color:#fff;padding:.75rem;border-radius:.5rem;border:1px solid #e5e7eb}.locations-stat-value{font-size:1.5rem;font-weight:700;color:#059669}.locations-stat-value.blue{color:#2563eb}.locations-stat-label{font-size:.75rem;color:#6b7280;margin-top:.25rem}.locations-navigation{flex:1;overflow-y:auto}.locations-nav-container{padding:1rem}.locations-nav-title{font-size:.875rem;font-weight:500;color:#6b7280;margin:0 0 .75rem}.locations-nav-loading,.locations-nav-empty{text-align:center;padding:2rem;color:#6b7280}.locations-nav-empty svg{width:2rem;height:2rem;margin:0 auto .5rem;color:#9ca3af}.locations-nav-empty p{font-size:.875rem;margin:0}.locations-nav-list{display:flex;flex-direction:column;gap:.5rem}.location-nav-item{background-color:#fff;border:1px solid #e5e7eb;border-radius:.5rem;padding:.75rem;cursor:pointer;transition:all .2s ease}.location-nav-item:hover{border-color:#10b981;box-shadow:0 1px 3px #0000001a}.location-nav-content{display:flex;align-items:start;justify-content:space-between}.location-nav-info{flex:1;min-width:0}.location-nav-name{font-size:.875rem;font-weight:500;color:#111827;margin:0 0 .5rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.location-nav-stats{display:flex;align-items:center;gap:.75rem;font-size:.75rem;color:#6b7280}.location-nav-stat{display:flex;align-items:center;gap:.25rem}.location-nav-stat svg{width:.75rem;height:.75rem}.location-nav-actions{display:flex;gap:.25rem;margin-left:.5rem}.location-nav-action{padding:.25rem;background:transparent;border:none;color:#6b7280;cursor:pointer;border-radius:.25rem;transition:all .2s ease}.location-nav-action:hover{background-color:#f3f4f6}.location-nav-action.edit:hover{color:#059669}.location-nav-action.delete:hover{color:#dc2626}.location-nav-action svg{width:.75rem;height:.75rem}.locations-main-content{flex:1;overflow-y:auto}.locations-loading-state,.locations-empty-state{display:flex;align-items:center;justify-content:center;height:100%;text-align:center;padding:2rem}.locations-loading-spinner{width:2rem;height:2rem;border:2px solid #e5e7eb;border-top:2px solid #059669;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}.locations-loading-text{color:#6b7280;margin:0}.locations-empty-icon{width:4rem;height:4rem;color:#d1d5db;margin:0 auto 1rem}.locations-empty-title{font-size:1.125rem;font-weight:500;color:#111827;margin:0 0 .5rem}.locations-empty-description{color:#6b7280;margin:0 0 1.5rem}.locations-empty-button{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:#059669;color:#fff;border:none;border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s ease}.locations-empty-button:hover{background-color:#047857}.locations-empty-button svg{width:1rem;height:1rem}.locations-content{padding:1.5rem}.locations-grid{display:flex;flex-direction:column;gap:1.5rem}.location-card{background-color:#fff;border:1px solid #e5e7eb;border-radius:.75rem;box-shadow:0 1px 3px #0000001a;transition:all .2s ease}.location-card:hover{box-shadow:0 4px 6px -1px #0000001a}.location-card-header{padding:1.5rem;border-bottom:1px solid #f3f4f6}.location-card-header-content{display:flex;align-items:start;justify-content:space-between}.location-card-info{flex:1}.location-card-icon-container{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.location-card-icon{width:2.5rem;height:2.5rem;background-color:#ecfdf5;border-radius:.5rem;display:flex;align-items:center;justify-content:center}.location-card-icon svg{width:1.25rem;height:1.25rem;color:#059669}.location-card-title{font-size:1.125rem;font-weight:600;color:#111827;margin:0}.location-card-date{font-size:.875rem;color:#6b7280;margin:.25rem 0 1rem}.location-card-stats{display:flex;align-items:center;gap:1.5rem;margin-top:1rem}.location-card-stat{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;color:#6b7280}.location-card-stat svg{width:1rem;height:1rem}.location-card-stat.blue svg{color:#3b82f6}.location-card-stat.purple svg{color:#8b5cf6}.location-card-stat.emerald svg{color:#10b981}.location-card-actions{display:flex;gap:.5rem}.location-card-action{padding:.5rem;background:transparent;border:none;color:#6b7280;cursor:pointer;border-radius:.5rem;transition:all .2s ease}.location-card-action:hover{background-color:#f3f4f6}.location-card-action.edit:hover{color:#059669;background-color:#ecfdf5}.location-card-action.delete:hover{color:#dc2626;background-color:#fef2f2}.location-card-action svg{width:1rem;height:1rem}.location-card-resources{padding:1.5rem}.location-resources-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.resource-card{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;padding:1rem;transition:all .2s ease}.resource-card:hover{border-color:#d1d5db}.resource-card-header{display:flex;align-items:start;justify-content:space-between;margin-bottom:.75rem}.resource-card-type{display:flex;align-items:center;gap:.5rem}.resource-card-icon{width:2rem;height:2rem;border-radius:.5rem;display:flex;align-items:center;justify-content:center}.resource-card-icon.desk{background-color:#dbeafe;color:#2563eb}.resource-card-icon.room{background-color:#ede9fe;color:#7c3aed}.resource-card-icon svg{width:1rem;height:1rem}.resource-card-type-label{font-size:.75rem;font-weight:500;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.resource-card-quantity{display:flex;align-items:center;gap:.25rem}.resource-quantity-number{font-size:1.125rem;font-weight:700;color:#059669}.resource-card-name{font-size:1rem;font-weight:500;color:#111827;margin:0 0 .5rem}.resource-card-description{font-size:.875rem;color:#6b7280;line-height:1.4;margin:0 0 .75rem;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.resource-card-footer{padding-top:.75rem;border-top:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between;font-size:.875rem}.resource-card-status-label{color:#6b7280}.resource-card-status-badge{display:inline-flex;align-items:center;padding:.25rem .5rem;border-radius:9999px;font-size:.75rem;font-weight:500;background-color:#dcfce7;color:#166534}.resource-no-resources{text-align:center;padding:2rem;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem}.resource-no-resources svg{width:2rem;height:2rem;color:#9ca3af;margin:0 auto .5rem}.resource-no-resources p{color:#6b7280;font-size:.875rem;margin:0 0 .75rem}.resource-no-resources button{color:#059669;background:transparent;border:none;cursor:pointer;font-size:.875rem;font-weight:500}.resource-no-resources button:hover{color:#047857}.location-form-modal-container{background-color:#fff;border-radius:1rem;box-shadow:0 25px 50px -12px #00000040;width:100%;max-width:80rem;max-height:90vh;overflow:hidden}.location-form-header{position:relative;background:linear-gradient(135deg,#2563eb,#1d4ed8);padding:1rem 1.5rem}.location-form-header-content{display:flex;align-items:center;gap:.75rem;color:#fff}.location-form-header svg{width:1.5rem;height:1.5rem}.location-form-title{font-size:1.25rem;font-weight:600;margin:0}.location-form-close{position:absolute;right:1.5rem;top:50%;transform:translateY(-50%);background:transparent;border:none;color:#fffc;cursor:pointer;padding:.5rem;border-radius:.375rem;transition:color .2s ease}.location-form-close:hover{color:#fff}.location-form-close svg{width:1.5rem;height:1.5rem}.location-form-layout{display:flex;height:calc(90vh - 5rem)}.location-form-sidebar{width:40%;background-color:#f9fafb;padding:1.5rem;border-right:1px solid #e5e7eb}.location-form-sidebar-content{display:flex;flex-direction:column;gap:1.5rem}.location-details-header{font-size:1.125rem;font-weight:600;color:#111827;margin:0 0 1rem;display:flex;align-items:center;gap:.5rem}.location-details-header svg{width:1.25rem;height:1.25rem;color:#2563eb}.location-form-group{display:flex;flex-direction:column;gap:1rem}.location-form-label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.5rem}.location-form-input{width:100%;padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:.5rem;font-size:.875rem;color:#111827;transition:all .2s ease}.location-form-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.location-form-input::placeholder{color:#9ca3af}.resource-summary{background-color:#fff;border:1px solid #e5e7eb;border-radius:.5rem;padding:1rem}.resource-summary-title{font-size:1rem;font-weight:500;color:#111827;margin:0 0 .75rem}.resource-summary-list{display:flex;flex-direction:column;gap:.5rem}.resource-summary-item{display:flex;align-items:center;justify-content:space-between;font-size:.875rem}.resource-summary-info{display:flex;align-items:center;gap:.5rem;color:#6b7280}.resource-summary-info svg{width:1rem;height:1rem}.resource-summary-quantity{font-weight:500;color:#2563eb}.resource-summary-empty{color:#9ca3af;font-style:italic;font-size:.875rem}.helper-tips{background-color:#eff6ff;border:1px solid #bfdbfe;border-radius:.5rem;padding:1rem}.helper-tips-title{font-size:1rem;font-weight:500;color:#1e40af;margin:0 0 .5rem}.helper-tips-list{margin:0;padding:0;list-style:none;color:#1e40af}.helper-tips-list li{font-size:.875rem;margin-bottom:.25rem}.location-form-main{flex:1;display:flex;flex-direction:column}.resources-management-header{padding:1rem 1.5rem;background-color:#fff;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between}.resources-management-title{font-size:1.125rem;font-weight:600;color:#111827;margin:0;display:flex;align-items:center;gap:.5rem}.resources-management-title svg{width:1.25rem;height:1.25rem;color:#059669}.add-resource-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:#059669;color:#fff;border:none;border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s ease}.add-resource-button:hover{background-color:#047857}.add-resource-button svg{width:1rem;height:1rem}.resources-content{flex:1;overflow-y:auto;padding:1.5rem}.resources-list{display:flex;flex-direction:column;gap:1rem}.resource-item{background-color:#fff;border:1px solid #e5e7eb;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;transition:all .2s ease}.resource-item:hover{box-shadow:0 4px 6px -1px #0000001a}.resource-item-header{padding:1rem;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #f3f4f6}.resource-item-info{display:flex;align-items:center;gap:.75rem}.resource-number-badge{width:2rem;height:2rem;background-color:#f3f4f6;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:500;color:#6b7280}.resource-type-info{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#6b7280}.resource-type-info svg{width:1rem;height:1rem}.resource-remove-button{padding:.5rem;background:transparent;border:none;color:#dc2626;cursor:pointer;border-radius:.5rem;transition:background-color .2s ease}.resource-remove-button:hover{background-color:#fef2f2}.resource-remove-button svg{width:1rem;height:1rem}.resource-item-form{padding:1rem}.resource-form-group{display:flex;flex-direction:column}.resource-form-label{font-size:.75rem;font-weight:500;color:#374151;margin-bottom:.25rem}.resource-form-input,.resource-form-select{width:100%;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;color:#111827;transition:all .2s ease}.resource-form-input:focus,.resource-form-select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.resource-form-input::placeholder{color:#9ca3af}.resource-form-select{background-color:#fff;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;cursor:pointer}.resource-status-container{display:flex;align-items:center;justify-content:center;height:2rem}.resource-status-badge{display:inline-flex;align-items:center;padding:.25rem .5rem;border-radius:9999px;font-size:.75rem;font-weight:500;background-color:#dcfce7;color:#166534}.resource-form-textarea{width:100%;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;color:#111827;resize:none;font-family:inherit;transition:all .2s ease}.resource-form-textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.resource-form-textarea::placeholder{color:#9ca3af}.examples-section{margin-top:1.5rem;background-color:#fffbeb;border:1px solid #fed7aa;border-radius:.5rem;padding:1rem}.examples-title{font-size:1rem;font-weight:500;color:#92400e;margin:0 0 .5rem}.examples-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:.75rem;font-size:.875rem}.example-category-header{display:flex;align-items:center;gap:.5rem;font-weight:500;color:#92400e;margin-bottom:.25rem}.example-category-header svg{width:1rem;height:1rem}.example-list{margin:0;padding-left:1.5rem;color:#b45309;list-style:none}.example-list li{font-size:.8125rem;margin-bottom:.125rem}.location-form-footer{padding:1rem 1.5rem;background-color:#f9fafb;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;gap:.75rem}.form-button{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1.5rem;border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:none}.form-button-secondary{background-color:#fff;color:#374151;border:1px solid #d1d5db}.form-button-secondary:hover:not(:disabled){background-color:#f9fafb;border-color:#9ca3af}.form-button-primary{background-color:#2563eb;color:#fff}.form-button-primary:hover:not(:disabled){background-color:#1d4ed8}.form-button:disabled{opacity:.5;cursor:not-allowed}.form-loading-spinner{width:1rem;height:1rem;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}@media (max-width: 1024px){.location-form-sidebar{width:45%}.locations-sidebar{width:18rem}.resource-form-grid{grid-template-columns:1fr;gap:.75rem}.resource-form-col-3,.resource-form-col-5,.resource-form-col-2,.resource-description-group{grid-column:span 12}}@media (max-width: 768px){.locations-modal-container,.location-form-modal-container{max-width:95vw;margin:0 1rem}.location-form-layout{flex-direction:column;height:auto}.location-form-sidebar{width:100%;border-right:none;border-bottom:1px solid #e5e7eb}.locations-content-layout{flex-direction:column}.locations-sidebar{display:none}.locations-main-content{width:100%}.location-card-header-content{flex-direction:column;gap:1rem;align-items:start}.location-card-stats{flex-wrap:wrap;gap:1rem}.location-resources-grid,.examples-grid{grid-template-columns:1fr}}@media (max-width: 480px){.locations-modal-container,.location-form-modal-container{max-height:95vh}.locations-modal-header,.location-form-header,.location-form-sidebar,.resources-content,.location-card-header,.location-card-resources{padding:1rem}.resource-card,.resource-item-header,.resource-item-form{padding:.75rem}.locations-content,.locations-stats,.locations-sidebar-header{padding:1rem}.location-form-footer{padding:1rem;flex-direction:column}.form-button{justify-content:center}}.hidden{display:none}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2}h1,h2,h3,h4,h5,h6,p{margin:0}ul,ol{margin:0;padding:0;list-style:none}*,:before,:after{box-sizing:border-box}input,select,textarea,button{font-family:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}input:focus,select:focus,textarea:focus{outline:2px solid transparent;outline-offset:2px}.form-tabs-nav{display:flex;background-color:#f9fafb;border-bottom:1px solid #e5e7eb;padding:0;margin:0}.form-tab{display:flex;align-items:center;gap:.5rem;padding:1rem 1.5rem;background:transparent;border:none;border-bottom:3px solid transparent;color:#6b7280;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.form-tab:hover{color:#374151;background-color:#f3f4f6}.form-tab.active{color:#2563eb;border-bottom-color:#2563eb;background-color:#fff}.form-tab svg{width:1rem;height:1rem}.form-tab-content{flex:1;overflow-y:auto;padding:1.5rem}.resources-tab,.images-tab{height:100%}.image-upload-container{display:flex;flex-direction:column;gap:1rem}.image-upload-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:.75rem;border-bottom:1px solid #e5e7eb}.image-upload-title{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:600;color:#111827;margin:0}.image-count{color:#6b7280;font-weight:400;font-size:.875rem}.image-upload-button{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:#2563eb;color:#fff;border:none;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s}.image-upload-button:hover{background-color:#1d4ed8}.image-upload-button svg{width:1rem;height:1rem}.image-drop-zone{border:2px dashed #d1d5db;border-radius:.5rem;padding:2rem;text-align:center;cursor:pointer;transition:all .2s ease;background-color:#fafafa}.image-drop-zone.active{border-color:#2563eb;background-color:#eff6ff}.image-drop-zone:hover:not(.disabled){border-color:#9ca3af;background-color:#f9fafb}.image-drop-zone.disabled{opacity:.5;cursor:not-allowed}.drop-zone-content{display:flex;flex-direction:column;align-items:center;gap:.5rem}.drop-zone-content svg{color:#9ca3af;margin-bottom:.5rem}.drop-zone-content p{color:#6b7280;margin:0;font-size:.875rem}.drop-zone-hint{font-size:.75rem!important;color:#9ca3af!important}.image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-top:1rem}.image-item{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;overflow:hidden;transition:all .2s ease}.image-item:hover{box-shadow:0 4px 6px -1px #0000001a;border-color:#d1d5db}.image-preview{position:relative;width:100%;height:150px;overflow:hidden}.image-preview img{width:100%;height:100%;object-fit:cover;transition:transform .2s ease}.image-item:hover .image-preview img{transform:scale(1.05)}.image-overlay{position:absolute;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease}.image-item:hover .image-overlay{opacity:1}.image-actions{display:flex;gap:.5rem}.image-action-btn{background:#ffffffe6;border:none;border-radius:.25rem;padding:.5rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;min-width:2rem;min-height:2rem}.image-action-btn:hover{background:#fff;transform:scale(1.1)}.image-action-btn.move-left,.image-action-btn.move-right{color:#2563eb;font-weight:700;font-size:1rem}.image-action-btn.remove{color:#dc2626}.image-action-btn.remove svg{width:.875rem;height:.875rem}.image-status{position:absolute;top:.5rem;left:.5rem;background:#16a34a;color:#fff;padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:500}.image-status.new{background:#f59e0b}.image-order{position:absolute;top:.5rem;right:.5rem;background:#000000b3;color:#fff;width:1.5rem;height:1.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600}.image-info{padding:.75rem}.image-name{font-size:.875rem;font-weight:500;color:#111827;margin-bottom:.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.image-size{font-size:.75rem;color:#6b7280}.image-metadata{padding:.75rem;border-top:1px solid #f3f4f6}.alt-text-input{width:100%;padding:.5rem;border:1px solid #d1d5db;border-radius:.25rem;font-size:.75rem;color:#111827}.alt-text-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.image-upload-empty{text-align:center;padding:2rem;color:#6b7280}.image-upload-empty svg{color:#d1d5db;margin:0 auto 1rem}.image-upload-empty p{margin:0;font-size:.875rem}.image-upload-message{display:flex;align-items:center;gap:.5rem;padding:.75rem;border-radius:.375rem;font-size:.875rem;margin-top:.5rem}.image-upload-message.warning{background-color:#fef3c7;color:#92400e;border:1px solid #fcd34d}.image-upload-message svg{width:1rem;height:1rem;flex-shrink:0}.image-upload-tips{background-color:#f0f9ff;border:1px solid #bae6fd;border-radius:.375rem;padding:1rem;margin-top:1rem}.image-upload-tips h5{font-size:.875rem;font-weight:600;color:#0369a1;margin:0 0 .5rem}.image-upload-tips ul{margin:0;padding-left:1rem;color:#0369a1;font-size:.8125rem;line-height:1.5}.image-upload-tips li{margin-bottom:.25rem}.lightbox-overlay{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center}.lightbox-backdrop{position:absolute;inset:0;background:#000000e6;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.lightbox-container{position:relative;width:100%;height:100%;max-width:95vw;max-height:95vh;display:flex;flex-direction:column;background:#fffffff2;border-radius:.5rem;overflow:hidden}.lightbox-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;background:#fff;border-bottom:1px solid #e5e7eb}.lightbox-info{flex:1;min-width:0}.lightbox-title{font-size:1.125rem;font-weight:600;color:#111827;margin:0 0 .25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lightbox-counter{font-size:.875rem;color:#6b7280}.lightbox-actions{display:flex;gap:.5rem;margin-left:1rem}.lightbox-action-btn{background:#f3f4f6;border:none;border-radius:.375rem;padding:.5rem;cursor:pointer;color:#6b7280;transition:all .2s ease}.lightbox-action-btn:hover{background:#e5e7eb;color:#374151}.lightbox-action-btn svg{width:1.25rem;height:1.25rem}.lightbox-image-container{flex:1;position:relative;display:flex;align-items:center;justify-content:center;background:#f9fafb;overflow:hidden}.lightbox-nav-btn{position:absolute;top:50%;transform:translateY(-50%);background:#ffffffe6;border:none;border-radius:50%;width:3rem;height:3rem;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#374151;transition:all .2s ease;z-index:10}.lightbox-nav-btn:hover{background:#fff;box-shadow:0 4px 6px -1px #0000001a;transform:translateY(-50%) scale(1.1)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-bottom:1rem}.form-group-full{grid-column:1 / -1}.form-label{font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.5rem}.form-input,.form-select,.form-textarea{width:100%;padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:.5rem;font-size:.875rem;color:#111827;transition:all .2s ease;font-family:inherit}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.form-select{background-color:#fff;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right .75rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;cursor:pointer}.form-textarea{resize:vertical;min-height:4rem}.tab-section-title{display:flex;align-items:center;gap:.5rem;font-size:1.125rem;font-weight:600;color:#111827;margin:0 0 1.5rem;padding-bottom:.75rem;border-bottom:1px solid #e5e7eb}.tab-section-title svg{width:1.25rem;height:1.25rem;color:#2563eb}.address-tab,.basic-info-tab,.location-tab,.images-tab{height:100%;overflow-y:auto}.address-content,.basic-info-content,.location-content,.images-content{padding:0}.address-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.geocode-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:#059669;color:#fff;border:none;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.geocode-button:hover:not(:disabled){background-color:#047857}.geocode-button:disabled{opacity:.5;cursor:not-allowed}.geocode-spinner{width:1rem;height:1rem;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}.coordinates-section{margin-top:1.5rem;padding:1rem;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem}.coordinates-title{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:500;color:#111827;margin:0 0 .75rem}.coordinates-display{display:flex;gap:1.5rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace}.coordinate-item{display:flex;flex-direction:column;gap:.25rem}.coordinate-label{font-size:.75rem;color:#6b7280;font-weight:500}.coordinate-value{font-size:.875rem;color:#111827;font-weight:600}.address-tips{margin-top:1.5rem;background-color:#eff6ff;border:1px solid #bfdbfe;border-radius:.5rem;padding:1rem}.address-tips-title{font-size:1rem;font-weight:500;color:#1e40af;margin:0 0 .5rem}.address-tips-list{margin:0;padding:0;list-style:none;color:#1e40af}.address-tips-list li{font-size:.875rem;margin-bottom:.25rem}.contact-summary,.address-summary{background-color:#fff;border:1px solid #e5e7eb;border-radius:.5rem;padding:1rem}.contact-summary-title,.address-summary-title{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:500;color:#111827;margin:0 0 .75rem}.contact-summary-list{display:flex;flex-direction:column;gap:.5rem}.contact-summary-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#6b7280}.contact-summary-empty,.address-summary-empty{color:#9ca3af;font-style:italic;font-size:.875rem}.address-summary-text{font-size:.875rem;color:#6b7280;line-height:1.5}.address-summary-text>div{margin-bottom:.25rem}.coordinates-display{display:flex;align-items:center;gap:.5rem;margin-top:.5rem;padding:.5rem;background-color:#f3f4f6;border-radius:.25rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.75rem;color:#374151}.map-selector{width:100%;height:100%;display:flex;flex-direction:column;gap:1rem}.map-controls{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem}.map-controls-left,.map-controls-right{display:flex;align-items:center;gap:.5rem}.map-address-display{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#6b7280}.map-control-button{display:flex;align-items:center;justify-content:center;padding:.5rem;background-color:#fff;border:1px solid #d1d5db;border-radius:.375rem;color:#6b7280;cursor:pointer;transition:all .2s ease}.map-control-button:hover{background-color:#f9fafb;border-color:#9ca3af;color:#374151}.map-container{position:relative;height:400px;border:1px solid #e5e7eb;border-radius:.5rem;overflow:hidden}.leaflet-map{width:100%;height:100%}.map-overlay-info{position:absolute;bottom:1rem;left:1rem;right:1rem;background:#fffffff2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid rgba(0,0,0,.1);border-radius:.5rem;padding:.75rem;display:flex;justify-content:space-between;align-items:center;font-size:.875rem;z-index:1000}.map-instruction{display:flex;align-items:center;gap:.5rem;color:#6b7280}.map-coordinates{display:flex;gap:1rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace}.map-coordinate{font-size:.75rem;color:#374151}.map-loading,.map-error{display:flex;align-items:center;justify-content:center;height:400px;border:1px solid #e5e7eb;border-radius:.5rem;background-color:#f9fafb}.map-loading-content,.map-error-content{text-align:center;color:#6b7280}.map-loading-spinner{width:2rem;height:2rem;border:3px solid #e5e7eb;border-top:3px solid #2563eb;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}.map-error-content svg{color:#9ca3af;margin-bottom:1rem}.map-error-content h3{color:#374151;margin:0 0 .5rem}.custom-map-marker{display:flex;align-items:center;justify-content:center}.custom-leaflet-marker{background:transparent!important;border:none!important}.map-instructions{margin-bottom:1rem;padding:.75rem;background-color:#f0f9ff;border:1px solid #bae6fd;border-radius:.375rem;color:#0369a1;font-size:.875rem}.location-card-address{display:flex;align-items:center;gap:.5rem;margin:.5rem 0;font-size:.875rem;color:#6b7280}.location-card-contact{display:flex;flex-direction:column;gap:.25rem;margin:.5rem 0}.location-contact-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#6b7280}.location-card-coordinates{display:flex;align-items:center;gap:.5rem;margin:.5rem 0;font-size:.75rem;color:#9ca3af;font-family:Monaco,Menlo,Ubuntu Mono,monospace}.image-categories{display:flex;flex-direction:column;gap:2rem}.image-category-title{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:500;color:#111827;margin:0 0 1rem;padding-bottom:.5rem;border-bottom:1px solid #e5e7eb}@media (max-width: 1024px){.form-grid{grid-template-columns:1fr}.coordinates-display{flex-direction:column;gap:.5rem}.map-container{height:300px}.map-overlay-info{flex-direction:column;gap:.5rem;align-items:start}.map-coordinates{flex-direction:column;gap:.25rem}}@media (max-width: 768px){.address-header{flex-direction:column;gap:1rem;align-items:start}.map-controls{flex-direction:column;gap:.75rem;align-items:start}.map-container{height:250px}.location-card-contact{flex-direction:row;flex-wrap:wrap;gap:1rem}}@media (max-width: 480px){.form-grid{gap:.75rem}.tab-section-title{font-size:1rem}.geocode-button{padding:.5rem .75rem;font-size:.8125rem}.map-container{height:200px}.coordinates-section,.address-tips{padding:.75rem}}.geocode-button:focus,.map-control-button:focus{outline:2px solid #2563eb;outline-offset:2px}@media print{.map-container,.map-controls,.geocode-button,.map-control-button{display:none!important}.coordinates-display{background-color:transparent!important;border:1px solid #000!important}}.location-nav-city{display:flex;align-items:center;gap:.25rem;font-size:.75rem;color:#9ca3af;margin-bottom:.25rem}.location-nav-city svg{width:.75rem;height:.75rem}.location-nav-action.map:hover,.location-card-action.map:hover{color:#059669;background-color:#ecfdf5}.location-card-address{display:flex;align-items:center;gap:.5rem;margin:.75rem 0;padding:.5rem;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:.375rem;font-size:.875rem;color:#6b7280}.location-card-address svg{width:.875rem;height:.875rem;color:#059669;flex-shrink:0}.location-map-link{background:transparent;border:none;color:#059669;cursor:pointer;padding:.25rem;border-radius:.25rem;margin-left:.5rem;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.location-map-link:hover{background-color:#ecfdf5;color:#047857}.location-card-contact{display:flex;flex-direction:column;gap:.5rem;margin:.75rem 0}.location-contact-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.location-contact-item svg{width:.875rem;height:.875rem;color:#6b7280;flex-shrink:0}.location-contact-item a{color:#2563eb;text-decoration:none;transition:color .2s ease}.location-card-description{margin:.75rem 0;padding:.75rem;background-color:#f8fafc;border-left:3px solid #2563eb;border-radius:0 .375rem .375rem 0}.location-card-description p{margin:0;font-size:.875rem;color:#6b7280;line-height:1.5;font-style:italic}.location-card-stat.orange svg{color:#f59e0b}.image-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(60px,1fr));gap:.5rem;margin-top:.5rem}.image-gallery-item{position:relative;aspect-ratio:1;border-radius:.375rem;overflow:hidden;cursor:pointer;transition:all .2s ease}.image-gallery-item:hover{transform:scale(1.05);box-shadow:0 4px 6px -1px #0000001a}.gallery-thumbnail{width:100%;height:100%;object-fit:cover}.image-gallery-more{position:relative;aspect-ratio:1;border-radius:.375rem;overflow:hidden;cursor:pointer;transition:all .2s ease}.image-gallery-more:hover{transform:scale(1.05)}.gallery-more-overlay{position:absolute;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:.875rem;z-index:1}.image-gallery-empty{display:flex;align-items:center;gap:.5rem;padding:1rem;color:#9ca3af;font-size:.875rem;text-align:center;border:1px dashed #d1d5db;border-radius:.375rem;background-color:#f9fafb}.image-gallery-empty svg{width:1rem;height:1rem}.location-images-categories{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.image-category-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.875rem;font-weight:500;color:#374151}.image-category-header svg{width:.875rem;height:.875rem}.location-card-images{padding:1.5rem;border-top:1px solid #f3f4f6;background-color:#fafafa}.location-images-title{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:600;color:#111827;margin:0 0 1rem}.location-images-title svg{width:1rem;height:1rem;color:#6366f1}.locations-empty-state{display:flex;align-items:center;justify-content:center;height:100%;padding:4rem 2rem}.locations-empty-state .text-center{text-align:center;max-width:400px}.locations-loading-state{display:flex;align-items:center;justify-content:center;height:100%;padding:4rem 2rem}.locations-loading-state .text-center{text-align:center}@media (max-width: 768px){.location-card-contact{flex-direction:row;flex-wrap:wrap;gap:1rem}.location-contact-item{flex:1;min-width:200px}.location-card-address{flex-direction:column;align-items:flex-start;gap:.5rem}.location-map-link{align-self:flex-start;margin-left:0;margin-top:.25rem}.image-gallery{grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}.location-images-categories{gap:1.5rem}}@media (max-width: 480px){.location-card-contact{flex-direction:column;gap:.75rem}.location-contact-item{min-width:unset}.location-card-description{margin:.5rem 0;padding:.5rem}.location-card-images{padding:1rem}.image-gallery{grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:.375rem}.location-nav-city{font-size:.6875rem}}@media print{.location-map-link,.location-card-action.map,.location-nav-action.map{display:none!important}.location-contact-item a{color:inherit!important;text-decoration:none!important}.location-contact-item a:after{content:" (" attr(href) ")";font-size:.75rem;color:#6b7280}}.location-map-link:focus,.location-contact-item a:focus{outline:2px solid #2563eb;outline-offset:2px;border-radius:.25rem}.location-card:hover .location-map-link{opacity:1}.location-map-link{opacity:.7;transition:opacity .2s ease}.location-card-address,.location-card-contact,.location-card-description{animation:slideInUp .3s ease-out}@keyframes slideInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.location-geocoding{opacity:.6;pointer-events:none}.location-geocoding:after{content:"";position:absolute;top:50%;left:50%;width:1rem;height:1rem;margin:-.5rem 0 0 -.5rem;border:2px solid #e5e7eb;border-top:2px solid #2563eb;border-radius:50%;animation:spin 1s linear infinite}.vat-summary{background-color:#fff;border:1px solid #e5e7eb;border-radius:.5rem;padding:1rem}.vat-summary-title{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:500;color:#111827;margin:0 0 .75rem}.vat-icon{font-size:1rem}.vat-summary-content{display:flex;align-items:center;justify-content:center}.vat-summary-display{text-align:center}.vat-percentage-large{display:block;font-size:1.875rem;font-weight:700;color:#16a34a;line-height:1}.vat-country-label{display:block;font-size:.75rem;color:#6b7280;margin-top:.25rem}.vat-input-container{position:relative;display:flex;align-items:center}.vat-input{padding-right:2rem!important}.vat-percentage-symbol{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);color:#6b7280;font-weight:500;font-size:.875rem;pointer-events:none}.vat-help-text{margin-top:.5rem;font-size:.75rem;color:#6b7280;line-height:1.4}.vat-country-info{margin-top:1.5rem;background-color:#f0f9ff;border:1px solid #bae6fd;border-radius:.5rem;padding:1rem}.vat-info-title{font-size:1rem;font-weight:500;color:#0369a1;margin:0 0 .75rem}.vat-defaults-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.5rem}.vat-default-item{font-size:.75rem;color:#0369a1;padding:.375rem .5rem;background-color:#ffffffb3;border-radius:.25rem;text-align:center;font-weight:500}.location-card-stat.green svg,.location-card-stat.green .vat-icon{color:#16a34a}.location-vat-info{display:flex;align-items:center;gap:.5rem;margin:.75rem 0;padding:.5rem;background-color:#f0fdf4;border:1px solid #bbf7d0;border-radius:.375rem;font-size:.875rem}.location-vat-info .vat-icon{color:#16a34a;font-size:.875rem}.vat-info-text{color:#15803d;font-weight:500}.vat-percentage-display{color:#16a34a;font-weight:700}.vat-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background-color:#f0fdf4;color:#16a34a;border:1px solid #bbf7d0;border-radius:9999px;font-size:.75rem;font-weight:500}.vat-badge .vat-icon{font-size:.75rem}.resource-form-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem;margin-bottom:1rem}.resource-form-col-3{grid-column:span 3}.resource-form-col-4{grid-column:span 4}.resource-form-col-5{grid-column:span 5}.resource-form-col-2{grid-column:span 2}.resource-description-group{grid-column:span 12}.vat-input.error{border-color:#dc2626;box-shadow:0 0 0 3px #dc26261a}.vat-error-message{margin-top:.25rem;font-size:.75rem;color:#dc2626}.vat-input.success{border-color:#16a34a;box-shadow:0 0 0 3px #16a34a1a}@media (max-width: 1024px){.vat-defaults-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.vat-percentage-large{font-size:1.5rem}}@media (max-width: 768px){.vat-summary{margin-bottom:1rem}.vat-defaults-grid{grid-template-columns:repeat(2,1fr)}.vat-default-item{font-size:.6875rem;padding:.25rem .375rem}.vat-country-info{margin-top:1rem;padding:.75rem}}@media (max-width: 480px){.vat-summary-display{display:flex;align-items:center;gap:.5rem}.vat-percentage-large{font-size:1.25rem}.vat-country-label{margin-top:0;font-size:.6875rem}.vat-defaults-grid{grid-template-columns:1fr}.location-vat-info{flex-direction:column;align-items:flex-start;gap:.25rem}}.vat-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.vat-percentage-large{transition:color .2s ease}.vat-summary-display:hover .vat-percentage-large{color:#15803d}.vat-input-container:after{content:"";position:absolute;right:2.5rem;top:50%;transform:translateY(-50%);width:.5rem;height:.5rem;border-radius:50%;opacity:0;transition:opacity .2s ease}.vat-input-container.valid:after{background-color:#16a34a;opacity:1}.vat-input-container.invalid:after{background-color:#dc2626;opacity:1}@media print{.vat-summary,.vat-country-info{background-color:transparent!important;border:1px solid #000!important}.vat-percentage-large{color:#000!important}.vat-default-item{background-color:transparent!important;border:1px solid #000}}.form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem}.resource-form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem}.delete-confirmation-modal{background-color:#fff;border-radius:.5rem;box-shadow:0 25px 50px -12px #00000040;width:100%;max-width:28rem;overflow:hidden}.delete-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid #e5e7eb;background-color:#fef2f2}.delete-modal-title{font-size:1.125rem;font-weight:600;color:#dc2626;margin:0}.delete-modal-close{background:transparent;border:none;color:#6b7280;cursor:pointer;padding:.25rem;border-radius:.25rem;transition:all .2s ease}.delete-modal-close:hover{background-color:#f3f4f6;color:#374151}.delete-modal-message{font-size:.875rem;color:#111827;margin:0 0 .75rem;line-height:1.5}.delete-modal-explanation{font-size:.875rem;color:#6b7280;margin:0;line-height:1.4}.delete-modal-actions{display:flex;justify-content:flex-end;gap:.75rem;padding:1.5rem;border-top:1px solid #e5e7eb;background-color:#f9fafb}.delete-modal-button{padding:.5rem 1rem;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:none}.delete-modal-cancel{background-color:#fff;color:#374151;border:1px solid #d1d5db}.delete-modal-cancel:hover{background-color:#f9fafb;border-color:#9ca3af}.delete-modal-confirm{background-color:#dc2626;color:#fff}.delete-modal-confirm:hover{background-color:#b91c1c}.delete-modal-confirm:focus,.delete-modal-cancel:focus{outline:2px solid #2563eb;outline-offset:2px}@media (max-width: 480px){.delete-confirmation-modal{max-width:95vw;margin:0 1rem}.delete-modal-header,.delete-modal-content,.delete-modal-actions{padding:1rem}.delete-modal-actions{flex-direction:column}.delete-modal-button{width:100%;justify-content:center}}.btn-icon.btn-danger,.location-nav-action.delete,.location-card-action.delete,.resource-remove-button{animation:none!important;opacity:1!important}.enhanced-delete-modal{max-width:600px;max-height:90vh;overflow-y:auto}.enhanced-delete-content{padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem}.delete-location-info{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem;padding:1rem}.delete-location-header{display:flex;align-items:center;gap:1rem}.delete-location-header svg{color:#6b7280}.delete-location-header h3{margin:0 0 .25rem;font-size:1.125rem;font-weight:600;color:#111827}.delete-location-header p{margin:0;font-size:.875rem;color:#6b7280}.delete-validation-loading{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem;text-align:center}.delete-dependencies-summary h4{margin:0 0 1rem;font-size:1rem;font-weight:600;color:#111827}.dependencies-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem}.dependency-item{display:flex;align-items:center;gap:.5rem;padding:.75rem;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:.375rem}.dependency-item svg{width:1rem;height:1rem;color:#6b7280;flex-shrink:0}.dependency-item span:nth-child(2){flex:1;font-size:.875rem;color:#374151}.count{font-weight:600;padding:.125rem .5rem;border-radius:9999px;font-size:.75rem}.count.safe{background-color:#dcfce7;color:#166534}.count.blocking{background-color:#fecaca;color:#991b1b}.count.warning{background-color:#fef3c7;color:#92400e}.count.info{background-color:#dbeafe;color:#1e40af}.delete-warnings h4{margin:0 0 .75rem;font-size:1rem;font-weight:600;color:#dc2626}.delete-warnings ul{margin:0;padding-left:1.25rem;list-style-type:disc}.delete-warnings li{font-size:.875rem;color:#dc2626;margin-bottom:.5rem;line-height:1.4}.delete-action-message{padding:1rem;border-radius:.5rem;border-left:4px solid}.delete-action-message.warning{background-color:#fef3c7;border-left-color:#f59e0b}.delete-action-message.error{background-color:#fef2f2;border-left-color:#ef4444}.delete-action-message h4{margin:0 0 .75rem;font-size:1rem;font-weight:600}.delete-action-message.warning h4{color:#92400e}.delete-action-message.error h4{color:#991b1b}.delete-action-message p{margin:0 0 .75rem;font-size:.875rem;line-height:1.5}.delete-action-message.warning p{color:#92400e}.delete-action-message.error p{color:#991b1b}.delete-action-message ul{margin:0;padding-left:1.25rem}.delete-action-message li{font-size:.875rem;margin-bottom:.25rem}.delete-action-message.warning li{color:#92400e}.delete-action-message.error li{color:#991b1b}.enhanced-delete-actions{display:flex;justify-content:flex-end;gap:.75rem;padding:1.5rem;border-top:1px solid #e5e7eb;background-color:#f9fafb}.delete-confirm-btn{background-color:#dc2626;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .2s;animation:pulse-danger 2s infinite}.delete-confirm-btn:hover{background-color:#b91c1c;transform:translateY(-1px);box-shadow:0 4px 6px #dc26264d}@media (max-width: 768px){.enhanced-delete-modal{max-width:95vw;margin:1rem}.enhanced-delete-content{padding:1rem;gap:1rem}.dependencies-grid{grid-template-columns:1fr}.enhanced-delete-actions{flex-direction:column;padding:1rem}.delete-confirm-btn{width:100%;justify-content:center}}.invitation-modal-content{padding:1.5rem}.invitation-partner-info{margin-bottom:1.5rem}.partner-info-card{padding:1rem;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem}.partner-info-title{margin:0 0 .5rem;font-size:.875rem;font-weight:500;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.partner-info-name{margin:0 0 .75rem;font-size:1.125rem;font-weight:600;color:#0f172a}.role-badge{display:inline-flex;align-items:center;padding:.25rem .75rem;background-color:#4f46e5;color:#fff;border-radius:9999px;font-size:.75rem;font-weight:600}.role-badge-text{text-transform:uppercase;letter-spacing:.05em}.modal-form{display:flex;flex-direction:column;gap:1rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.input-group{position:relative}.form-input{width:100%;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;color:#111827;box-sizing:border-box}.form-input:focus{outline:2px solid #a78bfa;outline-offset:2px;border-color:#6366f1}.form-input::placeholder{color:#9ca3af}.input-group .form-input{padding-left:2.5rem}.input-icon{position:absolute;top:50%;transform:translateY(-50%);color:#9ca3af;pointer-events:none}.input-icon-left{left:.75rem}.form-textarea{width:100%;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;color:#111827;resize:vertical;min-height:3rem;box-sizing:border-box;font-family:inherit}.form-textarea:focus{outline:2px solid #a78bfa;outline-offset:2px;border-color:#6366f1}.form-textarea::placeholder{color:#9ca3af}.invitation-preview{margin-top:1.5rem;padding:1rem;background-color:#fefefe;border:1px solid #e5e7eb;border-radius:.375rem}.preview-title{margin:0 0 .75rem;font-size:.875rem;font-weight:600;color:#374151}.preview-content{font-size:.75rem;color:#6b7280;line-height:1.5}.preview-content p{margin:0 0 .25rem}.preview-content strong{font-weight:600;color:#374151}.btn-primary{display:inline-flex;align-items:center;gap:.5rem;background-color:#4f46e5;color:#fff;border:none;padding:.5rem 1rem;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s}.loading-spinner-small{display:inline-block;width:1rem;height:1rem;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin 1s ease-in-out infinite;margin-right:.5rem}.invite-btn{color:#059669;background:transparent;border:none;cursor:pointer;padding:.25rem;border-radius:.25rem;transition:all .2s;display:inline-flex;align-items:center;justify-content:center}.invite-btn:hover{background-color:#ecfdf5;color:#047857}.invite-btn:focus{outline:2px solid #10b981;outline-offset:2px}.partner-actions .invite-btn:has(svg[data-lucide=user-plus]){color:#7c3aed}.partner-actions .invite-btn:has(svg[data-lucide=user-plus]):hover{background-color:#f3e8ff;color:#6b21a8}.partner-actions .invite-btn:has(svg[data-lucide=send]){color:#059669}.partner-actions .invite-btn:has(svg[data-lucide=send]):hover{background-color:#ecfdf5;color:#047857}@media (max-width: 768px){.modal-overlay{padding:.5rem}.modal-container{max-width:100%}.invitation-modal-content{padding:1rem}.partner-info-card{padding:.75rem}.invitation-preview{margin-top:1rem;padding:.75rem}.modal-actions{flex-direction:column-reverse;gap:.5rem}.btn-primary,.btn-secondary{width:100%;justify-content:center}.form-row{grid-template-columns:1fr}}@media (max-width: 480px){.modal-header{padding:1rem}.invitation-modal-content{padding:.75rem}.modal-title{font-size:1.125rem}}.btn-primary:focus,.btn-secondary:focus{outline:2px solid #a78bfa;outline-offset:2px}.modal-close-btn:focus{outline:2px solid #a78bfa;outline-offset:2px}.auto-fill-notice{margin-bottom:1.5rem;padding:.75rem 1rem;background-color:#eff6ff;border:1px solid #bfdbfe;border-radius:.375rem;border-left:4px solid #3b82f6}.auto-fill-text{margin:0;font-size:.875rem;color:#1e40af;font-weight:500;display:flex;align-items:center;gap:.5rem}.auto-fill-text:before{content:"ℹ️";font-size:1rem}.sidebar{display:flex;flex-direction:column;height:0;flex:1;border-right:1px solid #e5e7eb;background-color:#fff}.sidebar-header{display:flex;flex-direction:column;padding:1.5rem 1rem;border-bottom:1px solid #e5e7eb;background-color:#fff}.sidebar-logo{display:flex;align-items:center;flex-shrink:0;width:100%;min-height:56px}.sidebar-logo-text{margin-left:.75rem;font-size:1.125rem;font-weight:700;color:#111827;line-height:1.2;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-nav{margin-top:1.25rem;flex:1;padding:0 .5rem;background-color:#fff;display:flex;flex-direction:column;gap:.25rem}.sidebar-nav-item{color:#6b7280;display:flex;align-items:center;padding:.5rem;font-size:.875rem;font-weight:500;border-radius:.375rem;text-decoration:none;transition:all .2s}.sidebar-nav-item:hover{background-color:#f9fafb;color:#111827}.sidebar-nav-item.active{background-color:#eef2ff;color:#312e81}.sidebar-nav-icon{margin-right:.75rem;flex-shrink:0;height:1.5rem;width:1.5rem;color:#9ca3af;transition:color .2s}.sidebar-nav-item:hover .sidebar-nav-icon{color:#6b7280}.sidebar-nav-item.active .sidebar-nav-icon{color:#6366f1}.partner-branding,.default-branding{display:flex;align-items:center;gap:.75rem;width:100%}.partner-logo{width:48px;height:48px;object-fit:contain;border-radius:.375rem;background:#f8fafc;padding:4px;border:1px solid #e2e8f0;transition:all .2s ease;flex-shrink:0}.partner-logo:hover{transform:scale(1.05);border-color:#cbd5e1}.partner-logo-fallback{flex-shrink:0;width:48px;height:48px;color:#4f46e5}.logo-loading{display:flex;align-items:center;gap:.75rem;width:100%}.logo-skeleton{width:48px;height:48px;background:#f1f5f9;border-radius:.375rem;animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.company-name-skeleton{height:1.25rem;background:#f1f5f9;border-radius:.25rem;flex:1;animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.sidebar[data-role=superadmin] .sidebar-logo-text{color:#d97706;font-weight:800}.sidebar[data-role=admin] .sidebar-logo-text{color:#111827;font-weight:700}.sidebar[data-role=user] .sidebar-logo-text{color:#374151;font-weight:600}.sidebar-logo:hover .partner-logo{transform:scale(1.05)}.sidebar-logo:hover .sidebar-logo-text{opacity:.8}.sidebar-logo:focus-within{outline:2px solid #4f46e5;outline-offset:2px;border-radius:.375rem}.partner-branding,.default-branding{animation:fadeInLogo .3s ease-in-out}@keyframes fadeInLogo{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.sidebar-header{padding:1.25rem .75rem}.sidebar-logo-text{font-size:1rem}.partner-logo,.partner-logo-fallback,.logo-skeleton{width:40px;height:40px}}@media (max-width: 640px){.mobile-sidebar .sidebar-logo-text{font-size:1.125rem}.mobile-sidebar .partner-logo,.mobile-sidebar .partner-logo-fallback{width:48px;height:48px}}@media (max-width: 280px){.sidebar-logo-text{font-size:.875rem;line-height:1.1;white-space:normal;max-height:2.2rem;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-clamp:2}}.partner-logo.error{display:none}.partner-logo.error+.partner-logo-fallback{display:block!important}.sidebar-version{margin-top:auto;padding:.75rem 1rem;border-top:1px solid #f3f4f6;background:#f9fafb}.version-info{display:flex;flex-direction:column;gap:.25rem;font-size:.75rem;color:#6b7280}.version-commit{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-weight:600;color:#4b5563;padding:.125rem .375rem;background:#e5e7eb;border-radius:.25rem;align-self:flex-start}.version-message{font-size:.7rem;color:#9ca3af;line-height:1.2;cursor:help}.version-message:hover{color:#6b7280}@media (max-width: 768px){.sidebar-version{padding:.5rem .75rem}.version-info{font-size:.7rem}.version-commit,.version-message{font-size:.65rem}}@media (max-width: 480px){.sidebar-version{display:none}}.toast-container{position:fixed;top:1rem;right:1rem;z-index:50;display:flex;flex-direction:column;gap:.5rem}.toast{padding:1rem;border-radius:.5rem;box-shadow:0 10px 15px -3px #0000001a;display:flex;align-items:center;gap:.5rem;max-width:24rem;animation:toast-enter .3s ease-out}@keyframes toast-enter{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.toast-success{background-color:#dcfce7;color:#166534}.toast-error{background-color:#fecaca;color:#991b1b}.toast-info{background-color:#dbeafe;color:#1e40af}.toast-close{color:#6b7280;background:transparent;border:none;cursor:pointer;margin-left:auto}.toast-close:hover{color:#374151}@tailwind base;@tailwind components;@tailwind utilities;*{box-sizing:border-box}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:#f9fafb}.loading-container{min-height:100vh;display:flex;align-items:center;justify-content:center}.loading-spinner{width:8rem;height:8rem;border:2px solid transparent;border-bottom:2px solid #4f46e5;border-radius:50%;animation:spin 1s linear infinite}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.archived-contracts-page{display:flex;flex-direction:column;gap:2rem}.archived-contracts-header{display:flex;flex-direction:column;gap:1rem}@media (min-width: 640px){.archived-contracts-header{flex-direction:row;align-items:flex-start}}.archived-contracts-header-content{flex:1}.archived-contracts-title{display:flex;align-items:center;font-size:1.25rem;font-weight:600;color:#111827;margin:0 0 .5rem}.archived-contracts-description{font-size:.875rem;color:#374151;margin:0 0 1rem}.archive-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;margin-top:1rem}.archived-contracts-table-container{margin-top:2rem;display:flex;flex-direction:column}.archived-contracts-table-wrapper{overflow-x:auto;overflow:hidden;box-shadow:0 1px 3px #0000001a;border:1px solid rgba(0,0,0,.05);border-radius:.5rem}.archived-row{background-color:#fefefe;opacity:.85;border-left:4px solid #f59e0b}.archived-row:hover{background-color:#fafafa;opacity:1}.archive-info{display:flex;flex-direction:column;gap:.25rem;min-width:180px}.archive-date{font-size:.75rem;color:#6b7280;font-weight:500}.archive-reason{font-size:.75rem;color:#9ca3af;font-style:italic;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.archive-status{margin-top:.25rem}.status-archived{background-color:#fef3c7;color:#92400e}.contract-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;min-width:120px}.restore-btn,.permanent-delete-btn,.pdf-btn{background:transparent;border:none;cursor:pointer;padding:.375rem;border-radius:.25rem;transition:all .2s;display:inline-flex;align-items:center;justify-content:center;min-width:2.5rem;min-height:2.5rem;flex-shrink:0}.permanent-delete-btn:hover{background-color:#fef2f2;transform:translateY(-1px)}.permanent-delete-btn:focus{outline:2px solid #dc2626;outline-offset:2px}.restore-warning{display:flex;gap:1rem;padding:1rem;background-color:#f0fdf4;border:1px solid #bbf7d0;border-radius:.375rem;border-left:4px solid #16a34a;margin-bottom:1.5rem}.restore-warning .warning-icon{color:#16a34a;flex-shrink:0;margin-top:.125rem}.restore-warning .warning-text h3{margin:0 0 .5rem;font-size:.9375rem;font-weight:600;color:#166534}.restore-warning .warning-text p{margin:0;font-size:.875rem;color:#166534;line-height:1.5}.contract-to-restore{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.375rem;padding:1rem;margin-bottom:1.5rem}.contract-to-restore .contract-detail{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid #f3f4f6;font-size:.875rem}.contract-to-restore .contract-detail:last-child{border-bottom:none}.contract-to-restore .contract-detail strong{color:#374151;font-weight:600}.final-warning{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem;background:linear-gradient(135deg,#fef2f2,#fee2e2);border:2px solid #fecaca;border-radius:.5rem;margin-bottom:1.5rem;position:relative}.final-warning:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#dc2626,#b91c1c,#dc2626);border-radius:.5rem .5rem 0 0}.final-warning-icon{color:#dc2626;animation:shake .5s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.final-warning-text h3{margin:0 0 1rem;font-size:1.125rem;font-weight:700;color:#991b1b;text-transform:uppercase;letter-spacing:.05em}.final-warning-note{background:linear-gradient(135deg,#fee2e2,#fecaca);padding:.75rem;border-radius:.375rem;border:1px solid #fecaca;margin-top:1rem!important;box-shadow:inset 0 1px 2px #dc26261a}.final-warning-note strong{font-weight:700;color:#7f1d1d}.btn-danger{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff;border:none;padding:.5rem 1rem;border-radius:.375rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.05em;box-shadow:0 4px 6px #dc26264d;position:relative;overflow:hidden}.btn-danger:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.btn-danger:hover{background:linear-gradient(135deg,#b91c1c,#991b1b);transform:translateY(-2px);box-shadow:0 6px 12px #dc262666}.btn-danger:hover:before{left:100%}.btn-danger:active{transform:translateY(0);box-shadow:0 2px 4px #dc26264d}@media (max-width: 768px){.archive-info{min-width:150px}.archive-date,.archive-reason{font-size:.6875rem}.archive-reason{max-width:120px}.final-warning{padding:1.5rem}.final-warning-text h3{font-size:1rem}.contract-actions{flex-direction:column;gap:.25rem;min-width:80px}.restore-btn,.permanent-delete-btn,.pdf-btn{width:100%;min-width:2.25rem;padding:.25rem}}@media (max-width: 640px){.archive-stats{grid-template-columns:repeat(2,1fr)}.archived-contracts-header{gap:1.5rem}.archive-info{min-width:auto}.archive-reason{max-width:none;white-space:normal;overflow:visible;text-overflow:initial}.contract-to-restore .contract-detail{flex-direction:column;gap:.25rem}.final-warning{padding:1rem}.contract-actions{width:100%;flex-direction:row;justify-content:center;gap:.375rem}.restore-btn,.permanent-delete-btn,.pdf-btn{flex:1;max-width:3rem}}.archived-contracts-table-wrapper .contracts-table-cell:last-child{padding:.75rem 1rem;min-width:140px;max-width:160px;white-space:nowrap;overflow:visible}.archived-contracts-table-wrapper{overflow-x:auto;overflow-y:visible}.archived-contracts-table-wrapper .contracts-table{table-layout:auto;min-width:100%}.contracts-table-header:last-child,.contracts-table-cell:last-child{width:160px;min-width:160px}.restore-btn:disabled,.permanent-delete-btn:disabled{opacity:.6;cursor:not-allowed}.restore-btn:disabled:hover,.permanent-delete-btn:disabled:hover{background:transparent;transform:none}.archive-stats .stat-item{border-left:4px solid #f59e0b;background:linear-gradient(135deg,#fffbeb,#fef3c7)}.archive-stats .stat-label{color:#92400e}.archive-stats .stat-value{color:#78350f}.archived-contracts-table-wrapper .contracts-table-header{background-color:#fefbf3;color:#92400e;border-bottom:2px solid #fde68a}.archived-row{animation:fadeInArchived .3s ease-in-out}@keyframes fadeInArchived{0%{opacity:0;transform:translate(-10px)}to{opacity:.85;transform:translate(0)}}.restore-btn:focus-visible,.permanent-delete-btn:focus-visible{outline:2px solid;outline-offset:2px}@media (prefers-contrast: high){.archived-row{border-left-width:6px;border-left-color:#000}.status-archived{background-color:#000;color:#fff}.final-warning{border-color:#000;background:#fff}}.bookings-page{display:flex;flex-direction:column;gap:1.5rem;padding:1rem}.bookings-header{display:flex;flex-direction:column;gap:1rem}@media (min-width: 768px){.bookings-header{flex-direction:row;align-items:flex-start;justify-content:space-between}}.bookings-header-content{flex:1}.bookings-title{display:flex;align-items:center;font-size:1.5rem;font-weight:600;color:#111827;margin:0 0 .5rem}.bookings-description{font-size:.875rem;color:#6b7280;margin:0}.bookings-loading{text-align:center;padding:2rem;color:#6b7280}.bookings-controls{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.view-selector{display:flex;border:1px solid #d1d5db;border-radius:.5rem;overflow:hidden}.view-btn{padding:.5rem 1rem;background:#fff;border:none;font-size:.875rem;font-weight:500;color:#374151;cursor:pointer;transition:all .2s;border-right:1px solid #d1d5db}.view-btn:last-child{border-right:none}.view-btn:hover{background-color:#f9fafb}.view-btn.active{background-color:#3b82f6;color:#fff}.today-btn,.filter-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#fff;border:1px solid #d1d5db;border-radius:.5rem;font-size:.875rem;font-weight:500;color:#374151;cursor:pointer;transition:all .2s}.today-btn:hover,.filter-btn:hover{background-color:#f9fafb;border-color:#9ca3af}.filters-panel{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;padding:1rem}.filters-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;align-items:end}.filter-group{display:flex;flex-direction:column;gap:.25rem}.filter-group label{font-size:.875rem;font-weight:500;color:#374151}.filter-group select{padding:.5rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;background:#fff}.clear-filters-btn{padding:.5rem 1rem;background:#6b7280;color:#fff;border:none;border-radius:.375rem;font-size:.875rem;cursor:pointer;height:fit-content}.clear-filters-btn:hover{background:#4b5563}.calendar-navigation{display:flex;align-items:center;justify-content:center;gap:2rem;padding:1rem;background:#fff;border:1px solid #e5e7eb;border-radius:.5rem}.nav-btn{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background:#fff;border:1px solid #d1d5db;border-radius:50%;cursor:pointer;transition:all .2s}.nav-btn:hover{background:#f9fafb;border-color:#9ca3af}.calendar-title{font-size:1.25rem;font-weight:600;color:#111827;margin:0;text-transform:capitalize}.calendar-container{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;overflow:hidden}.calendar-month{width:100%}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);background:#f9fafb;border-bottom:1px solid #e5e7eb}.calendar-weekday{padding:.75rem;text-align:center;font-size:.875rem;font-weight:600;color:#374151;text-transform:uppercase;letter-spacing:.05em}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-day{min-height:120px;border-right:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb;padding:.5rem;cursor:pointer;transition:background-color .2s;display:flex;flex-direction:column}.calendar-day:nth-child(7n){border-right:none}.calendar-day:hover{background-color:#f9fafb}.calendar-day.other-month{background-color:#f9fafb;color:#9ca3af}.calendar-day.today{background-color:#eff6ff;border-color:#3b82f6}.calendar-day-number{font-weight:600;font-size:.875rem;margin-bottom:.25rem}.calendar-day.today .calendar-day-number{color:#3b82f6;font-weight:700}.calendar-day-bookings{display:flex;flex-direction:column;gap:.125rem;flex:1}.calendar-booking-item{padding:.125rem .375rem;border-radius:.25rem;color:#fff;font-size:.75rem;font-weight:500;cursor:pointer;transition:opacity .2s;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-booking-item:hover{opacity:.8;transform:translateY(-1px)}.booking-title{display:block}.calendar-more-bookings{font-size:.625rem;color:#6b7280;font-weight:500;text-align:center;margin-top:.125rem;padding:.125rem;background:#f3f4f6;border-radius:.25rem}.calendar-week{display:flex;flex-direction:column}.calendar-week-header{display:grid;grid-template-columns:repeat(7,1fr);background:#f9fafb;border-bottom:1px solid #e5e7eb}.calendar-week-day-header{padding:1rem;text-align:center;border-right:1px solid #e5e7eb;transition:background-color .2s}.calendar-week-day-header:last-child{border-right:none}.calendar-week-day-header.today{background-color:#eff6ff;color:#3b82f6}.week-day-name{font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.week-day-number{font-size:1.25rem;font-weight:700}.calendar-week-content{display:grid;grid-template-columns:repeat(7,1fr);min-height:400px}.calendar-week-day{border-right:1px solid #e5e7eb;padding:.75rem;cursor:pointer;transition:background-color .2s}.calendar-week-day:last-child{border-right:none}.calendar-week-day:hover{background-color:#f9fafb}.calendar-week-day.today{background-color:#eff6ff}.week-day-bookings{display:flex;flex-direction:column;gap:.25rem}.week-booking-item{padding:.5rem;border-radius:.375rem;color:#fff;cursor:pointer;transition:all .2s;box-shadow:0 1px 2px #0000001a}.week-booking-item:hover{opacity:.9;transform:translateY(-1px);box-shadow:0 2px 4px #00000026}.week-booking-title{font-size:.875rem;font-weight:600;margin-bottom:.125rem}.week-booking-resource{font-size:.75rem;opacity:.9}.calendar-day-view{padding:1.5rem}.day-view-header{text-align:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid #e5e7eb}.day-view-header h2{font-size:1.5rem;font-weight:600;color:#111827;margin:0 0 .5rem;text-transform:capitalize}.day-view-header p{font-size:.875rem;color:#6b7280;margin:0}.day-view-content{max-width:800px;margin:0 auto}.day-no-bookings{text-align:center;padding:3rem;color:#6b7280}.day-no-bookings p{margin:0;font-size:.875rem}.day-bookings-list{display:flex;flex-direction:column;gap:1rem}.day-booking-card{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;padding:1.5rem;cursor:pointer;transition:all .2s;box-shadow:0 1px 3px #0000001a}.day-booking-card:hover{box-shadow:0 4px 6px #0000001a;border-color:#d1d5db;transform:translateY(-2px)}.day-booking-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.day-booking-color{width:4px;height:60px;border-radius:2px;flex-shrink:0}.day-booking-info{flex:1}.day-booking-info h3{font-size:1.125rem;font-weight:600;color:#111827;margin:0 0 .25rem}.day-booking-info p{font-size:.875rem;color:#6b7280;margin:0;font-family:Monaco,Menlo,Ubuntu Mono,monospace}.day-booking-cost{font-size:1.125rem;font-weight:700;color:#059669}.day-booking-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem;padding-top:1rem;border-top:1px solid #f3f4f6}.day-booking-service,.day-booking-resource,.day-booking-location,.day-booking-period{font-size:.875rem;color:#374151;line-height:1.4}.day-booking-service strong{color:#111827}.calendar-legend{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;padding:1rem;margin-top:1rem}.calendar-legend h4{font-size:.875rem;font-weight:600;color:#374151;margin:0 0 .75rem}.legend-items{display:flex;gap:1.5rem;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#374151}.legend-color{width:1rem;height:1rem;border-radius:.25rem;flex-shrink:0}@media (max-width: 768px){.bookings-page{padding:.5rem;gap:1rem}.calendar-navigation{gap:1rem;padding:.75rem}.calendar-title{font-size:1rem}.calendar-day{min-height:80px;padding:.25rem}.calendar-day-number{font-size:.75rem}.calendar-booking-item{font-size:.625rem;padding:.125rem .25rem}.week-booking-title{font-size:.75rem}.week-booking-resource{font-size:.625rem}.day-booking-header{flex-direction:column;align-items:flex-start;gap:.75rem}.day-booking-color{width:100%;height:4px}.day-booking-details{grid-template-columns:1fr;gap:.5rem}.filters-row{grid-template-columns:1fr}.bookings-controls{flex-direction:column;align-items:stretch}.view-selector{width:100%}.view-btn{flex:1}.calendar-weekdays{font-size:.75rem}.calendar-weekday{padding:.5rem .25rem}}@media (max-width: 480px){.calendar-day{min-height:60px;padding:.125rem}.calendar-day-number{font-size:.625rem}.calendar-booking-item{font-size:.5rem;padding:.0625rem .125rem}.day-booking-card{padding:1rem}.day-booking-info h3{font-size:1rem}.calendar-legend{padding:.75rem}.legend-items{gap:1rem}}.calendar-day,.week-booking-item,.day-booking-card{transition:all .2s ease}.view-btn:focus,.today-btn:focus,.filter-btn:focus,.nav-btn:focus,.clear-filters-btn:focus{outline:2px solid #3b82f6;outline-offset:2px}.calendar-day:focus{outline:2px solid #3b82f6;outline-offset:-2px}.calendar-loading{display:flex;align-items:center;justify-content:center;min-height:400px;color:#6b7280}@media (max-width: 640px){.calendar-container{overflow-x:auto}.calendar-month{min-width:600px}}.partner-booking-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:#16a34a;color:#fff;border:none;border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;box-shadow:0 1px 2px #0000000d;white-space:nowrap}.partner-booking-btn:hover{background-color:#15803d;transform:translateY(-1px);box-shadow:0 4px 12px #16a34a40}.partner-booking-btn:active{transform:translateY(0);box-shadow:0 2px 8px #16a34a40}.partner-booking-btn:focus{outline:2px solid #22c55e;outline-offset:2px}.summary-section{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #e5e7eb}.summary-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.summary-section h5{margin:0 0 .75rem;font-size:.875rem;font-weight:600;color:#374151}.form-help-text{margin-top:.25rem;font-size:.75rem;color:#6b7280}@media (max-width: 768px){.bookings-controls{flex-wrap:wrap}.partner-booking-btn{order:-1;width:100%;justify-content:center;margin-bottom:.5rem}}@media (max-width: 480px){.partner-booking-btn{font-size:.8125rem;padding:.5rem .75rem}.partner-booking-btn svg{width:14px;height:14px}}.contracts-page{display:flex;flex-direction:column;gap:2rem}.contracts-header{display:flex;flex-direction:column;gap:1rem}@media (min-width: 640px){.contracts-header{flex-direction:row;align-items:flex-start}}.contracts-header-content{flex:1}.contracts-title{display:flex;align-items:center;font-size:1.25rem;font-weight:600;color:#111827;margin:0 0 .5rem}.contracts-description{font-size:.875rem;color:#374151;margin:0 0 1rem}.contracts-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;margin-top:1rem}.contracts-header-actions{margin-top:1rem;flex:none}@media (min-width: 640px){.contracts-header-actions{margin-top:0;margin-left:2rem}}.add-contract-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:.375rem;border:1px solid transparent;background-color:#16a34a;padding:.5rem 1rem;font-size:.875rem;font-weight:500;color:#fff;box-shadow:0 1px 2px #0000000d;cursor:pointer;transition:background-color .2s}.add-contract-btn:hover{background-color:#15803d}.add-contract-btn:focus{outline:2px solid #22c55e;outline-offset:2px}.contracts-loading{text-align:center;padding:2rem;color:#6b7280}.contracts-table-container{margin-top:2rem;display:flex;flex-direction:column}.contracts-table-wrapper{overflow-x:auto;overflow:hidden;box-shadow:0 1px 3px #0000001a;border:1px solid rgba(0,0,0,.05);border-radius:.5rem}.contracts-table{min-width:100%;border-collapse:collapse;border-spacing:0}.contracts-table-head{background-color:#f9fafb}.contracts-table-header{padding:.75rem 1.5rem;text-align:left;font-size:.75rem;font-weight:500;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.contracts-table-body{background-color:#fff;border-top:1px solid #e5e7eb}.contracts-table-row{border-bottom:1px solid #e5e7eb;transition:background-color .2s ease}.contracts-table-row:hover{background-color:#f9fafb}.contracts-table-cell{padding:1rem 1.5rem;font-size:.875rem;color:#111827;vertical-align:top}.contract-info{display:flex;flex-direction:column;min-width:0}.contract-number{font-weight:600;color:#111827;font-family:Monaco,Menlo,Ubuntu Mono,monospace;margin-bottom:.25rem}.contract-created{font-size:.75rem;color:#9ca3af}.customer-info{display:flex;flex-direction:column;gap:.125rem}.customer-name{font-weight:500;color:#111827}.customer-email{font-size:.75rem;color:#6b7280}.service-info{display:flex;flex-direction:column;gap:.25rem}.service-header{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.service-name{font-weight:500;color:#111827}.usage-info{font-size:.75rem;color:#059669;font-weight:500}.location-info{display:flex;flex-direction:column;gap:.25rem}.location-name{font-weight:500;color:#111827}.resource-info{display:flex;align-items:center;gap:.25rem;font-size:.75rem;color:#6b7280}.resource-icon{font-size:.875rem}.period-info{display:flex;flex-direction:column;gap:.25rem}.period-dates{font-weight:500;color:#111827;font-size:.8125rem}.days-remaining{font-size:.75rem;color:#059669;font-weight:500}.days-remaining.warning{color:#dc2626;font-weight:600}.cost-info{font-weight:600;color:#059669;font-size:.9375rem}.status-expired{background-color:#fecaca;color:#991b1b}.status-suspended{background-color:#fef3c7;color:#92400e}.view-btn{color:#16a34a;background:transparent;border:none;cursor:pointer;padding:.25rem;border-radius:.25rem;transition:all .2s;display:inline-flex;align-items:center;justify-content:center}.view-btn:hover{background-color:#f0fdf4;color:#15803d}.view-btn:focus{outline:2px solid #22c55e;outline-offset:2px}.contracts-empty{text-align:center;padding:3rem;color:#6b7280}.contracts-empty p{margin:0 0 1rem;font-size:.875rem}.contract-form-modal{max-width:56rem;max-height:90vh}.service-details{margin-top:1rem;padding:1rem;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:.375rem}.service-details h4{margin:0 0 .75rem;font-size:.875rem;font-weight:600;color:#374151}.service-info-display{display:flex;flex-direction:column;gap:.5rem}.service-detail-item{display:flex;justify-content:space-between;align-items:center}.detail-label{font-size:.8125rem;color:#6b7280;font-weight:500}.detail-value{font-size:.8125rem;color:#111827;font-weight:500}.date-calculation{margin-top:.75rem;padding:.75rem;background-color:#eff6ff;border:1px solid #bfdbfe;border-radius:.375rem;border-left:4px solid #3b82f6}.calculation-note{margin:0;font-size:.8125rem;color:#1e40af;font-style:italic}.confirmation-content{padding:1.5rem}.confirmation-warning{display:flex;gap:1rem;padding:1rem;background-color:#fef3c7;border:1px solid #f59e0b;border-radius:.375rem;border-left:4px solid #f59e0b;margin-bottom:1.5rem}.contract-summary{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:.375rem;padding:1rem}.contract-summary h4{margin:0 0 1rem;font-size:.9375rem;font-weight:600;color:#111827}.summary-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid #f3f4f6}.summary-item:last-child{border-bottom:none}.summary-label{font-size:.875rem;color:#6b7280;font-weight:500}.summary-value{font-size:.875rem;color:#111827;font-weight:500;text-align:right}.summary-value.cost{color:#16a34a;font-weight:600;font-size:.9375rem}.confirmation-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e5e7eb}.form-input,.form-select{width:100%;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;color:#111827;box-sizing:border-box;transition:border-color .2s,box-shadow .2s}.form-input:focus,.form-select:focus{outline:none;border-color:#16a34a;box-shadow:0 0 0 3px #16a34a1a}.form-select{background-color:#fff;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem}.form-select:disabled{background-color:#f9fafb;color:#9ca3af;cursor:not-allowed}.btn-primary{display:inline-flex;align-items:center;gap:.5rem;background-color:#16a34a;color:#fff;border:none;padding:.5rem 1rem;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s}.btn-primary:hover:not(:disabled){background-color:#15803d}@media (max-width: 768px){.contracts-table-cell,.contracts-table-header{padding:.75rem 1rem;font-size:.8125rem}.contract-number,.service-name,.customer-name,.location-name{font-size:.8125rem}.period-dates{font-size:.75rem}.cost-info{font-size:.875rem}}@media (max-width: 640px){.contracts-stats{grid-template-columns:repeat(3,1fr)}.contracts-header{gap:1.5rem}.contracts-header-actions{margin-left:0}.add-contract-btn{width:100%;justify-content:center}.form-row{grid-template-columns:1fr}.modal-actions,.confirmation-actions{flex-direction:column-reverse;gap:.5rem}.btn-primary,.btn-secondary{width:100%;justify-content:center}.service-header,.summary-item{flex-direction:column;align-items:flex-start;gap:.25rem}.summary-value{text-align:left}}.modal-container{animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.btn-primary:focus,.btn-secondary:focus{outline:2px solid #22c55e;outline-offset:2px}.modal-close-btn:focus{outline:2px solid #22c55e;outline-offset:2px}.form-input:focus,.form-select:focus{outline:2px solid #22c55e;outline-offset:2px}.contracts-table-row{transition:background-color .2s ease}.stat-label{font-size:.75rem;font-weight:500;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem;text-align:center}.availability-icon{font-size:1.25rem;line-height:1;flex-shrink:0;margin-top:.125rem}.availability-details{flex:1}@media (max-width: 640px){.availability-check{padding:.75rem}.availability-status{padding:.5rem}.availability-success,.availability-error{flex-direction:column;gap:.25rem}.availability-icon{align-self:flex-start}}.contract-actions{display:flex;gap:.5rem;align-items:center}.edit-btn,.delete-btn{background:transparent;border:none;cursor:pointer;padding:.375rem;border-radius:.25rem;transition:all .2s;display:inline-flex;align-items:center;justify-content:center}.edit-btn{color:#16a34a}.edit-btn:hover{background-color:#f0fdf4;color:#15803d}.edit-btn:focus{outline:2px solid #22c55e;outline-offset:2px}.delete-btn{color:#dc2626}.delete-btn:hover{background-color:#fef2f2;color:#b91c1c}.delete-btn:focus{outline:2px solid #ef4444;outline-offset:2px}.delete-modal{max-width:32rem}.delete-warning{display:flex;gap:1rem;padding:1rem;background-color:#fef3c7;border:1px solid #f59e0b;border-radius:.375rem;border-left:4px solid #f59e0b;margin-bottom:1.5rem}.warning-icon{color:#f59e0b;flex-shrink:0;margin-top:.125rem}.warning-text h3{margin:0 0 .5rem;font-size:.9375rem;font-weight:600;color:#92400e}.warning-text p{margin:0;font-size:.875rem;color:#92400e;line-height:1.5}.contract-to-delete{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.375rem;padding:1rem;margin-bottom:1.5rem}.contract-detail{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid #f3f4f6;font-size:.875rem}.contract-detail:last-child{border-bottom:none}.contract-detail strong{color:#374151;font-weight:600}.delete-consequences{background:#fef2f2;border:1px solid #fecaca;border-radius:.375rem;padding:1rem;margin-bottom:1.5rem}.delete-consequences h4{margin:0 0 .75rem;font-size:.9375rem;font-weight:600;color:#991b1b}.delete-consequences ul{margin:0;padding-left:1.25rem;color:#991b1b;font-size:.875rem;line-height:1.6}.delete-consequences li{margin-bottom:.25rem}.delete-consequences strong{font-weight:700}.final-warning{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem;background:#fef2f2;border:2px solid #fecaca;border-radius:.5rem;margin-bottom:1.5rem}.final-warning-icon{color:#dc2626}.final-warning-text{text-align:center}.final-warning-text h3{margin:0 0 1rem;font-size:1.125rem;font-weight:700;color:#991b1b}.final-warning-text p{margin:0 0 .75rem;font-size:.875rem;color:#991b1b;line-height:1.5}.final-warning-note{background:#fee2e2;padding:.75rem;border-radius:.375rem;border:1px solid #fecaca;margin-top:1rem!important}.final-warning-note strong{font-weight:700}.delete-modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e5e7eb}.btn-warning{background-color:#f59e0b;color:#fff;border:none;padding:.5rem 1rem;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s}.btn-warning:hover{background-color:#d97706}.btn-danger{background-color:#dc2626;color:#fff;border:none;padding:.5rem 1rem;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s;animation:pulse-danger 2s infinite}.btn-danger:hover{background-color:#b91c1c}@keyframes pulse-danger{0%,to{box-shadow:0 0 #dc262666}50%{box-shadow:0 0 0 8px #dc262600}}@media (max-width: 640px){.delete-modal{max-width:90vw;margin:1rem}.delete-modal-content{padding:1rem}.contract-detail{flex-direction:column;gap:.25rem}.delete-modal-actions{flex-direction:column-reverse;gap:.5rem}.btn-warning,.btn-danger,.btn-secondary{width:100%;justify-content:center}.final-warning{padding:1.5rem}}.package-booking-btn{color:#3b82f6;background:transparent;border:none;cursor:pointer;padding:.375rem;border-radius:.25rem;transition:all .2s;display:inline-flex;align-items:center;justify-content:center}.package-booking-btn:hover{background-color:#eff6ff;color:#1e40af}.package-booking-btn:focus{outline:2px solid #3b82f6;outline-offset:2px}.remaining-entries{font-size:.75rem;color:#16a34a;font-weight:600;margin-top:.25rem}.package-booking-form .form-section{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid #e5e7eb}.package-booking-form .form-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.time-slot-selector{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.time-slot-option{display:flex;align-items:center;gap:.75rem;padding:.75rem;border:1px solid #d1d5db;border-radius:.375rem;cursor:pointer;transition:all .2s;background:#fff}.time-slot-option:hover{background-color:#f9fafb}.time-slot-option.selected{background-color:#eff6ff;border-color:#3b82f6}.availability-check{margin-top:1rem;padding:1rem;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:.375rem}.availability-check h4{margin:0 0 .75rem;font-size:.875rem;font-weight:600;color:#374151}.availability-loading{display:flex;align-items:center;gap:.5rem;color:#6b7280;font-size:.875rem}.availability-status{padding:.75rem;border-radius:.375rem;border:1px solid}.availability-status.available{background-color:#f0fdf4;border-color:#bbf7d0;color:#166534}.availability-status.unavailable{background-color:#fef2f2;border-color:#fecaca;color:#991b1b}.availability-success,.availability-error{display:flex;align-items:flex-start;gap:.5rem}.availability-details p{margin:0 0 .25rem;font-size:.875rem;line-height:1.4}.availability-details p:last-child{margin-bottom:0}.booking-summary{background:#eff6ff;border:1px solid #bfdbfe;border-left:4px solid #3b82f6;border-radius:.375rem;padding:1rem;margin-top:1rem}.booking-summary h4{margin:0 0 .75rem;color:#1e40af;font-size:.9375rem;font-weight:600}.booking-summary-details{display:flex;flex-direction:column;gap:.5rem;font-size:.875rem;color:#1e40af}.booking-summary-item{display:flex;justify-content:space-between;align-items:center}.booking-summary-label{color:#1e40af}.booking-summary-value{font-weight:600;color:#1e40af}.booking-summary-total{border-top:1px solid #bfdbfe;padding-top:.5rem;margin-top:.5rem}.booking-summary-total .booking-summary-value{font-weight:700;color:#16a34a}@media (max-width: 640px){.time-slot-selector{grid-template-columns:1fr}.availability-success,.availability-error{flex-direction:column;gap:.25rem}.booking-summary-item{flex-direction:column;align-items:flex-start;gap:.25rem}}.pdf-btn{background:transparent;border:none;cursor:pointer;padding:.375rem;border-radius:.25rem;transition:all .2s;display:inline-flex;align-items:center;justify-content:center}.pdf-btn:hover:not(:disabled){background-color:#f3f4f6;transform:translateY(-1px)}.pdf-btn:focus{outline:2px solid #8b5cf6;outline-offset:2px}.pdf-btn:disabled{cursor:not-allowed;opacity:.6}.pdf-btn .loading-spinner-small{border-color:#ffffff4d;border-top-color:#fff}@media (max-width: 768px){.contract-actions{flex-wrap:wrap;gap:.375rem}.pdf-btn,.edit-btn,.delete-btn{min-width:2.25rem;padding:.375rem}.package-booking-btn{min-width:5rem;font-size:.8125rem;padding:.375rem .5rem}}@media (max-width: 640px){.contract-actions{flex-direction:column;align-items:stretch;gap:.25rem}.pdf-btn,.edit-btn,.delete-btn,.package-booking-btn{width:100%;justify-content:center;min-width:auto}}.payment-status-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .5rem;font-size:.75rem;font-weight:600;border-radius:9999px;text-transform:uppercase;letter-spacing:.05em}.payment-status-paid{background-color:#dcfce7;color:#166534}.payment-status-unpaid{background-color:#fecaca;color:#991b1b}.payment-status-partial{background-color:#fef3c7;color:#92400e}.payment-status-overdue{background-color:#fee2e2;color:#dc2626;border:1px solid #fecaca}.payment-status-not-required{background-color:#e5e7eb;color:#6b7280}.payment-status-default{background-color:#f3f4f6;color:#374151}.overdue-icon{animation:pulse-warning 2s infinite}@keyframes pulse-warning{0%,to{opacity:1}50%{opacity:.5}}.payment-info{display:flex;flex-direction:column;gap:.25rem}.next-due-date{display:flex;align-items:center;gap:.25rem;font-size:.75rem;color:#6b7280;margin-top:.25rem}.next-due-date.overdue{color:#dc2626;font-weight:600}.payment-btn{color:#fff;background:transparent;border:none;cursor:pointer;padding:.5rem;border-radius:.375rem;transition:all .2s;display:inline-flex;align-items:center;justify-content:center;min-width:2.5rem}.record-payment-btn:hover{background-color:#15803d;transform:translateY(-1px)}.history-btn:hover{background-color:#0284c7;transform:translateY(-1px)}.payment-btn:focus{outline:2px solid currentColor;outline-offset:2px}.validation-info{margin-top:.5rem;padding:.5rem;border-radius:.375rem;font-size:.875rem}.validation-info.success{background-color:#f0fdf4;border:1px solid #bbf7d0}.validation-success{color:#166534}.validation-info.error{background-color:#fef2f2;border:1px solid #fecaca}.validation-error{color:#991b1b}.file-upload-area{border:2px dashed #d1d5db;border-radius:.5rem;padding:1.5rem;text-align:center;transition:border-color .2s}.file-upload-area:hover{border-color:#9ca3af}.file-upload-label{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;color:#6b7280;font-weight:500;transition:color .2s}.file-upload-label:hover{color:#374151}.file-upload-hint{display:block;margin-top:.5rem;color:#9ca3af;font-size:.75rem}.payment-summary{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:.375rem;padding:1rem}.payment-summary .summary-item.total{border-top:1px solid #e2e8f0;padding-top:.5rem;margin-top:.5rem;font-weight:600}.payment-history-modal{max-width:56rem;max-height:90vh}.payment-history-content{padding:1.5rem;max-height:calc(90vh - 120px);overflow-y:auto}.payment-stats-section{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid #e5e7eb}.payment-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.stat-card{display:flex;align-items:center;gap:1rem;padding:1rem;background-color:#fff;border:1px solid #e5e7eb;border-radius:.5rem;box-shadow:0 1px 2px #0000000d}.stat-icon{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background-color:#f3f4f6;border-radius:.375rem;color:#6b7280}.stat-info{flex:1}.stat-value{font-size:1.25rem;font-weight:700;color:#111827;margin-bottom:.25rem}.stat-label{font-size:.75rem;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.payment-progress{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:.375rem;padding:1rem}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.progress-label{font-size:.875rem;font-weight:600;color:#374151}.progress-value{font-size:.875rem;font-weight:600;color:#16a34a}.progress-bar{width:100%;height:.5rem;background-color:#e5e7eb;border-radius:9999px;overflow:hidden}.progress-fill{height:100%;background-color:#3b82f6;transition:width .3s ease;border-radius:9999px}.payments-list-section{margin-bottom:2rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.section-header h3{margin:0;font-size:1.125rem;font-weight:600;color:#111827}.section-actions{display:flex;gap:.5rem}.payment-status-badge.fully-paid{background-color:#dcfce7;color:#166534}.payment-status-badge.outstanding{background-color:#fef3c7;color:#92400e}.payments-table-wrapper{overflow-x:auto;border:1px solid #e5e7eb;border-radius:.5rem}.payments-table{width:100%;border-collapse:collapse}.payments-table th{background-color:#f9fafb;padding:.75rem 1rem;text-align:left;font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #e5e7eb}.payments-table td{padding:1rem;border-bottom:1px solid #f3f4f6;vertical-align:top}.payment-row{transition:background-color .2s}.payment-row:hover{background-color:#f9fafb}.payment-row:last-child td{border-bottom:none}.payment-number-info{display:flex;flex-direction:column;gap:.25rem}.payment-number-info .number{font-weight:600;font-family:Monaco,Menlo,Ubuntu Mono,monospace;color:#111827}.payment-number-info .created-date{font-size:.75rem;color:#9ca3af}.amount-info{display:flex;flex-direction:column;gap:.25rem}.amount-info .amount{font-weight:600;color:#16a34a;font-size:.9375rem}.amount-info .payment-type{font-size:.75rem;color:#6b7280}.method-info{display:flex;align-items:center;gap:.5rem}.method-icon{font-size:1rem}.method-name{font-size:.875rem;color:#374151}.transaction-ref-text{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.8125rem;color:#6b7280}.actions-group{display:flex;gap:.5rem;align-items:center}.action-btn{padding:.375rem;border:none;border-radius:.25rem;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;justify-content:center}.action-btn.edit-btn{color:#3b82f6;background-color:transparent}.action-btn.edit-btn:hover{background-color:#eff6ff;color:#1e40af}.action-btn.view-btn{color:#16a34a;background-color:transparent}.action-btn.view-btn:hover{background-color:#f0fdf4;color:#15803d}.action-btn.delete-btn{color:#dc2626;background-color:transparent}.action-btn.delete-btn:hover{background-color:#fef2f2;color:#b91c1c}.payments-loading{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:2rem;color:#6b7280}.no-payments{text-align:center;padding:3rem;color:#6b7280}.no-payments-icon{margin:0 auto 1rem;color:#d1d5db}.no-payments p{margin:0;font-size:.875rem}.payment-notes-section{margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e5e7eb}.payment-notes-section h4{margin:0 0 1rem;font-size:1rem;font-weight:600;color:#111827}.notes-list{display:flex;flex-direction:column;gap:1rem}.note-item{padding:1rem;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:.375rem}.note-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.note-payment{font-weight:600;font-family:Monaco,Menlo,Ubuntu Mono,monospace;color:#374151}.note-date{font-size:.75rem;color:#6b7280}.note-content{font-size:.875rem;color:#111827;line-height:1.5}.status-completed{background-color:#dcfce7;color:#166534}.status-failed{background-color:#fecaca;color:#991b1b}.status-refunded{background-color:#e0e7ff;color:#3730a3}.status-cancelled{background-color:#e5e7eb;color:#374151}.status-default{background-color:#f3f4f6;color:#374151}.contracts-table-header{white-space:nowrap}@media (max-width: 768px){.payment-stats-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.stat-card{padding:.75rem;gap:.75rem}.stat-icon{width:2rem;height:2rem}.stat-value{font-size:1rem}.progress-header{flex-direction:column;align-items:flex-start;gap:.5rem}.payments-table th,.payments-table td{padding:.5rem .75rem;font-size:.8125rem}.actions-group{flex-direction:column;gap:.25rem}.action-btn{padding:.25rem}.section-header{flex-direction:column;align-items:flex-start;gap:.5rem}.payment-history-content{padding:1rem}}@media (max-width: 640px){.payment-stats-grid{grid-template-columns:1fr}.payment-info{align-items:flex-start}.next-due-date{flex-wrap:wrap}.payment-btn{min-width:2rem;padding:.375rem}.contract-actions{flex-direction:column;align-items:stretch;gap:.25rem}.payment-btn,.package-booking-btn{width:100%;justify-content:center}.payments-table-wrapper{overflow-x:scroll}.payments-table{min-width:600px}}.payment-btn:focus,.action-btn:focus{outline:2px solid currentColor;outline-offset:2px}.loading-spinner-small{display:inline-block;width:1rem;height:1rem;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:currentColor;animation:spin 1s linear infinite}.delete-modal .payment-to-delete{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.375rem;padding:1rem;margin-bottom:1.5rem}.delete-modal .summary-item{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid #f3f4f6;font-size:.875rem}.delete-modal .summary-item:last-child{border-bottom:none}.success-message{color:#166534;background-color:#f0fdf4;border:1px solid #bbf7d0;padding:.75rem;border-radius:.375rem;margin-bottom:1rem}.error-message{color:#991b1b;background-color:#fef2f2;border:1px solid #fecaca;padding:.75rem;border-radius:.375rem;margin-bottom:1rem}.payment-row.new-payment{animation:highlightNew 3s ease-in-out}@keyframes highlightNew{0%{background-color:#f0fdf4}to{background-color:transparent}}.contracts-header-actions{display:flex;gap:12px;align-items:center}.export-csv-btn{display:flex;align-items:center;padding:10px 16px;border:2px solid #16a34a;background-color:transparent;color:#16a34a;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.export-csv-btn:hover:not(:disabled){background-color:#16a34a;color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #16a34a40}.export-csv-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #16a34a40}.export-csv-btn:disabled{opacity:.5;cursor:not-allowed;border-color:#9ca3af;color:#9ca3af}.export-csv-btn:disabled:hover{background-color:transparent;color:#9ca3af;transform:none;box-shadow:none}.export-csv-btn:disabled .lucide{animation:spin 1s linear infinite}.contracts-header-actions .export-csv-btn{margin-right:0}.contracts-header-actions .add-contract-btn{margin-left:0}@media (max-width: 768px){.contracts-header-actions{flex-direction:column;width:100%;gap:8px}.export-csv-btn,.add-contract-btn{width:100%;justify-content:center}}@media (max-width: 480px){.export-csv-btn{font-size:13px;padding:8px 12px}.export-csv-btn .lucide{width:14px;height:14px}}.fattureincloud-upload-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background-color:#e3f2fd;color:#1976d2;border:1px solid #bbdefb;border-radius:4px;font-size:12px;cursor:pointer;transition:all .2s ease}.fattureincloud-upload-btn:hover{background-color:#bbdefb;border-color:#90caf9}.fattureincloud-upload-btn:disabled{opacity:.5;cursor:not-allowed}.fattureincloud-status.uploaded{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background-color:#e8f5e8;color:#2e7d32;border:1px solid #c8e6c9;border-radius:4px;font-size:12px}.bulk-upload-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background-color:#f3e5f5;color:#7b1fa2;border:1px solid #ce93d8;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.bulk-upload-btn:hover{background-color:#e1bee7;border-color:#ba68c8}.bulk-upload-modal{max-width:800px;max-height:80vh;overflow-y:auto}.contracts-selection{max-height:400px;overflow-y:auto;border:1px solid #e0e0e0;border-radius:4px;margin-top:16px}.contract-selection-item{display:flex;align-items:center;gap:12px;padding:12px;border-bottom:1px solid #f0f0f0;transition:background-color .2s ease}.contract-selection-item:hover{background-color:#f9f9f9}.contract-selection-item:last-child{border-bottom:none}.contract-info{flex:1}.contract-number{font-weight:500;color:#333;margin-bottom:4px}.contract-details{font-size:12px;color:#666}.upload-result{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:500}.upload-result.success{color:#2e7d32}.upload-result.error{color:#d32f2f}.select-all{display:flex;align-items:center;gap:8px;padding:12px;background-color:#f5f5f5;border-radius:4px;margin-bottom:16px}.no-eligible-contracts{text-align:center;padding:40px;color:#666}.archive-modal{max-width:32rem}.archive-modal-content{padding:1.5rem}.archive-warning{display:flex;gap:1rem;padding:1rem;background-color:#fef3c7;border:1px solid #f59e0b;border-radius:.375rem;border-left:4px solid #f59e0b;margin-bottom:1.5rem}.archive-warning .warning-icon{color:#f59e0b;flex-shrink:0;margin-top:.125rem}.archive-warning .warning-text h3{margin:0 0 .5rem;font-size:.9375rem;font-weight:600;color:#92400e}.archive-warning .warning-text p{margin:0;font-size:.875rem;color:#92400e;line-height:1.5}.contract-to-archive{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.375rem;padding:1rem;margin-bottom:1.5rem}.contract-to-archive .contract-detail{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid #f3f4f6;font-size:.875rem}.contract-to-archive .contract-detail:last-child{border-bottom:none}.contract-to-archive .contract-detail strong{color:#374151;font-weight:600}.archive-info-note{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:.375rem;padding:1rem;margin-bottom:1.5rem}.archive-info-note h4{margin:0 0 .75rem;font-size:.9375rem;font-weight:600;color:#166534}.archive-info-note ul{margin:0;padding-left:1.25rem;color:#166534;font-size:.875rem;line-height:1.6}.archive-info-note li{margin-bottom:.25rem}.btn-archive{display:inline-flex;align-items:center;gap:.5rem;background-color:#f59e0b;color:#fff;border:none;padding:.5rem 1rem;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .3s ease}.btn-archive:hover{background-color:#d97706;transform:translateY(-1px);box-shadow:0 4px 6px #f59e0b4d}.btn-archive:active{transform:translateY(0);box-shadow:0 2px 4px #f59e0b4d}@media (max-width: 640px){.archive-modal{max-width:90vw;margin:1rem}.archive-modal-content{padding:1rem}.contract-to-archive .contract-detail{flex-direction:column;gap:.25rem}.archive-modal-actions{flex-direction:column-reverse!important;gap:.5rem!important}.btn-archive,.btn-secondary{width:100%;justify-content:center}.archive-info-note{padding:.75rem}.archive-warning{padding:.75rem;gap:.75rem}}.archive-modal .modal-container{animation:archiveModalSlideIn .3s ease-out}@keyframes archiveModalSlideIn{0%{opacity:0;transform:translateY(-10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.btn-archive:focus{outline:2px solid #f59e0b;outline-offset:2px}.btn-archive:hover .lucide{animation:archiveIconBounce .6s ease-in-out}@keyframes archiveIconBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.archived-contracts-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:#6b7280;color:#fff;border:none;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.archived-contracts-btn:hover{background-color:#4b5563;transform:translateY(-1px);box-shadow:0 4px 12px #6b728040}.archived-contracts-btn:active{transform:translateY(0);box-shadow:0 2px 8px #6b728040}.archived-contracts-btn:focus{outline:2px solid #6b7280;outline-offset:2px}@media (max-width: 768px){.archived-contracts-btn{width:100%;justify-content:center}}@media (max-width: 480px){.archived-contracts-btn{font-size:13px;padding:8px 12px}.archived-contracts-btn .lucide{width:14px;height:14px}}@media (max-width: 768px){.customers-table-cell,.customers-table-header{padding:.75rem 1rem;font-size:.8125rem}.customer-company,.customer-person{font-size:.875rem}.customer-location,.customer-created{font-size:.6875rem}.customer-profile-modal{margin:.5rem;max-height:calc(100vh - 1rem)}.customer-profile-modal-header{padding:1rem 1.5rem .75rem}.profile-completion-notice{margin:.75rem 1.5rem}}@media (max-width: 640px){.customers-stats{grid-template-columns:1fr}.customers-header{gap:1.5rem}.empty-content{padding:0 1rem}.customer-profile-modal{margin:.25rem;max-height:calc(100vh - .5rem)}}.customers-page{display:flex;flex-direction:column;gap:2rem}.customers-header{display:flex;flex-direction:column;gap:1rem}@media (min-width: 640px){.customers-header{flex-direction:row;align-items:flex-start}}.customers-header-content{flex:1}.customers-title{font-size:1.25rem;font-weight:600;color:#111827;margin:0 0 .5rem}.customers-description{font-size:.875rem;color:#374151;margin:0 0 1rem}.customers-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem;margin-top:1rem}.customers-loading{text-align:center;padding:2rem;color:#6b7280}.customers-unauthorized{text-align:center;padding:3rem;color:#6b7280}.customers-unauthorized h1{color:#dc2626;margin-bottom:1rem}.customers-table-container{margin-top:2rem;display:flex;flex-direction:column}.customers-table-wrapper{overflow-x:auto;overflow:hidden;box-shadow:0 1px 3px #0000001a;border:1px solid rgba(0,0,0,.05);border-radius:.5rem}.customers-table{min-width:100%;border-collapse:collapse;border-spacing:0}.customers-table-head{background-color:#f9fafb}.customers-table-header{padding:.75rem 1.5rem;text-align:left;font-size:.75rem;font-weight:500;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.customers-table-body{background-color:#fff;border-top:1px solid #e5e7eb}.customers-table-row{border-bottom:1px solid #e5e7eb;transition:background-color .2s ease}.customers-table-row:hover{background-color:#f9fafb}.customers-table-cell{padding:1rem 1.5rem;font-size:.875rem;color:#111827;vertical-align:top}.customer-info{display:flex;flex-direction:column;min-width:0}.customer-name{margin-bottom:.5rem}.customer-company{font-weight:600;color:#111827;margin-bottom:.25rem}.customer-person{font-weight:500;color:#111827}.customer-location{font-size:.75rem;color:#6b7280;margin-bottom:.25rem}.customer-created{font-size:.75rem;color:#9ca3af}.customer-email{display:flex;flex-direction:column}.billing-email,.billing-phone{margin-top:.25rem}.billing-email small,.billing-phone small{color:#6b7280;font-size:.75rem}.customer-phone{display:flex;flex-direction:column}.type-badge{display:inline-flex;padding:.125rem .5rem;font-size:.75rem;font-weight:600;border-radius:9999px;background-color:#dbeafe;color:#1e40af}.customer-actions{display:flex;gap:.5rem;align-items:center}.edit-btn,.delete-btn{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:1px solid #d1d5db;background-color:#fff;border-radius:.375rem;cursor:pointer;transition:all .2s;color:#6b7280}.edit-btn:hover{background-color:#f3f4f6;border-color:#9ca3af;color:#374151}.delete-btn:hover{background-color:#fef2f2;border-color:#fca5a5;color:#dc2626}.delete-btn:disabled{opacity:.5;cursor:not-allowed}.loading-spinner-small{width:1rem;height:1rem;border:2px solid #f3f4f6;border-radius:50%;border-top-color:#dc2626;animation:spin 1s linear infinite}.customers-empty{text-align:center;padding:3rem 2rem;color:#6b7280}.empty-content{max-width:28rem;margin:0 auto}.empty-content h3{font-size:1.125rem;font-weight:600;color:#374151;margin:0 0 .5rem}.empty-content p{margin:0 0 1.5rem;font-size:.875rem;color:#6b7280}.empty-hint{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem;padding:1rem;text-align:left}.empty-hint strong{display:block;margin-bottom:.75rem;color:#374151;font-weight:600}.empty-hint ol{margin:0;padding-left:1.25rem;color:#6b7280;font-size:.875rem}.empty-hint li{margin-bottom:.25rem}.customer-form-modal{max-width:56rem;max-height:90vh}.customer-profile-modal-overlay{position:fixed;inset:0;background-color:#000000bf;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.customer-profile-modal{background-color:#fff;border-radius:.5rem;box-shadow:0 25px 50px -12px #00000040;max-width:56rem;max-height:90vh;width:100%;overflow-y:auto}.customer-profile-modal-header{padding:1.5rem 2rem 1rem;border-bottom:1px solid #e5e7eb;background-color:#f8fafc;border-radius:.5rem .5rem 0 0}.customer-profile-modal-title{font-size:1.25rem;font-weight:600;color:#111827;margin:0 0 .75rem}.customer-profile-modal-message{font-size:.875rem;color:#6b7280}.customer-profile-modal-message p{margin:0 0 .5rem}.customer-profile-modal-message p:last-child{margin-bottom:0}.profile-completion-notice{background-color:#fef3c7;border:1px solid #f59e0b;border-left:4px solid #f59e0b;padding:1rem;margin:1rem 2rem;border-radius:.375rem}.profile-completion-text{margin:0;font-size:.875rem;color:#92400e;font-weight:500}.dashboard-blurred{filter:blur(2px);pointer-events:none}.dashboard-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:#6b7280}.dashboard-loading .loading-spinner{width:2rem;height:2rem;border:3px solid #f3f4f6;border-radius:50%;border-top-color:#4f46e5;animation:spin 1s linear infinite;margin-bottom:1rem}.dashboard-loading p{margin:0;font-size:.875rem}.delete-modal-overlay{position:fixed;inset:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.delete-modal{background-color:#fff;border-radius:.5rem;box-shadow:0 25px 50px -12px #00000040;max-width:28rem;width:100%;max-height:90vh;overflow-y:auto}.delete-modal-header{padding:1.5rem 1.5rem 1rem;border-bottom:1px solid #e5e7eb}.delete-modal-title{font-size:1.125rem;font-weight:600;color:#111827;margin:0}.delete-modal-message{font-size:.875rem;color:#374151;margin:0 0 1rem;line-height:1.5}.constraints-list{background-color:#fef2f2;border:1px solid #fecaca;border-radius:.375rem;padding:1rem;margin:1rem 0;list-style:none}.constraint-item{color:#dc2626;font-size:.875rem;font-weight:500;margin-bottom:.5rem;padding-left:1rem;position:relative}.constraint-item:before{content:"•";position:absolute;left:0;color:#dc2626;font-weight:700}.constraint-item:last-child{margin-bottom:0}.delete-modal-warning{background-color:#fef3c7;border:1px solid #f59e0b;border-radius:.375rem;padding:1rem;font-size:.875rem;color:#92400e;font-weight:500;margin:1rem 0 0}.delete-modal-actions{padding:1rem 1.5rem 1.5rem;border-top:1px solid #e5e7eb;display:flex;gap:.75rem;justify-content:flex-end}.btn-danger{display:inline-flex;align-items:center;gap:.5rem;background-color:#dc2626;color:#fff;border:none;padding:.5rem 1rem;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s}.btn-danger:hover:not(:disabled){background-color:#b91c1c}.btn-danger:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 640px){.customers-stats{grid-template-columns:1fr}.customers-header{gap:1.5rem}.empty-content{padding:0 1rem}.customer-profile-modal{margin:.25rem;max-height:calc(100vh - .5rem)}.delete-modal{margin:.5rem;max-width:calc(100vw - 1rem)}.delete-modal-actions{flex-direction:column}.delete-modal-actions button{width:100%;justify-content:center}}.stat-card{background-color:#fff;overflow:hidden;box-shadow:0 1px 3px #0000001a;border-radius:.5rem}.stat-label{font-size:.875rem;font-weight:500;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-value{font-size:1.125rem;font-weight:500;color:#111827}.dashboard-chart{background-color:#fff;box-shadow:0 1px 3px #0000001a;border-radius:.5rem;padding:1.5rem}.chart-title{font-size:1.125rem;font-weight:500;color:#111827;margin-bottom:1rem}.chart-container{height:16rem}.dashboard-page{display:flex;flex-direction:column;gap:2rem}.dashboard-title{font-size:1.5rem;font-weight:600;color:#111827;margin-bottom:1.5rem}.section-title{font-size:1.25rem;font-weight:600;color:#111827;margin:0 0 1rem;padding-bottom:.5rem;border-bottom:2px solid #e5e7eb}@media (min-width: 768px){.dashboard-stats{grid-template-columns:repeat(3,1fr)}}.stat-card:hover{box-shadow:0 4px 6px -1px #0000001a;border-color:#d1d5db}.stat-label{font-size:.875rem;font-weight:500;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}.stat-value{font-size:1.125rem;font-weight:600;color:#111827;margin:0}.dashboard-chart{background-color:#fff;box-shadow:0 1px 3px #0000001a;border-radius:.5rem;border:1px solid #e5e7eb;padding:1.5rem}.chart-title{font-size:1.125rem;font-weight:600;color:#111827;margin:0 0 .5rem}.chart-subtitle{font-size:.875rem;color:#6b7280;margin:0 0 1.5rem;font-style:italic}.chart-container{height:20rem;width:100%}.chart-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:20rem;gap:1rem;color:#6b7280}.chart-tooltip{background:#fff;border:1px solid #d1d5db;border-radius:.375rem;padding:.75rem;box-shadow:0 4px 6px -1px #0000001a;font-size:.875rem}.tooltip-label{font-weight:600;color:#111827;margin:0 0 .5rem;border-bottom:1px solid #e5e7eb;padding-bottom:.25rem}.tooltip-entry{margin:.25rem 0;font-weight:500}.tooltip-total{margin:.5rem 0 0;font-weight:600;color:#374151;border-top:1px solid #e5e7eb;padding-top:.25rem}.resources-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}@media (min-width: 768px){.resources-grid{grid-template-columns:repeat(2,1fr)}}.resource-card{background:#fff;border-radius:.5rem;border:1px solid #e5e7eb;box-shadow:0 1px 3px #0000001a;padding:1.5rem;transition:all .2s ease}.resource-card:hover{box-shadow:0 4px 6px -1px #0000001a;border-color:#d1d5db}.resource-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.resource-icon{font-size:2rem;width:3rem;height:3rem;display:flex;align-items:center;justify-content:center;background:#f3f4f6;border-radius:.5rem}.resource-stats{display:flex;justify-content:space-between;margin-bottom:1rem}.resource-stat{display:flex;flex-direction:column;align-items:center;text-align:center}.resource-number{font-size:1.5rem;font-weight:700;color:#111827;line-height:1}.resource-number.available{color:#16a34a}.resource-label{font-size:.75rem;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;font-weight:500;margin-top:.25rem}.progress-bar{width:100%;height:.5rem;background:#e5e7eb;border-radius:.25rem;overflow:hidden}.progress-fill{height:100%;border-radius:.25rem;transition:width .3s ease}@media (max-width: 640px){.dashboard-title{font-size:1.25rem}.section-title{font-size:1.125rem}.dashboard-stats{grid-template-columns:1fr;gap:1rem}.stat-card-content{padding:1rem}.stat-info{margin-left:1rem}.chart-container{height:16rem}.dashboard-chart,.resource-card{padding:1rem}.resource-header{margin-bottom:1rem}.resource-stats{flex-direction:column;gap:.75rem;margin-bottom:1rem}.resource-stat{flex-direction:row;justify-content:space-between;align-items:center}.resource-number{font-size:1.25rem}.tooltip-label,.tooltip-entry,.tooltip-total{font-size:.8125rem}}@media (max-width: 480px){.chart-container{height:14rem}.recharts-cartesian-grid-horizontal line,.recharts-cartesian-grid-vertical line{stroke:#f0f0f0}.recharts-legend-wrapper{font-size:.75rem}}.dashboard-section.loading .chart-container{display:flex;align-items:center;justify-content:center}.resource-card:focus-within{outline:2px solid #3b82f6;outline-offset:2px}.dashboard-section{animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.usage-progress{margin-top:1.5rem;padding:1rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem}.progress-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.progress-label{font-size:.875rem;font-weight:500;color:#374151}.progress-percentage{font-size:.875rem;font-weight:600;color:#111827}.progress-bar{width:100%;height:.75rem;background:#e5e7eb;border-radius:.375rem;overflow:hidden;margin-bottom:.5rem}.progress-fill{height:100%;border-radius:.375rem;transition:width .3s ease;background:#3b82f6}.progress-warning{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:#fef2f2;border:1px solid #fecaca;border-radius:.375rem;margin-top:.75rem;font-size:.875rem;color:#991b1b;font-weight:500}.quick-actions{display:grid;grid-template-columns:1fr;gap:1rem}@media (min-width: 768px){.quick-actions{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.quick-actions{grid-template-columns:repeat(3,1fr)}}.action-card{display:flex;align-items:center;gap:1rem;padding:1.5rem;background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;cursor:pointer;transition:all .2s ease;text-decoration:none;color:inherit}.action-card:hover{box-shadow:0 4px 6px -1px #0000001a;border-color:#d1d5db;transform:translateY(-2px)}.action-card:focus{outline:2px solid #3b82f6;outline-offset:2px}.action-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;background:#f3f4f6;border-radius:.5rem}.action-content{flex:1;min-width:0}.action-content h3{font-size:1rem;font-weight:600;color:#111827;margin:0 0 .25rem}.action-content p{font-size:.875rem;color:#6b7280;margin:0;line-height:1.4}.action-arrow{flex-shrink:0;font-size:1.25rem;color:#9ca3af;font-weight:700;transition:transform .2s ease}.action-card:hover .action-arrow{transform:translate(4px);color:#6b7280}.stat-card{background-color:#fff;overflow:hidden;box-shadow:0 1px 3px #0000001a;border-radius:.5rem;border:1px solid #e5e7eb;transition:all .2s ease}.stat-card:hover{box-shadow:0 4px 6px -1px #0000001a;border-color:#d1d5db;transform:translateY(-1px)}.stat-card-content{padding:1.25rem;display:flex;align-items:center}.stat-icon{flex-shrink:0}.stat-info{margin-left:1.25rem;width:0;flex:1}.stat-label{font-size:.875rem;font-weight:500;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0;display:block}.stat-value{font-size:1.5rem;font-weight:700;color:#111827;margin:0;display:block;line-height:1.2}.stat-card.contracts .stat-value{color:#374151}.stat-card.active .stat-value{color:#16a34a}.stat-card.packages .stat-value{color:#f59e0b}.stat-card.subscriptions .stat-value{color:#3b82f6}.stat-card.bookings .stat-value{color:#8b5cf6}.section-title{font-size:1.25rem;font-weight:600;color:#111827;margin:0 0 1rem;padding-bottom:.5rem;border-bottom:2px solid #e5e7eb;position:relative}.section-title:before{content:"";position:absolute;bottom:-2px;left:0;width:3rem;height:2px;background:#3b82f6;border-radius:1px}.dashboard-section{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.dashboard-section:last-child{margin-bottom:0}.dashboard-section.loading{opacity:.6;pointer-events:none}@media (max-width: 768px){.dashboard-stats{grid-template-columns:repeat(2,1fr);gap:1rem}.stat-card-content{padding:1rem;flex-direction:column;text-align:center;gap:.75rem}.stat-info{margin-left:0;width:100%}.stat-value{font-size:1.25rem}.usage-progress{padding:.75rem}.progress-info{flex-direction:column;gap:.5rem;align-items:flex-start}.action-card{padding:1rem;flex-direction:column;text-align:center;gap:.75rem}.action-content h3{font-size:.9375rem}.action-content p{font-size:.8125rem}.quick-actions{grid-template-columns:1fr}}@media (max-width: 640px){.dashboard-stats{grid-template-columns:1fr}.stat-card-content{flex-direction:row;text-align:left}.stat-info{margin-left:1rem}.progress-warning{padding:.5rem;font-size:.8125rem}.section-title{font-size:1.125rem}}.dashboard-section{animation:fadeInUp .3s ease-in-out}.stat-card:focus-within{outline:2px solid #3b82f6;outline-offset:2px}.action-card:focus-within{outline:2px solid #3b82f6;outline-offset:2px}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}@media print{.dashboard-page{background:#fff;color:#000}.stat-card,.action-card{border:1px solid #000;box-shadow:none}.action-card:hover{transform:none}}.contract-cards-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-bottom:2rem}@media (min-width: 768px){.contract-cards-grid{grid-template-columns:repeat(2,1fr)}}.contract-card{background:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;border:1px solid #e5e7eb;overflow:hidden;transition:all .2s ease}.contract-card:hover{box-shadow:0 4px 6px -1px #0000001a;border-color:#d1d5db}.contract-card-header{padding:.75rem 1.5rem;background:#f9fafb;border-bottom:1px solid #e5e7eb}.contract-type-label{font-size:.75rem;font-weight:600;color:#6b7280;letter-spacing:.05em;text-transform:uppercase}.contract-card-body{padding:1.5rem}.contract-service-name{font-size:1.25rem;font-weight:600;color:#111827;margin:0 0 1rem}.contract-status-info{margin-bottom:1.5rem}.contract-entries,.contract-days{font-size:1rem;color:#374151;margin:0 0 .5rem}.contract-entries strong,.contract-days strong{font-weight:700;color:#111827}.contract-entries.no-entries strong,.text-red{color:#dc2626}.contract-expiry{font-size:.9375rem;color:#374151;margin:0}.contract-expiry.expired{color:#dc2626;font-weight:600}.contract-card-actions{display:flex;flex-direction:column;gap:.75rem}.btn-contract-primary,.btn-contract-outline{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;border-radius:.375rem;font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em;cursor:pointer;transition:all .2s ease;border:none;width:100%}.btn-contract-primary{background-color:#374151;color:#fff}.btn-contract-primary:hover:not(:disabled){background-color:#1f2937;transform:translateY(-1px)}.btn-contract-primary:disabled{background-color:#9ca3af;cursor:not-allowed;opacity:.6}.btn-contract-outline{background-color:#fff;color:#374151;border:2px solid #374151}.btn-contract-outline:hover:not(:disabled){background-color:#f9fafb;border-color:#1f2937}.btn-contract-primary.full-width{width:100%}.auto-renew-section{padding:.75rem 0;border-bottom:1px solid #e5e7eb;margin-bottom:.75rem}.auto-renew-toggle{display:flex;align-items:center;gap:.75rem;cursor:pointer;-webkit-user-select:none;user-select:none}.auto-renew-toggle input[type=checkbox]{display:none}.toggle-slider{position:relative;display:inline-block;width:3rem;height:1.5rem;background-color:#d1d5db;border-radius:1.5rem;transition:background-color .3s}.toggle-slider:after{content:"";position:absolute;width:1.25rem;height:1.25rem;border-radius:50%;background-color:#fff;top:.125rem;left:.125rem;transition:transform .3s;box-shadow:0 2px 4px #0003}.auto-renew-toggle input[type=checkbox]:checked+.toggle-slider{background-color:#10b981}.auto-renew-toggle input[type=checkbox]:checked+.toggle-slider:after{transform:translate(1.5rem)}.auto-renew-toggle input[type=checkbox]:disabled+.toggle-slider{opacity:.5;cursor:not-allowed}.toggle-label{font-size:.875rem;color:#374151;font-weight:500}.no-contracts-message{grid-column:1 / -1;text-align:center;padding:3rem;background:#fff;border-radius:.5rem;border:1px solid #e5e7eb}.no-contracts-message .empty-icon{color:#d1d5db;margin-bottom:1rem}.no-contracts-message p{font-size:1rem;color:#6b7280;margin:0 0 1.5rem}.no-contracts-message .btn-contract-primary{max-width:200px;margin:0 auto}@media (min-width: 640px){.contract-card-actions{flex-direction:row;gap:.75rem}.btn-contract-primary,.btn-contract-outline{width:auto;flex:1}.btn-contract-primary.full-width{width:100%;flex:none}}@media (max-width: 640px){.contract-cards-grid{grid-template-columns:1fr}.contract-card-body{padding:1.25rem}.contract-service-name{font-size:1.125rem}.contract-entries,.contract-days{font-size:.9375rem}.contract-expiry{font-size:.875rem}.btn-contract-primary,.btn-contract-outline{font-size:.8125rem;padding:.625rem .875rem}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.auto-renew-toggle input[type=checkbox]:disabled+.toggle-slider{animation:pulse 1.5s ease-in-out infinite}.btn-contract-primary:focus,.btn-contract-outline:focus{outline:2px solid #3b82f6;outline-offset:2px}.auto-renew-toggle:focus-within .toggle-slider{box-shadow:0 0 0 3px #3b82f61a}.contract-card{position:relative;overflow:hidden}.contract-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#3b82f6,#10b981);transform:translate(-100%);transition:transform .3s ease}.contract-card:hover:before{transform:translate(0)}.contract-card{animation:fadeInUp .4s ease-out;animation-fill-mode:both}.contract-card:nth-child(1){animation-delay:.1s}.contract-card:nth-child(2){animation-delay:.2s}.contract-card:nth-child(3){animation-delay:.3s}.contract-card:nth-child(4){animation-delay:.4s}.free-trial-info{padding:12px;text-align:center;background-color:#f8f9fa;border-radius:6px;margin-top:12px}.free-trial-text{color:#6b7280;font-size:14px;margin:0;font-style:italic}.stat-card{background-color:#fff;border:1px solid #e5e7eb;border-radius:.5rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.stat-info{display:flex;flex-direction:column}.stat-label{font-size:.875rem;font-weight:500;color:#6b7280;margin:0}.stat-value{font-size:2rem;font-weight:700;color:#111827;margin:0;line-height:1.2}.stat-icon{display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;background-color:#f3f4f6;border-radius:.5rem}@media (min-width: 768px){.dashboard-stats{grid-template-columns:repeat(2,1fr)}}.stat-label{font-size:.875rem!important;font-weight:500!important;color:#000!important;display:block!important;margin-bottom:.25rem!important;overflow:visible!important;white-space:normal!important}.loading-message{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;background:#fff;border-radius:.5rem;border:1px solid #e5e7eb;gap:1rem;color:#6b7280}.loading-message .loading-spinner{width:2rem;height:2rem;border:3px solid #e5e7eb;border-top:3px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite}.no-contracts-message{grid-column:1 / -1;text-align:center;padding:4rem 2rem;background:#fff;border-radius:.75rem;border:2px dashed #d1d5db;transition:all .3s ease}.no-contracts-message:hover{border-color:#9ca3af;background:#fafafa}.no-contracts-message .empty-icon{color:#d1d5db;margin-bottom:1.5rem;display:flex;justify-content:center;align-items:center}.no-contracts-message p{font-size:1.125rem;color:#6b7280;margin:0 0 2rem;font-weight:500}.no-contracts-message .btn-contract-primary{max-width:250px;margin:0 auto;padding:.875rem 1.5rem;font-size:.9375rem;font-weight:600;border-radius:.5rem;transition:all .2s ease}.no-contracts-message .btn-contract-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}@media (max-width: 640px){.no-contracts-message{padding:2.5rem 1.5rem}.no-contracts-message p{font-size:1rem}.no-contracts-message .btn-contract-primary{width:100%;max-width:none;padding:.75rem 1.25rem;font-size:.875rem}}.no-contracts-message{animation:fadeInScale .6s ease-out}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.alert-cards-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-bottom:2rem}@media (min-width: 768px){.alert-cards-grid{grid-template-columns:repeat(2,1fr)}}.alert-card{background:#fff;border-radius:.75rem;border-left:4px solid;box-shadow:0 4px 6px -1px #0000001a;overflow:hidden;transition:all .2s ease}.alert-card:hover{box-shadow:0 10px 15px -3px #0000001a;transform:translateY(-2px)}.alert-card.expiring-contracts{border-left-color:#f59e0b}.alert-card.payment-status{border-left-color:#dc2626}.alert-card-header{display:flex;align-items:center;gap:1rem;padding:1.5rem;border-bottom:1px solid #f3f4f6}.alert-icon{display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:.75rem;background:linear-gradient(135deg,#f59e0b,#fbbf24);color:#fff;flex-shrink:0}.payment-status .alert-icon{background:linear-gradient(135deg,#dc2626,#ef4444)}.alert-title h3{font-size:1.125rem;font-weight:600;color:#111827;margin:0 0 .25rem}.alert-title p{font-size:.875rem;color:#6b7280;margin:0}.alert-card-body{padding:1.5rem}.alert-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1rem}.alert-metric{text-align:center}.metric-number{display:block;font-size:1.5rem;font-weight:700;line-height:1;margin-bottom:.25rem}.metric-number.urgent{color:#dc2626}.metric-number.warning{color:#f59e0b}.metric-number.info{color:#3b82f6}.metric-label{font-size:.75rem;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;font-weight:500}.revenue-at-risk,.overdue-amount{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:#f9fafb;border-radius:.5rem;border:1px solid #e5e7eb}.risk-label,.overdue-label{font-size:.875rem;color:#374151;font-weight:500}.risk-amount{font-size:1.125rem;font-weight:700;color:#f59e0b}.overdue-value{font-size:1.125rem;font-weight:700;color:#dc2626}.financial-metrics-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-bottom:2rem}@media (min-width: 768px){.financial-metrics-grid{grid-template-columns:repeat(3,1fr)}}.financial-metric-card{background:#fff;border-radius:.75rem;padding:1.5rem;box-shadow:0 4px 6px -1px #0000001a;border-left:4px solid;transition:all .2s ease}.financial-metric-card:hover{box-shadow:0 10px 15px -3px #0000001a;transform:translateY(-2px)}.financial-metric-card.mrr{border-left-color:#10b981}.financial-metric-card.total-value{border-left-color:#3b82f6}.financial-metric-card.growth{border-left-color:#8b5cf6}.metric-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.metric-icon{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:.5rem;background:#f3f4f6;color:#6b7280}.mrr .metric-icon{background:#d1fae5;color:#10b981}.total-value .metric-icon{background:#dbeafe;color:#3b82f6}.growth .metric-icon{background:#e9d5ff;color:#8b5cf6}.metric-header h3{font-size:.875rem;font-weight:600;color:#374151;margin:0}.metric-value{display:flex;align-items:baseline;gap:.75rem}.value-main{font-size:1.875rem;font-weight:700;color:#111827;line-height:1}.value-change{font-size:.875rem;font-weight:600;padding:.25rem .5rem;border-radius:.375rem}.value-change.positive{background:#d1fae5;color:#10b981}.value-change.negative{background:#fecaca;color:#dc2626}.loading-spinner.small{width:1.5rem;height:1.5rem;border-width:2px}.dashboard-analytics-section{display:grid;grid-template-columns:1fr;gap:2rem;margin-bottom:2rem}@media (min-width: 1024px){.dashboard-analytics-section{grid-template-columns:2fr 1fr}}.chart-container.utilization{height:20rem}.chart-container.utilization .recharts-cartesian-axis-tick-value{font-size:.75rem}.dashboard-stats{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-bottom:2rem}@media (min-width: 640px){.dashboard-stats{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.dashboard-stats{grid-template-columns:repeat(4,1fr)}}.stat-card{background:#fff;border-radius:.75rem;padding:1.5rem;box-shadow:0 4px 6px -1px #0000001a;border:1px solid #e5e7eb;transition:all .2s ease;position:relative;overflow:hidden}.stat-card:hover{box-shadow:0 10px 15px -3px #0000001a;transform:translateY(-2px)}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#3b82f6,#10b981);opacity:0;transition:opacity .3s ease}.stat-card:hover:before{opacity:1}.stat-card-content{display:flex;align-items:center;gap:1rem}.stat-icon{display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:.75rem;background:linear-gradient(135deg,#f3f4f6,#e5e7eb);flex-shrink:0}.stat-info{flex:1;min-width:0}.stat-label{font-size:.875rem;font-weight:500;color:#6b7280;margin:0 0 .5rem;line-height:1.2}.stat-value{font-size:2rem;font-weight:700;color:#111827;margin:0;line-height:1}.resource-card{background:#fff;border-radius:.75rem;padding:1.5rem;box-shadow:0 4px 6px -1px #0000001a;border:1px solid #e5e7eb;transition:all .2s ease;position:relative;overflow:hidden}.resource-card:hover{box-shadow:0 10px 15px -3px #0000001a;transform:translateY(-2px)}.resource-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#10b981,#3b82f6);opacity:0;transition:opacity .3s ease}.resource-card:hover:before{opacity:1}.resource-header{margin-bottom:1.5rem}.resource-title h3{font-size:1.125rem;font-weight:600;color:#111827;margin:0 0 .25rem}.resource-title p{font-size:.875rem;color:#6b7280;margin:0}.resource-stats{display:flex;justify-content:space-between;margin-bottom:1.5rem}.resource-stat{text-align:center}.resource-number{display:block;font-size:1.5rem;font-weight:700;color:#111827;line-height:1;margin-bottom:.25rem}.resource-number.available{color:#10b981}.resource-number.booked{color:#dc2626}.resource-label{font-size:.75rem;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;font-weight:500}.resource-progress{display:flex;flex-direction:column;gap:.5rem}.progress-bar{width:100%;height:.5rem;background:#e5e7eb;border-radius:.25rem;overflow:hidden;position:relative}.progress-fill{height:100%;border-radius:.25rem;transition:width .5s ease;position:relative}.progress-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(45deg,rgba(255,255,255,.2) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.2) 50%,rgba(255,255,255,.2) 75%,transparent 75%);background-size:1rem 1rem;animation:progress-stripe 1s linear infinite}@keyframes progress-stripe{0%{background-position:0 0}to{background-position:1rem 0}}.progress-text{font-size:.75rem;color:#6b7280;text-align:center;font-weight:500}.dashboard-profile-completion{display:flex;align-items:center;justify-content:center;min-height:20rem}.profile-completion-message{text-align:center;max-width:28rem}.profile-completion-message h1{font-size:1.5rem;font-weight:600;color:#111827;margin:0 0 .5rem}.profile-completion-message p{font-size:1rem;color:#6b7280;margin:0 0 1.5rem}.dashboard-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:20rem;gap:1rem}.dashboard-loading span{font-size:1rem;color:#6b7280;font-weight:500}.loading-spinner{width:2rem;height:2rem;border:3px solid #e5e7eb;border-top:3px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.section-title{font-size:1.25rem;font-weight:600;color:#111827;margin:0 0 1.5rem;padding-bottom:.75rem;border-bottom:2px solid #e5e7eb;position:relative}.section-title:before{content:"";position:absolute;bottom:-2px;left:0;width:4rem;height:2px;background:linear-gradient(90deg,#3b82f6,#10b981);border-radius:1px}.dashboard-chart{background:#fff;border-radius:.75rem;padding:2rem;box-shadow:0 4px 6px -1px #0000001a;border:1px solid #e5e7eb;position:relative;overflow:hidden}.dashboard-chart:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#3b82f6,#10b981,#f59e0b)}.chart-title{font-size:1.25rem;font-weight:600;color:#111827;margin:0 0 .5rem}.chart-subtitle{font-size:.875rem;color:#6b7280;margin:0 0 2rem;font-style:italic}.chart-container{height:22rem;width:100%}.chart-tooltip{background:#fff;border:1px solid #d1d5db;border-radius:.5rem;padding:1rem;box-shadow:0 10px 15px -3px #0000001a;font-size:.875rem;border-left:4px solid #3b82f6}.tooltip-label{font-weight:600;color:#111827;margin:0 0 .75rem;padding-bottom:.5rem;border-bottom:1px solid #e5e7eb}.tooltip-entry{margin:.5rem 0;font-weight:500;display:flex;align-items:center;gap:.5rem}.tooltip-entry:before{content:"";width:.75rem;height:.75rem;border-radius:50%;background:currentColor}.tooltip-total{margin:.75rem 0 0;font-weight:600;color:#374151;border-top:1px solid #e5e7eb;padding-top:.5rem}@media (max-width: 768px){.alert-cards-grid{grid-template-columns:1fr}.alert-metrics{grid-template-columns:1fr;gap:.75rem}.financial-metrics-grid,.dashboard-analytics-section{grid-template-columns:1fr}.chart-container{height:18rem}.chart-container.utilization{height:16rem}.resource-stats{flex-direction:column;gap:1rem;text-align:center}.alert-card-header,.alert-card-body,.financial-metric-card,.dashboard-chart{padding:1rem}.value-main{font-size:1.5rem}.metric-number{font-size:1.25rem}}@media (max-width: 640px){.dashboard-stats{grid-template-columns:1fr}.alert-card-header{flex-direction:column;text-align:center;gap:.75rem}.revenue-at-risk,.overdue-amount{flex-direction:column;gap:.5rem;text-align:center}.metric-value{flex-direction:column;align-items:center;gap:.5rem}.section-title,.chart-title{font-size:1.125rem}.chart-subtitle{font-size:.8125rem}}.dashboard-section{animation:fadeInUp .4s ease-out;animation-fill-mode:both}.dashboard-section:nth-child(1){animation-delay:.1s}.dashboard-section:nth-child(2){animation-delay:.2s}.dashboard-section:nth-child(3){animation-delay:.3s}.dashboard-section:nth-child(4){animation-delay:.4s}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.alert-card:focus-within,.financial-metric-card:focus-within,.stat-card:focus-within,.resource-card:focus-within{outline:2px solid #3b82f6;outline-offset:2px}@media print{.dashboard-page{background:#fff;color:#000}.alert-card,.financial-metric-card,.stat-card,.resource-card,.dashboard-chart{border:1px solid #000;box-shadow:none;break-inside:avoid}.alert-card:hover,.financial-metric-card:hover,.stat-card:hover,.resource-card:hover{transform:none}.dashboard-analytics-section{grid-template-columns:1fr}}@media (prefers-color-scheme: dark){.alert-card,.financial-metric-card,.stat-card,.resource-card,.dashboard-chart{background:#1f2937;border-color:#374151;color:#f9fafb}.section-title{color:#f9fafb;border-bottom-color:#374151}.alert-title h3,.metric-header h3,.stat-label,.resource-title h3{color:#f9fafb}.alert-title p,.resource-title p,.chart-subtitle{color:#9ca3af}.chart-tooltip{background:#1f2937;border-color:#374151;color:#f9fafb}}.btn-contract-primary{background-color:#fff;color:#374151;border:2px solid #374151}.btn-contract-primary:hover:not(:disabled){background-color:#f9fafb;border-color:#1f2937;transform:translateY(-1px)}.btn-contract-primary:disabled{background-color:#f9fafb;color:#9ca3af;border-color:#d1d5db;cursor:not-allowed;opacity:.6}.invitations-page{display:flex;flex-direction:column;gap:2rem}.invitations-header{display:flex;flex-direction:column;gap:1.5rem}.invitations-header-content{flex:1}.invitations-title{font-size:1.25rem;font-weight:600;color:#111827;margin:0}.invitations-description{margin-top:.5rem;font-size:.875rem;color:#374151}.invitations-stats-and-actions{display:flex;flex-direction:column;gap:1rem}@media (min-width: 768px){.invitations-stats-and-actions{flex-direction:row;align-items:center;justify-content:space-between}}.invitations-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;flex:1}@media (min-width: 640px){.invitations-stats{grid-template-columns:repeat(3,minmax(120px,1fr))}}.invitations-header-actions{flex:none;align-self:flex-end}@media (min-width: 768px){.invitations-header-actions{align-self:center;margin-left:2rem}}.send-invitation-btn{display:inline-flex;align-items:center;gap:.5rem;justify-content:center;border-radius:.375rem;border:1px solid transparent;background-color:#059669;padding:.5rem 1rem;font-size:.875rem;font-weight:500;color:#fff;box-shadow:0 1px 2px #0000000d;cursor:pointer;transition:background-color .2s;white-space:nowrap}.send-invitation-btn:hover{background-color:#047857}.send-invitation-btn:focus{outline:2px solid #6ee7b7;outline-offset:2px}.stat-item{display:flex;flex-direction:column;align-items:center;padding:1rem;background-color:#fff;border:1px solid #e5e7eb;border-radius:.5rem;box-shadow:0 1px 2px #0000000d}.stat-label{font-size:.75rem;font-weight:500;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.invitations-loading{text-align:center;padding:2rem;color:#6b7280}.invitations-controls{display:flex;flex-direction:column;gap:1rem;padding:1.5rem;background-color:#fff;border:1px solid #e5e7eb;border-radius:.5rem;box-shadow:0 1px 2px #0000000d}.invitations-search-and-filters{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.search-box{position:relative;flex:1;min-width:300px}.search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:#6b7280;pointer-events:none}.search-input{width:100%;padding:.5rem .75rem .5rem 2.5rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;color:#111827;background-color:#fff;transition:border-color .2s,box-shadow .2s}.search-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.search-input::placeholder{color:#9ca3af}.filter-dropdown{position:relative;min-width:150px}.filter-select{width:100%;padding:.5rem 2.5rem .5rem .75rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;color:#111827;background-color:#fff;cursor:pointer;appearance:none;transition:border-color .2s,box-shadow .2s}.filter-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.dropdown-icon{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);color:#6b7280;pointer-events:none}.bulk-actions{display:flex;align-items:center;gap:1rem;padding:1rem;background-color:#f3f4f6;border:1px solid #d1d5db;border-radius:.375rem}.selected-count{font-size:.875rem;color:#374151;font-weight:500}.bulk-delete-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:#dc2626;color:#fff;border:none;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s}.bulk-delete-btn:hover:not(:disabled){background-color:#b91c1c}.bulk-delete-btn:disabled{background-color:#9ca3af;cursor:not-allowed}.invitations-table-container{margin-top:1rem;display:flex;flex-direction:column}.invitations-table-wrapper{overflow-x:auto;overflow:hidden;box-shadow:0 1px 3px #0000001a;border:1px solid rgba(0,0,0,.05);border-radius:.5rem}.invitations-table{min-width:100%;border-collapse:collapse;border-spacing:0}.invitations-table-head{background-color:#f9fafb}.invitations-table-header{padding:.75rem 1.5rem;text-align:left;font-size:.75rem;font-weight:500;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.checkbox-column{width:40px;padding:.75rem 1rem!important}.checkbox-input{width:1rem;height:1rem;accent-color:#3b82f6;cursor:pointer}.invitations-table-body{background-color:#fff;border-top:1px solid #e5e7eb}.invitations-table-row{border-bottom:1px solid #e5e7eb}.invitations-table-row:hover{background-color:#f9fafb}.invitations-table-cell{padding:1rem 1.5rem;white-space:nowrap;font-size:.875rem;color:#111827;vertical-align:top}.invitee-info{display:flex;flex-direction:column;min-width:0}.invitee-name{font-weight:500;color:#111827;margin-bottom:.25rem}.invitee-created{font-size:.75rem;color:#6b7280}.partner-name{font-weight:500;color:#111827;margin-bottom:.25rem}.partner-email{font-size:.75rem;color:#6b7280}.role-badge{display:inline-flex;padding:.125rem .5rem;font-size:.75rem;font-weight:600;border-radius:9999px;background-color:#dbeafe;color:#1e40af}.status-container{display:flex;align-items:center;gap:.5rem}.invitation-actions{display:flex;gap:.5rem;align-items:center}.cancel-btn{color:#dc2626;background:transparent;border:none;cursor:pointer;padding:.25rem;border-radius:.25rem;transition:all .2s;display:inline-flex;align-items:center;justify-content:center}.cancel-btn:hover{background-color:#fef2f2;color:#b91c1c}.cancel-btn:focus{outline:2px solid #fca5a5;outline-offset:2px}.no-actions{color:#9ca3af;font-size:.875rem}.invitations-empty{text-align:center;padding:3rem;color:#6b7280}.invitations-empty p{margin:0;font-size:.875rem}.invitations-pagination{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background-color:#fff;border:1px solid #e5e7eb;border-radius:.5rem;box-shadow:0 1px 2px #0000000d;margin-top:1rem}.pagination-info{font-size:.875rem;color:#6b7280}.pagination-controls{display:flex;align-items:center;gap:2rem}.page-size-selector{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#374151}.page-size-select{padding:.25rem .5rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;color:#111827;background-color:#fff;cursor:pointer}.page-size-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.page-navigation{display:flex;align-items:center;gap:1rem}.page-btn{padding:.5rem 1rem;border:1px solid #d1d5db;border-radius:.375rem;background-color:#fff;color:#374151;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.page-btn:hover:not(:disabled){background-color:#f9fafb;border-color:#9ca3af}.page-btn:disabled{background-color:#f9fafb;color:#9ca3af;cursor:not-allowed;border-color:#e5e7eb}.page-info{font-size:.875rem;color:#374151;font-weight:500;white-space:nowrap}@media (max-width: 768px){.invitations-header{flex-direction:column;gap:1rem}.invitations-header-actions{margin-left:0;margin-top:0}.invitations-stats{grid-template-columns:repeat(3,1fr)}.stat-item{padding:.75rem}.stat-value{font-size:1.25rem}.invitations-search-and-filters{flex-direction:column;align-items:stretch}.search-box,.filter-dropdown{min-width:auto}.bulk-actions{flex-direction:column;align-items:stretch;text-align:center}.pagination-controls{flex-direction:column;gap:1rem}.invitations-table-cell,.invitations-table-header{padding:.75rem 1rem}}@media (max-width: 640px){.invitations-stats{grid-template-columns:1fr}.invitations-pagination{flex-direction:column;gap:1rem;text-align:center}.invitations-table-cell{padding:.5rem .75rem;font-size:.8125rem}.invitations-table-header{padding:.5rem .75rem;font-size:.6875rem}.checkbox-column{padding:.5rem!important}.invitee-name{font-size:.875rem}.invitee-created{font-size:.6875rem}.hide-on-mobile{display:none!important}.invitations-table-cell.role-column,.invitations-table-header.role-column,.invitations-table-cell.sent-at-column,.invitations-table-header.sent-at-column,.invitations-table-cell.used-at-column,.invitations-table-header.used-at-column{display:none}}.cancel-btn:focus-visible{outline:2px solid #dc2626;outline-offset:2px}.checkbox-input:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.status-container svg{flex-shrink:0}.invitations-table-row{transition:background-color .2s ease}.text-blue-600{color:#2563eb}.text-green-600{color:#16a34a}.text-red-600{color:#dc2626}.text-gray-600{color:#4b5563}.text-gray-400{color:#9ca3af}.partners-page{display:flex;flex-direction:column;gap:2rem}.partners-header{display:flex;flex-direction:column;gap:1rem}@media (min-width: 640px){.partners-header{flex-direction:row;align-items:center}}.partners-header-content{flex:1}.partners-title{font-size:1.25rem;font-weight:600;color:#111827}.partners-description{margin-top:.5rem;font-size:.875rem;color:#374151}.partners-header-actions{margin-top:1rem;flex:none}@media (min-width: 640px){.partners-header-actions{margin-top:0;margin-left:4rem}}.add-partner-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:.375rem;border:1px solid transparent;background-color:#4f46e5;padding:.5rem 1rem;font-size:.875rem;font-weight:500;color:#fff;box-shadow:0 1px 2px #0000000d;cursor:pointer;transition:background-color .2s}.add-partner-btn:hover{background-color:#4338ca}.add-partner-btn:focus{outline:2px solid #a78bfa;outline-offset:2px}.partners-loading{text-align:center;padding:2rem;color:#6b7280}.partners-table-container{margin-top:2rem;display:flex;flex-direction:column}.partners-table-wrapper{overflow-x:auto;overflow:hidden;box-shadow:0 1px 3px #0000001a;border:1px solid rgba(0,0,0,.05);border-radius:.5rem}.partners-table{min-width:100%;border-collapse:collapse;border-spacing:0}.partners-table-head{background-color:#f9fafb}.partners-table-header{padding:.75rem 1.5rem;text-align:left;font-size:.75rem;font-weight:500;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.partners-table-body{background-color:#fff;border-top:1px solid #e5e7eb}.partners-table-row{border-bottom:1px solid #e5e7eb}.partners-table-cell{padding:1rem 1.5rem;white-space:nowrap;font-size:.875rem;color:#111827}.partner-info{display:flex;flex-direction:column}.partner-name{font-weight:500;color:#111827}.partner-location{color:#6b7280}.status-pending{background-color:#fef3c7;color:#92400e}.status-suspended{background-color:#e5e7eb;color:#374151}.partner-actions{display:flex;gap:.5rem;align-items:center}.edit-btn{color:#4f46e5;background:transparent;border:none;cursor:pointer;font-size:.875rem;font-weight:500}.edit-btn:hover{color:#312e81}.locations-btn{color:#059669;background:transparent;border:none;cursor:pointer;padding:.25rem;border-radius:.25rem;transition:all .2s}.locations-btn:hover{background-color:#ecfdf5;color:#047857}.locations-modal{max-width:48rem}.locations-content{padding:1.5rem;max-height:60vh;overflow-y:auto}.locations-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.locations-loading{text-align:center;padding:2rem;color:#6b7280}.locations-list{display:flex;flex-direction:column;gap:1rem}.locations-empty{text-align:center;padding:3rem;color:#6b7280}.location-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;border:1px solid #e5e7eb;border-radius:.5rem;background-color:#f9fafb}.location-info{flex:1}.location-name{font-weight:600;color:#111827;margin:0 0 .25rem}.location-details{font-size:.875rem;color:#6b7280;margin:0}.location-actions{display:flex;gap:.5rem}.btn-icon{background:transparent;border:1px solid #d1d5db;padding:.5rem;border-radius:.375rem;cursor:pointer;color:#6b7280;transition:all .2s}.btn-icon:hover{background-color:#f3f4f6;border-color:#9ca3af}.btn-danger{color:#dc2626;border-color:#fecaca}.btn-danger:hover{background-color:#fef2f2;border-color:#fca5a5}.modal-footer{padding:1rem 1.5rem;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end}.partners-empty{text-align:center;padding:3rem}.partners-empty p{color:#6b7280}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:50;padding:1rem}.modal-container{background-color:#fff;border-radius:.5rem;box-shadow:0 20px 25px -5px #0000001a;width:100%;max-width:42rem;max-height:90vh;overflow-y:auto}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid #e5e7eb}.modal-title{font-size:1.25rem;font-weight:600;color:#111827;margin:0}.modal-close-btn{color:#6b7280;background:transparent;border:none;cursor:pointer;padding:.25rem;border-radius:.25rem;transition:color .2s}.modal-close-btn:hover{color:#374151}.modal-form{padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e5e7eb}.btn-primary{background-color:#4f46e5;color:#fff;border:none;padding:.5rem 1rem;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s}.btn-primary:hover:not(:disabled){background-color:#4338ca}.form-section{margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e5e7eb}.form-section-header{margin-bottom:1.5rem}.form-section-title{font-size:1.125rem;font-weight:600;color:#111827;margin:0 0 .5rem}.form-section-description{font-size:.875rem;color:#6b7280;margin:0}.form-switch{display:flex;align-items:center;gap:.75rem}.form-switch-input{display:none}.form-switch-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;font-size:.875rem;font-weight:500;color:#374151}.form-switch-slider{position:relative;width:3rem;height:1.5rem;background-color:#d1d5db;border-radius:9999px;transition:background-color .2s;flex-shrink:0}.form-switch-slider:before{content:"";position:absolute;top:.125rem;left:.125rem;width:1.25rem;height:1.25rem;background-color:#fff;border-radius:50%;transition:transform .2s;box-shadow:0 1px 3px #0000001a}.form-switch-input:checked+.form-switch-label .form-switch-slider{background-color:#4f46e5}.form-switch-input:checked+.form-switch-label .form-switch-slider:before{transform:translate(1.5rem)}.form-switch-input:focus+.form-switch-label .form-switch-slider{outline:2px solid #a78bfa;outline-offset:2px}.form-switch-text{-webkit-user-select:none;user-select:none}.form-input[type=password]{font-family:monospace;letter-spacing:.05em}@media (max-width: 640px){.form-section{margin-top:1.5rem;padding-top:1rem}.form-section-header{margin-bottom:1rem}.form-section-title{font-size:1rem}.form-switch-label{flex-direction:column;align-items:flex-start;gap:.5rem}}.partner-actions{display:flex;gap:.75rem;align-items:center}.partner-action-btn{display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid;cursor:pointer;padding:.5rem;border-radius:.375rem;transition:all .2s ease;min-width:2rem;min-height:2rem}.partner-action-btn:focus{outline:2px solid #4f46e5;outline-offset:2px}.partner-action-btn svg{width:1rem;height:1rem}.edit-btn{color:#4f46e5;border-color:#e0e7ff}.edit-btn:hover{background-color:#f0f4ff;color:#3730a3;border-color:#c7d2fe}.locations-btn{color:#059669;border-color:#d1fae5}.locations-btn:hover{background-color:#ecfdf5;color:#047857;border-color:#a7f3d0}.invite-btn{color:#dc2626;border-color:#fecaca}.invite-btn:hover{background-color:#fef2f2;color:#991b1b;border-color:#fca5a5}@media (max-width: 768px){.partner-actions{gap:.5rem}.partner-action-btn{padding:.375rem;min-width:1.75rem;min-height:1.75rem}.partner-action-btn svg{width:.875rem;height:.875rem}}@media (max-width: 480px){.partner-actions{flex-direction:column;gap:.25rem}.partner-action-btn{width:100%;min-width:auto}}.photo-gallery-container{padding:2rem;max-width:1400px;margin:0 auto;min-height:100vh}.photo-gallery-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.photo-gallery-title{display:flex;align-items:center;gap:.75rem}.photo-gallery-title h1{margin:0;font-size:2rem;font-weight:700;color:#1f2937}.photo-gallery-actions{display:flex;gap:1rem;align-items:center}.view-mode-toggle{display:flex;background-color:#f3f4f6;border-radius:.5rem;padding:.25rem;margin-right:1rem}.view-mode-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:transparent;border:none;border-radius:.375rem;color:#6b7280;font-weight:500;font-size:.875rem;cursor:pointer;transition:all .2s}.view-mode-btn:hover{color:#374151}.view-mode-btn.active{background:#fff;color:#4f46e5;box-shadow:0 1px 2px #0000000d}.filter-toggle{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#f3f4f6;border:1px solid #d1d5db;border-radius:.5rem;color:#374151;font-weight:500;cursor:pointer;transition:all .2s}.filter-toggle:hover{background:#e5e7eb;border-color:#9ca3af}.filter-toggle.active{background:#4f46e5;color:#fff;border-color:#4f46e5}.photo-gallery-stats{display:flex;align-items:center;gap:2rem;padding:1rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.stats-item{display:flex;align-items:center;gap:.5rem;color:#475569;font-weight:500}.stats-breakdown{display:flex;gap:1rem;margin-left:auto}.stats-category{display:flex;align-items:center;gap:.25rem;color:#64748b;font-size:.875rem}.photo-gallery-filters{display:flex;gap:1rem;align-items:end;padding:1.5rem;background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;margin-bottom:2rem;flex-wrap:wrap;animation:slideDown .3s ease-out}.filter-group{display:flex;flex-direction:column;gap:.5rem;min-width:200px}.filter-label{font-weight:500;color:#374151;font-size:.875rem}.filter-search{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;transition:all .2s}.filter-search:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a}.filter-search::placeholder{color:#9ca3af}.filter-select{padding:.75rem;border:1px solid #d1d5db;border-radius:.375rem;background:#fff;color:#374151;font-size:.875rem}.filter-clear{padding:.75rem 1rem;background:#f3f4f6;border:1px solid #d1d5db;border-radius:.375rem;color:#374151;cursor:pointer;transition:all .2s;height:fit-content}.filter-clear:hover{background:#e5e7eb}.photo-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem}.gallery-item{border-radius:.75rem;overflow:hidden;box-shadow:0 4px 6px -1px #0000001a;transition:all .3s;background:#fff;animation:fadeIn .3s ease-out}.gallery-item:hover{transform:translateY(-2px);box-shadow:0 10px 25px -3px #0000001a}.gallery-image-container{position:relative;aspect-ratio:4/3;cursor:pointer;overflow:hidden}.gallery-image{width:100%;height:100%;object-fit:cover;transition:transform .3s}.gallery-image-container:hover .gallery-image{transform:scale(1.05)}.gallery-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.8),rgba(0,0,0,.4),transparent);padding:1rem;transform:translateY(100%);transition:transform .3s}.gallery-image-container:hover .gallery-overlay{transform:translateY(0)}.gallery-info{color:#fff}.gallery-location{display:flex;align-items:center;gap:.5rem;font-weight:600;margin-bottom:.25rem}.gallery-category{display:flex;align-items:center;gap:.5rem;font-size:.875rem;opacity:.9}.gallery-address{display:flex;align-items:center;gap:.25rem;font-size:.75rem;opacity:.9;margin-top:.25rem;color:#fff}.photo-gallery-locations{display:flex;flex-direction:column;gap:2rem;margin-bottom:2rem}.location-gallery-card{background:#fff;border:1px solid #e5e7eb;border-radius:1rem;overflow:hidden;box-shadow:0 4px 6px -1px #0000001a;transition:all .3s;animation:slideInUp .4s ease-out}.location-gallery-card:hover{transform:translateY(-2px);box-shadow:0 10px 25px -3px #0000001a}.location-gallery-header{padding:1.5rem;border-bottom:1px solid #f3f4f6;background:linear-gradient(135deg,#f8fafc,#f1f5f9)}.location-gallery-title-row{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.location-gallery-title{display:flex;align-items:center;gap:.75rem;font-size:1.25rem;font-weight:600;color:#111827;margin:0}.location-gallery-title svg{color:#059669}.location-gallery-actions{display:flex;gap:.5rem}.location-map-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#059669;color:#fff;border:none;border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.location-map-button:hover{background:#047857;transform:translateY(-1px)}.location-gallery-address{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:.875rem;color:#6b7280}.location-gallery-address svg{color:#059669;flex-shrink:0}.location-gallery-contact{display:flex;gap:1rem;margin-bottom:.75rem;flex-wrap:wrap}.location-contact-item{display:flex;align-items:center;gap:.375rem;font-size:.875rem}.location-contact-item svg{color:#6b7280;flex-shrink:0}.location-contact-item a{color:#2563eb;text-decoration:none;transition:color .2s}.location-contact-item a:hover{color:#1d4ed8;text-decoration:underline}.location-gallery-description{margin-bottom:.75rem}.location-gallery-description p{font-size:.875rem;color:#6b7280;line-height:1.5;margin:0;font-style:italic}.location-gallery-count{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#374151;font-weight:500}.location-gallery-count svg{color:#6366f1}.location-images-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.5rem;padding:1.5rem;position:relative}.location-image-item{position:relative;aspect-ratio:4/3;border-radius:.5rem;overflow:hidden;animation:fadeIn .3s ease-out}.location-image-item:nth-child(odd){animation-delay:.1s}.location-image-item:nth-child(2n){animation-delay:.2s}.location-image-container{width:100%;height:100%;cursor:pointer;position:relative;transition:transform .2s}.location-image-container:hover{transform:scale(1.02)}.location-image{width:100%;height:100%;object-fit:cover}.location-image-category{position:absolute;top:.5rem;right:.5rem;background:#000000b3;color:#fff;padding:.25rem;border-radius:.25rem;display:flex;align-items:center;justify-content:center}.location-image-category svg{width:.875rem;height:.875rem}.location-images-more{position:absolute;bottom:1.5rem;right:1.5rem;background:#000c;color:#fff;padding:.75rem 1rem;border-radius:.5rem;font-size:.875rem;font-weight:600;text-align:center;pointer-events:none}.images-more-overlay{display:flex;flex-direction:column;gap:.25rem}.images-more-overlay span:first-child{font-size:1.125rem;font-weight:700}.photo-gallery-empty{text-align:center;padding:4rem 2rem;color:#6b7280}.photo-gallery-empty h3{margin:1rem 0 .5rem;color:#374151}.photo-gallery-empty p{max-width:500px;margin:0 auto;line-height:1.6}.photo-gallery-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem;color:#6b7280}.loading-spinner{width:2rem;height:2rem;border:3px solid #e5e7eb;border-top:3px solid #4f46e5;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.photo-gallery-error{text-align:center;padding:4rem 2rem;color:#dc2626}.retry-button{margin-top:1rem;padding:.75rem 1.5rem;background:#4f46e5;color:#fff;border:none;border-radius:.5rem;cursor:pointer;transition:background .2s}.retry-button:hover{background:#4338ca}.lightbox-backdrop{position:fixed;inset:0;background:#000000f2;display:flex;align-items:center;justify-content:center;z-index:1000;padding:0}.lightbox-container{position:relative;width:100vw;height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center}.lightbox-close{position:absolute;top:2rem;right:2rem;background:#000000b3;border:none;color:#fff;padding:.75rem;border-radius:50%;cursor:pointer;transition:all .2s;z-index:1001;display:flex;align-items:center;justify-content:center}.lightbox-close:hover{background:#000000e6;transform:scale(1.1)}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:#000000b3;border:none;color:#fff;padding:1.5rem 1rem;border-radius:.5rem;cursor:pointer;transition:all .2s;z-index:1001;display:flex;align-items:center;justify-content:center}.lightbox-nav:hover{background:#000000e6;transform:translateY(-50%) scale(1.1)}.lightbox-prev{left:2rem}.lightbox-next{right:2rem}.lightbox-image-wrapper{flex:1;display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:.5rem 4rem}.lightbox-image{max-width:100%;max-height:100%;min-width:70vw;min-height:70vh;width:auto;height:auto;object-fit:contain;border-radius:.5rem;box-shadow:0 25px 50px -12px #00000080}.lightbox-info-bar{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.8),transparent);padding:2rem 2rem 1.5rem;display:flex;justify-content:space-between;align-items:end;color:#fff}.lightbox-basic-info{display:flex;gap:2rem;align-items:center}.lightbox-location-name{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:1.125rem}.lightbox-category-info{display:flex;align-items:center;gap:.5rem;opacity:.9;font-size:.875rem}.lightbox-counter{color:#fffc;font-size:.875rem;font-weight:500}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.photo-gallery-container{padding:1rem}.photo-gallery-header{flex-direction:column;align-items:stretch}.photo-gallery-title h1{font-size:1.5rem}.view-mode-toggle{margin-right:0;margin-bottom:1rem;width:100%}.view-mode-btn{flex:1;justify-content:center}.photo-gallery-actions{flex-direction:column;gap:1rem;align-items:stretch}.photo-gallery-stats{flex-direction:column;gap:1rem}.stats-breakdown{margin-left:0}.photo-gallery-filters{flex-direction:column;align-items:stretch;padding:1rem;gap:1rem}.filter-group{min-width:unset}.photo-gallery-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}.location-gallery-title-row{flex-direction:column;gap:1rem;align-items:start}.location-gallery-actions{width:100%}.location-map-button{width:100%;justify-content:center}.location-gallery-contact{flex-direction:column;gap:.5rem}.location-images-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));padding:1rem}.lightbox-image-wrapper{padding:.5rem 2rem}.lightbox-image{min-width:80vw;min-height:60vh}.lightbox-close{top:1rem;right:1rem;padding:.5rem}.lightbox-nav{padding:1rem .75rem}.lightbox-prev{left:1rem}.lightbox-next{right:1rem}.lightbox-info-bar{padding:1.5rem 1rem 1rem;flex-direction:column;gap:1rem;align-items:start}.lightbox-basic-info{flex-direction:column;gap:.5rem;align-items:start}}@media (max-width: 480px){.photo-gallery-container{padding:.5rem}.photo-gallery-grid{grid-template-columns:1fr}.gallery-overlay{transform:translateY(0);background:linear-gradient(to top,#000000e6,#0009)}.location-gallery-header{padding:1rem}.location-gallery-title{font-size:1.125rem}.location-images-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.375rem;padding:1rem}.lightbox-image-wrapper{padding:.5rem 1rem}.lightbox-image{min-width:90vw;min-height:50vh}.lightbox-close{top:.5rem;right:.5rem;padding:.5rem}.lightbox-nav{padding:.75rem .5rem;top:40%}.lightbox-prev{left:.5rem}.lightbox-next{right:.5rem}.lightbox-info-bar{padding:1rem .5rem .5rem}.lightbox-location-name{font-size:1rem}.lightbox-category-info{font-size:.8125rem}}.filter-toggle:focus,.filter-select:focus,.filter-clear:focus,.retry-button:focus,.lightbox-close:focus,.lightbox-nav:focus,.view-mode-btn:focus,.location-map-button:focus{outline:2px solid #4f46e5;outline-offset:2px}.gallery-image-container:focus{outline:2px solid #4f46e5;outline-offset:2px;border-radius:.375rem}.location-contact-item a:focus{outline:2px solid #2563eb;outline-offset:2px;border-radius:.25rem}@media (prefers-color-scheme: dark){.photo-gallery-title h1{color:#f9fafb}.photo-gallery-stats{background:#1f2937;border-color:#374151}.stats-item{color:#d1d5db}.photo-gallery-filters{background:#1f2937;border-color:#374151}.filter-label{color:#f3f4f6}.filter-select{background:#374151;border-color:#4b5563;color:#f3f4f6}.gallery-item{background:#1f2937}.location-gallery-card{background:#1f2937;border-color:#374151}.location-gallery-header{background:linear-gradient(135deg,#374151,#1f2937)}.location-gallery-title{color:#f9fafb}.location-gallery-description p{color:#d1d5db}.location-gallery-count{color:#f3f4f6}.view-mode-toggle{background-color:#374151}.view-mode-btn{color:#d1d5db}.view-mode-btn:hover{color:#f3f4f6}.view-mode-btn.active{background:#1f2937;color:#6366f1}}.plan-features-page{padding:1.5rem;max-width:100%;background-color:#f9fafb;min-height:100vh}.plan-features-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;background:#fff;padding:2rem;border-radius:.75rem;box-shadow:0 1px 3px #0000001a}.plan-features-header-content{flex:1}.plan-features-title{display:flex;align-items:center;font-size:1.875rem;font-weight:700;color:#111827;margin-bottom:.5rem}.plan-features-description{color:#6b7280;font-size:1rem;margin-bottom:1.5rem}.plan-features-stats{display:flex;gap:2rem}.stat-item{display:flex;flex-direction:column;align-items:flex-start}.stat-label{font-size:.875rem;color:#6b7280;font-weight:500}.stat-value{font-size:1.5rem;font-weight:700;color:#111827}.plan-features-header-actions{display:flex;gap:1rem;align-items:center}.add-feature-btn{display:flex;align-items:center;background-color:#4f46e5;color:#fff;border:none;border-radius:.5rem;padding:.75rem 1.5rem;font-weight:600;cursor:pointer;transition:background-color .2s}.add-feature-btn:hover{background-color:#4338ca}.add-feature-btn:disabled{background-color:#9ca3af;cursor:not-allowed}.plan-features-filters{display:flex;gap:1.5rem;margin-bottom:1.5rem;background:#fff;padding:1.5rem;border-radius:.5rem;box-shadow:0 1px 3px #0000001a}.filter-group{display:flex;flex-direction:column;gap:.5rem}.filter-label{font-size:.875rem;font-weight:500;color:#374151}.filter-select{padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:.375rem;background-color:#fff;font-size:.875rem;min-width:150px}.filter-select:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a}.plan-features-table-container{background:#fff;border-radius:.75rem;box-shadow:0 1px 3px #0000001a;overflow:hidden}.plan-features-table-wrapper{overflow-x:auto}.plan-features-table{width:100%;border-collapse:collapse}.plan-features-table-head{background-color:#f9fafb}.plan-features-table-header{padding:1rem;text-align:left;font-weight:600;color:#374151;font-size:.875rem;border-bottom:1px solid #e5e7eb}.plan-features-table-body{background-color:#fff}.plan-features-table-row{border-bottom:1px solid #f3f4f6;transition:background-color .15s}.plan-features-table-row:hover{background-color:#f9fafb}.plan-features-table-cell{padding:1rem;vertical-align:top}.feature-info{display:flex;flex-direction:column;gap:.25rem}.feature-name{font-weight:600;color:#111827;font-size:.875rem}.feature-description{font-size:.75rem;color:#6b7280;line-height:1.4}.feature-key{background-color:#f3f4f6;color:#374151;padding:.25rem .5rem;border-radius:.25rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.75rem;font-weight:600}.feature-type-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .75rem;border-radius:1rem;font-size:.75rem;font-weight:500}.feature-type-boolean{background-color:#dbeafe;color:#1e40af}.feature-type-numeric{background-color:#d1fae5;color:#065f46}.feature-type-text{background-color:#fef3c7;color:#92400e}.feature-type-icon{font-weight:700;font-size:.75rem}.feature-category{font-size:.875rem;color:#6b7280;text-transform:capitalize}.default-value{font-size:.875rem;color:#374151;font-family:Monaco,Menlo,Ubuntu Mono,monospace}.status-badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:1rem;font-size:.75rem;font-weight:500}.status-active{background-color:#d1fae5;color:#065f46}.status-inactive{background-color:#fee2e2;color:#991b1b}.feature-actions{display:flex;gap:.5rem}.edit-btn,.delete-btn{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;border-radius:.375rem;cursor:pointer;transition:all .2s}.edit-btn{background-color:#f3f4f6;color:#6b7280}.edit-btn:hover{background-color:#e5e7eb;color:#374151}.delete-btn{background-color:#fef2f2;color:#dc2626}.delete-btn:hover{background-color:#fee2e2;color:#b91c1c}.plan-features-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;color:#6b7280}.empty-icon{margin-bottom:1rem;color:#d1d5db}.plan-features-empty p{font-size:1rem;margin-bottom:1rem}.plan-features-loading{display:flex;align-items:center;justify-content:center;padding:4rem;font-size:1.125rem;color:#6b7280}.access-denied{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;background:#fff;border-radius:.75rem;box-shadow:0 1px 3px #0000001a}.access-denied h1{font-size:1.5rem;font-weight:700;color:#dc2626;margin-bottom:.5rem}.access-denied p{color:#6b7280}.delete-modal{max-width:28rem}.delete-modal-content{padding:1.5rem}.delete-warning{display:flex;gap:1rem;margin-bottom:2rem}.warning-icon{color:#dc2626;flex-shrink:0;margin-top:.25rem}.warning-text h3{font-size:1.125rem;font-weight:600;color:#111827;margin-bottom:.5rem}.warning-text p{color:#6b7280;line-height:1.5;margin-bottom:.5rem}.warning-note{font-size:.875rem;color:#dc2626;font-weight:500}.delete-modal-actions{display:flex;justify-content:flex-end;gap:.75rem}.form-checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.form-checkbox{width:1rem;height:1rem}.checkbox-text{font-size:.875rem;font-weight:500;color:#374151}.form-help{display:block;margin-top:.25rem;font-size:.75rem;color:#6b7280;line-height:1.4}@media (max-width: 1024px){.plan-features-header{flex-direction:column;gap:1.5rem}.plan-features-stats{gap:1.5rem}.plan-features-filters{flex-direction:column;gap:1rem}}@media (max-width: 768px){.plan-features-page{padding:1rem}.plan-features-header{padding:1.5rem}.plan-features-stats{flex-direction:column;gap:1rem}.plan-features-filters{padding:1rem}.filter-select{min-width:120px}.plan-features-table-header,.plan-features-table-cell{padding:.75rem .5rem}.feature-actions{flex-direction:column;gap:.25rem}}@media (max-width: 480px){.plan-features-title{font-size:1.5rem}.stat-value{font-size:1.25rem}.plan-features-table-header,.plan-features-table-cell{padding:.5rem .25rem;font-size:.75rem}.feature-name{font-size:.75rem}.feature-description{font-size:.6875rem}}.services-page{display:flex;flex-direction:column;gap:2rem}.services-header{display:flex;flex-direction:column;gap:1rem}@media (min-width: 640px){.services-header{flex-direction:row;align-items:flex-start}}.services-header-content{flex:1}.services-title{display:flex;align-items:center;font-size:1.25rem;font-weight:600;color:#111827;margin:0 0 .5rem}.services-description{font-size:.875rem;color:#374151;margin:0 0 1rem}.services-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;margin-top:1rem}.services-header-actions{margin-top:1rem;flex:none}@media (min-width: 640px){.services-header-actions{margin-top:0;margin-left:2rem}}.add-service-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:.375rem;border:1px solid transparent;background-color:#7c3aed;padding:.5rem 1rem;font-size:.875rem;font-weight:500;color:#fff;box-shadow:0 1px 2px #0000000d;cursor:pointer;transition:background-color .2s}.add-service-btn:hover{background-color:#6b21a8}.add-service-btn:focus{outline:2px solid #a78bfa;outline-offset:2px}.services-loading{text-align:center;padding:2rem;color:#6b7280}.services-unauthorized{text-align:center;padding:3rem;color:#6b7280}.services-unauthorized h1{color:#dc2626;margin-bottom:1rem}.services-table-container{margin-top:2rem;display:flex;flex-direction:column}.services-table-wrapper{overflow-x:auto;overflow:hidden;box-shadow:0 1px 3px #0000001a;border:1px solid rgba(0,0,0,.05);border-radius:.5rem}.services-table{min-width:100%;border-collapse:collapse;border-spacing:0}.services-table-head{background-color:#f9fafb}.services-table-header{padding:.75rem 1.5rem;text-align:left;font-size:.75rem;font-weight:500;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.services-table-body{background-color:#fff;border-top:1px solid #e5e7eb}.services-table-row{border-bottom:1px solid #e5e7eb;transition:background-color .2s ease}.services-table-row:hover{background-color:#f9fafb}.services-table-cell{padding:1rem 1.5rem;font-size:.875rem;color:#111827;vertical-align:top}.service-info{display:flex;flex-direction:column;min-width:0}.service-name{font-weight:600;color:#111827;margin-bottom:.25rem}.service-description{font-size:.75rem;color:#6b7280;margin-bottom:.25rem;line-height:1.4}.service-entries{font-size:.75rem;color:#7c3aed;font-weight:500;margin-bottom:.25rem}.service-created{font-size:.75rem;color:#9ca3af}.service-location{font-weight:500;color:#374151}.service-cost{font-weight:600;color:#059669}.service-duration{color:#374151}.service-quantity{display:flex;flex-direction:column;gap:.125rem}.quantity-number{font-weight:600;color:#059669;font-size:.9375rem}.quantity-label{font-size:.75rem;color:#6b7280}.quantity-alert{font-size:.75rem;color:#dc2626;font-weight:500}.quantity-examples{margin-top:1rem;padding:1rem;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:.375rem}.examples-title{font-size:.875rem;font-weight:600;color:#374151;margin-bottom:.5rem}.examples-list{display:flex;flex-direction:column;gap:.5rem}.example-item{font-size:.8125rem;color:#6b7280;line-height:1.4}.example-item strong{color:#374151}.service-type-badge{display:inline-flex;padding:.125rem .5rem;font-size:.75rem;font-weight:600;border-radius:9999px;text-transform:uppercase;letter-spacing:.05em}.service-type-subscription{background-color:#dbeafe;color:#1e40af}.service-type-package{background-color:#fef3c7;color:#92400e}.service-type-trial{background-color:#dcfce7;color:#166534}.service-type-default{background-color:#f3f4f6;color:#374151}.status-badge{display:inline-flex;padding:.125rem .5rem;font-size:.75rem;font-weight:600;border-radius:9999px}.status-active{background-color:#dcfce7;color:#166534}.status-inactive{background-color:#fecaca;color:#991b1b}.status-draft{background-color:#e5e7eb;color:#374151}.service-actions{display:flex;gap:.5rem;align-items:center}.edit-btn{color:#7c3aed;background:transparent;border:none;cursor:pointer;padding:.25rem;border-radius:.25rem;transition:all .2s;display:inline-flex;align-items:center;justify-content:center}.edit-btn:hover{background-color:#f3e8ff;color:#6b21a8}.edit-btn:focus{outline:2px solid #a78bfa;outline-offset:2px}.services-empty{text-align:center;padding:3rem;color:#6b7280}.empty-icon{margin:0 auto 1rem;color:#d1d5db}.services-empty p{margin:0 0 1rem;font-size:.875rem}.service-form-modal{max-width:56rem;max-height:90vh}@media (min-width: 768px){.form-row{grid-template-columns:1fr 1fr}}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1a}.form-input:disabled{background-color:#f9fafb;color:#9ca3af;cursor:not-allowed}.form-select{background-color:#fff;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem}.form-help-text{font-size:.75rem;color:#6b7280;margin-top:.25rem;line-height:1.4}.form-note{margin-top:1rem;padding:.75rem 1rem;background-color:#fef3c7;border:1px solid #f59e0b;border-radius:.375rem;border-left:4px solid #f59e0b}.note-text{margin:0;font-size:.875rem;color:#92400e;line-height:1.5}.note-text strong{font-weight:600}.form-checkboxes{display:flex;flex-direction:column;gap:1rem}.form-checkbox-group{display:flex;flex-direction:column;gap:.25rem}.checkbox-wrapper{display:flex;align-items:center;gap:.5rem}.form-checkbox{width:1rem;height:1rem;accent-color:#7c3aed;cursor:pointer;margin:0}.form-checkbox-label{font-size:.875rem;font-weight:500;color:#374151;cursor:pointer;margin:0}@media (max-width: 768px){.services-table-cell,.services-table-header{padding:.75rem 1rem;font-size:.8125rem}.service-name{font-size:.875rem}.service-description,.service-entries,.service-created{font-size:.6875rem}}@media (max-width: 640px){.services-stats{grid-template-columns:repeat(2,1fr)}.services-header{gap:1.5rem}.services-header-actions{margin-left:0}.add-service-btn{width:100%;justify-content:center}.form-row{grid-template-columns:1fr}}.mr-2{margin-right:.5rem}.mt-4{margin-top:1rem}.btn-primary{display:inline-flex;align-items:center;gap:.5rem;background-color:#7c3aed;color:#fff;border:none;padding:.5rem 1rem;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s}.btn-primary:hover:not(:disabled){background-color:#6b21a8}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background-color:#fff;color:#374151;border:1px solid #d1d5db;padding:.5rem 1rem;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-secondary:hover:not(:disabled){background-color:#f9fafb;border-color:#9ca3af}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 640px){.resource-info-display{padding:.75rem;margin-top:.75rem}.selected-resource-info{gap:.375rem}.resource-details,.resource-quantity{font-size:.8125rem}.resource-description{font-size:.75rem}}.resource-info-display{margin-top:1rem;padding:1rem;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:.375rem;border-left:4px solid #059669}.selected-resource-info{display:flex;flex-direction:column;gap:.5rem}.resource-details{font-size:.875rem;color:#374151;font-weight:500}.resource-quantity{font-size:.875rem;color:#059669;font-weight:600}.resource-description{font-size:.8125rem;color:#6b7280;font-style:italic;line-height:1.4}.service-form-modal .form-select:disabled{background-color:#f9fafb;color:#9ca3af;cursor:not-allowed}.form-select option{padding:.5rem}.service-resource{min-width:180px}.resource-info{display:flex;flex-direction:column;gap:.25rem}.resource-header{display:flex;align-items:center;gap:.5rem}.resource-icon{font-size:1rem;flex-shrink:0}.resource-name{font-weight:500;color:#111827;font-size:.875rem}.resource-location{font-size:.75rem;color:#6b7280}.resource-quantity{font-size:.75rem;color:#059669;font-weight:500}.no-resource{color:#9ca3af;font-style:italic;font-size:.875rem}@media (max-width: 640px){.resource-info-display{padding:.75rem;margin-top:.75rem}.selected-resource-info{gap:.375rem}.resource-details,.resource-quantity{font-size:.8125rem}.resource-description{font-size:.75rem}.service-resource{min-width:140px}.resource-name{font-size:.8125rem}.resource-location,.resource-quantity{font-size:.6875rem}}.service-info-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:.375rem;border:1px solid #d1d5db;background-color:#fff;padding:.5rem 1rem;font-size:.875rem;font-weight:500;color:#374151;box-shadow:0 1px 2px #0000000d;cursor:pointer;transition:all .2s;margin-right:.75rem}.service-info-btn:hover{background-color:#f9fafb;border-color:#9ca3af}.service-info-btn:focus{outline:2px solid #6b7280;outline-offset:2px}.service-info-modal{max-width:42rem;max-height:90vh}.service-info-content{padding:1.5rem}.service-info-description{font-size:.875rem;color:#6b7280;margin:0 0 1.5rem;line-height:1.5}.service-type-info{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}.service-type-item{padding:1.25rem;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;border-left:4px solid #7c3aed}.service-type-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.service-type-header h3{font-size:1rem;font-weight:600;color:#111827;margin:0}.service-type-description{font-size:.9375rem;color:#374151;margin:0 0 .5rem;line-height:1.5;font-weight:500}.service-type-example{font-size:.8125rem;color:#6b7280;margin:0;font-style:italic;line-height:1.4}.service-info-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e5e7eb}@media (max-width: 768px){.services-header-actions{flex-direction:column;gap:.75rem}.service-info-btn{margin-right:0;width:100%;justify-content:center}.service-info-modal{max-width:90vw;margin:1rem}.service-info-content,.service-type-item{padding:1rem}.service-type-header{flex-direction:column;align-items:flex-start;gap:.5rem}}.settings-page{display:flex;flex-direction:column;gap:2rem}.settings-header{display:flex;align-items:center;gap:1rem}.settings-header-content{flex:1}.settings-title{display:flex;align-items:center;gap:.5rem;font-size:1.25rem;font-weight:600;color:#111827;margin:0 0 .5rem}.settings-description{font-size:.875rem;color:#374151;margin:0}.settings-loading{text-align:center;padding:2rem;color:#6b7280}.settings-tabs{background-color:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;border:1px solid #e5e7eb;overflow:hidden}.settings-tabs-nav{display:flex;border-bottom:1px solid #e5e7eb}.settings-tab{display:flex;align-items:center;gap:.5rem;padding:1rem 1.5rem;border:none;background:transparent;color:#6b7280;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;border-bottom:3px solid transparent;flex:1;justify-content:center}.settings-tab:hover{background-color:#f9fafb;color:#374151}.settings-tab.active{background-color:#f9fafb;color:#4f46e5;border-bottom-color:#4f46e5}.settings-tab:focus{outline:2px solid #4f46e5;outline-offset:-2px}.settings-content{background-color:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;border:1px solid #e5e7eb;overflow:hidden}.settings-form{display:flex;flex-direction:column;gap:2rem;padding:2rem}.locations-tab-content{padding:2rem}.locations-tab-header{margin-bottom:2rem}.locations-tab-title{display:flex;align-items:center;gap:.5rem;font-size:1.125rem;font-weight:600;color:#111827;margin:0 0 .5rem}.locations-tab-description{font-size:.875rem;color:#6b7280;margin:0}.settings-actions{display:flex;justify-content:flex-end;padding-top:1.5rem;border-top:1px solid #e5e7eb}.save-settings-btn{display:inline-flex;align-items:center;gap:.5rem;background-color:#4f46e5;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s}.save-settings-btn:hover:not(:disabled){background-color:#4338ca}.save-settings-btn:disabled{opacity:.5;cursor:not-allowed}.form-section{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid #e5e7eb}.form-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.form-section-title{font-size:1rem;font-weight:600;color:#111827;margin:0 0 1rem;padding-bottom:.5rem;border-bottom:1px solid #f3f4f6}.form-section-description{font-size:.875rem;color:#6b7280;margin:0 0 1rem;font-style:italic}.form-row{display:grid;grid-template-columns:1fr;gap:1rem}@media (min-width: 768px){.form-row{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}.form-group{display:flex;flex-direction:column}.form-label{font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.25rem}.form-input,.form-select,.form-textarea{width:100%;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;color:#111827;box-sizing:border-box;transition:border-color .2s,box-shadow .2s}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.form-input::placeholder,.form-textarea::placeholder{color:#9ca3af}.form-textarea{resize:vertical;min-height:3rem;font-family:inherit}.form-select{background-color:#fff;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem}.form-input-readonly{background-color:#f9fafb!important;color:#6b7280!important;cursor:not-allowed!important;border-color:#e5e7eb!important}.form-input-readonly:focus{border-color:#e5e7eb!important;box-shadow:none!important}.form-input-readonly:hover{border-color:#e5e7eb!important}.loading-spinner-small{display:inline-block;width:1rem;height:1rem;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin 1s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}.logo-upload-section{margin-top:1rem}.current-logo-container,.logo-preview-container{display:flex;flex-direction:column;gap:1.5rem;align-items:center}.logo-display-card{background:#f9fafb;border:2px dashed #d1d5db;border-radius:.75rem;padding:1.5rem;text-align:center;transition:all .3s ease;min-width:280px;max-width:400px}.logo-display-card:hover{border-color:#9ca3af;background:#f3f4f6}.logo-header{margin-bottom:1rem;display:flex;flex-direction:column;align-items:center;gap:.5rem}.logo-section-subtitle{margin:0;font-size:1rem;font-weight:600;color:#374151}.upload-status{display:flex;align-items:center;gap:.5rem;color:#6b7280;font-size:.875rem}.upload-status-text{font-style:italic}.logo-image-container{display:flex;justify-content:center;align-items:center;min-height:120px;padding:1rem;border-radius:.5rem;background:#fff;border:1px solid #e5e7eb}.logo-image{max-width:200px;max-height:150px;object-fit:contain;border-radius:.375rem;box-shadow:0 2px 4px #0000001a;transition:opacity .3s ease}.logo-image.uploading{opacity:.6}.logo-actions-container{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.logo-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.25rem;border-radius:.5rem;font-size:.875rem;font-weight:500;border:none;cursor:pointer;transition:all .3s ease;text-decoration:none;min-width:120px;height:44px;box-shadow:0 2px 4px #0000001a}.logo-btn:hover{transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.logo-btn:active{transform:translateY(0);box-shadow:0 2px 4px #0000001a}.logo-btn-primary{background:linear-gradient(135deg,#4f46e5,#6366f1);color:#fff}.logo-btn-primary:hover{background:linear-gradient(135deg,#4338ca,#5b21b6)}.logo-btn-danger{background:linear-gradient(135deg,#dc2626,#ef4444);color:#fff}.logo-btn-danger:hover{background:linear-gradient(135deg,#b91c1c,#dc2626)}.logo-btn-secondary{background:linear-gradient(135deg,#6b7280,#9ca3af);color:#fff}.logo-btn-secondary:hover{background:linear-gradient(135deg,#4b5563,#6b7280)}.logo-btn-large{padding:1rem 2rem;font-size:1rem;min-width:160px;height:50px}.logo-upload-empty{display:flex;flex-direction:column;gap:2rem;align-items:center;padding:2rem}.upload-placeholder{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem;background:#f8fafc;border:2px dashed #cbd5e1;border-radius:1rem;min-width:300px;transition:all .3s ease}.upload-placeholder:hover{border-color:#94a3b8;background:#f1f5f9}.upload-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;background:linear-gradient(135deg,#e2e8f0,#cbd5e1);border-radius:50%;color:#64748b}.upload-text{text-align:center}.upload-text h4{margin:0 0 .5rem;font-size:1.125rem;font-weight:600;color:#374151}.upload-text p{margin:0;font-size:.875rem;color:#6b7280}.locations-tab-content .locations-modal-backdrop{position:static;background:transparent;z-index:auto;padding:0}.locations-tab-content .location-form-modal-container{position:static;max-width:none;max-height:none;box-shadow:none;background:transparent;width:100%}.locations-tab-content .locations-modal{position:static;max-width:none;background:transparent;box-shadow:none;border-radius:0}.locations-tab-content .locations-content{padding:0;max-height:none;overflow:visible}.locations-tab-content .modal-header,.locations-tab-content .modal-footer{display:none}.locations-tab-content .locations-list{display:flex;flex-direction:column;gap:1rem}.locations-tab-content .locations-loading,.locations-tab-content .locations-empty{text-align:center;padding:2rem;color:#6b7280;background:#f9fafb;border-radius:.5rem;border:1px solid #e5e7eb}.locations-tab-content .add-location-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background-color:#4f46e5;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s;margin-bottom:1.5rem}.locations-tab-content .add-location-btn:hover{background-color:#4338ca}@media (max-width: 768px){.settings-tabs-nav{flex-direction:column}.settings-tab{justify-content:flex-start;border-bottom:none;border-right:3px solid transparent}.settings-tab.active{border-bottom:none;border-right-color:#4f46e5}.settings-form,.locations-tab-content{padding:1.5rem}.current-logo-container,.logo-preview-container{gap:1rem}.logo-display-card{min-width:260px;padding:1.25rem}.logo-actions-container{flex-direction:column;align-items:center;gap:.75rem}.logo-btn{width:100%;max-width:200px}.upload-placeholder{min-width:260px;padding:1.5rem}.settings-actions{justify-content:stretch}.save-settings-btn{width:100%;justify-content:center}}@media (max-width: 640px){.settings-content,.settings-tabs{border-radius:0;box-shadow:none;border-left:none;border-right:none}.form-section-title{font-size:.9375rem}.locations-tab-title{font-size:1rem;flex-direction:column;align-items:flex-start;gap:.25rem}}@media (max-width: 480px){.settings-form,.locations-tab-content{padding:1rem}.logo-display-card,.upload-placeholder{min-width:auto;width:100%;max-width:280px}.logo-actions-container{width:100%}.logo-btn{max-width:none}.upload-icon{width:48px;height:48px}.upload-text h4{font-size:1rem}}.logo-btn:focus-visible{outline:2px solid #4f46e5;outline-offset:2px}.logo-btn-danger:focus-visible{outline-color:#dc2626}.logo-btn-secondary:focus-visible{outline-color:#6b7280}.upload-placeholder{cursor:pointer}.upload-placeholder:hover .upload-icon{background:linear-gradient(135deg,#cbd5e1,#94a3b8);color:#475569;transform:scale(1.05)}.upload-placeholder:hover .upload-text h4{color:#1f2937}.logo-display-card{animation:fadeInLogo .3s ease-in-out}@keyframes fadeInLogo{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.logo-image{animation:logoAppear .5s ease-in-out}@keyframes logoAppear{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.settings-form,.locations-tab-content{animation:fadeInUp .3s ease-in-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.support-page{padding:1.5rem;max-width:1200px;margin:0 auto}.support-header{margin-bottom:2rem}.support-title{display:flex;align-items:center;gap:1rem}.support-icon{color:#4f46e5;flex-shrink:0}.support-title h1{font-size:2rem;font-weight:700;color:#111827;margin:0;line-height:1.2}.support-title p{font-size:1rem;color:#6b7280;margin:.25rem 0 0}.support-content{display:flex;flex-direction:column;gap:2rem}.support-card{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a;transition:box-shadow .2s ease}.support-card:hover{box-shadow:0 4px 6px -1px #0000001a}.card-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #f3f4f6}.card-header.urgent{border-bottom-color:#fee2e2}.card-icon{color:#4f46e5;flex-shrink:0}.card-header.urgent .card-icon{color:#dc2626}.card-header h2{font-size:1.25rem;font-weight:600;color:#111827;margin:0}.company-info .company-name h3{font-size:1.5rem;font-weight:700;color:#111827;margin:0 0 1.5rem}.contact-info{display:flex;flex-direction:column;gap:1.25rem}.contact-item{display:flex;align-items:flex-start;gap:1rem}.contact-icon{color:#6b7280;flex-shrink:0;margin-top:.125rem;transition:color .2s ease}.contact-icon.clickable{cursor:pointer;color:#4f46e5}.contact-icon.clickable:hover{color:#3730a3}.contact-details{flex:1;min-width:0}.contact-label{display:block;font-size:.875rem;font-weight:500;color:#6b7280;margin-bottom:.25rem}.contact-value{display:block;font-size:1rem;font-weight:500;color:#111827;line-height:1.4}.contact-value.clickable{cursor:pointer;color:#4f46e5;transition:color .2s ease;position:relative}.contact-value.clickable:hover{color:#3730a3;text-decoration:underline}.contact-value.secondary{font-size:.875rem;font-weight:400;color:#6b7280;margin-top:.25rem}.business-hours{display:flex;flex-direction:column;gap:.25rem}.copied-text{font-size:.75rem;color:#059669;font-weight:600;animation:fadeInOut 2s ease-in-out}@keyframes fadeInOut{0%{opacity:0;transform:translate(-10px)}20%{opacity:1;transform:translate(0)}80%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(10px)}}.support-categories h2{font-size:1.5rem;font-weight:600;color:#111827;margin-bottom:1.5rem}.categories-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.category-card{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;padding:1.5rem;transition:all .2s ease;cursor:pointer}.category-card:hover{border-color:#4f46e5;box-shadow:0 4px 6px -1px #0000001a;transform:translateY(-1px)}.category-header{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1rem}.category-icon{color:#4f46e5;flex-shrink:0;margin-top:.125rem}.category-info{flex:1;min-width:0}.category-info h3{font-size:1.125rem;font-weight:600;color:#111827;margin:0 0 .5rem}.priority{display:inline-block;padding:.25rem .5rem;border-radius:.375rem;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.priority.high{background:#fee2e2;color:#dc2626}.priority.medium{background:#fef3c7;color:#d97706}.priority.standard{background:#e0e7ff;color:#4f46e5}.priority.self-service{background:#f0fdf4;color:#059669}.category-description{font-size:.875rem;color:#6b7280;line-height:1.5;margin-bottom:1rem}.category-contact{display:flex;align-items:center;gap:.5rem;padding-top:1rem;border-top:1px solid #f3f4f6}.category-contact svg{color:#9ca3af;flex-shrink:0}.category-email{font-size:.875rem;font-weight:500;color:#4f46e5;cursor:pointer;transition:color .2s ease}.category-email:hover{color:#3730a3;text-decoration:underline}.emergency-contact{border-color:#fca5a5;background:linear-gradient(to right,#fff5f5,#fff)}.emergency-info p{font-size:1rem;color:#374151;margin-bottom:1rem;font-weight:500}.emergency-details{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.emergency-phone,.emergency-availability{display:flex;align-items:center;gap:.75rem}.emergency-phone svg{color:#dc2626}.emergency-availability svg{color:#059669}.emergency-number{font-size:1.125rem;font-weight:700;color:#dc2626;cursor:pointer;transition:color .2s ease}.emergency-number:hover{color:#b91c1c;text-decoration:underline}.emergency-availability span{font-size:1rem;font-weight:500;color:#059669}.emergency-note{padding:1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:.5rem;font-size:.875rem;color:#991b1b;line-height:1.5}.emergency-note strong{font-weight:600}@media (max-width: 768px){.support-page{padding:1rem}.support-title{flex-direction:column;align-items:flex-start;gap:.75rem}.support-title h1{font-size:1.5rem}.categories-grid{grid-template-columns:1fr;gap:1rem}.category-card{padding:1.25rem}.contact-item{flex-direction:column;align-items:flex-start;gap:.5rem}.contact-icon{margin-top:0}.emergency-details{gap:1rem}.emergency-phone,.emergency-availability{flex-direction:column;align-items:flex-start;gap:.5rem}}@media (max-width: 480px){.support-page{padding:.75rem}.support-card{padding:1rem}.card-header{flex-direction:column;align-items:flex-start;gap:.5rem}.support-title h1,.company-info .company-name h3{font-size:1.25rem}.category-header{flex-direction:column;align-items:flex-start;gap:.75rem}.emergency-note{padding:.75rem;font-size:.8rem}}@media print{.support-page{padding:0}.support-card{border:1px solid #000;box-shadow:none;page-break-inside:avoid;margin-bottom:1rem}.clickable{cursor:auto;color:#111827!important;text-decoration:none!important}.copied-text{display:none}.category-card:hover{transform:none;box-shadow:none}}.clickable:focus{outline:2px solid #4f46e5;outline-offset:2px;border-radius:.25rem}.category-card:focus{outline:2px solid #4f46e5;outline-offset:2px}@media (prefers-contrast: high){.support-card{border-color:#000}.priority{border:1px solid}.emergency-contact{border-color:#dc2626}}@media (prefers-reduced-motion: reduce){.category-card{transition:none}.category-card:hover{transform:none}.clickable{transition:none}.copied-text{animation:none}}.users-page{display:flex;flex-direction:column;gap:2rem;padding:2rem;text-align:center;color:#6b7280}.welcome-modal-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#000c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999}.welcome-modal-container{background:#fff;border-radius:16px;max-width:640px;width:90%;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 25px 50px -12px #00000040;animation:welcomeModalFadeIn .3s ease-out}@keyframes welcomeModalFadeIn{0%{opacity:0;transform:scale(.95) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.welcome-modal-header{padding:24px 24px 0;display:flex;justify-content:flex-end}.welcome-modal-close{background:#f3f4f6;border:none;border-radius:8px;padding:8px;cursor:pointer;transition:all .2s;color:#6b7280}.welcome-modal-close:hover{background:#e5e7eb;color:#374151}.welcome-modal-content{padding:0 24px 24px}.welcome-section{text-align:center;padding-bottom:32px;border-bottom:1px solid #e5e7eb;margin-bottom:32px}.welcome-icon{background:linear-gradient(135deg,#4f46e5,#7c3aed);width:80px;height:80px;border-radius:20px;display:flex;align-items:center;justify-content:center;margin:0 auto 24px;box-shadow:0 8px 24px -4px #4f46e54d}.welcome-icon-svg{color:#fff}.welcome-title{font-size:28px;font-weight:700;color:#111827;margin:0 0 12px;line-height:1.2}.welcome-subtitle{font-size:18px;color:#4f46e5;font-weight:600;margin:0 0 16px}.welcome-description{font-size:16px;color:#6b7280;line-height:1.6;max-width:480px;margin:0 auto}.setup-preview{margin-bottom:32px}.setup-preview-title{font-size:20px;font-weight:600;color:#111827;margin:0 0 24px;text-align:center}.setup-steps{display:flex;flex-direction:column;gap:20px}.setup-step{display:flex;align-items:center;gap:16px;padding:20px;background:#f9fafb;border-radius:12px;border:2px solid transparent;transition:all .2s;position:relative}.setup-step:hover{background:#f3f4f6;border-color:#e5e7eb}.setup-step-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.setup-step-icon.location{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.setup-step-icon.resources{background:linear-gradient(135deg,#f59e0b,#d97706)}.setup-step-icon.services{background:linear-gradient(135deg,#10b981,#059669)}.setup-step-title{font-size:16px;font-weight:600;color:#111827;margin:0 0 4px}.setup-step-description{font-size:14px;color:#6b7280;margin:0;line-height:1.5}.setup-step-number{width:32px;height:32px;border-radius:50%;background:#4f46e5;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;flex-shrink:0}.benefits-section{margin-bottom:32px}.benefits-title{font-size:18px;font-weight:600;color:#111827;margin:0 0 16px;text-align:center}.benefits-grid{display:grid;grid-template-columns:1fr;gap:12px}.benefit-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fef3c7;border-radius:8px;border-left:4px solid #f59e0b}.benefit-icon{font-size:20px;flex-shrink:0}.benefit-text{font-size:14px;color:#92400e;font-weight:500}.welcome-modal-actions{padding:0 24px 24px;display:flex;gap:12px;justify-content:center}.welcome-action-button{padding:12px 24px;border-radius:8px;font-weight:600;font-size:14px;cursor:pointer;transition:all .2s;border:none;min-width:120px}.welcome-action-button.primary{background:#4f46e5;color:#fff}.welcome-action-button.primary:hover{background:#4338ca;transform:translateY(-1px);box-shadow:0 4px 12px #4f46e54d}.welcome-action-button.secondary{background:#f3f4f6;color:#374151}.welcome-action-button.secondary:hover{background:#e5e7eb}.welcome-action-button.tertiary{background:transparent;color:#6b7280;border:1px solid #d1d5db}.welcome-action-button.tertiary:hover{background:#f9fafb;border-color:#9ca3af}.welcome-modal-note{padding:0 24px 24px;text-align:center}.welcome-modal-note p{font-size:12px;color:#9ca3af;margin:0;font-style:italic}.tour-overlay{position:fixed;inset:0;background:#000000b3;z-index:9998;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.tour-spotlight{position:absolute;border-radius:8px;box-shadow:0 0 0 9999px #000000b3;border:3px solid #4f46e5;animation:tourSpotlightPulse 2s infinite;pointer-events:none;z-index:9999}@keyframes tourSpotlightPulse{0%,to{border-color:#4f46e5;box-shadow:0 0 0 9999px #000000b3,0 0 20px #4f46e580}50%{border-color:#7c3aed;box-shadow:0 0 0 9999px #000000b3,0 0 30px #7c3aedb3}}.tour-pulse{position:absolute;border-radius:12px;border:2px solid #4f46e5;animation:tourPulseRing 2s cubic-bezier(.455,.03,.515,.955) infinite;pointer-events:none;z-index:9997}@keyframes tourPulseRing{0%{transform:scale(.8);opacity:1}to{transform:scale(1.2);opacity:0}}.tour-tooltip{position:fixed;width:320px;background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;z-index:10000;animation:tourTooltipFadeIn .2s ease-out}@keyframes tourTooltipFadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.tour-tooltip-header{padding:16px 16px 0;display:flex;align-items:flex-start;justify-content:space-between}.tour-step-info{display:flex;align-items:center;gap:12px;flex:1}.tour-step-icon{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff}.tour-step-icon.locations{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.tour-step-icon.resources{background:linear-gradient(135deg,#f59e0b,#d97706)}.tour-step-icon.services{background:linear-gradient(135deg,#10b981,#059669)}.tour-step-meta{display:flex;flex-direction:column;gap:2px}.tour-step-number{font-size:12px;font-weight:600;color:#4f46e5;text-transform:uppercase;letter-spacing:.5px}.tour-step-completed{font-size:11px;color:#10b981;font-weight:500}.tour-close-button{background:#f3f4f6;border:none;border-radius:6px;padding:6px;cursor:pointer;transition:all .2s;color:#6b7280;flex-shrink:0}.tour-close-button:hover{background:#e5e7eb;color:#374151}.tour-tooltip-content{padding:16px}.tour-tooltip-title{font-size:18px;font-weight:600;color:#111827;margin:0 0 8px;line-height:1.3}.tour-tooltip-description{font-size:14px;color:#6b7280;line-height:1.5;margin:0 0 16px}.tour-action-hint{display:flex;align-items:center;gap:8px;padding:12px;background:#fef3c7;border-radius:8px;border-left:3px solid #f59e0b}.tour-action-icon{font-size:16px}.tour-action-text{font-size:13px;color:#92400e;font-weight:500}.tour-tooltip-progress{padding:0 16px 16px}.tour-progress-bar{width:100%;height:4px;background:#e5e7eb;border-radius:2px;overflow:hidden;margin-bottom:8px}.tour-progress-fill{height:100%;background:linear-gradient(90deg,#4f46e5,#7c3aed);transition:width .3s ease}.tour-progress-text{font-size:12px;color:#6b7280;text-align:center;display:block}.tour-tooltip-actions{padding:16px;border-top:1px solid #e5e7eb;margin-top:16px}.tour-navigation{display:flex;gap:8px;margin-bottom:12px}.tour-nav-button{flex:1;padding:8px 16px;border-radius:6px;font-weight:500;font-size:14px;cursor:pointer;transition:all .2s;border:none;display:flex;align-items:center;justify-content:center;gap:6px}.tour-nav-button.previous{background:#f3f4f6;color:#374151}.tour-nav-button.previous:hover:not(:disabled){background:#e5e7eb}.tour-nav-button.previous:disabled{opacity:.5;cursor:not-allowed}.tour-nav-button.next{background:#4f46e5;color:#fff}.tour-nav-button.next:hover{background:#4338ca}.tour-skip-button{width:100%;padding:8px;background:transparent;border:none;color:#9ca3af;font-size:12px;cursor:pointer;transition:color .2s}.tour-skip-button:hover{color:#6b7280}.setup-progress-indicator{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a;border:1px solid #e5e7eb;margin-bottom:24px}.setup-progress-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px}.setup-progress-title-section{flex:1}.setup-progress-title{font-size:18px;font-weight:600;color:#111827;margin:0 0 4px}.setup-progress-subtitle{font-size:14px;color:#6b7280;margin:0}.setup-progress-percentage{font-size:24px;font-weight:700;color:#4f46e5;line-height:1}.setup-progress-bar{width:100%;height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden;margin-bottom:24px}.setup-progress-fill{height:100%;background:linear-gradient(90deg,#4f46e5,#7c3aed);transition:width .5s ease;border-radius:4px}.setup-steps-list{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.setup-step-item{display:flex;align-items:flex-start;gap:16px;padding:16px;border-radius:8px;border:1px solid #e5e7eb;transition:all .2s}.setup-step-item.completed{background:#f0fdf4;border-color:#16a34a}.setup-step-item.pending{background:#fefbf3;border-color:#f59e0b}.setup-step-icon-container{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.setup-step-check{color:#16a34a}.setup-step-number{width:24px;height:24px;border-radius:50%;background:#f59e0b;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:12px}.setup-step-content{flex:1}.setup-step-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.setup-step-type-icon{color:#6b7280}.setup-step-title{font-size:14px;font-weight:600;color:#111827;margin:0}.setup-step-description{font-size:13px;color:#6b7280;margin:0;line-height:1.4}.setup-step-status{flex-shrink:0}.setup-step-status-badge{font-size:11px;font-weight:500;padding:4px 8px;border-radius:12px;text-transform:uppercase;letter-spacing:.5px}.setup-step-status-badge.completed{background:#dcfce7;color:#166534}.setup-step-status-badge.pending{background:#fef3c7;color:#92400e}.setup-progress-actions{display:flex;justify-content:center;border-top:1px solid #e5e7eb;padding-top:20px}.setup-continue-button{background:#4f46e5;color:#fff;border:none;border-radius:8px;padding:12px 32px;font-weight:600;font-size:14px;cursor:pointer;transition:all .2s;min-width:160px}.setup-continue-button:hover{background:#4338ca;transform:translateY(-1px);box-shadow:0 4px 12px #4f46e54d}.setup-progress-complete{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-radius:12px;padding:24px;border:2px solid #16a34a;margin-bottom:24px;display:flex;align-items:center;gap:16px}.setup-complete-icon{color:#16a34a;flex-shrink:0}.setup-complete-content{flex:1}.setup-complete-title{font-size:16px;font-weight:600;color:#166534;margin:0 0 4px}.setup-complete-description{font-size:14px;color:#15803d;margin:0;line-height:1.4}.tour-notification-dot{position:absolute;top:-4px;right:-4px;width:12px;height:12px;background:#ef4444;border-radius:50%;border:2px solid white;animation:tourNotificationPulse 2s infinite}@keyframes tourNotificationPulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.8}to{transform:scale(1);opacity:1}}.dashboard-setup-section{margin-bottom:32px}.dashboard-setup-banner{background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #f59e0b;border-radius:12px;padding:20px;margin-bottom:24px;position:relative;overflow:hidden}.dashboard-setup-banner:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:repeating-linear-gradient(45deg,transparent,transparent 10px,rgba(251,191,36,.1) 10px,rgba(251,191,36,.1) 20px);animation:dashboardBannerShimmer 3s linear infinite}@keyframes dashboardBannerShimmer{0%{transform:translate(-100%) translateY(-100%)}to{transform:translate(100%) translateY(100%)}}.dashboard-setup-content{position:relative;z-index:1;display:flex;align-items:center;gap:16px}.dashboard-setup-icon{width:48px;height:48px;background:#f59e0b;color:#fff;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.dashboard-setup-text{flex:1}.dashboard-setup-title{font-size:16px;font-weight:600;color:#92400e;margin:0 0 4px}.dashboard-setup-description{font-size:14px;color:#a16207;margin:0;line-height:1.4}.dashboard-setup-action{background:#92400e;color:#fff;border:none;border-radius:8px;padding:10px 20px;font-weight:600;font-size:14px;cursor:pointer;transition:all .2s;flex-shrink:0}.dashboard-setup-action:hover{background:#78350f;transform:translateY(-1px);box-shadow:0 4px 12px #92400e4d}@media (max-width: 768px){.welcome-modal-container{width:95%;max-height:95vh}.welcome-modal-content{padding:0 16px 16px}.welcome-title{font-size:24px}.welcome-subtitle{font-size:16px}.welcome-description{font-size:14px}.setup-step-status{align-self:flex-end}.setup-continue-button{width:100%;min-width:auto}}@media (prefers-contrast: high){.setup-progress-fill{background:#000}.setup-step-item.completed{border-color:#000}.setup-step-item.pending{border-color:#666}.tour-spotlight{border-color:#000;border-width:4px}.welcome-modal-container,.tour-tooltip{border:2px solid #000}}@media (prefers-reduced-motion: reduce){.tour-spotlight,.tour-pulse,.tour-notification-dot{animation:none}.setup-progress-fill,.tour-nav-button,.setup-continue-button,.welcome-action-button{transition:none}.dashboard-setup-banner:before{animation:none}.welcomeModalFadeIn,.tourTooltipFadeIn,.tourSpotlightPulse,.tourPulseRing,.tourNotificationPulse,.dashboardBannerShimmer{animation:none}}@media (prefers-color-scheme: dark){.welcome-modal-container,.tour-tooltip,.setup-progress-indicator{background:#1f2937;color:#f9fafb;border-color:#374151}.welcome-title,.tour-tooltip-title,.setup-progress-title,.setup-step-title{color:#f9fafb}.welcome-description,.tour-tooltip-description,.setup-progress-subtitle,.setup-step-description{color:#d1d5db}.setup-step-item{background:#374151;border-color:#4b5563}.setup-step-item.completed{background:#064e3b;border-color:#10b981}.setup-step-item.pending{background:#451a03;border-color:#f59e0b}.tour-overlay,.welcome-modal-overlay{background:#000000e6}}@media print{.tour-overlay,.tour-tooltip,.tour-spotlight,.tour-pulse,.welcome-modal-overlay,.welcome-modal-container,.tour-notification-dot,.setup-progress-indicator{display:none!important}}.welcome-action-button:focus,.tour-nav-button:focus,.setup-continue-button:focus,.tour-close-button:focus,.welcome-modal-close:focus,.tour-skip-button:focus{outline:2px solid #4f46e5;outline-offset:2px}.welcome-action-button:focus-visible,.tour-nav-button:focus-visible,.setup-continue-button:focus-visible{box-shadow:0 0 0 2px #4f46e5}@keyframes tourShake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-2px)}20%,40%,60%,80%{transform:translate(2px)}}.tour-shake{animation:tourShake .5s ease-in-out}.tour-glow{box-shadow:0 0 20px #4f46e566;border:2px solid #4f46e5;border-radius:8px}.welcome-modal-container::-webkit-scrollbar,.setup-progress-indicator::-webkit-scrollbar{width:6px}.welcome-modal-container::-webkit-scrollbar-track,.setup-progress-indicator::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.welcome-modal-container::-webkit-scrollbar-thumb,.setup-progress-indicator::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.welcome-modal-container::-webkit-scrollbar-thumb:hover,.setup-progress-indicator::-webkit-scrollbar-thumb:hover{background:#94a3b8}.tour-loading-spinner{width:16px;height:16px;border:2px solid transparent;border-top:2px solid #4f46e5;border-radius:50%;animation:tourLoadingSpin 1s linear infinite;display:inline-block;margin-right:8px}@keyframes tourLoadingSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.tour-loading-spinner.white{border-top-color:#fff}.tour-tooltip:before{content:"";position:absolute;width:0;height:0;border-style:solid;border-width:8px}.tour-tooltip.position-right:before{left:-16px;top:50%;transform:translateY(-50%);border-color:transparent white transparent transparent}.tour-tooltip.position-left:before{right:-16px;top:50%;transform:translateY(-50%);border-color:transparent transparent transparent white}.tour-tooltip.position-bottom:before{top:-16px;left:50%;transform:translate(-50%);border-color:transparent transparent white transparent}.tour-tooltip.position-top:before{bottom:-16px;left:50%;transform:translate(-50%);border-color:white transparent transparent transparent}@media (max-width: 320px){.welcome-modal-container{width:98%;margin:1%}.welcome-title{font-size:20px}.setup-step-icon{width:36px;height:36px}.tour-tooltip{width:calc(100vw - 20px);left:10px!important}}@media (max-width: 768px){.setup-step{padding:16px}.setup-step-icon{width:40px;height:40px}.welcome-modal-actions{flex-direction:column;padding:0 16px 16px}.welcome-action-button{width:100%}.tour-tooltip{width:280px}.tour-tooltip-title{font-size:16px}.setup-progress-indicator{padding:16px}.setup-progress-header{flex-direction:column;gap:8px;align-items:flex-start}.setup-progress-percentage{font-size:20px}.setup-step-item{padding:12px}.setup-step-header{flex-wrap:wrap}.dashboard-setup-content{flex-direction:column;text-align:center;gap:12px}.dashboard-setup-action{width:100%}}@media (max-width: 480px){.tour-tooltip{width:calc(100vw - 40px);left:20px!important;right:20px}.benefits-grid{gap:8px}.benefit-item{padding:10px 12px}.benefit-text{font-size:13px}.setup-progress-title{font-size:16px}.setup-step-item{flex-direction:column;gap:12px;align-items:flex-start}.setup-step-status{align-self:flex-end}.setup-continue-button{width:100%;min-width:auto}}@media (min-width: 1200px){.welcome-modal-container{max-width:720px}.tour-tooltip{width:360px}.setup-progress-indicator{max-width:800px;margin-left:auto;margin-right:auto}}
