:root{color:#17201d;background:#f1f1e9;font-family:Inter,Helvetica Neue,Helvetica,Arial,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #101815;--forest: #071a14;--forest-soft: #0d2b21;--paper: #f5f5ed;--white: #fdfdf8;--line: rgb(24 42 35 / 16%);--muted: #66716c;--signal: #c8ff3d;--signal-dark: #8fc313;--danger: #a53d31}*{box-sizing:border-box}html{background:var(--paper)}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer;min-height:46px;transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}button:active:not(:disabled){transform:translateY(1px)}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.auth-layout{background:var(--paper);display:grid;grid-template-columns:minmax(0,1.45fr) minmax(390px,.55fr);min-height:100vh}.brand-panel{background:var(--forest);color:var(--white);display:flex;flex-direction:column;justify-content:space-between;min-height:100vh;overflow:hidden;padding:clamp(30px,4vw,64px);position:relative}.brand-panel:before{background-image:linear-gradient(rgb(200 255 61 / 10%) 1px,transparent 1px),linear-gradient(90deg,rgb(200 255 61 / 10%) 1px,transparent 1px);background-size:72px 72px;content:"";top:0;right:0;bottom:0;left:0;-webkit-mask-image:linear-gradient(140deg,transparent 8%,black 68%,transparent 100%);mask-image:linear-gradient(140deg,transparent 8%,black 68%,transparent 100%);opacity:.55;pointer-events:none;position:absolute}.brand-panel:after{border:1px solid rgb(200 255 61 / 35%);border-radius:50%;box-shadow:0 0 100px #c8ff3d17,inset 0 0 80px #c8ff3d0d;content:"";height:min(52vw,760px);position:absolute;right:-24%;top:14%;width:min(52vw,760px)}.brand-top,.brand-copy,.trust-strip{position:relative;z-index:1}.brand-top,.welcome-meta{align-items:center;display:flex;justify-content:space-between}.wordmark{font-family:Georgia,Times New Roman,serif;font-size:1.75rem;font-style:italic;letter-spacing:-.05em}.signal{align-items:center;color:#9eada7;display:inline-flex;font-size:.63rem;font-weight:750;gap:8px;letter-spacing:.13em;text-transform:uppercase}.signal i{background:var(--signal);border-radius:50%;box-shadow:0 0 12px #c8ff3dbf;height:6px;width:6px}.brand-copy{margin:clamp(72px,12vh,150px) 0;max-width:930px}.eyebrow{color:#75817c;font-size:.68rem;font-weight:800;letter-spacing:.19em;margin:0 0 24px;text-transform:uppercase}.brand-panel .eyebrow{color:var(--signal)}h1{font-family:Georgia,Times New Roman,serif;font-size:clamp(3.65rem,7.4vw,8rem);font-weight:400;letter-spacing:-.062em;line-height:.88;margin:0;max-width:1040px}.lede{color:var(--muted);font-size:1.08rem;line-height:1.65;max-width:660px}.brand-panel .lede{color:#afbbb6;font-size:clamp(1rem,1.4vw,1.25rem);margin-top:32px;max-width:560px}.trust-strip{border-top:1px solid rgb(255 255 255 / 18%);display:grid;gap:20px;grid-template-columns:repeat(3,1fr);padding-top:22px}.trust-strip span{color:#a6b3ae;font-size:.69rem;letter-spacing:.04em}.trust-strip b{color:var(--signal);font-size:.6rem;margin-right:8px}.auth-card{align-self:center;padding:clamp(34px,5vw,74px)}.auth-card>.eyebrow{color:var(--signal-dark)}.auth-card h2,.card h2{font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,3vw,2.8rem);font-weight:400;letter-spacing:-.045em;line-height:1;margin:30px 0}.mode-switch{border-bottom:1px solid var(--line);display:flex;gap:28px}.mode-switch button{background:transparent;border:0;border-bottom:2px solid transparent;border-radius:0;color:#7c8581;flex:none;font-size:.74rem;font-weight:750;letter-spacing:.08em;margin-bottom:-1px;padding:13px 0;text-transform:uppercase}.mode-switch button.active{border-bottom-color:var(--ink);color:var(--ink)}form,.form-stack{display:grid;gap:20px}.name-fields{display:grid;gap:14px;grid-template-columns:1fr 1fr}.field{display:grid;gap:8px}label,legend{color:#35403b;font-size:.72rem;font-weight:780;letter-spacing:.045em}label span[aria-hidden=true],legend span[aria-hidden=true]{color:var(--danger)}small{color:#717b76;display:block;font-size:.72rem;line-height:1.45}input,select,textarea{background:#fff9;border:1px solid #bfc4be;border-radius:2px;color:var(--ink);min-height:52px;min-width:0;padding:14px 15px;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}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='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m3.5 6 4.5 4 4.5-4' fill='none' stroke='%2335403b' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 15px center;background-repeat:no-repeat;background-size:16px;padding-right:44px}input:hover,select:hover,textarea:hover{border-color:#8f9993}input:focus,select:focus,textarea:focus{background:var(--white);border-color:var(--ink);box-shadow:0 0 0 1px var(--ink);outline:0}textarea{resize:vertical}button{background:transparent;border:1px solid #aeb5b0;border-radius:2px;color:#28332e;padding:11px 16px}button:hover{border-color:var(--ink)}button.primary{background:var(--ink);border-color:var(--ink);color:var(--white);font-size:.74rem;font-weight:800;letter-spacing:.07em;padding:15px 20px;text-transform:uppercase}button.primary:hover{background:var(--forest-soft);border-color:var(--forest-soft);color:var(--signal)}.text-button{border:0;color:#3e5149;min-height:40px;padding-inline:0;text-decoration:underline;text-underline-offset:4px}.form-intro{color:#65716b;line-height:1.6}.form-error{background:#f7e5df;border-left:3px solid var(--danger);color:#812f25;margin:0;padding:12px 14px}.input-action{align-items:stretch;display:flex;position:relative}.input-action input{flex:1;padding-right:68px;width:100%}.input-action button{border:0;color:#40534a;font-size:.74rem;min-height:auto;padding:0 13px;position:absolute;right:2px;top:2px;bottom:2px}.input-action button:hover{background:#edf0e8}fieldset{border:0;margin:0;padding:0}.field-help{color:#737d78;font-size:.75rem;line-height:1.5;margin:7px 0 12px}.checkbox-list{display:grid;gap:8px}.check-option{align-items:center;background:#ffffff6b;border:1px solid #d0d4ce;border-radius:2px;cursor:pointer;display:flex;gap:11px;min-height:46px;padding:11px 13px}.check-option:hover{border-color:#9da79f}.check-option:has(input:checked){background:#eff7d9;border-color:#9ebd46}.check-option input{accent-color:var(--forest);height:18px;margin:0;min-height:0;width:18px}.centered-layout,.loading{align-items:center;background-color:var(--forest);background-image:linear-gradient(rgb(200 255 61 / 7%) 1px,transparent 1px),linear-gradient(90deg,rgb(200 255 61 / 7%) 1px,transparent 1px);background-size:72px 72px;display:flex;justify-content:center;min-height:100vh;padding:24px}.loading{color:var(--signal);font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.standalone-card{background:var(--paper);border:1px solid rgb(200 255 61 / 55%);box-shadow:24px 24px #00000038;max-width:620px;width:100%}.standalone-card h1{font-size:clamp(2.8rem,7vw,5.2rem)}.button-stack{display:grid;gap:10px;margin-top:30px}.app-shell{margin:0 auto;max-width:1380px;padding:0 clamp(20px,4vw,58px) 100px;position:relative}header{align-items:center;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding:26px 0 22px}.phase{border-left:1px solid #afb6b1;color:#78837d;font-size:.61rem;letter-spacing:.13em;margin-left:16px;padding-left:16px;text-transform:uppercase}.account{align-items:center;display:flex;gap:18px}.account span{font-size:.78rem;font-weight:700}.account button{border:0;color:#69756f;font-size:.72rem;min-height:40px;padding-inline:0;text-decoration:underline;text-underline-offset:4px}.welcome{padding:clamp(76px,10vw,140px) 0 clamp(54px,7vw,94px)}.welcome-meta{margin-bottom:26px}.welcome-meta .eyebrow{margin:0}.welcome h1{font-size:clamp(3.4rem,7vw,7.4rem);max-width:1120px}.welcome .lede{font-size:1.12rem;margin-top:28px}.notice{background:#e8f4cb;border:1px solid #afc873;border-radius:2px;padding:14px 17px}.code-panel{background:var(--forest);border-left:4px solid var(--signal);color:var(--white);margin:22px 0;padding:24px}.code-panel strong,.code-panel code,.code-panel p{display:block}.code-panel code{background:#030d09;color:var(--signal);margin:13px 0;overflow-wrap:anywhere;padding:13px}.code-panel p{color:#aebbb5;font-size:.75rem;margin:0}.dashboard-grid{display:grid;gap:18px;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)}.card{background:var(--white);border:1px solid var(--line);min-width:0;padding:clamp(26px,4vw,50px);position:relative}.card:after{border-right:1px solid var(--signal-dark);border-top:1px solid var(--signal-dark);content:"";height:18px;position:absolute;right:-1px;top:-1px;width:18px}.section-heading{align-items:baseline;display:flex;gap:16px}.section-heading>span{color:var(--signal-dark);font-size:.62rem;font-weight:800}.section-heading h2{margin-top:0}h3{font-family:Georgia,Times New Roman,serif;font-size:1.6rem;font-weight:400;letter-spacing:-.025em}.team-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.team-tabs button{font-size:.72rem;font-weight:700}.people-list,.relationship-list{list-style:none;margin:20px 0 30px;padding:0}.people-list li,.relationship-list li{align-items:center;border-bottom:1px solid #e1e3de;display:flex;justify-content:space-between;padding:14px 0}.people-list small,.relationship-list small{margin-top:5px}.relationship-list li>div{min-width:0}.badge{border:1px solid #bcc2bd;border-radius:999px;flex:0 0 auto;font-size:.58rem;font-weight:800;letter-spacing:.08em;margin-left:12px;padding:6px 10px;text-transform:uppercase}.badge--active{background:#e5f7bc;border-color:#9abf3c}.badge--pending{background:#f2ebcc;border-color:#c5b35b}.badge--revoked,.badge--expired{background:#eeefeb;color:#746f6a}.accept-panel{border-top:1px solid var(--line);margin-top:50px;padding-top:28px}.accept-panel summary{cursor:pointer;font-size:.76rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.accept-grid{display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-top:22px}.accept-grid label button{justify-self:start}@media(max-width:900px){.auth-layout,.dashboard-grid{grid-template-columns:1fr}.brand-panel{min-height:58vh}.brand-panel:after{height:70vw;width:70vw}.brand-copy{margin-block:90px}.auth-card{width:min(100%,680px)}.accept-grid{grid-template-columns:1fr}}@media(max-width:560px){.app-shell{padding-inline:18px}.welcome{padding-top:64px}.welcome h1,h1{font-size:clamp(3rem,15vw,4.5rem)}.account span,.phase,.brand-top .signal{display:none}.brand-panel{padding:30px 24px}.brand-copy{margin-block:72px}.auth-card{padding:46px 24px}.name-fields,.trust-strip{grid-template-columns:1fr}.trust-strip{gap:10px}.standalone-card{box-shadow:10px 10px #00000038}}@media(prefers-reduced-motion:no-preference){.brand-copy,.auth-card,.welcome,.card{animation:enter .52s cubic-bezier(.2,.8,.2,1) both}.auth-card,.card:nth-child(2){animation-delay:80ms}@keyframes enter{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}}.signin-layout{align-items:center;background:var(--forest);display:flex;justify-content:center;min-height:100vh;padding:24px}.signin-card{background:var(--paper);box-shadow:24px 24px #0000003d;max-width:620px;padding:clamp(34px,6vw,64px);width:100%}.signin-card h1{font-size:clamp(3rem,7vw,5.4rem);margin-bottom:24px}.signin-brand{align-items:center;display:flex;justify-content:space-between;margin-bottom:72px}.form-message{background:#e8f4cb;color:#344322;margin:0;padding:12px 14px}.button-stack{display:grid;gap:10px}.button-link{align-items:center;border:1px solid #aeb5b0;color:var(--ink);display:inline-flex;font-size:.74rem;font-weight:800;justify-content:center;letter-spacing:.07em;min-height:46px;padding:11px 16px;text-decoration:none;text-transform:uppercase}.button-link:hover{border-color:var(--ink)}.dashboard-hero{align-items:flex-end;display:flex;justify-content:space-between;padding:clamp(72px,9vw,126px) 0 58px}.dashboard-hero .eyebrow{margin-bottom:22px}.dashboard-hero h1{font-size:clamp(3.7rem,7vw,7.4rem)}.hero-actions{display:flex;flex:0 0 auto;gap:10px;margin-left:32px}.entry-panel{background:var(--white);border:1px solid var(--line);margin-bottom:20px;padding:clamp(24px,4vw,48px)}.entry-panel h2,.panel-heading h2,.year-panel h2{font-family:Georgia,Times New Roman,serif;font-size:2.2rem;font-weight:400;letter-spacing:-.04em;margin:0}.engagement-form{align-items:end;display:grid;gap:16px;grid-template-columns:minmax(240px,2fr) minmax(130px,.8fr) minmax(160px,.9fr) minmax(170px,.9fr);margin-top:28px}.field-notes{grid-column:1 / -1}.field label span{color:var(--muted);float:right;font-weight:500}.form-actions{display:flex;gap:10px;grid-column:1 / -1;justify-content:flex-end}.engagement-form .form-message{grid-column:1 / -1}.money-input{align-items:center;background:#fff9;border:1px solid #bfc4be;display:flex;min-height:52px;min-width:0;overflow:hidden;width:100%}.money-input:focus-within{background:var(--white);border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}.money-input span{color:var(--muted);padding-left:15px}.money-input input{background:transparent;border:0;box-shadow:none;flex:1 1 0;min-width:0;padding-left:6px;width:100%}.money-input input:focus{background:transparent;box-shadow:none}.filter-bar{align-items:end;background:#e8e9e1;border:1px solid var(--line);display:grid;gap:14px;grid-template-columns:minmax(220px,1fr) 190px 150px auto;margin-bottom:20px;padding:16px}.filter-bar input,.filter-bar select{background:var(--white);min-height:46px;padding-block:10px}.filter-bar .text-button{align-self:end}.import-controls{align-items:center;display:flex;gap:18px;margin:28px 0 18px}.import-controls p{color:var(--muted);font-size:.78rem;margin:0}.file-button{background:var(--ink);color:var(--white);cursor:pointer;display:inline-flex;font-size:.72rem;font-weight:800;letter-spacing:.07em;padding:15px 20px;text-transform:uppercase}.file-button input{height:1px;opacity:0;overflow:hidden;padding:0;position:absolute;width:1px}.import-summary{align-items:center;background:#edf3db;display:flex;justify-content:space-between;margin:18px 0 10px;padding:13px 15px}.import-summary span{color:var(--muted);font-size:.78rem}.preview-table{border:1px solid var(--line);margin-bottom:18px;max-height:360px;overflow:auto}.preview-table table{border-collapse:collapse;font-size:.76rem;width:100%}.preview-table th{background:var(--forest);color:var(--white);position:sticky;text-align:left;top:0}.preview-table th,.preview-table td{border-bottom:1px solid var(--line);padding:11px 12px}.preview-table .row-error{background:#f8e6e1;color:#812f25}.status-grid{display:grid;gap:12px;grid-template-columns:repeat(4,1fr);margin-bottom:20px}.status-card{background:var(--white);border:1px solid var(--line);display:grid;min-height:156px;padding:22px;position:relative}.status-card:before{background:#aeb6b0;content:"";height:4px;left:-1px;position:absolute;right:-1px;top:-1px}.status-card.status-potential:before{background:#899690}.status-card.status-on_the_market:before{background:#77a5ff}.status-card.status-pending:before{background:#f0b83e}.status-card.status-closed:before{background:var(--signal-dark)}.status-card>span{color:var(--muted);font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.status-card strong{align-self:end;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.9rem,3vw,2.8rem);font-weight:400;letter-spacing:-.04em}.workspace-grid{display:grid;gap:20px;grid-template-columns:minmax(0,1fr) 280px}.ledger-panel,.year-panel{background:var(--white);border:1px solid var(--line);padding:clamp(24px,4vw,42px)}.panel-heading{align-items:end;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding-bottom:24px}.panel-heading .eyebrow{margin-bottom:12px}.panel-heading>span{color:var(--muted);font-size:.72rem}.empty-state{padding:68px 0 34px;text-align:center}.empty-state p,.muted{color:var(--muted);line-height:1.55}.engagement-row{align-items:center;border-bottom:1px solid #e1e4df;display:grid;gap:14px;grid-template-columns:5px minmax(200px,1fr) 130px 120px auto;padding:18px 0}.status-mark{align-self:stretch;background:#899690;min-height:42px;width:3px}.status-mark.status-on_the_market{background:#77a5ff}.status-mark.status-pending{background:#f0b83e}.status-mark.status-closed{background:var(--signal-dark)}.engagement-main{min-width:0}.engagement-main strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.engagement-main small{margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.engagement-row time{color:var(--muted);font-size:.76rem}.engagement-row>b{font-size:.88rem;text-align:right}.row-actions{display:flex;gap:4px}.row-actions button{border:0;color:var(--muted);font-size:.7rem;min-height:36px;padding:5px;text-decoration:underline;text-underline-offset:3px}.year-panel ol{list-style:none;margin:26px 0 0;padding:0}.year-panel li{align-items:center;border-bottom:1px solid #e1e4df;display:flex;justify-content:space-between;padding:14px 0}.year-panel li span{color:var(--muted)}@media(max-width:980px){.engagement-form{grid-template-columns:1fr 1fr}.field-address{grid-column:1 / -1}.status-grid{grid-template-columns:1fr 1fr}.workspace-grid{grid-template-columns:1fr}.year-panel{order:-1}.filter-bar{grid-template-columns:1fr 1fr}}@media(max-width:680px){.dashboard-hero{align-items:flex-start;flex-direction:column;gap:28px}.hero-actions{margin-left:0;width:100%}.hero-actions>*{flex:1}.status-grid,.engagement-form{grid-template-columns:1fr}.field-address,.field-notes,.form-actions{grid-column:auto}.engagement-row{grid-template-columns:4px minmax(0,1fr) auto}.engagement-row time{grid-column:2}.engagement-row>b{grid-column:3;grid-row:1}.row-actions{grid-column:2 / -1}.signin-card{box-shadow:10px 10px #0000003d}.filter-bar{grid-template-columns:1fr}.import-controls{align-items:flex-start;flex-direction:column}}
