:root{color-scheme:dark;font-family:Inter,Roboto,Segoe UI,system-ui,-apple-system,sans-serif;color:#e8e3eb;background:#131316;font-synthesis:none;text-rendering:optimizeLegibility;--surface: #131316;--surface-low: #1f1f25;--surface-raised: #292932;--surface-high: #353438;--on-surface: #e8e3eb;--on-surface-variant: #c9c3d0;--outline: #45434d;--primary: #c8c2ff;--on-primary: #2a2c57;--error: #f26350;--success: #6fd3a9;--warning: #f2c66d;--info: #8dc8ff}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{min-height:100vh;background:var(--surface)}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 72%,transparent);outline-offset:3px}.brand{display:inline-flex;align-items:center;gap:12px;min-width:0}.brand img{display:block;width:76px;height:47px;object-fit:contain}.brand-divider{width:1px;height:30px;background:var(--outline)}.brand strong{color:var(--on-surface);font-size:1rem;font-weight:600;letter-spacing:.01em}.signin-screen,.centered-shell{display:grid;min-height:100vh;place-items:center;padding:24px;background:var(--surface)}.signin-card,.message-card{width:min(100%,380px);padding:32px;border:1px solid var(--outline);border-radius:12px;background:var(--surface-low);box-shadow:0 12px 32px #0000003d}.signin-card .brand,.message-card .brand{display:flex;justify-content:center}.primary-button,.secondary-button,.signout-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;border-radius:12px;font-weight:600;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.primary-button{width:100%;margin-top:32px;padding:0 18px;border:0;color:var(--on-primary);background:var(--primary)}.primary-button:hover:not(:disabled){background:#d8d4ff}.primary-button:disabled{cursor:wait;opacity:.62}.primary-button svg,.signout-button svg,.nav-item svg{width:20px;height:20px;flex:0 0 auto;fill:currentColor}.loading-row{display:grid;min-height:76px;place-items:end center}.loader{width:26px;height:26px;border:3px solid var(--outline);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.message-card h1{margin:32px 0 0;color:var(--on-surface);font-size:1.5rem;font-weight:500;line-height:1.25;text-align:center}.message-card p{margin:12px 0 0;color:var(--on-surface-variant);line-height:1.5;overflow-wrap:anywhere;text-align:center}.secondary-button{width:100%;margin-top:24px;padding:0 18px;border:1px solid var(--outline);color:var(--on-surface);background:transparent}.secondary-button:hover{border-color:var(--primary);background:var(--surface-raised)}.app-shell{display:grid;grid-template-columns:104px minmax(0,1fr);grid-template-rows:68px minmax(0,1fr);min-height:100vh;background:var(--surface)}.topbar{z-index:2;display:flex;grid-column:1 / -1;align-items:center;justify-content:space-between;min-width:0;gap:24px;padding:0 18px;border-bottom:1px solid var(--outline);background:var(--surface-low)}.session-actions{display:flex;align-items:center;gap:12px;min-width:0}.session-name{max-width:240px;overflow:hidden;color:var(--on-surface-variant);font-size:.875rem;text-overflow:ellipsis;white-space:nowrap}.signout-button{min-height:40px;padding:0 12px;border:0;color:var(--on-surface-variant);background:transparent}.signout-button:hover{color:var(--on-surface);background:var(--surface-raised)}.product-nav{display:flex;grid-column:1;grid-row:2;flex-direction:column;align-items:center;gap:6px;padding:14px 8px;border-right:1px solid var(--outline);background:var(--surface-low)}.nav-item{display:flex;width:88px;min-height:60px;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:0;border-radius:12px;color:var(--on-surface-variant);font-size:.72rem;text-decoration:none;background:transparent;cursor:pointer}.nav-item:hover{color:var(--on-surface);background:var(--surface-raised)}.nav-item.active{color:var(--primary);background:#312d58}.workspace{grid-column:2;grid-row:2;min-width:0;padding:clamp(20px,3vw,40px);background:var(--surface)}.workspace h1{margin:0;color:var(--on-surface);font-size:clamp(1.75rem,3vw,2.25rem);font-weight:500;letter-spacing:-.02em}@media(max-width:680px){.app-shell{grid-template-columns:minmax(0,1fr);grid-template-rows:64px minmax(0,1fr) 68px}.topbar{grid-column:1;padding:0 10px 0 12px}.topbar .brand img{width:62px;height:39px}.session-name,.signout-button span{display:none}.product-nav{z-index:2;display:grid;grid-column:1;grid-row:3;grid-auto-flow:column;justify-content:center;padding:4px 8px;border-top:1px solid var(--outline);border-right:0}.workspace{grid-column:1;grid-row:2}}@media(max-width:420px){.signin-screen,.centered-shell{padding:16px}.signin-card,.message-card{padding:24px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.global-search-wrap{position:relative;width:min(44vw,560px)}.global-search{display:flex;align-items:center;gap:10px;height:42px;padding:0 14px;border:1px solid var(--outline);border-radius:12px;background:var(--surface)}.global-search:focus-within{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 20%,transparent)}.global-search svg,.filter-search svg{width:19px;height:19px;flex:0 0 auto;fill:var(--on-surface-variant)}.global-search input,.filter-search input{width:100%;min-width:0;border:0;outline:0;color:var(--on-surface);background:transparent;font:inherit}.global-search input::placeholder,.filter-search input::placeholder{color:#96909d}.mini-loader{width:16px;height:16px;flex:0 0 auto;border:2px solid var(--outline);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.search-results{position:absolute;z-index:20;top:calc(100% + 8px);right:0;left:0;max-height:min(70vh,540px);padding:10px;overflow-y:auto;border:1px solid var(--outline);border-radius:12px;background:var(--surface-low);box-shadow:0 18px 42px #0006}.search-results section+section{margin-top:10px;padding-top:10px;border-top:1px solid var(--outline)}.search-results h2{margin:4px 10px 6px;color:var(--on-surface-variant);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.search-results button{display:flex;width:100%;align-items:center;justify-content:space-between;gap:16px;padding:10px;border:0;border-radius:8px;color:var(--on-surface);text-align:left;background:transparent;cursor:pointer}.search-results button:hover{background:var(--surface-raised)}.search-results small,.empty-search{color:var(--on-surface-variant)}.empty-search{margin:14px}.screen-stack{display:flex;max-width:1440px;min-height:100%;flex-direction:column;gap:20px;margin:0 auto}.screen-header{display:flex;min-height:48px;align-items:flex-end;justify-content:space-between;gap:24px}.screen-header h1{margin:0;color:var(--on-surface);font-size:clamp(1.75rem,3vw,2.35rem);font-weight:500;letter-spacing:-.025em}.screen-actions{display:flex;flex-wrap:wrap;gap:8px}.primary-compact,.secondary-compact,.back-button,.icon-button{min-height:40px;border-radius:10px;font:inherit;font-weight:600;cursor:pointer}.primary-compact{padding:0 16px;border:0;color:var(--on-primary);background:var(--primary)}.primary-compact:hover:not(:disabled){background:#d8d4ff}.primary-compact:disabled{cursor:wait;opacity:.62}.secondary-compact{padding:0 14px;border:1px solid var(--outline);color:var(--on-surface);background:var(--surface-low)}.secondary-compact:hover,.back-button:hover,.icon-button:hover{border-color:var(--primary);background:var(--surface-raised)}.back-button{display:inline-flex;min-height:32px;align-items:center;gap:6px;margin:0 0 6px -6px;padding:0 8px;border:0;color:var(--on-surface-variant);background:transparent}.back-button svg,.icon-button svg{width:19px;height:19px;fill:currentColor}.filter-bar{display:flex;min-height:48px;align-items:center;gap:18px;padding:8px 12px;border:1px solid var(--outline);border-radius:12px;color:var(--on-surface-variant);background:var(--surface-low);font-size:.9rem}.filter-bar>label:not(.filter-search),.check-field{display:inline-flex;align-items:center;gap:8px;cursor:pointer}.filter-bar input[type=checkbox],.check-field input,.task-table input{width:18px;height:18px;accent-color:var(--primary)}.filter-search{display:flex;width:min(100%,440px);height:36px;align-items:center;gap:8px;padding:0 10px;border:1px solid var(--outline);border-radius:9px;background:var(--surface)}.panel{min-width:0;border:1px solid var(--outline);border-radius:14px;background:var(--surface-low);box-shadow:0 8px 26px #0000001a}.panel-heading{display:flex;min-height:54px;align-items:center;justify-content:space-between;gap:16px;padding:0 18px;border-bottom:1px solid var(--outline)}.panel-heading h2,.needs-card h2{margin:0;color:var(--on-surface);font-size:1rem;font-weight:600}.panel-heading button{min-height:34px;padding:0 8px;border:0;border-radius:8px;color:var(--primary);background:transparent;cursor:pointer}.panel-heading button:hover{background:var(--surface-raised)}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:14px}.metric{display:flex;min-height:118px;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;padding:18px 22px;border:1px solid var(--outline);border-radius:14px;color:var(--on-surface);text-align:left;background:var(--surface-low);cursor:pointer}.metric:hover{border-color:var(--primary);background:var(--surface-raised)}.metric strong{font-size:2rem;font-weight:500;line-height:1}.metric span{color:var(--on-surface-variant)}.metric.attention strong{color:var(--warning)}.home-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.activity-panel{grid-column:1 / -1}.compact-list{display:flex;flex-direction:column}.compact-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-height:58px;padding:9px 18px;border-bottom:1px solid color-mix(in srgb,var(--outline) 72%,transparent)}.compact-row:last-child{border-bottom:0}.compact-row>span:nth-child(2){display:flex;min-width:0;flex-direction:column;gap:3px}.compact-row strong{overflow:hidden;color:var(--on-surface);font-size:.92rem;font-weight:550;text-overflow:ellipsis;white-space:nowrap}.compact-row small,.compact-row time,.compact-row>span:last-child{overflow:hidden;color:var(--on-surface-variant);font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.task-mark{width:13px;height:13px;border:2px solid var(--info);border-radius:50%}.task-mark.done{border-color:var(--success);background:var(--success)}.list-icon{display:grid;width:30px;height:30px;place-items:center;border-radius:8px;color:var(--primary);background:#312d58}.list-icon svg{width:17px;height:17px;fill:currentColor}.empty-state{margin:0;padding:28px 18px;color:var(--on-surface-variant);text-align:center}.screen-state{display:grid;min-height:280px;place-items:center;color:var(--on-surface-variant)}.error-state{color:var(--error)}.table-panel{overflow:hidden}.data-table{min-width:720px}.table-header,.table-row{display:grid;align-items:center;gap:16px;min-height:58px;padding:8px 18px;border-bottom:1px solid var(--outline)}.people-table .table-header,.people-table .table-row{grid-template-columns:minmax(180px,1.2fr) minmax(180px,1fr) minmax(160px,1fr) minmax(145px,.8fr)}.task-table .table-header,.task-table .table-row{grid-template-columns:48px minmax(220px,1.5fr) minmax(120px,.7fr) minmax(130px,.8fr) minmax(110px,.65fr) minmax(130px,.7fr)}.row-actions{display:flex;flex-wrap:wrap;gap:5px}.row-actions button,.timeline-actions button{min-height:30px;padding:0 7px;border:0;border-radius:7px;color:var(--primary);background:transparent;cursor:pointer}.row-actions button:hover,.timeline-actions button:hover{background:var(--surface-raised)}.table-header{min-height:44px;color:var(--on-surface-variant);font-size:.75rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;background:color-mix(in srgb,var(--surface-raised) 44%,var(--surface-low))}button.table-row{width:100%;border-top:0;border-right:0;border-left:0;color:var(--on-surface);text-align:left;background:transparent;cursor:pointer}.table-row:last-child{border-bottom:0}button.table-row:hover{background:var(--surface-raised)}.table-row>span{min-width:0;overflow-wrap:anywhere}.table-row>span>strong,.table-row>span>small{display:block}.table-row small{margin-top:4px;overflow:hidden;color:var(--on-surface-variant);font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.muted{opacity:.65}.organization-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}.organization-card{display:grid;min-height:126px;grid-template-columns:auto minmax(0,1fr);grid-template-rows:1fr auto;gap:10px 14px;padding:18px;border:1px solid var(--outline);border-radius:14px;color:var(--on-surface);text-align:left;background:var(--surface-low);cursor:pointer}.organization-card:hover{border-color:var(--primary);background:var(--surface-raised)}.initials,.avatar{display:grid;width:46px;height:46px;place-items:center;border-radius:13px;color:var(--on-primary);background:var(--primary);font-weight:750}.organization-card>span:last-child{grid-column:2;color:var(--on-surface-variant)}.organization-main{display:flex;min-width:0;flex-direction:column;gap:6px}.organization-main strong{overflow:hidden;font-size:1.03rem;text-overflow:ellipsis;white-space:nowrap}.organization-main small{color:var(--on-surface-variant);text-transform:capitalize}.tag-list{display:inline-flex;flex-wrap:wrap;gap:5px}.tag{display:inline-flex;min-height:24px;align-items:center;padding:2px 8px;border:1px solid var(--outline);border-radius:999px;color:var(--on-surface-variant);font-size:.72rem;background:var(--surface-raised)}.status-badge{display:inline-flex;min-height:26px;align-items:center;gap:7px;padding:3px 9px;border:1px solid var(--outline);border-radius:999px;color:var(--on-surface-variant);font-size:.73rem;font-weight:650;white-space:nowrap}.status-badge>span{width:7px;height:7px;border-radius:50%;background:var(--on-surface-variant)}.status-badge.success>span{background:var(--success)}.status-badge.danger>span{background:var(--error)}.status-badge.info>span{background:var(--info)}.status-badge.success{border-color:color-mix(in srgb,var(--success) 42%,var(--outline))}.status-badge.danger{border-color:color-mix(in srgb,var(--error) 55%,var(--outline))}.status-badge.info{border-color:color-mix(in srgb,var(--info) 45%,var(--outline))}.overdue-text{color:var(--error)!important}.detail-grid{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);align-items:start;gap:18px}.detail-aside,.detail-main{display:flex;min-width:0;flex-direction:column;gap:18px}.summary-card,.needs-card{padding:18px}.summary-card .avatar{width:56px;height:56px;margin-bottom:18px;border-radius:16px;font-size:1.15rem}.summary-card .organization-avatar{color:var(--primary);background:#312d58}.info-row{padding:10px 0;border-bottom:1px solid color-mix(in srgb,var(--outline) 70%,transparent)}.info-row:last-of-type{border-bottom:0}.info-row>span{display:block;margin-bottom:4px;color:var(--on-surface-variant);font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.info-row>div{color:var(--on-surface);line-height:1.45;overflow-wrap:anywhere}.info-row a{color:var(--primary)}.needs-card{border-color:color-mix(in srgb,var(--info) 46%,var(--outline));background:color-mix(in srgb,#18344a 38%,var(--surface-low))}.needs-card p{margin:10px 0 0;color:var(--on-surface);line-height:1.55;white-space:pre-wrap}.relationship-list{display:flex;flex-direction:column}.relationship-row{display:flex;width:100%;min-height:58px;align-items:center;border-bottom:1px solid var(--outline)}.relationship-row:last-child{border-bottom:0}.relationship-list .relationship-open{display:flex;min-width:0;flex:1;align-items:center;justify-content:space-between;gap:12px;align-self:stretch;padding:9px 12px 9px 18px;border:0;color:var(--on-surface);text-align:left;background:transparent;cursor:pointer}.relationship-list .relationship-open:hover,.relationship-list .relationship-action:hover{background:var(--surface-raised)}.relationship-list .relationship-open>span:first-child{display:flex;min-width:0;flex-direction:column;gap:3px}.relationship-list .relationship-action{min-height:34px;margin-right:10px;padding:0 7px;border:0;border-radius:7px;color:var(--primary);background:transparent;cursor:pointer}.relationship-list small{color:var(--on-surface-variant)}.quick-actions{display:grid;grid-template-columns:repeat(3,1fr);overflow:hidden}.quick-actions button{display:flex;min-height:62px;align-items:center;justify-content:center;gap:9px;border:0;border-right:1px solid var(--outline);color:var(--on-surface);background:transparent;cursor:pointer}.quick-actions button:last-child{border-right:0}.quick-actions button:hover{color:var(--primary);background:var(--surface-raised)}.quick-actions svg{width:20px;height:20px;fill:currentColor}.timeline{margin:0;padding:12px 18px 18px;list-style:none}.timeline li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;padding:12px 0}.timeline-icon{display:grid;width:34px;height:34px;place-items:center;border-radius:10px;color:var(--primary);background:#312d58}.timeline-icon svg{width:18px;height:18px;fill:currentColor}.timeline-heading{display:flex;align-items:baseline;justify-content:space-between;gap:18px}.timeline-heading strong{color:var(--on-surface);font-size:.92rem}.timeline-heading time,.timeline li small{color:var(--on-surface-variant);font-size:.76rem}.timeline li p{margin:7px 0 5px;color:var(--on-surface-variant);line-height:1.52;white-space:pre-wrap}.timeline-footer{display:flex;min-height:30px;align-items:center;justify-content:space-between;gap:12px}.timeline-actions{display:inline-flex;gap:2px}.archive-banner{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid var(--outline);border-radius:10px;color:var(--on-surface-variant);background:var(--surface-low)}.modal-backdrop{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:24px;background:#000000a3}.modal{width:min(100%,720px);max-height:calc(100vh - 48px);overflow-y:auto;border:1px solid var(--outline);border-radius:16px;color:var(--on-surface);background:var(--surface-low);box-shadow:0 28px 70px #0000007a}.modal>header{position:sticky;z-index:1;top:0;display:flex;min-height:62px;align-items:center;justify-content:space-between;gap:16px;padding:0 20px;border-bottom:1px solid var(--outline);background:var(--surface-low)}.modal h2{margin:0;font-size:1.15rem;font-weight:600}.icon-button{display:grid;width:40px;place-items:center;padding:0;border:0;color:var(--on-surface-variant);background:transparent}.record-form{padding:20px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field{display:flex;min-width:0;flex-direction:column;gap:7px}.field.wide,.check-field.wide{grid-column:1 / -1}.field>span{color:var(--on-surface-variant);font-size:.8rem;font-weight:650}.field input,.field textarea,.field select,.record-form select{width:100%;min-height:42px;padding:9px 11px;border:1px solid var(--outline);border-radius:9px;outline:0;color:var(--on-surface);background:var(--surface);font:inherit}.field textarea{min-height:92px;resize:vertical;line-height:1.5}.field input:focus,.field textarea:focus,.field select:focus,.record-form select:focus{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 18%,transparent)}.field small{color:var(--on-surface-variant);font-size:.72rem}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px;padding-top:18px;border-top:1px solid var(--outline)}.form-error{margin:16px 0 0;color:var(--error)}.toast{position:fixed;z-index:120;right:24px;bottom:24px;max-width:min(420px,calc(100vw - 48px));padding:12px 16px;border:1px solid color-mix(in srgb,var(--success) 48%,var(--outline));border-radius:10px;color:var(--on-surface);background:color-mix(in srgb,#173c31 58%,var(--surface-low));box-shadow:0 14px 34px #00000059}@media(max-width:980px){.metric-grid{grid-template-columns:repeat(2,minmax(140px,1fr))}.detail-grid{grid-template-columns:minmax(0,1fr)}.detail-aside{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.summary-card{grid-row:span 2}}@media(max-width:760px){.global-search-wrap{width:auto;flex:1}.global-search input::placeholder{color:transparent}.home-grid{grid-template-columns:minmax(0,1fr)}.activity-panel{grid-column:auto}.table-panel{overflow-x:auto}}@media(max-width:680px){.topbar{gap:8px}.topbar .brand strong,.topbar .brand-divider{display:none}.product-nav{grid-template-columns:repeat(4,minmax(0,76px));grid-auto-flow:initial}.nav-item{width:100%;min-width:0;min-height:58px}.nav-item span{max-width:100%;overflow:hidden;text-overflow:ellipsis}.workspace{padding:18px 14px}.screen-header{align-items:flex-start}.filter-bar{align-items:stretch;flex-direction:column}.filter-search{width:100%}.detail-aside{display:flex}.quick-actions{grid-template-columns:minmax(0,1fr)}.quick-actions button{border-right:0;border-bottom:1px solid var(--outline)}.quick-actions button:last-child{border-bottom:0}.modal-backdrop{align-items:end;padding:0}.modal{width:100%;max-height:92vh;border-right:0;border-bottom:0;border-left:0;border-radius:16px 16px 0 0}.form-grid{grid-template-columns:minmax(0,1fr)}.field.wide,.check-field.wide{grid-column:auto}}@media(max-width:480px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.metric{min-height:94px;padding:14px}.organization-grid{grid-template-columns:minmax(0,1fr)}}
