:root{--bg-color: #F9F5EF;--card-bg: #FFFFFF;--border-color: #E7E0D5;--heading-color: #1C1917;--body-text: #57534e;--muted-text: #78716c;--muted-light: #a8a29e;--primary-gradient: linear-gradient(to right, #708462, #99AD87);--primary-color: #708462;--primary-light: #99AD87;--desc-bg: #F8F9F6;--error-color: #DC2626;--error-bg: #fef2f2;--success-color: #16A34A;--success-bg: #F0F4ED}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--body-text);line-height:1.7;font-size:15px;-webkit-font-smoothing:antialiased;display:flex;flex-direction:column;min-height:100vh}.app-header{padding:24px 20px}.header-content{max-width:600px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.header-logo{height:32px;width:auto}.header-badge{font-size:12px;font-weight:600;color:var(--primary-color);background:var(--desc-bg);padding:4px 12px;border-radius:100px;border:1px solid var(--border-color)}main{flex:1;display:flex;flex-direction:column;align-items:center;padding:0 16px}.form-container{width:100%;max-width:680px;margin:0 auto 60px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:24px;padding:48px;box-shadow:0 4px 24px #0000000f;transition:all .3s ease}@media(max-width:640px){.form-container{padding:32px 24px;border-radius:20px}}.document-header{text-align:center;margin-bottom:40px;padding-bottom:32px;border-bottom:2px solid var(--bg-color)}.practice-branding{font-size:14px;color:var(--muted-text);text-transform:uppercase;letter-spacing:.05em;font-weight:600;margin-bottom:12px}.document-title{font-family:Lora,Georgia,serif;font-size:32px;color:var(--heading-color);font-weight:500;line-height:1.3}.session-progress{margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid var(--border-color)}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;font-size:14px;color:var(--muted-text)}.progress-text{font-weight:600;color:var(--heading-color)}.step-indicators{display:flex;gap:8px}.step-dot{width:8px;height:8px;border-radius:4px;background:var(--border-color);transition:all .3s ease}.step-dot.completed{background:var(--primary-light)}.step-dot.active{width:24px;background:var(--primary-color)}.form-field{margin-bottom:28px}.field-label{display:block;font-weight:600;color:var(--heading-color);margin-bottom:8px;font-size:15px}.field-required{color:var(--error-color);margin-left:2px}input[type=text],input[type=email],input[type=tel],input[type=date],textarea,select{width:100%;padding:14px 16px;border:1px solid var(--border-color);border-radius:12px;background:#fafaf8;font-size:16px;font-family:inherit;color:var(--body-text);transition:all .2s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none}textarea{min-height:120px;resize:vertical}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--primary-color);background:var(--card-bg);box-shadow:0 0 0 3px #70846226}.choices-group{padding:16px;background:var(--desc-bg);border:1px solid #E5EADF;border-radius:12px;display:flex;flex-direction:column;gap:12px}.choice-option{display:flex;align-items:flex-start;cursor:pointer}.choice-option input{margin-top:4px;margin-right:12px;cursor:pointer;accent-color:var(--primary-color);width:18px;height:18px;flex-shrink:0}.heading-field{font-family:Lora,Georgia,serif;font-size:24px;color:var(--heading-color);margin:40px 0 20px;font-weight:500}.description-field{font-size:15px;color:var(--body-text);line-height:1.7;margin-bottom:24px}.description-field p{margin-bottom:16px}.description-field.legal-text{font-size:13px;color:var(--muted-text);background:#fafaf8;padding:20px;border-radius:12px;border:1px solid var(--border-color)}.divider-field{border:none;border-top:1px solid var(--border-color);margin:40px 0}.sign-hint{margin:0 0 24px;padding:14px 16px;background:#f7f6f2;border:1px solid var(--border-color);border-radius:12px;font-size:14px;color:var(--heading-color);line-height:1.5}.sign-hint p{margin:0}.signature-section{margin-top:20px;padding:32px;border:1px solid #C5D0B8;border-radius:16px;background:#fafcf9}.signature-section h3{font-family:Lora,Georgia,serif;color:var(--heading-color);margin-bottom:12px;font-weight:500;font-size:20px}.signature-section .description-field{background:none;padding:0;margin-bottom:24px;font-size:14px;color:var(--muted-text)}.submit-button{width:100%;background:var(--primary-gradient);color:#fff;border:none;border-radius:12px;padding:16px;font-size:16px;font-weight:600;cursor:pointer;margin-top:40px;transition:opacity .2s ease,transform .1s ease;box-shadow:0 4px 12px #70846233}.submit-button:active{transform:scale(.99)}.submit-button:disabled{opacity:.7;cursor:not-allowed;transform:none;box-shadow:none}.success-screen,.error-screen{text-align:center;padding:40px 0}.success-screen h2,.error-screen h2{font-family:Lora,Georgia,serif;color:var(--heading-color);font-size:28px;margin-bottom:16px;font-weight:500}.success-icon-wrapper{width:64px;height:64px;background:var(--success-bg);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 24px}.success-icon-wrapper svg{width:32px;height:32px;color:var(--primary-color)}.receipt-box{background:#fafaf8;border:1px solid var(--border-color);border-radius:12px;padding:24px;margin-top:32px;text-align:left}.receipt-item{display:flex;justify-content:space-between;margin-bottom:12px;font-size:14px}.receipt-item:last-child{margin-bottom:0}.receipt-label{color:var(--muted-text)}.receipt-value{font-family:monospace;color:var(--heading-color)}.error-screen{background:var(--error-bg);border-radius:16px;padding:40px 32px}.error-screen h2{color:var(--error-color)}.loading-spinner-container{text-align:center;padding:60px 0;color:var(--muted-text)}.loading-spinner{width:40px;height:40px;margin:0 auto 24px;border:3px solid rgba(112,132,98,.2);border-radius:50%;border-top-color:var(--primary-color);animation:spin 1s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}.field-error-msg{color:var(--error-color);font-size:13px;margin-top:8px;display:block;font-weight:500}.has-error input,.has-error textarea,.has-error select,.has-error .choices-group{border-color:var(--error-color);background:var(--error-bg)}.app-footer{width:100%;padding:32px 20px;text-align:center;margin-top:auto}.footer-content{max-width:600px;margin:0 auto}.hipaa-badge{font-size:13px;color:var(--muted-text);margin-bottom:12px}.footer-links{font-size:12px;color:var(--muted-light)}.footer-links a{color:var(--muted-text);text-decoration:none;transition:color .2s}.footer-links a:hover{color:var(--primary-color)}.dot-separator{margin:0 8px}.receipt-disclaimer{font-size:12px;color:var(--muted-text);line-height:1.5;margin-top:16px;font-style:italic}.pdf-viewer{display:flex;flex-direction:column;gap:16px;margin-bottom:32px}.pdf-page-container{display:flex;flex-direction:column;align-items:center;background:#f5f5f0;border:1px solid var(--border-color);border-radius:8px;padding:12px;min-height:400px}.pdf-page-canvas{max-width:100%;height:auto;border-radius:4px;user-select:none;-webkit-user-select:none;display:block}.form-container-wide{max-width:860px;padding:32px}.pdf-page-wrap{position:relative;display:inline-block;max-width:100%}.pdf-field-layer{position:absolute;left:0;top:0;pointer-events:none}.pdf-field-box{position:absolute;pointer-events:auto}.pdf-field-box input,.pdf-field-box textarea,.pdf-field-box select{width:100%;height:100%;border:1px solid #99AD87;background:#ffffffe0;font-size:12px;font-family:inherit;color:#1c1917;padding:1px 4px;border-radius:2px}.pdf-field-box input[type=checkbox]{width:100%;height:100%;accent-color:#708462;cursor:pointer}.pdf-field-box textarea{resize:none;line-height:1.3}.pdf-sig-input{font-family:Times New Roman,Times,serif!important;font-style:italic;font-size:14px!important}.word-document-host{background:#fff;border:1px solid var(--border-color);border-radius:12px;padding:32px 36px;font-family:Times New Roman,Times,serif;font-size:15px;color:#1c1917;line-height:1.65;margin-bottom:8px}.word-document-host input[type=text]{border:none;border-bottom:1px solid #708462;background:#f8f9f6;min-width:120px;padding:2px 6px;font-family:inherit;font-size:inherit}.word-document-host input[type=checkbox]{accent-color:#708462;width:16px;height:16px;vertical-align:middle;margin:0 4px}.pdf-page-label{font-size:12px;color:var(--muted-text);margin-top:8px;text-align:center}.pdf-consent-layout{margin-bottom:24px}.esign-disclosure{margin-top:32px;padding:24px 26px;background:#f7f6f2;border:1px solid var(--border-color);border-radius:12px;font-size:13px;line-height:1.65;color:var(--body-text)}.esign-disclosure .disclosure-kicker,.signature-kicker{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-text);margin-bottom:8px}.esign-disclosure .disclosure-heading{font-family:Lora,Georgia,serif;font-size:18px;font-weight:600;color:var(--heading-color);margin-bottom:12px}.esign-disclosure .disclosure-content ul{margin:12px 0 0;padding-left:20px}.esign-disclosure .disclosure-content li{margin-bottom:8px}.pdf-agree-section{margin-top:16px;padding:24px;background:#fafcf9;border:1px solid var(--primary-color);border-radius:12px}.pdf-questionnaire-layout{display:flex;gap:32px;align-items:flex-start}.pdf-questionnaire-left{flex:1;position:sticky;top:24px;max-height:calc(100vh - 120px);overflow-y:auto;border-radius:12px}.pdf-questionnaire-right{flex:1;min-width:0}.pdf-accordion{margin-bottom:24px}.pdf-accordion-toggle{width:100%;padding:16px 20px;background:var(--desc-bg);border:1px solid var(--border-color);border-radius:12px;font-size:15px;font-weight:600;color:var(--heading-color);cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:all .2s ease;font-family:inherit}.pdf-accordion-toggle:hover{background:#f0ede5}.accordion-chevron{font-size:12px;transition:transform .2s ease}.pdf-accordion-content{margin-top:12px;border-radius:12px;overflow:hidden}.form-container.pdf-questionnaire-mode{max-width:1100px}@media(max-width:768px){.pdf-questionnaire-layout{flex-direction:column}.pdf-questionnaire-left{position:static;max-height:none}}@media print{.session-progress,.step-indicators,.submit-button[onclick],.hipaa-badge,.footer-links,#error-view,#loading-view{display:none!important}body{background:#fff!important;color:#000!important;font-size:12pt}.container{max-width:100%;margin:0;padding:0;box-shadow:none}#success-view{border:1px solid #ccc;border-radius:0;padding:24pt;box-shadow:none}#success-view h2{color:#000;font-size:18pt}.receipt-box{border:1px solid #999;background:#f9f9f9!important}.receipt-label{color:#333!important}.receipt-value{color:#000!important}.document-header{border-bottom:2pt solid #000;margin-bottom:16pt;padding-bottom:12pt}.practice-branding{font-size:14pt;font-weight:700;color:#000}.form-field{break-inside:avoid;page-break-inside:avoid}.signature-section{border:1px solid #999;break-inside:avoid}}
