*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{color:#1e293b;background:#f1f5f9;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6}.app-header{color:#fff;background:linear-gradient(135deg,#1e3a5f 0%,#2563eb 100%);justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex;box-shadow:0 2px 8px #00000026}.app-header .header-left{align-items:center;gap:12px;display:flex}.app-header h1{letter-spacing:.5px;font-size:1.5rem;font-weight:700}.app-header p{opacity:.85;font-size:.85rem}.app-header .header-right{align-items:center;gap:12px;display:flex}.app-header .user-info{opacity:.9;font-size:.9rem}.header-btn{cursor:pointer;color:#fff;background:#ffffff26;border:none;border-radius:6px;padding:.45rem 1rem;font-size:.85rem;font-weight:600;transition:all .2s}.header-btn:hover{background:#ffffff40}.header-btn.primary{color:#1e3a5f;background:#fff}.header-btn.primary:hover{background:#e2e8f0}.app-container{max-width:900px;margin:2rem auto;padding:0 1.5rem}.progress-bar{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-bottom:2rem;display:flex}.progress-step{color:#94a3b8;align-items:center;gap:.35rem;font-size:.85rem;display:flex}.progress-step .step-num{color:#64748b;background:#e2e8f0;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:.8rem;font-weight:700;transition:all .3s;display:flex}.progress-step.active .step-num{color:#fff;background:#2563eb}.progress-step.completed .step-num{color:#fff;background:#16a34a}.progress-step.active .step-label{color:#2563eb;font-weight:600}.progress-step.completed .step-label{color:#16a34a}.progress-connector{background:#e2e8f0;align-self:center;width:40px;height:2px}.progress-connector.active{background:#2563eb}.progress-connector.completed{background:#16a34a}.form-card{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 1px 6px #00000014}.form-card h2{color:#1e3a5f;margin-bottom:.25rem;font-size:1.35rem}.form-card .step-desc{color:#64748b;margin-bottom:1.5rem;font-size:.9rem}label.field-label{color:#334155;margin-bottom:.35rem;font-size:.9rem;font-weight:600;display:block}.field-group{margin-bottom:1.25rem}input[type=text],input[type=email],input[type=password],select{color:#1e293b;background:#fff;border:1.5px solid #cbd5e1;border-radius:8px;width:100%;padding:.65rem .85rem;font-size:.95rem;transition:border-color .2s}input[type=text]:focus,input[type=email]:focus,input[type=password]:focus,select:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb1f}select{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='M6 8L1 3h10z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:2.5rem}.validation-error{color:#dc2626;margin-top:.25rem;font-size:.82rem}.radio-cards{flex-direction:column;gap:1rem;display:flex}.radio-card{cursor:pointer;border:2px solid #e2e8f0;border-radius:10px;padding:1.25rem;transition:all .2s;position:relative}.radio-card:hover{background:#f8fafc;border-color:#93c5fd}.radio-card.selected{background:#eff6ff;border-color:#2563eb}.radio-card .rc-header{align-items:center;gap:.6rem;margin-bottom:.4rem;display:flex}.radio-card .rc-dot{border:2px solid #cbd5e1;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;transition:all .2s;display:flex}.radio-card.selected .rc-dot{background:#2563eb;border-color:#2563eb}.radio-card.selected .rc-dot:after{content:"";background:#fff;border-radius:50%;width:8px;height:8px;display:block}.radio-card .rc-title{color:#1e3a5f;font-size:1.05rem;font-weight:700}.radio-card .rc-desc{color:#475569;margin-bottom:.35rem;margin-left:2rem;font-size:.9rem}.radio-card .rc-examples{color:#64748b;margin-left:2rem;font-size:.82rem;font-style:italic}.concern-counter{color:#475569;margin-bottom:1rem;font-size:.9rem;font-weight:500}.concern-counter span{color:#2563eb;font-weight:700}.concern-grid{grid-template-columns:1fr 1fr;gap:.85rem;display:grid}.concern-card{cursor:pointer;border:2px solid #e2e8f0;border-radius:10px;padding:1rem 1.1rem;transition:all .2s;position:relative}.concern-card:hover{background:#f8fafc;border-color:#93c5fd}.concern-card.selected{background:#eff6ff;border-color:#2563eb}.concern-card.disabled-card{opacity:.45;cursor:not-allowed;pointer-events:none}.concern-card .cc-header{align-items:center;gap:.5rem;margin-bottom:.3rem;display:flex}.concern-card .cc-check{border:2px solid #cbd5e1;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;transition:all .2s;display:flex}.concern-card.selected .cc-check{color:#fff;background:#2563eb;border-color:#2563eb;font-size:.75rem;font-weight:700}.concern-card .cc-title{color:#1e3a5f;font-size:.95rem;font-weight:600}.concern-card .cc-desc{color:#64748b;margin-left:1.85rem;font-size:.82rem}.review-panel{background:#f8fafc;border-radius:10px;margin-bottom:1.5rem;padding:1.5rem}.review-section{border-bottom:1px solid #e2e8f0;margin-bottom:1.25rem;padding-bottom:1rem}.review-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.review-section h3{color:#64748b;justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:.95rem;font-weight:600;display:flex}.review-section .edit-link{color:#2563eb;cursor:pointer;font-size:.82rem;font-weight:500}.review-section .edit-link:hover{text-decoration:underline}.review-item{color:#1e293b;margin-bottom:.25rem;font-size:.95rem}.review-item strong{color:#334155}.concern-tags{flex-wrap:wrap;gap:.4rem;margin-top:.35rem;display:flex}.concern-tag{color:#1e40af;background:#dbeafe;border-radius:20px;padding:.2rem .65rem;font-size:.8rem;font-weight:500}.btn-row{justify-content:space-between;gap:1rem;margin-top:1.75rem;display:flex}.btn{cursor:pointer;border:none;border-radius:8px;padding:.7rem 1.75rem;font-size:.95rem;font-weight:600;transition:all .2s}.btn-primary{color:#fff;background:#2563eb}.btn-primary:hover{background:#1d4ed8}.btn-secondary{color:#475569;background:#e2e8f0}.btn-secondary:hover{background:#cbd5e1}.btn-generate{color:#fff;background:linear-gradient(135deg,#16a34a,#15803d);border-radius:10px;margin:1.5rem auto 0;padding:.85rem 2.5rem;font-size:1.1rem;display:block}.btn-generate:hover{transform:translateY(-1px);box-shadow:0 4px 12px #16a34a4d}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none!important;transform:none!important}.loading-overlay{text-align:center;padding:3rem}.spinner{border:4px solid #e2e8f0;border-top-color:#2563eb;border-radius:50%;width:48px;height:48px;margin:0 auto 1rem;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.policy-toolbar{background:#fff;border-radius:12px;flex-wrap:wrap;justify-content:center;gap:1rem;margin-bottom:1.5rem;padding:1rem 1.5rem;display:flex;box-shadow:0 1px 6px #00000014}.toolbar-btn{cursor:pointer;color:#475569;background:#fff;border:2px solid #e2e8f0;border-radius:8px;align-items:center;gap:.4rem;padding:.55rem 1.25rem;font-size:.88rem;font-weight:600;transition:all .2s;display:inline-flex}.toolbar-btn:hover{color:#2563eb;border-color:#2563eb}.toolbar-btn.success{color:#16a34a;border-color:#bbf7d0}.toolbar-btn.success:hover{background:#f0fdf4}.toolbar-btn.danger{color:#dc2626;border-color:#fecaca}.toolbar-btn.danger:hover{background:#fef2f2}.policy-document{background:#fff;border-radius:12px;max-width:900px;margin:0 auto 2rem;padding:3rem;box-shadow:0 1px 6px #00000014}.policy-document .doc-header{text-align:center;border-bottom:3px solid #1e3a5f;margin-bottom:2rem;padding-bottom:1.5rem}.policy-document .doc-header h1{color:#1e3a5f;margin-bottom:.25rem;font-size:1.5rem}.policy-document .doc-header .doc-title{color:#2563eb;letter-spacing:1px;text-transform:uppercase;margin-bottom:.5rem;font-size:1.25rem;font-weight:700}.policy-document .doc-header .doc-meta{color:#64748b;font-size:.85rem}.policy-document h2{color:#1e3a5f;border-bottom:2px solid #e2e8f0;margin:2rem 0 .75rem;padding-bottom:.4rem;font-size:1.2rem}.policy-document h3{color:#334155;margin:1.25rem 0 .5rem;font-size:1.05rem}.policy-document p{text-align:justify;margin-bottom:.75rem}.policy-document .citation{color:#475569;background:#f8fafc;border-left:3px solid #93c5fd;border-radius:0 6px 6px 0;margin:.75rem 0;padding:.6rem 1rem;font-size:.85rem}.policy-document table{border-collapse:collapse;width:100%;margin:1rem 0;font-size:.88rem}.policy-document th{color:#334155;text-align:left;background:#f1f5f9;border:1px solid #e2e8f0;padding:.6rem .75rem;font-weight:600}.policy-document td{vertical-align:top;border:1px solid #e2e8f0;padding:.55rem .75rem}.policy-document ul,.policy-document ol{margin:.5rem 0 .75rem 1.5rem}.policy-document li{margin-bottom:.35rem}.policy-document .section-content{margin-left:.5rem}.ref-section{margin-top:.5rem}.ref-section h4{color:#1e3a5f;margin:.75rem 0 .35rem;font-size:.95rem}.ref-section p,.ref-section a{color:#475569;word-break:break-all;font-size:.85rem}.ref-section a{color:#2563eb}.step4-disclaimer{color:#3a4a6b;background:#f0f4ff;border:1px solid #b8c9e8;border-left:4px solid #4a7ab5;border-radius:6px;margin:12px 0 5px;padding:10px 14px;font-size:.82rem;line-height:1.4}.policy-disclaimer{color:#5d4e00;background:#fff8e1;border:1px solid #ffcc02;border-left:4px solid #f0a500;border-radius:6px;margin:15px 0;padding:14px 18px;font-size:.9rem;line-height:1.5}.copyright-footer{color:#a0a0b8;text-align:center;background:#1a1a2e;border-top:1px solid #2a2a4a;margin-top:30px;padding:15px 20px;font-size:.82rem;line-height:1.6}.copyright-footer a{color:#7eb8da;text-decoration:none;transition:color .2s}.copyright-footer a:hover{color:#a8d8f0;text-decoration:underline}.auth-container{max-width:420px;margin:4rem auto;padding:0 1.5rem}.auth-card{background:#fff;border-radius:12px;padding:2.5rem;box-shadow:0 1px 6px #00000014}.auth-card h2{color:#1e3a5f;text-align:center;margin-bottom:.5rem;font-size:1.5rem}.auth-card .auth-subtitle{color:#64748b;text-align:center;margin-bottom:2rem;font-size:.9rem}.auth-card .auth-link{color:#2563eb;cursor:pointer;font-weight:500;text-decoration:none}.auth-card .auth-link:hover{text-decoration:underline}.auth-card .auth-footer{text-align:center;color:#64748b;margin-top:1.5rem;font-size:.9rem}.auth-error{color:#dc2626;text-align:center;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-bottom:1rem;padding:.75rem;font-size:.88rem}.auth-success{color:#16a34a;text-align:center;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;margin-bottom:1rem;padding:.75rem;font-size:.88rem}.stat-card{text-align:center;background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 1px 6px #00000014}.dashboard-container{max-width:960px;margin:2rem auto;padding:0 1.5rem}.dashboard-header{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.dashboard-header h2{color:#1e3a5f;font-size:1.5rem}.policy-grid{gap:1rem;display:grid}.policy-card{background:#fff;border-radius:12px;justify-content:space-between;align-items:center;padding:1.5rem;transition:box-shadow .2s;display:flex;box-shadow:0 1px 6px #00000014}.policy-card:hover{box-shadow:0 4px 12px #0000001f}.policy-card-info h3{color:#1e3a5f;margin-bottom:.25rem;font-size:1.1rem}.policy-card-meta{color:#64748b;font-size:.85rem}.policy-card-meta span{margin-right:1rem}.policy-card-actions{gap:.5rem;display:flex}.empty-state{text-align:center;color:#64748b;padding:4rem 2rem}.empty-state h3{color:#475569;margin-bottom:.5rem;font-size:1.25rem}.empty-state p{margin-bottom:1.5rem}.edits-badge{color:#1d4ed8;background:#dbeafe;border-radius:10px;padding:.15rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.edits-badge.no-edits{color:#dc2626;background:#fee2e2}.pricing-container{text-align:center;max-width:560px;margin:2rem auto;padding:0 1.5rem}.pricing-header{margin-bottom:2rem}.pricing-header h2{color:#1e3a5f;margin-bottom:.5rem;font-size:1.75rem}.pricing-header p{color:#64748b;font-size:1rem}.pricing-card{background:#fff;border:2px solid #2563eb;border-radius:16px;padding:2.5rem 2rem;position:relative;box-shadow:0 4px 20px #0000001a}.pricing-badge{color:#fff;letter-spacing:.5px;text-transform:uppercase;background:linear-gradient(135deg,#1e3a5f,#2563eb);border-radius:20px;padding:.35rem 1.5rem;font-size:.8rem;font-weight:700;position:absolute;top:-14px;left:50%;transform:translate(-50%)}.pricing-amount{justify-content:center;align-items:flex-start;gap:2px;margin:1.5rem 0 .25rem;display:flex}.pricing-currency{color:#1e3a5f;margin-top:.5rem;font-size:1.5rem;font-weight:700}.pricing-value{color:#1e3a5f;font-size:3.5rem;font-weight:800;line-height:1}.pricing-cents{color:#1e3a5f;margin-top:.5rem;font-size:1.5rem;font-weight:700}.pricing-period{color:#64748b;margin-bottom:1.5rem;font-size:.95rem}.pricing-features{text-align:left;margin-bottom:2rem;list-style:none}.pricing-features li{color:#334155;border-bottom:1px solid #f1f5f9;align-items:center;gap:.5rem;padding:.5rem 0;font-size:.95rem;display:flex}.pricing-features li:before{content:"✓";color:#16a34a;flex-shrink:0;font-size:1.1rem;font-weight:700}.pricing-btn{border-radius:10px;width:100%;padding:1rem;font-size:1.1rem}.pricing-secure{color:#94a3b8;margin-top:1rem;font-size:.8rem}.payment-status-container{text-align:center;max-width:500px;margin:4rem auto;padding:0 1.5rem}.payment-status-card{background:#fff;border-radius:16px;padding:3rem 2rem;box-shadow:0 4px 20px #00000014}.payment-status-card h2{color:#1e3a5f;margin:.75rem 0 .5rem;font-size:1.5rem}.payment-status-card p{color:#64748b;margin-bottom:1.5rem}.status-icon{border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto;font-size:2rem;font-weight:700;display:flex}.status-icon.success{color:#16a34a;background:#dcfce7}.status-icon.error{color:#dc2626;background:#fee2e2}@media print{.app-header,.progress-bar,.policy-toolbar,.btn-row,.dashboard-container{display:none!important}.policy-document{box-shadow:none;border-radius:0;max-width:100%;padding:0}body{color:#000;background:#fff;font-family:Georgia,Times New Roman,serif;font-size:11pt}}@media (width<=640px){.app-container{margin:1rem auto;padding:0 1rem}.form-card{padding:1.25rem}.policy-document{padding:1.5rem}.btn-row{flex-direction:column-reverse}.btn{text-align:center;width:100%}.progress-connector{width:20px}.concern-grid{grid-template-columns:1fr}.app-header{text-align:center;flex-direction:column;gap:.75rem}.dashboard-header{flex-direction:column;align-items:flex-start;gap:1rem}}
