:root{--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-success: #16a34a;--color-error: #dc2626;--color-warning: #d97706;--color-info: #2563eb;--color-bg: #f8fafc;--color-surface: #ffffff;--color-text: #1e293b;--color-muted: #64748b;--color-border: #e2e8f0;--radius: 8px;--radius-sm: 4px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--color-bg);color:var(--color-text);line-height:1.6;min-height:100vh}.app-nav{display:flex;align-items:center;gap:2rem;padding:.75rem 1.5rem;background:var(--color-surface);border-bottom:1px solid var(--color-border)}.nav-brand{font-weight:700;color:var(--color-primary);text-decoration:none;font-size:1.1rem}.nav-links{display:flex;gap:1rem}.nav-links a{text-decoration:none;color:var(--color-muted);padding:.25rem .5rem;border-radius:var(--radius-sm)}.nav-links a.active,.nav-links a:hover{color:var(--color-primary);background:#eff6ff}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.2rem;border-radius:var(--radius);border:none;font-size:.9rem;font-weight:500;cursor:pointer;text-decoration:none;transition:background .15s,opacity .15s}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-secondary{background:#f1f5f9;color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background:#e2e8f0}.btn-danger{background:#fef2f2;color:var(--color-error);border:1px solid #fecaca}.btn-danger:hover:not(:disabled){background:#fee2e2}.btn-sm{padding:.35rem .75rem;font-size:.8rem}.landing{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:2rem;text-align:center}.landing-hero{max-width:600px}.landing h1{font-size:3rem;color:var(--color-primary);margin-bottom:.5rem}.landing-tagline{font-size:1.2rem;color:var(--color-muted);margin-bottom:1rem}.landing-description{color:var(--color-muted);margin-bottom:2rem;line-height:1.7}.landing-actions{display:flex;gap:1rem;justify-content:center}.landing-footer{margin-top:3rem;color:var(--color-muted);font-size:.85rem}.landing-footer a{color:var(--color-primary)}.demo-showcase{max-width:900px;margin:0 auto;padding:2rem 1.5rem}.demo-header{text-align:center;margin-bottom:2rem}.demo-header h1{font-size:2rem;color:var(--color-primary)}.scenario-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.scenario-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.5rem;text-align:left;cursor:pointer;transition:box-shadow .15s,border-color .15s}.scenario-card:hover{border-color:var(--color-primary);box-shadow:0 4px 12px #2563eb1a}.scenario-icon{font-size:2rem;display:block;margin-bottom:.5rem}.scenario-card h3{margin-bottom:.25rem}.scenario-description{color:var(--color-muted);font-size:.85rem;margin-bottom:.5rem}.scenario-tags{display:flex;gap:.25rem;flex-wrap:wrap}.tag{background:#eff6ff;color:var(--color-primary);padding:.15rem .5rem;border-radius:12px;font-size:.7rem}.scenario-blank{border-style:dashed}.intake-page{max-width:800px;margin:0 auto;padding:2rem 1.5rem}.intake-instructions{color:var(--color-muted);margin-bottom:1rem}.scenario-buttons{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.textarea-wrapper{position:relative;margin-bottom:.5rem}.textarea-wrapper textarea{width:100%;padding:1rem;border:1px solid var(--color-border);border-radius:var(--radius);font-size:.95rem;resize:vertical;font-family:inherit;line-height:1.5;min-height:200px}.textarea-wrapper textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1a}.char-counter{position:absolute;bottom:.5rem;right:.75rem;font-size:.75rem;color:var(--color-muted)}.btn-submit{width:100%;margin-top:1rem;padding:.8rem;font-size:1rem}.loading-indicator{display:flex;align-items:center;gap:.5rem;padding:1rem;background:#eff6ff;border-radius:var(--radius);color:var(--color-primary);margin:.5rem 0}.spinner{width:16px;height:16px;border:2px solid #bfdbfe;border-top-color:var(--color-primary);border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-message{background:#fef2f2;color:var(--color-error);padding:.75rem 1rem;border-radius:var(--radius);margin:.5rem 0;border:1px solid #fecaca}.review-page{max-width:1200px;margin:0 auto;padding:2rem 1.5rem}.review-header{margin-bottom:1.5rem}.review-header h2{margin-bottom:.25rem}.review-meta{color:var(--color-muted);font-size:.85rem}.review-meta code{background:#f1f5f9;padding:.15rem .4rem;border-radius:var(--radius-sm);font-size:.75rem}.uncertainty-banner{background:#fffbeb;border:1px solid #fcd34d;color:#92400e;padding:.5rem 1rem;border-radius:var(--radius);margin-top:.5rem;font-size:.9rem}.review-layout{display:grid;grid-template-columns:1fr 2fr;gap:1.5rem;margin-bottom:1.5rem}@media(max-width:900px){.review-layout{grid-template-columns:1fr}}.review-original,.review-plan{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.25rem}.review-original h3,.review-plan h3{margin-bottom:.75rem;font-size:1rem;color:var(--color-muted);text-transform:uppercase;letter-spacing:.03em}.original-text{font-style:italic;color:var(--color-text);line-height:1.7;border-left:3px solid var(--color-border);padding-left:1rem}.flags-section{margin-bottom:1rem}.flags-section h4{margin-bottom:.5rem}.flag{padding:.75rem;border-radius:var(--radius);margin-bottom:.5rem;border-left:4px solid}.flag-high{background:#fef2f2;border-color:var(--color-error)}.flag-medium{background:#fffbeb;border-color:var(--color-warning)}.flag-low{background:#eff6ff;border-color:var(--color-info)}.flag-badge{display:inline-block;font-size:.65rem;font-weight:700;padding:.1rem .4rem;border-radius:var(--radius-sm);margin-right:.5rem;color:#fff}.flag-high .flag-badge{background:var(--color-error)}.flag-medium .flag-badge{background:var(--color-warning)}.flag-low .flag-badge{background:var(--color-info)}.flag p{font-size:.85rem;color:var(--color-muted);margin-top:.25rem}.flag-source{font-size:.8rem;color:var(--color-muted);font-style:italic;margin-top:.25rem;border-left:2px solid var(--color-border);padding-left:.5rem}.validation-errors{background:#fffbeb;border:1px solid #fcd34d;border-radius:var(--radius);padding:.75rem;margin-bottom:1rem}.validation-errors h4{font-size:.85rem;margin-bottom:.5rem}.validation-error{font-size:.85rem;padding:.25rem 0}.error-path{font-weight:600;font-family:monospace;font-size:.8rem}.plan-section{margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-border)}.plan-section:last-child{border-bottom:none}.plan-section h4{font-size:.85rem;color:var(--color-muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:.5rem}.plan-details{display:grid;grid-template-columns:auto 1fr;gap:.25rem 1rem}.plan-details dt{font-weight:500;color:var(--color-muted);font-size:.85rem}.plan-details dd{font-size:.9rem}.service-item,.medication-item{padding:.25rem 0;font-size:.9rem}.med-instructions{font-size:.8rem;color:var(--color-muted)}.missing-field{padding:.25rem 0;font-size:.85rem}.missing-context{color:var(--color-muted)}.review-actions{display:flex;gap:1rem;padding-top:1rem;border-top:1px solid var(--color-border)}.success-message{text-align:center;padding:3rem}.success-message h2{color:var(--color-success);margin-bottom:.5rem}.success-actions{display:flex;gap:1rem;justify-content:center;margin-top:1.5rem}.history-page{max-width:800px;margin:0 auto;padding:2rem 1.5rem}.history-page h2{margin-bottom:1rem}.history-list{display:flex;flex-direction:column;gap:.5rem}.history-item{display:flex;justify-content:space-between;align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:.75rem 1rem}.history-item-info{display:flex;align-items:center;gap:1rem}.history-service{color:var(--color-muted);font-size:.85rem}.history-date{color:var(--color-muted);font-size:.8rem}.status-badge{font-size:.7rem;padding:.15rem .5rem;border-radius:12px;font-weight:600;text-transform:uppercase}.status-approved{background:#dcfce7;color:#166534}.empty-state{text-align:center;padding:3rem;color:var(--color-muted)}.empty-state p{margin-bottom:1rem}
