.app-shell{min-height:100%;display:flex;flex-direction:column}.app-topbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:10}.app-topbar-brand{display:flex;align-items:center;gap:var(--space-2);font-family:var(--font-display);font-weight:600;font-size:18px}.app-topbar-brand .dot{width:10px;height:10px;border-radius:50%;background:var(--color-accent)}.signout-btn{background:none;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:8px 14px;font-size:13px;font-weight:600;color:var(--color-ink-soft);cursor:pointer}.app-nav{display:flex;gap:var(--space-1);padding:0 var(--space-4);background:var(--color-surface);border-bottom:1px solid var(--color-border);overflow-x:auto}.app-nav a{padding:var(--space-3) var(--space-3);font-size:13px;font-weight:600;color:var(--color-ink-soft);text-decoration:none;white-space:nowrap;border-bottom:2px solid transparent}.app-nav a.active{color:var(--color-accent-strong);border-bottom-color:var(--color-accent)}.app-main{flex:1;padding:var(--space-5) var(--space-4) var(--space-7);max-width:880px;width:100%;margin:0 auto}.page-header{margin-bottom:var(--space-5)}.page-header h2{font-family:var(--font-display);font-weight:600;font-size:22px;margin:0 0 4px}.page-header p{margin:0;color:var(--color-ink-soft);font-size:14px}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);margin-bottom:var(--space-4)}.card h3{font-size:15px;margin:0 0 var(--space-3)}.inline-form{display:flex;flex-direction:column;gap:var(--space-3)}.btn{border:none;border-radius:var(--radius-md);background:var(--color-accent);color:#fff;font-size:14px;font-weight:600;padding:11px 18px;cursor:pointer;align-self:flex-start}.btn:hover:not(:disabled){background:var(--color-accent-strong)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:none;border:1px solid var(--color-border);color:var(--color-ink)}.btn-secondary:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent-strong)}.btn-danger{background:none;border:1px solid var(--color-error);color:var(--color-error)}.btn-sm{padding:7px 12px;font-size:13px}.row-list{display:flex;flex-direction:column;gap:var(--space-3)}.row-item{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border)}.row-item:last-child{border-bottom:none}.row-main{display:flex;flex-direction:column;gap:2px}.row-title{font-weight:600;font-size:14px}.row-sub{font-size:13px;color:var(--color-ink-soft)}.row-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600}.pill-free{background:#eef1ef;color:var(--color-ink-soft)}.pill-standard{background:#e8f3ee;color:var(--color-accent-strong)}.pill-verified,.pill-pending{background:#fbf1e5;color:#8a5b25}.pill-active{background:#e8f3ee;color:var(--color-accent-strong)}.pill-expired,.pill-rejected{background:var(--color-error-bg);color:var(--color-error)}.pill-open{background:#e8f3ee;color:var(--color-accent-strong)}.pill-closed,.pill-applied{background:#eef1ef;color:var(--color-ink-soft)}.pill-accepted,.pill-approved,.pill-verified-doc{background:#e8f3ee;color:var(--color-accent-strong)}.empty-state{text-align:center;padding:var(--space-6) var(--space-3);color:var(--color-ink-soft);font-size:14px}.muted{color:var(--color-ink-soft);font-size:13px}.stack-gap{display:flex;flex-direction:column;gap:var(--space-4)}@media (min-width: 640px){.app-main{padding-top:var(--space-6)}}.hover-card-wrap{position:relative;display:inline-block;outline:none}.hover-card-name{background:none;border:0;border-bottom:1px dotted var(--color-ink-soft);padding:0;font:inherit;color:inherit;text-align:left;cursor:pointer}.hover-card-name:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.verified-tick{color:var(--color-accent)}.hover-card{display:block;position:absolute;top:calc(100% + 8px);left:0;z-index:20;width:300px;padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 8px 24px #15302a1f;font-size:13px;font-weight:400;color:var(--color-ink)}.hover-card:before{content:"";position:absolute;top:-10px;left:0;right:0;height:10px}.hover-card-head-right{display:flex;align-items:center;gap:var(--space-2)}.hover-card-close{display:none;width:32px;height:32px;border:0;border-radius:50%;background:var(--color-bg);color:var(--color-ink);font-size:20px;line-height:1;cursor:pointer}@media (max-width: 640px){.hover-card{position:fixed;top:auto;left:var(--space-3);right:var(--space-3);bottom:var(--space-3);width:auto;max-height:70vh;overflow-y:auto;box-shadow:0 -8px 32px #15302a40}.hover-card:before{display:none}.hover-card-close{display:grid;place-items:center}}.hover-card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-3);font-size:14px}.hover-card-list{display:grid;grid-template-columns:auto 1fr;gap:4px var(--space-3);margin:0 0 var(--space-3)}.hover-card-list dt{color:var(--color-ink-soft)}.hover-card-list dd{margin:0}.hover-card-label{display:block;margin-bottom:4px;font-weight:600}.hover-card-certs ul{margin:0;padding-left:18px}.clinic-line{margin:0 0 var(--space-1);font-size:14px;color:var(--color-accent-strong)}.party-header{display:flex;align-items:center;gap:var(--space-3);min-width:0}.avatar{flex:0 0 auto;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;font-weight:700;font-size:18px}.avatar-clinic{background:#e4eef9;color:#1f4e79}.avatar-freelancer{background:#e8f3ee;color:var(--color-accent-strong)}.party-name{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);font-weight:700;font-size:16px}.party-sub{font-size:13px;color:var(--color-ink-soft)}.type-badge{padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.02em}.type-clinic{background:#e4eef9;color:#1f4e79}.type-freelancer{background:#e8f3ee;color:var(--color-accent-strong)}.sub-card{margin-bottom:var(--space-4)}.sub-head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);flex-wrap:wrap;padding-bottom:var(--space-3);margin-bottom:var(--space-3);border-bottom:1px solid var(--color-border)}.sub-head-side{display:flex;flex-direction:column;align-items:flex-end;gap:6px;font-size:13px}.tier-change{display:flex;align-items:center;gap:var(--space-2)}.tier-arrow{color:var(--color-ink-soft)}.step{padding:var(--space-3);margin-bottom:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md)}.step-done{background:#f1f8f4;border-color:#cfe5d8}.step-locked{opacity:.6}.step-title{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);font-weight:600}.step-num{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--color-accent);color:#fff;font-size:12px}.step-note{margin:0;font-size:14px}.step-hint{font-size:13px}.reject-box{margin-top:var(--space-2);font-size:14px}.reject-box summary{cursor:pointer;color:var(--color-error);font-weight:600}.reject-box .step-body{margin-top:var(--space-3)}.filter-chips{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-4)}.chip{padding:6px 14px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);color:var(--color-ink-soft);font:inherit;font-size:13px;cursor:pointer}.chip:hover{border-color:var(--color-accent)}.chip-active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.doc-file{margin-bottom:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--color-bg);border-radius:var(--radius-md);font-size:14px;word-break:break-all}.doc-actions{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.doc-reason{flex:1 1 200px;min-width:160px}.pager{display:flex;align-items:center;justify-content:center;gap:var(--space-3);margin-top:var(--space-4);font-size:14px}.search-input{width:100%;max-width:320px;margin-bottom:var(--space-4)}.quota{margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:14px}.quota-full{border-color:#e0b98a;background:#fdf7ee}.quota-track{height:8px;margin-top:var(--space-2);border-radius:999px;background:var(--color-bg);overflow:hidden}.quota-fill{height:100%;border-radius:999px;background:var(--color-accent);transition:width .2s ease}.quota-full .quota-fill{background:#c9822b}.quota-upgrade{margin-top:var(--space-2);font-weight:600;color:#8a5b25}.visit-stats{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-3);margin-top:2px;font-size:13px;color:var(--color-ink-soft)}.stat-today{color:var(--color-accent-strong);font-weight:600}.stat-overdue,.overdue-flag{color:#b4531f;font-weight:600}.filter-row{display:flex;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-3)}.filter-row .field{min-width:180px}.btn-block{display:block;width:100%}.btn-lg{padding:14px 20px;font-size:16px;border-radius:14px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:#0f1e1a8c}.modal{width:100%;max-width:560px;max-height:92vh;display:flex;flex-direction:column;background:var(--color-surface);border-radius:20px;box-shadow:0 24px 64px #0f1e1a59}.modal form{display:flex;flex-direction:column;min-height:0}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-5, 20px);border-bottom:1px solid var(--color-border)}.modal-header h3{margin:0;font-size:20px}.modal-close{width:36px;height:36px;border:0;border-radius:50%;background:var(--color-bg);color:var(--color-ink);font-size:22px;line-height:1;cursor:pointer}.modal-body{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4) var(--space-5, 20px);overflow-y:auto}.modal-footer{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-5, 20px);border-top:1px solid var(--color-border)}.field-label{display:block;margin-bottom:4px;font-weight:600;font-size:14px}.field-hint{display:block;margin-top:4px;font-size:13px}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.segment{padding:12px;border:1.5px solid var(--color-border);border-radius:12px;background:var(--color-surface);color:var(--color-ink);font:inherit;font-weight:600;cursor:pointer}.segment-active{border-color:var(--color-accent);background:#e6f4ef;color:var(--color-accent-strong)}@media (max-width: 640px){.modal-backdrop{align-items:flex-end;padding:0}.modal{max-width:none;max-height:94vh;border-radius:20px 20px 0 0}.modal-footer .btn{flex:1}}.mode-badge{margin-left:var(--space-2);padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;vertical-align:middle}.mode-home{background:#e8f3ee;color:var(--color-accent-strong)}.mode-clinic{background:#e4eef9;color:#1f4e79}.row-title-note{font-weight:400}.row-sub-clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.member-badge{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;vertical-align:middle}.badge-freelancer{background:#f3e9fb;color:#5b2a86}.badge-inhouse{background:#e4eef9;color:#1f4e79}.badge-onteam{background:#e8f3ee;color:var(--color-accent-strong)}.badge-removed{background:#f4eadf;color:#7a4a12}.row-actions .badge-onteam,.row-actions .badge-removed{margin-left:0}.info-banner{margin-bottom:12px;padding:12px 14px;border-radius:10px;background:#dcebe5;color:#1f4f42;font-size:14px;line-height:1.5}.sheet-points{margin:0;padding-left:20px;display:grid;gap:6px;line-height:1.5}.check-row{display:flex;align-items:center;gap:10px;min-height:44px;cursor:pointer;font-size:15px}.check-row input{width:20px;height:20px;flex:none}.pin-line{align-items:center}.pin-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;background:var(--surface-2, #f1f5f9);padding:1px 6px;border-radius:6px}.pin-input{font-size:1.4rem;letter-spacing:.5em;text-align:center;max-width:9rem;font-family:ui-monospace,Menlo,monospace}.visit-cards{display:grid;gap:14px;margin-top:4px}.visit-card{background:#fff;border:1px solid var(--border, #e2e8f0);border-radius:18px;padding:18px}.visit-card-top{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}.visit-time{font-weight:700;font-size:1.05rem}.visit-patient{font-weight:700;font-size:1.15rem}.visit-condition,.visit-address{color:#64748b;margin-top:2px}.visit-open{margin-top:14px;text-align:center;text-decoration:none;padding:13px 16px;border-radius:14px}.stage-chip{font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:5px 10px;border-radius:999px;background:#eef2f6;color:#475569;white-space:nowrap}.stage-live{background:#dcf5ee;color:#0f766e}.stage-done{background:#e8f0fe;color:#1d4ed8}.stage-cancelled{background:#fde8e8;color:#b42318}.visit-screen{max-width:560px;margin:0 auto;display:grid;gap:16px}.visit-screen-head{display:flex;align-items:center;gap:12px}.visit-screen-head h2{flex:1;margin:0}.back-link{text-decoration:none;font-size:1.4rem;color:inherit;padding:4px 8px}.patient-card{display:flex;gap:14px;align-items:flex-start}.patient-avatar{width:52px;height:52px;flex:none;border-radius:50%;background:#d7f3ee;color:#0f766e;display:grid;place-items:center;font-weight:700;font-size:1.3rem}.pin-step{display:grid;gap:10px}.pin-step h3{margin:0}.big-pin-input{width:100%;font-size:2rem;letter-spacing:.6em;text-align:center;padding:14px;border:1.5px solid #334155;border-radius:14px;font-family:ui-monospace,Menlo,monospace;box-sizing:border-box}.session-box{display:grid;gap:8px;background:#e8f7f3;border:1px solid #b6e4d9;border-radius:16px;padding:16px}.note-card{display:grid;gap:8px}.btn-block{width:100%}.nav-card{display:grid;justify-items:center;gap:8px;text-align:center;background:#0b1530;color:#fff;border-radius:20px;padding:24px 18px}.nav-arrow{font-size:2.2rem;color:#22b8e0;transform:rotate(-90deg);line-height:1}.nav-address{color:#b6c2da;font-size:.92rem}.nav-btn{background:#22b8e0;color:#04202b;text-decoration:none;text-align:center;margin-top:6px;box-sizing:border-box}.nav-note{color:#8392b0;font-size:.78rem}.segment-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;padding:12px 14px}.segment-card .segment-help{font-size:12px;font-weight:400;line-height:1.35;color:var(--muted, #51655e)}.segment:disabled{opacity:.5;cursor:not-allowed}.step-num{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin-right:6px;border-radius:50%;background:#2f6f5e;color:#fff;font-size:12px;font-weight:700}.consent-row{display:flex;align-items:flex-start;gap:12px;min-height:44px;font-size:14px;line-height:1.4}.consent-row input{width:22px;height:22px;margin:0;flex:none;accent-color:#2f6f5e}.modal-title-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin-right:12px;border-radius:12px;background:#e8f3ee;color:#1f5546;flex:none}.modal-title-text{flex:1;min-width:0}.modal-title-text h3{margin:0}.modal-subtitle{display:block;font-size:13px;margin-top:2px}.segment-card{flex-direction:row;align-items:center;gap:12px}.segment-icon{display:inline-flex;color:#1f5546;flex:none}.segment-text{display:flex;flex-direction:column;gap:4px}.segmented .segment svg{vertical-align:middle}.job-post{padding:16px 0;border-bottom:1px solid var(--color-border, #e3ebe7);display:flex;flex-direction:column;gap:10px}.job-post:last-child{border-bottom:0}.job-post-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.job-post-head>div{display:flex;flex-direction:column;gap:2px;min-width:0}.job-post-details{margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px 16px}.job-post-details dt{font-size:12px;color:#51655e}.job-post-details dd{margin:0;font-size:14px;font-weight:600;overflow-wrap:anywhere}.job-post-text{margin:0;font-size:14px;line-height:1.5;white-space:pre-line}.job-post-actions{justify-content:flex-start;flex-wrap:wrap}.link-btn{align-self:flex-start;background:none;border:0;padding:0;color:#2f6f5e;font-weight:600;cursor:pointer;font-size:13px}.place-picker{display:flex;flex-direction:column;gap:6px}.place-picker-row{display:flex;gap:8px;align-items:stretch}.place-picker-row input{flex:1;min-width:0}.place-picked{font-size:13px;color:#1f5546}.place-problem{font-size:13px;color:#9a3412}.place-matches{list-style:none;margin:0;padding:0;border:1px solid #dfe6e2;border-radius:12px;overflow:hidden;background:#fff}.place-matches li+li{border-top:1px solid #eef2f0}.place-matches button{width:100%;text-align:left;padding:10px 12px;background:none;border:0;font:inherit;font-size:14px;cursor:pointer}.place-matches button:hover,.place-matches button:focus-visible{background:#e8f3ee}.app-topbar-actions{display:flex;align-items:center;gap:12px}.bell{position:relative}.bell-btn{position:relative;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid #dfe6e2;background:#fff;color:#163a31;cursor:pointer}.bell-count{position:absolute;top:-2px;right:-2px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:#c2410c;color:#fff;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.bell-panel{position:absolute;right:0;top:52px;width:min(360px,calc(100vw - 32px));max-height:70vh;overflow-y:auto;background:#fff;border:1px solid #dfe6e2;border-radius:16px;box-shadow:0 12px 40px #163a312e;z-index:30}.bell-panel-head{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid #eef2f0}.bell-empty{padding:14px;margin:0;font-size:14px}.bell-list{list-style:none;margin:0;padding:0}.bell-item{width:100%;display:flex;flex-direction:column;gap:2px;text-align:left;padding:12px 14px;background:#fff;border:0;border-bottom:1px solid #eef2f0;font:inherit;cursor:pointer}.bell-item:hover,.bell-item:focus-visible{background:#f4faf7}.bell-unread{background:#eef7f2;border-left:3px solid #2f6f5e}.bell-item-title{font-weight:700;font-size:14px}.bell-item-msg{font-size:13px;color:#34524a}.bell-item-time{font-size:12px;color:#6b7d76}.bell-warn{margin:0;padding:10px 14px;font-size:13px;background:#fff7ed;color:#9a3412;border-bottom:1px solid #fed7aa}.place-note{font-size:13px;color:#51655e}.bell-foot{padding:10px 14px;font-size:12px;color:#6b7d76;border-top:1px solid #eef2f0}.map-pin-wrap{display:flex;flex-direction:column;gap:6px}.map-pin{height:240px;border-radius:12px;border:1px solid #dfe6e2;overflow:hidden;z-index:0}.map-pin-icon span{display:block;width:28px;height:28px;background:#c2410c;border:3px solid #fff;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 2px 6px #00000059}.job-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;align-items:stretch}.job-card{display:flex;flex-direction:column;gap:4px;min-width:0}.job-card h3,.job-card p{margin:0;overflow-wrap:anywhere}.job-card-apply{margin-top:auto;align-self:flex-start}.job-card .btn{margin-top:12px}.search-bar{display:flex;align-items:center;justify-content:space-between;gap:12px}.search-toggle{flex:1;display:flex;align-items:center;gap:8px;min-height:44px;padding:0;background:none;border:0;font:inherit;font-weight:700;font-size:16px;color:inherit;cursor:pointer;text-align:left}.search-count{padding:2px 10px;border-radius:999px;background:#e8f3ee;color:#1f5546;font-size:12px;font-weight:700}.search-chevron{margin-left:auto;font-size:12px;color:#51655e}.interest-state{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px}.badge-closed{background:#eceff3;color:#4b5563}.patient-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px;margin-top:4px}.treat-card{display:flex;flex-direction:column;gap:10px;text-align:left;font:inherit;color:inherit;cursor:pointer;background:var(--color-surface);border:1px solid var(--color-border, #dfe6e2);border-radius:16px;padding:14px;min-width:0}.treat-card:hover,.treat-card:focus-visible{border-color:var(--color-accent-strong);box-shadow:0 4px 16px #0f1e1a1f;outline:none}.treat-card-closed{opacity:.8}.treat-card-top{display:flex;align-items:center;gap:10px;min-width:0}.patient-avatar-sm{flex:none;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-weight:700;background:#e8f3ee;color:var(--color-accent-strong)}.treat-card-name{display:flex;flex-direction:column;min-width:0;flex:1}.treat-card-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.treat-card-name .muted{font-size:.85rem}.patient-progress{display:flex;flex-direction:column;gap:6px}.progress-track{height:8px;border-radius:99px;background:#e5ebe8;overflow:hidden}.progress-fill{display:block;height:100%;background:var(--color-accent-strong);border-radius:99px}.progress-text{display:flex;align-items:center;gap:8px;font-size:.9rem;flex-wrap:wrap}.treat-card-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.9rem}.treat-card-therapist{font-size:.85rem}.needs-next{color:var(--color-accent-strong);font-weight:600}.segmented-tabs{max-width:320px;margin-bottom:12px}.modal-wide{max-width:760px}.modal-wide .modal-body{overflow-y:auto}.treatment-summary{display:flex;flex-direction:column;gap:4px;padding-bottom:12px;margin-bottom:8px;border-bottom:1px solid var(--color-border, #dfe6e2)}.treatment-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.card-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.card-title-row h3{margin:0}.view-toggle{margin:0;max-width:220px}.today-strip{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 16px}.today-strip-title{font-weight:700;margin-right:4px}.today-chip{font:inherit;cursor:pointer;padding:6px 12px;border-radius:99px;background:var(--color-surface);border:1px solid var(--color-border, #dfe6e2);color:inherit}.today-chip b{font-size:1.05rem}.today-chip:hover{border-color:var(--color-accent-strong)}.today-chip-alert{background:#fff4e5;border-color:#f0b25a;color:#8a4b00}.today-chip-active{background:var(--color-accent-strong);border-color:var(--color-accent-strong);color:#fff}.visits-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}@media (min-width: 1100px){.visits-layout.has-panel{grid-template-columns:minmax(0,1fr) 440px;align-items:start}}.treatment-panel{position:sticky;top:16px;max-height:calc(100vh - 32px);display:flex;flex-direction:column;background:var(--color-surface);border:1px solid var(--color-border, #dfe6e2);border-radius:16px;overflow:hidden}.treatment-panel-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px 16px;border-bottom:1px solid var(--color-border, #dfe6e2)}.treatment-panel-header h3{margin:0;overflow-wrap:anywhere}.treatment-panel-body{padding:14px 16px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.treat-card{padding:0;gap:0;align-items:stretch;border-left:5px solid #c9d3ce;overflow:hidden}.treat-card.state-ok{border-left-color:#2f8f6b}.treat-card.state-action{border-left-color:#e8890c;background:#fffaf2}.treat-card.state-closed{border-left-color:#b4bcb8;opacity:.85}.treat-card-selected{box-shadow:0 0 0 2px var(--color-accent-strong)}.treat-card-main{display:flex;flex-direction:column;gap:10px;width:100%;text-align:left;font:inherit;color:inherit;background:none;border:0;padding:14px;cursor:pointer;min-width:0}.treat-card-main:focus-visible{outline:2px solid var(--color-accent-strong);outline-offset:-2px}.treat-card-action{margin:0 14px 14px;align-self:flex-start}.mode-icon{flex:none;width:38px;height:38px;border-radius:50%;display:grid;place-items:center}.mode-icon-home{background:#e8f3ee;color:var(--color-accent-strong)}.mode-icon-clinic{background:#ece8f7;color:#5b3fa0}.session-dots{display:flex;flex-wrap:wrap;gap:6px}.dot{width:14px;height:14px;border-radius:50%;box-sizing:border-box;border:2px solid #b4bcb8}.dot-done{background:var(--color-accent-strong);border-color:var(--color-accent-strong)}.dot-next{border-color:#e8890c;background:#fff;box-shadow:0 0 0 2px #fde7c6}.dot-todo{border-color:#b4bcb8;background:transparent}.dot-skipped{border-color:#dfe4e1;background:#eef1ef}.treat-card-line.needs-next{color:#b25f00;font-weight:600}.table-wrap{overflow-x:auto}.patient-table{width:100%;border-collapse:collapse;font-size:.92rem}.patient-table th,.patient-table td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--color-border, #dfe6e2);vertical-align:middle}.patient-table thead th{white-space:nowrap;font-weight:600}.th-sort,.link-button{font:inherit;background:none;border:0;padding:0;cursor:pointer;color:inherit;font-weight:inherit}.link-button{color:var(--color-accent-strong);font-weight:600;text-align:left}.link-button:hover,.th-sort:hover{text-decoration:underline}.patient-table tr.state-row-ok td:first-child{box-shadow:inset 4px 0 #2f8f6b}.patient-table tr.state-row-action td:first-child{box-shadow:inset 4px 0 #e8890c}.patient-table tr.state-row-closed td:first-child{box-shadow:inset 4px 0 #b4bcb8}.patient-table tr.row-selected{background:#f1f7f4}.auth-page{min-height:100%;display:flex;justify-content:center;padding:var(--space-6) var(--space-4) var(--space-7)}.auth-card{width:100%;max-width:420px;display:flex;flex-direction:column;gap:var(--space-6)}.brand{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-2)}.brand-mark{width:56px;height:56px;border-radius:16px;background:linear-gradient(155deg,var(--color-accent) 0%,var(--color-accent-strong) 100%);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-2)}.brand-mark svg{width:30px;height:30px}.brand h1{font-family:var(--font-display);font-weight:600;font-size:clamp(28px,7vw,34px);margin:0;letter-spacing:-.01em}.brand p{margin:0;color:var(--color-ink-soft);font-size:15px;line-height:1.5;max-width:320px}.role-tabs{display:flex;border-bottom:1px solid var(--color-border)}.role-tab{flex:1;background:none;border:none;padding:var(--space-3) var(--space-2);font-size:14px;font-weight:600;color:var(--color-ink-soft);cursor:pointer;position:relative;transition:color .15s ease}.role-tab[aria-selected=true]{color:var(--color-accent-strong)}.role-tab:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--color-accent);transform:scaleX(0);transition:transform .18s ease}.role-tab[aria-selected=true]:after{transform:scaleX(1)}.mode-switch{display:flex;justify-content:center;gap:var(--space-2);font-size:14px;color:var(--color-ink-soft)}.mode-switch button{background:none;border:none;padding:0;font-size:14px;font-weight:600;color:var(--color-accent-strong);cursor:pointer;text-decoration:underline;text-underline-offset:3px}.auth-form{display:flex;flex-direction:column;gap:var(--space-4)}.submit-btn{margin-top:var(--space-2);border:none;border-radius:var(--radius-md);background:var(--color-accent);color:#fff;font-size:15px;font-weight:600;padding:14px;cursor:pointer;transition:background .15s ease}.submit-btn:hover:not(:disabled){background:var(--color-accent-strong)}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.auth-footnote{text-align:center;font-size:13px;color:var(--color-ink-soft)}@media (min-width: 480px){.auth-page{padding-top:var(--space-7)}}.auth-hero{display:none}@media (min-width: 1024px){.auth-page{display:grid;grid-template-columns:1fr 1fr;padding:0!important;align-items:stretch!important;min-height:100dvh}.auth-hero{display:flex;flex-direction:column;justify-content:space-between;gap:32px;background:var(--color-accent-strong);color:#fff;padding:56px;min-height:100dvh}.auth-hero strong{font-family:var(--font-display);font-size:24px}.auth-hero h2{font-family:var(--font-display);font-size:44px;line-height:1.1;font-weight:600;margin:0 0 16px;max-width:420px}.auth-hero p{color:#cfe6dc;font-size:16px;max-width:380px;margin:0}.auth-hero span{color:#9fc9b8;font-size:14px}.auth-card{margin:auto!important;padding:40px 24px;max-width:440px}}:root{--color-bg: #f6f8f6;--color-ink: #15302a;--color-ink-soft: #4b625c;--color-accent: #2f6f5e;--color-accent-strong: #1f4f42;--color-warm: #c98a4b;--color-border: #e1e8e4;--color-surface: #ffffff;--color-error: #b3432b;--color-error-bg: #fbeae6;--font-display: "Fraunces", Georgia, serif;--font-body: "Work Sans", -apple-system, BlinkMacSystemFont, sans-serif;--radius-md: 10px;--radius-lg: 18px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--color-bg);color:var(--color-ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}button,input,select,textarea{font-family:inherit}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}.field{display:flex;flex-direction:column;gap:var(--space-1)}.field label{font-size:13px;font-weight:600;color:var(--color-ink)}.field input,.field select,.field textarea{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:13px 14px;font-size:16px;background:var(--color-surface);color:var(--color-ink)}.field input::placeholder,.field textarea::placeholder{color:#9aa9a3}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--color-accent)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.error-banner{background:var(--color-error-bg);color:var(--color-error);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);font-size:14px;line-height:1.4}.success-banner{background:#e8f3ee;color:var(--color-accent-strong);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);font-size:14px;line-height:1.4}.field textarea{resize:vertical;min-height:84px;font-family:inherit}.field-error{display:block;margin-top:4px;font-size:13px;line-height:1.3;color:var(--color-error)}.field input[aria-invalid=true]{border-color:var(--color-error)}.password-wrap{position:relative;display:flex}.password-wrap input{width:100%;padding-right:48px}.password-toggle{position:absolute;top:0;right:0;bottom:0;width:46px;display:flex;align-items:center;justify-content:center;background:none;border:0;border-radius:var(--radius-md);color:var(--color-muted, #5d6f68);cursor:pointer}.password-toggle:hover,.password-toggle:focus-visible{color:var(--color-ink)}.form-error-upgrade{display:inline-block;margin-top:10px;text-decoration:none}:root{--tap: 44px;--focus-ring: 0 0 0 3px rgba(47, 111, 94, .35);--color-accent-soft: #e6f4ef;--color-error-strong: #8f3320;--sidebar-w: 240px;--topbar-h: 57px}html{-webkit-text-size-adjust:100%}img,svg,video{max-width:100%}.row-main,.party-name,.party-sub,.doc-file{min-width:0;overflow-wrap:anywhere}.app-main,.card,.row-item{min-width:0}.btn,.submit-btn,.signout-btn,.chip,.segment,.role-tab,.modal-close,.hover-card-close,.mode-switch button,.pager .btn{-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .05s ease}.btn,.submit-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--tap);line-height:1.2;text-align:center;text-decoration:none;white-space:nowrap}.btn-sm{min-height:36px}.btn-lg{min-height:52px}.btn:focus-visible,.submit-btn:focus-visible,.signout-btn:focus-visible,.chip:focus-visible,.segment:focus-visible,.role-tab:focus-visible,.modal-close:focus-visible,.hover-card-close:focus-visible,.mode-switch button:focus-visible,.app-nav a:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn:active:not(:disabled),.submit-btn:active:not(:disabled),.signout-btn:active,.chip:active,.segment:active{transform:translateY(1px)}.btn:disabled,.submit-btn:disabled,.chip:disabled,.segment:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn[aria-busy=true]:before,.submit-btn[aria-busy=true]:before{content:"";width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.btn-secondary{background:var(--color-surface)}.btn-secondary:active:not(:disabled){background:var(--color-accent-soft)}.btn-danger{background:var(--color-surface)}.btn-danger:hover:not(:disabled){background:var(--color-error);border-color:var(--color-error);color:#fff}.btn-danger:active:not(:disabled){background:var(--color-error-strong);border-color:var(--color-error-strong);color:#fff}.btn-danger:focus-visible{box-shadow:0 0 0 3px #b3432b4d}.btn-ghost{background:none;border:1px solid transparent;color:var(--color-accent-strong)}.btn-ghost:hover:not(:disabled){background:var(--color-accent-soft)}.btn-block{display:flex;width:100%}.signout-btn{min-height:40px;background:var(--color-surface)}.signout-btn:hover{border-color:var(--color-accent);color:var(--color-accent-strong)}.chip{min-height:40px;padding:8px 16px}.chip:active{background:var(--color-accent-soft)}.chip-active:active{background:var(--color-accent-strong)}.segment:hover:not(:disabled){border-color:var(--color-accent)}.role-tab{min-height:var(--tap)}.role-tab:not([aria-selected=true]):hover{color:var(--color-ink)}.mode-switch button{min-height:32px;border-radius:6px;padding:0 4px}.mode-switch button:hover{color:var(--color-accent)}.modal-close,.hover-card-close{display:grid;place-items:center;width:var(--tap);height:var(--tap)}.modal-close:hover,.hover-card-close:hover{background:var(--color-border)}.field input,.field select,.field textarea{min-height:48px;width:100%;transition:border-color .15s ease,box-shadow .15s ease}.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:none;border-color:var(--color-accent);box-shadow:var(--focus-ring)}.field input:disabled,.field select:disabled,.field textarea:disabled{background:var(--color-bg);color:var(--color-ink-soft);cursor:not-allowed}.field select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' fill='none' stroke='%234b625c' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:38px}.app-nav a{min-height:var(--tap);display:inline-flex;align-items:center;transition:color .15s ease,background-color .15s ease}.app-nav a:hover:not(.active){color:var(--color-ink)}.app-topbar{padding-top:calc(var(--space-3) + env(safe-area-inset-top,0px));padding-left:max(var(--space-4),env(safe-area-inset-left,0px));padding-right:max(var(--space-4),env(safe-area-inset-right,0px))}.app-nav{scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-left:max(var(--space-4),env(safe-area-inset-left,0px));padding-right:max(var(--space-4),env(safe-area-inset-right,0px))}.app-nav::-webkit-scrollbar{display:none}.app-main{padding-left:max(var(--space-4),env(safe-area-inset-left,0px));padding-right:max(var(--space-4),env(safe-area-inset-right,0px));padding-bottom:calc(var(--space-7) + env(safe-area-inset-bottom,0px))}.page-header h2{font-size:clamp(20px,5.5vw,26px)}.card{padding:var(--space-4)}.inline-form>.btn,.card>.btn,.step .btn{align-self:stretch}.field-row{grid-template-columns:1fr}.row-item{align-items:stretch;flex-direction:column}.row-actions{width:100%}.row-actions>.btn,.row-actions>a.btn{flex:1 1 auto}.filter-row .field{flex:1 1 100%;min-width:0}.pager{flex-wrap:wrap}.modal-footer{padding-bottom:calc(var(--space-3) + env(safe-area-inset-bottom,0px))}.modal{max-height:94dvh}.hover-card{max-height:70dvh}@media (min-width: 480px){.field-row{grid-template-columns:1fr 1fr}.filter-row .field{flex:1 1 180px}}@media (min-width: 640px){.app-main{padding-top:var(--space-6)}.card{padding:var(--space-5)}.inline-form>.btn,.card>.btn,.step .btn{align-self:flex-start}.modal-backdrop{align-items:center;padding:var(--space-5)}.modal{border-radius:20px;max-height:90dvh}}@media (max-height: 480px) and (orientation: landscape){.modal-backdrop{align-items:stretch;padding:0}.modal{max-height:100dvh;border-radius:0}.auth-page{padding-top:var(--space-4)}}@media (min-width: 768px){.app-main{max-width:960px;padding-left:var(--space-6);padding-right:var(--space-6)}.app-topbar,.app-nav{padding-left:var(--space-6);padding-right:var(--space-6)}.row-item{flex-direction:row;align-items:center}.row-actions{width:auto;justify-content:flex-end}.row-actions>.btn,.row-actions>a.btn{flex:0 0 auto}.btn-sm{min-height:34px}.auth-page{align-items:flex-start;padding-top:var(--space-7)}.auth-card{max-width:480px;margin-block:auto;padding:40px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:24px;box-shadow:0 12px 40px #15302a14}.quota{max-width:560px}.card>.inline-form{max-width:600px}}@media (min-width: 1024px){.app-shell{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);grid-template-rows:auto 1fr;grid-template-areas:"top  top" "nav  main";min-height:100dvh}.app-topbar{grid-area:top;padding-left:var(--space-6);padding-right:var(--space-6)}.app-nav{grid-area:nav;position:sticky;top:var(--topbar-h);align-self:start;height:calc(100dvh - var(--topbar-h));flex-direction:column;gap:2px;padding:var(--space-4) var(--space-3);overflow-y:auto;border-bottom:none;border-right:1px solid var(--color-border)}.app-nav a{padding:10px 14px;font-size:14px;border-bottom:none;border-radius:var(--radius-md)}.app-nav a:hover:not(.active){background:var(--color-bg)}.app-nav a.active{background:var(--color-accent-soft)}.app-main{grid-area:main;max-width:1040px;padding:var(--space-6) var(--space-7) var(--space-7)}.app-shell:not(:has(.app-nav)){grid-template-columns:minmax(0,1fr);grid-template-areas:"top" "main"}.filter-row .field{flex:0 1 220px}}@media (min-width: 1280px){:root{--sidebar-w: 260px}.app-main{max-width:1160px;padding-left:56px;padding-right:56px}.page-header h2{font-size:28px}.page-header p,.row-sub,.muted{font-size:14px}.row-title{font-size:15px}}@media (min-width: 1680px){.app-main{max-width:1320px}}@media (hover: hover) and (pointer: fine){.btn,.submit-btn{min-height:40px}.btn-sm{min-height:32px}.field input,.field select{min-height:44px}}@media (pointer: coarse){.btn-sm{min-height:40px}}@media print{.app-topbar,.app-nav,.btn,.signout-btn,.modal-backdrop{display:none!important}.app-shell{display:block}.app-main{max-width:none;padding:0}.card{break-inside:avoid;border-color:#ccc}}@media (forced-colors: active){.btn,.chip,.segment,.card{border:1px solid CanvasText}}.pill{display:inline-block;width:fit-content;align-self:flex-start;white-space:nowrap}.row-actions .pill{align-self:center}.app-main input[type=search],.app-main input[type=text]:not(.big-pin-input),.app-main input[type=number]{font:inherit;font-size:16px;color:var(--color-ink);padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);min-height:42px;max-width:100%}.app-main input[type=search]{width:100%;max-width:420px}@media (max-width: 640px){.btn{white-space:normal;text-align:center;line-height:1.25}.hover-card-name{min-height:36px;display:inline-flex;align-items:center}.visit-open{width:100%}}@media (min-width: 768px){.visit-cards{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.visit-open{width:auto;justify-self:start}.visit-card-top{margin-bottom:10px}}@media (min-width: 1024px){.visit-screen{max-width:720px}}@media (min-width: 1600px){html{font-size:17px}.visit-screen{max-width:820px}}@media (min-width: 2200px){html{font-size:18px}}.app-nav .nav-icon{display:none;flex:none}@media (min-width: 1024px){.app-nav a{gap:12px}.app-nav .nav-icon{display:block}}.tabbar,.more-sheet-backdrop{display:none}@media (max-width: 767px){.app-shell.has-tabbar .app-nav{display:none}.app-shell.has-tabbar .app-main{padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))}.tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--color-surface);border-top:1px solid var(--color-border);padding:6px max(8px,env(safe-area-inset-left,0px)) calc(6px + env(safe-area-inset-bottom,0px))}.tabbar a,.tabbar button{flex:1 1 0;min-width:0;min-height:52px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:none;border:0;border-radius:12px;font:inherit;font-size:11px;font-weight:600;color:var(--color-ink-soft);text-decoration:none;cursor:pointer}.tabbar span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tabbar a.on,.tabbar button.on{color:var(--color-accent-strong);background:var(--color-accent-soft)}.more-sheet-backdrop{display:flex;align-items:flex-end;position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#15302a73}.more-sheet{width:100%;background:var(--color-surface);border-radius:20px 20px 0 0;padding:12px 12px calc(12px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:2px}.more-sheet a,.more-sheet button{display:flex;align-items:center;gap:14px;min-height:52px;padding:0 14px;border:0;border-radius:12px;background:none;font:inherit;font-size:16px;font-weight:600;color:var(--color-ink);text-decoration:none;text-align:left;cursor:pointer}.more-sheet a.active{background:var(--color-accent-soft);color:var(--color-accent-strong)}.more-sheet button{color:var(--color-error);border-top:1px solid var(--color-border);border-radius:0 0 12px 12px;margin-top:6px}}.offline-strip{background:#fff4e0;color:#7a4a00;border-bottom:1px solid #f0c98a;padding:8px 16px;font-size:14px;font-weight:600;text-align:center}.install-card{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;margin:12px 16px 0;padding:12px 14px;background:var(--color-accent-soft);border:1px solid #bfdcd0;border-radius:14px}.install-card>div{flex:1 1 200px;display:flex;flex-direction:column;font-size:14px}.install-card span{color:var(--color-ink-soft)}.dash-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:16px}.dash-head h2{margin:0;font-family:var(--font-display);font-size:clamp(24px,4vw,32px)}.dash-head p{margin:0 0 4px;color:var(--color-ink-soft);font-size:14px}.dash-grid{display:grid;gap:16px;grid-template-columns:minmax(0,1fr);margin-top:16px}@media (min-width: 900px){.dash-grid{grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr);align-items:start}}.dash-list{display:flex;flex-direction:column;gap:10px;margin-top:12px}.dash-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;padding:12px 14px;border:1px solid var(--color-border);border-left:5px solid var(--color-border);border-radius:14px;background:var(--color-surface)}.dash-row.alert{border-left-color:var(--color-warm);background:#fffaf2}.dash-row-main{flex:1 1 220px;min-width:0;display:flex;flex-direction:column;gap:4px}.dash-row-main strong{overflow-wrap:anywhere}.dash-row-main .small{font-size:13px;color:var(--color-ink-soft)}.dash-row.alert .dash-row-main .small{color:#8a5a1f;font-weight:600}.dash-usage{display:flex;flex-direction:column;gap:14px;margin-top:12px}.dash-usage-line{display:flex;justify-content:space-between;gap:8px;font-size:14px}.dash-links{display:flex;flex-direction:column;gap:10px;margin-top:12px}.sc-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap;background:#e8f3ee;color:var(--color-accent-strong)}.sc-chip.warn{background:#fbf1e5;color:#8a5b25}.sc-chip.grey{background:#eef1ef;color:var(--color-ink-soft)}.sc-chip.bad{background:var(--color-error-bg);color:var(--color-error)}.sc-chip.violet{background:#f3e9fb;color:#5b2a86}.sc-tabs{display:inline-flex;gap:4px;padding:4px;background:#eef1ef;border-radius:14px;margin-bottom:16px;max-width:100%;overflow-x:auto}.sc-tabs a,.sc-tabs button{min-height:40px;padding:0 16px;border:0;border-radius:10px;background:none;font:inherit;font-size:14px;font-weight:600;color:var(--color-ink-soft);display:inline-flex;align-items:center;text-decoration:none;cursor:pointer;white-space:nowrap}.sc-tabs .on,.sc-tabs a.active{background:var(--color-surface);color:var(--color-accent-strong);box-shadow:0 1px 3px #15302a1f}.sc-card{background:var(--color-surface);border:1px solid var(--color-border);border-left:5px solid var(--color-accent);border-radius:16px;padding:16px;margin-bottom:14px;display:flex;flex-direction:column;gap:10px}.sc-card.warn{border-left-color:var(--color-warm);background:#fffaf2}.sc-card.grey{border-left-color:#b4bcb8}.sc-card.bad{border-left-color:var(--color-error)}.sc-card.dashed{border-style:dashed;border-left-width:1px}.sc-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.sc-head h3{margin:0;font-size:17px;overflow-wrap:anywhere}.sc-sub{margin:2px 0 0;font-size:13px;color:var(--color-ink-soft)}.sc-actions{display:flex;flex-wrap:wrap;gap:8px}.sc-avatar{width:44px;height:44px;border-radius:50%;flex:none;display:inline-flex;align-items:center;justify-content:center;background:#e8f3ee;color:var(--color-accent-strong);font-weight:700;font-size:15px}.sc-avatar.violet{background:#f3e9fb;color:#5b2a86}.sc-avatar.lg{width:72px;height:72px;font-size:24px}.sc-timeline{display:flex;flex-direction:column;margin-top:2px}.sc-timeline div{display:flex;gap:10px;align-items:flex-start;font-size:14px;padding-bottom:8px}.sc-timeline i{width:12px;height:12px;border-radius:50%;background:var(--color-accent);margin-top:5px;flex:none}.sc-timeline i.g{background:#cdd6d2}.sc-stats{display:flex;gap:10px;margin-bottom:14px}.sc-stat{flex:1;text-align:center;padding:12px 6px;border:1px solid var(--color-border);border-radius:14px;background:var(--color-surface)}.sc-stat strong{display:block;font-size:22px;font-family:var(--font-display)}.sc-stat span{font-size:13px;color:var(--color-ink-soft)}.sc-bigstats{display:flex;gap:24px}.sc-bigstats strong{font-size:22px;display:block}.sc-bigstats span{font-size:13px;color:var(--color-ink-soft)}.sc-center{align-items:center;text-align:center;border-left-width:1px}.sc-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.sc-rows{display:flex;flex-direction:column;gap:10px}.sc-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--color-border);border-left:5px solid var(--color-accent);border-radius:12px;background:var(--color-surface)}.sc-row.warn{border-left-color:var(--color-warm);background:#fffaf2}.sc-row.bad{border-left-color:var(--color-error)}.sc-row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.sc-row-main strong{overflow-wrap:anywhere}.sc-row-main span{font-size:13px;color:var(--color-ink-soft)}.sc-row-main .bad{color:var(--color-error)}.sc-drop{border:2px dashed #b9c8c1;border-radius:16px;padding:18px;background:var(--color-surface);display:flex;flex-direction:column;gap:12px;margin-bottom:14px}.sc-kv{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:14px;margin:0}.sc-kv dt{color:var(--color-ink-soft)}.sc-kv dd{margin:0;overflow-wrap:anywhere}.sc-plans{display:grid;gap:14px;grid-template-columns:minmax(0,1fr);margin-bottom:16px}@media (min-width: 720px){.sc-plans{grid-template-columns:repeat(2,minmax(0,1fr))}}.sc-plan{background:var(--color-surface);border:2px solid var(--color-border);border-radius:18px;padding:20px;display:flex;flex-direction:column;gap:12px}.sc-plan.current{border-color:var(--color-accent)}.sc-plan.dark{background:var(--color-accent-strong);border-color:var(--color-accent-strong);color:#fff}.sc-plan-top{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.sc-plan h3{margin:0;font-size:20px}.sc-price{font-family:var(--font-display);font-size:28px;font-weight:600}.sc-plan ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:14px}.sc-plan li{display:flex;gap:8px}.sc-plan li:before{content:"✓";color:var(--color-accent);font-weight:700}.sc-plan.dark li:before{color:#9fe0c6}.sc-plan.dark .btn{background:#fff;color:var(--color-accent-strong);border-color:#fff}@media (max-width: 767px){.sc-card{padding:14px}.sc-head{flex-wrap:wrap}.sc-actions .btn{flex:1 1 auto}}.sub-card{border-left:5px solid var(--color-warm)}.docs-grid{display:grid;gap:14px;grid-template-columns:minmax(0,1fr)}@media (min-width: 1100px){.docs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.docs-grid .sub-card{margin-bottom:0}.doc-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.doc-actions .doc-reason{flex:1 1 180px;min-width:0}.team-grid{display:grid;gap:14px;grid-template-columns:minmax(0,1fr)}@media (min-width: 900px){.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.team-grid .sc-card{margin-bottom:0}.visit-card{border-left:5px solid #b4bcb8}.visit-card:has(.stage-live){border-left-color:var(--color-accent)}.visit-card:has(.stage-todo){border-left-color:var(--color-warm)}.visit-card:has(.stage-done){border-left-color:var(--color-accent)}.job-card,.row-list>.job-posting{border-left:5px solid var(--color-accent);border-radius:16px}.job-card{gap:6px}.job-card .btn{align-self:flex-start}@media (max-width: 767px){.job-card .btn{width:100%;align-self:stretch}}@media (min-width: 1024px){.app-main{max-width:1240px}.app-main:has(.patients-page){max-width:none}}.patients-page .dash-head h2{font-size:clamp(26px,4vw,34px)}.patients-main{min-width:0;display:flex;flex-direction:column;gap:14px}.patients-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}.patients-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.patients-filters input,.patients-filters select{min-height:40px;padding:0 12px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface);font:inherit;font-size:14px;width:auto;max-width:100%}.patients-filters input[type=search]{min-width:190px}.patient-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));margin-top:0}@media (max-width: 640px){.patients-filters{width:100%}.patients-filters input[type=search],.patients-filters select{flex:1 1 100%}}.app-main .patients-filters input[type=search]{width:200px;max-width:100%}.app-main .patients-filters select{width:auto}.dash-head h2{margin-bottom:4px}@media (max-width: 640px){.app-main .patients-filters input[type=search]{width:100%}.app-main .patients-filters select{flex:1 1 calc(50% - 5px);width:calc(50% - 5px);min-width:0}}.card-title-row a{color:var(--color-accent-strong);font-weight:600;font-size:14px}.app-main a:not([class]){color:var(--color-accent-strong);font-weight:600}.jobs-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(min(100%,360px),1fr))}.jobs-grid .sc-card{margin-bottom:0}.usage-card{flex-direction:row;flex-wrap:wrap;align-items:center;gap:20px}.quota-track{height:8px;border-radius:99px;background:#eef1ef;overflow:hidden}.quota-fill{height:100%;background:var(--color-accent)}.sc-card.job-post,.sc-card.job-card{padding:16px;border-bottom:1px solid var(--color-border)}.sc-card.job-post:last-child{border-bottom:1px solid var(--color-border)}.job-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr))}.job-card .job-card-apply{margin-top:auto}.search-card{border-radius:16px}.sc-card[style*="border-left-width: 1px"],.sc-card.sc-center{border-left-color:var(--color-border)}.job-card .job-card-apply{margin-top:8px}.search-form{display:flex;flex-direction:column;gap:12px}.search-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.search-grid .pair{display:flex;gap:8px}.search-grid .pair input{min-width:0;flex:1}.tag-row{display:flex;flex-wrap:wrap;gap:8px}.tag{border:0;border-radius:999px;padding:6px 12px;background:var(--color-accent-soft);color:var(--color-accent-strong);font:inherit;font-size:13px;font-weight:600;cursor:pointer}.job-card .interest-state{display:flex;flex-direction:column;gap:6px;align-items:flex-start;margin-top:auto}@media (min-width: 900px){.search-grid .field:has(.pair){grid-column:span 2}.search-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.search-grid .pair input[type=date]{min-width:0}.sc-card>h3{margin:0}@media (min-width: 1024px){.app-main{margin-left:0;margin-right:auto}}.btn-warn{background:#d9822b;border-color:#d9822b;color:#fff}.btn-warn:hover:not(:disabled){background:#c1721f;border-color:#c1721f}.dash-row{border-left-color:var(--color-accent)}.dash-row.alert{border-left-color:var(--color-warm)}.dash-row .sc-avatar{width:36px;height:36px;font-size:14px}.dash-usage-line{display:flex;justify-content:space-between;font-size:14px}.table-scroll{overflow-x:auto;margin-top:8px}.dash-table{width:100%;border-collapse:collapse;font-size:14px}.dash-table th{text-align:left;color:var(--color-ink-soft);font-weight:600;padding:10px 8px;border-bottom:1px solid var(--color-border);white-space:nowrap}.dash-table td{padding:12px 8px;border-bottom:1px solid var(--color-border);vertical-align:middle}.dash-table tr:last-child td{border-bottom:0}.nav-badge{margin-left:auto;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#d9822b;color:#fff;font-size:12px;display:inline-flex;align-items:center;justify-content:center}.nav-foot{display:none}@media (min-width: 1024px){.app-nav{display:flex}.nav-foot{display:flex;flex-direction:column;gap:8px;align-items:flex-start;margin-top:auto;padding:16px 14px 4px;border-top:1px solid var(--color-border)}.nav-foot a{padding:0;color:inherit;text-decoration:underline;min-height:0}}.dash-grid .card{margin-bottom:0}@media (min-width: 1024px){.app-nav a.small-only{display:none}.nav-foot a.active{color:var(--color-accent-strong)}}.dash-row-main{flex-basis:150px}.visit-screen-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.visit-screen-head h2{display:none}.visit-head-name{flex:1;text-align:center;overflow-wrap:anywhere}.visit-steps{display:flex;gap:10px;justify-content:space-between;list-style:none;margin:0 0 4px;padding:0}.visit-step{flex:1;display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--color-ink-soft)}.visit-step i{width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-style:normal;font-size:13px;background:#e4ebe7;color:var(--color-ink-soft)}.visit-step.on{color:var(--color-accent-strong)}.visit-step.on i,.visit-step.done i{background:var(--color-accent);color:#fff}.visit-main-btn{min-height:54px;font-size:17px}.pinpad{display:flex;flex-direction:column;gap:14px}.pin-boxes{display:flex;gap:12px;justify-content:center;margin:8px 0}.pinbox{width:56px;height:64px;border-radius:14px;border:2px solid var(--color-border);background:var(--color-surface);display:inline-flex;align-items:center;justify-content:center;font-size:28px;font-weight:700;font-family:ui-monospace,Menlo,monospace}.pinbox.filled{border-color:var(--color-accent);color:var(--color-accent-strong)}.pin-keys{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.pin-keys .btn{min-height:58px;font-size:22px}.pin-keys .btn[aria-label]{font-size:15px}.visit-screen{max-width:520px;margin:0 auto;display:flex;flex-direction:column;gap:14px}.therapist-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.therapist-head h2{margin:2px 0 0;font-size:28px}.next-visit{display:flex;flex-direction:column;gap:8px;background:#f3faf6;border-color:var(--color-accent);margin-bottom:8px}.next-visit-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.next-visit-actions{display:flex;gap:10px;flex-wrap:wrap}.next-visit-actions .btn{flex:1;min-height:46px}.visit-group{font-size:16px;margin:18px 0 8px}.visit-rows{display:flex;flex-direction:column;gap:8px}.visit-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px;border:1px solid var(--color-border);border-radius:14px;background:var(--color-surface);color:inherit;text-decoration:none}.visit-row>div{display:flex;flex-direction:column;min-width:0}.visit-row .sc-sub{overflow-wrap:anywhere}.pin-keys .btn:hover,.pin-keys .btn:focus-visible{background:#e8f2ed;color:var(--color-ink, #17342a)}.near-alert{background:var(--color-warn-soft, #fff4e0);border-color:#f0b25a;border-left-color:#f0b25a;margin-bottom:12px;gap:8px}.type-chips{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.type-chips .sc-chip{border:1px solid transparent;cursor:pointer;font:inherit;font-size:13px;min-height:36px;padding:0 14px}.type-chips .sc-chip[aria-pressed=true]{border-color:var(--color-accent-strong)}@media (max-width: 767px){.job-card .job-card-apply{width:100%;min-height:48px}.job-card .sc-chip.job-card-apply{width:auto;min-height:0}}.type-chips{margin-top:0}.sc-tabs+.type-chips{margin-top:10px}.today-progress{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;font-size:14px}.today-progress .bar{height:6px;border-radius:99px;background:#e4ebe7;overflow:hidden}.today-progress .bar i{display:block;height:100%;background:var(--color-accent)}.done-today{margin-top:16px}.done-today summary{cursor:pointer;font-weight:600;font-size:15px;padding:6px 0}.done-today .visit-rows{margin-top:8px}.wizard-progress{padding:10px 20px 0;display:flex;flex-direction:column;gap:6px}.wizard-progress .bar{height:5px;border-radius:99px;background:#e4ebe7;overflow:hidden}.wizard-progress .bar i{display:block;height:100%;background:var(--color-accent);transition:width .2s}.review-kv{margin:0}.review-kv dd{overflow-wrap:anywhere}.price-row{display:grid;grid-template-columns:110px repeat(4,minmax(0,1fr));gap:12px;align-items:end;padding:12px 0;border-top:1px solid var(--color-border)}.price-row-title{align-self:center}@media (max-width: 900px){.price-row{grid-template-columns:1fr 1fr}.price-row-title{grid-column:1 / -1}}.decision-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px 16px;margin:12px 0 0}.decision-facts dt{font-size:12px;color:var(--color-muted, #5b6b66)}.decision-facts dd{margin:2px 0 0;font-weight:600}.decision-approved{background:#e3f4ea;color:#1b6b3a}.decision-rejected{background:#fbe7e5;color:#a3281d}.sc-tabs+.sc-tabs{margin-left:8px}.stars{letter-spacing:1px;white-space:nowrap}.stars .star,.star-input .star{color:#cfd8d4}.stars .star.on,.star-input .star.on{color:#e5a100}.star-input{display:inline-flex;gap:2px}.star-input .star{background:none;border:0;padding:2px 3px;font-size:28px;line-height:1;cursor:pointer}.avg-line{display:inline-flex;align-items:center;gap:6px}.case-ratings{margin-top:16px;padding-top:12px;border-top:1px solid var(--color-border, #e3e8e5)}.case-ratings h4{margin:0 0 8px}.rating-block{padding:10px 0;border-top:1px dashed var(--color-border, #e3e8e5)}.rating-block:first-of-type{border-top:0}.rating-form{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.rating-form textarea{width:100%}.rating-form-title{font-weight:600}.rating-hint{margin:0}.rating-file{display:flex;flex-direction:column;gap:4px}.rating-given{display:flex;flex-direction:column;gap:2px;padding:6px 0}.rating-given p{margin:2px 0}.rating-list{display:flex;flex-direction:column;gap:4px}.rating-todo{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.link-btn{background:none;border:0;padding:0;color:var(--color-accent-strong, #1b6b57);text-decoration:underline;cursor:pointer;text-align:left;font:inherit}.patient-rate{min-height:100vh;display:flex;align-items:flex-start;justify-content:center;padding:24px 16px;background:var(--color-bg, #f5f7f6)}.patient-rate-card{width:100%;max-width:440px;display:flex;flex-direction:column;gap:14px;align-items:flex-start;padding:24px}.rating-link-box{display:flex;flex-direction:column;gap:8px;width:100%}.rating-link-box input{width:100%}.rating-manual{margin-top:10px;width:100%}.rating-manual summary{cursor:pointer;color:var(--color-muted, #5b6b66)}.rating-manual .rating-form{margin-top:8px}.case-ratings-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}.case-ratings-head h4{margin:0}.rating-line{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 0;border-top:1px solid var(--color-border, #e3e8e5)}.rating-line-label{color:var(--color-ink-soft, #4b5d57)}.rating-comments{margin-top:6px}.rating-pending-chip{align-self:flex-start;margin-top:6px}.rating-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.rate-nudge{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;margin-bottom:14px;border-radius:14px;background:#fbf1e5;color:#8a5b25;text-decoration:none}.rate-nudge-go{font-weight:600;white-space:nowrap}.rating-form textarea,.patient-rate textarea{font:inherit;padding:10px 12px;border:1px solid var(--color-border, #d5ddd9);border-radius:12px;background:var(--color-surface, #fff);resize:vertical}.rating-form textarea:focus,.patient-rate textarea:focus{outline:2px solid var(--color-accent-strong, #1b6b57);outline-offset:1px}.rating-link-box input{font:inherit;padding:10px 12px;border:1px solid var(--color-border, #d5ddd9);border-radius:12px;background:#f5f7f6}.rating-link-actions{display:flex;flex-wrap:wrap;gap:8px}.tabbar a{position:relative}.tab-badge{position:absolute;top:2px;right:calc(50% - 22px);margin-left:0;min-width:18px;height:18px;font-size:11px}@media (max-width: 480px){.rating-link-actions>*{flex:1 1 100%;justify-content:center}.star-input .star{font-size:34px}.case-ratings-head{flex-wrap:wrap}}.visit-quick{display:flex;gap:10px;flex-wrap:wrap}.visit-quick .btn{flex:1 1 140px;justify-content:center;text-align:center}.arrival-chip{padding:10px 14px;border-radius:12px;font-weight:600}.arrival-chip.ok{background:#e3f4ea;color:#1b6b3a}.arrival-chip.warn{background:#fbf1e5;color:#8a5b25}.sc-center{gap:4px}.sc-center>:first-child{margin-bottom:6px}.rating-fold summary{display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;list-style:none}.rating-fold summary::-webkit-details-marker{display:none}.rating-fold summary h3{margin:0}.rating-fold summary .fold-meta:after{content:" ▾";color:var(--color-ink-soft)}.rating-fold[open] summary .fold-meta:after{content:" ▴"}.rating-fold[open] summary{margin-bottom:6px}.applicant-stars{font-size:13px;font-weight:600;color:#b45309;margin-left:4px}.pay-banner{background:#fbf1e5;color:#8a5b25;border:1px solid #efd9b8;border-radius:12px;padding:12px 14px;font-size:14px;margin-bottom:12px}.pay-label{margin:0;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-ink-soft)}.pay-seg{max-width:320px;margin:0 0 14px}.pay-secure{text-align:center;margin:-4px 0 18px}.pay-screen{max-width:520px;margin:0 auto}.pay-center{display:flex;flex-direction:column;gap:10px}.pay-center h3{font-size:22px}.pay-steps{list-style:none;margin:4px 0;padding:0;display:flex;flex-direction:column;gap:10px}.pay-steps li{display:flex;gap:10px;align-items:center;color:var(--color-ink-soft)}.pay-steps li:before{content:"○";font-weight:700}.pay-steps li.done{color:var(--color-ink)}.pay-steps li.done:before{content:"✓";color:var(--color-accent)}.pay-steps li.doing{color:var(--color-ink);font-weight:600}.pay-steps li.doing:before{content:"◌";animation:pay-spin 1s linear infinite;display:inline-block}@keyframes pay-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.pay-steps li.doing:before{animation:none}}.pay-history{margin-top:8px;display:flex;flex-direction:column;gap:10px}.pay-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;padding:12px 14px}.pay-row-side{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex:none}.link-btn{background:none;border:0;padding:0;margin-top:4px;color:var(--color-accent);font:inherit;font-size:13px;text-decoration:underline;cursor:pointer}.sc-per{font-size:14px;font-weight:500;opacity:.8}.verify-bar{height:8px;border-radius:99px;background:var(--color-border);overflow:hidden;margin:6px 0 10px}.verify-bar span{display:block;height:100%;background:var(--color-accent);border-radius:99px}.verify-lock{font-size:14px;margin:4px 0 10px;opacity:.9}label.btn.disabled{opacity:.6;pointer-events:none}label.btn{cursor:pointer}.sc-rows .sc-row{flex-wrap:wrap}
