*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--purple: #4A47B2;--purple-dark: #3835A0;--purple-light: #eeeeff;--purple-border: #b8b6e8;--text-primary: #1a1a2e;--text-secondary: #6b7280;--text-muted: #9ca3af;--bg: #f9fafb;--bg-white: #ffffff;--border: #e5e7eb;--border-focus: #5D3FD3;--error: #dc2626;--success: #16a34a;--radius: 12px;--radius-sm: 8px;--shadow: 0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.06);--shadow-md: 0 4px 6px rgba(0,0,0,.07), 0 2px 4px rgba(0,0,0,.05)}html,body{height:100%;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.5;color:var(--text-primary);background:var(--bg);-webkit-font-smoothing:antialiased}#root{min-height:100vh;display:flex;flex-direction:column}a{color:var(--purple);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;cursor:pointer;border:none;outline:none}button:focus-visible{outline:2px solid var(--purple);outline-offset:2px}input,textarea{font-family:inherit}.page-wrapper{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1;padding:16px 16px 32px;max-width:680px;width:100%;margin:0 auto}.app-header{background:#fff;border-bottom:1px solid #e5e7eb;padding:0 24px;height:64px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;box-shadow:0 1px 4px #0000000f}.header-logo{display:flex;align-items:center}.header-logo img{height:36px;width:auto}.card{background:var(--bg-white);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow);padding:20px;margin-bottom:12px}.confidentiality-banner{background:#eff6ff;border:1px solid #bfdbfe;border-radius:var(--radius-sm);padding:10px 14px;display:flex;gap:10px;font-size:14px;color:#1e40af;margin-bottom:12px}.confidentiality-banner .icon{flex-shrink:0;margin-top:1px}.confidentiality-banner strong{display:block;margin-bottom:2px}.required-note{font-size:13px;color:var(--text-secondary);margin-bottom:10px}.required-note span{color:var(--error)}.question-label{font-size:15px;font-weight:600;color:var(--text-primary);margin-bottom:16px;line-height:1.4}.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 28px;border-radius:100px;font-size:15px;font-weight:600;transition:all .15s;min-width:120px}.btn-primary{background:var(--purple);color:#fff}.btn-primary:hover{background:var(--purple-dark)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:transparent;color:var(--purple);border:2px solid var(--purple)}.btn-secondary:hover{background:var(--purple-light)}.btn-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.nps-container{padding:8px 0}.nps-slider-row{display:flex;align-items:center;gap:12px;margin-bottom:8px}.nps-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:1;height:8px;border-radius:4px;outline:none;cursor:pointer}.nps-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:24px;height:24px;border-radius:50%;background:var(--purple);cursor:pointer;border:3px solid white;box-shadow:0 0 0 2px var(--purple)}.nps-slider::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:var(--purple);cursor:pointer;border:3px solid white;box-shadow:0 0 0 2px var(--purple)}.nps-unselected .nps-slider::-webkit-slider-thumb{background:var(--text-muted);box-shadow:0 0 0 2px var(--text-muted)}.nps-unselected .nps-slider::-moz-range-thumb{background:var(--text-muted);box-shadow:0 0 0 2px var(--text-muted)}.nps-value-input{width:56px;text-align:center;font-size:18px;font-weight:700;color:var(--purple);border:2px solid var(--purple-border);border-radius:var(--radius-sm);padding:6px;-moz-appearance:textfield}.nps-value-input::-webkit-outer-spin-button,.nps-value-input::-webkit-inner-spin-button{-webkit-appearance:none}.nps-labels{display:flex;justify-content:space-between;font-size:12px;color:var(--text-secondary);margin-top:6px}.pill-group{display:flex;flex-wrap:wrap;gap:10px}.pill-btn{padding:10px 18px;border-radius:100px;font-size:14px;font-weight:500;border:2px solid var(--border);background:#fff;color:var(--text-primary);transition:all .15s;text-align:left;line-height:1.4}.pill-btn:hover{border-color:var(--purple-border);background:var(--purple-light)}.pill-btn[aria-pressed=true],.pill-btn.selected{border-color:var(--purple);background:var(--purple-light);color:var(--purple);font-weight:600}.survey-textarea{width:100%;border:2px solid var(--border);border-radius:var(--radius-sm);padding:12px;font-size:16px;resize:vertical;min-height:96px;transition:border-color .15s;color:var(--text-primary)}.survey-textarea:focus{outline:none;border-color:var(--border-focus)}.survey-input{width:100%;border:2px solid var(--border);border-radius:var(--radius-sm);padding:12px;font-size:16px;transition:border-color .15s;color:var(--text-primary)}.survey-input:focus{outline:none;border-color:var(--border-focus)}.screen-title{font-size:20px;font-weight:700;color:var(--text-primary);margin-bottom:6px}.screen-subtitle{font-size:14px;color:var(--text-secondary);margin-bottom:20px}.back-to-list{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--purple);font-weight:500;margin-top:24px;background:none;border:none;padding:0;cursor:pointer}.back-to-list:hover{text-decoration:underline}.questionnaire-item{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;margin-bottom:12px;cursor:pointer;transition:border-color .15s,box-shadow .15s;display:flex;justify-content:space-between;align-items:center;gap:12px}.questionnaire-item:hover{border-color:var(--purple-border);box-shadow:var(--shadow-md)}.questionnaire-item:focus-visible{outline:2px solid var(--purple);outline-offset:2px;box-shadow:var(--shadow-md)}.questionnaire-item.completed{opacity:.6;cursor:default;pointer-events:none}.qi-meta{font-size:12px;color:var(--text-muted);margin-bottom:4px}.qi-title{font-size:15px;font-weight:600;color:var(--text-primary);margin-bottom:2px}.qi-due{font-size:13px;color:var(--text-secondary)}.qi-status-badge{flex-shrink:0;padding:4px 10px;border-radius:100px;font-size:12px;font-weight:600}.qi-status-badge.pending{background:#fef9c3;color:#854d0e}.qi-status-badge.done{background:#dcfce7;color:#166534}.dob-form{display:flex;flex-direction:column;gap:16px}.form-field label{display:block;font-size:14px;font-weight:600;margin-bottom:6px;color:var(--text-primary)}.error-msg{font-size:13px;color:var(--error);margin-top:6px}.confirmation-card{text-align:center;padding:48px 32px}.confirmation-icon{width:64px;height:64px;background:#dcfce7;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 20px}.confirmation-icon svg{color:var(--success)}.confirmation-title{font-size:22px;font-weight:700;margin-bottom:8px}.confirmation-body{font-size:15px;color:var(--text-secondary);max-width:360px;margin:0 auto}.empty-state{text-align:center;padding:48px 24px}.empty-state-title{font-size:18px;font-weight:600;margin-bottom:8px}.empty-state-body{font-size:14px;color:var(--text-secondary);margin-bottom:24px}.mychart-cta{border:1px solid var(--border);border-radius:var(--radius);padding:16px 20px;display:flex;align-items:center;gap:14px;text-align:left;max-width:360px;margin:0 auto}.mychart-cta-icon{width:44px;height:44px;background:var(--purple-light);border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--purple);font-size:20px}.mychart-cta-text{font-size:14px;font-weight:600;color:var(--text-primary)}.mychart-cta-sub{font-size:12px;color:var(--text-secondary)}.progress-bar-outer{height:4px;background:var(--border);border-radius:2px;overflow:hidden;margin-bottom:14px}.progress-bar-inner{height:100%;background:var(--purple);border-radius:2px;transition:width .3s ease}.step-indicator{font-size:13px;color:var(--text-secondary);font-weight:500;margin-bottom:4px}.intro-text{font-size:14px;color:var(--text-secondary);line-height:1.5;margin-bottom:10px}.divider{height:1px;background:var(--border);margin:14px 0}@media (max-width: 480px){.main-content{padding:12px 12px 28px}.card{padding:16px 14px}.btn-row{flex-direction:column}.btn{width:100%}}
