@charset "UTF-8";@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap);body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{background-color:#f5f7fa;display:flex;flex-direction:column;font-family:Inter,sans-serif;min-height:100vh;padding-bottom:60px;text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.header{align-items:center;background:#fff;box-shadow:0 1px 3px #00000014;display:flex;height:72px;padding:0 1.5rem;position:sticky;top:0;z-index:1000}.header-content{margin:0 auto;max-width:1600px;width:100%}.header-content,.logo-container{align-items:center;display:flex;height:100%;justify-content:center}.logo-container{padding:.5rem 0;position:relative}.logo{height:60px!important;max-height:60px!important;object-fit:contain;position:relative;width:auto}@media (max-width:768px){.header{height:64px;padding:0 1rem}.logo-container{height:100%;margin:0}.logo{height:48px!important;max-height:48px!important}}.nav-menu{gap:.6rem}.nav-item,.nav-menu{align-items:center;display:flex}.nav-item{border-radius:6px;color:#64748b;font-size:.95rem;font-weight:500;gap:.45rem;height:42px;padding:.45rem .85rem;text-decoration:none;transition:all .2s ease}.nav-item:hover{background:#f1f5f9;color:#1e293b}.nav-item.active{background:#e0e7ff;color:#4f46e5}.nav-icon{font-size:1.1rem}.logout-btn{align-items:center;background:none;border:none;border-radius:5px;color:#64748b;cursor:pointer;display:flex;font-size:.85rem;font-weight:500;gap:.35rem;height:36px;padding:.35rem .65rem;transition:all .2s ease}.logout-btn:hover{background:#fee2e2;color:#ef4444}@media (max-width:768px){.header{height:64px;padding:0 1rem}.logo-container{height:32px;margin:16px 0}.logo{height:24px}.nav-menu{gap:.4rem}.nav-item{height:38px;padding:.4rem .65rem}.nav-item span{display:none}.nav-icon{font-size:1.25rem}}.add-bill-btn{background-color:#fff;border:none;border-radius:8px;box-shadow:0 2px 4px #0000001a;color:#06c;cursor:pointer;font-size:.95rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease}.add-bill-btn:hover{box-shadow:0 4px 6px #00000026;transform:translateY(-1px)}.bills-table{background-color:#fff;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;margin:2rem;overflow:hidden}.table-header .column:last-child{text-align:center}.table-row{border-bottom:1px solid #e2e8f0;grid-template-columns:2fr 2fr 1fr 1fr;padding:1.25rem 1rem;transition:background-color .2s ease}.table-row:nth-child(2n){background-color:#f8fafc}.table-row:hover{background-color:#f1f5f9}.table-row.highlighted{background-color:#f0f9ff!important;border-left:3px solid #06c}.table-row.highlighted:hover{background-color:#e0f2fe!important}.column{align-items:center;color:#475569;display:flex}.action-btn{background:none;border-radius:6px;font-size:1.1rem}.action-btn:hover{background-color:#f1f5f9}.action-btn.edit:hover{color:#06c}.action-btn.delete:hover{color:#dc2626}.totals{display:flex;gap:2rem;margin:2rem auto;max-width:800px}.total-box{background-color:#fff;border-radius:10px;box-shadow:0 4px 6px -1px #0000001a;flex:1 1;padding:1.5rem 2.5rem;transition:transform .2s ease}.total-box:hover{transform:translateY(-2px)}.total-label{color:#64748b;font-size:.9rem;margin-bottom:.5rem}.total-amount{color:#0f172a;font-size:1.5rem;font-weight:600}.footer{bottom:0;display:flex;justify-content:center;left:0;padding:.75rem;position:fixed;right:0;z-index:1000}.nav-btn{align-items:center;background:none;border:none;border-radius:8px;color:#64748b;cursor:pointer;display:flex;font-size:.95rem;gap:.5rem;padding:.5rem 1rem;transition:all .2s ease}@media (max-width:768px){.nav-btn{font-size:.85rem;padding:.5rem .75rem}}.nav-btn:hover{background-color:#f1f5f9;color:#06c;transform:translateY(-2px)}.nav-btn.active{background-color:#e0f2fe;color:#06c}.nav-btn span{font-size:.85rem;font-weight:500}.nav-icon{font-size:1.5rem}@media (max-width:768px){.nav-btn{min-width:60px;padding:.5rem}.nav-btn span{font-size:.75rem}.nav-icon{font-size:1.25rem}.bills-table,.totals{margin:1rem}.totals{flex-direction:column}.footer{gap:1rem}.nav-btn{font-size:.9rem;padding:.75rem 1rem}}.dashboard{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr;margin:2rem}.chart-container{background:#fff;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;padding:1.5rem}.chart-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.chart-container h3{color:#334155;font-size:1.1rem;margin:0}.filters{align-items:center;display:flex;gap:1rem;justify-content:flex-end;margin:2rem}.filter-select{border:1px solid #e2e8f0;border-radius:6px;color:#475569;min-width:150px;padding:.75rem}.category-tag{background:#e0f2fe;border-radius:4px;color:#06c;padding:.2rem .5rem}.category-tag,.due-tag{font-size:.8rem;margin-left:.5rem}.due-tag{color:#dc2626}.status-tag{border-radius:4px;font-size:.8rem;padding:.3rem .6rem}.status-tag.pending{background:#fef3c7;color:#d97706}.status-tag.paid{background:#dcfce7;color:#15803d}.status-tag.overdue{background:#fee2e2;color:#dc2626}.stats-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:2rem 2rem 1rem}.stat-box{background-color:#fff;border-radius:12px;box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:column;min-width:0;padding:1.5rem;transition:transform .2s ease}.stat-box:hover{transform:translateY(-2px)}.stat-label{color:#64748b;font-size:.9rem;margin-bottom:.5rem}.stat-value{align-items:center;color:#1a202c;display:flex;font-size:1.5rem;font-weight:600;gap:10px;justify-content:center;margin:.5rem 0;min-width:0}.stat-value.budget-container{justify-content:flex-start}.budget-container{align-items:center;display:flex;gap:10px;min-width:0;width:100%}.budget-input{border:1px solid #e2e8f0;border-radius:6px;color:#1a202c;flex:1 1;font-size:1rem;min-width:0;padding:8px}.save-budget-btn{background-color:#06c;border:none;border-radius:6px;color:#fff;cursor:pointer;flex-shrink:0;font-size:.9rem;font-weight:500;padding:8px 16px;transition:all .2s ease;white-space:nowrap}.save-budget-btn:hover{background-color:#0052a3;transform:translateY(-1px)}.save-budget-btn:active{transform:translateY(0)}.stat-change{color:#64748b;font-size:.875rem}.stat-change.positive{color:#15803d}.stat-change.negative{color:#dc2626}@media (max-width:1024px){.dashboard{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin:1rem}}.forecast-container{grid-column:1/-1}.forecast-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:1rem}.forecast-month{background:#f8fafc;border-radius:8px;padding:1rem}.forecast-month h4{color:#334155;font-size:1rem;margin:0 0 1rem}.forecast-item{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:.75rem}.forecast-item:last-child{border-bottom:none}.forecast-name{color:#475569;font-size:.9rem}.forecast-amount{align-items:center;display:flex;font-weight:500;gap:.5rem}.forecast-trend{border-radius:4px;font-size:.8rem;padding:.2rem .4rem}.forecast-trend.positive{background:#dcfce7;color:#15803d}.forecast-trend.negative{background:#fee2e2;color:#dc2626}.forecast-trend.neutral{background:#f1f5f9;color:#64748b}.modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a;display:flex;flex-direction:column;max-height:90vh;max-width:500px;overflow-y:auto;padding:2rem;width:90%}.modal-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:1rem 1.5rem}.modal-header h2{color:#0f172a;font-size:1.25rem;margin:0}.modal-header .modal-actions{align-items:center;display:flex;gap:.75rem}.edit-btn{background-color:#06c;border-radius:6px;font-size:.9rem;padding:.5rem 1rem;transition:all .2s ease}.edit-btn:hover{background-color:#0052a3;transform:translateY(-1px)}.close-btn{align-items:center;background:none;border:none;color:#64748b;cursor:pointer;display:flex;font-size:1.5rem;justify-content:center;padding:.25rem;transition:color .2s ease}.close-btn:hover{color:#0f172a}.modal-form{display:flex;flex-direction:column;gap:1.5rem;padding-bottom:1rem}.form-group{gap:.5rem}.form-group label{color:#475569;font-size:.9rem}.form-group input,.form-group select{border:1px solid #e2e8f0;border-radius:6px;color:#0f172a;font-size:1rem;padding:.75rem}.form-group input:focus,.form-group select:focus{border-color:#06c;box-shadow:0 0 0 3px #0066cc1a;outline:none}.modal-actions{background:#fff;border-top:1px solid #e5e7eb;bottom:0;display:flex;gap:1rem;justify-content:flex-end;margin-top:1rem;padding:1rem 0;position:sticky}.cancel-btn{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#475569}.cancel-btn,.submit-btn{cursor:pointer;font-size:.95rem;padding:.75rem 1.5rem;transition:all .2s ease}.submit-btn{background:#06c;border:none;border-radius:6px;color:#fff}.cancel-btn:hover{background:#f1f5f9}.submit-btn:hover{background:#0055b3}.crew-table,.staff-table{background-color:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;margin:1rem 2rem 2rem;overflow:hidden}.table-header .column{color:#1e293b;font-size:.9rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.table-row{align-items:center;border-bottom:1px solid #f1f5f9;display:grid;grid-template-columns:1.5fr 1.5fr 1fr 1fr 1fr .8fr;padding:1rem 1.5rem;transition:all .2s ease}.table-row:hover{background-color:#f8fafc;box-shadow:0 4px 12px #0000000d;transform:translateY(-1px)}.table-row .column{color:#334155;font-size:.95rem}.employee-status{align-items:center;border-radius:20px;display:inline-flex;font-size:.85rem}.employee-status,.salary-amount{font-weight:500;padding:.4rem .8rem}.salary-amount{background:#f1f5f9;border-radius:6px;color:#0f172a;font-family:Inter,monospace}.commission-tag{align-items:center;background:#f0f9ff;border-radius:12px;color:#0369a1;display:inline-flex;font-size:.85rem;font-weight:500;padding:.3rem .6rem}.actions{display:flex;gap:.75rem;justify-content:flex-end}.action-btn.edit{color:#06c}.action-btn.delete{color:#dc2626}.crew-section{margin-top:3rem}.section-header{align-items:center;display:flex;justify-content:space-between;margin:2rem 2rem 1rem}.section-header h3{color:#0f172a;font-size:1.25rem;font-weight:600;margin:0}.crew-members{display:flex;flex-wrap:wrap;gap:.5rem}.member-tag{background:#f0f9ff;border-radius:20px;color:#0369a1;font-size:.85rem}.hourly-cost,.member-tag{align-items:center;display:inline-flex;font-weight:500;padding:.4rem .8rem}.hourly-cost{background:#f0fdf4;border-radius:8px;color:#15803d}.empty-state{color:#64748b;text-align:center}.empty-state-text{font-size:1.1rem;margin-bottom:1rem}.view-selector{display:flex;gap:1rem;justify-content:center;margin:2rem}.view-btn{background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#475569;cursor:pointer;padding:.75rem 1.5rem;transition:all .2s ease}.view-btn.active{background:#06c;border-color:#06c;color:#fff}.calendar-section{margin:2rem}.calendar-container{background:#fff;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;padding:1.5rem}.project-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:1rem}.project-card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:1.5rem}.completion-bar{background:#e2e8f0;border-radius:4px;height:8px;margin-top:.5rem}.completion-progress{background:#06c;border-radius:4px;height:100%;transition:width .3s ease}.metrics-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));margin:2rem}.metric-card{background:#fff;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;padding:1.5rem}.crew-metrics{border-bottom:1px solid #e2e8f0;padding:1rem}.metric-stats{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-top:.5rem}.metric-item{display:flex;flex-direction:column;gap:.25rem}.metric-item span:first-child{color:#64748b;font-size:.9rem}.metric-item span:last-child{color:#0f172a;font-weight:500}.time-clock-grid{grid-gap:1rem;display:grid;gap:1rem}.time-clock-entry{align-items:center;background:#f8fafc;border-radius:6px;display:flex;justify-content:space-between;padding:.75rem}.clock-status{border-radius:4px;font-size:.9rem;padding:.25rem .5rem}.clock-status.in{background:#dcfce7;color:#15803d}.clock-status.out{background:#fee2e2;color:#dc2626}.insurance-status{border-radius:4px;font-size:.9rem;padding:.25rem .5rem}.insurance-status.active{background:#dcfce7;color:#15803d}.insurance-status.inactive{background:#fee2e2;color:#dc2626}.table-header{background:#f8fafc;border-bottom:2px solid #e2e8f0;display:grid;grid-template-columns:1.5fr 1.5fr 1fr 1fr 1fr .8fr;padding:1.25rem 1.5rem}.crew-table .table-header,.crew-table .table-row{grid-template-columns:1.5fr 2fr 1fr .8fr}.column.actions{display:flex;gap:.75rem;justify-content:center}.action-btn{background:#0000;border:none;border-radius:8px;cursor:pointer;padding:.5rem;transition:all .2s ease}.action-btn:hover{background-color:#f8fafc;transform:translateY(-1px)}.calendar-event{box-shadow:0 2px 4px #0000001a;font-size:.9rem;font-weight:500;transition:all .2s ease}.calendar-event:hover{box-shadow:0 4px 6px #00000026}.availability-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:1rem}.availability-card{background:#fff;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;padding:1.5rem}.availability-card h4{color:#0f172a;margin:0 0 1rem}.availability-status{background:#f0fdf4;border-radius:20px;color:#15803d;display:inline-block;font-size:.9rem;font-weight:500;margin-bottom:1rem;padding:.5rem 1rem}.events-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));margin-top:1rem}.event-card{background:#fff;border-left-style:solid;border-left-width:4px;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;margin-bottom:1rem;padding:1.5rem;transition:all .2s ease}.event-card:hover{box-shadow:0 6px 8px -2px #00000026;transform:translateY(-2px)}.event-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.event-header h4{color:#0f172a;margin:0}.event-date{color:#64748b;font-size:.9rem}.event-details{color:#475569;font-size:.95rem}.event-details p{margin:.5rem 0}.event-description{border-top:1px solid #e2e8f0;color:#64748b;font-size:.9rem;margin-top:1rem;padding-top:1rem}.calendar-container{margin-bottom:2rem}.calendar-container .rbc-calendar{background:#fff;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;padding:1rem}textarea{border:1px solid #e2e8f0;border-radius:6px;color:#0f172a;font-size:1rem;padding:.75rem;resize:vertical;width:100%}textarea:focus{border-color:#06c;box-shadow:0 0 0 3px #0066cc1a;outline:none}.event-details-content{padding:1.5rem}.detail-row{margin-bottom:1rem}.detail-label{color:#64748b;display:block;font-size:.9rem;margin-bottom:.25rem}.crew-details{margin-top:.5rem}.crew-name{color:#0f172a;display:block;font-weight:500;margin-bottom:.5rem}.event-crew{margin:1rem 0}.crew-info{background:#f8fafc;border-radius:8px;margin-top:.5rem;padding:.75rem}.calendar-event:hover{box-shadow:0 4px 6px #0000001a;cursor:pointer;transform:translateY(-1px)}.toggle-switch{display:inline-block;height:24px;position:relative;width:50px}.toggle-switch input{height:0;opacity:0;width:0}.toggle-slider{background-color:#cbd5e1;border-radius:24px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.4s}.toggle-slider:before{background-color:#fff;border-radius:50%;bottom:4px;content:"";height:16px;left:4px;position:absolute;transition:.4s;width:16px}input:checked+.toggle-slider{background-color:#22c55e}input:checked+.toggle-slider:before{transform:translateX(26px)}.projects-table{background-color:#fff;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;margin:1rem 2rem 2rem;overflow:hidden}.projects-table .table-header,.projects-table .table-row{gap:1rem;grid-template-columns:1.5fr 1.5fr 2fr 1fr .5fr .8fr}.projects-table .column:nth-child(5){align-items:center;display:flex;justify-content:center}.projects-table .column:nth-child(4){justify-content:flex-end;padding-right:2rem}.checkbox-label{align-items:center;cursor:pointer;display:flex;gap:.5rem}.checkbox-label input[type=checkbox]{cursor:pointer;height:1rem;width:1rem}.checkbox-label span{color:#0f172a;font-size:.95rem}.quote-container{display:flex;gap:2.5rem;max-width:1800px}.quote-form{background:#fff;border-radius:16px;flex:0 0 60%}.quote-form,.quote-sidebar{box-shadow:0 4px 20px #0000000d;padding:2.5rem}.quote-sidebar{flex:0 0 35%;height:fit-content}.form-section{border-bottom:1px solid #e5e7eb;padding:2rem 0}.form-section h2{color:#111827;letter-spacing:-.025em;margin:0 0 1.5rem}.customer-info-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr}.input-group{gap:.75rem}.input-group label{color:#4b5563;font-size:.9rem}.input-group input,.input-group select{background-color:#f9fafb;border:2px solid #e5e7eb;border-radius:10px;color:#111827;font-size:.95rem;padding:.875rem 1rem;width:100%}.input-group input:focus,.input-group select:focus{background-color:#fff;border-color:#06c;box-shadow:0 0 0 3px #0066cc1a}.input-group input:hover,.input-group select:hover{background-color:#fff;border-color:#d1d5db}.cost-section{background:#fff;margin-bottom:2rem;transition:all .2s ease}.cost-section:hover{box-shadow:0 4px 12px #0000000d;transform:translateY(-2px)}.cost-header{margin-bottom:1.5rem}.cost-header h3{color:#111827}.material-item{background:#fff;border:1px solid #e5e7eb}.material-item:hover{background:#f0f9ff;border-color:#06c}.total-costs{background:#fff;margin-top:2.5rem}.cost-row{color:#4b5563;padding:1rem 0}.cost-row.total{border-top:2px solid #e5e7eb;color:#111827;padding-top:1.5rem}.quote-actions{display:flex;flex-direction:column;gap:1rem;margin-top:2.5rem}.quote-btn{border-radius:10px}.quote-btn.primary{background:#06c}.quote-btn.primary:hover{background:#0052a3;box-shadow:0 4px 12px #06c3;transform:translateY(-2px)}.quote-btn.secondary{background:#fff;border:2px solid #06c;color:#06c}.quote-btn.secondary:hover{background:#f0f9ff;box-shadow:0 4px 12px #0066cc1a;transform:translateY(-2px)}@media (max-width:1200px){.quote-container{flex-direction:column}.quote-form,.quote-sidebar{flex:none;width:100%}}@media (max-width:768px){.customer-info-grid,.materials-grid{grid-template-columns:1fr}.quote-container{padding:1rem}}.materials-grid.centered{gap:2rem;grid-template-columns:repeat(auto-fit,minmax(180px,200px));justify-content:center;margin:0 auto;max-width:500px}.materials-grid.centered.single{grid-template-columns:minmax(auto,400px)}.bills-table,.calendar-container,.cost-section,.modal,.projects-table,.quote-form,.quote-sidebar,.stat-box,.total-box{background-color:#fff;box-shadow:0 2px 4px #0000000d}.header{border-bottom:1px solid #e5e7eb}.footer,.header{background-color:#fff}.footer{border-top:1px solid #e5e7eb}.cost-pie-chart{border:1px solid #e5e7eb;margin-top:2.5rem;max-width:1000px;min-height:550px}.cost-pie-chart h3{color:#111827;font-size:1.1rem;margin-bottom:1.5rem}.recharts-tooltip-wrapper{z-index:1000}.recharts-default-legend{margin-top:1rem!important}.recharts-legend-item-text{color:#4b5563!important}.recharts-text{font-family:Inter,sans-serif;font-size:12px}.presets-table{background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000000d;margin:2rem;overflow:hidden}.material-tag{border-radius:4px;display:inline-block;margin:.25rem;padding:.25rem .5rem}.footer{gap:1.5rem}@media (max-width:1024px){.footer{gap:1rem}.nav-btn{font-size:.9rem;padding:.75rem 1rem}}.materials-input{display:flex;flex-direction:column;gap:.75rem}.materials-input input{border:1px solid #e2e8f0;border-radius:6px;color:#0f172a;font-size:1rem;padding:.75rem}.materials-input input:focus{border-color:#06c;box-shadow:0 0 0 3px #0066cc1a;outline:none}.materials-tags{border:1px dashed #e2e8f0;border-radius:6px;gap:.5rem;max-height:200px;min-height:2.5rem;overflow-y:auto;padding:.5rem}.materials-tags::-webkit-scrollbar{width:6px}.materials-tags::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.materials-tags::-webkit-scrollbar-thumb{background:#888;border-radius:3px}.materials-tags::-webkit-scrollbar-thumb:hover{background:#555}.material-tag{background:#e0f2fe;border-radius:20px;color:#06c;display:inline-flex;font-size:.85rem;font-weight:500;gap:.5rem;padding:.4rem .8rem}.remove-material{align-items:center;border-radius:50%;color:#06c;display:flex;font-size:1.1rem;height:20px;justify-content:center;padding:0;transition:all .2s ease;width:20px}.remove-material:hover{background:#06c;color:#fff}.presets-table .table-header,.presets-table .table-row{grid-template-columns:1fr 1fr 2fr 1fr 1fr .8fr}.presets-table .column:nth-child(3){display:flex;flex-wrap:wrap;gap:.5rem;padding:.5rem}.material-input-row{gap:.5rem;margin-bottom:1rem}.material-input-row input{border:1px solid #e2e8f0;border-radius:6px;color:#0f172a;font-size:1rem;padding:.75rem}.material-input-row input[type=text]:first-child{flex:2 1}.material-input-row input[type=text]:nth-child(2){flex:1 1;min-width:100px}.material-input-row input[type=number]{flex:1 1;min-width:80px}.add-material-btn{background:#06c;border-radius:6px;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease}.add-material-btn:hover{background:#0052a3}.materials-details{padding:1rem}.materials-table{border-collapse:collapse;margin-top:1rem;width:100%}.materials-table td,.materials-table th{border-bottom:1px solid #e2e8f0;padding:1rem;text-align:left}.materials-table th{background:#f8fafc;color:#1e293b;font-weight:600}.materials-table tr:hover{background:#f8fafc}.action-btn.view{color:#06c}.action-btn.view:hover{background-color:#e0f2fe}.settings-section{background:#fff;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;margin:2rem;padding:2rem}.settings-section h3{color:#334155;font-size:1.25rem;margin-bottom:1.5rem}.settings-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,auto);margin-bottom:2rem}.setting-group{background:#f8fafc;border-radius:8px;display:flex;flex-direction:column;gap:.75rem;padding:1rem;transition:all .2s ease}.setting-group:hover{background:#f1f5f9;box-shadow:0 2px 4px #0000000d;transform:translateY(-2px)}.setting-group label{color:#475569;font-size:.9rem;font-weight:500}.settings-input{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#0f172a;font-size:1rem;padding:.75rem;transition:all .2s ease}.settings-input:focus{border-color:#06c;box-shadow:0 0 0 3px #0066cc1a;outline:none}.settings-input:hover{border-color:#cbd5e1}.settings-actions{align-items:center;border-top:1px solid #e0e0e0;display:flex;margin-top:24px;padding-top:16px}.save-settings-btn{align-items:center;background-color:#4caf50;border:none;border-radius:4px;box-shadow:0 2px 5px #0000001a;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;justify-content:center;min-width:130px;padding:10px 20px;transition:all .2s ease}.save-settings-btn:hover{background-color:#3d8b40;box-shadow:0 4px 8px #0000001a;transform:translateY(-1px)}.save-settings-btn:active{box-shadow:0 1px 3px #0000001a;transform:translateY(1px)}.save-settings-btn:disabled{background-color:#ccc;box-shadow:none;color:#999;cursor:not-allowed;transform:none}.settings-saved-message{align-items:center;animation:fadeInOut 3s ease forwards;color:#4caf50;display:flex;font-size:14px;font-weight:500;margin-left:16px}.settings-saved-message:before{content:"✓";font-weight:700;margin-right:6px}@keyframes fadeInOut{0%{opacity:0}15%{opacity:1}80%{opacity:1}to{opacity:0}}.loading-state{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:40px;text-align:center}.loading-spinner{border-top-color:#3498db}.loading-text{color:#666;font-size:16px}.empty-state{align-items:center;background:#fff;display:flex;flex-direction:column;padding:3rem}.empty-state-icon{font-size:2rem;margin-bottom:1rem}.empty-state-text{color:#64748b;margin-bottom:1.5rem}.form-section h2{color:#0f172a;margin-bottom:1rem}.cost-breakdown{margin-top:.5rem;padding-left:1rem}.cost-breakdown small{color:#64748b;font-size:.85rem}.materials-grid{margin-bottom:1.5rem}.materials-grid input[type=number]{border:1px solid #e2e8f0;border-radius:6px;font-size:.95rem;padding:.75rem;transition:all .2s ease;width:100%}.materials-grid input[type=number]:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.cost-row{position:relative}.cost-row .cost-breakdown{background:#f8fafc;border-radius:6px;margin-top:.5rem;padding:.75rem}.cost-row .cost-breakdown small{display:flex;justify-content:space-between;padding:.25rem 0}.settings-container{max-width:800px;padding:20px 20px 80px}.settings-title{color:#333;font-size:24px;margin-bottom:20px}.settings-section{box-shadow:0 2px 4px #0000001a;margin-bottom:20px}.settings-section h2{color:#333;font-size:18px;margin-bottom:15px}.account-info p{font-size:16px;margin:8px 0}.sign-out-button{background-color:#f44336;font-size:16px;padding:10px 16px;transition:background-color .3s}.sign-out-button:hover{background-color:#d32f2f}.form-section:has(h2:contains("Labor")) .materials-grid{grid-template-columns:repeat(3,1fr);max-width:100%}@media (max-width:768px){.form-section:has(h2:contains("Labor")) .materials-grid{grid-template-columns:1fr}}.labor-grid{grid-gap:1.5rem!important;display:grid!important;gap:1.5rem!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;margin:0!important;max-width:100%!important;padding:0 1rem!important}.labor-grid .input-group{display:flex;flex-direction:column;gap:.5rem;min-width:0;position:relative;width:100%}.labor-grid .input-group label{color:#4b5563;font-size:.875rem;font-weight:500}.labor-grid .input-group input,.labor-grid .input-group select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:#f9fafb;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 1rem center;background-repeat:no-repeat;background-size:1em;border:2px solid #e5e7eb;border-radius:10px;box-sizing:border-box;color:#111827;font-size:.95rem;min-width:0;padding:.875rem 2.5rem .875rem 1rem;transition:all .2s ease;width:100%}.labor-grid .input-group input:hover,.labor-grid .input-group select:hover{background-color:#fff;border-color:#d1d5db}.labor-grid .input-group input:focus,.labor-grid .input-group select:focus{background-color:#fff;border-color:#06c;box-shadow:0 0 0 3px #0066cc1a;outline:none}@media (max-width:1200px){.labor-grid{grid-template-columns:repeat(2,1fr)!important}}@media (max-width:768px){.labor-grid{grid-template-columns:1fr!important}}@media (min-width:768px) and (max-width:1024px){.dashboard{grid-template-columns:1fr}.dashboard,.stats-grid{gap:1.5rem;margin:1.5rem}.stats-grid{grid-template-columns:repeat(2,1fr)}.quote-container{padding:1.5rem}.customer-info-grid,.materials-grid{gap:1.5rem;grid-template-columns:repeat(2,1fr)}.nav-btn{font-size:.95rem;padding:.75rem 1.25rem}.bills-table,.projects-table{margin:1.5rem}.chart-container{padding:1.25rem}.quote-sidebar{padding:2rem}.modal{max-width:600px;width:80%}}.calendar-section .crew-availability,.calendar-section .upcoming-events{background:linear-gradient(180deg,#fff,#f8fafc);border-radius:24px;box-shadow:0 4px 6px -1px #00000008;margin:2.5rem 2rem;padding:2rem}.calendar-section .section-title,.calendar-section h3{align-items:center;color:#1e293b;display:flex;font-size:1.75rem;font-weight:700;gap:.75rem;letter-spacing:-.02em;margin-bottom:2rem;padding:0 .5rem}.calendar-section .availability-grid,.calendar-section .events-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}.calendar-section .availability-card,.calendar-section .event-card{background:#fff;border:1px solid #e2e8f0e6;border-radius:20px;box-shadow:0 4px 6px -1px #00000008,0 2px 4px -1px #00000005,inset 0 0 0 1px #ffffff80;overflow:hidden;padding:2rem;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.calendar-section .availability-card:before,.calendar-section .event-card:before{background:linear-gradient(90deg,#3b82f6,#2563eb);content:"";height:4px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.calendar-section .availability-card:hover:before,.calendar-section .event-card:hover:before{opacity:1}.calendar-section .availability-card:hover,.calendar-section .event-card:hover{box-shadow:0 20px 25px -5px #0000000f,0 10px 10px -5px #00000008,inset 0 0 0 1px #ffffffb3;transform:translateY(-3px)}.calendar-section .availability-card h4{align-items:center;color:#0f172a;display:flex;font-size:1.3rem;font-weight:700;gap:.75rem;letter-spacing:-.01em;margin-bottom:1.5rem}.calendar-section .availability-status{align-items:center;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-radius:100px;box-shadow:0 2px 4px #15803d14,inset 0 0 0 1px #15803d1a;color:#15803d;display:inline-flex;font-size:1rem;font-weight:600;margin-bottom:1.5rem;padding:.75rem 1.5rem}.calendar-section .crew-members{display:flex;flex-wrap:wrap;gap:.875rem;padding:.75rem 0}.calendar-section .member-tag{align-items:center;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-radius:100px;box-shadow:0 2px 4px #0369a114,inset 0 0 0 1px #0369a11a;color:#0369a1;display:inline-flex;font-size:.95rem;font-weight:500;padding:.625rem 1.25rem;transition:all .2s ease}.calendar-section .member-tag:hover{box-shadow:0 4px 6px #0369a11f,inset 0 0 0 1px #0369a126;transform:translateY(-1px) scale(1.02)}.calendar-section .event-header{align-items:flex-start;border-bottom:1px solid #f1f5f9;display:flex;justify-content:space-between;margin-bottom:1.75rem;padding-bottom:1.5rem}.calendar-section .event-header h4{color:#0f172a;font-size:1.3rem;font-weight:700;letter-spacing:-.01em;line-height:1.4;margin:0}.calendar-section .event-date{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:100px;box-shadow:0 2px 4px #00000008,inset 0 0 0 1px #00000005;color:#64748b;font-size:.95rem;font-weight:600;padding:.625rem 1.25rem;white-space:nowrap}.calendar-section .event-details{color:#475569;font-size:1rem;line-height:1.6}.calendar-section .event-details p{align-items:center;display:flex;gap:1.25rem;margin:1rem 0}.calendar-section .event-details strong{color:#0f172a;font-weight:600;min-width:110px}.calendar-section .event-crew{border-top:1px solid #f1f5f9;margin-top:1.75rem;padding-top:1.5rem}.calendar-section .crew-info{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:16px;box-shadow:inset 0 0 0 1px #00000008;margin-top:1rem;padding:1.5rem}.calendar-section .crew-name{color:#0f172a;display:block;font-size:1.1rem;font-weight:700;letter-spacing:-.01em;margin-bottom:1.25rem}@media (max-width:1280px){.calendar-section .availability-grid,.calendar-section .events-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}}@media (max-width:768px){.calendar-section .crew-availability,.calendar-section .upcoming-events{margin:1.5rem;padding:1.5rem}.calendar-section .section-title,.calendar-section h3{font-size:1.5rem;margin-bottom:1.5rem}.calendar-section .availability-grid,.calendar-section .events-grid{gap:1.5rem}.calendar-section .availability-card,.calendar-section .event-card{padding:1.5rem}.calendar-section .event-header{flex-direction:column;gap:1rem}.calendar-section .event-date{align-self:flex-start}}.cost-section{background:#ffffff0d;border:1px solid #ffffff1a;transition:all .3s cubic-bezier(.4,0,.2,1)}.cost-section:hover{background:#ffffff14}.cost-header{cursor:pointer;padding:.5rem;position:relative;-webkit-user-select:none;user-select:none}.cost-header:after{color:#fff9;content:"▼";font-size:.8rem;position:absolute;right:.5rem;top:50%;transform:translateY(-50%);transition:transform .3s ease}.cost-section.expanded .cost-header:after{transform:translateY(-50%) rotate(180deg)}.cost-header h3{align-items:center;color:#fff;display:flex;font-size:1.1rem;gap:.5rem}.cost-amount{color:#a5b4fc;font-size:1rem;font-weight:600;margin-right:1.5rem}.material-list{margin-top:0;max-height:0;opacity:0;overflow:hidden;transition:max-height .3s cubic-bezier(.4,0,.2,1)}.cost-section.expanded .material-list{border-top:1px solid #ffffff1a;margin-top:1rem;max-height:1000px;opacity:1;padding-top:1rem}.material-item{animation:fadeInUp .3s forwards;margin-bottom:.75rem;opacity:0;padding:1rem;transform:translateY(10px);transition:all .2s ease}.cost-section.expanded .material-item{opacity:1;transform:translateY(0)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.material-item:hover{background:#ffffff0f;transform:translateY(-1px)}.material-name{color:#fff;font-size:.95rem;margin-bottom:.5rem}.material-specs{color:#ffffffb3;flex-wrap:wrap;font-size:.85rem}.material-specs span{align-items:center;display:flex;gap:.25rem}.material-cost{min-width:150px}.unit-price{color:#ffffffb3;font-size:.85rem;margin-bottom:.25rem}.total-price{color:#a5b4fc;font-size:1rem;margin-bottom:.5rem}.cost-breakdown{color:#ffffff80;display:flex;flex-direction:column;font-size:.8rem;gap:.25rem}.no-materials{color:#ffffff80;font-size:.9rem;font-style:italic;padding:1rem;text-align:center}.total-costs{border-top:1px solid #ffffff1a;margin-top:2rem;padding-top:1.5rem}.cost-row{color:#ffffffe6;font-size:.95rem}.cost-row.total{border-top:1px solid #ffffff1a;color:#fff;font-size:1.1rem;margin-top:.5rem}.form-section{border-radius:16px;margin-bottom:2rem;padding:2rem}.form-section .section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.form-section h2{margin:0}.clear-section-btn{right:1.5rem;top:1.5rem}.clear-section-btn:hover{box-shadow:0 2px 4px #ef444433}.clear-section-btn:active{transform:translateY(0)}.materials-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:1rem}.labor-section{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(3,1fr);margin-top:1rem}.labor-group{display:flex;flex-direction:column;gap:.75rem}.labor-group label{color:#64748b;font-size:.875rem;font-weight:500}@media (max-width:768px){.labor-section{grid-template-columns:1fr}.clear-section-btn{margin-top:1rem;position:relative;right:auto;top:auto;width:100%}}.event-actions{gap:10px;margin-top:20px}.event-actions,.event-card-actions{display:flex;justify-content:flex-end}.event-card-actions{margin-top:10px}.delete-btn{background-color:#ef4444;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px;transition:background-color .2s}.delete-btn:hover{background-color:#dc2626}.edit-btn{background-color:#3b82f6;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px;transition:background-color .2s}.edit-btn:hover{background-color:#2563eb}.tools-input-container{display:flex;flex-direction:column;gap:10px}.tools-input-row{display:flex;gap:10px}.tool-input{border:1px solid #e2e8f0;border-radius:4px;flex:1 1;font-size:14px;padding:8px}.add-tool-btn{background-color:#3b82f6;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px;transition:background-color .2s}.add-tool-btn:hover{background-color:#2563eb}.tools-list{border:1px solid #e2e8f0;flex-wrap:wrap;gap:8px;min-height:50px;padding:10px}.tool-item,.tools-list{border-radius:4px;display:flex}.tool-item{align-items:center;background-color:#f3f4f6;font-size:14px;gap:6px;padding:4px 8px}.remove-tool-btn{align-items:center;background:none;border:none;color:#6b7280;cursor:pointer;display:flex;font-size:16px;justify-content:center;padding:0 4px}.remove-tool-btn:hover{color:#ef4444}.material-autocomplete{flex:2 1;position:relative;width:100%}.material-suggestions-wrapper{background:#fff;border:none;border-radius:8px;box-shadow:0 4px 20px #00000026;left:0;margin-top:8px;overflow:hidden;position:absolute;top:100%;width:100%;z-index:1000}.material-suggestions-list{list-style:none;margin:0;max-height:300px;overflow-y:auto;padding:4px 0}.material-suggestions-list::-webkit-scrollbar{width:8px}.material-suggestions-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.material-suggestions-list::-webkit-scrollbar-thumb{background-color:#888;border-radius:4px}.material-suggestions-list::-webkit-scrollbar-thumb:hover{background-color:#666}.material-suggestion{align-items:center;border-bottom:1px solid #f0f0f0;cursor:pointer;display:flex;gap:12px;justify-content:space-between;min-height:40px;padding:12px 16px;transition:all .2s ease}.material-suggestion:last-child{border-bottom:none}.material-suggestion:hover{background-color:#f8faff;transform:translateX(4px)}.material-info{display:flex;flex-direction:column;gap:4px;min-width:0}.material-name{font-size:14px;font-weight:600;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.material-details{display:flex;flex-wrap:wrap;gap:6px;margin:0}.material-details span{background:#f1f5f9;border:none;border-radius:4px;color:#1a202c;font-size:12px;font-weight:500;padding:2px 8px}.material-price{background:#ecfdf5;border-radius:6px;color:#1a202c;font-size:14px;font-weight:600;margin:0;padding:4px 10px;transition:transform .2s ease;white-space:nowrap}.material-suggestion:hover .material-price{transform:scale(1.05)}.material-input-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:10px}.material-input-row input{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:8px}.material-input-row input[type=number]{width:100px}.material-price{color:#666;font-size:.9em;margin-left:12px}.materials-tags{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.material-tag{align-items:center;background-color:#e8f0fe;border:1px solid #06c;border-radius:16px;display:flex;font-size:14px;gap:8px;padding:4px 12px}.remove-material{background:none;border:none;color:#666;cursor:pointer;font-size:16px;padding:0 4px}.remove-material:hover{color:#f44}.total-material-cost{background-color:#f0f9ff;border-radius:4px;border-top:1px solid #ddd;color:#06c;font-size:16px;font-weight:700;margin-top:16px;padding:16px;text-align:center}.add-material-btn{background-color:#06c;border:none;border-radius:4px;color:#fff;cursor:pointer;display:block;margin-left:auto;margin-right:auto;margin-top:10px;max-width:200px;padding:8px 16px;transition:background-color .2s;width:100%}.add-material-btn:hover{background-color:#0052a3}.add-material-btn:disabled{background-color:#ccc;cursor:not-allowed}.presets-table .table-row .column{padding:12px;text-align:left}.presets-table .table-header .column{background-color:#f5f5f5;font-weight:700;padding:12px}@media (max-width:768px){.material-input-row{flex-direction:column;gap:8px}.material-input-row input{width:100%}.material-price{text-align:left;width:100%}}.size-select{background-color:#fff;border:1px solid #ddd;border-radius:4px;font-size:14px;min-width:120px;padding:8px}.size-select:disabled{background-color:#f5f5f5;cursor:not-allowed}.material-details{color:#666;font-size:14px;margin-top:8px}.price-per-unit{color:#06c;font-weight:500;padding:4px 8px}.price-per-unit,.selected-material-info{background-color:#f0f9ff;border-radius:4px}.selected-material-info{align-items:center;display:flex;gap:12px;margin-bottom:12px;padding:8px}.material-brand,.material-size,.material-type{background-color:#fff;border:1px solid #ddd;border-radius:4px;color:#444;font-size:13px;padding:4px 8px}.no-results{color:#1a202c;font-weight:500;padding:12px;text-align:center}.material-item{align-items:center;background-color:#f9f9f9;border-radius:4px;margin-bottom:8px;padding:12px}.material-item span{margin-right:12px}.material-item button{background-color:#f44;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:4px 8px}.material-item button:hover{background-color:#c00}.total-cost{background-color:#f0f0f0;font-weight:700;margin:16px 0;text-align:right}.material-detail,.total-cost{border-radius:4px;padding:12px}.material-detail{background-color:#f9f9f9;margin-bottom:12px}.material-detail p{margin:4px 0}.global-badge{cursor:help;display:inline-block;font-size:14px}.form-group select{-webkit-appearance:none;appearance:none;background-color:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 1rem center;background-repeat:no-repeat;background-size:1em;border:1px solid #ddd;border-radius:8px;cursor:pointer;font-size:16px;padding:12px 16px;transition:border-color .3s}.form-group select:focus{border-color:#06c;box-shadow:0 0 0 2px #06c3;outline:none}.form-group select:hover{border-color:#06c}.preset-controls{align-items:center;display:flex;gap:16px}.type-filter{-webkit-appearance:none;appearance:none;background-color:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 1rem center;background-repeat:no-repeat;background-size:1em;border:1px solid #ddd;border-radius:8px;cursor:pointer;font-size:14px;min-width:150px;padding:8px 16px;transition:all .2s ease}.type-filter:hover{border-color:#06c}.type-filter:focus{border-color:#06c;box-shadow:0 0 0 2px #06c3;outline:none}.rbc-btn{color:inherit;font:inherit;margin:0}button.rbc-btn{-webkit-appearance:button;appearance:button;cursor:pointer;overflow:visible;text-transform:none}button[disabled].rbc-btn{cursor:not-allowed}button.rbc-input::-moz-focus-inner{border:0;padding:0}.rbc-calendar{align-items:stretch;box-sizing:border-box;display:flex;flex-direction:column;height:100%}.rbc-m-b-negative-3{margin-bottom:-3px}.rbc-h-full{height:100%}.rbc-calendar *,.rbc-calendar :after,.rbc-calendar :before{box-sizing:inherit}.rbc-abs-full,.rbc-row-bg{bottom:0;left:0;overflow:hidden;position:absolute;right:0;top:0}.rbc-ellipsis,.rbc-event-label,.rbc-row-segment .rbc-event-content,.rbc-show-more{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rbc-rtl{direction:rtl}.rbc-off-range{color:#999}.rbc-off-range-bg{background:#e6e6e6}.rbc-header{border-bottom:1px solid #ddd;flex:1 0;font-size:90%;font-weight:700;min-height:0;overflow:hidden;padding:0 3px;text-align:center;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.rbc-header+.rbc-header{border-left:1px solid #ddd}.rbc-rtl .rbc-header+.rbc-header{border-left-width:0;border-right:1px solid #ddd}.rbc-header>a,.rbc-header>a:active,.rbc-header>a:visited{color:inherit;text-decoration:none}.rbc-button-link{background:none;border:none;color:inherit;cursor:pointer;margin:0;padding:0;-webkit-user-select:text;user-select:text}.rbc-row-content{position:relative;user-select:none;-webkit-user-select:none;z-index:4}.rbc-row-content-scrollable{display:flex;flex-direction:column;height:100%}.rbc-row-content-scrollable .rbc-row-content-scroll-container{-ms-overflow-style:none;height:100%;overflow-y:scroll;scrollbar-width:none}.rbc-row-content-scrollable .rbc-row-content-scroll-container::-webkit-scrollbar{display:none}.rbc-today{background-color:#eaf6ff}.rbc-toolbar{align-items:center;display:flex;flex-wrap:wrap;font-size:16px;justify-content:center;margin-bottom:10px}.rbc-toolbar .rbc-toolbar-label{flex-grow:1;padding:0 10px;text-align:center}.rbc-toolbar button{background:none;background-image:none;border:1px solid #ccc;border-radius:4px;color:#373a3c;display:inline-block;line-height:normal;margin:0;padding:.375rem 1rem;text-align:center;vertical-align:middle;white-space:nowrap}.rbc-toolbar button.rbc-active,.rbc-toolbar button:active{background-color:#e6e6e6;background-image:none;border-color:#adadad;box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.rbc-toolbar button.rbc-active:focus,.rbc-toolbar button.rbc-active:hover,.rbc-toolbar button:active:focus,.rbc-toolbar button:active:hover{background-color:#d4d4d4;border-color:#8c8c8c;color:#373a3c}.rbc-toolbar button:focus,.rbc-toolbar button:hover{background-color:#e6e6e6;border-color:#adadad;color:#373a3c}.rbc-toolbar button:hover{cursor:pointer}.rbc-btn-group{display:inline-block;white-space:nowrap}.rbc-btn-group>button:first-child:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.rbc-btn-group>button:last-child:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.rbc-rtl .rbc-btn-group>button:first-child:not(:last-child){border-radius:4px;border-bottom-left-radius:0;border-top-left-radius:0}.rbc-rtl .rbc-btn-group>button:last-child:not(:first-child){border-radius:4px;border-bottom-right-radius:0;border-top-right-radius:0}.rbc-btn-group>button:not(:first-child):not(:last-child){border-radius:0}.rbc-btn-group button+button{margin-left:-1px}.rbc-rtl .rbc-btn-group button+button{margin-left:0;margin-right:-1px}.rbc-btn-group+.rbc-btn-group,.rbc-btn-group+button{margin-left:10px}@media (max-width:767px){.rbc-toolbar{flex-direction:column}}.rbc-day-slot .rbc-background-event,.rbc-event{background-color:#3174ad;border:none;border-radius:5px;box-shadow:none;box-sizing:border-box;color:#fff;cursor:pointer;margin:0;padding:2px 5px;text-align:left;width:100%}.rbc-day-slot .rbc-slot-selecting .rbc-background-event,.rbc-slot-selecting .rbc-day-slot .rbc-background-event,.rbc-slot-selecting .rbc-event{cursor:inherit;pointer-events:none}.rbc-day-slot .rbc-selected.rbc-background-event,.rbc-event.rbc-selected{background-color:#265985}.rbc-day-slot .rbc-background-event:focus,.rbc-event:focus{outline:5px auto #3b99fc}.rbc-event-label{font-size:80%}.rbc-event-overlaps{box-shadow:-1px 1px 5px 0 #33333380}.rbc-event-continues-prior{border-bottom-left-radius:0;border-top-left-radius:0}.rbc-event-continues-after{border-bottom-right-radius:0;border-top-right-radius:0}.rbc-event-continues-earlier{border-top-left-radius:0;border-top-right-radius:0}.rbc-event-continues-later{border-bottom-left-radius:0;border-bottom-right-radius:0}.rbc-row{display:flex;flex-direction:row}.rbc-row-segment{padding:0 1px 1px}.rbc-selected-cell{background-color:#0000001a}.rbc-show-more{background-color:#ffffff4d;color:#3174ad;font-size:85%;font-weight:700;height:auto;line-height:normal;z-index:4}.rbc-show-more:focus,.rbc-show-more:hover{color:#265985}.rbc-month-view{border:1px solid #ddd;display:flex;flex:1 0;flex-direction:column;height:100%;position:relative;user-select:none;-webkit-user-select:none;width:100%}.rbc-month-header{display:flex;flex-direction:row}.rbc-month-row{display:flex;flex:1 0;flex-basis:0px;flex-direction:column;height:100%;overflow:hidden;position:relative}.rbc-month-row+.rbc-month-row{border-top:1px solid #ddd}.rbc-date-cell{flex:1 1;min-width:0;padding-right:5px;text-align:right}.rbc-date-cell.rbc-now{font-weight:700}.rbc-date-cell>a,.rbc-date-cell>a:active,.rbc-date-cell>a:visited{color:inherit;text-decoration:none}.rbc-row-bg{display:flex;flex:1 0;flex-direction:row;overflow:hidden;right:1px}.rbc-day-bg{flex:1 0}.rbc-day-bg+.rbc-day-bg{border-left:1px solid #ddd}.rbc-rtl .rbc-day-bg+.rbc-day-bg{border-left-width:0;border-right:1px solid #ddd}.rbc-overlay{background-color:#fff;border:1px solid #e5e5e5;box-shadow:0 5px 15px #00000040;padding:10px;position:absolute;z-index:5}.rbc-overlay>*+*{margin-top:1px}.rbc-overlay-header{border-bottom:1px solid #e5e5e5;margin:-10px -10px 5px;padding:2px 10px}.rbc-agenda-view{display:flex;flex:1 0;flex-direction:column;overflow:auto}.rbc-agenda-view table.rbc-agenda-table{border:1px solid #ddd;border-collapse:collapse;border-spacing:0;width:100%}.rbc-agenda-view table.rbc-agenda-table tbody>tr>td{padding:5px 10px;vertical-align:top}.rbc-agenda-view table.rbc-agenda-table .rbc-agenda-time-cell{padding-left:15px;padding-right:15px;text-transform:lowercase}.rbc-agenda-view table.rbc-agenda-table tbody>tr>td+td{border-left:1px solid #ddd}.rbc-rtl .rbc-agenda-view table.rbc-agenda-table tbody>tr>td+td{border-left-width:0;border-right:1px solid #ddd}.rbc-agenda-view table.rbc-agenda-table tbody>tr+tr{border-top:1px solid #ddd}.rbc-agenda-view table.rbc-agenda-table thead>tr>th{border-bottom:1px solid #ddd;padding:3px 5px;text-align:left}.rbc-rtl .rbc-agenda-view table.rbc-agenda-table thead>tr>th{text-align:right}.rbc-agenda-time-cell{text-transform:lowercase}.rbc-agenda-time-cell .rbc-continues-after:after{content:" »"}.rbc-agenda-time-cell .rbc-continues-prior:before{content:"« "}.rbc-agenda-date-cell,.rbc-agenda-time-cell{white-space:nowrap}.rbc-agenda-event-cell{width:100%}.rbc-time-column{display:flex;flex-direction:column;min-height:100%}.rbc-time-column .rbc-timeslot-group{flex:1 1}.rbc-timeslot-group{border-bottom:1px solid #ddd;display:flex;flex-flow:column nowrap;min-height:40px}.rbc-header-gutter,.rbc-time-gutter{flex:none}.rbc-label{padding:0 5px}.rbc-day-slot{position:relative}.rbc-day-slot .rbc-events-container{bottom:0;left:0;margin-right:10px;position:absolute;right:0;top:0}.rbc-day-slot .rbc-events-container.rbc-rtl{left:10px;right:0}.rbc-day-slot .rbc-background-event,.rbc-day-slot .rbc-event{align-items:flex-start;border:1px solid #265985;display:flex;flex-flow:column wrap;max-height:100%;min-height:20px;overflow:hidden;position:absolute}.rbc-day-slot .rbc-background-event{opacity:.75}.rbc-day-slot .rbc-event-label{flex:none;padding-right:5px;width:auto}.rbc-day-slot .rbc-event-content{word-wrap:break-word;flex:1 1;height:100%;line-height:1;min-height:1em;width:100%}.rbc-day-slot .rbc-time-slot{border-top:1px solid #f7f7f7}.rbc-time-view-resources .rbc-time-gutter,.rbc-time-view-resources .rbc-time-header-gutter{background-color:#fff;border-right:1px solid #ddd;left:0;margin-right:-1px;position:sticky;z-index:10}.rbc-time-view-resources .rbc-time-header{overflow:hidden}.rbc-time-view-resources .rbc-time-header-content{flex:1 0;flex-basis:0px;min-width:auto}.rbc-time-view-resources .rbc-time-header-cell-single-day{display:none}.rbc-time-view-resources .rbc-day-slot{min-width:140px}.rbc-time-view-resources .rbc-day-bg,.rbc-time-view-resources .rbc-header{flex:1 1;flex-basis:0 px;width:140px}.rbc-time-header-content+.rbc-time-header-content{margin-left:-1px}.rbc-time-slot{flex:1 0}.rbc-time-slot.rbc-now{font-weight:700}.rbc-day-header{text-align:center}.rbc-slot-selection{background-color:#00000080;color:#fff;font-size:75%;padding:3px;position:absolute;width:100%;z-index:10}.rbc-slot-selecting{cursor:move}.rbc-time-view{border:1px solid #ddd;display:flex;flex:1 1;flex-direction:column;min-height:0;width:100%}.rbc-time-view .rbc-time-gutter{text-align:right;white-space:nowrap}.rbc-time-view .rbc-allday-cell{box-sizing:initial;height:100%;position:relative;width:100%}.rbc-time-view .rbc-allday-cell+.rbc-allday-cell{border-left:1px solid #ddd}.rbc-time-view .rbc-allday-events{position:relative;z-index:4}.rbc-time-view .rbc-row{box-sizing:border-box;min-height:20px}.rbc-time-header{display:flex;flex:0 0 auto;flex-direction:row}.rbc-time-header.rbc-overflowing{border-right:1px solid #ddd}.rbc-rtl .rbc-time-header.rbc-overflowing{border-left:1px solid #ddd;border-right-width:0}.rbc-time-header>.rbc-row.rbc-row-resource,.rbc-time-header>.rbc-row:first-child{border-bottom:1px solid #ddd}.rbc-time-header-cell-single-day{display:none}.rbc-time-header-content{border-left:1px solid #ddd;display:flex;flex:1 1;flex-direction:column;min-width:0}.rbc-rtl .rbc-time-header-content{border-left-width:0;border-right:1px solid #ddd}.rbc-time-header-content>.rbc-row.rbc-row-resource{border-bottom:1px solid #ddd;flex-shrink:0}.rbc-time-content{align-items:flex-start;border-top:2px solid #ddd;display:flex;flex:1 0;overflow-y:auto;position:relative;width:100%}.rbc-time-content>.rbc-time-gutter{flex:none}.rbc-time-content>*+*>*{border-left:1px solid #ddd}.rbc-rtl .rbc-time-content>*+*>*{border-left-width:0;border-right:1px solid #ddd}.rbc-time-content>.rbc-day-slot{user-select:none;-webkit-user-select:none;width:100%}.rbc-current-time-indicator{background-color:#74ad31;height:1px;left:0;pointer-events:none;position:absolute;right:0;z-index:3}.rbc-resource-grouping.rbc-time-header-content{display:flex;flex-direction:column}.rbc-resource-grouping .rbc-row .rbc-header{width:141px}.quote-container{grid-gap:2rem;background:#fff;display:grid;gap:2rem;grid-template-columns:2fr 1fr;margin:0 auto;max-width:1600px;min-height:calc(100vh - 120px);padding:2rem;width:100%}.quote-form{display:flex;flex-direction:column;gap:1.5rem;width:100%}.quote-sidebar{background:#fff;border-radius:16px;box-shadow:0 8px 32px #0000001a;color:#333;height:calc(100vh - 4rem);overflow-y:auto;padding:1.5rem;position:sticky;top:2rem}.form-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 8px #0000000a;padding:1.5rem;position:relative;transition:all .3s ease;width:100%}.form-section:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.form-section h2{border-bottom:2px solid #e2e8f0;color:#1e293b;font-size:1.25rem;font-weight:600;margin-bottom:1.5rem;padding-bottom:.5rem;position:relative}.form-section h2:after{background:#6366f1;bottom:-2px;content:"";height:2px;left:0;position:absolute;width:60px}.customer-info-grid,.materials-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));width:100%}.input-group{display:flex;flex-direction:column;gap:.5rem}.input-group label{color:#64748b;font-size:.875rem;font-weight:500}.input-group input,.input-group select{background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#1e293b;font-size:.875rem;padding:.75rem;transition:all .2s ease}.input-group input:focus,.input-group select:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a;outline:none}.clear-section-btn{background:#ef4444;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;opacity:.9;padding:.5rem 1rem;position:absolute;right:1rem;top:1rem;transition:all .2s ease}.clear-section-btn:hover{opacity:1;transform:translateY(-1px)}.add-preset-btn{background:#6366f1;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;padding:.75rem 1rem;transition:all .2s ease;width:100%}.add-preset-btn:hover{background:#4f46e5;transform:translateY(-1px)}.add-preset-btn:disabled{background:#94a3b8;cursor:not-allowed;transform:none}@media (max-width:1200px){.quote-container{grid-template-columns:1fr}.quote-sidebar{position:relative;top:0}}@media (max-width:768px){.form-section,.quote-container{padding:1rem}.customer-info-grid,.materials-grid{grid-template-columns:1fr}}.cost-breakdown{max-height:calc(100vh - 12rem);overflow-y:auto;padding-right:.5rem}.cost-section{background:#f8f9fa;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:1rem;padding:1.5rem}.cost-header{align-items:center;color:#333;display:flex;justify-content:space-between;margin-bottom:1rem}.cost-header h3{color:#333;font-size:1rem;font-weight:600;margin:0}.cost-amount{color:#06c;font-weight:500}.material-list{display:flex;flex-direction:column;gap:.75rem;padding-bottom:.5rem}.material-item{align-items:flex-start;background:#ffffff08;border:1px solid #ffffff0d;border-radius:8px;display:flex;justify-content:space-between;padding:.75rem}.material-info{flex:1 1}.material-name{color:#1a202c;font-size:.875rem;font-weight:500;margin-bottom:.25rem}.material-specs{color:#4a5568;display:flex;font-size:.75rem;gap:1rem}.material-cost{text-align:right}.unit-price{color:#4a5568;font-size:.75rem}.total-price{color:#1a202c;font-weight:600;margin:.25rem 0}.cost-breakdown small{color:#4a5568;display:block}.total-costs{background:#f8f9fa;border:1px solid #e5e7eb;border-radius:12px;margin:1.5rem 0;padding:1.5rem}.cost-row{align-items:center;color:#333;display:flex;justify-content:space-between;padding:.75rem 0}.cost-row.total{border-top:1px solid #e5e7eb;color:#06c;font-size:1.25rem;font-weight:600;margin-top:1rem;padding-top:1rem}.quote-actions{margin-top:2rem}.quote-btn{border-radius:8px;cursor:pointer;font-size:1rem;font-weight:500;padding:1rem;text-align:center;transition:all .2s ease;width:100%}.quote-btn.primary{background:#6366f1;border:none;color:#fff}.quote-btn.primary:hover{background:#4f46e5;transform:translateY(-1px)}.cost-pie-chart{background:#fff;border:1px solid #ffffff1a;border-radius:12px;color:#333;margin-left:auto;margin-right:auto;margin-top:2rem;max-width:800px;padding:2rem;width:100%}.cost-pie-chart h3{color:#333;font-size:1rem;font-weight:600;margin:0 0 1.5rem;text-align:center}.recharts-text{fill:#333}.recharts-legend-item-text{color:#333!important}.recharts-tooltip-wrapper{background:#fff;border:1px solid #ccc;border-radius:4px;color:#333}body{margin:0;overflow-x:hidden;padding:0}*{box-sizing:border-box}.project-header{margin-bottom:2rem}.project-name-container{width:100%}.project-input-group{align-items:center;display:flex;gap:1rem;margin-top:.5rem}.project-input-group input{flex:1 1}.clear-form-btn{background-color:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:background-color .2s ease;white-space:nowrap}.clear-form-btn:hover{background-color:#c82333}.stair-railing-section{border-top:1px solid #e2e8f0;margin-top:2rem;padding-top:2rem}.stair-railing-section h3{color:#1e293b;font-size:1.1rem;font-weight:600;margin-bottom:1.25rem;position:relative}.stair-railing-section h3:after{background:#6366f1;bottom:-.5rem;content:"";height:2px;left:0;position:absolute;width:40px}.stair-railing-section .materials-grid{margin-top:1rem}.form-section .materials-grid{min-height:100px}.button-container{display:flex;justify-content:center;margin-top:1rem}.added-presets-container{background:#ffffff05;border-radius:8px;margin-top:1rem;padding:1rem}.added-presets-container h3{color:#1e293b;font-size:1rem;margin-bottom:.75rem}.added-presets-list{display:flex;flex-direction:column;gap:.75rem;list-style:none;margin-top:.75rem;padding:0}.added-preset-item{align-items:center;background:#ffffff0a;border-radius:6px;display:flex;font-size:.9rem;justify-content:space-between;padding:.75rem}.remove-preset-btn{align-items:center;background-color:initial;border:none;border-radius:50%;color:#ef5350;cursor:pointer;display:flex;font-size:1.25rem;height:24px;justify-content:center;transition:all .2s ease;width:24px}.remove-preset-btn:hover{background-color:#ef53501a}.remove-icon{display:block;line-height:1}html{scroll-behavior:smooth}.form-section{transition:all .2s ease-in-out}button:focus,input:focus,select:focus{box-shadow:0 0 0 3px #6366f14d;outline:none}.quote-btn:disabled{cursor:not-allowed;opacity:.7}.cost-breakdown small{opacity:.8;transition:opacity .2s ease}.cost-breakdown small:hover{opacity:1}.input-group select,.input-group select option,.materials-grid .input-group select,.materials-grid select{color:#111827!important;font-weight:600!important}.materials-grid .input-group select option,.materials-grid select option{background-color:#fff;color:#111827!important;font-weight:500!important}.input-group select:disabled{font-weight:500!important}.materials-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));width:100%}.materials-grid .input-group select{-webkit-appearance:none;appearance:none;background-color:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:16px;border:1px solid #e2e8f0;border-radius:8px;color:#1a202c;cursor:pointer;font-size:14px;font-weight:500;padding:12px 40px 12px 16px;width:100%}.materials-grid .input-group select:hover{border-color:#4a5568}.materials-grid .input-group select:focus{border-color:#4299e1;box-shadow:0 0 0 3px #4299e11a;outline:none}.materials-grid .input-group select:disabled{background-color:#f7fafc;cursor:not-allowed;opacity:.7}.materials-grid .input-group select option{background-color:#fff;color:#1a202c;font-weight:500;padding:12px}.materials-grid .input-group select[size]{max-height:300px;overflow-y:auto}.materials-grid .input-group select::-webkit-scrollbar{width:8px}.materials-grid .input-group select::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.materials-grid .input-group select::-webkit-scrollbar-thumb{background-color:#888;border-radius:4px}.materials-grid .input-group select::-webkit-scrollbar-thumb:hover{background-color:#666}.materials-grid .input-group select option{font-size:14px;min-height:1.2em;padding:8px 12px;white-space:normal}.input-group select,.input-group select option,.input-group select:disabled{color:#111827!important;font-weight:600!important}.materials-grid select{-webkit-appearance:none;appearance:none;background-color:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:16px;border:1px solid #e2e8f0;border-radius:8px;color:#111827;cursor:pointer;font-size:14px;font-weight:600;padding:10px 40px 10px 10px;width:100%}.materials-grid select:hover{border-color:#cbd5e0}.materials-grid select:focus{border-color:#4299e1;box-shadow:0 0 0 3px #4299e11a;outline:none}.materials-grid select:disabled{background-color:#f7fafc;color:#4a5568;cursor:not-allowed;opacity:.7}.materials-grid select option{background-color:#fff;color:#111827;font-weight:500;padding:10px}.materials-grid select[size]{max-height:300px;overflow-y:auto}.materials-grid select::-webkit-scrollbar{width:8px}.materials-grid select::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.materials-grid select::-webkit-scrollbar-thumb{background-color:#888;border-radius:4px}.materials-grid select::-webkit-scrollbar-thumb:hover{background-color:#666}.materials-grid select option{min-height:1.2em;padding:8px 12px;white-space:normal}.input-group select,.input-group select option{color:#111827!important;font-weight:600!important}.input-group select:disabled{background-color:#f7fafc;color:#4a5568!important;opacity:.7}.cost-breakdown::-webkit-scrollbar{width:8px}.cost-breakdown::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.cost-breakdown::-webkit-scrollbar-thumb{background:#cbd5e0;border-radius:4px}.cost-breakdown::-webkit-scrollbar-thumb:hover{background:#a0aec0}.settings-container{margin:0 auto;max-width:1200px;padding:20px}.settings-title{color:#2c3e50;margin-bottom:30px}.settings-section{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;margin-bottom:30px;padding:20px}.settings-section h2{border-bottom:1px solid #eee;margin-bottom:20px;margin-top:0;padding-bottom:10px}.alert{border-radius:4px;padding:10px 15px}.alert-error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.alert-success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.account-info{margin-bottom:20px}.subscription-loading{color:#666;padding:20px;text-align:center}.subscription-active{align-items:center;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between}.subscription-info{flex:1 1;min-width:250px}.subscription-info p{color:#555;margin:8px 0}.status-active{color:#28a745;font-weight:600}.manage-subscription-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:12px 24px;transition:all .3s ease;white-space:nowrap}.manage-subscription-button:hover{box-shadow:0 4px 12px #667eea4d;transform:translateY(-2px)}.subscription-inactive{padding:20px;text-align:center}.subscription-inactive p{color:#666;margin-bottom:20px}.subscribe-button{border-radius:6px;padding:12px 24px}.subscribe-button:hover{box-shadow:0 4px 12px #667eea4d;transform:translateY(-2px)}@media (max-width:768px){.subscription-active{align-items:stretch;flex-direction:column}.subscription-info{min-width:auto}.manage-subscription-button{width:100%}}.sign-out-button{background-color:#e74c3c;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:10px 15px}.sign-out-button:hover{background-color:#c0392b}.upload-section{display:flex;flex-direction:column;gap:20px}.file-input{display:block;margin-bottom:10px}.upload-spinner{color:#3498db}.upload-instructions{background-color:#f8f9fa}.upload-instructions h4{margin-top:0}.invite-section{margin-bottom:20px}.generate-invite-button{background-color:#3498db;border:none;border-radius:4px;color:#fff;cursor:pointer;margin-bottom:15px;padding:10px 15px}.generate-invite-button:hover{background-color:#2980b9}.invite-link-container{display:flex;flex-direction:column;gap:10px}.invite-link-input{border:1px solid #ddd;border-radius:4px;padding:10px;width:100%}.copy-link-button{align-self:flex-start;background-color:#27ae60;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:10px 15px}.copy-link-button:hover{background-color:#219653}.users-list{margin-top:20px}.users-list h3{margin-bottom:15px}.user-item{align-items:center;background-color:#f9f9f9;border-radius:4px;display:flex;justify-content:space-between;margin-bottom:10px;padding:10px}.user-info{display:flex;flex-direction:column}.user-role{color:#666;font-size:.8em;margin-top:5px}.delete-user-button{background:none;border:none;color:#e74c3c;cursor:pointer;font-size:1.2em;opacity:.7;transition:opacity .2s}.delete-user-button:hover{opacity:1}.users-list ul{list-style:none;padding:0}.upload-section{background-color:#f8f9fa;border-radius:6px;padding:20px}.upload-type-selector{margin-bottom:20px}.upload-type-selector label{color:#495057;display:block;margin-bottom:8px}.upload-type-selector select{background-color:#fff;border:1px solid #ced4da;border-radius:4px;font-size:16px;padding:8px;width:100%}.file-upload-container{margin-bottom:20px;position:relative}.file-input{background-color:#fff;border:2px dashed #ced4da;border-radius:4px;cursor:pointer;padding:10px;width:100%}.file-input:hover{border-color:#007bff}.file-input:disabled{cursor:not-allowed;opacity:.6}.upload-spinner{color:#007bff;font-weight:500;margin-top:10px}.upload-instructions{background-color:#e9ecef;border-radius:4px;margin-top:20px;padding:15px}.upload-instructions h4{color:#495057;margin-bottom:8px}.upload-instructions p{color:#6c757d;font-family:monospace;margin:0}.login-container{align-items:center;background-color:#f5f7fa;display:flex;justify-content:center;min-height:100vh;padding:20px}.login-card{background-color:#fff;border-radius:12px;box-shadow:0 8px 30px #0000001a;max-width:450px;padding:40px;transition:transform .3s ease;width:100%}.login-card:hover{transform:translateY(-5px)}.login-header{margin-bottom:30px;text-align:center}.logo-container{margin-bottom:24px;text-align:center}.logo-container img{height:auto;max-width:150px}.login-header h2{color:#333;font-size:28px;font-weight:600;margin-bottom:10px}.login-header p{color:#666;font-size:16px}.login-form{gap:20px}.form-group,.login-form{display:flex;flex-direction:column}.form-group{gap:8px}.form-group label{color:#555;font-size:14px;font-weight:500}.form-group input{border:1px solid #ddd;border-radius:8px;font-size:16px;padding:12px 16px;transition:border-color .3s}.form-group input:focus{border-color:#06c;box-shadow:0 0 0 2px #06c3;outline:none}.forgot-password{margin-top:-10px;text-align:right}.forgot-password a{color:#06c;font-size:14px;text-decoration:none;transition:color .3s}.forgot-password a:hover{color:#004c99;text-decoration:underline}.login-button{background-color:#06c;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:10px;padding:14px;transition:background-color .3s}.login-button:hover{background-color:#0052a3}.login-button:disabled{background-color:#99c2ff;cursor:not-allowed}.login-footer{color:#666;font-size:14px;margin-top:30px;text-align:center}.login-footer a{color:#06c;font-weight:500;text-decoration:none;transition:color .3s}.login-footer a:hover{color:#004c99;text-decoration:underline}.alert{border-radius:8px;font-size:14px;margin-bottom:20px;padding:12px 16px}.alert-error{background-color:#ffebee;border:1px solid #ffcdd2;color:#d32f2f}.alert-success{background-color:#e8f5e9;border:1px solid #c8e6c9;color:#2e7d32}@media (max-width:576px){.login-card{padding:1.5rem;width:95%}.login-header h2{font-size:1.5rem}.form-group input{font-size:.95rem;padding:.75rem}.login-button{padding:.75rem}.login-footer{font-size:.9rem}}@media (min-width:768px) and (max-width:1024px){.login-container{padding:2rem}.login-card{max-width:500px;padding:2.5rem;width:90%}.login-header h2{font-size:1.75rem}.form-group input{font-size:1rem;padding:.875rem 1rem}.login-button{font-size:1rem;padding:.875rem}.login-footer{font-size:.95rem}}.preset-section{margin-bottom:2rem}.preset-section-header{background-color:#f8f9fa;border-radius:8px;margin-bottom:1rem;padding:12px 20px}.preset-section-header h4{color:#333;font-size:1.1rem;font-weight:600;margin:0}.preset-section .table-row:first-child{border-top:none}.global-badge{font-size:1rem;margin-left:8px}.subscription-landing{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;justify-content:center;min-height:100vh;padding:20px}.subscription-container{background:#fff;border-radius:20px;box-shadow:0 20px 40px #0000001a;max-width:1200px;overflow:hidden;width:100%}.subscription-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:60px 40px;text-align:center}.subscription-header h1{font-size:3rem;font-weight:700;margin:0 0 20px}.subscription-subtitle{font-size:1.2rem;margin:0 0 20px;opacity:.9}.user-email{font-size:1rem;margin:0;opacity:.8}.loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:60px;text-align:center}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#667eea;height:40px;margin-bottom:20px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error-message{background:#fee;border:1px solid #fcc;border-radius:8px;justify-content:space-between;margin:20px;padding:15px 20px}.close-error,.error-message{align-items:center;color:#c33;display:flex}.close-error{background:none;border:none;cursor:pointer;font-size:1.5rem;height:30px;justify-content:center;padding:0;width:30px}.plans-container{padding:60px 40px}.plans-container h2{color:#333;font-size:2.5rem;margin:0 0 40px;text-align:center}.plans-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:40px}.plan-card{background:#f8f9fa;border:2px solid #0000;border-radius:15px;overflow:hidden;padding:30px;position:relative;text-align:center;transition:all .3s ease}.plan-card:hover{border-color:#667eea;box-shadow:0 15px 30px #667eea33;transform:translateY(-5px)}.plan-header h3{color:#333;font-size:1.5rem;margin:0 0 10px}.plan-price{color:#667eea;font-size:2.5rem;font-weight:700;margin-bottom:20px}.plan-interval{color:#666;font-size:1rem;font-weight:400}.plan-description{color:#666;line-height:1.6;margin-bottom:30px}.plan-features ul{list-style:none;margin:0 0 30px;padding:0}.plan-features li{color:#555;font-size:1rem;padding:8px 0}.subscribe-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:50px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;padding:15px 30px;transition:all .3s ease;width:100%}.subscribe-button:hover:not(:disabled){box-shadow:0 10px 20px #667eea4d;transform:translateY(-2px)}.subscribe-button:disabled{cursor:not-allowed;opacity:.6}.subscription-footer{background:#f8f9fa;border-top:1px solid #e9ecef;padding:40px;text-align:center}.subscription-footer p{color:#666;margin:10px 0}.subscription-footer a{color:#667eea;font-weight:600;text-decoration:none}.subscription-footer a:hover{text-decoration:underline}.support-text{font-size:.9rem;margin-top:20px!important}@media (max-width:768px){.subscription-landing{padding:10px}.subscription-header{padding:40px 20px}.subscription-header h1{font-size:2rem}.subscription-subtitle{font-size:1rem}.plans-container{padding:40px 20px}.plans-container h2{font-size:2rem}.plans-grid{gap:20px;grid-template-columns:1fr}.plan-card{padding:20px}.subscription-footer{padding:30px 20px}}.success-page{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;justify-content:center;min-height:100vh;padding:20px}.success-container{background:#fff;border-radius:20px;box-shadow:0 20px 40px #0000001a;max-width:500px;padding:60px 40px;text-align:center;width:100%}.success-icon{align-items:center;background:#28a745;border-radius:50%;color:#fff;display:flex;font-size:2.5rem;font-weight:700;height:80px;justify-content:center;margin:0 auto 30px;width:80px}.success-container h1{color:#333;font-size:2.5rem;margin:0 0 20px}.success-container p{color:#666;font-size:1.1rem;line-height:1.6;margin:0 0 15px}.continue-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:50px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;margin-top:20px;padding:15px 30px;transition:all .3s ease}.continue-button:hover{box-shadow:0 10px 20px #667eea4d;transform:translateY(-2px)}@media (max-width:768px){.success-container{padding:40px 20px}.success-container h1,.success-icon{font-size:2rem}.success-icon{height:60px;width:60px}}.cancel-page{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;justify-content:center;min-height:100vh;padding:20px}.cancel-container{background:#fff;border-radius:20px;box-shadow:0 20px 40px #0000001a;max-width:500px;padding:60px 40px;text-align:center;width:100%}.cancel-icon{align-items:center;background:#dc3545;border-radius:50%;color:#fff;display:flex;font-size:2.5rem;font-weight:700;height:80px;justify-content:center;margin:0 auto 30px;width:80px}.cancel-container h1{color:#333;font-size:2.5rem;margin:0 0 20px}.cancel-container p{color:#666;font-size:1.1rem;line-height:1.6;margin:0 0 15px}.cancel-actions{display:flex;gap:15px;justify-content:center;margin-top:30px}.retry-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:50px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;padding:15px 30px;transition:all .3s ease}.retry-button:hover{box-shadow:0 10px 20px #667eea4d;transform:translateY(-2px)}.home-button{background:#0000;border:2px solid #667eea;border-radius:50px;color:#667eea;cursor:pointer;font-size:1.1rem;font-weight:600;padding:15px 30px;transition:all .3s ease}.home-button:hover{background:#667eea;color:#fff;transform:translateY(-2px)}@media (max-width:768px){.cancel-container{padding:40px 20px}.cancel-container h1,.cancel-icon{font-size:2rem}.cancel-icon{height:60px;width:60px}.cancel-actions{align-items:center;flex-direction:column}.home-button,.retry-button{max-width:200px;width:100%}}