.checkout-container{max-width:1400px;margin:0 auto;padding:32px 20px 60px;background:#0b1c2d;min-height:100vh}.checkout-header{text-align:center;margin-bottom:48px;padding-top:20px}.checkout-header h1{font-family:IBM Plex Sans,sans-serif;font-size:2.25rem;font-weight:700;margin-bottom:12px;color:#e9eef3;letter-spacing:-.02em}.checkout-header p{font-family:"Source Sans 3",sans-serif;font-size:1.125rem;color:#b9c4ce;font-weight:400}.auth-container{max-width:480px;margin:0 auto 56px;background:#122b40;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:36px;box-shadow:0 10px 30px #00000040}.auth-tabs{display:flex;gap:0;margin-bottom:28px;border-bottom:1px solid rgba(255,255,255,.1)}.auth-tab{flex:1;padding:14px 24px;background:none;border:none;font-size:.9375rem;font-weight:600;color:#b9c4ce;cursor:pointer;transition:all .2s ease;border-bottom:2px solid transparent;margin-bottom:-1px;font-family:IBM Plex Sans,sans-serif}.auth-tab:hover{color:#e9eef3}.auth-tab.active{color:#c69214;border-bottom-color:#c69214}.auth-form{animation:fadeIn .3s}.auth-form.hidden{display:none}.auth-form h2{font-family:IBM Plex Sans,sans-serif;font-size:1.5rem;font-weight:700;margin-bottom:8px;color:#e9eef3;letter-spacing:-.01em}.auth-subtitle{color:#b9c4ce;margin-bottom:28px;font-size:.9375rem;font-family:"Source Sans 3",sans-serif}.form-group{margin-bottom:20px}.form-group label{display:block;font-weight:600;margin-bottom:8px;color:#e9eef3;font-size:.875rem;font-family:IBM Plex Sans,sans-serif}.form-group input,.form-group select{width:100%;padding:12px 14px;border:1px solid rgba(255,255,255,.12);border-radius:6px;font-size:.9375rem;transition:all .2s ease;font-family:"Source Sans 3",sans-serif;background:#00000026;color:#e9eef3}.form-group input:hover,.form-group select:hover{border-color:#fff3}.form-group input:focus,.form-group select:focus{outline:none;border-color:#c69214;box-shadow:0 0 0 3px #c692141a}.error-message{color:#dc2626;font-size:.9rem;margin-bottom:16px;min-height:20px}.tier-selection{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:32px;margin-bottom:60px}.tier-selection.disabled{opacity:.5;pointer-events:none}.tier-card-checkout{background:#122b40;border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:32px;transition:all .25s ease;display:flex;flex-direction:column;position:relative;box-shadow:0 10px 30px #00000040}.tier-card-checkout:hover{transform:translateY(-2px);box-shadow:0 12px 40px #00000059;border-color:#ffffff26}.tier-card-checkout.recommended{border-color:#c6921473;border-width:2px;position:relative;box-shadow:0 10px 30px #c6921426}.tier-card-checkout.recommended:hover{border-color:#c69214;box-shadow:0 12px 40px #c6921440}.recommended-banner{position:absolute;top:-12px;right:24px;background:#c69214;color:#111;padding:4px 16px;border-radius:12px;font-size:.75rem;font-weight:700;letter-spacing:.05em;box-shadow:0 2px 8px #c692144d}.tier-badge{display:inline-block;background:#ffffff14;color:#b9c4ce;padding:6px 14px;border-radius:6px;font-size:.75rem;font-weight:700;margin-bottom:20px;width:fit-content;text-transform:uppercase;letter-spacing:.05em;font-family:IBM Plex Mono,monospace;border:1px solid rgba(255,255,255,.1)}.recommended-badge{background:#c6921414;color:#c69214;border-color:#c6921473}.tier-card-checkout h3{font-family:IBM Plex Sans,sans-serif;font-size:1.375rem;font-weight:700;margin-bottom:8px;color:#e9eef3;letter-spacing:-.01em}.tier-description{color:#b9c4ce;margin-bottom:24px;font-size:.9375rem;line-height:1.5;font-family:"Source Sans 3",sans-serif}.tier-price{margin-bottom:28px;padding:16px 0;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1)}.price-amount{font-family:IBM Plex Sans,sans-serif;font-size:2.75rem;font-weight:700;color:#e9eef3;letter-spacing:-.02em}.price-period{color:#b9c4ce;font-size:1rem;font-weight:500;margin-left:4px}.tier-features{list-style:none;padding:0;margin:0 0 28px;flex-grow:1}.tier-features li{padding:12px 0 12px 28px;position:relative;color:#e9eef3;font-size:.9375rem;line-height:1.6;font-family:"Source Sans 3",sans-serif}.tier-features li:before{content:"✓";position:absolute;left:0;color:#c69214;font-weight:700;font-size:1.125rem}.tier-note{font-size:.8125rem;color:#b9c4ce;margin-bottom:24px;padding:12px;background:#ffffff0a;border-radius:6px;border:1px solid rgba(198,146,20,.45);font-family:IBM Plex Mono,monospace}.select-tier-btn{margin-top:auto}.checkout-footer{margin-top:48px;text-align:center}.footer-note{background:#122b40;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:24px;color:#b9c4ce;font-size:.9375rem;line-height:1.6;max-width:800px;margin:0 auto;font-family:"Source Sans 3",sans-serif}.footer-note strong{color:#e9eef3;font-weight:600}.modal{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;z-index:1000;align-items:center;justify-content:center;padding:20px}.modal.active{display:flex}.modal-content{background:#122b40;border:1px solid rgba(255,255,255,.1);border-radius:12px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;animation:slideUp .3s}@keyframes slideUp{0%{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-header{padding:24px 32px;border-bottom:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center}.modal-header h2{margin:0;font-size:1.5rem;color:#e9eef3}.modal-close{background:none;border:none;font-size:2rem;color:#b9c4ce;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:color .2s}.modal-close:hover{color:#e9eef3}.modal-body{padding:32px}.payment-summary{background:#ffffff0a;padding:20px;border-radius:8px;margin-bottom:32px;border:1px solid rgba(255,255,255,.1)}.payment-summary h3{margin:0 0 16px;font-size:1.125rem;color:#e9eef3}.summary-row{display:flex;justify-content:space-between;padding:8px 0;font-size:1rem;color:#e9eef3}.payment-form h3{margin:0 0 8px;font-size:1.125rem;color:#e9eef3}.payment-note{color:#b9c4ce;font-size:.9rem;margin-bottom:24px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.payment-footer{margin-top:24px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1);text-align:center;color:#b9c4ce}.full-width{width:100%}.btn-signout{background:none;border:1px solid rgba(255,255,255,.1);padding:8px 16px;border-radius:6px;font-size:.875rem;font-weight:600;color:#b9c4ce;cursor:pointer;transition:all .2s ease;font-family:IBM Plex Sans,sans-serif}.btn-signout:hover{background:#ffffff0f;color:#e9eef3;border-color:#ffffff26}.map-preview-section{margin:48px 0;background:#122b40;border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:32px;box-shadow:0 10px 30px #00000040}.map-preview-header{text-align:center;margin-bottom:32px}.map-preview-header h3{font-size:1.75rem;font-weight:700;color:#e9eef3;margin:0 0 8px;font-family:IBM Plex Sans,sans-serif}.map-preview-header p{font-size:1rem;color:#b9c4ce;margin:0}.map-preview-container{position:relative;background:#0b1c2d;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #00000026}#choropleth-preview{width:100%;height:auto;display:block}.map-preview-overlay{position:absolute;top:20px;right:20px;pointer-events:none}.map-legend{background:#0b1c2deb;border:1px solid rgba(255,255,255,.15);border-radius:8px;padding:16px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.legend-title{font-family:IBM Plex Sans,sans-serif;font-weight:600;font-size:.875rem;color:#e9eef3;margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px}.legend-item{display:flex;align-items:center;gap:10px;margin-bottom:8px;font-size:.875rem;color:#b9c4ce;font-family:IBM Plex Mono,monospace}.legend-item:last-child{margin-bottom:0}.legend-color{width:20px;height:20px;border-radius:3px;border:1px solid rgba(255,255,255,.2);flex-shrink:0}.legend-color.critical{background:#8b1e1e}.legend-color.high{background:#b85c2e}.legend-color.medium{background:#7a8a3a}.legend-color.low{background:#3a6f8a}.legend-color.none{background:#4a5a67}.success-container{max-width:800px;margin:60px auto;padding:40px 20px;text-align:center}.success-icon{width:100px;height:100px;background:#10b981;color:#fff;font-size:4rem;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 32px;animation:scaleIn .5s}@keyframes scaleIn{0%{transform:scale(0)}to{transform:scale(1)}}.success-container h1{font-size:2.5rem;margin-bottom:16px;color:#1a1a1a}.success-message{font-size:1.125rem;color:#666;margin-bottom:40px}.success-details{background:#f9fafb;border:1px solid #e5e5e5;border-radius:8px;padding:24px;margin-bottom:40px;text-align:left}.detail-row{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #e5e5e5}.detail-row:last-child{border-bottom:none}.next-steps{text-align:left;margin-bottom:40px}.next-steps h2{font-size:1.5rem;margin-bottom:16px;color:#1a1a1a}.next-steps ol{padding-left:24px}.next-steps li{margin-bottom:12px;color:#333;line-height:1.6}.success-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-bottom:40px}.contact-info{padding:24px;background:#eff6ff;border-radius:8px;color:#1e40af}.contact-info p{margin:8px 0}.portal-container{max-width:1200px;margin:0 auto;padding:40px 20px}.portal-header{margin-bottom:40px}.portal-header h1{font-size:2.5rem;margin-bottom:8px;color:#1a1a1a}.portal-header p{color:#666;font-size:1.125rem}.portal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;margin-bottom:40px}.portal-card{background:#fff;border:1px solid #e5e5e5;border-radius:8px;padding:24px}.portal-card h3{font-size:1.25rem;margin-bottom:16px;color:#1a1a1a}.status-badge{display:inline-block;padding:6px 12px;border-radius:4px;font-size:.85rem;font-weight:600}.status-active{background:#d1fae5;color:#065f46}.status-pending{background:#fef3c7;color:#92400e}.status-cancelled{background:#fee2e2;color:#991b1b}.info-row{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #f0f0f0}.info-row:last-child{border-bottom:none}.info-label{color:#666;font-size:.9rem}.info-value{font-weight:600;color:#1a1a1a}@media(max-width:768px){.checkout-header h1{font-size:2rem}.tier-selection{grid-template-columns:1fr}.tier-card-checkout{padding:24px}.modal-content{margin:20px}.modal-body{padding:24px}.form-row{grid-template-columns:1fr}.success-container h1{font-size:2rem}.success-actions{flex-direction:column}.portal-grid{grid-template-columns:1fr}.map-preview-section{padding:24px 16px;margin:32px 0}.map-preview-overlay{position:static;margin-top:16px}.map-legend{background:#0b1c2df2}}
