*{box-sizing:border-box}:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;color:#213547;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}h1,h2,h3,h4,h5,h6{margin:0;line-height:1.2}p{margin:0}ul,ol{margin:0;padding:0}a{font-weight:500;color:#667eea;text-decoration:none}a:hover{color:#5568d3}button{font-family:inherit}#root{min-height:100vh}.card{background-color:#fff;border:1px solid #e5e7eb;border-radius:.5rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f}.card__title{margin:0 0 1.25rem;font-size:1.25rem;font-weight:700;color:#111827}.card__content{color:#4b5563}.status-badge{display:inline-block;padding:.375rem .75rem;border-radius:.375rem;font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em}.status-badge--ok{background-color:#d1fae5;color:#065f46}.status-badge--error{background-color:#fee2e2;color:#991b1b}.status-badge--warning{background-color:#fef3c7;color:#92400e}.input{display:flex;flex-direction:column;gap:.5rem}.input__label{font-size:.875rem;font-weight:600;color:#374151}.input__required{color:#dc2626;margin-left:.25rem}.input__field{padding:.625rem .875rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:1rem;transition:all .2s}.input__field:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.input__field--error{border-color:#dc2626}.input__field--error:focus{box-shadow:0 0 0 3px #dc26261a}.input__error{font-size:.875rem;color:#dc2626}.button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;border-radius:.375rem;font-weight:600;font-size:.875rem;border:none;cursor:pointer;transition:all .2s;line-height:1.5}.button:disabled{opacity:.6;cursor:not-allowed}.button--primary{background-color:#667eea;color:#fff}.button--primary:hover:not(:disabled){background-color:#5568d3}.button--secondary{background-color:#f3f4f6;color:#374151;border:1px solid #d1d5db}.button--secondary:hover:not(:disabled){background-color:#e5e7eb}.button--danger{background-color:#dc2626;color:#fff}.button--danger:hover:not(:disabled){background-color:#b91c1c}.button--full-width{width:100%}.button__spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.file-upload{width:100%}.file-upload__dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;border:2px dashed #d1d5db;border-radius:.5rem;background-color:#f9fafb;cursor:pointer;transition:all .2s}.file-upload__dropzone:hover{border-color:#667eea;background-color:#f3f4f6}.file-upload__dropzone--dragging{border-color:#667eea;background-color:#eef2ff}.file-upload__dropzone--disabled{opacity:.6;cursor:not-allowed}.file-upload__dropzone--disabled:hover{border-color:#d1d5db;background-color:#f9fafb}.file-upload__input{display:none}.file-upload__icon{margin-bottom:.75rem;color:#9ca3af}.file-upload__icon-svg{width:48px;height:48px}.file-upload__text{margin:0;font-size:.875rem;color:#6b7280}.file-upload__text-bold{font-weight:600;color:#667eea}.file-upload__hint{margin:.25rem 0 0;font-size:.75rem;color:#9ca3af}.file-upload__error{margin:.5rem 0 0;font-size:.875rem;color:#dc2626}.lender-form{display:flex;flex-direction:column;gap:1.5rem}.lender-form__fields{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.lender-form__error{padding:.75rem 1rem;background-color:#fee2e2;border:1px solid #fecaca;border-radius:.375rem;color:#991b1b;font-size:.875rem}.lender-form__actions{display:flex;gap:.75rem;justify-content:flex-end}@media (max-width: 640px){.lender-form__fields{grid-template-columns:1fr}.lender-form__actions{flex-direction:column-reverse}.lender-form__actions button{width:100%}}.program-upload{display:flex;flex-direction:column;gap:1.5rem}.program-upload__label{display:block;font-size:.875rem;font-weight:600;color:#374151;margin-bottom:.5rem}.program-upload__file-section{display:flex;flex-direction:column;gap:.5rem}.program-upload__selected-file{display:flex;align-items:center;gap:.75rem;padding:.875rem;background-color:#f3f4f6;border:1px solid #e5e7eb;border-radius:.375rem}.program-upload__file-icon{width:40px;height:40px;color:#667eea;flex-shrink:0}.program-upload__file-info{display:flex;flex-direction:column;gap:.25rem;flex:1;min-width:0}.program-upload__file-name{font-weight:500;color:#111827;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.program-upload__file-size{font-size:.875rem;color:#6b7280}.program-upload__agency-section{display:flex;flex-direction:column}.program-upload__select{padding:.625rem .875rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:1rem;background-color:#fff;cursor:pointer;transition:all .2s}.program-upload__select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.program-upload__select:disabled{opacity:.6;cursor:not-allowed}.program-upload__hint{margin:.5rem 0 0;font-size:.875rem;color:#6b7280}.program-upload__error{padding:.75rem 1rem;background-color:#fee2e2;border:1px solid #fecaca;border-radius:.375rem;color:#991b1b;font-size:.875rem}.program-upload__progress{padding:.75rem 1rem;background-color:#dbeafe;border:1px solid #bfdbfe;border-radius:.375rem;color:#1e40af;font-size:.875rem;font-weight:500}.program-upload__actions{display:flex;justify-content:flex-end}.ratesheet-upload{display:flex;flex-direction:column;gap:24px}.ratesheet-upload__file-section{display:flex;flex-direction:column;gap:12px}.ratesheet-upload__label{font-size:14px;font-weight:500;color:#374151;display:block}.ratesheet-upload__selected-file{display:flex;align-items:center;gap:12px;padding:12px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px}.ratesheet-upload__file-icon{width:32px;height:32px;color:#3b82f6;flex-shrink:0}.ratesheet-upload__file-info{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.ratesheet-upload__file-name{font-size:14px;font-weight:500;color:#111827;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ratesheet-upload__file-size{font-size:12px;color:#6b7280}.ratesheet-upload__date-section{display:grid;grid-template-columns:1fr 1fr;gap:16px}.ratesheet-upload__error{padding:12px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#991b1b;font-size:14px}.ratesheet-upload__progress{padding:12px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;color:#1e40af;font-size:14px}.base-llpa-upload{background:#fff;border-radius:8px;padding:24px;box-shadow:0 1px 3px #0000001a}.base-llpa-upload__header{margin-bottom:24px}.base-llpa-upload__header h3{margin:0 0 8px;font-size:18px;font-weight:600;color:#1f2937}.base-llpa-upload__description{margin:0;font-size:14px;color:#6b7280;line-height:1.5}.base-llpa-upload__form{display:flex;flex-direction:column;gap:20px}.base-llpa-upload__row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.base-llpa-upload__select-wrapper{display:flex;flex-direction:column;gap:8px}.base-llpa-upload__label{font-size:14px;font-weight:500;color:#374151}.base-llpa-upload__select{padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;background:#fff;color:#1f2937;cursor:pointer;transition:border-color .2s}.base-llpa-upload__select:hover{border-color:#9ca3af}.base-llpa-upload__select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.base-llpa-upload__select:disabled{background-color:#f3f4f6;cursor:not-allowed;opacity:.6}.base-llpa-upload__file-section{display:flex;flex-direction:column;gap:12px}.base-llpa-upload__selected-file{display:flex;align-items:center;gap:12px;padding:12px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px}.base-llpa-upload__file-icon{width:24px;height:24px;color:#3b82f6;flex-shrink:0}.base-llpa-upload__file-info{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.base-llpa-upload__file-name{font-size:14px;font-weight:500;color:#1f2937;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.base-llpa-upload__file-size{font-size:12px;color:#6b7280}.base-llpa-upload__error{padding:12px;background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:14px;line-height:1.5}.base-llpa-upload__progress{padding:12px;background-color:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;color:#1e40af;font-size:14px;text-align:center}@media (max-width: 768px){.base-llpa-upload__row{grid-template-columns:1fr}}.navigation{background-color:#fff;border-bottom:1px solid #e5e7eb;position:sticky;top:0;z-index:100}.navigation__container{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;align-items:center;justify-content:space-between;height:64px}.navigation__logo{font-size:1.25rem;font-weight:800;color:#667eea;text-decoration:none;transition:color .2s}.navigation__logo:hover{color:#5568d3}.navigation__links{display:flex;gap:2rem}.navigation__link{font-weight:500;color:#6b7280;text-decoration:none;padding:.5rem 0;border-bottom:2px solid transparent;transition:all .2s}.navigation__link:hover{color:#667eea}.navigation__link--active{color:#667eea;border-bottom-color:#667eea}@media (max-width: 640px){.navigation__container{padding:0 1rem}.navigation__links{gap:1rem}.navigation__link{font-size:.875rem}}.bulk-upload__warning{padding:12px 16px;background:#fefce8;border-bottom:1px solid #fef08a;color:#854d0e;font-size:13px}.bulk-upload__queue-item{display:grid;grid-template-columns:32px 1fr 140px 80px;gap:12px;align-items:center;padding:12px 16px;border-bottom:1px solid #e5e7eb;transition:background-color .2s}.bulk-upload__detected-badge{font-size:10px;padding:2px 6px;background:#dbeafe;color:#1d4ed8;border-radius:4px;font-weight:500}.bulk-upload__queue-item-date{min-width:140px}.bulk-upload__date-input{width:100%;font-size:13px;padding:6px 8px;border:1px solid #d1d5db;border-radius:4px;background:#fff}.bulk-upload__date-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 2px #667eea33}.bulk-upload__date-input:disabled{background:#f3f4f6;color:#6b7280;cursor:not-allowed}.bulk-upload{display:flex;flex-direction:column;gap:24px}.bulk-upload__dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;border:2px dashed #d1d5db;border-radius:.5rem;background-color:#f9fafb;cursor:pointer;transition:all .2s}.bulk-upload__dropzone:hover{border-color:#667eea;background-color:#f3f4f6}.bulk-upload__dropzone--dragging{border-color:#667eea;background-color:#eef2ff}.bulk-upload__dropzone--disabled{opacity:.6;cursor:not-allowed}.bulk-upload__dropzone--disabled:hover{border-color:#d1d5db;background-color:#f9fafb}.bulk-upload__input{display:none}.bulk-upload__icon{margin-bottom:.75rem;color:#9ca3af}.bulk-upload__icon-svg{width:48px;height:48px}.bulk-upload__text{margin:0;font-size:.875rem;color:#6b7280}.bulk-upload__text-bold{font-weight:600;color:#667eea}.bulk-upload__hint{margin:.25rem 0 0;font-size:.75rem;color:#9ca3af}.bulk-upload__queue{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.bulk-upload__queue-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#f9fafb;border-bottom:1px solid #e5e7eb}.bulk-upload__queue-title{margin:0;font-size:14px;font-weight:600;color:#374151}.bulk-upload__progress{font-size:13px;color:#667eea;font-weight:500}.bulk-upload__queue-list{max-height:400px;overflow-y:auto}.bulk-upload__queue-item{display:grid;grid-template-columns:32px 1fr 160px 80px;gap:12px;align-items:center;padding:12px 16px;border-bottom:1px solid #e5e7eb;transition:background-color .2s}.bulk-upload__queue-item:last-child{border-bottom:none}.bulk-upload__queue-item--pending{background:#fff}.bulk-upload__queue-item--processing{background:#eff6ff}.bulk-upload__queue-item--complete{background:#f0fdf4}.bulk-upload__queue-item--error{background:#fef2f2}.bulk-upload__queue-item--skipped{background:#fefce8}.bulk-upload__queue-item-status{display:flex;align-items:center;justify-content:center}.bulk-upload__status-icon{font-size:18px;font-weight:700}.bulk-upload__status-icon--pending{color:#9ca3af}.bulk-upload__status-icon--processing{color:#3b82f6;animation:pulse 1s infinite}.bulk-upload__status-icon--complete{color:#22c55e}.bulk-upload__status-icon--error{color:#ef4444}.bulk-upload__status-icon--skipped{color:#eab308}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.bulk-upload__queue-item-info{display:flex;flex-direction:column;gap:4px;min-width:0}.bulk-upload__queue-item-name{font-size:14px;font-weight:500;color:#111827;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bulk-upload__queue-item-size{font-size:12px;color:#6b7280;display:flex;align-items:center;gap:8px}.bulk-upload__queue-item-error{font-size:12px;color:#dc2626}.bulk-upload__queue-item-agency{min-width:160px}.bulk-upload__agency-select{width:100%;font-size:13px;padding:6px 8px;border:1px solid #d1d5db;border-radius:4px;background:#fff;cursor:pointer}.bulk-upload__agency-select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 2px #667eea33}.bulk-upload__agency-select:disabled{background:#f3f4f6;color:#6b7280;cursor:not-allowed}.bulk-upload__queue-item-actions{display:flex;gap:8px;justify-content:flex-end}.bulk-upload__retry-btn{padding:4px 12px;font-size:12px;font-weight:500;color:#3b82f6;background:#eff6ff;border:1px solid #bfdbfe;border-radius:4px;cursor:pointer;transition:all .2s}.bulk-upload__retry-btn:hover{background:#dbeafe}.bulk-upload__remove-btn{width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:16px;color:#9ca3af;background:transparent;border:none;border-radius:4px;cursor:pointer;transition:all .2s}.bulk-upload__remove-btn:hover{color:#ef4444;background:#fef2f2}.bulk-upload__summary{padding:16px;background:#f0fdf4;border:1px solid #86efac;border-radius:8px}.bulk-upload__summary-title{margin:0 0 12px;font-size:14px;font-weight:600;color:#166534}.bulk-upload__summary-stats{display:flex;gap:16px;flex-wrap:wrap}.bulk-upload__summary-stat{font-size:13px;font-weight:500}.bulk-upload__summary-stat--success{color:#166534}.bulk-upload__summary-stat--failed{color:#dc2626}.bulk-upload__summary-stat--skipped{color:#854d0e}.bulk-upload__actions{display:flex;gap:12px;justify-content:flex-end}.health-check-page{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem}.health-check-page__container{max-width:800px;margin:0 auto}.health-check-page__header{text-align:center;margin-bottom:2rem;color:#fff}.health-check-page__header h1{font-size:2.5rem;font-weight:800;margin:0 0 .5rem;text-shadow:0 2px 4px rgba(0,0,0,.1)}.health-check-page__subtitle{font-size:1.125rem;opacity:.95;margin:0}.health-check-page__loading{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem 0}.health-check-page__error{display:flex;flex-direction:column;gap:1rem}.health-check-page__error-message{color:#991b1b;margin:0;padding:1rem;background-color:#fef2f2;border-radius:.375rem;border:1px solid #fee2e2}.health-check-page__success{display:flex;flex-direction:column;gap:1.5rem}.health-check-page__status-grid{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.health-check-page__status-item{display:flex;flex-direction:column;gap:.5rem}.health-check-page__label{font-size:.875rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.health-check-page__value{font-size:1rem;color:#111827;font-weight:500}.health-check-page__value--code{font-family:Courier New,monospace;background-color:#f3f4f6;padding:.375rem .5rem;border-radius:.25rem;font-size:.875rem;word-break:break-all}.health-check-page__info{margin-top:1.5rem}.health-check-page__features{margin:1rem 0 0;padding-left:1.5rem;line-height:1.75}.health-check-page__features li{margin-bottom:.5rem}.btn{padding:.625rem 1.25rem;border-radius:.375rem;font-weight:600;font-size:.875rem;border:none;cursor:pointer;transition:all .2s}.btn:disabled{opacity:.6;cursor:not-allowed}.btn--primary{background-color:#667eea;color:#fff}.btn--primary:hover:not(:disabled){background-color:#5568d3}.btn--secondary{background-color:#f3f4f6;color:#374151;border:1px solid #d1d5db}.btn--secondary:hover:not(:disabled){background-color:#e5e7eb}.spinner{width:40px;height:40px;border:4px solid #f3f4f6;border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite}@media (max-width: 640px){.health-check-page{padding:1rem}.health-check-page__header h1{font-size:2rem}.health-check-page__status-grid{grid-template-columns:1fr}}.programs-page{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem}.programs-page__header{text-align:center;margin-bottom:2rem;color:#fff}.programs-page__header h1{font-size:2.5rem;font-weight:800;margin:0 0 .5rem;text-shadow:0 2px 4px rgba(0,0,0,.1)}.programs-page__subtitle{font-size:1.125rem;opacity:.95;margin:0}.programs-page__content{max-width:1000px;margin:0 auto;display:flex;flex-direction:column;gap:1.5rem}.programs-page__loading{text-align:center;padding:4rem;color:#fff;font-size:1.25rem}.programs-page__lender-section{display:flex;flex-direction:column;gap:1.5rem}.programs-page__lender-select-wrapper{display:flex;gap:1rem;align-items:flex-start}.programs-page__lender-select{flex:1;padding:.625rem .875rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:1rem;background-color:#fff;cursor:pointer}.programs-page__lender-select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.programs-page__no-lenders{text-align:center;padding:2rem;display:flex;flex-direction:column;gap:1rem;align-items:center}.programs-page__no-lenders p{color:#6b7280;margin:0}.programs-page__lender-form{padding:1.5rem;background-color:#f9fafb;border-radius:.5rem;border:1px solid #e5e7eb}.programs-page__success{padding:1rem;background-color:#d1fae5;border:1px solid #a7f3d0;border-radius:.375rem;margin-bottom:1.5rem;display:flex;flex-direction:column;gap:.5rem}.programs-page__success p{margin:0;color:#065f46;font-size:.875rem}.programs-page__filters{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid #e5e7eb}.programs-page__filter-row{display:flex;gap:1rem;flex-wrap:wrap}.programs-page__filter-group{display:flex;flex-direction:column;gap:.25rem;min-width:140px;flex:1}.programs-page__filter-group label{font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.025em}.programs-page__filter-select{padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;background-color:#fff;cursor:pointer}.programs-page__filter-select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.programs-page__programs-grouped{display:flex;flex-direction:column;gap:1.5rem}.programs-page__group{display:flex;flex-direction:column;gap:.75rem}.programs-page__group-header{display:flex;align-items:center;gap:.75rem;padding-bottom:.5rem;border-bottom:2px solid #667eea}.programs-page__group-title{margin:0;font-size:1rem;font-weight:700;color:#374151}.programs-page__group-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;height:1.5rem;padding:0 .5rem;background-color:#667eea;color:#fff;border-radius:9999px;font-size:.75rem;font-weight:600}.programs-page__no-results{padding:2rem;text-align:center;color:#6b7280;background-color:#f9fafb;border-radius:.375rem}.programs-page__programs-list{display:flex;flex-direction:column;gap:.75rem}.programs-page__program-item{padding:1rem;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:.375rem;transition:all .2s}.programs-page__program-item:hover{background-color:#f3f4f6;border-color:#d1d5db}.programs-page__program-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;gap:1rem}.programs-page__program-name{margin:0;font-size:1rem;font-weight:600;color:#111827;flex:1}.programs-page__program-details{display:flex;flex-direction:column;gap:.25rem}.programs-page__program-code{font-family:Courier New,monospace;font-size:.875rem;color:#667eea;font-weight:500}.programs-page__program-meta{font-size:.75rem;color:#6b7280;text-transform:uppercase;letter-spacing:.025em}.programs-page__program-actions{display:flex;align-items:center;gap:.5rem}.programs-page__pricing-codes{margin-top:.5rem;display:flex;flex-wrap:wrap;gap:.375rem}.programs-page__pricing-code{display:inline-block;background:#e5e7eb;padding:.125rem .5rem;border-radius:.25rem;font-size:.6875rem;font-family:Courier New,monospace;color:#374151}.programs-page__pricing-code-section{color:#6b7280;font-family:inherit;font-size:inherit}.programs-page__pricing-codes-loading{margin-top:.5rem;font-size:.6875rem;color:#9ca3af;font-style:italic}.programs-page__upload-mode-toggle{display:flex;gap:0;margin-bottom:16px;border:1px solid #d1d5db;border-radius:6px;overflow:hidden;width:fit-content}.programs-page__mode-btn{padding:8px 16px;font-size:14px;font-weight:500;color:#6b7280;background:#fff;border:none;cursor:pointer;transition:all .2s}.programs-page__mode-btn:first-child{border-right:1px solid #d1d5db}.programs-page__mode-btn:hover{background:#f3f4f6}.programs-page__mode-btn--active{color:#fff;background:#667eea}.programs-page__mode-btn--active:hover{background:#5a67d8}@media (max-width: 768px){.programs-page__filter-row{flex-direction:column}.programs-page__filter-group{min-width:100%}}@media (max-width: 640px){.programs-page{padding:1rem}.programs-page__header h1{font-size:2rem}.programs-page__lender-select-wrapper{flex-direction:column}.programs-page__program-header{flex-direction:column;align-items:flex-start}}.ratesheets-page{max-width:1200px;margin:0 auto;padding:32px 24px}.ratesheets-page__header{margin-bottom:32px}.ratesheets-page__header h1{font-size:32px;font-weight:600;color:#111827;margin:0 0 8px}.ratesheets-page__header p{font-size:16px;color:#6b7280;margin:0}.ratesheets-page__content{display:grid;grid-template-columns:1fr 1fr;gap:32px}.ratesheets-page__upload-section,.ratesheets-page__list-section{background:#fff;border-radius:12px;border:1px solid #e5e7eb;padding:24px}.ratesheets-page__upload-section h2,.ratesheets-page__list-section h2{font-size:20px;font-weight:600;color:#111827;margin:0}.ratesheets-page__list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:12px}.ratesheets-page__clear-buttons{display:flex;gap:8px}.ratesheets-page__clear-btn{padding:6px 12px;font-size:12px;font-weight:500;border-radius:6px;cursor:pointer;transition:all .15s ease}.ratesheets-page__clear-btn--lender{background:#fef3c7;color:#92400e;border:1px solid #fcd34d}.ratesheets-page__clear-btn--lender:hover:not(:disabled){background:#fde68a;border-color:#fbbf24}.ratesheets-page__clear-btn--lender:disabled{opacity:.5;cursor:not-allowed}.ratesheets-page__clear-btn--all{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5}.ratesheets-page__clear-btn--all:hover{background:#fecaca;border-color:#f87171}.ratesheets-page__lender-select{margin-bottom:16px}.ratesheets-page__upload-mode-toggle{display:flex;gap:0;margin-bottom:24px;border:1px solid #d1d5db;border-radius:8px;overflow:hidden}.ratesheets-page__mode-btn{flex:1;padding:10px 16px;font-size:14px;font-weight:500;border:none;background:#f9fafb;color:#6b7280;cursor:pointer;transition:all .15s ease}.ratesheets-page__mode-btn:first-child{border-right:1px solid #d1d5db}.ratesheets-page__mode-btn:hover:not(.ratesheets-page__mode-btn--active){background:#f3f4f6;color:#374151}.ratesheets-page__mode-btn--active{background:#667eea;color:#fff}.ratesheets-page__lender-select label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:8px}.ratesheets-page__lender-select select{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;color:#111827;background:#fff;cursor:pointer}.ratesheets-page__lender-select select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.ratesheets-page__no-sheets{padding:32px;text-align:center;color:#6b7280;font-size:14px}.ratesheets-page__table{overflow-x:auto}.ratesheets-page__table table{width:100%;border-collapse:collapse}.ratesheets-page__table thead{background:#f9fafb;border-bottom:1px solid #e5e7eb}.ratesheets-page__table th{padding:12px;text-align:left;font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.ratesheets-page__table td{padding:12px;font-size:14px;color:#111827;border-bottom:1px solid #f3f4f6}.ratesheets-page__table tbody tr:hover{background:#f9fafb}.ratesheets-page__delete-btn{padding:4px 10px;font-size:12px;font-weight:500;color:#dc2626;background:transparent;border:1px solid #fca5a5;border-radius:4px;cursor:pointer;transition:all .15s ease}.ratesheets-page__delete-btn:hover{background:#fee2e2;border-color:#f87171}.ratesheets-page__loading,.ratesheets-page__error,.ratesheets-page__empty{max-width:600px;margin:64px auto;padding:32px;text-align:center}.ratesheets-page__error{color:#dc2626}.ratesheets-page__empty h2{font-size:24px;font-weight:600;color:#111827;margin:0 0 12px}.ratesheets-page__empty p{font-size:16px;color:#6b7280;margin:0}@media (max-width: 768px){.ratesheets-page__content{grid-template-columns:1fr}}.pricing-page{max-width:1600px;margin:0 auto;padding:32px 24px;min-height:calc(100vh - 64px);background:linear-gradient(135deg,#f8fafc,#e2e8f0)}.pricing-page__header{margin-bottom:32px;text-align:center}.pricing-page__header h1{font-size:36px;font-weight:700;color:#1e293b;margin:0 0 8px}.pricing-page__header p{font-size:16px;color:#64748b;margin:0}.pricing-page__content{display:grid;grid-template-columns:520px 1fr;gap:32px;align-items:start}.pricing-page__form-section{position:sticky;top:24px}.pricing-form{background:#fff;border-radius:16px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;overflow:hidden}.pricing-form__header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff}.pricing-form__header h2{font-size:20px;font-weight:600;margin:0}.pricing-form__lender{display:flex;flex-direction:column;gap:4px}.pricing-form__lender label{font-size:11px;text-transform:uppercase;opacity:.8}.pricing-form__lender select{padding:6px 10px;border-radius:6px;border:none;background:#fff3;color:#fff;font-size:13px;cursor:pointer}.pricing-form__lender select option{color:#1e293b}.pricing-form__section{padding:20px 24px;border-bottom:1px solid #e2e8f0}.pricing-form__section:last-of-type{border-bottom:none}.pricing-form__section h3{font-size:14px;font-weight:600;color:#475569;margin:0 0 16px;text-transform:uppercase;letter-spacing:.05em}.pricing-form__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.pricing-form__field{display:flex;flex-direction:column;gap:6px}.pricing-form__field label{font-size:12px;font-weight:500;color:#64748b}.pricing-form__field input,.pricing-form__field select{padding:10px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;color:#1e293b;transition:border-color .15s,box-shadow .15s}.pricing-form__field input:focus,.pricing-form__field select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.pricing-form__field--calculated{justify-content:flex-end}.pricing-form__calculated-value{padding:10px 12px;background:#f1f5f9;border-radius:8px;font-size:14px;font-weight:600;color:#3b82f6}.pricing-form__submit{width:calc(100% - 48px);margin:20px 24px;padding:14px 24px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;font-size:16px;font-weight:600;border:none;border-radius:10px;cursor:pointer;transition:transform .15s,box-shadow .15s}.pricing-form__submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #10b98166}.pricing-form__submit:disabled{opacity:.7;cursor:not-allowed}.pricing-form__error{margin:0 24px 20px;padding:12px 16px;background:#fef2f2;color:#dc2626;border-radius:8px;font-size:14px}.pricing-page__results-section{min-height:600px}.pricing-results__empty,.pricing-results__loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:400px;background:#fff;border-radius:16px;box-shadow:0 4px 6px -1px #0000001a}.pricing-results__empty-icon{font-size:64px;margin-bottom:16px}.pricing-results__empty h3{font-size:20px;color:#1e293b;margin:0 0 8px}.pricing-results__empty p{font-size:14px;color:#64748b;margin:0}.pricing-results__spinner{width:48px;height:48px;border:4px solid #e2e8f0;border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}@keyframes spin{to{transform:rotate(360deg)}}.pricing-results__loading p{font-size:16px;color:#64748b}.pricing-results{display:flex;flex-direction:column;gap:24px}.pricing-results__summary{background:#fff;border-radius:16px;padding:24px;box-shadow:0 4px 6px -1px #0000001a}.pricing-results__summary h2{font-size:20px;font-weight:600;color:#1e293b;margin:0 0 16px}.pricing-results__summary-stats{display:flex;gap:32px}.pricing-results__stat{display:flex;flex-direction:column;gap:4px}.pricing-results__stat .label{font-size:12px;font-weight:500;color:#64748b;text-transform:uppercase}.pricing-results__stat .value{font-size:28px;font-weight:700;color:#1e293b}.pricing-results__warnings{margin-top:16px;display:flex;flex-direction:column;gap:8px}.pricing-results__warning{padding:10px 14px;background:#fffbeb;color:#b45309;border-radius:8px;font-size:13px}.pricing-results__table-container{background:#fff;border-radius:16px;box-shadow:0 4px 6px -1px #0000001a;overflow:hidden}.pricing-results__table{width:100%;border-collapse:collapse}.pricing-results__table thead{background:#f8fafc}.pricing-results__table th{padding:14px 16px;font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;text-align:left;border-bottom:1px solid #e2e8f0}.pricing-results__table td{padding:14px 16px;font-size:14px;color:#1e293b;border-bottom:1px solid #f1f5f9}.pricing-results__table tbody tr:hover{background:#f8fafc}.pricing-results__table tbody tr.expanded{background:#eff6ff}.expand-button{background:none;border:none;color:#3b82f6;font-size:14px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background .15s}.expand-button:hover{background:#dbeafe}.llpa-details-row{background:#f8fafc!important}.llpa-details{padding:20px 24px;background:#fff;border-radius:8px;margin:8px 0}.llpa-details h4{font-size:14px;font-weight:600;color:#1e293b;margin:0 0 16px;text-transform:uppercase;letter-spacing:.05em}.llpa-details-grid{display:flex;flex-direction:column;gap:8px}.llpa-detail-item{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:#f8fafc;border-radius:6px}.llpa-detail-item--waiver{background:#fef3c7;border:1px solid #fbbf24}.llpa-detail-item--condition{background:#ecfdf5;border:1px solid #10b981}.llpa-detail-item--total{background:#1e293b;margin-top:8px}.llpa-detail-item--total .llpa-detail-label,.llpa-detail-item--total .llpa-detail-value{color:#fff;font-weight:600}.llpa-detail-label{font-size:13px;color:#475569}.llpa-detail-value{font-size:14px;font-weight:600;color:#dc2626}.llpa-detail-calculation{margin-top:16px;padding-top:16px;border-top:2px solid #e2e8f0;display:flex;flex-direction:column;gap:8px}.calc-step{display:flex;justify-content:space-between;align-items:center;padding:8px 14px}.calc-step--result{background:#dbeafe;border-radius:6px;font-weight:600;margin-top:4px}.calc-label{font-size:13px;color:#64748b}.calc-value{font-size:14px;font-weight:600;color:#1e293b}.calc-step--result .calc-label,.calc-step--result .calc-value{color:#1e40af;font-size:15px}.program-cell{display:flex;flex-direction:column;gap:2px}.program-code{font-weight:600;color:#1e293b}.program-name{font-size:12px;color:#64748b}.rate-cell{font-weight:600;color:#3b82f6}.llpa-cell{color:#dc2626}.price-cell{font-weight:700;font-size:15px}.price-rebate{color:#10b981}.price-discount{color:#dc2626}.price-par{color:#64748b}.price-badge{display:inline-block;padding:4px 10px;border-radius:20px;font-size:11px;font-weight:600}.price-badge--rebate{background:#d1fae5;color:#059669}.price-badge--discount{background:#fee2e2;color:#dc2626}.price-badge--par{background:#f1f5f9;color:#64748b}.pricing-pagination{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#f8fafc;border-top:1px solid #e2e8f0}.pricing-pagination__info{font-size:14px;color:#64748b}.pricing-pagination__controls{display:flex;align-items:center;gap:24px}.pricing-pagination__page-size{display:flex;align-items:center;gap:8px}.pricing-pagination__page-size label{font-size:13px;color:#64748b}.pricing-pagination__page-size select{padding:6px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;background:#fff;cursor:pointer}.pricing-pagination__nav{display:flex;align-items:center;gap:8px}.pricing-pagination__btn{padding:6px 12px;border:1px solid #d1d5db;border-radius:6px;background:#fff;font-size:14px;cursor:pointer;transition:all .15s ease}.pricing-pagination__btn:hover:not(:disabled){background:#f1f5f9;border-color:#94a3b8}.pricing-pagination__btn:disabled{opacity:.5;cursor:not-allowed}.pricing-pagination__pages{font-size:14px;color:#374151;padding:0 8px}.pricing-results__no-rates{padding:48px;text-align:center;background:#fff;border-radius:16px;box-shadow:0 4px 6px -1px #0000001a}.pricing-results__no-rates p{font-size:14px;color:#64748b;margin:0 0 8px}@media (max-width: 1200px){.pricing-page__content{grid-template-columns:1fr}.pricing-page__form-section{position:static}}@media (max-width: 640px){.pricing-form__grid{grid-template-columns:1fr}.pricing-results__summary-stats{flex-direction:column;gap:16px}.pricing-results__table-container{overflow-x:auto}}.llpa-management{padding:32px;max-width:1400px;margin:0 auto}.llpa-management__header{margin-bottom:32px}.llpa-management__header h1{margin:0 0 8px;font-size:28px;font-weight:700;color:#1f2937}.llpa-management__subtitle{margin:0;font-size:16px;color:#6b7280}.llpa-management__content{display:flex;flex-direction:column;gap:32px}.llpa-management__upload-section{width:100%}.llpa-management__matrices-section{background:#fff;border-radius:8px;padding:24px;box-shadow:0 1px 3px #0000001a}.llpa-management__section-title{margin:0 0 20px;font-size:18px;font-weight:600;color:#1f2937}.llpa-management__loading,.llpa-management__error{padding:40px;text-align:center;font-size:14px}.llpa-management__loading{color:#6b7280}.llpa-management__error{color:#dc2626;background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px}.llpa-management__empty{padding:60px 20px;text-align:center;color:#9ca3af}.llpa-management__empty-icon{width:64px;height:64px;margin:0 auto 16px;opacity:.5}.llpa-management__empty-text{margin:0;font-size:16px}.llpa-management__table-wrapper{overflow-x:auto}.llpa-management__table{width:100%;border-collapse:collapse}.llpa-management__table thead{background-color:#f9fafb;border-bottom:2px solid #e5e7eb}.llpa-management__table th{padding:12px 16px;text-align:left;font-size:13px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.llpa-management__table td{padding:16px;border-bottom:1px solid #e5e7eb;font-size:14px;color:#1f2937}.llpa-management__table tbody tr:hover{background-color:#f9fafb}.llpa-management__cell--name{font-weight:500}.llpa-management__cell--source{font-size:13px;color:#6b7280}.llpa-management__badge--active,.llpa-management__badge--inactive{display:inline-block;padding:4px 8px;font-size:12px;font-weight:500;border-radius:4px}.llpa-management__badge--active{background-color:#d1fae5;color:#065f46}.llpa-management__badge--inactive{background-color:#f3f4f6;color:#6b7280}.llpa-management__actions{display:flex;gap:8px}.llpa-management__action-btn{padding:6px 12px;font-size:13px;font-weight:500;border:1px solid;border-radius:4px;cursor:pointer;transition:all .2s}.llpa-management__action-btn--activate{background-color:#fff;border-color:#3b82f6;color:#3b82f6}.llpa-management__action-btn--activate:hover{background-color:#3b82f6;color:#fff}.llpa-management__action-btn--delete{background-color:#fff;border-color:#dc2626;color:#dc2626}.llpa-management__action-btn--delete:hover{background-color:#dc2626;color:#fff}.llpa-management__info-box{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;padding:20px}.llpa-management__info-box h3{margin:0 0 12px;font-size:16px;font-weight:600;color:#1e40af}.llpa-management__info-box ul{margin:0;padding-left:20px;color:#1e3a8a}.llpa-management__info-box li{margin-bottom:8px;line-height:1.6}@media (max-width: 768px){.llpa-management{padding:16px}.llpa-management__table-wrapper{overflow-x:scroll}.llpa-management__table{min-width:800px}}.margin-target-input{display:flex;flex-direction:column;gap:8px}.margin-target-input__label{font-size:13px;font-weight:500;color:#475569}.margin-target-input__toggle{display:flex;gap:0;border-radius:8px;overflow:hidden;border:1px solid #d1d5db;width:fit-content}.margin-target-input__toggle-btn{padding:8px 16px;font-size:14px;font-weight:600;color:#64748b;background:#fff;border:none;cursor:pointer;transition:all .15s ease;min-width:44px}.margin-target-input__toggle-btn:first-child{border-right:1px solid #d1d5db}.margin-target-input__toggle-btn:hover:not(.margin-target-input__toggle-btn--active){background:#f8fafc;color:#475569}.margin-target-input__toggle-btn--active{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.margin-target-input__toggle-btn:focus{outline:none;box-shadow:0 0 0 2px #3b82f64d;z-index:1}.margin-target-input__field-wrapper{position:relative;display:flex;align-items:center}.margin-target-input__prefix,.margin-target-input__suffix{position:absolute;font-size:14px;font-weight:500;color:#64748b;pointer-events:none}.margin-target-input__prefix{left:12px}.margin-target-input__suffix{right:12px}.margin-target-input__field{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;color:#1e293b;background:#fff;transition:border-color .15s ease,box-shadow .15s ease}.margin-target-input__field-wrapper:has(.margin-target-input__prefix) .margin-target-input__field{padding-left:28px}.margin-target-input__field-wrapper:has(.margin-target-input__suffix) .margin-target-input__field{padding-right:28px}.margin-target-input__field:hover{border-color:#9ca3af}.margin-target-input__field:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.margin-target-input__field::placeholder{color:#9ca3af}.margin-target-input__field::-webkit-outer-spin-button,.margin-target-input__field::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.margin-target-input__field[type=number]{-moz-appearance:textfield}.margin-target-input__field--error{border-color:#ef4444;background-color:#fef2f2}.margin-target-input__field--error:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.margin-target-input__error{font-size:12px;color:#ef4444;display:flex;align-items:center;gap:4px}.margin-target-input__error:before{content:"!";display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;background:#fef2f2;border:1px solid #fecaca;border-radius:50%;font-size:10px;font-weight:700;color:#ef4444}.time-horizon-selector{display:flex;flex-direction:column;gap:8px}.time-horizon-selector__label{font-size:13px;font-weight:500;color:#475569}.time-horizon-selector__select{width:100%;padding:10px 32px 10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;color:#1e293b;background:#fff;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2364748b' d='M2.5 4.5L6 8l3.5-3.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.time-horizon-selector__select:hover{border-color:#9ca3af}.time-horizon-selector__select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.time-horizon-selector__select:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.todays-best-rate{padding:1.5rem;border-radius:8px;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:1px solid #dee2e6;text-align:center}.todays-best-rate__title{margin:0 0 .75rem;font-size:1rem;font-weight:500;color:#495057;text-transform:uppercase;letter-spacing:.5px}.todays-best-rate__rate{font-size:2.5rem;font-weight:700;color:#2c5282;line-height:1.2;margin-bottom:.5rem}.todays-best-rate__program{font-size:.95rem;color:#4a5568;margin-bottom:.5rem}.todays-best-rate__margin{font-size:.875rem;color:#718096;padding-top:.5rem;border-top:1px solid #e2e8f0}.todays-best-rate--loading{background:#f8f9fa;min-height:140px;display:flex;flex-direction:column;justify-content:center;align-items:center}.todays-best-rate__loading-text{color:#6c757d;font-style:italic;margin:0;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}.todays-best-rate--empty{background:#fff3cd;border-color:#ffc107}.todays-best-rate--empty .todays-best-rate__title{color:#856404}.todays-best-rate__empty-text{color:#856404;margin:0;font-size:.95rem}.todays-best-rate__breakdown{margin-top:.75rem;padding-top:.75rem;border-top:1px solid #e2e8f0;text-align:left}.todays-best-rate__breakdown-row{display:flex;justify-content:space-between;align-items:center;padding:.25rem 0;font-size:.8125rem}.todays-best-rate__breakdown-label{color:#718096}.todays-best-rate__breakdown-value{font-family:SF Mono,Menlo,monospace;color:#4a5568}.todays-best-rate__breakdown-row--total{margin-top:.25rem;padding-top:.5rem;border-top:1px dashed #e2e8f0}.todays-best-rate__breakdown-row--total .todays-best-rate__breakdown-label,.todays-best-rate__breakdown-row--total .todays-best-rate__breakdown-value{font-weight:600;color:#2c5282}.rate-trend-chart{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:24px}.rate-trend-chart__title{font-size:1.125rem;font-weight:600;color:#1f2937;margin:0 0 16px}.rate-trend-chart--empty{display:flex;align-items:center;justify-content:center;min-height:400px}.rate-trend-chart__empty-message{text-align:center;color:#6b7280}.rate-trend-chart__empty-message p{margin:0 0 8px}.rate-trend-chart__empty-hint{font-size:.875rem;color:#9ca3af}.rate-trend-chart__tooltip{background:#fffffffa;border:1px solid #e5e7eb;border-radius:6px;padding:12px 16px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.rate-trend-chart__tooltip--empty{background:#fffffffa;border:1px solid #f59e0b}.rate-trend-chart__tooltip-date{font-size:.75rem;font-weight:500;color:#6b7280;margin:0 0 8px;text-transform:uppercase;letter-spacing:.05em}.rate-trend-chart__tooltip-rate{font-size:1.125rem;font-weight:700;color:#2563eb;margin:0 0 4px}.rate-trend-chart__tooltip-program{font-size:.875rem;color:#1f2937;margin:0 0 4px}.rate-trend-chart__tooltip-margin{font-size:.875rem;color:#059669;margin:0;font-weight:500}.rate-trend-chart__tooltip-breakdown{margin:8px 0;padding:8px 0;border-top:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb}.rate-trend-chart__tooltip-detail{font-size:.8125rem;color:#6b7280;margin:0 0 4px;font-family:SF Mono,Menlo,monospace}.rate-trend-chart__tooltip-detail:last-child{margin-bottom:0}.rate-trend-chart__tooltip-final{color:#1f2937;font-weight:600}.rate-trend-chart__tooltip-empty{font-size:.875rem;color:#f59e0b;font-style:italic;margin:0}.trend-viewer-page{max-width:1600px;margin:0 auto;padding:32px 24px;min-height:calc(100vh - 64px);background:linear-gradient(135deg,#f8fafc,#e2e8f0)}.trend-viewer-page__header{margin-bottom:32px;text-align:center}.trend-viewer-page__header h1{font-size:36px;font-weight:700;color:#1e293b;margin:0 0 8px}.trend-viewer-page__header p{font-size:16px;color:#64748b;margin:0}.trend-viewer-page__content{display:grid;grid-template-columns:400px 1fr;gap:32px;align-items:start}.trend-viewer-page__form{position:sticky;top:24px}.trend-viewer-page__results{min-height:400px}.trend-viewer-page__placeholder{background:#fff;border-radius:16px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;padding:48px 32px;text-align:center;border:2px dashed #e2e8f0}.trend-viewer-page__placeholder-icon{font-size:48px;margin-bottom:16px}.trend-viewer-page__placeholder h3{font-size:18px;font-weight:600;color:#1e293b;margin:0 0 8px}.trend-viewer-page__placeholder p{font-size:14px;color:#64748b;margin:0}.trend-form{background:#fff;border-radius:16px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;padding:24px}.trend-form__title{font-size:20px;font-weight:600;color:#1e293b;margin:0 0 20px;padding-bottom:12px;border-bottom:1px solid #e2e8f0}.trend-form__section{margin-bottom:20px}.trend-form__section:last-child{margin-bottom:0}.trend-form__section-title{font-size:14px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px}.trend-form__grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.trend-form__field{display:flex;flex-direction:column;gap:6px}.trend-form__label{font-size:13px;font-weight:500;color:#475569}.trend-form__input{padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;color:#1e293b;background:#fff;transition:border-color .15s ease,box-shadow .15s ease}.trend-form__input:hover{border-color:#9ca3af}.trend-form__input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.trend-form__input::placeholder{color:#9ca3af}.trend-form__input--error{border-color:#ef4444;background-color:#fef2f2}.trend-form__input--error:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.trend-form__select{padding:10px 36px 10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;color:#1e293b;background:#fff;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease;-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 24 24' stroke='%236b7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:16px}.trend-form__select:hover{border-color:#9ca3af}.trend-form__select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.trend-form__calculated{padding:10px 12px;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #bae6fd;border-radius:8px;font-size:15px;font-weight:600;color:#0369a1;text-align:center}.trend-form__field--margin-top{margin-top:16px}.trend-form__input-with-prefix{display:flex;align-items:center;gap:0}.trend-form__input-with-prefix .trend-form__prefix{padding:10px 0 10px 12px;background:#f1f5f9;border:1px solid #d1d5db;border-right:none;border-radius:8px 0 0 8px;font-size:14px;color:#64748b}.trend-form__input-with-prefix .trend-form__input{border-radius:0 8px 8px 0;flex:1}.trend-form__hint{font-size:11px;color:#94a3b8;margin-top:4px}.trend-form__error{font-size:12px;color:#ef4444;display:flex;align-items:center;gap:4px}.trend-form__error:before{content:"!";display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;background:#fef2f2;border:1px solid #fecaca;border-radius:50%;font-size:10px;font-weight:700;color:#ef4444}.trend-form__actions{margin-top:8px;padding-top:20px;border-top:1px solid #e2e8f0}.trend-form__calculate-btn{width:100%;padding:14px 24px;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;font-size:16px;font-weight:600;border:none;border-radius:10px;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 6px -1px #2563eb4d}.trend-form__calculate-btn:hover:not(:disabled){background:linear-gradient(135deg,#1d4ed8,#1e40af);transform:translateY(-1px);box-shadow:0 6px 10px -1px #2563eb66}.trend-form__calculate-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 4px -1px #2563eb4d}.trend-form__calculate-btn:disabled{background:linear-gradient(135deg,#94a3b8,#64748b);cursor:not-allowed;box-shadow:none}.trend-viewer-page__error{background:linear-gradient(135deg,#fef2f2,#fee2e2);border:1px solid #fecaca;border-radius:12px;padding:16px 20px;margin-bottom:20px}.trend-viewer-page__error-title{font-size:14px;font-weight:600;color:#dc2626;margin:0 0 8px}.trend-viewer-page__error-message{font-size:14px;color:#b91c1c;margin:0 0 8px}.trend-viewer-page__error-hint{font-size:13px;color:#991b1b;margin:0 0 12px;opacity:.8}.trend-viewer-page__retry-btn{padding:8px 16px;background:#dc2626;color:#fff;font-size:14px;font-weight:500;border:none;border-radius:6px;cursor:pointer;transition:background .15s ease}.trend-viewer-page__retry-btn:hover:not(:disabled){background:#b91c1c}.trend-viewer-page__retry-btn:disabled{background:#f87171;cursor:not-allowed}.trend-viewer-page__info{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #bfdbfe;border-radius:12px;padding:14px 18px;margin-bottom:20px}.trend-viewer-page__info-message{font-size:14px;color:#1e40af;margin:0}.trend-viewer-page__warnings{margin-bottom:20px;display:flex;flex-direction:column;gap:10px}.trend-viewer-page__warning{background:linear-gradient(135deg,#fffbeb,#fef3c7);border:1px solid #fde68a;border-radius:10px;padding:12px 16px;font-size:14px;color:#92400e}@media (max-width: 1024px){.trend-viewer-page__content{grid-template-columns:1fr}.trend-viewer-page__form{position:static}}@media (max-width: 480px){.trend-form__grid{grid-template-columns:1fr}}
