:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#17211b;background:#f5f7f5;font-synthesis:none;--ink: #17211b;--muted: #66736b;--subtle: #8a968e;--surface: #ffffff;--surface-soft: #f7f9f7;--line: #dfe5e0;--line-strong: #cbd5cd;--brand: #176b4b;--brand-hover: #11563c;--brand-soft: #e8f3ed;--danger: #b42318;--danger-soft: #fff0ee;--warning: #9a6700;--warning-soft: #fff8e5;--shadow-sm: 0 1px 2px rgba(23, 33, 27, .05);--shadow-md: 0 10px 28px rgba(23, 33, 27, .08);line-height:1.5}*{box-sizing:border-box}html{min-width:320px;background:#f5f7f5}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden;color:var(--ink);background:radial-gradient(circle at 10% 0%,rgba(23,107,75,.04),transparent 28rem),#f5f7f5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.icon{flex:0 0 auto;vertical-align:-.18em}.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:6px}.users-page-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:1rem}.users-page-header h2{margin-bottom:0}.users-add-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:.5rem 1rem;border:1px solid var(--brand);border-radius:6px;color:#fff;background:var(--brand);cursor:pointer}.users-filters{margin-bottom:1rem}.users-filter-grid{display:flex;gap:1rem;flex-wrap:wrap}.users-search{flex:1;min-width:200px}.users-search input{width:100%;padding:.5rem}.users-filter-select select{min-height:40px;padding:.5rem}.users-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.users-table{width:100%;border-collapse:collapse}.users-table th{padding:.75rem;border-bottom:2px solid var(--line);color:var(--muted);font-size:.75rem;letter-spacing:.035em;text-align:left;text-transform:uppercase}.users-table td{padding:.75rem;border-bottom:1px solid #eee}.users-table tbody tr{cursor:pointer;transition:background-color .12s ease}.users-table tbody tr:hover,.users-table tbody tr:focus-visible{background:var(--surface-soft);outline:none}.users-user-cell{white-space:nowrap}.users-secondary-text{color:var(--muted);font-size:.8rem}.users-meta{display:inline-flex;align-items:center;gap:5px;border-radius:999px;font-size:.8125rem;font-weight:600;white-space:nowrap}.users-role{padding:.25rem .5rem;color:var(--muted);background:#f1f3f2}.users-role-admin,.users-role-super_admin{color:#1565c0;background:#e3f2fd}.users-status-active{color:#2e7d32}.users-status-inactive{color:var(--danger)}.users-assigned{padding:.25rem .5rem;color:#2e7d32;background:#e8f5e9}.users-assigned b{display:none}.users-assigned-empty{color:var(--subtle);background:transparent}.users-actions{display:flex;gap:.35rem;white-space:nowrap}.users-actions-cell{white-space:nowrap}a{color:var(--brand)}a:hover{color:var(--brand-hover)}h1,h2,h3,h4{color:var(--ink);line-height:1.2;letter-spacing:-.02em}h1,h2,h3,h4,p{margin-top:0}h1{font-size:clamp(1.75rem,3vw,2.25rem)}h2{font-size:clamp(1.5rem,2.5vw,1.875rem)}h3{font-size:1.125rem}p{color:var(--muted)}code{padding:.12rem .35rem;border-radius:5px;background:#edf1ee;font-family:SFMono-Regular,Consolas,monospace;font-size:.9em}.container{width:min(1180px,100%);margin:0 auto;padding:0 28px}.app-main{padding-top:32px;padding-bottom:56px}.app-header{position:sticky;top:0;z-index:100;margin-top:calc(-1*env(safe-area-inset-top));padding-top:env(safe-area-inset-top);background:#fffffff0;border-bottom:1px solid var(--line);box-shadow:0 1px #17211b05;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.app-header-inner{width:min(1240px,100%);min-height:68px;margin:0 auto;padding:0 28px;display:flex;align-items:center;gap:22px}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;flex:0 0 auto}.brand:hover{color:var(--ink)}.brand-mark{display:block;width:32px;height:32px;border-radius:9px;object-fit:cover;box-shadow:0 2px 5px #053f2d38}.brand-name{font-size:16px;font-weight:700;letter-spacing:-.02em}.primary-nav{margin-left:auto;display:flex;align-items:center;gap:3px}.nav-link,.nav-sign-out{display:inline-flex;align-items:center;min-height:38px;padding:0 10px;border:0;border-radius:7px;color:#536158;background:transparent;text-decoration:none;font-size:13px;font-weight:600;gap:7px;white-space:nowrap;cursor:pointer}.nav-link:hover,.nav-sign-out:hover{color:var(--ink);background:#f0f3f1}.nav-link-active{color:var(--brand);background:var(--brand-soft)}.nav-sign-out{margin-left:7px;padding-left:13px;border-left:1px solid var(--line);border-radius:0 7px 7px 0}.organization-picker{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;font-weight:600}.organization-picker select{min-width:140px;height:34px;padding:0 30px 0 10px;border-radius:7px;font-size:13px}.mobile-org-picker,.menu-toggle,.nav-scrim{display:none}.card{margin-bottom:22px;padding:24px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-sm)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:8px 16px;border:1px solid transparent;border-radius:8px;cursor:pointer;font-size:14px;font-weight:650;line-height:1.2;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease}.btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #17211b1a}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary,.btn-success{color:#fff;background:var(--brand);border-color:var(--brand)}.btn-primary:hover:not(:disabled),.btn-success:hover:not(:disabled){background:var(--brand-hover);border-color:var(--brand-hover)}.btn-secondary{color:#36423a;background:#fff;border-color:var(--line-strong)}.btn-secondary:hover:not(:disabled){background:var(--surface-soft)}.btn-danger{color:var(--danger);background:#fff;border-color:#efb4ae}.btn-danger:hover:not(:disabled){background:var(--danger-soft)}.btn-sm{min-height:32px;padding:5px 11px;font-size:12px}.form-group{margin-bottom:18px}.form-group label{display:block;margin-bottom:7px;color:#354139;font-size:13px;font-weight:650}.form-group input,.form-group select,.form-group textarea,input,select,textarea{width:100%;min-height:42px;padding:9px 12px;color:var(--ink);background:#fff;border:1px solid var(--line-strong);border-radius:8px;outline:none;font-size:14px;transition:border-color .15s ease,box-shadow .15s ease}textarea{min-height:90px;resize:vertical}input::placeholder,textarea::placeholder{color:#97a299}input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px #176b4b1f}input[type=checkbox],input[type=radio]{width:17px;min-height:17px;accent-color:var(--brand)}.table{width:100%;border-collapse:separate;border-spacing:0;font-size:14px}.table th,.table td{padding:14px 13px;text-align:left;border-bottom:1px solid var(--line)}.table th{color:var(--muted);background:var(--surface-soft);font-size:11px;font-weight:750;letter-spacing:.055em;text-transform:uppercase}.table th:first-child{border-radius:8px 0 0 8px}.table th:last-child{border-radius:0 8px 8px 0}.table tbody tr{transition:background-color .12s ease}.table tbody tr:hover{background:#fafcfb}.table tbody tr:last-child td{border-bottom:0}.badge{display:inline-flex;align-items:center;padding:4px 9px;border-radius:999px;font-size:11px;font-weight:700}.badge-started{color:#175cd3;background:#eff8ff}.badge-in-progress{color:var(--warning);background:var(--warning-soft)}.badge-completed{color:#067647;background:#ecfdf3}.badge-abandoned{color:var(--danger);background:var(--danger-soft)}.loading-state,.empty-state{min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:44px 24px;text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:12px}.loading-state{gap:13px;color:var(--muted);font-size:14px}.loading-spinner{width:24px;height:24px;border:2px solid var(--line);border-top-color:var(--brand);border-radius:50%;animation:spin .8s linear infinite}.empty-state h3{margin:10px 0 7px}.empty-state p{max-width:520px;margin-bottom:0}.empty-state-label{color:var(--brand);font-size:11px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.error-state{border-color:#f1c3be;background:snow}.error-state h3{color:var(--danger)}.detail-label{display:inline-block;min-width:66px;margin-right:8px;color:var(--subtle);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.metadata-tag{display:inline-flex;padding:2px 7px;border:1px solid var(--line);border-radius:999px;color:var(--muted);background:var(--surface-soft);font-size:10px;font-weight:650}.metadata-tag .icon{margin-right:4px}.family-status-yes{color:#16704c;border-color:#b8d9c7;background:#edf8f2}.family-status-no{color:#59665e;background:#f5f7f5}.family-status-unknown{color:#7a6a45;border-style:dashed;background:#fbf8f0}.contact-info-panel{margin-top:14px;padding:16px;border:1px solid var(--line);border-radius:11px;background:#f8faf8}.contact-info-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;color:#435048;font-size:12px;font-weight:750;letter-spacing:.055em;text-transform:uppercase}.contact-edit-button{display:inline-flex;align-items:center;gap:5px;min-height:32px;padding:5px 9px;border:1px solid var(--line);border-radius:7px;color:var(--muted);background:#fff;font-size:12px;font-weight:650;text-transform:none;letter-spacing:0;cursor:pointer}.contact-edit-button:hover{color:var(--brand);border-color:#b8d9c7;background:var(--brand-soft)}.contact-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.contact-fact{min-width:0;display:flex;align-items:center;gap:10px;padding:11px;border:1px solid var(--line);border-radius:9px;background:#fff;box-shadow:0 1px 1px #17211b06}.contact-fact-wide{grid-column:span 2}.contact-fact-full{grid-column:1 / -1}.contact-fact>span:last-child{min-width:0;display:flex;flex-direction:column}.contact-fact small{margin-bottom:2px;color:var(--subtle);font-size:9px;font-weight:750;letter-spacing:.07em;line-height:1.2;text-transform:uppercase}.contact-fact strong,.contact-fact a{overflow:hidden;color:#354139;font-size:13px;font-weight:650;line-height:1.35;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.contact-fact a:hover{color:var(--brand);text-decoration:underline}.contact-fact .unknown-value{color:#8b958e;font-weight:550}.contact-fact-icon{width:31px;height:31px;display:grid;flex:0 0 auto;place-items:center;border-radius:8px}.tone-teal .contact-fact-icon{color:#087f8c;background:#e7f7f8}.tone-green .contact-fact-icon{color:#16704c;background:#e9f6ef}.tone-amber .contact-fact-icon{color:#a25b09;background:#fff3df}.tone-slate .contact-fact-icon{color:#5d687e;background:#eef1f5}.tone-rose .contact-fact-icon{color:#a74658;background:#faedf0}.tone-blue .contact-fact-icon{color:#28679d;background:#eaf3fa}.source-disclosure{margin-top:10px;border:1px solid var(--line);border-radius:9px;background:#fff;overflow:hidden}.source-disclosure summary{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 11px;color:#46534b;cursor:pointer;list-style:none}.source-disclosure summary::-webkit-details-marker{display:none}.source-disclosure summary>span:first-child{min-width:0;display:flex;align-items:center;gap:7px}.source-disclosure summary small{color:var(--subtle);font-size:9px;font-weight:750;letter-spacing:.07em;text-transform:uppercase}.source-disclosure summary strong{overflow:hidden;font-size:12px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.source-disclosure-hint{flex:0 0 auto;color:var(--brand);font-size:11px;font-weight:650}.source-disclosure-hint:after{display:inline-block;margin-left:6px;content:"›";font-size:17px;line-height:0;transform:rotate(90deg);transition:transform .15s ease}.source-disclosure[open] .source-disclosure-hint:after{transform:rotate(-90deg)}.source-disclosure-content{padding:11px 13px 13px;border-top:1px solid var(--line);color:#56635b;background:#fafcfb;font-size:13px;line-height:1.5;white-space:pre-wrap}.source-disclosure-table{margin:0 0 14px}.review-notes-callout{margin-top:12px;overflow:hidden;border:2px solid #e2a420;border-radius:11px;background:#fffaf0;box-shadow:0 3px 10px #a25b0924}.review-notes-callout-table{margin:0 0 16px}.review-notes-heading{display:flex;align-items:center;gap:10px;padding:11px 13px;color:#704206;background:#ffedbd;border-bottom:1px solid #e8c66f}.review-notes-heading>span:last-child{display:flex;flex-direction:column}.review-notes-heading small{margin-bottom:1px;color:#955d0b;font-size:9px;font-weight:850;letter-spacing:.1em;line-height:1.2;text-transform:uppercase}.review-notes-heading strong{font-size:14px;line-height:1.3}.review-notes-icon{width:34px;height:34px;display:grid;flex:0 0 auto;place-items:center;border-radius:9px;color:#fff;background:#b66d08}.review-notes-body{padding:14px 15px;color:#453416;font-size:14px;font-weight:600;line-height:1.55;white-space:pre-wrap}.review-notes-source{display:flex;align-items:center;gap:5px;padding:8px 14px;color:#7c6745;background:#ffedbd6b;border-top:1px solid #f0d99d;font-size:11px;font-weight:650}.review-notes-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-right:10px;background:#ffedbd6b;border-top:1px solid #f0d99d}.review-notes-footer .review-notes-source{flex:1;border:0;background:transparent}.review-notes-acknowledge-button,.review-notes-secondary-button{min-height:34px;padding:6px 11px;border-radius:7px;font-size:12px;font-weight:750;cursor:pointer}.review-notes-acknowledge-button{color:#fff;border:1px solid #8e5305;background:#a96307}.review-notes-acknowledge-button:hover{background:#8e5305}.review-notes-secondary-button{color:#5b665f;border:1px solid #cbd2cd;background:#fff}.review-notes-callout.is-reviewed{border-color:#cbd2cd;background:#fff;box-shadow:none}.review-notes-callout.is-reviewed .review-notes-heading{color:#46534b;border-color:#dce1dd;background:#f3f6f4}.review-notes-callout.is-reviewed .review-notes-heading small{color:#748078}.review-notes-callout.is-reviewed .review-notes-icon{color:#56635b;background:#e1e6e2}.review-notes-callout.is-reviewed .review-notes-footer{border-color:#e1e5e2;background:#f8faf8}.review-notes-collapsed{width:100%;min-height:44px;margin-top:10px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px;color:#46534b;border:1px solid #cbd2cd;border-radius:9px;background:#f8faf8;cursor:pointer}.review-notes-collapsed>span:first-child{display:flex;align-items:center;gap:7px}.review-notes-collapsed small{padding:2px 6px;color:#567160;border-radius:999px;background:#e6efe9;font-size:9px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.review-notes-collapsed>span:last-child{color:var(--brand);font-size:11px;font-weight:700}.review-notes-collapsed:hover{border-color:#aebbb2;background:#f1f5f2}.source-only-row{min-height:42px;margin-top:10px;display:flex;align-items:center;gap:7px;padding:8px 11px;color:#46534b;border:1px solid var(--line);border-radius:9px;background:#fff}.source-only-row-table{margin:0 0 14px}.source-only-row small{color:var(--subtle);font-size:9px;font-weight:750;letter-spacing:.07em;text-transform:uppercase}.source-only-row strong{font-size:12px;font-weight:650}@keyframes spin{to{transform:rotate(360deg)}}.auth-page{min-height:100vh;display:grid;place-items:center;padding:32px 20px}.auth-card{width:min(420px,100%);padding:34px}.auth-brand{display:flex;align-items:center;justify-content:center;gap:11px;margin-bottom:28px}.auth-brand .brand-mark{width:42px;height:42px;border-radius:11px}.auth-brand strong{font-size:20px;letter-spacing:-.025em}.auth-card h1{margin-bottom:8px;text-align:center;font-size:1.55rem}.auth-card>p{margin-bottom:26px;text-align:center;font-size:14px}.alert{margin-bottom:18px;padding:11px 13px;border:1px solid;border-radius:8px;font-size:13px}.alert-error{color:var(--danger);background:var(--danger-soft);border-color:#f2c3bf}@media (max-width: 1040px){.desktop-org-picker{display:none}.app-header-inner{gap:14px}.nav-link,.nav-sign-out{padding-right:8px;padding-left:8px;font-size:12px}}@media (max-width: 1100px){.desktop-org-picker{display:none}.app-header{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none}.container{padding-right:18px;padding-left:18px}.app-main{padding-top:24px}.app-header-inner{min-height:60px;padding:0 18px}.menu-toggle{position:relative;z-index:103;display:block;margin-left:auto;width:40px;height:40px;padding:10px;border:0;border-radius:8px;background:transparent;cursor:pointer}.menu-toggle:hover{background:#f0f3f1}.menu-toggle span{display:block;width:20px;height:2px;margin:4px 0;border-radius:2px;background:var(--ink);transition:.18s ease}.menu-toggle.is-open span:nth-child(1){transform:translateY(6px) rotate(45deg)}.menu-toggle.is-open span:nth-child(2){opacity:0}.menu-toggle.is-open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.primary-nav{position:fixed;z-index:102;top:0;right:0;bottom:0;width:min(320px,88vw);padding:calc(82px + env(safe-area-inset-top)) 20px 24px;display:flex;flex-direction:column;align-items:stretch;gap:4px;overflow-y:auto;visibility:hidden;pointer-events:none;background:#fff;box-shadow:-18px 0 45px #17211b29;transform:translate(105%);transition:transform .2s ease,visibility 0s linear .2s}.primary-nav.is-open{visibility:visible;pointer-events:auto;transform:translate(0);transition-delay:0s}.nav-link,.nav-sign-out{justify-content:flex-start;min-height:44px;padding:0 13px;border-radius:8px;font-size:14px}.nav-sign-out{margin:12px 0 0;padding-top:4px;border:0;border-top:1px solid var(--line);border-radius:0;color:var(--muted)}.mobile-org-picker{display:block;margin-bottom:14px;padding-bottom:18px;border-bottom:1px solid var(--line)}.mobile-org-picker .organization-picker{display:block}.mobile-org-picker .organization-picker span{display:block;margin-bottom:7px}.nav-scrim{position:fixed;z-index:99;top:0;right:0;bottom:0;left:0;display:block;border:0;background:#0f171257;backdrop-filter:none;-webkit-backdrop-filter:none}.card{padding:18px;border-radius:10px}.contact-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-fact-wide{grid-column:span 1}.table{min-width:680px}.card:has(>.table){overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 520px){.brand-name{font-size:15px}.auth-card{padding:26px 20px}.container{padding-right:9px;padding-left:9px}.app-main{padding-top:14px;padding-bottom:32px}.dashboard-page{padding:0!important}.assignment-card{margin-bottom:12px!important;border-radius:10px!important;box-shadow:var(--shadow-sm)!important}.assignment-card-header{padding:13px 11px!important}.assignment-card-header>div:first-child{gap:8px!important}.assignment-card-header>div:first-child>div:first-child{min-width:150px!important}.contact-info-panel{margin-top:10px;padding:10px}.contact-info-heading{margin-bottom:8px}.contact-facts{grid-template-columns:1fr}.contact-fact-full{grid-column:auto}.contact-fact{padding:9px}.assignment-journeys{padding:12px 10px!important}.source-disclosure summary{padding-right:9px;padding-left:9px}.source-disclosure summary small{display:none}.source-disclosure-hint{font-size:10px}.review-notes-heading{padding:10px 11px}.review-notes-body{padding:12px;font-size:13px}.review-notes-footer{align-items:stretch;flex-direction:column;padding:0 10px 10px}.review-notes-footer .review-notes-source{padding-right:4px;padding-left:4px}.table th,.table td{padding:11px 9px;font-size:12px;white-space:nowrap}}@media (max-width: 700px){.users-add-button{width:40px;padding:0}.users-add-button span{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.users-filters{padding:12px}.users-filter-grid{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px}.users-search{min-width:0}.users-search input,.users-filter-select select{min-width:0;width:100%}.users-list-card{padding:0;overflow:hidden}.users-table-wrap{overflow:visible}.users-table,.users-table tbody{display:block}.users-table thead{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.users-table tr{display:grid;grid-template-columns:auto auto auto minmax(0,1fr);align-items:center;column-gap:8px;padding:12px;border-bottom:1px solid var(--line)}.users-table tbody tr:last-child{border-bottom:0}.users-table td{display:block;padding:0;border:0}.users-user-cell{grid-column:1 / -1;min-width:0;margin-bottom:9px;white-space:normal}.users-user-cell strong,.users-secondary-text{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.users-meta-cell{width:max-content}.users-meta{min-height:28px;padding:.25rem .45rem}.users-meta>span{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.users-assigned b{display:inline;font-size:.75rem}.users-assigned-empty{padding-right:.25rem;padding-left:.25rem}.users-actions-cell{grid-column:1 / -1;margin-top:10px}.users-actions{flex-wrap:wrap;white-space:normal}.users-actions button,.users-actions-cell>button{width:2.5rem!important;height:2.5rem!important}.users-list-card>p{padding:12px}}@media (max-width: 420px){.users-filter-grid{grid-template-columns:1fr 1fr}.users-search{grid-column:1 / -1}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
