:root{--fh-green-900: #0f3d2e;--fh-green-800: #14532d;--fh-green-700: #166534;--fh-green-600: #15803d;--fh-green-500: #22c55e;--fh-green-100: #dcfce7;--fh-cream: #f8faf6;--fh-white: #ffffff;--fh-border: #e2e8f0;--fh-text: #0f172a;--fh-muted: #64748b;--fh-accent: #16a34a;--fh-shadow: 0 4px 20px rgba(15, 61, 46, .08);--fh-radius: 12px;--font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{font-family:var(--font);color:var(--fh-text);background:var(--fh-cream);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.fh-shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.fh-sidebar{background:var(--fh-green-900);color:#ecfdf5;padding:24px 0;display:flex;flex-direction:column}.fh-brand{padding:0 20px 24px;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:16px}.fh-brand-title{font-size:11px;letter-spacing:.14em;text-transform:uppercase;opacity:.75}.fh-brand-name{font-size:1.15rem;font-weight:800;margin-top:4px;line-height:1.2}.fh-brand-sub{font-size:11px;opacity:.65;margin-top:2px}.fh-user{padding:12px 20px;font-size:13px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:8px}.fh-user strong{display:block;font-size:14px}.fh-user span{opacity:.7;font-size:12px}.fh-nav{flex:1;padding:8px 12px;display:flex;flex-direction:column;gap:2px}.fh-nav a{padding:10px 14px;border-radius:8px;font-size:14px;font-weight:500;color:#ffffffd1;transition:background .15s,color .15s}.fh-nav a:hover{background:#ffffff14;color:#fff}.fh-nav a.active{background:#ffffff24;color:#fff;font-weight:600}.fh-logout{margin:16px 20px 0;padding-top:16px;border-top:1px solid rgba(255,255,255,.1);font-size:13px;opacity:.75}.fh-main{padding:28px 32px 40px;overflow-x:auto}.fh-header{margin-bottom:24px}.fh-header h1{margin:0 0 4px;font-size:1.75rem;font-weight:800;letter-spacing:-.02em}.fh-header p{margin:0;color:var(--fh-muted);font-size:.95rem}.fh-tag{display:inline-block;margin-top:8px;padding:4px 10px;border-radius:999px;background:var(--fh-green-100);color:var(--fh-green-700);font-size:12px;font-weight:600}.fh-grid-dashboard{display:grid;grid-template-columns:1fr 340px;gap:24px;align-items:start}.fh-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px}.fh-card{background:var(--fh-white);border:1px solid var(--fh-border);border-radius:var(--fh-radius);padding:18px 20px;box-shadow:var(--fh-shadow)}.fh-card h3{margin:0 0 14px;font-size:1rem;font-weight:700}.status-card{display:flex;gap:12px;align-items:flex-start}.status-icon{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;font-size:18px;flex-shrink:0}.status-icon.complete{background:var(--fh-green-100);color:var(--fh-green-700)}.status-icon.pending{background:#fef3c7;color:#b45309}.status-icon.scheduled{background:#dbeafe;color:#1d4ed8}.status-card .label{font-size:12px;color:var(--fh-muted);font-weight:600}.status-card .value{font-size:15px;font-weight:700;margin:2px 0}.status-card .detail{font-size:12px;color:var(--fh-muted)}.journey{margin:8px 0 0}.journey-steps{display:flex;align-items:flex-start;gap:0;overflow-x:auto;padding-bottom:8px}.journey-step{flex:1;min-width:90px;display:flex;flex-direction:column;align-items:center;text-align:center;position:relative}.journey-step:not(:last-child):after{content:"";position:absolute;top:18px;left:55%;width:90%;height:2px;background:var(--fh-border);z-index:0}.journey-step.done:not(:last-child):after{background:var(--fh-green-500)}.journey-bead{width:36px;height:36px;border-radius:50%;border:2px solid var(--fh-border);background:var(--fh-white);display:grid;place-items:center;font-size:13px;font-weight:700;color:var(--fh-muted);position:relative;z-index:1}.journey-step.done .journey-bead{background:var(--fh-green-600);border-color:var(--fh-green-600);color:#fff}.journey-step.active .journey-bead{border-color:var(--fh-green-600);color:var(--fh-green-700);box-shadow:0 0 0 4px var(--fh-green-100)}.journey-label{margin-top:8px;font-size:11px;font-weight:600;color:var(--fh-muted);line-height:1.3}.journey-step.active .journey-label{color:var(--fh-green-700)}.journey-date{font-size:10px;color:var(--fh-muted);margin-top:2px}.fh-table{width:100%;border-collapse:collapse;font-size:13px}.fh-table th{text-align:left;padding:10px 8px;border-bottom:2px solid var(--fh-border);color:var(--fh-muted);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.fh-table td{padding:12px 8px;border-bottom:1px solid var(--fh-border)}.fh-pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:700}.fh-pill.green{background:var(--fh-green-100);color:var(--fh-green-700)}.fh-pill.gray{background:#f1f5f9;color:var(--fh-muted)}.fh-pill.blue{background:#dbeafe;color:#1d4ed8}.msg-item{padding:12px 0;border-bottom:1px solid var(--fh-border)}.msg-item:last-child{border-bottom:none}.msg-item strong{font-size:13px}.msg-item p{margin:4px 0 0;font-size:12px;color:var(--fh-muted);line-height:1.4}.doc-item{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--fh-border);font-size:13px}.doc-item:last-child{border-bottom:none}.book-panel{position:sticky;top:24px}.book-panel h3{margin:0 0 4px}.book-panel .sub{font-size:13px;color:var(--fh-muted);margin-bottom:16px}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:16px}.cal-day{aspect-ratio:1;display:grid;place-items:center;font-size:12px;border-radius:8px;color:var(--fh-muted)}.cal-day.head{font-weight:700;font-size:10px}.cal-day.selectable{cursor:pointer;color:var(--fh-text)}.cal-day.selectable:hover{background:var(--fh-green-100)}.cal-day.selected{background:var(--fh-green-600);color:#fff;font-weight:700}.cal-day.muted{opacity:.35}.time-slots{display:flex;flex-direction:column;gap:6px;max-height:200px;overflow-y:auto}.time-slot{padding:10px 12px;border-radius:8px;border:1px solid var(--fh-border);font-size:13px;cursor:pointer;background:var(--fh-white)}.time-slot.available{border-color:#86efac;background:#f0fdf4}.time-slot.selected{border-color:var(--fh-green-600);background:var(--fh-green-100);font-weight:600}.time-slot.unavailable{opacity:.45;cursor:not-allowed}.summary-box{background:#f8fafc;border-radius:8px;padding:12px;margin:16px 0;font-size:13px}.summary-box div{display:flex;justify-content:space-between;margin:4px 0}.fh-btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 20px;border:none;border-radius:8px;font-size:14px;font-weight:700;cursor:pointer;background:var(--fh-green-600);color:#fff;width:100%;transition:background .15s}.fh-btn:hover{background:var(--fh-green-700)}.fh-btn:disabled{opacity:.5;cursor:not-allowed}.fh-btn.secondary{background:var(--fh-white);color:var(--fh-green-700);border:1px solid var(--fh-green-600)}.intake-form{display:grid;gap:16px;max-width:560px}.field label{display:block;font-size:13px;font-weight:600;margin-bottom:6px;color:var(--fh-text)}.field input,.field select,.field textarea{width:100%;padding:10px 12px;border:1px solid var(--fh-border);border-radius:8px;font-size:14px;font-family:inherit}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.intake-progress{display:flex;gap:8px;margin-bottom:24px}.intake-dot{flex:1;height:4px;border-radius:2px;background:var(--fh-border)}.intake-dot.done{background:var(--fh-green-500)}.intake-dot.active{background:var(--fh-green-600)}.payment-box{max-width:480px}.payment-amount{font-size:2rem;font-weight:800;color:var(--fh-green-700);margin:8px 0 16px}.error{color:#dc2626;font-weight:600;font-size:14px}.status{color:var(--fh-green-700);font-weight:600}@media (max-width: 1100px){.fh-grid-dashboard{grid-template-columns:1fr}.fh-grid-4{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.fh-shell{grid-template-columns:1fr}.fh-sidebar{flex-direction:row;flex-wrap:wrap;padding:12px}.fh-nav{flex-direction:row;flex-wrap:wrap}.fh-grid-4{grid-template-columns:1fr}}
