.renewal-logs-page{display:flex;flex-direction:column;gap:1.5rem;padding:0}.renewal-logs-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}.header-content{flex:1}.page-title{display:flex;align-items:center;font-size:1.5rem;font-weight:600;color:#111827;margin:0 0 .5rem}.page-description{font-size:.875rem;color:#6b7280;margin:0}.refresh-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background-color:#fff;color:#374151;border:1px solid #d1d5db;border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.refresh-btn:hover{background-color:#f9fafb;border-color:#9ca3af}.refresh-btn:active{transform:scale(.98)}.renewal-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.stat-card{display:flex;align-items:center;gap:1rem;padding:1.25rem;background-color:#fff;border:1px solid #e5e7eb;border-radius:.75rem;box-shadow:0 1px 2px #0000000d;transition:box-shadow .2s ease}.stat-card:hover{box-shadow:0 4px 6px -1px #0000001a}.stat-icon{display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:.75rem;flex-shrink:0}.stat-icon.total{background-color:#dbeafe;color:#1e40af}.stat-icon.success{background-color:#dcfce7;color:#166534}.stat-icon.failed{background-color:#fee2e2;color:#991b1b}.stat-icon.warning{background-color:#fef3c7;color:#92400e}.stat-info{flex:1}.stat-value{font-size:1.875rem;font-weight:700;color:#111827;line-height:1;margin-bottom:.25rem}.stat-label{font-size:.875rem;font-weight:500;color:#6b7280}.renewal-filters{display:flex;gap:1.5rem;padding:1rem;background-color:#fff;border:1px solid #e5e7eb;border-radius:.5rem;flex-wrap:wrap}.filter-group{display:flex;flex-direction:column;gap:.5rem;flex:1;min-width:200px}.filter-label{font-size:.75rem;font-weight:600;color:#374151;text-transform:uppercase;letter-spacing:.05em}.filter-buttons{display:flex;gap:.5rem}.filter-btn{flex:1;padding:.5rem 1rem;background-color:#fff;color:#374151;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.filter-btn:hover{background-color:#f9fafb;border-color:#9ca3af}.filter-btn.active{background-color:#16a34a;color:#fff;border-color:#16a34a}.filter-select{padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;color:#111827;background-color:#fff;cursor:pointer;transition:border-color .2s ease}.filter-select:focus{outline:2px solid #16a34a;outline-offset:2px;border-color:#16a34a}.renewal-logs-container{background-color:#fff;border:1px solid #e5e7eb;border-radius:.75rem;overflow:hidden}.logs-list{display:flex;flex-direction:column}.log-item{border-bottom:1px solid #e5e7eb;transition:background-color .2s ease}.log-item:last-child{border-bottom:none}.log-item:hover{background-color:#f9fafb}.log-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;cursor:pointer;gap:1rem}.log-main-info{display:flex;align-items:center;gap:1rem;flex:1;min-width:0}.status-icon.success{color:#16a34a}.status-icon.failed{color:#dc2626}.status-icon.pending{color:#f59e0b}.log-contract-info{display:flex;flex-direction:column;gap:.25rem;min-width:0}.log-contract-number{font-weight:600;color:#111827;font-size:.9375rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace}.log-date{font-size:.75rem;color:#6b7280}.log-status-info{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.status-badge{display:inline-flex;align-items:center;padding:.25rem .75rem;font-size:.75rem;font-weight:600;border-radius:9999px;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.status-badge-success{background-color:#dcfce7;color:#166534}.status-badge-failed{background-color:#fee2e2;color:#991b1b}.status-badge-pending{background-color:#fef3c7;color:#92400e}.new-contract-badge{padding:.25rem .75rem;background-color:#dbeafe;color:#1e40af;font-size:.75rem;font-weight:600;border-radius:.375rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace;white-space:nowrap}.log-details{padding:0 1.25rem 1.25rem;border-top:1px solid #f3f4f6;animation:slideDown .2s ease-out}.details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-bottom:1rem}.detail-value{font-size:.875rem;font-weight:500;color:#111827}.error-message-box{display:flex;gap:.75rem;padding:.875rem;background-color:#fef2f2;border:1px solid #fecaca;border-left:4px solid #dc2626;border-radius:.375rem;margin-bottom:1rem}.error-message-box svg{color:#dc2626;flex-shrink:0;margin-top:.125rem}.error-message-box strong{display:block;font-size:.875rem;font-weight:600;color:#991b1b;margin-bottom:.25rem}.error-message-box p{margin:0;font-size:.8125rem;color:#991b1b;line-height:1.5}.availability-details{padding:1rem;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem}.availability-details h4{margin:0 0 .75rem;font-size:.875rem;font-weight:600;color:#374151}.availability-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem}.availability-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem;background-color:#fff;border:1px solid #e2e8f0;border-radius:.375rem}.availability-label{font-size:.75rem;font-weight:500;color:#6b7280}.availability-value{font-size:.875rem;font-weight:600;color:#111827}.no-logs{text-align:center;padding:4rem 2rem;color:#6b7280}.no-logs-icon{margin:0 auto 1.5rem;color:#d1d5db}.no-logs h3{margin:0 0 .5rem;font-size:1.125rem;font-weight:600;color:#374151}.no-logs p{margin:0;font-size:.875rem;line-height:1.5}.renewal-logs-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:4rem;color:#6b7280}.loading-spinner{display:inline-block;width:2.5rem;height:2.5rem;border:3px solid rgba(107,114,128,.3);border-radius:50%;border-top-color:#16a34a;animation:spin 1s linear infinite}@media(max-width:768px){.renewal-stats-grid{grid-template-columns:repeat(2,1fr)}.stat-card{padding:1rem}.stat-icon{width:2.5rem;height:2.5rem}.stat-value{font-size:1.5rem}.renewal-filters,.filter-buttons{flex-direction:column}.log-header{flex-direction:column;align-items:flex-start;gap:.75rem}.log-status-info{width:100%;flex-direction:column;align-items:flex-start}.details-grid,.availability-grid{grid-template-columns:1fr}}@media(max-width:640px){.renewal-logs-page{gap:1rem}.page-title{font-size:1.25rem}.renewal-stats-grid{grid-template-columns:1fr}.stat-card{padding:.875rem}.log-header{padding:.875rem 1rem}.log-details{padding:0 1rem 1rem}.error-message-box{flex-direction:column;padding:.75rem}.new-contract-badge{font-size:.6875rem;padding:.1875rem .5rem}}.log-header:focus-visible,.filter-btn:focus-visible,.refresh-btn:focus-visible{outline:2px solid #16a34a;outline-offset:2px}@media print{.renewal-logs-header,.renewal-filters,.refresh-btn{display:none}.log-item{page-break-inside:avoid}.log-details{display:block!important}}.searchable-select{position:relative;width:100%}.searchable-select-trigger{display:flex;align-items:center;justify-content:space-between;padding:.625rem .875rem;background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;cursor:pointer;transition:all .2s;min-height:42px}.searchable-select-trigger:hover{border-color:#3b82f6}.searchable-select-trigger.open{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.searchable-select-trigger .placeholder{color:#9ca3af;font-size:.875rem}.searchable-select-trigger .selected{color:#1f2937;font-size:.875rem;font-weight:500}.searchable-select-icons{display:flex;align-items:center;gap:.5rem}.searchable-select-icons .clear-icon{color:#6b7280;cursor:pointer;transition:color .2s}.searchable-select-icons .clear-icon:hover{color:#ef4444}.searchable-select-icons .chevron-icon{color:#6b7280;transition:transform .2s}.searchable-select-icons .chevron-icon.rotate{transform:rotate(180deg)}.searchable-select-dropdown{position:absolute;top:calc(100% + .25rem);left:0;right:0;background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;z-index:1000;max-height:320px;display:flex;flex-direction:column;overflow:hidden}.searchable-select-search{display:flex;align-items:center;gap:.5rem;padding:.75rem;border-bottom:1px solid #e5e7eb;background:#f9fafb}.searchable-select-search svg{color:#6b7280;flex-shrink:0}.searchable-select-search input{flex:1;border:none;outline:none;background:transparent;font-size:.875rem;color:#1f2937}.searchable-select-search input::placeholder{color:#9ca3af}.searchable-select-options{overflow-y:auto;max-height:260px}.searchable-select-option{padding:.625rem .875rem;cursor:pointer;font-size:.875rem;color:#1f2937;transition:background-color .15s}.searchable-select-option:hover{background-color:#f3f4f6}.searchable-select-option.selected{background-color:#dbeafe;color:#1e40af;font-weight:500}.searchable-select-empty{padding:1.5rem;text-align:center;color:#9ca3af;font-size:.875rem}.searchable-select-options::-webkit-scrollbar{width:6px}.searchable-select-options::-webkit-scrollbar-track{background:#f9fafb}.searchable-select-options::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.searchable-select-options::-webkit-scrollbar-thumb:hover{background:#9ca3af}select{appearance:none;-webkit-appearance:none;-moz-appearance:none}.billing-statistics-page{padding:2rem;background:var(--background, #f5f7fa);min-height:100vh}.billing-statistics-header{background:var(--surface, #ffffff);border-radius:12px;padding:2rem;margin-bottom:2rem;box-shadow:0 1px 3px #0000001a;display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1.5rem}.billing-statistics-title{display:flex;align-items:center;gap:.75rem;font-size:1.75rem;font-weight:700;color:var(--text-primary, #1a202c);margin:0 0 .5rem}.billing-statistics-description{color:var(--text-secondary, #64748b);font-size:.9375rem;margin:0}.period-selector{display:flex;align-items:center;gap:.75rem}.period-label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;color:var(--text-primary, #1a202c);white-space:nowrap}.stats-overview-grid{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:1.5rem;margin-bottom:2rem}.stat-card{background:var(--surface, #ffffff);border-radius:12px;padding:1.5rem;display:flex;align-items:center;gap:1.25rem;box-shadow:0 1px 3px #0000001a;border:1px solid var(--border-color, #e2e8f0);transition:transform .2s,box-shadow .2s}.stat-card.large{padding:2rem}.stat-icon{width:56px;height:56px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon.revenue{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.stat-icon.monthly{background:#dbeafe;color:#1e40af}.stat-icon.yearly{background:#d1fae5;color:#065f46}.stat-icon.partners{background:#fef3c7;color:#92400e}.stat-label{font-size:.875rem;color:var(--text-secondary, #64748b);font-weight:500;text-transform:uppercase;letter-spacing:.025em;margin-bottom:.5rem}.stat-value{font-size:1.875rem;font-weight:700;color:var(--text-primary, #1a202c);margin-bottom:.25rem}.stat-value.large{font-size:2.5rem}.stat-sublabel{font-size:.875rem;color:var(--text-secondary, #64748b)}.stat-change{display:flex;align-items:center;gap:.375rem;font-size:.875rem;font-weight:600;margin-top:.5rem}.stat-change.positive{color:#10b981}.stat-change.negative{color:#ef4444}.revenue-breakdown-section{background:var(--surface, #ffffff);border-radius:12px;padding:2rem;margin-bottom:2rem;box-shadow:0 1px 3px #0000001a;border:1px solid var(--border-color, #e2e8f0)}.section-title{font-size:1.25rem;font-weight:600;color:var(--text-primary, #1a202c);margin:0 0 1.5rem}.revenue-breakdown-grid{display:grid;gap:1.5rem}.breakdown-card{display:flex;flex-direction:column;gap:.75rem}.breakdown-header{display:flex;justify-content:space-between;align-items:center}.breakdown-label{font-size:.875rem;font-weight:500;color:var(--text-secondary, #64748b)}.breakdown-amount{font-size:1.125rem;font-weight:600;color:var(--text-primary, #1a202c)}.breakdown-bar{height:12px;background:var(--surface-secondary, #f1f5f9);border-radius:6px;overflow:hidden}.breakdown-fill{height:100%;border-radius:6px;transition:width .5s ease}.paid-fill{background:linear-gradient(90deg,#10b981,#059669)}.pending-fill{background:linear-gradient(90deg,#f59e0b,#d97706)}.overdue-fill{background:linear-gradient(90deg,#ef4444,#dc2626)}.monthly-revenue-section{background:var(--surface, #ffffff);border-radius:12px;padding:2rem;margin-bottom:2rem;box-shadow:0 1px 3px #0000001a;border:1px solid var(--border-color, #e2e8f0)}.revenue-chart{display:flex;align-items:flex-end;justify-content:space-between;gap:.5rem;height:280px;padding:1rem 0;margin-bottom:1rem}.chart-bar-container{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end}.chart-bar-wrapper{display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end}.chart-bar{width:100%;max-width:60px;background:linear-gradient(180deg,#e0e7ff,#c7d2fe);border-radius:6px 6px 0 0;position:relative;transition:all .3s ease;cursor:pointer;min-height:20px}.chart-bar:hover{opacity:.8;transform:scaleY(1.02)}.chart-bar-paid{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(180deg,#a5b4fc,#818cf8);border-radius:6px 6px 0 0;transition:height .5s ease}.chart-bar-label{margin-top:.5rem;font-size:.75rem;color:var(--text-secondary, #64748b);font-weight:500;text-align:center;white-space:nowrap}.chart-bar-value{margin-top:.25rem;font-size:.75rem;color:var(--text-primary, #1a202c);font-weight:600;text-align:center}.chart-legend{display:flex;justify-content:center;gap:2rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-color, #e2e8f0)}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-secondary, #64748b)}.legend-color{width:12px;height:12px;border-radius:3px}.legend-color.paid{background:linear-gradient(135deg,#a5b4fc,#818cf8)}.legend-color.pending{background:linear-gradient(135deg,#e0e7ff,#c7d2fe)}.dashboard-two-column{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:2rem}.dashboard-card{background:var(--surface, #ffffff);border-radius:12px;padding:2rem;box-shadow:0 1px 3px #0000001a;border:1px solid var(--border-color, #e2e8f0)}.dashboard-card.alert{border-left:4px solid #f59e0b}.card-title{font-size:1.125rem;font-weight:600;color:var(--text-primary, #1a202c);margin:0 0 1.5rem;display:flex;align-items:center;gap:.5rem}.top-partners-list{display:flex;flex-direction:column;gap:1rem}.top-partner-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--surface-secondary, #f8fafc);border-radius:8px;transition:all .2s}.top-partner-item:hover{background:var(--hover-bg, #f1f5f9);transform:translate(4px)}.partner-rank{font-size:1.25rem;font-weight:700;color:var(--text-secondary, #64748b);min-width:40px;text-align:center}.partner-info{flex:1}.partner-name{font-weight:600;color:var(--text-primary, #1a202c);margin-bottom:.25rem}.partner-stats{font-size:.8125rem;color:var(--text-secondary, #64748b)}.partner-revenue{font-size:1.125rem;font-weight:700;color:var(--primary, #3b82f6)}.over-limit-list{display:flex;flex-direction:column;gap:1rem}.over-limit-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#fef3c7;border:1px solid #fde68a;border-radius:8px;transition:all .2s}.over-limit-item:hover{background:#fde68a}.overage-badge{display:inline-flex;padding:.125rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;background:#fee2e2;color:#991b1b;margin-left:.5rem}.since-date{font-size:.8125rem;color:var(--text-secondary, #64748b);white-space:nowrap}.empty-state-small{padding:2rem;text-align:center}.empty-state-small p{color:var(--text-secondary, #64748b);margin:0}.recent-activity-table{overflow-x:auto}.recent-activity-table table{width:100%;border-collapse:collapse}.recent-activity-table thead{background:var(--surface-secondary, #f8fafc);border-bottom:2px solid var(--border-color, #e2e8f0)}.recent-activity-table th{padding:.875rem 1rem;text-align:left;font-size:.75rem;font-weight:600;color:var(--text-secondary, #64748b);text-transform:uppercase;letter-spacing:.05em}.recent-activity-table td{padding:1rem;border-bottom:1px solid var(--border-color, #e2e8f0);font-size:.875rem;color:var(--text-primary, #1a202c)}.recent-activity-table tbody tr{transition:background-color .15s}.recent-activity-table tbody tr:hover{background:var(--hover-bg, #f8fafc)}.recent-activity-table tbody tr:last-child td{border-bottom:none}.recent-activity-table .invoice-number{font-weight:600;color:var(--primary, #3b82f6)}.recent-activity-table .amount{font-weight:600}.status-badge{display:inline-flex;padding:.25rem .75rem;border-radius:4px;font-size:.75rem;font-weight:500;text-transform:capitalize}.additional-metrics-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:2rem}.metric-card{background:var(--surface, #ffffff);border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px #0000001a;border:1px solid var(--border-color, #e2e8f0);text-align:center}.metric-label{font-size:.875rem;color:var(--text-secondary, #64748b);font-weight:500;margin-bottom:.5rem}.metric-value{font-size:1.75rem;font-weight:700;color:var(--text-primary, #1a202c)}.metric-value.alert-value{color:#f59e0b}.billing-statistics-loading{display:flex;align-items:center;justify-content:center;min-height:400px;font-size:1.125rem;color:var(--text-secondary, #64748b)}@media(max-width:1400px){.stats-overview-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:1024px){.stats-overview-grid,.dashboard-two-column,.additional-metrics-grid{grid-template-columns:1fr}.revenue-chart{height:200px;gap:.25rem}.chart-bar{max-width:40px}}@media(max-width:768px){.billing-statistics-page{padding:1rem}.billing-statistics-header{padding:1.5rem;flex-direction:column}.period-selector{width:100%}.revenue-chart{overflow-x:auto;padding-bottom:1rem}.chart-bar-value{display:none}.recent-activity-table{overflow-x:auto}.recent-activity-table table{min-width:600px}}.confirmation-content{display:flex;flex-direction:column;gap:1.5rem;padding:1.5rem}.confirmation-warning{display:flex;gap:1rem;padding:1rem 1.25rem;background:#fef3c7;border-left:4px solid #f59e0b;border-radius:.375rem;align-items:flex-start}.warning-text h3{margin:0 0 .375rem;font-size:.9375rem;font-weight:600;color:#92400e}.warning-text p{margin:0;font-size:.875rem;color:#78350f;line-height:1.5}.contract-summary{display:flex;flex-direction:column;gap:1.25rem}.summary-section{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;padding:0;overflow:hidden}.summary-section h5{margin:0;padding:.875rem 1.25rem;font-size:.8125rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;background:#f9fafb;border-bottom:1px solid #e5e7eb}.summary-section>div:not(.summary-section h5){padding:1.25rem}.summary-item{display:grid;grid-template-columns:140px 1fr;gap:1rem;padding:.625rem 0;align-items:baseline}.summary-item:not(:last-child){border-bottom:1px solid #f3f4f6}.summary-value{font-size:.9375rem;color:#111827;font-weight:600;word-break:break-word}.summary-value.cost{color:#16a34a;font-size:1.125rem;font-weight:700}.confirmation-actions{display:flex;gap:.75rem;justify-content:flex-end;padding-top:1.5rem;margin-top:.5rem;border-top:1px solid #e5e7eb}.confirmation-actions .btn-secondary{min-width:120px}.confirmation-actions .btn-primary{min-width:180px}.availability-check{margin:1rem 0}.availability-loading{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;font-size:.875rem;color:#6b7280}.availability-status{border-radius:.5rem;padding:1rem;border:1px solid}.availability-status.available{background:#f0fdf4;border-color:#86efac}.availability-status.unavailable{background:#fef2f2;border-color:#fca5a5}.availability-success,.availability-error{display:flex;gap:.75rem;align-items:flex-start}.availability-success svg{color:#16a34a;flex-shrink:0;margin-top:.125rem}.availability-error svg{color:#dc2626;flex-shrink:0;margin-top:.125rem}.availability-details{flex:1}.availability-details p{margin:0 0 .25rem;font-size:.875rem;line-height:1.5}.availability-details p:last-child{margin-bottom:0}.availability-success .availability-details p{color:#166534}.availability-error .availability-details p{color:#991b1b}.availability-details strong{font-weight:600}.form-help-text{display:block;margin-top:.25rem;font-size:.75rem;color:#6b7280;line-height:1.4}.loading-spinner-small{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite;margin-right:.5rem}@media(max-width:768px){.confirmation-content{padding:1.25rem}.confirmation-warning{padding:1rem}.summary-item{grid-template-columns:1fr;gap:.375rem;padding:.75rem 0}.summary-value{padding-left:0}.summary-section h5{padding:.75rem 1rem;font-size:.75rem}.summary-section>div:not(.summary-section h5){padding:1rem}.confirmation-actions{flex-direction:column-reverse;padding-top:1.25rem}.confirmation-actions button{width:100%;min-width:unset}}@media(max-width:480px){.confirmation-content{padding:1rem;gap:1rem}.warning-text h3{font-size:.875rem}.warning-text p{font-size:.8125rem}.confirmation-warning{padding:.875rem}.confirmation-actions{padding-top:1rem}}.bookings-page{padding:20px;max-width:1400px;margin:0 auto}.bookings-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;flex-wrap:wrap;gap:16px}.bookings-header-content h1{display:flex;align-items:center;gap:8px;margin:0 0 8px}.bookings-header-content p{color:#6b7280;margin:0}.bookings-controls{display:flex;gap:12px;flex-wrap:wrap}.partner-booking-btn{background-color:#16a34a;color:#fff;padding:8px 16px;border:none;border-radius:6px;cursor:pointer;display:flex;align-items:center;gap:6px;font-weight:500}.partner-booking-btn:hover{background-color:#15803d}.view-selector{display:flex;border:1px solid #e5e7eb;border-radius:6px;overflow:hidden}.view-btn{padding:8px 16px;background:#fff;border:none;cursor:pointer;border-right:1px solid #e5e7eb}.view-btn:last-child{border-right:none}.view-btn.active{background-color:#16a34a;color:#fff}.today-btn,.filter-btn{padding:8px 16px;background:#fff;border:1px solid #e5e7eb;border-radius:6px;cursor:pointer;display:flex;align-items:center;gap:6px}.today-btn:hover,.filter-btn:hover{background-color:#f9fafb}.filters-panel{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:16px;margin-bottom:20px}.filters-row{display:flex;gap:16px;flex-wrap:wrap;align-items:flex-end}.filter-group{display:flex;flex-direction:column;gap:6px;flex:1;min-width:200px}.filter-group label{font-weight:500;font-size:14px}.filter-group select{padding:8px;border:1px solid #e5e7eb;border-radius:6px}.clear-filters-btn{padding:8px 16px;background:#ef4444;color:#fff;border:none;border-radius:6px;cursor:pointer}.calendar-navigation{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.nav-btn{background:#fff;border:1px solid #e5e7eb;padding:8px 12px;border-radius:6px;cursor:pointer}.nav-btn:hover{background-color:#f9fafb}.calendar-title{font-size:24px;font-weight:600;margin:0}.calendar-month{background:#fff;border-radius:8px;overflow:hidden;border:1px solid #e5e7eb}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);background-color:#f3f4f6;border-bottom:1px solid #e5e7eb}.calendar-weekday{padding:12px;text-align:center;font-weight:600;color:#374151;text-transform:uppercase;font-size:12px}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:0;background-color:#e5e7eb}.calendar-day{background-color:#fff;min-height:120px;max-height:120px;padding:8px;cursor:pointer;transition:background-color .2s;display:flex;flex-direction:column;overflow:hidden;position:relative;border:1px solid #e5e7eb}.calendar-day:hover{background-color:#f9fafb}.calendar-day.other-month{background-color:#f9fafb;opacity:.6}.calendar-day.today{background-color:#dbeafe;border:2px solid #3b82f6}.calendar-day-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:4px;flex-shrink:0}.calendar-day-number{font-weight:600;color:#374151}.calendar-day-bookings{display:flex;flex-direction:column;gap:2px;overflow:hidden;flex:1;min-height:0}.calendar-booking-item{padding:4px 8px;border-radius:4px;margin-bottom:2px;font-size:11px;color:#fff;cursor:pointer;transition:opacity .2s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex-shrink:0}.calendar-booking-item:hover{opacity:.8}.booking-title{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}.booking-entries-badge{display:none}.calendar-more-bookings{font-size:11px;color:#6b7280;padding:2px 8px}.calendar-day.location-closed{background-color:#fee2e2!important;position:relative}.closure-badge{font-size:14px;padding:2px 6px;border-radius:4px;background-color:#fffffff2;display:flex;align-items:center;gap:2px;font-weight:700;z-index:10}.closure-badge.full-closure{border:2px solid #ef4444;box-shadow:0 2px 4px #0000001a}.closure-badge.partial-closure{border:2px solid #f59e0b;font-size:11px;box-shadow:0 2px 4px #0000001a}.closure-overlay{position:absolute;inset:0;background-color:#ef444426;display:flex;align-items:center;justify-content:center;padding:8px;pointer-events:none;z-index:5}.closure-message{font-size:11px;color:#991b1b;text-align:center;font-weight:600;background-color:#fffffff2;padding:6px 8px;border-radius:4px;border:1px solid #ef4444;max-width:100%;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.closure-alert{background-color:#fef3c7;border:2px solid #f59e0b;border-radius:8px;padding:16px;margin-bottom:20px;display:flex;gap:12px}.closure-alert.location-closure-alert{background-color:#fee2e2;border-color:#ef4444}.closure-alert.partial-closure-alert{background-color:#fef3c7;border-color:#f59e0b}.closure-alert-icon{font-size:32px;flex-shrink:0}.closure-alert-content{flex:1}.closure-alert-content h4{margin:0 0 8px;color:#991b1b;font-size:18px;font-weight:700}.closure-alert.partial-closure-alert h4{color:#92400e}.closure-alert-content p{margin:4px 0;color:#7c2d12;font-size:14px}.closure-location{font-weight:600;margin-top:8px;font-size:14px}.closure-list{display:flex;flex-direction:column;gap:8px;margin-top:8px}.closure-item{display:flex;align-items:center;gap:8px;font-size:14px;background:#ffffff80;padding:8px;border-radius:4px}.closure-scope-badge{padding:4px 12px;border-radius:4px;color:#fff;font-size:12px;font-weight:600;text-transform:uppercase}.closure-reason{color:#92400e;flex:1;font-weight:500}.calendar-week-day-header.has-closure{background-color:#fee2e2!important}.week-closure-indicator{font-size:18px;margin-top:4px}.week-closure-indicator.partial{font-size:14px}.calendar-week-day.location-closed{background-color:#fee2e2!important}.week-closure-message{padding:16px;text-align:center;color:#991b1b;font-weight:600;background-color:#fee2e2b3;border-radius:8px;margin:8px;border:2px solid #ef4444}.calendar-week{background:#fff;border-radius:8px;overflow:hidden;border:1px solid #e5e7eb}.calendar-week-header{display:grid;grid-template-columns:repeat(7,1fr);background-color:#f3f4f6;border-bottom:1px solid #e5e7eb}.calendar-week-day-header{padding:12px;text-align:center;border-right:1px solid #e5e7eb}.calendar-week-day-header:last-child{border-right:none}.calendar-week-day-header.today{background-color:#dbeafe}.week-day-name{font-weight:600;text-transform:uppercase;font-size:12px;color:#6b7280}.week-day-number{font-size:20px;font-weight:600;margin-top:4px}.calendar-week-content{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-week-day{min-height:200px;padding:12px;border-right:1px solid #e5e7eb;cursor:pointer}.calendar-week-day:last-child{border-right:none}.calendar-week-day:hover{background-color:#f9fafb}.calendar-week-day.today{background-color:#dbeafe}.week-day-bookings{display:flex;flex-direction:column;gap:8px}.week-booking-item{padding:8px;border-radius:4px;color:#fff;cursor:pointer}.week-booking-item:hover{opacity:.9}.week-booking-title{font-weight:600;font-size:13px;margin-bottom:4px}.week-booking-resource{font-size:11px;opacity:.9}.week-booking-entries{font-size:11px;margin-top:4px;font-weight:600}.customer-day-view,.calendar-day-view{background:#fff;border-radius:8px;padding:24px}.day-view-header{margin-bottom:24px;border-bottom:2px solid #e5e7eb;padding-bottom:16px}.day-view-header h2{margin:0 0 8px}.day-view-header p{color:#6b7280;margin:0}.day-no-bookings{text-align:center;padding:60px 20px;color:#9ca3af}.empty-icon{margin-bottom:16px;color:#d1d5db}.customer-section{margin-bottom:32px}.section-title{display:flex;align-items:center;gap:8px;margin-bottom:16px;font-size:18px;font-weight:600}.customer-cards{display:grid;gap:16px}.customer-booking-card{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;background:#fff}.card-header{display:flex;align-items:flex-start;gap:12px;padding:16px;background:#f9fafb;border-bottom:1px solid #e5e7eb}.card-color-bar{width:4px;height:40px;border-radius:2px;flex-shrink:0}.card-title-section h4{margin:0 0 6px;font-size:16px}.service-type-badge{background:#16a34a;color:#fff;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase}.service-type-badge.package-badge{background:#f59e0b}.card-section{padding:16px;border-bottom:1px solid #f3f4f6}.card-section:last-child{border-bottom:none}.card-section-title{font-size:14px;font-weight:600;color:#6b7280;margin:0 0 12px}.detail-row{display:flex;justify-content:space-between;padding:8px 0}.detail-label{color:#6b7280;font-size:14px}.detail-value{font-weight:500;font-size:14px}.status-row{display:flex;align-items:center;gap:8px;padding:8px 0}.days-remaining{font-weight:600;color:#16a34a}.days-remaining.warning{color:#f59e0b}.entries-progress-bar{height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden;margin-bottom:8px}.entries-progress-fill{height:100%;transition:width .3s}.card-actions{padding:16px;display:flex;gap:12px}.action-button{padding:8px 16px;border-radius:6px;border:none;cursor:pointer;display:flex;align-items:center;gap:6px;font-weight:500}.action-button.primary{background:#16a34a;color:#fff}.action-button.primary:hover{background:#15803d}.calendar-legend{margin-top:24px;padding:16px;background:#fff;border-radius:8px;border:1px solid #e5e7eb}.calendar-legend h4{margin:0 0 12px}.legend-items{display:flex;gap:20px;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:8px}.legend-color{width:20px;height:20px;border-radius:4px}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:12px;max-width:600px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e5e7eb}.modal-header h2{margin:0;font-size:20px}.modal-close{background:none;border:none;font-size:28px;cursor:pointer;color:#6b7280;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.modal-close:hover{color:#374151}.modal-body{padding:20px}.booking-detail-section{margin-bottom:24px}.booking-detail-section:last-child{margin-bottom:0}.booking-detail-section h3{font-size:16px;font-weight:600;margin:0 0 12px;color:#374151;border-bottom:2px solid #e5e7eb;padding-bottom:8px}.modal-footer{padding:16px 20px;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;gap:12px}.btn-secondary{padding:8px 16px;background:#6b7280;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:500}.btn-secondary:hover{background:#4b5563}.bookings-loading{text-align:center;padding:40px;font-size:18px;color:#6b7280}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px 24px;border-top:1px solid #e5e7eb;background-color:#f9fafb}.btn-danger{padding:10px 20px;background-color:#ef4444;color:#fff;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:8px}.btn-danger:hover:not(:disabled){background-color:#dc2626;transform:translateY(-1px);box-shadow:0 4px 6px #ef444433}.btn-danger:disabled{opacity:.5;cursor:not-allowed;background-color:#ef4444;color:#fff}.btn-secondary{padding:10px 20px;background-color:#6b7280;color:#fff;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:all .2s}.btn-secondary:hover:not(:disabled){background-color:#4b5563}.modal-footer .btn-danger{padding:10px 20px;background-color:#ef4444!important;color:#fff!important;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:8px}.modal-footer .btn-danger:hover:not(:disabled){background-color:#dc2626!important;color:#fff!important;transform:translateY(-1px);box-shadow:0 4px 6px #ef444433}.modal-footer .btn-danger:disabled{opacity:.5;cursor:not-allowed;background-color:#ef4444!important;color:#fff!important}.contracts-table-cell.actions-cell{min-width:120px!important;width:auto;padding:.5rem .25rem!important;white-space:nowrap;position:relative;overflow:visible!important}.contract-actions{display:flex;align-items:center;gap:.375rem;position:relative;justify-content:flex-start}.actions-dropdown{position:relative}.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}.dropdown-trigger{background-color:#6b7280!important;color:#fff!important;display:flex;align-items:center;gap:.125rem;position:relative;z-index:100!important}.dropdown-trigger:hover:not(:disabled){background-color:#4b5563!important}.dropdown-backdrop{position:fixed!important;inset:0!important;z-index:999998!important;background:transparent;pointer-events:auto!important}.dropdown-menu{position:fixed!important;background:#fff;border:1px solid #e5e7eb;border-radius:.375rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;z-index:999999!important;width:200px;max-height:300px;overflow-y:auto;overflow-x:visible;pointer-events:auto!important}.dropdown-menu.dropdown-bottom{margin-top:.25rem;animation:dropdownSlideDown .15s ease-out}.dropdown-menu.dropdown-top{margin-bottom:.25rem;animation:dropdownSlideUp .15s ease-out}.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;pointer-events:auto!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}@keyframes dropdownSlideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes dropdownSlideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.loading-spinner-small{width:14px;height:14px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}@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{width:150px}.dropdown-item{padding:.5rem .75rem!important;font-size:.8125rem!important}}@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{width:140px}}.action-btn svg,.dropdown-item svg{flex-shrink:0}.contracts-table-row,.contracts-table-cell{position:relative}.contracts-table-cell.actions-cell{min-width:120px!important;width:auto;padding:.5rem .25rem!important;white-space:nowrap;position:relative!important;overflow:visible!important}.dropdown-trigger{background-color:#6b7280!important;color:#fff!important;display:flex;align-items:center;gap:.125rem;position:relative!important}.service-details{margin-top:1rem}.service-info-display{padding:1rem;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem}.service-detail-item{display:flex;justify-content:space-between;align-items:flex-start;padding:.5rem 0;border-bottom:1px solid #e5e7eb;font-size:.875rem}.service-detail-item:last-child{border-bottom:none}.service-detail-item .detail-label{font-weight:600;color:#374151;min-width:120px}.service-detail-item .detail-value{color:#111827;text-align:right;flex:1}.file-upload-area{border:2px dashed #d1d5db;border-radius:.5rem;padding:1.5rem;text-align:center;background-color:#f9fafb;transition:all .2s}.file-upload-area:hover{border-color:#16a34a;background-color:#f0fdf4}.file-upload-label{display:flex;flex-direction:column;align-items:center;gap:.75rem;cursor:pointer;color:#374151;font-weight:500}.file-upload-label:hover{color:#16a34a}.file-upload-label svg{color:#16a34a}.file-upload-label span{font-size:.9375rem}.file-upload-hint{display:block;margin-top:.75rem;font-size:.8125rem;color:#6b7280}.file-upload-area:hover .file-upload-hint{color:#16a34a}.validation-info{margin-top:.5rem;padding:.75rem;border-radius:.375rem;font-size:.875rem;font-weight:500}.validation-info.success{background-color:#d1fae5;border:1px solid #6ee7b7}.validation-info.error{background-color:#fee2e2;border:1px solid #fca5a5}.validation-success{color:#065f46;display:flex;align-items:center;gap:.5rem}.validation-error{color:#991b1b;display:flex;align-items:center;gap:.5rem}.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}}.logs-page{display:flex;flex-direction:column;gap:2rem}.logs-header{display:flex;flex-direction:column;gap:1rem}.logs-header-content{flex:1}.logs-title{display:flex;align-items:center;font-size:1.25rem;font-weight:600;color:#111827;margin:0 0 .5rem}.logs-description{font-size:.875rem;color:#374151;margin:0}.logs-loading{text-align:center;padding:2rem;color:#6b7280}.logs-unauthorized{text-align:center;padding:3rem;color:#6b7280}.logs-unauthorized h1{color:#dc2626;margin-bottom:1rem}.logs-partner-selector{padding:1.5rem;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;margin-bottom:1rem}.logs-filters{padding:1.5rem;background-color:#fff;border:1px solid #e5e7eb;border-radius:.5rem;box-shadow:0 1px 3px #0000001a}.filters-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #e5e7eb}.filters-title{display:flex;align-items:center;font-size:1rem;font-weight:600;color:#111827}.clear-filters-btn{padding:.375rem .75rem;background-color:#fff;color:#6b7280;border:1px solid #d1d5db;border-radius:.375rem;font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .2s}.clear-filters-btn:hover{background-color:#f9fafb;border-color:#9ca3af}.filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.filter-group{display:flex;flex-direction:column}.filter-label{display:flex;align-items:center;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.375rem}.filter-input,.filter-select{width:100%;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;color:#111827;background-color:#fff;transition:border-color .2s,box-shadow .2s}.filter-input:focus,.filter-select: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}.logs-pagination-controls{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 3px #0000001a;gap:1rem}.pagination-left{display:flex;align-items:center;gap:1.5rem;flex:1}.pagination-right{display:flex;align-items:center;gap:.75rem}.rows-per-page .filter-label{margin-bottom:0;white-space:nowrap}.rows-per-page .filter-select{width:80px}.pagination-info{font-size:.875rem;color:#6b7280;font-weight:500;white-space:nowrap}.pagination-page-info{font-size:.875rem;color:#6b7280;font-weight:500;padding:0 .5rem}.pagination-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:#fff;color:#374151;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.logs-table-container{margin-top:1.5rem;display:flex;flex-direction:column}.logs-table-wrapper{overflow-x:auto;box-shadow:0 1px 3px #0000001a;border:1px solid rgba(0,0,0,.05);border-radius:.5rem}.logs-table{min-width:100%;border-collapse:collapse;border-spacing:0}.logs-table-head{background-color:#f9fafb}.logs-table-header{padding:.75rem 1rem;text-align:left;font-size:.75rem;font-weight:500;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.logs-table-body{background-color:#fff;border-top:1px solid #e5e7eb}.logs-table-row{border-bottom:1px solid #e5e7eb;transition:background-color .2s ease}.logs-table-row:hover{background-color:#f9fafb}.logs-table-cell{padding:1rem;font-size:.875rem;color:#111827;vertical-align:top}.log-datetime{font-size:.8125rem;color:#374151;white-space:nowrap}.log-user{display:flex;flex-direction:column;gap:.125rem}.user-name{font-weight:500;color:#111827}.user-email{font-size:.75rem;color:#6b7280}.log-entity{font-size:.8125rem;color:#374151}.log-description{font-size:.8125rem;color:#6b7280;line-height:1.4;max-width:300px}.category-badge{display:inline-flex;padding:.125rem .5rem;font-size:.6875rem;font-weight:600;border-radius:9999px;text-transform:uppercase;letter-spacing:.05em}.category-auth{background-color:#dbeafe;color:#1e40af}.category-contract{background-color:#fef3c7;color:#92400e}.category-customer{background-color:#e0e7ff;color:#4338ca}.category-booking{background-color:#fce7f3;color:#9f1239}.category-service{background-color:#dcfce7;color:#166534}.category-location{background-color:#fef9c3;color:#854d0e}.category-resource{background-color:#f3e8ff;color:#6b21a8}.category-payment{background-color:#d1fae5;color:#065f46}.category-system{background-color:#e5e7eb;color:#374151}.category-default{background-color:#f3f4f6;color:#6b7280}.action-badge{display:inline-flex;padding:.125rem .5rem;font-size:.6875rem;font-weight:600;border-radius:9999px;text-transform:uppercase;letter-spacing:.05em}.action-create{background-color:#d1fae5;color:#065f46}.action-update{background-color:#dbeafe;color:#1e40af}.action-delete{background-color:#fee2e2;color:#991b1b}.action-login{background-color:#dcfce7;color:#166534}.action-logout{background-color:#e5e7eb;color:#374151}.action-view{background-color:#e0e7ff;color:#4338ca}.action-export{background-color:#fef3c7;color:#92400e}.action-import{background-color:#fce7f3;color:#9f1239}.action-approve{background-color:#d1fae5;color:#065f46}.action-reject{background-color:#fee2e2;color:#991b1b}.action-cancel{background-color:#fef3c7;color:#92400e}.action-activate{background-color:#dcfce7;color:#166534}.action-deactivate{background-color:#fecaca;color:#991b1b}.action-default{background-color:#f3f4f6;color:#6b7280}.view-details-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-details-btn:hover{background-color:#dcfce7;color:#15803d}.view-details-btn:focus{outline:2px solid #22c55e;outline-offset:2px}.logs-empty{text-align:center;padding:3rem;color:#6b7280}.logs-empty p{margin:0;font-size:.875rem}.log-detail-modal{max-width:48rem;max-height:90vh}.log-detail-content{padding:1.5rem;max-height:60vh;overflow-y:auto}.detail-section{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid #e5e7eb}.detail-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.detail-section-title{font-size:1rem;font-weight:600;color:#111827;margin:0 0 1rem}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.detail-item{display:flex;flex-direction:column;gap:.25rem}.detail-label{font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.detail-value{font-size:.875rem;color:#111827;word-break:break-word}.detail-description{font-size:.875rem;color:#374151;line-height:1.6;padding:1rem;background-color:#f9fafb;border-radius:.375rem;border-left:4px solid #16a34a}.metadata-json{font-family:Courier New,Courier,monospace;font-size:.8125rem;color:#374151;background-color:#f9fafb;padding:1rem;border:1px solid #e5e7eb;border-radius:.375rem;overflow-x:auto;line-height:1.5;margin:0}.log-detail-actions{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid #e5e7eb}@media(max-width:1024px){.filters-grid{grid-template-columns:repeat(2,1fr)}.detail-grid{grid-template-columns:1fr}.logs-pagination-controls{flex-direction:column;align-items:stretch}.pagination-left,.pagination-right{justify-content:space-between;width:100%}}@media(max-width:768px){.logs-table-cell,.logs-table-header{padding:.75rem .5rem;font-size:.8125rem}.log-description{max-width:200px}.filters-grid{grid-template-columns:1fr}.pagination-left{flex-direction:column;align-items:stretch;gap:.75rem}.pagination-right{flex-wrap:wrap;justify-content:space-between}.pagination-btn{flex:1;min-width:100px;justify-content:center}}@media(max-width:640px){.logs-page{gap:1.5rem}.logs-filters{padding:1rem}.log-detail-modal{max-width:90vw;margin:1rem}.log-detail-content,.logs-pagination-controls{padding:1rem}}.mr-1{margin-right:.25rem}.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}.notifications-page{padding:2rem;max-width:1400px;margin:0 auto}.notifications-header{margin-bottom:2rem}.notifications-header-content{display:flex;align-items:center;gap:1rem}.notifications-header-icon{color:#16a34a}.notifications-title{font-size:2rem;font-weight:700;color:#111827;margin:0}.notifications-subtitle{color:#6b7280;margin:.5rem 0 0}.notifications-tabs{display:flex;gap:.5rem;border-bottom:2px solid #e5e7eb;margin-bottom:2rem}.notifications-tab{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:none;border:none;border-bottom:2px solid transparent;color:#6b7280;font-weight:500;cursor:pointer;transition:all .2s;margin-bottom:-2px}.notifications-tab:hover{color:#16a34a;background:#f0fdf4}.notifications-tab.active{color:#16a34a;border-bottom-color:#16a34a}.notification-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.notification-modal{background:#fff;border-radius:12px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a}.notification-modal-preview-banner{background:#fef3c7;color:#92400e;padding:.75rem 1.5rem;text-align:center;font-weight:500;border-radius:12px 12px 0 0}.notification-modal-header{padding:1.5rem;border-bottom:1px solid #e5e7eb}.notification-modal-type{display:inline-block;padding:.25rem .75rem;border-radius:6px;color:#fff;font-size:.875rem;font-weight:600;margin-bottom:.75rem}.notification-modal-title{font-size:1.5rem;font-weight:700;color:#111827;margin:0}.notification-modal-body{padding:1.5rem}.notification-modal-content{color:#374151;line-height:1.6}.notification-modal-content h2{font-size:1.25rem;font-weight:600;margin:1rem 0 .5rem;color:#111827}.notification-modal-content p{margin:.5rem 0}.notification-modal-content a{color:#16a34a;text-decoration:underline}.notification-modal-content a:hover{color:#15803d}.notification-modal-footer{padding:1.5rem;border-top:1px solid #e5e7eb;display:flex;flex-direction:column;gap:1rem}.notification-modal-navigation{display:flex;align-items:center;justify-content:space-between;gap:1rem}.notification-modal-nav-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#f3f4f6;border:none;border-radius:6px;color:#374151;font-weight:500;cursor:pointer;transition:background .2s}.notification-modal-nav-btn:hover:not(:disabled){background:#e5e7eb}.notification-modal-nav-btn:disabled{opacity:.5;cursor:not-allowed}.notification-modal-counter{color:#6b7280;font-weight:500}.notification-modal-acknowledge-btn{width:100%;padding:.75rem;background:#16a34a;color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:background .2s;display:flex;align-items:center;justify-content:center;gap:.5rem}.notification-modal-acknowledge-btn:hover:not(:disabled){background:#15803d}.notification-modal-acknowledge-btn:disabled{opacity:.7;cursor:not-allowed}.notifications-list-container{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.notifications-list-filters{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.notifications-list-search{flex:1;min-width:250px;display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px}.notifications-list-search svg{color:#9ca3af}.notifications-search-input{flex:1;background:none;border:none;outline:none;font-size:.875rem}.notifications-list-filter-buttons{display:flex;gap:.5rem}.filter-btn{padding:.5rem 1rem;background:#fff;border:1px solid #e5e7eb;border-radius:6px;color:#6b7280;font-weight:500;cursor:pointer;transition:all .2s}.filter-btn:hover{border-color:#16a34a;color:#16a34a}.filter-btn.active{background:#16a34a;border-color:#16a34a;color:#fff}.notifications-type-filter{padding:.5rem 1rem;border:1px solid #e5e7eb;border-radius:6px;background:#fff;color:#374151;font-size:.875rem;cursor:pointer}.notifications-list-loading,.notifications-list-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;color:#6b7280}.notifications-list-empty svg{color:#d1d5db;margin-bottom:1rem}.notifications-list{display:flex;flex-direction:column;gap:.75rem}.notification-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .2s;position:relative}.notification-item:hover{background:#f3f4f6;border-color:#16a34a}.notification-item.unread{background:#f0fdf4;border-color:#16a34a}.notification-unread-dot{position:absolute;top:1rem;left:.5rem;width:8px;height:8px;background:#16a34a;border-radius:50%}.notification-item-icon{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.notification-item-content{flex:1;min-width:0}.notification-item-title{font-size:1rem;font-weight:600;color:#111827;margin:0 0 .25rem}.notification-item-meta{display:flex;align-items:center;gap:1rem;font-size:.875rem}.notification-item-type{font-weight:500}.notification-item-date{display:flex;align-items:center;gap:.25rem;color:#6b7280}.create-notification-container{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 1px 3px #0000001a}.create-notification-header{margin-bottom:2rem;border-bottom:1px solid #e5e7eb;padding-bottom:1rem}.create-notification-header h2{font-size:1.5rem;font-weight:700;color:#111827;margin:0 0 .5rem}.create-notification-header p{color:#6b7280;margin:0}.create-notification-form{display:flex;flex-direction:column;gap:1.5rem}.form-field{display:flex;flex-direction:column;gap:.5rem}.form-field label{display:flex;align-items:center;gap:.5rem;font-weight:600;color:#374151;font-size:.875rem}.form-input,.form-select,.form-textarea{padding:.75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;transition:border-color .2s}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:#16a34a}.form-field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-field-hint{font-size:.75rem;color:#6b7280;margin:0}.create-notification-actions{display:flex;justify-content:flex-end;gap:1rem;padding-top:1rem;border-top:1px solid #e5e7eb}.notification-editor-container{border:1px solid #d1d5db;border-radius:6px;overflow:hidden}.notification-editor-toolbar{display:flex;gap:.25rem;padding:.5rem;background:#f9fafb;border-bottom:1px solid #d1d5db}.toolbar-btn{padding:.5rem;background:#fff;border:1px solid #e5e7eb;border-radius:4px;color:#6b7280;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.toolbar-btn:hover{background:#f3f4f6;color:#16a34a;border-color:#16a34a}.toolbar-btn.active{background:#16a34a;color:#fff;border-color:#16a34a}.toolbar-divider{width:1px;background:#d1d5db;margin:0 .25rem}.notification-editor{min-height:200px;padding:1rem;font-size:.875rem;line-height:1.6;color:#374151;outline:none}.notification-preview{min-height:200px;padding:1rem;font-size:.875rem;line-height:1.6;color:#374151;background:#f9fafb}.recipient-selector{border:1px solid #d1d5db;border-radius:6px;overflow:hidden}.recipient-selector-filters{padding:1rem;background:#f9fafb;border-bottom:1px solid #d1d5db;display:flex;flex-wrap:wrap;gap:.75rem}.recipient-selector-search{flex:1;min-width:200px;display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#fff;border:1px solid #d1d5db;border-radius:4px}.recipient-search-input{flex:1;background:none;border:none;outline:none;font-size:.875rem}.recipient-filter-select{padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:4px;background:#fff;font-size:.875rem;cursor:pointer}.recipient-selector-actions{display:flex;gap:1rem}.btn-text{background:none;border:none;color:#16a34a;font-weight:500;cursor:pointer;font-size:.875rem}.btn-text:hover{color:#15803d;text-decoration:underline}.recipient-selector-list{max-height:400px;overflow-y:auto}.recipient-selector-empty{padding:2rem;text-align:center;color:#6b7280}.recipient-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid #e5e7eb;cursor:pointer;transition:background .2s}.recipient-item:hover{background:#f9fafb}.recipient-item:last-child{border-bottom:none}.recipient-checkbox{flex-shrink:0}.checkbox-checked{color:#16a34a}.checkbox-unchecked{color:#d1d5db}.recipient-info{flex:1}.recipient-name{font-weight:500;color:#111827;margin:0;font-size:.875rem}.recipient-email{color:#6b7280;margin:0;font-size:.75rem}.sent-notifications-container{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.sent-notifications-filters{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.sent-notifications-search{flex:1;min-width:250px;display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px}.sent-search-input{flex:1;background:none;border:none;outline:none;font-size:.875rem}.sent-notifications-filter-buttons{display:flex;gap:.5rem}.sent-notifications-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;color:#6b7280}.sent-notifications-empty svg{color:#d1d5db;margin-bottom:1rem}.sent-notifications-table{overflow-x:auto}.sent-notifications-table table{width:100%;border-collapse:collapse}.sent-notifications-table th{text-align:left;padding:.75rem;background:#f9fafb;color:#6b7280;font-weight:600;font-size:.75rem;text-transform:uppercase;border-bottom:2px solid #e5e7eb}.sent-notifications-table td{padding:1rem .75rem;border-bottom:1px solid #e5e7eb;font-size:.875rem}.notification-title-cell{font-weight:500;color:#111827}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase}.status-badge.draft{background:#fef3c7;color:#92400e}.status-badge.active{background:#d1fae5;color:#065f46}.status-badge.expired{background:#fee2e2;color:#991b1b}.status-badge.scheduled{background:#dbeafe;color:#1e40af}.notification-type-badge{display:inline-flex;align-items:center;gap:.25rem;color:#6b7280}.notification-dates-cell{color:#6b7280;white-space:nowrap}.date-range{display:flex;align-items:center;gap:.25rem}.notification-recipients-cell{text-align:center;font-weight:600;color:#16a34a}.notification-actions-cell{display:flex;gap:.5rem;justify-content:flex-end}.action-btn{padding:.5rem;background:#f3f4f6;border:none;border-radius:4px;color:#6b7280;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.action-btn:hover{background:#e5e7eb;color:#374151}.action-btn.publish{background:#16a34a;color:#fff;padding:.5rem 1rem}.action-btn.publish:hover{background:#15803d}.action-btn.delete{color:#dc2626}.action-btn.delete:hover{background:#fee2e2}.templates-container{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 1px 3px #0000001a}.templates-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.templates-header h2{font-size:1.5rem;font-weight:700;color:#111827;margin:0}.templates-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;color:#6b7280}.templates-empty svg{color:#d1d5db;margin-bottom:1rem}.templates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:24px;margin-top:24px}.template-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:24px;transition:all .2s ease;display:flex;flex-direction:column;min-height:200px}.template-card:hover{border-color:#16a34a;box-shadow:0 4px 12px #16a34a1a;transform:translateY(-2px)}.template-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.template-card-header h3{font-size:18px;font-weight:600;color:#111827;margin:0;line-height:1.4;word-break:break-word;flex:1}.template-badge{padding:4px 12px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;flex-shrink:0}.template-badge.superadmin{background:#dbeafe;color:#1e40af}.template-badge.partner{background:#dcfce7;color:#15803d}.template-description{color:#6b7280;font-size:14px;margin:0 0 16px;line-height:1.5;word-break:break-word}.template-meta{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.template-type{padding:6px 12px;background:#f3f4f6;border-radius:6px;font-size:13px;color:#374151;font-weight:500;white-space:nowrap}.template-actions{display:flex;gap:8px;justify-content:flex-end;padding-top:16px;border-top:1px solid #f3f4f6;margin-top:auto}.template-actions .action-btn{padding:8px 16px;border:1px solid #e5e7eb;background:#fff;border-radius:6px;font-size:14px;font-weight:500;color:#374151;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;gap:6px}.template-actions .action-btn:hover{background:#f9fafb;border-color:#d1d5db;color:#111827}.template-actions .action-btn:active{transform:scale(.98)}.template-actions .action-btn svg{width:16px;height:16px}.template-editor-container{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 1px 3px #0000001a}.template-editor-header h2{font-size:1.5rem;font-weight:700;color:#111827;margin:0 0 1.5rem}.template-editor-form{display:flex;flex-direction:column;gap:1.5rem}.template-variables-info{padding:1rem;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px}.template-variables-info h4{font-size:.875rem;font-weight:600;color:#166534;margin:0 0 .75rem}.variables-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.5rem}.variable-badge{display:flex;flex-direction:column;gap:.25rem}.variable-badge code{background:#dcfce7;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;color:#166534;font-weight:600}.variable-badge span{font-size:.75rem;color:#6b7280}.partner-notifications-container{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.partner-notifications-header{margin-bottom:1.5rem}.partner-notifications-header h2{font-size:1.5rem;font-weight:700;color:#111827;margin:0 0 .5rem}.partner-notifications-header p{color:#6b7280;margin:0}.partner-notifications-filters{display:flex;gap:1rem;margin-bottom:1.5rem}.partner-notifications-search{flex:1;display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px}.partner-search-input{flex:1;background:none;border:none;outline:none;font-size:.875rem}.partner-filter-select{padding:.5rem 1rem;border:1px solid #e5e7eb;border-radius:6px;background:#fff;font-size:.875rem;cursor:pointer}.partner-notifications-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;color:#6b7280}.partner-notifications-empty svg{color:#d1d5db;margin-bottom:1rem}.partner-notifications-table{overflow-x:auto}.partner-notifications-table table{width:100%;border-collapse:collapse}.partner-notifications-table th{text-align:left;padding:.75rem;background:#f9fafb;color:#6b7280;font-weight:600;font-size:.75rem;text-transform:uppercase;border-bottom:2px solid #e5e7eb}.partner-notifications-table td{padding:1rem .75rem;border-bottom:1px solid #e5e7eb;font-size:.875rem}.partner-name-cell{font-weight:600;color:#16a34a}.btn-primary{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#16a34a;color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:background .2s}.btn-primary:disabled{opacity:.7;cursor:not-allowed}.btn-secondary{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#fff;color:#374151;border:1px solid #d1d5db;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s}.btn-secondary:disabled{opacity:.7;cursor:not-allowed}.loading-spinner-small{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@media(max-width:768px){.notifications-tabs{overflow-x:auto}.form-field-row{grid-template-columns:1fr}.sent-notifications-table,.partner-notifications-table{font-size:.75rem}.templates-grid{grid-template-columns:1fr}.notification-modal{max-width:100%;margin:1rem}}.partner-billing-page{padding:2rem;background:var(--background, #f5f7fa);min-height:100vh}.partner-billing-header{background:var(--surface, #ffffff);border-radius:12px;padding:2rem;margin-bottom:2rem;box-shadow:0 1px 3px #0000001a}.partner-billing-header-content{margin-bottom:1.5rem}.partner-billing-title{display:flex;align-items:center;gap:.75rem;font-size:1.75rem;font-weight:700;color:var(--text-primary, #1a202c);margin:0 0 .5rem}.partner-billing-description{color:var(--text-secondary, #64748b);font-size:.9375rem;margin:0}.partner-billing-header-actions{display:flex;gap:1rem;flex-wrap:wrap}.partner-billing-header-actions button{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;border-radius:8px;font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .2s;border:1px solid transparent}.partner-billing-header-actions .btn-primary{background:#10b981;color:#fff;border:none}.partner-billing-header-actions .btn-primary:hover{background:#059669;transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.partner-billing-header-actions .btn-secondary{background:#fff;color:var(--text-primary, #1a202c);border:1px solid var(--border-color, #e2e8f0)}.partner-billing-header-actions .btn-secondary:hover{background:var(--surface-secondary, #f8fafc);border-color:var(--border-hover, #cbd5e1)}.last-execution-card{background:var(--surface, #ffffff);border-radius:12px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 1px 3px #0000001a;border:1px solid var(--border-color, #e2e8f0)}.last-execution-card .card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color, #e2e8f0)}.last-execution-card .card-header h3{font-size:1.125rem;font-weight:600;color:var(--text-primary, #1a202c);margin:0}.execution-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.5rem}.summary-item{display:flex;flex-direction:column;gap:.375rem}.summary-label{font-size:.8125rem;color:var(--text-secondary, #64748b);font-weight:500;text-transform:uppercase;letter-spacing:.025em}.summary-value{font-size:1.5rem;font-weight:700;color:var(--text-primary, #1a202c)}.summary-value.success{color:#10b981}.summary-value.error{color:#ef4444}.summary-badge{display:inline-flex;align-items:center;padding:.375rem .875rem;border-radius:6px;font-size:.875rem;font-weight:500;text-transform:capitalize;width:fit-content}.summary-badge.scheduled{background:#dbeafe;color:#1e40af}.summary-badge.manual{background:#e0e7ff;color:#4f46e5}.execution-history-section{background:var(--surface, #ffffff);border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px #0000001a;border:1px solid var(--border-color, #e2e8f0)}.execution-history-section h2{font-size:1.25rem;font-weight:600;color:var(--text-primary, #1a202c);margin:0 0 1.5rem}.execution-table-container{overflow-x:auto;margin:-1.5rem;margin-top:0}.execution-table{width:100%;border-collapse:collapse}.execution-table thead{background:var(--surface-secondary, #f8fafc);border-top:1px solid var(--border-color, #e2e8f0);border-bottom:1px solid var(--border-color, #e2e8f0)}.execution-table th{padding:.875rem 1.5rem;text-align:left;font-size:.75rem;font-weight:600;color:var(--text-secondary, #64748b);text-transform:uppercase;letter-spacing:.05em}.execution-table td{padding:1rem 1.5rem;border-bottom:1px solid var(--border-color, #e2e8f0);font-size:.9375rem;color:var(--text-primary, #1a202c)}.execution-table tbody tr{transition:background-color .15s}.execution-table tbody tr:hover{background:var(--hover-bg, #f8fafc)}.execution-table tbody tr:last-child td{border-bottom:none}.status-cell{display:inline-flex;align-items:center;gap:.5rem;padding:.375rem .75rem;border-radius:6px;font-size:.875rem;font-weight:500;text-transform:capitalize}.status-completed{background:#d1fae5;color:#065f46}.status-failed{background:#fee2e2;color:#991b1b}.status-partial{background:#fef3c7;color:#92400e}.status-running{background:#dbeafe;color:#1e40af}.status-icon{flex-shrink:0}.execution-type-badge{display:inline-flex;align-items:center;padding:.25rem .625rem;border-radius:4px;font-size:.8125rem;font-weight:500;text-transform:capitalize}.execution-type-badge.scheduled{background:#dbeafe;color:#1e40af}.execution-type-badge.manual{background:#e0e7ff;color:#4f46e5}.results-cell{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.result-item{display:inline-flex;align-items:center;padding:.25rem .625rem;border-radius:4px;font-size:.8125rem;font-weight:500;background:var(--surface-secondary, #f1f5f9);color:var(--text-secondary, #64748b)}.result-item.success{background:#d1fae5;color:#065f46}.result-item.error{background:#fee2e2;color:#991b1b}.result-item.skipped{background:var(--surface-secondary, #f1f5f9);color:var(--text-secondary, #64748b)}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-container{background:var(--surface, #ffffff);border-radius:12px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;margin:auto}.modal-container.modal-large{max-width:1000px;max-height:85vh}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border-color, #e2e8f0)}.modal-header h2{font-size:1.25rem;font-weight:600;color:var(--text-primary, #1a202c);margin:0}.modal-close-btn{background:none;border:none;padding:.5rem;border-radius:6px;cursor:pointer;color:var(--text-secondary, #64748b);transition:all .2s;display:flex;align-items:center;justify-content:center}.modal-close-btn:hover{background:var(--hover-bg, #f1f5f9);color:var(--text-primary, #1a202c)}.modal-content{padding:0}.modal-description{color:var(--text-secondary, #64748b);margin-bottom:1.5rem;line-height:1.6;font-size:.9375rem;padding:0 1.5rem}.form-group{margin-bottom:1.5rem;padding:0 1.5rem}.form-group label{display:block;font-size:.875rem;font-weight:500;color:var(--text-primary, #1a202c);margin-bottom:.5rem}.modal-warning{display:flex;gap:.75rem;padding:1rem;background:#fef3c7;border:1px solid #f59e0b;border-radius:8px;color:#92400e;margin:1rem 1.5rem}.modal-warning svg{flex-shrink:0;color:#f59e0b}.modal-warning p{margin:0;font-size:.875rem;line-height:1.5}.modal-actions{display:flex;gap:1rem;padding:1.5rem;border-top:1px solid var(--border-color, #e2e8f0);justify-content:flex-end}.details-section{margin-bottom:2rem;padding:1.5rem 1.5rem 1rem}.details-section h3{font-size:1rem;font-weight:600;color:var(--text-primary, #1a202c);margin:0 0 1rem;text-transform:uppercase;letter-spacing:.025em}.details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.detail-item{display:flex;flex-direction:column;gap:.375rem}.detail-label{font-size:.8125rem;color:var(--text-secondary, #64748b);font-weight:500}.detail-value{font-size:.9375rem;color:var(--text-primary, #1a202c);font-weight:500}.detail-value.success{color:#10b981}.detail-value.error{color:#ef4444}.error-message-box{display:flex;gap:.75rem;padding:1rem;background:#fee2e2;border:1px solid #ef4444;border-radius:8px;margin-top:1.5rem}.error-message-box svg{flex-shrink:0;color:#ef4444}.error-message-box strong{display:block;margin-bottom:.25rem;color:#991b1b}.error-message-box p{margin:0;font-size:.875rem;color:#991b1b;line-height:1.5}.partner-results-header{padding:1.5rem 1.5rem 1rem;border-top:1px solid var(--border-color, #e2e8f0)}.partner-results-header h3{font-size:1rem;font-weight:600;color:var(--text-primary, #1a202c);margin:0;text-transform:uppercase;letter-spacing:.025em}.partner-results-table-container{overflow-x:auto;width:100%}.partner-results-table{width:100%;border-collapse:collapse;table-layout:fixed}.partner-results-table thead{background:var(--surface-secondary, #f8fafc);border-bottom:2px solid var(--border-color, #e2e8f0)}.partner-results-table th{padding:.875rem 1rem;text-align:left;font-size:.75rem;font-weight:600;color:var(--text-secondary, #64748b);text-transform:uppercase;letter-spacing:.05em;word-wrap:break-word}.partner-results-table th:first-child,.partner-results-table td:first-child{padding-left:1.5rem;width:18%}.partner-results-table th:nth-child(2),.partner-results-table td:nth-child(2){width:12%}.partner-results-table th:nth-child(3),.partner-results-table td:nth-child(3){width:25%}.partner-results-table th:last-child,.partner-results-table td:last-child{padding-right:1.5rem;width:10%}.partner-results-table td{padding:1rem;border-bottom:1px solid var(--border-color, #e2e8f0);font-size:.875rem;word-wrap:break-word;overflow-wrap:break-word}.partner-results-table tbody tr:last-child td{border-bottom:none}.partner-results-table tbody tr.error-row{background:#fef2f2}.success-badge,.error-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .625rem;border-radius:4px;font-size:.8125rem;font-weight:500}.success-badge{background:#d1fae5;color:#065f46}.error-badge{background:#fee2e2;color:#991b1b}.over-limit-badge,.under-limit-badge{display:inline-flex;padding:.25rem .625rem;border-radius:4px;font-size:.8125rem;font-weight:500}.over-limit-badge{background:#fee2e2;color:#991b1b}.under-limit-badge{background:#d1fae5;color:#065f46}.error-text{color:#ef4444;font-weight:500;font-size:.875rem}.success-text{color:var(--text-secondary, #64748b);font-size:.875rem}.btn-primary,.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;border-radius:8px;font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .2s;border:none}.btn-primary{background:#10b981;color:#fff}.btn-primary:hover:not(:disabled){background:#059669;transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-secondary{background:#fff;color:var(--text-primary, #1a202c);border:1px solid var(--border-color, #e2e8f0)}.btn-secondary:hover:not(:disabled){background:var(--surface-secondary, #f8fafc);border-color:var(--border-hover, #cbd5e1)}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.spinning{animation:spin 1s linear infinite}.partner-billing-loading{display:flex;align-items:center;justify-content:center;min-height:400px;font-size:1.125rem;color:var(--text-secondary, #64748b)}@media(max-width:1024px){.execution-summary{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.details-grid{grid-template-columns:1fr}}@media(max-width:768px){.partner-billing-page{padding:1rem}.partner-billing-header{padding:1.5rem}.partner-billing-header-actions{flex-direction:column;width:100%}.partner-billing-header-actions button{width:100%;justify-content:center}.execution-summary{grid-template-columns:1fr}.execution-table th,.execution-table td{padding:.75rem 1rem}.modal-container{max-width:95%}.modal-header,.modal-content,.modal-actions{padding:1rem}}.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-group{display:flex;flex-direction:column;gap:.25rem}.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}.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-info{display:flex;flex-direction:column;gap:.25rem}.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-suspended{background-color:#fef3c7;color:#92400e}.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-label{font-size:.875rem;color:#6b7280;font-weight:500}.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}.section-header{display:flex;justify-content:space-between;align-items:center;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}.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 0 .5rem;font-size:.875rem;color:#92400e;line-height:1.5}.warning-note{font-style:italic;font-size:.8125rem!important}.delete-modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e5e7eb}.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}.operating-calendar-manager{max-width:1200px}.calendar-manager-loading{padding:3rem;text-align:center;color:#64748b}.calendar-manager-empty{padding:4rem 2rem;text-align:center}.calendar-manager-empty .empty-icon{color:#e2e8f0;margin-bottom:1rem}.calendar-manager-empty h3{margin:1rem 0 .5rem;color:#0f172a}.calendar-manager-empty p{color:#64748b}.location-selector-section{background:#fff;padding:1.5rem;border-radius:12px;margin-bottom:2rem;border:1px solid #e2e8f0}.location-selector-label{display:block;font-weight:600;color:#0f172a;margin-bottom:.75rem;font-size:.95rem}.selected-location-header{margin-bottom:2rem;padding-left:.5rem}.location-header-title{font-size:1.75rem;font-weight:700;color:#0f172a;margin-bottom:.5rem}.location-header-address{color:#64748b;font-size:.95rem}.calendar-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:2rem;margin-bottom:2rem}.calendar-section-header{margin-bottom:2rem}.calendar-section-title{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.calendar-section-title h3{font-size:1.25rem;font-weight:600;color:#0f172a;margin:0}.calendar-section-title svg{color:#16a34a}.calendar-section-description{color:#64748b;font-size:.95rem;line-height:1.5}.schedule-table{border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.schedule-table-header{display:grid;grid-template-columns:150px 180px 1fr;background:#f8fafc;padding:1rem;font-weight:600;color:#0f172a;border-bottom:1px solid #e2e8f0;font-size:.9rem}.schedule-row{display:grid;grid-template-columns:150px 180px 1fr;padding:1rem;border-bottom:1px solid #e2e8f0;background:#fff}.schedule-row:last-child{border-bottom:none}.schedule-row:hover{background:#f8fafc}.schedule-col-day .day-name{font-weight:500;color:#0f172a}.schedule-toggle{display:flex;align-items:center;gap:.75rem;cursor:pointer;-webkit-user-select:none;user-select:none}.schedule-toggle input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}.toggle-slider{position:relative;width:44px;height:24px;background:#cbd5e1;border-radius:24px;transition:background .2s;flex-shrink:0}.toggle-slider:before{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background:#fff;top:3px;left:3px;transition:left .2s;box-shadow:0 1px 3px #0000001a}.toggle-slider:after{display:none}.schedule-toggle input:checked+.toggle-slider{background:#16a34a}.schedule-toggle input:checked+.toggle-slider:before{left:23px}.toggle-label{font-size:.9rem;color:#64748b;min-width:60px}.time-inputs{display:flex;align-items:center;gap:.75rem}.time-input-group{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#f8fafc;border-radius:6px;border:1px solid #e2e8f0}.time-input-group svg{color:#64748b;flex-shrink:0}.time-input{border:none;background:transparent;font-size:.95rem;color:#0f172a;padding:0;width:90px}.time-input:focus{outline:none}.time-separator{color:#64748b;font-weight:500}.closed-indicator{display:flex;align-items:center;gap:.5rem;color:#ef4444;font-size:.9rem}.schedule-actions{margin-top:1.5rem;display:flex;justify-content:flex-end}.save-schedule-btn{display:flex;align-items:center;gap:.5rem;background:#16a34a;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:background .2s}.save-schedule-btn:hover:not(:disabled){background:#15803d}.save-schedule-btn:disabled{opacity:.5;cursor:not-allowed}.resource-schedule-list{margin-top:1.5rem}.resource-list-intro{color:#64748b;font-size:.95rem;margin-bottom:1.5rem;line-height:1.5}.resources-grid{display:flex;flex-direction:column;gap:1rem}.resource-schedule-row{display:flex;align-items:center;justify-content:space-between;padding:1.25rem;background:#fff;border-radius:8px;border:1px solid #e2e8f0;gap:1rem}.resource-schedule-row:hover{border-color:#cbd5e1}.resource-info{display:flex;flex-direction:column;gap:.25rem;flex:0 0 auto}.resource-name{font-weight:600;color:#0f172a;font-size:1rem}.resource-type{font-size:.85rem;color:#64748b}.resource-schedule-status{display:flex;align-items:center;gap:1rem;margin-left:auto}.btn-primary-sm{display:flex;align-items:center;gap:.5rem;background:#16a34a;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .2s}.btn-primary-sm:hover{background:#15803d}.btn-secondary-sm{display:flex;align-items:center;gap:.5rem;background:#fff;color:#64748b;border:1px solid #e2e8f0;padding:.5rem 1rem;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-secondary-sm:hover{border-color:#cbd5e1;color:#475569}.resource-actions{display:flex;gap:.5rem}.resource-action-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid #e2e8f0;background:#fff;border-radius:6px;cursor:pointer;transition:all .2s}.resource-action-btn.edit:hover{background:#dbeafe;border-color:#3b82f6;color:#3b82f6}.resource-action-btn.delete:hover{background:#fee2e2;border-color:#ef4444;color:#ef4444}.closures-section-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.closures-section-info h3{font-size:1.25rem;font-weight:600;color:#0f172a;margin:0 0 .5rem}.closures-section-description{color:#64748b;font-size:.95rem;line-height:1.5}.add-closure-btn{display:flex;align-items:center;gap:.5rem;background:#16a34a;color:#fff;border:none;padding:.75rem 1.25rem;border-radius:8px;font-weight:600;cursor:pointer;transition:background .2s}.add-closure-btn:hover{background:#15803d}.closures-list{display:flex;flex-direction:column;gap:1rem}.closures-empty{padding:3rem;text-align:center;color:#64748b}.closure-row{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.closure-info{flex:1}.closure-reason{font-weight:600;color:#0f172a;margin-bottom:.5rem}.closure-meta{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.closure-type-badge,.closure-scope,.recurring-badge{padding:.25rem .75rem;border-radius:4px;font-size:.8rem;font-weight:500}.closure-type-badge{background:#fef3c7;color:#92400e}.closure-scope{background:#dbeafe;color:#1e40af}.recurring-badge{background:#dcfce7;color:#166534}.closure-dates{display:flex;align-items:center;gap:.5rem;color:#64748b;font-size:.9rem}.closure-actions{display:flex;gap:.5rem}.closure-action-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid #e2e8f0;background:#fff;border-radius:6px;cursor:pointer;transition:all .2s}.closure-action-btn.edit:hover{background:#dbeafe;border-color:#3b82f6;color:#3b82f6}.closure-action-btn.delete:hover{background:#fee2e2;border-color:#ef4444;color:#ef4444}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem}.modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;width:100%;max-width:700px;max-height:90vh;display:flex;flex-direction:column;position:relative}.resource-schedule-modal{max-width:700px}.closure-modal{max-width:600px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid #e2e8f0}.modal-title{display:flex;align-items:center;gap:.75rem;font-size:1.25rem;font-weight:600;color:#0f172a;margin:0}.modal-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:transparent;color:#64748b;cursor:pointer;border-radius:6px;transition:all .2s;flex-shrink:0}.modal-close:hover{background:#f1f5f9;color:#0f172a}.modal-body{padding:1.5rem;overflow-y:auto;flex:1}.modal-loading{padding:2rem;text-align:center;color:#64748b}.schedule-modal-table{border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.schedule-modal-header{display:grid;grid-template-columns:100px 200px 1fr;background:#f8fafc;padding:1rem;font-weight:600;color:#0f172a;border-bottom:1px solid #e2e8f0;font-size:.9rem}.schedule-modal-row{display:grid;grid-template-columns:100px 200px 1fr;padding:1rem;border-bottom:1px solid #e2e8f0;background:#fff;align-items:center}.schedule-modal-row:last-child{border-bottom:none}.schedule-modal-row:hover{background:#f8fafc}.schedule-modal-col-day{font-weight:500;color:#0f172a}.schedule-modal-col-status{display:flex;align-items:center}.schedule-modal-col-hours{display:flex;align-items:center;min-height:42px}.modal-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem;border-top:1px solid #e2e8f0;background:#f8fafc;flex-shrink:0}.closure-form{display:flex;flex-direction:column;gap:1.5rem}.closure-form-group{display:flex;flex-direction:column;gap:.5rem}.closure-form-label{font-weight:600;color:#0f172a;font-size:.95rem}.closure-form-label.required:after{content:" *";color:#ef4444}.closure-form-input,.closure-form-select,.closure-form-textarea{width:100%;padding:.75rem;border:1px solid #e2e8f0;border-radius:8px;font-size:1rem;color:#0f172a;background:#fff;transition:border-color .2s}.closure-form-input:focus,.closure-form-select:focus,.closure-form-textarea:focus{outline:none;border-color:#16a34a;box-shadow:0 0 0 3px #16a34a1a}.closure-form-textarea{min-height:80px;resize:vertical}.closure-form-checkbox-group{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#f8fafc;border-radius:8px}.closure-form-checkbox-group input[type=checkbox]{width:18px;height:18px;cursor:pointer}.closure-form-checkbox-group label{font-size:.95rem;color:#0f172a;cursor:pointer;margin:0}.closure-form-help-text{font-size:.85rem;color:#64748b;margin-top:.25rem;line-height:1.4}.closure-scope-options{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem}.closure-scope-option{display:flex;align-items:center;gap:.75rem;padding:.75rem;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:all .2s}.closure-scope-option:hover{border-color:#cbd5e1;background:#f8fafc}.closure-scope-option input[type=radio]{width:18px;height:18px;cursor:pointer}.closure-scope-option.selected{border-color:#16a34a;background:#f0fdf4}.closure-scope-label{font-weight:500;color:#0f172a;margin:0;cursor:pointer}.date-range-group{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.btn-primary{display:flex;align-items:center;justify-content:center;gap:.5rem;background:#16a34a;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer;transition:background .2s}.btn-secondary{display:flex;align-items:center;justify-content:center;gap:.5rem;background:#fff;color:#64748b;border:1px solid #e2e8f0;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s}.btn-secondary:hover{border-color:#cbd5e1;color:#475569;background:#f8fafc}.calendar-tab-content{padding:2rem}.calendar-tab-header{margin-bottom:2rem}.calendar-tab-title{display:flex;align-items:center;gap:.75rem;font-size:1.5rem;font-weight:700;color:#0f172a;margin-bottom:.5rem}.calendar-tab-description{color:#64748b;font-size:.95rem;line-height:1.5}@media(max-width:768px){.schedule-table-header,.schedule-row,.schedule-modal-header,.schedule-modal-row{grid-template-columns:1fr;gap:1rem}.time-inputs{flex-direction:column;align-items:stretch}.resource-schedule-row{flex-direction:column;align-items:flex-start;gap:1rem}.resource-schedule-status{width:100%;flex-direction:column;align-items:stretch}.resource-schedule-status .btn-primary-sm,.resource-schedule-status .btn-secondary-sm{width:100%;justify-content:center}.closure-row{flex-direction:column;align-items:flex-start;gap:1rem}.closure-actions{width:100%;justify-content:flex-end}.calendar-tab-content{padding:1rem}.modal-overlay{padding:.5rem}.modal-content{max-width:100%;max-height:95vh}.resource-schedule-modal,.closure-modal{max-width:100%}.modal-header,.modal-body{padding:1rem}.modal-footer{padding:1rem;flex-direction:column-reverse}.modal-footer .btn-primary,.modal-footer .btn-secondary{width:100%;justify-content:center}.date-range-group{grid-template-columns:1fr}}.partner-billing-history-page{padding:2rem;background:var(--background, #f5f7fa);min-height:100vh}.partner-billing-history-header{background:var(--surface, #ffffff);border-radius:12px;padding:2rem;margin-bottom:2rem;box-shadow:0 1px 3px #0000001a}.partner-billing-history-title{display:flex;align-items:center;gap:.75rem;font-size:1.75rem;font-weight:700;color:var(--text-primary, #1a202c);margin:0 0 .5rem}.partner-billing-history-description{color:var(--text-secondary, #64748b);font-size:.9375rem;margin:0}.billing-filters{display:flex;gap:1.5rem;margin-bottom:2rem;flex-wrap:wrap}.invoice-number{font-weight:600;color:var(--text-primary, #1a202c)}.plan-info{font-weight:500}.users-info{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.due-date-info{display:flex;flex-direction:column;gap:.25rem}.partner-billing-history-loading{display:flex;align-items:center;justify-content:center;min-height:400px;font-size:1.125rem;color:var(--text-secondary, #64748b)}@media(max-width:1024px){.billing-stats-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}}@media(max-width:768px){.partner-billing-history-page{padding:1rem}.partner-billing-history-header{padding:1.5rem}.billing-stats-grid{grid-template-columns:1fr}.billing-filters{flex-direction:column}.filter-group{width:100%}.billing-table-container{overflow-x:auto}.billing-table{min-width:900px}}.all-partners-billing-page{padding:2rem;background:var(--background, #f5f7fa);min-height:100vh}.all-partners-billing-header{background:var(--surface, #ffffff);border-radius:12px;padding:2rem;margin-bottom:2rem;box-shadow:0 1px 3px #0000001a}.all-partners-billing-title{display:flex;align-items:center;gap:.75rem;font-size:1.75rem;font-weight:700;color:var(--text-primary, #1a202c);margin:0 0 .5rem}.all-partners-billing-description{color:var(--text-secondary, #64748b);font-size:.9375rem;margin:0}.billing-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:var(--surface, #ffffff);border-radius:12px;padding:1.5rem;display:flex;align-items:center;gap:1rem;box-shadow:0 1px 3px #0000001a;border:1px solid var(--border-color, #e2e8f0);transition:transform .2s,box-shadow .2s}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.stat-card.total-amount{grid-column:span 1}.stat-icon{width:48px;height:48px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon.total{background:#dbeafe;color:#1e40af}.stat-icon.pending{background:#fef3c7;color:#92400e}.stat-icon.paid{background:#d1fae5;color:#065f46}.stat-icon.overdue{background:#fee2e2;color:#991b1b}.stat-icon.amount{background:#e0e7ff;color:#4f46e5}.stat-content{flex:1}.stat-label{font-size:.8125rem;color:var(--text-secondary, #64748b);font-weight:500;text-transform:uppercase;letter-spacing:.025em;margin-bottom:.25rem}.stat-value{font-size:1.75rem;font-weight:700;color:var(--text-primary, #1a202c)}.stat-sublabel{font-size:.875rem;color:var(--text-secondary, #64748b);margin-top:.25rem}.billing-search-filters{background:var(--surface, #ffffff);border-radius:12px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 1px 3px #0000001a;border:1px solid var(--border-color, #e2e8f0)}.search-box{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--background, #f5f7fa);border:1px solid var(--border-color, #e2e8f0);border-radius:8px;margin-bottom:1.5rem}.search-box svg{color:var(--text-secondary, #64748b);flex-shrink:0}.search-input{flex:1;border:none;background:none;font-size:.9375rem;color:var(--text-primary, #1a202c);outline:none}.search-input::placeholder{color:var(--text-tertiary, #cbd5e1)}.billing-filters{display:flex;gap:1.5rem;flex-wrap:wrap}.filter-group{display:flex;flex-direction:column;gap:.5rem;min-width:200px;flex:1}.filter-label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;color:var(--text-primary, #1a202c)}.billing-table-container{background:var(--surface, #ffffff);border-radius:12px;box-shadow:0 1px 3px #0000001a;border:1px solid var(--border-color, #e2e8f0);overflow:hidden}.billing-table{width:100%;border-collapse:collapse}.billing-table thead{background:var(--surface-secondary, #f8fafc);border-bottom:2px solid var(--border-color, #e2e8f0)}.billing-table th{padding:1rem 1.5rem;text-align:left;font-size:.75rem;font-weight:600;color:var(--text-secondary, #64748b);text-transform:uppercase;letter-spacing:.05em}.billing-table td{padding:1rem 1.5rem;border-bottom:1px solid var(--border-color, #e2e8f0);font-size:.9375rem;color:var(--text-primary, #1a202c)}.billing-table tbody tr{transition:background-color .15s}.billing-table tbody tr:hover{background:var(--hover-bg, #f8fafc)}.billing-table tbody tr:last-child td{border-bottom:none}.billing-table tbody tr.overdue-row{background:#fef2f2}.billing-table tbody tr.overdue-row:hover{background:#fee2e2}.partner-info{display:flex;flex-direction:column;gap:.25rem}.partner-name{font-weight:600;color:var(--text-primary, #1a202c)}.invoice-info{display:flex;flex-direction:column;gap:.25rem}.invoice-number{font-weight:600;color:var(--text-primary, #1a202c);font-size:.875rem}.transaction-ref{font-size:.8125rem;color:var(--text-secondary, #64748b)}.period-info{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.period-separator{color:var(--text-tertiary, #cbd5e1)}.plan-info{font-weight:500;font-size:.875rem}.amount-info{display:flex;flex-direction:column;gap:.25rem}.amount{font-weight:600;font-size:1rem}.late-fee{font-size:.8125rem;color:#ef4444;font-weight:500}.users-info{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-size:.875rem}.over-limit-badge{display:inline-flex;padding:.125rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500;background:#fee2e2;color:#991b1b}.due-date-info{display:flex;flex-direction:column;gap:.25rem;font-size:.875rem}.overdue-days{font-size:.8125rem;color:#ef4444;font-weight:500}.status-badge{display:inline-flex;align-items:center;padding:.375rem .875rem;border-radius:6px;font-size:.875rem;font-weight:500;text-transform:capitalize}.status-paid{background:#d1fae5;color:#065f46}.status-pending{background:#fef3c7;color:#92400e}.status-overdue,.status-failed{background:#fee2e2;color:#991b1b}.status-cancelled{background:var(--surface-secondary, #f1f5f9);color:var(--text-secondary, #64748b)}.billing-actions{display:flex;gap:.5rem}.action-btn{background:none;border:none;padding:.5rem;border-radius:6px;cursor:pointer;color:var(--text-secondary, #64748b);transition:all .2s;display:inline-flex;align-items:center;justify-content:center}.action-btn:hover{background:var(--hover-bg, #f1f5f9);color:var(--primary, #3b82f6)}.action-btn.download-btn:hover{color:#10b981}.action-btn:disabled{opacity:.5;cursor:not-allowed}.downloading-spinner{display:inline-block;animation:spin 1s linear infinite}.empty-state{padding:4rem 2rem;text-align:center}.empty-icon{color:var(--text-tertiary, #cbd5e1);margin:0 auto 1rem}.empty-state p{color:var(--text-secondary, #64748b);font-size:1rem;margin:0}.all-partners-billing-loading{display:flex;align-items:center;justify-content:center;min-height:400px;font-size:1.125rem;color:var(--text-secondary, #64748b)}.access-denied{text-align:center;padding:4rem 2rem;background:var(--surface, #ffffff);border-radius:12px;box-shadow:0 1px 3px #0000001a}.access-denied h1{font-size:2rem;color:var(--text-primary, #1a202c);margin-bottom:1rem}.access-denied p{color:var(--text-secondary, #64748b);font-size:1.125rem}@media(max-width:1024px){.billing-stats-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.billing-filters{flex-direction:column}.filter-group{width:100%}}@media(max-width:768px){.all-partners-billing-page{padding:1rem}.all-partners-billing-header{padding:1.5rem}.billing-stats-grid{grid-template-columns:1fr}.billing-search-filters{padding:1rem}.billing-table-container{overflow-x:auto}.billing-table{min-width:1100px}}.notification-bell{position:relative;display:flex;align-items:center;justify-content:center;padding:.5rem;background:none;border:none;color:#6b7280;cursor:pointer;border-radius:8px;transition:all .2s}.notification-bell:hover{background:#f3f4f6;color:#16a34a}.notification-bell-badge{position:absolute;top:0;right:0;display:flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;background:#dc2626;color:#fff;font-size:.625rem;font-weight:700;border-radius:9px;border:2px solid white}.customers-discount-codes-page{padding:1.5rem;max-width:1400px;margin:0 auto}.customers-discount-codes-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;gap:1rem}.customers-discount-codes-header-content h1{display:flex;align-items:center;font-size:1.875rem;font-weight:700;color:#111827;margin:0 0 .5rem}.customers-discount-codes-title{display:flex;align-items:center;gap:.5rem}.customers-discount-codes-description{color:#6b7280;font-size:1rem;margin:0 0 1.5rem}.customers-discount-codes-stats{display:flex;gap:2rem;flex-wrap:wrap}.customers-discount-codes-header-actions{flex-shrink:0}.customers-discount-codes-table-container{background:#fff;border-radius:.5rem;overflow:hidden;box-shadow:0 1px 3px #0000001a}.customers-discount-codes-table-wrapper{overflow-x:auto}.customers-discount-codes-table{width:100%;border-collapse:collapse}.customers-discount-codes-table-head{background-color:#f9fafb}.customers-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}.customers-discount-codes-table-body{background-color:#fff}.customers-discount-codes-table-row{border-bottom:1px solid #f3f4f6;transition:background-color .1s}.customers-discount-codes-table-row:hover{background-color:#f9fafb}.customers-discount-codes-table-cell{padding:1rem;font-size:.875rem;color:#111827;vertical-align:top}.usage-progress{height:100%;background-color:#16a34a;border-radius:2px;transition:width .3s ease}.customers-discount-codes-filters{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.customers-discount-codes-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.customers-discount-codes-loading{display:flex;align-items:center;justify-content:center;padding:4rem;font-size:1rem;color:#6b7280}.customers-discount-code-modal{max-width:600px;max-height:90vh;overflow-y:auto}@media(max-width:768px){.customers-discount-codes-page{padding:1rem}.customers-discount-codes-header{flex-direction:column;align-items:stretch;gap:1.5rem}.customers-discount-codes-stats{gap:1rem}.customers-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}}@media print{.customers-discount-codes-header-actions,.customers-discount-codes-filters,.code-actions,.add-code-btn{display:none}.customers-discount-codes-table{font-size:.75rem}.customers-discount-codes-table-cell{padding:.5rem}}.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:#16a34a;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:#15803d}.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}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-container{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:500px;width:100%;max-height:90vh;overflow-y:auto}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e5e7eb}.modal-close-btn{background:none;border:none;cursor:pointer;color:#6b7280;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s}.modal-close-btn:hover{background-color:#f3f4f6;color:#111827}.modal-body{padding:24px}.confirm-message{font-size:.95rem;color:#4b5563;line-height:1.6;margin:0}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #e5e7eb;background-color:#f9fafb;border-radius:0 0 12px 12px}.modal-cancel-btn{padding:10px 20px;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s;border:1px solid #d1d5db;background-color:#fff;color:#374151}.modal-cancel-btn:hover{background-color:#f9fafb;border-color:#9ca3af}.modal-delete-btn{padding:10px 20px;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s;border:none;background-color:#dc2626;color:#fff}.modal-delete-btn:hover{background-color:#b91c1c}.modal-confirm-btn{padding:10px 20px;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s;border:none;background-color:#16a34a;color:#fff}.modal-confirm-btn:hover{background-color:#15803d}@media(max-width:640px){.modal-overlay{padding:16px}.modal-container{max-width:100%}.modal-header{padding:16px 20px}.modal-title{font-size:1.125rem}.modal-body{padding:20px}.modal-footer{padding:12px 20px;flex-direction:column-reverse}.modal-cancel-btn,.modal-delete-btn,.modal-confirm-btn{width:100%;padding:12px}}.loading-state{text-align:center;padding:2rem;color:#6b7280}.bulk-upload-modal{max-width:50rem;width:100%}.bulk-upload-controls{padding:1rem 0;border-bottom:1px solid #e5e7eb;margin-bottom:1rem}.select-all{display:flex;align-items:center;gap:.5rem}.select-all input[type=checkbox]{width:1rem;height:1rem;cursor:pointer}.select-all label{font-size:.875rem;font-weight:500;color:#374151;cursor:pointer}.contracts-selection{max-height:24rem;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem}.contract-selection-item{display:flex;align-items:center;gap:1rem;padding:.75rem;border:1px solid #e5e7eb;border-radius:.375rem;transition:background-color .2s}.contract-selection-item:hover{background-color:#f9fafb}.contract-checkbox input[type=checkbox]{width:1rem;height:1rem;cursor:pointer}.contract-info{flex:1;min-width:0}.contract-number{font-weight:600;color:#111827;font-size:.875rem;margin-bottom:.25rem}.contract-details{font-size:.75rem;color:#6b7280}.upload-result{display:flex;align-items:center;gap:.5rem;padding:.25rem .75rem;border-radius:.25rem;font-size:.75rem;font-weight:500;white-space:nowrap}.upload-result.success{background-color:#dcfce7;color:#166534}.upload-result.error{background-color:#fee2e2;color:#991b1b}@media(max-width:640px){.bulk-upload-modal{margin:.5rem;max-height:calc(100vh - 1rem)}.contract-selection-item{flex-direction:column;align-items:flex-start}.upload-result{width:100%;justify-content:center}}.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}.topbar.topbar-staging{background:linear-gradient(135deg,#f97316,#ea580c);border-bottom:2px solid #c2410c}.topbar-staging .mobile-menu-btn,.topbar-staging .user-name{color:#fff}.env-badge{display:inline-block;margin-left:12px;padding:4px 12px;background:#fff3;border:1px solid rgba(255,255,255,.3);border-radius:12px;font-size:.75rem;font-weight:600;letter-spacing:.5px;color:#fff;vertical-align:middle;animation:pulse-badge 2s ease-in-out infinite}@keyframes pulse-badge{0%,to{opacity:1}50%{opacity:.7}}.topbar-staging .notification-bell{color:#fff}.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}}.text-center{text-align: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}}.deleting-spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin .8s linear infinite}.image-status.deleting{background:#ef4444;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.image-action-btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.alt-text-input:disabled{opacity:.6;cursor:not-allowed;background-color:#f3f4f6}.payment-history-modal{max-width:64rem;max-height:90vh;overflow-y:auto}.payment-history-modal .modal-header{position:sticky;top:0;background-color:#fff;z-index:10;border-bottom:1px solid #e5e7eb}.payment-history-content{padding:1.5rem}.payment-stats-section{margin-bottom:2rem}.payment-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem}.stat-card{padding:1rem;border-radius:.5rem;border:1px solid;display:flex;align-items:center;gap:.625rem}.stat-card.stat-paid{background-color:#f0fdf4;border-color:#bbf7d0}.stat-card.stat-outstanding{background-color:#fef3c7;border-color:#fde68a}.stat-card.stat-count{background-color:#dbeafe;border-color:#93c5fd}.stat-card.stat-progress{background-color:#f3f4f6;border-color:#d1d5db}.stat-card.stat-progress.fully-paid{background-color:#f0fdf4;border-color:#bbf7d0}.stat-card .stat-icon{width:2.25rem;height:2.25rem;border-radius:.5rem;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.stat-card.stat-paid .stat-icon{background-color:#16a34a}.stat-card.stat-outstanding .stat-icon{background-color:#f59e0b}.stat-card.stat-count .stat-icon{background-color:#3b82f6}.stat-card.stat-progress .stat-icon{background-color:#6b7280}.stat-card.stat-progress.fully-paid .stat-icon{background-color:#16a34a}.stat-card .stat-info{flex:1}.stat-card .stat-value{font-size:1.125rem;font-weight:700;line-height:1.2}.stat-card.stat-paid .stat-value{color:#16a34a}.stat-card.stat-outstanding .stat-value{color:#f59e0b}.stat-card.stat-count .stat-value{color:#3b82f6}.stat-card.stat-progress .stat-value{color:#6b7280}.stat-card.stat-progress.fully-paid .stat-value{color:#16a34a}.stat-card .stat-label{font-size:.75rem;color:#6b7280;margin-top:.125rem}.payment-progress-container{padding:1.25rem;background-color:#f9fafb;border-radius:.5rem;border:1px solid #e5e7eb}.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:#6b7280}.progress-bar-wrapper{width:100%;height:.75rem;background-color:#e5e7eb;border-radius:9999px;overflow:hidden}.progress-bar-fill{height:100%;background-color:#3b82f6;transition:width .3s ease;border-radius:9999px}.progress-bar-fill.fully-paid{background-color:#16a34a}.payments-list-section{margin-top:2rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:2px solid #e5e7eb}.section-header h3{font-size:1.125rem;font-weight:600;color:#111827;margin:0}.section-header .payment-status-badge{padding:.375rem .75rem;border-radius:.375rem;font-size:.875rem;font-weight:500}.section-header .payment-status-badge.fully-paid{background-color:#d1fae5;color:#065f46}.section-header .payment-status-badge.outstanding{background-color:#fed7aa;color:#92400e}.payments-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;gap:1rem;color:#6b7280}.no-payments{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:#9ca3af}.no-payments-icon{color:#d1d5db;margin-bottom:1rem}.no-payments p{font-size:1rem;color:#6b7280}.payments-table-container{overflow-x:auto;border:1px solid #e5e7eb;border-radius:.5rem}.payments-history-table{width:100%;border-collapse:collapse;font-size:.8125rem}.payments-history-table thead{background-color:#f9fafb;border-bottom:1px solid #e5e7eb}.payments-history-table th{padding:.625rem .875rem;text-align:left;font-weight:600;color:#374151;font-size:.8125rem;white-space:nowrap}.payments-history-table tbody tr{border-bottom:1px solid #e5e7eb;transition:background-color .2s}.payments-history-table tbody tr:hover{background-color:#f9fafb}.payments-history-table tbody tr:last-child{border-bottom:none}.payments-history-table td{padding:.875rem;color:#374151}.payment-number{font-weight:600;color:#111827}.payment-amount-cell{display:flex;flex-direction:column;gap:.25rem}.amount-value{font-weight:600;color:#16a34a;font-size:.875rem}.payment-type-badge{display:inline-block;padding:.125rem .5rem;background-color:#f3f4f6;color:#6b7280;border-radius:.25rem;font-size:.6875rem;font-weight:500;width:fit-content}.payment-method-cell{display:flex;align-items:center;gap:.5rem}.method-icon{font-size:1.125rem}.method-name{color:#374151;font-size:.8125rem}.payment-date-cell{color:#6b7280;white-space:nowrap;font-size:.8125rem}.payment-status-badge{display:inline-block;padding:.25rem .625rem;border-radius:.375rem;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em}.payment-status-completed{background-color:#d1fae5;color:#065f46}.payment-status-pending{background-color:#fed7aa;color:#92400e}.payment-status-failed{background-color:#fee2e2;color:#991b1b}.payment-status-refunded{background-color:#e0e7ff;color:#3730a3}.payment-status-cancelled{background-color:#f3f4f6;color:#4b5563}.payment-status-default{background-color:#f3f4f6;color:#6b7280}.payment-actions{display:flex;gap:.5rem;align-items:center}.payment-actions .action-btn{padding:.375rem;border:none;border-radius:.375rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;background-color:transparent}.payment-actions .action-btn:hover{transform:translateY(-1px)}.payment-actions .edit-btn{color:#3b82f6}.payment-actions .edit-btn:hover{background-color:#dbeafe}.payment-actions .view-btn{color:#6b7280}.payment-actions .view-btn:hover{background-color:#f3f4f6}.payment-actions .delete-btn{color:#ef4444}.payment-actions .delete-btn:hover{background-color:#fee2e2}.delete-warning{display:flex;gap:1rem;padding:1rem;background-color:#fef2f2;border:1px solid #fecaca;border-radius:.5rem;margin-bottom:1.5rem}.delete-warning .warning-icon{color:#dc2626;flex-shrink:0}.delete-warning .warning-text h3{margin:0 0 .5rem;font-size:1rem;font-weight:600;color:#991b1b}.delete-warning .warning-text p{margin:0;font-size:.875rem;color:#7f1d1d}.payment-to-delete-info{padding:1rem;background-color:#f9fafb;border-radius:.5rem;border:1px solid #e5e7eb;margin-bottom:1.5rem}.delete-info-item{padding:.5rem 0;border-bottom:1px solid #e5e7eb;font-size:.875rem;color:#374151}.delete-info-item:last-child{border-bottom:none}.delete-info-item strong{color:#111827;margin-right:.5rem}@media(max-width:768px){.payment-history-modal{max-width:95vw}.payment-stats-grid{grid-template-columns:1fr}.payments-table-container{overflow-x:auto}.payments-history-table{font-size:.75rem}.payments-history-table th,.payments-history-table td{padding:.5rem}.section-header{flex-direction:column;align-items:flex-start;gap:.75rem}}.payment-history-modal .modal-actions{padding:1.5rem;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;gap:.75rem;background-color:#f9fafb}.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}.modal-container{animation:modalSlideIn .3s ease-out}.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}}.sidebar-logout-btn{margin-top:auto;border:none;background:transparent;cursor:pointer;width:100%;text-align:left;transition:all .2s;border-top:1px solid #f3f4f6;padding-top:.75rem!important;margin-top:.75rem!important}.sidebar-logout-btn:hover{background-color:#fef2f2;color:#dc2626}.sidebar-logout-btn:hover .sidebar-nav-icon{color:#dc2626}.sidebar-logout-btn:focus{outline:2px solid #dc2626;outline-offset:-2px}.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}.auth-app-name{font-size:1.5rem;font-weight:600;text-align:center;margin:1rem 0 .5rem;color:#1f2937}.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{text-align:center}.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-text p{margin:0 0 .75rem;font-size:.875rem;color:#991b1b;line-height:1.5}.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}}:root{--color-primary: #16a34a;--color-primary-dark: #15803d;--color-primary-light: #22c55e;--color-secondary: #3b82f6;--color-danger: #dc2626;--color-danger-dark: #b91c1c;--color-warning: #f59e0b;--color-warning-dark: #d97706;--color-gray-50: #f9fafb;--color-gray-100: #f3f4f6;--color-gray-200: #e5e7eb;--color-gray-300: #d1d5db;--color-gray-400: #9ca3af;--color-gray-500: #6b7280;--color-gray-600: #374151;--color-gray-900: #111827;--color-success-bg: #dcfce7;--color-success-text: #166534;--color-error-bg: #fecaca;--color-error-text: #991b1b;--color-warning-bg: #fef3c7;--color-warning-text: #92400e;--color-info-bg: #dbeafe;--color-info-text: #1e40af;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 1px 3px 0 rgba(0, 0, 0, .1);--shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, .1)}.contracts-page{display:flex;flex-direction:column;gap:var(--spacing-xl);max-width:100%}.contracts-header{display:flex;flex-direction:row;justify-content:space-between;align-items:flex-start;gap:var(--spacing-md);width:100%}.contracts-header-content{flex:1;min-width:0;width:100%}.contracts-description{font-size:.875rem;color:var(--color-gray-600);margin:0 0 var(--spacing-md) 0}.stat-label{font-size:.75rem;font-weight:500;color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem;line-height:1.3;word-break:keep-all;-webkit-hyphens:none;hyphens:none}.add-contract-btn:disabled,.export-csv-btn:disabled{opacity:.5;cursor:not-allowed;border-color:var(--color-gray-400);color:var(--color-gray-400);background-color:transparent}.archived-contracts-btn{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:10px 16px;border:2px solid var(--color-gray-500);background-color:transparent;color:var(--color-gray-500);border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.bulk-upload-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:2px solid #7b1fa2;background-color:transparent;color:#7b1fa2;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.bulk-upload-btn:disabled{opacity:.5;cursor:not-allowed;border-color:var(--color-gray-400);color:var(--color-gray-400);background-color:transparent}.renewal-logs-btn{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:10px 16px;border:2px solid #3b82f6;background-color:transparent;color:#3b82f6;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;border:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary,button.btn-primary{background-color:var(--color-primary)!important;color:#fff!important;box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled),button.btn-primary:hover:not(:disabled){background-color:var(--color-primary-dark)!important;transform:translateY(-1px);box-shadow:0 4px 6px #16a34a4d}.btn-secondary{background-color:#fff;color:var(--color-gray-600);border:1px solid var(--color-gray-300)}.btn-secondary:hover:not(:disabled){background-color:var(--color-gray-50);border-color:var(--color-gray-400)}.btn-warning{background-color:var(--color-warning);color:#fff}.btn-warning:hover:not(:disabled){background-color:var(--color-warning-dark)}.btn-danger{background-color:var(--color-danger);color:#fff;animation:pulse-danger 2s infinite}.btn-danger:hover:not(:disabled){background-color:var(--color-danger-dark)}.btn-archive{background-color:var(--color-warning);color:#fff}.btn-archive:hover:not(:disabled){background-color:var(--color-warning-dark);transform:translateY(-1px);box-shadow:0 4px 6px #f59e0b4d}.action-btn{background:transparent;border:none;cursor:pointer;padding:.375rem;border-radius:var(--radius-sm);transition:all .2s;display:inline-flex;align-items:center;justify-content:center}.action-btn.view-btn,.action-btn.edit-btn{color:var(--color-primary)}.action-btn.view-btn:hover,.action-btn.edit-btn:hover{background-color:#f0fdf4;color:var(--color-primary-dark)}.action-btn.delete-btn{color:var(--color-danger)}.action-btn.delete-btn:hover{background-color:#fef2f2;color:var(--color-danger-dark)}.action-btn.pdf-btn{color:var(--color-gray-500)}.action-btn.pdf-btn:hover:not(:disabled){background-color:var(--color-gray-100);transform:translateY(-1px)}.action-btn.package-booking-btn{color:var(--color-secondary)}.action-btn.package-booking-btn:hover{background-color:#eff6ff;color:#1e40af}.payment-btn{color:#fff;background:transparent;border:none;cursor:pointer;padding:var(--spacing-sm);border-radius:var(--radius-md);transition:all .2s;display:inline-flex;align-items:center;justify-content:center;min-width:2.5rem}.record-payment-btn:hover{background-color:var(--color-primary-dark);transform:translateY(-1px)}.history-btn:hover{background-color:#0284c7;transform:translateY(-1px)}.status-badge,.payment-status-badge,.service-type-badge{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:.125rem var(--spacing-sm);font-size:.75rem;font-weight:600;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.05em}.status-active,.payment-status-paid,.status-completed{background-color:var(--color-success-bg);color:var(--color-success-text)}.status-expired,.payment-status-unpaid,.payment-status-overdue,.status-failed{background-color:var(--color-error-bg);color:var(--color-error-text)}.status-suspended,.payment-status-partial,.status-pending{background-color:var(--color-warning-bg);color:var(--color-warning-text)}.status-cancelled,.payment-status-not-required,.status-default{background-color:var(--color-gray-200);color:var(--color-gray-600)}.service-type-subscription{background-color:var(--color-info-bg);color:var(--color-info-text)}.service-type-package{background-color:var(--color-warning-bg);color:var(--color-warning-text)}.service-type-trial{background-color:var(--color-success-bg);color:var(--color-success-text)}.contracts-table-container{margin-top:var(--spacing-xl);display:flex;flex-direction:column}.contracts-table-wrapper{overflow-x:auto;box-shadow:var(--shadow-md);border:1px solid rgba(0,0,0,.05);border-radius:var(--radius-lg)}.contracts-table{min-width:100%;border-collapse:collapse;border-spacing:0}.contracts-table-head{background-color:var(--color-gray-50)}.contracts-table-header{padding:.75rem 1.5rem;text-align:left;font-size:.75rem;font-weight:500;color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.contracts-table-body{background-color:#fff;border-top:1px solid var(--color-gray-200)}.contracts-table-row{border-bottom:1px solid var(--color-gray-200);transition:background-color .2s ease}.contracts-table-row:hover{background-color:var(--color-gray-50)}.contracts-table-cell{padding:var(--spacing-md) 1.5rem;font-size:.875rem;color:var(--color-gray-900);vertical-align:top}.contract-info,.customer-info,.service-info,.location-info,.period-info,.payment-info,.cost-status-info{display:flex;flex-direction:column;gap:.25rem;min-width:0}.cost-status-info{gap:.5rem;align-items:flex-start}.contract-number,.customer-name,.service-name,.location-name{font-weight:600;color:var(--color-gray-900)}.contract-number{font-family:Monaco,Menlo,Ubuntu Mono,monospace}.contract-created,.customer-email{font-size:.75rem;color:var(--color-gray-400)}.service-header{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.usage-info,.days-remaining,.remaining-entries{font-size:.75rem;color:var(--color-success-text);font-weight:500}.days-remaining.warning{color:var(--color-danger);font-weight:600}.resource-info{display:flex;align-items:center;gap:var(--spacing-xs);font-size:.75rem;color:var(--color-gray-500)}.period-dates{font-weight:500;color:var(--color-gray-900);font-size:.8125rem}.cost-info{font-weight:600;color:var(--color-gray-900);font-size:1rem}.next-due-date{display:flex;align-items:center;gap:var(--spacing-xs);font-size:.75rem;color:var(--color-gray-500);margin-top:var(--spacing-xs)}.next-due-date.overdue{color:var(--color-danger);font-weight:600}.contract-actions{display:flex;gap:var(--spacing-sm);align-items:center}.contracts-empty{text-align:center;padding:3rem;color:var(--color-gray-500)}.empty-icon{margin:0 auto var(--spacing-md) auto;color:var(--color-gray-300)}.contracts-empty p{margin:0 0 var(--spacing-md) 0;font-size:.875rem}.contracts-loading{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-xl);color:var(--color-gray-500)}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:50;padding:var(--spacing-md)}.modal-container{background-color:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:42rem;max-height:90vh;overflow-y:auto;animation:modalSlideIn .3s ease-out}.contract-form-modal{max-width:56rem}.delete-modal,.archive-modal{max-width:32rem}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg);border-bottom:1px solid var(--color-gray-200)}.modal-title{font-size:1.25rem;font-weight:600;color:var(--color-gray-900);margin:0}.modal-close-btn{color:var(--color-gray-500);background:transparent;border:none;cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-sm);transition:color .2s}.modal-close-btn:hover{color:var(--color-gray-600)}.modal-form,.delete-modal-content,.archive-modal-content{padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-md)}.modal-actions,.delete-modal-actions,.archive-modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--color-gray-200)}.form-section{margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--color-gray-200)}.form-section-title{font-size:1rem;font-weight:600;color:var(--color-gray-900);margin:0 0 var(--spacing-md) 0;padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-gray-100)}.form-row{display:grid;grid-template-columns:1fr;gap:var(--spacing-md)}.form-label{font-size:.875rem;font-weight:500;color:var(--color-gray-600);margin-bottom:var(--spacing-xs)}.form-input,.form-select{width:100%;padding:var(--spacing-sm) .75rem;border:1px solid var(--color-gray-300);border-radius:var(--radius-md);font-size:.875rem;color:var(--color-gray-900);box-sizing:border-box;transition:border-color .2s,box-shadow .2s}.form-input:focus,.form-select:focus{outline:2px solid var(--color-primary-light);outline-offset:2px;border-color:var(--color-primary);box-shadow:0 0 0 3px #16a34a1a}.form-input:disabled,.form-select:disabled{background-color:var(--color-gray-50);color:var(--color-gray-400);cursor:not-allowed}.delete-warning,.archive-warning{display:flex;gap:var(--spacing-md);padding:var(--spacing-md);background-color:var(--color-warning-bg);border:1px solid var(--color-warning);border-radius:var(--radius-md);border-left:4px solid var(--color-warning);margin-bottom:var(--spacing-lg)}.warning-icon{color:var(--color-warning);flex-shrink:0;margin-top:.125rem}.warning-text h3{margin:0 0 var(--spacing-sm) 0;font-size:.9375rem;font-weight:600;color:var(--color-warning-text)}.warning-text p{margin:0;font-size:.875rem;color:var(--color-warning-text);line-height:1.5}.archive-info-note{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:var(--radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-lg)}.archive-info-note h4{margin:0 0 .75rem;font-size:.9375rem;font-weight:600;color:var(--color-success-text)}.archive-info-note ul{margin:0;padding-left:1.25rem;color:var(--color-success-text);font-size:.875rem;line-height:1.6}.contract-to-delete,.contract-to-archive{background-color:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);padding:var(--spacing-md)}.contract-detail{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) 0;border-bottom:1px solid var(--color-gray-100)}.contract-detail:last-child{border-bottom:none}.contract-detail strong{color:var(--color-gray-600);font-weight:600}@keyframes pulse-danger{0%,to{box-shadow:0 0 #dc262666}50%{box-shadow:0 0 0 8px #dc262600}}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1024px){.contracts-header{flex-direction:column;align-items:stretch}.contracts-header-actions{justify-content:flex-start}}@media(max-width:768px){.contracts-stats{gap:.75rem}.stat-item{padding:1rem .75rem}.stat-label{font-size:.7rem}.stat-value{font-size:1.5rem}.contracts-header-actions{flex-direction:column;width:100%;gap:8px}.export-csv-btn,.add-contract-btn,.archived-contracts-btn,.bulk-upload-btn,.renewal-logs-btn{width:100%;justify-content:center}.contract-actions{flex-wrap:wrap;gap:.375rem}}@media(max-width:640px){.contracts-stats{flex-wrap:wrap}.stat-item{min-width:calc(50% - .5rem)}.form-row{grid-template-columns:1fr}.modal-actions,.delete-modal-actions,.archive-modal-actions{flex-direction:column-reverse;gap:var(--spacing-sm)}.btn,.btn-primary,.btn-secondary,.btn-warning,.btn-danger,.btn-archive{width:100%;justify-content:center}}@media(max-width:480px){.contracts-stats{flex-direction:column}.stat-item{min-width:100%;width:100%;padding:1.25rem}.stat-label{font-size:.75rem}.stat-value{font-size:2rem}}.contracts-header{display:flex;flex-direction:column;gap:var(--spacing-md);width:100%}.contracts-header-content{width:100%;display:flex;flex-direction:column}.contracts-stats{display:flex;flex-direction:row;gap:1rem;margin-top:1rem;width:100%}.contracts-header-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:flex-start;width:100%}.contracts-title-section{flex:1}.contracts-header-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:flex-end;flex-shrink:0}@media(max-width:1024px){.contracts-header-top{flex-direction:column}.contracts-header-actions{justify-content:flex-start;width:100%}}.contracts-page{display:flex;flex-direction:column;gap:var(--spacing-xl);width:100%;max-width:100%}.contracts-header{display:flex;flex-direction:column;gap:var(--spacing-lg);width:100%}.contracts-header-top{display:flex;flex-direction:row;justify-content:space-between;align-items:flex-start;gap:var(--spacing-md);width:100%}.contracts-title-section{flex:1;min-width:0}.contracts-header-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:flex-end;flex-shrink:1;max-width:65%}.contracts-stats{display:flex;flex-direction:row;gap:1rem;width:100%}.stat-item{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.25rem 1rem;background-color:#fff;border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);text-align:center}.stat-label{font-size:.7rem;font-weight:500;color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem;line-height:1.3}.stat-value{font-size:2rem;font-weight:700;color:var(--color-gray-900);line-height:1}.contracts-title{display:flex;align-items:center;font-size:1.25rem;font-weight:600;color:var(--color-gray-900);margin:0 0 var(--spacing-sm) 0}.contracts-description{font-size:.875rem;color:var(--color-gray-600);margin:0}@media(max-width:1024px){.contracts-header-top{flex-direction:column}.contracts-header-actions{justify-content:flex-start;width:100%;max-width:100%}}@media(max-width:768px){.contracts-stats{gap:.75rem}.stat-item{padding:1rem .75rem}.stat-label{font-size:.65rem}.stat-value{font-size:1.5rem}.contracts-header-actions{flex-direction:column;width:100%}.add-contract-btn,.export-csv-btn,.archived-contracts-btn,.bulk-upload-btn,.renewal-logs-btn{width:100%;justify-content:center}}@media(max-width:640px){.contracts-stats{flex-wrap:wrap}.stat-item{min-width:calc(50% - .5rem)}}.contracts-header-actions{display:flex;flex-wrap:nowrap;gap:8px;align-items:center;justify-content:flex-end;flex-shrink:1}.add-contract-btn,.export-csv-btn,.archived-contracts-btn,.bulk-upload-btn,.renewal-logs-btn{display:flex;align-items:center;padding:8px 12px;border:2px solid;background-color:transparent;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap;flex-shrink:0}.add-contract-btn,.export-csv-btn{border-color:var(--color-primary);color:var(--color-primary)}.add-contract-btn:hover:not(:disabled),.export-csv-btn:hover:not(:disabled){background-color:var(--color-primary);color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #16a34a40}.archived-contracts-btn{border-color:var(--color-gray-500);color:var(--color-gray-500)}.archived-contracts-btn:hover{background-color:var(--color-gray-500);color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #6b728040}.bulk-upload-btn{border-color:#7b1fa2;color:#7b1fa2}.bulk-upload-btn:hover:not(:disabled){background-color:#7b1fa2;color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #7b1fa240}.renewal-logs-btn{border-color:#3b82f6;color:#3b82f6}.renewal-logs-btn:hover{background-color:#3b82f6;color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f640}.add-contract-btn:disabled,.export-csv-btn:disabled,.bulk-upload-btn:disabled{opacity:.5;cursor:not-allowed;border-color:var(--color-gray-400);color:var(--color-gray-400);background-color:transparent}.add-contract-btn{display:flex;align-items:center;padding:8px 12px;border:2px solid var(--color-primary);background-color:var(--color-primary);color:#fff;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.add-contract-btn:hover:not(:disabled){background-color:var(--color-primary-dark);transform:translateY(-1px);box-shadow:0 4px 12px #16a34a40}.contracts-table-cell{padding:var(--spacing-md) 1.5rem;font-size:.875rem;color:var(--color-gray-900);vertical-align:top;overflow:visible!important;position:relative}.contract-actions{display:flex;gap:var(--spacing-sm);align-items:center;position:relative}.contracts-table-wrapper{overflow-x:auto;overflow-y:visible!important;box-shadow:var(--shadow-md);border:1px solid rgba(0,0,0,.05);border-radius:var(--radius-lg)}.contracts-table-container{margin-top:var(--spacing-xl);display:flex;flex-direction:column;overflow:visible!important}.contracts-table-body{background-color:#fff;border-top:1px solid var(--color-gray-200);overflow:visible!important}.contracts-table{min-width:100%;border-collapse:collapse;border-spacing:0;overflow:visible!important}.contracts-table-row{border-bottom:1px solid var(--color-gray-200);transition:background-color .2s ease;position:relative}.contracts-table-cell{padding:var(--spacing-md) 1.5rem;font-size:.875rem;color:var(--color-gray-900);vertical-align:top;position:relative}@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)}}.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}.delete-btn:hover{background-color:#fef2f2;border-color:#fca5a5;color:#dc2626}.delete-btn:disabled{opacity:.5;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}}.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{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}.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}.modal-actions{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e5e7eb}.modal-actions-right{display:flex;gap:.75rem;margin-left:auto}.btn-delete-customer{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:all .2s}.btn-delete-customer:hover:not(:disabled){background-color:#b91c1c;transform:translateY(-1px);box-shadow:0 4px 6px #dc26264d}.btn-delete-customer:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 4px #dc26264d}.btn-delete-customer:disabled{opacity:.6;cursor:not-allowed}.btn-delete-customer:focus{outline:2px solid #dc2626;outline-offset:2px}.btn-primary-green{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:all .2s}.btn-primary-green:hover:not(:disabled){background-color:#15803d;transform:translateY(-1px);box-shadow:0 4px 6px #16a34a4d}.btn-primary-green:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 4px #16a34a4d}.btn-primary-green:disabled{opacity:.6;cursor:not-allowed}.btn-primary-green:focus{outline:2px solid #22c55e;outline-offset:2px}.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: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)}.delete-modal{margin:.5rem;max-width:calc(100vw - 1rem)}.delete-modal-actions{flex-direction:column}.delete-modal-actions button{width:100%;justify-content:center}.modal-actions{flex-direction:column;align-items:stretch}.modal-actions-right{flex-direction:column;width:100%;margin-left:0}.btn-delete-customer,.btn-primary-green,.btn-secondary{width:100%;justify-content:center}}.pagination-controls{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#fff;border-radius:.5rem;margin-bottom:1rem;box-shadow:0 1px 3px #0000001a}.pagination-actions{display:flex;gap:2rem;align-items:center}.items-per-page label{font-size:.875rem;color:#6b7280}.items-per-page-select{padding:.375rem .75rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;cursor:pointer}.items-per-page-select:focus{outline:none;border-color:#16a34a;box-shadow:0 0 0 3px #16a34a1a}.page-info{font-size:.875rem;color:#374151;min-width:100px;text-align:center}.page-btn{padding:.5rem;border:1px solid #d1d5db;border-radius:.375rem;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.page-btn:hover:not(:disabled){background:#f9fafb;border-color:#16a34a}.page-btn:disabled{opacity:.5;cursor:not-allowed}.items-per-page{display:flex;align-items:center;gap:.5rem}.items-per-page label{font-size:.875rem;color:#6b7280;white-space:nowrap}.items-per-page .items-per-page-select{min-width:80px}.form-section{border-top:none!important;padding-top:0!important}.form-section-title{margin-top:1.5rem;margin-bottom:1rem;font-size:1rem;font-weight:600;color:#374151;border:none!important;padding:0!important}.form-section-title:first-child{margin-top:0}.dashboard-page{display:flex;flex-direction:column;gap:2rem}.dashboard-title{font-size:1.5rem;font-weight:600;color:#111827;margin-bottom:1.5rem}.dashboard-section{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem;animation:fadeInUp .4s ease-out;animation-fill-mode:both}.dashboard-section:last-child{margin-bottom:0}.dashboard-section.loading{opacity:.6;pointer-events:none}.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}.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-setup-section{margin-bottom:2rem}.dashboard-stats{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-bottom:2rem}.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:focus-within{outline:2px solid #3b82f6;outline-offset:2px}.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!important;font-weight:500!important;color:#000!important;display:block!important;margin:0 0 .5rem!important;line-height:1.2;overflow:visible!important;white-space:normal!important}.stat-value{font-size:2rem;font-weight:700;color:#111827;margin:0;line-height:1}.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}.resources-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}.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-card:focus-within{outline:2px solid #3b82f6;outline-offset:2px}.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}.progress-text{font-size:.75rem;color:#6b7280;text-align:center;font-weight:500}.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}.usage-progress .progress-bar{height:.75rem;margin-bottom:.5rem}.usage-progress .progress-fill{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}.alert-cards-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-bottom:2rem}.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}.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:focus-within{outline:2px solid #3b82f6;outline-offset: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}.contract-cards-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-bottom:2rem}.contract-card{background:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;border:1px solid #e5e7eb;overflow:hidden;transition:all .2s ease;animation:fadeInUp .4s ease-out;animation-fill-mode:both}.contract-card:hover{box-shadow:0 4px 6px -1px #0000001a}.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: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}.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:#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}.btn-contract-primary:focus{outline:2px solid #3b82f6;outline-offset:2px}.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-outline:focus{outline:2px solid #3b82f6;outline-offset:2px}.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;animation:pulse 1.5s ease-in-out infinite}.auto-renew-toggle:focus-within .toggle-slider{box-shadow:0 0 0 3px #3b82f61a}.toggle-label{font-size:.875rem;color:#374151;font-weight:500}.quick-actions{display:grid;grid-template-columns:1fr;gap:1rem}.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,.action-card:focus-within{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}.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}.dashboard-analytics-section{display:grid;gap:1.5rem;margin-bottom:2rem}.dashboard-chart{width:100%;background:#fff;border-radius:.75rem;padding:2rem;box-shadow:0 4px 6px -1px #0000001a;border:1px solid #e5e7eb;position:relative;overflow:hidden;margin-bottom:1.5rem}.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{width:100%;min-height:400px;height:400px;position:relative}.chart-container.utilization{min-height:500px;height:500px}.chart-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:20rem;gap:1rem;color:#6b7280}.chart-empty{display:flex;align-items:center;justify-content:center;height:20rem;color:#6b7280}.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}.partners-overlimit-alert{display:flex;gap:1rem;padding:1rem 1.5rem;margin-top:1.5rem;background:#fef3c7;border:1px solid #fde68a;border-radius:8px;color:#92400e}.partners-overlimit-alert svg{flex-shrink:0;margin-top:2px}.alert-content{flex:1}.overlimit-partners-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.overlimit-partner{padding:.25rem .75rem;background:#fee2e2;border:1px solid #fecaca;border-radius:4px;font-size:.875rem;color:#991b1b;font-weight:500}.no-contracts-message,.loading-message{grid-column:1 / -1;text-align:center;padding:4rem 2rem;background:#fff;border-radius:.75rem;border:2px dashed #d1d5db;transition:all .3s ease;animation:fadeInScale .6s ease-out}.loading-message{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;border:1px solid #e5e7eb;gap:1rem;color:#6b7280}.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}.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}.loading-spinner.small{width:1.5rem;height:1.5rem;border-width:2px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes progress-stripe{0%{background-position:0 0}to{background-position:1rem 0}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media(min-width:640px){.dashboard-stats{grid-template-columns:repeat(2,1fr)}.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(min-width:768px){.resources-grid,.alert-cards-grid{grid-template-columns:repeat(2,1fr)}.financial-metrics-grid{grid-template-columns:repeat(3,1fr)}.contract-cards-grid,.quick-actions{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.dashboard-stats{grid-template-columns:repeat(4,1fr)}.quick-actions{grid-template-columns:repeat(3,1fr)}.dashboard-analytics-section{grid-template-columns:2fr 1fr}}@media(max-width:768px){.alert-metrics{grid-template-columns:1fr;gap:.75rem}.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-title{font-size:1.25rem}.section-title{font-size:1.125rem}.dashboard-stats{grid-template-columns:1fr}.stat-card-content{flex-direction:row;text-align:left}.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}.chart-container{height:16rem}.chart-title{font-size:1.125rem}.chart-subtitle{font-size:.8125rem}.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}.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}.progress-warning{padding:.5rem;font-size:.8125rem}.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}}@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}}@media print{.dashboard-page{background:#fff;color:#000}.alert-card,.financial-metric-card,.stat-card,.resource-card,.dashboard-chart,.action-card{border:1px solid #000;box-shadow:none;break-inside:avoid}.alert-card:hover,.financial-metric-card:hover,.stat-card:hover,.resource-card:hover,.action-card:hover{transform:none}.dashboard-analytics-section{grid-template-columns:1fr}}.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}}.pagination-container{display:flex;align-items:center;justify-content:space-between;padding:1rem;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;gap:1rem}.pagination-info{display:flex;align-items:center}.pagination-text{font-size:.875rem;color:#374151}.pagination-controls{display:flex;align-items:center;gap:1.5rem}.rows-per-page{display:flex;align-items:center;gap:.5rem}.pagination-label{font-size:.875rem;color:#374151;white-space:nowrap}.pagination-buttons{display:flex;align-items:center;gap:.75rem}.pagination-btn{padding:.5rem .75rem;font-size:.875rem;font-weight:500;color:#374151;background-color:#fff;border:1px solid #d1d5db;border-radius:.375rem;cursor:pointer;transition:all .2s}.pagination-btn:hover:not(:disabled){background-color:#f9fafb;border-color:#9ca3af}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-pages{font-size:.875rem;color:#374151;white-space:nowrap}@media(max-width:768px){.pagination-container{flex-direction:column;align-items:stretch}.pagination-info{justify-content:center}.pagination-controls{flex-direction:column;gap:1rem}.rows-per-page{justify-content:space-between}.pagination-buttons{justify-content:center}}.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:#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-service-btn:hover{background-color:#15803d}.add-service-btn:focus{outline:2px solid #22c55e;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-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}@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}}.service-type-daypass{background-color:#e0f2fe;color:#0369a1}.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:#16a34a;border-bottom-color:#16a34a}.settings-tab:focus{outline:2px solid #16a34a;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}.email-templates-tab-content{padding:2rem}.email-templates-tab-header{margin-bottom:2rem}.email-templates-tab-title{display:flex;align-items:center;gap:.5rem;font-size:1.125rem;font-weight:600;color:#111827;margin:0 0 .5rem}.email-templates-tab-description{font-size:.875rem;color:#6b7280;margin:0}.email-templates-content{display:flex;flex-direction:column;gap:2rem}.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:#16a34a;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:#15803d}.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:#16a34a;box-shadow:0 0 0 3px #16a34a1a}.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}.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,#16a34a,#22c55e);color:#fff}.logo-btn-primary:hover{background:linear-gradient(135deg,#15803d,#16a34a)}.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}.upload-recommendation{margin-top:.25rem!important;font-size:.75rem!important;color:#9ca3af!important}.banner-upload-section{margin-top:1rem}.current-banner-container,.banner-preview-container{display:flex;flex-direction:column;gap:1.5rem;align-items:center}.banner-display-card{background:#f9fafb;border:2px dashed #d1d5db;border-radius:.75rem;padding:1.5rem;text-align:center;transition:all .3s ease;width:100%;max-width:800px}.banner-display-card:hover{border-color:#9ca3af;background:#f3f4f6}.banner-header{margin-bottom:1rem;display:flex;flex-direction:column;align-items:center;gap:.5rem}.banner-section-subtitle{margin:0;font-size:1rem;font-weight:600;color:#374151}.banner-image-container{display:flex;justify-content:center;align-items:center;min-height:160px;padding:1rem;border-radius:.5rem;background:#fff;border:1px solid #e5e7eb;width:100%}.banner-image{max-width:100%;max-height:300px;width:auto;height:auto;object-fit:contain;border-radius:.375rem;box-shadow:0 2px 4px #0000001a;transition:opacity .3s ease}.banner-image.uploading{opacity:.6}.banner-actions-container{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.banner-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}.banner-btn:hover{transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.banner-btn:active{transform:translateY(0);box-shadow:0 2px 4px #0000001a}.banner-btn-primary{background:linear-gradient(135deg,#16a34a,#22c55e);color:#fff}.banner-btn-primary:hover{background:linear-gradient(135deg,#15803d,#16a34a)}.banner-btn-danger{background:linear-gradient(135deg,#dc2626,#ef4444);color:#fff}.banner-btn-danger:hover{background:linear-gradient(135deg,#b91c1c,#dc2626)}.banner-btn-secondary{background:linear-gradient(135deg,#6b7280,#9ca3af);color:#fff}.banner-btn-secondary:hover{background:linear-gradient(135deg,#4b5563,#6b7280)}.banner-btn-large{padding:1rem 2rem;font-size:1rem;min-width:160px;height:50px}.banner-upload-empty{display:flex;flex-direction:column;gap:2rem;align-items:center;padding:2rem}.locations-tab-content .locations-modal-backdrop:not(.location-form-modal-backdrop){position:static;background:transparent;z-index:auto;padding:0}.location-form-modal-backdrop{position:fixed!important;inset:0!important;background-color:#0009!important;backdrop-filter:blur(4px)!important;-webkit-backdrop-filter:blur(4px)!important;z-index:1000!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:1rem!important}.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:not(.location-form-header){display:none}.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:#16a34a;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:#15803d}@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:#16a34a}.settings-form,.locations-tab-content,.email-templates-tab-content{padding:1.5rem}.current-logo-container,.logo-preview-container,.current-banner-container,.banner-preview-container{gap:1rem}.logo-display-card{min-width:260px;padding:1.25rem}.banner-display-card{max-width:100%}.logo-actions-container,.banner-actions-container{flex-direction:column;align-items:center;gap:.75rem}.logo-btn,.banner-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,.email-templates-tab-title{font-size:1rem;flex-direction:column;align-items:flex-start;gap:.25rem}}@media(max-width:480px){.settings-form,.locations-tab-content,.email-templates-tab-content{padding:1rem}.logo-display-card,.upload-placeholder{min-width:auto;width:100%;max-width:280px}.banner-display-card{padding:1rem}.logo-actions-container,.banner-actions-container{width:100%}.logo-btn,.banner-btn{max-width:none}.upload-icon{width:48px;height:48px}.upload-text h4{font-size:1rem}}.logo-btn:focus-visible,.banner-btn:focus-visible{outline:2px solid #16a34a;outline-offset:2px}.logo-btn-danger:focus-visible,.banner-btn-danger:focus-visible{outline-color:#dc2626}.logo-btn-secondary:focus-visible,.banner-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,.banner-display-card{animation:fadeInLogo .3s ease-in-out}@keyframes fadeInLogo{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.logo-image,.banner-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,.email-templates-tab-content{animation:fadeInUp .3s ease-in-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.email-template-list{display:flex;flex-direction:column;gap:1.5rem}.email-template-list-header{margin-bottom:1rem}.email-template-list-title{font-size:1.125rem;font-weight:600;color:#111827;margin:0 0 .5rem}.email-template-list-description{font-size:.875rem;color:#6b7280;margin:0}.template-cards{display:grid;grid-template-columns:1fr;gap:1rem}@media(min-width:768px){.template-cards{grid-template-columns:repeat(2,1fr)}}.template-card{display:flex;align-items:center;gap:1rem;padding:1.5rem;background:#fff;border:2px solid #e5e7eb;border-radius:.75rem;cursor:pointer;transition:all .2s ease}.template-card:hover{border-color:#16a34a;box-shadow:0 4px 6px #16a34a1a;transform:translateY(-2px)}.template-card-icon{flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-radius:.75rem;color:#16a34a}.template-card-content{flex:1}.template-card-title{font-size:1rem;font-weight:600;color:#111827;margin:0 0 .25rem}.template-card-description{font-size:.875rem;color:#6b7280;margin:0}.template-card-action{flex-shrink:0;color:#9ca3af;transition:color .2s ease}.template-card:hover .template-card-action{color:#16a34a}.email-template-editor{display:flex;flex-direction:column;gap:2rem}.email-template-editor-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:4rem;color:#6b7280}.email-template-editor-header{display:flex;flex-direction:column;gap:.5rem}.back-button{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:transparent;border:1px solid #e5e7eb;border-radius:.375rem;color:#6b7280;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;align-self:flex-start}.back-button:hover{background:#f9fafb;border-color:#d1d5db;color:#374151}.email-template-editor-title{font-size:1.25rem;font-weight:600;color:#111827;margin:.5rem 0 .25rem}.email-template-editor-description{font-size:.875rem;color:#6b7280;margin:0}.email-template-editor-content{display:grid;grid-template-columns:1fr;gap:2rem}@media(min-width:1024px){.email-template-editor-content{grid-template-columns:1fr 320px}}.email-template-editor-main{display:flex;flex-direction:column;gap:1.5rem}.template-field{display:flex;flex-direction:column;gap:.5rem}.template-field-label{font-size:.875rem;font-weight:600;color:#374151}.template-subject-input{width:100%;padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;color:#111827;transition:border-color .2s,box-shadow .2s}.template-subject-input:focus{outline:none;border-color:#16a34a;box-shadow:0 0 0 3px #16a34a1a}.template-field-hint{font-size:.75rem;color:#9ca3af;margin:0;font-style:italic}.template-editor-toolbar{display:flex;align-items:center;gap:.25rem;padding:.5rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:.375rem .375rem 0 0;border-bottom:none}.toolbar-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:none;border-radius:.25rem;color:#6b7280;cursor:pointer;transition:all .2s ease}.toolbar-btn:hover{background:#e5e7eb;color:#374151}.toolbar-btn.active{background:#16a34a;color:#fff}.toolbar-divider{width:1px;height:24px;background:#e5e7eb;margin:0 .25rem}.template-editor{min-height:400px;max-height:600px;overflow-y:auto;padding:1.5rem;border:1px solid #e5e7eb;border-radius:0 0 .375rem .375rem;background:#fff;font-size:.875rem;line-height:1.6;color:#111827}.template-editor:focus{outline:none;border-color:#16a34a;box-shadow:0 0 0 3px #16a34a1a}.template-editor h2{font-size:1.5rem;font-weight:600;margin:1rem 0}.template-editor p{margin:.75rem 0}.template-editor ul{margin:.75rem 0;padding-left:1.5rem}.template-editor li{margin:.5rem 0}.template-editor a{color:#16a34a;text-decoration:underline}.template-preview{min-height:400px;max-height:600px;overflow-y:auto;padding:1.5rem;border:1px solid #e5e7eb;border-radius:0 0 .375rem .375rem;background:#fafafa;font-size:.875rem;line-height:1.6;color:#111827}.template-preview h2{font-size:1.5rem;font-weight:600;margin:1rem 0}.template-preview p{margin:.75rem 0}.template-preview ul{margin:.75rem 0;padding-left:1.5rem}.template-preview li{margin:.5rem 0}.template-preview a{color:#16a34a;text-decoration:underline}.template-preview strong{color:#16a34a;font-weight:600}.template-editor-actions{display:flex;justify-content:flex-end;gap:1rem;padding-top:1rem;border-top:1px solid #e5e7eb}.btn-secondary{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#fff;border:1px solid #d1d5db;border-radius:.375rem;color:#374151;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-secondary:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-primary{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#16a34a;border:none;border-radius:.375rem;color:#fff;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s ease}.btn-primary:hover:not(:disabled){background:#15803d}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.email-template-variables{display:flex;flex-direction:column;gap:1rem;padding:1.5rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:.75rem;align-self:flex-start;position:sticky;top:1rem}.variables-title{font-size:1rem;font-weight:600;color:#111827;margin:0}.variables-description{font-size:.875rem;color:#6b7280;margin:0}.variables-list{display:flex;flex-direction:column;gap:.5rem}.variable-item{display:flex;flex-direction:column;gap:.25rem;padding:.75rem;background:#fff;border:1px solid #e5e7eb;border-radius:.375rem;text-align:left;cursor:pointer;transition:all .2s ease}.variable-item:hover{border-color:#16a34a;background:#f0fdf4}.variable-code{font-family:Courier New,monospace;font-size:.75rem;font-weight:600;color:#16a34a;background:#f0fdf4;padding:.25rem .5rem;border-radius:.25rem;align-self:flex-start}.variable-description{font-size:.75rem;color:#6b7280}.variables-hint{margin-top:.5rem;padding:1rem;background:#fffbeb;border:1px solid #fde047;border-radius:.375rem}.hint-title{font-size:.75rem;font-weight:600;color:#854d0e;margin:0 0 .25rem}.hint-text{font-size:.75rem;color:#a16207;margin:0}@media(max-width:1024px){.email-template-variables{position:static}}@media(max-width:768px){.template-cards{grid-template-columns:1fr}.template-card{padding:1.25rem}.template-card-icon{width:40px;height:40px}.template-editor-actions{flex-direction:column}.btn-secondary,.btn-primary{width:100%;justify-content:center}.template-editor,.template-preview{min-height:300px;max-height:400px}}@media(max-width:640px){.email-template-editor{gap:1.5rem}.template-editor-toolbar{gap:.125rem;padding:.25rem}.toolbar-btn{width:32px;height:32px}}.loading-spinner{display:inline-block;width:2rem;height:2rem;border:3px solid rgba(22,163,74,.3);border-radius:50%;border-top-color:#16a34a;animation:spin 1s ease-in-out infinite}.template-customized-badge{display:inline-block;margin-left:.5rem;padding:.125rem .5rem;font-size:.75rem;font-weight:500;color:#16a34a;background-color:#dcfce7;border-radius:9999px}.template-card-title{display:flex;align-items:center;font-size:1rem;font-weight:600;color:#111827;margin-bottom:.25rem}.loading-spinner{display:inline-block;width:2rem;height:2rem;border:3px solid #f3f4f6;border-top-color:#16a34a;border-radius:50%;animation:spin .8s linear infinite;margin:2rem auto}@keyframes spin{to{transform:rotate(360deg)}}.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}}
