/* Built by app/kit/portal-kit.js from app/kit; do not edit. */
:where(.k-kit){--ink: #15171C;
  --ink-2: #1F2228;          
  --ink-3: #272B34;          
  --ink-line: #2C3038;
  --ink-text: #C9CDD4;
  --ink-muted: #8B919C;
  --ink-quiet: #A1A7B1;      
  --ink-kbd: #3A3F49;        
  --ink-count: #2A3A4C; --ink-count-text: #CFDAE5;  
  --ink-brand: #EFE9DC;      
  --ink-terra: #E3A58E;   
  --on-dark: #FFFFFF;        
  --on-ink-soft: #F2F3F5;    

  
  --ground: #FAFBFC;         
  --surface: #FFFFFF;        
  --line: #E3E6EA;           
  --line-soft: #EDEFF2;      
  --line-faint: #F1F2F5;     
  --control: #D3D7DE;        
  --control-strong: #B3B8C1; 
  --control-inline: #C9CFD8; 
  
  --quiet: #F6F7F9;
  --note-wash: #FBF8F2; --note-line: #ECE4D3;

  
  --text: #16181D;
  --text-2: #474D58;
  --text-3: #5B616E;         
  --text-4: #6B717C;         
  --text-5: #8B919C;         

  
  --navy: #2D5277;   --navy-hover: #213E5C; --navy-tint: #E4EBF0; --navy-wash: #F3F6FA; --navy-line: #DDE5EE;
  --navy-ring: #C9D6E2;      
  --olive: #687147;  --olive-text: #5C6540; --olive-tint: #E8EBDF;
  --terra: #A45A43;  --terra-tint: #F4E9E4; --terra-line: #EBD6CD;
  --plum: #6A4F80;   --plum-tint: #F1ECF5;
  --sand: #6F6552;   --sand-dot: #A0957E;   --sand-tint: #EAE7DC; --sand-wash: #F4F2EC; --sand-line: #E6E1D3;
  --gold: #D4AE62;
  --gold-ink: color-mix(in srgb, var(--gold) 50%, var(--ink));   
  --neutral-tint: #EBEDF1;   

  
  
  --d1: #3568A0;   
  --d2: #CA9830;   
  --d3: #21A390;   
  --d4: #B35025;   
  --d5: #804C88;   
  --d6: #709B4A;   
  --d-other: #C6C7C2;
  
  --q1: #A2B3C7; --q2: #849BB4; --q3: #6883A2; --q4: #4C6B8F; --q5: #30557D; --q6: #123E6A;
  
  --gain: #3568A0; --loss: #B35025; --mid: #B9BEC4;
  
  --st-ok: #297E54;   --st-ok-ink: #256039;   --st-ok-tint: #E2F6E6;
  --st-due: #DA7914;  --st-due-ink: #885219;  --st-due-tint: #FFEFD7;
  --st-late: #B12537; --st-late-ink: #A13126; --st-late-tint: #FEEBE8;
  --st-wait: #7B8B9F; --st-wait-ink: #4D5969; --st-wait-tint: #EDF0F6;
  
  --hl: #EAB53B; --hl-ink: #996A06;   
  --hl-tint: #FBF3DD;   
  
  --deep: #1C1E24; --deep-2: #26292F; --deep-line: #31343A; --deep-text: #EFF2F7; --deep-muted: #ABB1BE;

  
  --font: 'Geist', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-serif: 'Instrument Serif', Georgia, serif;   
  --font-mono: 'Geist Mono', ui-monospace, monospace; 
  
  --fs-title: 1.875rem;  
  --fs-panel: 1.0625rem; 
  --fs-section: .875rem; 
  --fs-body: .8125rem;   
  --fs-small: .78125rem; 
  --fs-label: .75rem;    
  --fs-micro: .71875rem; 
  
  --lh: 1.3;
  --lh-prose: 1.5;       

  
  --gutter: 2rem;        
  --gap-section: .875rem;
  
  --row-list: 3.125rem;  
  --row-table: 2.125rem; 
  --row-data: 1.625rem;  
  --line-cell: calc(var(--fs-body) * var(--lh));   
  --pad-row-table: calc((var(--row-table) - var(--line-cell) - 1px) / 2);      
  --line-cell-2: calc((var(--fs-body) + var(--fs-label)) * var(--lh));   
  --pad-row-list: calc((var(--row-list) - var(--line-cell-2) - 1px) / 2);    

  
  --r-card: 12px;
  --r-control: 8px;
  --r-small: 7px;
  --r-pill: 999px;
  --r-tag: 4px;
  --shadow-pill: 0 1px 2px rgba(22, 24, 29, 0.08);        
  --shadow-float: 0 10px 28px rgba(21, 23, 28, 0.14);   
  --shadow-panel: -14px 0 32px rgba(21, 23, 28, 0.08);  
  --shadow-dialog: 0 24px 64px rgba(21, 23, 28, 0.18);  
  --scrim: rgba(21, 23, 28, 0.32);                      
  --shadow-toast: 0 10px 28px rgba(21, 23, 28, 0.28);
  --focus-ring: 0 0 0 3px var(--navy-tint);

  
  --sidebar: 232px;
  --sidebar-rail: 60px;
  --toolbar: 52px;
  --panel: 380px;
  --team-tab: 2.5rem;    
  --menu-gap: 4px;       
  --chain: 1.25rem;      
  --chain-col: calc(var(--chain) + .875rem);   

  
  --t-fast: .12s ease;
  --t-panel: .2s ease;}
:where(.k-kit) .k-num{font-variant-numeric: tabular-nums;}
:where(.k-kit) .k-muted{color: var(--text-3);}
:where(.k-kit) .k-label{font-size: var(--fs-label); font-weight: 500; color: var(--text-3);}
:where(.k-kit) .k-head{padding: 16px var(--gutter) 0; background: var(--surface); border-bottom: 1px solid var(--line);}
:where(.k-kit) .k-head.bare{background: transparent; border-bottom: 0; padding: 20px var(--gutter) 4px;}
:where(.k-kit) .k-head-row{display: flex; align-items: center; gap: 12px;}
:where(.k-kit) .k-head-row > :is(.k-title, .k-title-note){align-self: baseline;}
:where(.k-kit) .k-title{font-family: var(--font-serif); font-size: var(--fs-title); line-height: 1.1; margin: 0; font-weight: 400;}
:where(.k-kit) .k-kicker{font-size: .75rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--terra);}
:where(.k-kit) .k-title.hero{font-size: 2.875rem;}
:where(.k-kit) .k-crumb{display: flex; align-items: center; gap: 8px; font-size: .875rem;}
:where(.k-kit) .k-crumb a{color: var(--text-3) !important;}
:where(.k-kit) .k-crumb span{color: var(--control-strong);}
:where(.k-kit) .k-crumb b{font-weight: 600;}
:where(.k-kit) .k-breadcrumb{display: flex; align-items: center; flex-wrap: wrap; gap: 6px; font-size: .78125rem; color: var(--text-3); margin: 0 0 6px; min-width: 0;}
:where(.k-kit) .k-breadcrumb a{color: var(--text-3) !important; text-decoration: none !important;}
:where(.k-kit) .k-breadcrumb a:hover{color: var(--text) !important;}
:where(.k-kit) .k-breadcrumb span[aria-hidden]{color: var(--control-strong);}
:where(.k-kit) .k-breadcrumb-here{color: var(--text-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 40ch;}
:where(.k-kit) [hidden]{display: none !important;}
:where(.k-kit) .k-body{padding: 16px var(--gutter) 24px; display: flex; gap: 20px; min-height: 0; flex-grow: 1;}
:where(.k-kit) .k-col{flex-grow: 1; min-width: 0; display: flex; flex-direction: column; gap: var(--gap-section);}
:where(.k-kit) .k-aside{width: 380px; flex-shrink: 0; display: flex; flex-direction: column; gap: var(--gap-section);}
:where(.k-kit) .k-aside.narrow{width: 340px;}
:where(.k-kit) .k-body.stack{flex-direction: column;}
:where(.k-kit) .k-body.stack > *{flex-shrink: 0;}
:where(.k-kit) .k-cols{display: flex; gap: 20px; min-width: 0; align-items: flex-start;}
:where(.k-kit) .k-cols > .k-col{flex: 1 1 0;}
:where(.k-kit) .k-cols.even{align-items: stretch;}
@keyframes k-tabs-edges{ from { --k-tabs-fade-l: 0px; --k-tabs-fade-r: 32px; } to { --k-tabs-fade-l: 32px; --k-tabs-fade-r: 0px; } }
:where(.k-kit) .k-tab b,:where(.k-kit) .k-badge{font-size: var(--fs-micro); font-weight: 600; background: var(--neutral-tint); color: var(--text-2); border-radius: var(--r-pill); padding: 1px 7px;}
:where(.k-kit) .k-badge.warn{background: var(--st-due-tint); color: var(--st-due-ink);}
:where(.k-kit) .k-seg{display: inline-flex; background: var(--neutral-tint); border-radius: 9px; padding: 3px; gap: 2px; max-width: max-content;}
:where(.k-kit) nav.k-seg{width: auto; border: 0;}
@media (max-width: 640px){:where(.k-kit) .k-seg.k-head-seg{max-width: 100%; min-width: 0; overflow-x: auto; scrollbar-width: none;}}
:where(.k-kit) .k-head-row > .k-seg.k-head-seg{min-width: 0; overflow-x: auto; scrollbar-width: none;}
:where(.k-kit) .k-head-row > .k-seg.k-head-seg > *{flex-shrink: 0;}
:where(.k-kit) .k-seg button{border: 0; background: transparent; font-size: .8125rem; line-height: normal; padding: 5px 12px; border-radius: var(--r-small); color: var(--text-2); font-weight: 400; white-space: nowrap;}
:where(.k-kit) .k-seg button[aria-pressed="true"]{background: var(--surface); color: var(--text); box-shadow: 0 1px 2px rgba(22,24,29,.08);}
:where(.k-kit) .k-seg button:hover{background: transparent; border-color: transparent; color: var(--text);}
:where(.k-kit) .k-seg button[aria-pressed="true"]:hover{background: var(--surface);}
:where(.k-kit) .k-seg.k-seg-scroll{position: relative; min-width: 0; max-width: 100%; overflow-x: auto; overflow-y: hidden; scrollbar-width: none;}
:where(.k-kit) .k-seg.k-seg-scroll::-webkit-scrollbar{display: none;}
:where(.k-kit) .k-month + .k-seg{margin-top: 8px;}
:where(.k-kit) .k-seg.k-seg-scroll > a{flex: none;}
:where(.k-kit) .k-seg.k-seg-scroll > a:focus-visible{box-shadow: inset var(--focus-ring);}
@supports (animation-timeline: scroll()){:where(.k-kit) .k-seg.k-seg-scroll{animation: k-tabs-edges linear both; animation-timeline: scroll(self inline);
    mask-image: linear-gradient(90deg, transparent 0, black var(--k-tabs-fade-l), black calc(100% - var(--k-tabs-fade-r)), transparent 100%);}}
:where(.k-kit) .k-btn{height: 36px; padding: 0 14px; border-radius: var(--r-control); border: 1px solid var(--control); background: var(--surface);
  font-size: .8125rem; font-weight: 400; line-height: normal; color: var(--text) !important; display: inline-flex; align-items: center; gap: 7px; white-space: nowrap;}
:where(.k-kit) .k-btn:hover{border-color: var(--control-strong); background: var(--surface);}
:where(.k-kit) .k-btn.k-btn-wrap{white-space: normal; height: auto; min-height: 36px; padding-block: 7px; text-align: left; max-width: 100%;}
:where(.k-kit) .k-btn.primary{background: var(--navy); border-color: var(--navy); color: var(--on-dark) !important;}
:where(.k-kit) .k-btn.primary:hover{background: var(--navy-hover);}
:where(.k-kit) .k-btn.btn-danger:not(.armed){color: var(--danger) !important;}
:where(.k-kit) .k-btn.btn-danger:not(.armed):hover{border-color: var(--danger); background: var(--danger-bg);}
:where(.k-kit) .k-btn.btn-danger.armed{color: var(--on-accent) !important;}
:where(.k-kit) .k-btn.sm{height: 30px; padding: 0 11px; font-size: var(--fs-label);}
:where(.k-kit) .k-btn.icon{width: 36px; padding: 0; justify-content: center;}
:where(.k-kit) .k-btn[disabled],:where(.k-kit) .k-btn.disabled{opacity: .45; cursor: not-allowed;}
:where(.k-kit) .k-link{border: 0; background: none; padding: 4px 0; font-size: var(--fs-body); font-weight: 500; color: var(--navy);}
:where(.k-kit) .k-link:hover{background: none; color: var(--navy-hover);}
:where(.k-kit) button.k-link{font-family: inherit; text-align: left; min-height: 0; box-shadow: none; cursor: pointer;}
:where(.k-kit) button.k-link:disabled,:where(.k-kit) button.k-link:disabled:hover{color: var(--text-3); cursor: not-allowed;}
:where(.k-kit) .k-btn:focus-visible,:where(.k-kit) .k-link:focus-visible,:where(.k-kit) .k-tab:focus-visible,:where(.k-kit) .k-seg button:focus-visible{outline: none; box-shadow: var(--focus-ring);}
:where(.k-kit) .k-chip{font-size: .75rem; font-weight: 500; border-radius: var(--r-pill); padding: 2px 9px; white-space: nowrap; display: inline-flex; align-items: center; gap: 6px;
  background: var(--neutral-tint); color: var(--text-2);}
:where(.k-kit) .k-chip.tap{border: 0; cursor: pointer;}
:where(.k-kit) .k-chip.ok{background: var(--st-ok-tint); color: var(--st-ok-ink);}
:where(.k-kit) .k-chip.warn,:where(.k-kit) .k-chip.due{background: var(--st-due-tint); color: var(--st-due-ink);}
:where(.k-kit) .k-chip.late{background: var(--st-late-tint); color: var(--st-late-ink);}
:where(.k-kit) .k-chip.wait{background: var(--st-wait-tint); color: var(--st-wait-ink);}
:where(.k-kit) .k-chip.info{background: var(--navy-tint); color: var(--navy);}
:where(.k-kit) .k-chip.navy{background: var(--navy-tint); color: var(--navy);}
:where(.k-kit) .k-chip.olive{background: var(--olive-tint); color: var(--olive-text);}
:where(.k-kit) .k-chip.sand{background: var(--sand-tint); color: var(--sand);}
:where(.k-kit) .k-chip.terra{background: var(--terra-tint); color: var(--terra);}
:where(.k-kit) .k-chip.plum{background: var(--plum-tint); color: var(--plum);}
:where(.k-kit) .k-chip .k-dot{width: 6px; height: 6px; border-radius: 50%; background: currentColor;}
:where(.k-kit) .k-tag{font-size: .75rem; font-weight: 500; line-height: 1.4; border-radius: var(--r-tag); padding: 1px 6px; white-space: nowrap; display: inline-flex; align-items: center; margin: 0;
  background: var(--neutral-tint); color: var(--text-2);}
:where(.k-kit) .k-tag.ok{background: var(--st-ok-tint); color: var(--st-ok-ink);}
:where(.k-kit) .k-tag.warn,:where(.k-kit) .k-tag.due{background: var(--st-due-tint); color: var(--st-due-ink);}
:where(.k-kit) .k-tag.late{background: var(--st-late-tint); color: var(--st-late-ink);}
:where(.k-kit) .k-tag.wait{background: var(--st-wait-tint); color: var(--st-wait-ink);}
:where(.k-kit) .k-tag.info{background: var(--navy-tint); color: var(--navy);}
:where(.k-kit) .k-tag.navy{background: var(--navy-tint); color: var(--navy);}
:where(.k-kit) .k-tag.olive{background: var(--olive-tint); color: var(--olive-text);}
:where(.k-kit) .k-tag.sand{background: var(--sand-tint); color: var(--sand);}
:where(.k-kit) .k-tag.terra{background: var(--terra-tint); color: var(--terra);}
:where(.k-kit) .k-tag.ft{flex: none; justify-content: center; min-width: 2.1rem; padding: 2px 4px; font-size: .59375rem; font-weight: 700; letter-spacing: .03em; line-height: 1.3; text-align: center;}
:where(.k-kit) .k-tile{width: 30px; height: 30px; border-radius: var(--r-control); display: inline-grid; place-items: center; flex-shrink: 0;}
:where(.k-kit) .k-tile.navy{background: var(--navy-tint); color: var(--navy);}
:where(.k-kit) .k-tile.olive{background: var(--olive-tint); color: var(--olive);}
:where(.k-kit) .k-tile.terra{background: var(--terra-tint); color: var(--terra);}
:where(.k-kit) .k-tile.sand{background: var(--sand-tint); color: var(--sand);}
:where(.k-kit) .k-tile.k-mark{margin: calc((1rem - 30px) / 2) 6px calc((1rem - 30px) / 2) 0; vertical-align: -0.15em;}
:where(.k-kit) .k-tr > .k-tile.k-mark{margin-inline: calc((1rem - 30px) / 2);}
:where(.k-kit) .k-section-head{display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 8px; min-height: 28px;}
:where(.k-kit) .k-section-head h2{margin: 0; font-size: var(--fs-section); font-weight: 600;}
:where(.k-kit) .k-section-head > h2 + .k-caption{margin-right: auto;}
@media (max-width: 767px){:where(.k-kit) .k-section-head.k-sub{flex-wrap: wrap; row-gap: 0;}:where(.k-kit) .k-section-head.k-sub > .k-t2{order: 3; flex: 1 0 100%; padding-bottom: 8px;}}
:where(.k-kit) .k-card{background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-card); overflow: hidden;}
:where(.k-kit) .k-card:has(details.k-picker[open]),:where(.k-kit) .k-table:has(details.k-picker[open]){overflow: visible;}
:where(.k-kit) .k-card > .k-section-head{margin: 0; padding: 12px 16px 10px;}
:where(.k-kit) .k-card-body{padding: 16px 20px; display: flex; flex-direction: column; gap: 12px;}
:where(.k-kit) .k-card > .k-row,:where(.k-kit) .k-card > * > .k-row{padding-inline: 16px;}
:where(.k-kit) .k-row{display: flex; align-items: center; gap: 12px; padding: 7.5px 14px; min-height: var(--row-list); border-top: 1px solid var(--line-soft); position: relative;}
:where(.k-kit) .k-row:first-child{border-top: 0;}
:where(.k-kit) .k-row.k-top{align-items: flex-start; padding-block: 11px;}
:where(.k-kit) .k-hold-line > .k-two{flex: 1 1 16rem; min-width: 0;}
:where(.k-kit) .k-row > .k-ways-end{flex-shrink: 0;}
@media (max-width: 640px){:where(.k-kit) .k-row.k-ways-wrap{flex-wrap: wrap;}:where(.k-kit) .k-row.k-ways-wrap > .k-two{flex: 1 1 0; min-width: 0;}:where(.k-kit) .k-row.k-ways-wrap > .k-ways-end{flex: 1 0 100%; flex-wrap: wrap; justify-content: flex-start; row-gap: 6px;}:where(.k-kit) .k-row.k-ways-wrap{position: relative;}:where(.k-kit) .k-row.k-ways-wrap > .k-ways-end > .k-picker{position: static;}:where(.k-kit) .k-row.k-ways-wrap > .k-ways-end > .k-picker > .k-menu.end{left: 12px; right: 12px; width: auto; max-width: none; max-height: 62vh; scroll-margin-bottom: 76px;}}
:where(.k-kit) .k-row .k-menu .k-t2{white-space: normal; overflow: visible;}
:where(.k-kit) .k-tr[data-sign-holds]{align-items: start; padding-block: 8px;}
:where(.k-kit) .k-card > .k-group-head:first-child,:where(.k-kit) .k-card > .k-more:first-child,:where(.k-kit) .k-card > details:first-child > .k-group-head:first-child,:where(.k-kit) .k-card > details:first-child > summary.k-more:first-child{border-top: 0;}
:where(.k-kit) .k-row:hover{background: var(--ground);}
:where(.k-kit) .k-row .k-t1{font-size: var(--fs-body); font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
:where(.k-kit) .k-row .k-t1.wrap{white-space: normal; overflow: visible; flex: 1 1 0; min-width: 0;}
:where(.k-kit) .k-row .k-t2{font-size: var(--fs-small); color: var(--text-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
:where(.k-kit) .k-row .k-t1,:where(.k-kit) .k-row .k-t2{line-height: var(--lh);}
:where(.k-kit) .k-row .k-t2 :is(.k-chip, .chip, .k-tag){padding-block: 0; line-height: inherit; vertical-align: baseline;}
:where(.k-kit) .k-grow{flex-grow: 1; min-width: 0;}
:where(.k-kit) .k-row > .k-t2{flex-shrink: 0;}
:where(.k-kit) .k-row:hover .k-hover-act,:where(.k-kit) .k-row:focus-within .k-hover-act{visibility: visible;}
:where(.k-kit) .k-card > .k-row.k-subline{min-height: 0; padding: 8px 12px;}
:where(.k-kit) .k-subline > .k-end{margin-left: auto; flex-shrink: 0;}
:where(.k-kit) .k-subline > .k-two{flex: 1 1 auto;}
:where(.k-kit) .k-subline > .k-two > small{white-space: nowrap;}
:where(.k-kit) .k-row[aria-selected="true"],:where(.k-kit) .k-tr[aria-selected="true"]{background: var(--navy-wash);}
:where(.k-kit) .k-row[aria-selected="true"]::before,:where(.k-kit) .k-tr[aria-selected="true"]::before{content: ''; position: absolute; left: 4px; top: 9px; bottom: 9px; width: 3px; border-radius: 3px; background: var(--navy);}
:where(.k-kit) .k-group-head:has(> .k-muted, > a){display: flex; align-items: baseline; justify-content: space-between; gap: 12px;}
:where(.k-kit) .k-group-head > .k-muted,:where(.k-kit) .k-group-head > a{text-transform: none; letter-spacing: 0; font-weight: 400; font-size: .75rem;}
:where(.k-kit) .k-table{background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-card); overflow: hidden;}
:where(.k-kit) .k-tr{display: grid; align-items: center; gap: 12px; padding: 0 16px 0 18px; min-height: var(--row-table); border-top: 1px solid var(--line-faint);
  position: relative; font-size: .8125rem;}
:where(.k-kit) .k-tr.head{min-height: 32px; font-size: var(--fs-label); font-weight: 500; color: var(--text-3); background: var(--ground); border-top: 0; border-bottom: 1px solid var(--line);}
:where(.k-kit) .k-tr.total{font-weight: 600; background: var(--ground);}
:where(.k-kit) .k-tr:not(.head):hover{background: var(--ground);}
:where(.k-kit) .k-r{text-align: right; font-variant-numeric: tabular-nums;}
:where(.k-kit) .k-tr > *:not(:has(.k-picker, input, select, textarea, .k-btn)){min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
:where(.k-kit) .k-tr > .k-wrap{white-space: normal;}
:where(.k-kit) .k-tr:not(.k-contact-card .k-tr) > .k-wrap:not(:has(> small:not(.k-narrow):not(:empty))){padding-top: 7px; padding-bottom: 7px;}
:where(.k-kit) .k-tr .k-narrow{display: none;}
:where(.k-kit) .k-table.k-fold .k-two > small{white-space: normal;}
:where(.k-kit) .k-table.k-dense .k-tr{min-height: var(--row-data); font-size: .78125rem; gap: 10px;}
:where(.k-kit) .k-table.k-dense .k-tr.head{min-height: 28px;}
:where(.k-kit) .k-table .k-tr{grid-template-columns: var(--cols, minmax(0,1fr));}
@media (min-width: 641px) and (max-width: 1240px){:where(.k-kit) .k-table.k-edit:has(> .k-tr > :nth-child(5)) > .k-tr.head{display: none;}:where(.k-kit) .k-table.k-edit:has(> .k-tr > :nth-child(5)) > .k-tr:not(.head){display: flex; flex-wrap: wrap; gap: 8px; padding-top: 10px; padding-bottom: 10px;}:where(.k-kit) .k-table.k-edit:has(> .k-tr > :nth-child(5)) > .k-tr:not(.head) > *{flex: 1 1 140px; min-width: 0;}:where(.k-kit) .k-table.k-edit:has(> .k-tr > :nth-child(5)) > .k-tr:not(.head) > :first-child{flex-basis: 100%;}:where(.k-kit) .k-table.k-edit:has(> .k-tr > :nth-child(5)) > .k-tr:not(.head) > .k-sentence{flex-basis: 220px;}}
@media (min-width: 721px) and (max-width: 1080px){:where(.k-kit) .k-body:not(.k-three, .stack):has(> .k-aside:not(.k-rail)){flex-direction: column;}:where(.k-kit) .k-body:not(.k-three, .stack) > .k-aside:not(.k-rail){width: auto;}}
@media (min-width: 721px) and (max-width: 900px), (min-width: 1081px) and (max-width: 1280px){:where(.k-kit) .k-body:not(.k-three):has(> .k-aside:not(.k-rail)) > .k-col .k-table[style*="--cols-phone"] > .k-tr{grid-template-columns: var(--cols-phone);}:where(.k-kit) .k-body:not(.k-three):has(> .k-aside:not(.k-rail)) > .k-col .k-table[style*="--cols-phone"] > .k-tr > .k-wide{display: none;}:where(.k-kit) .k-body:not(.k-three):has(> .k-aside:not(.k-rail)) > .k-col .k-table[style*="--cols-phone"] > .k-tr .k-narrow{display: block;}:where(.k-kit) .k-body:not(.k-three):has(> .k-aside:not(.k-rail)) > .k-col .k-table[style*="--cols-phone"] > .k-tr:not(.head):has(.k-two > small.k-narrow:not(:empty)){min-height: var(--row-list); padding-top: 4px; padding-bottom: 4px;}}
:where(.k-kit) .k-rows-ways > .k-tr > .k-state{white-space: normal; overflow: visible;}
:where(.k-kit) .k-rows-ways .k-state > .k-chip{white-space: normal; text-align: left;}
:where(.k-kit) .k-rows-ways > .k-tr > .k-sentence.k-acts{flex-wrap: wrap; justify-content: flex-end;}
:where(.k-kit) .k-table.k-stack > .k-tr{row-gap: 3px; padding-block: 7px;}
:where(.k-kit) .k-tr > .k-span-row{grid-column: 1 / -1; white-space: normal; margin-top: -6px;}
@media (max-width: 640px){:where(.k-kit) .k-rows-ways > .k-tr > .k-acts{grid-column: 1 / -1; justify-content: flex-start;}}
@media (min-width: 721px) and (max-width: 900px), (min-width: 1081px) and (max-width: 1280px){:where(.k-kit) .k-body:not(.k-three):has(> .k-aside:not(.k-rail)) > .k-col .k-table.k-rows-ways > .k-tr > .k-acts{grid-column: 1 / -1; justify-content: flex-start;}}
:where(.k-kit) .k-tr > .k-span-2{grid-column: span 2;}
:where(.k-kit) .k-tr > .k-span-3{grid-column: span 3;}
:where(.k-kit) .k-tr > .k-span-4{grid-column: span 4;}
:where(.k-kit) .k-tr > .k-span-5{grid-column: span 5;}
:where(.k-kit) .k-tr:not(.head):has(.k-two > small:not(.k-narrow):not(:empty), .k-amount > small){min-height: var(--row-list); padding-top: 4px; padding-bottom: 4px;}
:where(.k-kit) .k-table.two-line .k-tr:not(.head){min-height: var(--row-list);}
:where(.k-kit) .k-tr.groupsum{background: var(--ground); font-weight: 600;}
:where(.k-kit) .k-tr.groupsum .k-t2{font-weight: 400;}
:where(.k-kit) .k-table.two-line > .k-tr.groupsum{min-height: 34px;}
:where(.k-kit) .k-table > .k-section-head{margin: 0; padding: 14px 16px 6px 18px;}
:where(.k-kit) .k-table > .k-section-head + .k-tr.head{background: transparent; border-bottom-color: var(--line-soft);}
:where(.k-kit) .k-card > .k-table{border: 0; border-radius: 0;}
:where(.k-kit) .k-card > .k-section-head + .k-table > .k-tr.head{background: transparent; border-bottom-color: var(--line-soft);}
:where(.k-kit) .k-amount{display: inline-flex; flex-direction: column; align-items: flex-end; line-height: 1.2; font-variant-numeric: tabular-nums; text-align: right;}
:where(.k-kit) .k-amount small{font-size: .71875rem; color: var(--text-3); font-weight: 400;}
:where(.k-kit) td > .k-amount,:where(.k-kit) .k-tr > .k-amount{display: flex;}
:where(.k-kit) .k-figure{display: flex; flex-direction: column; gap: 1px;}
:where(.k-kit) .k-figure b{font-size: 1.25rem; font-weight: 600; letter-spacing: -.02em; line-height: 1.1; font-variant-numeric: tabular-nums;}
:where(.k-kit) .k-figure b.sm{font-size: 1.125rem;}
:where(.k-kit) .k-figure .up{color: var(--gain);}
:where(.k-kit) .k-figure .down{color: var(--loss);}
:where(.k-kit) .k-field{display: flex; flex-direction: column; gap: 6px;}
:where(.k-kit) .k-input,:where(.k-kit) .k-select,:where(.k-kit) .k-textarea{height: 34px; font: inherit; font-size: var(--fs-body); color: var(--text); background: var(--surface);
  border: 1px solid var(--control); border-radius: var(--r-control); padding: 0 10px; width: 100%;}
:where(.k-kit) .k-textarea{height: auto; padding: 8px 10px; line-height: var(--lh-prose); resize: vertical;}
:where(.k-kit) .k-input:focus,:where(.k-kit) .k-select:focus,:where(.k-kit) .k-textarea:focus{outline: none; border-color: var(--navy); box-shadow: var(--focus-ring);}
:where(.k-kit) .k-input.inline{height: 30px; border-color: var(--control-inline); border-radius: var(--r-small);}
:where(.k-kit) .k-select.inline{height: 30px; border-color: var(--control-inline); border-radius: var(--r-small);}
:where(.k-kit) .k-input.changed{border-color: var(--navy);}
:where(.k-kit) .k-fields{display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px;}
:where(.k-kit) .k-fields.c4{grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));}
:where(.k-kit) .k-fields > .span{grid-column: 1 / -1;}
:where(.k-kit) .k-col > .k-sections{display: contents;}
:where(.k-kit) fieldset.k-field{border: 0; margin: 0; padding: 0; min-width: 0;}
:where(.k-kit) fieldset.k-field > legend.k-label{padding: 0; margin: 0 0 6px;}
:where(.k-kit) div.k-input{display: flex; align-items: center;}
:where(.k-kit) div.k-select{display: flex; align-items: center; justify-content: space-between; gap: 6px; padding-right: 8px;}
:where(.k-kit) div.k-select,:where(.k-kit) div.k-input{white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
:where(.k-kit) select.k-native:not(#k){position: absolute; top: 0; left: 0; width: 1px; height: 1px; min-width: 0; max-width: 1px; padding: 0; border: 0; margin: 0; overflow: hidden; clip-path: inset(50%); opacity: 0; pointer-events: none;}
:where(.k-kit) details.k-choose > summary.k-select{display: flex; align-items: center; gap: 6px; padding-right: 8px; white-space: nowrap; overflow: hidden; user-select: none;}
:where(.k-kit) details.k-choose > summary.k-select > .k-grow{overflow: hidden; text-overflow: ellipsis;}
:where(.k-kit) details.k-choose > summary.k-select::after{color: var(--text-4);}
:where(.k-kit) details.k-choose[open] > summary.k-select{border-color: var(--navy); box-shadow: var(--focus-ring);}
:where(.k-kit) details.k-choose > summary.k-select:focus-visible{outline: none; border-color: var(--navy); box-shadow: var(--focus-ring);}
:where(.k-kit) details.k-choose > summary.k-empty-choice > .k-grow{color: var(--text-4);}
:where(.k-kit) details.k-choose.k-multi > summary.k-select{height: auto; min-height: 34px; padding-block: 4px; white-space: normal;}
:where(.k-kit) details.k-choose.k-multi > summary.k-select > .k-grow{display: flex; flex-wrap: wrap; gap: 4px; min-width: 0;}
:where(.k-kit) details.k-choose.k-multi > summary.k-select > .k-grow > .k-chip{max-width: 100%; overflow: hidden; text-overflow: ellipsis;}
:where(.k-kit) details.k-choose.k-off > summary{opacity: .6; cursor: default;}
:where(.k-kit) details.k-choose > .k-menu{right: auto; min-width: max(100%, 200px); width: max-content; max-width: min(360px, calc(100vw - 32px));}
:where(.k-kit) details.k-choose:not([open]) > .k-menu{display: none;}
:where(.k-kit) .k-menu > .k-option[hidden],:where(.k-kit) .k-menu > .k-menu-head[hidden]{display: none;}
:where(.k-kit) .k-sentence > .k-choose-box.k-grow{flex: 1 1 auto;}
:where(.k-kit) .k-list-search .k-input{width: 100%;}
:where(.k-kit) .k-tr > .k-sentence > .k-choose-box{flex: 1 1 auto;}
:where(.k-kit) .k-input.num{text-align: right;}
:where(.k-kit) .k-field-row > .k-field{flex: 1 1 0; min-width: 0;}
:where(.k-kit) .k-sentence > .k-input,:where(.k-kit) .k-sentence > .k-select{width: auto; flex: 0 0 auto;}
:where(.k-kit) .k-sentence > .k-select{max-width: 100%;}
:where(.k-kit) .k-sentence > .k-input.num{width: calc(5ch + 24px); text-align: right; font-variant-numeric: tabular-nums;}
:where(.k-kit) .k-sentence > .k-input.num[type="number"]{width: calc(5ch + 44px);}
:where(.k-kit) .k-tr > .k-sentence{flex-wrap: nowrap;}
:where(.k-kit) .k-tr > .k-sentence > .k-select{flex: 1 1 auto; width: auto; min-width: 0;}
:where(.k-kit) .k-sentence > .k-muted{color: var(--text-3);}
@media (max-width: 640px){:where(.k-kit) .k-tr:has(> .k-item-end > .k-sentence){row-gap: 4px; padding-top: 6px; padding-bottom: 8px;}:where(.k-kit) .k-item-end > .k-sentence > .k-picker{position: static;}:where(.k-kit) .k-item-end > .k-sentence > .k-picker > .k-menu.end{left: 0; right: auto; max-width: min(320px, 100%);}:where(.k-kit) .k-item-end > .k-sentence > .k-picker > .k-menu.end.wide{width: 100%; max-width: 100%; max-height: 62vh; scroll-margin-bottom: 76px;}}
:where(.k-kit) .k-check{display: flex; align-items: flex-start; gap: 8px; font-size: .8125rem; color: var(--text-2);}
:where(.k-kit) .k-check input{width: 16px; height: 16px; margin: 1px 0 0; accent-color: var(--navy); flex-shrink: 0;}
:where(.k-kit) .k-done{width: 1rem; height: 1rem; border-radius: 0.25rem; border: 1.5px solid var(--control-strong); background: var(--surface); padding: 0; display: grid; place-items: center; color: var(--on-dark);}
:where(.k-kit) .k-done:hover{background: var(--surface); border-color: var(--navy);}
:where(.k-kit) .k-done[aria-pressed="true"]{background: var(--st-ok); border-color: var(--st-ok);}
:where(.k-kit) .k-done{transition: background-color .12s ease, border-color .12s ease;}
@media (prefers-reduced-motion: reduce){:where(.k-kit) .k-done{transition: none;}}
:where(.k-kit) .k-done[aria-pressed="true"]:hover{background: var(--st-ok); border-color: var(--st-ok);}
:where(.k-kit) .k-check > .k-done{flex-shrink: 0;}
:where(.k-kit) .k-picker{position: relative;}
:where(.k-kit) .k-menu{position: absolute; left: 0; right: 0; top: calc(100% + var(--menu-gap)); background: var(--surface); border: 1px solid var(--line);
  border-radius: var(--r-card); box-shadow: var(--shadow-float); padding: 6px; z-index: 20; max-height: 320px; overflow-y: auto;}
:where(.k-kit) .k-menu.flat{box-shadow: none;}
:where(.k-kit) .k-menu.end{left: auto; right: 0; width: max-content; min-width: max(100%, 200px); max-width: 320px;}
:where(.k-kit) .k-menu.start{left: 0; right: auto; width: max-content; min-width: max(100%, 200px); max-width: 320px;}
:where(.k-kit) .k-menu.wide{text-align: left; width: min(460px, calc(100vw - 32px)); min-width: 0; max-width: none; max-height: min(70vh, 480px);}
:where(.k-kit) .k-menu-check > .k-two{flex: 1 1 0; min-width: 0;}
:where(.k-kit) .k-menu-check > .k-end{margin-left: auto; flex-shrink: 0;}
:where(.k-kit) .k-menu.k-glide-menu > .k-option,:where(.k-kit) .k-menu.k-glide-menu form > .k-option{position: relative; z-index: 1;}
:where(.k-kit) .k-menu.k-glide-menu .k-option:hover,:where(.k-kit) .k-menu.k-glide-menu .k-option:focus-visible,:where(.k-kit) .k-menu.k-glide-menu .k-option[aria-selected="true"]{background: transparent;}
:where(.k-kit) details[open] > .k-menu{animation: k-menu-in .14s cubic-bezier(.2,.8,.2,1); transform-origin: top left;}
:where(.k-kit) details[open] > .k-menu.end{transform-origin: top right;}
@keyframes k-menu-in{ from { opacity: 0; transform: translateY(-4px) scale(.98); } to { opacity: 1; transform: none; } }
@supports (interpolate-size: allow-keywords){:where(.k-kit) details:not(.k-picker){interpolate-size: allow-keywords;}:where(.k-kit) details:not(.k-picker)::details-content{block-size: 0; overflow-y: clip; transition: block-size .18s cubic-bezier(.2,.8,.2,1), content-visibility .18s allow-discrete;}:where(.k-kit) details:not(.k-picker)[open]::details-content{block-size: auto;}}
@media (prefers-reduced-motion: reduce){:where(.k-kit) details[open] > .k-menu{animation: none;}:where(.k-kit) details::details-content{transition: none !important;}}
:where(.k-kit) details.k-picker > summary{list-style: none; cursor: pointer;}
:where(.k-kit) details.k-picker > summary::-webkit-details-marker{display: none;}
:where(.k-kit) .k-menu.k-keys{position: fixed; top: auto; left: auto; right: 24px; bottom: 24px; width: max-content; min-width: 240px; max-width: 320px; z-index: 60;}
:where(.k-kit) .k-menu.k-keys .k-option{cursor: default;}
:where(.k-kit) .k-option{display: flex; align-items: center; gap: 10px; width: 100%; min-height: 34px; padding: 7px 10px; border: 0; border-radius: 8px; background: none; font-size: var(--fs-body); text-align: left;
  color: var(--text) !important; text-decoration: none !important; white-space: nowrap;}
:where(.k-kit) .k-option:hover,:where(.k-kit) .k-option:focus-visible,:where(.k-kit) .k-option[aria-selected="true"]{background: var(--navy-wash); outline: none;}
:where(.k-kit) .k-option > .k-two{flex: 1 1 0; min-width: 0;}
:where(.k-kit) .k-option.add{color: var(--navy); font-weight: 500; border-top: 1px solid var(--line-soft); border-radius: 0 0 6px 6px;}
:where(.k-kit) .k-panel{width: var(--panel); flex-shrink: 0; background: var(--surface); border-left: 1px solid var(--line); display: flex; flex-direction: column; min-height: 0;}
:where(.k-kit) .k-panel.narrow{width: 340px;}
:where(.k-kit) .k-panel.wide{width: min(720px, 52vw);}
:where(.k-kit) .k-panel.over{position: absolute; top: 0; right: 0; bottom: 0; box-shadow: var(--shadow-panel); transform: translateX(104%); transition: transform var(--t-panel); z-index: 10;}
:where(.k-kit) .k-panel.over.open{transform: none;}
:where(.k-kit) .k-panel-foot{display: flex; gap: 8px; align-items: center; justify-content: flex-end; padding: 12px 20px; border-top: 1px solid var(--line-soft);}
:where(.k-kit) .k-note{display: flex; flex-direction: column; gap: 4px; border-radius: 10px; padding: 10px 12px; background: var(--sand-wash); font-size: var(--fs-body); line-height: 1.45;}
:where(.k-kit) .k-note.quiet,:where(.k-kit) .k-callout.quiet{background: var(--quiet);}
:where(.k-kit) .k-note.pin{background: var(--note-wash); border: 1px solid var(--note-line);}
:where(.k-kit) .k-callout{font-size: var(--fs-small); line-height: 1.45; border-radius: var(--r-control); padding: 8px 10px;}
:where(.k-kit) .k-callout.info{color: var(--navy); background: var(--navy-wash); border: 1px solid var(--navy-line);}
:where(.k-kit) .k-callout.warn{color: var(--text); background: var(--terra-tint); border: 1px solid var(--terra-line);}
:where(.k-kit) .k-callout.k-row-callout{display: flex; align-items: center; gap: 12px; padding: 10px 14px; color: var(--text);}
:where(.k-kit) .k-callout.k-row-callout .k-two > b{font-weight: 600;}
:where(.k-kit) .k-kind-books{--kind: var(--gold); --kind-ink: var(--gold-ink); --kind-tint: color-mix(in srgb, var(--gold) 24%, var(--surface));}
:where(.k-kit) .k-kind-message{--kind: var(--plum); --kind-tint: var(--plum-tint);}
:where(.k-kit) .k-kind-task{--kind: var(--olive); --kind-tint: var(--olive-tint);}
:where(.k-kit) .k-kind-file{--kind: var(--sand);  --kind-tint: var(--sand-tint);}
:where(.k-kit) .k-kind-meeting{--kind: var(--text-2); --kind-tint: var(--surface);}
:where(.k-kit) .k-tile[class*="k-kind-"]{background: var(--kind-tint); color: var(--kind-ink, var(--kind));}
:where(.k-kit) .k-tile.k-kind-meeting{box-shadow: inset 0 0 0 1px var(--line);}
:where(.k-kit) .k-card.k-proposed{background: var(--quiet);}
:where(.k-kit) .k-card.k-proposed .k-note.quiet{background: var(--surface); border: 1px solid var(--line-soft);}
:where(.k-kit) .k-btn.k-decline{border-color: transparent; background: transparent; color: var(--text-2);}
:where(.k-kit) .k-btn.k-decline:hover{color: var(--terra); background: var(--terra-tint); border-color: transparent;}
:where(.k-kit) .k-channels{padding-bottom: 14px; container-type: inline-size;}
:where(.k-kit) .k-channels > .k-ch-group{display: flex; flex-direction: column; gap: 8px; padding: 12px 16px 0;}
:where(.k-kit) .k-channels > .k-ch-group + .k-ch-group{margin-top: 6px; border-top: 1px solid var(--line-soft); padding-top: 12px;}
:where(.k-kit) .k-ch-item{display: flex; flex-direction: column; gap: 6px; min-width: 0;}
:where(.k-kit) .k-ch-item + .k-ch-item{margin-top: 6px;}
:where(.k-kit) .k-ch-line{display: flex; align-items: center; gap: 8px; min-width: 0;}
:where(.k-kit) .k-ch-line > .k-input{flex: 1 1 auto; min-width: 0;}
:where(.k-kit) .k-ch-line > .k-select{flex: 0 0 150px; min-width: 0; height: 30px;}
:where(.k-kit) .k-ch-address{display: grid; grid-template-columns: minmax(0, 1fr) 72px 84px; gap: 8px;}
:where(.k-kit) .k-ch-address > .k-ch-wide{grid-column: 1 / -1;}
:where(.k-kit) .k-ch-line > button.k-link{background: none; border: 0; padding: 0; margin: 0; min-height: 0; font: inherit; font-size: var(--fs-label); cursor: pointer; white-space: nowrap; flex: none;}
:where(.k-kit) .k-channels > .k-ch-adds{display: flex; flex-wrap: wrap; gap: 6px; padding: 12px 16px 0; margin-top: 6px; border-top: 1px solid var(--line-soft);}
@container (min-width: 560px){:where(.k-kit) .k-ch-item{flex-direction: row; align-items: center; gap: 8px;}:where(.k-kit) .k-ch-item > .k-input,:where(.k-kit) .k-ch-item > .k-ch-address{flex: 1 1 auto; min-width: 0;}:where(.k-kit) .k-ch-item > .k-ch-line{flex: 0 0 300px;}:where(.k-kit) .k-ch-item > .k-ch-line:only-child{flex: 1 1 auto;}:where(.k-kit) .k-ch-item:has(> .k-ch-address){align-items: flex-end;}:where(.k-kit) .k-ch-address{grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 80px 110px;}:where(.k-kit) .k-ch-address > .k-ch-wide{grid-column: span 2;}:where(.k-kit) .k-ch-address > :nth-child(3){grid-column: span 2;}:where(.k-kit) .k-ch-item:has(> .k-ch-address) > .k-ch-line{padding-bottom: 2px;}}
:where(.k-kit) .k-pagebar .k-crumb{min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;}
:where(.k-kit) .k-pagebar:has(.k-seg-field) > .k-crumb{flex: 1 1 0;}
:where(.k-kit) .k-band{display: flex; flex-wrap: wrap; align-items: center; gap: 10px 28px; padding: 10px 24px; background: var(--surface); border-bottom: 1px solid var(--line); min-width: 0;}
:where(.k-kit) .k-band.k-figures{gap: 0; padding: 0; align-items: stretch;}
:where(.k-kit) .k-figures > .k-figure{padding: 12px 24px; min-width: 150px; border-right: 1px solid var(--line-soft);}
:where(.k-kit) .k-figures > .k-figure:last-child{border-right: 0;}
:where(.k-kit) .k-head + .k-band.k-figures > .k-figure:first-child{padding-left: var(--gutter);}
:where(.k-kit) .k-figures > .k-figure > span{font-size: .75rem; color: var(--text-3);}
:where(.k-kit) .k-figure > .k-t2,:where(.k-kit) .k-figure > small{font-size: .75rem;}
:where(.k-kit) a.k-figure{color: inherit; text-decoration: none;}
:where(.k-kit) a.k-figure:hover{background: var(--ground);}
:where(.k-kit) a.k-figure:focus-visible{outline: none; box-shadow: inset var(--focus-ring);}
:where(.k-kit) .k-figure .k-short{display: none;}
@media (max-width: 640px){:where(.k-kit) .k-figures.four{flex-wrap: nowrap; overflow-x: visible;}:where(.k-kit) .k-figures.four > .k-figure{flex: 1 1 0; min-width: 0; padding: 10px 6px;}:where(.k-kit) .k-figures.four > .k-figure:first-child{padding-left: 16px;}:where(.k-kit) .k-figures.four .k-long{display: none;}:where(.k-kit) .k-figures.four .k-short{display: inline;}}
:where(.k-kit) .k-head.bare + .k-work{border-top: 1px solid var(--line);}
:where(.k-kit) .k-dock .k-panel-foot{position: sticky; bottom: 0; background: var(--surface); margin: 0;}
:where(.k-kit) .k-dock > #peekc:not([hidden]):has(> .k-panel-foot){flex: 1 0 auto; display: flex; flex-direction: column;}
:where(.k-kit) .k-dock > #peekc > .k-panel-foot{margin-top: auto;}
:where(.k-kit) #peekb{background: transparent;}
:where(.k-kit) #peekp{width: min(var(--panel), 94vw); padding: 0; display: flex; flex-direction: column; background: var(--surface); box-shadow: var(--shadow-panel);}
:where(.k-kit) #peekp > #peekc{flex: 1 0 auto; display: flex; flex-direction: column; padding: 18px 20px;}
:where(.k-kit) #peekp > #peekc > .k-panel-foot{margin-top: auto; position: sticky; bottom: 0; background: var(--surface);}
:where(.k-kit) .k-head .pop.new-task{width: min(420px, calc(100vw - 32px));}
:where(.k-kit) #peekp:focus{outline: none;}
:where(.k-kit) :where(#peekp) a{color: var(--navy); text-decoration: none;}
:where(.k-kit) .k-aside.k-review-rail{width: 460px;}
@media (min-width: 1081px){:where(.k-kit) .k-col.k-file-col{position: sticky; top: 12px; align-self: flex-start;}}
@media (min-width: 1360px){:where(.k-kit) .k-aside.k-review-rail.wide{width: 560px;}}
@media (max-width: 720px){:where(.k-kit) .k-col.k-file-col{display: none;}}
@media (max-width: 900px){:where(.k-kit) .k-aside.k-review-rail{width: auto;}}
:where(.k-kit) .xrow{display: flex;}
:where(.k-kit) .xcell{flex: 1; min-width: 0; border: 1px solid var(--line); margin: -1px 0 0 -1px; padding: 4px 8px 5px; background: var(--surface); position: relative;}
:where(.k-kit) .xcell label{display: block; font-size: .625rem; text-transform: uppercase; letter-spacing: .02em; color: var(--text-3); margin-bottom: 1px;}
:where(.k-kit) .xrow .xcell input:not([type="checkbox"]),:where(.k-kit) .xrow .xcell select{border: 0; outline: none; width: 100%; font-size: var(--fs-body); padding: 0; background: transparent; border-radius: 0; min-height: 0; height: auto; box-shadow: none;}
:where(.k-kit) .xcell input[inputmode="decimal"]{text-align: right; font-variant-numeric: tabular-nums;}
:where(.k-kit) .xcell:focus-within{background: var(--navy-wash, var(--quiet));}
:where(.k-kit) .xcell.ok{background: var(--st-ok-tint);}
:where(.k-kit) .xcell.ok::after{content: "\2713"; position: absolute; top: 3px; right: 6px; color: var(--st-ok); font-size: .625rem;}
@media (max-width: 900px){:where(.k-kit) .k-pagebar .k-crumb a,:where(.k-kit) .k-pagebar .k-crumb span,:where(.k-kit) .k-pagebar-note{display: none;}:where(.k-kit) .k-band{flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; padding-inline: 16px;}:where(.k-kit) .k-band:has(.k-search){flex-wrap: wrap; overflow-x: visible; row-gap: 10px;}:where(.k-kit) .k-band:has(.k-search) > form:has(> .k-search),:where(.k-kit) .k-band > .k-search{flex: 1 1 100%;}:where(.k-kit) .k-band:has(.k-search) > form > .k-search,:where(.k-kit) .k-band > .k-search{flex: 1 1 auto; width: 100%;}:where(.k-kit) .k-band:has(.k-search) > form:has(.k-seg){min-width: 0; max-width: 100%;}:where(.k-kit) .k-band:has(.k-search) .k-seg{max-width: 100%; overflow-x: auto; scrollbar-width: none;}:where(.k-kit) .k-band:has(.k-search) > .k-grow{display: none;}:where(.k-kit) .k-band:has(> .k-band-figs){flex-wrap: wrap; overflow-x: visible; row-gap: 10px;}:where(.k-kit) .k-band:has(> .k-band-figs) > .k-seg{max-width: 100%;}:where(.k-kit) .k-band.k-figures:not(.four){display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 0; overflow: visible;}:where(.k-kit) .k-band.k-figures.four{padding: 0;}:where(.k-kit) .k-figures:not(.four) > .k-figure{min-width: 0; padding: 10px 16px;}:where(.k-kit) .k-figures.four > .k-figure{flex: none; min-width: 0; padding: 10px 16px;}:where(.k-kit) .k-figures:not(.four) > .k-figure:nth-child(2n){border-right: 0;}:where(.k-kit) .k-figures:not(.four) > .k-figure:nth-child(n+3){border-top: 1px solid var(--line-soft);}:where(.k-kit) .k-figures:not(.four) > .k-figure:last-child:nth-child(odd){grid-column: 1 / -1;}:where(.k-kit) .k-head + .k-band.k-figures:not(.four) > .k-figure:nth-child(odd){padding-left: var(--gutter);}}
@media (max-width: 640px){:where(.k-kit) .k-pagebar-actions > .k-seg{flex: 0 1 auto; min-width: 0; overflow-x: auto; scrollbar-width: none;}:where(.k-kit) .k-pagebar-actions > :last-child:is(details, .k-btn){margin-left: auto;}:where(.k-kit) .k-pagebar-actions:has(> .k-seg-field) > .k-seg{flex: none; overflow-x: visible;}:where(.k-kit) .k-section-head:has(> .k-seg, > .k-head-row){flex-wrap: wrap; row-gap: 8px;}:where(.k-kit) .k-section-head:has(> .k-seg, > .k-head-row)::after{content: ""; flex-basis: 100%; order: 9;}:where(.k-kit) .k-section-head > h2{min-width: 0;}:where(.k-kit) .k-section-head > .k-seg{order: 10; max-width: 100%; overflow-x: auto; scrollbar-width: none;}:where(.k-kit) .k-section-head > .k-head-row{order: 10; max-width: 100%; flex-wrap: wrap; row-gap: 8px;}}
:where(.k-kit) .k-qbar-tools details.k-picker > summary{white-space: nowrap;}
:where(.k-kit) .k-list{background: var(--surface); min-width: 0;}
:where(.k-kit) .k-list + .k-list{margin-top: 18px;}
:where(.k-kit) .k-list > .k-section-head{margin: 0; padding: 12px 24px 8px; justify-content: flex-start;}
:where(.k-kit) .k-list > .k-section-head h2{font-size: var(--fs-section);}
:where(.k-kit) .k-list > .k-section-head > :last-child:not(h2):not(.k-badge){margin-left: auto;}
:where(.k-kit) .k-list.k-flush > .k-section-head{padding-top: 8px;}
:where(.k-kit) .k-list > table,:where(.k-kit) .k-list > .tscroll > table{width: 100%; border: 0; border-radius: 0;}
:where(.k-kit) .k-list > .tscroll{border: 0; border-radius: 0; box-shadow: none;}
:where(.k-kit) .k-list table :is(th, td):first-child{padding-left: 24px;}
:where(.k-kit) .k-list table :is(th, td):last-child{padding-right: 24px;}
:where(.k-kit) .k-list > .k-row,:where(.k-kit) .k-list > * > .k-row{padding: 4px 24px; min-height: 44px; border-top: 1px solid var(--line-soft);}
:where(.k-kit) .k-list-foot .k-per > .k-menu{top: auto; bottom: calc(100% + var(--menu-gap));}
:where(.k-kit) .k-list-foot .k-btn[aria-disabled="true"]{opacity: .4; pointer-events: none;}
@media (max-width: 900px){:where(.k-kit) .k-list > .k-section-head,:where(.k-kit) .k-list-foot{padding-inline: 16px;}:where(.k-kit) .k-list table :is(th, td):first-child{padding-left: 16px;}:where(.k-kit) .k-list table :is(th, td):last-child{padding-right: 16px;}:where(.k-kit) .k-list > .k-row,:where(.k-kit) .k-list > * > .k-row{padding-inline: 16px;}}
:where(.k-kit) :is(.k-dt, .tscroll) td:has(input, select, textarea, details, form, button, .k-btn){height: var(--row-table); padding-block: 0;}
:where(.k-kit) .k-dt.dense td .k-chip{padding-block: 0;}
:where(.k-kit) :is(.k-dt, .tscroll) tbody tr:has(.k-two > small:not(:empty)) > td:not(:has(input, select, textarea, details, form, button, .k-btn)){padding-block: var(--pad-row-list);}
:where(.k-kit) :is(.k-dt, .tscroll) tbody tr:has(.k-two > small:not(:empty)) > td:has(input, select, textarea, details, form, button, .k-btn){height: var(--row-list);}
:where(.k-kit) .k-list-views > .k-menu{right: auto; width: max-content; min-width: 240px; max-width: min(320px, calc(100vw - 32px));}
:where(.k-kit) .k-list-views .k-option[data-icon-end]::after{margin-left: auto; opacity: .55;}
:where(.k-kit) .k-list-views .k-option.add + .k-option.add{border-top: 0; border-radius: 6px;}
:where(.k-kit) .k-menu.k-list-filter{width: 330px; max-width: calc(100vw - 32px);}
:where(.k-kit) .k-menu.k-list-columns{max-height: min(60vh, 520px); overflow-y: auto;}
:where(.k-kit) .k-menu-form > .k-btn{justify-self: end;}
:where(.k-kit) .k-two{display: flex; flex-direction: column; min-width: 0; line-height: 1.3;}
:where(.k-kit) .k-two > :first-child{font-size: var(--fs-body); color: var(--text); overflow: hidden; text-overflow: ellipsis;}
:where(.k-kit) .k-two > small{font-size: .75rem; color: var(--text-3); overflow: hidden; text-overflow: ellipsis;}
:where(.k-kit) .k-two.k-wrap > small{white-space: nowrap;}
:where(.k-kit) .k-two.k-wrap.k-sub-wrap > small{white-space: normal;}
:where(.k-kit) .k-two.k-wrap > small.k-wrap{white-space: normal; overflow-wrap: anywhere;}
:where(.k-kit) .k-two > .k-wrap:first-child{white-space: normal;}
:where(.k-kit) .k-two > span.k-warn-text{color: var(--terra); font-weight: inherit;}
:where(.k-kit) .k-filters{display: flex; flex-wrap: wrap; gap: 6px; align-items: center; padding: 0 24px 12px;}
:where(.k-kit) .k-filters button,:where(.k-kit) .k-filters a{border: 1px solid var(--line); background: var(--surface); border-radius: var(--r-pill); font-size: .78125rem; padding: 4px 10px; color: var(--text-2); text-decoration: none; white-space: nowrap;}
:where(.k-kit) .k-filters b{font-weight: 600; color: var(--text);}
:where(.k-kit) .k-filters :is(button, a):hover{background: var(--surface); border-color: var(--control-strong); color: var(--text);}
:where(.k-kit) .k-filters [aria-pressed="true"],:where(.k-kit) .k-filters [aria-current]{background: var(--navy-tint); border-color: var(--navy-ring); color: var(--navy); box-shadow: none;}
@media (max-width: 900px){:where(.k-kit) .k-filters{flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; padding-inline: 16px;}}
@media (max-width: 900px){:where(.k-kit) .k-section-head > h2:has(+ .k-chip-row){flex: none;}:where(.k-kit) .k-section-head > .k-chip-row{min-width: 0; flex-wrap: nowrap;}:where(.k-kit) .k-chip-row > .k-filters{flex: 1 1 0; min-width: 0; padding: 0;}}
:where(.k-kit) .k-pgroup{padding: 14px 0; border-bottom: 1px solid var(--line-soft);}
:where(.k-kit) .k-pgroup:last-child{border-bottom: 0;}
:where(.k-kit) .k-pgroup-label{font-size: .71875rem; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: var(--text-4); margin: 0 0 10px;}
:where(.k-kit) .k-pgroup > .k-table{border: 0; border-radius: 0; background: none;}
:where(.k-kit) .k-pgroup > .k-table .k-tr{padding-inline: 0;}
:where(.k-kit) .k-pgroup > .k-table .k-tr.head{background: none;}
:where(.k-kit) .k-prow{display: grid; grid-template-columns: 118px minmax(0, 1fr); gap: 6px 10px; align-items: center; margin-bottom: 10px;}
:where(.k-kit) .k-prow:last-child{margin-bottom: 0;}
:where(.k-kit) .k-prow > label,:where(.k-kit) .k-prow > .k-plabel{font-size: .8125rem; color: var(--text-2);}
:where(.k-kit) .k-prow > .k-hint,:where(.k-kit) .k-prow > .k-field-err{grid-column: 2;}
:where(.k-kit) .k-hint{font-size: .75rem; color: var(--text-3); line-height: 1.4;}
:where(.k-kit) details.k-card.k-fold > summary{min-height: 0; padding: 12px 16px 10px; font-size: var(--fs-section); border-radius: 0;}
:where(.k-kit) details.k-card.k-fold[open] > summary{margin: 0; border-bottom: 1px solid var(--line-soft);}
:where(.k-kit) .k-money{display: flex; align-items: center; gap: 4px; height: 34px; border: 1px solid var(--control); border-radius: var(--r-control); background: var(--surface); padding: 0 10px;}
:where(.k-kit) .k-money:focus-within{border-color: var(--navy); box-shadow: var(--focus-ring);}
:where(.k-kit) .k-money > span{color: var(--text-3); font-size: var(--fs-body);}
:where(.k-kit) .k-money > input{flex: 1 1 auto; min-width: 3ch; height: 100%; border: 0; outline: 0; padding: 0; background: transparent; font: inherit; font-size: var(--fs-body); font-variant-numeric: tabular-nums; box-shadow: none;}
:where(.k-kit) .k-money > small{color: var(--text-3); font-size: .75rem; white-space: nowrap;}
:where(.k-kit) .k-field-row > .k-money{padding: 0 8px; min-width: 0;}
:where(.k-kit) .k-field-row > .k-money > input{width: 3ch; flex: 1 1 3ch;}
:where(.k-kit) .k-tr .k-money > input{width: 8ch;}
:where(.k-kit) .k-panel .k-radio-seg:has(> label:nth-child(4)){display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: none;}
:where(.k-kit) .k-panel .k-radio-seg:has(> label:nth-child(4)) > label{text-align: center; white-space: normal;}
:where(.k-kit) .k-panel-foot .k-end{margin-left: auto;}
:where(.k-kit) .k-panel-foot{justify-content: flex-start;}
:where(.k-kit) .k-panel-foot .k-kbd{margin-left: 4px;}
:where(.k-kit) [data-keys] tbody tr,:where(.k-kit) [data-keys] .k-row{cursor: default;}
:where(.k-kit) tr.k-cur > td,:where(.k-kit) .k-row.k-cur{background: var(--navy-wash);}
:where(.k-kit) tr.k-cur > td:first-child,:where(.k-kit) .k-row.k-cur{position: relative;}
:where(.k-kit) tr.k-cur > td:first-child::before,:where(.k-kit) .k-row.k-cur::before{content: ""; position: absolute; left: 3px; top: 7px; bottom: 7px; width: 3px; border-radius: 3px; background: var(--navy);}
:where(.k-kit) .k-toast{font-family: var(--font); position: fixed; left: 50%; bottom: 22px; transform: translateX(-50%); background: var(--ink); color: var(--on-ink-soft); border-radius: 10px;
  padding: 9px 10px 9px 16px; display: flex; align-items: center; gap: 14px; font-size: var(--fs-body); box-shadow: var(--shadow-toast); z-index: 50; white-space: nowrap;
  animation: k-in .18s ease-out;}
:where(.k-kit) .k-toast button{background: none; border: 0; color: var(--gold); font-weight: 600; font-size: var(--fs-body); display: inline-flex; gap: 8px; align-items: center; padding: 4px 6px; border-radius: 6px;}
:where(.k-kit) .k-toast button:hover{background: var(--ink-3);}
@keyframes k-in{ from { opacity: 0; transform: translate(-50%, 8px); } to { opacity: 1; transform: translate(-50%, 0); } }
@media (prefers-reduced-motion: reduce){:where(.k-kit) .k-toast{animation: none;}}
:where(.k-kit) .k-toast .k-kbd,:where(.k-kit) .k-btn.primary .k-kbd{background: transparent; border-color: rgba(255,255,255,.3); color: rgba(255,255,255,.8);}
@media (max-width: 640px){:where(.k-kit) .k-toast{left: 16px; right: 16px; transform: none; justify-content: space-between; white-space: normal; animation-name: k-in-phone;}:where(.k-kit) .k-toast > span:first-child{min-width: 0; overflow-wrap: anywhere;}:where(.k-kit) .k-toast button{flex-shrink: 0;}:where(.k-kit) .k-toast .k-kbd{display: none;}}
@keyframes k-in-phone{ from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@keyframes k-spin{ to { transform: rotate(360deg); } }
@keyframes k-slide{ from { transform: translateX(-100%); } to { transform: translateX(290%); } }
:where(.k-kit) :is(.k-btn, button, input[type="submit"])[aria-busy="true"],:where(.k-kit) :is(.k-btn, button, input[type="submit"])[aria-busy="true"]:hover{opacity: 1; background: var(--quiet); border-color: var(--line); color: var(--text-3) !important; cursor: progress;}
:where(.k-kit) :is(.k-btn, button)[aria-busy="true"]::before,:where(.k-kit) .k-spin{content: ""; display: inline-block; width: 13px; height: 13px; flex-shrink: 0; box-sizing: border-box; border-radius: 50%;
  border: 2px solid currentColor; border-right-color: transparent; background: none; -webkit-mask-image: none; mask-image: none; animation: k-spin .8s linear infinite;}
:where(.k-kit) button:not(.k-btn)[aria-busy="true"]::before{margin-right: 6px; vertical-align: -2px;}
:where(.k-kit) .k-btn.sm[aria-busy="true"]::before{width: 12px; height: 12px;}
:where(.k-kit) :is(button, input[type="submit"]):not(.k-btn)[data-k-held]:not([aria-busy]){opacity: .45; cursor: not-allowed;}
:where(.k-kit) .k-chip .k-spin{width: 10px; height: 10px; border-width: 1.5px; color: currentColor;}
:where(.k-kit) .k-card:has(> .k-loadbar){position: relative;}
:where(.k-kit) .k-card > .k-loadbar{position: absolute;}
:where(.k-kit) .k-field-err{font-size: 12px; color: var(--terra); display: flex; gap: 6px; align-items: center; font-weight: 500;}
@media (prefers-reduced-motion: reduce){:where(.k-kit) :is(.k-btn, button)[aria-busy="true"]::before,:where(.k-kit) .k-spin{animation-duration: 2.4s;}}
@media (max-width: 720px){:where(.k-kit) .k-body{flex-direction: column; padding: 12px 16px 20px;}:where(.k-kit) .k-aside,:where(.k-kit) .k-panel{width: auto;}:where(.k-kit) .k-panel.wide{width: auto;}:where(.k-kit) .k-panel.over.wide{left: 0;}:where(.k-kit) .k-cols{flex-direction: column; align-items: stretch;}:where(.k-kit) .k-fields.c4{grid-template-columns: repeat(2, minmax(0, 1fr));}:where(.k-kit) .k-table .k-tr{grid-template-columns: var(--cols-phone, var(--cols, minmax(0,1fr)));}:where(.k-kit) .k-tr > .k-wide{display: none;}:where(.k-kit) .k-tr .k-narrow{display: block;}:where(.k-kit) .k-tr:not(.k-contact-card .k-tr) > .k-wrap:has(> small.k-narrow:not(:empty)){padding-top: 0; padding-bottom: 0;}:where(.k-kit) .k-tr:not(.head):has(.k-two > small.k-narrow:not(:empty)){min-height: var(--row-list); padding-top: 4px; padding-bottom: 4px;}:where(.k-kit) .k-table.k-edit .k-tr.head{display: none;}:where(.k-kit) .k-table.k-edit .k-tr:not(.head){display: flex; flex-wrap: wrap; gap: 8px; padding-top: 10px; padding-bottom: 10px;}:where(.k-kit) .k-table.k-edit .k-tr:not(.head) > *{flex: 1 1 140px; min-width: 0;}:where(.k-kit) .k-table.k-edit .k-tr:not(.head) > :first-child{flex-basis: 100%;}:where(.k-kit) .k-table.k-edit .k-tr:not(.head) > .k-sentence{flex-basis: 220px;}:where(.k-kit) .k-table:where([style*="px "]:not(.k-edit):not([style*="--cols-phone"]):not(:has(> .k-tr > .k-wide)):has(> .k-tr > :nth-child(3))){overflow-x: auto; overflow-y: hidden;}:where(.k-kit) .k-table:where([style*="px "]:not(.k-edit):not([style*="--cols-phone"]):not(:has(> .k-tr > .k-wide)):has(> .k-tr > :nth-child(3))) > .k-tr{min-width: var(--table-min, 640px);}}
:where(.k-kit) .k-seg a{font-size: .8125rem; line-height: normal; padding: 5px 12px; border-radius: var(--r-small); color: var(--text-2) !important; font-weight: 400; white-space: nowrap; text-decoration: none !important;}
:where(.k-kit) .k-seg a:hover{color: var(--text) !important;}
:where(.k-kit) .k-seg a[aria-current="page"]{background: var(--surface); color: var(--text) !important; box-shadow: 0 1px 2px rgba(22,24,29,.08);}
:where(.k-kit) .k-seg a:focus-visible{outline: none; box-shadow: var(--focus-ring);}
:where(.k-kit) [data-icon]::before,:where(.k-kit) [data-icon-end]::after{content: ""; width: 15px; height: 15px; flex-shrink: 0; background: currentColor;
  -webkit-mask: var(--k-icon) center / contain no-repeat; mask: var(--k-icon) center / contain no-repeat;}
:where(.k-kit) [data-icon-end]::after{-webkit-mask-image: var(--k-icon-end); mask-image: var(--k-icon-end);}
:where(.k-kit) .k-btn.sm[data-icon]::before,:where(.k-kit) .k-btn.sm[data-icon-end]::after{width: 14px; height: 14px;}
:where(.k-kit) .k-btn.sm .k-icon{width: 14px; height: 14px;}
:where(.k-kit) [data-icon="today"]{--k-icon: url("/kit-icons/house.svg");}
:where(.k-kit) [data-icon-end="today"]{--k-icon-end: url("/kit-icons/house.svg");}
:where(.k-kit) [data-icon="requests"]{--k-icon: url("/kit-icons/list-checks.svg");}
:where(.k-kit) [data-icon-end="requests"]{--k-icon-end: url("/kit-icons/list-checks.svg");}
:where(.k-kit) [data-icon="taxes"]{--k-icon: url("/kit-icons/receipt-text.svg");}
:where(.k-kit) [data-icon-end="taxes"]{--k-icon-end: url("/kit-icons/receipt-text.svg");}
:where(.k-kit) [data-icon="plan"]{--k-icon: url("/kit-icons/chart-column.svg");}
:where(.k-kit) [data-icon-end="plan"]{--k-icon-end: url("/kit-icons/chart-column.svg");}
:where(.k-kit) [data-icon="records"]{--k-icon: url("/kit-icons/notebook-tabs.svg");}
:where(.k-kit) [data-icon-end="records"]{--k-icon-end: url("/kit-icons/notebook-tabs.svg");}
:where(.k-kit) [data-icon="business"]{--k-icon: url("/kit-icons/building-2.svg");}
:where(.k-kit) [data-icon-end="business"]{--k-icon-end: url("/kit-icons/building-2.svg");}
:where(.k-kit) [data-icon="work"]{--k-icon: url("/kit-icons/briefcase.svg");}
:where(.k-kit) [data-icon-end="work"]{--k-icon-end: url("/kit-icons/briefcase.svg");}
:where(.k-kit) [data-icon="documents"]{--k-icon: url("/kit-icons/folder.svg");}
:where(.k-kit) [data-icon-end="documents"]{--k-icon-end: url("/kit-icons/folder.svg");}
:where(.k-kit) [data-icon="messages"]{--k-icon: url("/kit-icons/message-square.svg");}
:where(.k-kit) [data-icon-end="messages"]{--k-icon-end: url("/kit-icons/message-square.svg");}
:where(.k-kit) [data-icon="message"]{--k-icon: url("/kit-icons/message-square.svg");}
:where(.k-kit) [data-icon-end="message"]{--k-icon-end: url("/kit-icons/message-square.svg");}
:where(.k-kit) [data-icon="questions"]{--k-icon: url("/kit-icons/message-circle-question.svg");}
:where(.k-kit) [data-icon-end="questions"]{--k-icon-end: url("/kit-icons/message-circle-question.svg");}
:where(.k-kit) [data-icon="question"]{--k-icon: url("/kit-icons/message-circle-question.svg");}
:where(.k-kit) [data-icon-end="question"]{--k-icon-end: url("/kit-icons/message-circle-question.svg");}
:where(.k-kit) [data-icon="community"]{--k-icon: url("/kit-icons/users.svg");}
:where(.k-kit) [data-icon-end="community"]{--k-icon-end: url("/kit-icons/users.svg");}
:where(.k-kit) [data-icon="people"]{--k-icon: url("/kit-icons/users-round.svg");}
:where(.k-kit) [data-icon-end="people"]{--k-icon-end: url("/kit-icons/users-round.svg");}
:where(.k-kit) [data-icon="profile"]{--k-icon: url("/kit-icons/circle-user.svg");}
:where(.k-kit) [data-icon-end="profile"]{--k-icon-end: url("/kit-icons/circle-user.svg");}
:where(.k-kit) [data-icon="statements"]{--k-icon: url("/kit-icons/file-spreadsheet.svg");}
:where(.k-kit) [data-icon-end="statements"]{--k-icon-end: url("/kit-icons/file-spreadsheet.svg");}
:where(.k-kit) [data-icon="book"]{--k-icon: url("/kit-icons/book-open.svg");}
:where(.k-kit) [data-icon-end="book"]{--k-icon-end: url("/kit-icons/book-open.svg");}
:where(.k-kit) [data-icon="meeting"]{--k-icon: url("/kit-icons/calendar-clock.svg");}
:where(.k-kit) [data-icon-end="meeting"]{--k-icon-end: url("/kit-icons/calendar-clock.svg");}
:where(.k-kit) [data-icon="meetings"]{--k-icon: url("/kit-icons/calendar-clock.svg");}
:where(.k-kit) [data-icon-end="meetings"]{--k-icon-end: url("/kit-icons/calendar-clock.svg");}
:where(.k-kit) [data-icon="billing"]{--k-icon: url("/kit-icons/receipt.svg");}
:where(.k-kit) [data-icon-end="billing"]{--k-icon-end: url("/kit-icons/receipt.svg");}
:where(.k-kit) [data-icon="stewardship"]{--k-icon: url("/kit-icons/heart.svg");}
:where(.k-kit) [data-icon-end="stewardship"]{--k-icon-end: url("/kit-icons/heart.svg");}
:where(.k-kit) [data-icon="heart"]{--k-icon: url("/kit-icons/heart.svg");}
:where(.k-kit) [data-icon-end="heart"]{--k-icon-end: url("/kit-icons/heart.svg");}
:where(.k-kit) [data-icon="menu"]{--k-icon: url("/kit-icons/menu.svg");}
:where(.k-kit) [data-icon-end="menu"]{--k-icon-end: url("/kit-icons/menu.svg");}
:where(.k-kit) [data-icon="household"]{--k-icon: url("/kit-icons/users.svg");}
:where(.k-kit) [data-icon-end="household"]{--k-icon-end: url("/kit-icons/users.svg");}
:where(.k-kit) [data-icon="staff"]{--k-icon: url("/kit-icons/id-card.svg");}
:where(.k-kit) [data-icon-end="staff"]{--k-icon-end: url("/kit-icons/id-card.svg");}
:where(.k-kit) [data-icon="opportunity"]{--k-icon: url("/kit-icons/target.svg");}
:where(.k-kit) [data-icon-end="opportunity"]{--k-icon-end: url("/kit-icons/target.svg");}
:where(.k-kit) [data-icon="proposal"]{--k-icon: url("/kit-icons/file-text.svg");}
:where(.k-kit) [data-icon-end="proposal"]{--k-icon-end: url("/kit-icons/file-text.svg");}
:where(.k-kit) [data-icon="engagement"]{--k-icon: url("/kit-icons/file-signature.svg");}
:where(.k-kit) [data-icon-end="engagement"]{--k-icon-end: url("/kit-icons/file-signature.svg");}
:where(.k-kit) [data-icon="wealth"]{--k-icon: url("/kit-icons/chart-pie.svg");}
:where(.k-kit) [data-icon-end="wealth"]{--k-icon-end: url("/kit-icons/chart-pie.svg");}
:where(.k-kit) [data-icon="finance"]{--k-icon: url("/kit-icons/landmark.svg");}
:where(.k-kit) [data-icon-end="finance"]{--k-icon-end: url("/kit-icons/landmark.svg");}
:where(.k-kit) [data-icon="activity"]{--k-icon: url("/kit-icons/activity.svg");}
:where(.k-kit) [data-icon-end="activity"]{--k-icon-end: url("/kit-icons/activity.svg");}
:where(.k-kit) [data-icon="audit"]{--k-icon: url("/kit-icons/shield-check.svg");}
:where(.k-kit) [data-icon-end="audit"]{--k-icon-end: url("/kit-icons/shield-check.svg");}
:where(.k-kit) [data-icon="settings"]{--k-icon: url("/kit-icons/settings.svg");}
:where(.k-kit) [data-icon-end="settings"]{--k-icon-end: url("/kit-icons/settings.svg");}
:where(.k-kit) [data-icon="fold"]{--k-icon: url("/kit-icons/chevrons-left.svg");}
:where(.k-kit) [data-icon-end="fold"]{--k-icon-end: url("/kit-icons/chevrons-left.svg");}
:where(.k-kit) [data-icon="sign-out"]{--k-icon: url("/kit-icons/log-out.svg");}
:where(.k-kit) [data-icon-end="sign-out"]{--k-icon-end: url("/kit-icons/log-out.svg");}
:where(.k-kit) [data-icon="present"]{--k-icon: url("/kit-icons/monitor.svg");}
:where(.k-kit) [data-icon-end="present"]{--k-icon-end: url("/kit-icons/monitor.svg");}
:where(.k-kit) [data-icon="overview"]{--k-icon: url("/kit-icons/layout-dashboard.svg");}
:where(.k-kit) [data-icon-end="overview"]{--k-icon-end: url("/kit-icons/layout-dashboard.svg");}
:where(.k-kit) [data-icon="explore"]{--k-icon: url("/kit-icons/git-compare.svg");}
:where(.k-kit) [data-icon-end="explore"]{--k-icon-end: url("/kit-icons/git-compare.svg");}
:where(.k-kit) [data-icon="advice"]{--k-icon: url("/kit-icons/lightbulb.svg");}
:where(.k-kit) [data-icon-end="advice"]{--k-icon-end: url("/kit-icons/lightbulb.svg");}
:where(.k-kit) [data-icon="plans"]{--k-icon: url("/kit-icons/chart-column.svg");}
:where(.k-kit) [data-icon-end="plans"]{--k-icon-end: url("/kit-icons/chart-column.svg");}
:where(.k-kit) [data-icon="insights"]{--k-icon: url("/kit-icons/sparkles.svg");}
:where(.k-kit) [data-icon-end="insights"]{--k-icon-end: url("/kit-icons/sparkles.svg");}
:where(.k-kit) [data-icon="risk"]{--k-icon: url("/kit-icons/gauge.svg");}
:where(.k-kit) [data-icon-end="risk"]{--k-icon-end: url("/kit-icons/gauge.svg");}
:where(.k-kit) [data-icon="models"]{--k-icon: url("/kit-icons/layers.svg");}
:where(.k-kit) [data-icon-end="models"]{--k-icon-end: url("/kit-icons/layers.svg");}
:where(.k-kit) [data-icon="assumptions"]{--k-icon: url("/kit-icons/sliders-horizontal.svg");}
:where(.k-kit) [data-icon-end="assumptions"]{--k-icon-end: url("/kit-icons/sliders-horizontal.svg");}
:where(.k-kit) [data-icon="calendar"]{--k-icon: url("/kit-icons/calendar.svg");}
:where(.k-kit) [data-icon-end="calendar"]{--k-icon-end: url("/kit-icons/calendar.svg");}
:where(.k-kit) [data-icon="file"]{--k-icon: url("/kit-icons/file.svg");}
:where(.k-kit) [data-icon-end="file"]{--k-icon-end: url("/kit-icons/file.svg");}
:where(.k-kit) [data-icon="form"]{--k-icon: url("/kit-icons/clipboard-list.svg");}
:where(.k-kit) [data-icon-end="form"]{--k-icon-end: url("/kit-icons/clipboard-list.svg");}
:where(.k-kit) [data-icon="task"]{--k-icon: url("/kit-icons/square-check.svg");}
:where(.k-kit) [data-icon-end="task"]{--k-icon-end: url("/kit-icons/square-check.svg");}
:where(.k-kit) [data-icon="note"]{--k-icon: url("/kit-icons/sticky-note.svg");}
:where(.k-kit) [data-icon-end="note"]{--k-icon-end: url("/kit-icons/sticky-note.svg");}
:where(.k-kit) [data-icon="mail"]{--k-icon: url("/kit-icons/mail.svg");}
:where(.k-kit) [data-icon-end="mail"]{--k-icon-end: url("/kit-icons/mail.svg");}
:where(.k-kit) [data-icon="inbox"]{--k-icon: url("/kit-icons/inbox.svg");}
:where(.k-kit) [data-icon-end="inbox"]{--k-icon-end: url("/kit-icons/inbox.svg");}
:where(.k-kit) [data-icon="phone"]{--k-icon: url("/kit-icons/phone.svg");}
:where(.k-kit) [data-icon-end="phone"]{--k-icon-end: url("/kit-icons/phone.svg");}
:where(.k-kit) [data-icon="video"]{--k-icon: url("/kit-icons/video.svg");}
:where(.k-kit) [data-icon-end="video"]{--k-icon-end: url("/kit-icons/video.svg");}
:where(.k-kit) [data-icon="mic"]{--k-icon: url("/kit-icons/mic.svg");}
:where(.k-kit) [data-icon-end="mic"]{--k-icon-end: url("/kit-icons/mic.svg");}
:where(.k-kit) [data-icon="clock"]{--k-icon: url("/kit-icons/clock.svg");}
:where(.k-kit) [data-icon-end="clock"]{--k-icon-end: url("/kit-icons/clock.svg");}
:where(.k-kit) [data-icon="pin"]{--k-icon: url("/kit-icons/pin.svg");}
:where(.k-kit) [data-icon-end="pin"]{--k-icon-end: url("/kit-icons/pin.svg");}
:where(.k-kit) [data-icon="lock"]{--k-icon: url("/kit-icons/lock.svg");}
:where(.k-kit) [data-icon-end="lock"]{--k-icon-end: url("/kit-icons/lock.svg");}
:where(.k-kit) [data-icon="list"]{--k-icon: url("/kit-icons/list.svg");}
:where(.k-kit) [data-icon-end="list"]{--k-icon-end: url("/kit-icons/list.svg");}
:where(.k-kit) [data-icon="camera"]{--k-icon: url("/kit-icons/camera.svg");}
:where(.k-kit) [data-icon-end="camera"]{--k-icon-end: url("/kit-icons/camera.svg");}
:where(.k-kit) [data-icon="person"]{--k-icon: url("/kit-icons/user-round.svg");}
:where(.k-kit) [data-icon-end="person"]{--k-icon-end: url("/kit-icons/user-round.svg");}
:where(.k-kit) [data-icon="flag"]{--k-icon: url("/kit-icons/flag.svg");}
:where(.k-kit) [data-icon-end="flag"]{--k-icon-end: url("/kit-icons/flag.svg");}
:where(.k-kit) [data-icon="arrival"]{--k-icon: url("/kit-icons/arrow-right-to-line.svg");}
:where(.k-kit) [data-icon-end="arrival"]{--k-icon-end: url("/kit-icons/arrow-right-to-line.svg");}
:where(.k-kit) [data-icon="search"]{--k-icon: url("/kit-icons/search.svg");}
:where(.k-kit) [data-icon-end="search"]{--k-icon-end: url("/kit-icons/search.svg");}
:where(.k-kit) [data-icon="plus"]{--k-icon: url("/kit-icons/plus.svg");}
:where(.k-kit) [data-icon-end="plus"]{--k-icon-end: url("/kit-icons/plus.svg");}
:where(.k-kit) [data-icon="attach"]{--k-icon: url("/kit-icons/paperclip.svg");}
:where(.k-kit) [data-icon-end="attach"]{--k-icon-end: url("/kit-icons/paperclip.svg");}
:where(.k-kit) [data-icon="upload"]{--k-icon: url("/kit-icons/upload.svg");}
:where(.k-kit) [data-icon-end="upload"]{--k-icon-end: url("/kit-icons/upload.svg");}
:where(.k-kit) [data-icon="download"]{--k-icon: url("/kit-icons/download.svg");}
:where(.k-kit) [data-icon-end="download"]{--k-icon-end: url("/kit-icons/download.svg");}
:where(.k-kit) [data-icon="eye"]{--k-icon: url("/kit-icons/eye.svg");}
:where(.k-kit) [data-icon-end="eye"]{--k-icon-end: url("/kit-icons/eye.svg");}
:where(.k-kit) [data-icon="reply"]{--k-icon: url("/kit-icons/reply.svg");}
:where(.k-kit) [data-icon-end="reply"]{--k-icon-end: url("/kit-icons/reply.svg");}
:where(.k-kit) [data-icon="send"]{--k-icon: url("/kit-icons/send.svg");}
:where(.k-kit) [data-icon-end="send"]{--k-icon-end: url("/kit-icons/send.svg");}
:where(.k-kit) [data-icon="edit"]{--k-icon: url("/kit-icons/pencil.svg");}
:where(.k-kit) [data-icon-end="edit"]{--k-icon-end: url("/kit-icons/pencil.svg");}
:where(.k-kit) [data-icon="pen"]{--k-icon: url("/kit-icons/pencil.svg");}
:where(.k-kit) [data-icon-end="pen"]{--k-icon-end: url("/kit-icons/pencil.svg");}
:where(.k-kit) [data-icon="check"]{--k-icon: url("/kit-icons/check.svg");}
:where(.k-kit) [data-icon-end="check"]{--k-icon-end: url("/kit-icons/check.svg");}
:where(.k-kit) [data-icon="sliders"]{--k-icon: url("/kit-icons/sliders-horizontal.svg");}
:where(.k-kit) [data-icon-end="sliders"]{--k-icon-end: url("/kit-icons/sliders-horizontal.svg");}
:where(.k-kit) [data-icon="x"]{--k-icon: url("/kit-icons/x.svg");}
:where(.k-kit) [data-icon-end="x"]{--k-icon-end: url("/kit-icons/x.svg");}
:where(.k-kit) [data-icon="more"]{--k-icon: url("/kit-icons/ellipsis.svg");}
:where(.k-kit) [data-icon-end="more"]{--k-icon-end: url("/kit-icons/ellipsis.svg");}
:where(.k-kit) [data-icon="copy"]{--k-icon: url("/kit-icons/copy.svg");}
:where(.k-kit) [data-icon-end="copy"]{--k-icon-end: url("/kit-icons/copy.svg");}
:where(.k-kit) [data-icon="image"]{--k-icon: url("/kit-icons/image.svg");}
:where(.k-kit) [data-icon-end="image"]{--k-icon-end: url("/kit-icons/image.svg");}
:where(.k-kit) [data-icon="external"]{--k-icon: url("/kit-icons/external-link.svg");}
:where(.k-kit) [data-icon-end="external"]{--k-icon-end: url("/kit-icons/external-link.svg");}
:where(.k-kit) [data-icon="out"]{--k-icon: url("/kit-icons/external-link.svg");}
:where(.k-kit) [data-icon-end="out"]{--k-icon-end: url("/kit-icons/external-link.svg");}
:where(.k-kit) [data-icon="external-link"]{--k-icon: url("/kit-icons/external-link.svg");}
:where(.k-kit) [data-icon-end="external-link"]{--k-icon-end: url("/kit-icons/external-link.svg");}
:where(.k-kit) [data-icon="arrow-right"]{--k-icon: url("/kit-icons/arrow-right.svg");}
:where(.k-kit) [data-icon-end="arrow-right"]{--k-icon-end: url("/kit-icons/arrow-right.svg");}
:where(.k-kit) [data-icon="next"]{--k-icon: url("/kit-icons/arrow-right.svg");}
:where(.k-kit) [data-icon-end="next"]{--k-icon-end: url("/kit-icons/arrow-right.svg");}
:where(.k-kit) [data-icon="chevron-right"]{--k-icon: url("/kit-icons/chevron-right.svg");}
:where(.k-kit) [data-icon-end="chevron-right"]{--k-icon-end: url("/kit-icons/chevron-right.svg");}
:where(.k-kit) [data-icon="chevron"]{--k-icon: url("/kit-icons/chevron-right.svg");}
:where(.k-kit) [data-icon-end="chevron"]{--k-icon-end: url("/kit-icons/chevron-right.svg");}
:where(.k-kit) [data-icon="chev"]{--k-icon: url("/kit-icons/chevron-right.svg");}
:where(.k-kit) [data-icon-end="chev"]{--k-icon-end: url("/kit-icons/chevron-right.svg");}
:where(.k-kit) [data-icon="chevron-left"]{--k-icon: url("/kit-icons/chevron-left.svg");}
:where(.k-kit) [data-icon-end="chevron-left"]{--k-icon-end: url("/kit-icons/chevron-left.svg");}
:where(.k-kit) [data-icon="chevron-down"]{--k-icon: url("/kit-icons/chevron-down.svg");}
:where(.k-kit) [data-icon-end="chevron-down"]{--k-icon-end: url("/kit-icons/chevron-down.svg");}
:where(.k-kit) [data-icon="down"]{--k-icon: url("/kit-icons/chevron-down.svg");}
:where(.k-kit) [data-icon-end="down"]{--k-icon-end: url("/kit-icons/chevron-down.svg");}
:where(.k-kit) [data-icon="chevron-up"]{--k-icon: url("/kit-icons/chevron-up.svg");}
:where(.k-kit) [data-icon-end="chevron-up"]{--k-icon-end: url("/kit-icons/chevron-up.svg");}
:where(.k-kit) [data-icon="up"]{--k-icon: url("/kit-icons/chevron-up.svg");}
:where(.k-kit) [data-icon-end="up"]{--k-icon-end: url("/kit-icons/chevron-up.svg");}
:where(.k-kit) [data-icon="arrow-up"]{--k-icon: url("/kit-icons/arrow-up.svg");}
:where(.k-kit) [data-icon-end="arrow-up"]{--k-icon-end: url("/kit-icons/arrow-up.svg");}
:where(.k-kit) .k-link[data-icon],:where(.k-kit) .k-link[data-icon-end]{display: inline-flex; align-items: center; gap: 5px; text-decoration: none;}
:where(.k-kit) .k-link[data-icon]::before,:where(.k-kit) .k-link[data-icon-end]::after{width: 14px; height: 14px;}
:where(.k-kit) .k-link:has(> .k-icon){display: inline-flex; align-items: center; gap: 5px; text-decoration: none;}
:where(.k-kit) .k-link > .k-icon{width: 14px; height: 14px;}
:where(.k-kit) .k-btn.quiet{border-color: transparent; background: transparent; color: var(--navy);}
:where(.k-kit) .k-btn.quiet:hover{background: var(--navy-wash); border-color: transparent; color: var(--navy-hover);}
:where(.k-kit) a.k-btn,:where(.k-kit) a.k-btn:hover,:where(.k-kit) a.k-btn:focus{text-decoration: none !important;}
:where(.k-kit) .k-seg[data-slide] a[aria-current="page"]{view-transition-name: k-seg-on;}
:where(.k-kit) .k-seg[data-slide="sub"] a[aria-current="page"]{view-transition-name: k-seg-sub-on;}
:where(.k-kit) ::view-transition-group(k-seg-on),:where(.k-kit) ::view-transition-group(k-seg-sub-on){animation-duration: 220ms; animation-timing-function: cubic-bezier(.2,.7,.2,1);}
:where(.k-kit) .k-seg-pill{display: none;}
@supports (anchor-name: --k){:where(.k-kit) .k-seg[data-slide]:has(> .k-seg-pill){position: relative;}:where(.k-kit) .k-seg[data-slide]:has(> .k-seg-pill) > a{position: relative; z-index: 1;}:where(.k-kit) .k-seg[data-slide]:has(> .k-seg-pill) > a[aria-current="page"]{anchor-name: --k-seg-on; background: transparent; box-shadow: none; view-transition-name: none;}:where(.k-kit) .k-seg[data-slide="sub"]:has(> .k-seg-pill) > a[aria-current="page"]{anchor-name: --k-seg-sub-on;}:where(.k-kit) .k-seg[data-slide] > .k-seg-pill{display: block; position: absolute; position-anchor: --k-seg-on; top: anchor(top); bottom: anchor(bottom); left: anchor(left); right: anchor(right);
    background: var(--surface); border-radius: var(--r-small); box-shadow: 0 1px 2px rgba(22,24,29,.08); view-transition-name: k-seg-on;}:where(.k-kit) .k-seg[data-slide="sub"] > .k-seg-pill{position-anchor: --k-seg-sub-on; view-transition-name: k-seg-sub-on;}:where(.k-kit) .k-seg[data-slide]:has(> .k-seg-pill) > a:nth-of-type(1){view-transition-name: k-seg-l1;}:where(.k-kit) .k-seg[data-slide]:has(> .k-seg-pill) > a:nth-of-type(2){view-transition-name: k-seg-l2;}:where(.k-kit) .k-seg[data-slide]:has(> .k-seg-pill) > a:nth-of-type(3){view-transition-name: k-seg-l3;}:where(.k-kit) .k-seg[data-slide]:has(> .k-seg-pill) > a:nth-of-type(4){view-transition-name: k-seg-l4;}:where(.k-kit) .k-seg[data-slide]:has(> .k-seg-pill) > a:nth-of-type(5){view-transition-name: k-seg-l5;}:where(.k-kit) .k-seg[data-slide="sub"]:has(> .k-seg-pill) > a:nth-of-type(1){view-transition-name: k-seg-sub-l1;}:where(.k-kit) .k-seg[data-slide="sub"]:has(> .k-seg-pill) > a:nth-of-type(2){view-transition-name: k-seg-sub-l2;}:where(.k-kit) .k-seg[data-slide="sub"]:has(> .k-seg-pill) > a:nth-of-type(3){view-transition-name: k-seg-sub-l3;}:where(.k-kit) .k-seg[data-slide="sub"]:has(> .k-seg-pill) > a:nth-of-type(4){view-transition-name: k-seg-sub-l4;}:where(.k-kit) .k-seg[data-slide="sub"]:has(> .k-seg-pill) > a:nth-of-type(5){view-transition-name: k-seg-sub-l5;}}
:where(.k-kit) ::view-transition-group(k-seg-l1),:where(.k-kit) ::view-transition-group(k-seg-l2),:where(.k-kit) ::view-transition-group(k-seg-l3),:where(.k-kit) ::view-transition-group(k-seg-l4),:where(.k-kit) ::view-transition-group(k-seg-l5),:where(.k-kit) ::view-transition-group(k-seg-sub-l1),:where(.k-kit) ::view-transition-group(k-seg-sub-l2),:where(.k-kit) ::view-transition-group(k-seg-sub-l3),:where(.k-kit) ::view-transition-group(k-seg-sub-l4),:where(.k-kit) ::view-transition-group(k-seg-sub-l5){animation-duration: 0s;}
:where(.k-kit) ::view-transition-group(k-page-head){animation-duration: 0s;}
:where(.k-kit) .k-seg a{transition: color .12s ease;}
:where(.k-kit) .k-seg > a.k-seg-going{color: var(--text) !important;}
:where(.k-kit) .k-seg > a.k-seg-leaving{color: var(--text-2) !important;}
:where(.k-kit) .k-seg-pill.k-seg-moving{transition: left .17s cubic-bezier(.2,.8,.2,1), width .17s cubic-bezier(.2,.8,.2,1);}
@media (prefers-reduced-motion: reduce){:where(.k-kit) .k-seg a,:where(.k-kit) .k-seg-pill.k-seg-moving{transition: none;}}
:where(.k-kit) [data-keys].k-glide tr.k-cur > td,:where(.k-kit) [data-keys].k-glide .k-row.k-cur{background: transparent;}
:where(.k-kit) [data-keys].k-glide tr.k-cur > td:first-child::before,:where(.k-kit) [data-keys].k-glide .k-row.k-cur::before{content: none;}
:where(.k-kit) tr[data-saving] > td,:where(.k-kit) .k-row[data-saving],:where(.k-kit) .k-tr[data-saving]{opacity: .55;}
:where(.k-kit) .k-work-list > .k-swap > *,:where(.k-kit) .k-body.stack > .k-swap > *,:where(.k-kit) .k-panel-body > .k-swap > *{flex-shrink: 0;}
:where(.k-kit) tr.k-settle > td,:where(.k-kit) .k-row.k-settle,:where(.k-kit) .k-tr.k-settle{background: var(--olive-tint) !important; transition: none !important;}
:where(.k-kit) tr.k-settled > td,:where(.k-kit) .k-row.k-settled,:where(.k-kit) .k-tr.k-settled{transition: background-color .65s ease;}
:where(.k-kit) [data-swap]:empty{display: none;}
@media (prefers-reduced-motion: reduce){:where(.k-kit) tr.k-settled > td,:where(.k-kit) .k-row.k-settled,:where(.k-kit) .k-tr.k-settled{transition: none;}}
:where(.k-kit) .k-fact{display: flex; flex-direction: column; gap: 2px; min-width: 0; font-size: var(--fs-body);}
:where(.k-kit) .k-fact > span{font-size: .71875rem; font-weight: 500; color: var(--text-4);}
:where(.k-kit) .k-fact > b{font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
:where(.k-kit) .k-stages{display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 4px; max-width: 640px; margin-top: 14px;}
:where(.k-kit) .k-stage{display: flex; flex-direction: column; gap: 6px; min-width: 0; font-size: var(--fs-small); color: var(--text-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
:where(.k-kit) .k-stage::before{content: ""; height: 3px; border-radius: 2px; background: var(--line);}
:where(.k-kit) .k-stage.done::before{background: var(--st-ok);}
:where(.k-kit) .k-stage[aria-current="step"]::before{background: var(--navy);}
:where(.k-kit) .k-stage b{color: var(--text); font-weight: 600;}
:where(.k-kit) .k-stages.compact .k-stage:not([aria-current]) > *{visibility: hidden;}
:where(.k-kit) .k-stages.compact .k-stage[aria-current]{overflow: visible;}
:where(.k-kit) .k-avatar{width: 24px; height: 24px; border-radius: 50%; display: inline-grid; place-items: center; flex-shrink: 0; font-size: .625rem; font-weight: 600; background: var(--neutral-tint); color: var(--text-2);}
:where(.k-kit) .k-avatar.client{background: var(--sand-tint); color: var(--sand);}
:where(.k-kit) .k-row > .k-avatar:first-child{width: 30px; height: 30px; font-size: .6875rem;}
:where(.k-kit) .k-head > .k-crumb{font-size: var(--fs-small); margin-bottom: 8px;}
:where(.k-kit) .k-subhead + .k-card + .k-subhead{margin-top: 14px;}
:where(.k-kit) .k-panel.over.fixed{position: fixed;}
:where(.k-kit) .k-fact > b > .k-picker{display: inline-block;}
:where(.k-kit) .k-compact .k-input,:where(.k-kit) .k-compact .k-select{height: 30px; min-height: 30px; padding: 0 8px; font-size: .8125rem;}
:where(.k-kit) .k-compact .k-select{padding-right: 24px;}
:where(.k-kit) .k-compact .k-card-body{padding: 10px 20px 14px; gap: 8px;}
:where(.k-kit) .k-compact .k-section-head{margin-bottom: 0; padding-top: 12px;}
:where(.k-kit) .k-compact .k-section-head h2{font-size: var(--fs-body);}
:where(.k-kit) .k-compact .k-field{gap: 4px;}
:where(.k-kit) .k-compact .k-label{font-size: .75rem;}
:where(.k-kit) .k-compact .k-table .k-tr:not(.head){min-height: 38px;}
:where(.k-kit) .k-compact .k-sentence{gap: 4px 6px;}
:where(.k-kit) .k-compact .k-sentence > .k-input.num{width: calc(4ch + 22px);}
:where(.k-kit) .k-compact .k-sentence > .k-input.num[type="number"]{width: calc(4ch + 42px);}
:where(.k-kit) .k-swatch{width: 9px; height: 9px; border-radius: 3px; flex-shrink: 0; display: inline-block;}
:where(.k-kit) .k-swatch.navy{background: var(--navy);}
:where(.k-kit) .k-swatch.olive{background: var(--olive);}
:where(.k-kit) .k-swatch.terra{background: var(--terra);}
:where(.k-kit) .k-swatch.sand{background: var(--sand-dot);}
:where(.k-kit) .k-swatch.muted{background: var(--text-4);}
:where(.k-kit) .k-swatch.light{background: var(--navy-line);}
:where(.k-kit) .k-legend{display: flex; align-items: center; gap: 14px; font-size: .75rem; color: var(--text-2);}
:where(.k-kit) .k-legend > span{display: inline-flex; align-items: center; gap: 6px; white-space: nowrap;}
:where(.k-kit) .k-svgchart + .k-legend{margin-top: 10px; flex-wrap: wrap; row-gap: 6px;}
:where(.k-kit) main:has(.k-head.k-record),:where(.k-kit) :not(.k-page):has(> .k-head.k-record){padding: 0; max-width: none;}
:where(.k-kit) :not(.k-page):has(> .k-head.k-record) > :not(.k-head, script, style){margin-left: var(--gutter); margin-right: var(--gutter);}
:where(.k-kit) :not(.k-page):has(> .k-head.k-record) > .k-head + *{margin-top: 16px;}
@media (max-width: 640px){:where(.k-kit) .k-head.k-record > .k-head-row{flex-wrap: wrap;}:where(.k-kit) .k-head.k-record > .k-head-row > .k-title{flex: 1 1 0; min-width: 0;}:where(.k-kit) .k-head.k-record > .k-head-row > .client-actions{flex: 1 1 100%;}}
@media (max-width: 640px){:where(.k-kit) .k-head:not(.k-front, .k-record) > .k-head-row:has(> .k-btn, > details, > form){flex-wrap: wrap; row-gap: 8px;}:where(.k-kit) .k-head:not(.k-front, .k-record) > .k-head-row:has(> .k-btn, > details, > form) > .k-title{flex: 1 1 100%; min-width: 0;}}
:where(.k-kit) .k-chip-row{display: flex; gap: 6px; align-items: center; margin-top: 8px; flex-wrap: wrap;}
:where(.k-kit) .k-card-body .k-chip-row,:where(.k-kit) .k-section-head .k-chip-row{margin-top: 0;}
:where(.k-kit) .k-btn.icon.faint{border-color: transparent; background: transparent; color: var(--text-4);}
:where(.k-kit) section:hover > .k-section-head .k-btn.icon.faint{color: var(--text-3);}
:where(.k-kit) .k-btn.icon.faint:hover,:where(.k-kit) .k-btn.icon.faint:focus-visible,:where(.k-kit) details[open] > .k-btn.icon.faint{color: var(--text); background: var(--navy-wash);}
:where(.k-kit) .k-ok-text{color: var(--st-ok-ink); font-weight: 600;}
:where(.k-kit) .k-avatar.navy{background: var(--navy-tint); color: var(--navy);}
:where(.k-kit) .k-avatar.olive{background: var(--olive-tint); color: var(--olive-text);}
:where(.k-kit) .k-tr > .k-wrap{overflow-wrap: anywhere;}
:where(.k-kit) .k-figure.warn > b{color: var(--terra);}
:where(.k-kit) .k-tr:has(.k-cover),:where(.k-kit) .k-row:has(.k-cover){cursor: pointer;}
:where(.k-kit) .k-tr:has(.k-cover) :is(a:not(.k-cover), button, .k-picker, input),:where(.k-kit) .k-row:has(.k-cover) :is(a:not(.k-cover), button, .k-picker, input){position: relative; z-index: 1;}
:where(.k-kit) .k-tr:has(.k-cover:focus-visible),:where(.k-kit) .k-row:has(.k-cover:focus-visible){box-shadow: inset 0 0 0 2px var(--navy-ring);}
:where(.k-kit) .k-lines:has(> span > .k-two){gap: 8px;}
:where(.k-kit) .k-tr:not(.head):has(> .k-lines, > .k-copy > .k-address){align-items: start; padding-top: 9px; padding-bottom: 9px;}
:where(.k-kit) .k-tr:hover .icon.cp,:where(.k-kit) .k-row:hover .icon.cp,:where(.k-kit) .icon.cp:focus-visible{visibility: visible;}
:where(.k-kit) .k-tr:not(.head):not(:has(input, select, textarea)) .k-btn.sm{height: 24px; min-height: 24px; padding: 0 9px; font-size: .75rem;}
:where(.k-kit) .k-tr:not(.head) > .k-actions .k-btn.sm{height: 30px; min-height: 30px; padding: 0 11px; font-size: .78125rem;}
:where(.k-kit) .k-dgrid{display: grid; grid-template-columns: repeat(var(--n, 2), minmax(0, 1fr)); margin-top: -1px;}
:where(.k-kit) .k-dgrid > .k-fact{padding: 10px 16px; border-top: 1px solid var(--line-faint); gap: 3px; margin: 0;}
:where(.k-kit) .k-dgrid > .k-fact.span{grid-column: 1 / -1;}
:where(.k-kit) .k-dgrid > .k-fact .k-input.num{max-width: 160px;}
:where(.k-kit) .k-dgrid > .k-fact[style*="--span"]{grid-column: span var(--span);}
:where(.k-kit) .k-dgrid > .k-fact > span{font-size: .75rem; font-weight: 400; color: var(--text-3);}
:where(.k-kit) .k-dgrid > .k-fact > b{font-weight: 400; font-size: .8125rem; color: var(--text);}
@media (max-width: 640px){:where(.k-kit) .k-dgrid{grid-template-columns: repeat(auto-fit, minmax(max(140px, calc(100% / var(--n, 2) - 1px)), 1fr));}:where(.k-kit) .k-dgrid > .k-fact[style*="--span"]{grid-column: 1 / -1;}}
:where(.k-kit) .k-contact-card + .k-contact-card{margin-top: 10px;}
:where(.k-kit) .k-contact-card > .k-row:first-child{align-items: flex-start;}
:where(.k-kit) .k-contact-card > .k-row:first-child > .k-link{margin-top: 1px;}
:where(.k-kit) .k-tags{display: flex; flex-wrap: wrap; gap: 4px; margin-top: 4px;}
:where(.k-kit) .k-contact-card > .k-table{border: 0; border-radius: 0; background: none;}
:where(.k-kit) .k-contact-card .k-tr{align-items: start; gap: 8px; min-height: 34px; padding: 8px 16px;}
:where(.k-kit) .k-contact-card .k-tr .k-copy{align-items: flex-start;}
:where(.k-kit) .k-contact-card .k-tr .k-copy > :first-child{white-space: normal; overflow: visible; overflow-wrap: anywhere;}
:where(.k-kit) .k-contact-card .k-tr .k-copy > .icon.cp{margin-right: -18px;}
:where(.k-kit) .k-contact-card .k-tr .k-address > span{white-space: normal; overflow: visible; overflow-wrap: anywhere;}
:where(.k-kit) .k-section-head{min-height: 28px;}
:where(.k-kit) .k-section-head .k-btn.icon.sm{width: 28px; height: 28px; min-height: 28px; margin-right: 10px;}
:where(.k-kit) .k-section-head > details.k-picker > summary.k-btn.icon{max-width: none;}
:where(.k-kit) .k-section-head .k-picker:has(> .k-btn.icon.sm),:where(.k-kit) .k-section-head > .k-btn.icon.sm{align-self: flex-end; margin-bottom: -6px;}
:where(.k-kit) .k-btn.icon[data-icon="more"]::before{width: 16px; height: 16px;}
:where(.k-kit) .k-section-head .k-filters{padding: 0;}
:where(.k-kit) .k-row:has(.k-address){padding-top: 8px; padding-bottom: 8px;}
:where(.k-kit) .k-page:has(> .k-head.k-record),:where(.k-kit) :not(.k-page):has(> .k-head.k-record){max-width: 1480px;}
:where(.k-kit) .k-page.k-measure:has(> .k-body > .k-aside){max-width: 1360px;}
:where(.k-kit) .k-body > .k-aside.k-rail{width: 280px; flex: 0 0 280px;}
:where(.k-kit) .k-rail .k-contact-card > .k-row:first-child .k-avatar{width: 28px; height: 28px; font-size: .65625rem;}
:where(.k-kit) .k-body.k-three{display: grid; grid-template-columns: 280px minmax(0, 1fr) 280px; grid-template-areas: "left main right"; align-items: start;}
:where(.k-kit) .k-body.k-three > .k-rail.left{grid-area: left;}
:where(.k-kit) .k-body.k-three > .k-col{grid-area: main;}
:where(.k-kit) .k-body.k-three > .k-rail:not(.left){grid-area: right;}
:where(.k-kit) .k-body.k-three > .k-aside.k-rail{width: auto;}
@media (max-width: 1400px) and (min-width: 821px){:where(.k-kit) .k-body.k-three{grid-template-columns: minmax(0, 1fr) 300px; grid-template-areas: "main left" "main right"; grid-template-rows: auto 1fr;}}
@media (max-width: 820px){:where(.k-kit) .k-body.k-three{display: flex; flex-direction: column; align-items: stretch;}}
:where(.k-kit) .k-record-feed .k-rf-entry .k-tile{box-shadow: 0 0 0 3px var(--surface);}
:where(.k-kit) .k-record-feed .k-rf-entry .k-tile.k-kind-meeting{box-shadow: inset 0 0 0 1px var(--line), 0 0 0 3px var(--surface);}
:where(.k-kit) .k-row.compact{gap: 10px;}
:where(.k-kit) .k-row.compact > .k-tile{width: 24px; height: 24px; border-radius: 6px;}
:where(.k-kit) .k-row.compact > .k-tile::before{width: 13px; height: 13px;}
:where(.k-kit) .k-row.compact .k-t1{font-weight: 500;}
:where(.k-kit) .k-row.compact > form{flex-shrink: 0;}
@media (max-width: 640px){:where(.k-kit) .k-row.compact{display: grid; grid-template-columns: 24px minmax(0, max-content) max-content minmax(0, 1fr) auto; gap: 0 10px; align-content: center;}:where(.k-kit) .k-row.compact > .k-tile{grid-column: 1; grid-row: 1 / span 2; align-self: center;}:where(.k-kit) .k-row.compact > .k-t1{grid-column: 2 / 5; grid-row: 1; min-width: 0;}:where(.k-kit) .k-row.compact > .k-t2,:where(.k-kit) .k-row.compact > .k-chip{grid-row: 2;}:where(.k-kit) .k-row.compact > .k-t2{min-width: 0;}:where(.k-kit) .k-row.compact > form,:where(.k-kit) .k-row.compact > .k-btn{grid-column: 5; grid-row: 1 / span 2; align-self: center; justify-self: end; flex-shrink: 0;}:where(.k-kit) .k-row.compact > .k-chip{justify-self: start; padding-block: 0;}}
:where(.k-kit) .k-contact-card > .k-row:first-child .k-two > *{white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
:where(.k-kit) section > .k-card + .k-section-head,:where(.k-kit) section > .k-table + .k-section-head{margin-top: 16px;}
:where(.k-kit) .k-record-feed .k-rf-entry > .k-grow{min-width: 0;}
:where(.k-kit) .k-record-feed .k-rf-entry .k-t2{display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
:where(.k-kit) .k-rail .k-row .k-two > *{white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
:where(.k-kit) .k-record-feed .k-rf-entry > .k-btn{flex-shrink: 0;}
:where(.k-kit) b.inbox-mention{color: var(--navy); font-weight: 600;}
:where(.k-kit) .k-mention > .k-menu{left: 0; right: auto; min-width: 220px; max-width: 320px; z-index: 20;}
:where(.k-kit) .k-mention .k-option[aria-selected="true"]{background: var(--navy-wash);}
:where(.k-kit) .k-composer + .k-card-body{border-top: 1px solid var(--line-soft);}
:where(.k-kit) .k-card-body + .k-composer{border-top: 1px solid var(--line-soft);}
:where(.k-kit) .k-table.k-fact-rows{--cols: 96px minmax(0, 1fr);}
:where(.k-kit) :has(.k-body.k-open){background: var(--surface);}
:where(.k-kit) .k-open .k-col,:where(.k-kit) .k-open .k-aside{gap: 0;}
:where(.k-kit) .k-open section:where(:not(.sec, .k-card)),:where(.k-kit) .k-open details[data-fold]{padding: 20px 0 22px; border-top: 1px solid var(--line);}
:where(.k-kit) .k-open .k-col > :first-child:not([data-state]),:where(.k-kit) .k-open .k-aside > :first-child:not([data-state]){border-top: 0; padding-top: 6px;}
:where(.k-kit) .k-open .k-col > [data-state]:first-child,:where(.k-kit) .k-open .k-aside > [data-state]:first-child{margin-top: 0; border-top-width: 1px;}
:where(.k-kit) .k-open .k-col > details[data-state="quiet"]:first-child,:where(.k-kit) .k-open .k-aside > details[data-state="quiet"]:first-child{border-top: 0;}
:where(.k-kit) .k-open details[data-fold] > section{padding: 0; border: 0;}
:where(.k-kit) .k-open details[data-fold]:not([open]){padding-bottom: 20px;}
:where(.k-kit) .k-open section > .k-section-head,:where(.k-kit) .k-open details[data-fold] > summary.k-section-head{margin: 0 0 12px; min-height: 24px;}
:where(.k-kit) .k-open details[data-fold] > summary.k-section-head{margin: 0; cursor: pointer;}
:where(.k-kit) .k-open section > .k-section-head h2{font-size: .9375rem; font-weight: 600; letter-spacing: -.005em;}
:where(.k-kit) .k-open .k-section-head .k-picker:has(> .k-btn.icon.sm),:where(.k-kit) .k-open .k-section-head > .k-btn.icon.sm{align-self: center; margin-bottom: 0;}
:where(.k-kit) .k-open .k-section-head .k-btn.icon.sm{margin-right: -6px;}
:where(.k-kit) .k-open section > .k-subhead{margin: 14px 0 6px;}
:where(.k-kit) .k-open section > .k-section-head + .k-subhead{margin-top: 0;}
:where(.k-kit) .k-open section > .k-card:not(.k-bounded, .k-contact-card),:where(.k-kit) .k-open section > .k-table{background: transparent; border: 0; border-radius: 0; overflow: visible;}
:where(.k-kit) .k-open section > .k-card:not(.k-bounded, .k-contact-card) > .k-row,:where(.k-kit) .k-open section > .k-card:not(.k-bounded, .k-contact-card) > * > .k-row{padding-inline: 0;}
:where(.k-kit) .k-open section > .k-card:not(.k-bounded, .k-contact-card) > .k-row:hover{background: transparent;}
:where(.k-kit) .k-open section > .k-card:not(.k-bounded, .k-contact-card) > .k-row:first-child,:where(.k-kit) .k-open section > .k-card:not(.k-bounded, .k-contact-card) > .k-colhead + .k-row{border-top: 1px solid var(--line-soft);}
:where(.k-kit) .k-open section > .k-card:not(.k-bounded, .k-contact-card) > .k-row:last-child{border-bottom: 1px solid var(--line-soft);}
:where(.k-kit) .k-open section > .k-table > .k-tr{padding-inline: 0;}
:where(.k-kit) .k-open section > .k-table > .k-tr:hover{background: transparent;}
:where(.k-kit) .k-open section > .k-table > .k-tr.head{background: transparent; border-bottom: 1px solid var(--line);}
:where(.k-kit) .k-open section > .k-table > .k-tr:first-child:not(.head){border-top: 1px solid var(--line-soft);}
:where(.k-kit) .k-open section > .k-table > .k-tr:last-child{border-bottom: 1px solid var(--line-soft);}
:where(.k-kit) .k-open section > .k-card:not(.k-bounded, .k-contact-card) > .k-card-body,:where(.k-kit) .k-open section > .k-card:not(.k-bounded, .k-contact-card) > .k-composer{padding-inline: 0;}
:where(.k-kit) .k-open section > .k-card:not(.k-bounded, .k-contact-card) > .k-panel-body,:where(.k-kit) .k-open section > .k-card:not(.k-bounded, .k-contact-card) > .k-empty{padding: 6px 0 0; text-align: left;}
:where(.k-kit) .k-open section > .k-contact-card + .k-contact-card,:where(.k-kit) .k-open section > .k-bounded + .k-bounded{margin-top: 10px;}
:where(.k-kit) .k-open .k-colhead{display: flex; align-items: center; gap: 12px; padding: 0; min-height: 28px; font-size: .71875rem; font-weight: 500; color: var(--text-4); border-bottom: 1px solid var(--line-soft);}
:where(.k-kit) .k-open .k-colhead > span:nth-child(1){flex: 1 1 auto; padding-left: 28px;}
:where(.k-kit) .k-open .k-colhead > span:nth-child(2){width: 24px; display: flex; justify-content: center; white-space: nowrap; overflow: visible;}
:where(.k-kit) .k-open .k-colhead > span:nth-child(3){width: 48px; text-align: right;}
:where(.k-kit) .k-open .k-colhead + .k-row{border-top: 0;}
:where(.k-kit) .k-open .k-row > .k-t2.k-num{width: 48px; text-align: right;}
:where(.k-kit) .k-open .k-rail .k-row > .k-chip:last-child{margin-right: -9px;}
:where(.k-kit) .k-open .k-tr:has(> .k-wrap){padding-block: 7px;}
:where(.k-kit) .k-open section:is([data-state="focus"], [data-state="queue"]){padding: 0; border: 1px solid var(--line); border-radius: var(--r-card); background: var(--surface); overflow: hidden; margin: 6px 0 14px; box-shadow: 0 1px 2px rgba(21, 23, 28, .05);}
:where(.k-kit) .k-open section[data-state="focus"]{border-color: var(--navy-ring); box-shadow: 0 1px 2px rgba(45, 82, 119, .08), 0 8px 24px -14px rgba(45, 82, 119, .3);}
:where(.k-kit) .k-open section:is([data-state="focus"], [data-state="queue"]):has(details.k-picker[open]){overflow: visible;}
:where(.k-kit) .k-open section:is([data-state="focus"], [data-state="queue"]) > .k-section-head{margin: 0; padding: 0 8px 0 16px; min-height: 42px; gap: 12px; background: var(--ground); border-bottom: 1px solid var(--line-soft);}
:where(.k-kit) .k-open section[data-state="focus"] > .k-section-head{background: color-mix(in srgb, var(--navy-tint) 60%, var(--surface)); border-bottom-color: var(--navy-line);}
:where(.k-kit) .k-open section:is([data-state="focus"], [data-state="queue"]) > .k-section-head h2{font-size: var(--fs-body); font-weight: 600;}
:where(.k-kit) .k-open section:is([data-state="focus"], [data-state="queue"]) > .k-section-head > .k-link{padding: 4px 8px; font-size: .78125rem;}
:where(.k-kit) .k-open section:is([data-state="focus"], [data-state="queue"]) > :is(.k-card, .k-table){background: transparent; border: 0; border-radius: 0; overflow: visible; box-shadow: none;}
:where(.k-kit) .k-open section:is([data-state="focus"], [data-state="queue"]) > .k-card + .k-card{border-top: 1px solid var(--line-soft);}
:where(.k-kit) .k-open section:is([data-state="focus"], [data-state="queue"]) > .k-card > .k-row,:where(.k-kit) .k-open section:is([data-state="focus"], [data-state="queue"]) > .k-card > details > .k-row{padding-inline: 16px; border-bottom: 0; border-top: 1px solid var(--line-soft);}
:where(.k-kit) .k-open section:is([data-state="focus"], [data-state="queue"]) > .k-card > .k-row:first-child{border-top: 0;}
:where(.k-kit) .k-open section:is([data-state="focus"], [data-state="queue"]) > .k-card > .k-row:hover,:where(.k-kit) .k-open section:is([data-state="focus"], [data-state="queue"]) > .k-card > details > .k-row:hover{background: var(--ground);}
:where(.k-kit) .k-open section:is([data-state="focus"], [data-state="queue"]) > .k-card > .k-colhead{padding-inline: 16px;}
:where(.k-kit) .k-open section:is([data-state="focus"], [data-state="queue"]) > .k-card > .k-colhead + .k-row{border-top: 0;}
:where(.k-kit) .k-open section:is([data-state="focus"], [data-state="queue"]) > .k-table > .k-tr{padding-inline: 16px; border-bottom: 0;}
:where(.k-kit) .k-open section:is([data-state="focus"], [data-state="queue"]) > .k-table > .k-tr:first-child:not(.head){border-top: 0;}
:where(.k-kit) .k-open section:is([data-state="focus"], [data-state="queue"]) > .k-table > .k-tr.head{background: transparent; border-bottom: 1px solid var(--line-soft);}
:where(.k-kit) .k-open section:is([data-state="focus"], [data-state="queue"]) > .k-table > .k-tr:hover:not(.head){background: var(--ground);}
:where(.k-kit) .k-open section[data-state="focus"] > .k-subhead{margin: 0; padding: 10px 16px 6px; border-top: 1px solid var(--line-soft);}
:where(.k-kit) .k-open section[data-state="focus"] > .k-section-head + .k-subhead{border-top: 0;}
:where(.k-kit) .k-open section[data-state="focus"] > .k-subhead + .k-card > .k-row:first-child{border-top: 0;}
:where(.k-kit) .k-open :is(section[data-state="focus"], section[data-state="queue"], section[data-state="waiting"]) + *:not([data-state="focus"], [data-state="queue"], [data-state="waiting"]){border-top: 0;}
:where(.k-kit) .k-open section[data-state="waiting"]{padding: 14px 16px 6px; border: 0; border-radius: var(--r-card); background: var(--quiet); margin: 6px 0 14px;}
:where(.k-kit) .k-open section[data-state="waiting"] > .k-section-head{margin: 0 0 4px;}
:where(.k-kit) .k-open section[data-state="waiting"] > .k-section-head h2{font-size: var(--fs-body);}
:where(.k-kit) .k-open section[data-state="waiting"] > .k-card > .k-row,:where(.k-kit) .k-open section[data-state="waiting"] > .k-card > details > .k-row{border-top: 1px solid var(--line); border-bottom: 0;}
:where(.k-kit) .k-open section[data-state="waiting"] > .k-card > .k-row:first-child{border-top: 1px solid var(--line);}
:where(.k-kit) .k-open section[data-state="waiting"] > .k-card > .k-row:hover,:where(.k-kit) .k-open section[data-state="waiting"] > .k-card > details > .k-row:hover{background: transparent;}
:where(.k-kit) .k-open details[data-fold][data-state="quiet"]{padding: 0; border-top: 1px solid var(--line-soft);}
:where(.k-kit) .k-open details[data-fold][data-state="quiet"] > summary.k-section-head{margin: 0; min-height: 44px;}
:where(.k-kit) .k-open details[data-fold][data-state="quiet"] > summary.k-section-head h2{font-size: var(--fs-body); font-weight: 500; color: var(--text-3);}
:where(.k-kit) .k-open details[data-fold][data-state="quiet"] > summary.k-section-head > .k-hint{color: var(--text-4);}
:where(.k-kit) .k-open details[data-fold][data-state="quiet"] > summary.k-section-head > .k-hint .k-link{color: var(--navy); font-weight: 500;}
:where(.k-kit) .k-open details[data-fold][data-state="quiet"][open] > summary.k-section-head{border-bottom: 1px solid var(--line-soft);}
:where(.k-kit) .k-open details[data-fold][data-state="quiet"][open] > section:first-of-type{padding-top: 14px;}
:where(.k-kit) .k-open details[data-fold][open] > summary .k-hint:has(> .k-link:last-child) > .k-link:last-child{display: none;}
:where(.k-kit) .k-open details[data-fold][open] > summary .k-hint:has(> .k-link:last-child)::after{content: "Hide"; color: var(--navy); font-weight: 500;}
:where(.k-kit) .k-open details[data-fold][open]:not(.k-phone-fold, :has(> section + section)) > section > .k-section-head > :is(h2, .k-hint){display: none;}
:where(.k-kit) .k-open details[data-fold][open]:not(.k-phone-fold, :has(> section + section)) > section > .k-section-head:not(:has(> :not(h2, .k-hint))){display: none;}
:where(.k-kit) .k-open section[data-state="focus"] + details[data-fold][data-state="quiet"]{border-top: 0;}
:where(.k-kit) .k-open section[data-state="queue"],:where(.k-kit) .k-open section[data-state="queue"] > .k-section-head{transition: border-color .15s cubic-bezier(.2, .8, .2, 1), background-color .15s cubic-bezier(.2, .8, .2, 1), box-shadow .15s cubic-bezier(.2, .8, .2, 1);}
:where(.k-kit) .k-open section[data-state="queue"]:focus-within{border-color: var(--navy-ring); box-shadow: 0 1px 2px rgba(45, 82, 119, .08), 0 8px 24px -14px rgba(45, 82, 119, .3);}
:where(.k-kit) .k-open section[data-state="queue"]:focus-within > .k-section-head{background: var(--navy-wash); border-bottom-color: var(--navy-line);}
@media (prefers-reduced-motion: reduce){:where(.k-kit) .k-open section[data-state="queue"],:where(.k-kit) .k-open section[data-state="queue"] > .k-section-head{transition: none;}}
@media (max-width: 640px){:where(.k-kit) .k-open section:is([data-state="focus"], [data-state="queue"]),:where(.k-kit) .k-open section[data-state="waiting"]{border-radius: 16px; margin-bottom: 20px;}:where(.k-kit) .k-open section:is([data-state="focus"], [data-state="queue"]) > .k-section-head{min-height: 46px; padding-inline: 16px;}:where(.k-kit) .k-open section[data-state="waiting"]{padding-inline: 16px;}:where(.k-kit) .k-open details[data-fold][data-state="quiet"] > summary.k-section-head{min-height: 52px;}:where(.k-kit) .k-open .k-row > .k-t2.k-num{width: auto;}:where(.k-kit) .k-open .k-colhead{display: none;}}
:where(.k-kit) .k-mail-text > .k-label{color: var(--text-4);}
:where(.k-kit) :not(.k-card) > .k-table + .k-card-foot{padding: 12px 0 0; border-top: 0;}
@media (max-width: 640px){:where(.k-kit) .k-row:has(> .k-grow + .k-chip){flex-wrap: wrap; row-gap: 2px;}:where(.k-kit) .k-row:has(> .k-grow + .k-chip) > .k-grow{flex: 1 1 0; min-width: 0;}:where(.k-kit) .k-row:has(> .k-grow + .k-chip)::after{content: ""; order: 8; flex-basis: 100%;}:where(.k-kit) .k-row > .k-grow + .k-chip{order: 9;}:where(.k-kit) .k-row:has(> :first-child:is(.k-done, form)) > .k-grow + .k-chip{margin-left: calc(1rem + 12px);}:where(.k-kit) .k-row:has(> :first-child:is(.k-tile)) > .k-grow + .k-chip{margin-left: 42px;}:where(.k-kit) .k-row:has(> :first-child:is(.k-avatar)) > .k-grow + .k-chip{margin-left: 36px;}}
:where(.k-kit) :is(tr, .k-row, .k-tr).dragging{opacity: .5;}
:where(.k-kit) .k-tr.full{grid-template-columns: var(--chain-col) minmax(0, 1fr);}
:where(.k-kit) .k-tr.full > .k-pgroup{padding: 4px 0 10px;}
@media (max-width: 640px){:where(.k-kit) .k-tr.full > .k-pgroup > .k-prow{grid-template-columns: minmax(0, 1fr); gap: 4px;}:where(.k-kit) .k-tr.full .k-seg{flex-wrap: wrap; max-width: 100%;}}
:where(.k-kit) .k-switch{display: inline-block; box-sizing: content-box; width: 34px; height: 20px; padding: 4px 0; margin-block: -4px; background-clip: content-box; border-radius: var(--r-pill); background-color: var(--control); position: relative; flex-shrink: 0; cursor: pointer;}
:where(.k-kit) .k-switch.k-switch[role="switch"]{padding: 4px 0; margin-block: -4px; border: 0; min-height: 0;}
:where(.k-kit) .k-switch::after{content: ""; position: absolute; top: 6px; left: 2px; width: 16px; height: 16px; border-radius: 50%; background: var(--surface); box-shadow: 0 1px 2px rgba(0,0,0,.2);}
:where(.k-kit) .k-switch[aria-checked="true"]{background-color: var(--navy);}
:where(.k-kit) .k-switch[aria-checked="true"]::after{left: 16px;}
:where(.k-kit) .k-switch::after{transition: left .15s ease;}
:where(.k-kit) .k-switch[aria-busy="true"],:where(.k-kit) .k-switch[aria-busy="true"]:hover{background-color: var(--control); opacity: .7; cursor: progress;}
:where(.k-kit) .k-switch[aria-busy="true"][aria-checked="true"]{background-color: var(--navy);}
:where(.k-kit) .k-switch[aria-busy="true"]::before{content: none;}
@media (prefers-reduced-motion: reduce){:where(.k-kit) .k-switch::after{transition: none;}}
:where(.k-kit) .k-switch-list > .k-check{margin: 0; padding: 10px 16px; border-top: 1px solid var(--line-soft);}
:where(.k-kit) .k-switch-list > .k-check:first-child{border-top: 0;}
:where(.k-kit) .k-steplist{display: flex; flex-direction: column; gap: 8px;}
:where(.k-kit) .k-steplist .k-step{display: flex; align-items: center; gap: 8px; font-size: var(--fs-body); color: var(--text-3);}
:where(.k-kit) .k-steplist .k-step.now{color: var(--text); font-weight: 600;}
:where(.k-kit) .k-steplist .k-step-dot{width: 9px; height: 9px; border-radius: 50%; flex: none; background: transparent; border: 1.5px solid var(--control-strong);}
:where(.k-kit) .k-steplist .k-step.done .k-step-dot{background: var(--st-ok); border-color: var(--st-ok);}
:where(.k-kit) .k-steplist .k-step.now .k-step-dot{background: var(--navy); border-color: var(--navy);}
:where(.k-kit) .k-palette-bar > .k-palette-input.k-input{flex: 1 1 auto; min-width: 0; height: 50px; padding: 0 18px; border: 0; border-radius: 0; font-size: .9375rem; box-shadow: none;}
:where(.k-kit) .k-palette-bar > .k-palette-input.k-input:focus{outline: none; box-shadow: none;}
:where(.k-kit) .k-palette-list > .k-option{color: var(--text); text-decoration: none;}
:where(.k-kit) .k-palette-list > .k-option > .k-two{flex: 1 1 auto; min-width: 0;}
:where(.k-kit) .k-palette-list > .k-option > .k-two > *{overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
:where(.k-kit) .k-dgrid > .k-fact-edit{gap: 6px; padding-block: 10px 12px;}
:where(.k-kit) .k-dgrid > .k-fact-edit > .k-input,:where(.k-kit) .k-dgrid > .k-fact-edit > .k-select,:where(.k-kit) .k-dgrid > .k-fact-edit > .k-money,:where(.k-kit) .k-dgrid > .k-fact-edit > .k-choose-box{width: 100%; min-width: 0;}
:where(.k-kit) .k-dgrid > .k-fact-edit > .k-check{min-height: 34px;}
@media (max-width: 767px){:where(.k-kit) .k-body.k-person > .k-aside{order: -1;}}
@media (max-width: 767px){:where(.k-kit) .k-col > [data-phone-first]{order: -1;}}
:where(.k-kit) .k-tr .k-agebar{min-width: 0;}
:where(.k-kit) .k-svgchart{display: block; width: 100%; height: auto;}
:where(.k-kit) .k-svgchart text{font-size: calc(10.5px / var(--k-chart-scale, 1)); fill: var(--text-4); font-variant-numeric: tabular-nums;}
:where(.k-kit) .k-svgchart .axis{stroke: var(--line);}
:where(.k-kit) .k-svgchart .grid{stroke: var(--line-soft); stroke-width: 1;}
:where(.k-kit) .k-svgchart .bar{fill: var(--navy);}
:where(.k-kit) .k-svgchart .bar.now{fill: var(--navy-hover);}
:where(.k-kit) .k-svgchart .bar.olive{fill: var(--olive);}
:where(.k-kit) .k-svgchart .bar.sand{fill: var(--sand);}
:where(.k-kit) .k-svgchart .bar.terra{fill: var(--terra);}
:where(.k-kit) .k-svgchart .bar.light{fill: var(--navy-line);}
:where(.k-kit) .k-svgchart text.up{fill: var(--olive-text);}
:where(.k-kit) .k-svgchart text.warm{fill: var(--terra);}
:where(.k-kit) .k-svgchart .dot{fill: var(--navy); fill-opacity: .75;}
:where(.k-kit) .k-svgchart .dot.q6,:where(.k-kit) .k-svgchart .dot.hl{fill-opacity: 1; stroke: var(--surface); stroke-width: 1.5;}
:where(.k-kit) .k-svgchart .dot.q6{fill: var(--q6);}
:where(.k-kit) .k-svgchart .dot.hl{fill: var(--hl);}
:where(.k-kit) .k-timeline .tl-stage{fill: var(--navy-line);}
:where(.k-kit) .k-timeline .tl-stage.alt{fill: var(--line-soft);}
:where(.k-kit) .k-timeline text.tl-name{fill: var(--text-2); font-size: calc(11px / var(--k-chart-scale, 1));}
:where(.k-kit) .k-timeline text.tl-event{paint-order: stroke; stroke: var(--surface); stroke-width: 3px; stroke-linejoin: round; fill: var(--text); font-size: calc(11px / var(--k-chart-scale, 1)); font-weight: 500;}
:where(.k-kit) .k-timeline .tl-tick{stroke: var(--line);}
:where(.k-kit) .k-timeline .tl-span{fill: var(--q6);}
:where(.k-kit) .k-deck-timeline{margin: 0 0 22px;}
:where(.k-kit) .k-deck-plot > .k-legend,:where(.k-kit) .k-plot-wrap > .k-legend{flex-wrap: wrap; row-gap: 4px; margin: 0 0 10px;}
:where(.k-kit) .k-doc.paged .k-doc-plot + .k-legend{margin: 6px 0 0; flex-wrap: wrap;}
:where(.k-kit) .k-doc.paged .k-doc-note + .k-doc-section{margin-top: 26px;}
:where(.k-kit) .k-doc.paged .k-legend + .k-doc-section{margin-top: 22px;}
:where(.k-kit) .k-svgchart .terms{stroke: var(--text-3); stroke-dasharray: 3 3;}
:where(.k-kit) .k-svgchart text.terms{fill: var(--text-3); stroke: none;}
:where(.k-kit) .k-svgchart .avg{stroke: var(--hl); stroke-width: 2;}
:where(.k-kit) .k-section-head > .k-actions{display: flex; align-items: center; gap: 8px; flex-wrap: wrap; justify-content: flex-end; min-width: 0;}
:where(.k-kit) .k-row > .k-link{white-space: nowrap; flex: none;}
:where(.k-kit) .k-row.k-agenda-item{align-items: flex-start; padding-block: 12px;}
:where(.k-kit) .k-row.k-agenda-item > .k-num{padding-top: 1px; min-width: 14px;}
:where(.k-kit) .k-card.k-readonly{background: var(--quiet);}
:where(.k-kit) .k-body > .k-col.half{flex: 1 1 0;}
:where(.k-kit) .k-textarea.k-statements{min-height: 5.5rem; white-space: normal; overflow-wrap: anywhere;}
:where(.k-kit) .k-textarea.k-statements:empty::before{content: attr(data-placeholder); color: var(--text-3);}
:where(.k-kit) .k-card.fill > .k-card-body > .k-field + .k-field{margin-top: 22px;}
:where(.k-kit) .k-col.k-preview{max-width: 46rem;}
:where(.k-kit) .k-preview .k-card-body > .k-field + .k-field{margin-top: 22px;}
:where(.k-kit) .k-inline.align-top > .k-chip{flex: none; white-space: nowrap;}
:where(.k-kit) .k-card.fill{display: flex; flex-direction: column; flex: 1 1 auto; min-height: 0;}
@media (max-width: 640px){:where(.k-kit) .k-section-head:has(> .k-actions),:where(.k-kit) .k-card.fill > .k-section-head{flex-wrap: wrap; row-gap: 8px;}:where(.k-kit) .k-panel-foot:has(> .k-check){flex-wrap: wrap;}:where(.k-kit) .k-panel-foot > .k-check{flex: 1 1 100%;}}
:where(.k-kit) .k-doc-pages{display: flex; flex-direction: column; align-items: center; gap: 24px; padding: 24px 0; overflow-x: auto;}
:where(.k-kit) .k-doc{width: 816px; min-height: 1056px; box-sizing: border-box; padding: 34px 52px; background: var(--surface); color: var(--text); font-family: var(--font); position: relative; display: flex; flex-direction: column; flex-shrink: 0; -webkit-font-smoothing: antialiased; box-shadow: 0 0 0 1px var(--line);}
:where(.k-kit) .k-doc-head{display: flex; justify-content: space-between; align-items: baseline; font-size: 11px; color: var(--text-3); padding-bottom: 10px; border-bottom: 1px solid var(--line); margin-bottom: 14px;}
:where(.k-kit) .k-doc-head::before{content: ''; flex: none; width: 86px; height: 30px; background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAABjCAYAAAAhBD14AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAACeKSURBVHhe7X0JmGVVdW77kjx9LzGDGQCDtl1nrXWqqtvWhCcxEiUiMRoThxCQqZvJEBGRhw1d90z3Ig0ogkYwCkgSgkwBZFBRUYYEUAGZZJ5BGhBa5nnuyvfv2rs4vWqfW+fee6q66dr/962vq6vW3uecPay99tprrT1vXkBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAwNzDiih60wEi26RE79R/CwgICFjr6Gy++a8XRFsVIt/NmZ/+wsjIeEr0UGd09Lc0b0BAQMBaQWd09A3tON67ELlhxfDwOCgXGS9EILCeWjY09Ee6TMAcQ4t5p4OHh49aTrSH/ltAwExj9002+Y1CZLNc5PCc+YEDh4fH94/j8ZR5ktoi4wnzyr2IXqvLB8whtESWQN3+/MiIWc0SkcWaJyCgaZw6b96vZURbF8zHZ8y3dUTGIaggmMqCyhEEWEJ0ra4nYA6hMzr6v1Pmu91qdtDwMP79suYLCGgaCXN++KJF418cHe0qqBx9bmKMXqDrCZhDwFYQg8UNCqxyCfM9EGSaNyCgSWQiS1bE8UUp0aUp8w0p8+NWKHnJaP/Mp+p6AuYIxufNe03CfL22FRwQx+MZ0fs1f0DATKIzOrphznzCAaUFtExYWBOio3W5gDmCNIo+glXLNzDSKDpe8wcEzDQ68+e/LmP+pW97aHcCh+gyAXMECfMl0Kb0wMDxccL8aGf+/N/VZQICZhoJ8xfKZoqywMqYU80fMAeQEG3ezV6AwQH7li4XEDDTGBsa2kKbKdyYTIj20fwBcwAJ8zm+7aAj2BES5v/S5QICZhqZyIKE+UU4i3oEVvATnGtIo+hP2zCsewSVo3yCXmpFEenyAQEziWTBgg0SoieNZ3tpTGKBbRHtovkD1nO0iE7x2Qg0GZ+sKPqcLh8QMJPoJrDgCqH5A9Zj5ENDDM0JGpQWUJo6E57FdyIIVdcTEDBTSIeHN0qYn/YJrBbRDpo/YD1Gi+go681uCMfH3baGsGW1RD6g6wkImCmkzH+cMj+jbVjWrrqt5g9YT7FfHL8xY37GrVzW1+VuPTDKZLyLic7SdQUEzBSyKHpTwvysHpdBYM0xwL8F2lXySlzWtfvF8etTom9U2bQwaDLm5zujo2/W9QUEzATGhobenBA9HwTWHEbrzW/+vYz5EbcFhMBKoui9+NuyxYt/MyO6FzYrLbBARsgRtXWdAQEzgbE4fktC9EIQWHMYCdFyp13Zbd755b+3omhJlZZlje93IWdRuUxAwEzA+GERTfHDCgJrjmCfjTf+Pwk0qLJ2RbS5YnsNcg1Veb/bPFkfVWUCAhpHRhSlOMn2CKxM5OOaP2A9Q8L8j+5kELGDLaKLNA+QEm1V5f1uVjellQUEzATgepMwvzxFYGExJdpK8wesR9h63rxfS4hudrFZJnWHyAc1n8VrUubrfFoWNLNCZHUyNLRIFwoIaBL7xXGcMq/WvoJGYIl8RPMHrEcYK2lNJsUs8/UQTJrPISHascqWBS2tFUVf12UCAprEcuYRjDctsLCQtoj+VvMHrEdIiC5zGpMRRCKf0DxlwLCeEt3lOzG0/luP4sRRlwsIaAoJ0Sg0eu3QbMZx9e4g4NUOuC04YWVSHxPd39loo/+r+TSQwqPsDV8m+/tP6zIBAU0BZgefwLKXUPyV5g9YT5Aw/9BtB41LQxTtr3l8QOI+aFI6lssNmhbzDUivrMsFrHvYd3R0wwOHhw9L4/j/6b+tq8CtTdZheXLc4WeMvTGRLTR/wHqAnOhPnJOo7fxnEaOl+arQYv5KlZYF4+e6tNJ14viNY0NDv6N/H2C05WOPWrwY/XWo/tu6ipT57T6BBTNFxvwezR+wHiAlOtkZz2320BM1TzcgD1ZVVgfreHq2LjPbSIne2RY57oA4fqqXeEfcLNwh2hhZAaBNrgvaIq5fP4B5JBPZImX+GO7ry6Pow/h/HsdvxTvrMtMBZTLmp3HfZMK8TP+9FyBjx4ooelMxPLxJQbR5EsfvLUTe0YnjtyAPu+YfBMjXBu1+isCCWUNkM80/F4G2b4vskzP/e8Z8TkJ0YUp0PhJzZsyn5Mxfz0XGcpGPdoaG1u2wOjje5TZjo1OlW8x/pvmmQ4voLJ9flknuJ/Jya3hYdJmZxqGLF/9mzrxtznweNEgIY5OJkvkSzeuAyZYT/W3BfEzGfC1ClFLmZ5HCJGN+KGO+ORc5u2BOZ3PrBI23YP50zvz9nPmX6K+DR0bGDx0dHT9sdNTc1wct1/bjwznzJQXzARBgui4fEuZ/RttYjfgf9N+nQ2t4+PfbzDvlzKfmzHfC1QA2UYwJ1GmD51/ImO8umL/dFtmjFy2+CugDn8AyzyN6p+avA1zaisUJkzdnflsh8r4O85ZN3ltwONFrvzA09DsdkT9AogEIXiw+ECxtkd06RL+ty/SCnebPf11bZM9C5Gq0BcYG+tf1B/oG/+L/bl7g/znzM22Rc20usbW+OE9BEkVfKzuKdpvM3eDyvmvjJ8jW/xVdZiYATSgT+UAu8tWc+W7XQe697IT8vi4HH7SC6JNtkRvhf4YOhPDGZIAQAOFnbDVQB74JA6EtclE7jrfW9TWFz0JTYf6XQuRxN+CgBZlJSnR1QnRSyvx1aMkp0U1OSODd8Y7whytEvpuJ/IWuG8ijaCHqx3e57+zFf26fjTd+Q1vkoEJkFd7rSwsXOsfhp1Oi+xLmVSnzi25iQPPB3+27PYZ+WiayQNdbFynzpjrtEX5G+7RE3qH5y8ChUi7yiYL5XzPmH6VEP0OQf8J8e0r0UMr8HNoDbYlvSwdIAw6h1GZelouckTFflTKvTIkeTJkfc/m8MK7QRoctXIhn9e0S1GL+m7bIDWhjJ5RAaHs8B99TElBrzFV8L36P291T5hPWhR3FJJCtMWN+yhnM8RGDZGmsCtexq+sjM2E7wkqVinyqzXxWSnRjyvwk3gHf4rv+yWqBp5XrgK2jLXIFOhhl0bHoVPzs/u8TxPidG2Rt5vNaCxY0qkWmUbS0LfKwndwTg2ni55Nhd9T8GFyFyAcL5mvNVty+oxmsE0L7K9CE0A/QPAvmH2TML5t+t/2UMK+sezFuwvz3bZGVeD9M6BwaqMjB0GygOWD7h+1ri3koY94uZ/4h2tM+x3yTFfyP50R76/rrwG71vQILWovmLyNlPgUaqpu86HOQm9hl25jV2B5G8L+uZzogowRSNR0yOjq5mKA+PEM/B4R3SZl/pOupg5RoBdrYfUvOvDpjPi0j2iVhfjc00hbzlhnzXpnI2bnIat/djpOHaMPDG+lnrDUkzAc47coOolX9dIgDBEeV8d2cPIrsqcsMipx5BFujLy9caFYF/OzzC3NkbWr/4cqnzPuhYw8ZGXHCbDXyfmG1xcUaKdGPU6I7MKCqhCDIag+PYFCs+Yb9IWFOnUaCye1W+jpuIuhDCCOUd++HldR+36/Qz5gUeoW1/Cfo+nzAxHCTHOWgxdXZ4uVE27dFnir3EdoU/ZaJHNfrNgR2Kp/AQnuNeYR6GQnzWRC0bntk29dLdgI/BoGv65kOUAxS5osL5qfwrugH1Id+1c8BWQ21tp3VISU6At+D77e7g9um2xabOxtEfuQWrXIb4l845uoyawU2t9WDbgIagUL0Jc3XC+Ak2s3FISG6sTNv3v/S5QYB6jOr7PDwdinzzinz52Bn8ml6IKt5/DvKwnUDK6yx/TBfkons0REZ3ovotWs8A3atKFqYixQ58326c0Eubxi2bhCi5fK9IomibfAMTDpXP/4PIaZ5qwAbBmxwuh3sNnZKu7i2gf1O16WBiWEEjMudzvxdzdMNYyJ/0RZ5tjxOUJcx+BMdq/m7AQuE1oDrCiwI9k4c/yVuLkfcIYSKNYtMaRsnsKA56nrqAifUHaJ35sxZLvJ4t37Qu4DpgBhg1ydWc1sFzU7zVSHHAlQa1/jXvt+mmnetICHa22lD7iOXL1hQy0DbDRhw5ZW9TBgMrSia8RTKJmeXyEV6soLwO5yOjBHtCmHVEXkA2yNdRxWwwuYiR7tVsly3S8eTMl+vhV5dYELAaF7WQMx3EP1M804H+Ci1RaakXvGRte3dOl1aIAh5NzGM3Yt55V59GIjR/nqcoE7UPRZFtU8pYTu129016qkjsDSwFc6Yr/BpWqaviR5pvfWtjURuwKbYFsEhxJRn2TFU+6Q+IfrDlPlxCG6UR7u2oujzmm86pEQHlfsE7ZAxb6n5Zh1Hb7LJbyBnlZsUmBAtoss0Xz+As56vw11HJEQ/0GVmAhjItsGnvAcI9oRC5Cef6WEVKgPbX6t2T6kbkw7bbV2mDhLmr6F8uT5jY4iivgJ5W0T/ogWDJnwHxgA0DV2+jCSKPmq0MPvNpj8HSCOEsWAn5yShPdsiL9cVNojQ0P3cr8ACEH9obUhT3isherBJO2yL6Dzfs2ybmF1AHWTM+5bHjO3vaU0HPqTMV7h3sotYzyfGjUMHLVuJ/FnN1y8SojuctC+THUgvJyLDukzTgCbku/7JaUE58/n9akEOKdEn7ZZojWcYQyrzMzgZ0mW6wRpn10j3C7W8RfRAv/5LyHmei5jTLt0fIGsnWwlhpMuWsWxo6I9gVC8vcv2eKDsgDrAQeUm3n13YLq9jz0pE3qcXyEEEFtor9WQwtTbe+wex8WokRAf7FhPzO6KjNH8VUqKLyoLPli80Xx1gC+g0Vms++UfNM+toEV1T3i7ZRttP8/UDHBXDhlRl+La2sq/qck3DJiK8T9sJ8P9c5J6mVkrYw3yDzmy3iVZo/m5AaumDPNpVPwbYMhLmb2tNxkxq5pfbIp06AeotouNM39nydjDX3kpXISE6Q7+ba7+EaHvNr9Eien+TAgvhSWnp5NyRPSVsNJMuhIFv7OB3GdHhmt8HzLeU+YHyOEd7tohO17x1gduyYE+0WtvO+u+zipT5Q3qA2NXkyYToOGxlILxg40qZP4N/Le0D1TMlGoPxFxI8JeqAPyE6MCH6Ysr8zZToTt3ZZZo8bakxSQYB7BEJ891aYBltknlfzd8v9pnwEH9Ef3M/qaKhVWi7m10texJ8GhnzTrrPMan3j+PVy6c5RQIQ/lI2bJvtEfPjTfQhNDvftsge0tw83T2XsInqNhtEYMEwDr8orWHZ/rxR8w8CGPp9344+x3zS/D4Yp1N1zRl+LkSe7tfNBos5lI5C5BkkSNR/n1Ugg6ivkfCRGNRorH4J5X1bQU3W2P8Z/W5Nwiew7CTFZGvE9cABgwvfX/5GPMtomTUEAmAMp0RTVnZb7+6avxfg1DKb8MeZUnfCfKTm10iI/rP8fVZA/FTz9QOEPfluvQEZITtNEj44STYpsKruObTj5krNPwhyz7uX+qWWDbTqfe2J9Q17Ef2hLlMHe8+f/7vL3vKW+fr3s4osit6lDZRrgyZXz4ZdHMrwCSzrc7Q6j+NY8w8CnMZB0Oh2tQOv1olXOjQ0JcQEZG1k22n+XmCdN3+ltc06kxAaR2Y9vsvvlDCfqnn7ATQoaNxaULvnpNO4TMBIrif9IAJrOQSo555D+4wfa/5B4NvOguzikGl+H2BTS5lX6b51ttpC5OdwydHlXhVImL+jtwblTq5DNjZwDcJgK5PubB/Zffa0Pj/9wiuwJn5+BpNQ8w8CCN6E+TZtt7MDr9ZpT9XgbeoyBUQB6PdzhuRuec9w2qSdga1R9hoTEE7023DFwEqPG2ywGCB+ER7VcOqEURxmCGx/cNiDpJAJvKwnzAswKXwL3tb6u0F26/lotxi+VhR9uEmBZYzuSkCD7IlZo/cUIFjdp0Bg3KB9NH8VtNHdUck38LlC5ChfdMQ6C8SHIa7MNY4LjUDj4GMxCMsCx0elsi/jaiWo8hAA2MqkRE9gcBkiehF12gkxpSHNAJgQWOfp92wKPoFlJgDRw03YXjTg6KcXAzvIp8Qt+gCHTT3xQFaw76L5e0XCfJUWiLZ/VkED0/wOyJPmC90wZSfiBR/GaSzGQmK3nWjncngTvsGZGyD8QDDogqwG+cpiWFoUUR6E0B79Xg5wq9CTdRCBVXkx60RfNpp1xOdDBrILXW2TCWzM2hWmTPgW1Gnn9o/acbxDU4dOMwYY1J0dAkLESvYHM+YDkJ4ki6K/xJGmjRp/uyZse5bD2zuOY6STwWqKzjV76OHhjXDsDVcCkM0AsXMuUnnhKjrJDHqRxfpdm4BPYNlJ1ujRtENLOd2B7NF/rYBZxHdpgQKydSaav1cgzlPXb8N+bkfgt+YHEA0BAe/brmnNenJh82jlumwdMjeIi6xMmT/fzfCOeMYmBVY2MjLfJ7DsYtST9/l08IUVgYwpgWgPzV8FayR/QPevJjwHbYVvyZnvb4scXTRsz20E6ISyfw8aqRB5dKb9oTBgCpGXdUS46phjdLkmUCmwJjyzB/K/8gFbJ5/ASpn/W/P6AA24rMU6MvYiIsTY9Q2cVCbMv9B2DjvRL9D8Dsh2oCeU06CwvcP4mQnCoojcWXBN0e+k0SLaukmBhZukfX5YVmAdr/kHQcH8Z7p9S32+m+bvBnf44FtcfITnYrxCyOUil7bjeJd+ff0aB3Idle0Q+HmsIb+r6aBPmMqExkW2CGhnutyg8Aksp1Eg35HmHxQtj+uAEVhEF2teH2BHwvZMCxV7QDHQcTqOvn2GZIwDaIaa3wFCSX+TEwZrI7+ZD7Dv6S3rIAKr6iZpK0R6inOcDr5cXu5ZWRT1nDUFQg5jbjpNS7cVymCOtkVubTP/Ux2H3RkDjssz5iec5LUT4lfd7BZNAttJ3yriyAjSKBp4y6PhFVgTAuQmzdsEcJKnJ7fdEtb2Bm8RnanrsBrNQHc8Yrup7WOoF+3RiqJNNL9DwpzrxQbl0Kb9JHmcCfjafSCBRRQlRFNukrbP+FfNPwhgfvFp1YMctIxF0UfaIqtMQH9NbcsRBB3KtZl/Vsc/b0ZQTiEDsj/XOjJtCjhd0augI+OQx3x33RxMdVEpsJhv0LxNwDdxrHaEEJNagD1GCwiQ3Tr3nUkjZf6yrtdqDF21P0Qk6HLuu9aJoNgJAbODbvdBBBbssynSfavJbtqB6BuafxCMMb/NK7Amxk3fMXz7MP9xm/mYgvl5zPc6vpFrPH+izEuzHpaDI+eM6CE3aa2m80i3Y+KZgAua1Q3jCH9r9bmiVMEnsIwAmbgctnF0EVhXa94qWFvTrVobskbtxzt9bJ1hl0iIflluB0wSc/oWRX+u+ctA3jD9TZP9xbyT5l8bSJmX6nccRGDBsxun4D6BVcfJthdUXVFmBBbz32v+XgFbYCFyYC5yB9oIpL+rijBeTD8TzVg23SlACIrWrloDhnn0Ayc8qiQ9OqgVRbW3TnVQJbCQAlfzNoEqgZUSXaN5uwG+aZgcemBZLeskzT8dEGaltSSbd+pgzauBFCf6m0rvMm352QBi3fQ7DiKwYJuDe4av/QdJW+wDIhDc+5afZQTWAFkwNHB4URBthVz6CITHt1Sd3pfJulw88tkBcoDVhg3+vdcJCWPcg69Un676g0JvTcuEDrP+No3ZRSoFVo8CpC6aEljAGFEbg6p84oM2sppN7bQh1vfO5At39diMlLW81BOib+pvAlkN4BzNvzbQtMCCVoI69Mm2FdKNnmhDOJrIC0/7wiFW8zcB63KUFcy3ot2qlAhHNlVSrutpHAnzP2ntKiU6TPPNFqBqI3+4Xk0c9atBVMEJbC2wetmi9YImBRaQEpl8W3h/53zrtnIp0f/X/BqwjxQiK63h3wg/m3jv+LoXC0Cj0NoZyLo1PAw/LV1mttG0wIJbhWlr9c3mGUQna/5BAOHhs5ehz+pkfh0EcO0pmHcvRO7x9bEjZ0apO2b6AhL0IQ+53QI594Ge8zM1jZToAu0z4widBnUVoRG6XD+wMVZwjluz8V8lAguwJz4Plwc0fsZzMpHvwfDd2WSTNcJq7MKwf878NJ6PyWu0NebnM6LlZd7pgNCZqsFsIhVmSAvoBY0LLKJRV8ca3zsxbvu6GKIKcKHw+XwZgcX8N5q/CnD+7CUdchnY7uXMxvVIfzPIvttL8E/TZRsDQjnKA81qL436kPQDDK6qCQAyNrY+Urv6AO9fZIgsb4debQILWE5UoF2crwwIwgJbOzuJ7k+ILkU8WUp0C7YY+JvjRcLEdhyf2k/6a59B2xF+j9hUXWa20bTAQkoWnw3LaRqafxAYFwqPgd8eunxI8/uAnRTupGwR3TmI42dKdKhux/L7zNjt7QhjwEmT067QeUbLmObKo9kAbhdGzGGVN67Z/hA92ISPGEKE9IUYrzaBtYz5PfuL3G9XP9yb10Eqm4zo7JT5VsRx4hkQaNjuObtXRvRgLnJRIdJOhof79t8qomiTKh86/A5RDIP4hzWBpgVWVSyhGUdETzRpgMYi4kKZys/qxYaFG5zR7xAqVXdP1kXG7L0M2Wj0fTiy1oJOf2w+nqjRtBiDAGlJfI3iyNraPqnL9Yp958/fUOeXGlSAdEPTAgs3y3wujp81felpD3Nb0PDwRsiMkMXxuxBIa+8DHG7KbWV3TzbLMhkti2itGt9nQGBBM/fGT9oFb3Ndpl/40juDrOb8Mc3vAzRrCCvMm0GN49D4CuYXtP3O7tBqxzbWBoJYkWeq3Ah2wO+qedcW4BCnB5geFPBGHzRXFmxhiUoTYj3dBwpzqUKTAstEJ4issqr+rLuhlNEttAqEv41F0Sd0udlCt/ChfgSWSRWEXG0eQWLboRGTBYCDFV/bmrTYNdNPI1bVheMg9bn+e6+AM7H2AzQCayacSOHMV24AO1mfQ1ZHzbu2gGuSqhK2OTIr94B+KOYERoVYWE2hca96oEmB1SI62V6N/txaPyjxpNQuE/qxLfJ8MjS0mS47G2g6WwOApIG+b7Zpku/qlj2iF+DU0fcc87uaSoYTWChnbE0i79M8vSDzRDeY+kU+qHnL+PnJ27Xu+f6uV1/xze3qzVtMQuRTL2tXMxmKMggS5h/oQaYbaFBbE9LWYNCW7QP2OB65mxr3RfOFiPTT/phkKGcCtYnum4nMEr2gM2/er0Pj0KtumTDm2iKPLY+id+nygwBbUlw82i0vfkr0d/rdrH1tHDY4zV8HuLOgymcQk7mJ/GTmImNm79bTbsH21mV8KAssc3JbMztIFfTdhE7p6XZl/VUnbLvsvnN2G//F2buM33LG0tVXnrjd32meKWhFUaIb2XwI0UWad20Dx+taimuyW41a6YV9QH4vTKSywHIDGQHZmn9QIO+6/iYrdHpakROiQ9GPVrg+si74OmEbr7+tTC6/Gq6gR241Xb5X4LSrLbJnW+R2tEXO/DbN44B304sf+hnvgzsyNX8dICC86rABv8+ZH0S8ni7XC1pERVWbWjNOZRaNMsoCCzTo7gThR+X3sotwpTvH5Sd8fPtbz1w6fv2pO45ffdL24zefsXT8ptN3fPbKE7Z5j+adhL3fDWlQ1/hwE41PdKvmX9uAQVEPMk12q/ESUgfr8nUAldo3IOzvBrrUwQdc0aWfh9UpYX4mWbBgA81fBWdERXn8u3xoqKsqPluAC4M17E5pUxB+j8mMdy5EjsApra5jOsDZF+lN4IWNtsRlty3mG7olXEyiaE/d7q6fW57DirpoEV2rNTf3nRi7BfM1vfRrGbgEBX5xer46skKiVu4tLbAw53Pm+/rNqgvXjfIuzbxLxXbwyuO33fH2b+80fuO3JoTVz0/e3vx7yxlLx28+fclz3u0hbrfImW/yNS5WiE4cr27yZKMJwEjrG2SaoKG0RZ6Z7uYUHxBG4XuG3W52zVLQD5CbXG8JQRjccADV/BV4Tcp8izP44t9C5PbOOpB7CgKoYL7TrOCevnKEMYd2L5h/mYsUda6JwiUJcMHAt6Is+h391GZ+CPF2mr+MhOhoXz9b7frKqmyq0wFXo+kdi6PSBQ+34WIXXbYbUG/B/BTK++YsyNrKbtZlfdACC++G9siJzu314GosipY6RcLV06rQrq4/ZYfRG09bMn7T6UvGrz55Qlg5ekXTWjK+RiH4jBTMl3cbRHbQ392vAbJpYLXMmS/3Hedqcqu2XTU+Dz8uXZ8P2FIgZWzVcTw6OBNp6XL9Yi9kxfDcTQgyE0fk53Xe3bgq4Nbs0qBB+Zz5iYz5mJxoe1wk0Bkd3RAe7r0OyEGxXxzHbZF7fYJZE9oeAz5jfiFjviRj/hpuEEKSOZw4wU6UER2LyyxwBZkTVJPCgPm+fafZun9qdPS3MuYpl+U6gk2nEPleP5qQPS2snFuTfSOCWMAj4efo6w/YICF0C6JP5sw/hUCw8Xn3JMz/5hszILOwTiTT64qU6Mc+wWcWDZHvQqHRZXzIRbYpRJ41pgj7bchKXOVBf9UpO4xef9qOL9121tJJ7aossG4/y2heLxjmXeP49YXIpwqRVTYQdcoL64bNEPbCfHzOvKwj8oHZNuYitq0tMpYz3+Br4G4EvxA7+B9A4G4usiIX+ajPs/eQOH59xnxiVf4tELQAvEMucm4mshtS1a4gig7tsvWowgFxHGfMZ1ZtcdH+ZpvE/ItCZDn8pnzv7ZAQXaHbB4MIE8eu6rBvPJkS3QfnURxOpESXJsw/SYguxIoLmvyZ6PyU6Hsp0Um5yKGYOIXIZv3axnAhRFvkKhuXOOV7NWFbjO9B/4Hcd7ify3ZG/It6C5Erloks0M8uo4Nsncw/0W2lCc/Ioe0RFYXIO6Apdmv/MiCgC+YnrPCYUrf7PqPRTAieWxAUnhKdictHkLwRp9KIPnAalfk+5psQltOZP39DfTBUrtfUSfQz3AGJ02a0e0J0ePn9cdJ46Oios82uQVZo3YaF7kuedNM4qCtE3lcwn2k0Wius7M7mZSR+1GXKuOqb2/7VLacvfQjbwvKW8I7v7Dx+4+k73nv5CdtsZrIUtkXuwsuUA2OnI3y8Gyh28l8/W0fmmchn8Wx0ltOs0EmOXOdYu9Ukmd+XPIHxO/cNsG+ULwXIJm4APjUjMhpAt3odoR6o/VajWY1tTFvkO3W2Mcgltb/IddAOIKyqnoef8Q34bmNAnhhYKzsi5/hyHsGT/QtdbkBxBweoG++NejHYuhHer9z3zs7RFjm27kWvZeD0Lhc52tWt37EfQl1WszqmKpc7TneRaQBe/E4Qoqy7Zce0tRozINfXVntA9MPKnPniOnGr+zG/uy3yKMrrdy6TNb+Y9sBiiX+dEMD7TH6fyIl7WPuS75p5Vxe+A/VhzmA8wM3lsIULzRgqz1vE+LWZz4JgRf14rh1jE8LnlT66OyU6PSU6Aq4LKfOZmY03dvMFZcDbEXkBOezWaIgKXHbcx+WG03ZcCaF11Unbjd/5nZ1hgL/l0m98bMKVCtfCf3XRoskVyg1CR+6l9YB1DYm/u1AO5JTWLzATcBkv3dVPILtVdQ2F7IbPwj8LHQh1GWmcU+anjSCx5coTD06VCdG5k88g+t4RixZNaiGoF7m5zTVkE/X+ConscAmFUceJHjTXk9loeSdQUG+dSHmEKkBook2dcEVcmH3eI3BJsFrQYwj1wPuAD/2Btj980SKsnnfpKHhsX3Lmu6rsJ02Qexe0o91yHtmPb1pG9P62yE9cv/hW+W6EiYyyeI+2yHXQmvUzykii6GtHLl5s+gjtg2fa9Circb287We0v/k+M2ZKcwNlMPEPGRkZ/+dFi+CntZV+hg/LmUfaIheiDiMQPN/iI7Qz+tsKy6t9tliM4cNGRyffEfxG4MD9hvkXKTO0qgtTonP3F4HAwUHClMwJuGsTN1UVzD/MmF/Et7q6XH+X28JmFZ1UGsCLMuiHXn3qLjth67ff9K0dn37w/N1ht3rqsv/Y9pWLWxFyYrYWIt/IiI5Oib6E6HwkaoP7PAJW0RGtKPoArPvwU8Exp7nIUmQbODjuP3Ev2RZ6sswkzD5eZDNcHolASkSYQ2DC4Iq0tLhxFxdyYqsClddc0BnHb0TOIPjTFHH8Xpwu4vSviOPPdOJ4+3IICrJxrhDZImN+j7nEk2gU2xdcQzZZL+w+qHv+/NchBAO+JSY/EC7+RFgL85bT2U3KMD5TzFtC2zJ+X0NDbJ43OvoGrJ6GRP7AXh2FLACbwrEPR/EdkW2qNDmsoFDT2xUXjDZJmHxYwbGF6ddAXTB/qC3yrZz5MSeAMCHcwmS0wdKi4yZNzvxSIXJhm3mnbr5WDujX/UVOzkBEB+bMSxE/hzGCNnMXutoUMZsim0UWx1vjVDglGjNxmMzHtEW+moks6dUsgvv8CuaL8d7liY/J7hZip0lZIYVv/2lbZInPvgVgPKwYHj4xEznYpHuJ4782ZgPYKftYRACTaZRoeU50Ycb8pBOaILybI/d/jIG2yBUF86d7bRMHbP/uO2e3k802MGDuAcGvcOvAhC8PrsltRoXto1+y29CBblKCdliIfCQXOQh2vZQZ9pdbEiJoCrdnRNcYuyHzkXkc77ounH72A7w3tJmM+Ssp87dxhX3KfAUoY76gEDm2zbxXN/+x2YK5nXt4+P25yD4Z0eEp8wmwe9lDnBUQpq/aq+wD1j6gibVFTodQgoCCvQtez7i6HKdqKfPF+F1K9LxW8zW5lRRCzm3BtaByZI/S761rkK4LaPHQFE7deuu+tLeAgIB1FDjyb4s8XVLVr/EdjBi3jZGR+UUU/XlO9A8J816pSAc5jbCK4rYbeCzj2DxlPiUlOi9lvj5lftzZNbXAcnaOdSENUUBAwDoOhFZBULnTRVwl3i1+qx/AzpfH8Ydz5kt8p3tWkNVKHBcQEDBHgcMEY4S2WzZoV2PMO2u+poCA5ox5isNhEFgBAQFdYbzbma9zGo91DH2oW/xcE0ii6L3OJ85tCY0di/ndmjcgICDAAEfwZUdHaDnwWtd8TQMnegjMdlqd8yODB7bmDQgICDCAv1x5a2YF1n9pvqYBfz446zqBBW0LkfpV/kIBAQEBxt+qbAA3YUJEN2m+pqG3hCbyocZ9hwEBAXMYNjZ0cktot4cvwgNf8zYJ5LdyAeJWw7t72QYbzKjdLCAg4FUOhKSkzLeVt4U4MYQvleZtCinzp52wgpEfz54uMj8gICDAICHa/uBSxDy0rI7I6jGi6XNj94iMOYeAgu3KedOPRdGemi8gICCgEi3mryOTAISVS1zYFnkBAbGatx/YvEcXG3+vUhqRurezBAQEBKyBjOiL0HjsiZ3ZrtkQnQvgod5rnN9BCxZsgEwIuch/u0wJMOrbNCKXLWfeVJcJCAgIqA0k9StE7nCJBbFNdPnNMua7MpHjMpE90yj6a9z+gxQ1JkUO8wjyi+MCTkTh42r7jPmxcqYHUCFySxHHyKkU3BcCAgIGh0mBzbxvW+RGaEZO4OBfuB+AIMBc9gXj8FnKaopUMUhShy2m1dCeRG7zNvN2/eY7CggICOgKJNRDosM2c5aJnJ4xX5dOZEp9wWVhddkXTObQCQGGjJsrkbwtFzkCiQKR1E7XHRAwG/gfNje2o+HXOQ8AAAAASUVORK5CYII=") left center / contain no-repeat; -webkit-print-color-adjust: exact; print-color-adjust: exact;}
:where(.k-kit) .k-doc-top{display: flex; align-items: baseline; justify-content: space-between; gap: 16px;}
:where(.k-kit) .k-doc-kicker{font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--sand); margin: 0 0 6px;}
:where(.k-kit) .k-doc-title{font-family: var(--font-serif); font-weight: 400; font-size: 30px; line-height: 1.08; margin: 0; letter-spacing: -.01em;}
:where(.k-kit) .k-doc-meta{font-size: 11.5px; color: var(--text-3); text-align: right; line-height: 1.5;}
:where(.k-kit) .k-doc-purpose{font-family: var(--font-serif); font-size: 18px; line-height: 1.35; color: var(--text); margin: 10px 0 0; padding-left: 14px; border-left: 2px solid var(--gold);}
:where(.k-kit) .k-doc-purpose small{display: block; font-family: var(--font); font-size: 11px; color: var(--text-3); margin-top: 4px;}
:where(.k-kit) .k-doc-figs{display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; border-top: 1px solid var(--text); border-bottom: 1px solid var(--line); margin-top: 12px;}
:where(.k-kit) .k-doc-fig{padding: 8px 12px 8px 0;}
:where(.k-kit) .k-doc-fig + .k-doc-fig{padding-left: 12px; border-left: 1px solid var(--line);}
:where(.k-kit) .k-doc-fig span{display: block; font-size: 10.5px; color: var(--text-3); font-weight: 500;}
:where(.k-kit) .k-doc-fig b{display: block; font-family: var(--font-serif); font-weight: 400; font-size: 30px; line-height: 1.1; letter-spacing: -.01em; margin: 2px 0;}
:where(.k-kit) .k-doc-fig small{font-size: 10.5px; color: var(--text-3);}
:where(.k-kit) .k-doc-section{display: flex; justify-content: space-between; font-size: 10.5px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; color: var(--text-3); margin: 12px 0 5px; padding-bottom: 4px; border-bottom: 1px solid var(--text);}
:where(.k-kit) .k-doc-section span{letter-spacing: .04em;}
:where(.k-kit) .k-doc-table{width: 100%; border-collapse: collapse; font-size: 11.5px; font-variant-numeric: tabular-nums;}
:where(.k-kit) .k-doc-table td{padding: 3.5px 6px 3.5px 0; border-bottom: 1px solid var(--line-soft); vertical-align: top; overflow-wrap: break-word;}
:where(.k-kit) .k-doc-table td small{display: block; color: var(--text-3); font-size: 10px; line-height: 1.2; white-space: pre-line;}
:where(.k-kit) .k-doc-table .r{text-align: right; padding-right: 0; padding-left: 8px; white-space: nowrap;}
:where(.k-kit) .k-doc-table tr{break-inside: avoid;}
:where(.k-kit) .k-doc.k-doc .tscroll{overflow: visible; margin-top: 4px;}
:where(.k-kit) .k-doc.k-doc .tscroll > table{width: 100%; border: 0; border-radius: 0; background: none; border-collapse: collapse; font-size: 11.5px; font-variant-numeric: tabular-nums;}
:where(.k-kit) .k-doc.k-doc .tscroll > table :is(th, td){height: auto; padding: 3.5px 6px 3.5px 0; vertical-align: top; border-bottom: 1px solid var(--line-soft); font-size: 11.5px; line-height: 1.3; white-space: normal; max-width: none; overflow: visible; text-overflow: clip;}
:where(.k-kit) .k-doc.k-doc .tscroll > table th{text-align: left; overflow-wrap: normal; background: none; font-size: 10px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: var(--text-3); border-bottom-color: var(--line);}
:where(.k-kit) .k-doc.k-doc .tscroll > table .num{text-align: right; padding-left: 8px; padding-right: 0; white-space: nowrap;}
:where(.k-kit) .k-doc.k-doc .tscroll > table :is(th, td).num:not(:last-child){padding-right: 18px;}
:where(.k-kit) .k-doc.k-doc .tscroll > table tbody tr:hover{background: none;}
:where(.k-kit) .k-doc.k-doc .tscroll > table tbody tr:last-child > td{padding-bottom: 3.5px; border-bottom: 1px solid var(--line-soft);}
:where(.k-kit) .k-doc :is(.dim, .fp-status, .fp-warning, summary){font-size: 11.5px; line-height: 1.5; margin: 6px 0;}
:where(.k-kit) .k-doc .dim{color: var(--text-2);}
:where(.k-kit) .k-doc-note{font-size: 11.5px; line-height: 1.5; color: var(--text-2); margin: 6px 0;}
:where(.k-kit) .k-doc-note b{font-weight: 600;}
:where(.k-kit) .k-doc-foot{margin-top: auto; padding-top: 12px; font-size: 10.5px; color: var(--text-3);}
:where(.k-kit) .k-doc.paged{padding: 44px 64px 40px;}
:where(.k-kit) .k-doc.paged .k-doc-head{margin-bottom: 30px;}
:where(.k-kit) .k-doc.paged .k-doc-kicker{margin-bottom: 8px;}
:where(.k-kit) .k-doc.paged .k-doc-title{font-size: 36px; line-height: 1.1;}
:where(.k-kit) .k-doc.paged .k-doc-also{margin-top: 40px; padding-top: 26px; border-top: 1px solid var(--line);}
:where(.k-kit) .k-doc.paged .k-doc-also .k-doc-title{font-size: 30px;}
:where(.k-kit) .k-doc-lede{font-size: 15px; line-height: 1.6; color: var(--text-2); margin: 14px 0 0; max-width: 640px;}
:where(.k-kit) .k-doc-cols{display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 32px; align-items: start; margin-top: 28px;}
:where(.k-kit) .k-doc-cols.one{grid-template-columns: minmax(0, 1fr);}
:where(.k-kit) .k-doc-body{margin-top: 22px; font-size: 13px; line-height: 1.55;}
:where(.k-kit) .k-doc.paged .k-doc-section{border-bottom: 0; margin: 0 0 6px; padding: 0;}
:where(.k-kit) .k-doc.paged .k-doc-table{font-size: 13px;}
:where(.k-kit) .k-doc.paged .k-doc-table td{padding: 7px 8px 7px 0;}
:where(.k-kit) .k-doc.paged .k-doc-table td.r{padding-right: 0;}
:where(.k-kit) .k-doc.paged .k-doc-table td small{font-size: 11px; line-height: 1.3; margin-top: 1px;}
:where(.k-kit) .k-doc.paged .k-doc-table tr.gh td{padding: 6px 0; font-size: 11px; font-weight: 500; color: var(--text-3); border-bottom: 1px solid var(--text);}
:where(.k-kit) .k-doc.paged .k-doc-table tr.gh td.r{white-space: normal; padding-left: 12px;}
:where(.k-kit) .k-doc.paged .k-doc-table tr.part td{font-weight: 600; border-top: 1px solid var(--text); border-bottom: 0;}
:where(.k-kit) .k-doc.paged .k-doc-table td.k-muted,:where(.k-kit) .k-doc.paged .k-doc-table .k-muted{color: var(--text-3); font-weight: 400;}
:where(.k-kit) .k-doc.paged .tscroll > table :is(th, td){font-size: 12.5px;}
:where(.k-kit) .k-doc.paged .k-doc-foot{display: flex; justify-content: space-between; gap: 16px;}
:where(.k-kit) .k-doc-goals{margin-top: 22px;}
:where(.k-kit) .k-doc-goal{display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; padding: 12px 0; border-bottom: 1px solid var(--line-soft); break-inside: avoid;}
:where(.k-kit) .k-doc-goal b{display: block; font-size: 15px; font-weight: 600; line-height: 1.35;}
:where(.k-kit) .k-doc-goal p{margin: 3px 0 0; max-width: 520px; font-size: 13px; line-height: 1.55; color: var(--text-2);}
:where(.k-kit) .k-doc-goal .k-chip{flex: none; padding: 3px 12px; font-size: 12.5px; font-weight: 600;}
:where(.k-kit) .k-doc-goal > div:first-child{flex: 1; min-width: 0;}
:where(.k-kit) .k-doc-rec{display: grid; grid-template-columns: 30px minmax(0, 1fr); column-gap: 16px; padding: 14px 0 16px; border-bottom: 1px solid var(--line-soft); break-inside: avoid;}
:where(.k-kit) .k-doc-rec:first-of-type{padding-top: 4px;}
:where(.k-kit) .k-doc-rec-n{font-family: var(--font-serif); font-size: 26px; line-height: 1; color: var(--sand); text-align: right; padding-top: 1px; font-variant-numeric: lining-nums;}
:where(.k-kit) .k-doc-rec h3{margin: 0 0 6px; font-family: var(--font-serif); font-weight: 400; font-size: 18px; line-height: 1.28; letter-spacing: -.005em;}
:where(.k-kit) .k-doc-rec p{margin: 0; max-width: 560px; font-size: 13.5px; line-height: 1.6; color: var(--text-2);}
:where(.k-kit) .k-doc-rec .k-doc-rec-does{margin-top: 8px; font-weight: 600; color: var(--text);}
:where(.k-kit) .k-doc-rec p + p:not(.k-doc-rec-does){margin-top: 7px;}
:where(.k-kit) .k-doc-goalcost{margin-top: 10px; max-width: 560px;}
:where(.k-kit) .k-doc-flow svg{display: block; width: 100%; height: auto;}
:where(.k-kit) .k-doc-flow .k-core-legend{display: flex; flex-wrap: wrap; margin-top: 8px;}
:where(.k-kit) .k-deck-flow svg{display: block; max-height: 430px; width: auto; max-width: 100%; margin: 0 auto;}
:where(.k-kit) .k-deck-flow .k-core-legend{display: flex; flex-wrap: wrap; justify-content: center; margin-top: 10px;}
:where(.k-kit) .k-doc-goalcost .k-doc-table{font-size: 12.5px;}
:where(.k-kit) .k-doc-checks{margin-top: 6px;}
:where(.k-kit) .k-doc-check{display: flex; align-items: flex-start; gap: 12px; padding: 11px 0; border-bottom: 1px solid var(--line-soft); break-inside: avoid;}
:where(.k-kit) .k-doc-check .k-doc-step-box{position: relative; width: 14px; height: 14px; margin-top: 3px; border-radius: 3px;}
:where(.k-kit) .k-doc-check .k-doc-step-box.on{border-color: var(--text);}
:where(.k-kit) .k-doc-check .k-doc-step-box.on::after{content: ""; position: absolute; left: 3.5px; top: 0; width: 3.5px; height: 7.5px; border: solid var(--text); border-width: 0 1.5px 1.5px 0; transform: rotate(45deg);}
:where(.k-kit) .k-doc-check b{display: block; font-size: 13.5px; font-weight: 600; line-height: 1.35;}
:where(.k-kit) .k-doc-check p{margin: 2px 0 0; font-size: 12px; line-height: 1.45; color: var(--text-2);}
:where(.k-kit) .k-doc-check p.k-muted{color: var(--text-3);}
:where(.k-kit) .k-doc-table.legacy{table-layout: fixed;}
:where(.k-kit) .k-doc-table.legacy td.r{width: 48%;}
:where(.k-kit) .k-doc-table.legacy td:first-child{padding-right: 12px;}
:where(.k-kit) .k-doc.paged .k-doc-checks + .k-doc-section{margin-top: 30px;}
:where(.k-kit) .k-doc.paged .k-doc-title + .k-doc-section{margin-top: 28px;}
:where(.k-kit) .k-doc-quote{margin: 26px 0 0;}
:where(.k-kit) .k-doc-quote p{max-width: 640px; margin: 0; font-family: var(--font-serif); font-size: 21px; line-height: 1.35;}
:where(.k-kit) .k-doc-quote small{display: block; margin-top: 10px; font-size: 12px; color: var(--text-3);}
:where(.k-kit) .k-doc-box{margin-top: 26px; padding: 14px 16px; border-radius: 8px; background: var(--sand-wash); font-size: 13px; line-height: 1.5; color: var(--text-2);}
:where(.k-kit) .k-doc :is(.k-doc-prose, .tcr-discussion){white-space: pre-wrap; font-size: 13px; line-height: 1.6;}
:where(.k-kit) .k-doc .tcr-meta{color: var(--text-3); font-size: 11.5px; margin-top: 4px;}
:where(.k-kit) .k-doc dl{margin: 0;}
:where(.k-kit) .k-doc dl > div{padding: 7px 0; border-bottom: 1px solid var(--line-soft);}
:where(.k-kit) .k-doc dt{font-weight: 600;}
:where(.k-kit) .k-doc dd{margin: 2px 0 0; color: var(--text-2);}
:where(.k-kit) .k-doc.ink{background: var(--ink); color: var(--ink-text); padding: 72px 72px 56px; box-shadow: none;}
:where(.k-kit) .k-doc.ink .k-doc-logo{height: 30px; width: auto; align-self: flex-start;}
:where(.k-kit) .k-doc.ink .k-doc-cover{flex: 1; display: flex; flex-direction: column; justify-content: center; position: relative;}
:where(.k-kit) .k-doc.ink .k-doc-season{position: absolute; right: 0; bottom: 0; width: 78%; aspect-ratio: 560 / 120; pointer-events: none; -webkit-mask-image: linear-gradient(90deg, transparent 0, black 40%); mask-image: linear-gradient(90deg, transparent 0, black 40%);}
:where(.k-kit) .k-doc.ink .k-season{display: block; width: 100%; height: 100%; overflow: visible;}
:where(.k-kit) .k-season :is(path, circle){fill: none; stroke-width: 1.2; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke;}
:where(.k-kit) .k-season .g{stroke: var(--gold); stroke-opacity: .72;}
:where(.k-kit) .k-season .c{stroke: var(--ink-brand); stroke-opacity: .34;}
:where(.k-kit) .k-season .s{stroke: var(--sand-dot); stroke-opacity: .75;}
:where(.k-kit) .k-season .o{stroke: color-mix(in srgb, var(--olive) 50%, var(--ink-brand)); stroke-opacity: .55;}
:where(.k-kit) .k-season .f{stroke-opacity: .2;}
:where(.k-kit) .k-season .g.f{stroke-opacity: .34;}
:where(.k-kit) .k-season .dot{stroke: none; fill: var(--ink-brand); fill-opacity: .5;}
:where(.k-kit) .k-season .dot.g{fill: var(--gold); fill-opacity: .8;}
:where(.k-kit) .k-doc.ink .k-doc-kicker{color: var(--gold); margin-bottom: 14px;}
:where(.k-kit) .k-doc.ink .k-doc-title{font-size: 56px; line-height: 1.08; color: var(--on-ink-soft); max-width: 520px; text-wrap: balance;}
:where(.k-kit) .k-doc-when{margin: 22px 0 0; font-size: 17px; color: var(--ink-text);}
:where(.k-kit) .k-doc-verse{margin: 40px 0 0; max-width: 560px;}
:where(.k-kit) .k-doc-verse p{margin: 0; font-family: var(--font-serif); font-size: 21px; line-height: 1.35; color: var(--on-ink-soft);}
:where(.k-kit) .k-doc-verse small{display: block; margin-top: 8px; font-size: 12px; color: var(--ink-muted);}
:where(.k-kit) .k-doc-end{display: flex; justify-content: space-between; gap: 32px; padding-top: 20px; border-top: 1px solid var(--ink-kbd); font-size: 13px; line-height: 1.5;}
:where(.k-kit) .k-doc-by{flex: none; width: 130px; display: flex; flex-direction: column;}
:where(.k-kit) .k-doc-by b{font-weight: 600; color: var(--on-ink-soft);}
:where(.k-kit) .k-doc-est{margin: 18px 0 0; max-width: 560px; font-size: 11.5px; line-height: 1.5; color: var(--ink-muted);}
:where(.k-kit) .k-doc-toc{text-align: right; max-width: 520px;}
:where(.k-kit) .k-doc-toc:has(ol){text-align: left; flex: 0 1 300px;}
:where(.k-kit) .k-doc-toc span{color: var(--ink-text);}
:where(.k-kit) .k-doc-toc p{margin: 0; color: var(--ink-muted);}
:where(.k-kit) .k-doc-toc ol{list-style: none; margin: 6px 0 0; padding: 0; display: grid; row-gap: 2px; text-align: left;}
:where(.k-kit) .k-doc-toc li{display: grid; grid-template-columns: 16px minmax(0, 1fr) auto; gap: 6px; color: var(--ink-muted);}
:where(.k-kit) .k-doc-toc li span:first-child{color: var(--ink-muted);}
:where(.k-kit) .k-doc-toc li b{font-weight: 400; color: var(--ink-text); font-variant-numeric: tabular-nums;}
:where(.k-kit) .k-doc.ink,:where(.k-kit) .k-doc.ink *{-webkit-print-color-adjust: exact; print-color-adjust: exact;}
@media print{:where(.k-kit) .k-doc-pages{display: block; padding: 0; overflow: visible;}:where(.k-kit) .k-doc{width: 100%; min-height: 0; box-shadow: none; break-after: page; padding: 14mm 14mm 12mm;}:where(.k-kit) .k-doc.paged{min-height: 100vh; padding: 44px 64px 40px;}:where(.k-kit) .k-doc.ink{min-height: 100vh; padding: 72px 72px 56px;}:where(.k-kit) .k-doc:last-child{break-after: auto;}:where(.k-kit) .k-doc-pages .k-doc,:where(.k-kit) .k-doc-pages .k-doc.paged,:where(.k-kit) .k-doc-pages .k-doc.ink{box-sizing: border-box; width: 8.5in; height: 11in; min-height: 11in; max-height: 11in; overflow: hidden; break-inside: avoid;}}
@media (min-width: 641px){:where(.k-kit) .k-figures.k-ty-figs{flex-wrap: nowrap;}:where(.k-kit) .k-ty-figs > .k-figure{flex: 1 1 0; min-width: 0;}}
:where(.k-kit) small.k-est,:where(.k-kit) .k-figure > .k-est{font-size: .75rem; color: var(--text-3);}
:where(.k-kit) .k-table.k-strat > .k-tr > .k-two.right{overflow: visible; min-width: 0;}
:where(.k-kit) .k-table.k-strat > .k-tr > .k-two.right > small{white-space: normal; overflow: visible; text-overflow: clip; text-align: right;}
:where(.k-kit) .k-table.k-strat{--cols-phone: minmax(0, 1fr) 132px;}
:where(.k-kit) .k-table.k-strat.l4{--cols: minmax(0, 1.5fr) 176px repeat(4, 76px) minmax(0, 1.2fr) 96px minmax(132px, .9fr);}
:where(.k-kit) .k-table.k-strat.l3{--cols: minmax(0, 1.5fr) 176px repeat(3, 76px) minmax(0, 1.2fr) 96px minmax(132px, .9fr);}
:where(.k-kit) .k-table.k-strat.l2{--cols: minmax(0, 1.5fr) 176px repeat(2, 76px) minmax(0, 1.2fr) 96px minmax(132px, .9fr);}
:where(.k-kit) .k-table.k-strat.ready.l3{--cols: minmax(0, 1.4fr) 176px repeat(3, 76px) minmax(0, 1fr) minmax(0, 1.2fr) minmax(132px, .9fr);}
:where(.k-kit) .k-table.k-strat.ready.l2{--cols: minmax(0, 1.4fr) 176px repeat(2, 76px) minmax(0, 1fr) minmax(0, 1.2fr) minmax(132px, .9fr);}
:where(.k-kit) .k-table.k-strat.ready.l1{--cols: minmax(0, 1.4fr) 176px 76px minmax(0, 1fr) minmax(0, 1.2fr) minmax(132px, .9fr);}
:where(.k-kit) .k-table.k-strat.docked{--cols: minmax(0, 1fr) 176px;}
:where(.k-kit) .k-table.k-strat > .k-tr > .k-wide.k-num{white-space: nowrap;}
@media (min-width: 641px) and (max-width: 1100px){:where(.k-kit) .k-table.k-strat:is(.l2, .l3, .l4, .l1) > .k-tr{grid-template-columns: var(--cols-phone);}:where(.k-kit) .k-table.k-strat:is(.l2, .l3, .l4, .l1) > .k-tr > .k-wide{display: none;}:where(.k-kit) .k-table.k-strat:is(.l2, .l3, .l4, .l1) > .k-tr .k-narrow{display: block;}}
@media (max-width: 1100px){:where(.k-kit) .k-table.k-strat .k-two > small{white-space: normal; overflow: visible; text-overflow: clip;}}
:where(.k-kit) .k-table > .k-strat-note{padding: 0 16px 9px 18px; margin-top: -3px; font-size: .75rem; line-height: 1.45; color: var(--text-3);}
:where(.k-kit) .k-open section > .k-table > .k-strat-note{padding-inline: 0;}
:where(.k-kit) .k-table > .k-strat-note + .k-tr,:where(.k-kit) .k-table > .k-strat-note + a.k-tr{border-top-color: var(--line-faint);}
:where(.k-kit) .k-table.k-moves{margin: 8px 0 16px;}
:where(.k-kit) .k-sz-lands .k-tr{gap: 6px; font-size: inherit;}
:where(.k-kit) .k-sz-lands .k-tr > span{white-space: normal; overflow: visible; text-overflow: clip;}
:where(.k-kit) .k-sz-levels .k-tr > span{white-space: normal; overflow: visible; text-overflow: clip;}
:where(.k-kit) .k-pgroup-label.k-sz-sub{margin-top: 14px;}
:where(.k-kit) .k-sz-form .k-prow{grid-template-columns: 150px minmax(0, 1fr);}
:where(.k-kit) .k-panel.k-foot-wrap > .k-panel-foot{flex-wrap: wrap;}
:where(.k-kit) .k-prow-btns > .k-hint{flex: 1 1 100%;}
:where(.k-kit) .k-ty-fl .k-two{min-width: 0; flex: 1 1 auto;}
:where(.k-kit) .k-ty-fl .k-two > small{display: block; white-space: normal; font-size: .75rem; line-height: 1.3; color: var(--text-3);}
:where(.k-kit) .k-ty-led > .k-t2{font-size: .78125rem;}
:where(.k-kit) .k-ty-dues > .k-tr > span{white-space: normal; overflow: visible; text-overflow: clip;}
:where(.k-kit) .k-tx-page:has(.k-body.k-open),:where(.k-kit) .k-tx-main:has(.k-body.k-open){background: var(--surface);}
:where(.k-kit) .k-own-item > .k-two{flex: 1 1 0; min-width: 0;}
:where(.k-kit) .k-own-attn .k-two > small{white-space: normal;}
:where(.k-kit) .k-tx-two .k-tr > span{white-space: normal; overflow: visible; text-overflow: clip;}
:where(.k-kit) .k-tx-two .k-tr > span:not(:first-child){text-align: right;}
:where(.k-kit) .k-tx-pair > .k-card{min-width: 0;}
:where(.k-kit) .k-plot > .k-svgchart{min-width: 480px; max-width: 960px;}
:where(.k-kit) .k-svgchart .ln{fill: none; stroke-width: 1.75; stroke-linejoin: round; stroke-linecap: round;}
:where(.k-kit) .k-doc-table.years.lines td:first-child{width: 46%;}
:where(.k-kit) .k-doc-table.years.lines.n1 td:first-child{width: 70%;}
:where(.k-kit) .k-doc-table.have td:first-child{width: 72%;}
:where(.k-kit) .k-doc-table.have td:last-child{width: 28%;}
:where(.k-kit) .k-doc-table.have tr.gh td:first-child span{font-weight: 400; color: var(--text-3); text-transform: none; letter-spacing: 0; margin-left: 6px;}
:where(.k-kit) .k-doc-table.have.cover td:first-child{width: 30%;}
:where(.k-kit) .k-doc-table.have.cover td:last-child{width: 70%;}
:where(.k-kit) .k-sankey text{font-size: calc(11px / var(--k-chart-scale, 1)); fill: var(--text); paint-order: stroke; stroke: var(--surface); stroke-width: 3px; stroke-linejoin: round;}
:where(.k-kit) .k-sankey text.sub,:where(.k-kit) .k-sankey tspan.sub{font-size: calc(10px / var(--k-chart-scale, 1)); fill: var(--text-3);}
:where(.k-kit) .k-sankey text.on{font-size: calc(9.5px / var(--k-chart-scale, 1)); fill: var(--text-3);}
:where(.k-kit) .k-sankey text.head{font-size: calc(9.5px / var(--k-chart-scale, 1)); fill: var(--text-3); letter-spacing: .06em; text-transform: uppercase;}
:where(.k-kit) .k-sankey rect.n{fill: var(--ink);}
:where(.k-kit) .k-sankey rect.n.d1{fill: var(--d1);}
:where(.k-kit) .k-sankey rect.n.d2{fill: var(--d2);}
:where(.k-kit) .k-sankey rect.n.d4{fill: var(--d4);}
:where(.k-kit) .k-sankey rect.n.d6{fill: var(--d6);}
:where(.k-kit) .k-sankey rect.n.mid{fill: var(--mid);}
:where(.k-kit) .k-sankey rect.n.dash{fill: var(--surface); stroke: var(--text-4); stroke-dasharray: 3 2;}
:where(.k-kit) .k-sankey path.band{fill: var(--ink); fill-opacity: .16;}
:where(.k-kit) .k-sankey path.band.d1{fill: var(--d1); fill-opacity: .22;}
:where(.k-kit) .k-sankey path.band.d2{fill: var(--d2); fill-opacity: .26;}
:where(.k-kit) .k-sankey path.band.d4{fill: var(--d4); fill-opacity: .2;}
:where(.k-kit) .k-sankey path.band.d6{fill: var(--d6); fill-opacity: .24;}
:where(.k-kit) .k-sankey path.band.mid{fill: var(--mid); fill-opacity: .3;}
:where(.k-kit) .k-sankey path.band.dash{fill-opacity: .08; stroke: var(--text-4); stroke-width: 1; stroke-dasharray: 4 3;}
:where(.k-kit) .k-svgchart .ln.ref{stroke: var(--text-4); stroke-width: 1.25; stroke-dasharray: 4 3;}
:where(.k-kit) .k-svgchart .ln.navy{stroke: var(--navy);}
:where(.k-kit) .k-svgchart .ln.sand{stroke: var(--sand-dot);}
:where(.k-kit) .k-svgchart .ln.olive{stroke: var(--olive);}
:where(.k-kit) .k-svgchart .ln.terra{stroke: var(--terra);}
:where(.k-kit) .k-svgchart .gl{stroke: var(--line-soft); stroke-width: 1;}
:where(.k-kit) .k-svgchart .area{stroke: none;}
:where(.k-kit) .k-svgchart .area.navy{fill: var(--navy); fill-opacity: .1;}
:where(.k-kit) .k-svgchart .ln.ink{stroke: var(--text);}
:where(.k-kit) .k-svgchart .ln.dash{stroke-dasharray: 5 3; stroke-width: 1.5;}
:where(.k-kit) .k-svgchart line.mark{stroke: var(--text-4); stroke-width: 1.25; stroke-dasharray: 1.5 3;}
:where(.k-kit) .k-svgchart text.mark{fill: var(--text-2); font-weight: 500;}
:where(.k-kit) .k-svgchart text.sub{fill: var(--text-5);}
:where(.k-kit) .k-doc-plot{margin-top: 22px; break-inside: avoid;}
:where(.k-kit) .k-doc-table.stages{table-layout: fixed;}
:where(.k-kit) .k-doc-table.stages td:not(:first-child){width: 15%;}
:where(.k-kit) .k-doc-table.stages.n3 td:not(:first-child){width: 18%;}
:where(.k-kit) .k-doc-table.stages.n2 td:not(:first-child){width: 21%;}
:where(.k-kit) .k-doc-table.stages.n1 td:not(:first-child){width: 26%;}
:where(.k-kit) .k-doc-table.decisions{table-layout: fixed;}
:where(.k-kit) .k-doc-table.decisions td:first-child{width: 27%; padding-right: 14px;}
:where(.k-kit) .k-doc-table.decisions td:nth-child(2){color: var(--text-2); white-space: pre-line; padding-right: 14px;}
:where(.k-kit) .k-doc-table.decisions td.r{width: 11%;}
:where(.k-kit) .k-doc-table.decisions.n2 td.r{width: 14%;}
:where(.k-kit) .k-doc-table.decisions.n1 td.r{width: 17%;}
:where(.k-kit) .k-doc-table.decisions .gain,:where(.k-kit) .k-doc-table.taxes .gain{color: var(--gain); font-weight: 600;}
:where(.k-kit) .k-doc-table.decisions.v4 td:first-child{width: 25%;}
:where(.k-kit) .k-doc-table.decisions.v4 td.r{width: 14%; padding-left: 14px; white-space: nowrap;}
:where(.k-kit) .k-doc-table.decisions.v4.n2 td.r{width: 17%;}
:where(.k-kit) .k-doc-table.decisions.v4.n1 td.r{width: 20%;}
:where(.k-kit) .k-doc-table.sale .loss{color: var(--loss); font-weight: 600;}
:where(.k-kit) .k-doc-table.taxes,:where(.k-kit) .k-doc-table.giving{table-layout: fixed;}
:where(.k-kit) .k-doc-table.taxes td.r{width: 16%;}
:where(.k-kit) .k-doc-table.taxes td:first-child{padding-right: 14px;}
:where(.k-kit) .k-doc-table.taxes tr.gh:not(:first-child) td{padding-top: 24px;}
:where(.k-kit) .k-doc-table.giving td:first-child{width: 42%; padding-right: 14px;}
:where(.k-kit) .k-doc-table.giving td:nth-child(2){width: 38%; color: var(--text-2); padding-right: 14px;}
:where(.k-kit) .k-doc-table.giving td.r{width: 20%;}
:where(.k-kit) .k-doc-table.giving.fund td:first-child{width: 64%;}
:where(.k-kit) .k-doc-table.giving.fund td:nth-child(2){width: 18%; color: var(--text);}
:where(.k-kit) .k-doc-table.giving.fund td.r{width: 18%;}
:where(.k-kit) .k-doc-table.mix,:where(.k-kit) .k-doc-table.sits,:where(.k-kit) .k-doc-table.actions{table-layout: fixed;}
:where(.k-kit) .k-doc-table.mix td:not(:first-child){width: 19%;}
:where(.k-kit) .k-doc-table.mix.n2 td:not(:first-child){width: 22%;}
:where(.k-kit) .k-doc-table.mix.n1 td:not(:first-child){width: 28%;}
:where(.k-kit) .k-doc-table.mix td:first-child{padding-right: 14px;}
:where(.k-kit) .k-doc-table.sits td:first-child{width: 40%; padding-right: 14px;}
:where(.k-kit) .k-doc-table.sits td.r{width: 15%;}
:where(.k-kit) .k-doc-table.sits td:nth-child(3){width: 45%; padding-left: 28px; color: var(--text-2);}
:where(.k-kit) .k-doc.paged .k-doc-table.sits tr.gh td:nth-child(3){padding-left: 28px;}
:where(.k-kit) .k-doc.paged .k-doc-lede + .k-doc-table,:where(.k-kit) .k-doc.paged .k-doc-title + .k-doc-table{margin-top: 28px;}
:where(.k-kit) .k-doc-table.actions td:first-child{width: 15%; white-space: nowrap; padding-right: 14px;}
:where(.k-kit) .k-doc-table.actions td:nth-child(2){width: 57%; padding-right: 14px;}
:where(.k-kit) .k-doc-table.actions td:nth-child(3){width: 28%; color: var(--text-2);}
:where(.k-kit) .k-doc.paged .k-doc-table + .k-doc-section,:where(.k-kit) .k-doc.paged .k-doc-figs + .k-doc-section,:where(.k-kit) .k-doc.paged .k-doc-lede + .k-doc-section,:where(.k-kit) .k-doc.paged .k-doc-cols + .k-doc-section{margin-top: 30px;}
:where(.k-kit) .k-doc-cols.say p{margin: 0; font-size: 13px; line-height: 1.6;}
:where(.k-kit) .k-doc-table.confirm td{width: 100%;}
:where(.k-kit) .k-doc-table.years{table-layout: fixed;}
:where(.k-kit) .k-doc-table.options{table-layout: fixed;}
:where(.k-kit) .k-doc-table.options td:first-child{width: 38%;}
:where(.k-kit) .k-doc-table.options td small + small{margin-top: 3px;}
:where(.k-kit) .k-doc-table.months{table-layout: fixed;}
:where(.k-kit) .k-doc-table.netw{table-layout: fixed;}
:where(.k-kit) .k-doc-table.netw td:first-child{width: 30%;}
:where(.k-kit) .k-doc-table.netw tr.ages td{color: var(--text-3);}
:where(.k-kit) .k-doc-table.months td:first-child{width: 11%; white-space: nowrap;}
:where(.k-kit) .k-doc-table.strat.dense td{padding-top: 2.5px; padding-bottom: 2.5px;}
:where(.k-kit) .k-doc-table.strat.dense td small{display: block; font-size: 10px; line-height: 1.2; color: var(--text-3);}
:where(.k-kit) .k-doc-table.years td:first-child{width: 12%;}
:where(.k-kit) .k-doc-table.years.ages td:nth-child(2){width: 14%; color: var(--text-2);}
:where(.k-kit) .k-doc.paged .k-doc-note.end{margin-top: 22px; color: var(--text-3);}
:where(.k-kit) .k-svgchart text.lbl{font-size: calc(9.5px / var(--k-chart-scale, 1));}
:where(.k-kit) .k-doc-lede.advice{white-space: pre-line;}
:where(.k-kit) .k-doc.one{padding: 34px 52px 30px;}
:where(.k-kit) .k-doc.one .k-doc-head{margin-bottom: 18px;}
:where(.k-kit) .k-doc.one .k-doc-top{align-items: flex-start;}
:where(.k-kit) .k-doc.one .k-doc-title{font-size: 30px;}
:where(.k-kit) .k-doc.one .k-doc-meta{padding-top: 15px;}
:where(.k-kit) .k-doc.one .k-doc-purpose{margin-top: 14px;}
:where(.k-kit) .k-doc.one .k-doc-figs{margin-top: 16px;}
:where(.k-kit) .k-doc.one .k-doc-figs.k-doc-stand{margin-top: 0; border-top: 0;}
:where(.k-kit) .k-doc-figs.k-doc-stand .k-doc-fig b{font-size: 20px;}
:where(.k-kit) .k-doc.one .k-doc-fig b{font-size: 28px;}
:where(.k-kit) .k-doc.one .k-doc-fig small{display: block; line-height: 1.3;}
:where(.k-kit) .k-doc.one .k-doc-plot{margin-top: 0;}
:where(.k-kit) .k-doc.one .k-doc-cols{margin-top: 2px; gap: 0 36px;}
:where(.k-kit) .k-doc.one .k-doc-section{margin: 18px 0 4px;}
:where(.k-kit) .k-doc.one .k-doc-table{font-size: 12.5px;}
:where(.k-kit) .k-doc.one .k-doc-table td{padding: 4.5px 6px 4.5px 0;}
:where(.k-kit) .k-doc.one .k-doc-table td.r{padding-right: 0;}
:where(.k-kit) .k-doc.one .k-doc-table td small{font-size: 10.5px;}
:where(.k-kit) .k-doc.one .k-doc-table .gain{color: var(--gain); font-weight: 600;}
:where(.k-kit) .k-doc.one .k-doc-table .k-muted{color: var(--text-3);}
:where(.k-kit) .k-doc.one .k-doc-step{font-size: 12.5px; padding-block: 6px;}
:where(.k-kit) .k-doc.one .k-doc-step .k-muted{white-space: nowrap;}
:where(.k-kit) .k-doc-vs{margin-top: auto; padding-top: 14px; display: flex; align-items: baseline; justify-content: space-between; gap: 16px; border-top: 1px solid var(--line); font-family: var(--font-serif); font-size: 14px; line-height: 1.35;}
:where(.k-kit) .k-doc-vs small{flex: none; font-family: var(--font); font-size: 10.5px; color: var(--text-3);}
:where(.k-kit) .k-doc.one .k-doc-vs + .k-doc-foot{margin-top: 0;}
:where(.k-kit) .k-doc.one .k-doc-foot{display: flex; justify-content: space-between; gap: 16px;}
@media print{:where(.k-kit) .k-doc.one{min-height: 100vh; padding: 34px 52px 30px;}}
:where(.k-kit) .k-svgchart .bar.step{fill: var(--gain);}
:where(.k-kit) .k-svgchart .bar.back{fill: var(--mid);}
:where(.k-kit) .k-svgchart .bar.whole{fill: var(--q6);}
:where(.k-kit) .k-svgchart text.end{font-weight: 600; fill: var(--text-2);}
:where(.k-kit) .k-svgchart text.end.navy{fill: var(--navy);}
:where(.k-kit) .k-svgchart text.end.sand{fill: var(--sand);}
:where(.k-kit) .k-svgchart text.end.olive{fill: var(--olive-text);}
:where(.k-kit) .k-svgchart text.end.terra{fill: var(--terra);}
:where(.k-kit) .k-swatch.muted{background: var(--text-4);}
:where(.k-kit) .k-tr.head.k-tx-grp > span{font-weight: 600; color: var(--text-2);}
@media (max-width: 760px){:where(.k-kit) .k-tx-pair .k-section-head{flex-wrap: wrap; row-gap: 4px;}:where(.k-kit) .k-tx-yt > .k-tr{min-width: calc(270px + var(--n, 1) * 230px);}}
:where(.k-kit) .k-doc-fig b.up{color: var(--gain);}
:where(.k-kit) .k-ok-text{color: var(--st-ok-ink);}
:where(.k-kit) .k-doc-table tr.tot td{font-weight: 600; border-bottom: 0; border-top: 1px solid var(--text);}
:where(.k-kit) .k-doc-table .k-chip{font-size: 10px; padding: 1px 7px;}
:where(.k-kit) .k-doc-step{display: flex; gap: 8px; align-items: center; font-size: 11.5px; padding: 4px 0; border-bottom: 1px solid var(--line-soft);}
:where(.k-kit) .k-doc-step-box{width: 10px; height: 10px; border: 1.5px solid var(--control-strong); border-radius: 2px; flex-shrink: 0;}
:where(.k-kit) .k-doc-head img{height: 24px; width: auto; display: block;}
:where(.k-kit) .k-doc-head:has(> img)::before{display: none;}
:where(.k-kit) .k-doc.ink .k-doc-mark{color: inherit;}
:where(.k-kit) .k-doc-head:has(> .k-doc-mark)::before{display: none;}
:where(.k-kit) .k-doc.k-tpd::before{content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px; background: linear-gradient(90deg, var(--navy) 0 33.33%, var(--terra) 33.33% 66.66%, var(--olive) 66.66%);}
:where(.k-kit) .k-tpd,:where(.k-kit) .k-tpd *{-webkit-print-color-adjust: exact; print-color-adjust: exact;}
:where(.k-kit) .k-tpd .k-doc-head img{height: 26px;}
:where(.k-kit) .k-tpd .k-doc-fig small{display: block; line-height: 1.3;}
:where(.k-kit) .k-tpd .k-doc-fig b{font-size: 26px;}
:where(.k-kit) .k-tpd .k-doc-purpose{font-size: 15px; line-height: 1.4;}
:where(.k-kit) .k-tpd-map{display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 18px; align-items: start;}
:where(.k-kit) .k-tpd-map.c2{grid-template-columns: repeat(2, minmax(0, 1fr));}
:where(.k-kit) .k-doc-figs.n1{grid-template-columns: minmax(0, 1fr);}
:where(.k-kit) .k-doc-figs.n2{grid-template-columns: repeat(2, minmax(0, 1fr));}
:where(.k-kit) .k-doc-figs.n3{grid-template-columns: repeat(3, minmax(0, 1fr));}
:where(.k-kit) .k-tpd-map .k-doc-section{margin-top: 4px;}
:where(.k-kit) .k-tpd .k-doc-table td.k-muted,:where(.k-kit) .k-tpd .k-doc-table tr.dim td{color: var(--text-3);}
:where(.k-kit) .k-tpd .k-doc-table tr.part td{font-weight: 600; border-bottom: 0; padding-top: 7px;}
:where(.k-kit) .k-tpd .k-doc-table tr.gh td{padding: 7px 0 2px; font-size: 10.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--text-3); border-bottom: 1px solid var(--text);}
:where(.k-kit) .k-tpd .k-doc-table .k-chip{white-space: nowrap;}
:where(.k-kit) .k-tpd-two{display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 26px;}
:where(.k-kit) .k-tpd.roomy .k-doc-table{font-size: 12.5px;}
:where(.k-kit) .k-tpd.roomy .k-doc-table td{padding-block: 5px;}
:where(.k-kit) .k-tpd.roomy .k-doc-table td small{font-size: 10.5px;}
:where(.k-kit) .k-tpd .k-doc-step .k-muted{white-space: nowrap;}
:where(.k-kit) .k-tpd.roomy .k-doc-step{font-size: 12.5px; padding-block: 6px;}
:where(.k-kit) .k-tpd .k-doc-table.strat td:last-child,:where(.k-kit) .k-tpd .k-doc-table.strat tr.gh td:last-child{padding-left: 16px;}
:where(.k-kit) .k-tpd .k-doc-table.strat td:first-child{width: 44%;}
:where(.k-kit) .k-tpd .k-doc-table.mini td:first-child{width: 20%;}
:where(.k-kit) .k-tpd .k-doc-foot{display: flex; justify-content: space-between; gap: 16px;}
:where(.k-kit) .k-tpr .k-doc-note{font-size: 12.5px; line-height: 1.55;}
:where(.k-kit) .k-tpr .k-doc-table.strat td:first-child{width: 36%;}
:where(.k-kit) .k-tpr .k-doc-table.strat.steps td:first-child{width: 40%;}
:where(.k-kit) .k-tpr .k-doc-table.strat.np td:first-child{width: 30%;}
:where(.k-kit) .k-tpr .k-doc-table.strat td{vertical-align: top;}
:where(.k-kit) .k-tpr .k-doc-table.strat tr.part td{border-top: 1px solid var(--text);}
:where(.k-kit) .k-tpr .k-doc-table.strat.tl td:first-child{width: 17%;}
:where(.k-kit) .k-tpr .k-doc-table.strat.rec td:first-child{width: 46%;}
:where(.k-kit) .k-tpr .k-doc-table.strat tr.grp td{padding-top: 11px; border-bottom: 0;}
:where(.k-kit) .k-tpr .k-doc-table.strat.np td{font-size: 13px; padding-block: 9px; line-height: 1.45;}
:where(.k-kit) .k-tpr .k-doc-table.strat.np td small{font-size: 11.5px;}
:where(.k-kit) .k-tpr .k-doc-table.strat.list td:first-child{width: 36%;}
:where(.k-kit) .k-tpr .k-doc-table.strat.list td{padding-block: 3px; font-size: 11.5px;}
:where(.k-kit) .k-tpd .k-doc-table.strat.tight td{padding-block: 2.5px; font-size: 11.5px;}
:where(.k-kit) .k-tpd .k-doc-table.strat.tight td small{font-size: 10px;}
:where(.k-kit) .k-tpr-cover{padding: 150px 0 36px;}
:where(.k-kit) .k-tpr-cover .k-doc-title{font-size: 58px; margin-bottom: 18px;}
:where(.k-kit) .k-tpr-lede{font-family: var(--font-serif); font-size: 24px; line-height: 1.3; margin: 0 0 14px; color: var(--text);}
:where(.k-kit) .k-tpr-cites{display: flex; flex-direction: column; gap: 9px; margin-top: 4px;}
:where(.k-kit) .k-tpr-cite{display: block;}
:where(.k-kit) .k-tpr-cite b{display: block; font-size: 12.5px; font-weight: 600; line-height: 1.35;}
:where(.k-kit) .k-tpr-cite span{display: block; font-size: 12px; line-height: 1.45; color: var(--text-2); margin-top: 1px;}
:where(.k-kit) .k-tpr-box{background: var(--quiet); border-radius: 8px; padding: 9px 14px 3px; margin: 10px 0 0; break-inside: avoid;}
:where(.k-kit) .k-tpr-box-t{font-size: 10.5px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; color: var(--text-3); margin-bottom: 3px;}
:where(.k-kit) .k-tpr-box p{margin: 0 0 7px; font-size: 12.5px; line-height: 1.5; color: var(--text-2);}
:where(.k-kit) .k-tpr-legend{display: flex; gap: 14px; font-size: 11px; color: var(--text-2); margin: 0 0 2px; flex-wrap: wrap;}
:where(.k-kit) .k-tpr-legend > span{display: inline-flex; align-items: center; gap: 6px;}
:where(.k-kit) .k-tpr-legend i{width: 16px; height: 0; border-top: 2px solid var(--navy); display: block;}
:where(.k-kit) .k-tpr-legend i.ref{border-top-color: var(--text-4); border-top-style: dashed;}
:where(.k-kit) .k-tpr-legend i.sand{border-top-color: var(--sand-dot);}
:where(.k-kit) .k-tpr-legend i.olive{border-top-color: var(--olive);}
:where(.k-kit) .k-tpr-legend i.terra{border-top-color: var(--terra);}
:where(.k-kit) .k-tpr .k-svgchart text{font-size: 10px;}
:where(.k-kit) .k-tpr .k-svgchart text.end{font-size: 10.5px;}
:where(.k-kit) .k-tpr-list .k-table{--cols: 30px minmax(0, 1fr) 44px;}
@media (max-width: 640px){:where(.k-kit) .k-tpr-copies > .k-tr > .k-t2{grid-row: 2; grid-column: 1 / -1;}}
:where(.k-kit) .k-tpr-list .k-tr{cursor: default;}
:where(.k-kit) .k-tpr-list a.k-tr{color: inherit; text-decoration: none;}
:where(.k-kit) .k-tpr-list .k-tr.off .k-two > span{color: var(--text-3); text-decoration: line-through; text-decoration-color: var(--line);}
:where(.k-kit) .k-tpr-list .k-switch[aria-checked="false"]{opacity: .9;}
:where(.k-kit) .k-tpr-prev > .k-card{min-width: 0;}
:where(.k-kit) .k-tpr-frame > .k-doc{zoom: .6; box-shadow: var(--shadow-float);}
:where(.k-kit) .k-tp-ground > .k-doc-pages{padding: 0;}
:where(.k-kit) .k-tp-ground .k-doc{box-shadow: var(--shadow-float);}
:where(.k-kit) .k-stm-reader .k-doc{zoom: .9;}
@media (max-width: 1180px){:where(.k-kit) .k-stm-reader .k-doc{zoom: .72;}}
@media (max-width: 860px){:where(.k-kit) .k-stm-reader .k-doc{zoom: 1;}:where(.k-kit) .k-statement .k-doc-top{flex-direction: column; gap: 6px;}:where(.k-kit) .k-statement .k-doc-meta{text-align: left;}:where(.k-kit) .k-statement .k-doc-figs.n3 > .k-doc-fig:nth-child(3){grid-column: 1 / -1; border-left: 0; padding-left: 0; border-top: 1px solid var(--line);}:where(.k-kit) .k-stm-reader .k-doc-head{flex-wrap: wrap; gap: 4px 12px;}}
@media (max-width: 860px){:where(.k-kit) .k-tp-ground > .k-doc-pages{min-width: 0; max-width: 100%; align-items: flex-start;}:where(.k-kit) .k-tp-ground > .k-kit{flex: 1 1 auto; min-width: 0; max-width: 100%;}}
@media (max-width: 960px){:where(.k-kit) .k-tpr-frame > .k-doc{zoom: .42;}}
@media (max-width: 640px){:where(.k-kit) .k-pagebar-actions:has(> .k-seg + a[href*="/tax/plan/preview"]){flex-wrap: wrap;}:where(.k-kit) .k-tpr-frame > .k-doc{zoom: .34;}}
@media print{:where(.k-kit) .k-tp-ground .k-doc{box-shadow: none;}}
:where(.k-kit) .k-row:has(input[value="yes"]:checked) + .k-ask-follow{display: grid;}
:where(.k-kit) .k-line-field > .k-label{margin: 0; font-size: var(--fs-body); color: var(--text-2);}
:where(.k-kit) .k-line-field > .k-select{flex: 0 0 280px;}
:where(.k-kit) .k-input[required]:invalid{border-color: var(--terra);}
:where(.k-kit) .k-req{margin-left: 6px; font-size: 11px; color: var(--terra); font-weight: 500;}
:where(.k-kit) .k-open .k-col > .k-page-foot{border-top: 0;}
:where(.k-kit) .k-row:has(> .k-hint){flex-wrap: wrap; row-gap: 8px; padding-block: 12px;}
:where(.k-kit) .k-row > .k-hint{flex: 1 1 100%; min-width: 0; margin: 0;}
:where(.k-kit) .k-hint .k-link{font-size: inherit; padding: 0;}
:where(.k-kit) .k-biz{display: flex; flex-direction: column; gap: 16px; min-width: 0; padding-top: 6px;}
:where(.k-kit) .k-biz + .k-biz{margin-top: 10px; border-top: 1px solid var(--line-soft);}
:where(.k-kit) .k-biz > .k-subhead{margin-top: 14px;}
:where(.k-kit) .k-biz > .k-fields > .k-field > .k-hint{grid-column: auto; margin: 0;}
:where(.k-kit) .k-pair > .k-select{flex: 1 1 0; min-width: 0;}
:where(.k-kit) .k-pair > .k-money{flex: 0 0 96px;}
:where(.k-kit) .k-money:has(> input:required:invalid){border-color: var(--terra);}
:where(.k-kit) .k-select:required:invalid{border-color: var(--terra);}
:where(.k-kit) .k-input[aria-invalid="true"],:where(.k-kit) .k-select[aria-invalid="true"],:where(.k-kit) .k-money:has(> input[aria-invalid="true"]){border-color: var(--terra);}
:where(.k-kit) .k-field-err ~ .k-field-err{margin-top: 0;}
:where(.k-kit) .k-fields + .k-hint{margin-top: 12px;}
:where(.k-kit) .k-brings + .k-hint,:where(.k-kit) .k-card + .k-hint,:where(.k-kit) .k-add + .k-hint{margin-top: 12px;}
:where(.k-kit) .k-add + .k-hint,:where(.k-kit) .k-brings + .k-hint,:where(.k-kit) .k-open .k-col > section > .k-fields + .k-hint{margin-bottom: 12px;}
:where(.k-kit) .k-open section > .k-hint + .k-subhead{margin-top: 28px;}
:where(.k-kit) .k-pair.even > .k-money{flex: 1 1 0; min-width: 0;}
:where(.k-kit) .k-pair.even > .k-money > small{font-size: .6875rem;}
:where(.k-kit) [hidden].k-card{display: none;}
@media (max-width: 640px){:where(.k-kit) .k-cols-people > .k-tr > :nth-child(2){display: none;}:where(.k-kit) .k-cols-people .k-tag{padding-inline: 4px;}:where(.k-kit) .k-line-field > .k-select{flex: 0 0 auto; width: 100%;}:where(.k-kit) .k-fields > .k-field:has(> .k-pair){grid-column: 1 / -1;}:where(.k-kit) .k-open section > .k-radio-seg{display: flex; max-width: 100%;}:where(.k-kit) .k-open section > .k-radio-seg > label{flex: 1 1 auto; text-align: center; white-space: normal;}:where(.k-kit) .k-open .k-row:has(> .k-radio-seg){flex-wrap: wrap; row-gap: 8px;}:where(.k-kit) .k-open .k-row:has(> .k-radio-seg) > .k-grow{flex: 1 1 100%;}}
:where(.k-kit) .k-stepbar{display: flex; gap: 4px; margin: 0; padding: 0; list-style: none;}
:where(.k-kit) .k-stepbar > li{flex: 1 1 0; height: 4px; border-radius: 2px; background: var(--line);}
:where(.k-kit) .k-stepbar > li.done{background: var(--olive);}
:where(.k-kit) .k-stepbar > li.now{background: var(--navy);}
:where(.k-kit) .k-head > .k-stepbar{margin: 14px 0 18px; max-width: 1040px;}
:where(.k-kit) .k-figures > .k-figure > .k-sentence{font-size: var(--fs-body); color: var(--text-3); line-height: 1.3;}
:where(.k-kit) .k-figure > .k-sentence .k-marker{flex: none;}
@media (max-width: 640px){:where(.k-kit) .k-chips.k-seg{display: flex; width: 100%; max-width: 100%; box-sizing: border-box; overflow-x: auto; scrollbar-width: none;}:where(.k-kit) .k-chips.k-seg > a{flex: 0 0 auto;}:where(.k-kit) .k-head .k-tabs.k-chipped{display: none;}:where(.k-kit) .k-band.k-figures.k-wide-only{display: none;}:where(.k-kit) .k-open .k-col > .k-phone-only:has(> .k-chips){order: -2;}:where(.k-kit) .k-pinned > .k-btn.primary{flex: 1 1 0; justify-content: center;}:where(.k-kit) .k-page:has(.k-chips) > :is(.k-body, .k-work){padding-bottom: 72px;}:where(.k-kit) :has(.k-pinned) > .k-comms-edge{bottom: calc(var(--tabbar-h, 0px) + 73px);}:where(.k-kit) :has(.k-pinned):has(> .k-comms-edge:not([hidden])) > main{padding-bottom: var(--tabbar-h, 0px);}}
@media (min-width: 641px){:where(.k-kit) :has(> nav.ca-rail):has(> .k-comms-edge:not([hidden])):not(:has(.k-work > .k-panel.open)) > main{padding-right: var(--team-tab);}:where(.k-kit) :has(> nav.ca-rail):has(> .k-comms-edge:not([hidden])) .k-work:has(> .k-panel.open) > :not(.k-panel){padding-right: calc(var(--team-tab) + 20px);}}
:where(.k-kit) .k-dock .k-field > details.k-picker,:where(.k-kit) .k-dock .k-field > details.k-picker > summary.k-btn{max-width: 100%;}
@media (max-width: 640px){:where(.k-kit) .k-tap .k-crumb a{padding-block: 14px; margin-block: -14px;}:where(.k-kit) .k-tap :is(a, button).k-link:not(.k-cover){min-height: 32px; display: inline-flex; align-items: center;}:where(.k-kit) .k-tap .k-btn.sm,:where(.k-kit) .k-tap .k-tr:not(.head) .k-btn.sm{height: 36px; min-height: 36px;}:where(.k-kit) .k-row.k-row-wrap-phone{flex-wrap: wrap;}:where(.k-kit) .k-row.k-row-wrap-phone > .k-grow{flex: 1 1 0; min-width: 0;}:where(.k-kit) .k-row.k-row-wrap-phone > .k-sentence{flex: 1 1 100%; padding-left: calc(1rem + 12px);}:where(.k-kit) .k-head-row.k-head-wrap{flex-wrap: wrap; row-gap: 8px;}:where(.k-kit) .k-head-row.k-head-wrap > .k-grow{flex: 1 1 0; min-width: 0;}:where(.k-kit) .k-tap :is(a, button).k-done{position: relative; box-sizing: border-box; width: 44px; height: 44px; margin: -14px; border: 0; border-radius: 0; background: none;}:where(.k-kit) .k-tap :is(a, button).k-done::before{content: ""; position: absolute; inset: 14px; box-sizing: border-box; border: 1.5px solid var(--control-strong); border-radius: .25rem; background: var(--surface);}:where(.k-kit) .k-tap :is(a, button).k-done:hover::before{border-color: var(--navy);}:where(.k-kit) .k-tap :is(a, button).k-done[aria-pressed="true"]::before{background: var(--st-ok); border-color: var(--st-ok);}:where(.k-kit) .k-tap :is(a, button).k-done > svg{position: relative; z-index: 1;}}
:where(.k-kit) .k-card-foot .k-input[type="date"]{width: 180px; flex: none;}
@media (max-width: 640px){:where(.k-kit) .k-band.k-figures.k-wide-only{display: none;}}
:where(.k-kit) .k-table.k-ty-lines{--cols: minmax(0, 1.5fr) 92px 104px 188px 100px minmax(0, 1.1fr) 28px; --cols-phone: minmax(0, 1fr) 76px 24px;}
:where(.k-kit) .k-table.k-ty-lines.docked{--cols: minmax(0, 1fr) 92px 92px 152px 92px 26px;}
:where(.k-kit) .k-table.k-ty-lines .k-docked-src{display: none;}
@media (min-width: 641px){:where(.k-kit) .k-table.k-ty-lines.docked > .k-tr > :nth-child(6){display: none;}:where(.k-kit) .k-table.k-ty-lines.docked .k-docked-src{display: flex; margin-top: 3px;}:where(.k-kit) .k-table.k-ty-lines.docked > .k-tr > .k-two.right{overflow: visible; white-space: normal;}:where(.k-kit) .k-table.k-ty-lines.docked > .k-tr > .k-two.right > small{white-space: normal; overflow: visible; text-overflow: clip; text-align: right;}}
:where(.k-kit) .k-table.k-ty-lines > .k-tr.head > span{white-space: normal; overflow: visible; text-overflow: clip; line-height: 1.25; align-self: end;}
:where(.k-kit) .k-table.k-ty-pay{--cols: minmax(0, 1fr) 132px 132px 176px; --cols-phone: minmax(0, 1fr) 80px 80px;}
:where(.k-kit) .k-table.k-ty-pay.docked{--cols: minmax(0, 1fr) 100px 100px 140px;}
:where(.k-kit) .k-table.k-ty-pay.one{--cols: minmax(0, 1fr) 132px 176px; --cols-phone: minmax(0, 1fr) 96px;}
:where(.k-kit) .k-table.k-ty-pay.one.docked{--cols: minmax(0, 1fr) 100px 140px;}
:where(.k-kit) .k-table.k-ty-aside{--cols: minmax(0, 1fr) 132px 132px 176px 28px; --cols-phone: minmax(0, 1fr) 88px 24px;}
:where(.k-kit) .k-table.k-ty-aside.docked{--cols: minmax(0, 1fr) 130px 100px 100px 28px;}
:where(.k-kit) .k-table.k-ty-levels-t{--cols: minmax(0, 1fr) 132px 132px 132px; --cols-phone: minmax(0, 1fr) 118px;}
:where(.k-kit) .k-table.k-ty-levels-t > .k-tr.head > span{white-space: normal; overflow: visible; text-overflow: clip; line-height: 1.25; align-self: end;}
:where(.k-kit) .k-ty-levels > .k-callout,:where(.k-kit) .k-ty-due-levels{margin-top: 12px;}
:where(.k-kit) .k-table.k-choices{--cols: minmax(0, 1fr) 112px;}
:where(.k-kit) .k-figures + .k-ty-switch{padding: 14px 24px 0;}
:where(.k-kit) .k-open section > .k-add{padding-top: 10px;}
:where(.k-kit) .k-open .k-col > .k-own-attn{margin: 2px 0 0;}
:where(.k-kit) .k-compact .k-money{height: 30px; padding: 0 8px;}
:where(.k-kit) .k-two.right{align-items: flex-end; text-align: right;}
:where(.k-kit) .k-open .k-col.k-ty-col{max-width: 1280px;}
:where(.k-kit) .k-open section > .k-table > .k-tr[aria-selected="true"]::before{left: -10px;}
:where(.k-kit) .k-group-head:has(> button.k-link){display: flex; align-items: baseline; justify-content: space-between; gap: 12px;}
:where(.k-kit) .k-group-head > button.k-link{text-transform: none; letter-spacing: 0; font-weight: 500; font-size: .75rem; padding: 0; color: var(--navy);}
@media (max-width: 640px){:where(.k-kit) .k-pagebody:has([data-approved-note]) .k-toast[data-undo]{display: none;}}
:where(.k-kit) details.k-quiet-fold > .k-table{border-top: 1px solid var(--line-soft);}
:where(.k-kit) [data-split-rows]{display: contents;}
:where(.k-kit) [data-sent-head]{cursor: pointer; border-radius: var(--r-small);}
:where(.k-kit) [data-sent-head]:focus-visible{outline: none; box-shadow: var(--focus-ring);}
:where(.k-kit) .k-open section > [data-sent-head],:where(.k-kit) .k-open section > [data-sent-head] > .k-tr{background: transparent;}
:where(.k-kit) .k-table.k-ty-lines > .k-tr.head > span{white-space: normal; overflow: visible; text-overflow: clip; line-height: 1.25; align-self: end;}
:where(.k-kit) .k-stm-page .k-head-row > .k-title{white-space: nowrap;}
:where(.k-kit) .k-stm-page .k-head-row > .k-seg button{padding-left: 9px; padding-right: 9px;}
:where(.k-kit) .k-row .k-narrow{display: none;}
@media (max-width: 720px){:where(.k-kit) .k-row > .k-row-end.k-wide{display: none;}:where(.k-kit) .k-row .k-narrow{display: block;}}
:where(.k-kit) .k-group-head > details[data-group-ask] > .k-menu{left: auto; right: 0; width: min(320px, 90vw); text-transform: none; letter-spacing: 0; font-weight: 400; font-size: .8125rem; color: var(--text-2, inherit); padding: 12px; display: grid; gap: 10px;}
:where(.k-kit) .k-group-head > details[data-group-ask] > .k-menu > p{margin: 0;}
:where(.k-kit) .k-group-head > details[data-group-ask] > .k-menu > .k-btn{justify-self: start;}
:where(.k-kit) details[open] > .k-menu,:where(.k-kit) details[open] > .k-menu.end{animation-name: k-menu-fade; transform-origin: initial;}
@keyframes k-menu-fade{ from { opacity: 0; } to { opacity: 1; } }
:where(.k-kit) .k-picker[open],:where(.k-kit) .k-tr:has(.k-cover) .k-picker[open],:where(.k-kit) .k-row:has(.k-cover) .k-picker[open]{z-index: 30;}
:where(.k-kit) .k-menu-form.k-ask > .k-btn{justify-self: auto;}
:where(.k-kit) .k-menu.end.k-ask-menu{width: min(440px, calc(100vw - 32px)); max-width: none;}
:where(.k-kit) section[aria-label="Sign-off"] > [data-who-signs]{margin: 0; padding: 10px 16px 2px;}
@media screen and (max-width: 860px){:where(.k-kit) .k-doc-pages{padding: 12px 0; gap: 12px; overflow-x: visible; align-items: stretch;}:where(.k-kit) .k-doc,:where(.k-kit) .k-doc.paged,:where(.k-kit) .k-doc.ink{width: 100%; min-height: 0; padding: 24px 16px;}:where(.k-kit) .k-doc.ink{min-height: 70vh; padding: 32px 20px;}:where(.k-kit) .k-doc.ink .k-doc-title{font-size: 38px; max-width: none;}:where(.k-kit) .k-doc.paged .k-doc-title{font-size: 28px;}:where(.k-kit) .k-doc.paged .k-doc-head{margin-bottom: 18px;}:where(.k-kit) .k-doc-cols,:where(.k-kit) .k-doc-cols.one{grid-template-columns: minmax(0, 1fr); gap: 0;}:where(.k-kit) .k-doc-figs,:where(.k-kit) .k-doc-figs.n3,:where(.k-kit) .k-doc-figs.n2{grid-template-columns: repeat(2, minmax(0, 1fr));}:where(.k-kit) .k-doc-figs.n1{grid-template-columns: minmax(0, 1fr);}:where(.k-kit) .k-doc svg{max-width: 100%; height: auto;}:where(.k-kit) .k-doc-plot{overflow-x: auto;}:where(.k-kit) .k-doc-plot > svg.k-svgchart{width: 640px; max-width: none;}:where(.k-kit) .k-doc.paged .k-doc-table td{overflow-wrap: anywhere;}:where(.k-kit) .k-doc.paged .k-doc-table{display: block; max-width: 100%; overflow-x: auto;}:where(.k-kit) .k-doc.paged .k-doc-table > tbody{display: table; width: 100%; table-layout: auto;}:where(.k-kit) .k-doc.paged .k-doc-table td{overflow-wrap: break-word;}:where(.k-kit) .k-doc.paged .k-doc-table td.r{padding-left: 8px;}:where(.k-kit) .k-doc.paged .k-doc-table.years{font-size: 11.5px;}:where(.k-kit) .k-doc.paged .k-doc-table.years td.r{padding-left: 4px;}:where(.k-kit) .k-doc.paged .k-doc-table.years.ages td:nth-child(2){white-space: nowrap;}:where(.k-kit) .k-tpd-two,:where(.k-kit) .k-tpd-map,:where(.k-kit) .k-tpd-map.c2{grid-template-columns: minmax(0, 1fr); gap: 18px 0;}:where(.k-kit) .k-doc-top{flex-direction: column; align-items: flex-start; gap: 6px;}:where(.k-kit) .k-doc-table td{overflow-wrap: anywhere;}}
:where(.k-kit) .k-row > .k-input.inline,:where(.k-kit) .k-row > .k-select.inline{flex: 0 0 168px; width: 168px;}
@media (max-width: 640px){:where(.k-kit) .k-row:has(> .k-select.inline){flex-wrap: wrap; row-gap: 8px;}:where(.k-kit) .k-row > .k-select.inline{flex: 1 1 100%; width: 100%; order: 10;}:where(.k-kit) .k-row:has(> .k-input.inline + .k-input.inline){flex-wrap: wrap; row-gap: 8px;}:where(.k-kit) .k-row:has(> .k-input.inline + .k-input.inline) > .k-grow{flex: 1 1 100%;}:where(.k-kit) .k-row:has(> .k-input.inline + .k-input.inline) > .k-input.inline{flex: 1 1 0; width: auto; min-width: 0;}}
:where(.k-kit) .k-core-answer > .k-link{align-self: flex-start; padding: 0;}
:where(.k-kit) .k-core-assumed .k-btn{align-self: flex-start; margin-top: 4px;}
:where(.k-kit) .k-core-assumed .k-two > small + small{margin-top: 3px;}
:where(.k-kit) .k-table > a.k-tr{color: inherit; text-decoration: none;}
:where(.k-kit) .k-table > a.k-tr:hover b{text-decoration: underline;}
@media (min-width: 641px){:where(.k-kit) .k-body.k-open:has(> .k-core-cols){padding-right: calc(var(--gutter) + 36px);}}
@media (min-width: 721px) and (max-width: 1080px){:where(.k-kit) .k-core-cols > .k-aside{width: auto;}}
@media (min-width: 721px) and (max-width: 900px), (min-width: 1081px) and (max-width: 1280px){:where(.k-kit) .k-core-cols > .k-col .k-table[style*="--cols-phone"] > .k-tr{grid-template-columns: var(--cols-phone);}:where(.k-kit) .k-core-cols > .k-col .k-table[style*="--cols-phone"] > .k-tr > .k-wide{display: none;}:where(.k-kit) .k-core-cols > .k-col .k-table[style*="--cols-phone"] > .k-tr .k-narrow{display: block;}:where(.k-kit) .k-core-cols > .k-col .k-table[style*="--cols-phone"] > .k-tr:not(.head):has(.k-two > small.k-narrow:not(:empty)){min-height: var(--row-list); padding-top: 4px; padding-bottom: 4px;}}
@media (max-width: 640px){:where(.k-kit) .k-core-cols > :is(.k-col, .k-aside){display: contents;}:where(.k-kit) .k-open .k-core-cols > .k-aside > section[data-core-o="4"]{padding: 20px 0 22px; border-top: 1px solid var(--line);}}
:where(.k-kit) .k-swatch.whole{background: var(--q6);}
:where(.k-kit) .k-swatch.step{background: var(--gain);}
:where(.k-kit) .k-swatch.less{background: var(--mid);}
:where(.k-kit) .k-svgchart .bar.less{fill: var(--mid);}
:where(.k-kit) .k-core-move.quiet .k-link{white-space: nowrap;}
@media (min-width: 761px){:where(.k-kit) .k-body.k-open:has(> .k-ty-wrap:not(.pan)){padding-right: calc(var(--gutter) + 36px);}}
:where(.k-kit) .k-open .k-aside > .k-note.pin + .k-note.pin{margin-top: 14px;}
:where(.k-kit) .k-net-rail .k-section-head{padding: 0; margin-bottom: 2px;}
:where(.k-kit) .k-card > .k-net-item{margin: 0; padding-inline: 14px; border-radius: 0;}
:where(.k-kit) .k-net-item .k-two{flex: 1 1 0; min-width: 0;}
:where(.k-kit) .k-net-item .k-two > small{white-space: normal;}
:where(.k-kit) .k-net-note .k-two > small{white-space: normal;}
:where(.k-kit) .k-net-note .k-two > small + small{margin-top: 3px;}
:where(.k-kit) :is(.k-net-note, .k-note) > .k-ask{align-self: stretch; background: transparent; border: 0; border-radius: 0;}
:where(.k-kit) :is(.k-net-note, .k-note) > .k-ask .k-tr{padding-inline: 0; border-top-color: var(--note-line);}
:where(.k-kit) :is(.k-net-note, .k-note) > .k-ask .k-tr:first-child{border-top: 0;}
:where(.k-kit) :is(.k-net-note, .k-note) > .k-ask .k-tr:not(.head):hover{background: transparent;}
:where(.k-kit) .k-ff-map > .k-flow-node > .k-two > :is(span, small){white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
:where(.k-kit) .k-flow-node:is(.k-ff-cash, .k-ff-retire, .k-ff-health, .k-ff-prop, .k-ff-invest, .k-ff-biz, .k-ff-other, .k-ff-debt, .k-ff-cover) > .k-tile{background: color-mix(in srgb, var(--kind) 15%, var(--surface)); color: color-mix(in srgb, var(--kind) 82%, var(--ink));}
:where(.k-kit) .k-flow-node.k-ff-flowcard > .k-tile{background: var(--surface); color: var(--text-2); box-shadow: inset 0 0 0 1px var(--line);}
:where(.k-kit) .k-flow-node > .k-two > small.k-ff-amt{color: var(--text); font-size: var(--fs-body); font-weight: 600; font-variant-numeric: tabular-nums;}
:where(.k-kit) .k-flow-node > .k-two > small.k-ff-asof{color: var(--text-3); font-size: var(--fs-label);}
:where(.k-kit) .k-flow-node.k-ff-hub > .k-two > :first-child{font-size: .9375rem; font-weight: 600;}
:where(.k-kit) .k-flow-node.k-ff-gap > .k-tile{background: none; border: 1px dashed var(--control-strong); box-sizing: border-box; color: var(--text-4);}
:where(.k-kit) .k-flow-node.k-ff-gap > .k-two > span{white-space: normal; font-weight: 500; line-height: 1.25;}
:where(.k-kit) .k-ff-mapbar > .k-select.k-ff-year{width: auto;}
:where(.k-kit) .k-ff-focus > .k-btn.icon{width: 24px; height: 24px; min-height: 0; color: var(--navy);}
:where(.k-kit) .k-flow-node.k-ff-notile > .k-two > small + small{color: var(--text-3);}
:where(.k-kit) .k-ff-sums > .k-row{padding-inline: 0; border-top: 1px solid var(--line);}
:where(.k-kit) .k-ff-sums > .k-row:first-child{border-top: 0;}
:where(.k-kit) .k-ff-sums > .k-row > b{font-weight: 600; font-variant-numeric: tabular-nums;}
:where(.k-kit) .k-net-item > .k-link{flex: none; align-self: center; font-size: var(--fs-small);}
:where(.k-kit) .k-panel .k-pgroup .k-row{padding-inline: 0;}
:where(.k-kit) .k-ff-chain .k-flow-node.k-ff-notile > .k-two > small{white-space: normal;}
@media (max-width: 640px){:where(.k-kit) .k-ff-mapbar > .k-grow{display: none;}}
:where(.k-kit) .k-card > .k-core-order.sub{padding-left: 50px; min-height: 0;}
:where(.k-kit) .k-core-order.sub .k-two > small + small{margin-top: 2px;}
:where(.k-kit) .k-core-where .k-tr:not(.head, .total){min-height: var(--row-list); padding-top: 6px; padding-bottom: 6px;}
:where(.k-kit) .k-core-where-name > .k-two{min-width: 0;}
@media (max-width: 640px){:where(.k-kit) .k-section-head:has(> .k-core-where-head){flex-wrap: wrap; row-gap: 8px;}:where(.k-kit) .k-core-where .k-tr{row-gap: 6px;}:where(.k-kit) .k-core-where .k-tr > .k-core-where-bar{grid-column: 1 / -1; grid-row: 2;}:where(.k-kit) .k-core-where .k-tr.head > .k-core-where-bar,:where(.k-kit) .k-core-where .k-tr.total > .k-core-where-bar,:where(.k-kit) .k-core-where .k-tr > .k-core-where-act:empty{display: none;}:where(.k-kit) .k-core-where .k-tr > .k-core-where-act:not(:empty){grid-column: 1 / -1; grid-row: 3; justify-content: flex-start;}}
:where(.k-kit) .k-core-legend{display: inline-flex; gap: 16px; font-size: .75rem; color: var(--text-3);}
:where(.k-kit) .k-core-legend > span{display: inline-flex; align-items: center; gap: 6px;}
:where(.k-kit) .k-core-legend i{display: inline-block; width: 10px; height: 10px; border-radius: 2px; background: var(--d1);}
:where(.k-kit) .k-core-legend i.mid{background: var(--mid);}
:where(.k-kit) .k-core-legend i.dash{height: 0; width: 14px; border-radius: 0; background: none; border-top: 2px dashed var(--text-2);}
:where(.k-kit) .k-core-chart{min-width: 0;}
:where(.k-kit) .k-core-chart > .k-svgchart{display: block; width: 100%; height: auto;}
:where(.k-kit) .k-svgchart .ln.d1{stroke: var(--d1); stroke-width: 2.25;}
:where(.k-kit) .k-svgchart .area.d1{fill: var(--d1); fill-opacity: .1;}
:where(.k-kit) .k-svgchart .bar.step{fill: var(--gain);}
:where(.k-kit) .k-svgchart .bar.less{fill: var(--mid);}
:where(.k-kit) .k-svgchart text.sub{fill: var(--text-5);}
:where(.k-kit) .k-svgchart a.k-chart-link{cursor: pointer;}
:where(.k-kit) .k-svgchart .k-chart-link .hit{fill: transparent;}
:where(.k-kit) .k-svgchart .k-chart-link:hover .hit,:where(.k-kit) .k-svgchart .k-chart-link:focus-visible .hit{fill: var(--ground);}
:where(.k-kit) .k-svgchart .k-chart-link[aria-current] .hit{fill: var(--quiet);}
:where(.k-kit) .k-svgchart .k-chart-link:focus-visible{outline: none;}
@media (max-width: 640px){:where(.k-kit) .k-core-chart{--k-chart-scale: .5;}}
@media (max-width: 640px){:where(.k-kit) .k-core-order > .k-btn{align-self: center;}:where(.k-kit) .k-core-order:has(> .k-core-pair-btns) > .k-two{flex: 1 1 calc(100% - 40px);}:where(.k-kit) .k-card > .k-core-order.sub{padding-left: 48px;}}
:where(.k-kit) .k-core-legend{flex-wrap: wrap; row-gap: 6px;}
:where(.k-kit) .k-core-legend i.d1{background: var(--d1);}
:where(.k-kit) .k-core-legend i.d2{background: var(--d2);}
:where(.k-kit) .k-core-legend i.d3{background: var(--d3);}
:where(.k-kit) .k-core-legend i.d5{background: var(--d5);}
:where(.k-kit) .k-core-legend i.d7{background: var(--q3);}
:where(.k-kit) .k-core-legend i.d8{background: var(--d-other);}
:where(.k-kit) .k-core-legend i.d1w{background: color-mix(in srgb, var(--d1) 14%, var(--surface)); border: 1px solid color-mix(in srgb, var(--d1) 60%, transparent); box-sizing: border-box;}
:where(.k-kit) .k-core-legend i.solid{height: 0; width: 14px; border-radius: 0; background: none; border-top: 2px solid var(--text-2);}
:where(.k-kit) .k-pe-ask .k-two > small{white-space: normal;}
:where(.k-kit) .k-pe-need > .k-two > small{white-space: normal;}
:where(.k-kit) .k-pe-result > .k-t2{font-size: .78125rem; color: var(--text-3);}
:where(.k-kit) details.k-add > form.k-card{margin-top: 8px; max-width: 560px;}
:where(.k-kit) #care-assumption > .k-card > .k-card-body{padding-inline: 16px;}
:where(.k-kit) .k-cols-pe-gaps .k-two > small,:where(.k-kit) .k-cols-pe-docs .k-two > small,:where(.k-kit) .k-cols-pe-cover .k-two > small{white-space: normal;}
:where(.k-kit) .k-protection .k-cols > .k-col{min-width: 0;}
@media (max-width: 640px){:where(.k-kit) .k-cols-pe-cover > .k-tr > .k-wide{display: none;}:where(.k-kit) .k-protection .k-section-head{flex-wrap: wrap;}}
:where(.k-kit) .k-cm-page .k-head-row{flex-wrap: wrap; row-gap: 2px;}
:where(.k-kit) .k-cm-detail .k-row{padding-inline: 0; border-top: 1px solid var(--line);}
:where(.k-kit) .k-cm-detail .k-row > b{font-weight: 600; font-variant-numeric: tabular-nums;}
:where(.k-kit) .k-cm-detail .k-row .k-muted{font-size: var(--fs-small); white-space: nowrap;}
:where(.k-kit) .k-cm-detail .k-pgroup-label{font-size: var(--fs-label); font-weight: 600; color: var(--text-3); margin-bottom: 2px;}
:where(.k-kit) .k-cm-confirm > .k-section-head{padding: 0; margin-bottom: 4px;}
:where(.k-kit) .k-cm-list > .k-row{padding-inline: 0; border-top: 1px solid var(--line); align-items: flex-start;}
:where(.k-kit) .k-cm-list > .k-row .k-two > small{white-space: normal;}
@media (max-width: 640px){:where(.k-kit) .k-cm-page .k-ff-mapbar .k-seg{max-width: 100%; overflow-x: auto; scrollbar-width: none;}}
:where(.k-kit) .k-doc .k-cm-checks{display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 18px;}
:where(.k-kit) .k-cm-checks > .k-doc-check{gap: 10px; padding: 9px 0; border-top: 1px solid var(--text); border-bottom: 0;}
:where(.k-kit) .k-cm-checks .k-doc-check .k-doc-step-box{width: 12px; height: 12px; margin-top: 2px; border-radius: 3px;}
:where(.k-kit) .k-cm-checks .k-doc-check b{font-size: 12.5px;}
:where(.k-kit) .k-cm-checks .k-doc-check p{font-size: 11.5px; line-height: 1.4;}
:where(.k-kit) .k-doc .k-flow.k-cm-print{flex: none; align-items: flex-start; margin: 18px 0 22px; padding: 0; background: none; overflow: hidden;}
:where(.k-kit) .k-cm-print .k-ff-map > .k-flow-node > .k-two > small{font-size: 11px;}
:where(.k-kit) .k-cm-print .k-ff-map > .k-flow-node > .k-two > small.k-ff-amt{font-size: 11.5px;}
:where(.k-kit) .k-cm-print .k-ff-map > .k-flow-node.k-ff-hub > .k-two > :first-child{font-size: 12.5px;}
:where(.k-kit) .k-cm-print .k-ff-map > .k-flow-node > .k-av{width: 22px; height: 22px; font-size: 10px;}
:where(.k-kit) .k-cm-print .k-ff-map > .k-flow-node.k-ff-gap > .k-two > small{white-space: normal; line-height: 1.2;}
@media (max-width: 640px){:where(.k-kit) .k-doc .k-cm-checks{grid-template-columns: minmax(0, 1fr);}}
:where(.k-kit) .k-cm-page .k-ff-map > .k-flow-node > .k-two > :is(span, small),:where(.k-kit) .k-cm-print .k-ff-map > .k-flow-node > .k-two > :is(span, small){white-space: normal; overflow: visible; text-overflow: clip; overflow-wrap: anywhere;}
:where(.k-kit) :has(.k-cm-page) .k-comms-edge{display: none;}
@media (max-width: 640px){:where(.k-kit) .k-link{padding-block: 6px;}:where(.k-kit) :is(small, .k-tr) .k-link{padding-inline: 3px; margin-inline: -3px;}:where(.k-kit) .k-seg > :is(a, button){padding-block: 6px;}}
:where(.k-kit) .k-link.k-cover,:where(.k-kit) .k-link.k-cover:visited{color: var(--navy);}
:where(.k-kit) .k-link.k-cover:hover{color: var(--navy-hover);}
:where(.k-kit) :is(.k-dt, .tscroll) td.k-dt-act > .k-link{display: inline-block;}
@media (max-width: 640px){:where(.k-kit) .k-dt.k-dt[data-cards] > table > tbody > tr > td.k-dt-act > .k-link{padding-block: 6px;}}
:where(.k-kit) [data-grid="years"] table,:where(.k-kit) table[data-grid="years"]{overflow: visible;}
:where(.k-kit) [data-grid="years"] :is(th, td):first-child{position: sticky; left: 0; z-index: 2; background: var(--surface); box-shadow: 1px 0 0 var(--line-soft);}
:where(.k-kit) [data-grid="years"] th:first-child{background: var(--ground);}
:where(.k-kit) [data-grid="years"] tbody tr:hover > td:first-child{background: var(--ground);}
:where(.k-kit) [data-grid="years"].tscroll,:where(.k-kit) .tscroll > table[data-grid="years"]{max-width: 100%;}
:where(.k-kit) [data-grid="years"] :is(th, td){white-space: nowrap;}
:where(.k-kit) .k-plot.fp-fit > .k-svgchart{min-width: 0; max-width: 100%;}
:where(.k-kit) .k-fig > .k-core-legend{margin-top: 8px; flex-wrap: wrap;}
:where(.k-kit) .k-svgchart .ln.d2{stroke: var(--d2);}
:where(.k-kit) .k-svgchart .ln.d3{stroke: var(--d3);}
:where(.k-kit) .k-svgchart .ln.d4{stroke: var(--d4);}
:where(.k-kit) .k-svgchart .ln.d5{stroke: var(--d5);}
:where(.k-kit) .k-svgchart .ln.d6{stroke: var(--d6);}
:where(.k-kit) .k-svgchart .area.d2{fill: var(--d2); fill-opacity: .1;}
:where(.k-kit) .k-svgchart .area.d3{fill: var(--d3); fill-opacity: .1;}
:where(.k-kit) .k-svgchart .area.d4{fill: var(--d4); fill-opacity: .1;}
:where(.k-kit) .k-svgchart .area.d5{fill: var(--d5); fill-opacity: .1;}
:where(.k-kit) .k-svgchart .area.d6{fill: var(--d6); fill-opacity: .1;}
:where(.k-kit) .k-svgchart .bar.d1{fill: var(--d1);}
:where(.k-kit) .k-svgchart .bar.d2{fill: var(--d2);}
:where(.k-kit) .k-svgchart .bar.d3{fill: var(--d3);}
:where(.k-kit) .k-svgchart .bar.d4{fill: var(--d4);}
:where(.k-kit) .k-svgchart .bar.d5{fill: var(--d5);}
:where(.k-kit) .k-svgchart .bar.d6{fill: var(--d6);}
:where(.k-kit) .k-svgchart .bar.mid{fill: var(--mid);}
:where(.k-kit) .k-svgchart .bar.ref{fill: none; stroke: var(--text-4); stroke-width: 1; stroke-dasharray: 2 2;}
:where(.k-kit) .k-svgchart .dot.d1,:where(.k-kit) .k-svgchart .dot.d2,:where(.k-kit) .k-svgchart .dot.d3,:where(.k-kit) .k-svgchart .dot.d4,:where(.k-kit) .k-svgchart .dot.d5,:where(.k-kit) .k-svgchart .dot.d6,:where(.k-kit) .k-svgchart .dot.ink,:where(.k-kit) .k-svgchart .dot.loss{fill-opacity: 1; stroke: var(--surface); stroke-width: 1.5;}
:where(.k-kit) .k-svgchart .dot.d1{fill: var(--d1);}
:where(.k-kit) .k-svgchart .dot.d2{fill: var(--d2);}
:where(.k-kit) .k-svgchart .dot.d3{fill: var(--d3);}
:where(.k-kit) .k-svgchart .dot.d4{fill: var(--d4);}
:where(.k-kit) .k-svgchart .dot.d5{fill: var(--d5);}
:where(.k-kit) .k-svgchart .dot.d6{fill: var(--d6);}
:where(.k-kit) .k-svgchart .dot.ink{fill: var(--text);}
:where(.k-kit) .k-svgchart .dot.loss{fill: var(--loss);}
:where(.k-kit) .k-swatch.ink{background: var(--text);}
:where(.k-kit) .k-swatch.d1{background: var(--d1);}
:where(.k-kit) .k-swatch.d2{background: var(--d2);}
:where(.k-kit) .k-swatch.d3{background: var(--d3);}
:where(.k-kit) .k-swatch.d4{background: var(--d4);}
:where(.k-kit) .k-swatch.d5{background: var(--d5);}
:where(.k-kit) .k-swatch.d6{background: var(--d6);}
:where(.k-kit) .k-swatch.other{background: var(--d-other);}
:where(.k-kit) .k-core-legend i.d4{background: var(--d4);}
:where(.k-kit) .k-core-legend i.d6{background: var(--d6);}
:where(.k-kit) .k-core-legend i.ink{background: var(--text);}
:where(.k-kit) .k-core-legend i.ref{background: none; border: 1px dashed var(--text-4);}
:where(.k-kit) .k-core-legend i.loss{background: var(--loss); border-radius: 50%; width: 8px; height: 8px;}
@media (max-width: 640px){:where(.k-kit) div.k-plot.fp-fit > svg.k-svgchart{min-width: 540px;}}
:where(.k-kit) .k-swatch.ref{background: var(--text-4);}
:where(.k-kit) .k-svgchart .dot.ref{fill: var(--text-4); fill-opacity: 1; stroke: var(--surface); stroke-width: 1.5;}
:where(.k-kit) .k-seg.tall > a,:where(.k-kit) .k-seg.tall > button{display: flex; flex-direction: column; align-items: flex-start; gap: 0; height: auto; min-height: 0; padding: 6px 14px 7px; text-align: left; line-height: 1.25;}
:where(.k-kit) .k-seg.tall > a > span,:where(.k-kit) .k-seg.tall > button > span{font-size: .71875rem; font-weight: 400; color: var(--text-3);}
:where(.k-kit) .k-seg.tall > a > b,:where(.k-kit) .k-seg.tall > button > b{font-size: 1rem; font-weight: 600; letter-spacing: -.01em; font-variant-numeric: tabular-nums; color: var(--text);}
:where(.k-kit) .k-seg.tall > a > small,:where(.k-kit) .k-seg.tall > button > small{font-size: .71875rem; color: var(--text-4); white-space: nowrap;}
:where(.k-kit) .k-seg.tall > a[aria-current="page"] > span,:where(.k-kit) .k-seg.tall > a[aria-current="page"] > small,:where(.k-kit) .k-seg.tall > button[aria-pressed="true"] > span,:where(.k-kit) .k-seg.tall > button[aria-pressed="true"] > small{color: var(--text-2);}
:where(.k-kit) .k-ff-yearbar > .k-seg{max-width: 100%; min-width: 0; overflow-x: auto; scrollbar-width: none;}
:where(.k-kit) .k-ff-yearbar > .k-seg > a{flex: none;}
:where(.k-kit) .k-ff-yearscroll > .k-seg{width: max-content; max-width: none;}
:where(.k-kit) .k-core-chart.k-stackwide{--k-chart-scale: 1.7;}
:where(.k-kit) .k-svgchart .bar.other{fill: var(--d-other);}
:where(.k-kit) .k-swatch.d1{background: var(--d1);}
:where(.k-kit) .k-swatch.d2{background: var(--d2);}
:where(.k-kit) .k-swatch.d3{background: var(--d3);}
:where(.k-kit) .k-swatch.d4{background: var(--d4);}
:where(.k-kit) .k-swatch.d5{background: var(--d5);}
:where(.k-kit) .k-swatch.d6{background: var(--d6);}
:where(.k-kit) .k-swatch.other{background: var(--d-other);}
:where(.k-kit) .k-swatch.mid{background: var(--mid);}
:where(.k-kit) .k-open > .k-filters{padding-left: 0; padding-right: 0;}
:where(.k-kit) .k-who{display: inline-flex; align-items: center; gap: 6px;}
:where(.k-kit) .k-who > .k-nm{display: none;}
@media (max-width: 640px){:where(.k-kit) .k-who > .k-nm{display: inline;}}
:where(.k-kit) .k-panel .k-core-pair > div:last-child i{background: var(--d-other); opacity: 1;}
:where(.k-kit) .k-seg.full{display: flex; max-width: none;}
:where(.k-kit) .k-seg.full button{flex: 1; text-align: center;}
:where(.k-kit) .k-panel-foot.noted{flex-wrap: wrap; row-gap: 10px;}
:where(.k-kit) .k-foot-note{flex: 1 0 100%; display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; font-size: .8125rem; color: var(--text-2); line-height: 1.4;}
:where(.k-kit) .k-foot-note.err{color: var(--terra); font-weight: 500;}
:where(.k-kit) .k-foot-note.err .k-link{color: var(--terra); text-decoration: underline; font-weight: 500;}
@media (min-width: 641px){:where(.k-kit) .k-panel.k-sheet > .k-grab,:where(.k-kit) .k-panel.k-sheet .k-panel-live{display: none;}}
@media (max-width: 640px){:where(.k-kit) .k-panel.k-sheet{position: fixed; left: 0; right: 0; bottom: 0; z-index: 45; width: auto; max-height: 62vh; border: 0; border-top: 1px solid var(--line); border-radius: 16px 16px 0 0; box-shadow: var(--shadow-panel);}:where(.k-kit) .k-sheet .k-panel-back,:where(.k-kit) .k-sheet .k-panel-sum,:where(.k-kit) .k-sheet .k-pgroup.k-sheet-skip{display: none;}:where(.k-kit) .k-sheet .k-pgroup{padding: 8px 0;}:where(.k-kit) .k-sheet .k-pgroup-label{display: none;}:where(.k-kit) .k-sheet .k-panel-foot{flex-direction: row-reverse;}:where(.k-kit) .k-sheet .k-panel-foot > .k-btn,:where(.k-kit) .k-sheet .k-panel-foot > .k-btn.sm{flex: 1 1 0; justify-content: center; height: 44px; padding-inline: 16px; font-size: .875rem; border-radius: 10px;}}
:where(.k-kit) .k-answers{display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border-bottom: 1px solid var(--line); min-width: 0;}
:where(.k-kit) .k-answer.needs > b > .k-link{font-size: inherit; font-weight: 600;}
@media (max-width: 640px){:where(.k-kit) .k-answers{grid-template-columns: 1fr 1fr;}}
:where(.k-kit) .k-svgchart .ln.ghost{stroke: var(--mid); stroke-width: 2.25;}
:where(.k-kit) .k-core-legend i.ghost{height: 0; width: 14px; border-radius: 0; background: none; border-top: 3px solid var(--mid);}
:where(.k-kit) .k-core-legend i.d1.line{height: 0; width: 14px; border-radius: 0; background: none; border-top: 3px solid var(--d1);}
:where(.k-kit) .k-svgchart .rd{outline: none;}
:where(.k-kit) .k-svgchart .rd .hit{fill: transparent;}
:where(.k-kit) .k-svgchart .rd-card{display: none; pointer-events: none;}
:where(.k-kit) .k-svgchart .rd:hover .rd-card,:where(.k-kit) .k-svgchart .rd:focus .rd-card,:where(.k-kit) .k-svgchart .k-chart-link:hover .rd-card,:where(.k-kit) .k-svgchart .k-chart-link:focus-visible .rd-card{display: block;}
:where(.k-kit) .k-svgchart .rd-bg{fill: var(--surface); stroke: var(--line); stroke-width: 1;}
:where(.k-kit) .k-svgchart .rd-card text{fill: var(--text-2);}
:where(.k-kit) .k-svgchart .rd-card text.rd-head,:where(.k-kit) .k-svgchart .rd-card text.rd-val{fill: var(--text); font-weight: 600;}
:where(.k-kit) .k-svgchart .rd-card text.sub{fill: var(--text-4);}
:where(.k-kit) .k-svgchart .rd-card text.rd-change{fill: var(--text-3);}
:where(.k-kit) .k-svgchart .rd-rule{stroke: var(--line-soft); stroke-width: 1;}
:where(.k-kit) .k-svgchart .rd-card .ln{stroke-width: 3;}
:where(.k-kit) .k-svgchart .k-chart-link:has(.rd-card):hover .hit,:where(.k-kit) .k-svgchart .k-chart-link:has(.rd-card):focus-visible .hit{fill-opacity: .5;}
:where(.k-kit) .k-panel.k-panel-start{border-left: 0; border-right: 1px solid var(--line); order: -1;}
:where(.k-kit) .k-checklist .k-no{font-size: .75rem; font-weight: 600; color: var(--text-4); text-align: center; font-variant-numeric: tabular-nums;}
:where(.k-kit) .k-checklist .k-check{align-items: center;}
:where(.k-kit) .k-checklist .k-check-row > .k-two{color: inherit; text-decoration: none;}
:where(.k-kit) .k-checklist .k-check-row > .k-two > small{color: var(--text-3); font-size: .75rem;}
:where(.k-kit) .k-checklist .k-check-row.off > .k-two{opacity: .55;}
:where(.k-kit) .k-deck-frame{position: relative; flex: none; width: calc(1280px * var(--s, .5)); height: calc(720px * var(--s, .5)); overflow: hidden; border: 1px solid var(--line); border-radius: 10px; background: var(--surface);}
:where(.k-kit) .k-deck-slide{position: absolute; left: 0; top: 0; width: 1280px; height: 720px; box-sizing: border-box; transform: scale(var(--s, .5)); transform-origin: 0 0; display: flex; flex-direction: column; padding: 36px 64px 24px; background: var(--surface); color: var(--text); font-size: 20px; line-height: 1.4;}
:where(.k-kit) .k-deck-top{display: flex; align-items: center; justify-content: space-between; color: var(--text-3); font-size: 15px;}
:where(.k-kit) .k-deck-top > img{height: 24px; width: auto; display: block;}
:where(.k-kit) .k-deck-kicker{margin: 34px 0 0; font-size: 14px; font-weight: 500; letter-spacing: .09em; text-transform: uppercase; color: var(--text-3);}
:where(.k-kit) .k-deck-title{margin: 8px 0 0; max-width: 1040px; font-family: var(--font-serif); font-weight: 400; font-size: 52px; line-height: 1.08; letter-spacing: -.01em; text-wrap: balance;}
:where(.k-kit) .k-deck-body{flex: 1 1 auto; min-height: 0; display: grid; gap: 56px; margin-top: 26px; align-items: start;}
:where(.k-kit) .k-deck-body.two{grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);}
:where(.k-kit) .k-deck-body.wide{grid-template-columns: minmax(0, 1fr);}
:where(.k-kit) .k-deck-body.appx{display: block; overflow: auto; margin-top: 18px;}
:where(.k-kit) .k-deck-hero{display: flex; flex-direction: column; gap: 6px;}
:where(.k-kit) .k-deck-hero > span{font-size: 17px; color: var(--text-3);}
:where(.k-kit) .k-deck-hero > b{font-size: 92px; line-height: 1; font-weight: 600; letter-spacing: -.035em; font-variant-numeric: tabular-nums;}
:where(.k-kit) .k-deck-pair{display: grid; gap: 10px; margin-top: 26px; max-width: 560px;}
:where(.k-kit) .k-deck-pair > div{display: grid; grid-template-columns: 96px minmax(0, 1fr) 130px; align-items: center; gap: 14px; font-size: 17px; color: var(--text-3);}
:where(.k-kit) .k-deck-bar{appearance: none; -webkit-appearance: none; display: block; width: 100%; height: 10px; border: 0; border-radius: 5px; background: transparent; overflow: hidden;}
:where(.k-kit) .k-deck-bar::-webkit-progress-bar{background: transparent;}
:where(.k-kit) .k-deck-bar::-webkit-progress-value{background: var(--q3); border-radius: 5px;}
:where(.k-kit) .k-deck-bar::-moz-progress-bar{background: var(--q3); border-radius: 5px;}
:where(.k-kit) .k-deck-bar.owe::-webkit-progress-value{background: var(--d-other);}
:where(.k-kit) .k-deck-bar.owe::-moz-progress-bar{background: var(--d-other);}
:where(.k-kit) .k-deck-pair b{text-align: right; font-weight: 500; color: var(--text); font-variant-numeric: tabular-nums;}
:where(.k-kit) .k-deck-hero > .k-deck-rows{margin-top: 20px; max-width: 560px;}
:where(.k-kit) .k-deck-rows > div{display: flex; align-items: baseline; justify-content: space-between; gap: 20px; padding: 14px 0; border-top: 1px solid var(--line); font-size: 22px;}
:where(.k-kit) .k-deck-rows > div:first-child{border-top: 0;}
:where(.k-kit) .k-deck-rows > div > b{font-weight: 600; font-variant-numeric: tabular-nums; text-align: right; white-space: nowrap; flex: none;}
:where(.k-kit) .k-deck-rows > div.sum{border-top: 2px solid var(--text); font-weight: 600;}
:where(.k-kit) .k-deck-rows small{display: block; font-size: 15px; color: var(--text-3); font-weight: 400;}
:where(.k-kit) .k-deck-rows.dense > div{padding: 8px 0; font-size: 19px;}
:where(.k-kit) .k-deck-rows.dense small{font-size: 14px;}
:where(.k-kit) .k-deck-body{overflow: hidden;}
:where(.k-kit) .k-deck-note{margin: 12px 0 0; font-size: 15px; color: var(--text-3);}
:where(.k-kit) .k-deck-sub{margin: 22px 0 6px; font-size: 14px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--text-4);}
:where(.k-kit) .k-deck-ans.k-answers{display: flex; flex-direction: column; border-bottom: 0;}
:where(.k-kit) .k-deck-ans > .k-answer{gap: 2px; padding: 16px 0; border-left: 0; border-top: 1px solid var(--line);}
:where(.k-kit) .k-deck-ans > .k-answer:first-child{border-top: 0; padding-top: 4px;}
:where(.k-kit) .k-deck-ans > .k-answer > span{font-size: 16px; color: var(--text-3);}
:where(.k-kit) .k-deck-ans > .k-answer > b{font-size: 40px; line-height: 1.1; column-gap: 8px;}
:where(.k-kit) .k-deck-ans > .k-answer > b > .k-was{font-size: 18px;}
:where(.k-kit) .k-deck-ans > .k-answer > small{font-size: 15px; color: var(--text-3); line-height: 1.3;}
:where(.k-kit) .k-deck-map{width: 688px; padding: 0; margin: 0 0 0 140px; background: none; border: 0; align-items: flex-start; justify-content: flex-start; flex: none; overflow: visible; transform: scale(1.25); transform-origin: 0 0;}
:where(.k-kit) .k-deck-slide .k-svgchart{--k-chart-scale: .62;}
:where(.k-kit) .k-deck-timeline .k-svgchart{--k-chart-scale: 1;}
:where(.k-kit) .k-deck-plot{min-width: 0;}
:where(.k-kit) .k-svgchart .ln.ghost{stroke: var(--mid); stroke-width: 2.25;}
:where(.k-kit) .k-core-legend i.ghost{height: 0; width: 14px; border-radius: 0; background: none; border-top: 3px solid var(--mid);}
:where(.k-kit) .k-deck-steps > div{display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; gap: 18px; align-items: start; padding: 18px 0; border-top: 1px solid var(--line);}
:where(.k-kit) .k-deck-steps > div:first-child{border-top: 0; padding-top: 4px;}
:where(.k-kit) .k-deck-steps .no{width: 36px; height: 36px; border: 1.5px solid var(--control-strong); border-radius: 50%; display: grid; place-items: center; font-size: 17px; font-weight: 600; color: var(--text-2);}
:where(.k-kit) .k-deck-steps b{display: block; font-size: 26px; font-weight: 500; line-height: 1.25;}
:where(.k-kit) .k-deck-steps span.t{display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; font-size: 18px; color: var(--text-3); margin-top: 3px;}
:where(.k-kit) .k-deck-steps.few span.t{-webkit-line-clamp: 4;}
:where(.k-kit) .k-deck-steps .who{font-size: 16px; color: var(--text-3); padding-top: 6px; white-space: nowrap;}
:where(.k-kit) .k-deck-advice{margin: 0 0 14px; max-width: 980px; font-size: 22px; color: var(--text-2); display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden;}
:where(.k-kit) .k-deck-goals{columns: 2; column-gap: 56px;}
:where(.k-kit) .k-deck-goal{break-inside: avoid; display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 0 0 22px;}
:where(.k-kit) .k-deck-goal b{display: block; font-size: 24px; font-weight: 500; line-height: 1.25;}
:where(.k-kit) .k-deck-goal span.t{display: block; font-size: 17px; color: var(--text-3); margin-top: 3px;}
:where(.k-kit) .k-deck-goals.dense .k-deck-goal{padding-bottom: 14px;}
:where(.k-kit) .k-deck-goals.dense .k-deck-goal b{font-size: 21px;}
:where(.k-kit) .k-deck-goals.dense .k-deck-goal span.t{font-size: 15px;}
:where(.k-kit) .k-deck-ribbon{display: flex; gap: 26px; margin-top: auto; padding-top: 12px; border-top: 1px solid var(--line); font-size: 14px; color: var(--text-4); white-space: nowrap;}
:where(.k-kit) .k-deck-ribbon > span[aria-current]{color: var(--text); font-weight: 600; box-shadow: 0 -13px 0 -11px var(--navy);}
:where(.k-kit) .k-deck-ribbon > span:last-child{margin-left: auto;}
:where(.k-kit) .k-deck-appx{font-size: 16px; line-height: 1.4; color: var(--text);}
:where(.k-kit) .k-deck-appx table,:where(.k-kit) .k-deck-table{width: 100%; border-collapse: collapse; margin: 0 0 12px; font-variant-numeric: tabular-nums;}
:where(.k-kit) .k-deck-appx th,:where(.k-kit) .k-deck-appx td,:where(.k-kit) .k-deck-table th,:where(.k-kit) .k-deck-table td{text-align: left; padding: 8px 12px 8px 0; border-bottom: 1px solid var(--line-soft); vertical-align: top;}
:where(.k-kit) .k-deck-appx thead th,:where(.k-kit) .k-deck-table thead th{position: sticky; top: 0; background: var(--surface);}
:where(.k-kit) .k-deck-appx th,:where(.k-kit) .k-deck-table th{font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--text-4);}
:where(.k-kit) .k-deck-appx :is(td, th).num,:where(.k-kit) .k-deck-table :is(td, th).r{text-align: right;}
:where(.k-kit) .k-deck-table tr.part td{color: var(--text-3);}
:where(.k-kit) .k-deck-appx .tscroll{overflow: visible;}
:where(.k-kit) .k-deck-appx h2,:where(.k-kit) .k-deck-appx h3,:where(.k-kit) .k-deck-appx h4{margin: 16px 0 6px; font-size: 16px; font-weight: 600;}
:where(.k-kit) .k-deck-appx :is(.pp-meta, .tcr-meta, .dim){display: block; margin: 6px 0 0; font-size: 14px; color: var(--text-3);}
:where(.k-kit) .k-deck-appx .pp-warning{color: var(--text); font-weight: 500;}
:where(.k-kit) .k-deck-appx :is(.pp-figures, .tcr-figures){display: flex; flex-wrap: wrap; gap: 8px 40px; margin: 0 0 14px;}
:where(.k-kit) .k-deck-appx .pp-figure{margin: 0;}
:where(.k-kit) .k-deck-appx .pp-figure-label{display: block; font-size: 14px; color: var(--text-3);}
:where(.k-kit) .k-deck-appx .pp-figure strong{font-size: 30px; font-weight: 600; font-family: inherit;}
:where(.k-kit) .k-deck-appx svg{max-width: 100%; height: auto;}
:where(.k-kit) .k-deck-appx dl{margin: 0;}
:where(.k-kit) .k-deck-appx dl > div{display: flex; justify-content: space-between; gap: 20px; padding: 8px 0; border-bottom: 1px solid var(--line-soft);}
:where(.k-kit) .k-deck-appx dt{color: var(--text-3);}
:where(.k-kit) .k-deck-appx dd{margin: 0; font-weight: 500;}
:where(.k-kit) .k-deck-says{display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px;}
:where(.k-kit) .k-deck-says.one{grid-template-columns: minmax(0, 1fr);}
:where(.k-kit) .k-deck-says p{margin: 0; font-size: 18px; line-height: 1.5; color: var(--text-2);}
:where(.k-kit) .k-deck-list{margin: 0; padding-left: 20px; font-size: 16px; color: var(--text-2);}
:where(.k-kit) .k-deck-stage > .k-deck-frame{box-shadow: var(--shadow-float);}
:where(.k-kit) .k-deck-stage[data-deck] .k-deck-frame:not([data-current]){display: none;}
:where(.k-kit) .k-deck-stage[data-view="phone"] .k-deck-frame{display: none;}
:where(.k-kit) .k-deck-story{display: flex; flex-direction: column; padding-bottom: 8px; color: var(--text); font-size: var(--fs-body); line-height: 1.3;}
:where(.k-kit) .k-deck-story + .k-deck-story{border-top: 1px solid var(--line-soft); margin-top: 18px;}
:where(.k-kit) .k-deck-story .k-deck-kicker{margin-top: 22px; font-size: 11px;}
:where(.k-kit) .k-deck-story .k-deck-title{font-size: 30px; margin-top: 6px; margin-bottom: 14px;}
:where(.k-kit) .k-deck-story .k-deck-pair{margin-top: 0; margin-bottom: 8px; max-width: none;}
:where(.k-kit) .k-deck-story .k-deck-pair > div{grid-template-columns: 60px minmax(0, 1fr) 92px; font-size: 13px;}
:where(.k-kit) .k-deck-story .k-deck-rows{margin-bottom: 10px;}
:where(.k-kit) .k-deck-story .k-deck-rows > div{font-size: 15px; padding: 11px 0;}
:where(.k-kit) .k-deck-story .k-deck-rows small{font-size: 12px;}
:where(.k-kit) .k-deck-story .k-deck-sub{margin: 14px 0 4px; font-size: 11px;}
:where(.k-kit) .k-deck-story .k-deck-ans.two{display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; margin-top: 8px;}
:where(.k-kit) .k-deck-story .k-deck-ans > .k-answer{padding: 12px 0;}
:where(.k-kit) .k-deck-story .k-deck-ans > .k-answer > span{font-size: 12px;}
:where(.k-kit) .k-deck-story .k-deck-ans > .k-answer > b{font-size: 24px;}
:where(.k-kit) .k-deck-story .k-deck-ans > .k-answer > b > .k-was{font-size: 13px;}
:where(.k-kit) .k-deck-story .k-deck-ans > .k-answer > small{display: block; font-size: 12px;}
:where(.k-kit) .k-deck-story .k-deck-note{font-size: 12px;}
:where(.k-kit) .k-deck-story .k-deck-steps > div{grid-template-columns: 34px minmax(0, 1fr); gap: 12px; padding: 14px 0;}
:where(.k-kit) .k-deck-story .k-deck-steps .who{display: none;}
:where(.k-kit) .k-deck-story .k-deck-steps .no{width: 28px; height: 28px; font-size: 13px;}
:where(.k-kit) .k-deck-story .k-deck-steps b{font-size: 17px;}
:where(.k-kit) .k-deck-story .k-deck-steps span.t{display: block; font-size: 13px;}
:where(.k-kit) .k-deck-story .k-deck-table :is(td, th){white-space: nowrap;}
:where(.k-kit) .k-deck-story .k-deck-goals{columns: 1;}
:where(.k-kit) .k-deck-story .k-deck-goal{padding: 12px 0; border-top: 1px solid var(--line);}
:where(.k-kit) .k-deck-story .k-deck-goal:first-child{border-top: 0; padding-top: 0;}
:where(.k-kit) .k-deck-story .k-deck-goal b{font-size: 16px;}
:where(.k-kit) .k-deck-story .k-deck-goal span.t{font-size: 13px;}
:where(.k-kit) .k-deck-story .k-deck-advice{font-size: 15px;}
:where(.k-kit) .k-deck-story .k-deck-appx{font-size: 13px; overflow-x: auto;}
:where(.k-kit) .k-deck-story .k-deck-says{grid-template-columns: minmax(0, 1fr); gap: 12px;}
:where(.k-kit) .k-deck-story .k-deck-says p{font-size: 14px;}
:where(.k-kit) .k-deck-story .k-core-legend-wrap{display: inline-flex; align-items: center;}
:where(.k-kit) .k-deck-story .k-plot-wrap{--k-chart-scale: .5;}
:where(.k-kit) .k-deck-stage.presenting > .k-deck-frame{box-shadow: none; border-radius: 0; border: 0;}
@media (max-width: 640px){:where(.k-kit) .k-deck-stage > .k-deck-frame,:where(.k-kit) .k-deck-stage > .k-deck-cap{display: none;}}
:where(.k-kit) .k-deck-stage .k-deck-cap.nav > .k-btn:disabled{opacity: .45;}
:where(.k-kit) .fp-present-work{align-items: stretch;}
:where(.k-kit) .fp-present-main{flex: 1 1 auto; min-width: 0;}
:where(.k-kit) .fp-present-form{display: contents;}
:where(.k-kit) .k-deck-cap .k-link{padding: 0;}
:where(.k-kit) .fp-present-panel .k-panel-foot{border-top: 1px solid var(--line);}
@media (max-width: 1180px){:where(.k-kit) .fp-present-work{flex-direction: column; overflow-y: auto;}:where(.k-kit) .fp-present-panel.k-panel{width: auto; flex: none; border-right: 0; border-bottom: 1px solid var(--line);}:where(.k-kit) .fp-present-main{flex: none; overflow: visible;}}
@media (max-width: 640px){:where(.k-kit) .fp-present-panel.k-panel{order: 1; border-bottom: 0; border-top: 1px solid var(--line);}:where(.k-kit) .k-checklist .k-check input{width: 28px; height: 28px; margin: 0;}}
:where(.k-kit) .k-deck-story .k-deck-hero{margin-bottom: 8px;}
:where(.k-kit) .k-deck-story .k-deck-hero > span{font-size: 13px;}
:where(.k-kit) .k-deck-story .k-deck-hero > b{font-size: 44px;}
:where(.k-kit) .k-deck-story .k-deck-hero > .k-deck-rows{margin-top: 8px; max-width: none;}
@media (max-width: 640px){:where(.k-kit) .fp-present .k-pagebar-actions .k-seg{display: none;}}
:where(.k-kit) main .k-fig-input:not(.k-input):not(.k-select):not([type="range"]):not([type="file"]):not([type="radio"]):not([type="checkbox"]){font: inherit; letter-spacing: inherit; color: inherit; font-variant-numeric: tabular-nums; width: auto; min-width: 3ch; max-width: 100%; height: auto; min-height: 0; padding: 0 0 1px; margin: 0; border: 0; border-bottom: 1px solid transparent; border-radius: 0; background: transparent; box-shadow: none; field-sizing: content;}
:where(.k-kit) main .k-fig-input:not(.k-input):not(.k-select):not([type="range"]):not([type="file"]):not([type="radio"]):not([type="checkbox"]):hover{border-bottom-color: var(--control);}
:where(.k-kit) main .k-fig-input:not(.k-input):not(.k-select):not([type="range"]):not([type="file"]):not([type="radio"]):not([type="checkbox"]):focus{outline: 0; border-bottom-color: var(--navy);}
:where(.k-kit) main .k-fig-input:not(.k-input):not(.k-select):not([type="range"]):not([type="file"]):not([type="radio"]):not([type="checkbox"])[aria-invalid="true"]{border-bottom-color: var(--terra); color: var(--terra);}
:where(.k-kit) .k-money.k-plain > input[type="number"]{-moz-appearance: textfield; appearance: textfield; text-align: right;}
:where(.k-kit) .k-money.k-plain > input[type="number"]::-webkit-outer-spin-button,:where(.k-kit) .k-money.k-plain > input[type="number"]::-webkit-inner-spin-button{-webkit-appearance: none; margin: 0;}
:where(.k-kit) .k-field-err:empty{display: none;}
:where(.k-kit) .k-prow.k-wrapto > .k-slider-row,:where(.k-kit) .k-prow.k-wrapto > .k-slider-scale{grid-column: 2;}
:where(.k-kit) .fp-dc-picks .k-link{padding: 2px 0; font-size: .78125rem;}
:where(.k-kit) .fp-dc-editor .k-pgroup > .k-hint,:where(.k-kit) .fp-dc-editor .k-pgroup > details.k-fold,:where(.k-kit) .fp-dc-editor .k-pgroup > .k-seg{margin-top: 10px;}
:where(.k-kit) .fp-dc-editor .k-pgroup > .k-check + .k-check,:where(.k-kit) .fp-dc-editor .k-pgroup > .k-check + .k-field-err + .k-check{margin-top: 10px;}
:where(.k-kit) .fp-dc-editor .k-pgroup > .k-field-err{margin-top: 4px;}
:where(.k-kit) .fp-dc-editor .k-pgroup > .k-slider-row + .k-slider-sub{margin-top: 8px;}
:where(.k-kit) .fp-dc-editor .k-pgroup > .k-prow + .k-slider-row,:where(.k-kit) .fp-dc-editor .k-pgroup > .k-slider-sub + .k-prow,:where(.k-kit) .fp-dc-editor .k-pgroup > .k-field-err + .k-prow,:where(.k-kit) .fp-dc-editor .k-pgroup > .k-slider-sub + .k-slider-row{margin-top: 12px;}
:where(.k-kit) .fp-dc-editor .k-pgroup > .k-slider-row ~ .k-slider-row{margin-top: 14px;}
:where(.k-kit) .fp-dc-editor .k-fold > summary + .k-prow,:where(.k-kit) .fp-dc-editor .k-fold > summary + .k-hint{margin-top: 6px;}
:where(.k-kit) .fp-dc-editor .k-fold > .k-hint + .k-hint{margin-top: 8px;}
:where(.k-kit) .fp-dc-editor .k-fold > .k-link[data-set]{margin-top: 6px;}
:where(.k-kit) .fp-dc-editor textarea.k-textarea{width: 100%;}
:where(.k-kit) .fp-dc-override .k-label{font-size: .71875rem;}
:where(.k-kit) .fp-dc-override .k-input,:where(.k-kit) .fp-dc-override .k-select{width: 100%; min-width: 0;}
:where(.k-kit) .fp-dc-wasnow .k-tr > span:nth-child(2) > .k-skel{--w: 3.6em;}
:where(.k-kit) .fp-dc-wasnow .k-tr > span:nth-child(3) > .k-skel{--w: 4.4em;}
@media (max-width: 640px){:where(.k-kit) .fp-dc-kind .k-pgroup-label{display: block;}:where(.k-kit) .fp-dc-kind .k-prow{grid-template-columns: minmax(0, 1fr); gap: 4px;}:where(.k-kit) .fp-dc-kind .k-prow > .k-field-err,:where(.k-kit) .fp-dc-kind .k-prow > .k-hint{grid-column: 1;}:where(.k-kit) .fp-dc-kind .k-input,:where(.k-kit) .fp-dc-kind .k-select,:where(.k-kit) .fp-dc-kind .k-money{min-height: 44px; font-size: 15px;}:where(.k-kit) .fp-dc-kind .k-money > input,:where(.k-kit) .fp-dc-kind .k-money > .k-input{min-height: 0;}:where(.k-kit) .fp-dc-kind .k-seg.full button{min-height: 44px;}}
:where(.k-kit) .k-recips > .k-row{min-height: 46px; padding-inline: 0; gap: 10px;}
:where(.k-kit) .k-recips .k-check{align-items: center; padding: 0; border: 0; min-height: 0;}
:where(.k-kit) .k-recips .k-check input:disabled{cursor: not-allowed;}
:where(.k-kit) .k-steplist.k-track{gap: 0;}
:where(.k-kit) .k-steplist.k-track .k-step{align-items: flex-start; gap: 10px; padding-bottom: 14px; position: relative; font-size: var(--fs-body);}
:where(.k-kit) .k-steplist.k-track .k-step:last-child{padding-bottom: 0;}
:where(.k-kit) .k-steplist.k-track .k-step::before{content: ""; position: absolute; left: 4px; top: 14px; bottom: -2px; width: 1px; background: var(--line);}
:where(.k-kit) .k-steplist.k-track .k-step:last-child::before{content: none;}
:where(.k-kit) .k-steplist.k-track .k-step-dot{margin-top: 5px;}
:where(.k-kit) .k-steplist.k-track .k-step > .k-two{flex: 1 1 auto; min-width: 0;}
:where(.k-kit) .k-steplist.k-track .k-step.done{color: var(--text);}
:where(.k-kit) .k-tpr-frame.thumb > .k-doc{zoom: .36;}
@media (max-width: 900px){:where(.k-kit) .k-panel-foot.noted > .k-btn{flex: 1 1 0; justify-content: center; min-height: 44px; font-size: .875rem; padding: 0 16px; border-radius: 10px;}}
:where(.k-kit) .k-datebox{position: relative; display: block; min-width: 0; width: 100%;}
:where(.k-kit) .k-datebox > .k-input{padding-right: 34px;}
:where(.k-kit) .k-datebox > input.k-native:not(#k){position: absolute; left: 0; bottom: 0; width: 1px; height: 1px; min-width: 0; max-width: 1px; padding: 0; border: 0; margin: 0; overflow: hidden; clip-path: inset(50%); opacity: 0; pointer-events: none;}
:where(.k-kit) .k-datebox-pick{position: absolute; top: 1px; right: 1px; width: 32px; height: 32px; padding: 0; border: 0; border-radius: var(--r-control); background: none; color: var(--text-3); display: inline-flex; align-items: center; justify-content: center; cursor: pointer;}
:where(.k-kit) .k-datebox-pick:hover{background: none; color: var(--navy);}
:where(.k-kit) .k-datebox-pick[data-icon]::before{width: 15px; height: 15px;}
:where(.k-kit) .k-input[aria-invalid="true"],:where(.k-kit) .k-textarea[aria-invalid="true"]{border-color: var(--terra);}
:where(.k-kit) .k-field-err[data-k-err]{margin-top: 4px;}
:where(.k-kit) .k-horizon > .k-hint{margin-top: 4px;}
:where(.k-kit) .k-heat{display: grid; grid-template-columns: 8em repeat(var(--n), minmax(0, 1fr)); gap: 2px; font-size: .71875rem; font-variant-numeric: tabular-nums; min-width: 0;}
:where(.k-kit) .k-heat > .k-heat-h{text-align: center; padding-bottom: 4px; font-weight: 500; color: var(--text-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
:where(.k-kit) .k-heat > .k-heat-r{display: block; align-self: center; height: 34px; line-height: 34px; padding-right: 6px; font-weight: 500; font-size: .75rem; color: var(--text-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
:where(.k-kit) .k-heat > .k-heat-c{height: 34px; display: grid; place-items: center; border-radius: 5px; color: var(--text); text-decoration: none; background: color-mix(in srgb, var(--navy) calc(var(--v, 0) * 78%), var(--surface));}
:where(.k-kit) .k-heat > .k-heat-c.neg{background: color-mix(in srgb, var(--sand-dot) calc(var(--v, 0) * 240%), var(--surface));}
:where(.k-kit) .k-heat > .k-heat-c.hi{color: var(--on-dark);}
:where(.k-kit) .k-heat > .k-heat-c.self{background: var(--neutral-tint); color: var(--text-4);}
:where(.k-kit) .k-heat > .k-heat-c.empty{background: var(--ground); color: var(--text-4);}
:where(.k-kit) .k-heat > a.k-heat-c:hover{box-shadow: inset 0 0 0 1px var(--navy);}
:where(.k-kit) .k-heat > .k-heat-c.k-focus{box-shadow: 0 0 0 2px var(--surface), 0 0 0 4px var(--navy);}
:where(.k-kit) .k-heat.n2{--n: 2;}
:where(.k-kit) .k-heat.n3{--n: 3;}
:where(.k-kit) .k-heat.n4{--n: 4;}
:where(.k-kit) .k-heat.n5{--n: 5;}
:where(.k-kit) .k-heat.n6{--n: 6;}
:where(.k-kit) .k-heat.n7{--n: 7;}
:where(.k-kit) .k-heat.n8{--n: 8;}
:where(.k-kit) .k-heat.n9{--n: 9;}
:where(.k-kit) .k-heat.n10{--n: 10;}
:where(.k-kit) .k-heat.n11{--n: 11;}
:where(.k-kit) .k-heat.n12{--n: 12;}
:where(.k-kit) .k-heat > .v0{--v: 0;}
:where(.k-kit) .k-heat > .v1{--v: 0.05;}
:where(.k-kit) .k-heat > .v2{--v: 0.1;}
:where(.k-kit) .k-heat > .v3{--v: 0.15;}
:where(.k-kit) .k-heat > .v4{--v: 0.2;}
:where(.k-kit) .k-heat > .v5{--v: 0.25;}
:where(.k-kit) .k-heat > .v6{--v: 0.3;}
:where(.k-kit) .k-heat > .v7{--v: 0.35;}
:where(.k-kit) .k-heat > .v8{--v: 0.4;}
:where(.k-kit) .k-heat > .v9{--v: 0.45;}
:where(.k-kit) .k-heat > .v10{--v: 0.5;}
:where(.k-kit) .k-heat > .v11{--v: 0.55;}
:where(.k-kit) .k-heat > .v12{--v: 0.6;}
:where(.k-kit) .k-heat > .v13{--v: 0.65;}
:where(.k-kit) .k-heat > .v14{--v: 0.7;}
:where(.k-kit) .k-heat > .v15{--v: 0.75;}
:where(.k-kit) .k-heat > .v16{--v: 0.8;}
:where(.k-kit) .k-heat > .v17{--v: 0.85;}
:where(.k-kit) .k-heat > .v18{--v: 0.9;}
:where(.k-kit) .k-heat > .v19{--v: 0.95;}
:where(.k-kit) .k-heat > .v20{--v: 1;}
@media (max-width: 640px){:where(.k-kit) .k-heat{grid-template-columns: 7em repeat(var(--n), minmax(0, 1fr)); font-size: .6875rem;}:where(.k-kit) .k-heat > .k-heat-h{font-size: .625rem;}:where(.k-kit) .k-heat > .k-heat-c{height: 38px;}:where(.k-kit) .k-heat > .k-heat-r{font-size: .6875rem; height: 38px; line-height: 38px;}}
:where(.k-kit) .k-panel-foot.noted{flex-wrap: wrap; row-gap: 10px;}
:where(.k-kit) .k-foot-note{flex: 1 0 100%; display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; font-size: .8125rem; color: var(--text-2); line-height: 1.4;}
:where(.k-kit) .k-foot-note.err{color: var(--terra); font-weight: 500;}
:where(.k-kit) .k-foot-note.err .k-link{color: var(--terra); text-decoration: underline; font-weight: 500;}
:where(.k-kit) .k-foot-note > b{font-weight: 600; color: var(--text);}
:where(.k-kit) .k-foot-note.err > b{color: var(--terra);}
:where(.k-kit) .k-foot-note > .k-link{font-weight: 500;}
:where(.k-kit) .k-plabel > .k-req,:where(.k-kit) .k-prow > label > .k-req{display: block; font-size: .6875rem; font-weight: 400; color: var(--text-4); line-height: 1.2;}
:where(.k-kit) .k-prow .k-field-err{align-items: flex-start;}
:where(.k-kit) .k-flash{border-radius: 4px; animation: k-flash .8s ease-out both;}
@keyframes k-flash{
  0% { background: transparent; box-shadow: -8px 0 0 transparent, 8px 0 0 transparent; }
  19% { background: var(--navy-wash); box-shadow: -8px 0 0 var(--navy-wash), 8px 0 0 var(--navy-wash); }
  100% { background: transparent; box-shadow: -8px 0 0 transparent, 8px 0 0 transparent; }
}
@media (prefers-reduced-motion: reduce){:where(.k-kit) .k-flash{animation: none;}}
:where(.k-kit) .k-door > .k-card-body{display: flex; flex-direction: column; gap: 10px; flex: 1 1 auto; padding: 20px 22px 22px;}
:where(.k-kit) .k-door > .k-card-body > .k-hint{margin: -4px 0 0;}
:where(.k-kit) .k-door-body > .k-switch-list > .k-check{padding: 9px 12px;}
:where(.k-kit) .k-door-body > .k-steplist{gap: 12px; padding: 4px 2px 0;}
:where(.k-kit) .k-door-foot > .k-btn{width: 100%; justify-content: center;}
@media (max-width: 1000px){:where(.k-kit) .k-door > .k-card-body{padding: 16px 16px 18px;}}
:where(.k-kit) .k-steplist a.k-step{text-decoration: none; color: var(--text-3);}
:where(.k-kit) .k-steplist a.k-step:hover{color: var(--text);}
:where(.k-kit) .k-steplist a.k-step.now{color: var(--text);}
:where(.k-kit) .k-step-gaps > a.k-row{min-height: 34px; padding-inline: 0; color: var(--text); text-decoration: none;}
:where(.k-kit) .k-step-gaps > a.k-row > .k-link{font-weight: 500;}
:where(.k-kit) .k-step-gaps.k-step-ask > .k-link{font-weight: 500;}
@media (max-width: 640px){:where(.k-kit) .k-steplist a.k-step,:where(.k-kit) .k-step-gaps > a.k-row{min-height: 44px; align-items: center;}:where(.k-kit) .k-steplist{gap: 0;}}
:where(.k-kit) .k-cols.k-lead{flex-direction: row-reverse;}
@media (max-width: 720px){:where(.k-kit) .k-cols.k-lead{flex-direction: column;}}
:where(.k-kit) .k-policy .k-tr > :first-child{white-space: normal;}
:where(.k-kit) .k-policy .k-tr > :first-child{color: var(--text-2);}
:where(.k-kit) .k-policy .k-tr.k-landing{background: var(--navy-wash);}
:where(.k-kit) .k-card.k-panel.k-inline{display: flex; align-items: stretch; width: 100%; flex-shrink: 1; border: 0; border-radius: 0; background: none; overflow: visible;}
:where(.k-kit) .k-card.k-panel.k-inline .k-prow{grid-template-columns: 220px minmax(0, 1fr);}
:where(.k-kit) .k-card.k-panel.k-inline .k-prow > .v{max-width: 560px; min-width: 0;}
:where(.k-kit) .k-card.k-panel.k-inline > .k-card-body,:where(.k-kit) .k-card.k-panel.k-inline > form > .k-card-body{padding-inline: 0;}
:where(.k-kit) .k-card.k-panel.k-inline > .k-panel-foot,:where(.k-kit) .k-card.k-panel.k-inline > form > .k-panel-foot{padding-inline: 0; border-top: 0;}
@media (max-width: 720px){:where(.k-kit) .k-card.k-panel.k-inline .k-prow{grid-template-columns: minmax(0, 1fr);}:where(.k-kit) .k-card.k-panel.k-inline .k-prow > .v{max-width: none;}}
:where(.k-kit) .k-card.k-panel.k-inline > .k-card-body{flex: 1 1 auto;}
:where(.k-kit) .k-people .k-check{align-items: flex-start;}
:where(.k-kit) .k-inline-pick > .k-select{flex: 1 1 auto; min-width: 0;}
:where(.k-kit) .k-band > .k-stepbar{margin: 0;}
:where(.k-kit) .k-band.k-steps{display: block; padding: 14px 24px 12px;}
:where(.k-kit) .k-mix .k-tr > .k-slider{width: 100%;}
:where(.k-kit) .k-mix .k-money{width: 84px;}
:where(.k-kit) .k-mix .k-tr .k-money > input{width: 4ch; text-align: right;}
:where(.k-kit) .k-mix .k-tr.total{font-weight: 600;}
:where(.k-kit) .k-mix .k-tr.total .k-short{color: var(--terra);}
:where(.k-kit) .k-mix .k-tr.total .k-short.ok{color: var(--text);}
:where(.k-kit) .k-mix-foot > .k-foot-note{flex: 1 1 auto;}
:where(.k-kit) .k-panel.k-bare{width: 100%; border: 0; background: none;}
:where(.k-kit) .k-panel.k-bare > .k-panel-foot{padding-inline: 0; border-top: 0; justify-content: flex-end;}
:where(.k-kit) .k-panel.k-bare > .k-panel-foot > .k-foot-note{justify-content: flex-start; flex: 1 1 0;}
:where(.k-kit) .k-panel.k-bare > .k-panel-foot > .k-btn[disabled]{opacity: .5; cursor: not-allowed;}
:where(.k-kit) .k-mix + .k-add .k-tr,:where(.k-kit) .k-add .k-table .k-tr{grid-template-columns: minmax(0, 1fr) 100px;}
:where(.k-kit) #fit-people .k-row{padding-inline: 0;}
:where(.k-kit) .k-panel.k-bare [data-step]{border-top: 0; padding-top: 0; margin-top: 0;}
:where(.k-kit) .k-inline-pick > .k-select.fit{max-width: 240px;}
@media (max-width: 720px){:where(.k-kit) .k-mix > .k-tr{grid-template-columns: minmax(0, 1fr) 96px 44px; row-gap: 4px; padding-block: 8px;}:where(.k-kit) .k-mix > .k-tr > :nth-child(1){grid-column: 1; grid-row: 1;}:where(.k-kit) .k-mix > .k-tr > .k-two{grid-column: 2; grid-row: 1;}:where(.k-kit) .k-mix > .k-tr > .k-now{grid-column: 3; grid-row: 1;}:where(.k-kit) .k-mix > .k-tr > .k-slider{grid-column: 1 / -1; grid-row: 2;}:where(.k-kit) .k-mix > .k-tr > .k-r{grid-column: 3; grid-row: 2; justify-self: end;}:where(.k-kit) .k-mix > .k-tr.head > :nth-child(2),:where(.k-kit) .k-mix > .k-tr.head > :nth-child(4),:where(.k-kit) .k-mix > .k-tr.total > :nth-child(2),:where(.k-kit) .k-mix > .k-tr.total > :nth-child(4){display: none;}:where(.k-kit) .k-mix > .k-tr.head > :nth-child(3),:where(.k-kit) .k-mix > .k-tr.total > :nth-child(3){grid-column: 2;}:where(.k-kit) .k-mix > .k-tr.head > :nth-child(5),:where(.k-kit) .k-mix > .k-tr.total > :nth-child(5){grid-column: 3;}:where(.k-kit) .k-band.k-steps{padding: 12px 16px 10px;}}
:where(.k-kit) .k-steplist.k-track .k-step > .k-btn{margin-left: auto; flex: none;}
:where(.k-kit) .k-answers.k-four,:where(.k-kit) .fp-dc-main .k-answers.k-four{grid-template-columns: repeat(4, minmax(0, 1fr));}
:where(.k-kit) .k-answers.k-one,:where(.k-kit) .fp-dc-main .k-answers.k-one{grid-template-columns: minmax(0, 1fr);}
:where(.k-kit) .k-answers.k-four > .k-answer,:where(.k-kit) .fp-dc-main .k-answers.k-four > .k-answer{padding-inline: 16px;}
:where(.k-kit) .k-answers.k-four > .k-answer:first-child,:where(.k-kit) .fp-dc-main .k-answers.k-four > .k-answer:first-child{padding-left: 0;}
:where(.k-kit) .k-answers.k-four > .k-answer > b{font-size: 1.25rem;}
@media (max-width: 640px){:where(.k-kit) .k-answers.k-four,:where(.k-kit) .fp-dc-main .k-answers.k-four{grid-template-columns: 1fr 1fr;}:where(.k-kit) .k-answers.k-four > .k-answer,:where(.k-kit) .fp-dc-main .k-answers.k-four > .k-answer{padding: 12px 12px 12px 0; border-left: 0; border-top: 1px solid var(--line-soft);}:where(.k-kit) .k-answers.k-four > .k-answer:nth-child(2n),:where(.k-kit) .fp-dc-main .k-answers.k-four > .k-answer:nth-child(2n){grid-column: auto; padding-left: 14px; padding-right: 0; border-left: 1px solid var(--line-soft);}:where(.k-kit) .k-answers.k-four > .k-answer:nth-child(-n+2){border-top: 0;}:where(.k-kit) .k-answers.k-four > .k-answer > b{font-size: 1.3125rem;}}
:where(.k-kit) .k-core-legend i.d2.line{height: 0; width: 14px; border-radius: 0; background: none; border-top: 3px solid var(--d2);}
:where(.k-kit) .k-core-legend-wrap{display: inline-flex; align-items: center;}
:where(.k-kit) .k-table.k-wraphead > .k-tr.head{align-items: end; min-height: 40px; padding-block: 5px;}
:where(.k-kit) .k-table.k-wraphead > .k-tr.head > span{white-space: normal; overflow: visible; text-overflow: clip; line-height: 1.2;}
:where(.k-kit) .k-actionbar > .k-btn,:where(.k-kit) .k-actionbar > form{flex: 1 1 0; min-width: 0;}
:where(.k-kit) .k-actionbar .k-btn{flex: 1 1 0; min-height: 44px; justify-content: center;}
:where(.k-kit) .fp-cover .fp-dc-main{container: cover / inline-size;}
:where(.k-kit) .fp-cover-results > #fp-cover{display: flex; flex-direction: column; gap: 14px; min-width: 0;}
:where(.k-kit) .fp-cover-results > #fp-cover > .k-note{margin: 4px 0 0;}
:where(.k-kit) .fp-cover .fp-cover-options > a.k-tr,:where(.k-kit) .fp-cover .fp-cover-options > .k-tr{cursor: default;}
:where(.k-kit) .fp-cover .fp-cover-options > a.k-tr{cursor: pointer;}
:where(.k-kit) .fp-cover .fp-cover-options > a.k-tr:hover:not([aria-selected="true"]){background: var(--quiet);}
:where(.k-kit) .fp-cover .fp-cover-edit,:where(.k-kit) .fp-cover .fp-cover-foot,:where(.k-kit) .fp-cover .fp-cover-narrow{display: none;}
:where(.k-kit) .fp-cover .k-core-chart > .k-svgchart{display: block; width: 100%; height: auto;}
@container cover (max-width: 720px){:where(.k-kit) .fp-cover .fp-cover-options.k-table.k-dense,:where(.k-kit) .fp-cover .fp-cover-years.k-table.k-dense{border: 0; background: none; overflow: visible;}:where(.k-kit) .fp-cover .fp-cover-options.k-table.k-dense > .k-tr.head,:where(.k-kit) .fp-cover .fp-cover-years.k-table.k-dense > .k-tr.head{display: none;}:where(.k-kit) .fp-cover .fp-cover-options.k-table.k-dense > .k-tr:not(.head),:where(.k-kit) .fp-cover .fp-cover-years.k-table.k-dense > .k-tr:not(.head){display: block; position: relative; min-width: 0; margin: 0 0 8px; padding: 10px 14px; min-height: 0; font-size: .8125rem; line-height: 1.3; background: var(--surface); border: 1px solid var(--line); border-radius: 12px;}:where(.k-kit) .fp-cover .fp-cover-options.k-table.k-dense > .k-tr[aria-selected="true"],:where(.k-kit) .fp-cover .fp-cover-years.k-table.k-dense > .k-tr[aria-selected="true"]{background: var(--navy-wash); border-color: var(--navy-line);}:where(.k-kit) .fp-cover .fp-cover-options.k-table.k-dense > .k-tr[aria-selected="true"]::before,:where(.k-kit) .fp-cover .fp-cover-years.k-table.k-dense > .k-tr[aria-selected="true"]::before{display: none;}:where(.k-kit) .fp-cover .fp-cover-options.k-table.k-dense > .k-tr > .k-two,:where(.k-kit) .fp-cover .fp-cover-years.k-table.k-dense > .k-tr > .k-two{display: flex; padding-bottom: 6px;}:where(.k-kit) .fp-cover .fp-cover-options.k-table.k-dense > .k-tr > .k-two > span,:where(.k-kit) .fp-cover .fp-cover-years.k-table.k-dense > .k-tr > .k-two > span{font-size: .875rem; font-weight: 600; line-height: 1.3;}:where(.k-kit) .fp-cover .fp-cover-options.k-table.k-dense > .k-tr > [data-label],:where(.k-kit) .fp-cover .fp-cover-years.k-table.k-dense > .k-tr > [data-label]{display: grid; grid-template-columns: minmax(72px, 34%) minmax(0, 1fr); gap: 8px; align-items: baseline; padding: 3px 0; text-align: left; white-space: normal; overflow: visible;}:where(.k-kit) .fp-cover .fp-cover-options.k-table.k-dense > .k-tr > [data-label]::before,:where(.k-kit) .fp-cover .fp-cover-years.k-table.k-dense > .k-tr > [data-label]::before{content: attr(data-label); color: var(--text-3); font-size: .8125rem;}}
@media (max-width: 640px){:where(.k-kit) .fp-cover .fp-cover-wide,:where(.k-kit) .fp-cover .fp-cover-act{display: none;}:where(.k-kit) .fp-cover .fp-cover-narrow{display: block;}:where(.k-kit) .fp-cover .fp-cover-edit{display: inline-flex; align-self: flex-start;}:where(.k-kit) .fp-cover .fp-cover-foot{display: flex;}:where(.k-kit) .fp-cover .fp-dc-work:not(.fp-cover-editing) > .fp-dc-panel{display: none;}:where(.k-kit) .fp-cover .fp-dc-work:has(> .fp-dc-editor) .fp-dc-main{padding-bottom: 0;}:where(.k-kit) .fp-cover .fp-dc-work.fp-cover-editing:has(> .fp-dc-editor) .fp-dc-main{padding-bottom: 300px;}}
:where(.k-kit) .fp-cover-options > .k-tr > .k-two > small{white-space: normal;}
:where(.k-kit) .fp-cover .k-plot.fp-fit > .k-svgchart{min-width: 0; max-width: 100%;}
:where(.k-kit) .fp-cover-options > .k-tr > .fp-cover-two{line-height: 1.25;}
:where(.k-kit) .fp-cover-options > .k-tr > .fp-cover-two > small{display: block; font-size: .75rem; color: var(--text-3);}
@container cover (max-width: 720px){:where(.k-kit) .fp-cover .k-section-head:has(> .k-core-legend-wrap){flex-wrap: wrap;}:where(.k-kit) .fp-cover .k-section-head > .k-core-legend-wrap{flex: 1 0 100%; margin-top: 6px;}:where(.k-kit) .fp-cover .fp-cover-options.k-table.k-dense > .k-tr > .fp-cover-two > small{grid-column: 2;}}
:where(.k-kit) .k-recs tr.k-quiet > td .k-two > :first-child{color: var(--text-2);}
:where(.k-kit) .k-recs td .k-two.k-cover{display: flex; flex-direction: column; color: inherit; text-decoration: none;}
:where(.k-kit) .k-recs td[data-col="title"] > .k-two > small,:where(.k-kit) .k-recs td[data-col="does"] > .k-two > small{font-size: .75rem; color: var(--text-3);}
@media (max-width: 640px){:where(.k-kit) .k-recs td[data-col="title"] > .k-two > small{display: none;}:where(.k-kit) .k-recs .k-dt.k-dt[data-cards] > table > tbody > tr > td > :is(.k-tag, .k-chip){justify-self: start;}}
:where(.k-kit) .fp-rec-panel .k-steps .k-tr small{white-space: normal;}
:where(.k-kit) .fp-rec-panel .k-steps .k-tr small > .k-link,:where(.k-kit) .fp-rec-panel .k-steps .k-tr small > .k-inline-form{margin-left: 8px;}
:where(.k-kit) .fp-rec-panel .k-steps .k-tr small > :first-child{margin-left: 0;}
:where(.k-kit) .fp-rec-panel .k-steps .k-tr small .k-inline-form{display: inline;}
:where(.k-kit) .fp-rec-panel .k-steps .k-tr small .k-link{padding: 0; font-size: inherit;}
:where(.k-kit) .fp-rec-panel .k-steps .k-tr.edit{grid-template-columns: minmax(0, 1.3fr) 110px 104px;}
:where(.k-kit) .fp-rec-panel .k-textarea{width: 100%; margin-top: 4px;}
:where(.k-kit) .fp-advice .fp-rec-phone,:where(.k-kit) .fp-advice .fp-rec-phone-copy{display: none;}
@media (max-width: 640px){:where(.k-kit) .fp-advice .fp-rec-phone{display: flex;}:where(.k-kit) .fp-advice .fp-rec-phone-copy{display: block;}:where(.k-kit) .fp-advice .fp-rec-phone-copy > .k-btn{width: 100%; justify-content: center;}}
@media (max-width: 900px){:where(.k-kit) .fp-advice .k-panel.fp-rec-panel{width: auto; flex: none; border-right: 0; border-bottom: 1px solid var(--line);}:where(.k-kit) .fp-rec-panel .k-panel-foot{position: sticky; bottom: 0; background: var(--surface);}}
@media (max-width: 640px){:where(.k-kit) .fp-rec-change{flex-wrap: wrap; row-gap: 8px;}:where(.k-kit) .fp-rec-change > .k-two{flex: 1 1 100%;}:where(.k-kit) .fp-rec-change > .k-btn{flex: 1 1 auto; justify-content: center;}}
:where(.k-kit) .k-pageframe > .k-doc{zoom: var(--z);}
:where(.k-kit) .fp-copy-work{align-items: stretch;}
:where(.k-kit) .fp-copy-main{flex: 1 1 auto; min-width: 0;}
:where(.k-kit) .fp-copy-panel > form{display: contents;}
:where(.k-kit) .fp-copy-panel .k-panel-foot{border-top: 1px solid var(--line);}
:where(.k-kit) .fp-copy-panel .fp-copy-include > .k-check{padding-inline: 0;}
:where(.k-kit) .fp-copy-panel .k-textarea{width: 100%;}
:where(.k-kit) .fp-copy-copies{--cols: minmax(0, 1fr) 150px 92px 70px;}
:where(.k-kit) .fp-copy-states{--cols: minmax(0, .9fr) minmax(0, 1.6fr);}
:where(.k-kit) .fp-copy-bar{display: none;}
@media (max-width: 900px){:where(.k-kit) .fp-copy-bar{display: flex;}:where(.k-kit) .fp-copy-work{flex-direction: column;}:where(.k-kit) .fp-copy-panel.k-panel{border-right: 0;}:where(.k-kit) .fp-copy-copies{--cols: minmax(0, 1fr) 76px 64px 56px;}}
@media (max-width: 900px){:where(.k-kit) .fp-copy-main > section:first-child > .k-section-head{flex-direction: column-reverse; align-items: flex-start; gap: 0;}:where(.k-kit) .fp-copy-main > section:first-child > .k-section-head > h2{display: none;}}
@media (max-width: 860px){:where(.k-kit) .k-pagethumb > .k-pageframe > .k-doc{zoom: 1; border-radius: 8px;}}
:where(.k-kit) .fp-copy-main > section > .k-callout + .k-hint{margin: 10px 0;}
@media (max-width: 900px){:where(.k-kit) .fp-copy-copies .k-two > small{white-space: normal; overflow: visible; text-overflow: clip;}}
:where(.k-kit) .k-steplist .k-need{color: var(--terra);}
:where(.k-kit) .k-steplist.k-track .k-step > .k-two > small{font-size: .78125rem;}
:where(.k-kit) .k-panel .k-steplist.k-track .k-step-dot{position: relative; z-index: 1; background-color: var(--surface);}
:where(.k-kit) .k-panel .k-steplist.k-track .k-step.done .k-step-dot{background-color: var(--olive);}
:where(.k-kit) .k-panel .k-steplist.k-track .k-step.now .k-step-dot{background-color: var(--navy);}
:where(.k-kit) .k-path-panel .k-steplist .k-step.now{font-weight: 400;}
:where(.k-kit) .k-path-panel .k-steplist .k-step.now > .k-two > small{color: var(--navy); font-weight: 500;}
:where(.k-kit) .k-path-panel .k-steplist .k-step[aria-current="page"]{color: var(--text); font-weight: 600;}
:where(.k-kit) .k-path-panel .k-steplist .k-step[aria-current="page"]:not(.now) > .k-two > small{font-weight: 400;}
@media (max-width: 640px){:where(.k-kit) .k-band.k-steps.k-path{padding: 10px 16px 8px;}}
:where(.k-kit) .k-adv-head:has(.k-cover) :is(a:not(.k-cover), button, .k-picker, input){position: relative; z-index: 1;}
:where(.k-kit) .k-adv-head > .k-no{flex: none; width: 14px; padding-top: 1px; text-align: right; color: var(--text-4); font-variant-numeric: tabular-nums;}
:where(.k-kit) .k-adv-head > a.k-two{color: inherit; text-decoration: none;}
:where(.k-kit) .k-adv-head > .k-two > small{display: block; margin-top: 3px; color: var(--text-3); line-height: 1.5; white-space: normal;}
:where(.k-kit) .k-adv-head > .k-two > small > .k-tag{margin-right: 4px;}
:where(.k-kit) .k-adv-head > .k-two > small .fp-dc-effect{display: inline; margin: 0; white-space: normal;}
:where(.k-kit) .k-adv-row > .k-seg,:where(.k-kit) .k-adv-row > .k-radio-seg{margin-left: 22px;}
:where(.k-kit) .k-adv-row > .k-seg.sm{width: auto; display: flex; max-width: none;}
:where(.k-kit) .k-adv-row > .k-seg.sm > a{flex: 1 1 0; padding-inline: 4px; text-align: center;}
:where(.k-kit) .k-adv-row.open .k-pgroup{padding-left: 22px;}
:where(.k-kit) .k-adv-row.open .k-input,:where(.k-kit) .k-adv-row.open .k-select,:where(.k-kit) .k-adv-row.open .k-textarea{background: var(--surface);}
:where(.k-kit) .k-adv-links > .k-link{padding: 0; font-size: .78125rem;}
:where(.k-kit) .k-adv-row.k-quiet .k-adv-head > .k-two > span{color: var(--text-3);}
:where(.k-kit) .k-log .k-tr > :first-child{font-variant-numeric: tabular-nums;}
:where(.k-kit) .fp-dc-panel .k-panel-foot > .k-end{margin-left: auto;}
:where(.k-kit) .k-cmp .k-tr > .k-r > b{font-weight: 600;}
:where(.k-kit) .k-fu .k-tr.k-group{padding-top: 6px; background: none; font-weight: 600;}
:where(.k-kit) .k-fu .k-tr.k-group > .k-two > span{font-weight: 600;}
:where(.k-kit) .k-fu .k-tr.k-group > .k-two > small{font-weight: 400; margin-top: 2px;}
:where(.k-kit) .k-fu .k-tr:not(.k-group):not(.head) > :nth-child(2){padding-left: 0;}
:where(.k-kit) .k-fu .k-tr > :first-child > form{margin: 0;}
:where(.k-kit) .k-fu .k-tr.k-quiet > .k-two > span{color: var(--text-3);}
@media (max-width: 640px){:where(.k-kit) .k-adv > .k-adv-row > .k-seg,:where(.k-kit) .k-adv > .k-adv-row > .k-radio-seg{margin-left: 0;}:where(.k-kit) .k-adv > .k-adv-row > .k-seg a{min-height: 36px; display: inline-flex; align-items: center; justify-content: center;}}
:where(.k-kit) .fp-dc-parts{--cols: minmax(0, 1fr) minmax(0, 1.2fr) 150px;}
:where(.k-kit) .fp-dc-parts .k-tr > .k-r{white-space: normal;}
:where(.k-kit) .fp-dc-parts .k-tr > .k-two > small{display: block;}
:where(.k-kit) .k-cmp .k-tr > span{white-space: normal; overflow: visible; text-overflow: clip;}
@media (max-width: 640px){:where(.k-kit) .fp-dc-work:has(> .fp-dc-panel.fp-rec-panel){display: flex; flex-direction: column;}:where(.k-kit) .fp-dc-work:has(> .fp-dc-panel.fp-rec-panel) > .fp-dc-main,:where(.k-kit) .fp-dc-work:has(> .fp-dc-panel.fp-rec-panel) > .fp-dc-main > .fp-dc-results{display: contents;}:where(.k-kit) .fp-dc-work:has(> .fp-dc-panel.fp-rec-panel) .fp-dc-results > *{margin-inline: 16px; width: calc(100% - 32px); min-width: 0; box-sizing: border-box;}:where(.k-kit) .fp-dc-work:has(> .fp-dc-panel.fp-rec-panel) .fp-dc-results > #fp-dc-figures{order: -3; margin-inline: 0; width: 100%; padding-inline: 16px; box-sizing: border-box;}:where(.k-kit) .fp-dc-work > .fp-dc-panel.fp-rec-panel{order: -2; width: auto; flex: none; border-right: 0; border-bottom: 1px solid var(--line);}:where(.k-kit) .fp-dc-panel.fp-rec-panel .k-panel-foot{position: sticky; bottom: 0; background: var(--surface);}}
:where(.k-kit) .fp-dc-phone{display: none;}
@media (max-width: 640px){:where(.k-kit) .fp-dc-phone{display: flex;}}
:where(.k-kit) .k-fu .fp-fu-step > .k-done{margin-top: 1px; flex: none;}
:where(.k-kit) .k-fu .fp-fu-head > .k-two > small{display: block; font-weight: 400; margin-top: 2px; color: var(--text-3);}
:where(.k-kit) .k-fu .fp-fu-head > .k-link{flex: none; font-weight: 500;}
:where(.k-kit) .k-stepnames.path > a > small.k-pend,:where(.k-kit) .k-steplist .k-pend{display: flex; align-items: center; min-height: calc(.78125rem * 1.3);}
:where(.k-kit) .k-adv-row.sug .fp-dc-wasnow .k-tr > span{white-space: normal; overflow: visible; text-overflow: clip;}
:where(.k-kit) .k-adv-row.sug .k-adv-head > .k-two > small > .k-chip{margin-right: 4px;}
:where(.k-kit) .k-adv-acts > .k-link{padding: 0; font-size: .78125rem;}
:where(.k-kit) .k-sug-line > .k-two{flex: 1 1 auto; min-width: 0;}
:where(.k-kit) .k-sug-line > .k-two > small{display: block; margin-top: 2px; color: var(--text-3); line-height: 1.4; white-space: normal;}
:where(.k-kit) .k-sug-line.quiet > .k-two > span{color: var(--text-3);}
:where(.k-kit) .k-sug-acts > .k-link{padding: 0; font-size: .78125rem; white-space: nowrap;}
:where(.k-kit) .k-sug-acts .k-sug-form > .k-link{padding: 0; font-size: .78125rem; white-space: nowrap;}
:where(.k-kit) .k-sug-meta .k-sug-form > .k-link{padding: 0; font-size: .78125rem;}
@media (max-width: 640px){:where(.k-kit) .k-adv-acts > .k-btn,:where(.k-kit) .k-adv-acts .k-sug-form > .k-btn,:where(.k-kit) .k-adv-reasons .k-btn{min-height: 36px;}}
:where(.k-kit) .k-rm-head,:where(.k-kit) .k-rm-row{display: grid; grid-template-columns: 64px minmax(0, 1fr) 288px; column-gap: 20px; min-width: 0;}
:where(.k-kit) .k-rm-head{padding: 8px 0; border-bottom: 1px solid var(--line); font-size: .75rem; color: var(--text-3); align-items: end;}
:where(.k-kit) .k-rm-head > .k-rm-figs{display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px;}
:where(.k-kit) .k-rm-head > .k-rm-figs > span{display: flex; flex-direction: column; gap: 1px;}
:where(.k-kit) .k-rm-head > .k-rm-figs small{font-size: .6875rem; color: var(--text-4);}
:where(.k-kit) .k-rm-row{padding: 14px 0; border-bottom: 1px solid var(--line-soft); align-items: start;}
:where(.k-kit) .k-rm-month{display: flex; flex-direction: column; gap: 1px; padding-top: 1px;}
:where(.k-kit) .k-rm-month > b{font-size: .9375rem; font-weight: 600;}
:where(.k-kit) .k-rm-month > small{font-size: .75rem; color: var(--text-3);}
:where(.k-kit) .k-rm-acts{list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; min-width: 0;}
:where(.k-kit) .k-rm-acts > li{display: grid; grid-template-columns: 18px minmax(0, 1fr); gap: 8px; align-items: start; min-width: 0;}
:where(.k-kit) .k-rm-acts > li > .k-no{padding-top: 1px; text-align: right; font-size: .75rem; font-weight: 600; color: var(--text-4); font-variant-numeric: tabular-nums;}
:where(.k-kit) .k-rm-acts > li > .k-two > small{display: block; margin-top: 2px; color: var(--text-3); line-height: 1.35;}
:where(.k-kit) .k-rm-acts > li.k-rm-done{display: block; padding-left: 26px;}
:where(.k-kit) .k-rm-figs{display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; min-width: 0;}
:where(.k-kit) .k-rm-fig{display: flex; flex-direction: column; gap: 5px; min-width: 0; padding-top: 1px;}
:where(.k-kit) .k-rm-fig > b{font-size: .8125rem; font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap;}
:where(.k-kit) .k-rm-fig > .k-rm-cap{display: none;}
:where(.k-kit) .k-rm-fig > progress{appearance: none; -webkit-appearance: none; display: block; width: 100%; height: 4px; border: 0; border-radius: 2px; background: var(--neutral-tint); overflow: hidden;}
:where(.k-kit) .k-rm-fig > progress::-webkit-progress-bar{background: var(--neutral-tint);}
:where(.k-kit) .k-rm-fig > progress::-webkit-progress-value{background: var(--gain); border-radius: 2px;}
:where(.k-kit) .k-rm-fig > progress::-moz-progress-bar{background: var(--gain); border-radius: 2px;}
:where(.k-kit) .k-rm-fig.debt > progress::-webkit-progress-value{background: var(--d2);}
:where(.k-kit) .k-rm-fig.debt > progress::-moz-progress-bar{background: var(--d2);}
:where(.k-kit) .k-rm-fig.done > b{font-weight: 500; color: var(--text-3);}
:where(.k-kit) .k-roadmap.edit .k-rm-acts{gap: 2px;}
:where(.k-kit) .k-roadmap.edit .k-rm-acts > li{grid-template-columns: 14px 18px minmax(0, 1fr) auto; align-items: center; gap: 8px; min-height: 46px; padding: 5px 8px 5px 4px; border-radius: 8px;}
:where(.k-kit) .k-roadmap.edit .k-rm-acts > li > .k-no{padding-top: 0;}
:where(.k-kit) .k-roadmap.edit .k-rm-acts > li.k-rm-done{display: block; min-height: 0; padding: 4px 0 6px 30px;}
:where(.k-kit) .k-doc .k-roadmap{margin-top: 20px;}
:where(.k-kit) .k-doc .k-rm-head,:where(.k-kit) .k-doc .k-rm-row{grid-template-columns: 50px minmax(0, 1fr) 222px; column-gap: 16px;}
:where(.k-kit) .k-doc .k-rm-head{padding: 0 0 3px; border-bottom: 1px solid var(--text); font-size: 10.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--text-3);}
:where(.k-kit) .k-doc .k-rm-head > .k-rm-figs{gap: 8px;}
:where(.k-kit) .k-doc .k-rm-head > .k-rm-figs small{font-size: 10px; letter-spacing: 0; text-transform: none; font-weight: 400;}
:where(.k-kit) .k-doc .k-rm-row{padding: 8px 0;}
:where(.k-kit) .k-doc .k-rm-month > b{font-size: 13px;}
:where(.k-kit) .k-doc .k-rm-month > small{font-size: 10.5px;}
:where(.k-kit) .k-doc .k-rm-acts{gap: 7px; font-size: 12.5px; line-height: 1.35;}
:where(.k-kit) .k-doc .k-rm-acts > li{grid-template-columns: 16px minmax(0, 1fr); gap: 6px;}
:where(.k-kit) .k-doc .k-rm-acts > li > .k-no{font-size: 11px;}
:where(.k-kit) .k-doc .k-rm-acts > li > .k-two > small{font-size: 10.5px; margin-top: 1px;}
:where(.k-kit) .k-doc .k-rm-acts > li.k-rm-done{padding-left: 22px;}
:where(.k-kit) .k-doc .k-rm-acts .k-chip{font-size: 10.5px; padding: 1px 8px;}
:where(.k-kit) .k-doc .k-rm-figs{gap: 8px;}
:where(.k-kit) .k-doc .k-rm-fig{gap: 4px;}
:where(.k-kit) .k-doc .k-rm-fig > b{font-size: 12px;}
:where(.k-kit) .k-doc .k-rm-fig > progress{height: 3px;}
:where(.k-kit) .k-doc-table.sixmo td:first-child{width: 44%; padding-right: 12px;}
:where(.k-kit) .k-doc-table.sixmo td.r{width: 28%;}
:where(.k-kit) .k-doc .k-rm-next{margin-top: 16px;}
:where(.k-kit) .k-phone .k-rm-head{display: none;}
:where(.k-kit) .k-phone .k-rm-row{display: flex; flex-direction: column; gap: 12px; padding: 20px 0;}
:where(.k-kit) .k-phone .k-rm-month{flex-direction: row; align-items: baseline; gap: 8px;}
:where(.k-kit) .k-phone .k-rm-month > b{font-size: 1.0625rem;}
:where(.k-kit) .k-phone .k-rm-month > small{font-size: .8125rem;}
:where(.k-kit) .k-phone .k-rm-acts{gap: 14px;}
:where(.k-kit) .k-phone .k-rm-acts > li{grid-template-columns: 22px minmax(0, 1fr); gap: 10px; font-size: .9375rem; line-height: 1.35;}
:where(.k-kit) .k-phone .k-rm-acts > li > .k-no{font-size: .8125rem;}
:where(.k-kit) .k-phone .k-rm-acts > li > .k-two > small{font-size: .8125rem; margin-top: 3px;}
:where(.k-kit) .k-phone .k-rm-acts > li.k-rm-done{padding-left: 32px;}
:where(.k-kit) .k-phone .k-rm-figs{gap: 14px; padding: 12px 14px 14px; border-radius: 10px; background: var(--ground);}
:where(.k-kit) .k-phone .k-rm-fig{gap: 6px;}
:where(.k-kit) .k-phone .k-rm-fig > .k-rm-cap{display: block; font-size: .75rem; color: var(--text-3);}
:where(.k-kit) .k-phone .k-rm-fig > b{font-size: .9375rem;}
:where(.k-kit) .k-phone .k-rm-fig > progress{height: 5px; border-radius: 3px;}
:where(.k-kit) .k-rm-next{margin: 16px 0 0; font-size: .9375rem; line-height: 1.5; color: var(--text-2);}
:where(.k-kit) .k-rm-figs > em{grid-column: 1 / -1; font-style: normal; font-size: .6875rem; font-weight: 500; letter-spacing: .04em; text-transform: uppercase; color: var(--text-4);}
:where(.k-kit) .k-rm-row > .k-rm-figs > em{display: none;}
:where(.k-kit) .k-phone .k-rm-row > .k-rm-figs > em{display: block;}
:where(.k-kit) .k-doc .k-rm-head > .k-rm-figs > em{font-size: 10px; letter-spacing: .04em; color: var(--text-3);}
:where(.k-kit) .k-doc .k-roadmap + .k-doc-section{margin-top: 22px;}
:where(.k-kit) .k-doc .k-rm-head,:where(.k-kit) .k-doc .k-rm-row{grid-template-columns: 50px minmax(0, 1fr) 244px;}
:where(.k-kit) .k-doc .k-rm-row{padding: 6px 0;}
:where(.k-kit) .k-doc-table.sixmo td{padding-block: 4.5px;}
:where(.k-kit) .k-doc > .k-rm-head{margin-top: 20px;}
:where(.k-kit) .k-doc > .k-rm-row + .k-doc-section{margin-top: 22px;}
:where(.k-kit) .k-rm-head > .k-rm-figs.n1,:where(.k-kit) .k-rm-figs.n1{grid-template-columns: minmax(0, 1fr);}
@media screen and (max-width: 860px){:where(.k-kit) .k-doc .k-rm-head{display: none;}:where(.k-kit) .k-doc .k-rm-row{display: flex; flex-direction: column; gap: 10px; padding: 14px 0;}:where(.k-kit) .k-doc .k-rm-month{flex-direction: row; align-items: baseline; gap: 8px;}:where(.k-kit) .k-doc .k-rm-month > b{font-size: 15px;}:where(.k-kit) .k-doc .k-rm-month > small{font-size: 12px;}:where(.k-kit) .k-doc .k-rm-acts{gap: 10px; font-size: 14px;}:where(.k-kit) .k-doc .k-rm-acts > li{grid-template-columns: 20px minmax(0, 1fr); gap: 8px;}:where(.k-kit) .k-doc .k-rm-acts > li > .k-no{font-size: 12px;}:where(.k-kit) .k-doc .k-rm-acts > li > .k-two > small{font-size: 12px; margin-top: 2px;}:where(.k-kit) .k-doc .k-rm-acts > li.k-rm-done{padding-left: 28px;}:where(.k-kit) .k-doc .k-rm-acts .k-chip{font-size: 12px;}:where(.k-kit) .k-doc .k-rm-figs{gap: 12px; padding: 10px 12px 12px; border-radius: 10px; background: var(--ground);}:where(.k-kit) .k-doc .k-rm-row > .k-rm-figs > em{display: block; font-size: 11px;}:where(.k-kit) .k-doc .k-rm-fig > .k-rm-cap{display: block; font-size: 12px; color: var(--text-3);}:where(.k-kit) .k-doc .k-rm-fig > b{font-size: 14px;}:where(.k-kit) .k-doc .k-rm-fig > progress{height: 4px;}:where(.k-kit) .k-doc .k-doc-table.sixmo td:first-child{width: 34%;}:where(.k-kit) .k-doc.paged .k-doc-table.sixmo td.r{width: 33%; white-space: normal;}:where(.k-kit) .k-doc.paged .k-doc-table:is(.years, .months, .decisions, .options){display: block; overflow: visible;}:where(.k-kit) .k-doc.paged .k-doc-table:is(.years, .months, .decisions, .options) > tbody{display: block; width: 100%;}:where(.k-kit) .k-doc.paged .k-doc-table:is(.years, .months, .decisions, .options) tr.gh{display: none;}:where(.k-kit) .k-doc.paged .k-doc-table:is(.years, .months, .decisions, .options) tr{display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 16px; padding: 10px 0; border-bottom: 1px solid var(--line-soft);}:where(.k-kit) .k-doc.paged .k-doc-table:is(.years, .months, .decisions, .options) td,:where(.k-kit) .k-doc.paged .k-doc-table:is(.years, .months, .decisions, .options) td:is(:first-child, :nth-child(2), .r){width: auto; min-width: 0;}:where(.k-kit) .k-doc.paged .k-doc-table:is(.years, .months, .decisions, .options) td{display: block; padding: 0; border: 0; text-align: left; white-space: normal; font-size: 13px;}:where(.k-kit) .k-doc.paged .k-doc-table:is(.years, .months, .decisions, .options) td:first-child,:where(.k-kit) .k-doc.paged .k-doc-table.decisions td[data-h="What changes"]{grid-column: 1 / -1; font-weight: 600; font-size: 14px;}:where(.k-kit) .k-doc.paged .k-doc-table:is(.years, .months) td[data-h="Ages"]{grid-column: 1 / -1; margin-top: -4px; font-size: 12px; color: var(--text-3);}:where(.k-kit) .k-doc.paged .k-doc-table:is(.years, .months) td[data-h="Ages"]::before{content: "Ages "; display: inline; font-size: inherit;}:where(.k-kit) .k-doc.paged .k-doc-table.decisions td[data-h="What changes"]{font-weight: 400; font-size: 13px;}:where(.k-kit) .k-doc.paged .k-doc-table:is(.years, .months, .decisions, .options) td[data-h]:not([data-h="Ages"])::before{content: attr(data-h); display: block; margin-bottom: 1px; font-size: 11px; font-weight: 400; color: var(--text-3);}}
:where(.k-kit) .k-rm-head > .k-rm-figs.n2,:where(.k-kit) .k-rm-figs.n2{grid-template-columns: repeat(2, minmax(0, 1fr));}
:where(.k-kit) .k-rm-head.nofig,:where(.k-kit) .k-rm-row.nofig,:where(.k-kit) .k-doc .k-rm-head.nofig,:where(.k-kit) .k-doc .k-rm-row.nofig{grid-template-columns: 64px minmax(0, 1fr);}
:where(.k-kit) .k-doc .k-rm-head.nofig,:where(.k-kit) .k-doc .k-rm-row.nofig{grid-template-columns: 50px minmax(0, 1fr);}
:where(.k-kit) .k-rm-row.over{background: var(--navy-wash);}
:where(.k-kit) .k-rm-acts > li.k-rm-none{display: block; padding-left: 26px; color: var(--text-4);}
:where(.k-kit) .fp-six-tools{display: inline-flex; align-items: center; gap: 16px;}
:where(.k-kit) .fp-six-move{--cols: minmax(0, 1.2fr) minmax(0, 1fr) minmax(0, 1fr);}
:where(.k-kit) .fp-six-later{--cols: minmax(0, 1.6fr) 90px 100px;}
:where(.k-kit) .fp-six-words{margin: 0; font-size: .8125rem; line-height: 1.4;}
@media (max-width: 640px){:where(.k-kit) .k-roadmap.edit .k-rm-head{display: none;}:where(.k-kit) .k-roadmap.edit .k-rm-row{display: flex; flex-direction: column; gap: 12px; padding: 20px 0;}:where(.k-kit) .k-roadmap.edit .k-rm-month{flex-direction: row; align-items: baseline; gap: 8px;}:where(.k-kit) .k-roadmap.edit .k-rm-month > b{font-size: 1.0625rem;}:where(.k-kit) .k-roadmap.edit .k-rm-month > small{font-size: .8125rem;}:where(.k-kit) .k-roadmap.edit .k-rm-acts > li{grid-template-columns: 14px 18px minmax(0, 1fr); align-items: start; row-gap: 8px; font-size: .9375rem; line-height: 1.35; padding: 8px 8px 8px 4px;}:where(.k-kit) .k-roadmap.edit .k-rm-acts > li > .k-rm-when{grid-column: 3; justify-self: start;}:where(.k-kit) .k-roadmap.edit .k-rm-acts > li > .k-two > small{font-size: .8125rem; margin-top: 3px;}:where(.k-kit) .k-roadmap.edit .k-rm-acts > li.k-rm-done{padding-left: 32px;}:where(.k-kit) .k-roadmap.edit .k-rm-figs{gap: 14px; padding: 12px 14px 14px; border-radius: 10px; background: var(--ground);}:where(.k-kit) .k-roadmap.edit .k-rm-fig{gap: 6px;}:where(.k-kit) .k-roadmap.edit .k-rm-fig > .k-rm-cap{display: block; font-size: .75rem; color: var(--text-3);}:where(.k-kit) .k-roadmap.edit .k-rm-fig > b{font-size: .9375rem;}:where(.k-kit) .k-roadmap.edit .k-rm-fig > progress{height: 5px; border-radius: 3px;}:where(.k-kit) .k-roadmap.edit .k-rm-row > .k-rm-figs > em{display: block;}}
:where(.k-kit) .k-fg-nest{padding-left: 18px; position: relative;}
:where(.k-kit) .k-fg-nest::before{content: ""; position: absolute; left: 5px; top: -12px; bottom: 50%; width: 9px; border-left: 1px solid var(--control); border-bottom: 1px solid var(--control); border-bottom-left-radius: 5px;}
:where(.k-kit) .k-fg-row-ended .k-two > :first-child{color: var(--text-3);}
:where(.k-kit) .k-fg-results .k-tr{min-height: 27px; border-top: 0; padding-block: 0;}
:where(.k-kit) .k-fg-results .k-tr:hover{background: transparent;}
:where(.k-kit) .k-fg-results .k-tr.sum{font-weight: 600;}
:where(.k-kit) .k-fg-results .k-tr .k-fg-cell{cursor: default;}
:where(.k-kit) .k-fg-results .k-tr .k-fg-cell:hover{background: none;}
:where(.k-kit) .k-fg-gap > .k-two{grid-column: 1;}
:where(.k-kit) .k-fg-sum .k-tr.total{background: none; border-top: 1px solid var(--line);}
:where(.k-kit) .k-tr.k-fg-grp{min-height: 28px; background: var(--ground); border-top: 1px solid var(--line-soft);}
:where(.k-kit) .k-tr.k-fg-grp > span{grid-column: 1 / -1; font-size: .71875rem; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: var(--text-4);}
:where(.k-kit) .k-tr.k-fg-grp:hover{background: var(--ground);}
@media (max-width: 640px){:where(.k-kit) .k-table.k-fg > .k-tr > form.k-fg-cell,:where(.k-kit) .k-fg-cell a,:where(.k-kit) .k-fg-cell button{position: relative; z-index: 1;}:where(.k-kit) .k-table.k-fg > .k-tr:has(.k-fg-open) > span.k-fg-cell:not(.two)::after,:where(.k-kit) .k-table.k-fg > .k-tr:has(.k-fg-open) > span.k-fg-cell.two > .k-fg-line::after{content: ""; width: 14px; height: 14px; flex: none; align-self: center; background: var(--text-4);
    -webkit-mask: url("/kit-icons/chevron-right.svg") center / contain no-repeat; mask: url("/kit-icons/chevron-right.svg") center / contain no-repeat;}:where(.k-kit) .k-table.k-fg > .k-tr:has(.k-fg-open) > span.k-fg-cell.two > .k-fg-diff{padding-right: 22px;}:where(.k-kit) .k-table.k-fg > .k-tr:has(.k-fg-open) > form.k-fg-cell{padding-right: 20px;}}
:where(.k-kit) .k-fg-name.k-fg-nest::before{top: -14px;}
:where(.k-kit) .k-fg-nest.deep{padding-left: 36px;}
:where(.k-kit) .k-fg-nest.deep::before{left: 23px;}
:where(.k-kit) .k-toast.k-fg-lift{bottom: 258px;}
:where(.k-kit) .k-table.k-fg > .k-tr{gap: 8px;}
:where(.k-kit) .k-toast.k-fg-lift{bottom: 22px;}
@media (max-width: 640px){:where(.k-kit) .k-fg-wrap .k-table.k-fg > .k-tr{grid-template-columns: minmax(0,1fr) minmax(0,150px) !important;}:where(.k-kit) .k-fg-wrap .k-table.k-fg > .k-tr > .k-btn{display: none;}:where(.k-kit) .k-fg-wrap .k-fg-results .k-table.k-fg > .k-tr{grid-template-columns: minmax(0,1fr) minmax(0,150px) !important;}}
:where(.k-kit) .k-table.k-fg{width: var(--w, 100%); min-width: 100%; overflow: visible;}
:where(.k-kit) .k-table.k-fg > .k-tr:first-child{border-top-left-radius: var(--r-card); border-top-right-radius: var(--r-card);}
@media (max-width: 640px){:where(.k-kit) .k-table.k-fg{width: auto;}}
@media (max-width: 640px){:where(.k-kit) .k-panel.k-fg-rest{display: none;}}
@media (max-width: 640px){:where(.k-kit) .k-fg-wrap .k-table.k-fg > .k-tr > span:empty{display: none;}:where(.k-kit) .k-fg-wrap .k-table.k-fg > .k-tr{grid-template-columns: minmax(0,1fr) 120px !important; width: 100%;}}
:where(.k-kit) .k-table.k-fg{width: 100%; min-width: var(--w, 100%);}
@media (max-width: 640px){:where(.k-kit) .k-table.k-fg{min-width: 0; width: 100%;}}
:where(.k-kit) .k-fg-results .k-tr{min-height: 24px;}
:where(.k-kit) .k-fg-results .k-tr .k-fg-cell.two{gap: 0;}
:where(.k-kit) .k-table.k-fg-docs{--cols: minmax(0, 1fr) auto;}
:where(.k-kit) .k-fg-docs .k-two > span,:where(.k-kit) .k-fg-docs .k-two > small{white-space: normal; overflow-wrap: anywhere;}
:where(.k-kit) .k-fg-docs .k-tr > form{margin: 0;}
@media (min-width: 641px){:where(.k-kit) .k-panel-foot.k-fg-footphone{display: none;}}
@media (max-width: 640px){:where(.k-kit) .k-drop .k-link::first-letter{text-transform: uppercase;}:where(.k-kit) .k-panel.k-sheet.k-fg-tall{max-height: calc(100dvh - 92px); display: flex; flex-direction: column;}:where(.k-kit) .k-fg-tall .k-pgroup-label{display: block;}:where(.k-kit) .k-fg-tall > .k-panel-foot{flex: none;}}
:where(.k-kit) .k-panel.k-fg-drawer > .k-panel-foot{display: none;}
:where(.k-kit) .k-fg-drawer .k-pgroup .k-menu-head{padding: 6px 10px 2px;}
@media (max-width: 640px){:where(.k-kit) .k-panel.k-sheet.k-fg-drawer{top: 92px; max-height: none; display: flex; flex-direction: column;}:where(.k-kit) .k-panel.k-sheet.k-fg-drawer > .k-panel-body{flex: 1 1 auto; min-height: 0; overflow-y: auto;}:where(.k-kit) .k-panel.k-sheet.k-fg-drawer .k-pgroup-label{display: block;}:where(.k-kit) .k-panel.k-sheet.k-fg-drawer .k-panel-actions{display: none;}:where(.k-kit) .k-panel.k-sheet.k-fg-drawer > .k-panel-foot{display: flex; flex: none;}}
:where(.k-kit) .k-tr.k-fg-errrow{height: auto; min-height: 0; padding-block: 4px 8px;}
:where(.k-kit) .k-tr.k-fg-errrow > .k-field-err{white-space: normal; overflow: visible; text-overflow: clip; align-items: flex-start;}
:where(.k-kit) .k-fg-state > .k-btn{grid-column: 3; justify-self: end;}
:where(.k-kit) .k-fg-state > .k-money{justify-content: flex-end;}
:where(.k-kit) .k-fg-state > .k-money > input{text-align: right;}
:where(.k-kit) .k-fg-states + .k-table{margin-top: 2px;}
@media (max-width: 640px){:where(.k-kit) .k-fg-wrap .k-fg-results .k-table.k-fg.k-fg-paycols > .k-tr{grid-template-columns: minmax(0,1fr) minmax(0,120px) !important;}}
@media (max-width: 640px){:where(.k-kit) .k-fg-paycols > .k-tr.head{display: none;}}
:where(.k-kit) .k-held-from .k-link{margin-left: 2px; white-space: nowrap;}
:where(.k-kit) .k-pick .k-two{display:grid;gap:1px;min-width:0}
:where(.k-kit) .k-pick .k-two small{color:var(--text-2);font-size:12px}
:where(.k-kit) .k-rs-add.k-menu{left: 0; right: 0; width: auto; min-width: 0; max-width: none; max-height: 50vh; overflow-y: auto;}
:where(.k-kit) .k-rs-add > .k-check{padding: 6px 10px; white-space: normal;}
:where(.k-kit) .k-group-head.k-rs-head > .k-picker > summary{height: 24px; min-height: 24px;}
:where(.k-kit) .k-rs-table > .k-tr.total > span{font-weight: 400;}
:where(.k-kit) .k-rs-table > .k-tr > .k-two > span:first-child{white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
:where(.k-kit) a.k-wf-row{color: var(--text-2); text-decoration: none; border-radius: var(--r-small); margin: 0 -8px; padding-left: 8px; padding-right: 8px;}
:where(.k-kit) a.k-wf-row.total{color: var(--text);}
:where(.k-kit) a.k-wf-row:hover{background: var(--quiet); color: var(--text);}
:where(.k-kit) a.k-wf-row[aria-selected="true"]{background: var(--navy-wash); color: var(--text); box-shadow: inset 3px 0 0 var(--navy);}
:where(.k-kit) a.k-wf-row:focus-visible{outline: 2px solid var(--navy); outline-offset: 2px;}
@container k-wf (max-width: 520px){:where(.k-kit) .k-wf-row:has(.k-wf-note:not(:empty)){grid-template-columns: minmax(0, 1fr) auto 84px; grid-template-areas: "label note value" "bar bar bar";}:where(.k-kit) .k-wf-row:has(.k-wf-note:not(:empty)) .k-wf-note{display: block; grid-area: note;}:where(.k-kit) .k-wf-row:has(.k-wf-note:not(:empty)) .k-wf-label{white-space: normal; overflow: visible;}}
:where(.k-kit) .k-unmapped .k-tr > .k-unmapped-line{overflow: visible;}
:where(.k-kit) .k-unmapped .k-unmapped-line .k-select{width: 100%; height: 32px;}
:where(.k-kit) .k-unmapped .k-unmapped-line:has(> .k-field-err){display: grid; gap: 4px;}
@media (hover: hover) and (min-width: 1101px){:where(.k-kit) .k-unmapped .k-tr:not([aria-selected="true"]):not(:hover):not(:focus-within) button[name="only"]{visibility: hidden;}}
@media (max-width: 1100px){:where(.k-kit) .k-unmapped .k-tr > .k-wide{display: none;}:where(.k-kit) .k-unmapped .k-tr.head{display: none;}:where(.k-kit) .k-unmapped .k-tr:not(.head){grid-template-columns: var(--cols-phone); row-gap: 6px; padding-block: 8px;}:where(.k-kit) .k-unmapped .k-tr > .k-unmapped-line{grid-column: 1;}:where(.k-kit) .k-unmapped .k-tr:not(.head) > :last-child .k-btn{width: 100%; justify-content: center;}:where(.k-kit) .k-unmapped .k-tr > .k-two{white-space: normal;}:where(.k-kit) .k-unmapped .k-two > small{white-space: normal;}:where(.k-kit) .k-unmapped .k-two > small.k-narrow{display: block;}}
@media (max-width: 720px){:where(.k-kit) header.k-head.k-front.k-unmapped-head{padding-inline: 16px;}:where(.k-kit) .k-unmapped-head .k-head-row > .k-title{flex: 1 1 auto;}:where(.k-kit) .k-unmapped-head .k-head-row > .k-grow{display: none;}:where(.k-kit) .k-unmapped-head .k-crumb{flex-wrap: wrap; row-gap: 2px;}:where(.k-kit) .k-unmapped-head .k-crumb > *{white-space: nowrap;}}
:where(.k-kit) .k-table.k-tap > .k-tr .k-two > small{white-space: normal;}
@media (max-width: 380px){:where(.k-kit) .k-dock .k-panel-foot:has(> .k-inline){flex-wrap: wrap;}:where(.k-kit) .k-dock .k-panel-foot:has(> .k-inline) > .k-inline{flex: 1 0 100%;}}
:where(.k-kit) .k-fact > small{font-size: .71875rem; color: var(--text-3);}
:where(.k-kit) .k-callout.k-row-callout > .k-link{flex: none; white-space: nowrap;}
@media (max-width: 640px){:where(.k-kit) .k-tap .k-callout.k-row-callout small a.k-link{display: inline; min-height: 0; padding-block: 13px;}:where(.k-kit) .k-section-head.k-head-hint-under{flex-wrap: wrap; row-gap: 2px;}:where(.k-kit) .k-section-head.k-head-hint-under > h2{flex: 1 1 auto; white-space: nowrap;}:where(.k-kit) .k-section-head.k-head-hint-under > .k-link{flex: none; white-space: nowrap;}:where(.k-kit) .k-section-head.k-head-hint-under > .k-hint{order: 3; flex: 1 0 100%;}}
@media (max-width: 640px){:where(.k-kit) .k-things > .k-row{flex-wrap: wrap; row-gap: 2px;}:where(.k-kit) .k-things > .k-row > .k-grow{flex: 1 0 100%;}:where(.k-kit) .k-things > .k-row > .k-t2{flex: 1 1 auto;}}
:where(.k-kit) .k-open section:is([data-state="focus"], [data-state="queue"]) > details.k-fold{padding: 0 16px; border-top: 1px solid var(--line-soft);}
:where(.k-kit) .k-open section > .k-slot{min-width: 0; overflow-x: auto;}
:where(.k-kit) .k-open section:is([data-state="focus"], [data-state="queue"]) > :is(.k-muted, .k-prose){margin: 0; padding: 12px 16px;}
:where(.k-kit) .k-page:has(> .k-head.k-front){font-family: var(--font); font-size: var(--fs-body); color: var(--text); -webkit-font-smoothing: antialiased;}
:where(.k-kit) .k-find > .k-menu{right: auto; width: 440px; z-index: 30; max-height: 480px;}
:where(.k-kit) .k-find > .k-menu > .k-option.add{position: sticky; bottom: -6px; background: var(--surface);}
:where(.k-kit) .k-find > .k-menu[hidden]{display: none;}
:where(.k-kit) .k-find .k-option > .k-tile{width: 30px; height: 30px; font-size: .71875rem; font-weight: 600;}
:where(.k-kit) .k-find .k-option b{font-weight: 600;}
:where(.k-kit) .k-find .k-option > .k-chip{display: inline-block; max-width: 60%; overflow: hidden; text-overflow: ellipsis; flex-shrink: 0;}
:where(.k-kit) .k-find .k-option > .k-two{min-width: 35%;}
:where(.k-kit) .k-find.pick > .k-menu{width: 100%;}
:where(.k-kit) a.k-row,:where(.k-kit) a.k-row:hover{text-decoration: none; color: inherit;}
:where(.k-kit) a.k-row:hover{background: var(--ground);}
:where(.k-kit) .k-kanban .k-card-body{padding: 10px 12px; gap: 8px;}
:where(.k-kit) .k-kanban .k-card .k-two > span:first-child{font-weight: 600;}
:where(.k-kit) .k-kanban .k-card .k-section-head{margin: 0; padding: 0;}
:where(.k-kit) .k-kanban .k-card .k-t2{font-size: .78125rem; color: var(--text-3);}
:where(.k-kit) .k-card.k-current{border-color: var(--navy-line); box-shadow: 0 1px 0 color-mix(in srgb, var(--navy) 6%, transparent), 0 8px 24px -12px color-mix(in srgb, var(--navy) 25%, transparent);}
:where(.k-kit) .k-kanban .k-card.k-current{border: 1.5px solid var(--navy); box-shadow: none;}
@media (max-width: 640px){:where(.k-kit) .k-head-row:has(> .k-find){flex-wrap: wrap; row-gap: 10px;}:where(.k-kit) .k-head-row > .k-find{order: 10;}:where(.k-kit) .k-find > .k-menu{width: auto; left: 0; right: 0;}:where(.k-kit) .k-find .k-option > .k-chip{max-width: 40%; flex-shrink: 1;}:where(.k-kit) .k-find .k-option > .k-two{min-width: 45%;}}
@media (min-width: 641px) and (max-width: 1180px){:where(.k-kit) .k-head-row:has(> .k-find){flex-wrap: wrap; row-gap: 10px;}:where(.k-kit) .k-head-row > .k-find{order: 10; flex: 1 1 100%;}:where(.k-kit) .k-head-row > .k-find .k-search{flex: 1 1 auto; width: 100%;}:where(.k-kit) .k-head-row > .k-find > .k-menu{max-width: 100%;}}
:where(.k-kit) [data-hold-row]{transition: opacity .18s;}
:where(.k-kit) [data-hold-row].is-held .k-t1 a,:where(.k-kit) [data-hold-row].is-held .k-two > :first-child a{text-decoration: line-through; color: var(--text-3);}
:where(.k-kit) [data-hold-row].is-gone{display: none;}
:where(.k-kit) .k-row > form[data-hold]{margin: 0; display: flex;}
:where(.k-kit) [data-hold-row] .k-two > span > a{color: inherit; text-decoration: none;}
:where(.k-kit) [data-hold-row] .k-two > span > a:hover{color: var(--navy);}
:where(.k-kit) .k-table.k-team-open{--cols: minmax(0, 1fr) 64px 64px;}
@media (min-width: 641px){:where(.k-kit) .k-card > .k-phone-fold:first-child > summary:first-child + .k-group-head{border-top: 0;}}
:where(.k-kit) .k-table.k-due-soon{--cols: minmax(0, 1fr) 128px 104px 76px; --cols-phone: minmax(0, 1fr) auto;}
:where(.k-kit) .k-table.k-by-stage{--cols: minmax(0, 1fr) 64px;}
:where(.k-kit) .k-by-stage .k-swatch{margin-right: 6px;}
:where(.k-kit) .k-section-head:has(> details.k-picker) > h2{flex: none; white-space: nowrap;}
:where(.k-kit) .k-section-head > details.k-picker{flex: 0 1 auto; min-width: 0;}
:where(.k-kit) .k-section-head > details.k-picker > summary{max-width: 100%;}
:where(.k-kit) .k-due-soon .k-two > span > a,:where(.k-kit) .k-by-stage .k-link{color: inherit; text-decoration: none;}
:where(.k-kit) .k-due-soon .k-two > span > a:hover,:where(.k-kit) .k-by-stage .k-link:hover{color: var(--navy);}
:where(.k-kit) .k-by-stage .k-link{padding: 0; font-weight: 400;}
:where(.k-kit) .k-table.k-by-service{--cols: minmax(0, 1fr) 64px 84px 76px 96px 76px; --cols-phone: minmax(0, 1fr) 56px 72px;}
:where(.k-kit) .k-by-service .k-link{padding: 0; font-weight: 400; color: inherit; text-decoration: none;}
:where(.k-kit) .k-by-service .k-link:hover{color: var(--navy);}
:where(.k-kit) .k-by-service .k-tr.total .k-link{font-weight: 600;}
:where(.k-kit) .k-by-service .k-two > small{white-space: normal;}
:where(.k-kit) .k-table.k-by-service + .k-hint{margin-top: 10px;}
@media (min-width: 721px) and (max-width: 1320px){:where(.k-kit) .k-table.k-due-soon .k-tr{grid-template-columns: var(--cols-phone);}:where(.k-kit) .k-due-soon .k-tr > .k-wide{display: none;}:where(.k-kit) .k-table.k-by-service .k-tr{grid-template-columns: var(--cols-phone);}:where(.k-kit) .k-by-service .k-tr > .k-wide{display: none;}}
@media (max-width: 640px){:where(.k-kit) .k-due-soon .k-tr.head{display: none;}:where(.k-kit) .k-body.k-open:has(details.k-phone-fold){gap: 0;}:where(.k-kit) .k-open details.k-phone-fold[data-fold],:where(.k-kit) .k-open details.k-phone-fold[data-fold]:not([open]){padding: 0; border-top: 1px solid var(--line-soft);}:where(.k-kit) .k-open details.k-phone-fold[data-fold] > summary.k-more{min-height: 52px; padding: 0; font-size: var(--fs-body); font-weight: 500; color: var(--text-2); justify-content: space-between;}:where(.k-kit) .k-open details.k-phone-fold[data-fold][open] > section{padding: 4px 0 18px; border: 0;}:where(.k-kit) .k-open details.k-phone-fold[data-fold] > section > .k-section-head > h2{display: none;}:where(.k-kit) .k-open details.k-phone-fold[data-fold] > section > .k-section-head:not(:has(> :not(h2))){display: none;}:where(.k-kit) .k-open details.k-phone-fold[data-fold][open]:not(:has(> section + section)) > section > .k-section-head > .k-hint{display: none;}:where(.k-kit) .k-open details.k-phone-fold[data-fold][open]:not(:has(> section + section)) > section > .k-section-head:not(:has(> :not(h2, .k-hint))){display: none;}}
@media (max-width: 640px){:where(.k-kit) .k-aside.k-wide-only{display: none;}}
@media (max-width: 640px){:where(.k-kit) .k-front .k-head-row:has(> :is(.k-seg, .k-month)){flex-wrap: wrap; row-gap: 5px;}:where(.k-kit) .k-front .k-head-row:has(> :is(.k-seg, .k-month)) > .k-title-note{display: none;}:where(.k-kit) .k-front .k-head-row:has(> :is(.k-seg, .k-month))::after{content: ""; flex-basis: 100%; order: 9;}:where(.k-kit) .k-front .k-head-row:has(> :is(.k-seg, .k-month)) > :is(.k-seg, .k-month){order: 10;}:where(.k-kit) .k-front .k-head-row:has(> .k-month) > :not(.k-title, .k-title-note, .k-month){order: 11;}}
@media (min-width: 721px){:where(.k-kit) .k-page:has(> .k-head.k-front):not(:has(> .k-work)){--front-max: 1280px;
    
    --front-pad-r: max(var(--gutter), calc(100% - var(--gutter) - var(--front-max)));}:where(.k-kit) .k-page:has(> .k-head.k-front):not(:has(> .k-work)) > :is(.k-head, .k-body){padding-right: var(--front-pad-r);}}
:where(.k-kit) .k-g-label > .k-chip{margin-left: auto; flex-shrink: 0;}
@media (min-width: 761px) and (max-width: 1280px){:where(.k-kit) .k-mine .k-card .k-row:has(> .k-row-end){flex-wrap: wrap; row-gap: 2px;}:where(.k-kit) .k-mine .k-card .k-row:has(> .k-row-end) > .k-grow{flex: 1 1 200px; min-width: 0;}:where(.k-kit) .k-mine .k-card .k-row:has(> .k-row-end) > .k-row-end{--end: 28px auto auto auto; margin-left: 28px;}}
@media (max-width: 760px){:where(.k-kit) .k-mine .k-card .k-row:has(> .k-row-end){flex-wrap: wrap;}:where(.k-kit) .k-mine .k-card .k-row:has(> .k-row-end) > .k-grow{flex: 1 1 calc(100% - 44px); min-width: 0;}}
:where(.k-kit) .k-table.k-kv{--cols: 84px minmax(0, 1fr);}
@media (max-width: 640px){:where(.k-kit) .k-front .k-head-row:has(> form, > .k-btn) > .k-title-note{display: none;}}
:where(.k-kit) .k-table.k-renewals{--cols: minmax(0, 1fr) 92px 130px 130px max-content; --cols-phone: minmax(0, 1fr) auto auto;}
:where(.k-kit) .k-table.k-bytype{--cols: minmax(0, 1fr) 52px 120px;}
@media (max-width: 640px){:where(.k-kit) .k-table.k-renewals .k-tr > :is(:nth-child(2), :nth-child(3)){display: none;}}
:where(.k-kit) .k-kanban > a.k-card{display: block; color: inherit; text-decoration: none;}
:where(.k-kit) .k-kanban > a.k-card:hover{border-color: var(--control-strong);}
@media (max-width: 640px){:where(.k-kit) .k-cols.k-lanes{flex-direction: row; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 4px;}:where(.k-kit) .k-cols.k-lanes > .k-kanban{flex: 0 0 82%; scroll-snap-align: start;}}
@media (min-width: 641px){:where(.k-kit) .k-cols.k-lanes{flex-direction: row; overflow-x: auto;}:where(.k-kit) .k-cols.k-lanes > .k-kanban{min-width: 170px;}:where(.k-kit) .k-body:has(> .k-aside) .k-cols.k-lanes > .k-kanban{max-width: 260px;}}
@media (min-width: 1081px){:where(.k-kit) .k-page:has(> .k-body > .k-col > .k-cols.k-lanes){min-height: 100dvh;}:where(.k-kit) .k-body > .k-col > .k-cols.k-lanes{flex: 1 1 auto; align-items: stretch;}:where(.k-kit) .k-body:has(> .k-col > .k-cols.k-lanes) > .k-aside > .k-card.tall{flex: 1 1 auto;}}
:where(.k-kit) .k-table.k-closed{--cols: minmax(0, 1fr) 84px 76px;}
:where(.k-kit) .k-table.k-waiting{--cols: minmax(0, 1fr) 96px 64px 96px 96px; --cols-phone: minmax(0, 1fr) auto auto;}
@media (max-width: 640px){:where(.k-kit) .k-table.k-waiting .k-tr > :is(:nth-child(2), :nth-child(3)){display: none;}}
:where(.k-kit) .k-table.k-bysolution{--cols: minmax(0, 1fr) 44px 52px 76px;}
:where(.k-kit) .k-table.k-proposals{--cols: minmax(0, 1fr) 96px 160px 84px; --cols-phone: minmax(0, 1fr) auto;}
@media (max-width: 640px){:where(.k-kit) .k-table.k-proposals .k-tr > :is(:nth-child(2), :nth-child(4)){display: none;}}
:where(.k-kit) .k-row > .k-t2.k-num.k-time{width: auto; flex-shrink: 0; white-space: nowrap;}
@media (max-width: 640px){:where(.k-kit) .k-col > .k-seg{max-width: 100%; overflow-x: auto; scrollbar-width: none;}}
:where(.k-kit) .k-body:not(.k-open) > .k-aside > section + section{margin-top: 18px;}
:where(.k-kit) .k-table.k-wasnow{--cols: minmax(76px,max-content) minmax(0,1fr) minmax(0,1fr);}
:where(.k-kit) .k-table.k-returns{--cols: minmax(0, 1fr) 100px 110px 170px 88px; --cols-phone: minmax(0, 1fr) auto auto;}
@media (max-width: 640px){:where(.k-kit) .k-table.k-returns .k-tr > :is(:nth-child(3), :nth-child(4)){display: none;}}
:where(.k-kit) .k-table.k-rtypes{--cols: minmax(0, 1fr) 50px 54px 58px;}
:where(.k-kit){--fr-rail: 64px; --fr-panel: 224px; --fr-speed: .16s;
  --fr-rail-cur: var(--ink-3);                                              
  --fr-rail-hover: color-mix(in srgb, var(--on-dark) 5%, transparent);
  --fr-rail-text: color-mix(in srgb, var(--on-dark) 60%, transparent);
  --fr-rail-text-hi: color-mix(in srgb, var(--on-dark) 90%, transparent);
  --fr-row-hover: color-mix(in srgb, var(--text) 5%, transparent);
  --fr-row-text: color-mix(in srgb, var(--text) 80%, transparent);
  --fr-cap: color-mix(in srgb, var(--text) 55%, transparent);
  --fr-title: .9375rem;   
  --fr-label: .6875rem;}
:where(.k-kit) .k-fr-rail .k-fr-tool,:where(.k-kit) .k-fr-rail .k-notice-bell{appearance: none; position: relative; display: grid; place-items: center; width: 40px; height: 40px; min-height: 0; margin: 0; padding: 0;
  border: 0; border-radius: var(--r-control); background: none; box-shadow: none; color: var(--fr-rail-text); font: inherit; cursor: pointer; list-style: none;}
:where(.k-kit) .k-fr-rail .k-fr-tool:hover,:where(.k-kit) .k-fr-rail .k-notice-bell:hover,:where(.k-kit) .k-fr-rail .k-notice-bell[aria-expanded="true"]{background: var(--fr-rail-hover); color: var(--fr-rail-text-hi);}
:where(.k-kit) .k-fr-rail .k-notice-bell svg{width: 20px; height: 20px; stroke-width: 1.92;}
:where(.k-kit) .k-fr-rail .k-notice-bell > .k-notice-dot{top: 9px; right: 9px; width: 8px; height: 8px; background: var(--hl); box-shadow: 0 0 0 2px var(--ink);}
:where(.k-kit) .k-fr-me > .k-menu{top: auto; bottom: 0; left: calc(100% + 20px); right: auto; width: max-content; min-width: 200px; max-width: 280px; transform-origin: bottom left; line-height: var(--lh);}
:where(.k-kit) .k-fr-me .k-menu form:not(.k-menu-form){display: contents;}
:where(.k-kit) .k-fr-me .k-option{font-family: var(--font); line-height: var(--lh); cursor: pointer;}
:where(.k-kit) .k-fr-me .k-menu-form .k-label{font-size: var(--fs-label); color: var(--text-3);}
:where(.k-kit) .k-fr-tool:hover > .k-fr-tip,:where(.k-kit) .k-fr-tool:focus-visible > .k-fr-tip,:where(.k-kit) .k-fr-bell:hover > .k-fr-tip,:where(.k-kit) .k-fr-bell:has(> .k-notice-bell:focus-visible) > .k-fr-tip{display: inline-flex;}
:where(.k-kit) .k-fr-me[open] .k-fr-tip,:where(.k-kit) .k-fr-bell:has(> .k-notice-bell[aria-expanded="true"]) > .k-fr-tip{display: none;}
:where(.k-kit) .k-fr-mark:focus-visible,:where(.k-kit) .k-fr-rail .k-fr-area:focus-visible,:where(.k-kit) .k-fr-rail .k-fr-tool:focus-visible,:where(.k-kit) .k-fr-rail .k-notice-bell:focus-visible{outline: 2px solid var(--ink-text); outline-offset: 2px;}
:where(.k-kit) .k-fr-rail .k-fr-tool:focus-visible,:where(.k-kit) .k-fr-rail .k-notice-bell:focus-visible{outline-offset: 0;}
:where(.k-kit) .k-fr-panel .k-fr-row,:where(.k-kit) .k-fr-panel .k-fr-module a:not(.k-option){position: relative; display: flex; align-items: center; gap: 8px; height: var(--row-table); margin: 0 0 1px; padding: 0 10px;
  border: 0; border-radius: var(--r-control); background: none; box-shadow: none; color: var(--fr-row-text); font-size: var(--fs-body); font-weight: 400; line-height: var(--lh);
  text-decoration: none; white-space: nowrap; overflow: hidden; transition: background-color var(--t-fast);}
:where(.k-kit) .k-fr-panel .k-fr-row:hover,:where(.k-kit) .k-fr-panel .k-fr-module a:not(.k-option):hover{background: var(--fr-row-hover); color: var(--text);}
:where(.k-kit) .k-fr-panel .k-fr-row[aria-current],:where(.k-kit) .k-fr-panel .k-fr-module a:not(.k-option):is(.on, [aria-current]){background: var(--navy-tint); color: var(--text); font-weight: 500;}
:where(.k-kit) .k-fr-rl,:where(.k-kit) .k-fr-module a:not(.k-option) > span:first-of-type{flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis;}
:where(.k-kit) .k-fr-module a:not(.k-option) > svg{display: none;}
:where(.k-kit) .k-fr-module a:not(.k-option)::before{content: none;}
@media (min-width: 641px){:where(.k-kit) :has(> .k-fr-rail) .k-notice-list{left: calc(var(--fr-rail) + 8px); bottom: 14px;}:where(.k-kit) :has(> .k-fr-panel nav.ca-rail):has(> .k-comms-edge:not([hidden])):not(:has(.k-work > .k-panel.open)) > main{padding-right: var(--team-tab);}:where(.k-kit) :has(> .k-fr-panel nav.ca-rail):has(> .k-comms-edge:not([hidden])) .k-work:has(> .k-panel.open) > :not(.k-panel){padding-right: calc(var(--team-tab) + 20px);}}
@media (max-width: 640px){:where(.k-kit) .fp-menu-open > nav.k-fr-panel :is(.k-fr-row, .k-fr-module a:not(.k-option)){height: 40px;}:where(.k-kit) .fp-menu-open > .k-fr-rail :is(.k-fr-tool, .k-notice-bell){color: var(--text-3);}:where(.k-kit) .fp-menu-open > .k-fr-rail :is(.k-fr-tool, .k-notice-bell):hover{background: var(--fr-row-hover); color: var(--text);}:where(.k-kit) .fp-menu-open > .k-fr-rail .k-notice-bell > .k-notice-dot{box-shadow: 0 0 0 2px var(--surface);}:where(.k-kit) .k-fr-me > .k-menu{left: auto; right: 0; bottom: calc(100% + 8px); transform-origin: bottom right;}}
:where(.k-kit)> nav.k-sidebar a.k-nav-item:focus-visible,:where(.k-kit)> nav.k-sidebar .k-ink-icon:focus-visible,:where(.k-kit) .k-home:focus-visible{outline: 2px solid var(--gold); outline-offset: 1px;}
:where(.k-kit)> nav.k-sidebar .k-ink-icon{display: grid; place-items: center; width: 28px; height: 28px; min-height: 0; padding: 0; margin: 0; flex-shrink: 0;
  border: 0; border-radius: var(--r-small); background: transparent; color: var(--ink-muted); box-shadow: none; cursor: pointer;}
:where(.k-kit)> nav.k-sidebar .k-ink-icon:hover{background: var(--ink-2); color: var(--on-dark);}
:where(.k-kit)> nav.k-sidebar .k-ink-icon svg{width: 16px; height: 16px;}
:where(.k-kit) .k-av{display: grid; place-items: center; width: 30px; height: 30px; flex-shrink: 0; border-radius: var(--r-pill); background: var(--ink-count);
  color: var(--ink-count-text); font-size: .6875rem; font-weight: 600;}
:where(.k-kit) .k-av.sm{width: 24px; height: 24px; font-size: .625rem;}
:where(.k-kit) .app-workspace > nav.k-module a:not(.k-module-back):not(.k-ink-icon):not(.k-mod-item):not(.k-mod-sub):hover{background: var(--ink-2); color: var(--on-dark);}
@media (min-width: 641px){:where(.k-kit) .app-workspace > .fp-mobile-menu{display: none;}}
:where(.k-kit) .k-mod-context > .k-menu{left: 0; right: 0;}
@supports (anchor-name: --k){:where(.k-kit) .k-mod-context > .k-menu{position: fixed; position-anchor: --k-mod-context; top: calc(anchor(bottom) + var(--menu-gap)); left: anchor(left); right: auto; width: anchor-size(width); min-width: 220px; z-index: 40;}}
:where(.k-kit) .k-mod-context > .k-menu a.k-option{display: flex; margin: 0; flex-direction: column; align-items: flex-start; justify-content: center; gap: 1px; min-height: 42px; color: var(--text); text-decoration: none;}
:where(.k-kit) .k-mod-context > .k-menu a.k-option span{font-size: var(--fs-small); color: var(--text-3);}
:where(.k-kit) .k-mod-context > .k-menu .k-option[aria-current="true"],:where(.k-kit) .k-mod-context > .k-menu .k-option[aria-checked="true"]{background: var(--navy-wash);}
@media (max-width: 640px){:where(.k-kit) .app-workspace > .fp-mobile-menu{display: none !important;}:where(.k-kit) .app-workspace.fp-menu-open{overflow: hidden;}:where(.k-kit) .k-panel.over{top: auto; left: 0; width: auto; max-height: 85vh; border-left: 0; border-top: 1px solid var(--line); border-radius: 14px 14px 0 0; transform: translateY(104%);}:where(.k-kit) .k-panel.over.open{transform: none;}:where(.k-kit) .k-panel.over .k-panel-foot{position: sticky; bottom: 0; background: var(--surface);}}
@media (max-width: 640px){:where(.k-kit) :has(> .k-tabbar) .k-panel.over{z-index: 41;}:where(.k-kit) :has(> .k-tabbar) .k-toast{bottom: calc(var(--tabbar-h) + 12px);}}
@media (min-width: 641px){:where(.k-kit) .fp-app:has(> .k-comms-edge:not([hidden])):not(:has(.k-work > .k-panel.open)) > main{padding-right: var(--team-tab);}:where(.k-kit) .fp-app:has(> .k-comms-edge:not([hidden])) .k-work:has(> .k-panel.open) > :not(.k-panel){padding-right: calc(var(--team-tab) + 20px);}}
:where(.k-kit) .card-link{float:right; text-transform:none; font-weight:400;}
:where(.k-kit) .sec{background:var(--bg); border:1px solid var(--line); border-radius:var(--radius-lg);
  padding:var(--space-3) var(--card-padding-inline); margin-bottom:var(--space-3); box-shadow:var(--shadow-sm);}
:where(.k-kit) .sec h3{font-size:var(--fs-2xs); color:var(--dim); font-weight:600; margin-bottom:var(--card-heading-gap); text-transform:uppercase; letter-spacing:.05em;}
:where(.k-kit) .sec :where(p){margin-block:0 var(--space-3);}
:where(.k-kit) .sec :where(p:last-child){margin-bottom:0;}
:where(.k-kit) .sec > .top{margin-bottom:var(--card-heading-gap);}
:where(.k-kit) .sec > .top h3{margin:0;}
:where(.k-kit) .sec :is(.tscroll,.k-table) + :is(.tscroll,.k-table){margin-top:var(--card-section-gap);}
:where(.k-kit) .sec h4{margin:var(--space-6) 0 var(--space-2);}
:where(.k-kit) .sec h4:first-child{margin-top:0;}
:where(.k-kit) .sec :is(.tscroll,.k-table) + :is(details,p){margin-top:var(--card-section-gap);}
:where(.k-kit) .sec > :is(.tscroll,.k-table,details) + a{display:inline-block; margin-top:var(--card-section-gap);}
:where(.k-kit) .sec details[open] > summary,:where(.k-kit) .sec[open] > summary{margin-bottom:var(--card-heading-gap);}
:where(.k-kit) .sec form{max-width:100%;}
:where(.k-kit) .frow:has(:required:not(:disabled)) > label::after{content:" *"; color:var(--danger); font-weight:600;}
:where(.k-kit) .frow.dirty input,:where(.k-kit) .frow.dirty select,:where(.k-kit) .frow.dirty textarea{background:var(--dirty-bg); border-color:var(--dirty-line);}
:where(.k-kit) .frow.fdone input,:where(.k-kit) .frow.fdone select,:where(.k-kit) .frow.fdone textarea{background:var(--ok-faint);}
:where(.k-kit) .frow{display:flex; gap:8px; margin-bottom:3px; align-items:center;}
:where(.k-kit) .frow > label{width:130px; color:var(--dim); flex-shrink:0; font-size:var(--fs-sm);}
:where(.k-kit) .frow .v{min-height:18px; min-width:0;}
:where(.k-kit) .frow input,:where(.k-kit) .frow select,:where(.k-kit) .frow textarea{min-width:0;}
:where(.k-kit) main .top > h2,:where(.k-kit) main .top > div:first-child > h2,:where(.k-kit) main .record-head h1,:where(.k-kit) main > h2:first-child{font-family: var(--font-serif); font-weight: 400; font-size: var(--fs-title); line-height: 1.1; letter-spacing: -0.01em;}
:where(.k-kit) main .tabs{gap: 20px; border-bottom: 1px solid var(--line); margin-bottom: 14px; flex-wrap: wrap;}
:where(.k-kit) main .tabs .tab{border-radius: 0; padding: 8px 1px; margin-bottom: -1px; border-bottom: 2px solid transparent; background: none;
  color: var(--text-3); font-weight: 500;}
:where(.k-kit) main .tabs .tab:hover{background: none; color: var(--text);}
:where(.k-kit) main .tabs .tab.on{background: none; color: var(--text); border-bottom-color: var(--navy); font-weight: 500;}
:where(.k-kit) main .tabs{position: relative;}
@media (max-width: 900px){:where(.k-kit) main .tabs{flex-wrap: nowrap; min-width: 0; max-width: 100%; overflow-x: auto; overflow-y: hidden; scrollbar-width: none;}:where(.k-kit) main .tabs::-webkit-scrollbar{display: none;}:where(.k-kit) main .tabs > .tab{flex: none; white-space: nowrap; margin-bottom: 0;}:where(.k-kit) main .tabs > .tab:focus-visible{box-shadow: inset var(--focus-ring);}}
:where(.k-kit) main button,:where(.k-kit) main .btn{border-radius: var(--r-control); font-weight: 400;}
:where(.k-kit) main :not(td):not(.k-seg) > button:not(.icon):not(.pen):not(.link):not(.k-dock-close):not(.k-option):not(.k-done):not(.k-btn):not(.k-link):not(.k-chain-toggle):not(.k-switch):not(.k-cmp-open):not(.k-cmp-answer):not([class*="ql-"]),:where(.k-kit) main :not(td) > .btn:not(.k-btn){min-height: var(--legacy-btn-h, 32px); padding: 0 var(--legacy-btn-px, 13px); display: inline-flex; align-items: center;
  justify-content: center; gap: 6px;}
:where(.k-kit) main button.ghost,:where(.k-kit) main .btn.ghost{background: var(--surface); border-color: var(--control); color: var(--text);}
:where(.k-kit) main button.ghost:hover,:where(.k-kit) main .btn.ghost:hover{background: var(--surface); border-color: var(--control-strong);}
:where(.k-kit) main button.ghost.btn-danger,:where(.k-kit) main .btn.ghost.btn-danger{color: var(--danger);}
:where(.k-kit) main button.ghost.btn-danger:hover,:where(.k-kit) main .btn.ghost.btn-danger:hover{border-color: var(--danger); background: var(--danger-bg);}
:where(.k-kit) main button:focus-visible,:where(.k-kit) main .btn:focus-visible{outline: none; box-shadow: var(--focus-ring);}
:where(.k-kit) main :not(.pipeline-layout) > a.btn:not(.ghost):not(.on):not(.ibtn):is(:hover, :focus-visible){color: var(--on-accent);}
@media (max-width: 640px){:where(.k-kit) main .top > h2,:where(.k-kit) main .top > div:first-child > h2,:where(.k-kit) main .record-head h1{font-size: 1.625rem;}}
:where(.k-kit) main .top > div:first-child:has(> h2){display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; min-width: 0;}
:where(.k-kit) main .sec .top > div:first-child:has(> h2){display: block;}
:where(.k-kit) main .sec .top > h2,:where(.k-kit) main .sec .top > div:first-child > h2{font-family: var(--font); font-size: var(--fs-section); font-weight: 600;}
:where(.k-kit) main .pipeline-layout{display: inline-flex; gap: 2px; padding: 3px; background: var(--neutral-tint); border-radius: 9px;}
:where(.k-kit) main .pipeline-layout .btn{min-height: 28px; padding: 0 12px; border: 0; background: transparent; color: var(--text-2);}
:where(.k-kit) main .pipeline-layout .btn:hover{background: transparent; color: var(--text);}
:where(.k-kit) main .pipeline-layout .btn[aria-current]{background: var(--surface); color: var(--text); box-shadow: 0 1px 2px rgba(22,24,29,.08);}
:where(.k-kit) main .sec{border-color: var(--line); border-radius: var(--r-card); box-shadow: none;}
:where(.k-kit) main .sec h3{font-size: var(--fs-section); font-weight: 600; color: var(--text); text-transform: none; letter-spacing: 0;}
:where(.k-kit) main .sec details > summary{font-weight: 500;}
:where(.k-kit) main table{border-color: var(--line); border-radius: var(--r-card); box-shadow: none;}
:where(.k-kit) main th{font-size: var(--fs-label); font-weight: 500; color: var(--text-3); background: var(--ground);}
:where(.k-kit) main th,:where(.k-kit) main td{border-right: 0; border-bottom-color: var(--line-faint);}
:where(.k-kit) main td{padding-top: 6px; padding-bottom: 6px;}
:where(.k-kit) main tbody tr:hover{background: var(--ground);}
:where(.k-kit) main table tr.group > th,:where(.k-kit) main .tscroll tr.group > th{height: auto; padding-top: 14px; padding-bottom: 6px; font-size: .8125rem; font-weight: 600; color: var(--text); background: var(--surface); white-space: normal; text-align: left;}
:where(.k-kit) main table tr.subtotal > :is(td, th){background: var(--ground); font-weight: 600; color: var(--text);}
:where(.k-kit) main table.report tfoot tr:first-child > :is(td, th){border-top: 1px solid var(--text);}
:where(.k-kit) main .chip{border-color: transparent; font-size: .75rem; padding: 2px 9px;}
:where(.k-kit) main input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]):not(.k-input),:where(.k-kit) main select:not(.k-select){min-height: 32px; padding: 4px 10px; border-color: var(--control); border-radius: var(--r-control); background: var(--surface);}
:where(.k-kit) main textarea:not(.k-textarea){border-color: var(--control); border-radius: var(--r-control); padding: 6px 10px;}
:where(.k-kit) main input:focus,:where(.k-kit) main select:focus,:where(.k-kit) main textarea:focus{outline: none; border-color: var(--navy); box-shadow: var(--focus-ring);}
:where(.k-kit) main td input:not([type="checkbox"]):not([type="radio"]),:where(.k-kit) main td select{min-height: 28px; padding: 2px 8px;}
:where(.k-kit) main .irow{padding-top: 4.5px; padding-bottom: 4.5px; box-sizing: border-box; min-height: var(--row-table);}
:where(.k-kit) main .irow:last-child{padding-bottom: 5.5px;}
@media (max-width: 640px){:where(.k-kit) main .irow{flex-wrap: wrap; row-gap: 4px; clear: both;}:where(.k-kit) main .irow > .ilabel{flex: 1 1 calc(100% - 132px); order: -2; min-width: 0;}:where(.k-kit) main .irow:has(> .ilabel) > :is(.ibtn, details.menu){order: -1;}}
:where(.k-kit) main .frow{padding-top: 1px; padding-bottom: 1px;}
:where(.k-kit) main .frow > label{color: var(--text-3);}
:where(.k-kit) .app-workspace > .app-rail{background: var(--surface); border-right-color: var(--line); padding-top: 18px;}
:where(.k-kit) .app-rail .app-brand{border-bottom: 0; padding: 4px 12px 10px;}
:where(.k-kit) .app-rail .app-brand .app-mark,:where(.k-kit) .app-rail .app-brand strong{display: none;}
:where(.k-kit) .app-rail .app-brand div > span{font: 400 1.5rem/1.15 var(--font-serif); color: var(--text); letter-spacing: -0.01em;}
:where(.k-kit) .app-rail a{color: var(--text-2); font-weight: 400;}
:where(.k-kit) .app-rail a.on{background: var(--navy-tint); color: var(--navy); font-weight: 500;}
:where(.k-kit) .app-rail .app-caption{color: var(--text-4); font-size: var(--fs-micro); font-weight: 500; text-transform: uppercase; letter-spacing: .05em;}
:where(.k-kit) .app-rail .app-exit > a[href="/today"]{display: none;}
:where(.k-kit) .app-rail .app-exit{border-top: 0;}
:where(.k-kit) main .list-head{align-items: center;}
:where(.k-kit) main .list-actions{display: flex; gap: 8px; align-items: center; flex-wrap: wrap;}
:where(.k-kit) ::view-transition-old(root){animation: none; opacity: 0;}
:where(.k-kit) ::view-transition-new(root){animation: none;}
:where(.k-kit) ::view-transition-group(sidebar){animation-duration: 0s;}
:where(.k-kit) .k-search-icon > input.k-input.k-search:not([type="checkbox"]):not([type="radio"]){padding-left: 32px;}
:where(.k-kit) main{line-height: var(--lh);}
:where(.k-kit) main :where(p, textarea, [style*="pre-wrap"], [style*="pre-line"], .crm-excerpt, .tl-quote, .client-peek-excerpt, .request-copy,
  .rq-preview-body, .rq-copy, .rq-bubble, .ask-answers-text, .report-prose, .report-pack-commentary, .project-outcome,
  .tax-review-prose, .tcr-discussion, .tax-projection-note, .meeting-import-source, .mt-prompt, .inbox-text, .inbox-body){line-height: var(--lh-prose);}
:where(.k-kit) :where(details:not([class], :has(> .pop, > .k-menu)), details.sec:not(:has(> .pop, > .k-menu))) > summary:where(:not([class])){display: flex; align-items: center; gap: 6px; min-height: 32px; list-style: none; cursor: pointer; font-weight: 600; color: var(--text);}
:where(.k-kit) :where(details:not([class], :has(> .pop, > .k-menu)), details.sec:not(:has(> .pop, > .k-menu))) > summary:where(:not([class]))::-webkit-details-marker{display: none;}
:where(.k-kit) :where(details:not([class], :has(> .pop, > .k-menu)), details.sec:not(:has(> .pop, > .k-menu))) > summary:where(:not([class]))::before{content: ""; width: 14px; height: 14px;
  flex: none; background: var(--text-3); -webkit-mask: url("/kit-icons/chevron-right.svg") center / contain no-repeat;
  mask: url("/kit-icons/chevron-right.svg") center / contain no-repeat; transition: transform .15s ease;}
:where(.k-kit) :where(details:not([class], :has(> .pop, > .k-menu))[open], details.sec[open]:not(:has(> .pop, > .k-menu))) > summary:where(:not([class]))::before{transform: rotate(90deg);}
:where(.k-kit) :where(details:not([class], :has(> .pop, > .k-menu)), details.sec:not(:has(> .pop, > .k-menu))) > summary:where(:not([class])):hover{color: var(--navy-hover);}
:where(.k-kit) .fp-app{--legacy-btn-h: 36px; --legacy-btn-px: 14px;}
:where(.k-kit) .fp-app main :is(button, .btn).sm{--legacy-btn-h: 30px; --legacy-btn-px: 11px; font-size: .78125rem;}
:where(.k-kit) .fp-app main td > :is(button, a.btn):not(.k-btn):not(.icon):not(.pen):not(.link):not(.k-option):not(.k-done):not(.k-switch):not(.k-cmp-open):not(.k-cmp-answer):not([class*="ql-"]){min-height: 30px; padding: 0 11px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; font-size: .78125rem;}
:where(.k-kit) .fp-app .k-btn.sm.icon{width: 30px; height: 30px; min-height: 30px;}
@media (max-width: 640px){:where(.k-kit) .fp-app .k-link{padding-block: 7px; padding-inline: 6px; margin-inline: -6px;}:where(.k-kit) .fp-app .k-tr > .k-link{padding-inline: 0; margin-inline: 0;}}
:where(.k-kit) .k-open .k-slot-section > :is(section, div, details).sec,:where(.k-kit) .k-open .k-slot-section > section:not([data-state]){background: transparent; border: 0; border-top: 1px solid var(--line); border-radius: 0; box-shadow: none; margin: 0; padding: 20px 0 22px;}
:where(.k-kit) .k-open .k-slot-section > .sec h3{font-size: .9375rem; font-weight: 600; letter-spacing: -.005em; text-transform: none; color: var(--text);}
:where(.k-kit) .k-open .k-slot-section > .sec > .top{margin-bottom: 12px;}
:where(.k-kit) .k-open .k-aside > .k-slot-section:first-child > .sec,:where(.k-kit) .k-open .k-col > .k-slot-section:first-child > .sec{border-top: 0; padding-top: 6px;}
/* Business, the shared block (CP-149, CP-172; markup from business.js; boards PortalBusinessMonth, PortalBusinessTeam). Loaded
   by the portal (/kit-portal.css). Kit tokens only, the block's own classes only. A narrow container (a phone) is the phone
   composition: one column, figures two by two, wide table cells step out. */
.k-biz, .k-biz-head { container: k-biz / inline-size; min-width: 0; }
.k-biz { display: flex; flex-direction: column; gap: 16px; }
.k-biz-icon { display: block; width: 15px; height: 15px; flex: none; }

/* The head: the business's own hero (its initials, its name), the month switch at its right, then its tabs. */
.k-biz-head { display: block; margin: 0 0 16px; }
.k-biz-hero { display: flex; align-items: center; gap: 16px; padding: 20px 22px; border-radius: var(--r-card); background: linear-gradient(120deg, var(--navy) 0%, var(--navy-hover) 55%, var(--olive) 140%); color: var(--on-dark); }
.k-biz-badge { display: grid; place-items: center; width: 48px; height: 48px; flex: none; border-radius: 12px; background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.28); font-size: 17px; font-weight: 600; letter-spacing: .02em; }
.k-biz-who { flex: 1 1 auto; min-width: 0; }
.k-biz-kick { font-size: var(--fs-micro); font-weight: 600; letter-spacing: .06em; text-transform: uppercase; opacity: .78; }
.k-biz-hero h1 { margin: 2px 0 0; font-family: var(--font-serif); font-size: 30px; font-weight: 400; line-height: 1.15; color: inherit; overflow-wrap: anywhere; }
.k-biz-sub { margin-top: 2px; font-size: var(--fs-small); opacity: .82; }
.k-biz-hero-right { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; justify-content: flex-end; min-width: 0; }
/* The month switch, drawn on the hero's colour: the kit's switch, light on dark. */
.k-biz-months { display: inline-flex; gap: 2px; padding: 3px; border: 1px solid rgba(255,255,255,.24); border-radius: var(--r-control); background: rgba(255,255,255,.12); max-width: 100%; overflow-x: auto; scrollbar-width: none; }
.k-biz-months a { padding: 5px 12px; border-radius: var(--r-small); font-size: var(--fs-body); font-weight: 500; color: rgba(255,255,255,.88); text-decoration: none; white-space: nowrap; }
.k-biz-months a:hover { color: var(--on-dark); background: rgba(255,255,255,.1); }
.k-biz-months a[aria-current=page] { background: var(--surface); color: var(--text); }
.k-biz-months a:focus-visible { outline: none; box-shadow: var(--focus-ring); }
.k-biz-monthnav { display: inline-flex; align-items: center; gap: 6px; }
.k-biz-step { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: var(--r-control); border: 1px solid rgba(255,255,255,.24); background: rgba(255,255,255,.12); color: var(--on-dark); }
a.k-biz-step:hover { background: rgba(255,255,255,.2); }
a.k-biz-step:focus-visible { outline: none; box-shadow: var(--focus-ring); }
.k-biz-step.off { opacity: .35; }
.k-biz-pick select { height: 34px; padding: 0 30px 0 12px; border-radius: var(--r-control); border: 1px solid rgba(255,255,255,.24); background: var(--surface); color: var(--text); font: inherit; font-weight: 500; min-width: 150px; }
.k-biz-pick select:focus-visible { outline: none; box-shadow: var(--focus-ring); }
.k-biz-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.k-biz-hero .k-biz-chip { background: rgba(255,255,255,.16); color: var(--on-dark); }
.k-biz-tabs { display: flex; gap: 22px; margin-top: 14px; border-bottom: 1px solid var(--line); overflow-x: auto; scrollbar-width: none; }
.k-biz-tabs a { display: inline-flex; align-items: center; gap: 6px; margin-bottom: -1px; padding: 0 0 10px; border-bottom: 2px solid transparent; font-size: 13.5px; font-weight: 500; color: var(--text-3); text-decoration: none; white-space: nowrap; }
.k-biz-tabs a:hover { color: var(--text); }
.k-biz-tabs a[aria-current=page] { border-bottom-color: var(--text); color: var(--text); }
.k-biz-tabs a:focus-visible, .k-biz-btn:focus-visible, .k-biz-row.link:focus-visible { outline: none; box-shadow: var(--focus-ring); }

/* Figures across the top. */
.k-biz-figs { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 1px; overflow: hidden; border: 1px solid var(--line); border-radius: var(--r-card); background: var(--line); }
.k-biz-fig { display: flex; flex-direction: column; gap: 3px; min-width: 0; padding: 14px 18px; background: var(--surface); }
.k-biz-fig > span { font-size: var(--fs-label); font-weight: 500; color: var(--text-4); }
.k-biz-fig > b { font-size: 22px; font-weight: 600; color: var(--text); font-variant-numeric: tabular-nums; }
.k-biz-fig > small { font-size: var(--fs-small); color: var(--text-3); }

/* Cards, two by two. */
.k-biz-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-items: start; }
.k-biz-card { display: block; min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: var(--r-card); background: var(--surface); }
.k-biz-card-head { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; padding: 14px 18px 0; }
.k-biz-card-head > h2 { margin: 0; font-size: var(--fs-section); font-weight: 600; color: var(--text); }
.k-biz-card-head > span:not(.k-biz-chip) { font-size: var(--fs-small); color: var(--text-3); }
.k-biz-body { padding: 12px 18px 16px; min-width: 0; }
.k-biz-body + .k-biz-table, .k-biz-body + .k-biz-rows { border-top: 1px solid var(--line-soft); }
.k-biz-card > .k-biz-rows:first-of-type, .k-biz-card > .k-biz-table:first-of-type { margin-top: 8px; }

/* Rows: a tile, two lines, a chip or an action. */
.k-biz-rows { display: flex; flex-direction: column; }
.k-biz-row { display: flex; align-items: center; gap: 12px; min-height: 34px; padding: 11px 18px; color: inherit; text-decoration: none; }
.k-biz-row + .k-biz-row { border-top: 1px solid var(--line-soft); }
.k-biz-row.link:hover { background: var(--neutral-tint); }
.k-biz-tile { display: grid; place-items: center; width: 30px; height: 30px; flex: none; border-radius: 8px; }
.k-biz-tile.navy { background: var(--navy-tint); color: var(--navy); }
.k-biz-tile.olive { background: var(--olive-tint); color: var(--olive-text); }
.k-biz-tile.terra { background: var(--terra-tint); color: var(--terra); }
.k-biz-tile.sand { background: var(--sand-tint); color: var(--sand); }
.k-biz-two { display: flex; flex-direction: column; flex: 1 1 auto; min-width: 0; }
.k-biz-two > span { font-size: 14px; font-weight: 500; line-height: 1.3; color: var(--text); }
.k-biz-two > small { margin-top: 2px; font-size: var(--fs-small); line-height: 1.35; color: var(--text-3); }
.k-biz-chip { display: inline-flex; align-items: center; height: 22px; padding: 0 8px; flex: none; border-radius: var(--r-pill); background: var(--neutral-tint); font-size: var(--fs-micro); font-weight: 600; color: var(--text-2); white-space: nowrap; font-variant-numeric: tabular-nums; }
.k-biz-chip.ok { background: var(--olive-tint); color: var(--olive-text); }
.k-biz-chip.warn { background: var(--terra-tint); color: var(--terra); }
.k-biz-chip.sand { background: var(--sand-tint); color: var(--sand); }
.k-biz-btn { display: inline-flex; align-items: center; height: 30px; padding: 0 12px; flex: none; border: 1px solid var(--control); border-radius: var(--r-control); background: var(--surface); font-size: var(--fs-body); font-weight: 500; color: var(--text); text-decoration: none; white-space: nowrap; }
.k-biz-row-end { display: flex; align-items: center; gap: 12px; flex: none; }
.k-biz-btn:hover { border-color: var(--control-strong); }
.k-biz-btn.primary { border-color: var(--navy); background: var(--navy); color: var(--on-dark); }

/* Tables: the columns are the table's class (no style attributes in the portal). */
.k-biz-table { display: flex; flex-direction: column; padding: 0 0 6px; }
.k-biz-tr { display: grid; align-items: center; gap: 12px; padding: 8px 18px; font-size: var(--fs-body); color: var(--text); }
.k-biz-tr + .k-biz-tr { border-top: 1px solid var(--line-faint); }
.k-biz-tr.head { padding-top: 10px; font-size: var(--fs-label); font-weight: 500; color: var(--text-4); }
.k-biz-tr.total { font-weight: 600; border-top: 1px solid var(--line); }
.k-biz-c { min-width: 0; overflow-wrap: anywhere; }
.k-biz-c.r { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.k-biz-c > small { display: block; font-size: var(--fs-small); color: var(--text-3); }
.k-biz-table.two .k-biz-tr { grid-template-columns: minmax(0, 1fr) auto; }
.k-biz-table.three .k-biz-tr { grid-template-columns: minmax(0, 1fr) auto auto; }
.k-biz-table.pl .k-biz-tr { grid-template-columns: minmax(0, 1fr) 92px 92px 64px 104px 104px; }
.k-biz-table.pl-now .k-biz-tr { grid-template-columns: minmax(0, 1fr) 104px 104px; }
.k-biz-table.team .k-biz-tr { grid-template-columns: minmax(0, 1fr) 64px 72px 96px; }

/* One bar of parts, and its key. */
.k-biz-split { display: block; width: 100%; height: 12px; border-radius: 6px; overflow: hidden; }
.k-biz-split rect.navy, .k-biz-key i.navy, .k-biz-legend i.navy { fill: var(--navy); background: var(--navy); }
.k-biz-split rect.olive, .k-biz-key i.olive, .k-biz-legend i.olive { fill: var(--olive); background: var(--olive); }
.k-biz-split rect.sand, .k-biz-key i.sand, .k-biz-legend i.sand { fill: var(--sand-dot); background: var(--sand-dot); }
.k-biz-split rect.terra, .k-biz-key i.terra, .k-biz-legend i.terra { fill: var(--terra); background: var(--terra); }
.k-biz-split rect.light, .k-biz-key i.light, .k-biz-legend i.light { fill: var(--navy-line); background: var(--navy-line); }
.k-biz-split rect + rect { stroke: var(--surface); stroke-width: .4; }
.k-biz-key, .k-biz-legend { display: flex; flex-wrap: wrap; gap: 6px 16px; margin-top: 10px; font-size: var(--fs-small); color: var(--text-3); }
.k-biz-legend { margin-top: 0; }
.k-biz-key i, .k-biz-legend i { display: inline-block; width: 8px; height: 8px; margin-right: 6px; border-radius: 2px; vertical-align: baseline; }
.k-biz-key b { font-weight: 600; color: var(--text); font-variant-numeric: tabular-nums; }

.k-biz-locked .k-biz-card-head { padding-bottom: 4px; }
.k-biz-empty { padding: 18px; border: 1px dashed var(--line); border-radius: var(--r-card); font-size: var(--fs-body); color: var(--text-3); }

/* The chart line over the bars (the year's profit). */
.k-svgchart .line { fill: none; stroke: var(--terra); stroke-width: 2; }
.k-svgchart .dot.terra { fill: var(--terra); fill-opacity: 1; }

@container k-biz (max-width: 720px) {
  .k-biz-hero { flex-wrap: wrap; padding: 16px; }
  .k-biz-hero h1 { font-size: 24px; }
  .k-biz-hero-right { width: 100%; justify-content: flex-start; }
  .k-biz-figs { grid-auto-flow: row; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .k-biz-fig:last-child:nth-child(odd) { grid-column: span 2; }
  .k-biz-fig > b { font-size: 19px; }
  .k-biz-grid { grid-template-columns: minmax(0, 1fr); }
  .k-biz-c.wide { display: none; }
  .k-biz-table.pl .k-biz-tr { grid-template-columns: minmax(0, 1fr) 84px 84px; }
  .k-biz-table.team .k-biz-tr { grid-template-columns: minmax(0, 1fr) 52px 60px 84px; gap: 8px; }
  .k-biz-tr { padding-inline: 14px; }
  .k-biz-row { padding-inline: 14px; }
  .k-biz-row:has(.k-biz-row-end) { flex-wrap: wrap; row-gap: 8px; }
  .k-biz-row:has(.k-biz-row-end) > .k-biz-two { flex-basis: 0; }
  .k-biz-row-end { width: 100%; padding-left: 42px; justify-content: space-between; }
}

/* Where the money is: the donut beside its key. */
.k-biz-donut { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; }
.k-biz-donut-key { display: flex; flex-direction: column; gap: 8px; min-width: 0; font-size: var(--fs-small); color: var(--text-3); }
.k-biz-donut-key span { display: grid; grid-template-columns: 10px auto; column-gap: 8px; align-items: baseline; }
.k-biz-donut-key i { width: 8px; height: 8px; border-radius: 2px; grid-row: span 2; align-self: center; }
.k-biz-donut-key i.navy { background: var(--navy); } .k-biz-donut-key i.light { background: var(--navy-line); } .k-biz-donut-key i.sand { background: var(--sand-dot); }
.k-biz-donut-key b { font-size: 15px; font-weight: 600; color: var(--text); font-variant-numeric: tabular-nums; }

/* The dashboard (proposed 10/30). The quiet head: the business's name on the ground, the month switch in the kit's own controls. */
.k-biz-head.quiet .k-biz-hero { padding: 0; border-radius: 0; background: none; color: var(--text); }
.k-biz-head.quiet .k-biz-badge { width: 40px; height: 40px; border-radius: 10px; background: var(--neutral-tint); border-color: var(--line); color: var(--text-2); font-size: 15px; }
.k-biz-head.quiet .k-biz-kick { color: var(--text-3); opacity: 1; }
.k-biz-head.quiet .k-biz-step { border-color: var(--control); background: var(--surface); color: var(--text-2); }
.k-biz-head.quiet a.k-biz-step:hover { border-color: var(--control-strong); background: var(--surface); }
.k-biz-head.quiet .k-biz-pick select { border-color: var(--control); }
/* Tiles: a figure, what it is against, twelve months under it; the whole tile opens its explore page. */
.k-biz-kpis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.k-biz-kpi { display: flex; flex-direction: column; min-width: 0; padding: 14px 16px 12px; border: 1px solid var(--line); border-radius: var(--r-card); background: var(--surface); color: inherit; text-decoration: none; transition: border-color .12s, box-shadow .12s; }
.k-biz-kpi:hover { border-color: var(--control-strong); }
.k-biz-kpi:focus-visible { outline: none; box-shadow: var(--focus-ring); }
.k-biz-kpi-top { min-height: 22px; display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: var(--fs-small); color: var(--text-3); }
.k-biz-kpi > b { margin-top: 6px; font-size: 26px; font-weight: 600; letter-spacing: -.02em; line-height: 1.1; font-variant-numeric: tabular-nums; color: var(--text); }
.k-biz-kpi > small { margin-top: 3px; font-size: var(--fs-small); color: var(--text-3); }
.k-biz-spark { display: block; width: 100%; height: 40px; margin-top: 10px; }
.k-biz-spark .area { fill: var(--q1); fill-opacity: .3; }
.k-biz-spark .ln { fill: none; stroke: var(--d1); stroke-width: 2; vector-effect: non-scaling-stroke; stroke-linejoin: round; }
.k-biz-spark .end { fill: var(--d1); }
/* The period switch: the kit's segmented look, as links. */
.k-biz-seg { display: inline-flex; gap: 2px; padding: 3px; border: 1px solid var(--line); border-radius: var(--r-control); background: var(--neutral-tint); }
.k-biz-seg a { padding: 4px 12px; border-radius: var(--r-small); font-size: var(--fs-body); font-weight: 500; color: var(--text-2); text-decoration: none; white-space: nowrap; }
.k-biz-seg a[aria-current=page] { background: var(--surface); color: var(--text); box-shadow: inset 0 0 0 1px var(--line); }
.k-biz-seg a:focus-visible { outline: none; box-shadow: var(--focus-ring); }
/* Two columns, the first wider: a main chart beside what goes with it. */
.k-biz-grid.wide-first { grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); }
/* An explore page's bar: back to the month, the period switch, the comparison. */
.k-biz-bar { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.k-biz-bar > .k-biz-grow { flex: 1 1 auto; }
.k-biz-back { display: inline-flex; align-items: center; gap: 4px; font-size: var(--fs-body); font-weight: 500; color: var(--text-2); text-decoration: none; }
.k-biz-back:hover { color: var(--text); }
@container k-biz (max-width: 720px) {
  .k-biz-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .k-biz-kpi { padding: 12px; }
  .k-biz-kpi > b { font-size: 20px; }
  .k-biz-kpi-top .k-biz-chip { display: none; }
  .k-biz-grid.wide-first { grid-template-columns: minmax(0, 1fr); }
}
/* Four columns: a name, two figures and a change (inventory by stage, its largest items). */
.k-biz-table.four .k-biz-tr { grid-template-columns: minmax(0, 1fr) 104px 104px 88px; }
@container k-biz (max-width: 720px) { .k-biz-table.four .k-biz-tr { grid-template-columns: minmax(0, 1fr) 84px 72px; } }
/* Chart roles on the block's own bar and key (palette A2, CP-206): d1..d6 in order, then other. */
.k-biz-split .d1, .k-biz-key i.d1 { fill: var(--d1); background: var(--d1); } .k-biz-split .d2, .k-biz-key i.d2 { fill: var(--d2); background: var(--d2); }
.k-biz-split .d3, .k-biz-key i.d3 { fill: var(--d3); background: var(--d3); } .k-biz-split .d4, .k-biz-key i.d4 { fill: var(--d4); background: var(--d4); }
.k-biz-split .other, .k-biz-key i.other { fill: var(--d-other); background: var(--d-other); }
.k-biz .k-legend { flex-wrap: wrap; row-gap: 6px; }
/* A chart drawn twice, at the page's width and at a phone's, so its text is the kit's size in both; the container shows one. */
.k-biz-draw.phone { display: none; }
@container k-biz (max-width: 720px) { .k-biz-draw.wide { display: none; } .k-biz-draw.phone { display: block; } }
/* An explore page's title, on the ground above its figures. */
.k-biz-title { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.k-biz-title h2 { margin: 0; font-size: 20px; font-weight: 600; letter-spacing: -.01em; color: var(--text); }
.k-biz-title span { font-size: var(--fs-small); color: var(--text-3); }
/* On a phone the explore page's controls and the lines that open are finger-sized. */
@container k-biz (max-width: 720px) {
  .k-biz-back { min-height: 36px; padding-right: 8px; }
  .k-biz-seg a { padding: 8px 14px; }
  .k-biz-c > a { display: inline-block; padding: 6px 0; }
}

/* The discovery call page (CRM-336, the approved prototype of 11/14; meeting-call.js). Who this is and when in the header strip, with the six-step rail;
   what they told us as state (markers, a band, bars) beside their own words; the call as a timed rail; the answer taken on the same page. Every
   colour is a token (tokens.css); buttons, chips, inputs and the tab row are the kit's own, and a k-rp ancestor gives the buttons the record page's
   one height. Widths and fills arrive as one custom property (--w, --grow) set by meeting-call.js. Served with the kit (server.js KIT_CSS). */

/* The strip under the title: the person, the time, the rail */
.k-call-n { font-variant-numeric: tabular-nums; }
.k-call-acts { display: flex; gap: 8px; flex-wrap: wrap; margin-left: auto; }
.k-call-strip { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 18px 40px; margin-top: 18px; padding: 18px 0; border-top: 1px solid var(--line-soft); }
.k-call-who { display: flex; gap: 12px; align-items: flex-start; min-width: 0; flex: 0 1 auto; }
.k-call-when { flex: 0 1 auto; }
.k-call-av { width: 36px; height: 36px; border-radius: 50%; flex: none; display: grid; place-items: center; background: var(--hl-tint); border: 1px solid var(--hl); font-size: .8125rem; font-weight: 600; }
.k-call-who b, .k-call-when b { display: block; font-weight: 600; }
.k-call-who b a { color: inherit; text-decoration: none; }
.k-call-who b a:hover { color: var(--navy); text-decoration: underline; }
.k-call-who span, .k-call-when span { display: block; color: var(--text-2); }
.k-call-when .k-call-big { font-size: .9375rem; letter-spacing: -.15px; }

/* Before the call: filled = done, an open ring = waiting, dashed = still to come, the call itself at the end */
.k-call-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); position: relative; align-self: center; flex: 1 1 640px; min-width: min(640px, 100%); }
.k-call-steps::before { content: ""; position: absolute; left: 8.33%; right: 8.33%; top: 7px; height: 1.5px; background: var(--line); }
.k-call-step { position: relative; display: flex; flex-direction: column; align-items: center; gap: 6px; min-width: 0; padding: 0 4px; text-align: center; }
.k-call-step i { position: relative; z-index: 1; width: 15px; height: 15px; border-radius: 50%; background: var(--surface); border: 1.5px solid var(--text-5); }
.k-call-step[data-state="done"] i { background: var(--st-ok); border-color: var(--st-ok); }
.k-call-step[data-state="done"] i::after { content: ""; position: absolute; left: 4px; top: 1.5px; width: 3.5px; height: 7px; border: solid var(--on-dark); border-width: 0 1.6px 1.6px 0; transform: rotate(42deg); }
.k-call-step[data-state="wait"] i { background: var(--hl-tint); border-color: var(--hl); }
.k-call-step[data-state="soon"] i { border-style: dashed; }
.k-call-step[data-state="call"] i { background: var(--navy); border-color: var(--navy); }
.k-call-step b { font-size: var(--fs-label); font-weight: 500; line-height: 1.2; white-space: nowrap; }
.k-call-step span { font-size: var(--fs-micro); color: var(--text-4); line-height: 1.2; white-space: nowrap; }
.k-call-step[data-state="wait"] b { color: var(--text-2); }

/* The page: two columns of cards */
.k-call-body { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(340px, 1fr); gap: 20px; padding: 22px var(--gutter) 60px; align-items: start; }
.k-call-col { display: grid; gap: 16px; min-width: 0; }
.k-call-card { min-width: 0; padding: 18px 20px 20px; box-shadow: var(--shadow-sm); }
.k-call-h { display: flex; align-items: center; gap: 10px; margin-bottom: 16px; }
.k-call-h h2 { margin: 0; font-size: var(--fs-section); font-weight: 600; letter-spacing: -.15px; }
.k-call-src { margin-left: auto; color: var(--text-4); font-size: var(--fs-label); }
.k-call-h > .k-chip + .k-call-src { margin-left: auto; }
.k-call-quiet { margin: 0; color: var(--text-4); }

/* In their words: the one piece of text */
.k-call-asked { margin: 0 0 8px; color: var(--text-4); font-size: var(--fs-label); }
.k-call-quote { position: relative; margin: 0; padding: 2px 0 2px 16px; font-size: 1rem; line-height: var(--lh-prose); letter-spacing: -.1px; overflow-wrap: anywhere; }
.k-call-quote::before { content: ""; position: absolute; left: 0; top: 4px; bottom: 4px; width: 3px; border-radius: 2px; background: var(--hl); }
.k-call-more { display: flex; flex-wrap: wrap; gap: 14px 22px; margin: 16px 0 0; padding: 14px 0 0; border-top: 1px solid var(--line-soft); }
.k-call-more div { min-width: 0; }
.k-call-more dt { color: var(--text-4); font-size: var(--fs-label); }
.k-call-more dd { margin: 0; font-weight: 500; overflow-wrap: anywhere; }

/* Fit: three facts as state */
.k-call-fit { display: grid; grid-template-columns: minmax(150px, .8fr) minmax(0, 1.6fr) minmax(0, 1.3fr); gap: 22px; }
.k-call-fit h3 { margin: 0 0 9px; font-size: var(--fs-label); font-weight: 500; color: var(--text-4); }
.k-call-place { display: flex; align-items: center; gap: 9px; }
.k-call-pin { width: 30px; height: 30px; border-radius: 9px; flex: none; display: grid; place-items: center; background: var(--quiet); color: var(--text-4); }
.k-call-pin::before { width: 15px; height: 15px; }
.k-call-place[data-on] .k-call-pin { background: var(--navy-tint); color: var(--navy); }
.k-call-place b { display: block; font-size: .9375rem; font-weight: 600; letter-spacing: -.15px; color: var(--text-5); }
.k-call-place[data-on] b { color: var(--text); }
.k-call-place span:not(.k-call-pin) { color: var(--text-4); font-size: var(--fs-label); }
.k-call-wants { display: flex; flex-wrap: wrap; gap: 6px; }
.k-call-want { display: inline-flex; align-items: center; height: 26px; padding: 0 10px; border-radius: var(--r-pill); border: 1px dashed var(--line); color: var(--text-5); font-size: var(--fs-label); font-weight: 500; }
.k-call-want[data-on] { border: 1px solid var(--navy); background: var(--navy); color: var(--on-dark); }
.k-call-val { display: block; margin-bottom: 9px; font-size: .9375rem; font-weight: 600; letter-spacing: -.15px; color: var(--text-5); }
.k-call-val[data-on] { color: var(--text); }
.k-call-band { display: grid; grid-template-columns: repeat(5, 1fr); gap: 3px; }
.k-call-band i { height: 10px; border-radius: 3px; background: var(--quiet); border: 1px dashed var(--line); }
.k-call-band i[data-on] { border: 0; background: var(--line-soft); }
.k-call-band i[data-at] { background: var(--navy); }
.k-call-band-l { display: flex; justify-content: space-between; margin-top: 6px; font-size: var(--fs-micro); color: var(--text-5); }
.k-call-foot { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 18px; padding-top: 14px; border-top: 1px solid var(--line-soft); color: var(--text-4); font-size: var(--fs-label); }
.k-call-fee { margin-left: auto; }
.k-call-wait { background: var(--hl-tint); color: var(--hl-ink); }

/* Scorecard: the score as a ring, the four pillars as bars */
.k-call-score { display: grid; grid-template-columns: 132px minmax(0, 1fr); gap: 26px; align-items: center; }
.k-call-ring { position: relative; width: 132px; height: 132px; }
.k-call-ring svg { display: block; transform: rotate(-90deg); }
.k-call-ring circle { fill: none; stroke-width: 11; }
.k-call-ring-track { stroke: var(--line-soft); }
.k-call-ring-fill { stroke: var(--navy); stroke-linecap: round; }
.k-call-ring > div { position: absolute; inset: 0; display: grid; place-content: center; text-align: center; }
.k-call-ring b { font-size: 2.125rem; font-weight: 600; letter-spacing: -1.2px; line-height: 1; }
.k-call-ring span { font-size: var(--fs-micro); color: var(--text-4); }
.k-call-pillars { display: grid; gap: 11px; }
.k-call-pl { display: grid; grid-template-columns: 148px minmax(0, 1fr) 42px 72px; gap: 12px; align-items: center; }
.k-call-pl > span:first-child { color: var(--text-2); font-weight: 500; white-space: nowrap; }
.k-call-tr { height: 10px; border-radius: 5px; background: var(--line-soft); overflow: hidden; }
.k-call-tr i { display: block; width: var(--w); height: 100%; border-radius: 5px; background: var(--d1); }
.k-call-pl[data-pillar="saving"] .k-call-tr i { background: var(--d2); }
.k-call-pl[data-pillar="giving"] .k-call-tr i { background: var(--d3); }
.k-call-pl[data-pillar="legacy"] .k-call-tr i { background: var(--d5); }
.k-call-pl b { font-weight: 600; text-align: right; }
.k-call-pl small { font-weight: 400; color: var(--text-5); font-size: var(--fs-micro); }
.k-call-pl em { justify-self: start; padding: 2px 7px; border-radius: 5px; background: var(--hl-tint); color: var(--hl-ink); font-size: var(--fs-micro); font-style: normal; font-weight: 600; white-space: nowrap; }
.k-call-values b { color: var(--text); font-weight: 500; }
.k-call-dots { display: inline-flex; gap: 4px; }
.k-call-dots i { width: 8px; height: 8px; border-radius: 50%; background: var(--line); }
.k-call-dots i[data-on] { background: var(--st-ok); }

/* The call: the minutes as a bar and a timed rail; Start runs the clock */
.k-call-clock { margin-left: auto; display: flex; align-items: center; gap: 10px; }
.k-call-clock b { font-size: .9375rem; font-weight: 600; }
.k-call-span { display: flex; gap: 3px; height: 10px; }
.k-call-span i { flex: var(--grow) 1 0%; position: relative; overflow: hidden; border-radius: 3px; background: var(--surface); }
.k-call-span i::before { content: ""; position: absolute; inset: 0; background: currentColor; opacity: .32; }
.k-call-span i::after { content: ""; position: absolute; inset: 0; width: var(--fill, 0%); background: currentColor; }
.k-call-parts { list-style: none; margin: 16px 0 0; padding: 0; position: relative; }
.k-call-parts::before { content: ""; position: absolute; left: 48px; top: 10px; bottom: 10px; width: 1.5px; background: var(--line); }
.k-call-part { display: grid; grid-template-columns: 38px 21px minmax(0, 1fr) auto; align-items: center; gap: 0 8px; padding: 8px 0; border-radius: 9px; }
.k-call-part time { color: var(--text-5); font-size: var(--fs-micro); text-align: right; }
.k-call-part i { position: relative; z-index: 1; width: 11px; height: 11px; justify-self: center; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 3px var(--surface); }
.k-call-part b { font-weight: 500; color: var(--text); }
.k-call-part span { color: var(--text-4); font-size: var(--fs-label); }
.k-call-part[data-state="now"] { background: var(--hl-tint); }
.k-call-part[data-state="now"] i { box-shadow: 0 0 0 3px var(--hl-tint), 0 0 0 5px var(--hl); }
.k-call-part[data-state="now"] b { font-weight: 600; }
.k-call-part[data-state="past"] b { color: var(--text-4); }
.k-call-p1 { color: var(--q1); } .k-call-p2 { color: var(--q2); } .k-call-p3 { color: var(--q3); } .k-call-p4 { color: var(--q4); } .k-call-p5 { color: var(--q5); }

/* The answer: a three-way choice of real radio inputs, then the fields that apply */
.k-call-seg { display: grid; grid-template-columns: repeat(3, 1fr); height: 34px; gap: 2px; padding: 3px; border-radius: 9px; background: var(--neutral-tint); }
.k-call-seg label { position: relative; display: block; cursor: pointer; }
.k-call-seg input { position: absolute; inset: 0; margin: 0; opacity: 0; cursor: pointer; }
.k-call-seg span { display: grid; place-items: center; height: 28px; border-radius: 7px; color: var(--text-4); font-size: var(--fs-small); font-weight: 500; transition: background var(--t-fast), color var(--t-fast); }
.k-call-seg label:hover span { color: var(--text); }
.k-call-seg input:checked + span { background: var(--surface); color: var(--text); box-shadow: var(--shadow-pill); }
.k-call-seg input:focus-visible + span { box-shadow: var(--focus-ring); }
.k-call-next { display: grid; gap: 8px; margin-top: 12px; }
.k-call-next:not(:has(.k-call-for:not([hidden]))) { display: none; }
.k-call-row { display: flex; align-items: center; gap: 8px; }
.k-call-for[hidden] { display: none; }
.k-call-fill { flex: 1 1 0; min-width: 0; }
.k-call-by { display: flex; align-items: center; gap: 6px; flex: none; color: var(--text-4); font-size: var(--fs-label); }
.k-call-day { width: 140px; flex: none; }
.k-call-plan { height: auto; min-height: 34px; padding: 7px 11px; line-height: var(--lh-prose); resize: vertical; }
.k-call-acts-row { display: flex; align-items: center; justify-content: flex-end; gap: 8px; margin-top: 12px; }

/* Phone: one column in the prototype's order; Reschedule and Join the call fixed above the app's own tab bar */
.k-call-sticky { display: none; }
@media (max-width: 1080px) {
  .k-call-body { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 760px) {
  .k-call-acts { display: none; }
  .k-call-strip { flex-direction: column; gap: 14px; }
  .k-call-who span { overflow-wrap: anywhere; }
  .k-call-steps { grid-template-columns: repeat(3, 1fr); row-gap: 14px; flex: none; min-width: 0; align-self: stretch; }
  .k-call-steps::before { display: none; }
  .k-call-fit, .k-call-score { grid-template-columns: 1fr; gap: 18px; }
  .k-call-score { justify-items: start; }
  .k-call-pillars { justify-self: stretch; }
  .k-call-pl { grid-template-columns: 118px minmax(0, 1fr) 40px; }
  .k-call-pl em, .k-call-pl > span:last-child:empty { display: none; }
  .k-call-pl[data-low] > span:first-child { text-decoration: underline; text-decoration-color: var(--hl); text-decoration-thickness: 2px; text-underline-offset: 4px; }
  .k-call-card { padding: 16px; }
  .k-call-quote { font-size: .9375rem; }
  .k-call-body { padding-bottom: 96px; }
  .k-call-sticky { display: flex; gap: 8px; position: fixed; left: 0; right: 0; bottom: var(--tabbar-h, 0px); z-index: 5; padding: 10px calc(var(--gutter) + 5.5rem) 10px var(--gutter);   /* clear of the floating Team button, which sits at the right above the tab bar on a phone */ background: var(--surface); border-top: 1px solid var(--line); }
  .k-call-wide { flex: 1; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) { .k-call-seg span { transition: none; } }

/* Charts, the shared block (markup from charts.js): what the kit's .k-svgchart rules (components.css) do not draw, the
   waterfall's rows and the donut's parts. Kit tokens only. Loaded by the portal (/kit-portal.css). */
.k-svgchart .bar.sub { fill: var(--navy); fill-opacity: .55; }
.k-svgchart .link { stroke: var(--text-5); stroke-dasharray: 3 3; }

/* The waterfall: a row per step, its name, its bar, its amount and cents. */
.k-waterfall { display: flex; flex-direction: column; container: k-wf / inline-size; }
.k-wf-row { display: grid; grid-template-columns: minmax(96px, 200px) minmax(0, 1fr) 96px 44px; align-items: center; gap: 12px; min-height: 30px; font-size: var(--fs-body); color: var(--text-2); }
.k-wf-row.total { color: var(--text); font-weight: 600; }
.k-wf-row.total + .k-wf-row:not(.total) { border-top: 1px dashed var(--line); }
.k-wf-label { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.k-wf-track { display: block; width: 100%; height: 20px; }
.k-wf-value { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.k-wf-note { font-size: var(--fs-small); color: var(--text-4); font-weight: 400; font-variant-numeric: tabular-nums; }
@container k-wf (max-width: 520px) {
  .k-wf-row { grid-template-columns: minmax(0, 1fr) 84px; grid-template-areas: "label value" "bar bar"; gap: 2px 10px; padding: 4px 0; }
  .k-wf-label { grid-area: label; } .k-wf-value { grid-area: value; } .k-wf-track { grid-area: bar; height: 14px; } .k-wf-note { display: none; }
}

/* The donut: its parts as strokes, the total in the middle. */
.k-donut { display: block; width: 140px; height: 140px; flex: none; }
.k-svgchart .seg { fill: none; stroke-width: 18; }
.k-svgchart .seg.navy { stroke: var(--navy); }
.k-svgchart .seg.light { stroke: var(--navy-line); }
.k-svgchart .seg.sand { stroke: var(--sand-dot); }
.k-svgchart .seg.olive { stroke: var(--olive); }
.k-svgchart .seg.terra { stroke: var(--terra); }
.k-svgchart text.big { font-size: 15px; font-weight: 600; fill: var(--text); }

/* Series roles (palette A2, UI-133): a chart's series take --d1..--d6 in order, then Other; money takes gain and loss with
   the gray middle; ordered steps take --q1..--q6. Callers pick the role, never a kind colour. One series needs no class
   (the bar's own navy). */
.k-svgchart .bar.d1 { fill: var(--d1); } .k-svgchart .bar.d2 { fill: var(--d2); } .k-svgchart .bar.d3 { fill: var(--d3); }
.k-svgchart .bar.d4 { fill: var(--d4); } .k-svgchart .bar.d5 { fill: var(--d5); } .k-svgchart .bar.d6 { fill: var(--d6); }
.k-svgchart .bar.other { fill: var(--d-other); }
.k-svgchart .seg.d1 { stroke: var(--d1); } .k-svgchart .seg.d2 { stroke: var(--d2); } .k-svgchart .seg.d3 { stroke: var(--d3); }
.k-svgchart .seg.d4 { stroke: var(--d4); } .k-svgchart .seg.d5 { stroke: var(--d5); } .k-svgchart .seg.d6 { stroke: var(--d6); }
.k-svgchart .seg.other { stroke: var(--d-other); }
.k-svgchart .ln.d1 { stroke: var(--d1); } .k-svgchart .ln.d2 { stroke: var(--d2); } .k-svgchart .ln.d3 { stroke: var(--d3); }
.k-svgchart .ln.d4 { stroke: var(--d4); } .k-svgchart .ln.d5 { stroke: var(--d5); } .k-svgchart .ln.d6 { stroke: var(--d6); }
.k-svgchart .line.d1 { stroke: var(--d1); } .k-svgchart .dot.d1 { fill: var(--d1); }
.k-svgchart .bar.gain { fill: var(--gain); } .k-svgchart .bar.loss { fill: var(--loss); }
.k-svgchart .bar.mid { fill: var(--mid); } .k-svgchart .bar.total { fill: var(--text-3); }
.k-svgchart text.gain { fill: var(--gain); } .k-svgchart text.loss { fill: var(--loss); }
.k-svgchart .bar.q1 { fill: var(--q1); } .k-svgchart .bar.q2 { fill: var(--q2); } .k-svgchart .bar.q3 { fill: var(--q3); }
.k-svgchart .bar.q4 { fill: var(--q4); } .k-svgchart .bar.q5 { fill: var(--q5); } .k-svgchart .bar.q6 { fill: var(--q6); }
/* The one highlight on a chart: the line or bar the page leads with. */
.k-svgchart .bar.hl { fill: var(--hl); } .k-svgchart .line.hl, .k-svgchart .ln.hl { stroke: var(--hl); } .k-svgchart text.hl { fill: var(--hl-ink); }

/* The fall check-in, the shared block (checkin.js, Sonny 11/2), drawn to the season walkthrough's "Fall review" stage ("this is not
   what we designed"): Today's ink cover with the harvest drawing; then two columns, the questions on the left in card surfaces (topics;
   what you had last year, with Same / Not this year as one switch per row; anything new) and, beside them, the one lifted card with what
   changes next year and Send, kept in view. Every choice is a real form control (no script needed); the summary follows them with the
   script in /client-portal.js. No style attributes (the portal's CSP). Under 760px one column, the send card after the questions. */
.k-ci { --k-td-ink: var(--pk-bar, var(--deep)); container: k-ci / inline-size; display: flex; flex-direction: column; gap: 0; min-width: 0; }
.k-ci > .k-td-cover { border-radius: var(--r-card); }
.k-ci-sub-cover { margin: 6px 0 0; font-size: 15px; color: var(--ink-text); }
.k-ci-body { display: flex; flex-direction: column; gap: 20px; padding-top: 24px; min-width: 0; }
.k-ci-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 340px); gap: 24px; align-items: start; }
.k-ci-main { display: flex; flex-direction: column; gap: 26px; min-width: 0; }
.k-ci-side { position: sticky; top: 16px; min-width: 0; }
.k-ci-sec { min-width: 0; }
.k-ci-kick { margin: 0 0 10px; font-size: 11.5px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--text-2); }
.k-ci-card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-card); }
.k-ci-rows { display: flex; flex-direction: column; margin: 0; padding: 0; list-style: none; }
.k-ci-row { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 6px 18px; padding: 14px 18px; }
.k-ci-row + .k-ci-row { border-top: 1px solid var(--line-soft); }
.k-ci-what { min-width: 0; }
.k-ci-what > b { display: block; font-size: 15px; font-weight: 600; color: var(--text); }
.k-ci-what > span { display: block; margin-top: 3px; font-size: 14px; line-height: 1.45; color: var(--text-2); }
.k-ci-what > .k-ci-ask { color: var(--text); }
.k-ci-what > .k-ci-ask > b { font-weight: 600; }
.k-ci-tag { display: inline-block; padding: 2px 9px; border-radius: var(--r-pill); background: var(--navy-tint); font-size: 12px; font-style: normal; font-weight: 500; color: var(--navy); white-space: nowrap; }
.k-ci-row > .k-ci-tag { justify-self: end; }
.k-ci-do { grid-column: 1 / -1; }
.k-ci-row.item { grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 6px 14px; }
.k-ci-row.item > .k-ci-tag { background: var(--neutral-tint); color: var(--text-2); }
.k-ci-row.item > .k-ci-do { grid-column: auto; }
.k-ci-note { margin: 8px 0 0; font-size: 13px; color: var(--text-3); }
.k-ci-sub { margin: 18px 0 8px; font-size: 15px; font-weight: 600; color: var(--text); }
/* A choice: a checkbox or a radio drawn as a chip; the control itself stays focusable and is read by screen readers. */
.k-ci-pick { position: relative; display: inline-flex; }
.k-ci-pick > input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.k-ci-pick > span { display: inline-flex; align-items: center; justify-content: center; min-height: 32px; padding: 0 12px; border: 1px solid var(--line); border-radius: var(--r-pill); background: var(--surface); color: var(--text); font-size: 13px; font-weight: 500; }
.k-ci-pick:hover > span { border-color: var(--control-strong); }
.k-ci-pick > input:checked + span { background: var(--ink); border-color: var(--ink); color: var(--on-dark); }
.k-ci-pick > input:focus-visible + span { box-shadow: var(--focus-ring); }
.k-ci-pick > input:disabled { cursor: default; }
/* A topic's "I'd like to talk about this": a quiet chip; ticked, it reads as chosen. */
.k-ci-row:not(.item) .k-ci-pick > input:checked + span { background: var(--navy-tint); border-color: var(--navy); color: var(--navy); }
/* Same / Not this year: one switch, square-ish like the walkthrough's. */
.k-ci-seg { display: inline-flex; border: 1px solid var(--line); border-radius: 8px; overflow: hidden; }
.k-ci-seg > .k-ci-pick > span { border: 0; border-radius: 0; min-height: 30px; padding: 0 12px; }
.k-ci-seg > .k-ci-pick + .k-ci-pick > span { border-left: 1px solid var(--line); }
.k-ci-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.k-ci-chips .k-ci-pick > input:checked + span { background: var(--navy-tint); border-color: var(--navy); color: var(--navy); }
.k-ci-said { display: inline-flex; align-items: center; min-height: 28px; padding: 0 12px; border-radius: var(--r-pill); background: var(--neutral-tint); font-size: 13px; font-weight: 500; color: var(--text); }
.k-ci-said.on { background: var(--navy-tint); color: var(--navy); }
.k-ci-none { margin: 0; font-size: 14px; color: var(--text-2); }
/* What changes next year and Send: the page's one lifted surface, with the saffron mark the walkthrough's cards carry. */
.k-ci-send { position: relative; padding: 20px 22px 22px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-card); box-shadow: 0 1px 2px rgba(21, 23, 28, .05), 0 14px 30px -18px rgba(21, 23, 28, .3); }
.k-ci-send::before { content: ""; position: absolute; left: 22px; top: -1px; width: 28px; height: 2px; background: var(--hl); }
.k-ci-send > h2 { margin: 0 0 12px; font-size: 11.5px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--text-2); }
.k-ci-sum { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 8px; font-size: 14.5px; color: var(--text); }
.k-ci-sum > li { display: flex; gap: 8px; align-items: baseline; }
.k-ci-sum > li::before { content: "\2022"; color: var(--text-3); }
.k-ci-sum > li.plain::before { content: none; }
.k-ci-acts { display: flex; flex-direction: column; align-items: stretch; gap: 8px; margin-top: 18px; }
.k-ci-acts > .k-btn, .k-ci-acts > button { justify-content: center; }
.k-ci-notice { display: flex; align-items: flex-start; gap: 10px; padding: 12px 16px; border-radius: var(--r-card); background: var(--olive-tint); color: var(--olive-text); font-size: 14px; }
.k-ci-notice > p { margin: 0; color: var(--text); }
.k-ci-notice > p > b { font-weight: 600; }
.k-ci-notice > [data-icon] { flex: none; margin-top: 2px; }
.k-ci-notice.warn { background: var(--sand-tint); }
.k-ci-more { margin-top: 10px; }
.k-ci-more > summary { cursor: pointer; font-size: 14px; font-weight: 500; color: var(--navy); }
@container k-ci (max-width: 760px) {
  .k-ci > .k-td-cover { border-radius: 0; }
  .k-ci-body { padding-top: 18px; }
  .k-ci-grid { grid-template-columns: minmax(0, 1fr); }
  .k-ci-side { position: static; }
  .k-ci-row { grid-template-columns: minmax(0, 1fr); padding: 14px 16px; }
  .k-ci-row > .k-ci-tag { justify-self: start; grid-row: 1; }
  .k-ci-row.item { grid-template-columns: minmax(0, 1fr); align-items: start; }
  .k-ci-row.item > .k-ci-do { grid-column: 1; padding-top: 4px; }
  .k-ci-seg { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
  .k-ci-seg > .k-ci-pick > span { width: 100%; min-height: 44px; }
  .k-ci-send { padding: 18px; }
  .k-ci-acts > .k-btn, .k-ci-acts > button { min-height: 48px; font-size: 15px; }
}

/* Comms panel (proposed): fixed at the lower right of every staff page. Closed, a bar naming the client and where the
   conversation stands; open, the client's conversation (Client) or the team's talk about the page (Team). */
.k-comms { position: fixed; right: 24px; bottom: 0; z-index: 40; width: 400px; display: flex; flex-direction: column; background: var(--surface);
  border: 1px solid var(--line); border-bottom: 0; border-radius: 12px 12px 0 0; box-shadow: var(--shadow-float); max-height: min(620px, calc(100vh - 80px)); }
.k-comms:not(.open) { width: auto; min-width: 280px; }
.k-comms-head { display: flex; align-items: center; gap: 8px; padding: 10px 12px; background: none; border: 0; font: inherit; font-size: var(--fs-body); text-align: left; cursor: pointer; min-width: 0; }
.k-comms-head > b { font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.k-comms-head .k-avatar { width: 24px; height: 24px; font-size: .625rem; }
.k-comms-at { background: var(--plum); color: #fff; }
.k-comms-tabs { margin: 0 12px 8px; align-self: flex-start; }
.k-comms-feed { flex: 1 1 auto; overflow: auto; padding: 12px; display: flex; flex-direction: column; gap: 10px; border-top: 1px solid var(--line-soft); min-height: 0; }
.k-comms-day { align-self: center; font-size: var(--fs-micro); color: var(--text-4); }
.k-comms-event { align-self: center; font-size: var(--fs-label); color: var(--text-3); display: flex; gap: 6px; }
.k-comms-event > small { color: var(--text-4); }
.k-comms-msg { display: flex; gap: 8px; align-items: flex-start; }
.k-comms-msg > .k-avatar { width: 24px; height: 24px; font-size: .625rem; flex: none; }
.k-comms-msg > div { min-width: 0; flex: 1 1 auto; background: var(--canvas, #F6F5F1); border-radius: 10px; padding: 8px 10px; }
.k-comms-msg.ours > div { background: var(--navy-wash); }
.k-comms-msg p { margin: 2px 0 0; font-size: var(--fs-body); line-height: 1.45; }
.k-comms-meta { display: flex; gap: 6px; align-items: baseline; font-size: var(--fs-label); color: var(--text-3); }
.k-comms-meta > b { color: var(--text); font-weight: 600; }
.k-comms-note { font-size: var(--fs-body); }
.k-comms-foot { display: flex; flex-direction: column; gap: 8px; padding: 10px 12px 12px; border-top: 1px solid var(--line-soft); }
.k-comms-about { display: flex; gap: 6px; align-items: center; font-size: var(--fs-label); }
.k-comms-send { display: flex; gap: 8px; align-items: center; font-size: var(--fs-label); }
/* Bug (UI-107): the screenshot taken as the panel opened, small beside its line; the report goes to the dev board. */
.k-comms-shotrow { display: flex; gap: 10px; align-items: center; font-size: var(--fs-label); }
.k-comms-shot { width: 88px; height: 56px; object-fit: cover; object-position: top left; border: 1px solid var(--line); border-radius: var(--r-small); flex: none; }
.k-select.sm { height: 28px; font-size: var(--fs-label); }
.k-comms-send > .k-muted { white-space: nowrap; }
.k-comms-send > .k-select { width: auto; max-width: 180px; }
/* Team never looks like email: the panel takes the team's plum edge and its posts read as notes. */
.k-comms.team { border-color: color-mix(in srgb, var(--plum) 45%, var(--line)); }
.k-comms-meta > a.k-link { color: inherit; font-size: inherit; }
/* The @ list opens above the Team box (the panel sits at the bottom of the window). */
.k-comms-mention { position: relative; }
.k-comms-mention > .k-menu { position: absolute; left: 0; bottom: 100%; margin-bottom: 4px; min-width: 220px; z-index: 5; }
.k-comms-mention .k-option[aria-selected="true"] { background: var(--navy-wash); }

.k-comms-top { display: flex; align-items: center; gap: 8px; padding-right: 12px; }
.k-comms-top > .k-comms-head { flex: 1 1 auto; }
.k-comms-expand { background: none; border: 0; padding: 0; font: inherit; font-size: var(--fs-label); cursor: pointer; white-space: nowrap; }
/* Collapsed (Sonny 10/3: options 3 and 5). The edge tab: the page's client, on the right edge at mid height. */
.k-comms-edge { position: fixed; right: 0; top: 42%; z-index: 40; display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 10px 6px 12px; background: var(--surface); border: 1px solid var(--line); border-right: 0; border-radius: 10px 0 0 10px; box-shadow: var(--shadow-float); font: inherit; font-size: var(--fs-label); font-weight: 600; color: var(--text); cursor: pointer; }
.k-comms-edge .k-avatar { width: 24px; height: 24px; font-size: .625rem; }
.k-comms-vert { writing-mode: vertical-rl; transform: rotate(180deg); white-space: nowrap; }
.k-comms-count { display: inline-grid; place-items: center; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px; background: var(--navy); color: #fff; font-size: .6875rem; font-weight: 600; }
.k-comms-count.warn { background: var(--terra); }
.k-comms-count.plum { background: var(--plum); }
:is(.k-comms, .k-comms-edge) .k-avatar.plum { background: var(--plum-tint); color: var(--plum); font-weight: 600; }
.k-comms-head { cursor: pointer; color: var(--text); }
.k-comms-head > [data-icon] { display: inline-flex; flex: none; }
/* No reports from this page yet: no empty band above the form. */
.k-comms-feed:empty { display: none; }
/* Bug: each report reads as a line with who, when and its card under it. */
.k-comms.bug .k-comms-event { align-self: stretch; flex-direction: column; gap: 2px; color: var(--text-2); }
.k-comms[hidden], .k-comms-edge[hidden] { display: none; }
/* A phone: the open panel spans the width at the bottom. */
@media (max-width: 640px) {
  .k-comms-send { flex-wrap: wrap; }
}
.k-comms-bar { display: flex; align-items: center; gap: 8px; margin: 0 12px 8px; }
.k-comms-bar > .k-comms-tabs { margin: 0; }
/* Writing (CRM-117 step 4, board CommsDrawer): Expand turns the panel into a drawer over the page, the history on the left
   (searchable, Quote and Reply to this on a client's message) and the writing area on the right at email width. */
.k-comms-scrim { position: fixed; inset: 0; z-index: 39; background: rgba(24, 28, 36, .18); opacity: 0; transition: opacity var(--t-sheet); }
.k-comms-scrim.on { opacity: 1; }
.k-comms.wide > .k-comms-top { border-bottom: 1px solid var(--line-soft); }
.k-comms.wide .k-comms-head > [data-icon] { display: none; }
.k-comms-cols { flex: 1 1 auto; min-height: 0; display: grid; grid-template-columns: minmax(300px, 1fr) minmax(480px, 560px); }
.k-comms-hist { display: flex; flex-direction: column; min-height: 0; min-width: 0; padding-top: 10px; border-right: 1px solid var(--line-soft); }
.k-comms-search.k-input { flex: none; width: auto; height: 34px; margin: 0 12px 10px; }
.k-comms-write { min-width: 0; min-height: 0; overflow: auto; }
.k-comms-write > .k-comms-foot { border-top: 0; padding: 12px 16px 16px; }
.k-comms-write .k-compose .ql-container .ql-editor { min-height: 200px; }
.k-comms-feed > [hidden] { display: none; }
.k-comms-acts { display: flex; gap: 12px; margin-top: 4px; }
.k-comms-acts > .k-link { background: none; border: 0; padding: 0; font: inherit; font-size: var(--fs-label); cursor: pointer; }
/* The files an email carried, each with Attach again in the drawer. */
.k-comms-files { display: flex; flex-direction: column; align-items: stretch; gap: 4px; margin-top: 6px; }
.k-comms-file { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 8px; max-width: 100%; padding: 3px 10px; border: 1px solid var(--line); border-radius: var(--r-small); background: var(--surface); font-size: var(--fs-label); }
.k-comms-file > .k-grow { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.k-comms-file > .k-link { flex: none; background: none; border: 0; padding: 0; font: inherit; cursor: pointer; }
.k-comms-file > .k-link:disabled { color: var(--text-3); cursor: default; }
.k-comms-file > .k-grow { flex: 1 1 8em; min-width: 0; overflow-wrap: anywhere; }
.k-comms-file > a.k-grow { color: inherit; text-decoration: none; }
.k-comms-file > .k-link, .k-comms-file > form > .k-link { margin-left: auto; }
.k-comms-file > a.k-grow:hover { text-decoration: underline; }
.k-comms-file > small { flex: none; }
.k-comms-file > form { display: contents; }
.k-comms-file.has-thumb { padding: 3px; }
.k-comms-thumb { flex: none; display: block; }
.k-comms-thumb img { display: block; width: 64px; height: 44px; object-fit: cover; border-radius: var(--r-small); background: var(--quiet); }
/* An email's own HTML (CRM-154): a frame that runs nothing, sized to its message by the page. */
.k-read { min-width: 0; }
.k-read-frame { display: block; width: 100%; height: 80px; border: 0; background: transparent; }
.k-read-images { display: block; margin-top: 4px; }
/* Narrower than the drawer: the history above the writing. */
@media (max-width: 760px) {
  .k-comms-cols { grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(0, 38%) minmax(0, 1fr); }
  .k-comms-hist { border-right: 0; border-bottom: 1px solid var(--line-soft); }
}
/* The legacy stylesheet paints every button:hover navy; the edge tab and the panel's head keep their dark text, so they
   hover with a light wash instead (Sonny 10/7: the Team tab's hover went blue and unreadable). */
.k-comms-edge:hover, .k-comms-head:hover { background: var(--navy-wash); color: var(--text); }
/* In the drawer its own head closes and returns to small, so the composer's Close is not a second one. */
.k-comms.wide [data-compose-close] { display: none; }
a.k-comms-expand { text-decoration: none; }
/* Open, the panel is a sheet that slides out from the right edge (Sonny 10/7: "why doesn't it slide out from the right
   instead?"). The edge tab rides on its left edge as its handle (a click slides it back); Expand widens the same sheet into the
   writing drawer and Back to small narrows it, so every change moves rather than jumps. */
:root { --comms-small: 440px; --comms-wide: min(980px, calc(100vw - 260px)); --t-sheet: .28s cubic-bezier(.2, .8, .2, 1); }
.k-comms.open { top: 0; right: 0; bottom: 0; width: var(--comms-small); max-height: none; border: 0; border-left: 1px solid var(--line); border-radius: 0;
  box-shadow: var(--shadow-panel); transition: width var(--t-sheet), transform var(--t-sheet); }
.k-comms.open.wide { width: var(--comms-wide); }
.k-comms.open.k-comms-out { transform: translateX(calc(100% + 24px)); }
.k-comms-edge { transition: transform var(--t-sheet), background-color var(--t-fast); }
.comms-open .k-comms-edge { transform: translateX(calc(-1 * var(--comms-small))); }
.comms-open.comms-wide .k-comms-edge { transform: translateX(calc(-1 * var(--comms-wide))); }
@media (max-width: 1100px) { :root { --comms-wide: min(980px, calc(100vw - 48px)); } }
/* A phone: the sheet takes the whole width and carries its own Close. The handle waits as a pill in the lower right corner above
   the tab bar, never over the page at mid height, where it covered a row's date and a panel's ⋯ menu (UI-114); the page ends
   with room to scroll its last line clear of it. */
@media (max-width: 640px) {
  :root { --comms-small: 100vw; --comms-wide: 100vw; } .k-comms.open { border-left: 0; } .comms-open .k-comms-edge { display: none; }
  .k-comms-edge { top: auto; right: 12px; bottom: calc(var(--tabbar-h, 0px) + 12px); flex-direction: row; gap: 6px; max-width: 45vw; padding: 5px 12px 5px 5px;
    border-right: 1px solid var(--line); border-radius: var(--r-pill); }
  .k-comms-vert { writing-mode: horizontal-tb; transform: none; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
  body:has(> .k-comms-edge:not([hidden])) > main { padding-bottom: calc(var(--tabbar-h, 0px) + 64px); }
}
@media (prefers-reduced-motion: reduce) { .k-comms.open, .k-comms-edge, .k-comms-scrim { transition: none; } }
/* Already out on the page before: drawn in place, nothing slides. */
.comms-still :is(.k-comms.open, .k-comms-edge, .k-comms-scrim) { transition: none; }
/* While the sheet changes width its content fades out, and what arrives fades in (a tab switch too), so nothing is seen
   squeezed mid-change. */
.k-comms.open > * { animation: k-comms-in .18s ease both; }
.k-comms.open.k-comms-filling > * { opacity: 0; transition: opacity .1s ease; animation: none; }
@keyframes k-comms-in { from { opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .k-comms.open > * { animation: none; } }
.comms-still .k-comms.open > * { animation: none; }
/* A full-height sheet keeps its writing area at the bottom, even under a short or empty feed. */
.k-comms.open > .k-comms-foot { margin-top: auto; }
/* Routing (CRM-169): where an incoming email goes, above the reply in the Inbox. One row for each part: its route as a tag that opens
   the other routes, what it is about, and the one action that does it. Rows follow the two-line height (--row-list). */
.k-routes { display: flex; flex-direction: column; background: var(--quiet); border-top: 1px solid var(--line-soft); padding: 8px 18px 4px; }
.k-routes-head { display: flex; align-items: center; gap: 8px; min-height: 26px; }
.k-routes-head .k-t2 { text-align: right; }
.k-route { display: flex; flex-wrap: wrap; align-items: center; column-gap: 12px; row-gap: 6px; min-height: var(--row-list); padding: 7.5px 0; border-top: 1px solid var(--line-soft); }
.k-route:first-of-type { border-top: 0; }
.k-route > .k-grow { flex: 1 1 190px; display: flex; flex-direction: column; min-width: 0; }
.k-route .k-t1 { font-size: var(--fs-body); font-weight: 600; line-height: var(--lh); }
.k-route .k-t2 { font-size: var(--fs-small); color: var(--text-3); line-height: var(--lh); }
/* The action sits at the end of the row, or under the words when the reader is narrow. */
.k-route > :is(.k-btn, .k-link, .k-route-end) { margin-left: auto; flex: none; }
.k-route-end { display: inline-flex; align-items: center; gap: 10px; white-space: nowrap; }
.k-route-pick { flex: none; width: 76px; }
.k-route-pick > summary { list-style: none; cursor: pointer; width: 100%; justify-content: center; box-sizing: border-box; }
.k-route-pick > summary::-webkit-details-marker { display: none; }
.k-route-pick > summary::after { content: ""; width: 5px; height: 5px; margin: -2px 0 0 6px; border: solid currentColor; border-width: 0 1.5px 1.5px 0; transform: rotate(45deg); opacity: .6; }
.k-route-pick > .k-menu { right: auto; left: 0; width: max-content; min-width: 140px; }
.k-route > .k-tag { flex: none; width: 76px; justify-content: center; box-sizing: border-box; }
/* A finger needs more than the tag's height: the route tag and the action are 36px tall on a phone. */
@media (max-width: 640px) { .k-routes { padding-inline: 12px; } .k-route-pick > summary, .k-route > .k-tag { min-height: 36px; } .k-route > .k-btn { min-height: 36px; } }
/* Beside a docked panel the edge tab waits at the panel's left edge, so it never covers the panel's fields (a Lines or Facts panel's right padding). */
@media (min-width: 641px) { body:has(.k-work > .k-panel.open) > .k-comms-edge { right: var(--panel); } }
/* While the peek panel is open (server.js, table-peek.js) the edge tab stays off it, on every page. */
body:has(> #peekw.on) > .k-comms-edge { visibility: hidden; }

/* A stored picture or PDF of an email, previewed in the page (CRM-191): a dialog over the page; on a phone it is the whole screen. */
dialog.k-file-preview { width: min(1000px, calc(100vw - 48px)); height: min(860px, calc(100dvh - 48px)); max-width: none; max-height: none; margin: auto; padding: 0;
  border: 1px solid var(--line); border-radius: 14px; background: var(--surface); color: var(--text); box-shadow: var(--shadow-dialog); overflow: hidden; }
dialog.k-file-preview[open] { display: flex; flex-direction: column; }
dialog.k-file-preview::backdrop { background: var(--scrim); }
.k-file-preview-head { flex: none; display: flex; align-items: center; gap: 8px; padding: 10px 12px; border-bottom: 1px solid var(--line-soft); }
.k-file-preview-head > b { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 600; }
.k-file-preview-acts { flex: none; display: flex; align-items: center; gap: 8px; }
.k-file-preview-acts form, .k-file-preview-acts [data-fp-acts] { display: contents; }
.k-file-preview-body { flex: 1 1 auto; min-height: 0; display: flex; background: var(--quiet); }
.k-file-preview-body > iframe { flex: 1 1 auto; width: 100%; border: 0; background: var(--surface); }
.k-file-preview-body > img { margin: auto; max-width: 100%; max-height: 100%; object-fit: contain; }
/* A message to read rather than a file (the inbox's mail view): as tall as the message, on a padded white page. */
dialog.k-file-preview.read { width: min(760px, calc(100vw - 48px)); height: fit-content; max-height: min(860px, calc(100dvh - 48px)); }
.k-file-preview.read .k-file-preview-body { overflow: auto; padding: 14px 16px 18px; flex-direction: column; gap: 10px; background: var(--surface); }
@media (max-width: 640px) {
  dialog.k-file-preview { width: 100vw; height: 100dvh; border: 0; border-radius: 0; }
  dialog.k-file-preview.read { width: 100vw; height: 100dvh; max-height: none; }
  .k-file-preview-head { flex-wrap: wrap; }
  .k-file-preview-head > b { order: 1; flex-basis: calc(100% - 52px); }
  .k-file-preview-head > [data-fp-close] { order: 2; margin-left: auto; }
  .k-file-preview-acts { order: 3; flex: 1 1 100%; flex-wrap: wrap; }
}

/* Compose (CRM-117 step 1): the one composer, at full size in the Inbox reader and small in the Comms panel. Its fields read
   as lines (label, then the value), the message under them in the editor, then Attach, then the quiet actions and Send. */
.k-compose { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.k-compose > * { flex-shrink: 0; min-width: 0; }
.k-cmp-head { display: flex; align-items: center; gap: 6px; }
.k-cmp-row { display: flex; align-items: center; gap: 8px; min-height: 34px; border-bottom: 1px solid var(--line-faint); font-size: var(--fs-body); min-width: 0; }
.k-cmp-label { flex: 0 0 52px; color: var(--text-3); font-size: var(--fs-label); }
.k-cmp-val { flex: 1 1 auto; display: flex; flex-wrap: wrap; align-items: center; gap: 4px; min-width: 0; }
.k-cmp-val > :is(.k-input, .k-select, select, input:not([type=hidden])) { flex: 1 1 auto; width: 100%; min-width: 0; border: 0; box-shadow: none; padding-inline: 0; height: 32px; background: transparent; }
.k-cmp-val > :is(.k-input, select):focus { box-shadow: none; }
.k-cmp-more > summary, .k-cmp-fields > summary { list-style: none; cursor: pointer; }
.k-cmp-more > summary::-webkit-details-marker, .k-cmp-fields > summary::-webkit-details-marker { display: none; }
.k-cmp-more > summary { padding: 4px 0 4px 60px; color: var(--text-3); font-size: var(--fs-label); }
.k-cmp-more[open] > summary { display: none; }
.k-cmp-compact { justify-content: space-between; }
.k-cmp-compact > .k-grow { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.k-cmp-fields[open] > summary { display: none; }
.k-cmp-sigrow { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; font-size: var(--fs-label); }
.k-cmp-fields .k-cmp-sigrow { padding: 6px 0; border-bottom: 1px solid var(--line-faint); }
.k-cmp-sigrow .hstack { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.k-cmp-sigrow [data-signature-preview] { width: 100%; }
.k-cmp-sigrow .mail-signature { display: block; width: 100%; border: 0; }
.k-cmp-sigrow .frow { display: block; margin: 0; padding: 0; border: 0; }
.k-cmp-sigrow .frow > label { display: none; }
.k-cmp-tools { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; font-size: var(--fs-label); }
.k-cmp-tools > label { position: relative; cursor: pointer; }
.k-cmp-pick { position: absolute; width: 1px; height: 1px; opacity: 0; overflow: hidden; pointer-events: none; }
.k-cmp-files:empty { display: none; }
.k-cmp-send { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; font-size: var(--fs-label); }
.k-cmp-send > button[hidden], .k-cmp-send [hidden] { display: none; }
/* The editor: a light frame, a quiet toolbar; at small size a short box and no toolbar, so the thread stays in view
   (Full page has it all). */
.k-compose .ql-toolbar.ql-snow { padding: 4px; }
.k-compose .ql-container .ql-editor { min-height: 140px; }
.k-compose.compact .ql-toolbar { display: none; }
.k-compose.compact .ql-container.ql-snow { border-top: 1px solid var(--line); border-radius: var(--r-control); }
.k-compose.compact .ql-container .ql-editor { min-height: 0; height: 5.5em; }
/* Closed: a box that reads like the message field; a saved draft names who it is to and Continue. */
.k-cmp-closed { display: flex; flex-direction: column; gap: 8px; }
.k-cmp-closed > button.k-cmp-open { display: flex; width: 100%; white-space: normal; min-height: 56px; gap: 8px; justify-content: space-between; align-items: flex-start; text-align: left; padding: 12px 14px; border: 1px solid var(--control); border-radius: 10px; background: var(--surface); color: var(--text-3); font: inherit; font-size: var(--fs-body); font-weight: 400; box-shadow: none; cursor: text; }
.k-cmp-closed > button.k-cmp-open:hover { border-color: var(--control-strong); color: var(--text-2); }
.k-cmp-closed > button.k-cmp-open > b { min-width: 0; color: var(--text); font-weight: 500; overflow-wrap: anywhere; }
.k-cmp-closed > button.k-cmp-open > span { flex: none; color: var(--text-3); }
.k-cmp-error { color: var(--terra); font-size: var(--fs-label); }
@media (max-width: 600px) { .k-cmp-label { flex-basis: 40px; } .k-cmp-more > summary { padding-left: 48px; } }
/* The other replies beside the closed box (Reply all, Forward); a note on what a forward could not carry. */
.k-cmp-alt { display: flex; flex-wrap: wrap; gap: 8px; }
.k-cmp-note { margin: 0; color: var(--text-3); font-size: var(--fs-label); }
/* Each attached file reads as a chip with its size and a quiet remove. */
.k-cmp-files { display: flex; flex-wrap: wrap; gap: 6px; }
.k-cmp-files > div { display: inline-flex; gap: 6px; align-items: center; margin: 0; padding: 3px 4px 3px 10px; border: 1px solid var(--line); border-radius: var(--r-small); background: var(--surface); font-size: var(--fs-label); }
.k-cmp-files > div > button, .k-cmp-files > div > button:hover { min-height: 0; height: 22px; padding: 0 6px; border: 0; background: none; box-shadow: none; color: var(--text-3); font-size: var(--fs-body); }
.k-cmp-files > div > button:hover { color: var(--text); }
/* From Documents: the client's files as a short list to tick, filtered as you type. */
.k-cmp-docs { display: flex; flex-direction: column; gap: 8px; padding: 10px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); }
.k-cmp-docs[hidden] { display: none; }
.k-cmp-docsearch.k-input { height: 32px; }
.k-cmp-doclist { display: flex; flex-direction: column; max-height: 220px; overflow: auto; }
.k-cmp-doc { display: flex; gap: 8px; align-items: center; padding: 6px 4px; border-bottom: 1px solid var(--line-faint); font-size: var(--fs-body); cursor: pointer; min-width: 0; }
.k-cmp-doc > .k-grow { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.k-cmp-doc > small { flex: none; color: var(--text-3); font-size: var(--fs-label); }
.k-cmp-doc[hidden] { display: none; }
/* What the composer says when it cannot send or save (a §7216 refusal, the conversation moved on): an alert above it. */
[data-compose-message]:has(+ form.k-compose-form) { margin-bottom: 8px; padding: 8px 12px; border-radius: var(--r-control); background: var(--terra-tint); color: var(--text); font-size: var(--fs-label); line-height: 1.45; outline: none; }
.k-cmp-files > div { flex: none; width: auto; }
/* Saved answers and Reply from notes (CRM-169): the panels reuse From Documents' box; an answer is a title over its first words. */
.k-cmp-answers .k-textarea { width: 100%; }
.k-cmp-answer { display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 1px; width: 100%; min-width: 0; padding: 6px 4px; border: 0; border-bottom: 1px solid var(--line-faint); background: none; box-shadow: none; text-align: left; font: inherit; font-size: var(--fs-body); color: var(--text); cursor: pointer; }
.k-cmp-answer:hover, .k-cmp-answer:focus-visible { background: var(--quiet); }
.k-cmp-answer > b, .k-cmp-answer > span { max-width: 100%; text-align: left; }
.k-cmp-answer > b { font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.k-cmp-answer > span { color: var(--text-3); font-size: var(--fs-label); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.k-cmp-none { padding: 8px 4px; font-size: var(--fs-body); }
.k-cmp-answers .k-callout[data-answers-flags] { display: flex; flex-direction: column; gap: 4px; }
.k-cmp-answers .k-callout mark { background: none; color: var(--terra); font-weight: 600; }
/* Settings > Saved answers: the answer's editor is the composer's, taller than a reply because the answer is the page's one job. */
.k-answer-form .ql-container .ql-editor { min-height: 200px; }
.k-cmp-send > .k-cmp-follow { width: auto; max-width: 100%; }
.k-cmp-send > .k-cmp-go { display: flex; gap: 8px; margin-left: auto; }
.k-cmp-later-day { display: flex; flex-wrap: wrap; gap: 6px; padding: 8px 10px; border-top: 1px solid var(--line-soft); }
.k-cmp-later-day > .k-input { flex: 1 1 100%; min-width: 0; }
.k-cmp-later > .k-menu { width: 240px; top: auto; bottom: 100%; margin-bottom: 4px; }

/* Documents, the shared block (UI-073 stage 8): the Documents page's head (Send files) and a document's own page, which also
   opens beside the list (what it is, its first page, who sent it and when, Read, Download and Ask about it, the requests it
   answered). The list itself is the Requests block (requests.js, requests.css). The markup is Documents' own
   (client-portal-documents.js); its root is .k-kit.k-dc on the page's head and on the document's body. Every rule is the
   portal's own for these parts, re-rooted here in the kit's tokens, so the page and a board draw the same look from this file.
   The resets keep their place under the rest (@layer k-dc-base); the portal's component rules come first, so its other rules
   win where they meet, as they do on the portal.
   A width rule is written twice: for the window (the portal) and for a frame (@container k-dc-frame, a phone board). */
@layer k-dc-base;
.k-dc { --k-dc-inset: 16px; --k-dc-action: 96px; font-family: inherit; font-size: 13px; line-height: 1.55; color: var(--text); }
@media (max-width: 700px) { .k-dc { --k-dc-action: 84px; } }
@container k-dc-frame (max-width: 700px) { .k-dc { --k-dc-action: 84px; } }
@media (max-width: 560px) { .k-dc { --k-dc-inset: 12px; } }
@container k-dc-frame (max-width: 560px) { .k-dc { --k-dc-inset: 12px; } }
/* A link reads as its words unless a rule below colours it (the portal's own base); outside the base layer, so a board's kit link colour does not reach it. */
.k-dc a { color: inherit; text-decoration: none; }
@layer k-dc-base {
:where(.k-dc), :where(.k-dc) *, :where(.k-dc) ::before, :where(.k-dc) ::after { box-sizing: border-box; border-width: 0; border-style: solid; }
:where(.k-dc) :is(h1, h2, h3, p, ul, ol, dl, dd, fieldset) { margin: 0; }
:where(.k-dc) :is(ul, ol) { list-style: none; padding: 0; }
:where(.k-dc) :is(fieldset, legend) { padding: 0; }
:where(.k-dc) :is(button, input, select, textarea) { font: inherit; color: inherit; }
:where(.k-dc) button { cursor: pointer; background: transparent; }
:where(.k-dc) a { color: inherit; text-decoration: none; text-underline-offset: .2em; }
:where(.k-dc) :is(img, svg) { display: block; max-width: 100%; }
:where(.k-dc) :is(h1, h2, h3) { font: inherit; }

}
.portal-page-head.k-dc, .k-dc .portal-page-head { display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px; }
.portal-page-head.k-dc h1, .k-dc .portal-page-head h1 { margin-top: 4px;
    color: var(--text);
    font-family: var(--font), ui-sans-serif, system-ui, sans-serif;
    font-size: 28px;
    font-weight: 800;
    letter-spacing: -.035em;
    line-height: 1.08; }
@media (max-width: 39.9375rem) { .portal-page-head.k-dc, .k-dc .portal-page-head { align-items: start; } }
@container k-dc-frame (max-width: 39.9375rem) { .portal-page-head.k-dc, .k-dc .portal-page-head { align-items: start; } }
.k-dc .portal-overview-panel { overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface); }
.k-dc .portal-overview-panel { overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: var(--surface); }
.k-dc .portal-overview-section-title { display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px var(--k-dc-inset) 8px; }
.k-dc .portal-overview-section-title h2 { color: var(--text);
    font-size: 14.5px;
    font-weight: 600;
    letter-spacing: 0;
    line-height: 1.3; }
.k-dc .portal-overview-row-action { min-height: 34px;
    display: inline-flex;
    align-items: center;
    border: 1px solid var(--control);
    border-radius: 8px;
    background: var(--surface);
    color: var(--text);
    padding: 0 12px;
    font-size: 13.5px;
    font-weight: 500;
    text-decoration: none; }
.k-dc .portal-overview-row-action:hover { border-color: var(--text-5); background: var(--ground); }
.k-dc .portal-overview-row-action.is-primary { border-color: var(--navy); background: var(--navy); color: var(--on-dark); }
.k-dc .portal-overview-row-action.is-primary:hover { border-color: var(--navy-hover); background: var(--navy-hover); color: var(--on-dark); }
.k-dc h1 { font-family: var(--font-serif); }
.k-dc .portal-overview-row-action { gap:8px;white-space:normal;justify-content:center;text-align:center; }
.k-dc .portal-overview-row-action { min-width:var(--k-dc-action); }
.k-dc .upload { position:relative;cursor:pointer;min-height:40px; }
.k-dc .upload input { position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer; }
.k-dc .upload:focus-within { outline:3px solid var(--navy);outline-offset:3px; }
.k-dc .upload:has(input:disabled) { opacity:.6;cursor:wait; }
.proto-panel-stack.k-dc, .k-dc .proto-panel-stack { display:grid;gap:16px; }
.k-dc .proto-panel-foot { padding:12px var(--k-dc-inset);border-top:1px solid var(--line); }
.k-dc .proto-panel-foot a { display:inline-flex; }
.k-dc .proto-people { padding:8px var(--k-dc-inset); }
.k-dc .proto-people li { padding:8px 0;border-bottom:1px solid var(--line);font-size:12px; }
.k-dc .proto-people li:last-child { border-bottom:0; }
@media (max-width:450px) { .portal-page-head.k-dc, .k-dc .portal-page-head { flex-wrap:wrap; } }
@container k-dc-frame (max-width:450px) { .portal-page-head.k-dc, .k-dc .portal-page-head { flex-wrap:wrap; } }
@media (max-width:450px) { .k-dc .portal-overview-row-action { max-width:100%; } }
@container k-dc-frame (max-width:450px) { .k-dc .portal-overview-row-action { max-width:100%; } }
@media print { .k-dc .portal-overview-panel { break-inside:avoid; } }
.k-dc .proto-document-note { margin:6px 0 0;white-space:pre-line;overflow-wrap:anywhere; }
.k-dc .proto-note-edit { margin-top:6px; }
.k-dc .proto-note-edit>summary { display:list-item;width:max-content;max-width:100%;line-height:44px;cursor:pointer;font-weight:600;color:var(--navy); }
.k-dc .proto-note-edit form { display:grid;gap:8px;justify-items:start; }
.k-dc .proto-note-edit textarea { display:block;width:100%;min-height:4.5rem;padding:8px;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--line);resize:vertical; }
.k-dc .portal-overview-action-register li :is(button,input,select,textarea,summary,label,form,a:not(.portal-overview-register-copy>strong>a)) { position:relative;z-index:1; }
.k-dc .portal-overview-action-register li .upload input[type=file] { position:absolute; }
.portal-page-head.k-dc, .k-dc .portal-page-head { margin-bottom:20px; }
.portal-page-head.k-dc h1, .k-dc .portal-page-head h1 { margin:0;font-family:var(--font-serif);font-size:36px;font-weight:400;line-height:1.06;letter-spacing:-.01em; }
.k-dc .portal-eyebrow { margin:0 0 6px;color:var(--sand);font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase; }
@media (max-width:1023px) { .portal-page-head.k-dc h1, .k-dc .portal-page-head h1 { font-size:30px;line-height:1.08; } }
@container k-dc-frame (max-width:1023px) { .portal-page-head.k-dc h1, .k-dc .portal-page-head h1 { font-size:30px;line-height:1.08; } }
.k-dc .doc-view { display:grid;gap:12px;padding:var(--k-dc-inset); }
.k-dc .doc-thumb { display:grid;place-items:center;height:230px;border-radius:8px;background:var(--pk-stone, var(--neutral-tint));color:var(--text-4);overflow:hidden; }
.k-dc .doc-thumb>svg { width:40px;height:40px; }
.k-dc .doc-thumb-page, .k-dc .doc-thumb-image { max-width:calc(100% - 24px);max-height:calc(100% - 24px);height:auto;width:auto;background:var(--surface);box-shadow:var(--pk-shadow, var(--shadow-float)); }
.k-dc .doc-thumb-page { height:calc(100% - 24px); }
.k-dc .facts { display:grid;grid-template-columns:96px minmax(0,1fr);gap:8px 12px;margin:0;font-size:13.5px; }
.k-dc .facts>div { display:contents; }
.k-dc .facts dt { color:var(--text-2); }
.k-dc .facts dd { margin:0;min-width:0;overflow-wrap:anywhere; }
.k-dc .doc-actions { display:flex;flex-wrap:wrap;align-items:center;gap:8px; }
.k-dc .doc-actions .doc-ask { margin-left:auto;padding:0 2px;color:var(--text-2);font-size:13px;font-weight:400;text-decoration:none; }
.k-dc .doc-actions .doc-ask:hover { text-decoration:underline; }
@media (max-width:700px) { .k-dc .doc-thumb { height:260px; } }
@container k-dc-frame (max-width:700px) { .k-dc .doc-thumb { height:260px; } }
.k-dc .portal-eyebrow { font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--pk-label, var(--text-2)); }
.k-dc .information-request-existing { margin-top:12px; }
.k-dc .information-request-existing summary { cursor:pointer;min-height:44px;align-content:center;font-weight:600; }

/* The block's own rules (not copies of the portal's). A document's page titles itself in the words' size, not the page title's:
   the portal's rule reads the page around the head (.portal-page), outside the root, so the block says it on the head and its
   body. */
.portal-page-head.k-dc:has(+ .k-dc.proto-panel-stack > .doc-view) h1 { font-family: inherit; font-size: 22px; font-weight: 600; line-height: 1.25; letter-spacing: 0; }
@media (max-width: 700px) { .portal-page-head.k-dc:has(+ .k-dc.proto-panel-stack > .doc-view) h1 { font-size: 20px; } }
@container k-dc-frame (max-width: 700px) { .portal-page-head.k-dc:has(+ .k-dc.proto-panel-stack > .doc-view) h1 { font-size: 20px; } }
/* A document read beside the list (the page's card, .beside-open): the card is its frame, so its head stacks over the words and
   its panels lose their own frames, as the portal's frame rules draw it; said here on the block's parts so they outrank the
   block's own copies above. */
.beside-open .portal-page-head.k-dc { display: block; margin: 0 0 12px; }
.beside-open .portal-page-head.k-dc .portal-eyebrow { margin: 0 0 4px; font-size: 11.5px; letter-spacing: .08em; }
.beside-open .portal-page-head.k-dc p:not(.portal-eyebrow) { margin: 6px 0 0; color: var(--text-2); font-size: 13px; }
.beside-open .proto-panel-stack.k-dc { gap: 12px; }
.beside-open .k-dc .portal-overview-panel { padding: 12px 0 0; border: 0; border-top: 1px solid var(--line-soft); border-radius: 0; box-shadow: none; background: none; }
.beside-open > .proto-panel-stack.k-dc > .portal-overview-panel:first-child { padding-top: 0; border-top: 0; }
.beside-open .k-dc .portal-overview-section-title { padding: 0 0 6px; }
.beside-open .k-dc .portal-overview-panel .proto-panel-note, .beside-open .k-dc .portal-overview-panel > p { padding-left: 0; padding-right: 0; }
.beside-open .k-dc .portal-overview-action-register > li { padding-left: 0; padding-right: 0; }
.beside-open .k-dc .doc-view { padding: 0; }
/* Icons on Send files, Read and Download (the PortalDocuments board, Sonny 10/1), sized as the portal's button icons. */
.k-dc .portal-overview-row-action > svg { width: 15px; height: 15px; flex: none; }
.k-dc .portal-overview-row-action:has(> svg) { display: inline-flex; align-items: center; gap: 6px; }
.k-dc .facts dd a { color: var(--navy); text-decoration: underline; text-underline-offset: .2em; }

/* The household picture (app/planning/facts-picture.js, FP-324): a node-link diagram in SVG, laid out to the Facts board. Kit tokens only; node area is dollars; map text is 13px. */
.k-fp { display: flex; flex-direction: column; gap: 12px; color: var(--text); font-family: var(--font); font-size: var(--fs-body); line-height: var(--lh); }
.k-fp > * { min-width: 0; }
.k-fp-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.k-fp-totals { display: flex; flex-wrap: wrap; gap: 8px 32px; }
.k-fp-tot { display: flex; flex-direction: column; gap: 2px; }
.k-fp-tot-l { font-size: var(--fs-label); color: var(--text-4); }
.k-fp-tot-v { font-size: var(--fs-panel); font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; }
.k-fp-tot-m { font-size: var(--fs-micro); color: var(--text-4); }
.k-fp .k-fp-nr { color: var(--text-3); font-weight: 400; }
.k-fp-excl { margin: 6px 0 0; font-size: var(--fs-small); color: var(--text-3); }
.k-fp-table { font-size: var(--fs-body); font-weight: 500; color: var(--navy); text-decoration: none; }
.k-fp-table:hover { color: var(--navy-hover); }
.k-fp-key { display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: var(--fs-label); color: var(--text-3); }
.k-fp-key > span { display: inline-flex; align-items: center; gap: 6px; }
.k-fp-sw { width: 10px; height: 10px; border-radius: 50%; background: var(--k-fp-c); }
.k-fp-scroll { overflow-x: auto; background: var(--surface); border-radius: var(--r-card); box-shadow: 0 0 0 1px var(--line); }
.k-fp-svg { display: block; max-width: 100%; height: auto; margin: 0 auto; }

.k-fp-c-cash { --k-fp-c: var(--d1); } .k-fp-c-investment { --k-fp-c: var(--d3); } .k-fp-c-retirement { --k-fp-c: var(--d5); }
.k-fp-c-property { --k-fp-c: var(--d2); } .k-fp-c-other { --k-fp-c: var(--d6); } .k-fp-c-debt { --k-fp-c: var(--d4); }

.k-fp-edge { fill: none; stroke: var(--control); stroke-width: 1.5; stroke-linecap: round; }
.k-fp-e-hub { stroke: var(--text-5); stroke-width: 1.75; }
.k-fp-e-own { stroke: var(--control); }
.k-fp-e-gap, .k-fp-e-future { stroke-dasharray: 5 5; }
.k-fp-e-in { stroke: var(--gain); stroke-width: 1.75; }
.k-fp-e-out { stroke: var(--text-4); stroke-width: 1.75; }
.k-fp-e-saving { stroke: var(--d1); } .k-fp-e-giving { stroke: var(--d5); }
.k-fp-mk path { stroke: none; }
.k-fp-mk-in path { fill: var(--gain); } .k-fp-mk-spending path { fill: var(--text-4); } .k-fp-mk-saving path { fill: var(--d1); } .k-fp-mk-giving path { fill: var(--d5); }

.k-fp-n { cursor: pointer; outline: none; }
.k-fp-shape { transition: stroke-width var(--t-fast); }
.k-fp-hubshape { fill: var(--navy); stroke: var(--navy); }
.k-fp-pshape { fill: var(--deep); stroke: var(--deep); }
.k-fp-bubble { fill: color-mix(in srgb, var(--k-fp-c) 22%, var(--surface)); stroke: var(--k-fp-c); stroke-width: 2; }
.k-fp-plate { fill: var(--surface); stroke: var(--line); stroke-width: 1.5; }
.k-fp-plate-ent { fill: var(--sand-wash); stroke: var(--sand-dot); }
.k-fp-plate-in { stroke: var(--navy-line); fill: var(--navy-wash); }
.k-fp-plate-goal { stroke: var(--d6); }
.k-fp-plate-out { fill: var(--surface); }
.k-fp-grouphit { fill: transparent; stroke: none; }
.k-fp-plate-cover { stroke: var(--control); }
.k-fp-gap { fill: none; stroke: var(--control-strong); stroke-dasharray: 5 4; stroke-width: 1.5; }
.k-fp-n:hover .k-fp-shape, .k-fp-n:focus-visible .k-fp-shape { stroke-width: 3.5; }
.k-fp-n:focus-visible .k-fp-shape { stroke: var(--navy); }

.k-fp-svg text { font-family: var(--font); font-variant-numeric: tabular-nums; fill: var(--text-2); font-size: 13px; }
.k-fp-svg .k-fp-name { fill: var(--text-2); }
.k-fp-svg .k-fp-amt { fill: var(--text); font-weight: 600; }
.k-fp-svg .k-fp-neg { fill: var(--terra); }
.k-fp-svg .k-fp-nr { fill: var(--text-3); }
.k-fp-svg .k-fp-note { fill: var(--text-3); }
.k-fp-svg .k-fp-hubname { fill: var(--on-dark); font-weight: 600; font-size: 14px; }
.k-fp-svg .k-fp-pname { fill: var(--deep-text); font-family: var(--font); font-weight: 600; font-size: 16px; }
.k-fp-svg .k-fp-psub { fill: var(--deep-muted); font-size: 13px; }
.k-fp-svg .k-fp-grp .k-fp-name { fill: var(--text-3); }
.k-fp-svg .k-fp-grp .k-fp-amt { fill: var(--text); font-weight: 600; }

.k-fp-list { display: none; }
.k-fp-lg + .k-fp-lg { margin-top: 12px; }
.k-fp-lh { margin: 0 0 4px; font-size: var(--fs-label); font-weight: 600; color: var(--text-4); }
.k-fp-list ul { list-style: none; margin: 0; padding: 0; background: var(--surface); border-radius: var(--r-card); box-shadow: 0 0 0 1px var(--line); }
.k-fp-list li + li { border-top: 1px solid var(--line-soft); }
.k-fp-list a { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 12px; padding: 10px 14px; color: var(--text); text-decoration: none; }
.k-fp-li-v { font-weight: 600; font-variant-numeric: tabular-nums; text-align: right; }
.k-fp-li-v.k-fp-nr { font-weight: 400; }
.k-fp-li-m { grid-column: 1 / -1; font-size: var(--fs-small); color: var(--text-4); }
@media (max-width: 720px) { .k-fp-list { display: block; } }
@media (prefers-reduced-motion: reduce) { .k-fp-shape { transition: none; } }

/* Proposals on the Facts screens (FP-324 phase 1): a value waiting to be accepted, side by side with what is on record.
   Markup is app/planning/facts-proposals-ui.js. Tokens only. */
.k-fx-waitline { padding: 0 2px; }
.k-fx-wait { color: var(--accent, var(--text-2)); font-weight: 500; }
.k-fx-props { display: flex; flex-direction: column; gap: 12px; }
.k-fx-props > h2 { margin-bottom: 0; }
.k-fx-prop { display: flex; flex-direction: column; gap: 10px; padding: 16px; background: var(--surface, #fff); border: 1px solid var(--line); border-radius: var(--r-card, var(--r-small)); min-width: 0; }
.k-fx-prop h3 { margin: 0; font-size: var(--fs-body); font-weight: 600; }
.k-fx-cmp { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: start; gap: 16px; }
.k-fx-side { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.k-fx-side b { font-size: 1.25rem; font-weight: 600; font-variant-numeric: tabular-nums; letter-spacing: -.01em; }
.k-fx-side small { overflow-wrap: anywhere; }
.k-fx-arrow { color: var(--text-3); padding-top: 22px; }
.k-fx-acts { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; }
.k-fx-acts form { margin: 0; }
.k-fx-decline { display: flex; align-items: center; gap: 8px; }
.k-fx-decline .k-select { width: auto; min-width: 0; }
.k-fx-all { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding: 12px 16px; border: 1px solid var(--line); border-radius: var(--r-small); }
.k-fx-all { margin: 0; }
.k-fx-fu { --cols: minmax(0, 2fr) minmax(0, 1.5fr) auto; }
a.k-fx-lnk .k-fx-sub { display: none; }
a.k-fx-lnk { color: inherit; text-decoration: none; }
a.k-fx-lnk:hover .k-r { text-decoration: underline; }
@media (max-width: 640px) {
  .k-fx-cmp { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .k-fx-arrow { display: none; }
  .k-fx-acts { flex-direction: column; align-items: stretch; }
  .k-fx-acts > form:not(.k-fx-decline) > .k-btn { width: 100%; }
  .k-fx-decline { width: 100%; }
  .k-fx-decline .k-select { flex: 1 1 auto; }
  .k-fx-fu { --cols: minmax(0, 1fr) auto; }
  .k-fx-fu > .k-tr > :nth-child(2) { display: none; }
  a.k-fx-lnk .k-fx-sub { display: block; }
}
.k-fx-side b .k-fx-nr { font-size: var(--fs-body); }
@media (max-width: 640px) { .k-fx-decline .k-btn { flex: 0 0 auto; } }
.k-fx-decline .k-select { flex: 1 1 10rem; min-width: 9rem; }
.k-fx-wait { white-space: nowrap; }

/* Facts screens (FP-324 phase 1): the frame, the table, one fact open beside it, the statements. Markup is
   app/planning/facts-views.js. Tokens only; the rest comes from the kit's table, figures, seg and page classes. */
.k-fx { background: var(--ground); }
/* The frame (Work.dc.html): the household, then its destinations as the only navigation. */
.k-fx-bar { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 32px; padding: 0 24px; min-height: 52px; background: var(--ink, #15171C); color: #F4F2EC; }
.k-fx-hh { font-family: var(--font-serif); font-size: 1.375rem; line-height: 1.2; padding: 10px 0; overflow-wrap: anywhere; }
.k-fx-dest { display: flex; flex-wrap: wrap; gap: 0 28px; }
.k-fx-dest a, .k-fx-dest .k-fx-off { display: inline-flex; align-items: center; gap: 7px; min-height: 52px; padding-top: 2px; font-size: var(--fs-body); font-weight: 500; color: #B7BBC4; border-bottom: 2px solid transparent; text-decoration: none; }
.k-fx-dest a:hover { color: #fff; }
.k-fx-dest a[aria-current="page"] { color: #fff; border-bottom-color: #F4F2EC; }
.k-fx-dest .k-fx-off { color: #8E929B; }
.k-fx-badge { display: inline-block; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px; background: var(--saffron, #E3A92B); color: var(--ink, #15171C); font-size: var(--fs-small); font-weight: 600; line-height: 18px; text-align: center; }
.k-fx-crumb { display: flex; gap: 6px; padding: 12px 24px 0; font-size: var(--fs-body); color: var(--text-3); }
.k-fx-titlerow { display: flex; align-items: flex-end; justify-content: space-between; flex-wrap: wrap; gap: 12px 16px; padding: 22px 24px 16px; }
.k-fx-titlerow h1 { margin: 0; font-family: var(--font-serif); font-weight: 400; font-size: 2.5rem; line-height: 1.1; }
.k-fx-titleacts { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.k-fx-body { display: flex; flex-direction: column; gap: 14px; }
.k-fx-figures { flex-wrap: wrap; border-top: 1px solid var(--line); }
.k-fx-figures > .k-figure > span { font-size: var(--fs-small); }
.k-fx-bandnote { padding: 8px 24px 0; }
.k-fx-note { font-size: var(--fs-small); color: var(--text-3); }
.k-fx-nr { color: var(--text-2); font-weight: 500; }
a.k-fx-nr { text-decoration: underline; text-decoration-style: dotted; text-underline-offset: 3px; }
a.k-fx-nr:hover { color: var(--navy); }
.k-fx-mark { font-size: var(--fs-small); font-weight: 400; color: var(--text-3); margin-left: 6px; }
.k-fx-empty { padding: 14px 16px; color: var(--text-3); font-size: var(--fs-body); }
.k-fx-tools { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 14px; }
.k-fx-tools .k-list-search { margin: 0; flex: 1 1 200px; }
.k-fx-main { min-width: 0; }
.k-fx-sec { margin-bottom: 28px; min-width: 0; scroll-margin-top: 12px; }
.k-fx-sec > h2 { margin: 0 0 8px; font-size: var(--fs-section); font-weight: 600; }
.k-fx-sec > h3 { margin: 0 0 8px; font-size: var(--fs-small); font-weight: 600; letter-spacing: .02em; color: var(--text-3); }
/* Names wrap; they are never clipped with an ellipsis. */
.k-fx .k-tr > span, .k-fx .k-tr > a { white-space: normal; overflow: visible; text-overflow: clip; overflow-wrap: anywhere; min-width: 0; }
.k-fx .k-tr { padding-block: 6px; }
.k-fx-cols { --cols: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1.5fr) minmax(0, .9fr) minmax(0, 1.2fr); }
.k-fx-cols.k-fx-c-people { --cols: minmax(0, 2fr) minmax(0, 1fr) 4rem 5rem minmax(0, 1.4fr); }
.k-fx-cols.k-fx-c-goals { --cols: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1.5fr) minmax(0, 1.2fr); } /* Name, For, When, Amount */
.k-fx-st { --cols: minmax(0, 1.6fr) minmax(0, 1.2fr) minmax(0, .8fr); }
.k-fx-hist { --cols: 7rem minmax(0, 1fr) auto; }
.k-fx-cols small { font-size: var(--fs-small); }
.k-tr.sel { background: var(--navy-wash); }
.k-fx-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.k-fx-title h2 { margin: 0; font-size: 1.375rem; font-weight: 600; line-height: 1.2; }
.k-fx-title .k-muted { margin-top: 2px; }
.k-fx-value { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; }
.k-fx-value b { font-size: 1.5rem; font-weight: 600; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.k-fx-value b small { font-size: var(--fs-small); font-weight: 400; color: var(--text-3); letter-spacing: 0; }
.k-fx-head .k-fx-value { align-items: flex-end; }
.k-fx-ended { display: flex; flex-direction: column; gap: 2px; padding: 10px 14px; margin-bottom: 16px; background: var(--st-wait-tint); color: var(--st-wait-ink); border-radius: var(--r-small); font-size: var(--fs-body); }
.k-fx-kv { display: grid; grid-template-columns: minmax(0, 8rem) minmax(0, 1fr); gap: 8px 16px; margin: 0; font-size: var(--fs-body); }
.k-fx-kv dt { color: var(--text-3); }
.k-fx-kv dd { margin: 0; min-width: 0; overflow-wrap: anywhere; }
.k-fx-on { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin: 12px 0 20px; }
.k-fx-on .k-input { width: auto; }
/* One fact open: the table keeps its place, the board's panel sits beside it. */
.k-fx-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, 32rem); gap: 0 24px; align-items: start; }
.k-fx-tcol { min-width: 0; }
.k-fx-panel { position: sticky; top: 12px; max-height: calc(100vh - 24px); overflow-y: auto; background: var(--surface); border-radius: var(--r-card); box-shadow: 0 0 0 1px var(--line), 0 12px 32px rgba(21, 23, 28, .10); padding: 20px 22px; min-width: 0; }
.k-fx-ph { margin-bottom: 16px; }
.k-fx-phtop { display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: var(--fs-small); }
.k-fx-close { display: inline-flex; align-items: center; gap: 6px; color: var(--text-3); text-decoration: none; font-size: 1.125rem; line-height: 1; }
.k-fx-close:hover { color: var(--text); }
.k-fx-back { display: none; font-size: var(--fs-body); }
.k-fx-name { margin: 6px 0 10px; font-size: 1.375rem; font-weight: 600; line-height: 1.25; overflow-wrap: anywhere; }
.k-fx-panel .k-fx-sec { margin-bottom: 20px; }
.k-fx-footbar { position: sticky; bottom: -20px; display: flex; gap: 8px; padding: 12px 0; background: var(--surface); border-top: 1px solid var(--line-soft); }
/* Changing facts (facts-edit.js): the row of what can be done, and the one form in the panel. */
.k-fx-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin: 0; }
.k-fx-row { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.k-fx-inline { margin: 0; display: flex; gap: 8px; align-items: center; }
.k-fx-discard { flex-wrap: wrap; }
.k-fx-discard .k-select { width: auto; min-width: 11rem; }
.k-fx-edit { max-width: 760px; }
.k-fx-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 20px; }
.k-fx-panel .k-fx-fields { grid-template-columns: minmax(0, 1fr); }
.k-fx-fields > * { min-width: 0; }
.k-fx-cond[hidden] { display: none; }
.k-fx-err { color: var(--terra); font-size: var(--fs-small); }
.k-fx-callout { margin: 0 0 14px; }
.k-fx-callout .k-check { margin-top: 6px; }
.k-fx-pick { --cols: 9rem minmax(0, 1fr); }
.k-fx-linked { --cols: minmax(0, 1fr) auto; }
.k-fx-linked + .k-fx-row { margin-top: 10px; }
.k-fx-linked .k-r { display: flex; justify-content: flex-end; gap: 6px; }
/* Beside the panel the table keeps name, who and the amount; the rest is in the panel. */
.k-fx-tcol .k-fx-cols, .k-fx-tcol .k-fx-cols.k-fx-c-people { --cols: minmax(0, 1.8fr) minmax(0, 1fr) auto; }
.k-fx-tcol .k-fx-cols > .k-tr > :nth-child(3), .k-fx-tcol .k-fx-cols > .k-tr > :nth-child(4) { display: none; }
.k-fx-tcol .k-fx-cols > .k-tr.groupsum > .k-span-4 { grid-column: 1 / span 2; }
/* Goals: Amount is the fourth column and the one kept (name, for, amount); When is in the panel. */
.k-fx-tcol .k-fx-cols.k-fx-c-goals > .k-tr > :nth-child(3) { display: none; }
.k-fx-tcol .k-fx-cols.k-fx-c-goals > .k-tr > :nth-child(4) { display: block; }
.k-fx .k-r { white-space: nowrap; }
.k-fx-tcol .k-r small { white-space: normal; }
@media (max-width: 1100px) {
  .k-fx-split { grid-template-columns: minmax(0, 1fr) minmax(320px, 26rem); gap: 0 16px; }
}
/* The phone: the fact is the page; the table steps aside. All five figures show, wrapped. */
@media (max-width: 860px) {
  .k-fx-split { grid-template-columns: minmax(0, 1fr); }
  .k-fx-split > .k-fx-tcol { display: none; }
  .k-fx-panel { position: static; max-height: none; box-shadow: none; padding: 0 16px 20px; background: transparent; }
  .k-fx-back { display: inline; }
}
@media (max-width: 640px) {
  .k-fx-bar { padding-inline: 16px; gap: 0 20px; }
  .k-fx-dest { gap: 0 8px; }
  .k-fx-dest a, .k-fx-dest .k-fx-off { padding-inline: 6px; }
  .k-fx .k-tr a:not(.k-btn) { display: inline-block; padding-block: 6px; }
  .k-fx-titlerow { padding-top: 12px; padding-bottom: 10px; }
  .k-fx-titlerow h1 { font-size: 1.75rem; }
  .k-fx-bar { min-height: 0; }
  .k-fx-kv dd a { display: inline-block; padding-block: 5px; }
  .k-fx-close { min-height: 32px; padding-inline: 4px; }
  .k-fx-hh { padding: 8px 0 0; font-size: 1.25rem; }
  .k-fx-dest a, .k-fx-dest .k-fx-off { min-height: 44px; }
  .k-fx-crumb, .k-fx-titlerow { padding-inline: 16px; }
  .k-fx-bandnote { padding-inline: 16px; }
  .k-fx .k-band.k-figures.k-fx-figures { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); overflow: visible; }
  .k-fx-figures.k-figures > .k-figure { min-width: 0; padding: 10px 8px 10px 12px; border-bottom: 1px solid var(--line-soft); }
  .k-fx-figures .k-figure b { font-size: .9375rem; white-space: nowrap; }
  .k-fx .k-band.k-figures.k-fx-figures > .k-figure { grid-column: auto; }
  .k-fx-figures .k-figure > span { white-space: normal; }
  .k-fx-cols, .k-fx-cols.k-fx-c-people, .k-fx-cols.k-fx-c-goals { --cols: minmax(0, 1fr) auto; }
  .k-fx-cols > .k-tr:not(.groupsum):not(.head) > :nth-child(2), .k-fx-cols > .k-tr:not(.groupsum):not(.head) > :nth-child(3), .k-fx-cols > .k-tr:not(.groupsum):not(.head) > :nth-child(4),
  .k-fx-cols > .k-tr.head > :nth-child(2), .k-fx-cols > .k-tr.head > :nth-child(3), .k-fx-cols > .k-tr.head > :nth-child(4) { display: none; }
  .k-fx-cols.k-fx-c-goals > .k-tr:not(.groupsum):not(.head) > :nth-child(4), .k-fx-cols.k-fx-c-goals > .k-tr.head > :nth-child(4) { display: block; }
  .k-fx-cols > .k-tr.groupsum > .k-span-4 { grid-column: auto; }
  .k-fx-st { --cols: minmax(0, 1fr) auto; }
  .k-fx-st > .k-tr { row-gap: 0; padding-block: 8px; }
  .k-fx-st > .k-tr > :nth-child(1) { grid-column: 1; grid-row: 1; }
  .k-fx-st > .k-tr > :nth-child(2) { grid-column: 1; grid-row: 2; font-size: var(--fs-small); }
  .k-fx-st > .k-tr > :nth-child(2):empty { display: none; }
  .k-fx-st > .k-tr > :nth-child(3) { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
  .k-fx-hist { --cols: 5.5rem minmax(0, 1fr) auto; }
  .k-fx-head .k-fx-value { align-items: flex-start; }
  .k-fx-actions { align-items: stretch; }
  .k-fx-fields { grid-template-columns: minmax(0, 1fr); }
  .k-fx-pick { --cols: 6rem minmax(0, 1fr); }
}

/* Meetings, the shared block (meetings.js, CP-119). Ported from the approved boards' rules (kit-boards additions/portal-meetings.css)
   onto the block's own names: Coming up is the one lifted surface with an ink date tile; past meetings sit open on the ground
   under a kicker and quiet year labels, their tiles the quiet gray; Your team beside them. No purple (Sonny 9/30). Under 700px
   the column stacks: Coming up, then the lists, then the team. */
.k-meet { container: k-meet / inline-size; display: flex; flex-direction: column; gap: 22px; min-width: 0; }
/* In the portal, a page with Your team beside the meetings takes the width of the portal's other two-column pages (its
   one-column pages stop at 820px; day one stays one column). Taxes widens its page the same way. */
.portal-page.portal-page:has(> .k-meet > .k-meet-body:not(.solo)) { max-width: 1148px; }
.k-meet-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin: 0; }
.k-meet-head h1 { margin: 0; font-family: var(--font-serif); font-size: 36px; font-weight: 400; line-height: 1.1; letter-spacing: 0; color: var(--text); }
.k-meet-body { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 0 44px; align-items: start; }
.k-meet-body.solo { grid-template-columns: minmax(0, 1fr); }
.k-meet-main { display: flex; flex-direction: column; gap: 36px; min-width: 0; max-width: 1120px; }

/* A date tile: ink for the next meeting, the quiet gray for every other. */
.k-meet-date { flex: none; display: flex; flex-direction: column; align-items: center; justify-content: center; width: 40px; height: 44px; border-radius: 9px; background: var(--quiet); }
.k-meet-date > small { font-size: 10.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--text-3); }
.k-meet-date > b { margin-top: 3px; font-size: 16px; font-weight: 600; line-height: 1; color: var(--text); font-variant-numeric: tabular-nums; }
.k-meet-date.ink { background: var(--ink); }
.k-meet-date.ink > small { color: color-mix(in srgb, var(--on-dark) 72%, var(--ink)); }
.k-meet-date.ink > b { color: var(--on-dark); }
.k-meet-date.lg { width: 64px; height: 72px; border-radius: 12px; }
.k-meet-date.lg > small { font-size: 11.5px; }
.k-meet-date.lg > b { margin-top: 5px; font-size: 28px; }

/* Coming up, the page's focus: a white surface lifted off the ground. */
.k-meet-next { container-type: inline-size; padding: 22px 28px 26px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-card); box-shadow: 0 1px 2px rgba(21, 23, 28, .05), 0 14px 30px -18px rgba(21, 23, 28, .3); }
.k-meet-h { margin: 0 0 16px; font-size: 16px; font-weight: 600; letter-spacing: -.005em; color: var(--text); }
.k-meet-feature { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 10px 24px; }
.k-meet-info { min-width: 0; }
.k-meet-info > .k-meet-state { margin: 0 0 4px; font-size: 13px; font-weight: 600; color: var(--navy); }
.k-meet-info h3 { margin: 0; font-size: 20px; font-weight: 600; line-height: 1.25; letter-spacing: -.01em; color: var(--text); }
.k-meet-info p { margin: 4px 0 0; font-size: 14.5px; color: var(--text-2); }
.k-meet-who { display: flex; align-items: center; gap: 8px; margin-top: 14px; font-size: 13.5px; color: var(--text); }
.k-meet-who > b { font-weight: 500; }
.k-meet-av { flex: none; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--navy-tint); color: var(--navy); font-size: 10.5px; font-weight: 600; }
.k-meet-tag { display: inline-block; padding: 1px 8px; border-radius: var(--r-pill); background: var(--neutral-tint); font-size: 12px; font-weight: 500; color: var(--text-2); white-space: nowrap; }
.k-meet-acts { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
@container (max-width: 780px) {
  .k-meet-feature { grid-template-columns: auto minmax(0, 1fr); }
  .k-meet-feature > .k-meet-acts { grid-column: 2; margin-top: 8px; }
}

/* An open section on the ground: a kicker over the page's one heavy rule, then rows; years are small quiet labels. */
.k-meet-open, .k-meet-team { min-width: 0; }
.k-meet-kick { padding-bottom: 8px; border-bottom: 1px solid var(--text); }
.k-meet-kick > span { font-size: 11.5px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--text-2); }
.k-meet-yr { margin-top: 14px; padding: 0 0 6px; border-bottom: 1px solid var(--line-soft); font-size: 11.5px; font-weight: 600; letter-spacing: .07em; color: var(--text-3); }
.k-meet-list { display: flex; flex-direction: column; }
.k-meet-row { position: relative; display: flex; align-items: center; gap: 14px; min-height: 60px; padding: 8px 14px; margin-inline: -14px; border-radius: 8px; color: var(--text); text-decoration: none; }
.k-meet-row + .k-meet-row::after { content: ""; position: absolute; top: 0; left: 14px; right: 14px; height: 1px; background: var(--line-soft); }
a.k-meet-row:hover { background: var(--surface); }
a.k-meet-row:focus-visible { outline: none; box-shadow: var(--focus-ring); }
.k-meet-two { display: flex; flex-direction: column; gap: 2px; flex: 1 1 auto; min-width: 0; }
.k-meet-two > span:first-child, .k-meet-two > b { font-size: 14px; font-weight: 500; color: var(--text); }
.k-meet-two > small { font-size: 13px; color: var(--text-3); }
.k-meet-two > .k-meet-tag { align-self: flex-start; margin-top: 4px; white-space: normal; }
.k-meet-chev { flex: none; color: var(--text-4); }

/* Your team: the people, named. */
.k-meet-people { display: flex; flex-direction: column; padding-top: 4px; }
.k-meet-person { display: flex; align-items: center; gap: 12px; min-height: 64px; padding: 8px 0; }
.k-meet-person + .k-meet-person { border-top: 1px solid var(--line-soft); }
.k-meet-person > .k-meet-av { width: 36px; height: 36px; font-size: 12px; }

/* Day one: one quiet section, its line, and the team as rows. */
.k-meet-welcome { padding: 26px 30px 12px; background: var(--quiet); border: 1px solid var(--line); border-radius: var(--r-card); }
.k-meet-welcome > h2 { margin: 0; font-size: 18px; font-weight: 600; letter-spacing: -.01em; color: var(--text); }
.k-meet-welcome > p { margin: 6px 0 0; font-size: 14.5px; color: var(--text-2); }
.k-meet-welcome > .k-meet-acts { margin: 18px 0 16px; }
.k-meet-welcome > .k-meet-people { margin-top: 18px; padding-top: 0; }
.k-meet-welcome > .k-meet-acts + .k-meet-people { margin-top: 0; }
.k-meet-welcome .k-meet-person { min-height: 68px; padding: 10px 0; border-top: 1px solid var(--line); }
.k-meet-welcome .k-meet-person > .k-meet-av { width: 40px; height: 40px; font-size: 13px; background: var(--surface); box-shadow: inset 0 0 0 1px var(--line); }

/* ---- A phone (the page under 700px): one column; the next meeting first with its one primary action; history as lists by
   year; the team last. Join the call fills the card, Reschedule and Cancel share a row under it. ---- */
@container k-meet (max-width: 700px) {
  .k-meet { gap: 16px; }
  .k-meet-head h1 { font-size: 30px; }
  .k-meet-body { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .k-meet-main { gap: 28px; }
  .k-meet-next { padding: 18px; border-radius: 16px; }
  .k-meet-h { margin-bottom: 14px; font-size: 14.5px; }
  .k-meet-feature { grid-template-columns: auto minmax(0, 1fr); gap: 0 16px; align-items: start; }
  .k-meet-feature > .k-meet-acts { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 16px; }
  .k-meet-feature > .k-meet-acts > .k-btn { justify-content: center; min-height: 44px; }
  .k-meet-feature > .k-meet-acts > .k-btn.primary { grid-column: 1 / -1; height: 48px; font-size: 15px; }
  .k-meet-info h3 { font-size: 18px; }
  .k-meet-info p { font-size: 14px; }
  .k-meet-row { min-height: 56px; margin-inline: 0; padding-inline: 0; }
  .k-meet-row + .k-meet-row::after { left: 0; right: 0; }
  .k-meet-welcome { padding: 20px 18px 6px; }
  .k-meet-welcome > .k-meet-acts > .k-btn { flex: 1 1 auto; justify-content: center; min-height: 44px; }
}

/* Just booked, or a time that is no longer open: one quiet line over the page. */
.k-meet-notice { display: flex; align-items: flex-start; gap: 10px; padding: 12px 16px; border-radius: var(--r-card); background: var(--olive-tint); color: var(--olive-text); font-size: 14px; }
.k-meet-notice > p { margin: 0; color: var(--text); }
.k-meet-notice > p > b { font-weight: 600; }
.k-meet-notice > [data-icon] { flex: none; margin-top: 2px; }
.k-meet-notice.warn { background: var(--sand-tint); }

/* The booking page (CRM-171): back link over the title, what to book, a strip of open days, the day's times, then the chosen
   time on the page's one lifted surface. Every choice is a link; the chosen one is ink. */
.k-meet-book { max-width: 820px; }
.k-meet-back { display: inline-flex; align-items: center; gap: 4px; margin-bottom: 6px; font-size: 13.5px; }
.k-meet-choose, .k-meet-times { display: flex; flex-wrap: wrap; gap: 8px; }
.k-meet-chip { display: inline-flex; align-items: center; justify-content: center; min-height: 40px; padding: 0 16px; border: 1px solid var(--line); border-radius: var(--r-pill); background: var(--surface); color: var(--text); font-size: 14px; font-weight: 500; text-decoration: none; font-variant-numeric: tabular-nums; }
.k-meet-chip:hover { border-color: var(--control-strong); }
.k-meet-chip.on { background: var(--ink); border-color: var(--ink); color: var(--on-dark); }
.k-meet-chip:focus-visible, .k-meet-day:focus-visible { outline: none; box-shadow: var(--focus-ring); }
.k-meet-days { display: grid; grid-template-columns: repeat(auto-fill, minmax(76px, 1fr)); gap: 8px; }
.k-meet-day { display: flex; flex-direction: column; align-items: center; gap: 3px; padding: 10px 6px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); color: var(--text); text-decoration: none; }
.k-meet-day > small { font-size: 11.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--text-3); }
.k-meet-day > b { font-size: 15px; font-weight: 600; font-variant-numeric: tabular-nums; }
.k-meet-day:hover { border-color: var(--control-strong); }
.k-meet-day.on { background: var(--ink); border-color: var(--ink); color: var(--on-dark); }
.k-meet-day.on > small { color: color-mix(in srgb, var(--on-dark) 72%, var(--ink)); }
.k-meet-times { padding-top: 14px; }
.k-meet-zone { margin: 12px 0 0; font-size: 13px; color: var(--text-3); }
.k-meet-confirm { display: flex; align-items: center; justify-content: space-between; gap: 12px 24px; flex-wrap: wrap; }
@container k-meet (max-width: 700px) {
  .k-meet-days { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .k-meet-times { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .k-meet-chip { min-height: 44px; padding: 0 8px; }
  .k-meet-confirm { flex-direction: column; align-items: stretch; }
  .k-meet-confirm > .k-meet-acts > .k-btn { flex: 1 1 auto; justify-content: center; height: 48px; font-size: 15px; }
}

/* Messages, the shared block (UI-073 stage 9): the Messages page's head (New message), the conversation list (each
   conversation's words, its last line, its tag and day), a conversation on its own page and in the card beside the list, and
   New message. The bar and paging are the Requests block's (requests.js, requests.css). The markup is Messages' own
   (tax-report-question-inbox.js, client-portal-question-pages.js, tax-report-question-pages.js); its root is .k-kit.k-ms on the
   head, the list's card and a conversation's body. Every rule is the portal's own for these parts, re-rooted here in the kit's
   tokens, so the page and a board draw the same look from this file. The resets keep their place under the rest
   (@layer k-ms-base); the portal's component rules come first, so its other rules win where they meet, as they do on the portal.
   A width rule is written twice: for the window (the portal) and for a frame (@container k-ms-frame, a phone board). */
@layer k-ms-base;
.k-ms { --k-ms-inset: 16px; --k-ms-action: 96px; font-family: inherit; font-size: 13px; line-height: 1.55; color: var(--text); }
@media (max-width: 700px) { .k-ms { --k-ms-action: 84px; } }
@container k-ms-frame (max-width: 700px) { .k-ms { --k-ms-action: 84px; } }
@media (max-width: 560px) { .k-ms { --k-ms-inset: 12px; } }
@container k-ms-frame (max-width: 560px) { .k-ms { --k-ms-inset: 12px; } }
/* A link reads as its words unless a rule below colours it (the portal's own base); outside the base layer, so a board's kit link colour does not reach it. */
.k-ms a { color: inherit; text-decoration: none; }
@layer k-ms-base {
:where(.k-ms), :where(.k-ms) *, :where(.k-ms) ::before, :where(.k-ms) ::after { box-sizing: border-box; border-width: 0; border-style: solid; }
:where(.k-ms) :is(h1, h2, h3, p, ul, ol, dl, dd, fieldset) { margin: 0; }
:where(.k-ms) :is(ul, ol) { list-style: none; padding: 0; }
:where(.k-ms) :is(fieldset, legend) { padding: 0; }
:where(.k-ms) :is(button, input, select, textarea) { font: inherit; color: inherit; }
:where(.k-ms) button { cursor: pointer; background: transparent; }
:where(.k-ms) a { color: inherit; text-decoration: none; text-underline-offset: .2em; }
:where(.k-ms) :is(img, svg) { display: block; max-width: 100%; }
:where(.k-ms) :is(h1, h2, h3) { font: inherit; }

}
.portal-page-head.k-ms, .k-ms .portal-page-head { display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px; }
.portal-page-head.k-ms h1, .k-ms .portal-page-head h1 { margin-top: 4px;
    color: var(--text);
    font-family: var(--font), ui-sans-serif, system-ui, sans-serif;
    font-size: 28px;
    font-weight: 800;
    letter-spacing: -.035em;
    line-height: 1.08; }
@media (max-width: 39.9375rem) { .portal-page-head.k-ms, .k-ms .portal-page-head { align-items: start; } }
@container k-ms-frame (max-width: 39.9375rem) { .portal-page-head.k-ms, .k-ms .portal-page-head { align-items: start; } }
.portal-overview-panel.k-ms, .k-ms .portal-overview-panel { overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface); }
.k-ms .portal-overview-action-register { border-top: 0; }
.k-ms .portal-overview-action-register li { display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  min-height: 56px;
  padding: 8px var(--k-ms-inset);
  border-top: 1px solid var(--line-soft);
  background: var(--surface);
  transition: background 120ms cubic-bezier(.2, .7, .2, 1); }
.k-ms .portal-overview-action-register li:hover { background: var(--ground); }
.k-ms .portal-overview-register-copy strong, .k-ms .portal-overview-register-copy small { display: block; }
.k-ms .portal-overview-register-copy strong { color: var(--text);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.3; }
.k-ms .portal-overview-register-copy small { margin-top: 2px;
  overflow: hidden;
  color: var(--text-3);
  font-size: 12.5px;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap; }
.k-ms .portal-overview-action-register a, .k-ms .portal-overview-text-link { color: var(--navy);
  font-size: 13.5px;
  font-weight: 500;
  text-decoration: none; }
.k-ms .portal-overview-action-register a:hover, .k-ms .portal-overview-text-link:hover { text-decoration: underline; text-underline-offset: 3px; }
.portal-overview-panel.k-ms, .k-ms .portal-overview-panel { overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: var(--surface); }
.k-ms .portal-overview-row-action { min-height: 34px;
    display: inline-flex;
    align-items: center;
    border: 1px solid var(--control);
    border-radius: 8px;
    background: var(--surface);
    color: var(--text);
    padding: 0 12px;
    font-size: 13.5px;
    font-weight: 500;
    text-decoration: none; }
.k-ms .portal-overview-row-action:hover { border-color: var(--text-5); background: var(--ground); }
.k-ms .portal-overview-row-action.is-primary { border-color: var(--navy); background: var(--navy); color: var(--on-dark); }
.k-ms .portal-overview-row-action.is-primary:hover { border-color: var(--navy-hover); background: var(--navy-hover); color: var(--on-dark); }
.k-ms h1 { font-family: var(--font-serif); }
.k-ms .portal-overview-register-copy { min-width:0; }
.k-ms .proto-request-list>li { position:relative; }
.k-ms .proto-request-list .portal-overview-register-copy small { white-space:normal;overflow:visible; }
.k-ms .portal-overview-row-action { gap:8px;white-space:normal;justify-content:center;text-align:center; }
.k-ms .portal-overview-row-action { min-width:var(--k-ms-action); }
.proto-panel-stack.k-ms, .k-ms .proto-panel-stack { display:grid;gap:16px; }
.k-ms .proto-panel-note, .k-ms .proto-panel-body { padding:var(--k-ms-inset);color:var(--text-2); }
.k-ms .proto-profile-form { display:grid;gap:16px; }
.k-ms .proto-profile-other>label { font-weight:600; }
.k-ms .proto-profile-form :is(input:not([type=checkbox]):not([type=hidden]),select,textarea) { display:block;width:100%;min-width:0;min-height:40px;padding:8px 12px;background:var(--surface);border:1px solid var(--line);border-radius:7px;color:var(--text); }
.k-ms .proto-profile-form textarea { resize:vertical; }
.k-ms .proto-profile-other { padding:var(--k-ms-inset); }
.k-ms .proto-profile-other h2 { font-size:16px;font-weight:650; }
.k-ms .proto-profile-other .proto-employment { padding-left:0;padding-right:0; }
.k-ms .proto-profile-other>label { display:block;margin-top:16px; }
.k-ms .proto-profile-other>p { color:var(--text-2);margin:6px 0 12px;max-width:75ch; }
@media (max-width:450px) { .portal-page-head.k-ms, .k-ms .portal-page-head { flex-wrap:wrap; } }
@container k-ms-frame (max-width:450px) { .portal-page-head.k-ms, .k-ms .portal-page-head { flex-wrap:wrap; } }
@media (max-width:450px) { .k-ms .portal-overview-row-action { max-width:100%; } }
@container k-ms-frame (max-width:450px) { .k-ms .portal-overview-row-action { max-width:100%; } }
@media print { .portal-overview-panel.k-ms, .k-ms .portal-overview-panel { break-inside:avoid; } }
.k-ms .proto-question-context>h2 { margin-bottom:12px; }
.k-ms .proto-new-reply { color:var(--navy);font-weight:700; }
.k-ms .portal-overview-register-copy>.proto-new-reply, .k-ms .request-row-actions>.proto-new-reply, .k-ms .request-row>.proto-new-reply { display:inline-block;margin-top:2px;padding:0 6px;border-radius:999px;background:color-mix(in srgb,var(--terra) 13%,var(--surface));color:var(--terra);font-size:12px;line-height:1.5; }
.proto-question-workspace.k-ms, .k-ms .proto-question-workspace { max-width:52rem;min-width:0; }
.proto-question-workspace.k-ms .proto-profile-form :is(input, textarea), .k-ms .proto-question-workspace .proto-profile-form :is(input, textarea) { font-size:1rem;line-height:1.5; }
.proto-question-workspace.k-ms .proto-profile-form label, .k-ms .proto-question-workspace .proto-profile-form label { display:block;font-weight:650;margin:16px 0 8px; }
.proto-question-workspace.k-ms .proto-profile-form label:first-child, .k-ms .proto-question-workspace .proto-profile-form label:first-child { margin-top:0; }
.k-ms .proto-question-actions { display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:16px; }
.k-ms .proto-document-title { display:inline-flex;align-items:center;min-height:40px;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:.2em; }
.k-ms .proto-document-title:hover { text-decoration-color:currentColor; }
.k-ms .portal-overview-register-copy>strong>.proto-document-title { display:inline;min-height:0;color:var(--text);font-size:14px;font-weight:500;line-height:1.3;text-decoration:none; }
.k-ms .proto-profile-other>.portal-overview-section-title { margin:calc(var(--k-ms-inset) * -1) calc(var(--k-ms-inset) * -1) 8px;padding:12px var(--k-ms-inset) 4px; }
.k-ms .proto-profile-other h2 { margin-bottom:12px; }
.k-ms .proto-profile-other .proto-past-jobs { margin-top:8px;padding:0; }
.k-ms .proto-profile-other .proto-past-jobs summary { min-height:40px;align-content:center;cursor:pointer;font-weight:600;color:var(--text-2);text-decoration:none; }
.k-ms .proto-profile-other .proto-past-jobs summary::marker { color:var(--text-3); }
.k-ms .proto-profile-other .proto-past-jobs .proto-employment { padding:8px 0 0; }
.portal-page-head.k-ms h1+p, .k-ms .portal-page-head h1+p { margin-top:4px;color:var(--text-2); }
.k-ms .proto-visually-hidden { position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0; }
.k-ms .portal-overview-action-register li { position:relative; }
.k-ms .portal-overview-action-register li:hover { transform:none;box-shadow:none;background:transparent; }
.k-ms .portal-overview-action-register li:has(.portal-overview-register-copy>strong>a):hover { background:color-mix(in srgb,var(--surface) 88%,var(--navy-tint)); }
.k-ms .portal-overview-register-copy>strong>a::after { content:"";position:absolute;inset:0; }
.k-ms .portal-overview-action-register li :is(button,input,select,textarea,summary,label,form,a:not(.portal-overview-register-copy>strong>a)) { position:relative;z-index:1; }
.portal-page-head.k-ms, .k-ms .portal-page-head { margin-bottom:20px; }
.portal-page-head.k-ms h1, .k-ms .portal-page-head h1 { margin:0;font-family:var(--font-serif);font-size:36px;font-weight:400;line-height:1.06;letter-spacing:-.01em; }
.k-ms .portal-eyebrow { margin:0 0 6px;color:var(--sand);font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase; }
@media (max-width:1023px) { .portal-page-head.k-ms h1, .k-ms .portal-page-head h1 { font-size:30px;line-height:1.08; } }
@container k-ms-frame (max-width:1023px) { .portal-page-head.k-ms h1, .k-ms .portal-page-head h1 { font-size:30px;line-height:1.08; } }
.portal-overview-panel.k-ms>.portal-overview-action-register:first-child>li:first-child, .k-ms .portal-overview-panel>.portal-overview-action-register:first-child>li:first-child { border-top:0; }
.list-card.k-ms>.portal-overview-action-register>li:first-child, .k-ms .list-card>.portal-overview-action-register>li:first-child { border-top:1px solid var(--line-soft); }
.k-ms .doc-date { color:var(--text-2);font-size:13px;white-space:nowrap;font-variant-numeric:tabular-nums; }
.k-ms .request-state:empty { display:none; }
.k-ms .convo-list li { align-items:start; }
.k-ms .convo-list .proto-document-title { display:inline-flex;align-items:center;gap:7px; }
.k-ms .convo-list li.is-unread .proto-document-title { font-weight:600; }
.k-ms .proto-request-list .portal-overview-register-copy small.convo-last { display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis; }
.k-ms .convo-tag { display:inline-block;margin-top:6px;padding:2px 8px;border-radius:999px;background:var(--pk-stone, var(--neutral-tint));color:var(--text-2);font-size:11.5px;font-weight:500; }
.k-ms .newdot { width:7px;height:7px;flex:none;border-radius:50%;background:var(--navy); }
.k-ms .convo-view { display:grid;gap:0;padding:0; }
.k-ms .convo-view>*:not(.convo):not(.convo-reply) { margin:var(--k-ms-inset) var(--k-ms-inset) 0; }
.k-ms .convo-private { margin:4px 0 0;color:var(--text-2);font-size:13px; }
.k-ms .convo { list-style:none;margin:8px 0 0;padding:0; }
.k-ms .convo-msg { display:flex;gap:12px;padding:16px var(--k-ms-inset);border-top:1px solid var(--line-soft); }
.k-ms .convo-msg:first-child { border-top:0; }
.k-ms .convo-av { display:grid;place-items:center;width:30px;height:30px;flex:none;border-radius:50%;background:var(--pk-bar-3, var(--text));color:var(--on-dark);font-size:11.5px;font-weight:600; }
.k-ms .convo-msg.is-angelus .convo-av { background:var(--navy-tint);color:var(--navy); }
.k-ms .convo-body { min-width:0;flex:1; }
.k-ms .convo-head { font-size:13px; }
.k-ms .convo-head strong { font-weight:600; }
.k-ms .convo-head span { color:var(--text-2); }
.k-ms .convo-body p { margin:4px 0 0;font-size:14px;line-height:1.55;color:var(--text); }
.k-ms .convo-reply { display:grid;gap:10px;padding:14px var(--k-ms-inset) var(--k-ms-inset);border-top:1px solid var(--line-soft); }
.k-ms .convo-reply textarea { display:block;width:100%;min-height:5rem;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);font:inherit;font-size:14px;resize:vertical; }
.k-ms .convo-reply .reply-actions { justify-content:flex-end;margin-top:0; }
.k-ms .portal-eyebrow { font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--pk-label, var(--text-2)); }
.k-ms .reply-actions { display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:16px; }
.k-ms .reply-actions .portal-overview-row-action { min-height:44px; }
@media (max-width:600px) { .k-ms .reply-actions .portal-overview-row-action { width:100%;justify-content:center; } }
@container k-ms-frame (max-width:600px) { .k-ms .reply-actions .portal-overview-row-action { width:100%;justify-content:center; } }

/* The block's own rules (not copies of the portal's). A conversation's page titles itself in the words' size, not the page
   title's: the portal's rule reads the page around the head (.portal-page), outside the root, so the block says it on the head
   and its body. */
.portal-page-head.k-ms:has(+ .k-ms.proto-panel-stack > .convo-view) h1 { font-family: inherit; font-size: 22px; font-weight: 600; line-height: 1.25; letter-spacing: 0; }
@media (max-width: 700px) { .portal-page-head.k-ms:has(+ .k-ms.proto-panel-stack > .convo-view) h1 { font-size: 20px; } }
@container k-ms-frame (max-width: 700px) { .portal-page-head.k-ms:has(+ .k-ms.proto-panel-stack > .convo-view) h1 { font-size: 20px; } }
/* A conversation read beside the list (the page's card, .beside-open): the card is its frame, so its head stacks over the
   words, its panels lose their own frames and the conversation runs to the card's edges, as the portal's frame rules draw it;
   said here on the block's parts so they outrank the block's own copies above. */
.beside-open .portal-page-head.k-ms { display: block; margin: 0 0 12px; }
.beside-open .portal-page-head.k-ms .portal-eyebrow { margin: 0 0 4px; font-size: 11.5px; letter-spacing: .08em; }
.beside-open .portal-page-head.k-ms p:not(.portal-eyebrow) { margin: 6px 0 0; color: var(--text-2); font-size: 13px; }
.beside-open .proto-panel-stack.k-ms { gap: 12px; }
.beside-open .k-ms .portal-overview-panel { padding: 12px 0 0; border: 0; border-top: 1px solid var(--line-soft); border-radius: 0; box-shadow: none; background: none; }
.beside-open > .proto-panel-stack.k-ms > .portal-overview-panel:first-child { padding-top: 0; border-top: 0; }
.beside-open .k-ms .portal-overview-section-title { padding: 0 0 6px; }
.beside-open .k-ms .portal-overview-panel .proto-panel-note, .beside-open .k-ms .portal-overview-panel > p { padding-left: 0; padding-right: 0; }
.beside-open .k-ms .portal-overview-action-register > li { padding-left: 0; padding-right: 0; }
.beside-open .k-ms .convo-view { margin: 0 -16px; }
.beside-open .k-ms .convo-view > .convo-reply { padding-bottom: 0; }
/* The PortalMessages board (Sonny 10/1): a plus on New message, a lock before Private between you and Angelus, and the
   conversation's tag in its head under its status. */
.k-ms .portal-overview-row-action > svg { width: 15px; height: 15px; flex: none; }
.k-ms .portal-overview-row-action:has(> svg) { display: inline-flex; align-items: center; gap: 6px; }
.k-ms .convo-private { display: inline-flex; align-items: center; gap: 6px; }
.k-ms .convo-private > svg { width: 13px; height: 13px; flex: none; }
.k-ms .convo-about { margin: 8px 0 0; }

/* Notices (CRM-118, approved 10/6). Toasts at the top right (the comms edge tab and panel hold the right edge and lower right);
   the bell in the person foot opens the list above it. */
.k-notice-toasts { position: fixed; top: 16px; right: 24px; z-index: 60; display: flex; flex-direction: column; gap: 8px; width: 380px; }
.k-notice-toast { display: flex; align-items: center; gap: 10px; padding: 10px 10px 10px 12px; background: var(--surface); border: 1px solid var(--line); border-radius: 12px; box-shadow: var(--shadow-toast); font-size: var(--fs-body); }
.k-notice-toast .k-tile, .k-notice-row .k-tile { width: 28px; height: 28px; flex: none; }
.k-notice-toast .k-tile svg, .k-notice-row .k-tile svg { width: 15px; height: 15px; }
.k-notice-toast small, .k-notice-row small { color: var(--text-3); }
.k-notice-bell { position: relative; }
.k-notice-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--terra); flex: none; }
.k-notice-bell > .k-notice-dot { position: absolute; top: 3px; right: 3px; box-shadow: 0 0 0 2px var(--ink, #14161C); }
.k-notice-list { position: fixed; left: 16px; bottom: 64px; z-index: 60; width: 400px; max-height: min(640px, calc(100vh - 96px)); display: flex; flex-direction: column; background: var(--surface); border: 1px solid var(--line); border-radius: 12px; box-shadow: var(--shadow-dialog); }
.k-notice-head { display: flex; align-items: center; gap: 14px; padding: 12px 14px 8px; font-size: var(--fs-body); }
.k-notice-head .k-link { background: none; border: 0; padding: 0; font: inherit; font-size: var(--fs-label); cursor: pointer; }
.k-notice-dnd { display: flex; gap: 8px; align-items: center; margin: 0 14px 8px; padding: 8px 10px; border-radius: 8px; background: var(--note-wash); font-size: var(--fs-label); }
.k-notice-dnd .k-link { background: none; border: 0; padding: 0; font: inherit; cursor: pointer; }
.k-notice-filter { padding: 0 14px 8px; }
.k-notice-rows { overflow: auto; border-top: 1px solid var(--line-soft); padding: 4px 6px 8px; }
.k-notice-day { padding: 10px 8px 4px; font-size: var(--fs-micro); font-weight: 600; color: var(--text-4); }
.k-notice-row { display: flex; align-items: center; gap: 10px; padding: 8px; border-radius: 8px; color: var(--text); text-decoration: none; font-size: var(--fs-body); }
.k-notice-row:hover { background: var(--navy-wash); }
.k-notice-row:not(.unread) { color: var(--text-2); }
.k-notice-row.unread > .k-two > span:first-child { font-weight: 600; }
.k-notice-at { font-size: var(--fs-label); color: var(--text-3); white-space: nowrap; }
/* The person foot without a name (Sonny 10/3): the avatar is the My settings button. */
.k-me a.k-av.k-me-av { color: var(--ink-count-text); background: var(--ink-count); text-decoration: none; cursor: pointer; transition: box-shadow .12s; }
.k-me-av:hover, .k-me-av:focus-visible { outline: none; box-shadow: 0 0 0 2px var(--ink, #14161C), 0 0 0 4px var(--ink-muted); }
.k-notice-head form { display: contents; }
.k-notice-empty { margin: 0; padding: 16px 8px; color: var(--text-3); font-size: var(--fs-body); }
.k-notice-list[hidden] { display: none; }
/* On a phone the list and the toasts take the screen's width, above the tab bar. */
@media (max-width: 640px) {
  .k-notice-list { left: 12px; right: 12px; width: auto; bottom: 76px; max-height: calc(100vh - 120px); }
  .k-notice-toasts { left: 12px; right: 12px; width: auto; }
}
/* Each line of a notice stays one line (Sonny 10/6: no text breaking into two lines); the whole sentence is its tooltip. */
.k-notice-toast > .k-two, .k-notice-row > .k-two { min-width: 0; }
.k-notice-toast > .k-two > *, .k-notice-row > .k-two > * { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
/* The settings' switches are buttons that submit (compat.css's legacy button rule must not size them). */
button.k-switch { border: 0; padding: 0; min-height: 0; font: inherit; }
.notice-settings .k-row form { display: contents; }
.notice-settings .k-row > .k-muted { flex: none; white-space: nowrap; }
/* Do not disturb's choices drop under its label when the row cannot hold both; on a phone they sit two by two, all in view. */
.notice-settings .k-row:has(> .k-seg) { flex-wrap: wrap; row-gap: 8px; }
.notice-settings .k-row:has(> .k-seg) > .k-two { min-width: 200px; }
@media (max-width: 640px) { .notice-settings .k-row > .k-seg { display: grid; grid-template-columns: 1fr 1fr; width: 100%; max-width: 100%; } }
/* A kind's name wraps rather than clipping where the page is narrow. */
.notice-settings .k-tr > span:first-child { white-space: normal; }
/* My settings, Notifications: its three sections stand apart as the boards' sections do. */
.notice-settings > section { margin-top: var(--gap-section); }
.notice-settings > .k-subhead + section { margin-top: 8px; }

/* Your numbers (CP-227), the block in numbers.js: the entry table, its phone list, a line's own page, what was sent, and the module's card on Taxes.
   The desktop table and the phone list are both in the markup; width picks one (.k-nm-desk, .k-nm-phone). Kit tokens only. */
.k-nm { font-family: inherit; color: var(--text); }
.k-nm .k-nm-phone { display: none; }
.k-nm .k-body { padding: 0; }
.k-nm .k-nm-form { display: block; }
.k-nm .k-nm-table { --cols: 22px minmax(170px, 1.3fr) 92px 130px minmax(100px, 1fr) 160px; }
.k-nm .k-nm-table.wh { --cols: 22px minmax(170px, 1.3fr) 92px 130px 130px minmax(100px, 1fr) 160px; }
.k-nm .k-nm-sent { --cols: minmax(0, 1.5fr) 120px 190px; }
.k-nm .k-nm-sent.wh { --cols: minmax(0, 1.5fr) 120px 120px 190px; }
.k-nm .k-nm-open { --cols: minmax(0, 1fr) 160px; }
.k-nm .k-nm-bar { display: block; width: 100%; height: 4px; margin-bottom: 14px; }
.k-nm .k-nm-track { fill: var(--line); }
.k-nm .k-nm-fill { fill: var(--navy); transition: width .3s ease; }
.k-nm .k-nm-state { display: block; margin-top: 2px; font-size: var(--fs-small); color: var(--text-3); }
.k-nm .k-nm-err { color: var(--terra); font-size: var(--fs-small); white-space: nowrap; }
.k-nm .k-money:has(> input[aria-invalid="true"]) { border-color: var(--terra); }
.k-nm .k-money > input[aria-invalid="true"] { color: var(--terra); }
.k-nm .k-tr > .k-r { justify-self: end; text-align: right; }
.k-nm .k-tr > .k-two { min-width: 0; }
.k-nm .k-tr .k-money { min-width: 0; }
.k-nm .k-tr > .k-input { width: 100%; min-width: 0; }
.k-nm .k-done[role="img"] { cursor: default; }
.k-nm .k-nm-card-row { display: flex; align-items: center; gap: 12px; padding: 12px 16px; }
.k-nm.k-nm-card .k-nm-bar { margin: 0; border-radius: 0; height: 3px; }
.k-nm.k-nm-line .k-body { padding-top: 8px; }
.k-nm.k-nm-line .k-col { display: flex; flex-direction: column; gap: 12px; }
.k-nm .k-nm-phone .k-btn.primary { width: 100%; justify-content: center; }
@media (max-width: 640px) {
  .k-nm .k-nm-desk { display: none; }
  .k-nm .k-nm-phone { display: block; }
  .k-nm .k-col { display: flex; flex-direction: column; gap: 12px; }
  .k-nm .k-nm-card-row { flex-wrap: wrap; }
}
.portal-skin .portal-page:has(.k-nm) { max-width: 1148px; margin-left: 0; }
.portal-skin .portal-page:has(.k-nm-line) { max-width: 560px; }
.k-nm .k-nm-phone .k-list { padding: 4px 0 0; border-top: 0; }
.k-nm .k-nm-phone .k-list > .k-section-head { margin: 8px 0 4px; }
.k-nm .k-band.k-figures .k-figure { padding: 10px 24px; }
.k-nm .k-card-body { padding-top: 14px; padding-bottom: 12px; }
/* Where you are ends at its figures: no strip below them before the next section. */
.k-nm .k-card-body:has(> .k-figures) { padding-bottom: 0; }
.k-nm .k-figures { border-bottom: 0; }
.k-nm .k-card-body:has(> .k-figures) > .k-nm-bar { margin-bottom: 0; }
/* The page's head sits on the content's own left edge (the portal page already carries the gutter), at 1440 and 375. */
.k-nm .k-head.bare { padding-left: 0; padding-right: 0; }
/* A line's editor: label, field, its quick fill, then the kit's gap to the next label; the quick fill keeps its own width. */
.k-nm .k-fields > .k-field > .k-btn { align-self: flex-start; }
.k-nm .k-fields { grid-template-columns: minmax(0, 1fr); }
@media (max-width: 640px) { .k-nm .k-nm-more { display: none; } }

/* Plan, the shared block (UI-073 stage 7): the client's Plan (what waits on them, one card per kind of fact with each
   row's figure and date, the written plan, the search once the plan is long) and a record's own page (its figure, its facts,
   what is asked about it). The markup is Plan's own (client-portal-plan-view.js); its root is .k-kit.k-pl on the page's head,
   the search and the body. Every rule is the portal's own for these parts, re-rooted here in the kit's tokens, so the page and
   a board draw the same look from this file. The resets keep their place under the rest (@layer k-pl-base); the portal's
   component rules come first, so its other rules win where they meet, as they do on the portal.
   A width rule is written twice: for the window (the portal) and for a frame (@container k-pl-frame, a phone board). */
@layer k-pl-base;
.k-pl { --k-pl-inset: 16px; --k-pl-action: 96px; font-family: inherit; font-size: 13px; line-height: 1.55; color: var(--text); }
@media (max-width: 700px) { .k-pl { --k-pl-action: 84px; } }
@container k-pl-frame (max-width: 700px) { .k-pl { --k-pl-action: 84px; } }
@media (max-width: 560px) { .k-pl { --k-pl-inset: 12px; } }
@container k-pl-frame (max-width: 560px) { .k-pl { --k-pl-inset: 12px; } }
/* A link reads as its words unless a rule below colours it (the portal's own base); outside the base layer, so a board's kit link colour does not reach it. */
.k-pl a { color: inherit; text-decoration: none; }
@layer k-pl-base {
:where(.k-pl), :where(.k-pl) *, :where(.k-pl) ::before, :where(.k-pl) ::after { box-sizing: border-box; border-width: 0; border-style: solid; }
:where(.k-pl) :is(h1, h2, h3, p, ul, ol, dl, dd, fieldset) { margin: 0; }
:where(.k-pl) :is(ul, ol) { list-style: none; padding: 0; }
:where(.k-pl) :is(fieldset, legend) { padding: 0; }
:where(.k-pl) :is(button, input, select, textarea) { font: inherit; color: inherit; }
:where(.k-pl) button { cursor: pointer; background: transparent; }
:where(.k-pl) a { color: inherit; text-decoration: none; text-underline-offset: .2em; }
:where(.k-pl) :is(img, svg) { display: block; max-width: 100%; }
:where(.k-pl) :is(h1, h2, h3) { font: inherit; }

}
.portal-page-head.k-pl, .k-pl .portal-page-head { display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px; }
.portal-page-head.k-pl h1, .k-pl .portal-page-head h1 { margin-top: 4px;
    color: var(--text);
    font-family: var(--font), ui-sans-serif, system-ui, sans-serif;
    font-size: 28px;
    font-weight: 800;
    letter-spacing: -.035em;
    line-height: 1.08; }
@media (max-width: 39.9375rem) { .portal-page-head.k-pl, .k-pl .portal-page-head { align-items: start; } }
@container k-pl-frame (max-width: 39.9375rem) { .portal-page-head.k-pl, .k-pl .portal-page-head { align-items: start; } }
.k-pl .portal-overview-panel { overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface); }
.k-pl .portal-overview-panel { overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: var(--surface); }
.k-pl .portal-overview-row-action { min-height: 34px;
    display: inline-flex;
    align-items: center;
    border: 1px solid var(--control);
    border-radius: 8px;
    background: var(--surface);
    color: var(--text);
    padding: 0 12px;
    font-size: 13.5px;
    font-weight: 500;
    text-decoration: none; }
.k-pl .portal-overview-row-action:hover { border-color: var(--text-5); background: var(--ground); }
.k-pl .portal-overview-row-action.is-primary { border-color: var(--navy); background: var(--navy); color: var(--on-dark); }
.k-pl .portal-overview-row-action.is-primary:hover { border-color: var(--navy-hover); background: var(--navy-hover); color: var(--on-dark); }
.k-pl h1 { font-family: var(--font-serif); }
.k-pl .portal-overview-row-action { gap:8px;white-space:normal;justify-content:center;text-align:center; }
.k-pl .portal-overview-row-action { min-width:var(--k-pl-action); }
.proto-panel-stack.k-pl, .k-pl .proto-panel-stack { display:grid;gap:16px; }
.k-pl .proto-panel-note, .k-pl .proto-panel-body { padding:var(--k-pl-inset);color:var(--text-2); }
.k-pl .proto-panel-body h2:not(.portal-overview-section-title>h2), .k-pl .proto-panel-body legend { font-size:16px;font-weight:700;color:var(--text); }
@media (max-width:450px) { .portal-page-head.k-pl, .k-pl .portal-page-head { flex-wrap:wrap; } }
@container k-pl-frame (max-width:450px) { .portal-page-head.k-pl, .k-pl .portal-page-head { flex-wrap:wrap; } }
@media (max-width:450px) { .k-pl .portal-overview-row-action { max-width:100%; } }
@container k-pl-frame (max-width:450px) { .k-pl .portal-overview-row-action { max-width:100%; } }
@media print { .k-pl .portal-overview-panel { break-inside:avoid; } }
.proto-question-filters.k-pl, .k-pl .proto-question-filters { display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin-bottom:16px; }
.proto-question-filters.k-pl>div, .k-pl .proto-question-filters>div { display:grid;gap:6px;min-width:8rem;flex:1 1 9rem; }
.proto-question-filters.k-pl>div:first-child, .k-pl .proto-question-filters>div:first-child { flex:2 1 16rem;min-width:12rem; }
.proto-question-filters.k-pl :is(input, select), .k-pl .proto-question-filters :is(input, select) { width:100%;min-width:0;min-height:40px;padding:8px;color:var(--text);background:var(--surface);border:1px solid var(--line); }
.k-pl .proto-plan-request-link { display:flex!important;font-size:12px;text-decoration:underline;color:var(--navy);margin-top:6px; }
.proto-plan-record.k-pl [id^="fact-"], .k-pl .proto-plan-record [id^="fact-"] { scroll-margin-top:20px; }
.proto-plan-record.k-pl [id^="fact-"]:target, .k-pl .proto-plan-record [id^="fact-"]:target { background:var(--navy-tint); }
.k-pl .proto-plan-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start; }
.k-pl .proto-plan-card>.pcard-head { padding-block:12px; }
.k-pl .proto-plan-sub { margin:4px 0 0;color:var(--text-3); }
.k-pl .proto-plan-rows { list-style:none;margin:0;padding:0; }
.k-pl .proto-plan-row { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 16px;padding:12px var(--k-pl-inset);border-bottom:1px solid var(--line);color:var(--text);text-decoration:none; }
.k-pl .proto-plan-rows>li:last-child>.proto-plan-row { border-bottom:0; }
.k-pl .proto-plan-row:hover { background:var(--navy-tint); }
.k-pl .proto-plan-row:focus-visible { outline:2px solid var(--navy);outline-offset:-2px; }
.k-pl .proto-plan-row-name { min-width:0;font-weight:650;color:var(--navy);overflow-wrap:anywhere; }
.k-pl .proto-plan-row-figure { font-weight:650;color:var(--text);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap; }
.k-pl .proto-plan-row-figure small { display:block;font-size:12px;font-weight:400;color:var(--text-3); }
.k-pl .proto-plan-row-sub, .k-pl .proto-plan-row-when { font-size:12px;color:var(--text-3); }
.k-pl .proto-plan-row-sub { min-width:0;overflow-wrap:anywhere; }
.k-pl .proto-plan-row-when { text-align:right;white-space:nowrap; }
.k-pl .proto-plan-chip { display:inline-block;padding:0 8px;border:1px solid var(--control);border-radius:7px;font-size:12px;font-weight:600;color:var(--text-2); }
/* The written plan's Read is a button inside its row's link. */
.k-pl .proto-plan-read { pointer-events:none; }
.k-pl .proto-plan-row-figure:has(> .proto-plan-read) { grid-row:span 2;align-self:center; }
.k-pl .proto-plan-row-when:empty { display:none; }
/* What you have and what you owe at the top (the PortalPlan board), drawn as Taxes draws its year's figures. */
.k-pl .plan-figs { display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);border-top:1px solid var(--text);border-bottom:1px solid var(--line); }
.k-pl .plan-figs .fig { min-width:0;padding:12px 18px 14px 0; }
.k-pl .plan-figs .fig+.fig { padding-left:18px;border-left:1px solid var(--line); }
.k-pl .plan-figs .fig span { display:block;color:var(--text-2);font-size:12.5px;font-weight:500; }
.k-pl .plan-figs .fig b { display:block;margin:4px 0 2px;font-family:var(--font-serif);font-size:32px;font-weight:400;line-height:1.1;letter-spacing:-.01em;font-variant-numeric:tabular-nums;white-space:nowrap; }
.k-pl .plan-figs .fig small { color:var(--text-2);font-size:12.5px; }
@media (max-width:560px) { .k-pl .plan-figs .fig b { font-size:24px; } .k-pl .plan-figs .fig+.fig { padding-left:12px; } }
@container k-pl-frame (max-width:560px) { .k-pl .plan-figs .fig b { font-size:24px; } .k-pl .plan-figs .fig+.fig { padding-left:12px; } }
.k-pl .proto-plan-total { display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:12px var(--k-pl-inset);border-top:1px solid var(--control);font-weight:650;font-variant-numeric:tabular-nums; }
.k-pl .proto-plan-total small { font-weight:400;color:var(--text-3); }
.k-pl .proto-plan-more { border-top:1px solid var(--line); }
.k-pl .proto-plan-more>summary { min-height:40px;align-content:center;padding:0 var(--k-pl-inset);color:var(--navy);font-size:12px;font-weight:600;cursor:pointer; }
.k-pl .proto-plan-clear { align-self:center;color:var(--navy);font-weight:600; }
.k-pl .proto-plan-figure { display:grid;gap:4px;padding:20px var(--k-pl-inset);border-bottom:1px solid var(--line); }
.k-pl .proto-plan-figure strong { font-size:calc(24px * 1.6);font-weight:700;line-height:1.1;letter-spacing:-.02em;color:var(--text);font-variant-numeric:tabular-nums;overflow-wrap:anywhere; }
.k-pl .proto-plan-figure span { color:var(--text-3); }
.k-pl .proto-plan-facts { display:grid;grid-template-columns:minmax(8rem,14rem) minmax(0,1fr);margin:0; }
.k-pl .proto-plan-facts>div { display:contents; }
.k-pl .proto-plan-facts dt, .k-pl .proto-plan-facts dd { margin:0;padding:12px var(--k-pl-inset);border-bottom:1px solid var(--line); }
.k-pl .proto-plan-facts dt { color:var(--text-3); }
.k-pl .proto-plan-facts dd { min-width:0;overflow-wrap:anywhere; }
.k-pl .proto-plan-actions { display:flex;flex-wrap:wrap;gap:8px;padding:16px var(--k-pl-inset); }
@media (max-width:860px) { .k-pl .proto-plan-grid { grid-template-columns:minmax(0,1fr); } }
@container k-pl-frame (max-width:860px) { .k-pl .proto-plan-grid { grid-template-columns:minmax(0,1fr); } }
@media (max-width:560px) { .k-pl .proto-plan-figure strong { font-size:calc(24px * 1.33); } }
@container k-pl-frame (max-width:560px) { .k-pl .proto-plan-figure strong { font-size:calc(24px * 1.33); } }
@media (max-width:560px) { .k-pl .proto-plan-facts { grid-template-columns:minmax(0,1fr); } }
@container k-pl-frame (max-width:560px) { .k-pl .proto-plan-facts { grid-template-columns:minmax(0,1fr); } }
@media (max-width:560px) { .k-pl .proto-plan-facts dt { padding-bottom:0;border-bottom:0; } }
@container k-pl-frame (max-width:560px) { .k-pl .proto-plan-facts dt { padding-bottom:0;border-bottom:0; } }
@media (max-width:560px) { .k-pl .proto-plan-facts dd { padding-top:4px; } }
@container k-pl-frame (max-width:560px) { .k-pl .proto-plan-facts dd { padding-top:4px; } }
.k-pl .pcard { min-width:0;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:12px; }
.k-pl .pcard-head { display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:12px var(--k-pl-inset) 8px; }
.k-pl .pcard-head h2 { margin:0;font-size:14.5px;font-weight:600;line-height:1.3;color:var(--text); }
.k-pl .pcard-head small { font-size:12px;color:var(--text-3);text-align:right; }
.portal-page-head.k-pl h1+p, .k-pl .portal-page-head h1+p { margin-top:4px;color:var(--text-2); }
.k-pl .portal-overview-action-register li :is(button,input,select,textarea,summary,label,form,a:not(.portal-overview-register-copy>strong>a)) { position:relative;z-index:1; }
.portal-page-head.k-pl, .k-pl .portal-page-head { margin-bottom:20px; }
.portal-page-head.k-pl h1, .k-pl .portal-page-head h1 { margin:0;font-family:var(--font-serif);font-size:36px;font-weight:400;line-height:1.06;letter-spacing:-.01em; }
.k-pl .portal-eyebrow { margin:0 0 6px;color:var(--sand);font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase; }
@media (max-width:1023px) { .portal-page-head.k-pl h1, .k-pl .portal-page-head h1 { font-size:30px;line-height:1.08; } }
@container k-pl-frame (max-width:1023px) { .portal-page-head.k-pl h1, .k-pl .portal-page-head h1 { font-size:30px;line-height:1.08; } }
.k-pl .portal-eyebrow { font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--pk-label, var(--text-2)); }
/* ---- The living plan (CP-255): the Plan page leads with the plan. Sections sit on the page ground under a rule; the one in
   focus (What to do now) gets the surface. Two columns on a wide page, what to do and the recommendations beside the
   reserves, budget and document; one column, in that order, on a narrow one. A phone has its own composition below. */
.k-pl .plan-live { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(0,1fr); gap:28px 36px; align-items:start; margin-bottom:12px; }
.k-pl .plan-main, .k-pl .plan-side { display:grid; gap:28px; min-width:0; }
.k-pl .plan-sec { min-width:0; }
.k-pl .plan-sec-head { display:flex; justify-content:space-between; align-items:baseline; gap:12px; padding-top:12px; border-top:1px solid var(--text); margin-bottom:12px; }
.k-pl .plan-sec-head h2 { font-size:16px; font-weight:600; line-height:1.3; color:var(--text); }
.k-pl .plan-sec-head span { font-size:12.5px; color:var(--text-3); white-space:nowrap; }
.k-pl .plan-quiet { color:var(--text-3); }
/* What to do now: the surface. Each month is a label and its steps; a step is its day, what it is and who does it, and where it stands. */
.k-pl .plan-now { padding:4px 20px 8px; border:1px solid var(--line); border-radius:12px; background:var(--surface); }
.k-pl .plan-now > .plan-sec-head { border-top:0; margin-bottom:4px; padding-top:14px; }
.k-pl .plan-now > .plan-sec-head h2 { font-size:18px; }
.k-pl .plan-month + .plan-month { margin-top:6px; }
.k-pl .plan-month h3 { padding:10px 0 4px; font-size:11.5px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--text-4); }
.k-pl .plan-step { display:grid; grid-template-columns:92px minmax(0,1fr) auto; gap:4px 16px; align-items:start; padding:12px 0; border-top:1px solid var(--line); scroll-margin-top:20px; }
.k-pl .plan-step-day { padding-top:1px; font-size:13px; color:var(--text-2); font-variant-numeric:tabular-nums; }
.k-pl .plan-step.is-late .plan-step-day { color:var(--st-late-ink); font-weight:600; }
.k-pl .plan-step-what { min-width:0; }
.k-pl .plan-step-what strong { display:block; font-size:14.5px; font-weight:600; line-height:1.35; color:var(--text); overflow-wrap:anywhere; }
.k-pl .plan-step-what small { display:block; margin-top:2px; font-size:12.5px; color:var(--text-3); }
.k-pl .plan-step-what p { margin-top:6px; font-size:13px; color:var(--text-2); }
.k-pl .plan-step-state { padding:2px 9px; border-radius:999px; background:var(--quiet); font-size:12px; font-weight:500; color:var(--text-3); white-space:nowrap; }
.k-pl .plan-step[data-state="you"] .plan-step-state { background:var(--st-due-tint); color:var(--st-due-ink); font-weight:600; }
.k-pl .plan-step[data-state="told"] .plan-step-state, .k-pl .plan-step[data-state="us"] .plan-step-state { background:var(--st-wait-tint); color:var(--st-wait-ink); }
.k-pl .plan-step[data-state="done"] strong { font-weight:500; color:var(--text-2); }
.k-pl .plan-step:target { background:var(--navy-wash); box-shadow:0 0 0 8px var(--navy-wash); border-radius:4px; }
/* The first step that is the person's own carries the page's one filled button; their other steps keep a quiet link. */
.k-pl .plan-step.is-lead strong { font-size:17px; }
.k-pl .plan-step-say { margin-top:10px; }
.k-pl .plan-step-say > summary { list-style:none; width:max-content; cursor:pointer; }
.k-pl .plan-step-say > summary::-webkit-details-marker { display:none; }
.k-pl .plan-step-say[open] > summary.k-btn.primary { background:var(--surface); border-color:var(--control); color:var(--text) !important; }
.k-pl .plan-step-link { display:inline-block; margin-top:8px; font-size:13px; font-weight:600; color:var(--navy); text-decoration:underline; text-underline-offset:.2em; }
.k-pl .plan-step-say > summary.plan-step-link { margin-top:0; }
.k-pl .plan-step-say form { display:grid; gap:6px; margin-top:10px; max-width:440px; }
.k-pl .plan-step-say label { font-size:12.5px; color:var(--text-3); }
.k-pl .plan-step-say textarea { width:100%; min-height:64px; padding:8px 10px; border:1px solid var(--control); border-radius:var(--r-control); background:var(--surface); resize:vertical; }
.k-pl .plan-step-say textarea:focus-visible { outline:2px solid var(--navy); outline-offset:1px; }
.k-pl .plan-done { margin-top:4px; border-top:1px solid var(--line); }
.k-pl .plan-done > summary { padding:12px 0; font-size:13px; font-weight:600; color:var(--text-3); cursor:pointer; }
.k-pl .plan-done .plan-step:first-child { border-top:0; padding-top:0; }
/* The recommendations: each a row that opens the way to answer; its state is the person's own word, or what was agreed. */
.k-pl .plan-recs > li + li { border-top:1px solid var(--line); }
.k-pl .plan-rec { display:grid; grid-template-columns:22px minmax(0,1fr) auto; gap:4px 12px; align-items:start; padding:12px 0; }
.k-pl a.plan-rec:hover .plan-rec-name { color:var(--navy); }
.k-pl a.plan-rec:focus-visible { outline:2px solid var(--navy); outline-offset:2px; border-radius:4px; }
.k-pl .plan-rec-n { padding-top:1px; font-size:13px; color:var(--text-4); font-variant-numeric:tabular-nums; }
.k-pl .plan-rec-name { min-width:0; font-size:14.5px; font-weight:600; line-height:1.35; color:var(--text); overflow-wrap:anywhere; }
.k-pl .plan-rec-name small { display:block; margin-top:2px; font-size:12.5px; font-weight:400; color:var(--text-3); }
.k-pl .plan-rec-state { text-align:right; font-size:13px; font-weight:600; color:var(--text); white-space:nowrap; }
.k-pl .plan-rec-state small { display:block; font-size:12px; font-weight:400; color:var(--text-3); }
.k-pl .plan-rec-state[data-state="agreed"] { font-weight:500; color:var(--text-3); }
.k-pl .plan-recs > li.is-just { background:var(--navy-wash); box-shadow:0 0 0 8px var(--navy-wash); border-radius:4px; }
.k-pl .plan-sent { margin-bottom:8px; font-size:13px; font-weight:600; color:var(--st-ok-ink); }
/* Reserves and debts: each a name with its date, the amount now and the amount it is going to, and a bar only for the reserve. */
.k-pl .plan-tracks > li + li { margin-top:14px; padding-top:14px; border-top:1px solid var(--line); }
.k-pl .plan-track-head { display:flex; justify-content:space-between; align-items:baseline; gap:12px; }
.k-pl .plan-track-head h3 { font-size:14.5px; font-weight:600; color:var(--text); }
.k-pl .plan-track-head span { font-size:12.5px; color:var(--text-2); white-space:nowrap; }
.k-pl .plan-track-fig { display:flex; align-items:baseline; gap:8px; margin-top:4px; font-variant-numeric:tabular-nums; }
.k-pl .plan-track-fig b { font-family:var(--font-serif); font-size:26px; font-weight:400; line-height:1.15; letter-spacing:-.01em; color:var(--gain); }
.k-pl .plan-track-fig i { font-style:normal; color:var(--text-5); }
.k-pl .plan-track-fig span { font-size:14px; color:var(--text-2); }
.k-pl .plan-track progress { display:block; width:100%; height:6px; margin-top:8px; border:0; border-radius:999px; overflow:hidden; background:var(--neutral-tint); appearance:none; -webkit-appearance:none; }
.k-pl .plan-track progress::-webkit-progress-bar { background:var(--neutral-tint); }
.k-pl .plan-track progress::-webkit-progress-value { background:var(--gain); border-radius:999px; }
.k-pl .plan-track progress::-moz-progress-bar { background:var(--gain); border-radius:999px; }
.k-pl .plan-track small { display:block; margin-top:6px; font-size:12.5px; color:var(--text-3); }
.k-pl .plan-path { margin-top:14px; border-top:1px solid var(--line); }
.k-pl .plan-path > summary { padding:10px 0; font-size:13px; font-weight:600; color:var(--navy); cursor:pointer; }
.k-pl .plan-scroll { overflow-x:auto; }
.k-pl .plan-path table { width:100%; border-collapse:collapse; font-size:13px; font-variant-numeric:tabular-nums; }
.k-pl .plan-path :is(th,td) { padding:7px 0 7px 12px; border-top:1px solid var(--line); text-align:right; font-weight:400; white-space:nowrap; }
.k-pl .plan-path :is(th,td):first-child { padding-left:0; text-align:left; color:var(--text-2); }
.k-pl .plan-path thead th { border-top:0; font-size:12px; color:var(--text-4); }
/* The budget's two figures on the plan, and the way into it; the document's row. */
.k-pl .plan-figs.plan-figs-sm { border-top:0; }
.k-pl .plan-figs.plan-figs-sm .fig { padding-top:0; }
.k-pl .plan-figs.plan-figs-sm .fig b { font-size:26px; color:var(--gain); }
.k-pl .plan-open { margin-top:12px; }
.k-pl .plan-doc { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.k-pl .plan-doc-name { min-width:0; font-size:14.5px; font-weight:600; color:var(--text); }
.k-pl .plan-doc-name small { display:block; margin-top:2px; font-size:12.5px; font-weight:400; color:var(--text-3); }
.k-pl .plan-more { display:inline-block; margin-top:10px; font-size:13px; color:var(--navy); text-decoration:underline; text-underline-offset:.2em; }
/* The budget's own view: the way back above its title, its figures, then a card for each group, a line a row. */
.k-pl .plan-back, .portal-page-head.k-pl .plan-back { display:inline-block; margin-bottom:8px; font-size:13px; color:var(--text-3); }
.k-pl .plan-back::before, .portal-page-head.k-pl .plan-back::before { content:"\2190\00a0"; }
.portal-page-head.k-pl .plan-back:hover { color:var(--text); text-decoration:underline; }
.k-pl .plan-line:hover { background:transparent; }
.k-pl.plan-budget .plan-figs .fig b { color:var(--gain); }
@media (max-width:980px) { .k-pl .plan-live { grid-template-columns:minmax(0,1fr); } }
@container k-pl-frame (max-width:980px) { .k-pl .plan-live { grid-template-columns:minmax(0,1fr); } }
/* A phone: a step's day sits above what it is, its state beside the day; the section's surface runs closer to the edge;
   the budget's four figures sit two by two. */
@media (max-width:560px) {
  .k-pl .plan-live, .k-pl .plan-main, .k-pl .plan-side { gap:24px; }
  .k-pl .plan-now { padding:0 14px 4px; }
  .k-pl .plan-step { grid-template-columns:minmax(0,1fr) auto; gap:4px 10px; }
  .k-pl .plan-step-day { grid-column:1; grid-row:1; font-size:12.5px; }
  .k-pl .plan-step-state { grid-column:2; grid-row:1; }
  .k-pl .plan-step-what { grid-column:1 / -1; }
  .k-pl .plan-step.is-lead strong { font-size:16px; }
  .k-pl .plan-step-say > summary.k-btn { width:100%; justify-content:center; height:44px; }
  .k-pl .plan-step-say form .k-btn { width:100%; justify-content:center; height:44px; }
  .k-pl .plan-rec { grid-template-columns:18px minmax(0,1fr); }
  .k-pl .plan-rec-state, .k-pl .plan-rec-respond { grid-column:2; justify-self:start; text-align:left; }
  .k-pl .plan-rec-state small { display:inline; margin-left:6px; }
  .k-pl.plan-budget .plan-figs { grid-auto-flow:row; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .k-pl.plan-budget .plan-figs .fig { padding:10px 10px 12px 0; }
  .k-pl.plan-budget .plan-figs .fig:nth-child(odd) { padding-left:0; border-left:0; }
  .k-pl.plan-budget .plan-figs .fig:nth-child(n+3) { border-top:1px solid var(--line); }
}
@container k-pl-frame (max-width:560px) {
  .k-pl .plan-live, .k-pl .plan-main, .k-pl .plan-side { gap:24px; }
  .k-pl .plan-now { padding:0 14px 4px; }
  .k-pl .plan-step { grid-template-columns:minmax(0,1fr) auto; gap:4px 10px; }
  .k-pl .plan-step-day { grid-column:1; grid-row:1; font-size:12.5px; }
  .k-pl .plan-step-state { grid-column:2; grid-row:1; }
  .k-pl .plan-step-what { grid-column:1 / -1; }
  .k-pl .plan-step.is-lead strong { font-size:16px; }
  .k-pl .plan-step-say > summary.k-btn { width:100%; justify-content:center; height:44px; }
  .k-pl .plan-step-say form .k-btn { width:100%; justify-content:center; height:44px; }
  .k-pl .plan-rec { grid-template-columns:18px minmax(0,1fr); }
  .k-pl .plan-rec-state, .k-pl .plan-rec-respond { grid-column:2; justify-self:start; text-align:left; }
  .k-pl .plan-rec-state small { display:inline; margin-left:6px; }
  .k-pl.plan-budget .plan-figs { grid-auto-flow:row; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .k-pl.plan-budget .plan-figs .fig { padding:10px 10px 12px 0; }
  .k-pl.plan-budget .plan-figs .fig:nth-child(odd) { padding-left:0; border-left:0; }
  .k-pl.plan-budget .plan-figs .fig:nth-child(n+3) { border-top:1px solid var(--line); }
}
@media print { .k-pl .plan-step-say, .k-pl .plan-open, .k-pl .plan-rec-respond { display:none; } .k-pl .plan-now { border:0; padding:0; } }
/* A person's other open steps keep their link out of the way on a wide page until the row is pointed at or reached by key; a phone always shows it. */
@media (hover:hover) and (min-width:561px) {
  .k-pl .plan-step:not(.is-lead) .plan-step-say:not([open]) > summary.plan-step-link { opacity:0; transition:opacity .14s; }
  .k-pl .plan-step:not(.is-lead):is(:hover,:focus-within) .plan-step-say > summary.plan-step-link { opacity:1; }
}
@media (prefers-reduced-motion:reduce) { .k-pl .plan-step-say > summary.plan-step-link { transition:none; } }
.k-pl .plan-path :is(th,td) { padding-left:8px; white-space:normal; }
.k-pl .plan-path tbody :is(th,td) { white-space:nowrap; }
.k-pl .plan-path thead th { vertical-align:bottom; line-height:1.3; }
/* The budget's own view: one list on the page ground. A group is a heading row with its totals, a line is a row: what it is,
   when it is paid, the amount a month and the year. */
.k-pl .plan-lines { max-width:820px; }
.k-pl .plan-line { display:grid; grid-template-columns:minmax(0,1fr) 150px 104px 112px; gap:2px 16px; align-items:baseline; padding:9px 0; border-top:1px solid var(--line); font-size:14px; }
.k-pl .plan-line-name { min-width:0; color:var(--text); overflow-wrap:anywhere; }
.k-pl .plan-line-name small { display:block; font-size:12.5px; color:var(--text-3); }
.k-pl .plan-line-when { font-size:13px; color:var(--text-3); }
.k-pl .plan-line-month, .k-pl .plan-line-year { text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap; }
.k-pl .plan-line-year { color:var(--text-2); }
.k-pl .plan-line-cols { border-top:0; padding:0 0 6px; font-size:12px; color:var(--text-4); }
.k-pl .plan-line-cols span { font-size:12px; color:var(--text-4); }
.k-pl .plan-group { margin-top:22px; }
.k-pl .plan-line-cols + .plan-group { margin-top:0; }
.k-pl .plan-group-head { border-top:1px solid var(--text); padding:12px 0 10px; }
.k-pl .plan-group-head h2 { font-size:15px; font-weight:600; }
.k-pl .plan-group-head :is(.plan-line-month,.plan-line-year) { font-weight:600; color:var(--text); }
@media (max-width:560px) {
  .k-pl .plan-line { grid-template-columns:minmax(0,1fr) auto; gap:1px 12px; padding:10px 0; }
  .k-pl .plan-line-name { grid-column:1; grid-row:1; }
  .k-pl .plan-line-month { grid-column:2; grid-row:1; }
  .k-pl .plan-line-when { grid-column:1; grid-row:2; }
  .k-pl .plan-line-year { grid-column:2; grid-row:2; font-size:12.5px; color:var(--text-3); }
  .k-pl .plan-line-month:empty + .plan-line-year, .k-pl .plan-line-month:empty { font-size:14px; }
  .k-pl .plan-line-cols { display:none; }
  .k-pl .plan-line-month:not(:empty)::after { content:" a month"; font-size:12px; color:var(--text-3); }
  .k-pl .plan-group-head .plan-line-when { display:none; }
}
@container k-pl-frame (max-width:560px) {
  .k-pl .plan-line { grid-template-columns:minmax(0,1fr) auto; gap:1px 12px; padding:10px 0; }
  .k-pl .plan-line-name { grid-column:1; grid-row:1; }
  .k-pl .plan-line-month { grid-column:2; grid-row:1; }
  .k-pl .plan-line-when { grid-column:1; grid-row:2; }
  .k-pl .plan-line-year { grid-column:2; grid-row:2; font-size:12.5px; color:var(--text-3); }
  .k-pl .plan-line-cols { display:none; }
  .k-pl .plan-line-month:not(:empty)::after { content:" a month"; font-size:12px; color:var(--text-3); }
  .k-pl .plan-group-head .plan-line-when { display:none; }
}
/* Small links keep a finger's height on a phone. */
@media (max-width:560px) { .k-pl .plan-step-link, .k-pl .plan-back, .portal-page-head.k-pl .plan-back, .k-pl .plan-more { min-height:32px; display:inline-flex; align-items:center; } .k-pl.plan-budget .plan-figs .fig b { font-size:22px; } .k-pl.plan-budget .plan-figs .fig:nth-child(even) { padding-left:12px; } }
@container k-pl-frame (max-width:560px) { .k-pl .plan-step-link, .k-pl .plan-back, .k-pl .plan-more { min-height:32px; display:inline-flex; align-items:center; } .k-pl.plan-budget .plan-figs .fig b { font-size:22px; } .k-pl.plan-budget .plan-figs .fig:nth-child(even) { padding-left:12px; } }
/* After the reviews (CP-255): the first step says it is first and is marked done in one step; a step the person said is done waits in its own
   quiet group; one figure leads Reserves and debts and each target is a row with the word that says what its amount is. */
.k-pl .plan-step-first { display:block; margin-bottom:4px; font-size:11.5px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--st-due-ink); }
.k-pl .plan-step-form { display:grid; gap:6px; margin-top:10px; max-width:440px; }
.k-pl .plan-step-form label { font-size:12.5px; color:var(--text-3); }
.k-pl .plan-step-form textarea { width:100%; min-height:38px; padding:8px 10px; border:1px solid var(--control); border-radius:var(--r-control); background:var(--surface); resize:vertical; }
.k-pl .plan-step-form textarea:focus-visible { outline:2px solid var(--navy); outline-offset:1px; }
.k-pl .plan-told h3 { color:var(--text-4); }
.k-pl .plan-told .plan-step strong { font-weight:500; color:var(--text-2); }
.k-pl .plan-lead { padding-bottom:16px; }
.k-pl .plan-lead h3 { font-size:14.5px; font-weight:600; color:var(--text); }
.k-pl .plan-lead .plan-track-fig b { font-size:32px; }
.k-pl .plan-lead progress { display:block; width:100%; height:6px; margin-top:8px; border:0; border-radius:999px; overflow:hidden; background:var(--neutral-tint); appearance:none; -webkit-appearance:none; }
.k-pl .plan-lead progress::-webkit-progress-bar { background:var(--neutral-tint); }
.k-pl .plan-lead progress::-webkit-progress-value { background:var(--gain); border-radius:999px; }
.k-pl .plan-lead progress::-moz-progress-bar { background:var(--gain); border-radius:999px; }
.k-pl .plan-lead small { display:block; margin-top:6px; font-size:12.5px; color:var(--text-3); }
.k-pl .plan-tracks > li.plan-track, .k-pl .plan-tracks > li + li.plan-track { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:2px 12px; margin-top:0; padding:10px 0; border-top:1px solid var(--line); }
.k-pl .plan-track-name { min-width:0; font-size:14px; font-weight:600; color:var(--text); }
.k-pl .plan-track-name small { display:block; margin-top:0; font-size:12.5px; font-weight:400; color:var(--text-3); }
.k-pl .plan-track-amount { text-align:right; font-size:14px; font-weight:600; font-variant-numeric:tabular-nums; color:var(--text); white-space:nowrap; }
.k-pl .plan-track-amount small { display:inline; margin:0 0 0 5px; font-size:12.5px; font-weight:400; color:var(--text-3); }
.k-pl .plan-track-date { grid-column:2; text-align:right; font-size:12.5px; color:var(--text-2); white-space:nowrap; }
.k-pl .plan-track-name { grid-row:span 2; }
/* A narrow page reads in the order a person needs it: what to do, where the money stands, the recommendations, the budget, the document. */
@media (max-width:980px) {
  .k-pl .plan-live { display:flex; flex-direction:column; gap:26px; }
  .k-pl .plan-main, .k-pl .plan-side { display:contents; }
  .k-pl .plan-now { order:1; } .k-pl .plan-side > .plan-sec:first-child { order:2; } .k-pl #recommendations { order:3; } .k-pl .plan-side > .plan-sec { order:4; }
}
@container k-pl-frame (max-width:980px) {
  .k-pl .plan-live { display:flex; flex-direction:column; gap:26px; }
  .k-pl .plan-main, .k-pl .plan-side { display:contents; }
  .k-pl .plan-now { order:1; } .k-pl .plan-side > .plan-sec:first-child { order:2; } .k-pl #recommendations { order:3; } .k-pl .plan-side > .plan-sec { order:4; }
}
@media (max-width:560px) { .k-pl .plan-step-form .k-btn { width:100%; justify-content:center; height:44px; } .k-pl .plan-line-when:empty { display:none; } }
@container k-pl-frame (max-width:560px) { .k-pl .plan-step-form .k-btn { width:100%; justify-content:center; height:44px; } .k-pl .plan-line-when:empty { display:none; } }
/* A version made on the new page (FP-392): the questions follow the recommendations, and a page with nothing in one column is one column. */
.k-pl .plan-live.plan-one { grid-template-columns:minmax(0,1fr); max-width:720px; }
.k-pl .plan-rec-name .plan-rec-note { white-space:pre-line; }
.k-pl .plan-rec-name .plan-rec-effect { font-weight:500; color:var(--text-2); font-variant-numeric:tabular-nums; }
.k-pl .plan-asks .plan-rec { grid-template-columns:minmax(0,1fr); }
.k-pl .plan-asks .plan-rec-name small a { color:var(--navy); text-decoration:underline; text-underline-offset:.2em; }
@media (max-width:980px) { .k-pl #questions { order:3; } .k-pl .plan-live .plan-sec.plan-record { order:5; } .k-pl .plan-live { align-items:stretch; } }
@container k-pl-frame (max-width:980px) { .k-pl #questions { order:3; } .k-pl .plan-live .plan-sec.plan-record { order:5; } .k-pl .plan-live { align-items:stretch; } }

/* Publishing (CRM-239): the staff pages for library resources and updates (community/publishing-pages.js).
   The reader itself is community/publication-reader.css, shared with the community and portal pages; that sheet reads the portal's
   tokens, so the wrapper below names them from the kit's. Layout only; every colour is the kit's. Served with the kit (server.js KIT_CSS). */

.k-pub-list { --cols: minmax(0, 1.8fr) 132px minmax(0, 1fr) 96px 96px; --cols-phone: minmax(0, 1fr) 84px; }

/* The text as a reader sees it: the portal's names for the kit's tokens, and the reader laid on a plain card. */
.k-pub-reader { --deep-blue: var(--navy); --space-md: 16px; }
.k-pub-reader .publication-reader { margin: 0; max-width: none; border: 1px solid var(--line); border-top: 3px solid var(--navy); border-radius: var(--r-card); color: var(--text); font-size: var(--fs-body); }
.k-pub-reader .portal-eyebrow { margin: 0; font-size: var(--fs-label); font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--text-3); }
.k-pub-reader .publication-summary { color: var(--text-2); }
.k-pub-reader .community-link { color: var(--navy); text-decoration: underline; }
.k-pub-reader .course-source { display: block; margin-top: 24px; padding-top: 14px; border-top: 1px solid var(--line); color: var(--text-3); font-size: var(--fs-small); }
.k-pub-reader .course-source .community-prose { margin: 6px 0 0; line-height: 1.5; }

/* The record's side column: who receives it, what is missing, the publish form. */
.k-pub-readers { list-style: none; padding: 0; margin: 8px 0 0; display: grid; gap: 4px; font-size: var(--fs-small); color: var(--text-2); max-height: 240px; overflow: auto; }
.k-pub-missing { margin: 0 0 10px; padding-left: 18px; display: grid; gap: 4px; }
.k-pub-form { display: grid; gap: 12px; }

/* The editor: the full text is Quill over the plain field (the community's control, community/browser.js). */
.k-pub-body .k-pub-editor { border: 1px solid var(--control); border-radius: var(--r-control); background: var(--surface); overflow: hidden; }
.k-pub-body .k-pub-editor:focus-within { border-color: var(--navy); box-shadow: var(--focus-ring); }
.k-pub-body .k-pub-editor [hidden] { display: none; }
.k-pub-body .k-pub-editor .ql-toolbar.ql-snow { border: 0; border-bottom: 1px solid var(--line); background: var(--ground); font-family: inherit; }
.k-pub-body .k-pub-editor .ql-container.ql-snow { border: 0; font: inherit; font-size: var(--fs-body); }
.k-pub-body .k-pub-editor .ql-editor { color: var(--text); line-height: var(--lh-prose); }
.k-pub-body .ql-snow .ql-stroke { stroke: var(--text-2); }
.k-pub-body .ql-snow .ql-fill { fill: var(--text-2); }
.k-pub-body .ql-snow button.ql-active .ql-stroke { stroke: var(--navy); }
.k-pub-body .ql-snow button.ql-active .ql-fill { fill: var(--navy); }

/* The form is one column on a phone; the type switch sits clear of the first field. */
#pub-form .k-radio-seg { margin-bottom: 12px; }
@media (max-width: 640px) { #pub-form .k-fields { grid-template-columns: minmax(0, 1fr); } }

/* The questionnaire, the shared block (CP-166; PortalQuestionnaire and PortalPhoneQuestionnaire): the client's tax questionnaire one
   page at a time. A thin step bar by section, the section list with ticks (a computer), a few items a page, Back and Next at the
   foot. Never a count of questions. The rules are the boards' own (kit-boards additions/questionnaire.css) with the phone's written
   for the window; the page's own markup is kit/blocks/questionnaire.js. */
.k-stepbar { display: flex; gap: 4px; margin: 0; padding: 0; list-style: none; }
.k-stepbar > li { flex: 1 1 0; height: 4px; border-radius: 2px; background: var(--line); }
.k-stepbar > li.done { background: var(--olive); }
.k-stepbar > li.now { background: var(--navy); }
.k-qn.k-head { padding: 0; background: transparent; border-bottom: 0; }
.k-qn.k-head > .k-crumb { margin-bottom: 8px; }
.k-qn.k-head > .k-head-row { margin-bottom: 0; }
.k-qn.k-head > .k-stepbar { margin: 14px 0 18px; max-width: 1040px; }

.k-qpage { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 24px; align-items: start; max-width: 1040px; }
.k-qpage > * { min-width: 0; }
.k-steplist { position: sticky; top: 20px; }
.k-steplist > a.k-row { gap: 10px; min-height: 40px; color: var(--text-2); text-decoration: none; }
.k-steplist > a.k-row[aria-current="page"] { background: var(--navy-wash); color: var(--text); font-weight: 600; }
.k-steplist > a.k-row > .k-done { margin-left: auto; flex-shrink: 0; }

.k-qcard { display: flex; flex-direction: column; }
.k-qcard > .k-section-head { padding: 16px 20px 4px; }
.k-q { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 10px 24px; padding: 16px 20px; border-top: 1px solid var(--line-soft); }
.k-section-head + .k-q { border-top: 0; }
.k-q > * { min-width: 0; }
.k-q-text > p { margin: 0; font-size: 14px; line-height: 1.45; color: var(--text); }
.k-q-text > p > .k-chip { margin-left: 6px; vertical-align: 1px; }
.k-q-text > small { display: block; margin-top: 3px; font-size: 12.5px; line-height: 1.45; color: var(--text-3); }
.k-q-text > small[hidden], .k-q-follow[hidden] { display: none; }
.k-q-text > small .k-link { padding: 0; font-size: inherit; }
.k-q.confirm { grid-template-columns: minmax(0, 1fr); background: var(--navy-wash); border-bottom: 1px solid var(--navy-line); }
.k-q-follow { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 8px 24px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); }
.k-q-follow > * { min-width: 0; }
.k-q .portal-chips > label { white-space: nowrap; }
.k-q .portal-chips { align-self: start; }
.k-q-text > .k-q-lead { margin: 0 0 8px; font-size: 13px; font-weight: 600; color: var(--text-2); }
.k-q-docs { list-style: none; margin: 0 0 12px; padding: 0; display: grid; gap: 6px; }
.k-q-docs > li { display: flex; align-items: center; gap: 10px; min-height: 40px; padding: 8px 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); font-size: 14px; color: var(--text); }
.k-q-docs > li > .k-q-doc-ico { display: inline-flex; flex-shrink: 0; color: var(--text-3); }
.k-q-docs > li > .k-q-doc-ico > svg { width: 16px; height: 16px; }
.k-q-docs > li > small { margin-left: auto; font-size: 12.5px; color: var(--text-3); text-align: right; }
.k-q-docs > li > .k-chip { margin-left: auto; }
/* "One of these..." picks from the rows themselves: a tick box where the file icon was. */
.k-q-docs > li > .k-q-pick { display: none; width: 18px; height: 18px; margin: 0; flex-shrink: 0; accent-color: var(--navy); }
.k-q.confirm[data-mode="dropped"] .k-q-docs > li > .k-q-pick { display: block; }
.k-q-docs > li > .k-q-pick:disabled { opacity: .6; cursor: default; }
.k-q.confirm[data-mode="dropped"] .k-q-docs > li:has(> .k-q-pick) > .k-q-doc-ico { display: none; }
.k-q.confirm > .k-q-follow { grid-template-columns: minmax(0, 1fr); }
.k-q-follow > .k-label { font-size: 13px; font-weight: 500; color: var(--text); }
.k-q-follow > .k-input { width: 100%; max-width: 320px; }
.k-q > .k-q-field, .k-q-follow > .k-q-field { grid-column: 1 / -1; }
.k-q-field > .k-textarea { width: 100%; max-width: 560px; }
.k-q-field > .k-q-amount { display: inline-flex; align-items: center; gap: 6px; color: var(--text-3); }
.k-q-field > .k-q-amount > .k-input { width: 9em; }
.k-q-field > .k-input.count { width: 5em; }
.k-qfoot { display: flex; align-items: center; gap: 12px; padding: 14px 20px; border-top: 1px solid var(--line); background: var(--surface); }
.k-qfoot > .k-grow { text-align: center; font-size: 12.5px; color: var(--text-3); }
.k-qfoot > .k-grow.is-error { color: var(--terra); }
.k-qn-note { margin: 0; padding: 16px 20px 4px; font-size: 13px; color: var(--text-2); }
/* What Angelus has on file (About you, Household): one card a person, its facts as a list, an Edit on each line and one tap to confirm all of it. */
.k-qdl { margin: 0; padding: 0; }
.k-qdl-row { display: grid; grid-template-columns: 150px minmax(0, 1fr) auto; gap: 12px; align-items: center; min-height: 48px; padding: 8px 20px; border-top: 1px solid var(--line-soft); font-size: 14px; }
.k-qn-note + .k-qdl > .k-qdl-row:first-child { border-top: 0; }
.k-qdl-row > dt { margin: 0; color: var(--text-3); font-size: 13px; }
.k-qdl-row > dd { margin: 0; min-width: 0; }
.k-qdl-row > .k-q-val { font-weight: 500; overflow-wrap: anywhere; }
.k-qdl-row > .k-q-val.is-blank { color: var(--text-3); font-weight: 400; }
.k-qdl-row > .k-q-act { display: flex; align-items: center; gap: 8px; justify-content: flex-end; }
.k-qdl-row .k-link { padding: 0; font-size: 13px; }
.k-qconfirm { display: flex; align-items: center; min-height: 72px; padding: 16px 20px 18px; border-top: 1px solid var(--line-soft); }
.k-qconfirmed { display: inline-flex; align-items: center; gap: 8px; margin: 0; font-size: 14px; font-weight: 500; color: var(--st-ok-ink); }
.k-qconfirmed[hidden] { display: none; }
.k-qpending { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; margin: 0; font-size: 13px; color: var(--text-2); }
.k-qpending[hidden] { display: none; }
/* A line edited where it stands: its fields open under it, the line's value and Edit step aside, Send change and Cancel below. */
.k-qdl-row.is-editing { background: var(--surface-2); }
.k-qdl-row.is-editing > .k-q-act { visibility: hidden; }
.k-qdl-row > .k-qdl-edit { grid-column: 1 / -1; display: grid; gap: 12px; padding: 4px 0 8px; }
.k-qdl-row > .k-qdl-edit[hidden] { display: none; }
.k-qdl-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 16px; }
.k-qdl-fields > .is-wide { grid-column: 1 / -1; }
.k-qdl-fields .k-input, .k-qdl-fields .k-select { height: 38px; }
.k-qdl-act { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; }
.k-qdl-act > small { color: var(--text-3); font-size: 12px; }
.k-qdl-edit > .k-qlist-error { margin: 0; padding: 0; }
.k-qdl-row .k-q-val > .k-chip { margin-left: 8px; vertical-align: 1px; }
.k-qdl-row.is-sent { animation: k-qdl-sent .2s ease; }
@keyframes k-qdl-sent { from { background: var(--surface-2); } }
@media (prefers-reduced-motion: reduce) { .k-qdl-row.is-sent { animation: none; } }
.k-qconfirmed > span { display: inline-grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: var(--st-ok); color: var(--surface); }
.k-qconfirmed > span > svg { width: 14px; height: 14px; stroke-width: 2.5; }

/* A checklist page (CP-234): "Which of these applied to you?" as tiles and None of these. A ticked tile opens what it follows inside it; an unticked
   tile the IRS already has a form for opens "Tell us why". Nothing saves as a tile is ticked; Next commits the page. Drawn as tiles with an icon
   each, two to a row on a computer, headings on a long page (Sonny 10/29: "spruce it up"); the real checkbox stays in each tile for the keyboard
   and screen readers, the tick beside the words is its drawing. */
.k-qcard > .k-qhead { display: flex; align-items: center; justify-content: flex-start; gap: 12px; padding: 18px 20px 0; }
.k-qhead > h2 { margin: 0; }
.k-qhead-ico { display: inline-grid; place-items: center; width: 36px; height: 36px; flex-shrink: 0; border-radius: var(--r-control); background: var(--navy-tint); color: var(--navy); }
.k-qhead-ico > svg { width: 19px; height: 19px; }
.k-qhead > .k-btn, .k-qhead > button { margin-left: auto; }
.k-qlist-head { padding: 12px 20px 2px; }
.k-qlist-lead { margin: 0; font-family: var(--font-serif); font-size: 23px; font-weight: 400; line-height: 1.25; color: var(--text); }
.k-qlist-sub { margin: 6px 0 0; font-size: 13px; line-height: 1.45; color: var(--text-3); }
.k-qlist-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 10px; padding: 16px 20px 20px; }
.k-qlist-grid > * { min-width: 0; }
.k-qlist-group { grid-column: 1 / -1; margin: 12px 0 0; font-size: 11.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--text-3); }
.k-qlist-grid > .k-qlist-group:first-child { margin-top: 0; }
.k-qi { position: relative; border: 1px solid var(--line); border-radius: var(--r-card); background: var(--surface); transition: border-color var(--t-fast), background-color var(--t-fast), box-shadow var(--t-fast); }
.k-qi-row { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 12px; min-height: 76px; padding: 12px 14px; cursor: pointer; }
.k-qi-box { position: absolute; top: 14px; left: 14px; width: 1px; height: 1px; margin: 0; opacity: 0; pointer-events: none; }
.k-qi:has(> .k-qi-row .k-qi-box:focus-visible) { box-shadow: var(--focus-ring); }
.k-qi-ico { display: inline-grid; place-items: center; width: 36px; height: 36px; border-radius: var(--r-control); background: var(--quiet); color: var(--text-2); transition: background-color var(--t-fast), color var(--t-fast); }
.k-qi-ico > svg { width: 18px; height: 18px; }
.k-qi-text { display: block; min-width: 0; }
.k-qi-label { font-size: 14px; font-weight: 500; line-height: 1.4; color: var(--text); }
.k-qi-text > small { display: block; margin-top: 3px; font-size: 12.5px; line-height: 1.45; color: var(--text-3); }
.k-qi-text > small.k-qi-note { margin-top: 7px; }
.k-qi-note > .k-chip { margin: 0; white-space: normal; }
.k-qi-note > .k-chip > svg { width: 12px; height: 12px; flex-shrink: 0; }
.k-qi-tick { display: inline-grid; place-items: center; width: 22px; height: 22px; border: 1.5px solid var(--text-4); border-radius: var(--r-small); background: var(--surface); color: var(--surface); transition: background-color var(--t-fast), border-color var(--t-fast); }
.k-qi-tick > svg { width: 14px; height: 14px; stroke-width: 2.5; opacity: 0; transform: scale(.4); transition: opacity var(--t-fast), transform var(--t-fast); }
.k-qi:has(> .k-qi-row .k-qi-box:checked) { border-color: var(--navy); background: var(--navy-wash); box-shadow: inset 0 0 0 1px var(--navy); }
.k-qi:has(> .k-qi-row .k-qi-box:checked) .k-qi-ico { background: var(--navy-tint); color: var(--navy); }
.k-qi:has(> .k-qi-row .k-qi-box:checked) .k-qi-tick { border-color: var(--navy); background: var(--navy); }
.k-qi:has(> .k-qi-row .k-qi-box:checked) .k-qi-tick > svg { opacity: 1; transform: none; }
@media (hover: hover) {
  .k-qi:hover { border-color: var(--text-4); }
  .k-qi:has(> .k-qi-row .k-qi-box:checked):hover { border-color: var(--navy); }
}
.k-qi-open { display: grid; gap: 12px; margin: 0 14px; padding: 12px 0 14px; border-top: 1px dashed var(--line); }
/* A tile's follow-ups slide open when the person ticks it, never on arrival. */
.k-qi.is-touched > .k-qi-open { animation: k-qi-open .16s ease; }
.k-qi-open[hidden] { display: none; }
.k-qi-open > * { min-width: 0; }
@keyframes k-qi-open { from { opacity: 0; transform: translateY(-4px); } }
.k-qi-open > .k-q-follow { grid-column: auto; grid-template-columns: minmax(0, 1fr); gap: 8px; padding: 0; border: 0; background: transparent; }
.k-qi-open .k-q .portal-chips, .k-qi-open .k-q-follow .portal-chips { flex-wrap: wrap; }
.k-qi-help { margin: 0; font-size: 12.5px; line-height: 1.5; color: var(--text-2); }
.k-qi-field { display: grid; gap: 6px; justify-items: start; }
.k-qi-field > .k-label, .k-qi-open > .k-label { font-size: 13px; font-weight: 500; color: var(--text); }
.k-qi-field > .k-q-amount { display: inline-flex; align-items: center; gap: 6px; color: var(--text-3); }
.k-qi-field > .k-q-amount > .k-input { width: 9em; background: var(--surface); }
.k-qi-open > .k-textarea { width: 100%; background: var(--surface); }
.k-qi-adds { display: flex; align-items: flex-start; gap: 6px; font-size: 12.5px; line-height: 1.45; color: var(--text-3); }
.k-qi-adds > svg { width: 14px; height: 14px; flex-shrink: 0; margin-top: 2px; }
/* The documents a ticked tile adds, each with its own Upload (Sonny 10/29). */
.k-qi-docs { display: grid; gap: 8px; }
.k-qi-docs > ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.k-qi-docs > ul > li { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 2px 10px; min-height: 48px; padding: 6px 6px 6px 12px; border: 1px solid var(--line); border-radius: var(--r-control); background: var(--surface); }
.k-qi-doc-ico { display: inline-flex; color: var(--text-3); }
.k-qi-doc-ico > svg { width: 16px; height: 16px; }
.k-qi-doc-name { min-width: 0; font-size: 13.5px; line-height: 1.4; color: var(--text); overflow-wrap: anywhere; }
.k-qi-doc-act { display: inline-flex; align-items: center; justify-content: flex-end; gap: 8px; min-width: 0; font-size: 12.5px; color: var(--text-3); }
.k-qi-doc-act > .k-btn > svg { width: 14px; height: 14px; }
.k-qi-doc-got { display: inline-flex; align-items: center; gap: 6px; padding-right: 6px; font-size: 13px; font-weight: 500; color: var(--st-ok-ink); }
.k-qi-doc-got > span { display: inline-grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; background: var(--st-ok); color: var(--surface); }
.k-qi-doc-got > span > svg { width: 12px; height: 12px; stroke-width: 2.5; }
.k-qi-docs li[data-state="busy"] .k-btn { opacity: .6; pointer-events: none; }
.k-qi-doc-msg { grid-column: 2 / -1; padding-bottom: 6px; font-size: 12.5px; line-height: 1.4; color: var(--text-3); }
.k-qi-doc-msg:empty { display: none; }
.k-qi-doc-msg.is-error { color: var(--terra); }
.k-qi-none { grid-column: 1 / -1; border-style: dashed; background: transparent; }
.k-qi-none > .k-qi-row { min-height: 52px; }
.k-qi-none:has(.k-qi-box:checked) { border-style: solid; }
.k-qlist-error { margin: 0; padding: 0 20px 14px; font-size: 13px; color: var(--terra); }
.k-qlist-error[hidden] { display: none; }
/* The review before Send (Sonny 10/29): each section as it was answered, read-only, with Edit. */
.k-qrv-sec { padding: 14px 20px 16px; border-top: 1px solid var(--line-soft); }
.k-qn-note + .k-qrv-sec { margin-top: 8px; }
.k-qrv-head { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; }
.k-qrv-head > h3 { margin: 0; font-size: 14px; font-weight: 600; color: var(--text); }
.k-qrv-head > .k-link { margin-left: auto; padding: 0; font-size: 13px; white-space: nowrap; }
.k-qrv-list { list-style: none; margin: 8px 0 0; padding: 0; display: grid; gap: 8px; }
.k-qrv-list > li { min-width: 0; font-size: 13.5px; line-height: 1.45; color: var(--text); }
.k-qrv-qa { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 2px 16px; }
.k-qrv-qa > small, .k-qrv-qa > .k-qrv-kid { grid-column: 1 / -1; }
.k-qrv-q { color: var(--text-3); }
.k-qrv-a { font-weight: 500; overflow-wrap: anywhere; }
.k-qrv-tick { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 10px; align-items: start; }
.k-qrv-tick > div > p { margin: 0; font-weight: 500; }
.k-qrv-tick > div > small { display: block; margin-top: 2px; font-size: 12.5px; color: var(--text-3); }
.k-qrv-mark { display: inline-grid; place-items: center; width: 20px; height: 20px; margin-top: 1px; border-radius: var(--r-small); background: var(--navy); color: var(--surface); }
.k-qrv-mark > svg { width: 13px; height: 13px; stroke-width: 2.5; }
.k-qrv-kid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 2px 16px; margin-top: 4px; font-size: 12.5px; }
.k-qrv-text { color: var(--text-2); }
.k-qrv-doc { display: inline-flex; vertical-align: -3px; margin-right: 8px; color: var(--text-3); }
.k-qrv-doc > svg { width: 15px; height: 15px; }
.k-qrv-empty { margin: 6px 0 0; font-size: 13px; color: var(--text-3); }
@media (prefers-reduced-motion: reduce) {
  .k-qi, .k-qi-ico, .k-qi-tick, .k-qi-tick > svg { transition: none; }
  .k-qi.is-touched > .k-qi-open { animation: none; }
}

@media (max-width: 760px) {
  .k-qpage { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .k-qpage > .k-steplist { display: none; }
  .k-qn.k-head > .k-stepbar { margin: 10px 0 14px; }
  .k-qcard { overflow: visible; border-radius: 16px; }
  .k-qcard > .k-section-head { padding: 14px 16px 2px; }
  .k-q { grid-template-columns: minmax(0, 1fr); padding: 16px; gap: 12px; }
  .k-q-text > p { font-size: 15px; }
  .k-q .portal-chips { display: flex; flex-wrap: nowrap; }
  .k-q .portal-chips > label { flex: 1 1 0; justify-content: center; min-height: 44px; font-size: 15px; }
  .k-q.confirm .portal-chips { flex-direction: column; flex-wrap: wrap; }
  .k-q.confirm .portal-chips > label { flex: none; }
  .k-q .portal-chips:has(> label:nth-child(3)) { flex-direction: column; flex-wrap: wrap; }
  .k-q .portal-chips:has(> label:nth-child(3)) > label { flex: none; white-space: normal; }
  /* The crumb is one back link: the request it came from. */
  .k-qn.k-head > .k-crumb > :not(a:nth-of-type(2)) { display: none; }
  .k-qn.k-head > .k-crumb > a:nth-of-type(2)::before { content: "\2039"; margin-right: 6px; }
  .k-q-follow { grid-template-columns: minmax(0, 1fr); padding: 12px; }
  .k-q-follow > .k-input { max-width: none; height: 44px; font-size: 16px; }
  .k-qdl-row { grid-template-columns: minmax(0, 1fr) auto; gap: 2px 12px; padding: 12px 16px; }
  .k-qdl-row > dt { grid-column: 1 / -1; }
  .k-qdl-row > .k-q-act { grid-column: 2; grid-row: 2; }
  .k-qdl-fields { grid-template-columns: minmax(0, 1fr); }
  .k-qdl-fields .k-input, .k-qdl-fields .k-select, .k-qdl-fields .k-textarea { height: 44px; font-size: 16px; }
  .k-qdl-fields .k-textarea { height: auto; }
  .k-qdl-act > .k-btn { flex: 1; height: 44px; justify-content: center; }
  .k-qdl-act > small { flex-basis: 100%; }
  .k-qconfirm { padding: 14px 16px 16px; }
  .k-qconfirm > .k-btn { width: 100%; height: 46px; justify-content: center; font-size: 15px; }
  .k-qrv-sec { padding: 14px 16px 16px; }
  .k-qrv-qa, .k-qrv-kid { grid-template-columns: minmax(0, 1fr); }
  /* Back and Next stay pinned above the tab bar. */
  .k-qfoot { position: sticky; bottom: calc(66px + env(safe-area-inset-bottom)); z-index: 5; padding: 12px 16px; border: 1px solid var(--line); border-radius: 16px; margin-top: 12px; box-shadow: var(--shadow-lg, 0 2px 12px rgba(22, 24, 29, .12)); }
  .k-qfoot > .k-btn { flex: 1 1 0; height: 46px; font-size: 15px; justify-content: center; }
  .k-qfoot > .k-btn:first-child { flex: 0 0 96px; }
  .k-qfoot > .k-grow:not(.is-error) { display: none; }
  .k-qcard > .k-qhead { padding: 16px 16px 0; }
  .k-qlist-head { padding: 10px 16px 0; }
  .k-qlist-lead { font-size: 21px; }
  .k-qlist-grid { grid-template-columns: minmax(0, 1fr); gap: 8px; padding: 14px 16px 16px; }
  .k-qi-row { align-items: start; min-height: 60px; padding: 12px; }
  .k-qi-tick { margin-top: 6px; }
  .k-qi-label { font-size: 15px; }
  .k-qi-tick { width: 24px; height: 24px; }
  .k-qi-open { margin: 0 12px; }
  .k-qi-field > .k-q-amount > .k-input { height: 44px; font-size: 16px; }
  .k-qi-open > .k-textarea { font-size: 16px; }
  .k-qi-docs > ul > li { min-height: 52px; }
  .k-qi-doc-act > .k-btn { height: 40px; }
  .k-qlist-error { padding: 0 16px 12px; }
}

/* Records, the shared blocks (UI-073 stage 2; markup from records.js). Loaded by the boards (kit-boards build-kit) and by the
   portal (/kit-portal.css), so both draw a Records place from this one file. Kit tokens only, inside the block's own .k-kit
   scope; the block's own classes only, so neither the boards' additions nor the portal's stylesheet reach it. A narrow
   container (a phone, or a phone board) is the phone composition. */
.k-rec, .k-rec-head { container: k-rec / inline-size; min-width: 0; }
.k-rec-icon { display: block; width: 14px; height: 14px; flex: none; }

/* A button: the kit's small button, a quiet one, the primary one. */
.k-rec-btn { display: inline-flex; align-items: center; justify-content: center; gap: 7px; height: 32px; padding: 0 12px; border: 1px solid var(--control); border-radius: var(--r-control); background: var(--surface); color: var(--text); font: inherit; font-size: 13px; font-weight: 500; line-height: 1; text-decoration: none; white-space: nowrap; cursor: pointer; }
.k-rec-btn:hover { border-color: var(--control-strong); }
.k-rec-btn.quiet { border-color: transparent; background: none; }
.k-rec-btn.quiet:hover { background: var(--neutral-tint); border-color: transparent; }
.k-rec-btn.primary { border-color: var(--navy); background: var(--navy); color: var(--on-dark); }
.k-rec-btn.primary:hover { background: var(--navy-hover); }
.k-rec-btn:focus-visible, .k-rec-tabs a:focus-visible, .k-rec-links a:focus-visible { outline: none; box-shadow: var(--focus-ring); }

/* The header: the serif title, the switches at its right, the places as underlined tabs. */
.k-rec-head { display: block; margin: 0 0 16px; }
.k-rec-head-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.k-rec-head h1 { margin: 0; font-family: var(--font-serif); font-size: 36px; font-weight: 400; line-height: 1.1; letter-spacing: 0; color: var(--text); }
.k-rec-head-right { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; min-width: 0; }
.k-rec-tabs { display: flex; gap: 22px; margin-top: 14px; border-bottom: 1px solid var(--line); overflow-x: auto; scrollbar-width: none; }
.k-rec-tabs a { margin-bottom: -1px; padding: 0 0 10px; border-bottom: 2px solid transparent; font-size: 13.5px; font-weight: 500; color: var(--text-3); text-decoration: none; white-space: nowrap; }
.k-rec-tabs a:hover { color: var(--text); }
.k-rec-tabs a[aria-current=page] { border-bottom-color: var(--text); color: var(--text); }

/* The switches are the kit's (.k-seg). A long one scrolls inside itself; a month with entries kept is tinted. */
.k-rec-head .k-seg, .k-rec-months { max-width: 100%; overflow-x: auto; scrollbar-width: none; }
.k-rec-months a.kept:not([aria-current=page]) { color: var(--olive-text) !important; }
.k-rec-months a.kept::after { content: ""; display: inline-block; width: 5px; height: 5px; margin-left: 6px; border-radius: 50%; background: var(--olive); vertical-align: middle; }

.k-rec-notice { margin: 0 0 16px; padding: 10px 14px; border: 1px solid var(--navy-line); border-radius: var(--r-control); background: var(--navy-wash); font-size: 13px; color: var(--text); }
.k-rec-notice.alert { border-color: var(--terra-line); background: var(--terra-tint); color: var(--terra); }

/* The Month view: the months, the year, then the two columns. */
.k-rec-month { display: flex; flex-direction: column; gap: 16px; }
.k-rec-months { align-self: flex-start; }
.k-rec-figs, .k-rec-pick, .k-rec-switch, .k-rec-links { display: none; }
.k-rec-cols { display: flex; align-items: flex-start; gap: 24px; min-width: 0; }
.k-rec-main { display: flex; flex-direction: column; gap: 14px; flex: 1 1 auto; min-width: 0; }
.k-rec-aside { display: flex; flex-direction: column; gap: 16px; flex: 0 0 340px; min-width: 0; }
.k-rec-year { min-width: 0; margin-bottom: 8px; }

/* A side: its title and total over one card. */
.k-rec-side-head { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; min-height: 28px; margin: 0 0 8px; }
.k-rec-side-head > h2, .k-rec-card-head > h2 { margin: 0; font-size: 14.5px; font-weight: 600; line-height: 1.3; color: var(--text); }
.k-rec-side-head > span, .k-rec-card-head > span { font-size: 13px; color: var(--text-3); font-variant-numeric: tabular-nums; }
.k-rec-card { display: block; overflow: hidden; border: 1px solid var(--line); border-radius: var(--r-card); background: var(--surface); }
.k-rec-entry + .k-rec-entry, .k-rec-card > .k-rec-kept, .k-rec-entry + .k-rec-adding, .k-rec-entry + .k-rec-addrow, .k-rec-kept + .k-rec-entry { border-top: 1px solid var(--line-soft); }
.k-rec-row { position: relative; display: flex; align-items: center; gap: 14px; min-height: 34px; padding: 11px 18px; }
.k-rec-two { display: flex; flex-direction: column; flex: 1 1 auto; min-width: 0; }
.k-rec-two > span { font-size: 14px; font-weight: 500; line-height: 1.3; color: var(--text); }
.k-rec-two > small { margin-top: 2px; font-size: 12.5px; line-height: 1.35; color: var(--text-3); }
.k-rec-two > small > a { color: inherit; }
.k-rec-num { font-size: 13px; color: var(--text); font-variant-numeric: tabular-nums; white-space: nowrap; }
.k-rec-row > .k-rec-icon { display: none; color: var(--text-4); }
.k-rec-kept { margin: 0; padding: 10px 18px 0; font-size: 12.5px; color: var(--text-3); }
.k-rec-edit, .k-rec-adding { padding: 4px 18px 16px; }
.k-rec-adding { padding-top: 16px; }
.k-rec-addrow { padding-top: 11px; padding-bottom: 11px; }

/* The side cards: figures as rows, a card of words. */
.k-rec-card-head { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; padding: 14px 18px 10px; }
.k-rec-figures .k-rec-card-head > h2 { font-size: 15px; }
.k-rec-tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 12px; min-height: 34px; padding: 0 16px 0 18px; border-top: 1px solid var(--line-faint); font-size: 13px; color: var(--text); font-variant-numeric: tabular-nums; }
.k-rec-tr > span:last-child { text-align: right; }
.k-rec-tr.quiet { color: var(--text-3); }
.k-rec-tr.total { background: var(--ground); font-weight: 600; }
.k-rec-note { margin: 0; padding: 10px 18px 14px; border-top: 1px solid var(--line-faint); font-size: 12.5px; line-height: 1.45; color: var(--text-3); }
.k-rec-words { padding-bottom: 16px; }
.k-rec-words > .k-rec-card-head { padding: 16px 20px 0; }
.k-rec-words > .k-rec-card-head > h2 { font-size: 13px; font-weight: 700; }
.k-rec-words > p { margin: 13px 20px 0; font-size: 13px; line-height: 1.3; color: var(--text-3); }
.k-rec-words > .k-rec-act, .k-rec-words > .k-slot { margin: 16px 20px 0; }
/* While a side's add form is open, its Add button gives way. */
.k-rec-adding:not([hidden]) + .k-rec-addrow { display: none; }
.k-rec-facts { margin: 10px 0 0; padding: 0; list-style: none; }
.k-rec-facts > li { display: flex; justify-content: space-between; gap: 12px; padding: 8px 20px; border-top: 1px solid var(--line-faint); font-size: 13px; }
.k-rec-facts > li > span { color: var(--text-2); }
.k-rec-facts > li > b { font-weight: 500; }
.k-rec-facts a { color: var(--navy); }

/* ---- A phone (the block under 700px): the figures at the top, staying on screen; the month as a picker with the one add
   action for the side showing; Money in and Money out as one switch, one list at a time; the side cards as rows; the year
   after the lists. ---- */
@container k-rec (max-width: 700px) {
  .k-rec-head h1 { font-size: 30px; }
  .k-rec-head-right { width: 100%; }
  .k-rec-tabs { gap: 6px; margin-top: 10px; border-bottom: 0; }
  .k-rec-tabs a { margin: 0; padding: 10px 14px; border: 1px solid var(--line); border-radius: var(--r-pill); background: var(--surface); font-size: 13.5px; color: var(--text); }
  .k-rec-tabs a[aria-current=page] { border-color: var(--ink); background: var(--ink); color: var(--on-dark); }
  .k-rec-month { gap: 14px; }
  .k-rec-months, .k-rec-month .k-rec-aside, .k-rec-addrow, .k-rec-side-head { display: none; }
  /* A Year or Tax basis view: one column, the year-end package first. */
  .k-rec-view .k-rec-aside, .k-rec-view .k-rec-main { display: contents; }
  .k-rec-view .k-rec-send { order: -1; }
  .k-rec-figs { position: sticky; top: var(--k-rec-stick, 0px); z-index: 2; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); order: -2; border-top: 1px solid var(--text); border-bottom: 1px solid var(--line); background: var(--ground); }
  .k-rec-figs > div { display: flex; flex-direction: column; gap: 2px; padding: 12px 0; }
  .k-rec-figs > div + div { padding-left: 16px; border-left: 1px solid var(--line); }
  .k-rec-figs span, .k-rec-figs small { font-size: 12.5px; color: var(--text-3); }
  .k-rec-figs b { font-family: var(--font-serif); font-size: 30px; font-weight: 400; line-height: 1.1; color: var(--text); font-variant-numeric: tabular-nums; }
  .k-rec-pick { display: flex; align-items: center; gap: 12px; order: -1; }
  .k-rec-pick > .k-select { flex: 1 1 auto; width: auto; min-width: 0; height: 44px; font-size: 14px; }
  .k-rec-pick > .k-rec-btn { height: 44px; padding: 0 18px; font-size: 14.5px; }
  .k-rec-switch { display: flex; align-self: flex-start; gap: 2px; padding: 3px; border-radius: 9px; background: var(--neutral-tint); }
  .k-rec-switch > label { display: inline-flex; align-items: center; height: 36px; padding: 0 14px; border-radius: var(--r-control); font-size: 13.5px; font-weight: 500; color: var(--text-2); white-space: nowrap; cursor: pointer; }
  .k-rec-switch > label:has(:checked) { background: var(--surface); color: var(--text); box-shadow: 0 1px 2px rgba(22, 24, 29, .08); }
  .k-rec-switch > label:has(:focus-visible) { box-shadow: var(--focus-ring); }
  .k-rec-switch input { position: absolute; opacity: 0; pointer-events: none; }
  .k-rec:has(.k-rec-switch input[value=in]:checked) :is(.k-rec-side.out, .k-rec-pick-add.out),
  .k-rec:has(.k-rec-switch input[value=out]:checked) :is(.k-rec-side.in, .k-rec-pick-add.in) { display: none; }
  .k-rec-year { order: 3; margin: 6px 0 0; }
  .k-rec-row { min-height: 44px; padding: 12px 16px; }
  .k-rec-row > .k-rec-num { font-weight: 600; }
  .k-rec-row > .k-rec-icon { display: block; }
  /* On a phone the whole row opens its entry: Edit stretches over the row, unseen. */
  .k-rec-row > .k-rec-btn.quiet { position: absolute; inset: 0; z-index: 1; width: 100%; height: auto; border: 0; border-radius: 0; background: none; color: transparent; }
  .k-rec-card { border-radius: 16px; }
  .k-rec-links { display: block; overflow: hidden; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); }
  .k-rec-links > a { display: flex; align-items: center; gap: 12px; min-height: 44px; padding: 12px 16px; color: var(--text); text-decoration: none; }
  .k-rec-links > a + a { border-top: 1px solid var(--line-soft); }
  .k-rec-links .k-rec-num { font-weight: 600; }
  .k-rec-links .k-rec-icon { color: var(--text-4); }
  .k-rec-cols { flex-direction: column; align-items: stretch; gap: 14px; }
  /* A refused entry is scrolled into view with its reason; keep it clear of the sticky figures. */
  .k-rec-month .k-slot > form { scroll-margin-top: calc(var(--k-rec-stick, 0px) + 112px); }
}

/* Reminders, the shared block (NU-007; boards NuPrefs, NuPrefsPhone, NuUnsub, approved 9/30): the portal's Reminders page and
   the page after an email's Unsubscribe. Moved here from the boards' additions so the page and the boards share one stylesheet. */

/* The page: the list two thirds, how they get them and the others one third. */
.k-rems .k-cols.thirds { align-self: stretch; width: 100%; }
.k-rems .k-cols.thirds > .k-col:first-child { flex-grow: 2; }
.k-rem-sec { display: flex; flex-direction: column; }
.k-rem-kick { display: flex; align-items: baseline; gap: 12px; padding-bottom: 8px; border-bottom: 1px solid var(--text); }

/* Where reminders stand, and Pause, on a soft navy wash; sand while paused or off. */
.k-rem-hero { margin-bottom: 26px; display: flex; flex-wrap: wrap; align-items: center; gap: 14px; padding: 18px 20px; background: var(--navy-wash); border: 1px solid var(--navy-line); border-radius: var(--r-card); }
.k-rem-hero > .k-two { flex: 1 1 220px; min-width: 0; }
.k-rem-hero > .k-two > :first-child { font-size: 16px; font-weight: 600; }
.k-rem-hero > .k-two > small { margin-top: 2px; font-size: 12.5px; color: var(--text-3); }
.k-rem-hero.paused { background: var(--sand-wash); border-color: var(--sand-line); }
.k-rem-hero > form { display: flex; align-items: flex-end; gap: 8px; margin: 0; }
.k-rem-pause label { display: flex; flex-direction: column; gap: 4px; font-size: 12px; color: var(--text-3); }
.k-rem-pause .k-input { width: 150px; }
.k-rem-hero .k-btn svg, .k-tile svg { width: 15px; height: 15px; }

/* One group as an open row: switch, name with what it covers, then the channel. */
.k-rem-list { display: flex; flex-direction: column; margin-top: 2px; container-type: inline-size; }
.k-rem { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; grid-template-areas: "sw nm how"; align-items: center; gap: 0 14px; padding: 17px 0; border-bottom: 1px solid var(--line); }
.k-rem > .k-rem-sw { grid-area: sw; margin: 0; display: flex; }
.k-rem > .k-two { grid-area: nm; }
.k-rem > .k-seg { grid-area: how; margin: 0; }
.k-rem > .k-two > :first-child { font-size: 15px; font-weight: 500; line-height: 1.3; }
.k-rem > .k-two > small { margin-top: 2px; font-size: 12.5px; line-height: 1.45; color: var(--text-3); }
.k-rem > .k-two > small.log { margin-top: 5px; color: var(--text-4); }
.k-rem-sw > .k-switch { padding: 0; border: 0; }
/* A group that is off, its channel set aside; a channel not offered yet (Text). */
.k-rem[data-state="off"] > .k-two > :first-child { color: var(--text-3); }
.k-rem[data-state="off"] > .k-seg { opacity: .45; }
.k-rem .k-seg button:disabled { color: var(--text-4); cursor: not-allowed; font-weight: 400; }

@container (max-width: 560px) {
  .k-rem { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "nm sw" "how how"; gap: 0 12px; padding: 13px 0; }
  .k-rem > .k-seg { margin-top: 12px; width: 100%; max-width: none; box-sizing: border-box; }
  .k-rem > .k-seg button { flex: 1 1 0; text-align: center; }
}

/* The channels and the other people beside the list, each a tile or avatar with two lines. */
.k-rem-aside { display: flex; flex-direction: column; gap: 30px; min-width: 0; }
.k-rem-side { display: flex; flex-direction: column; }
.k-rem-side > .k-row { display: flex; align-items: center; gap: 12px; padding: 14px 0; border-top: 0; border-bottom: 1px solid var(--line); min-height: 0; }
.k-rem-side > .k-row > .k-two > :first-child { font-size: 14px; font-weight: 500; }
.k-rem-side > .k-row > .k-two > small { margin-top: 2px; font-size: 12.5px; line-height: 1.45; color: var(--text-3); }
.k-rem-side > .k-row > .k-two > small.log { margin-top: 4px; color: var(--text-4); }
.k-rem-side > .k-row.off > :not(.k-chip) { opacity: .55; }
.k-rem-side > .k-row > .k-av { align-self: flex-start; }
.k-rem-side > .k-row.who { align-items: flex-start; }

/* On a phone (NuPrefsPhone): the list is one card; each row shows its channel under its name; the hero's controls go full width. */
@media (max-width: 720px) {
  .k-rems .k-cols.thirds { flex-direction: column; }
  .k-rems > .k-head.bare { padding-inline: 16px; }
  .k-rem-list { padding: 0 16px; background: var(--surface); border-radius: 16px; border: 1px solid var(--line); }
  .k-rem { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "nm sw" "how how"; gap: 0 12px; padding: 11px 0; }
  .k-rem:last-child { border-bottom: 0; }
  .k-rem > .k-two > :first-child { font-size: 15.5px; }
  .k-rem > .k-seg { margin-top: 12px; width: 100%; max-width: none; box-sizing: border-box; }
  .k-rem > .k-seg button { flex: 1 1 0; text-align: center; padding: 9px 4px; font-size: 13.5px; }
  .k-rem-hero { flex-wrap: wrap; margin-bottom: 0; padding: 14px 16px; }
  .k-rem-hero > form { flex: 1 1 100%; }
  .k-rem-hero > form .k-btn { flex: 1 1 auto; justify-content: center; height: 44px; }
  .k-rem-pause label { flex: 1 1 auto; } .k-rem-pause .k-input { width: 100%; }
}

/* After Unsubscribe (NuUnsub): the confirmation in the sign-in card. */
.k-unsub { display: flex; flex-direction: column; gap: 22px; }
.k-unsub .k-kicker { margin-bottom: 6px; font-size: 11.5px; letter-spacing: .08em; color: var(--sand); }
.k-unsub .k-title { margin: 0; font-size: 40px; line-height: 1.06; letter-spacing: -.01em; }
.k-unsub > p { margin: 0; font-size: 15px; line-height: 1.55; color: var(--text-2); }
.k-unsub > p b { font-weight: 600; color: var(--text); }
/* What was turned off and what keeps coming, side by side on a hairline; stacked on a phone. */
.k-unsub-facts { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); border-top: 1px solid var(--text); }
.k-unsub-facts > div { padding: 16px 20px 6px 0; }
.k-unsub-facts > div + div { padding-left: 20px; border-left: 1px solid var(--line); }
.k-unsub-facts h2 { display: flex; align-items: center; gap: 8px; margin: 0 0 8px; font-size: 13px; font-weight: 600; color: var(--text); }
.k-unsub-facts h2 svg { width: 15px; height: 15px; }
.k-unsub-facts .off h2 { color: var(--text-2); }
.k-unsub-facts .on h2 { color: var(--olive-text); }
.k-unsub-facts ul { margin: 0; padding: 0; list-style: none; }
.k-unsub-facts li { padding: 7px 0; font-size: 14px; line-height: 1.4; border-top: 1px solid var(--line-soft); }
.k-unsub-facts li:first-child { border-top: 0; }
.k-unsub-facts li small { display: block; margin-top: 1px; font-size: 12.5px; color: var(--text-3); }
.k-unsub-acts { display: flex; flex-direction: column; gap: 10px; align-items: flex-start; }
.k-unsub-acts form { margin: 0; }
.k-unsub-acts .k-btn { height: 44px; font-size: 14.5px; }
.k-unsub-acts .k-link { display: inline-flex; align-items: center; gap: 6px; }
.k-unsub-acts .k-link svg { flex: none; width: 14px; height: 14px; }
.k-unsub-acts > small, .k-unsub > small { font-size: 12.5px; color: var(--text-3); }
@media (max-width: 640px) {
  .k-unsub .k-title { font-size: 32px; }
  .k-unsub-facts { grid-template-columns: minmax(0, 1fr); }
  .k-unsub-facts > div, .k-unsub-facts > div + div { padding: 14px 0 6px; border-left: 0; }
  .k-unsub-facts > div + div { border-top: 1px solid var(--line); }
}

/* Tell us the date (NU-021; board PortalTodayYear, the small answer in place): the question, a month with its Save, then
   "I'd rather not track this". On Today it sits in a For you row. */
.k-tdn-ans { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; align-self: stretch; margin: 0; }
.k-tdn-ans > .k-label { font-size: 12.5px; font-weight: 500; color: var(--text); }
.k-tdn-ans > div { display: flex; align-items: center; gap: 6px; align-self: stretch; }
.k-tdn-ans .k-input { flex: 1 1 auto; min-width: 0; height: 30px; border-radius: var(--r-small); }
/* On a phone the answer goes under the reminder's title in its For you row, full width, instead of beside it. */
@media (max-width: 720px) {
  .k-req-row:has(> .k-req-acts :is(.k-tdn-ans, .k-tdn-book)) > .k-req-acts { grid-column: 2 / -1; justify-content: flex-start; }
  .k-req-row:has(> .k-req-acts :is(.k-tdn-ans, .k-tdn-book)) .k-slot { flex: 1 1 auto; min-width: 0; }
}

/* The open request, the shared block (UI-073 stage 5): the body of a request a person opens (its facts, its words, the thread,
   the reply box, a task's tick, a form's items, a document's slots, what was sent), on its own page, in the card beside
   Requests, under its row, and on the Requests boards. The markup is the request's own (client-request-portal.js,
   client-request-form.js); its root is .k-kit.k-rq: the body's section (.k-rq.request-view), or a reply box placed on its
   own in a row (.k-rq.reply-composer). Every rule is the portal's own for these parts, re-rooted here in the kit's tokens, so
   the page and a board draw the same look from this file. The resets keep their place under the rest (@layer k-rq-base);
   the portal's component rules come first, so its other rules win where they meet, as they do on the portal. The page's
   frame (its head, the card a request opens in, a row's accordion) stays the page's.
   A width rule is written twice: for the window (the portal) and for a frame (@container k-rq-frame, a phone board). */
@layer k-rq-base;
.k-rq { --k-rq-inset: 16px; --k-rq-action: 96px; font-family: inherit; font-size: 13px; line-height: 1.55; color: var(--text); }
@media (max-width: 700px) { .k-rq { --k-rq-action: 84px; } }
@container k-rq-frame (max-width: 700px) { .k-rq { --k-rq-action: 84px; } }
@media (max-width: 560px) { .k-rq { --k-rq-inset: 12px; } }
@container k-rq-frame (max-width: 560px) { .k-rq { --k-rq-inset: 12px; } }
/* A link in the body reads as its words unless a rule below colours it (the portal's own base); outside the base layer, so a board's kit link colour does not reach it. */
.k-rq a { color: inherit; text-decoration: none; }
@layer k-rq-base {
:where(.k-rq), :where(.k-rq) *, :where(.k-rq) ::before, :where(.k-rq) ::after { box-sizing: border-box; border-width: 0; border-style: solid; }
:where(.k-rq) :is(h1, h2, h3, p, ul, ol, dl, dd, fieldset) { margin: 0; }
:where(.k-rq) :is(ul, ol) { list-style: none; padding: 0; }
:where(.k-rq) :is(button, input, select, textarea) { font: inherit; color: inherit; }
:where(.k-rq) button { cursor: pointer; background: transparent; }
:where(.k-rq) a { color: inherit; text-decoration: none; text-underline-offset: .2em; }
:where(.k-rq) :is(img, svg) { display: block; max-width: 100%; }
:where(.k-rq) :is(h1, h2, h3) { font: inherit; }

}
.k-rq.request-view { overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface); }
.k-rq .portal-overview-action-register { border-top: 0; }
.k-rq .portal-overview-action-register li { display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  min-height: 56px;
  padding: 8px var(--k-rq-inset);
  border-top: 1px solid var(--line-soft);
  background: var(--surface);
  transition: background 120ms cubic-bezier(.2, .7, .2, 1); }
.k-rq .portal-overview-action-register li:hover { background: var(--ground); }
.k-rq .portal-overview-register-copy strong, .k-rq .portal-overview-register-copy small { display: block; }
.k-rq .portal-overview-register-copy strong { color: var(--text);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.3; }
.k-rq .portal-overview-register-copy small { margin-top: 2px;
  overflow: hidden;
  color: var(--text-3);
  font-size: 12.5px;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap; }
.k-rq.request-view { overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: var(--surface); }
.k-rq .portal-overview-row-action { min-height: 34px;
    display: inline-flex;
    align-items: center;
    border: 1px solid var(--control);
    border-radius: 8px;
    background: var(--surface);
    color: var(--text);
    padding: 0 12px;
    font-size: 13.5px;
    font-weight: 500;
    text-decoration: none; }
.k-rq .portal-overview-row-action:hover { border-color: var(--text-5); background: var(--ground); }
.k-rq .portal-overview-row-action.is-primary { border-color: var(--navy); background: var(--navy); color: var(--on-dark); }
.k-rq .portal-overview-row-action.is-primary:hover { border-color: var(--navy-hover); background: var(--navy-hover); color: var(--on-dark); }
.k-rq .portal-overview-register-copy { min-width:0; }
.k-rq .proto-request-list>li { position:relative; }
.k-rq .proto-request-list .portal-overview-register-copy small { white-space:normal;overflow:visible; }
.k-rq .proto-status { font-size:12px;color:var(--text-2); }
.k-rq .portal-overview-row-action { gap:8px;white-space:normal;justify-content:center;text-align:center; }
.k-rq .portal-overview-row-action { min-width:var(--k-rq-action); }
.k-rq .upload { position:relative;cursor:pointer;min-height:40px; }
.k-rq .upload input { position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer; }
.k-rq .notice { padding:16px;border:1px solid var(--navy);background:var(--navy-tint);margin-bottom:16px; }
.k-rq .proto-profile-form .notice { margin:0; }
.k-rq .proto-profile-form .notice a { text-decoration:underline;display:inline-flex;min-height:40px;align-items:center; }
@media (max-width:450px) { .k-rq .portal-overview-row-action { max-width:100%; } }
@container k-rq-frame (max-width:450px) { .k-rq .portal-overview-row-action { max-width:100%; } }
@media print { .k-rq.request-view { break-inside:avoid; } }
.k-rq .proto-reply-receipt { display:block;min-height:1px; }
.k-rq .season-state[data-state=received] { color:var(--olive); }
.k-rq .taxyear-change .notice { margin:0 0 12px; }
.k-rq .portal-chips { display:inline-flex;flex-wrap:wrap;gap:4px;min-width:0; }
.k-rq .portal-chips label { position:relative;display:inline-flex;align-items:center;min-height:36px;padding:0 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--text-2);font-size:12px;font-weight:600;cursor:pointer;transition:background-color .2s,border-color .2s,color .2s; }
.k-rq .portal-chips input { position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer; }
.k-rq .portal-chips label:has(input:checked) { background:var(--navy);border-color:var(--navy);color:var(--pk-on-ac, var(--on-dark)); }
.k-rq .portal-chips label:has(input:focus-visible) { outline:2px solid var(--navy);outline-offset:2px; }
.k-rq .reply-quick { display:flex;margin-bottom:8px; }
@media (prefers-reduced-motion:reduce) { .k-rq .portal-chips label { transition:none; } }
.k-rq .proto-profile-other h2, .k-rq .ask-panel h2, .k-rq .ask-sent h2 { margin-bottom:12px; }
.k-rq .information-request-files>* { display:flex;flex-wrap:wrap;gap:8px;align-items:baseline; }
.k-rq .proto-visually-hidden { position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0; }
@media (max-width:700px) { .k-rq .portal-overview-action-register .portal-overview-row-action, .k-rq .request-row-actions .portal-overview-row-action { min-height:40px; } }
@container k-rq-frame (max-width:700px) { .k-rq .portal-overview-action-register .portal-overview-row-action, .k-rq .request-row-actions .portal-overview-row-action { min-height:40px; } }
.k-rq .portal-overview-action-register li { position:relative; }
.k-rq .portal-overview-action-register li:hover { transform:none;box-shadow:none;background:transparent; }
.k-rq .portal-overview-action-register li :is(button,input,select,textarea,summary,label,form,a:not(.portal-overview-register-copy>strong>a)) { position:relative;z-index:1; }
.k-rq .portal-overview-action-register li .upload input[type=file] { position:absolute; }
.k-rq .portal-overview-action-register li .portal-chips label>input:is([type=radio],[type=checkbox]) { position:absolute; }
.k-rq .notice[role=alert] { border-color:var(--terra); }
.k-rq .kind-tile { display:grid;place-items:center;width:32px;height:32px;border-radius:9px;flex:none; }
.k-rq .kind-tile svg { width:16px;height:16px; }
.k-rq .kind-tile[data-kind=document] { background:var(--sand-tint);color:var(--sand); }
.k-rq .portal-overview-action-register li:has(>.kind-tile) { grid-template-columns:auto minmax(0,1fr) auto; }
.k-rq .portal-overview-action-register li .reply-attach-button input[type=file] { position:absolute; }
@media (max-width:700px) { .k-rq .kind-tile { width:30px;height:30px; } }
@container k-rq-frame (max-width:700px) { .k-rq .kind-tile { width:30px;height:30px; } }
.k-rq .doc-drop { display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;margin:8px var(--k-rq-inset) var(--k-rq-inset);border:1.5px dashed var(--control);border-radius:8px;color:var(--text-2);font-size:13.5px;cursor:pointer; }
.k-rq .doc-drop svg { width:16px;height:16px; }
.k-rq .doc-drop u { color:var(--navy);font-weight:500;text-decoration:none; }
.k-rq .doc-drop:hover { border-color:var(--navy);background:var(--navy-tint); }
.k-rq .facts { display:grid;grid-template-columns:96px minmax(0,1fr);gap:8px 12px;margin:0;font-size:13.5px; }
.k-rq .facts>div { display:contents; }
.k-rq .facts dt { color:var(--text-2); }
.k-rq .facts dd { margin:0;min-width:0;overflow-wrap:anywhere; }
.k-rq.request-view { display:grid;gap:12px;padding:var(--k-rq-inset); }
.k-rq .request-state:empty { display:none; }
.k-rq .request-thread { list-style:none;margin:0;padding:0;display:grid;gap:8px; }
.k-rq .request-thread>li.thread-item { padding:0;border:0; }
.k-rq .request-thread[hidden] { display:none; }
.k-rq.request-view .reply-composer, .k-rq.request-view .confirm-task, .k-rq.request-view .request-upload, .k-rq.request-view>.request-note, .k-rq.request-view>.ask-panel, .k-rq.request-view>.ask-sent, .k-rq.request-view>.reply-other[open] { padding-top:12px;border-top:1px solid var(--line-soft); }
.js-folds .k-rq details[data-fold]:not([open]) { display:none; }
.k-rq .reply-tools .reply-existing>summary { list-style:none; }
.k-rq .reply-tools .reply-existing>summary::-webkit-details-marker { display:none; }
.k-rq .thread-who { margin:0 0 4px 2px;color:var(--text-2);font-size:12px; }
.k-rq .thread-bubble { padding:10px 12px;border-radius:12px;background:var(--pk-stone, var(--neutral-tint));font-size:13.5px;line-height:1.5; }
.k-rq .thread-item.is-mine .thread-bubble { background:var(--navy-tint); }
.k-rq .thread-bubble>:first-child { margin-top:0; }
.k-rq .thread-bubble>:last-child { margin-bottom:0; }
.k-rq .request-note { padding:12px 14px;border-radius:10px;background:var(--sand-tint);color:var(--text-2);font-size:13px;line-height:1.5; }
.k-rq .request-why>summary { cursor:pointer;color:var(--text-2);font-size:13px;font-weight:500; }
.k-rq .opts { display:grid;gap:6px; }
.k-rq .opt { display:flex;align-items:center;gap:10px;min-height:40px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);font-size:13.5px;cursor:pointer; }
.k-rq .opt input { margin:0;accent-color:var(--navy); }
.k-rq .opt:has(input:checked), .k-rq .opt-fold[open]>summary.opt { border-color:var(--navy);background:var(--navy-tint); }
.k-rq .opt-fold>summary { list-style:none; }
.k-rq .opt-fold>summary::-webkit-details-marker { display:none; }
.k-rq .reply-other .opt-fold>summary.opt { min-height:40px;color:var(--text);font-size:13.5px;font-weight:400;text-decoration:none; }
.k-rq .opt-fold-body { display:grid;gap:8px;padding:10px 2px 2px; }
.k-rq .quiet-link { margin-left:auto;padding:0 2px;border:0;background:none;color:var(--text-2);font:inherit;font-size:13px;cursor:pointer; }
.k-rq .quiet-link:hover { text-decoration:underline; }
.js-folds .k-rq details[data-fold]>summary { display:none; }
.k-rq.request-view .reply-actions { margin-top:0; }
.k-rq.request-view .reply-other, .k-rq.request-view .reply-existing { margin-top:0; }
.k-rq .reply-panel { display:grid;gap:8px; }
.k-rq .reply-tools { display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px; }
.k-rq .reply-tools .reply-attach { margin:0;padding:0;border:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px; }
.k-rq .reply-tools .reply-attach-button { display:inline-flex;align-items:center;gap:6px;min-height:32px;color:var(--navy);font-size:13px;font-weight:500; }
.k-rq .reply-tools .reply-attach-button svg { width:15px;height:15px; }
.k-rq .reply-tools .reply-existing>summary { min-height:32px;color:var(--navy);font-size:13px;font-weight:500;text-decoration:none; }
.k-rq .request-upload { display:grid;gap:6px; }
.k-rq.request-view>.request-handoff>summary { min-height:32px;color:var(--text-2);font-size:13px;font-weight:400; }
.k-rq.request-view:has(.reply-other[open]) .request-upload, .k-rq.request-view:has(.reply-other[open]) .request-fold-row { display:none; }
.k-rq .request-upload [data-request-upload-title]:empty { display:none; }
.k-rq .request-upload .doc-drop { margin:0; }
.k-rq .request-files-to { margin:8px 0 0;font-size:13px;color:var(--text-3); }
.k-rq .ask-attached .information-request-files { margin:6px 0 0; }
@media (max-width:700px) { .k-rq .portal-overview-action-register .request-row-actions>.request-link { display:none; } }
@container k-rq-frame (max-width:700px) { .k-rq .portal-overview-action-register .request-row-actions>.request-link { display:none; } }
.k-rq .information-request-summary details, .k-rq .information-request-upload details { margin-top:12px; }
.k-rq .information-request-summary summary, .k-rq .information-request-upload summary { cursor:pointer;min-height:44px;align-content:center;font-weight:600; }
.k-rq .information-request-form .proto-profile-field { margin-top:12px; }
.k-rq .information-request-form .proto-profile-actions { margin-top:16px; }
.k-rq .information-request-upload details { margin-top:0; }
.k-rq .information-request-upload .proto-profile-form { gap:12px; }
.k-rq .information-request-messages { margin-top:12px; }
.k-rq .information-request-messages>li { padding:16px 0;border-top:1px solid var(--line); }
.k-rq .information-request-messages>li:last-child { padding-bottom:0; }
.k-rq .information-request-message-head { display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-bottom:8px; }
.k-rq .information-request-message-head>span, .k-rq .information-request-muted { font-size:12px;color:var(--text-2); }
.k-rq .request-prose { white-space:pre-wrap;overflow-wrap:anywhere; }
.k-rq .information-request-files { display:grid;gap:6px;margin-top:8px; }
.k-rq .information-request-files a { display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:.2em;overflow-wrap:anywhere; }
.k-rq #request-upload-status:empty { display:none; }
.k-rq .information-request-muted a { color:var(--text);text-decoration:underline;text-underline-offset:.2em; }
.k-rq .reply-composer, .reply-composer.k-rq { margin:0; }
.k-rq .reply-panel h2 { margin-bottom:8px; }
.k-rq .reply-label { display:block;font-weight:600;margin-bottom:6px; }
.k-rq .reply-message textarea { display:block;width:100%;min-height:5.5rem;padding:8px 12px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--text);font:inherit;resize:vertical; }
.k-rq .reply-message textarea:focus-visible { outline:2px solid var(--navy);outline-offset:2px; }
.k-rq .reply-attach { display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:12px;padding:12px;border:1px dashed var(--line);border-radius:7px;transition:border-color .15s ease,background-color .15s ease; }
.k-rq .reply-attach.is-over { border-color:var(--navy);background:var(--navy-tint); }
.k-rq .reply-attach-button { position:relative;overflow:hidden;cursor:pointer;min-height:44px; }
.k-rq .reply-attach-button input { position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer; }
.k-rq .reply-attach-button:has(input:focus-visible) { outline:2px solid var(--navy);outline-offset:2px; }
.k-rq .reply-attach-hint { font-size:12px;color:var(--text-2); }
.k-rq .reply-chips { list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px;flex-basis:100%; }
.k-rq .reply-chips:empty { display:none; }
.k-rq .reply-chip { display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-size:12px; }
.k-rq .reply-chip button, .k-rq .information-request-files button { border:0;background:none;cursor:pointer;min-width:32px;min-height:32px;color:var(--text-2);font-size:13px; }
.k-rq .reply-chip-progress { color:var(--text-2); }
.k-rq .reply-other, .k-rq .reply-existing { margin-top:12px; }
.k-rq .reply-other summary, .k-rq .reply-existing summary { cursor:pointer;min-height:44px;align-content:center;font-size:12px;color:var(--text-2);text-decoration:underline;text-underline-offset:.2em; }
.k-rq .reply-kinds { display:flex;flex-wrap:wrap;gap:6px;padding:8px 0; }
.k-rq .reply-kinds label { display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 12px;border:1px solid var(--line);border-radius:999px;cursor:pointer;font-size:12px; }
.k-rq .reply-kinds label:has(input:checked) { border-color:var(--navy);background:var(--navy-tint);font-weight:600; }
.k-rq .reply-kinds label:has(input:focus-visible) { outline:2px solid var(--navy);outline-offset:2px; }
.k-rq .reply-kinds input { margin:0; }
.k-rq .reply-actions { display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:16px; }
.k-rq .reply-actions .portal-overview-row-action { min-height:44px; }
.k-rq .reply-status { font-size:12px;color:var(--text-2); }
.k-rq .reply-status[data-error] { color:var(--terra); }
.k-rq .reply-status a { text-decoration:underline;text-underline-offset:.2em; }
.k-rq .request-row-actions { display:flex;align-items:center;gap:8px;justify-self:end; }
.k-rq .request-row-actions .portal-overview-row-action { min-height:34px; }
.k-rq .request-row-actions:has(.portal-overview-row-action:not([hidden]))>.proto-status { display:none; }
.k-rq .reply-row-note { margin-top:6px;font-size:12px;color:var(--text-2); }
@media (prefers-reduced-motion:reduce) { .k-rq .reply-attach { transition:none; } }
@media (max-width:600px) { .k-rq .reply-actions .portal-overview-row-action { width:100%;justify-content:center; } }
@container k-rq-frame (max-width:600px) { .k-rq .reply-actions .portal-overview-row-action { width:100%;justify-content:center; } }
.k-rq .reply-attach[hidden] { display:none; }
.k-rq .information-request-handoff summary { cursor:pointer;min-height:44px;align-content:center;font-weight:600; }
.k-rq .information-request-handoff form { margin-top:8px; }
.k-rq .information-request-handoff fieldset { border:0;margin:0;min-width:0; }
.k-rq .information-request-handoff legend { padding:0;margin-bottom:6px; }
.k-rq .information-request-handoff textarea { display:block;width:100%;min-height:4rem;padding:8px 12px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--text);font:inherit;resize:vertical; }
.k-rq .information-request-handoff textarea:focus-visible { outline:2px solid var(--navy);outline-offset:2px; }
.k-rq .information-request-handoff>p { margin-top:12px; }
.k-rq .access-select { display:block;width:100%;max-width:24rem;min-height:44px;margin:6px 0 8px;padding:0 12px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--text);font:inherit; }
.k-rq .access-select:focus-visible { outline:2px solid var(--navy);outline-offset:2px; }
.k-rq .confirm-task { display:grid;gap:12px; }
.k-rq .confirm-task .reply-actions { margin-top:0; }
.k-rq .confirm-task-check, .k-rq .confirm-row-check { display:flex;align-items:center;gap:12px;min-height:44px;cursor:pointer;font-weight:600;line-height:1.4; }
.k-rq .confirm-task-check { padding:12px;border:1px solid var(--line);border-radius:7px;background:var(--surface); }
.k-rq .confirm-task-check:has(input:checked) { border-color:var(--navy);background:var(--navy-tint); }
.k-rq .confirm-task-check input, .k-rq .confirm-row-check input, .k-rq .ask-row>[data-ask-tick] { width:20px;height:20px;margin:0;flex:none;accent-color:var(--navy); }
.k-rq .confirm-task-check:has(input:focus-visible) { outline:2px solid var(--navy);outline-offset:2px; }
.k-rq .ask-row>[data-ask-tick] { margin-top:9px; }
.k-rq .information-request-done { font-weight:600;margin:0 0 6px; }
.k-rq .information-request-review { list-style:none;margin:0 0 8px;padding:0;display:grid;gap:6px; }
.k-rq .information-request-review li { display:grid; }
.k-rq .information-request-review span { color:var(--text-2); }
.k-rq .ask-form { display:grid;gap:16px; }
.k-rq .ask-item { display:grid;gap:6px;min-width:0;margin:0;padding:0;border:0; }
.k-rq .ask-prompt { font-weight:600;padding:0;overflow-wrap:anywhere; }
.k-rq .ask-help { margin:0;font-size:12px;color:var(--text-2); }
.k-rq .ask-required { margin-left:6px;font-size:12px;font-weight:400;color:var(--text-2); }
.k-rq [data-ask-item] input[type=text], .k-rq .ask-item textarea { display:block;width:100%;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--text);font:inherit; }
.k-rq .ask-item textarea { min-height:6rem;resize:vertical; }
.k-rq .ask-choices { margin-top:4px; }
.k-rq .ask-drop { display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:12px;border:1px dashed var(--line);border-radius:7px;transition:border-color .15s ease,background-color .15s ease; }
.k-rq .ask-drop.is-over { border-color:var(--navy);background:var(--navy-tint); }
.k-rq .ask-drop-button { position:relative;overflow:hidden;cursor:pointer;min-height:44px; }
.k-rq .ask-drop-button input { position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer; }
.k-rq .ask-drop-button:has(input:focus-visible) { outline:2px solid var(--navy);outline-offset:2px; }
.k-rq .ask-drop-hint { font-size:12px;color:var(--text-2); }
.k-rq .ask-file-list { margin-top:6px; }
.k-rq .ask-form .reply-actions { margin-top:0; }
.k-rq .ask-cant>summary { cursor:pointer;list-style:none;display:flex;align-items:center;width:fit-content;min-height:36px;font-size:12px;color:var(--text-2);text-decoration:underline;text-underline-offset:.2em; }
.k-rq .ask-cant>summary::-webkit-details-marker { display:none; }
.k-rq .ask-cant[open]>summary { color:var(--text);text-decoration:none;font-weight:600; }
.k-rq .ask-cant[hidden] { display:none; }
.k-rq .ask-cant-list { list-style:none;margin:6px 0 0;padding:0;display:grid; }
.k-rq .ask-cant-row { display:grid;gap:6px;min-width:0;padding:12px 0;border-top:1px solid var(--line); }
.k-rq .ask-cant-row:first-child { border-top:0;padding-top:8px; }
.k-rq .ask-cant-row[hidden] { display:none; }
.k-rq .ask-cant-row label { font-weight:600;line-height:1.4;overflow-wrap:anywhere; }
.k-rq .ask-cant-row select { min-height:44px;width:100%;max-width:24rem;padding:6px 12px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--text);font:inherit; }
.k-rq .ask-cant-row input[type=text] { display:none;width:100%;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--text);font:inherit; }
.k-rq .ask-cant-row:has(select option:checked:not([value=""])) input[type=text] { display:block; }
.k-rq .ask-cant-row :is(select,input[type=text]):focus-visible { outline:2px solid var(--navy);outline-offset:2px; }
.k-rq .ask-row.is-missing :is(.ask-drop,.ask-choices,[data-ask-tick],input[type=text],textarea), .k-rq .ask-slot.is-missing .upload { opacity:.55; }
.k-rq .ask-count { font-size:12px;color:var(--text-2);font-variant-numeric:tabular-nums; }
.k-rq .ask-form [data-ask-send]:disabled { opacity:.5;cursor:not-allowed; }
.k-rq .ask-sent .ask-change { margin-top:8px; }
.k-rq .ask-change>summary { cursor:pointer;min-height:44px;align-content:center;font-weight:600;color:var(--navy); }
.k-rq .ask-change[open]>summary { margin-bottom:12px; }
.k-rq .ask-answers { display:grid;gap:8px;margin:6px 0 0; }
.k-rq .ask-answers>div { display:grid;gap:4px;padding-bottom:8px;border-bottom:1px solid var(--line); }
.k-rq .ask-answers>div:last-child { border-bottom:0;padding-bottom:0; }
.k-rq .ask-answers dt { font-weight:600;overflow-wrap:anywhere; }
.k-rq .ask-answers dd { margin:0;overflow-wrap:anywhere; }
.k-rq .ask-answers-text { white-space:pre-line; }
.k-rq .ask-answers-none { color:var(--text-2); }
.k-rq .ask-answers .information-request-files { margin:0; }
@media (prefers-reduced-motion:reduce) { .k-rq .ask-drop { transition:none; } }
.k-rq .ask-rows { display:grid; }
.k-rq .ask-row { display:grid;grid-template-columns:20px minmax(0,1fr);column-gap:16px;row-gap:8px;align-items:start;padding:12px 0;border-top:1px solid var(--line); }
.k-rq .ask-row:first-child { border-top:0;padding-top:4px; }
.k-rq .ask-row[hidden] { display:none; }
.k-rq .ask-mark { width:18px;height:18px;margin-top:9px;border:1.5px solid var(--control);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:11px;line-height:1;color:transparent; }
.k-rq .ask-row.is-answered .ask-mark { background:var(--olive);border-color:var(--olive);color:var(--on-dark); }
.k-rq .ask-row.is-answered .ask-mark::before { content:"✓"; }
.k-rq .ask-row:has([data-ask-tick]) label.ask-prompt { cursor:pointer; }
.k-rq .ask-lead { display:grid;gap:2px;min-width:0;padding-top:7px; }
.k-rq .ask-row .ask-prompt { line-height:1.4; }
.k-rq .ask-row .ask-help { line-height:1.4; }
.k-rq .ask-given { display:none;margin:0;font-size:12px;color:var(--text);overflow-wrap:anywhere;white-space:pre-line; }
.k-rq .ask-control { grid-column:2;display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;min-width:0; }
.k-rq .ask-control>input[type=text], .k-rq .ask-control>textarea, .k-rq .ask-control>.ask-file-list { flex:1 1 100%; }
.k-rq .ask-row .ask-choices { margin:0;flex:0 1 auto; }
.k-rq .ask-row .ask-drop { padding:0;border:0;flex:0 0 auto; }
.k-rq .ask-row:has(.ask-drop.is-over) { background:var(--navy-tint); }
.k-rq .ask-row .ask-file-list { margin:0; }
.k-rq .ask-file-list:empty { display:none; }
.k-rq .ask-row.is-folded { grid-template-columns:20px minmax(0,1fr) auto;align-items:center;padding:8px 0; }
.k-rq .ask-row.is-folded .ask-lead { padding-top:0; }
.k-rq .ask-row.is-folded .ask-mark { margin-top:0; }
.k-rq .ask-row.is-folded .ask-help, .k-rq .ask-row.is-folded .ask-control { display:none; }
.k-rq .ask-row.is-folded .ask-given { display:block; }
.k-rq .ask-row.is-folded .ask-prompt { font-weight:500;color:var(--text-2); }
.k-rq .ask-edit { grid-column:3;justify-self:end;min-height:36px;padding:0 6px;border:0;background:none;font:inherit;font-size:12px;color:var(--text-2);text-decoration:underline;text-underline-offset:.2em;cursor:pointer; }
.k-rq .ask-edit[hidden] { display:none; }
.k-rq .ask-edit:focus-visible { outline:2px solid var(--navy);outline-offset:2px; }
.k-rq .ask-dropbox[hidden] { display:none; }
.k-rq .ask-dropzone { display:grid;justify-items:center;gap:8px;padding:16px;border:1.5px dashed var(--control);border-radius:7px;text-align:center;transition:border-color .15s ease,background-color .15s ease; }
.k-rq .ask-dropzone p { margin:0;color:var(--text-2); }
.k-rq .ask-dropzone.is-over { border-color:var(--navy);background:var(--navy-tint); }
.k-rq .ask-sort { list-style:none;margin:8px 0 0;padding:0;display:grid;gap:8px; }
.k-rq .ask-sort:empty { display:none; }
.k-rq .ask-sort li { display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:center;font-size:12px;overflow-wrap:anywhere; }
.k-rq .ask-sort select { min-height:40px;width:100%;padding:6px 12px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--text);font:inherit; }
@media (pointer:coarse) { .k-rq .ask-cant>summary, .k-rq .ask-edit { min-height:44px; } }
.k-rq .ask-control:empty { display:none; }
@media (pointer:coarse) { .k-rq .confirm-task-check input, .k-rq .confirm-row-check input, .k-rq .ask-row>[data-ask-tick] { width:28px;height:28px; } }
@media (pointer:coarse) { .k-rq .ask-row:has([data-ask-tick]) { grid-template-columns:28px minmax(0,1fr); } }
@media (pointer:coarse) { .k-rq .ask-row>[data-ask-tick] { margin-top:5px; } }
.k-rq .ask-form .ask-slot:has(>.kind-tile) { grid-template-columns:auto minmax(0,1fr); }
.k-rq .ask-form .ask-slot>.request-row-actions { grid-column:2;justify-self:start; }
@media (prefers-reduced-motion:reduce) { .k-rq .ask-dropzone { transition:none; } }
.k-rq .request-upload-list { list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px; }
.k-rq .request-upload-list:empty { display:none; }
.k-rq .request-upload-list li { display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;font-size:12px;overflow-wrap:anywhere; }
.k-rq .information-request-alt>summary { font-weight:600; }
.k-rq .information-request-alt-body { margin-top:12px; }
.k-rq .ask-sent-back { margin:6px 0 0;padding:6px 8px;border-left:3px solid var(--terra);background:var(--surface);font-size:12px; }
.k-rq .ask-previous { margin:6px 0 0;color:var(--text-2);font-size:12px; }
.k-rq .ask-dropzone .ask-drop-button { justify-self:center; }

/* The block's own rules, not copies of the portal's: an item's own "Can't send this?" / "Can't do this?" (UI-073, Sonny 10/1). */
.k-rq .ask-cant-own { margin:0;color:var(--text);font-size:13px; }
.k-rq .ask-cant-own[open] { display:grid;gap:8px;padding:2px 0 4px; }
.k-rq .ask-cant-choices { display:grid;gap:6px;min-width:0;margin:0;padding:0;border:0; }
.k-rq .ask-cant-choices label { display:flex;align-items:center;gap:10px;min-height:38px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);font-size:13.5px;font-weight:400;cursor:pointer; }
.k-rq .ask-cant-choices input { margin:0;accent-color:var(--navy); }
.k-rq .ask-cant-choices label:has(input:checked) { border-color:var(--navy);background:var(--navy-tint); }
.k-rq .ask-cant-note { color:var(--text-2);font-size:12.5px;font-weight:500; }
.k-rq .ask-cant-own textarea { width:100%;min-height:60px;padding:8px 12px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--text);font:inherit;resize:vertical; }
.k-rq .ask-cant-own:not(:has(input:checked)) :is(.ask-cant-note,textarea) { display:none; }
/* A document they do not have yet: the day they expect it (CP-162), shown only with that reason. */
.k-rq .ask-cant-until { display:grid;gap:4px;max-width:16rem;color:var(--text-2);font-size:12.5px;font-weight:500; }
.k-rq .ask-cant-until[hidden] { display:none; }
.k-rq .ask-cant-until input { min-height:44px;padding:6px 12px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--text);font:inherit;font-size:14px; }
.k-rq .ask-cant-until input:focus-visible { outline:2px solid var(--navy);outline-offset:2px; }
.k-rq .ask-cant-undo { justify-self:start;min-height:32px;padding:0;border:0;background:none;color:var(--text-2);font:inherit;font-size:12.5px;text-decoration:underline;text-underline-offset:.2em;cursor:pointer; }
.k-rq .ask-cant-own :is(input,textarea,button):focus-visible { outline:2px solid var(--navy);outline-offset:2px; }
.k-rq .ask-slot:has(.ask-cant-own[open])>.kind-tile { align-self:start; }
.k-rq .ask-slot .information-request-files>* { flex-wrap:nowrap;align-items:center; }
.k-rq .ask-slot .information-request-files>*>span { min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.k-rq .ask-file-size { flex:none;color:var(--text-2);font-size:12.5px;white-space:nowrap; }
@media (pointer:coarse) { .k-rq .ask-cant-undo { min-height:44px; } }
/* A season request (RD-072): one list for the year's documents. The tag on a document added after the request went out, said once and dated;
   an EIN never breaks across lines; a row for a document already in keeps its words wide, its chip and date stacked at the right. */
.season-new { display:inline-flex;align-items:center;margin-left:8px;padding:2px 9px;border-radius:999px;background:var(--sand-tint);color:var(--sand);font-size:12px;font-weight:500;vertical-align:1px; }
.season-nowrap { white-space:nowrap; }
.season-list > li:not(.ask-slot) .request-row-actions { flex-direction:column;align-items:flex-end;gap:2px; }
/* A season's rows keep their action at the right of the row while there is room, as the boards draw them; on a phone it sits under the words. */
@media (min-width:601px) { .ask-form .season-list>.ask-slot:has(>.kind-tile) { grid-template-columns:auto minmax(0,1fr) auto; }
  .ask-form .season-list>.ask-slot>.request-row-actions { grid-column:auto;justify-self:end; } }

/* Requests, the shared block (UI-073 stage 4; requests.js): the list bar, the list in its card, its rows and paging. Live's
   Requests drawing (CP-095, CP-106, CP-107; Sonny 9/27 to 9/30) in the kit's tokens, so the Requests boards and the page are one
   stylesheet. The frame around the list (the card a request opens in beside it, the accordion under a row) is the page's own
   (client-portal.css). On a phone (the page, or a phone board on a wide screen) the rules read the list's own width. */
.k-req-page { container: k-req / inline-size; }
.k-req-bar, .k-req-card, .k-req-rows, .k-req-paging { line-height: 1.55; }

/* The bar: where things stand as one switch, then the kind and the search. */
.k-req-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 0 0 12px; }
.k-req-seg { position: relative; display: inline-flex; gap: 2px; padding: 3px; border-radius: 9px; background: var(--neutral-tint); }
.k-req-seg > a { position: relative; z-index: 1; display: inline-flex; align-items: center; gap: 6px; min-height: 30px; padding: 0 12px; border-radius: 7px; color: var(--text-2); font-size: 13px; font-weight: 500; text-decoration: none; white-space: nowrap; transition: color .12s ease; }
.k-req-seg > a > i { font-style: normal; font-size: 12px; font-weight: 600; color: var(--text-4); }
.k-req-seg > a[aria-current=page] { background: var(--surface); color: var(--text); box-shadow: 0 1px 2px rgba(22, 24, 29, .06); }
/* The page's script lays one pill under the current option and slides it (the kit's segmented control, Sonny 9/30). */
.k-req-seg > .k-req-pill { display: none; }
.k-req-seg.has-pill > .k-req-pill { display: block; position: absolute; z-index: 0; left: 0; top: 0; width: 0; height: 0; border-radius: 7px; background: var(--surface); box-shadow: 0 1px 2px rgba(22, 24, 29, .06); pointer-events: none; }
.k-req-seg.has-pill > .k-req-pill.is-moving { transition: left .16s cubic-bezier(.2, .8, .2, 1), width .16s cubic-bezier(.2, .8, .2, 1); }
.k-req-seg.has-pill > a[aria-current=page] { background: transparent; box-shadow: none; }
.k-req-search { display: flex; gap: 8px; margin: 0 0 0 auto; }
.k-req-field { position: relative; display: flex; align-items: center; width: 260px; }
.k-req-field > svg { position: absolute; left: 11px; width: 16px; height: 16px; color: var(--text-4); pointer-events: none; }
.k-req-field > input { width: 100%; min-height: 36px; padding: 0 12px 0 34px; border: 1px solid var(--line); border-radius: var(--r-control); background: var(--surface); color: var(--text); font: inherit; font-size: 13.5px; }
.k-req-field > input:focus, .k-req-kind:focus { border-color: var(--navy); outline: 2px solid var(--navy-tint); outline-offset: 0; }
.k-req-kind { min-height: 36px; padding: 0 30px 0 12px; border: 1px solid var(--line); border-radius: var(--r-control); background-color: var(--surface); color: var(--text); font: inherit; font-size: 13.5px; }
@media (prefers-reduced-motion: reduce) { .k-req-seg > a, .k-req-seg > .k-req-pill.is-moving { transition: none !important; } }

/* The card: a title and a way to all of it (Today's For you), or groups under their names (Requests). */
.k-req-card { overflow: hidden; border: 1px solid var(--line); border-radius: var(--r-card); background: var(--surface); }
/* Two cards never touch (a spouse's requests under the person's own, CP-138). */
.k-req-card + .k-req-card { margin-top: 16px; }
.k-req-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px 8px; }
.k-req-head > h2 { margin: 0; color: var(--text); font-size: 14.5px; font-weight: 600; line-height: 1.3; }
.k-req-group { margin: 0; padding: 12px 16px 6px; border-top: 1px solid var(--line-soft); color: var(--text-4); font-size: 11.5px; font-weight: 600; line-height: 1.55; letter-spacing: .07em; text-transform: uppercase; }
.k-req-card > .k-req-group:first-child { border-top: 0; }
.k-req-empty { margin: 0; padding: 16px; color: var(--text-2); }
.k-req-foot { padding: 12px 16px; border-top: 1px solid var(--line); background: var(--quiet); }
.k-req-link { display: block; padding: 4px 0; color: var(--navy); font-size: 13px; font-weight: 500; line-height: 1.3; text-align: center; text-decoration: none; }
.k-req-link:hover { text-decoration: underline; }
/* On Today the card fills its place in the raised row and its footer sits at the bottom. */
.k-req-home { display: flex; flex-direction: column; }
.k-req-home > .k-req-foot { margin-top: auto; }

/* A row: the kind's tile, what it is and one line of purpose, then where it stands and its one action. The title's link covers
   the row (the whole row opens it); the row's own buttons, forms and other links sit above it (Sonny 9/24). */
.k-req-rows { margin: 0; padding: 0; list-style: none; }
.k-req-row { position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 12px; align-items: center; min-height: 56px; padding: 8px 16px; border-top: 1px solid var(--line-soft); background: var(--surface); transition: background 120ms cubic-bezier(.2, .7, .2, 1); }
.k-req-card > .k-req-rows:first-child > .k-req-row:first-child { border-top: 0; }
.k-req-row:has(.k-req-title):hover { background: color-mix(in srgb, var(--surface) 88%, var(--navy-tint)); }
.k-req-row :is(button, input, select, textarea, summary, label, form, a:not(.k-req-title)) { position: relative; z-index: 1; }
/* A file input lies over its button (Upload, Attach), a chip's radio over its pill: out of the flow, as on the request's page. */
.k-req-row :is(.upload, .reply-attach-button) input[type=file], .k-req-row .portal-chips label > input:is([type=radio], [type=checkbox]) { position: absolute; }
.k-req-tile { display: grid; place-items: center; width: 32px; height: 32px; flex: none; border-radius: 9px; }
.k-req-tile > svg { width: 16px; height: 16px; }
.k-req-tile[data-kind=document] { background: var(--sand-tint); color: var(--sand); }
.k-req-tile:is([data-kind=form], [data-kind=information], [data-kind=doorway]) { background: var(--navy-tint); color: var(--navy); }
.k-req-tile[data-kind=task] { background: var(--olive-tint); color: var(--olive); }
.k-req-tile[data-kind=signature] { background: var(--terra-tint); color: var(--terra); }
.k-req-copy { min-width: 0; }
.k-req-copy > strong { display: block; color: var(--text); font-size: 14px; font-weight: 500; line-height: 1.3; }
.k-req-copy .k-req-title { display: inline; color: inherit; font: inherit; text-decoration: none; }
.k-req-title::after { content: ""; position: absolute; inset: 0; }
.k-req-purpose { display: block; margin-top: 2px; overflow: hidden; color: var(--text-3); font-size: 12.5px; line-height: 1.35; text-overflow: ellipsis; }
.k-req-dot { display: inline-block; width: 7px; height: 7px; margin-right: 6px; border-radius: 50%; background: var(--navy); vertical-align: 1px; }
.k-req-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.k-req-place { display: none; color: var(--text-2); }
.k-req-tag { display: inline-block; margin-left: 6px; padding: 1px 8px; border-radius: var(--r-pill); background: var(--navy-tint); color: var(--text-2); font-size: 11.5px; font-weight: 600; vertical-align: 1px; }
.k-req-tag.business { background: var(--sand-tint); }
.k-req-tag.draft { background: var(--quiet); }
.k-req-acts { display: flex; align-items: center; gap: 8px; justify-self: end; }
.k-req-status { color: var(--text-2); font-size: 12px; line-height: 1.55; }
/* A document's date at the row's end, and the place to drop files at the card's end (Documents). */
.k-req-when { color: var(--text-2); font-size: 13px; white-space: nowrap; font-variant-numeric: tabular-nums; }
.k-req-drop { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; margin: 8px 16px 16px; border: 1.5px dashed var(--control); border-radius: 8px; color: var(--text-2); font-size: 13.5px; cursor: pointer; }
.k-req-drop > svg { width: 16px; height: 16px; }
.k-req-drop u { color: var(--navy); font-weight: 500; text-decoration: none; }
.k-req-drop:hover { border-color: var(--navy); background: var(--navy-tint); }
@media (max-width: 560px) { .k-req-drop { margin: 8px 12px 12px; } }
@container k-rq-frame (max-width: 560px) { .k-req-drop { margin: 8px 12px 12px; } }
.k-req-chip.due { color: var(--text-2); font-size: 12px; line-height: 1.55; }
.k-req-chip.new { display: inline-block; margin-top: 2px; padding: 0 6px; border-radius: var(--r-pill); background: color-mix(in srgb, var(--terra) 13%, var(--surface)); color: var(--terra); font-size: 12px; font-weight: 700; line-height: 1.5; }
/* A row's action: every action the same width, so buttons line up whatever the label (CP-033). */
.k-req-acts > .k-btn, .k-req-acts > .k-slot .k-btn, .k-req-paging > .k-btn { height: auto; text-decoration: none; min-width: 96px; min-height: 34px; gap: 8px; padding: 0 12px; justify-content: center; font-size: 13.5px; font-weight: 500; line-height: 1.55; text-align: center; white-space: normal; }
.k-req-acts > .k-btn:hover, .k-req-acts > .k-slot .k-btn:hover, .k-req-paging > .k-btn:hover { border-color: var(--text-5); background: var(--ground); }
.k-req-acts > .k-btn > svg { width: 15px; height: 15px; flex: none; }
.k-req-acts > .k-btn:has(> svg) { gap: 6px; }
.k-req-chev { display: none; color: var(--text-3); }
.k-req-chev > svg { width: 18px; height: 18px; }
.k-req-paging { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 16px 0 0; }

/* A request open under its row on a computer narrower than the list and its card (Sonny 9/30, an accordion): the open row stays
   tinted under the pointer (the page's frame gives it the current-row bar); the request is indented to the row's text edge. The
   page's script adds the holder (.k-req-opened). */
.is-inline .k-req-row.is-open, .is-inline .k-req-row.is-open:hover { background: var(--navy-tint); }
.k-req-rows > li.k-req-opened { display: block; min-height: 0; padding: 0 16px 16px calc(16px + 32px + 12px); border-top: 1px solid var(--line-soft); background: var(--surface); }

/* A phone: the switch is one scrolling row of chips; each row keeps its tile, its purpose is one line, and a row that answers in
   place (a reply, two actions) puts them under its words. A checkbox task is one row that opens the task. */
@container k-req (max-width: 700px) {
  .k-req-bar { flex-direction: column; align-items: stretch; gap: 8px; }
  .k-req-seg { min-width: 0; contain: inline-size; gap: 8px; margin: 0 -16px; padding: 0 16px; background: none; overflow-x: auto; scrollbar-width: none; }
  .k-req-seg > a { min-height: 36px; padding: 0 14px; border: 1px solid var(--control); border-radius: var(--r-pill); background: var(--surface); }
  .k-req-seg > a[aria-current=page], .k-req-seg.has-pill > a[aria-current=page] { border-color: var(--text); background: var(--text); color: var(--surface); box-shadow: none; }
  .k-req-seg > a[aria-current=page] > i { color: inherit; opacity: .75; }
  .k-req-seg.has-pill > .k-req-pill { display: none; }
  .k-req-search { margin: 0; }
  .k-req-field { flex: 1 1 0; width: 100%; min-width: 0; }
  .k-req-field > input, .k-req-kind { min-height: 44px; font-size: 16px; }
}
/* A phone with all four states (New replies shows only while there are any): four chips are wider than the screen, and the scrolling
   row cut the last one off at the edge (CP-263). They sit as two even columns instead, every chip whole. */
@container k-req (max-width: 460px) {
  .k-req-seg:has(> a:nth-of-type(4)) { display: grid; grid-template-columns: 1fr 1fr; overflow: visible; margin: 0; padding: 0; }
  .k-req-seg:has(> a:nth-of-type(4)) > a { justify-content: center; }
}
@container k-req (max-width: 700px) {
  .k-req-group { padding: 12px 12px 6px; }
  .k-req-row { padding: 8px 12px; }
  .k-req-tile { width: 30px; height: 30px; }
  .k-req-acts > .k-btn, .k-req-acts > .k-slot .k-btn { min-width: 84px; max-width: 100%; }
  .k-req-paging > .k-btn { min-width: 84px; }
  .k-req-head { padding: 12px 12px 8px; }
  .k-req-foot, .k-req-empty { padding: 12px; }
  .k-req-purpose { white-space: nowrap; }
  /* Documents (Sonny 10/1): a document's second line, its file name and who sent it, shows whole. */
  .k-req-page.k-req-full .k-req-purpose { white-space: normal; overflow-wrap: anywhere; }
  .k-req-acts > .k-slot:has(> .request-link) { display: none; }
  /* The row's dot already says a reply is new; the chip beside the button would squeeze the title to a word a line. */
  .k-req-acts > .k-req-chip.new { display: none; }
  .k-req-row.is-task { grid-template-columns: auto minmax(0, 1fr) auto; }
  .k-req-row.is-task > .k-req-acts { display: none; }
  .k-req-row.is-task > .k-req-chev { display: grid; place-items: center; align-self: center; }
  .k-req-copy > strong > .k-req-tag:not(.draft) { display: none; }
  .k-req-place { display: inline; }
}
@container k-td (max-width: 700px) {
  .k-req-group { padding: 12px 12px 6px; }
  .k-req-row { padding: 8px 12px; }
  .k-req-tile { width: 30px; height: 30px; }
  .k-req-acts > .k-btn, .k-req-acts > .k-slot .k-btn { min-width: 84px; max-width: 100%; }
  .k-req-paging > .k-btn { min-width: 84px; }
  .k-req-head { padding: 12px 12px 8px; }
  .k-req-foot, .k-req-empty { padding: 12px; }
  .k-req-purpose { white-space: nowrap; }
  .k-req-acts > .k-slot:has(> .request-link) { display: none; }
  /* The row's dot already says a reply is new; the chip beside the button would squeeze the title to a word a line. */
  .k-req-acts > .k-req-chip.new { display: none; }
  .k-req-row.is-task { grid-template-columns: auto minmax(0, 1fr) auto; }
  .k-req-row.is-task > .k-req-acts { display: none; }
  .k-req-row.is-task > .k-req-chev { display: grid; place-items: center; align-self: center; }
  .k-req-copy > strong > .k-req-tag:not(.draft) { display: none; }
  .k-req-place { display: inline; }
}

/* A row whose button says what to do does not also show its status (Sonny 9/26); a due date shows beside the button. */
.k-req-acts:has(> .k-btn:not([hidden]), .portal-overview-row-action:not([hidden])) > .k-req-status { display: none; }
.k-req-chip.due { display: inline-flex; }
.k-req-acts > [hidden] { display: none; }
/* A question's reply in its row, under the row's words and actions; once sent, the row says so and glows once. */
.k-req-inline { grid-column: 1 / -1; margin-top: 8px; padding-top: 12px; border-top: 1px solid var(--line); }
.k-req-inline[hidden] { display: none; }
.k-req-copy > .reply-row-note { margin: 6px 0 0; color: var(--text-2); font-size: 12px; }
.k-req-row.is-sent { animation: k-req-sent .9s ease-out; }
@keyframes k-req-sent { from { box-shadow: inset 0 0 0 999px var(--navy-tint); } to { box-shadow: none; } }
@media (prefers-reduced-motion: reduce) { .k-req-row.is-sent { animation: none; } }

/* Freeze and compare: Baseline | frozen plans | Working side by side, and their chart. Markup: app/planning/scenario-freeze.js. Tokens only. */
.k-cmp-box { max-width: 100%; overflow-x: auto; border: 1px solid var(--line); border-radius: var(--r-small); background: var(--surface); }
.k-cmp { border-collapse: separate; border-spacing: 0; width: 100%; min-width: 560px; font-size: var(--fs-small); font-variant-numeric: tabular-nums; }
.k-cmp th, .k-cmp td { padding: 8px 12px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--line-faint); background: var(--surface); }
.k-cmp thead th { background: var(--ground); color: var(--text-2); font-weight: 600; border-bottom: 1px solid var(--line); vertical-align: middle; }
.k-cmp tbody th[scope=row] { position: sticky; left: 0; z-index: 1; min-width: 120px; max-width: 150px; font-weight: 600; color: var(--text-3); background: var(--ground); border-right: 1px solid var(--line); white-space: normal; }
.k-cmp thead .k-cmp-corner { position: sticky; left: 0; z-index: 2; min-width: 120px; border-right: 1px solid var(--line); }
.k-cmp td { min-width: 128px; }
.k-cmp td b { display: block; font-size: var(--fs-body); font-weight: 400; color: var(--text); }
.k-cmp td.differs b { font-weight: 700; }
.k-cmp td small { display: block; white-space: normal; }
.k-cmp td .k-cmp-chg { color: var(--text-3); }
.k-cmp tr:last-child th, .k-cmp tr:last-child td { border-bottom: 0; }
.k-cmp-name { display: block; font-size: var(--fs-body); color: var(--text); }
.k-cmp-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 32px; }
.k-cmp-from { font-size: var(--fs-micro); font-weight: 400; color: var(--text-4); margin-left: 4px; }
.k-cmp-menu wa-button::part(base), .k-cmp-x::part(base) { padding-inline: var(--space-2); }
.k-cmp-head .k-cmp-menu { margin-inline-start: auto; }
.k-cmp-tag { display: block; padding: 1px 0; color: var(--text); white-space: normal; font-weight: 400; }
.k-cmp td .k-muted { color: var(--text-3); }
.k-cmp th.working { border-left: 2px solid var(--control-strong); }
.k-cmp th.baseline { color: var(--text-3); }

/* The chart: strokes differ by pattern as well as by weight, and the legend draws the same strokes */
.k-cmp-svg .ln { fill: none; stroke-linejoin: round; stroke-linecap: butt; stroke-width: 2; }
.k-cmp-svg .ln.s-base, .k-cmp-key.s-base line { stroke: var(--text-3); stroke-width: 1.75; }
.k-cmp-svg .ln.s-a, .k-cmp-key.s-a line { stroke: var(--d3); }
.k-cmp-svg .ln.s-b, .k-cmp-key.s-b line { stroke: var(--d2); stroke-width: 2.5; }
.k-cmp-svg .ln.s-c, .k-cmp-key.s-c line { stroke: var(--d5); }
.k-cmp-svg .ln.s-d, .k-cmp-key.s-d line { stroke: var(--d6); }
.k-cmp-svg .ln.s-work, .k-cmp-key.s-work line { stroke: var(--navy); stroke-width: 3.5; }
.k-cmp-key line { fill: none; stroke-width: 2; }
.k-cmp-key.s-b line { stroke-width: 2.5; }
.k-cmp-key.s-base line { stroke-width: 1.75; }
.k-cmp-key.s-work line { stroke-width: 3.5; }
.k-cmp-key { flex: none; }
.k-cmp-legend { flex-wrap: wrap; gap: 6px 18px; margin: 6px 0 0; }

@media (max-width: 640px) {
  .k-cmp td { min-width: 118px; }
  .k-cmp tbody th[scope=row], .k-cmp thead .k-cmp-corner { min-width: 96px; max-width: 104px; }
}

/* R28 J13: on a phone the compare table stacks its columns, so every column's name, menu and × are on screen */
@media (max-width: 640px) {
  .k-cmp-box { overflow-x: visible; }
  .k-cmp { min-width: 0; display: block; }
  .k-cmp thead, .k-cmp tbody { display: block; }
  .k-cmp thead tr { display: flex; flex-wrap: wrap; gap: 4px 8px; padding: 6px 8px; background: var(--ground); border-bottom: 1px solid var(--line); }
  .k-cmp thead th { display: block; border: 0; padding: 2px 4px; }
  .k-cmp thead .k-cmp-corner { display: none; }
  .k-cmp tbody tr { display: block; padding: 8px 12px; border-bottom: 1px solid var(--line-faint); }
  .k-cmp tbody th[scope=row] { position: static; display: block; min-width: 0; max-width: none; padding: 0 0 4px; border: 0; background: none; }
  .k-cmp td { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 0 12px; min-width: 0; padding: 2px 0; border: 0; background: none; }
  .k-cmp td::before { content: attr(data-label); color: var(--text-3); grid-row: 1 / span 3; }
  .k-cmp td > * { grid-column: 2; text-align: right; }
}

/* The plan (FP-325), after eMoney's Decision Center: the changes in a rail on the left, the plan on the right (chart, outcome tiles, Details by year);
   a phone shows the chart and tiles first, then the changes, then the details.
   Markup: app/planning/scenario-page.js and scenario-model.js. Tokens only; controls are Web Awesome (wa-switch, wa-slider, wa-select, wa-input), looked after by wa-theme.css; this file only places them. */
.k-sc { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.k-sc-grid { display: grid; grid-template-columns: minmax(300px, 360px) minmax(0, 1fr); grid-template-areas: "edits plan" "edits details"; grid-template-rows: auto 1fr; gap: 18px 24px; align-items: start; }
.k-sc-edits { grid-area: edits; align-self: stretch; min-width: 0; }
.k-sc-rail { display: flex; flex-direction: column; gap: 0; min-width: 0; }
.k-sc-rail > :empty { display: none; }
/* At desktop width the rail stays under the page header with its own scroll, so adjusting any input keeps the chart, tiles and status in view. */
@media (min-width: 1001px) {
  /* the rail sticks inside its own column (the aside spans the grid rows beside the chart), so it never reaches the table; it scrolls only when its content is taller than the screen (scenario-client.js sets data-scroll) */
  .k-sc-rail { position: sticky; top: var(--sc-rail-top, 12px); max-height: calc(100vh - var(--sc-rail-top, 12px) - 12px); overscroll-behavior: contain; }
  .k-sc-rail[data-scroll] { position: static; max-height: none; }
}
.k-sc-plan { grid-area: plan; display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.k-sc-details { grid-area: details; }
.k-sc-bulk { display: inline-flex; align-items: center; gap: 8px; font-size: var(--fs-small); color: var(--text-4); }
.k-sc-bulk .k-link { padding: 0; font-size: var(--fs-small); }
.k-sc-bulk[hidden] { display: none; }
.k-sc-vh { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.k-sc-rowbtn { flex: 1 1 auto; min-width: 0; display: flex; align-items: flex-start; gap: 8px; padding: 0; margin: 0; border: 0; background: none; font: inherit; color: inherit; text-align: left; cursor: pointer; border-radius: var(--r-small); }
.k-sc .k-sc-rowbtn:hover { background: none; color: inherit; }
.k-sc-rowbtn:hover .k-sc-desc { text-decoration: underline; text-decoration-color: var(--control-strong); text-underline-offset: 3px; }
.k-sc-rowbtn:focus-visible { outline: none; box-shadow: var(--focus-ring); }
.k-sc-chev { flex: none; width: 7px; height: 7px; margin-top: 7px; border-right: 1.5px solid var(--text-4); border-bottom: 1.5px solid var(--text-4); transform: rotate(45deg); }
.k-sc-edit.open .k-sc-chev { transform: rotate(-135deg); margin-top: 10px; }
.k-sc-edit { flex-direction: column; gap: 0; }
.k-sc-head { display: flex; align-items: flex-start; gap: 12px; }
.k-sc-head > .k-two { flex: 1 1 auto; min-width: 0; }
.k-sc-form.live { border: 0; background: var(--quiet); margin: 8px 0 2px 46px; padding: 12px; }
.k-sc-form.live .k-sc-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.k-sc h2 { margin: 0; font-size: var(--fs-section); font-weight: 600; }
.k-sc-sub { margin: 4px 0 0; font-size: var(--fs-small); font-weight: 600; letter-spacing: .02em; color: var(--text-3); }
.k-sc-bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.k-sc-pickers { display: flex; align-items: flex-end; flex-wrap: wrap; gap: 8px 12px; }
.k-sc-pickers > .k-field { flex: 1 1 160px; min-width: 0; }
.k-sc-starts { display: flex; flex-wrap: wrap; gap: 8px; }
.k-sc [hidden] { display: none !important; }

/* The edits */
.k-sc-group { border: 1px solid var(--line); border-radius: var(--r-card, 8px); background: var(--surface); padding: 12px 14px; display: flex; flex-direction: column; gap: 10px; }
.k-sc-group.off .k-sc-inputs, .k-sc-group.off .k-sc-list { opacity: .6; }
.k-sc-ghead { display: flex; align-items: flex-start; gap: 12px; }
.k-sc-ghead > wa-switch { flex: none; margin-top: 2px; }
.k-sc-ghead > .btn-danger { flex: none; white-space: nowrap; }
.k-sc-ghead .k-two { flex: 1 1 auto; min-width: 0; }
.k-sc-gname { font-size: 1rem; font-weight: 600; }
.k-sc-inputs > summary { cursor: pointer; font-size: var(--fs-small); font-weight: 600; color: var(--text-3); padding: 2px 0 8px; }
.k-sc-inrows { display: flex; flex-direction: column; gap: 12px; }
.k-sc-in { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.k-sc-inhead { display: flex; align-items: center; gap: 8px; min-width: 0; }
.k-sc-inhead .k-label { flex: 1 1 auto; }
.k-sc-calc { font-size: var(--fs-small); color: var(--text-3); font-variant-numeric: tabular-nums; white-space: nowrap; }
.k-sc-basis { flex: none; }
.k-sc-ctl { display: flex; align-items: center; gap: 12px; min-width: 0; }
.k-sc-ctl wa-slider { flex: 1 1 0; width: 0; min-width: 60px; }
wa-input.k-sc-box { flex: none; width: 15ch; }
wa-input.k-sc-box [slot="end"] { margin-inline-start: var(--wa-space-2xs); white-space: nowrap; }
wa-input.k-sc-box::part(input) { text-align: right; font-variant-numeric: tabular-nums; }
.k-sc-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.k-sc-edit { display: flex; align-items: flex-start; gap: 12px; padding: 9px 0; border-top: 1px solid var(--line-soft); }
.k-sc-edit:first-child { border-top: 0; }
.k-sc-edit .k-two { flex: 1 1 auto; min-width: 0; }
.k-sc-edit wa-switch { margin-top: 2px; }
.k-sc-desc { font-size: var(--fs-body); color: var(--text); overflow-wrap: anywhere; white-space: normal; }
.k-sc-edit.off .k-sc-desc { color: var(--text-3); }
.k-sc-edit small, .k-sc-ghead small { display: block; white-space: normal; overflow-wrap: anywhere; }
.k-sc-name { font-weight: 600; }
.k-sc-detail { color: var(--text-2); }
.k-sc-meta { display: flex !important; flex-wrap: wrap; gap: 0 12px; color: var(--text-3); }
.k-sc-kind { color: var(--text-4); }
.k-sc-warn { color: var(--terra); }
#scen > .k-sc-grid .k-sc-rail > [data-region=loose] { display: flex; flex-direction: column; gap: 4px; border: 1px solid var(--line); border-radius: var(--r-card, 8px); background: var(--surface); padding: 10px 14px; }
#scen > .k-sc-grid .k-sc-rail > [data-region=loose][hidden] { display: none !important; }

/* The form: the same fields as the Facts forms */
.k-sc-form { border: 1px solid var(--navy-line); background: var(--navy-wash); border-radius: var(--r-card, 8px); padding: 12px 14px; display: flex; flex-direction: column; gap: 12px; }
.k-sc-form h3 { margin: 0; font-size: var(--fs-section); font-weight: 600; }
.k-sc-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.k-sc-fields .k-field:first-child { grid-column: 1 / -1; }
.k-sc-opt { font-weight: 400; color: var(--text-4); }
.k-sc-retnow { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 4px 16px; font-size: var(--fs-small); color: var(--text-3); }
.k-sc-retnow:empty { display: none; }
.k-sc-fields .k-sc-wide { grid-column: 1 / -1; }
.k-sc-formacts { display: flex; gap: 8px; flex-wrap: wrap; }
.k-sc-hint { margin: 0; font-size: var(--fs-small); color: var(--text-3); }
.k-sc .k-field-err { color: var(--terra); font-size: var(--fs-small); }
.k-sc-err { color: var(--terra); font-size: var(--fs-small); }
.k-sc-err:empty, .k-sc-live p:empty { display: none; }
.k-sc-live { display: flex; flex-direction: column; gap: 2px; }
.k-sc-live:not(:has(p:not(:empty))) { display: none; }
.k-sc-held { color: var(--text-2); }

/* The comparison */
.k-sc-status { margin: 0; font-size: 1.0625rem; line-height: 1.4; color: var(--text); max-width: 60ch; }
.k-sc-status[hidden] { display: none; }
.k-sc-status[data-region="notkept"] { color: var(--terra); font-size: var(--fs-body); margin-bottom: 8px; }
.k-sc-figs { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 12px; }
.k-sc-figs .k-figure { background: var(--quiet); border-radius: var(--r-card, 8px); padding: 12px 14px; display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.k-sc-figs .k-figure > span { font-size: var(--fs-small); color: var(--text-3); }
.k-sc-figs .k-figure > b { font-size: 1.5rem; line-height: 1.2; font-weight: 600; font-variant-numeric: tabular-nums; }
.k-sc-figs .k-figure small { white-space: normal; }
/* before to after under the figure, the change beside it in the kit's up and down colours */
.k-sc-ba { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 8px; font-size: var(--fs-small); color: var(--text-3); font-variant-numeric: tabular-nums; }
.k-sc-chg { font-weight: 600; color: var(--text-3); }
.k-sc-chg.up { color: var(--gain); }
.k-sc-chg.down { color: var(--loss); }
.k-sc-card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-card, 8px); padding: 14px 16px; min-width: 0; }
.k-sc-charthead, .k-sc-tablehead { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px 16px; margin-bottom: 8px; }
.k-sc-tablehead { align-items: baseline; }
.k-sc-legend { display: flex; gap: 18px; font-size: var(--fs-small); color: var(--text-2); margin-bottom: 6px; }
.k-sc-legend span, .k-sc-tip span { display: inline-flex; align-items: center; gap: 6px; }
.sw { display: inline-block; width: 18px; height: 0; border-top: 3px solid var(--navy); }
.sw.base { border-top-color: var(--navy); }
.sw.scen { border-top-color: var(--d3); }
.k-sc-chartbox { position: relative; min-width: 0; }
.k-sc-svg { display: block; max-width: 100%; overflow: visible; font-family: inherit; touch-action: pan-y; }
.k-sc-svg .grid { stroke: var(--line-soft); stroke-width: 1; }
.k-sc-svg .grid.zero { stroke: var(--control-strong); }
.k-sc-svg text { font-size: 11px; fill: var(--text-4); font-variant-numeric: tabular-nums; }
.k-sc-svg .ln { fill: none; stroke-linejoin: round; stroke-linecap: round; }
.k-sc-svg .ln.base { stroke: var(--navy); stroke-width: 2.5; }
.k-sc-svg .ln.scen { stroke: var(--d3); stroke-width: 2.5; }
.k-sc-svg .band { fill: var(--d3); fill-opacity: .16; stroke: none; }
.k-sc-svg .guide { stroke: var(--control-strong); stroke-width: 1; }
.k-sc-svg .dot.base { fill: var(--navy); stroke: var(--surface); stroke-width: 2; }
.k-sc-svg .dot.scen { fill: var(--d3); stroke: var(--surface); stroke-width: 2; }
.k-sc-svg .hit { fill: transparent; }
.k-sc-svg .mark line { stroke: var(--control-strong); stroke-width: 1; stroke-dasharray: 3 3; }
.k-sc-svg .mark text { fill: var(--text-3); paint-order: stroke; stroke: var(--surface); stroke-width: 3px; stroke-linejoin: round; }
.k-sc-tip { position: absolute; top: 4px; z-index: 2; display: flex; flex-direction: column; gap: 2px; padding: 8px 10px; background: var(--ink); color: var(--on-dark); border-radius: var(--r-small); font-size: var(--fs-small); pointer-events: none; white-space: nowrap; font-variant-numeric: tabular-nums; }
.k-sc-tip .k-muted { color: var(--ink-quiet); }
.k-sc-tip .sw.base { border-top-color: var(--q2); }
.k-sc-tip .sw.scen { border-top-color: var(--d3); }

/* a part year and a refund say so */
.k-sc-part, .k-sc-refund { display: block; font-size: var(--fs-micro); font-weight: 400; color: var(--text-4); }
.k-sc-refund { display: inline; margin-left: 4px; }
/* Details by year: Before / After / Net rows; its own box, its own scroll, the year and the heads stay put */
.k-sc-tablebox { max-height: 460px; overflow: auto; border: 1px solid var(--line); border-radius: var(--r-small); background: var(--surface); }
.k-sc-tablebox > .k-sc-table, .k-sc-drawer .k-sc-table { overflow: visible; border: 0; border-radius: 0; }
.k-sc-table { border-collapse: separate; border-spacing: 0; width: 100%; min-width: 640px; font-size: var(--fs-small); font-variant-numeric: tabular-nums; }
.k-sc-table th, .k-sc-table td { padding: 5px 8px; text-align: right; white-space: nowrap; border-bottom: 1px solid var(--line-faint); background: var(--surface); }
.k-sc-table thead th { position: sticky; top: 0; z-index: 2; background: var(--ground); color: var(--text-3); font-weight: 600; white-space: normal; vertical-align: bottom; border-bottom: 1px solid var(--line); }
.k-sc-table th.yr { position: sticky; left: 0; z-index: 1; text-align: left; font-weight: 600; background: var(--ground); border-right: 1px solid var(--line); width: 72px; min-width: 72px; max-width: 72px; box-sizing: border-box; vertical-align: top; }
.k-sc-table thead th.yr { z-index: 3; }
.k-sc-table thead tr.grp th { height: 30px; box-sizing: border-box; }
.k-sc-table thead tr.sub th { top: 30px; border-top: 0; }
.k-sc-table thead th.gh { text-align: center; vertical-align: middle; border-bottom: 1px solid var(--line); border-left: 1px solid var(--line); color: var(--text-2, var(--text-3)); }
/* The view control sits in the table's heading row; a figure is a button that opens its drawer; the fund's column sits apart after Net worth */
.k-sc-tableview { flex: none; }
.k-sc-cell { display: inline; margin: 0; padding: 0; border: 0; background: none; font: inherit; color: inherit; text-align: inherit; cursor: pointer; font-variant-numeric: inherit; border-radius: var(--r-small); }
.k-sc .k-sc-cell:hover { background: var(--navy-tint); color: var(--text); text-decoration: underline; text-decoration-color: var(--control-strong); text-underline-offset: 3px; }
.k-sc-cell:focus-visible { outline: none; box-shadow: var(--focus-ring); }
.k-sc-table th.apart, .k-sc-table td.apart { border-left: 1px solid var(--line); }
.k-sc-ded { display: block; font-size: var(--fs-micro); font-weight: 400; color: var(--text-4); }
.k-sc-table th.kind { position: sticky; left: 72px; z-index: 1; text-align: left; font-weight: 500; color: var(--text-3); width: 56px; min-width: 56px; box-sizing: border-box; border-right: 1px solid var(--line); }
.k-sc-table thead th.kind { z-index: 3; background: var(--ground); }
.k-sc-table tr.before td, .k-sc-table tr.before th.kind { border-bottom-color: transparent; }
.k-sc-table tr.after td, .k-sc-table tr.after th.kind { border-bottom-color: transparent; }
.k-sc-table tr.net td, .k-sc-table tr.net th { border-bottom: 1px solid var(--line); }
.k-sc-table tr.net td, .k-sc-table tr.net th.kind { font-weight: 600; color: var(--text); background: var(--quiet); }
.k-sc-table td.b { color: var(--text-3); }
.k-sc-table td.s { color: var(--text); }
.k-sc-zero { color: var(--text-4); font-weight: 400; }
.k-sc-table tbody tr:hover td { background: var(--navy-wash); }
.k-sc-table tbody tr:hover th:first-child, .k-sv-grid-table tbody tr:hover > th:first-child { background: var(--navy-wash); }

@media (max-width: 1000px) {
  .k-sc-grid { grid-template-columns: minmax(0, 1fr); grid-template-areas: "plan" "edits" "details"; grid-template-rows: none; gap: 22px; }
}
@media (max-width: 640px) {
  .k-sc-pickers, .k-sc-fields { grid-template-columns: minmax(0, 1fr); }
  .k-sc-figs { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 16px; }
  .k-sc-card { padding: 12px; }
  .k-sc-tablebox { max-height: 360px; }
  .k-sc-status { font-size: 1rem; }
  /* R32: a Left over marker that names accounts wraps inside its column instead of running under the sticky year column */
  .k-sc-table td .k-sc-ded { white-space: normal; max-width: 22ch; margin-left: auto; text-align: right; }
}
.k-sc-edit.grp-off .k-sc-desc, .k-sc-edit.grp-off wa-switch { opacity: .55; }
.k-sc-nw { white-space: nowrap; }

/* Sets: a set of your own changes, the rename box, and the set picker */
.k-sc-group.set .k-sc-list { padding-top: 2px; }
.k-sc-gline { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 10px; }
.k-sc-rename-in { width: 100%; max-width: 20ch; }
.k-sc-move { padding: 0; font-size: var(--fs-small); align-self: flex-start; margin-top: 2px; white-space: nowrap; }
.k-sc-formacts .btn-danger { margin-left: auto; }
/* a change just added: one quick flash */
@keyframes k-sc-flash { from { background: var(--navy-tint); } to { background: transparent; } }
.k-sc-flash { animation: k-sc-flash 180ms ease-out; }
@media (prefers-reduced-motion: reduce) { .k-sc-flash { animation: none; background: var(--navy-wash); } }

/* Freeze beside the chart heading, the view control above it, and the debt plan's drawer */
.k-sc-chartacts { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 12px; }
.k-sc-span { flex: none; }
.k-sc-cmpview { margin-bottom: 10px; }
.k-sc-drawer { --size: 720px; --spacing: var(--space-5); }
.k-sc-drawer .k-sc-tool { display: flex; flex-direction: column; gap: 16px; }
.k-sc-drawer .k-sc-tool > h2 { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.k-sc-drawer .k-sc-tablebox, .k-sc-drawer [data-table=debt-plan] { min-width: 0; }
.k-sc-drawer .k-sc-tool { overflow-x: auto; }
.k-sc-drawer [data-table=debt-plan] { min-width: 560px; }
.k-sc-drawer .k-sc-table th.yr { width: auto; min-width: 120px; max-width: 200px; white-space: normal; }
@media (max-width: 640px) {
  .k-sc-drawer { --size: 100vw; --spacing: var(--space-4); }
}
/* The drawer under a figure: what makes it up, Before / After / Net per item, the total last */
.k-sc-drawer.k-sc-drill { --size: 560px; }
.k-sc-dtable { min-width: 0; }
.k-sc-dtable th.item { text-align: left; white-space: normal; font-weight: 500; color: var(--text); }
.k-sc-dtable thead th { top: 0; }
.k-sc-dtable th.item small { display: block; font-weight: 400; }
.k-sc-dtable th.item a { color: inherit; text-decoration-color: var(--control-strong); text-underline-offset: 3px; }
.k-sc-dtable tr.head th { background: var(--ground); color: var(--text-3); font-weight: 600; }
.k-sc-dtable tr.sub th, .k-sc-dtable tr.sub td { font-weight: 600; background: var(--quiet); }
.k-sc-dtable tbody.total th, .k-sc-dtable tbody.total td { font-weight: 600; background: var(--quiet); border-top: 1px solid var(--line); border-bottom: 0; }
.k-sc-dtable tbody.memo th, .k-sc-dtable tbody.memo td { color: var(--text-3); }
.k-sc-dtable tbody.memo tr:first-child th, .k-sc-dtable tbody.memo tr:first-child td { border-top: 1px solid var(--line); }
.k-sc-added { display: inline; margin-left: 6px; font-size: var(--fs-micro); font-weight: 600; color: var(--navy); }
@media (max-width: 640px) { .k-sc-drawer.k-sc-drill { --size: 100vw; } }
.k-sc-drawer wa-radio-group::part(form-control-input) { column-gap: var(--space-4); row-gap: var(--space-2); }

/* Round 2 of the design review: tiles that open a chart, tags on a column head, a technique's schedule, the phone's result bar */
.k-sc-figs .k-sc-tile { box-sizing: border-box; border: 0; margin: 0; }
.k-sc-figs button.k-sc-tile-btn { appearance: none; display: flex; flex-direction: column; align-items: flex-start !important; justify-content: flex-start !important; gap: 2px !important; row-gap: 2px !important; width: 100%; height: auto; min-height: 0 !important; margin: 0; padding: 12px 14px !important; border: 0 !important; border-radius: var(--r-card, 8px); background: var(--quiet); box-shadow: none; font: inherit; line-height: inherit; letter-spacing: inherit; text-transform: none; color: var(--text); text-align: left; cursor: pointer; }
.k-sc-figs button.k-sc-tile-btn:hover, .k-sc-figs button.k-sc-tile-btn[aria-pressed="true"] { background: var(--navy-wash); color: var(--text); }
.k-sc-figs button.k-sc-tile-btn:focus-visible { outline: none; box-shadow: var(--focus-ring); }
.k-sc-metric { flex: none; }
.k-sc-table th .k-sc-hname { display: block; }
.k-sc-table td.nr-span { text-align: center; vertical-align: middle; }
.k-sc-dag { margin-left: 3px; font-size: var(--fs-small); color: var(--text-2); text-decoration: none; vertical-align: super; line-height: 1; }
a.k-sc-dag:hover { color: var(--navy-hover); }
.k-sc-table th a.k-tag.k-sc-mark { text-decoration: none; }
.k-sc-table th .k-tag.k-sc-mark { display: flex; width: max-content; margin: 3px 0 0 auto; font-weight: 500; }
.k-sc-sched { margin-top: 2px; }
.k-sc-sched > summary { cursor: pointer; font-size: var(--fs-small); font-weight: 600; color: var(--text-3); padding: 2px 0 6px; }
.k-sc-sched-row { padding: 6px 0; border-top: 1px solid var(--line-soft); font-size: var(--fs-body); overflow-wrap: anywhere; }
.k-sc-sched-row:first-child { border-top: 0; }
.k-sc-sched-row.k-sc-sched-step { border-top: 0; padding: 0 0 6px 16px; color: var(--text-2); }
.k-sc-toolfigs .k-figure > b { font-size: 1.125rem; }
.k-sc-toolfigs .k-figure small.k-sc-ba { margin-top: 2px; }
.k-sc-phonebar { display: none; }
@media (max-width: 640px) {
  .k-sc { padding-bottom: 96px; }
  .k-sc-phonebar[data-on] { display: flex; align-items: baseline; gap: 4px 10px; position: fixed; top: 0; left: 0; right: 0; z-index: 30; padding: 8px 16px; background: var(--ink); color: var(--on-dark); font-size: var(--fs-small); font-variant-numeric: tabular-nums; white-space: nowrap; overflow: hidden; }
  .k-sc-phonebar .k-sc-bar-fact { font-weight: 600; flex: none; }
  .k-sc-phonebar[data-on] { flex-wrap: wrap; }
  .k-sc-phonebar .k-sc-bar-nw, .k-sc-phonebar .k-sc-bar-note { color: var(--ink-quiet); flex: 0 1 auto; min-width: 0; }
}

/* A saving line (Add saving, Change an amount): the saving controls sit in the form's own grid (strategy-saving.js fieldsHtml). */
.k-sc-svf { display: contents; }
.k-sc-form.live .k-sc-fields wa-input[name="start"] { grid-column: 1 / -1; }

/* The plan's Saving sub-section (saving-page.js, saving-model.js): the choice, a small chart of what is left, and today's saving in a rail that stays in view on the left; the answer, what it changes,
   over time and the open items on the right. A phone is its own order: the choice, the answer, what it changes, over time, the chart, today's saving; Use in plan stays at the bottom. */
.k-sv-note { margin: 0; font-size: var(--fs-small); color: var(--text-3); }
.k-sv-grid { display: grid; grid-template-columns: minmax(300px, 360px) minmax(0, 1fr); gap: 18px 24px; align-items: start; }
.k-sv-rail, .k-sv-main { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.k-sv-rail { position: sticky; top: 12px; }
.k-sv .k-sc-card h2 { margin-bottom: 8px; }
.k-sv-how .k-sc-fields { grid-template-columns: minmax(0, 1fr); }
.k-sv-sentence { margin: 10px 0 0; font-size: var(--fs-body); color: var(--text); font-variant-numeric: tabular-nums; }
.k-sv-sentence:empty { display: none; }
.k-sv-svg .bar { fill: var(--navy); fill-opacity: .24; }
.k-sv-svg .bar.sv { fill: var(--navy); fill-opacity: 1; }
.k-sv-svg .hit:hover { fill: var(--navy-wash); fill-opacity: .5; }
.k-sv-svg.all .bar { fill-opacity: 1; }
.k-sv-n { flex: none; display: inline-grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; background: var(--quiet); color: var(--text-3); font-size: 11px; font-variant-numeric: tabular-nums; }
.k-sv-today { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.k-sv-today li { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 9px 0; border-top: 1px solid var(--line-soft); }
.k-sv-today li:first-child { border-top: 0; padding-top: 0; }
.k-sv-today .k-two { min-width: 0; }
.k-sv-amt { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.k-sv-amt small { display: block; }
@media (max-width: 1000px) {
  .k-sv-grid { grid-template-columns: minmax(0, 1fr); }
  .k-sv-rail, .k-sv-main { display: contents; }
  .k-sv-how { order: 1; }
  .k-sv-plan { order: 2; }
  .k-sv-effectsec { order: 3; }
  .k-sv-time { order: 4; }
  .k-sv-left { order: 5; }
  .k-sv-todaycard { order: 6; }
  .k-sv-opensec { order: 7; }
}

/* The Saving page's answer (saving-model.js): where the money goes, why, over time, and what it changes. The plan card is the focus surface; the rest sits on the page ground. */
.k-sv-sec { display: flex; flex-direction: column; gap: 10px; min-width: 0; padding-top: 14px; border-top: 1px solid var(--line); }
.k-sv-sec h2 { margin: 0; }
.k-sv-plan { display: flex; flex-direction: column; gap: 14px; }
.k-sv-result { display: flex; flex-direction: column; gap: 14px; transition: opacity .15s ease; }
.k-sv[data-busy="1"] .k-sv-result, .k-sv[data-busy="1"] .k-sv-effect, .k-sv[data-busy="1"] .k-sv-gridbox { opacity: .55; }
.k-sv-working { display: flex; flex-direction: column; gap: 8px; font-size: var(--fs-small); color: var(--text-3); }
.k-sv-headrow { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.k-sv-headtext { display: flex; flex-direction: column; gap: 4px; min-width: 0; flex: 1 1 320px; }
.k-sv-big { margin: 0; font-size: 1.5rem; line-height: 1.25; font-variant-numeric: tabular-nums; }
.k-sv-big b { font-weight: 600; }
.k-sv-bridge { margin: 0; font-size: var(--fs-body); color: var(--text-2); font-variant-numeric: tabular-nums; }
.k-sv-lines { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; font-size: var(--fs-body); font-variant-numeric: tabular-nums; }
.k-sv-line.reserve { color: var(--text-3); font-size: var(--fs-small); }
.k-sv-when { display: block; font-size: var(--fs-small); color: var(--text-3); }
.k-sv-future, .k-sv-before { display: block; font-size: var(--fs-small); font-weight: 400; color: var(--text-3); font-variant-numeric: tabular-nums; }
.k-sv-use { display: flex; align-items: center; gap: 12px; flex: none; }
.k-sv-in { font-size: var(--fs-small); font-weight: 600; color: var(--text-3); }
.k-sv-debt { margin: 0; font-size: var(--fs-small); color: var(--text-3); }
.k-sv-people { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 18px 28px; }
.k-sv-person { min-width: 0; display: flex; flex-direction: column; gap: 10px; }
.k-sv-person > header { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding-bottom: 6px; border-bottom: 1px solid var(--line); }
.k-sv-person h3 { margin: 0; font-size: 1rem; font-weight: 600; }
.k-sv-steps { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.k-sv-step { padding: 9px 0; border-top: 1px solid var(--line-soft); }
.k-sv-step:first-child { border-top: 0; padding-top: 0; }
.k-sv-row { display: flex; align-items: flex-start; gap: 10px; }
.k-sv-row .k-two { flex: 1 1 auto; min-width: 0; }
.k-sv-row small { display: block; }
.k-sv-goal { color: var(--text-3); }
/* A row that opens (Sonny 11/9): the whole row is the target, the chevron at its end is the control (kit chevron, as k-fold: right closed, down open); the open panel fades in under the row. */
.k-why-row { cursor: pointer; }
.k-sv-step.k-why-row:hover, .k-dp-verdict.k-why-row:hover { background: var(--navy-wash); }
.k-sv-grid-table tbody tr.k-why-row:hover > th, .k-sv-grid-table tbody tr.k-why-row:hover > td { background: var(--navy-wash); }
button.k-why-go { flex: none; display: inline-flex; gap: 0; align-items: center; justify-content: center; width: 28px; min-width: 28px; height: 28px; padding: 0; border: 0; background: none; color: var(--text-3); border-radius: var(--r-small); cursor: pointer; }
button.k-why-go::before { content: ""; flex: none; width: 14px; height: 14px; background: currentColor; -webkit-mask: url("/kit-icons/chevron-right.svg") center / contain no-repeat; mask: url("/kit-icons/chevron-right.svg") center / contain no-repeat; transition: transform .15s ease; }
button.k-why-go[aria-expanded="true"]::before { transform: rotate(90deg); }
.k-why-go:hover { color: var(--navy-hover); }
.k-why-go:focus-visible { outline: none; box-shadow: var(--focus-ring); }
.k-sv-grid-table .k-why-end { width: 28px; padding-left: 0; padding-right: 8px; }
.k-dp-verdict .k-why-go, .k-sv-row .k-why-go { margin-left: auto; }
.k-sv-row .k-why-go { margin-left: 4px; }
@keyframes k-why-in { from { opacity: 0; } to { opacity: 1; } }
.k-dp-why, .k-sv-whybody, .k-dp-schedrow > td { animation: k-why-in .12s ease-out; }

.k-sv-whybody { margin: 6px 0 0 12px; display: flex; flex-direction: column; gap: 6px; }
.k-sv-whybody p { margin: 0; }
.k-sv-whybody ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.k-sv-whybody li { display: flex; flex-direction: column; }
.k-sv-whybody li b { color: var(--text); font-weight: 600; }
.k-sv-limits { list-style: none; margin: 0; padding: 8px 0 0; border-top: 1px solid var(--line-soft); display: flex; flex-direction: column; gap: 8px; font-size: var(--fs-small); }
.k-sv-limit { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 12px; color: var(--text-3); }
.k-sv-limnum { font-variant-numeric: tabular-nums; color: var(--text); text-align: right; }
.k-sv-bar { grid-column: 1 / -1; width: 100%; height: 4px; border: 0; border-radius: var(--r-pill, 4px); background: var(--line); overflow: hidden; appearance: none; }
.k-sv-bar::-webkit-progress-bar { background: var(--line); }
.k-sv-bar::-webkit-progress-value { background: var(--navy); border-radius: var(--r-pill, 4px); }
.k-sv-bar::-moz-progress-bar { background: var(--navy); }
.k-sv-effect { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.k-sv-gridbox { overflow: auto; max-width: 100%; border: 1px solid var(--line); border-radius: var(--r-small); background: var(--surface); }
.k-sv-grid-table { border-collapse: separate; border-spacing: 0; width: 100%; font-size: var(--fs-small); font-variant-numeric: tabular-nums; }
.k-sv-grid-table th, .k-sv-grid-table td { padding: 6px 12px; text-align: right; white-space: nowrap; border-bottom: 1px solid var(--line-soft); }
.k-sv-grid-table thead th { background: var(--ground); color: var(--text-3); font-weight: 600; vertical-align: bottom; }
.k-sv-grid-table thead th.k-sv-grp { text-align: left; border-bottom: 1px solid var(--line); }
.k-sv-grid-table .k-sv-gstart { border-left: 1px solid var(--line); }
.k-sv-death { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 32px; }
wa-input.k-sc-age { flex: none; width: 8ch; }
wa-input.k-sc-age::part(input) { text-align: right; font-variant-numeric: tabular-nums; }
.k-sv-grid-table thead th.k-sv-gcap { text-align: center; border-bottom: 1px solid var(--line); }
.k-sv-grid-table tbody th:first-child, .k-sv-grid-table thead tr:first-child th:first-child { position: sticky; left: 0; z-index: 1; text-align: left; font-weight: 600; background: var(--surface); }
.k-sv-grid-table thead tr:first-child th:first-child { background: var(--ground); z-index: 2; }
.k-sv-grid-table td.tot, .k-sv-grid-table thead th.num:last-child { font-weight: 600; }
.k-sv-grid-table tr.sel td, .k-sv-grid-table tr.sel th { background: var(--navy-wash); }
.k-sv-grid-table small { display: block; font-weight: 400; color: var(--text-3); }
.k-sv-grid-table sup { margin-left: 2px; font-size: 10px; color: var(--text-3); }
.k-sv .k-sv-grid-table .k-sv-col { padding: 0 !important; min-height: 0 !important; height: auto !important; }
.k-sv-col { appearance: none; border: 0; background: none; font: inherit; color: inherit; padding: 0; cursor: pointer; text-align: left; }
.k-sv-col[aria-pressed="true"] { color: var(--text); text-decoration: underline; text-decoration-color: var(--navy); text-underline-offset: 4px; }
.k-sv-col:focus-visible { outline: none; box-shadow: var(--focus-ring); }
/* Over time fits the column: tighter cells, wrapping headers, the total pinned on the right */
.k-sv-grid-table th, .k-sv-grid-table td { padding: 6px 8px; }
.k-sv-grid-table thead th { white-space: normal; line-height: 1.25; }
.k-sv-grid-table thead th.num { min-width: 52px; }
.k-sv-grid-table .k-sv-total { position: sticky; right: 0; z-index: 1; background: var(--surface); box-shadow: -1px 0 0 var(--line-soft); }
.k-sv-grid-table thead .k-sv-total { background: var(--ground); z-index: 2; }
.k-sv-grid-table tr.sel .k-sv-total { background: var(--navy-wash); }
.k-sv-split { margin: 0; font-size: var(--fs-small); color: var(--text-3); font-variant-numeric: tabular-nums; }
.k-sv-debts > header h3 { font-size: 1rem; }
.k-sv-foot { margin: 0; padding: 0 0 0 18px; font-size: var(--fs-small); color: var(--text-3); }
p.k-sv-foot { padding: 0; }
.k-sv-open { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; font-size: var(--fs-small); }
.k-sv-open li { display: flex; flex-direction: column; gap: 2px; }
.k-sv-notes { margin-top: 8px; font-size: var(--fs-small); color: var(--text-3); }
.k-sv-notes > summary { cursor: pointer; font-weight: 600; }
.k-sv-notes ul { margin: 8px 0 0; padding-left: 18px; display: flex; flex-direction: column; gap: 4px; }
@media (max-width: 1000px) { .k-sv-effect { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) {
  .k-sv-people { grid-template-columns: minmax(0, 1fr); }
  .k-sv-effect .k-figure:first-child { grid-column: 1 / -1; }
  .k-sv-big { font-size: 1.25rem; }
  .k-sv-use { position: fixed; left: 0; right: 0; bottom: var(--tabbar-h, 0px); z-index: 30; width: auto; justify-content: space-between; padding: 10px 104px 10px 16px; background: var(--surface); border-top: 1px solid var(--line); }
  .k-sv-use .k-btn { flex: 1 1 auto; }
  .k-sv-gridbox { border: 0; background: none; overflow: visible; }
  .k-sv-grid-table, .k-sv-grid-table tbody, .k-sv-grid-table tr, .k-sv-grid-table td, .k-sv-grid-table th { display: block; }
  .k-sv-grid-table .k-sv-gstart { border-left: 0; }
  .k-sv-grid-table tr.k-why-row { position: relative; }
  .k-sv-grid-table td.k-why-end { position: absolute; top: 6px; right: 8px; width: auto; padding: 0; border: 0; }
  .k-sv-grid-table th.k-why-end { display: none; }
  .k-sv-grid-table tr.k-why-row > th:first-child { padding-right: 44px; }
  .k-sv-grid-table thead { display: none; }
  .k-sv-grid-table tbody { display: flex; flex-direction: column; gap: 10px; }
  .k-sv-grid-table tbody tr { border: 1px solid var(--line); border-radius: var(--r-small); background: var(--surface); padding: 10px 12px; }
  /* a row that is open: its Why is the lower part of the same card (same surface, no gap, no top border or radius of its own; the card's bottom radius moves to the panel) */
  .k-sv-grid-table tbody tr:has(+ tr[data-why-row]) { border-bottom: 0; border-bottom-left-radius: 0; border-bottom-right-radius: 0; padding-bottom: 4px; }
  .k-sv-grid-table tbody tr[data-why-row] { margin-top: -10px; border-top: 0; border-top-left-radius: 0; border-top-right-radius: 0; padding: 0 12px 10px; }
  .k-sv-grid-table tbody tr[data-why-row] > td { display: block; padding: 4px 0 0; text-align: left; }
  .k-sv-grid-table tbody tr.sel + tr[data-why-row] { box-shadow: inset 3px 0 0 var(--navy); }
  .k-sv-grid-table tbody th:first-child { position: static; padding: 0 0 6px; border: 0; background: none; }
  .k-sv-grid-table td { display: flex; justify-content: space-between; gap: 12px; padding: 3px 0; border: 0; white-space: normal; text-align: right; }
  .k-sv-grid-table td::before { content: attr(data-label); color: var(--text-3); text-align: left; }
  .k-sv-grid-table td[data-na] { display: none; }
  .k-sv-grid-table td.z { display: none; }
  .k-sv-grid-table .k-sv-total { position: static; box-shadow: none; background: none; }
  .k-sv-grid-table td.tot { margin-top: 4px; padding-top: 6px; border-top: 1px solid var(--line-soft); }
  .k-sv-grid-table tbody tr.sel { box-shadow: inset 3px 0 0 var(--navy); }
  .k-sv-grid-table tr.sel td, .k-sv-grid-table tr.sel th { background: none; }
}
@media (prefers-reduced-motion: reduce) { .k-why-go::before, .k-sv-result { transition: none; } .k-dp-why, .k-sv-whybody, .k-dp-schedrow { animation: none; } }
.k-sv-effect .k-figure > b { font-size: 1.125rem; }

/* The plan's Debts sub-section (debts-page.js, debts-model.js): the debts, the client's choices, the changes to test and their effect, stacked on the page ground; the effect is the focus surface. */
.k-dp { min-width: 0; max-width: 100%; }
.k-dp-main { display: flex; flex-direction: column; gap: 22px; min-width: 0; max-width: 1100px; width: 100%; }
.k-dp-main > * { min-width: 0; max-width: 100%; }
.k-dp-first { border-top: 0; padding-top: 0; }
.k-dp .k-sv-gridbox { overflow: auto; border: 1px solid var(--line); border-radius: var(--r-small); background: var(--surface); }
.k-dp .k-sc-table { min-width: 0; }
.k-dp .k-sc-table th.yr { position: static; width: auto; min-width: 150px; max-width: none; white-space: normal; background: var(--surface); border-right: 0; vertical-align: middle; }
.k-dp .k-sc-table thead th.yr { background: var(--ground); }
.k-dp .k-sc-table td { vertical-align: middle; }
.k-dp .k-sc-table td:not(.num) { text-align: left; }
/* a header sits over its values: the column's alignment is one rule for the head and the cells (finding 21) */
.k-dp .k-sc-table thead th:not(.num) { text-align: left; }
.k-dp .k-sc-table td small { display: block; }
.k-dp-fields { grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); align-items: end; }
.k-dp-fields .k-sc-wide { grid-column: 1 / -1; }
.k-dp-order .k-two small { white-space: normal; }
.k-dp-order wa-radio { margin-block: 6px; }
.k-dp-bybox { margin-top: 12px; display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.k-dp-byrow { display: grid; grid-template-columns: minmax(150px, 220px) 200px minmax(0, 1fr) auto; gap: 4px 16px; align-items: center; }
.k-dp-sub { margin: 0 0 4px; font-size: var(--fs-body); font-weight: 600; }
.k-dp-by { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.k-dp-byrow { padding: 8px 0; border-bottom: 1px solid var(--line-soft); }
.k-dp-bynote { min-width: 0; font-size: var(--fs-small); }
.k-dp-bad { color: var(--terra); }
.k-dp-offer { display: flex; flex-direction: column; gap: 12px; padding: 14px 0; border-top: 1px solid var(--line-soft); min-width: 0; }
.k-dp-offer:first-child { border-top: 0; padding-top: 0; }
.k-dp-offer > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.k-dp-offer h3 { margin: 0; font-size: 1rem; font-weight: 600; }
.k-dp-offeracts { display: flex; align-items: center; gap: 16px; }
.k-dp-status, .k-dp-verdict { margin: 0; font-size: var(--fs-body); font-variant-numeric: tabular-nums; }
.k-dp-verdict { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 12px; }
.k-dp-verdict p { margin: 0; }
.k-dp-vs { font-size: var(--fs-small); font-weight: 400; color: var(--text-3); }
th .k-dp-vs { display: block; }
.k-dp-effhead { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.k-dp-vs[data-effect-vs] { display: block; margin: 0; }
.k-dp-pill { font-size: var(--fs-body); padding: 2px 12px; }
.k-dp-bandrow { display: flex; align-items: flex-start; flex-wrap: wrap; gap: 12px 20px; }
.k-dp-bandrow > [data-region=summary] { flex: 1 1 620px; min-width: 0; }
button.k-dp-more { appearance: none; border: 0; box-shadow: none; background: none; cursor: pointer; margin-left: 4px; padding: 0; min-height: 0; width: 22px; height: 22px; vertical-align: middle; color: var(--text-3); border-radius: var(--r-small); }
.k-dp-more::before { content: ""; display: inline-block; border: 5px solid transparent; border-left-color: currentColor; border-right-width: 0; transition: transform .15s ease; }
.k-dp-more[aria-expanded="true"]::before { transform: rotate(90deg); }
button.k-dp-more:hover, button.k-dp-more:focus-visible { color: var(--text); background: var(--navy-wash); outline: none; }
.k-dp-schedrow td { padding: 0 8px 10px; background: var(--quiet); }
.k-dp-sched th.yr, .k-dp-sched td { background: transparent; }
.k-dp .k-sc-table tr.sel th.yr { background: var(--navy-wash); }
.k-dp .k-sc-table tbody tr:hover th.yr, .k-dp .k-sc-table tbody tr.sel:hover th.yr { background: var(--navy-wash); }
.k-dp-card { display: flex; flex-direction: column; gap: 10px; }
.k-dp-cardname { margin: 0; font-weight: 600; }
.k-dp-orders th.sel, .k-dp-orders td.sel { background: var(--navy-wash); }
.k-dp-orders { table-layout: fixed; min-width: 0; }
.k-dp-orders th:not(.yr), .k-dp-orders td { text-align: left; vertical-align: top; }
.k-dp-orders th.k-dp-orderlab { width: 150px; min-width: 150px; max-width: 150px; }
.k-dp-orders th small { display: block; font-weight: 400; }
.k-dp-ordercards { display: none; }
.k-dp-order { margin-bottom: 14px; }
.k-dp-freed { margin-top: 12px; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 20px; }
.k-dp-freed wa-select { min-width: 240px; flex: 0 1 280px; }
.k-dp-quiet, .k-dp-spent { margin: 8px 0 0; }
.k-dp-add { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 4px; }
.k-dp-pick { border: 0; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 18px; }
.k-dp-pick legend { padding: 0; margin-bottom: 4px; font-size: var(--fs-small); color: var(--text-3); }
.k-dp-plan .k-sv-effect { margin-top: 10px; }
@media (max-width: 640px) {
  .k-dp-ordertable { display: none; }
  .k-dp-ordercards { display: flex; flex-direction: column; gap: 10px; list-style: none; margin: 0; padding: 0; }
  .k-dp-ordercards li { display: flex; flex-direction: column; gap: 6px; padding: 10px 12px; border: 1px solid var(--line); border-radius: var(--r-small); background: var(--surface); }
  .k-dp-ordercards li.sel { background: var(--navy-wash); box-shadow: inset 3px 0 0 var(--navy); }
  .k-dp-ordercards dl { margin: 0; display: flex; flex-direction: column; gap: 2px; }
  .k-dp-ordercards dl > div { display: flex; justify-content: space-between; gap: 12px; }
  .k-dp-ordercards dt { color: var(--text-3); }
  .k-dp-ordercards dt small { margin-left: 6px; }
  .k-dp-ordercards dd { margin: 0; text-align: right; font-variant-numeric: tabular-nums; }
  .k-dp-bandrow > [data-region=summary] { flex-basis: 100%; }
  .k-sv-grid-table .k-dp-sched { display: table; width: 100%; }
  .k-sv-grid-table .k-dp-sched thead { display: table-header-group; }
  .k-sv-grid-table .k-dp-sched tbody { display: table-row-group; }
  .k-sv-grid-table .k-dp-sched tr { display: table-row; border: 0; padding: 0; }
  .k-sv-grid-table .k-dp-sched td, .k-sv-grid-table .k-dp-sched th { display: table-cell; padding: 4px 6px; border-bottom: 1px solid var(--line-faint); text-align: right; }
  .k-sv-grid-table .k-dp-sched td::before { content: none; }
  .k-sv-grid-table .k-dp-sched th.yr { text-align: left; }
  .k-dp-schedrow td { display: block; overflow-x: auto; }
}
@media (max-width: 760px) {
  .k-dp .k-dp-variants th.yr { min-width: 84px; }
  .k-dp-variants th, .k-dp-variants td { padding: 5px 6px; }
  .k-dp-variants td small { white-space: normal; }
  .k-dp-byrow { grid-template-columns: minmax(0, 1fr); gap: 6px; }
  .k-dp-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .k-sv-effect { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* R27: pairs never wrap mid-arrow, the "about the same" reading, the single-debt band, the schedule head and box, Why, the stacked bars */
.k-sc-pair { display: inline-flex; flex-wrap: wrap; column-gap: .3em; }
.k-sc-was { white-space: nowrap; }
.k-sc-then { white-space: nowrap; }
.k-dp-same { color: var(--text-2); font-weight: 600; }
.k-dp-orders .k-dp-same { font-weight: 400; }
.k-sc-figs.k-dp-band { grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); }
.k-dp-bandacts { margin-top: 6px; }
button.k-dp-sched-btn { width: auto; height: auto; min-height: 0; padding: 2px 6px; font-size: var(--fs-small); color: var(--text-2); display: inline-flex; align-items: center; gap: 4px; }
.k-dp-schedhead { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 12px; padding: 8px 0 6px; }
.k-dp-schedbox { max-width: 100%; overflow: auto; max-height: 420px; }
.k-dp-sched { font-size: var(--fs-small); min-width: 0; }
.k-dp-sched th, .k-dp-sched td { white-space: nowrap; }
.k-dp-sched thead th { white-space: normal; vertical-align: bottom; line-height: 1.25; }
.k-dp-verdict .k-link { margin-left: auto; }
.k-dp-why { margin: 0; font-size: var(--fs-small); color: var(--text-2); }
.k-dp-main > [hidden] { display: none; }
.k-sc-legend .sq { display: inline-block; width: 10px; height: 10px; border-radius: 2px; background: var(--navy); }
.k-sc-legend .sq.int { background: var(--gold); }
.k-sc-legend .sq.before { opacity: .4; }
.k-sc-svg .bar.pr { fill: var(--navy); }
.k-sc-svg .bar.int { fill: var(--gold); }
.k-sc-svg .bar.before { fill-opacity: .4; }
.k-sc-svg .band.neutral { fill: var(--text-3); fill-opacity: .16; }
@media (max-width: 640px) {
  .k-sc-pair { flex-direction: column; }
  .k-sv-effect { grid-template-columns: minmax(0, 1fr); }
  .k-dp-schedbox { -webkit-overflow-scrolling: touch; background: linear-gradient(to right, var(--surface) 30%, transparent), linear-gradient(to left, var(--surface) 30%, transparent) 100% 0, linear-gradient(to right, var(--line), transparent), linear-gradient(to left, var(--line), transparent) 100% 0; background-repeat: no-repeat; background-size: 24px 100%, 24px 100%, 10px 100%, 10px 100%; background-attachment: local, local, scroll, scroll; }
  .k-dp-sched { font-size: 12px; }
  .k-sv-grid-table .k-dp-sched td, .k-sv-grid-table .k-dp-sched th { padding: 4px 3px; }
  .k-sv-grid-table .k-dp-sched th.yr, .k-dp-sched th.yr { width: auto; min-width: 0; max-width: none; white-space: normal; font-size: 11px; }
  .k-dp-sched thead th { font-size: 11px; }
  .k-dp-sched .beg { display: none; }
  .k-dp-schedrow td { padding: 0 2px 8px; }
}


/* R28: a lone last tile of the band spans the row on a phone (L4); the order grid's label column is narrow and its radios sit on their values (L6) */
@media (max-width: 640px) {
  .k-dp-band > :last-child:nth-child(odd) { grid-column: 1 / -1; }
}
.k-dp .k-dp-orders th.k-dp-orderlab { width: 132px; min-width: 132px; max-width: 132px; }
.k-dp-orders thead th { padding-left: 8px; padding-right: 8px; }
.k-dp-variants th.yr { white-space: normal; }
.k-sc-svg text.xlab.part { fill: var(--text-3); font-size: 10px; }


/* R29 K6: the order and the option choice are Web Awesome radios (wa-radio-group / wa-radio), themed here; no hand-drawn radio */
.k-dp-order wa-radio-group, .k-dp-pick { display: block; }
.k-dp-orders th wa-radio, .k-dp-variants th wa-radio, .k-dp-ordercards wa-radio { font-weight: 600; color: var(--text); --width: 14px; --height: 14px; }
.k-dp-orders th wa-radio::part(label), .k-dp-variants th wa-radio::part(label) { white-space: normal; text-align: left; }
.k-dp-orders th wa-radio::part(control), .k-dp-variants th wa-radio::part(control), .k-dp-ordercards wa-radio::part(control) { margin-top: 2px; }
.k-dp-orders th, .k-dp-variants th.yr { vertical-align: top; }
.k-dp-ordercardsbox { display: none; }
.k-dp-ordertablebox { display: block; }
@media (max-width: 640px) {
  .k-dp-ordertablebox { display: none; }
  .k-dp-ordercardsbox { display: block; }
  /* R29 K5 (DL1): on a phone an option card stacks each value and its change at the right edge, as the band does */
  .k-dp-variants td { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 12px; align-items: start; }
  .k-dp-variants td::before { grid-column: 1; grid-row: 1 / span 2; }
  .k-dp-variants td > small { grid-column: 2; text-align: right; }
  .k-dp-variants th.yr wa-radio { display: block; }
}
/* R29 K8: the Clear confirm row sits under the Changes bar, in place */
.k-sc-clearrow { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin: 8px 0 4px; padding: 8px 12px; border: 1px solid var(--line); border-radius: var(--r-small); background: var(--quiet); font-size: var(--fs-small); }
.k-sc-clearrow[hidden] { display: none; }
.k-sc-clearrow [data-clear-text] { flex: 1 1 auto; }

/* FP-357: the answer (four open figures above the plan), the held year (a panel beside the chart; under it on a phone), and each change's own effect in its row.
   Open page: the figures sit on the ground between two rules; only the chart card is a surface. The held year is the one saffron highlight on the page (--hl). */
.k-sc-answer { border-block: 1px solid var(--line); min-width: 0; }
.k-sc .k-sc-fig { appearance: none; display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 2px; row-gap: 2px; width: 100%; height: auto; min-height: 0; margin: 0; padding: 14px 16px 14px 0; border: 0; border-radius: 0; background: none; box-shadow: none; font: inherit; line-height: inherit; letter-spacing: inherit; text-transform: none; color: var(--text); text-align: left; min-width: 0; }
.k-sc .k-sc-fig + .k-sc-fig { padding-left: 16px; border-left: 1px solid var(--line); }
.k-sc button.k-sc-fig { cursor: pointer; }
.k-sc button.k-sc-fig:hover { background: var(--navy-wash); color: var(--text); }
.k-sc button.k-sc-fig[aria-pressed="true"] { box-shadow: inset 0 -2px 0 var(--hl); }
.k-sc button.k-sc-fig:focus-visible { outline: none; box-shadow: var(--focus-ring); }
.k-sc-ans-lab { font-size: var(--fs-small); color: var(--text-3); }
.k-sc-fig b { font-size: 1.75rem; line-height: 1.15; font-weight: 600; font-variant-numeric: tabular-nums; letter-spacing: -.01em; }
.k-sc-fig.bad b { color: var(--loss); }
.k-sc-fig small { display: block; white-space: normal; overflow-wrap: anywhere; font-size: var(--fs-small); color: var(--text-3); font-variant-numeric: tabular-nums; }
.k-sc-ans-chg .k-sc-chg { font-weight: 600; }
.k-sc-ans-chg .k-muted { color: var(--text-3); }

.k-sc-stage { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; min-width: 0; align-items: start; }
/* the width the plan column really has decides: beside the chart when there is room, under it in three columns when there is some, one column on a phone */
.k-sc-plan { container: scplan / inline-size; }
@container scplan (min-width: 760px) { .k-sc-stage { grid-template-columns: minmax(0, 1fr) 17rem; } }
.k-sc-year { min-width: 0; display: flex; flex-direction: column; font-size: var(--fs-body); font-variant-numeric: tabular-nums; }
.k-sc-year:empty { display: none; }
.k-sc-yr-h { display: flex; align-items: center; gap: 10px; }
.k-sc-yr-y { font-size: 1.75rem; font-weight: 600; line-height: 1; letter-spacing: -.02em; }
.k-sc-yr-ages { color: var(--text-3); font-size: var(--fs-small); line-height: 1.35; min-width: 0; }
.k-sc-yr-nav { margin-left: auto; display: flex; gap: 4px; }
.k-sc-yr-nw { margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--line); display: flex; flex-direction: column; gap: 1px; }
.k-sc-yr-nw > span { font-size: var(--fs-small); }
.k-sc-yr-nw b { font-size: 1.5rem; font-weight: 600; letter-spacing: -.01em; line-height: 1.2; }
.k-sc-yr-nw small { font-size: var(--fs-small); }
.k-sc-yr-blk { margin-top: 14px; min-width: 0; }
.k-sc-yr-blk h3 { margin: 0 0 6px; display: flex; justify-content: space-between; gap: 8px; font-size: var(--fs-small); font-weight: 500; color: var(--text-3); }
.k-sc-yr-blk h3 b { color: var(--text); font-weight: 600; }
.k-sc-flowbar { display: block; width: 100%; height: 12px; margin-bottom: 8px; }
.k-sc-yr-rows { display: grid; gap: 1px; }
.k-sc-yr-row { display: grid; grid-template-columns: 14px minmax(0, 1fr) auto; align-items: baseline; padding: 3px 0; }
.k-sc-yr-row i { width: 8px; height: 8px; border-radius: 2px; align-self: center; background: var(--sw, transparent); }
.k-sc-yr-n { min-width: 0; }
.k-sc-yr-a { text-align: right; }
.k-sc-yr-d { grid-column: 2 / -1; text-align: right; font-size: var(--fs-small); margin-top: -1px; }
.k-sc-yr-row.bad .k-sc-yr-n, .k-sc-yr-row.bad .k-sc-yr-a { color: var(--loss); font-weight: 600; }
.k-sc-yr-row i.none { background: none; }
.k-sc-year .c-unf { --sw: var(--loss); } .k-sc-year .c-bal { --sw: var(--q4); }
.k-sc-flowbar rect { fill: var(--sw, var(--mid)); }
.k-sc-yr-ev { display: grid; gap: 4px; }
.k-sc-yr-ev div { display: flex; gap: 8px; }
.k-sc-yr-ev span { flex: none; width: 30px; color: var(--text-3); }
@container scplan (min-width: 520px) and (max-width: 759px) {
  .k-sc-year { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 28px; align-items: start; padding-top: 14px; border-top: 1px solid var(--line); }
  .k-sc-year .k-sc-yr-blk.flow { grid-row: span 2; }
  .k-sc-year:empty { display: none; }
  .k-sc-year .k-sc-yr-blk.flow, .k-sc-year .k-sc-yr-blk.bal { margin-top: 0; }
  .k-sc-year .k-sc-yr-h { grid-column: 1 / -1; }
  .k-sc-year .k-sc-yr-nw { grid-column: 1 / -1; flex-direction: row; align-items: baseline; flex-wrap: wrap; gap: 0 12px; margin: 10px 0 14px; padding-top: 10px; }
}

/* the held year on the chart and in the table */
.k-sc-svg .heldcol { fill: var(--hl); fill-opacity: .16; }
.k-sc-svg .heldline { stroke: var(--hl-ink); stroke-width: 1; }
.k-sc-svg .hd { stroke: var(--surface); stroke-width: 2; }
.k-sc-svg .hd.base { fill: var(--navy); }
.k-sc-svg .hd.scen { fill: var(--d3); }
.k-sc-svg .hit { cursor: pointer; }
.k-sc-table tbody tr[data-y] { cursor: pointer; }
.k-sc-table tbody tr.held td, .k-sc-table tbody tr.held th.kind, .k-sc-table tbody tr.held th.yr { background: color-mix(in srgb, var(--hl) 14%, var(--surface)); }
.k-sc-table tbody tr.held th.yr { box-shadow: inset 3px 0 0 var(--hl); }

/* each change's own effect: its net worth difference in the held year, and across the years as a line */
.k-sc-bar { flex-wrap: wrap; }
.k-sc-fxhead { margin-left: auto; font-size: var(--fs-small); }
.k-sc-fx { flex: none; display: flex; flex-direction: column; align-items: flex-end; gap: 1px; min-width: 56px; }
.k-sc-ghead > .k-sc-fx { margin-top: 2px; }
.k-sc-fxn { font-size: var(--fs-small); font-weight: 600; font-variant-numeric: tabular-nums; line-height: 1.2; }
.k-sc-fxn.up { color: var(--gain); } .k-sc-fxn.down { color: var(--loss); } .k-sc-fxn.none { color: var(--text-4); font-weight: 400; }
.k-sc-spark { display: block; }
.k-sc-spark path { fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linejoin: round; stroke-linecap: round; }
.k-sc-spark .z { stroke: var(--line); stroke-width: 1; }
.k-sc-spark circle { fill: var(--hl); stroke: var(--surface); stroke-width: 1.5; }
.k-sc-spark.up { color: var(--gain); } .k-sc-spark.down { color: var(--loss); } .k-sc-spark.none { color: var(--text-4); }
/* a set's head always, and any change row on a phone: the name and detail get the row's width, the effect figure and its line sit under them */
.k-sc-ans-was { color: var(--text-3); }
@media (max-width: 640px) {
  .k-sc-head > .k-sc-rowbtn, .k-sc-head > .k-two { flex: 1 1 0; min-width: 0; }
}
@media (max-width: 640px) {
  .k-sc-fig b { font-size: 1.375rem; }
  .k-sc-year { padding-top: 14px; border-top: 1px solid var(--line); }
}

/* The Facts frame is not a Planning page, so the shell leaves no room for the floating Team tab (shell.css does for body.fp-app); the plan keeps its right column clear of it. */
@media (min-width: 641px) {
  body:has(> .k-comms-edge:not([hidden])) .k-sc { padding-right: var(--team-tab); }
}

/* FP-357 look and feel, from the prototype (plan.src.html), scoped to .k-sc: the Changes are plain rows on the ground, the chart is the one raised surface,
   good is the kit's ok green and bad its terra, the controls are the kit's quiet segmented track, and a switch answers in the frame it is clicked. */
.k-sc .k-sc-chg.up, .k-sc-fxn.up, .k-sc-spark.up { color: var(--st-ok); }
.k-sc .k-sc-chg.down, .k-sc-fxn.down, .k-sc-spark.down { color: var(--loss); }
.k-sc-dot { display: inline-block; width: 8px; height: 8px; margin-right: 7px; border-radius: 50%; background: var(--st-ok); flex: none; }
.k-sc-dot.bad { background: var(--loss); }
.k-sc-ans-lab { display: flex; align-items: center; }
.k-sc-ans-sub, .k-sc-ans-also { display: block; min-height: 1.3em; }
.k-sc-ans-was { display: block; min-height: 1.3em; color: var(--text-4); font-size: var(--fs-micro); }
.k-sc-fig b { font-size: 1.875rem; }

/* the chart: the line with changes in the plan blue with a soft area, as recorded in grey, a dotted line for a change under the pointer */
.k-sc-svg.plan .ln.base { stroke: var(--text-5); stroke-width: 1.75; }
.k-sc-svg.plan .ln.scen { stroke: var(--gain); stroke-width: 2.25; }
.k-sc-svg.plan .ln.ghost { fill: none; stroke: var(--hl-ink); stroke-width: 1.75; stroke-dasharray: 5 4; }
.k-sc-svg .area { fill: var(--gain); fill-opacity: .09; stroke: none; }
.k-sc-svg .pill rect { fill: var(--ink); }
.k-sc-svg .pill text { fill: var(--on-dark); font-weight: 600; font-size: 11.5px; }
.k-sc-svg .ev text { fill: var(--text-2); }
.k-sc-svg .ev-d { fill: var(--surface); stroke: var(--text-2); stroke-width: 1.5; }
.k-sc-svg .ev.bad text { fill: var(--loss); font-weight: 600; }
.k-sc-svg .ev-d.bad { fill: var(--loss); stroke: var(--loss); }
.k-sc-svg .lane-w { fill: var(--gain); fill-opacity: .26; }
.k-sc-svg .lane-r { fill: var(--gain); fill-opacity: .09; }
.k-sc-svg text.lane-n { fill: var(--text-2); font-weight: 500; }
.k-sc-svg text.age { fill: var(--text-2); font-size: 10.5px; }
.k-sc-svg .mk { opacity: .8; }
.k-sc-svg .mk-cash, .mkw.mk-cash { fill: var(--d2); background: var(--d2); } .k-sc-svg .mk-inv, .mkw.mk-inv { fill: var(--d1); background: var(--d1); }
.k-sc-svg .mk-ret, .mkw.mk-ret { fill: var(--d3); background: var(--d3); } .k-sc-svg .mk-prop, .mkw.mk-prop { fill: var(--q4); background: var(--q4); }
.k-sc-svg .mk-debt, .mkw.mk-debt { fill: var(--d4); background: var(--d4); } .k-sc-svg .mk-debt { opacity: .55; }
.mkw { display: inline-block; width: 9px; height: 9px; border-radius: 2px; margin-right: 6px; }
/* motion: under 200 ms, on the user's own action, off for reduced motion */
.k-sc-svg.plan path.ln, .k-sc-svg.plan .area, .k-sc-svg.plan .mk { transition: d .16s cubic-bezier(.3, .7, .3, 1); }
.k-sc-svg.plan .heldcol, .k-sc-svg.plan .heldline { transition: x .16s cubic-bezier(.3, .7, .3, 1); }
.k-sc-svg.plan .hd { transition: cx .16s cubic-bezier(.3, .7, .3, 1), cy .16s cubic-bezier(.3, .7, .3, 1); }
.k-sc-svg.plan .pill { transition: transform .16s cubic-bezier(.3, .7, .3, 1); }
@media (prefers-reduced-motion: reduce) { .k-sc-svg.plan * { transition: none; } }

/* the chart head: one row, view, range, dollars, then Pin to compare as a quiet button */
.k-sc-charthead { flex-wrap: wrap; }
.k-sc-chartacts { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-left: auto; }
.k-sc-seg button { font-size: var(--fs-label); padding: 4px 10px; }
.k-sc-legend { gap: 6px 16px; }
.k-sc-chartacts .k-btn, .k-sc-chartacts button[data-act="pin"] { background: transparent; }

/* Changes: plain rows on the ground; the form, the parts and the effect sentence wait inside the opened row */
.k-sc-group { border: 0; border-top: 1px solid var(--line-soft); border-radius: 0; background: none; padding: 10px 0 8px; }
#scen > .k-sc-grid .k-sc-rail > [data-region=loose] { border: 0; background: none; padding: 0; }
#scen > .k-sc-grid .k-sc-rail > [data-region=loose] .k-sc-edit { border-top: 1px solid var(--line-soft); }
.k-sc-edit:not(.open) .k-sc-meta [data-effect] { display: none; }
.k-sc-fx { min-height: 2.1rem; }
.k-sc-yr-row { grid-template-columns: 14px minmax(0, 1fr) auto auto; column-gap: 8px; }
.k-sc-yr-d { grid-column: auto; margin-top: 0; text-align: right; min-width: 3.2rem; }
.k-sc-fx-off { align-items: flex-end; justify-content: center; font-size: var(--fs-small); color: var(--text-4); }
.k-sc-edit { min-height: 3.4rem; }
.k-sc-legend .sw.base { border-top-color: var(--text-5); }
.k-sc-legend .sw.scen { border-top-color: var(--gain); }
@media (max-width: 1000px) { .k-sc-grid { grid-template-areas: "edits" "plan" "details"; } }

/* FP-357 look: three columns by the page's own width (the sidebar is not the viewport), the rail as plain rows of one structure, the table on the ground */
.k-sc { container: scpage / inline-size; }
@container scpage (min-width: 1130px) {
  .k-sc-grid { grid-template-columns: 322px minmax(0, 1fr) 292px; grid-template-areas: "edits chart year" "edits tiles year" "details details details"; grid-template-rows: auto auto auto; gap: 0 28px; }
  .k-sc-plan, .k-sc-stage { display: contents; }
  .k-sc-stage > .k-sc-card { grid-area: chart; }
  .k-sc-year { grid-area: year; align-self: start; }
  .k-sc-grid > [data-region=tiles] { grid-area: tiles; margin-top: 14px; }
  .k-sc-grid > [data-region=tiles]:empty { display: none; }
  .k-sc-details { margin-top: 22px; }
}
.k-sc-year .k-sc-yr-y { font-family: var(--font-serif); font-weight: 400; font-size: 2.125rem; line-height: 1; letter-spacing: -1px; }
.k-sc .k-sc-chev { display: none; }
.k-sc-group { display: block; border: 0; border-top: 1px solid var(--line-soft); border-radius: 0; background: none; padding: 0; gap: 0; }
.k-sc-group:first-child { border-top: 0; }
.k-sc-ghead { display: flex; align-items: flex-start; gap: 12px; flex-wrap: nowrap; padding: 9px 0; min-height: 3.4rem; cursor: pointer; }
.k-sc-ghead > .k-two { flex: 1 1 0; min-width: 0; }
.k-sc-ghead .k-sc-gname { font-size: var(--fs-body); font-weight: 600; }
.k-sc-gline { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.k-sc-ghead small[data-sum] { color: var(--text-2); font-size: var(--fs-body); }
.k-sc-group:not(.open) .k-sc-ghead small[data-gfx], .k-sc-group:not(.open) .k-sc-ghead [data-stale] { display: none; }
.k-sc-edit { cursor: pointer; }
.k-sc-gbody { padding: 0 0 8px 46px; }
.k-sc-gbody[hidden] { display: none; }
.k-sc-gfoot { display: flex; align-items: center; gap: 12px; padding: 8px 0 2px; }
.k-sc-gfoot .k-sc-rename { opacity: 1; }
.k-sc-addmenu { display: block; margin-top: 10px; }
.k-sc .k-sc-addrow { display: flex; align-items: center; gap: 8px; width: 100%; min-height: 0; padding: 10px 12px; border: 1px dashed var(--line); border-radius: 9px; background: none; color: var(--text-2); font-weight: 500; text-align: left; cursor: pointer; }
.k-sc .k-sc-addrow:hover { border-color: var(--text-4); background: var(--quiet); color: var(--text); }
.k-sc-keys { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin-top: 12px; font-size: var(--fs-micro); color: var(--text-4); }
.k-sc-keys kbd { font: inherit; font-weight: 500; border: 1px solid var(--line); border-bottom-width: 2px; border-radius: 5px; padding: 0 5px; color: var(--text-3); background: var(--surface); }
.k-sc-keys .k-link { font-size: var(--fs-micro); padding: 0; min-height: 0; margin-left: 4px; }
.k-sc-keys .k-link[hidden] { display: none; }
@media (hover: none) { .k-sc-keys span { display: none; } }
/* the status line has its place in the chart card, so a shortfall appearing moves nothing */
.k-sc-card .k-sc-lead { min-height: 2.8em; margin-top: 6px; }
.k-sc-card .k-sc-status { margin: 0; font-size: var(--fs-small); color: var(--text-2); }
/* Details by year: on the ground, one row a year with each person's age, the three modes beside the views */
.k-sc-details { border: 0; background: none; padding: 0; }
.k-sc-tablesegs { display: flex; flex-wrap: wrap; gap: 8px; }
.k-sc-tablebox { border: 0; border-block: 1px solid var(--line); border-radius: 0; background: none; }
.k-sc-flat { min-width: 0; }
.k-sc-flat th, .k-sc-flat td { background: transparent; }
.k-sc-flat thead th { background: var(--ground); }
.k-sc-flat th.yr { background: var(--ground); }
.k-sc-flat td.ages, .k-sc-flat th.ages { text-align: left; color: var(--text-3); }
@media (max-width: 640px) {
  .k-sc-gbody { padding-left: 0; }
}
.k-sc-stage > .k-sc-card { align-self: start; }

/* the four plan pages are one product: the dollars, view and range controls on Saving, Debts and Social Security take the same quiet track (a light track, a white selected pill) as the plan screen's k-seg */
.k-sc wa-radio-group.k-sc-metric, .k-sc wa-radio-group.k-sc-span, .k-sc wa-radio-group.k-sc-tableview { display: inline-block; background: var(--neutral-tint); border-radius: 9px; padding: 3px; }
.k-sc wa-radio-group wa-radio[appearance='button'] { background-color: transparent; border-color: transparent; color: var(--text-2); border-radius: var(--r-small); }
.k-sc wa-radio-group wa-radio[appearance='button']:state(checked), .k-sc wa-radio-group wa-radio[appearance='button'][aria-checked='true'] { background-color: var(--surface); border-color: transparent; color: var(--text); box-shadow: var(--shadow-pill); }
.k-sv-dollarsrow { align-items: center; gap: 8px 12px; }
.k-sc .k-sc-rowbtn.k-link { padding: 0; min-height: 0; font-weight: inherit; color: inherit; }

/* FP-357: the form's fields get the rail's whole width, so a date, an account or a set name shows in full */
.k-sc-rail .k-sc-fields, .k-sc-rail .k-sc-form.live .k-sc-fields { grid-template-columns: minmax(0, 1fr); }

/* FP-357: the chart's controls are one quiet row (what it shows, for how long); the key sits under it, and the dollars with Pin to compare sit under the chart. Nothing wraps in the three-column layout. */
.k-sc-stage > .k-sc-card { display: flex; flex-direction: column; }
.k-sc-stage > .k-sc-card [data-region=charthead] { display: contents; }
.k-sc-stage > .k-sc-card .k-sc-charthead { justify-content: flex-start; margin-bottom: 10px; }
.k-sc-stage > .k-sc-card .k-sc-charthead .k-sc-chartacts { margin-left: 0; gap: 8px; }
.k-sc-stage > .k-sc-card .k-sc-chartbox { order: 2; }
.k-sc-footrow { order: 3; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px 12px; margin-top: 10px; }
.k-sc-footrow .k-btn { min-height: 0; padding: 4px 10px; font-size: var(--fs-label); font-weight: 500; background: transparent; }
.k-sc-footrow .k-sv-when { color: var(--text-3); }
.k-sc-footrow [data-pin-full] { margin-left: auto; }
.k-sc-stage > .k-sc-card [data-region=status] { order: 4; }

/* FP-357: a loose change reads as a set does: its name on one line, its detail under it */
.k-sc-rail .k-sc-edit .k-sc-desc { display: block; }
.k-sc-rail .k-sc-edit .k-sc-desc > .k-sc-name { display: block; }
.k-sc-rail .k-sc-edit .k-sc-desc > .k-sc-detail { display: block; font-size: var(--fs-small); color: var(--text-2); }

/* FP-357: a new scale slides the axis with the lines (one 160 ms move, the lines' own easing), and the as-recorded line and dot fade in and out with the changes */
.k-sc-svg.plan .axis { transition: transform .16s cubic-bezier(.3, .7, .3, 1); }
.k-sc-svg.plan .ln.base, .k-sc-svg.plan .hd.base { transition: opacity .16s cubic-bezier(.3, .7, .3, 1), d .16s cubic-bezier(.3, .7, .3, 1), cx .16s cubic-bezier(.3, .7, .3, 1), cy .16s cubic-bezier(.3, .7, .3, 1); }
.k-sc-svg.plan .ln.off, .k-sc-svg.plan .hd.off { opacity: 0; }
@media (prefers-reduced-motion: reduce) { .k-sc-svg.plan .axis, .k-sc-svg.plan .ln.base, .k-sc-svg.plan .hd.base { transition: none; } }

/* FP-357: the dollars, view and range choices on Saving, Debts and Social Security are the plan screen's size, and the dollars say it once (the choice, not also a label beside it) */
.k-sc wa-radio-group wa-radio[appearance='button'] { --wa-form-control-height: 1.75rem; font-size: .8125rem; }
.k-sv-dollarsrow:has(wa-radio-group) > .k-sv-when { display: none; }

/* FP-357: on a phone an open change's form takes the row's whole width */
@media (max-width: 640px) { .k-sc-form.live { margin-left: 0; } }
/* FP-387: the scenario picker under the Changes bar, its changed line (the keep line's pattern, flush left) and its row (the Clear row's pattern, with a refusal under it) */
.k-sc-scenpick-host:not(:empty) { margin: 8px 0 4px; }
.k-sc-scenpick { width: 100%; }
.k-sc-scenchg .k-sc-keepline { padding-left: 0; }
.k-sc-scenrow .k-field-err { flex: 1 0 100%; }
.k-sc-bulk wa-dropdown-item[hidden] { display: none; }
/* FP-360: Keep takes the line under the row's name (a change and a set alike); 46px is the switch and the gap */
.k-sc-keepline{padding:2px 0 0 46px;display:flex;flex-wrap:wrap;gap:8px;align-items:baseline}
/* FP-327: Recommendations at the top of Changes: a title and its effect on one line, the controls on the keep line's pattern, the effect of all of them together under the list; the small form is the open change form's size */
.k-sc-recs-host:not(:empty) { margin: 8px 0 4px; }
.k-sc-recs { display: flex; flex-direction: column; gap: 8px; }
.k-sc-rech { margin: 0; font-size: var(--fs-section); font-weight: 600; }
.k-sc-reclist { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.k-sc-rechead, .k-sc-recall { display: flex; flex-wrap: wrap; gap: 0 12px; align-items: baseline; justify-content: space-between; min-width: 0; }
.k-sc-recall { border-top: 1px solid var(--line); padding-top: 8px; }
.k-sc-rechead .k-sc-meta, .k-sc-recall .k-sc-meta { flex: 0 1 auto; min-width: 0; }
.k-sc-reclinks { padding-left: 0; }
.k-sc-recform { border: 0; background: var(--quiet); margin: 8px 0 2px; padding: 12px; width: 100%; box-sizing: border-box; }
[data-rechost] { align-self: stretch; min-width: 0; }
.k-sc-typed { font-size: var(--fs-small); color: var(--text-2); }
.k-sc-typed:empty { display: none; }
/* FP-327 B1: Send. The choices in a column, the version beside it on the kit's ground, drawn at the size the statements are read at; on a phone the choices stack above it. */
.k-sc-send { display: grid; grid-template-columns: minmax(0, 240px) minmax(0, 1fr); gap: 16px; align-items: start; }
.k-sc-sendpick { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.k-sc-sendsegs { display: flex; flex-direction: column; gap: 8px; align-items: flex-start; }
.k-sc-sendlist { border: 0; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.k-sc-sendlist legend { padding: 0 0 4px; font-size: var(--fs-section); font-weight: 600; }
.k-sc-sendlist .k-check { align-items: flex-start; }
.k-sc-sendview { min-width: 0; overflow-x: auto; }
.k-sc-sendview .k-tp-ground { min-height: 0; padding: 16px; }
.k-sc-sendview .k-doc { zoom: .8; }
@media (max-width: 860px) { .k-sc-send { grid-template-columns: minmax(0, 1fr); } .k-sc-sendview .k-doc { zoom: 1; } }
.k-sc-sendside { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.k-sc-sendcopies { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.k-sc-sendcopies .k-sc-list { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 8px; }
/* FP-327 B2: the household's questions beside the version: a list with room between questions, the answer under each, an open one (not answered, or answered by a page that left the version) in stronger type. */
.k-sc-sendq { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.k-sc-sendq .k-sc-list { gap: 14px; }
.k-sc-sendq li { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.k-sc-qans { font-size: var(--fs-small); color: var(--text-2); }
.k-sc-qans.open { color: var(--text); font-weight: 600; }
.k-sc-qform { display: flex; flex-direction: column; gap: 6px; align-items: flex-start; min-width: 0; padding-top: 6px; }
.k-sc-qform .k-input, .k-sc-qform .k-select { width: 100%; box-sizing: border-box; }

/* FP-396 (the drawing, plan-proto-1109/lead.src.html): the answer is ONE BAND on the page ground between two rules, three parts divided by rules: NOW (the first figure, and where that month's income goes: a bar and its rows), WHAT YOUR PLAN FUNDS
   (one line each in four aligned columns: what with its marker, detail, from, state), and the other three figures, two lines each. The measures are the drawing's (330 and 272 wide parts, 22px between a part and its rule, 14px above and below);
   its greys map to the kit's by value (the drawing's --text-3 is --text-4, its --text-4 is --text-5). The marker is the only colour on a line (--st-ok funded, --st-due partly funded, --loss short or not funded, a hollow dot with no state).
   The bar and its rows take the held year's colours for the same lines (.c-live, .c-debt, .c-tax, .c-save, .c-give, .c-left below). With two lines in the list the three figures sit under it as a strip and the band keeps two parts. Below 820px
   of page the band stacks (now, the three figures, the list) and a line is two lines. */
.k-sc-band { display: grid; grid-template-columns: 330px minmax(0, 1fr) clamp(236px, 22cqw, 272px); }
.k-sc-band.short { grid-template-columns: 330px minmax(0, 1fr); }
.k-sc-band > div { min-width: 0; padding: 14px 22px; }
.k-sc-band > div:first-child { padding-left: 0; }
.k-sc-band > div:last-child { padding-right: 0; }
.k-sc-band > div + div { border-left: 1px solid var(--line); }
.k-sc-ans-lab { color: var(--text-4); font-size: var(--fs-label); gap: 7px; }
.k-sc-ans-lab .k-sc-dot { margin-right: 0; }
.k-sc .k-sc-band-now .k-sc-fig { padding: 0; gap: 0; }
.k-sc .k-sc-band-now .k-sc-fig b { font-size: 1.875rem; letter-spacing: -.6px; line-height: 1.15; margin-top: 4px; }
.k-sc-ans-subs { display: flex; flex-wrap: wrap; gap: 0 5px; margin-top: 4px; color: var(--text-4); font-size: var(--fs-label); }
.k-sc-ans-subs small { display: block; min-height: 0; margin: 0; color: var(--text-4); font-size: var(--fs-label); }
.k-sc-ans-subs small.k-sc-ans-was { color: var(--text-4); }
.k-sc-nowbar-box { height: 10px; margin-top: 14px; border-radius: 4px; overflow: hidden; }
.k-sc-nowbar { display: block; width: 100%; height: 10px; margin: 0; }
.k-sc-mrows { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 18px; margin-top: 7px; font-size: var(--fs-label); font-variant-numeric: tabular-nums; }
.k-sc-mrow { display: grid; grid-template-columns: 14px minmax(0, 1fr) auto; align-items: baseline; padding: 3px 0; }
.k-sc-mrow i { align-self: center; display: block; width: 8px; height: 8px; border-radius: 2px; background: var(--sw, transparent); }
.k-sc-mrow i.none { background: none; }
.k-sc-mn { color: var(--text-2); }
.k-sc-ma { text-align: right; }
/* one colour per line across the page, from the drawing's tokens (the end of this file): the month's bar and rows, and the held year's bar, rows and balances. Giving is not in the drawing: it keeps the panel's moss. */
.k-sc-band-now .c-live, .k-sc-year .c-live { --sw: var(--c-live); }
.k-sc-band-now .c-debt, .k-sc-year .c-debt { --sw: var(--c-debt); }
.k-sc-band-now .c-tax, .k-sc-year .c-tax { --sw: var(--c-tax); }
.k-sc-band-now .c-save, .k-sc-year .c-save { --sw: var(--c-save); }
.k-sc-band-now .c-give, .k-sc-year .c-give { --sw: var(--d6); }
.k-sc-band-now .c-left, .k-sc-year .c-left { --sw: var(--c-left); }
.k-sc-year .c-buy { --sw: var(--c-college); }
.k-sc-year .c-cash { --sw: var(--c-cash); }
.k-sc-year .c-inv { --sw: var(--c-inv); }
.k-sc-year .c-ret { --sw: var(--c-ret); }
.k-sc-band-later { min-width: 0; container: fundcol / inline-size; }
.k-sc-band-later > .k-sc-ans-lab { margin: 0; }
.k-sc-fundlist { list-style: none; margin: 4px 0 0; padding: 0; display: grid; column-gap: 12px; font-size: var(--fs-body);
  grid-template-columns: auto auto auto minmax(min-content, 1fr); }
.k-sc-fund { display: grid; grid-template-columns: subgrid; grid-column: 1 / -1; align-items: baseline; padding: 10px 0; border-top: 1px solid var(--line-soft); line-height: 18px; min-width: 0; }
.k-sc-fund:first-child { border-top: 0; }
.k-sc-fund-sub { display: contents; }
.k-sc-fund-n { display: flex; align-items: baseline; gap: 9px; min-width: 0; font-weight: 600; white-space: nowrap; }
.k-sc-fund-n > .k-sc-mk { align-self: center; }
.k-sc-fund-n a { color: inherit; text-decoration: none; }
.k-sc-fund-n a:hover { text-decoration: underline; text-underline-offset: 2px; }
.k-sc-fund-d, .k-sc-fund-fr { min-width: 0; color: var(--text-4); font-variant-numeric: tabular-nums; }
.k-sc-fund-s { min-width: 0; font-weight: 600; color: var(--text); font-variant-numeric: tabular-nums; }
.k-sc-fund-aux, .k-sc-fund-was { margin-left: 3px; font-weight: 400; font-size: var(--fs-label); color: var(--text-4); white-space: nowrap; }
.k-sc-fund-was { color: var(--text-5); }
.k-sc-mk { display: inline-block; width: 8px; height: 8px; flex: none; box-sizing: border-box; border-radius: 50%; border: 1.5px solid var(--text-5); background: transparent; }
.k-sc-mk.ok { background: var(--st-ok); border-color: var(--st-ok); }
.k-sc-mk.warn { background: var(--st-due); border-color: var(--st-due); }
.k-sc-mk.bad { background: var(--loss); border-color: var(--loss); }
.k-sc-fund-more { display: none; }
.k-sc-band-later:has(details[data-fundfold][open]) .k-sc-fund-more { display: grid; }
.k-sc-fundfold { margin-top: 2px; }
.k-sc-fund-none .k-sc-fund-kinds { grid-column: 2 / span 2; display: flex; gap: 6px; align-self: center; }
.k-sc-chip { display: inline-block; padding: 1px 9px; border: 1px solid var(--line); border-radius: 99px; background: var(--surface); color: var(--text-2); font-size: var(--fs-label); line-height: 18px; text-decoration: none; white-space: nowrap; }
.k-sc-chip:hover { border-color: var(--text-5); color: var(--text); }
.k-sc-fund-s .k-btn.sm { min-height: 0; padding: 3px 10px; border-radius: 8px; font-size: var(--fs-label); font-weight: 600; line-height: 1.35; white-space: nowrap; }
.k-sc-f3 { display: grid; align-content: start; }
.k-sc .k-sc-f3 .k-sc-fig3 { display: flex; flex-direction: column; align-items: stretch; gap: 0; padding: 2px 0 10px; border: 0; }
.k-sc .k-sc-f3 .k-sc-fig3 + .k-sc-fig3 { padding-top: 10px; padding-left: 0; border-left: 0; border-top: 1px solid var(--line-soft); }
.k-sc-f3-top { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.k-sc-f3-top .k-sc-chg { font-size: var(--fs-label); font-weight: 500; white-space: nowrap; }
.k-sc-f3-line { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 8px; margin-top: 3px; }
.k-sc-f3-line .k-sc-ans-sub { white-space: nowrap; }
.k-sc .k-sc-fig3 b { font-size: 1.3125rem; letter-spacing: -.4px; line-height: 1.15; }
.k-sc-f3-line .k-sc-ans-sub { min-height: 0; color: var(--text-4); font-size: var(--fs-label); }
.k-sc-band.short .k-sc-f3 { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 12px; border-top: 1px solid var(--line); }
.k-sc .k-sc-band.short .k-sc-f3 .k-sc-fig3 { padding: 10px 16px 0 0; border-top: 0; }
.k-sc .k-sc-band.short .k-sc-f3 .k-sc-fig3 + .k-sc-fig3 { padding-left: 16px; border-left: 1px solid var(--line-soft); }
.k-sc-fig small:empty { display: none; }
@container scpage (max-width: 820px) {
  .k-sc-band, .k-sc-band.short { grid-template-columns: minmax(0, 1fr); }
  .k-sc-band.k-sc-band > div { padding: 14px 0; border-left: 0; }
  .k-sc-band > div + div { border-top: 1px solid var(--line); }
  .k-sc-band-now { order: 1; } .k-sc-band-f3 { order: 2; } .k-sc-band-later { order: 3; }
  .k-sc .k-sc-band-now .k-sc-fig b { font-size: 1.625rem; }
  .k-sc-f3, .k-sc-band.short .k-sc-f3 { grid-template-columns: minmax(0, 1fr); }
  .k-sc .k-sc-f3 .k-sc-fig3, .k-sc .k-sc-band.short .k-sc-f3 .k-sc-fig3, .k-sc .k-sc-band.short .k-sc-f3 .k-sc-fig3 + .k-sc-fig3 { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 12px; align-items: start; padding: 8px 0; border-left: 0; }
  .k-sc .k-sc-f3 .k-sc-fig3:first-child { padding-top: 0; }
  .k-sc .k-sc-f3 .k-sc-fig3 + .k-sc-fig3, .k-sc .k-sc-band.short .k-sc-f3 .k-sc-fig3 + .k-sc-fig3 { border-top: 1px solid var(--line-soft); }
  .k-sc-f3-top { display: block; } .k-sc-f3-top .k-sc-chg { display: block; margin-top: 2px; }
  .k-sc-f3-line { flex-direction: column; align-items: flex-end; flex-wrap: nowrap; gap: 1px; margin-top: 0; }
  .k-sc .k-sc-fig3 b { font-size: 1.125rem; letter-spacing: -.3px; }
  .k-sc-mrows { column-gap: 14px; }
}
/* The list answers for the room it has, not the page's: one line a row when it fits (the first three columns take the width their text needs, the state takes the rest and wraps its small note under it when it must), else the drawing's phone rows, two lines (name and state, then detail and from). */
@container fundcol (max-width: 600px) {
  .k-sc-fundlist { display: block; }
  .k-sc-fund { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "w s" "d f"; column-gap: 12px; padding: 9px 0; }
  .k-sc-fund.k-sc-fund-more { display: none; }
  .k-sc-band-later:has(details[data-fundfold][open]) .k-sc-fund.k-sc-fund-more { display: grid; }
  .k-sc-fund-n { grid-area: w; white-space: normal; }
  .k-sc-fund-s { grid-area: s; text-align: right; }
  .k-sc-fund-d { grid-area: d; font-size: var(--fs-label); white-space: normal; }
  .k-sc-fund-fr { grid-area: f; text-align: right; font-size: var(--fs-label); white-space: normal; }
  .k-sc-fund-d:empty, .k-sc-fund-fr:empty { display: none; }
  .k-sc-fund-aux, .k-sc-fund-was { display: block; margin-left: 0; }
  .k-sc-fund-none { grid-template-areas: "w s" "d d"; }
  .k-sc-fund-none .k-sc-fund-kinds { grid-area: d; grid-column: auto; flex-wrap: wrap; margin-top: 4px; }
}

/* FP-396 (the drawing): the rail. Ways to close the gaps (part 2) has its slot, empty until then; Assumed, not recorded is a section of the rail, a row per item. */
[data-region=ways]:empty { display: none; }
.k-sc-todo { margin-top: 22px; }
.k-sc-todo h2 { margin: 0 0 8px; font-size: var(--fs-section); font-weight: 600; }
.k-sc-td { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 10px; align-items: baseline; padding: 8px 6px; border-top: 1px solid var(--line-soft); font-size: var(--fs-small); overflow-wrap: anywhere; }
.k-sc-td b { font-weight: 600; }
.k-sc-td span { color: var(--text-4); }
.k-sc-td .k-sc-td-plain { color: var(--text-2); }
.k-sc-td .k-link { padding: 0; min-height: 0; color: var(--navy); font-size: var(--fs-label); font-weight: 500; white-space: nowrap; }
.k-sc-td .k-link:hover { text-decoration: underline; }
.k-sc-todofold { margin-top: 2px; }
.k-sc-todofold > summary { padding: 6px 6px 0; }
#scen > .k-sc-answer + .k-sc-grid { margin-top: 8px; }
.k-sc-bulk wa-button { --wa-form-control-height: 1.5rem; }
.k-sc-noneyet { margin: 0; padding: 4px 6px 0; color: var(--text-4); font-size: var(--fs-label); }
.k-sc-noneyet[hidden] { display: none; }
/* FP-396 (the drawing): the changes are rows of the drawing's measure: the head (14px/600 with its small line at the right, 8px under), a row 12px above and below with the switch, the name over its detail, and the effect at the right; the rows divide by a soft rule (the first too);
   the add row 10px under the last; the keys 14px under it. */
.k-sc-bar { margin-bottom: 8px; align-items: baseline; }
.k-sc-fxhead { color: var(--text-4); font-size: var(--fs-label); }
.k-sc-group, .k-sc-group:first-child, .k-sc-edit, .k-sc-edit:first-child, #scen > .k-sc-grid .k-sc-rail > [data-region=loose] .k-sc-edit { border-top: 1px solid var(--line-soft); border-radius: 8px; }
.k-sc-group { padding: 0; }
.k-sc-edit { padding: 0; min-height: 0; }
.k-sc-ghead, .k-sc-head { align-items: center; gap: 10px; padding: 12px 8px 12px 6px; min-height: 0; }
.k-sc-head wa-switch, .k-sc-ghead > wa-switch, .k-sc-edit wa-switch { margin-top: 0; }
.k-sc-rail .k-sc-edit .k-sc-desc > .k-sc-name, .k-sc-ghead .k-sc-gname { font-size: var(--fs-body); font-weight: 600; }
.k-sc-rail .k-sc-edit .k-sc-desc > .k-sc-detail, .k-sc-ghead small[data-sum] { margin-top: 1px; color: var(--text-4); font-size: var(--fs-label); }
.k-sc-fx { min-width: 66px; min-height: 0; gap: 2px; }
.k-sc-fxn { font-size: var(--fs-body); }
.k-sc-fx-off { font-size: var(--fs-label); }
.k-sc-keys { margin-top: 14px; }
.k-sc-rail > [data-region=form]:not([hidden]) { margin-top: 14px; }
.k-sc-ma .k-sc-dag { margin-left: 2px; line-height: 0; vertical-align: baseline; position: relative; top: -.4em; }
/* FP-396 round 2: the drawing's line colours, once (lead.src.html lines 16-17 and 31-32), light and dark. */
:root {
  --c-live: #4C6B8F; --c-college: #804C88; --c-debt: #B35025; --c-tax: #A2B3C7; --c-save: #21A390; --c-left: #C6C9CE;
  --c-cash: #CA9830; --c-inv: #3568A0; --c-ret: #21A390;
}
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) {
  --c-live: #7FA0C6; --c-college: #B584BD; --c-debt: #E07A4F; --c-tax: #4E617A; --c-save: #3CC0AD; --c-left: #4A505B;
  --c-cash: #E0B04A; --c-inv: #74A7DF; --c-ret: #3CC0AD;
} }
:root[data-theme="dark"] {
  --c-live: #7FA0C6; --c-college: #B584BD; --c-debt: #E07A4F; --c-tax: #4E617A; --c-save: #3CC0AD; --c-left: #4A505B;
  --c-cash: #E0B04A; --c-inv: #74A7DF; --c-ret: #3CC0AD;
}
/* A change switched off reads like the drawing's third row: its name and small line in normal type, muted, and on the right the effect it would have switched on (No change when none), muted; nothing there until it is worked out. */
.k-sc-edit.off .k-sc-desc > .k-sc-name, .k-sc-group.off .k-sc-gname { color: var(--text-2); font-weight: 500; }
.k-sc-fx.k-sc-fx-off { align-items: flex-end; justify-content: center; opacity: .62; }
.k-sc-fx.k-sc-fx-off .k-sc-fxn, .k-sc-fx.k-sc-fx-off .k-sc-spark { color: var(--text-4); }
/* Keep as an option and Recommend: out of sight at rest, on a row's hover and focus (focusing the row shows them, so they are reached through it) and while it is open; on touch, while it is open. Never taken away. */
[data-list=loose] > .k-sc-edit { position: relative; }
[data-list=loose] > .k-sc-edit > .k-sc-keepline { display: none; position: absolute; left: 0; bottom: 3px; padding: 0 0 0 50px; }
[data-list=loose] > .k-sc-edit:focus-within > .k-sc-keepline { display: flex; }
@media (hover: hover) { [data-list=loose] > .k-sc-edit:hover > .k-sc-keepline { display: flex; } }
[data-list=loose] > .k-sc-edit.open > .k-sc-keepline { display: flex; position: static; padding: 2px 0 8px 50px; }
/* FP-398 (the drawing's .ways, .way, .try): the rail's first block, only when the list has a short line. A heading row per line (its name, how it is short), then up to three ways, each a Try, the move over its small line, and its effect at the right. */
.k-sc-ways { margin-bottom: 20px; }
.k-sc-ways h2 { margin: 0 0 8px; font-size: var(--fs-section); font-weight: 600; }
.k-sc-wgrp { display: flex; justify-content: space-between; gap: 10px; padding: 2px 8px 6px 6px; color: var(--text-4); font-size: var(--fs-label); }
.k-sc-wgrp b { color: var(--text); font-weight: 600; }
.k-sc-wgrp:not(:first-of-type) { margin-top: 10px; }
.k-sc-way { display: grid; grid-template-columns: 36px minmax(0, 1fr) auto; column-gap: 10px; align-items: center; padding: 11px 8px 11px 6px; border-top: 1px solid var(--line-soft); border-radius: 8px; cursor: pointer; transition: background .14s; }
.k-sc-way:hover { background: var(--quiet); }
.k-sc-way b { display: block; font-weight: 600; }
.k-sc-way small { display: block; margin-top: 1px; color: var(--text-4); font-size: var(--fs-label); }
.k-sc .k-sc-way .k-sc-try { appearance: none; display: block; box-sizing: border-box; width: 36px; height: 22px; min-height: 0; margin: 0; padding: 0; border: 1px solid var(--line); border-radius: 99px; background: var(--surface); color: var(--navy); font: inherit; font-size: var(--fs-micro); font-weight: 600; line-height: 20px; text-align: center; cursor: pointer; }
.k-sc .k-sc-way:hover .k-sc-try { border-color: var(--navy); }
.k-sc .k-sc-try:focus-visible { outline: none; box-shadow: var(--focus-ring); }
.k-sc-way.added { cursor: default; }
.k-sc-way.added:hover { background: none; }
.k-sc .k-sc-try.done { color: var(--text-5); cursor: default; }
.k-sc .k-sc-way.added:hover .k-sc-try { border-color: var(--line); }
.k-sc-wfx { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; text-align: right; }
.k-sc-wfx .n { font-weight: 600; }
.k-sc-wfx .n.ok { color: var(--st-ok); }
.k-sc-way.added .k-sc-wfx .n { color: var(--text-4); font-weight: 500; }
.k-sc-wfx small { margin: 0; font-size: var(--fs-micro); color: var(--text-4); }

/* Sequences (SQ-010 flow page, SQ-012 households and the record section, SQ-017 list; analysis/sequences.md sections 8, 12, 13).
   The kit block for the Sequences pages: the boards' own pieces (kitboards/additions/sequences.css: the flow drawn on a dotted
   ground, the dated strip, the focus card body's inset), then the k-seq-* classes that place them on the list, the flow page, the
   households page and a record's In sequences section (layout only; every colour is the kit's). Served with the kit (server.js KIT_CSS). */

/* A flow: steps drawn top to bottom on a dotted ground, joined by lines. Nodes take their kind's colour from the kit's item
   kinds (.k-kind-message emails); waits are dashed pills on the line, because a wait is time between steps, not a thing that
   happens. */
.k-flow { flex: 1 0 auto; display: flex; flex-direction: column; align-items: center; padding: 24px 24px 40px; min-width: 0;
  background: var(--ground) radial-gradient(var(--line) 1px, transparent 1.2px) 0 0 / 18px 18px; }
.k-flow-node { position: relative; box-sizing: border-box; width: 272px; max-width: 100%; display: flex; align-items: center; gap: 10px;
  padding: 10px 12px 10px 16px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-card);
  box-shadow: var(--shadow-sm); font-size: var(--fs-body); text-align: left; color: inherit; text-decoration: none; }
.k-flow-node::before { content: ''; position: absolute; left: 5px; top: 9px; bottom: 9px; width: 3px; border-radius: 2px; background: var(--kind, transparent); }
.k-flow-node > .k-two { flex: 1 1 auto; min-width: 0; }
.k-flow-node > .k-two > :first-child { font-weight: 500; }
.k-flow-node[aria-selected="true"], .k-flow-node[aria-current="true"] { border-color: var(--navy); box-shadow: var(--focus-ring); }
/* Where a flow starts and ends: a quiet pill, not a step. */
.k-flow-node.k-flow-end { width: auto; padding: 6px 14px; border-radius: var(--r-pill); background: var(--quiet); box-shadow: none;
  color: var(--text-2); font-size: var(--fs-small); gap: 8px; }
.k-flow-node.k-flow-end::before { display: none; }
/* The line between two steps; it may carry a wait or the Add a step button. */
.k-flow-link { position: relative; display: flex; align-items: center; justify-content: center; min-height: 28px; width: 100%; }
.k-flow-link::before { content: ''; position: absolute; left: calc(50% - .75px); top: 0; bottom: 0; border-left: 1.5px solid var(--control-strong); }
.k-flow-link > * { position: relative; margin: 6px 0; }
.k-flow-wait { display: inline-flex; align-items: center; gap: 6px; padding: 3px 11px; border-radius: var(--r-pill); background: var(--surface);
  border: 1px dashed var(--control-strong); font-size: var(--fs-label); color: var(--text-2); white-space: nowrap; text-decoration: none; }
.k-flow-wait::before { width: 13px; height: 13px; color: var(--text-3); }
.k-flow-wait[aria-current="true"] { border-color: var(--navy); border-style: solid; box-shadow: var(--focus-ring); }
/* Add a step: a small round + on the line. */
.k-flow-add { width: 22px; height: 22px; padding: 0; border-radius: 50%; display: inline-grid; place-items: center; background: var(--surface);
  border: 1px solid var(--control-strong); color: var(--text-3); cursor: pointer; }
.k-flow-add::before { width: 12px; height: 12px; }
.k-flow-link > .k-picker { margin: 6px 0; }
.k-flow-link > .k-picker > .k-menu { left: 32px; right: auto; top: -6px; width: max-content; min-width: 168px; }
/* The goal's way out: a household that meets it leaves from any step, drawn once beside the flow's head. */
.k-flow-goal { display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px 6px 8px; border-radius: var(--r-pill);
  background: var(--olive-tint); color: var(--olive-text); font-size: var(--fs-small); font-weight: 500; }
.k-flow-goal::before { width: 14px; height: 14px; }

/* A branch asks a question: quiet gray with a firmer edge (navy stays for the primary action and the current item), its ways
   labelled on the lines below it. */
.k-flow-node.k-flow-ask { border-color: var(--control-strong); background: var(--quiet); box-shadow: none; }
.k-flow-node.k-flow-ask > .k-tile { background: var(--surface); color: var(--text-2); box-shadow: inset 0 0 0 1px var(--line); }
.k-flow-node.k-flow-ask[aria-current="true"] { border-color: var(--navy); box-shadow: var(--focus-ring); }
/* A way's label (Clicked Book, not booked) sits on its line, in the branch's quiet tone. */
.k-flow-arm-label { max-width: 100%; box-sizing: border-box; overflow: hidden; text-overflow: ellipsis; padding: 2px 9px; border-radius: var(--r-pill); background: var(--surface);
  border: 1px solid var(--control-strong); font-size: var(--fs-micro); font-weight: 600; color: var(--text-2); white-space: nowrap; text-decoration: none; }
.k-flow-link.fill { flex: 1 1 auto; }
/* A branch's ways (two or more, checked in order; w2 to w6 say how many), side by side; a rule across the top joins them to the
   question, one across the bottom rejoins them. */
.k-flow-split { --ways: 2; position: relative; display: grid; grid-template-columns: repeat(var(--ways), minmax(0, 1fr)); width: 100%; max-width: calc(var(--ways) * 300px); align-items: stretch; }
.k-flow-split.w3 { --ways: 3; } .k-flow-split.w4 { --ways: 4; } .k-flow-split.w5 { --ways: 5; } .k-flow-split.w6 { --ways: 6; }
.k-flow-split::before, .k-flow-split.rejoin::after { content: ''; position: absolute; left: calc(50% / var(--ways)); right: calc(50% / var(--ways)); border-top: 1.5px solid var(--control-strong); }
.k-flow-split::before { top: 0; }
.k-flow-split.rejoin::after { bottom: 0; }
.k-flow-split > div { display: flex; flex-direction: column; align-items: center; min-width: 0; padding: 0 8px; }
.k-flow-split > div > .k-flow-link:only-child { flex: 1 1 auto; }
.k-flow-split .k-seq-problem { width: 100%; }

/* Dated steps on one line, done ones filled, what comes next ringed in navy, on the page ground: a household's path through a
   sequence. The steps share the width equally, however many there are; on a phone they wrap. */
.k-datestrip { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); border-top: 1.5px solid var(--control-strong); }
.k-datestrip > div { position: relative; padding: 14px 10px 0 0; display: flex; flex-direction: column; gap: 2px; font-size: var(--fs-small); min-width: 0; }
.k-datestrip > div::before { content: ''; position: absolute; left: 0; top: -6px; width: 10px; height: 10px; border-radius: 50%; box-sizing: border-box;
  background: var(--surface); border: 2px solid var(--control-strong); }
.k-datestrip > div.done::before { background: var(--olive); border-color: var(--olive); }
.k-datestrip > div[aria-current]::before { background: var(--navy); border-color: var(--navy); box-shadow: var(--focus-ring); }
.k-datestrip > div > b { font-weight: 600; font-variant-numeric: tabular-nums; }
.k-datestrip > div > small { color: var(--text-3); font-size: var(--fs-label); }
.k-datestrip > div.done > b, .k-datestrip > div.done > span { color: var(--text-2); }
/* A card body in a focus section sits on the section's surface, so it takes the same 16px inset the kit gives a focus card's rows
   (the open-section rule strips a card body's inset for cards on the ground). */
.k-open section:is([data-state="focus"], [data-state="queue"]) > .k-card > .k-card-body { padding-inline: 16px; }

/* Page layout: the list's tables. The numbers step out on a phone; the name's second line carries them. */
.k-seq-list { --cols: minmax(0, 1.6fr) 84px 92px 92px 104px 104px; --cols-phone: minmax(0, 1fr) 76px 64px; }
.k-seq-list .k-tr > .k-r { white-space: nowrap; }
.k-seq-hh { --cols: minmax(0, 1.4fr) minmax(0, 1.2fr) 92px 92px 92px 160px; --cols-phone: minmax(0, 1fr) auto; }
.k-seq-hh .k-tr > .k-seq-acts { display: flex; justify-content: flex-end; gap: 6px; overflow: visible; }
.k-seq-hh .k-seq-acts form, .k-seq-in .k-menu form, .k-seq-hh .k-menu form { margin: 0; display: contents; }
.k-seq-out, .k-seq-add { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 8px; }
.k-seq-out > .k-input { flex: 1 1 220px; min-width: 0; }
.k-seq-out > .k-grow, .k-seq-add > .k-grow { flex: 1 1 0; }
/* Add to a sequence (SQ-022): the sequence takes the line; the buttons keep to their width. */
.k-seq-add > :is(.k-select, .k-choose) { flex: 1 1 220px; min-width: 0; }
.k-seq-add > .k-btn { flex: none; }
.k-seq-adding > .k-callout.warn { margin: 0 0 8px; }
/* The needs-you rows' right side: a button or a link, kept to its own width. */
.k-seq-needs .k-row > :is(.k-btn, .k-link) { flex: none; }

/* The flow page: the facts band reads in one line; the flow takes the list column's height and scrolls inside it. */
.k-seq-flow-page .k-band .k-fact > b { white-space: normal; }
.k-seq-flow-page .k-work-list { background: var(--ground); }
.k-seq-flow-page form { margin: 0; }
.k-seq-flow-page .k-pagebar-actions form, .k-seq-flow-page .k-menu form, .k-seq-flow-page .k-panel-foot form { display: contents; }
.k-seq-flow-page .k-panel > form { display: flex; flex-direction: column; min-height: 0; flex: 1 1 auto; }
.k-seq-flow-page textarea.k-textarea { width: 100%; resize: vertical; }
.k-seq-flow-page .k-panel-body { overflow-y: auto; flex: 1 1 auto; }
.k-seq-flow-page .k-prow > .k-select, .k-seq-flow-page .k-prow > .k-input { min-width: 0; }
.k-seq-flow-page .k-prow > .k-sentence { grid-column: 2; }
.k-seq-flow-page .k-flow-link > .k-picker > .k-menu form > .k-option { width: 100%; }
/* A problem the launch check found, under the step it is about. */
.k-seq-problem { width: 272px; max-width: 100%; box-sizing: border-box; margin-top: 6px; }
/* The email as the renderer draws it, in a frame: the email's own HTML. */
.k-seq-mail { width: 100%; height: 520px; border: 1px solid var(--line); border-radius: var(--r-control); background: var(--surface); }
/* The preview page's frame takes the height the window gives it. */
.k-seq-mail.full { height: calc(100vh - 230px); min-height: 520px; }
/* A branch's way in the panel: its fields, then the buttons that remove it or move it. */
.k-seq-way .k-seq-way-acts { display: flex; align-items: center; gap: 6px; margin-top: 8px; }
.k-seq-way .k-seq-way-acts > .k-grow { flex: 1 1 auto; }
/* A wait's length: days, or until a date; the one not chosen is hidden. */
.k-seq-wait:has(select[name="mode"] option[value="days"]:checked) .k-seq-until { display: none; }
.k-seq-wait:has(select[name="mode"] option[value="until"]:checked) .k-seq-days { display: none; }
.k-seq-days, .k-seq-until { display: inline-flex; flex-wrap: wrap; gap: 6px 8px; align-items: center; }
.k-seq-days .k-input.num { width: 64px; flex: none; }
.k-seq-forms { display: flex; flex-direction: column; gap: 6px; }
.k-seq-recent { --cols: minmax(0, 1fr) 64px; --cols-phone: minmax(0, 1fr) 64px; margin-top: 8px; }

/* The record: In sequences and What they sent us. */
.k-seq-in .k-card-body + .k-card-body { border-top: 1px solid var(--line-soft); padding-top: 14px; }
.k-seq-in .k-inline { display: flex; width: 100%; }
.k-seq-in .k-inline > :first-child { overflow: visible; white-space: normal; }
.k-seq-in .k-inline { flex-wrap: wrap; row-gap: 8px; }
.k-seq-in .k-inline > .k-grow { flex: 1 1 200px; min-width: 0; }
.k-seq-in .k-menu form > .k-option { width: 100%; }
.k-seq-strip-wrap { padding-top: 6px; }
.k-seq-sent .k-table { --cols: 220px minmax(0, 1fr); --cols-phone: minmax(0, 1fr) minmax(0, 1fr); }
.k-seq-sent .k-tr > span { white-space: normal; }

/* Results: the figures band, the goal-met chart (hidden on a phone, where the figures and the step rows are the page) and the
   per-step table, a branch's ways indented under it. */
.k-seq-results { --cols: minmax(0, 1.6fr) 104px 72px 72px 84px 72px 104px 92px; --cols-phone: minmax(0, 1fr) 96px; }
.k-seq-results > .k-tr > .k-r > b { font-weight: 400; }
.k-seq-results > .k-tr.k-seq-under { background: var(--quiet); }
.k-seq-results > .k-tr.k-seq-under > :first-child { padding-left: 22px; }
.k-seq-results .k-tr > .k-two.k-r { align-items: flex-end; }
.k-seq-results .k-tr > .k-two.k-r > small.k-narrow { white-space: nowrap; }
.k-seq-figures > .k-figure > small { color: var(--text-3); }
.k-seq-chart { padding-bottom: 8px; }
.k-seq-chart > .k-svgchart { max-width: 1100px; }

/* A phone: the flow is read-only (no panel, no Add a step), the strip wraps when it has many steps. */
@media (max-width: 640px) {
  .k-flow { padding: 16px 12px 28px; }
  .k-seq-flow-page .k-work { flex-direction: column; }
  .k-seq-flow-page .k-panel, .k-seq-flow-page .k-flow-link > .k-picker, .k-seq-flow-page .k-pagebar-actions { display: none; }
  .k-seq-flow-page .k-band { flex-wrap: wrap; overflow: visible; }
  .k-seq-in .k-inline { flex-wrap: wrap; }
  .k-seq-in .k-seq-strip { padding-top: 8px; }
  /* The strip wraps onto more rows, each step keeping its own rule and dot; it never scrolls sideways. */
  .k-datestrip { grid-auto-flow: row; grid-auto-columns: auto; grid-template-columns: repeat(auto-fill, minmax(88px, 1fr)); border-top: 0; row-gap: 16px; }
  .k-datestrip > div { border-top: 1.5px solid var(--control-strong); }
  .k-seq-chart-section { display: none; }
  /* A branch's ways stack in one box under the question, each way's label above its step; the joining rules go. */
  .k-flow-split { grid-template-columns: minmax(0, 1fr); gap: 4px; width: auto; max-width: 100%; padding: 8px; border: 1.5px solid var(--control-strong); border-radius: var(--r-card); box-sizing: border-box; }
  .k-flow-split::before, .k-flow-split.rejoin::after { display: none; }
  .k-flow-split > div { padding: 0; }
  .k-flow-split > div > .k-flow-link::before { display: none; }
  .k-flow-split > div > .k-flow-link.fill { display: none; }
  .k-flow-split > div > .k-flow-link { min-height: 0; justify-content: flex-start; }
  .k-flow-split > div > .k-flow-node { width: 100%; }
  .k-seq-in .k-seq-wd { display: none; }
  .k-seq-in .k-datestrip > div > span { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
  .k-seq-in .k-datestrip > div > small { display: none; }
}

.k-seq-hh .k-tr.k-seq-outrow { grid-template-columns: minmax(0, 1fr); padding-block: 8px; }
.k-seq-out > .k-select { min-width: 180px; }
/* Emails on the prospect record: what follows the person, then whether it may go. */
.k-seq-emails .k-table { --cols: minmax(0, 1fr) auto; --cols-phone: minmax(0, 1fr) auto; }

/* Sign-in, the shared block (UI-073 stage 11): the client portal's sign-in pages: the brand side (the firm's mark, its
   three-colour rule, Private to you and the firm) and the card (Sign in, Signed out, a refused address, Not saved, Not
   available), on Angelus and on a firm's own address (Blanchard CPA). The markup is the pages' own (client-sign-in.js page and
   signInForm); its root is .k-kit.k-si on the frame. Every rule is the portal's own for these parts, re-rooted here in the kit's
   tokens (the bar's colours through kit/portal.css's bridges), so the pages and a board draw the same look from this file. The
   resets keep their place under the rest (@layer k-si-base); the portal's component rules come first.
   A width rule is written twice: for the window (the portal) and for a frame (@container k-si-frame, a phone board). */
@layer k-si-base;
.k-si { --k-si-inset: 16px; --k-si-action: 96px; font-family: inherit; font-size: 13px; line-height: 1.55; color: var(--text); }
@media (max-width: 700px) { .k-si { --k-si-action: 84px; } }
@container k-si-frame (max-width: 700px) { .k-si { --k-si-action: 84px; } }
@media (max-width: 560px) { .k-si { --k-si-inset: 12px; } }
@container k-si-frame (max-width: 560px) { .k-si { --k-si-inset: 12px; } }
/* A link reads as its words unless a rule below colours it (the portal's own base); outside the base layer, so a board's kit link colour does not reach it. */
.k-si a { color: inherit; text-decoration: none; }
@layer k-si-base {
:where(.k-si), :where(.k-si) *, :where(.k-si) ::before, :where(.k-si) ::after { box-sizing: border-box; border-width: 0; border-style: solid; }
:where(.k-si) :is(h1, h2, h3, p, ul, ol, dl, dd, fieldset) { margin: 0; }
:where(.k-si) :is(ul, ol) { list-style: none; padding: 0; }
:where(.k-si) :is(fieldset, legend) { padding: 0; }
:where(.k-si) :is(button, input, select, textarea) { font: inherit; color: inherit; }
:where(.k-si) button { cursor: pointer; background: transparent; }
:where(.k-si) a { color: inherit; text-decoration: none; text-underline-offset: .2em; }
:where(.k-si) :is(img, svg) { display: block; max-width: 100%; }
:where(.k-si) :is(h1, h2, h3) { font: inherit; }

}
.k-si h1 { font-family: var(--font-serif); }
.sign-in-brand.k-si, .k-si .sign-in-brand { position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:20px;padding:48px 56px;background:var(--pk-bar, var(--ink));color:var(--pk-bar-text, var(--ink-text)); }
.k-si .sign-in-rule { position:absolute;top:0;right:0;bottom:0;width:4px;display:grid;grid-template-rows:repeat(3,1fr); }
.k-si .sign-in-rule i:nth-child(1) { background:var(--pk-tri-1, var(--navy)); }
.k-si .sign-in-rule i:nth-child(2) { background:var(--pk-tri-2, var(--terra)); }
.k-si .sign-in-rule i:nth-child(3) { background:var(--pk-tri-3, var(--olive)); }
.k-si .sign-in-logo { display:block;width:150px;height:auto; }
.k-si .sign-in-wordmark { margin:0;font-size:28px;font-weight:300;line-height:1.2;letter-spacing:-.01em;color:var(--pk-bar-brand, var(--ink-brand)); }
.k-si .sign-in-wordmark strong { font-weight:800;color:var(--pk-bar-brand, var(--ink-brand)); }
.sign-in-shell.k-si, .k-si .sign-in-shell { display:grid;grid-template-columns:minmax(0,1fr);align-content:center;justify-items:center;min-width:0;padding:48px 24px; }
.k-si .sign-in-card { width:100%;max-width:400px;min-width:0;display:grid;grid-template-columns:minmax(0,1fr);gap:8px; }
.k-si .sign-in-card h1 { margin:0 0 6px;font-family:var(--font-serif);font-size:40px;font-weight:400;line-height:1.05;letter-spacing:-.01em;color:var(--text);text-wrap:balance; }
.k-si .sign-in-lede { color:var(--text-2);font-size:14.5px;line-height:1.55; }
.k-si .sign-in-form { display:grid;gap:8px;margin-top:12px; }
.k-si .sign-in-form label { font-weight:500;font-size:13px;color:var(--text-2); }
.k-si .sign-in-form input { display:block;width:100%;min-height:46px;padding:8px 12px;font-size:1rem;background:var(--surface);border:1px solid var(--control);border-radius:8px;color:var(--text);transition:border-color 120ms cubic-bezier(.2, .7, .2, 1); }
.k-si .sign-in-form input:focus { outline:none;border-color:var(--navy);box-shadow:0 0 0 3px var(--navy-tint); }
.k-si .sign-in-button { min-height:46px;margin-top:6px;border:0;border-radius:8px;background:var(--navy);color:var(--on-dark);font-weight:500;font-size:15px;transition:background 120ms cubic-bezier(.2, .7, .2, 1); }
.k-si .sign-in-button:hover { background:var(--navy-hover); }
.k-si .sign-in-help { font-size:13px;color:var(--text-3);margin-top:8px; }
.k-si .sign-in-form textarea { display:block;width:100%;padding:8px 12px;font:inherit;font-size:1rem;background:var(--surface);border:1px solid var(--control);border-radius:8px;color:var(--text);resize:vertical; }
.k-si .sign-in-form textarea:focus { outline:none;border-color:var(--navy);box-shadow:0 0 0 3px var(--navy-tint); }
.k-si .file-box-drop { position:relative;display:grid;place-items:center;min-height:132px;padding:16px 12px;border:2px dashed var(--control);border-radius:8px;background:var(--surface);text-align:center;transition:border-color 120ms cubic-bezier(.2, .7, .2, 1),background 120ms cubic-bezier(.2, .7, .2, 1); }
.k-si .file-box-drop:hover, .k-si .file-box-drop.is-over { border-color:var(--navy);background:var(--navy-tint); }
.k-si .file-box-drop:focus-within { border-color:var(--navy);box-shadow:0 0 0 3px var(--navy-tint); }
.k-si .sign-in-form .file-box-input { position:absolute;inset:0;width:100%;height:100%;min-height:0;padding:0;border:0;opacity:0;cursor:pointer; }
.k-si .file-box-drop-text { display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;margin:0;color:var(--text-2);font-size:12px; }
.k-si .file-box-choose { display:inline-flex;align-items:center;min-height:40px;padding:0 12px;border:1px solid var(--navy);border-radius:8px;background:var(--surface);color:var(--navy);font-weight:650;font-size:1rem; }
.k-si .file-box-drop:hover .file-box-choose, .k-si .file-box-drop.is-over .file-box-choose { background:var(--navy);color:var(--on-dark); }
@media (hover:none) { .k-si .file-box-drag { display:none; } }
@media (hover:none) { .k-si .file-box-drop { min-height:0; } }
.k-si .file-box-limits { margin:calc(-1 * 6px) 0 0;font-size:12px;color:var(--text-3); }
.k-si .file-box-picked { display:grid;gap:6px;margin:0;padding:0;list-style:none; }
.k-si .file-box-picked li { display:flex;align-items:center;gap:8px;min-height:40px;padding:6px 6px 6px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface); }
.k-si .file-box-name { flex:1;min-width:0;overflow-wrap:anywhere;font-size:12px;color:var(--text); }
.k-si .file-box-size { flex:none;font-size:12px;color:var(--text-3);font-variant-numeric:tabular-nums; }
.k-si .file-box-remove { flex:none;min-height:36px;padding:0 8px;border:0;border-radius:8px;background:none;color:var(--navy);font-weight:600;font-size:12px;cursor:pointer; }
.k-si .file-box-remove:hover { text-decoration:underline;text-underline-offset:3px; }
.k-si .file-box-remove:focus-visible { outline:3px solid var(--navy-tint);outline-offset:1px; }
.k-si .file-box-website { position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden; }
.k-si .file-box-received { margin-top:16px; }
.k-si .file-box-received li { padding-left:8px; }
.k-si .file-box-done { flex:none;width:20px;height:20px; }
.k-si .file-box-done circle { fill:var(--olive-tint); }
.k-si .file-box-done path { fill:none;stroke:var(--olive);stroke-width:2;stroke-linecap:round;stroke-linejoin:round; }
.k-si .file-box-received+.file-box-limits { margin:12px 0 0; }
.k-si .file-box-again { display:flex;align-items:center;justify-content:center;min-height:50px;margin-top:16px;border:1px solid var(--navy);border-radius:8px;background:var(--surface);color:var(--navy);font-weight:650;font-size:1rem;text-decoration:none;transition:background 120ms cubic-bezier(.2, .7, .2, 1),color 120ms cubic-bezier(.2, .7, .2, 1); }
.k-si .file-box-again:hover { background:var(--navy);color:var(--on-dark); }
.k-si .file-box-again:focus-visible { outline:3px solid var(--navy-tint);outline-offset:2px; }
.k-si .sign-in-notice { padding:8px 12px;border-radius:8px;background:var(--terra-tint);color:var(--text);font-size:12px; }
.k-si .sign-in-link { justify-self:start;margin-top:12px;font-weight:600;color:var(--navy);text-decoration:underline;text-underline-offset:3px; }
.k-si .sign-in-choices { display:grid;gap:8px;margin-top:16px; }
.k-si .sign-in-choices a { display:flex;align-items:center;min-height:50px;padding:8px 12px;border:1px solid var(--line);border-radius:8px;font-weight:600; }
.k-si .sign-in-choices a:hover { border-color:var(--navy); }
.k-si .sign-in-foot { margin:0;font-size:13px;color:var(--pk-bar-muted, var(--ink-muted)); }
@media (max-width:760px) { .sign-in-brand.k-si, .k-si .sign-in-brand { padding:28px 24px 26px; } }
@container k-si-frame (max-width:760px) { .sign-in-brand.k-si, .k-si .sign-in-brand { padding:28px 24px 26px; } }
@media (max-width:760px) { .k-si .sign-in-logo { width:118px; } }
@container k-si-frame (max-width:760px) { .k-si .sign-in-logo { width:118px; } }
@media (max-width:760px) { .k-si .sign-in-wordmark { font-size:22px; } }
@container k-si-frame (max-width:760px) { .k-si .sign-in-wordmark { font-size:22px; } }
@media (max-width:760px) { .k-si .sign-in-foot { display:none; } }
@container k-si-frame (max-width:760px) { .k-si .sign-in-foot { display:none; } }
@media (max-width:760px) { .k-si .sign-in-rule { top:auto;left:0;width:auto;height:4px;grid-template-rows:none;grid-template-columns:repeat(3,1fr); } }
@container k-si-frame (max-width:760px) { .k-si .sign-in-rule { top:auto;left:0;width:auto;height:4px;grid-template-rows:none;grid-template-columns:repeat(3,1fr); } }
@media (max-width:760px) { .sign-in-shell.k-si, .k-si .sign-in-shell { align-content:start;justify-items:stretch;padding:28px 24px; } }
@container k-si-frame (max-width:760px) { .sign-in-shell.k-si, .k-si .sign-in-shell { align-content:start;justify-items:stretch;padding:28px 24px; } }
@media (max-width:760px) { .k-si .sign-in-card h1 { font-size:34px; } }
@container k-si-frame (max-width:760px) { .k-si .sign-in-card h1 { font-size:34px; } }
.k-si a.sign-in-button { display:flex;align-items:center;justify-content:center;margin-top:12px;text-decoration:none; }
.k-si .portal-overview-action-register li :is(button,input,select,textarea,summary,label,form,a:not(.portal-overview-register-copy>strong>a)) { position:relative;z-index:1; }
.k-si .portal-eyebrow { margin:0 0 6px;color:var(--sand);font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase; }
.k-si .portal-eyebrow { font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--pk-label, var(--text-2)); }

/* The block's own rules (not copies of the portal's). Check your email (the PortalPhoneSignIn board, Sonny 10/1): a mail tile
   in place of the kicker, then at the card's end Send it again (a quiet button) and Use a different email; on a phone those
   two sit at the foot of the screen. */
.k-si .sign-in-tile { display: grid; place-items: center; width: 44px; height: 44px; margin: 0 0 8px; border-radius: 12px; background: var(--navy-tint); color: var(--navy); }
.k-si .sign-in-tile > svg { width: 22px; height: 22px; }
.k-si .sign-in-actions { display: grid; gap: 12px; justify-items: center; margin-top: 20px; }
.k-si .sign-in-again { width: 100%; }
.k-si .sign-in-again .sign-in-button { width: 100%; margin: 0; border: 1px solid var(--control); background: var(--surface); color: var(--text); }
.k-si .sign-in-again .sign-in-button:hover { background: var(--ground); }
.k-si .sign-in-actions .sign-in-link { justify-self: center; margin: 0; text-decoration: none; font-weight: 500; }
@media (max-width: 760px) {
  .sign-in-shell.k-si:has(.sign-in-actions) { align-content: stretch; }
  .k-si .sign-in-card:has(> .sign-in-actions) { grid-template-rows: auto auto auto auto 1fr; }
  .k-si .sign-in-card > .sign-in-actions { align-self: end; }
}
@container k-si-frame (max-width: 760px) {
  .sign-in-shell.k-si:has(.sign-in-actions) { align-content: stretch; }
  .k-si .sign-in-card:has(> .sign-in-actions) { grid-template-rows: auto auto auto auto 1fr; }
  .k-si .sign-in-card > .sign-in-actions { align-self: end; }
}
/* A notice reads at the page's own size, a long email breaks where it must and the words around it do not; between a phone
   and a computer the card stays centred (UI-044's walk, 10/1). */
.k-si .sign-in-notice { font-size: 13px; overflow-wrap: break-word; }
.k-si .sign-in-email { overflow-wrap: anywhere; }
@media (max-width: 760px) { .k-si .sign-in-card { justify-self: center; } }
@container k-si-frame (max-width: 760px) { .k-si .sign-in-card { justify-self: center; } }

/* Statements on a letter page (CA-042, Phase 4; drawn by app/ledger/business-statement.js, the boards StatementBalanceSheet and StatementIncome).
   A statement as an accountant sets it out: a centred heading block (entity, statement, period), no row hairlines, detail rows indented, a
   single rule over subtotals, a double rule under grand totals, nil as a dash. The $ sign is written on the first row and on totals by the
   page, not by the stylesheet. Rows: .k-st-gh the column heads, .k-st-grp a group heading, .k-st-ind an indented detail row, .k-st-sub a
   subtotal, .k-st-tot a grand total, td.k-st-nil a nil. A table of four columns or more takes .wide. */
.k-stm-head { text-align: center; margin: 2px 0 14px; }
.k-stm-head b { display: block; font-size: 13px; font-weight: 600; line-height: 1.45; }
.k-stm-head span { display: block; font-size: 11.5px; color: var(--text-2); line-height: 1.45; }
.k-st { width: 100%; border-collapse: collapse; font-size: 11.5px; font-variant-numeric: tabular-nums; }
.k-st + p { margin-top: 8px; }
.k-st td { padding: 2px 0 2px 14px; text-align: right; white-space: nowrap; vertical-align: bottom; border: 0; }
.k-st td:first-child { text-align: left; padding-left: 0; white-space: normal; width: 40%; }
.k-st tr.k-st-gh td { font-size: 10.5px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: var(--text-3); padding-bottom: 5px; border-bottom: 1px solid var(--text); }
.k-st tr.k-st-grp td:first-child { font-weight: 600; padding-top: 10px; }
.k-st tr.k-st-ind td:first-child { padding-left: 16px; }
.k-st tr.k-st-sub td:not(:first-child) { border-top: 1px solid var(--text); }
.k-st tr.k-st-tot td { font-weight: 600; padding-top: 4px; }
.k-st tr.k-st-tot td:not(:first-child) { border-top: 1px solid var(--text); border-bottom: 3px double var(--text); }
.k-st td.k-st-nil { color: var(--text-3); }
.k-st.wide td:first-child { width: 28%; }
.k-st ~ .k-stm-head { margin-top: 26px; }
/* The aging bar on the data palette (UI-133): each bucket its own series colour, Current visible, nothing in terra. */
.k-agebar.data > .k-age-0 { background: var(--d1, #3568A0); } .k-agebar.data > .k-age-1 { background: var(--d3, #21A390); } .k-agebar.data > .k-age-2 { background: var(--d2, #CA9830); }
.k-agebar.data > .k-age-3 { background: var(--d5, #804C88); } .k-agebar.data > .k-age-4 { background: var(--d6, #709B4A); }
/* The phone's reading of a report (renderPhone): the note, the totals of each statement, the aging as bars; every line stays on the letter pages, scrolling in their own box.
   No style attribute (the portal's CSP): a bar's width is a class in steps of 5%. */
.k-stm-phone { display: block; max-width: 760px; margin: 0 0 8px; }
.k-stm-charts { display: grid; gap: 14px; margin: 0 0 18px; }
.k-stm-copy { max-width: 760px; margin: 26px 0 10px; font-size: 13px; font-weight: 600; color: var(--text-2); }
@media print { .k-stm-phone, .k-stm-read .portal-page-head, .k-stm-copy, .tcr-tools { display: none; } }
.k-stm-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 9px 14px; font-size: 13px; }
.k-stm-row + .k-stm-row { border-top: 1px solid var(--line); }
.k-stm-row.k-stm-age { grid-template-columns: 104px minmax(0, 1fr) 96px; }
.k-stm-phone > section { margin-bottom: 18px; }
/* Jump chips and a period switch scroll inside their own row; the foot holds Print and Ask (CP-215). */
.k-stm-jump, .k-stm-period { margin: 0 0 12px; }
.k-stm-period { max-width: 100%; overflow-x: auto; scrollbar-width: none; }
.k-stm-foot { display: flex; flex-wrap: wrap; gap: 8px; padding: 4px 0 2px; }
/* The portal's Statements list (CP-214): the newest report with its figures, then the earlier months. */
.k-stm-list { display: grid; gap: 18px; max-width: 640px; }
.k-stm-list > section .k-card-foot { display: flex; padding: 12px 14px; border-top: 1px solid var(--line); }
@media (max-width: 700px) {
  .k-stm-pages > div { padding: 12px 0; align-items: flex-start; }
}
.k-agebar > .k-w0 { --w: 0%; } .k-agebar > .k-w5 { --w: 5%; } .k-agebar > .k-w10 { --w: 10%; } .k-agebar > .k-w15 { --w: 15%; } .k-agebar > .k-w20 { --w: 20%; } .k-agebar > .k-w25 { --w: 25%; } .k-agebar > .k-w30 { --w: 30%; } .k-agebar > .k-w35 { --w: 35%; } .k-agebar > .k-w40 { --w: 40%; } .k-agebar > .k-w45 { --w: 45%; } .k-agebar > .k-w50 { --w: 50%; } .k-agebar > .k-w55 { --w: 55%; } .k-agebar > .k-w60 { --w: 60%; } .k-agebar > .k-w65 { --w: 65%; } .k-agebar > .k-w70 { --w: 70%; } .k-agebar > .k-w75 { --w: 75%; } .k-agebar > .k-w80 { --w: 80%; } .k-agebar > .k-w85 { --w: 85%; } .k-agebar > .k-w90 { --w: 90%; } .k-agebar > .k-w95 { --w: 95%; } .k-agebar > .k-w100 { --w: 100%; }
/* The report page's header: the title keeps its line; the page tabs take the squeeze. */
.k-stm-page .k-head-row > .k-title { white-space: nowrap; }
.k-stm-page .k-head-row > .k-seg button { padding-left: 9px; padding-right: 9px; }

/* The structure chart, the shared block (markup from structure.js; proposed Nov 6, family office Know boards). Kit tokens only.
   Every gap the chart needs is set here or in structure.js, once: no page adds a margin to the chart, its head or its key. */
.k-sc { position: relative; background: var(--surface); border-radius: var(--r-card); box-shadow: 0 0 0 1px var(--line); overflow: hidden; }
.k-sc-svg { display: block; width: 100%; height: auto; }
.k-sc-svg text { font-family: var(--font); font-variant-numeric: tabular-nums; font-size: 13px; fill: var(--text-2); }
.k-sc-hh { fill: var(--quiet); stroke: var(--line); stroke-width: 1; }
.k-sc-hh.on { fill: var(--hl-tint); stroke: var(--hl); stroke-width: 1.5; }
.k-sc-hh-name { font-size: 12px !important; font-weight: 600; fill: var(--text-3) !important; letter-spacing: .02em; }
.k-sc-person { fill: var(--ink); }
.k-sc-person-name { fill: var(--surface) !important; font-weight: 600; font-size: 15px !important; }
.k-sc-person-sub { fill: var(--ink-text) !important; font-size: 12px !important; }
.k-sc-ring { fill: none; stroke: var(--navy); stroke-width: 2.5; }
.k-sc-plate { fill: var(--sand-wash); stroke: var(--sand-dot); stroke-width: 1.25; }
.k-sc-plate.on { stroke: var(--navy); stroke-width: 2.5; }
.k-sc-plate.ended { fill: var(--surface); stroke: var(--control); stroke-dasharray: 2 3; }
.k-sc-gap { fill: var(--surface); stroke: var(--control-strong); stroke-width: 1.25; stroke-dasharray: 5 4; }
.k-sc-draft { fill: var(--navy-wash); stroke: var(--navy); stroke-width: 1.5; stroke-dasharray: 5 4; }
.k-sc-name { font-weight: 600; fill: var(--text) !important; }
.k-sc-sub { fill: var(--text-3) !important; font-size: 12px !important; }
.k-sc-muted { fill: var(--text-4) !important; }
.k-sc-amt { font-weight: 600; fill: var(--text) !important; }
.k-sc-roll { fill: var(--surface); stroke: var(--line); stroke-width: 1; }
.k-sc-roll-l { font-size: 11.5px !important; fill: var(--text-4) !important; }
.k-sc-pill { fill: var(--surface); stroke: var(--control); stroke-width: 1; }
.k-sc-pill-t { font-size: 12px !important; font-weight: 600; fill: var(--text) !important; }
.k-sc-ctl-pill { fill: var(--navy-wash); stroke: var(--navy-line); stroke-width: 1; }
.k-sc-ctl-t { font-size: 12px !important; font-weight: 500; fill: var(--navy) !important; }
.k-sc-ben-t { font-size: 12px !important; fill: var(--text-3) !important; }
.k-sc-e { fill: none; stroke-linecap: round; stroke-linejoin: round; }
.k-sc-e.equity { stroke: var(--text-4); stroke-width: 1.75; }
.k-sc-e.control { stroke: var(--navy); stroke-width: 1.75; stroke-dasharray: 1.5 4.5; }
.k-sc-e.beneficial { stroke: var(--text-5); stroke-width: 1.5; stroke-dasharray: 6 5; }
.k-sc-e.kin { stroke: var(--control-strong); stroke-width: 1.25; }
.k-sc-e.gap { stroke: var(--control-strong); stroke-width: 1.25; stroke-dasharray: 3 4; }
.k-sc-e.draft { stroke: var(--navy); stroke-width: 1.5; stroke-dasharray: 5 4; }
.k-sc-dot { fill: var(--text-4); }
.k-sc-dot.control { fill: var(--navy); }

/* The key under the chart is the kit's legend, spaced as the kit spaces a chart's (.k-svgchart + .k-legend), with a line sample
   for each kind instead of a swatch. */
.k-sc + .k-legend { margin-top: 10px; flex-wrap: wrap; row-gap: 6px; }
.k-legend > span > .k-sc-line { width: 28px; height: 10px; flex: none; }

/* The head is the kit's section head: the trail (the kit's breadcrumb, which drops its page-top margin here) and the zoom. */
.k-sc-head .k-breadcrumb { margin: 0; }
.k-sc-zoom { display: inline-flex; flex: none; gap: 4px; }
.k-sc-zoom > [data-zoom="fit"] { min-width: 52px; justify-content: center; font-variant-numeric: tabular-nums; }

/* Taxes, the shared block (UI-073 stage 6): the client's Taxes page (each open return, the year in progress with its
   estimates, how to pay and what is kept, earlier years) and a return's own page (where it stands, what it needs and what
   came in, who prepares it, what was kept during the year). The markup is Taxes' own (client-tax-season.js,
   client-tax-payments.js, client-tax-year.js); its root is .k-kit.k-tx on the page's head and on its body. Every rule is
   the portal's own for these parts, re-rooted here in the kit's tokens, so the page and a board draw the same look from this
   file. The resets keep their place under the rest (@layer k-tx-base); the portal's component rules come first, so its other
   rules win where they meet, as they do on the portal. A return package and an e-signature (the Tax project's) keep their
   own stylesheets.
   A width rule is written twice: for the window (the portal) and for a frame (@container k-tx-frame, a phone board). */
@layer k-tx-base;
.k-tx { --k-tx-inset: 16px; --k-tx-action: 96px; font-family: inherit; font-size: 13px; line-height: 1.55; color: var(--text); }
@media (max-width: 700px) { .k-tx { --k-tx-action: 84px; } }
@container k-tx-frame (max-width: 700px) { .k-tx { --k-tx-action: 84px; } }
@media (max-width: 560px) { .k-tx { --k-tx-inset: 12px; } }
@container k-tx-frame (max-width: 560px) { .k-tx { --k-tx-inset: 12px; } }
/* A link reads as its words unless a rule below colours it (the portal's own base); outside the base layer, so a board's kit link colour does not reach it. */
.k-tx a { color: inherit; text-decoration: none; }
@layer k-tx-base {
:where(.k-tx), :where(.k-tx) *, :where(.k-tx) ::before, :where(.k-tx) ::after { box-sizing: border-box; border-width: 0; border-style: solid; }
:where(.k-tx) :is(h1, h2, h3, p, ul, ol, dl, dd, fieldset) { margin: 0; }
:where(.k-tx) :is(ul, ol) { list-style: none; padding: 0; }
:where(.k-tx) :is(fieldset, legend) { padding: 0; }
:where(.k-tx) :is(button, input, select, textarea) { font: inherit; color: inherit; }
:where(.k-tx) button { cursor: pointer; background: transparent; }
:where(.k-tx) a { color: inherit; text-decoration: none; text-underline-offset: .2em; }
:where(.k-tx) :is(img, svg) { display: block; max-width: 100%; }
:where(.k-tx) :is(h1, h2, h3) { font: inherit; }

}
.portal-page-head.k-tx, .k-tx .portal-page-head { display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px; }
.portal-page-head.k-tx h1, .k-tx .portal-page-head h1 { margin-top: 4px;
    color: var(--text);
    font-family: var(--font), ui-sans-serif, system-ui, sans-serif;
    font-size: 28px;
    font-weight: 800;
    letter-spacing: -.035em;
    line-height: 1.08; }
@media (max-width: 39.9375rem) { .portal-page-head.k-tx, .k-tx .portal-page-head { align-items: start; } }
@container k-tx-frame (max-width: 39.9375rem) { .portal-page-head.k-tx, .k-tx .portal-page-head { align-items: start; } }
.k-tx .portal-overview-panel { overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface); }
.k-tx .portal-overview-action-register { border-top: 0; }
.k-tx .portal-overview-action-register li { display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  min-height: 56px;
  padding: 8px var(--k-tx-inset);
  border-top: 1px solid var(--line-soft);
  background: var(--surface);
  transition: background 120ms cubic-bezier(.2, .7, .2, 1); }
.k-tx .portal-overview-action-register li:hover { background: var(--ground); }
.k-tx .portal-overview-register-copy strong, .k-tx .portal-overview-register-copy small { display: block; }
.k-tx .portal-overview-register-copy strong { color: var(--text);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.3; }
.k-tx .portal-overview-register-copy small { margin-top: 2px;
  overflow: hidden;
  color: var(--text-3);
  font-size: 12.5px;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap; }
.k-tx .portal-overview-action-register a, .k-tx .portal-overview-text-link { color: var(--navy);
  font-size: 13.5px;
  font-weight: 500;
  text-decoration: none; }
.k-tx .portal-overview-action-register a:hover, .k-tx .portal-overview-text-link:hover { text-decoration: underline; text-underline-offset: 3px; }
.k-tx .portal-overview-panel { overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: var(--surface); }
.k-tx .portal-overview-section-title { display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px var(--k-tx-inset) 8px; }
.k-tx .portal-overview-section-title h2 { color: var(--text);
    font-size: 14.5px;
    font-weight: 600;
    letter-spacing: 0;
    line-height: 1.3; }
.k-tx .portal-overview-row-action { min-height: 34px;
    display: inline-flex;
    align-items: center;
    border: 1px solid var(--control);
    border-radius: 8px;
    background: var(--surface);
    color: var(--text);
    padding: 0 12px;
    font-size: 13.5px;
    font-weight: 500;
    text-decoration: none; }
.k-tx .portal-overview-row-action:hover { border-color: var(--text-5); background: var(--ground); }
.k-tx .portal-overview-row-action.is-primary { border-color: var(--navy); background: var(--navy); color: var(--on-dark); }
.k-tx .portal-overview-row-action.is-primary:hover { border-color: var(--navy-hover); background: var(--navy-hover); color: var(--on-dark); }
.k-tx :is(.portal-overview-action-register, .portal-overview-panel li, .pcard-rows li) .portal-overview-row-action.is-primary { border-color: var(--control); background: var(--surface); color: var(--text); }
.k-tx :is(.portal-overview-action-register, .portal-overview-panel li, .pcard-rows li) .portal-overview-row-action.is-primary:hover { border-color: var(--text-5); background: var(--ground); }
/* A return's own row on Taxes: its one thing to do is the page's main button (Add documents, Sign, Read your Tax Year Review). */
.k-tx li.tx-open-row .portal-overview-row-action.is-primary { border-color: var(--navy); background: var(--navy); color: var(--on-dark); }
.k-tx li.tx-open-row .portal-overview-row-action.is-primary:hover { border-color: var(--navy-hover); background: var(--navy-hover); color: var(--on-dark); }
.k-tx h1 { font-family: var(--font-serif); }
.k-tx .portal-overview-register-copy { min-width:0; }
.k-tx .proto-request-list>li { position:relative; }
.k-tx .proto-request-list .portal-overview-register-copy small { white-space:normal;overflow:visible; }
.k-tx .proto-status { font-size:12px;color:var(--text-2); }
.k-tx .proto-status[data-state=needed] { color:var(--terra); }
.k-tx .portal-overview-row-action { gap:8px;white-space:normal;justify-content:center;text-align:center; }
.k-tx .portal-overview-row-action { min-width:var(--k-tx-action); }
.k-tx .upload { position:relative;cursor:pointer;min-height:40px; }
.k-tx .upload input { position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer; }
.proto-panel-stack.k-tx, .k-tx .proto-panel-stack { display:grid;gap:16px; }
.k-tx .proto-panel-note, .k-tx .proto-panel-body { padding:var(--k-tx-inset);color:var(--text-2); }
.k-tx .proto-panel-foot { padding:12px var(--k-tx-inset);border-top:1px solid var(--line); }
.k-tx .proto-panel-foot a { display:inline-flex; }
.k-tx .proto-panel-body h2:not(.portal-overview-section-title>h2), .k-tx .proto-panel-body legend { font-size:16px;font-weight:700;color:var(--text); }
.k-tx .proto-profile-form { display:grid;gap:16px; }
.k-tx .proto-profile-fields { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px; }
.k-tx .proto-profile-field { display:grid;gap:6px;min-width:0; }
.k-tx .proto-profile-field label, .k-tx .proto-profile-other>label { font-weight:600; }
.k-tx .proto-profile-form :is(input:not([type=checkbox]):not([type=hidden]),select,textarea) { display:block;width:100%;min-width:0;min-height:40px;padding:8px 12px;background:var(--surface);border:1px solid var(--line);border-radius:7px;color:var(--text); }
.k-tx .proto-profile-form textarea { resize:vertical; }
@media (max-width:700px) { .k-tx .proto-profile-grid, .k-tx .proto-profile-fields { grid-template-columns:minmax(0,1fr); } }
@container k-tx-frame (max-width:700px) { .k-tx .proto-profile-grid, .k-tx .proto-profile-fields { grid-template-columns:minmax(0,1fr); } }
@media (max-width:450px) { .portal-page-head.k-tx, .k-tx .portal-page-head { flex-wrap:wrap; } }
@container k-tx-frame (max-width:450px) { .portal-page-head.k-tx, .k-tx .portal-page-head { flex-wrap:wrap; } }
@media (max-width:450px) { .k-tx .portal-overview-row-action { max-width:100%; } }
@container k-tx-frame (max-width:450px) { .k-tx .portal-overview-row-action { max-width:100%; } }
@media print { .k-tx .portal-overview-panel { break-inside:avoid; } }
.k-tx .proto-question-actions { display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:16px; }
.k-tx .proto-question-actions>span { color:var(--text-2);font-size:12px; }
.portal-page-head.k-tx>div+div, .k-tx .portal-page-head>div+div { display:flex;gap:8px;flex-wrap:wrap;align-items:center; }
.k-tx .season-stop-card .season-line, .k-tx .season-stop-card .season-note { margin:0; }
.k-tx .season-now .season-line, .k-tx .season-now .season-note { margin:0; }
.k-tx .season-now .season-actions { margin-top:6px; }
.k-tx .tx-now { display:flex;align-items:center;gap:16px; }
.k-tx .tx-now-copy { flex:1;min-width:0;display:grid;gap:4px; }
.k-tx .tx-now-copy .season-note { margin:0;font-size:12px; }
.k-tx .tx-line { margin:6px 0 0;font-size:16px;font-weight:600;color:var(--text);line-height:1.3; }
.k-tx .tx-actions { display:flex;flex-wrap:wrap;gap:8px;flex:none; }
.k-tx .tx-what { margin:0;color:var(--text-2);font-size:13px; }
.k-tx .tx-figs { display:flex;flex-wrap:wrap;gap:8px 28px;margin:4px 0 6px; }
.k-tx .tx-figs>div { display:grid; }
.k-tx .tx-figs small { font-size:12px;color:var(--text-3); }
.k-tx .tx-figs b { font-size:20px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text);line-height:1.2; }
.k-tx .tx-read { font-size:12px;font-weight:600;color:var(--navy);white-space:nowrap; }
.k-tx .tx-phone-only { display:none!important; }
.season-page.k-tx .season-stop-card>.tx-actions, .k-tx .season-page .season-stop-card>.tx-actions, .season-page.k-tx .season-stop-card .season-moment, .k-tx .season-page .season-stop-card .season-moment { margin-top:6px; }
.season-page.k-tx .season-moment::before, .k-tx .season-page .season-moment::before { display:none; }
.season-page.k-tx .season-moment .season-big, .k-tx .season-page .season-moment .season-big { font-size:32px; }
.season-page.k-tx .doorway-actions, .k-tx .season-page .doorway-actions { margin-top:0; }
@media (max-width:560px) { .k-tx .tx-now { flex-direction:column;align-items:stretch; } }
@container k-tx-frame (max-width:560px) { .k-tx .tx-now { flex-direction:column;align-items:stretch; } }
@media (max-width:560px) { .k-tx .tx-now .tx-actions>* { flex:1; } }
@container k-tx-frame (max-width:560px) { .k-tx .tx-now .tx-actions>* { flex:1; } }
/* On a phone the head keeps On extension; asking is the preparer's Message lower down. */
@media (max-width:560px) { .portal-page-head.k-tx .tx-head-actions > .portal-overview-row-action, .k-tx .portal-page-head .tx-head-actions > .portal-overview-row-action { display:none; } }
@container k-tx-frame (max-width:560px) { .portal-page-head.k-tx .tx-head-actions > .portal-overview-row-action, .k-tx .portal-page-head .tx-head-actions > .portal-overview-row-action { display:none; } }
@media (max-width:560px) { .portal-page-head.k-tx .tx-head-actions > .tx-chip { margin-left:0; } }
@container k-tx-frame (max-width:560px) { .portal-page-head.k-tx .tx-head-actions > .tx-chip { margin-left:0; } }
@media (max-width:560px) { .k-tx .tx-phone-only { display:inline-flex!important; } }
@container k-tx-frame (max-width:560px) { .k-tx .tx-phone-only { display:inline-flex!important; } }
@media (max-width:560px) { .k-tx .tx-figs { gap:6px 16px; } }
@container k-tx-frame (max-width:560px) { .k-tx .tx-figs { gap:6px 16px; } }
@media (max-width:560px) { .k-tx .tx-figs b { font-size:16px; } }
@container k-tx-frame (max-width:560px) { .k-tx .tx-figs b { font-size:16px; } }
.k-tx .season-road { list-style:none;margin:0;padding:8px 0 0;display:grid;grid-template-columns:repeat(5,1fr);position:relative; }
.k-tx .season-road::before, .k-tx .season-road::after { content:"";position:absolute;left:10%;top:calc(8px + 8px);height:2px;border-radius:2px; }
.k-tx .season-road::before { right:10%;background:var(--line); }
.k-tx .season-road::after { width:0;background:var(--olive);transition:width .6s ease; }
.k-tx .season-road[data-position="1"]::after { width:20%; }
.k-tx .season-road[data-position="2"]::after { width:40%; }
.k-tx .season-road[data-position="3"]::after { width:60%; }
.k-tx .season-road[data-position="4"]::after { width:80%; }
.k-tx .season-road li { display:grid;justify-items:center;gap:6px;font-size:12px;color:var(--text-2);position:relative; }
.k-tx .season-road li i { width:18px;height:18px;border-radius:50%;background:var(--surface);border:2px solid var(--line);position:relative;z-index:1;transition:background .3s,border-color .3s,box-shadow .3s; }
.k-tx .season-road li.is-done i { background:var(--olive);border-color:var(--olive); }
.k-tx .season-road li.is-current i { border-color:var(--navy);box-shadow:0 0 0 4px var(--navy-tint); }
.k-tx .season-road li.is-current { color:var(--navy);font-weight:600; }
.k-tx .season-road li.is-current i { background:var(--navy); }
.k-tx .season-line { font-size:16px;font-weight:650;color:var(--text);line-height:1.3; }
.k-tx .season-note { color:var(--text-2); }
.k-tx .season-progress { display:grid;gap:6px;margin-bottom:12px; }
.k-tx .season-progress-head { display:flex;justify-content:space-between;font-size:12px;color:var(--text-2);font-variant-numeric:tabular-nums; }
.k-tx .season-bar { display:block;width:100%;height:6px;appearance:none;-webkit-appearance:none;border:0;background:var(--line);border-radius:6px;overflow:hidden; }
.k-tx .season-bar::-webkit-progress-bar { background:var(--line);border-radius:6px; }
.k-tx .season-bar::-webkit-progress-value { background:var(--olive);border-radius:6px;transition:width .6s ease; }
.k-tx .season-bar::-moz-progress-bar { background:var(--olive);border-radius:6px; }
.k-tx .season-state[data-state=needed] { color:var(--terra); }
.k-tx .season-state[data-state=received] { color:var(--olive); }
.k-tx .season-state[data-state=uploading] { color:var(--text-2);font-variant-numeric:tabular-nums; }
.k-tx .season-state[data-state=error] { color:var(--terra); }
.k-tx .season-item.is-over { outline:2px dashed var(--navy);outline-offset:6px;border-radius:7px; }
.k-tx .season-note-card { display:flex;gap:12px;align-items:flex-start;margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--pk-warm-stone, var(--quiet)); }
.k-tx .season-note-card p { margin:0;line-height:1.55; }
.k-tx .season-actions { margin-top:16px;display:flex;flex-wrap:wrap;gap:8px; }
.k-tx .season-note-card { transition:opacity .5s ease .9s,transform .5s ease .9s; }
.k-tx .season-reveal.is-animating .season-note-card { opacity:0;transform:translateY(6px);transition:none; }
.k-tx .season-moment { position:relative;overflow:hidden;display:grid;gap:8px; }
.k-tx .season-moment::before { content:"";position:absolute;left:16px;right:16px;top:0;height:3px;background:linear-gradient(90deg,var(--terra),var(--navy),var(--olive));transform-origin:left;transition:transform 1s ease; }
.k-tx .season-moment.is-animating::before { transform:scaleX(0);transition:none; }
.k-tx .season-moment h2 { margin:8px 0 0; }
.k-tx .season-big { margin:0;font-size:38px;font-weight:700;letter-spacing:-.03em;color:var(--olive);font-variant-numeric:tabular-nums;line-height:1; }
.k-tx .season-moment[data-kind=owed] .season-big { color:var(--text); }
.k-tx .season-moment-line { margin:0;color:var(--text-2); }
.k-tx .season-archive { display:flex;flex-wrap:wrap;gap:8px;margin-top:6px; }
.k-tx .season-archive a { display:inline-flex;align-items:center;min-height:36px;padding:0 12px;border:1px solid var(--line);border-radius:999px;color:var(--text);text-decoration:none;font-size:12px; }
.k-tx .proto-panel-body>.portal-overview-section-title, .k-tx .proto-profile-other>.portal-overview-section-title { margin:calc(var(--k-tx-inset) * -1) calc(var(--k-tx-inset) * -1) 8px;padding:12px var(--k-tx-inset) 4px; }
.k-tx .proto-panel-body>:is(.portal-overview-action-register) { margin-left:calc(var(--k-tx-inset) * -1);margin-right:calc(var(--k-tx-inset) * -1); }
.k-tx .proto-panel-body>.proto-panel-foot { margin:var(--k-tx-inset) calc(var(--k-tx-inset) * -1) calc(var(--k-tx-inset) * -1); }
.k-tx .season-road.is-compact { padding-top:4px;margin:4px 0; }
.k-tx .season-road.is-compact::before, .k-tx .season-road.is-compact::after { top:calc(4px + 5px); }
.k-tx .season-road.is-compact li { font-size:12px; }
.k-tx .season-road.is-compact li i { width:12px;height:12px; }
.k-tx .season-road.is-compact li.is-current i { box-shadow:0 0 0 3px var(--navy-tint); }
.k-tx .month-business .month-lead .season-actions { margin-top:8px; }
@media (prefers-reduced-motion:reduce) { .k-tx .season-road::after, .k-tx .season-road li i, .k-tx .season-bar::-webkit-progress-value, .k-tx .season-moment::before, .k-tx .season-note-card { transition:none; } }
.k-tx .taxyear-panel { display:grid;gap:6px;transition:outline-color .2s; }
.k-tx .taxyear-panel.is-over { outline:2px dashed var(--navy);outline-offset:4px; }
.k-tx .taxyear-actions { display:flex;flex-wrap:wrap;gap:8px;margin-top:12px; }
.k-tx .taxyear-actions>[hidden], .k-tx .taxyear-change[hidden] { display:none; }
.k-tx .taxyear-status { margin:6px 0 0;color:var(--text-2);font-size:12px;overflow-wrap:anywhere; }
.k-tx .taxyear-status:empty { display:none; }
.k-tx .taxyear-status[data-error] { color:var(--terra); }
.k-tx .taxyear-status a { text-decoration:underline;text-underline-offset:.2em; }
.k-tx .taxyear-form { gap:16px; }
.k-tx .taxyear-kinds { border:0;padding:0;margin:0;min-width:0; }
.k-tx .taxyear-kinds legend { font-weight:650;margin-bottom:8px;padding:0; }
.k-tx .taxyear-kinds>div { display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,13rem),1fr));gap:6px; }
.k-tx .taxyear-kind { display:flex;align-items:center;gap:8px;min-height:40px;padding:6px 12px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--text);cursor:pointer; }
.k-tx .taxyear-form .taxyear-kind input[type=radio][name] { display:inline-block;flex:none;width:auto;min-width:0;min-height:0;margin:0;padding:0;border:0;accent-color:var(--navy); }
.k-tx .taxyear-kind:has(input:checked) { border-color:var(--navy);background:var(--navy-tint);font-weight:600; }
.k-tx .taxyear-kind:has(input:focus-visible) { outline:2px solid var(--navy);outline-offset:2px; }
.k-tx .taxyear-field { display:grid;gap:6px;min-width:0; }
.k-tx .taxyear-field > label, .k-tx .taxyear-field-label { font-weight:650; }
.k-tx .taxyear-field small { color:var(--text-2);font-weight:400;font-size:12px; }
.k-tx .taxyear-form select { max-width:16rem; }
.k-tx .taxyear-change .notice { margin:0 0 12px; }
.k-tx .taxyear-notice a, .k-tx .season-next a { text-decoration:underline;text-underline-offset:.2em; }
.k-tx .taxyear-return { display:grid;gap:6px; }
.k-tx .taxyear-return+.taxyear-return { margin-top:16px;padding-top:16px;border-top:1px solid var(--line); }
.k-tx .taxyear-return .season-actions { margin-top:8px; }
@media (prefers-reduced-motion:reduce) { .k-tx .taxyear-panel { transition:none; } }
.k-tx .doorway-intro { margin:0 0 12px;color:var(--text-2); }
.k-tx .doorway-choices { border:0;margin:0;padding:0; }
.k-tx .doorway-choices legend { position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0; }
.k-tx .doorway-choices label:has(input[value=changed]:checked), .k-tx .doorway-choices label:has(input[value=gone]:checked) { background:var(--pk-warm-stone, var(--quiet));border-color:var(--terra);color:var(--text); }
.k-tx .doorway-note { grid-column:1/-1;display:none;gap:4px;min-width:0; }
.k-tx .doorway-row:has(input[value=changed]:checked) .doorway-note, .k-tx .doorway-row:has(input[value=gone]:checked) .doorway-note { display:grid; }
.k-tx .doorway-row:has(input[value=changed]:checked) [data-when=gone], .k-tx .doorway-row:has(input[value=gone]:checked) [data-when=changed] { display:none; }
.k-tx .doorway-note label { font-weight:600;font-size:12px; }
.k-tx .doorway-note small { color:var(--text-2);font-weight:400; }
.k-tx .doorway-note input { width:100%;min-height:40px;padding:8px 12px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--text);font:inherit; }
.k-tx .portal-overview-action-register li.doorway-row { grid-template-columns:minmax(0,1fr); }
.k-tx .doorway-row>.doorway-choices { justify-self:start; }
.k-tx .doorway-choices label { white-space:nowrap; }
.k-tx .doorway-actions { display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:16px; }
.k-tx .doorway-actions span { color:var(--text-2);font-size:12px; }
.k-tx .season-state[data-state=answered], .k-tx .season-state[data-state=missing] { color:var(--text-2); }
@media (max-width:700px) { .k-tx .portal-overview-action-register .portal-overview-row-action, .k-tx .request-row-actions .portal-overview-row-action { min-height:40px; } }
@container k-tx-frame (max-width:700px) { .k-tx .portal-overview-action-register .portal-overview-row-action, .k-tx .request-row-actions .portal-overview-row-action { min-height:40px; } }
@media (max-width:700px) { .k-tx .portal-overview-action-register li:has(>:last-child>.portal-overview-row-action~.portal-overview-row-action) { grid-template-columns:minmax(0,1fr); } }
@container k-tx-frame (max-width:700px) { .k-tx .portal-overview-action-register li:has(>:last-child>.portal-overview-row-action~.portal-overview-row-action) { grid-template-columns:minmax(0,1fr); } }
@media (max-width:700px) { .k-tx .portal-overview-action-register li:has(>:last-child>.portal-overview-row-action~.portal-overview-row-action)>:last-child { justify-self:start; } }
@container k-tx-frame (max-width:700px) { .k-tx .portal-overview-action-register li:has(>:last-child>.portal-overview-row-action~.portal-overview-row-action)>:last-child { justify-self:start; } }
@media (max-width:700px) { .k-tx .portal-overview-action-register li:has(>.kind-tile):has(>.request-row-actions form), .k-tx .portal-overview-action-register li:has(>.kind-tile):has(>:last-child>.portal-overview-row-action~.portal-overview-row-action) { grid-template-columns:auto minmax(0,1fr); } }
@container k-tx-frame (max-width:700px) { .k-tx .portal-overview-action-register li:has(>.kind-tile):has(>.request-row-actions form), .k-tx .portal-overview-action-register li:has(>.kind-tile):has(>:last-child>.portal-overview-row-action~.portal-overview-row-action) { grid-template-columns:auto minmax(0,1fr); } }
@media (max-width:700px) { .k-tx .portal-overview-action-register li:has(>.kind-tile):has(>.request-row-actions form)>.request-row-actions, .k-tx .portal-overview-action-register li:has(>.kind-tile):has(>:last-child>.portal-overview-row-action~.portal-overview-row-action)>:last-child { grid-column:1/-1; } }
@container k-tx-frame (max-width:700px) { .k-tx .portal-overview-action-register li:has(>.kind-tile):has(>.request-row-actions form)>.request-row-actions, .k-tx .portal-overview-action-register li:has(>.kind-tile):has(>:last-child>.portal-overview-row-action~.portal-overview-row-action)>:last-child { grid-column:1/-1; } }
.k-tx .portal-overview-action-register li { position:relative; }
.k-tx .portal-overview-action-register li:hover { transform:none;box-shadow:none;background:transparent; }
.k-tx .portal-overview-action-register li:has(.portal-overview-register-copy>strong>a):hover { background:color-mix(in srgb,var(--surface) 88%,var(--navy-tint)); }
.k-tx .portal-overview-register-copy>strong>a::after { content:"";position:absolute;inset:0; }
.k-tx .portal-overview-action-register li :is(button,input,select,textarea,summary,label,form,a:not(.portal-overview-register-copy>strong>a)) { position:relative;z-index:1; }
.k-tx .portal-overview-action-register li .upload input[type=file] { position:absolute; }
.k-tx .organizer-choices { border:0;margin:0;padding:0; }
.k-tx .organizer-choices legend { position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0; }
.k-tx .organizer-card { display:flex;align-items:center;gap:12px; }
.k-tx .organizer-card-copy { flex:1;min-width:0; }
.k-tx .organizer-card-copy h2 { margin:0; }
@media (max-width:760px) { .k-tx .organizer-card { flex-direction:column;align-items:stretch; } }
@container k-tx-frame (max-width:760px) { .k-tx .organizer-card { flex-direction:column;align-items:stretch; } }
.k-tx .season-from, .k-tx .season-arrives { display:block; }
.k-tx .season-from a { font-weight:600; }
.k-tx .doorway-reason { grid-column:1/-1;display:none;gap:4px;min-width:0; }
.k-tx .doorway-row:has(input[value=gone]:checked) .doorway-reason { display:grid; }
.k-tx .doorway-reason label { font-weight:600;font-size:12px; }
.k-tx .doorway-reason select { width:100%;min-height:40px;padding:0 12px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--text);font:inherit; }
.k-tx .season-cover { margin:8px var(--k-tx-inset) 0;border-top:1px solid var(--line);padding-top:8px; }
.k-tx .season-cover summary { cursor:pointer;font-weight:600;color:var(--navy);padding:6px 0; }
.k-tx .season-cover-body { display:grid;gap:8px;padding-bottom:8px; }
.k-tx .season-cover-pick { display:flex;align-items:center;gap:8px;flex-wrap:wrap; }
.k-tx .season-cover-file { position:relative;overflow:hidden; }
.k-tx .season-cover-file input { position:absolute;inset:0;opacity:0;cursor:pointer; }
.k-tx .season-cover-name { font-size:12px;color:var(--text-2);overflow-wrap:anywhere; }
.k-tx .season-cover-list { list-style:none;margin:0;padding:0;display:grid;gap:4px; }
.k-tx .season-cover-list label { display:flex;align-items:center;gap:8px;min-height:36px;cursor:pointer; }
.k-tx .season-cover-list input { width:20px;height:20px;margin:0;accent-color:var(--navy); }
.k-tx .season-cover-actions { display:flex;align-items:center;gap:8px;flex-wrap:wrap; }
.k-tx .season-cover-status { font-size:12px;color:var(--olive); }
.k-tx .season-cover-status[data-error=true] { color:var(--terra); }
.k-tx .estimate-scroll { overflow-x:auto;margin:0 calc(var(--k-tx-inset) * -1); }
.k-tx .estimate-table { width:100%;min-width:520px;border-collapse:collapse;font-size:12px; }
.k-tx .estimate-table th { padding:6px var(--k-tx-inset);text-align:left;font-weight:600;color:var(--text-3);font-size:12px;border-bottom:1px solid var(--line); }
.k-tx .estimate-table td { padding:8px var(--k-tx-inset);border-top:1px solid var(--line);vertical-align:middle;color:var(--text); }
.k-tx .estimate-table tbody tr:first-child td { border-top:0; }
.k-tx .estimate-num { text-align:right;font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap; }
.k-tx .estimate-dim { color:var(--text-3);font-weight:400; }
.k-tx .estimate-act { text-align:right;width:1%;white-space:nowrap; }
.k-tx .estimate-chip { display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap; }
.k-tx .estimate-chip.is-ok { background:var(--olive-tint);color:var(--olive); }
.k-tx .estimate-chip.is-need { background:var(--terra-soft);color:var(--terra); }
.k-tx .estimate-chip.is-soon { background:var(--terra-tint);color:var(--text-2); }
.k-tx .estimate-form-row td { padding-top:0;border-top:0;background:var(--navy-tint); }
.k-tx .estimate-report { gap:8px;padding:8px 0 6px; }
.k-tx .estimate-report-fields { grid-template-columns:repeat(3,minmax(0,1fr));gap:12px; }
.k-tx .estimate-report .proto-profile-field label small { font-weight:400;color:var(--text-3); }
.k-tx .estimate-report-actions { display:flex;gap:6px; }
.k-tx .estimate-foot { margin:8px 0 0;font-size:12px;color:var(--text-2); }
.k-tx .estimate-how { margin:8px var(--k-tx-inset) 0;font-size:12px;color:var(--text-2); }
.k-tx .estimate-how summary { cursor:pointer;font-weight:600;color:var(--navy); }
.portal-page-head.k-tx, .k-tx .portal-page-head { margin-bottom:20px; }
.portal-page-head.k-tx h1, .k-tx .portal-page-head h1 { margin:0;font-family:var(--font-serif);font-size:36px;font-weight:400;line-height:1.06;letter-spacing:-.01em; }
.k-tx .portal-eyebrow { margin:0 0 6px;color:var(--sand);font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase; }
.portal-page-head.k-tx:has(+.tx-page) .portal-eyebrow, .k-tx .portal-page-head:has(+.tx-page) .portal-eyebrow { display:none; }
@media (max-width:1023px) { .portal-page-head.k-tx h1, .k-tx .portal-page-head h1 { font-size:30px;line-height:1.08; } }
@container k-tx-frame (max-width:1023px) { .portal-page-head.k-tx h1, .k-tx .portal-page-head h1 { font-size:30px;line-height:1.08; } }
.k-tx .portal-overview-panel>.portal-overview-action-register:first-child>li:first-child { border-top:0; }
.k-tx .kind-tile { display:grid;place-items:center;width:32px;height:32px;border-radius:9px;flex:none; }
.k-tx .kind-tile svg { width:16px;height:16px; }
.k-tx .kind-tile[data-kind=document] { background:var(--sand-tint);color:var(--sand); }
.k-tx .kind-tile[data-kind=form], .k-tx .kind-tile[data-kind=information], .k-tx .kind-tile[data-kind=doorway] { background:var(--navy-tint);color:var(--navy); }
.k-tx .kind-tile[data-kind=task] { background:var(--olive-tint);color:var(--olive); }
.k-tx .portal-overview-action-register li:has(>.kind-tile) { grid-template-columns:auto minmax(0,1fr) auto; }
@media (max-width:700px) { .k-tx .kind-tile { width:30px;height:30px; } }
@container k-tx-frame (max-width:700px) { .k-tx .kind-tile { width:30px;height:30px; } }
.k-tx .doc-date { color:var(--text-2);font-size:13px;white-space:nowrap;font-variant-numeric:tabular-nums; }
.k-tx .convo-av { display:grid;place-items:center;width:30px;height:30px;flex:none;border-radius:50%;background:var(--pk-bar-3, var(--text));color:var(--on-dark);font-size:11.5px;font-weight:600; }
.k-tx .tx-kicker { margin:12px 0 calc(6px * -1);color:var(--sand);font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase; }
.k-tx .tx-chip { display:inline-flex;align-items:center;margin-left:8px;padding:2px 9px;border-radius:999px;background:var(--sand-tint);color:var(--sand);font-size:12px;font-weight:500;vertical-align:1px; }
.k-tx .figs { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--text);border-bottom:1px solid var(--line); }
.k-tx .fig { padding:12px 18px 14px 0; }
.k-tx .fig+.fig { padding-left:18px;border-left:1px solid var(--line); }
.k-tx .fig span { display:block;color:var(--text-2);font-size:12.5px;font-weight:500; }
.k-tx .fig b { display:block;margin:4px 0 2px;font-family:var(--font-serif);font-size:32px;font-weight:400;line-height:1.1;letter-spacing:-.01em;font-variant-numeric:tabular-nums; }
.k-tx .fig small { color:var(--text-2);font-size:12.5px; }
.k-tx .fig small.warn { color:var(--terra);font-weight:500; }
.k-tx .tx-table-wrap { overflow-x:auto;padding:4px var(--k-tx-inset) 6px; }
.k-tx .tx-table { width:100%;border-collapse:collapse;font-size:13.5px;font-variant-numeric:tabular-nums; }
.k-tx .tx-table th { padding:8px 10px 8px 0;border-bottom:1px solid var(--text);color:var(--text-2);font-size:12px;font-weight:600;text-align:left; }
.k-tx .tx-table td { padding:9px 10px 9px 0;border-bottom:1px solid var(--line-soft);vertical-align:middle; }
.k-tx .tx-table .r { text-align:right;padding-right:0;padding-left:10px;white-space:nowrap; }
.k-tx .tx-table tr.tot td { border-top:1px solid var(--text);border-bottom:0;font-weight:600; }
.k-tx .tx-table td small { display:block;color:var(--text-2);font-size:12px; }
.k-tx .tx-state { display:flex;align-items:center;justify-content:flex-end;gap:8px; }
.k-tx .tx-state .portal-overview-row-action { min-height:28px; }
.k-tx .tx-year { font-weight:600; }
.k-tx .tx-links { text-align:right; }
.k-tx .tx-links a { font-weight:500; }
.k-tx .tx-links a+a { margin-left:16px; }
.k-tx .tx-payments-foot { display:grid;gap:6px;padding:6px var(--k-tx-inset) 12px;font-size:13px; }
.k-tx .tx-from { margin:0;color:var(--text-2); }
.k-tx .tx-from a { font-weight:500; }
.k-tx .estimate-chip.is-done { background:var(--olive-tint);color:var(--olive); }
.k-tx .estimate-chip.is-missing { background:var(--terra-tint);color:var(--terra); }
.k-tx .tx-crumb { display:flex;align-items:center;gap:6px;margin-bottom:8px;color:var(--text-2);font-size:13px; }
.k-tx .tx-crumb a { color:var(--text-2); }
.k-tx .tx-head-actions { display:flex;align-items:center;gap:10px; }
.tx-return.k-tx, .k-tx .tx-return { display:grid;gap:12px; }
.k-tx .tx-road-card { padding:22px 24px 20px; }
.k-tx .tx-road { list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr)); }
.k-tx .tx-road li { position:relative;display:flex;flex-direction:column;gap:4px;padding-right:12px; }
.k-tx .tx-road li::before { content:'';position:absolute;top:10px;left:22px;right:0;height:2px;background:var(--line); }
.k-tx .tx-road li:last-child::before { display:none; }
.k-tx .tx-road li.is-done::before { background:var(--olive); }
.k-tx .tx-road i { position:relative;z-index:1;display:grid;place-items:center;width:22px;height:22px;box-sizing:border-box;border:2px solid var(--control);border-radius:50%;background:var(--surface); }
.k-tx .tx-road .is-done i { border-color:var(--olive);background:var(--olive); }
.k-tx .tx-road .is-current i { border-color:var(--navy);background:var(--navy);box-shadow:0 0 0 4px var(--navy-tint); }
.k-tx .tx-road .is-current i::after { content:'';width:6px;height:6px;border-radius:50%;background:var(--surface); }
.k-tx .tx-road b { margin-top:6px;font-size:13px;font-weight:600; }
.k-tx .tx-road .is-ahead b { color:var(--text-2);font-weight:500; }
.k-tx .tx-road small { color:var(--text-2);font-size:12px;line-height:1.35; }
.k-tx .tx-cols { display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:16px;align-items:start; }
.k-tx .tx-main, .k-tx .tx-side { display:grid;gap:12px;min-width:0; }
.k-tx .tx-docs { display:grid;gap:12px; }
.k-tx .tx-count { display:inline-block;margin-left:4px;padding:1px 8px;border-radius:999px;background:var(--pk-stone, var(--neutral-tint));color:var(--text-2);font-size:12px;font-weight:600; }
.k-tx .tx-cover { padding:10px var(--k-tx-inset) var(--k-tx-inset);border-top:1px solid var(--line-soft); }
.k-tx .tx-cover .season-cover>summary { display:flex;align-items:center;justify-content:center;min-height:42px;border:1.5px dashed var(--control);border-radius:8px;color:var(--text-2);font-size:13.5px;cursor:pointer;list-style:none; }
.k-tx .tx-stage { display:grid;gap:8px;padding:var(--k-tx-inset); }
.k-tx .tx-stage .season-line { margin:0;font-size:16px;font-weight:600; }
.k-tx .tx-person { display:flex;align-items:center;gap:12px;padding:14px var(--k-tx-inset); }
.k-tx .tx-person div { flex:1;min-width:0; }
.k-tx .tx-person small { display:block;color:var(--text-2);font-size:12px; }
.k-tx .tx-person strong { font-size:14px;font-weight:600; }
.k-tx .portal-page:has(.tx-return) { max-width:1148px; }
@media (max-width:900px) { .k-tx .tx-cols { grid-template-columns:minmax(0,1fr); } }
@container k-tx-frame (max-width:900px) { .k-tx .tx-cols { grid-template-columns:minmax(0,1fr); } }
@media (max-width:900px) { .k-tx .figs { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@container k-tx-frame (max-width:900px) { .k-tx .figs { grid-template-columns:repeat(2,minmax(0,1fr)); } }
/* Five figures (a return's balance past its date leads the year's four) sit in one row. */
@media (min-width:901px) { .k-tx .figs[data-n="5"] { grid-template-columns:repeat(5,minmax(0,1fr)); } }
@container k-tx-frame (min-width:901px) { .k-tx .figs[data-n="5"] { grid-template-columns:repeat(5,minmax(0,1fr)); } }
@media (max-width:900px) { .k-tx .fig:nth-child(odd) { padding-left:0;border-left:0; } }
@container k-tx-frame (max-width:900px) { .k-tx .fig:nth-child(odd) { padding-left:0;border-left:0; } }
@media (max-width:900px) { .k-tx .fig:nth-child(n+3) { border-top:1px solid var(--line); } }
@container k-tx-frame (max-width:900px) { .k-tx .fig:nth-child(n+3) { border-top:1px solid var(--line); } }
@media (max-width:900px) { .k-tx .tx-road { grid-template-columns:repeat(5,minmax(0,1fr)); } }
@container k-tx-frame (max-width:900px) { .k-tx .tx-road { grid-template-columns:repeat(5,minmax(0,1fr)); } }
@media (max-width:900px) { .k-tx .tx-road small { display:none; } }
@container k-tx-frame (max-width:900px) { .k-tx .tx-road small { display:none; } }
@media (max-width:900px) { .k-tx .tx-road-card { padding:16px; } }
@container k-tx-frame (max-width:900px) { .k-tx .tx-road-card { padding:16px; } }
@media (max-width:900px) { .k-tx .tx-head-actions { flex-wrap:wrap; } }
@container k-tx-frame (max-width:900px) { .k-tx .tx-head-actions { flex-wrap:wrap; } }
.k-tx .tx-table .estimate-form-row td { padding:10px 0 14px;background:var(--ground); }
.k-tx .tx-table .estimate-report-fields { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px; }
.k-tx .tx-table .estimate-report-actions { display:flex;gap:8px;margin-top:10px; }
.k-tx .portal-overview-row-action.is-quiet { border-color:transparent;background:none;color:var(--text-2); }
.k-tx .tx-payments-foot .estimate-how>summary { cursor:pointer;color:var(--text-2);font-size:13px;font-weight:500; }
.k-tx .tx-payments-foot .estimate-how p { margin:6px 0 0;color:var(--text-2);font-size:13px;line-height:1.5; }
@media (max-width:700px) { .k-tx .tx-table .estimate-report-fields { grid-template-columns:minmax(0,1fr); } }
@container k-tx-frame (max-width:700px) { .k-tx .tx-table .estimate-report-fields { grid-template-columns:minmax(0,1fr); } }
.k-tx .portal-page:has(.tx-page .tx-cols) { max-width:1148px; }
/* How to pay sits beside the payments only where the table fits beside it (Sonny 10/1); narrower, it goes under the table. */
@media (min-width:1280px) { .k-tx .tx-year-cols { grid-template-columns:minmax(0,1fr) 320px; } }
.k-tx .fig b { white-space:nowrap; }
/* The date never breaks; a long payment name may, rather than push the last column past the box (RD-102). */
@media (min-width:701px) { .k-tx .tx-table td:nth-child(2) { white-space:nowrap; } }
.k-tx .portal-overview-row-action>svg { width:15px;height:15px;flex:none; }
.k-tx a.portal-overview-row-action:has(>svg) { display:inline-flex;align-items:center;gap:6px; }
.tx-page.k-tx>.taxyear-change, .k-tx .tx-page>.taxyear-change { margin-bottom:8px; }
.k-tx .tx-pay { display:grid;container:k-tx-pay / inline-size; }
.k-tx .tx-pay-auth { display:grid;gap:10px;padding:14px var(--k-tx-inset);border-top:1px solid var(--line-soft); }
.k-tx .tx-pay-head { display:flex;align-items:baseline;justify-content:space-between;gap:10px; }
.k-tx .tx-pay-head b { font-size:14px;font-weight:600; }
.k-tx .tx-pay-head small { color:var(--text-2);font-size:12px; }
.k-tx .tx-pay-go { justify-content:center;width:100%;box-sizing:border-box; }
.k-tx .tx-pay-pick { display:grid;gap:4px;margin:0; }
.k-tx .tx-pay-pick div { display:grid;gap:1px;font-size:13px; }
.k-tx .tx-pay-pick dt { color:var(--text-2);font-size:12px; }
.k-tx .tx-pay-pick dd { margin:0;font-weight:500; }
.k-tx .tx-pay-mail { margin:0;font-size:13px;line-height:1.45;color:var(--text); }
.k-tx .tx-pay-mail span, .k-tx .tx-pay-after b { display:block;color:var(--text-2);font-size:11.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;margin-bottom:2px; }
.k-tx .tx-pay-after { margin:0;padding:12px var(--k-tx-inset) 14px;border-top:1px solid var(--line-soft);background:var(--ground);font-size:13px;line-height:1.45;border-radius:0 0 12px 12px; }
.k-tx .tx-pay-mail a { color:var(--navy);font-weight:500; }
/* Under the table on a wider window: Pay online at its own width, what to choose and By mail beside it. */
@container k-tx-pay (min-width:560px) {
  .k-tx .tx-pay-head { justify-content:flex-start; }
  .k-tx .tx-pay-auth:has(> .tx-pay-go) { grid-template-columns:220px minmax(0,1fr);column-gap:24px;align-items:start; }
  .k-tx .tx-pay-auth:has(> .tx-pay-go) > .tx-pay-head { grid-column:1 / -1; }
  .k-tx .tx-pay-auth:has(> .tx-pay-go) > .tx-pay-go { grid-column:1;grid-row:2 / span 3; }
  .k-tx .tx-pay-auth:has(> .tx-pay-go) > :is(.tx-pay-pick, .tx-pay-mail) { grid-column:2; }
}
@media (max-width:700px) { .k-tx .tx-table-wrap { overflow:visible;padding-top:0; } }
@container k-tx-frame (max-width:700px) { .k-tx .tx-table-wrap { overflow:visible;padding-top:0; } }
@media (max-width:700px) { .k-tx .tx-table, .k-tx .tx-table tbody { display:block; } }
@container k-tx-frame (max-width:700px) { .k-tx .tx-table, .k-tx .tx-table tbody { display:block; } }
@media (max-width:700px) { .k-tx .tx-table thead { display:none; } }
@container k-tx-frame (max-width:700px) { .k-tx .tx-table thead { display:none; } }
@media (max-width:700px) { .k-tx .tx-table tr { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 12px;padding:12px 0;border-bottom:1px solid var(--line-soft); } }
@container k-tx-frame (max-width:700px) { .k-tx .tx-table tr { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 12px;padding:12px 0;border-bottom:1px solid var(--line-soft); } }
@media (max-width:700px) { .k-tx .tx-table td { display:block;padding:0;border:0;word-break:normal;overflow-wrap:normal;min-width:0; } }
@container k-tx-frame (max-width:700px) { .k-tx .tx-table td { display:block;padding:0;border:0;word-break:normal;overflow-wrap:normal;min-width:0; } }
@media (max-width:700px) { .k-tx .tx-table td:empty { display:none; } }
@container k-tx-frame (max-width:700px) { .k-tx .tx-table td:empty { display:none; } }
@media (max-width:700px) { .k-tx .tx-table td:nth-child(1) { grid-column:1;grid-row:1;font-weight:500; } }
@container k-tx-frame (max-width:700px) { .k-tx .tx-table td:nth-child(1) { grid-column:1;grid-row:1;font-weight:500; } }
@media (max-width:700px) { .k-tx .tx-table td:nth-child(2) { grid-column:1;grid-row:2;color:var(--text-2);font-size:12.5px; } }
@container k-tx-frame (max-width:700px) { .k-tx .tx-table td:nth-child(2) { grid-column:1;grid-row:2;color:var(--text-2);font-size:12.5px; } }
@media (max-width:700px) { .k-tx .tx-table td:nth-child(3) { grid-column:2;grid-row:1;text-align:right; } }
@container k-tx-frame (max-width:700px) { .k-tx .tx-table td:nth-child(3) { grid-column:2;grid-row:1;text-align:right; } }
@media (max-width:700px) { .k-tx .tx-table td:nth-child(4) { grid-column:2;grid-row:2;text-align:right;font-size:12.5px; } }
@container k-tx-frame (max-width:700px) { .k-tx .tx-table td:nth-child(4) { grid-column:2;grid-row:2;text-align:right;font-size:12.5px; } }
@media (max-width:700px) { .k-tx .tx-table td:nth-child(5) { grid-column:1/-1;grid-row:3; } }
@container k-tx-frame (max-width:700px) { .k-tx .tx-table td:nth-child(5) { grid-column:1/-1;grid-row:3; } }
@media (max-width:700px) { .k-tx .tx-table .tx-state { justify-content:flex-start;margin-top:6px; } }
@container k-tx-frame (max-width:700px) { .k-tx .tx-table .tx-state { justify-content:flex-start;margin-top:6px; } }
@media (max-width:700px) { .k-tx .estimate-row td:nth-child(3)::before, .k-tx .tx-table tr.tot td:nth-child(3)::before { content:'Planned ';color:var(--text-2);font-size:12px; } }
@container k-tx-frame (max-width:700px) { .k-tx .estimate-row td:nth-child(3)::before, .k-tx .tx-table tr.tot td:nth-child(3)::before { content:'Planned ';color:var(--text-2);font-size:12px; } }
@media (max-width:700px) { .k-tx .estimate-row td:nth-child(4)::before, .k-tx .tx-table tr.tot td:nth-child(4)::before { content:'Paid ';color:var(--text-2); } }
@container k-tx-frame (max-width:700px) { .k-tx .estimate-row td:nth-child(4)::before, .k-tx .tx-table tr.tot td:nth-child(4)::before { content:'Paid ';color:var(--text-2); } }
@media (max-width:700px) { .k-tx .tx-table tr.tot { border-top:1px solid var(--text);border-bottom:0; } }
@container k-tx-frame (max-width:700px) { .k-tx .tx-table tr.tot { border-top:1px solid var(--text);border-bottom:0; } }
@media (max-width:700px) { .k-tx .tx-table tr.tot td { border:0; } }
@container k-tx-frame (max-width:700px) { .k-tx .tx-table tr.tot td { border:0; } }
@media (max-width:700px) { .k-tx .tx-table .estimate-form-row { display:block;padding:0 0 12px; } }
@container k-tx-frame (max-width:700px) { .k-tx .tx-table .estimate-form-row { display:block;padding:0 0 12px; } }
@media (max-width:700px) { .k-tx .tx-table .estimate-form-row[hidden] { display:none; } }
@container k-tx-frame (max-width:700px) { .k-tx .tx-table .estimate-form-row[hidden] { display:none; } }
@media (max-width:700px) { .k-tx .tx-table .estimate-form-row td { display:block; } }
@container k-tx-frame (max-width:700px) { .k-tx .tx-table .estimate-form-row td { display:block; } }
@media (max-width:700px) { .k-tx .estimate-row td:nth-child(3):has(.estimate-dim) { display:none; } }
@container k-tx-frame (max-width:700px) { .k-tx .estimate-row td:nth-child(3):has(.estimate-dim) { display:none; } }
@media (max-width:700px) { .k-tx .tx-history .tx-table td.tx-result { font-size:13px; } }
@container k-tx-frame (max-width:700px) { .k-tx .tx-history .tx-table td.tx-result { font-size:13px; } }
@media (max-width:700px) { .k-tx .tx-history .tx-table td.tx-links { grid-column:1/-1;grid-row:3;white-space:normal;margin-top:4px;text-align:left; } }
@container k-tx-frame (max-width:700px) { .k-tx .tx-history .tx-table td.tx-links { grid-column:1/-1;grid-row:3;white-space:normal;margin-top:4px;text-align:left; } }
.k-tx .tx-history .tx-table td.tx-result { white-space:nowrap; }
@media (max-width:1279px) { .k-tx .tx-year-cols { display:flex;flex-direction:column;align-items:stretch;gap:12px; } }
@container k-tx-frame (max-width:1279px) { .k-tx .tx-year-cols { display:flex;flex-direction:column;align-items:stretch;gap:12px; } }
@media (max-width:1279px) { .k-tx .tx-year-cols>.tx-main, .k-tx .tx-year-cols>.tx-side { display:contents; } }
@container k-tx-frame (max-width:1279px) { .k-tx .tx-year-cols>.tx-main, .k-tx .tx-year-cols>.tx-side { display:contents; } }
@media (max-width:1279px) { .k-tx .tx-year-cols .tx-pay { order:1; } }
@container k-tx-frame (max-width:1279px) { .k-tx .tx-year-cols .tx-pay { order:1; } }
@media (max-width:1279px) { .k-tx .tx-year-cols .tx-kept { order:2; } }
@container k-tx-frame (max-width:1279px) { .k-tx .tx-year-cols .tx-kept { order:2; } }
@media (max-width:1279px) { .k-tx .tx-year-cols .tx-history-kick, .k-tx .tx-year-cols .tx-history { order:3; } }
@container k-tx-frame (max-width:1279px) { .k-tx .tx-year-cols .tx-history-kick, .k-tx .tx-year-cols .tx-history { order:3; } }
.k-tx table tbody tr { transition: background-color 120ms cubic-bezier(.2, .7, .2, 1); }
.k-tx table tbody tr:hover { background: color-mix(in srgb, var(--text) 2.5%, transparent); }
.k-tx .portal-eyebrow { font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--pk-label, var(--text-2)); }
.k-tx .request-row-actions { display:flex;align-items:center;gap:8px;justify-self:end; }
.k-tx .request-row-actions .portal-overview-row-action { min-height:34px; }
.k-tx .request-row-actions:has(.portal-overview-row-action:not([hidden]))>.proto-status { display:none; }

/* The block's own rules, not copies of the portal's. On a phone, a received document with a chip (Angelus is reviewing, With
   Angelus) and its date had 36px left for its name, a word or less a line (UI-073 stage 6, found comparing the boards): there
   the chip and the date go under the name. */
@media (max-width: 560px) { .k-tx .tx-docs .portal-overview-action-register li:has(> .request-row-actions .estimate-chip) { grid-template-columns: auto minmax(0, 1fr); } .k-tx .tx-docs .portal-overview-action-register li:has(> .request-row-actions .estimate-chip) > .request-row-actions { grid-column: 2; justify-self: start; flex-wrap: wrap; } }
@container k-tx-frame (max-width: 560px) { .k-tx .tx-docs .portal-overview-action-register li:has(> .request-row-actions .estimate-chip) { grid-template-columns: auto minmax(0, 1fr); } .k-tx .tx-docs .portal-overview-action-register li:has(> .request-row-actions .estimate-chip) > .request-row-actions { grid-column: 2; justify-self: start; flex-wrap: wrap; } }
/* Your tax history (boards PortalTaxesHistory, ...Year, ...Sparse, ...Phone; Sonny 10/27): the open year's row in the years table, the year's figure strip for fewer than four
   figures, and, on a phone, one chart at a time under an Income | Tax switch (radio inputs and :checked, no script), the years as rows with the result on the right. */
.k-tx .tx-table tr[aria-selected="true"] td { background: var(--navy-tint); }
.k-tx .tx-hist-charts { display: grid; gap: 12px; min-width: 0; }
.k-tx .tx-hist-charts > .tx-hist-radio { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); border: 0; opacity: 0; }
.k-tx .tx-hist-switch { display: none; }
.k-tx .tx-hist-charts .k-col { min-width: 0; }
.k-tx .tx-hist-charts .k-col > .portal-overview-panel { height: 100%; }
@media (min-width: 901px) { .k-tx .figs[data-n="3"] { grid-template-columns: repeat(3, minmax(0, 1fr)); } .k-tx .figs[data-n="2"] { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@container k-tx-frame (min-width: 901px) { .k-tx .figs[data-n="3"] { grid-template-columns: repeat(3, minmax(0, 1fr)); } .k-tx .figs[data-n="2"] { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) {
  .k-tx .tx-hist-switch { display: inline-flex; gap: 2px; padding: 3px; justify-self: start; background: var(--neutral-tint); border-radius: 9px; }
  .k-tx .tx-hist-switch label { padding: 5px 14px; border-radius: var(--r-small); color: var(--text-2); font-size: 13px; font-weight: 500; cursor: pointer; }
  .k-tx .tx-hist-radio.is-income:checked ~ .tx-hist-switch label.is-income, .k-tx .tx-hist-radio.is-tax:checked ~ .tx-hist-switch label.is-tax { background: var(--surface); color: var(--text); box-shadow: 0 1px 2px rgba(22,24,29,.08); }
  .k-tx .tx-hist-radio:focus-visible ~ .tx-hist-switch label { outline: 2px solid var(--navy); outline-offset: 1px; }
  .k-tx .tx-hist-charts .k-cols { flex-direction: column; }
  .k-tx .tx-hist-charts .portal-overview-section-title { display: none; }
  /* A chart drawn 470 wide shown at a phone's 343: its text kept near 9px, short of running into the next year's. */
  .k-tx .tx-hist-charts .k-svgchart { --k-chart-scale: .85; }
  .k-tx .tx-hist-radio.is-income:checked ~ .k-cols .tx-hc-tax, .k-tx .tx-hist-radio.is-tax:checked ~ .k-cols .tx-hc-income { display: none; }
  .k-tx .tx-hist-years td:nth-child(3) { display: none; }
  .k-tx .tx-hist-years td:nth-child(4) { grid-row: 1 / 3; align-self: center; display: flex; flex-direction: column-reverse; align-items: flex-end; font-size: 13px; }
  .k-tx .tx-hist-years td.tx-year { font-weight: 600; }
  .k-tx .tx-hist-years .tx-r-amt { font-weight: 600; }
  .k-tx .tx-hist-years .tx-r-word { color: var(--text-2); font-size: 12px; text-transform: lowercase; }
  .k-tx .tx-hist-years tr:has(td.tx-year a) td.tx-links { display: none; }
  .k-tx .tx-hist-years tr:has(td.tx-year a) { cursor: pointer; }
  .k-tx #tax-year, .k-tx #tax-years { scroll-margin-top: 80px; } /* clear of the phone top bar */
  .k-tx .tx-hist-years tr[aria-selected="true"] { background: var(--navy-tint); }
  .k-tx .tx-hist-years tr[aria-selected="true"] td { background: transparent; }
  .k-tx .tx-table.tx-facts { display: table; }
  .k-tx .tx-table.tx-facts thead { display: table-header-group; }
  .k-tx .tx-table.tx-facts tbody { display: table-row-group; }
  .k-tx .tx-table.tx-facts tr { display: table-row; padding: 0; border: 0; }
  .k-tx .tx-table.tx-facts th, .k-tx .tx-table.tx-facts td:nth-child(n) { display: table-cell; grid-area: auto; padding: 9px 10px 9px 0; border-bottom: 1px solid var(--line-soft); color: inherit; font-size: inherit; text-align: left; }
  .k-tx .tx-table.tx-facts th { border-bottom-color: var(--text); color: var(--text-2); font-size: 12px; }
  .k-tx .tx-table.tx-facts .r, .k-tx .tx-table.tx-facts td.r:nth-child(n) { padding-right: 0; text-align: right; }
  .k-tx .tx-table.tx-facts tr.tot td:nth-child(n) { border-top: 1px solid var(--text); border-bottom: 0; font-weight: 600; }
}
@container k-tx-frame (max-width: 700px) {
  .k-tx .tx-hist-switch { display: inline-flex; gap: 2px; padding: 3px; justify-self: start; background: var(--neutral-tint); border-radius: 9px; }
  .k-tx .tx-hist-switch label { padding: 5px 14px; border-radius: var(--r-small); color: var(--text-2); font-size: 13px; font-weight: 500; cursor: pointer; }
  .k-tx .tx-hist-radio.is-income:checked ~ .tx-hist-switch label.is-income, .k-tx .tx-hist-radio.is-tax:checked ~ .tx-hist-switch label.is-tax { background: var(--surface); color: var(--text); box-shadow: 0 1px 2px rgba(22,24,29,.08); }
  .k-tx .tx-hist-radio:focus-visible ~ .tx-hist-switch label { outline: 2px solid var(--navy); outline-offset: 1px; }
  .k-tx .tx-hist-charts .k-cols { flex-direction: column; }
  .k-tx .tx-hist-charts .portal-overview-section-title { display: none; }
  /* A chart drawn 470 wide shown at a phone's 343: its text kept near 9px, short of running into the next year's. */
  .k-tx .tx-hist-charts .k-svgchart { --k-chart-scale: .85; }
  .k-tx .tx-hist-radio.is-income:checked ~ .k-cols .tx-hc-tax, .k-tx .tx-hist-radio.is-tax:checked ~ .k-cols .tx-hc-income { display: none; }
  .k-tx .tx-hist-years td:nth-child(3) { display: none; }
  .k-tx .tx-hist-years td:nth-child(4) { grid-row: 1 / 3; align-self: center; display: flex; flex-direction: column-reverse; align-items: flex-end; font-size: 13px; }
  .k-tx .tx-hist-years td.tx-year { font-weight: 600; }
  .k-tx .tx-hist-years .tx-r-amt { font-weight: 600; }
  .k-tx .tx-hist-years .tx-r-word { color: var(--text-2); font-size: 12px; text-transform: lowercase; }
  .k-tx .tx-hist-years tr:has(td.tx-year a) td.tx-links { display: none; }
  .k-tx .tx-hist-years tr:has(td.tx-year a) { cursor: pointer; }
  .k-tx #tax-year, .k-tx #tax-years { scroll-margin-top: 80px; } /* clear of the phone top bar */
  .k-tx .tx-hist-years tr[aria-selected="true"] { background: var(--navy-tint); }
  .k-tx .tx-hist-years tr[aria-selected="true"] td { background: transparent; }
  .k-tx .tx-table.tx-facts { display: table; }
  .k-tx .tx-table.tx-facts thead { display: table-header-group; }
  .k-tx .tx-table.tx-facts tbody { display: table-row-group; }
  .k-tx .tx-table.tx-facts tr { display: table-row; padding: 0; border: 0; }
  .k-tx .tx-table.tx-facts th, .k-tx .tx-table.tx-facts td:nth-child(n) { display: table-cell; grid-area: auto; padding: 9px 10px 9px 0; border-bottom: 1px solid var(--line-soft); color: inherit; font-size: inherit; text-align: left; }
  .k-tx .tx-table.tx-facts th { border-bottom-color: var(--text); color: var(--text-2); font-size: 12px; }
  .k-tx .tx-table.tx-facts .r, .k-tx .tx-table.tx-facts td.r:nth-child(n) { padding-right: 0; text-align: right; }
  .k-tx .tx-table.tx-facts tr.tot td:nth-child(n) { border-top: 1px solid var(--text); border-bottom: 0; font-weight: 600; }
}
/* The years table: the whole row opens its year (the year's link stretched over it), and the row's own links sit above it. */
.k-tx .tx-hist-years tbody tr { position: relative; }
.k-tx .tx-hist-years td.tx-year a::after { content: ""; position: absolute; inset: 0; }
.k-tx .tx-hist-years td.tx-links a { position: relative; z-index: 1; }
.k-tx .tx-hist-years tbody tr:has(td.tx-year a) { cursor: pointer; }
.k-tx .tx-hist-years tbody tr:has(td.tx-year a):hover td { background: var(--navy-wash); }
.k-tx .tx-hist-years tbody tr[aria-selected="true"]:hover td { background: var(--navy-tint); }
.k-tx .tx-hist-years tbody tr:has(td.tx-year a:focus-visible) { box-shadow: inset var(--focus-ring); }
.k-tx .tx-hist-years td.tx-year a:focus-visible { outline: none; }
@media (max-width: 700px) { .k-tx .tx-hist-years tbody tr:has(td.tx-year a):hover td { background: transparent; } .k-tx .tx-hist-years tbody tr:has(td.tx-year a):hover { background: var(--navy-wash); } .k-tx .tx-hist-years tbody tr[aria-selected="true"]:hover { background: var(--navy-tint); } }
@container k-tx-frame (max-width: 700px) { .k-tx .tx-hist-years tbody tr:has(td.tx-year a):hover td { background: transparent; } .k-tx .tx-hist-years tbody tr:has(td.tx-year a):hover { background: var(--navy-wash); } .k-tx .tx-hist-years tbody tr[aria-selected="true"]:hover { background: var(--navy-tint); } }
/* Landing on the years or the opened year from a link keeps the charts above in view. */
@media (min-width: 701px) { .k-tx #tax-year, .k-tx #tax-years { scroll-margin-top: 380px; } }

/* Today, the shared block (UI-073 stage 3; app/kit/blocks/today.js). The approved Today M4 boards in kit tokens: live Today and
   the boards load this same file (the portal through /kit-portal.css, the boards through kit-additions.css). No style
   attributes, data: URLs or scripts (the portal's CSP): a number per element (a delay) is a stepped class (k-td-dN).
   Widths are the block's own (container k-td), so a phone board on a wide screen reads as a phone, as the year block does.
   Motion (Sonny 9/30): every module fades in 160ms; the first view of a session (.is-first on an ancestor: the portal's session
   flag, a board's first: true) runs the sequence, slower and in order: figures share one entrance, rows arrive one by one,
   the balance line draws. The animation names come from --tm-* so a board's Replay control can restart them. Nothing blocks
   a click; reduced motion shows the finished page. */
.k-td { --k-td-e: cubic-bezier(.2, .8, .2, 1); --k-td-e-out: cubic-bezier(.16, 1, .3, 1); --k-td-e-io: cubic-bezier(.65, 0, .35, 1);
  --k-td-ink: var(--pk-bar, var(--deep)); --k-td-raise: 0 14px 36px rgba(21, 23, 28, .12);
  container: k-td / inline-size; min-width: 0; }
.k-td-body { min-width: 0; }
.k-td-grid { container: k-tdg / inline-size; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 28px 20px; align-items: stretch; padding: 18px 32px 20px 40px; }
.k-td-grid > * { min-width: 0; }
.k-td-body.is-split .k-td-grid { padding-right: 24px; }
.k-td-span-3 { grid-column: span 3; } .k-td-span-4 { grid-column: span 4; } .k-td-span-5 { grid-column: span 5; } .k-td-span-6 { grid-column: span 6; }
.k-td-span-7 { grid-column: span 7; } .k-td-span-12 { grid-column: span 12; }
@container k-tdg (max-width: 980px) { .k-td-span-3, .k-td-span-4, .k-td-span-5 { grid-column: span 6; } .k-td-span-7 { grid-column: span 12; } }
@container k-tdg (max-width: 640px) { .k-td-span-3, .k-td-span-4, .k-td-span-5, .k-td-span-6 { grid-column: span 12; } }

/* ---- The ink cover: the day, the greeting, where things stand as figures. No button and no track on the ink. ---- */
.k-td-cover { position: relative; overflow: hidden; padding: 34px 32px 104px 40px; color: var(--ink-text);
  background: radial-gradient(90% 160% at 100% 0%, color-mix(in srgb, var(--navy) 38%, var(--k-td-ink)) 0, var(--k-td-ink) 70%); }
.k-td-cover.is-flat { padding-bottom: 34px; }
.k-td-contour { position: absolute; right: -60px; bottom: -80px; width: 900px; max-width: none; height: auto; fill: none; stroke: var(--on-dark); stroke-opacity: .06; stroke-width: 1.2; pointer-events: none; }
.k-td-cover > :not(.k-td-contour) { position: relative; }
.k-td-kicker { margin: 0; line-height: normal; font-size: 11.5px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--sand); }
.k-td-cover > .k-td-kicker { color: var(--hl); }
.k-td-cover > h1 { margin: 6px 0 0; font-family: var(--font-serif); font-size: 36px; font-weight: 400; line-height: 1.1; letter-spacing: normal; color: var(--on-dark); }
.k-td-figs { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 28px; border-top: 1px solid rgba(255, 255, 255, .55); }
.k-td-figs.n1 { grid-template-columns: minmax(0, 1fr); } .k-td-figs.n2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.k-td-fig { display: flex; flex-direction: column; min-width: 0; padding: 16px 24px 0 0; color: inherit; text-decoration: none; }
.k-td-fig + .k-td-fig { padding-left: 24px; border-left: 1px solid var(--ink-line); }
.k-td-fig > span { font-size: 12.5px; font-weight: 500; color: var(--ink-text); }
.k-td-fig > b { margin: 6px 0 4px; font-family: var(--font-serif); font-weight: 400; font-size: 42px; line-height: 1.05; letter-spacing: -.01em; font-variant-numeric: tabular-nums; color: var(--on-dark); }
.k-td-fig > small { font-size: 12.5px; line-height: 1.5; color: var(--ink-muted); }
a.k-td-fig:hover > b { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .12em; }
.k-td .short { display: none; }
/* A return's five steps, a position on a scale and not a share. */
.k-td-steps { display: flex; gap: 3px; width: 120px; margin-top: 8px; }
.k-td-steps > i { flex: 1; height: 3px; border-radius: 2px; background: var(--line); }
.k-td-steps > i.on { background: var(--navy); }
.k-td-cover .k-td-steps > i { background: var(--deep-line); } .k-td-cover .k-td-steps > i.on { background: var(--hl); }
/* The season: line art standing on the figures' rule, right of the greeting, fading in from its left so it never reaches the words. */
.k-td-season { position: absolute; right: 0; bottom: calc(100% + 1px); width: min(560px, 48%); height: auto; aspect-ratio: 560 / 120; overflow: visible; pointer-events: none;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 40%); mask-image: linear-gradient(90deg, transparent 0, #000 40%); }
.k-td-season :is(path, circle) { fill: none; stroke-width: 1.2; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.k-td-season .g { stroke: var(--hl); stroke-opacity: .72; } .k-td-season .c { stroke: var(--ink-brand); stroke-opacity: .34; } .k-td-season .s { stroke: var(--sand-dot); stroke-opacity: .75; }
.k-td-season .o { stroke: color-mix(in srgb, var(--olive) 50%, var(--ink-brand)); stroke-opacity: .55; }
.k-td-season .f { stroke-opacity: .2; } .k-td-season .g.f { stroke-opacity: .34; }
.k-td-season .dot { stroke: none; fill: var(--ink-brand); fill-opacity: .5; } .k-td-season .dot.g { fill: var(--hl); fill-opacity: .8; }

/* ---- For you (or the welcome) and the note, or Your projects, rise over the cover's edge. ---- */
.k-td-raised-row { grid-column: 1 / -1; position: relative; z-index: 1; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 20px; margin-top: -72px; }
.k-td-raised-row > .k-td-foryou { grid-column: span 7; }
.k-td-raised-row > :is(.k-td-notes, .k-td-projects, .k-td-taxyear) { grid-column: span 5; }
.k-td-raised-row > :is(.k-td-projects, .k-td-taxyear) { align-self: start; }
.k-td-raised-row.is-single > * { grid-column: 1 / -1; }
/* Got it sets the last note aside in place (the page's script removes it): its column goes and For you takes the row. */
.k-td-raised-row > .k-td-notes:empty { display: none; }
.k-td-raised-row:has(> .k-td-notes:empty) > .k-td-foryou { grid-column: 1 / -1; }
@container k-tdg (max-width: 980px) { .k-td-raised-row > *, .k-td-raised-row > :is(.k-td-foryou, .k-td-notes, .k-td-projects, .k-td-taxyear) { grid-column: 1 / -1; } }
.k-td-foryou { display: flex; flex-direction: column; min-width: 0; }
.k-td-foryou > :is(.k-slot, .k-td-card) { flex: 1; display: flex; flex-direction: column; }
.k-td-foryou > .k-td-card, .k-td-foryou > .k-slot > :first-child { box-shadow: var(--k-td-raise); }
.k-td-foryou > .k-slot > :first-child { flex: 1; }
.k-td-standing > p, .k-td-welcome > p { margin: 0; padding: 16px 18px; font-size: 13.5px; line-height: 1.5; color: var(--text-2); }
.k-td-welcome > p { padding-bottom: 4px; }

/* ---- The advisor's note on warm paper, set aside with Got it; the verse its closing strip. ---- */
.k-td-notes { display: flex; flex-direction: column; gap: 20px; min-width: 0; align-self: start; }
.k-td-note { position: relative; display: flex; flex-direction: column; border: 1px solid var(--note-line); border-radius: var(--r-card); background: var(--note-wash); box-shadow: var(--k-td-raise); }
.k-td-note::before { content: ""; position: absolute; left: 22px; top: -1px; width: 36px; height: 3px; border-radius: 0 0 2px 2px; background: var(--hl); }
.k-td-note-body { display: flex; flex-direction: column; flex: 1; gap: 14px; padding: 22px 22px 20px; }
.k-td-note-from { display: flex; align-items: center; gap: 12px; padding-right: 28px; }
.k-td-note-from .k-td-av { width: 44px; height: 44px; font-size: 14px; background: var(--navy); color: var(--on-dark); box-shadow: none; }
.k-td-note-from .k-td-two > b { font-size: 15px; font-weight: 600; }
.k-td-note-text { display: flex; flex-direction: column; gap: 10px; font-size: 14px; line-height: 1.6; color: var(--text); overflow-wrap: anywhere; }
.k-td-note-text p { margin: 0; max-width: 680px; }
.k-td-note-text a { color: var(--navy); font-weight: 500; text-decoration: underline; text-underline-offset: .2em; }
.k-td-more, .k-td-more-label { display: none; }
.k-td-verse { margin-top: auto; padding: 14px 22px 16px; border-top: 1px solid var(--note-line); }
.k-td-verse > p { margin: 0; max-width: 680px; font-size: 14px; line-height: 1.5; color: var(--text-2); }
.k-td-verse > small { display: block; margin-top: 2px; font-size: 12.5px; color: var(--text-3); }
.k-td-note-acts { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; }
.k-td-sign { font-size: 14px; font-weight: 600; color: var(--text); }
.k-td-note-set { position: absolute; top: 10px; right: 10px; margin: 0; }
.k-td-note-x { display: grid; place-items: center; width: 28px; height: 28px; padding: 0; border: 0; border-radius: 50%; background: none; color: var(--text-4); cursor: pointer; }
.k-td-note-x:hover { background: var(--quiet); color: var(--text); }
.k-td-note-x .k-td-icon { width: 14px; height: 14px; }

/* ---- Cards and open sections ---- */
.k-td-card { position: relative; display: flex; flex-direction: column; min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: var(--r-card); background: var(--surface); }
.k-td-card.is-raised { box-shadow: var(--k-td-raise); }
.k-td-card-head { display: flex; align-items: baseline; gap: 12px; padding: 14px 18px 10px; border-bottom: 1px solid var(--line); }
.k-td-card-head h2 { margin: 0; font-size: 14.5px; font-weight: 600; line-height: normal; color: var(--text); }
.k-td-card-head h2 a { color: inherit; text-decoration: none; } .k-td-card-head h2 a:hover { text-decoration: underline; }
.k-td-card-head > .k-td-state { margin-left: auto; }
.k-td-link { margin-left: auto; padding: 0; font-size: 13px; font-weight: 500; color: var(--text); text-decoration: none; white-space: nowrap; }
.k-td-link::after { content: "\2192"; display: inline-block; margin-left: 5px; opacity: 0; transform: translateX(-4px); transition: opacity 150ms var(--k-td-e), transform 150ms var(--k-td-e); }
.k-td-link:is(:hover, :focus-visible)::after { opacity: 1; transform: none; }
label.k-td-link::after { content: none; }
.k-td-open { min-width: 0; }
.k-td-kick { display: flex; align-items: baseline; gap: 12px; padding-bottom: 8px; border-bottom: 1px solid var(--text); }
.k-td-body > p, .k-td .k-td-body { min-width: 0; }
.k-td-card > .k-td-body { flex: 1; padding: 12px 18px 14px; }
.k-td-card > .k-td-body > p { margin: 0; font-size: 13.5px; line-height: 1.5; color: var(--text-2); }
.k-td-card > .k-td-body > p + p { margin-top: 6px; }
.k-td-meta { font-size: 12.5px; color: var(--text-3); } .k-td-card > .k-td-body > .k-td-meta { font-size: 12.5px; color: var(--text-3); }
.k-td-meta a { color: var(--navy); font-weight: 500; text-decoration: none; } .k-td-meta a:hover { text-decoration: underline; }
.k-td-acts { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 12px 18px 14px; }
.k-td-card > .k-td-acts:last-child { margin-top: auto; }
.k-td .k-btn > .k-td-icon { width: 14px; height: 14px; }
/* A row: open on its card's hairlines; the chevron leans in on hover. */
.k-td-rows { margin: 0; padding: 0; list-style: none; }
.k-td-row { display: flex; align-items: center; gap: 12px; min-width: 0; padding: 12px 18px; border-top: 1px solid var(--line-soft); color: inherit; text-decoration: none; }
.k-td-rows > li:first-child > .k-td-row { border-top: 0; }
.k-td-row:hover { background: var(--quiet); }
.k-td-two { display: flex; flex-direction: column; min-width: 0; }
.k-td-row > .k-td-two { flex: 1; }
.k-td-two > b, .k-td-two > span:first-child { font-size: 13px; font-weight: 400; line-height: 1.3; color: var(--text); }
.k-td-two > small { margin-top: 0; font-size: 12px; line-height: 1.3; color: var(--text-3); }
.k-td-team > .k-td-two > span:first-child { font-size: 13.5px; font-weight: 500; }
.k-td-team > .k-td-two > small { font-size: 12.5px; }
.k-td-chev { flex: none; display: grid; color: var(--text-3); transition: transform 150ms var(--k-td-e), color 150ms var(--k-td-e); }
.k-td-chev .k-td-icon { width: 15px; height: 15px; }
.k-td-row:hover .k-td-chev { transform: translateX(3px); color: var(--text-2); }
.k-td-row .k-td-steps { margin-top: 8px; }
/* Who has it: With you on sand (the reader's turn), With Angelus quiet. No navy: navy is the primary action. */
.k-td-state { flex: none; padding: 2px 9px; border-radius: 999px; background: var(--quiet); font-size: 12px; font-weight: 500; white-space: nowrap; color: var(--text-3); }
.k-td-state.you { background: var(--st-due-tint); color: var(--st-due-ink); font-weight: 600; }
.k-td-projects > .k-td-rows { flex: 1 1 auto; }
.k-td-grid > .k-td-projects { align-self: start; }
.k-td-team { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding: 12px 18px; border-top: 1px solid var(--line); }
.k-td-team.is-alone { justify-content: flex-end; }
.k-td-team > .k-td-two { flex: 1; }
.k-td-avs { display: flex; }
.k-td-av { display: grid; place-items: center; flex: none; width: 32px; height: 32px; border-radius: 50%; background: var(--navy-tint); color: var(--navy); font-size: 11.5px; font-weight: 600; box-shadow: 0 0 0 2px var(--surface); }
.k-td-av + .k-td-av { margin-left: -6px; }
/* Giving, on the quiet card: the figure, the goal in words (no bar), then the gifts. */
.k-td-quiet { border-color: transparent; background: var(--quiet); }
.k-td-quiet .k-td-row { border-top-color: var(--line); }
.k-td-quiet .k-td-rows > li:first-child > .k-td-row { border-top: 1px solid var(--line); }
.k-td-quiet .k-td-row:hover { background: color-mix(in srgb, var(--surface) 60%, var(--quiet)); }
.k-td-big { display: flex; flex-direction: column; min-width: 0; padding: 12px 18px 14px; }
.k-td-big > span { font-size: 12.5px; font-weight: 500; color: var(--text-3); }
.k-td-big > b { margin: 6px 0 4px; font-family: var(--font-serif); font-weight: 400; font-size: 42px; line-height: 1.05; letter-spacing: -.01em; font-variant-numeric: tabular-nums; color: var(--text); }
.k-td-big > small { font-size: 12.5px; line-height: 1.5; color: var(--text-3); }
.k-td-big small > b { font-weight: 600; color: var(--text); }
.k-td-gifts .k-td-row { padding: 10px 18px; }
.k-td-giving > .k-td-big { padding: 10px 18px 12px; }
.k-td-amt { flex: none; font-size: 13.5px; font-weight: 500; font-variant-numeric: tabular-nums; white-space: nowrap; color: var(--text); }
/* Balance history, open on the page ground: the figure, then one line at its drawn width, shrinking only when narrower. */
.k-td-bal .k-td-big { padding: 16px 0 0; }
.k-td-chart { display: block; max-width: 100%; height: auto; margin-top: 14px; overflow: visible; }
.k-td-chart .ax { fill: none; stroke: var(--control-strong); stroke-width: 1; }
.k-td-chart .area { fill: var(--d1); fill-opacity: .1; }
.k-td-chart .line { fill: none; stroke: var(--d1); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 1; }
.k-td-chart .end { fill: var(--d1); stroke: var(--surface); stroke-width: 2.5; }
.k-td-chart .lab { font-size: 11.5px; font-weight: 500; fill: var(--text-3); } .k-td-chart .lab-x { font-weight: 400; fill: var(--text-5); }
.k-td-pt > :not(rect) { opacity: 0; transition: opacity 120ms var(--k-td-e); } .k-td-pt:hover > * { opacity: 1; }
.k-td-chart .pt-guide { fill: none; stroke: var(--text-5); stroke-width: 1; }
.k-td-chart .pt-dot { fill: var(--d1); stroke: var(--surface); stroke-width: 2; }
.k-td-chart .pt-tip rect { fill: var(--k-td-ink); } .k-td-chart .pt-tip text { font-size: 11.5px; font-weight: 500; fill: var(--on-dark); }

/* ---- The Community: the event with its date tile on the left, each item in its kind's colour on the right. ---- */
.k-td-c4 { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 0 36px; align-items: start; padding-top: 18px; }
.k-td-c4:not(:has(.k-td-c4-event)), .k-td-c4:not(:has(.k-td-list)) { grid-template-columns: minmax(0, 1fr); }
.k-td-c4-event { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 22px; align-items: stretch; }
.k-td-artband { overflow: hidden; line-height: 0; border-radius: 12px; background: linear-gradient(180deg, color-mix(in srgb, var(--gold) 16%, var(--note-wash)), var(--note-wash)); }
.k-td-art { display: block; width: 100%; height: 100%; min-height: 220px; max-width: none; transform-origin: 70% 100%; transition: transform 170ms var(--k-td-e); }
.k-td-c4-event:hover .k-td-art { transform: scale(1.03); }
.k-td-event { display: flex; flex-direction: column; justify-content: center; gap: 8px; min-width: 0; }
.k-td-event p { margin: 0; font-size: 13px; line-height: 1.5; color: var(--text-2); }
.k-td-event p.k-td-when { font-size: 12.5px; color: var(--text-3); }
.k-td-c4-head { display: flex; align-items: flex-start; gap: 14px; }
.k-td-c4-head h3 { margin: 4px 0 0; display: block; font-size: 18px; font-weight: 600; line-height: 1.35; color: var(--text); }
.k-td-c4-head h3 a { color: inherit; text-decoration: none; } .k-td-c4-head h3 a:hover { text-decoration: underline; }
.k-td-date { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; flex: none; width: 44px; height: 48px; border: 1px solid var(--navy-ring); border-radius: var(--r-control); background: var(--navy-wash); line-height: 1; }
.k-td-date > small { font-size: 10.5px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; color: var(--text-4); }
.k-td-date > b { margin-top: 4px; font-size: 18px; font-weight: 600; font-variant-numeric: tabular-nums; color: var(--text); }
.k-td-list .k-td-row { padding: 10px 0; }
.k-td-list > li:first-child > .k-td-row { border-top: 0; }
.k-td-list .k-td-row:hover { background: var(--surface); box-shadow: -10px 0 0 var(--surface), 10px 0 0 var(--surface); }
.k-td-community.is-day-one .k-td-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 36px; }
.k-td-community.is-day-one .k-td-list > li:nth-child(2) > .k-td-row { border-top: 0; }
.k-td-tile { display: grid; place-items: center; flex: none; width: 32px; height: 32px; border-radius: var(--r-control); }
.k-td-tile .k-td-icon { width: 16px; height: 16px; }
.k-td-tile.resource { background: var(--sand-tint); color: var(--sand); }
.k-td-tile.update { background: var(--plum-tint); color: var(--plum); }
.k-td-tile.course { background: var(--olive-tint); color: var(--olive); }
.k-td-tile.event { background: var(--navy-tint); color: var(--navy); }
.k-td-marks { display: flex; gap: 3px; margin-top: 6px; }
.k-td-marks > i { width: 20px; height: 4px; border-radius: 2px; background: var(--line); }
.k-td-marks > i.on { background: var(--olive); } .k-td-marks > i.now { background: color-mix(in srgb, var(--olive) 45%, var(--line)); }
@container k-tdg (max-width: 760px) { .k-td-c4 { grid-template-columns: minmax(0, 1fr); gap: 18px 0; } .k-td-c4-event { grid-template-columns: minmax(0, 1fr); gap: 16px; } .k-td-c4 .k-td-art { min-height: 0; height: 110px; } .k-td-community.is-day-one .k-td-list { grid-template-columns: minmax(0, 1fr); } }

/* ---- First arrival. A module's start (ms) is a stepped class; an element's own offset inside it is --o. ---- */
.k-td-d0 { --d: 0; } .k-td-d120 { --d: 120; } .k-td-d300 { --d: 300; } .k-td-d600 { --d: 600; } .k-td-d700 { --d: 700; } .k-td-d1550 { --d: 1550; }
.k-td-d1650 { --d: 1650; } .k-td-d1700 { --d: 1700; } .k-td-d1750 { --d: 1750; } .k-td-d1850 { --d: 1850; } .k-td-d2000 { --d: 2000; }
@keyframes k-td-rise { from { opacity: 0; transform: translateY(8px); } }
@keyframes k-td-risesm { from { opacity: 0; transform: translateY(4px); } }
@keyframes k-td-fade { from { opacity: 0; } }
@keyframes k-td-grow { from { transform: scaleX(0); } }
@keyframes k-td-draw { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
.k-td-in { animation: k-td-fade 160ms ease-out backwards; }
.is-first .k-td-in { animation: var(--tm-rise, k-td-rise) 420ms var(--k-td-e) backwards; animation-delay: calc(var(--d, 0) * 1ms); }
.k-td-foryou .k-slot li:nth-child(1) { --o: 140; } .k-td-foryou .k-slot li:nth-child(2) { --o: 220; } .k-td-foryou .k-slot li:nth-child(3) { --o: 300; }
.k-td-foryou .k-slot li:nth-child(4) { --o: 380; } .k-td-foryou .k-slot li:nth-child(n+5) { --o: 460; }
.k-td-rows > li:nth-child(1) { --o: 160; } .k-td-rows > li:nth-child(2) { --o: 240; } .k-td-rows > li:nth-child(3) { --o: 320; } .k-td-rows > li:nth-child(4) { --o: 400; } .k-td-rows > li:nth-child(n+5) { --o: 480; }
.k-td-team, .k-td-note-acts, .k-td-verse { --o: 400; }
.is-first :is(.k-td-foryou .k-slot li, .k-td-rows > li, .k-td-team, .k-td-note-acts, .k-td-verse) { animation: var(--tm-risesm, k-td-risesm) 300ms var(--k-td-e-out) backwards; animation-delay: calc((var(--d, 0) + var(--o, 0)) * 1ms); }
.is-first .k-td-fig > b { animation: var(--tm-risesm, k-td-risesm) 420ms var(--k-td-e-out) backwards; animation-delay: 60ms; }
.is-first .k-td-fig > small { animation: var(--tm-fade, k-td-fade) 400ms ease-out backwards; animation-delay: 220ms; }
.is-first .k-td-steps > i.on { transform-origin: left; animation: var(--tm-grow, k-td-grow) 400ms var(--k-td-e-io) backwards; animation-delay: calc((var(--d, 0) + 300) * 1ms); }
.is-first .k-td-season { animation: var(--tm-fade, k-td-fade) 900ms ease-out backwards; animation-delay: 520ms; }
.is-first .k-td-chart .line { animation: k-td-draw 800ms cubic-bezier(.45, 0, .2, 1) backwards; animation-delay: calc((var(--d, 0) + 260) * 1ms); }
.is-first .k-td-chart :is(.area, .end, .lab) { animation: var(--tm-fade, k-td-fade) 400ms ease-out backwards; animation-delay: calc((var(--d, 0) + 900) * 1ms); }
@media (prefers-reduced-motion: reduce) { .k-td *, .k-td *::before, .k-td *::after { animation: none !important; transition: none !important; } }

/* ---- A phone: its own composition. The cover keeps two figures and its drawing behind the greeting's end; For you rises over
   it; the note folds to three lines; the year is the agenda; each card is one column. ---- */
@container k-td (max-width: 700px) {
  .k-td .long { display: none; } .k-td .short { display: inline; }
  .k-td-cover { padding: 16px 16px 70px; } .k-td-cover.is-flat { padding-bottom: 20px; }
  .k-td-cover > h1 { z-index: 1; font-size: 34px; line-height: 1; text-shadow: 0 0 6px var(--k-td-ink), 0 0 14px var(--k-td-ink), 0 0 2px var(--k-td-ink); }
  .k-td-kicker { font-size: 12px; }
  .k-td-figs { margin-top: 18px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .k-td-figs:has(> .k-td-season) > .k-td-fig:nth-child(n+4), .k-td-figs:not(:has(> .k-td-season)) > .k-td-fig:nth-child(n+3) { display: none; }
  .k-td-fig { padding: 10px 12px 0 0; } .k-td-fig + .k-td-fig { padding: 10px 0 0 12px; }
  .k-td-fig > b { font-size: 30px; }
  .k-td-fig > small { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
  .k-td-season { width: 52%; aspect-ratio: 260 / 120; opacity: .75; overflow: hidden; }
  .k-td-grid { padding: 0 16px 8px; gap: 24px 0; }
  .k-td-raised-row { margin-top: -54px; gap: 16px; }
  .k-td-raised-row > * > :first-child, .k-td-note, .k-td-card.is-raised { box-shadow: 0 12px 28px rgba(21, 23, 28, .16); }
  .k-td-note-body { gap: 10px; padding: 16px 16px 14px; }
  .k-td-note-text { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
  .k-td-more { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); display: block; }
  .k-td-more-label { display: block; cursor: pointer; margin-left: 0; }
  .k-td-more:checked ~ .k-td-note-text { display: block; -webkit-line-clamp: unset; }
  .k-td-more:checked ~ .k-td-more-label { display: none; }
  .k-td-more:focus-visible ~ .k-td-more-label { outline: none; box-shadow: var(--focus-ring); }
  .k-td-note-acts { flex-wrap: wrap; }
  .k-td-sign, .k-td-verse { display: none; }
  .k-td-big { padding: 4px 16px 14px; } .k-td-bal .k-td-big { padding: 16px 0 0; }
  .k-td-big > b { font-size: 30px; }
  .k-td-card-head { padding: 14px 16px 12px; } .k-td-row { padding: 11px 16px; } .k-td-list .k-td-row { padding: 10px 0; }
  .k-td-card > .k-td-body { padding: 12px 16px 14px; } .k-td-acts { padding: 10px 16px 14px; }
  .k-td-team { padding: 12px 16px; }
  .k-td-team > .k-td-two { flex: 1 1 60%; }
  .k-td-team > .k-btn { flex: 1 1 100%; justify-content: flex-start; padding-left: 0; }
  .k-td-gifts .k-td-row { min-height: 52px; }
}

/* Work, the shared block (UI-073 stage 10): the client's work and business pages: Your work (what is in progress, what
   is done), a project's own page (what we need from you, where things stand, its milestones, its requests, documents and
   messages), a business month (the months, where it stands, its transactions and statement) and Your business (each
   service's months, User access). Request rows on these pages are the Requests block's. The markup is the pages' own
   (client-service-work-view.js, client-business-month.js); its root is .k-kit.k-wk on the head and the body. Every rule is the
   portal's own for these parts, re-rooted here in the kit's tokens, so the pages and a board draw the same look from this file.
   The resets keep their place under the rest (@layer k-wk-base); the portal's component rules come first, so its other rules
   win where they meet, as they do on the portal.
   A width rule is written twice: for the window (the portal) and for a frame (@container k-wk-frame, a phone board). */
@layer k-wk-base;
.k-wk { --k-wk-inset: 16px; --k-wk-action: 96px; font-family: inherit; font-size: 13px; line-height: 1.55; color: var(--text); }
@media (max-width: 700px) { .k-wk { --k-wk-action: 84px; } }
@container k-wk-frame (max-width: 700px) { .k-wk { --k-wk-action: 84px; } }
@media (max-width: 560px) { .k-wk { --k-wk-inset: 12px; } }
@container k-wk-frame (max-width: 560px) { .k-wk { --k-wk-inset: 12px; } }
/* A link reads as its words unless a rule below colours it (the portal's own base); outside the base layer, so a board's kit link colour does not reach it. */
.k-wk a { color: inherit; text-decoration: none; }
@layer k-wk-base {
:where(.k-wk), :where(.k-wk) *, :where(.k-wk) ::before, :where(.k-wk) ::after { box-sizing: border-box; border-width: 0; border-style: solid; }
:where(.k-wk) :is(h1, h2, h3, p, ul, ol, dl, dd, fieldset) { margin: 0; }
:where(.k-wk) :is(ul, ol) { list-style: none; padding: 0; }
:where(.k-wk) :is(fieldset, legend) { padding: 0; }
:where(.k-wk) :is(button, input, select, textarea) { font: inherit; color: inherit; }
:where(.k-wk) button { cursor: pointer; background: transparent; }
:where(.k-wk) a { color: inherit; text-decoration: none; text-underline-offset: .2em; }
:where(.k-wk) :is(img, svg) { display: block; max-width: 100%; }
:where(.k-wk) :is(h1, h2, h3) { font: inherit; }

}
.portal-page-head.k-wk, .k-wk .portal-page-head { display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px; }
.portal-page-head.k-wk h1, .k-wk .portal-page-head h1 { margin-top: 4px;
    color: var(--text);
    font-family: var(--font), ui-sans-serif, system-ui, sans-serif;
    font-size: 28px;
    font-weight: 800;
    letter-spacing: -.035em;
    line-height: 1.08; }
@media (max-width: 39.9375rem) { .portal-page-head.k-wk, .k-wk .portal-page-head { align-items: start; } }
@container k-wk-frame (max-width: 39.9375rem) { .portal-page-head.k-wk, .k-wk .portal-page-head { align-items: start; } }
.portal-overview-panel.k-wk, .k-wk .portal-overview-panel { overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface); }
.k-wk .portal-overview-action-register { border-top: 0; }
.k-wk .portal-overview-action-register li { display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  min-height: 56px;
  padding: 8px var(--k-wk-inset);
  border-top: 1px solid var(--line-soft);
  background: var(--surface);
  transition: background 120ms cubic-bezier(.2, .7, .2, 1); }
.k-wk .portal-overview-action-register li:hover { background: var(--ground); }
.k-wk .portal-overview-register-copy strong, .k-wk .portal-overview-register-copy small { display: block; }
.k-wk .portal-overview-register-copy strong { color: var(--text);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.3; }
.k-wk .portal-overview-register-copy small { margin-top: 2px;
  overflow: hidden;
  color: var(--text-3);
  font-size: 12.5px;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap; }
.k-wk .portal-overview-action-register a, .k-wk .portal-overview-text-link { color: var(--navy);
  font-size: 13.5px;
  font-weight: 500;
  text-decoration: none; }
.k-wk .portal-overview-action-register a:hover, .k-wk .portal-overview-text-link:hover { text-decoration: underline; text-underline-offset: 3px; }
.portal-overview-panel.k-wk, .k-wk .portal-overview-panel { overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: var(--surface); }
.k-wk .portal-overview-section-title { display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px var(--k-wk-inset) 8px; }
.k-wk .portal-overview-section-title h2 { color: var(--text);
    font-size: 14.5px;
    font-weight: 600;
    letter-spacing: 0;
    line-height: 1.3; }
.k-wk .portal-overview-row-action { min-height: 34px;
    display: inline-flex;
    align-items: center;
    border: 1px solid var(--control);
    border-radius: 8px;
    background: var(--surface);
    color: var(--text);
    padding: 0 12px;
    font-size: 13.5px;
    font-weight: 500;
    text-decoration: none; }
.k-wk .portal-overview-row-action:hover { border-color: var(--text-5); background: var(--ground); }
.k-wk .portal-overview-row-action.is-primary { border-color: var(--navy); background: var(--navy); color: var(--on-dark); }
.k-wk .portal-overview-row-action.is-primary:hover { border-color: var(--navy-hover); background: var(--navy-hover); color: var(--on-dark); }
.k-wk h1 { font-family: var(--font-serif); }
.k-wk .portal-overview-register-copy { min-width:0; }
.k-wk .proto-request-list>li { position:relative; }
.k-wk .proto-request-list .portal-overview-register-copy small { white-space:normal;overflow:visible; }
.k-wk .proto-request-list p { margin-top:6px;font-size:12px;color:var(--text-2); }
.k-wk .proto-status { font-size:12px;color:var(--text-2); }
.k-wk .proto-status[data-state=needed] { color:var(--terra); }
.k-wk .portal-overview-row-action { gap:8px;white-space:normal;justify-content:center;text-align:center; }
.k-wk .portal-overview-row-action { min-width:var(--k-wk-action); }
.proto-panel-stack.k-wk, .k-wk .proto-panel-stack { display:grid;gap:16px; }
.k-wk .proto-panel-note, .k-wk .proto-panel-body { padding:var(--k-wk-inset);color:var(--text-2); }
.k-wk .contact-details { padding:0 var(--k-wk-inset); }
.k-wk .contact-details>div { display:grid;grid-template-columns:minmax(110px,1fr) minmax(0,3fr);gap:16px;padding:16px 0;border-bottom:1px solid var(--line); }
.k-wk .contact-details>div:last-child { border-bottom:0; }
.k-wk .contact-details dt { color:var(--text-2); }
.k-wk .contact-details dd { overflow-wrap:anywhere; }
.k-wk .proto-profile-grid .contact-details>div { grid-template-columns:minmax(0,1fr) minmax(0,1.7fr);padding:12px 0;gap:12px; }
.proto-profile-other.k-wk>label, .k-wk .proto-profile-other>label { font-weight:600; }
.proto-profile-other.k-wk, .k-wk .proto-profile-other { padding:var(--k-wk-inset); }
.proto-profile-other.k-wk h2, .k-wk .proto-profile-other h2 { font-size:16px;font-weight:650; }
.proto-profile-other.k-wk .proto-employment, .k-wk .proto-profile-other .proto-employment { padding-left:0;padding-right:0; }
.proto-profile-other.k-wk>label, .k-wk .proto-profile-other>label { display:block;margin-top:16px; }
.proto-profile-other.k-wk>p, .k-wk .proto-profile-other>p { color:var(--text-2);margin:6px 0 12px;max-width:75ch; }
@media (max-width:700px) { .k-wk .proto-profile-grid .contact-details>div { grid-template-columns:minmax(0,1fr);gap:6px; } }
@container k-wk-frame (max-width:700px) { .k-wk .proto-profile-grid .contact-details>div { grid-template-columns:minmax(0,1fr);gap:6px; } }
@media (max-width:450px) { .portal-page-head.k-wk, .k-wk .portal-page-head { flex-wrap:wrap; } }
@container k-wk-frame (max-width:450px) { .portal-page-head.k-wk, .k-wk .portal-page-head { flex-wrap:wrap; } }
@media (max-width:450px) { .k-wk .contact-details>div { grid-template-columns:minmax(0,1fr);gap:6px; } }
@container k-wk-frame (max-width:450px) { .k-wk .contact-details>div { grid-template-columns:minmax(0,1fr);gap:6px; } }
@media (max-width:450px) { .k-wk .portal-overview-row-action { max-width:100%; } }
@container k-wk-frame (max-width:450px) { .k-wk .portal-overview-row-action { max-width:100%; } }
@media print { .portal-overview-panel.k-wk, .k-wk .portal-overview-panel { break-inside:avoid; } }
.portal-page-head.k-wk>div+div, .k-wk .portal-page-head>div+div { display:flex;gap:8px;flex-wrap:wrap;align-items:center; }
.k-wk .season-stop-card .season-line, .k-wk .season-stop-card .season-note { margin:0; }
.k-wk .season-now .season-line, .k-wk .season-now .season-note { margin:0; }
.k-wk .season-now .season-actions { margin-top:6px; }
.k-wk .season-line { font-size:16px;font-weight:650;color:var(--text);line-height:1.3; }
.k-wk .season-note { color:var(--text-2); }
.k-wk .season-state[data-state=needed] { color:var(--terra); }
.k-wk .season-state[data-state=received] { color:var(--olive); }
.k-wk .season-state[data-state=uploading] { color:var(--text-2);font-variant-numeric:tabular-nums; }
.k-wk .season-state[data-state=error] { color:var(--terra); }
.k-wk .season-note-card { display:flex;gap:12px;align-items:flex-start;margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--pk-warm-stone, var(--quiet)); }
.k-wk .season-note-card p { margin:0;line-height:1.55; }
.k-wk .season-actions { margin-top:16px;display:flex;flex-wrap:wrap;gap:8px; }
.k-wk .season-note-card { transition:opacity .5s ease .9s,transform .5s ease .9s; }
.k-wk .season-reveal.is-animating .season-note-card { opacity:0;transform:translateY(6px);transition:none; }
.k-wk .proto-panel-body>.portal-overview-section-title, .proto-profile-other.k-wk>.portal-overview-section-title, .k-wk .proto-profile-other>.portal-overview-section-title { margin:calc(var(--k-wk-inset) * -1) calc(var(--k-wk-inset) * -1) 8px;padding:12px var(--k-wk-inset) 4px; }
.k-wk .proto-panel-body>:is(.portal-overview-action-register) { margin-left:calc(var(--k-wk-inset) * -1);margin-right:calc(var(--k-wk-inset) * -1); }
.k-wk .month-strip ol { display:flex;flex-wrap:wrap;gap:6px; }
.k-wk .month-strip a { display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--text);font-size:12px; }
.k-wk .month-strip a i { width:8px;height:8px;border-radius:50%;border:2px solid var(--line); }
.k-wk .month-strip a.is-complete i { background:var(--olive);border-color:var(--olive); }
.k-wk .month-strip a.is-open i { border-color:var(--navy); }
.k-wk .month-strip a.is-yours i { background:var(--terra);border-color:var(--terra); }
.k-wk .month-strip a[aria-current=page] { border-color:var(--navy);background:var(--navy-tint);font-weight:650; }
.k-wk .month-strip small { color:var(--text-3); }
.k-wk .month-standing { display:grid;gap:6px; }
.k-wk .month-transactions { list-style:none;margin:12px 0 0;padding:0;display:grid;gap:12px; }
.k-wk .month-transactions>li { border-left:3px solid var(--line);padding-left:12px; }
.k-wk .month-figures { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0; }
.k-wk .month-figures>div { border-left:3px solid var(--line);padding-left:12px; }
.k-wk .month-figures dt { color:var(--text-2); }
.k-wk .month-figures dd { margin:6px 0 0;font-size:16px;font-variant-numeric:tabular-nums; }
.k-wk .month-road { display:grid;margin-top:12px; }
.k-wk .month-road li { display:grid;grid-template-columns:18px minmax(0,1fr);gap:12px;position:relative;padding-bottom:12px; }
.k-wk .month-road li:last-child { padding-bottom:0; }
.k-wk .month-road li::before { content:"";position:absolute;left:8px;top:18px;bottom:0;width:2px;background:var(--line); }
.k-wk .month-road li:last-child::before { display:none; }
.k-wk .month-road li.is-done::before { background:var(--navy); }
.k-wk .month-road i { width:18px;height:18px;border-radius:50%;background:var(--surface);border:2px solid var(--line);position:relative;z-index:1;margin-top:1px; }
.k-wk .month-road li.is-done i { background:var(--navy);border-color:var(--navy); }
.k-wk .month-road li.is-current i { border-color:var(--navy);box-shadow:0 0 0 4px var(--navy-tint); }
.k-wk .month-road span { color:var(--text);font-size:14px; }
.k-wk .month-road li.is-current span { font-weight:650; }
.k-wk .month-road small { display:block;color:var(--text-2);font-size:12px; }
.k-wk .month-lead { display:grid;gap:6px;margin-bottom:12px; }
.k-wk .month-business .month-strip { margin-bottom:12px; }
.k-wk .month-business .month-lead .season-actions { margin-top:8px; }
.k-wk .month-subhead { font-size:14px;font-weight:650;color:var(--text);margin:12px 0 6px; }
@media (prefers-reduced-motion:reduce) { .k-wk .season-note-card { transition:none; } }
.k-wk .season-state[data-state=answered], .k-wk .season-state[data-state=missing] { color:var(--text-2); }
.proto-profile-other.k-wk h2, .k-wk .proto-profile-other h2 { margin-bottom:12px; }
.proto-profile-other.k-wk .proto-past-jobs, .k-wk .proto-profile-other .proto-past-jobs { margin-top:8px;padding:0; }
.proto-profile-other.k-wk .proto-past-jobs summary, .k-wk .proto-profile-other .proto-past-jobs summary { min-height:40px;align-content:center;cursor:pointer;font-weight:600;color:var(--text-2);text-decoration:none; }
.proto-profile-other.k-wk .proto-past-jobs summary::marker, .k-wk .proto-profile-other .proto-past-jobs summary::marker { color:var(--text-3); }
.proto-profile-other.k-wk .proto-past-jobs .proto-employment, .k-wk .proto-profile-other .proto-past-jobs .proto-employment { padding:8px 0 0; }
@media (max-width:640px) { .k-wk .month-figures { grid-template-columns:1fr;gap:8px; } }
@container k-wk-frame (max-width:640px) { .k-wk .month-figures { grid-template-columns:1fr;gap:8px; } }
.k-wk .portal-overview-action-register li { position:relative; }
.k-wk .portal-overview-action-register li:hover { transform:none;box-shadow:none;background:transparent; }
.k-wk .portal-overview-action-register li:has(.portal-overview-register-copy>strong>a):hover { background:color-mix(in srgb,var(--surface) 88%,var(--navy-tint)); }
.k-wk .portal-overview-register-copy>strong>a::after { content:"";position:absolute;inset:0; }
.portal-page-head.k-wk, .k-wk .portal-page-head { margin-bottom:20px; }
.portal-page-head.k-wk h1, .k-wk .portal-page-head h1 { margin:0;font-family:var(--font-serif);font-size:36px;font-weight:400;line-height:1.06;letter-spacing:-.01em; }
.k-wk .portal-eyebrow { margin:0 0 6px;color:var(--sand);font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase; }
@media (max-width:1023px) { .portal-page-head.k-wk h1, .k-wk .portal-page-head h1 { font-size:30px;line-height:1.08; } }
@container k-wk-frame (max-width:1023px) { .portal-page-head.k-wk h1, .k-wk .portal-page-head h1 { font-size:30px;line-height:1.08; } }
.k-wk .portal-eyebrow { font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--pk-label, var(--text-2)); }

/* The block's own rules (not copies of the portal's). A project's page titles itself in the words' size, not the page title's:
   the portal's rule reads the page around the head (.portal-page), outside the root, so the block says it on the head and its
   body. */
.portal-page-head.k-wk:has(+ .k-wk.proto-panel-stack.work-view) h1 { font-family: inherit; font-size: 22px; font-weight: 600; line-height: 1.25; letter-spacing: 0; }
@media (max-width: 700px) { .portal-page-head.k-wk:has(+ .k-wk.proto-panel-stack.work-view) h1 { font-size: 20px; } }
@container k-wk-frame (max-width: 700px) { .portal-page-head.k-wk:has(+ .k-wk.proto-panel-stack.work-view) h1 { font-size: 20px; } }
/* A project's requests run to its panel's edges, as its other lists do (the portal's rule names the Requests block's list,
   which a copy cannot reach). */
.k-wk .proto-panel-body > .k-req-rows { margin-left: calc(var(--k-wk-inset) * -1); margin-right: calc(var(--k-wk-inset) * -1); }
/* A project's head is a card of its own, its two buttons small; each milestone leads with a tile and says its state as a pill
   (the PortalWork board, Sonny 10/1). */
.portal-page-head.k-wk.work-head { align-items: center; margin-bottom: 16px; padding: 24px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.portal-page-head.k-wk.work-head .portal-overview-row-action { min-width: 0; min-height: 30px; padding: 0 12px; font-size: 13px; }
@media (max-width: 560px) { .portal-page-head.k-wk.work-head { padding: 16px; } }
@container k-wk-frame (max-width: 560px) { .portal-page-head.k-wk.work-head { padding: 16px; } }
.k-wk .work-steps > li { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 12px; }
.k-wk .work-steps .kind-tile { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 9px; }
.k-wk .work-steps .kind-tile > svg { width: 16px; height: 16px; }
.k-wk .work-steps .kind-tile[data-kind=task] { background: var(--olive-tint); color: var(--olive); }
.k-wk .work-steps .kind-tile[data-kind=signature] { background: var(--terra-tint); color: var(--terra); }
.k-wk .work-steps .kind-tile[data-kind=form] { background: var(--navy-tint); color: var(--navy); }
.k-wk .work-steps .kind-tile[data-kind=document] { background: var(--sand-tint); color: var(--sand); }
.k-wk .work-steps .season-state { padding: 2px 8px; border-radius: 999px; font-size: 12px; font-weight: 500; white-space: nowrap; }
.k-wk .work-steps .season-state[data-state=received] { background: var(--olive-tint); color: var(--olive); }
.k-wk .work-steps .season-state[data-state=needed] { background: var(--terra-tint); color: var(--terra); }
.k-wk .work-steps .season-state[data-state=answered] { background: var(--navy-tint); color: var(--navy); }
.k-wk .work-steps .season-state[data-state=missing] { background: var(--neutral-tint); color: var(--text-2); }
/* A project's steps (plans in the portal): the same rows, a state that can say a sentence, and "I've done this" under the step's own line.
   On a phone the state drops under the step and its controls follow it, so nothing is squeezed beside it. */
.k-wk .plan-steps .season-state { white-space: normal; text-align: left; }
.k-wk .plan-steps .step-say { margin-top: 8px; }
.k-wk .plan-steps .step-say > summary { display: inline-flex; list-style: none; cursor: pointer; }
.k-wk .plan-steps .step-say > summary::-webkit-details-marker { display: none; }
.k-wk .plan-steps .step-say[open] > summary { margin-bottom: 10px; }
.k-wk .plan-steps .portal-overview-register-copy > .portal-overview-row-action { margin-top: 8px; }
@media (max-width: 560px) { .k-wk .plan-steps > li { grid-template-columns: auto minmax(0, 1fr); align-items: start; } .k-wk .plan-steps .season-state { grid-column: 2; justify-self: start; } }
@container k-wk-frame (max-width: 560px) { .k-wk .plan-steps > li { grid-template-columns: auto minmax(0, 1fr); align-items: start; } .k-wk .plan-steps .season-state { grid-column: 2; justify-self: start; } }

/* Your year, the shared block (UI-073; markup from year.js). Loaded by the boards (kit-boards build-kit) and by the portal
   (/kit-portal.css), so both draw it from this one file. Kit tokens only, read inside the block's own .k-kit scope.
   --k-page is the ground the block stands on (the season names and the track's gaps are cut in it); a host whose page is
   not the kit's ground sets it. */
.k-yr { container: k-yrm / inline-size; --k-page: var(--ground); --k-yr-ease: cubic-bezier(.2, .8, .2, 1); --k-yr-ease-out: cubic-bezier(.16, 1, .3, 1); --k-yr-ease-io: cubic-bezier(.65, 0, .35, 1); min-width: 0; }
.k-yr-kick { display: flex; align-items: baseline; gap: 12px; padding-bottom: 8px; border-bottom: 1px solid var(--text); }
.k-yr-kick > .k-kicker { margin: 0; font-size: 11.5px; letter-spacing: .08em; color: var(--sand); }
.k-yr-go { margin-left: auto; padding: 0; font-size: 13px; text-decoration: none; }
.k-yr-go > .short { display: none; }
/* The months track's legend (a business's year): finished olive, this month navy, ahead the track's grey. */
.k-yr-legend { display: inline-flex; align-items: center; gap: 6px; margin-left: auto; white-space: nowrap; font-size: 12px; color: var(--text-3); }
.k-yr-legend > i { width: 14px; height: 6px; border-radius: 3px; background: var(--neutral-tint); }
.k-yr-legend > i:not(:first-child) { margin-left: 10px; }
.k-yr-legend > i.closed { background: var(--olive); }
.k-yr-legend > i.now { background: var(--navy); }
.k-yr-legend + .k-yr-go { margin-left: 18px; }
/* The agenda (under 1040px wide) has no track to read the legend against. */
@container k-yrm (width < 1040px) { .k-yr-legend { display: none; } .k-yr-legend + .k-yr-go { margin-left: auto; } }

/* Kinds: a colour each (Meetings in ink, Sonny 9/30). */
.k-yk-tax, .k-yk-payment, .k-yk-estimate { --kc: var(--gold); }
.k-yk-retirement, .k-yk-plan, .k-yk-close { --kc: var(--olive); }
.k-yk-giving, .k-yk-info { --kc: var(--sand-dot); }
.k-yk-meeting { --kc: var(--ink); }
.k-yk-payroll { --kc: var(--plum); }
.k-yk-doc, .k-yk-work, .k-yk-sales, .k-yk-care, .k-yk-other { --kc: var(--text-3); }

/* ---- The drawing ---- */
.k-yr-host { container: k-yr / inline-size; }
/* Three rows: the words above, the track (64px: season names, the track, the month ticks), the words below. The outer rows
   are as tall as the tallest words shown in them, so the drawing grows and shrinks with its moments and with the filter. */
.k-yr-cal { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: auto 64px auto; margin: 24px 4px 0; }
.k-yr-phone { display: none; }
@container k-yr (width < 1040px) { .k-yr-cal { display: none; } .k-yr-phone { display: block; } }
.k-yr-draw { grid-row: 2; grid-column: 1; display: block; height: 64px; overflow: visible; }
.k-yr-seg { fill: var(--neutral-tint); stroke: var(--k-page); stroke-width: 2px; }
.k-yr-seg.done { fill: color-mix(in srgb, var(--olive) 55%, var(--surface)); }
.k-yr-seg.now { fill: var(--navy); }
.k-yr-seg.closed { fill: var(--olive); }
.k-yr-tick { stroke: var(--line); stroke-width: 1px; shape-rendering: crispEdges; }
.k-yr-tick-lab { font-size: 11.5px; fill: var(--text-5); }
.k-yr-today > line { stroke: var(--navy); stroke-width: 1.5px; }
.k-yr-today > circle { fill: var(--surface); stroke: var(--navy); stroke-width: 2px; }
.k-yr-today > circle.halo { fill: var(--navy-tint); stroke: none; }
.k-yr-today > text { font-size: 11.5px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; fill: var(--navy); }
.k-yr-seasons > text { font-size: 11.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; fill: var(--text-4);
  paint-order: stroke; stroke: var(--k-page); stroke-width: 12px; stroke-linejoin: round; }
.k-yr-seasons > text.now { fill: var(--navy); }

/* A pin: a row across the drawing; its spacer (an <svg width="N%">) sets the anchor at its date. */
.k-yr-layer { transition: opacity 150ms var(--k-yr-ease), visibility 150ms; }
.k-yr-cal > .k-yr-layer { grid-row: 1 / 4; grid-column: 1; display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: subgrid; pointer-events: none; }
/* A moment is its two rows; every moment's words share their side's row, so the row is as tall as the tallest of them. */
.k-yr-pin { display: contents; }
.k-yr-row { grid-column: 1; display: flex; min-width: 0; transition: opacity 150ms var(--k-yr-ease); }
.k-yr-pin.up > .k-yr-words { grid-row: 1; align-self: end; }
.k-yr-pin.down > .k-yr-words { grid-row: 3; align-self: start; }
.k-yr-row.k-yr-mark { grid-row: 2; }
.k-yr-at { flex: none; height: 1px; }
.k-yr-anchor { position: relative; flex: none; width: 0; }
.k-yr-anchor > * { pointer-events: auto; }
.k-yr-anchor > i { position: absolute; left: -5px; top: 24px; z-index: 1; width: 10px; height: 10px; box-sizing: border-box; border-radius: 50%; border: 2px solid var(--kc, var(--text-2)); background: var(--surface); }
.k-yr-pin.next .k-yr-anchor > i { background: var(--kc, var(--navy)); box-shadow: 0 0 0 3px var(--navy-tint); }
.k-yr-mark > .k-yr-anchor::before { content: ""; position: absolute; left: 0; border-left: 1px solid var(--line); }
.k-yr-pin.up .k-yr-mark > .k-yr-anchor::before { top: -4px; height: 28px; }
.k-yr-pin.down .k-yr-mark > .k-yr-anchor::before { top: 34px; height: 30px; }
.k-yr-pin.end .k-yr-mark > .k-yr-anchor::before { left: auto; right: 0; }
.k-yr-lab { position: relative; box-sizing: border-box; display: flex; flex-direction: column; align-items: flex-start; gap: 2px; width: 220px; margin: 0; padding: 0 0 0 12px; border: 0; border-left: 1px solid var(--line); background: none; color: inherit; font: inherit; text-align: left; cursor: default; transition: transform 150ms var(--k-yr-ease); }
button.k-yr-lab { cursor: pointer; }
.k-yr-pin.up .k-yr-lab { margin-bottom: 4px; }
.k-yr-pin.end .k-yr-lab { margin-left: -220px; align-items: flex-end; padding: 0 12px 0 0; border-left: 0; border-right: 1px solid var(--line); text-align: right; }
.k-yr-lab > small { font-size: 11.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--sand); }
.k-yr-pin.next .k-yr-lab > small { color: var(--navy); }
.k-yr-pin.done .k-yr-lab > small { color: var(--text-5); }
.k-yr-lab > b { font-size: 14px; font-weight: 600; line-height: 1.3; }
.k-yr-lab > b > a { color: inherit; text-decoration: none; }
.k-yr-lab > b > a:hover { text-decoration: underline; }
.k-yr-pin.done .k-yr-lab > b { font-weight: 500; color: var(--text-2); }
.k-yr-lab > span { font-size: 12.5px; color: var(--text-3); }
.k-yr-lab em, .k-yr-pop-row em, .k-yr-item em { font-style: normal; font-weight: 500; color: var(--terra); }
.k-yr-icon { display: inline-block; width: 14px; height: 14px; flex: none; }
.k-yr-lab > b > .k-yr-icon { margin-left: 4px; vertical-align: -2px; color: var(--text-4); }
.k-yr-lab:focus-visible, .k-yr-pips:focus-visible { outline: none; box-shadow: var(--focus-ring); border-radius: 6px; }
.k-yr-nudge { position: relative; margin: 6px 0 0; padding: 6px 10px 6px 24px; border: 1px solid var(--note-line); border-radius: var(--r-control); background: var(--note-wash); font-size: 12.5px; line-height: 1.4; color: var(--text-2); text-align: left; }
.k-yr-nudge::before { content: ""; position: absolute; left: 10px; top: 11px; width: 7px; height: 7px; border-radius: 50%; background: var(--gold); }
.k-yr-nudge > b { font-weight: 600; color: var(--text); }

/* Hover or focus: the pin lifts, its neighbours dim, its actions show (a moment's one or two; a cluster's list). */
.k-yr-cal:has(.k-yr-anchor > :is(:hover, :focus-within)) .k-yr-pin:not(:has(.k-yr-anchor > :is(:hover, :focus-within))) > .k-yr-row { opacity: .4; }
.k-yr-pin:has(.k-yr-anchor > :is(:hover, :focus-within)) .k-yr-lab { transform: translateY(-2px); }
.k-yr-acts { position: absolute; z-index: 3; display: flex; gap: 6px; margin: 0; padding: 8px; border-radius: 10px; background: var(--surface); box-shadow: var(--shadow-float); white-space: nowrap;
  opacity: 0; visibility: hidden; transform: translateY(4px); transition: opacity 150ms var(--k-yr-ease), transform 150ms var(--k-yr-ease), visibility 150ms; }
.k-yr-lab > .k-yr-acts { left: 12px; top: calc(100% + 6px); }
.k-yr-pin.up .k-yr-lab > .k-yr-acts { top: auto; bottom: calc(100% + 6px); }
.k-yr-pin.end .k-yr-acts { left: auto; right: 12px; }
.k-yr-pin:has(.k-yr-anchor > :is(:hover, :focus-within)) .k-yr-acts { opacity: 1; visibility: visible; transform: none; }
.k-yr-acts.list { flex-direction: column; align-items: flex-start; gap: 5px; top: calc(100% + 8px); left: auto; right: 0; min-width: 220px; font-size: 12.5px; color: var(--text-2); }
.k-yr-pin.up .k-yr-acts.list { top: auto; bottom: calc(100% + 8px); }
.k-yr-clu:has(:popover-open) .k-yr-acts { display: none; }
.k-yr-acts.list > span { display: flex; align-items: center; gap: 8px; }
.k-yr-acts.list > .k-btn { margin-top: 4px; }
.k-yr-acts.list i, .k-yr-pop-row > i, .k-yr-pips > i, .k-yr-kind > i { flex-shrink: 0; width: 8px; height: 8px; border-radius: 50%; background: var(--kc); }
.k-yr-pips { position: absolute; top: 22px; left: 0; z-index: 2; display: flex; gap: 2px; margin: 0; padding: 3px 4px; border: 0; border-radius: 8px; background: var(--surface); box-shadow: 0 0 0 1px var(--line); transform: translateX(-50%); cursor: pointer; transition: transform 150ms var(--k-yr-ease); }
.k-yr-pin:has(.k-yr-anchor > :is(:hover, :focus-within)) .k-yr-pips { transform: translateX(-50%) translateY(-2px); }

/* A cluster opened: anchored to its label, each moment with its nudge and actions. Esc or a click away closes it. */
.k-yr-pop { inset: auto; position-area: bottom span-left; position-try-order: most-height; position-try-fallbacks: flip-block; margin: 8px 0; width: 340px; max-height: min(360px, calc(100dvh - 32px)); overflow-y: auto; overscroll-behavior: contain;
  padding: 6px 0; border: 1px solid var(--line); border-radius: var(--r-card); background: var(--surface); box-shadow: var(--shadow-float); color: var(--text); font-family: var(--font); font-size: var(--fs-body);
  opacity: 1; transform: none; transition: opacity 150ms var(--k-yr-ease), transform 150ms var(--k-yr-ease), overlay 150ms allow-discrete, display 150ms allow-discrete; }
.k-yr-pop:not(:popover-open) { opacity: 0; transform: translateY(-4px); }
@starting-style { .k-yr-pop:popover-open { opacity: 0; transform: translateY(-4px); } }
@supports not (position-area: bottom) { .k-yr-pop { inset: 0; margin: auto; height: fit-content; max-width: calc(100vw - 32px); } }
.k-yr-pop-row { display: flex; gap: 12px; padding: 10px 16px; }
.k-yr-pop-row + .k-yr-pop-row { border-top: 1px solid var(--line-soft); }
.k-yr-pop-row > i { margin-top: 5px; }
.k-yr-pop-row > div { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; min-width: 0; }
.k-yr-pop-row small { font-size: 11.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--sand); }
.k-yr-pop-row b { font-size: 14px; font-weight: 600; }
.k-yr-pop-row b > a { color: inherit; text-decoration: none; }
.k-yr-pop-row span { font-size: 12.5px; color: var(--text-3); }
.k-yr-pop-row p:not(.k-yr-nudge) { display: flex; gap: 6px; margin: 6px 0 0; }

/* ---- The type filter: a chip per kind; a checked chip is a hidden kind; All turns every kind off, or back on. Every
   combination of kinds is drawn once and the chips show the layer that matches. ---- */
.k-yr-kinds { display: flex; flex-wrap: wrap; gap: 6px; margin: 12px 0 0; }
.k-yr-kind { position: relative; display: inline-flex; align-items: center; gap: 7px; height: 28px; padding: 0 10px; border: 1px solid var(--line); border-radius: var(--r-control); background: var(--surface); font-size: 12.5px; color: var(--text-3); cursor: pointer; transition: border-color 120ms, color 120ms; }
.k-yr-kind:not(:has(:checked)) { border-color: var(--control-strong); color: var(--text); }
.k-yr-kind:has(:checked) > i { background: none; box-shadow: inset 0 0 0 1.5px var(--kc); }
.k-yr-kind:has(:focus-visible) { box-shadow: var(--focus-ring); }
.k-yr-kind > input, .k-yr-all.reset > button { position: absolute; opacity: 0; pointer-events: none; }
.k-yr-kinds:has(input:checked) > .k-yr-all.box, .k-yr-kinds:not(:has(input:checked)) > .k-yr-all.reset { display: none; }
.k-yr-kinds > .k-yr-all.reset { border-color: var(--line); color: var(--text-3); }
.k-yr-kinds:has(input[value=none]:checked) > .k-yr-kind:not(.k-yr-all):not(:has(:checked)) { border-color: var(--line); color: var(--text-3); }
.k-yr-kinds:has(input[value=none]:checked) > .k-yr-kind:not(.k-yr-all):not(:has(:checked)) > i { background: none; box-shadow: inset 0 0 0 1.5px var(--kc); }
.k-yr-kinds:has(input[value=none]:checked) > .k-yr-kind:not(.k-yr-all):has(:checked) { border-color: var(--control-strong); color: var(--text); }
.k-yr-kinds:has(input[value=none]:checked) > .k-yr-kind:not(.k-yr-all):has(:checked) > i { background: var(--kc); box-shadow: none; }
.k-yr-kind:has(input:disabled), .k-yr-kind:has(button:disabled) { cursor: default; }
/* One rule per kind in KINDS (year.js); year.test.js fails when a kind has none. */
.k-yr:has(input[value=tax]:not(:checked)) .k-yr-layer.no-tax, .k-yr:has(input[value=tax]:checked) .k-yr-layer:not(.no-tax),
.k-yr:has(input[value=payment]:not(:checked)) .k-yr-layer.no-payment, .k-yr:has(input[value=payment]:checked) .k-yr-layer:not(.no-payment),
.k-yr:has(input[value=estimate]:not(:checked)) .k-yr-layer.no-estimate, .k-yr:has(input[value=estimate]:checked) .k-yr-layer:not(.no-estimate),
.k-yr:has(input[value=doc]:not(:checked)) .k-yr-layer.no-doc, .k-yr:has(input[value=doc]:checked) .k-yr-layer:not(.no-doc),
.k-yr:has(input[value=plan]:not(:checked)) .k-yr-layer.no-plan, .k-yr:has(input[value=plan]:checked) .k-yr-layer:not(.no-plan),
.k-yr:has(input[value=meeting]:not(:checked)) .k-yr-layer.no-meeting, .k-yr:has(input[value=meeting]:checked) .k-yr-layer:not(.no-meeting),
.k-yr:has(input[value=giving]:not(:checked)) .k-yr-layer.no-giving, .k-yr:has(input[value=giving]:checked) .k-yr-layer:not(.no-giving),
.k-yr:has(input[value=retirement]:not(:checked)) .k-yr-layer.no-retirement, .k-yr:has(input[value=retirement]:checked) .k-yr-layer:not(.no-retirement),
.k-yr:has(input[value=work]:not(:checked)) .k-yr-layer.no-work, .k-yr:has(input[value=work]:checked) .k-yr-layer:not(.no-work),
.k-yr:has(input[value=close]:not(:checked)) .k-yr-layer.no-close, .k-yr:has(input[value=close]:checked) .k-yr-layer:not(.no-close),
.k-yr:has(input[value=payroll]:not(:checked)) .k-yr-layer.no-payroll, .k-yr:has(input[value=payroll]:checked) .k-yr-layer:not(.no-payroll),
.k-yr:has(input[value=info]:not(:checked)) .k-yr-layer.no-info, .k-yr:has(input[value=info]:checked) .k-yr-layer:not(.no-info),
.k-yr:has(input[value=sales]:not(:checked)) .k-yr-layer.no-sales, .k-yr:has(input[value=sales]:checked) .k-yr-layer:not(.no-sales),
.k-yr:has(input[value=care]:not(:checked)) .k-yr-layer.no-care, .k-yr:has(input[value=care]:checked) .k-yr-layer:not(.no-care),
.k-yr:has(input[value=other]:not(:checked)) .k-yr-layer.no-other, .k-yr:has(input[value=other]:checked) .k-yr-layer:not(.no-other) { opacity: 0; visibility: hidden; position: absolute; left: 0; right: 0; top: 0; }
/* Under "none": a layer is shown when it hides exactly the kinds whose boxes are unchecked. */
.k-yr:has(input[value=none]:checked) .k-yr-cal > .k-yr-layer { opacity: 1; visibility: visible; position: relative; inset: auto; }
.k-yr:has(input[value=none]:checked) .k-yr-railstack > .k-yr-layer { position: static; opacity: 1; visibility: visible; }
.k-yr:has(input[value=none]:checked):has(input[value=tax]:checked) .k-yr-layer.no-tax, .k-yr:has(input[value=none]:checked):has(input[value=tax]:not(:checked)) .k-yr-layer:not(.no-tax),
.k-yr:has(input[value=none]:checked):has(input[value=payment]:checked) .k-yr-layer.no-payment, .k-yr:has(input[value=none]:checked):has(input[value=payment]:not(:checked)) .k-yr-layer:not(.no-payment),
.k-yr:has(input[value=none]:checked):has(input[value=estimate]:checked) .k-yr-layer.no-estimate, .k-yr:has(input[value=none]:checked):has(input[value=estimate]:not(:checked)) .k-yr-layer:not(.no-estimate),
.k-yr:has(input[value=none]:checked):has(input[value=doc]:checked) .k-yr-layer.no-doc, .k-yr:has(input[value=none]:checked):has(input[value=doc]:not(:checked)) .k-yr-layer:not(.no-doc),
.k-yr:has(input[value=none]:checked):has(input[value=plan]:checked) .k-yr-layer.no-plan, .k-yr:has(input[value=none]:checked):has(input[value=plan]:not(:checked)) .k-yr-layer:not(.no-plan),
.k-yr:has(input[value=none]:checked):has(input[value=meeting]:checked) .k-yr-layer.no-meeting, .k-yr:has(input[value=none]:checked):has(input[value=meeting]:not(:checked)) .k-yr-layer:not(.no-meeting),
.k-yr:has(input[value=none]:checked):has(input[value=giving]:checked) .k-yr-layer.no-giving, .k-yr:has(input[value=none]:checked):has(input[value=giving]:not(:checked)) .k-yr-layer:not(.no-giving),
.k-yr:has(input[value=none]:checked):has(input[value=retirement]:checked) .k-yr-layer.no-retirement, .k-yr:has(input[value=none]:checked):has(input[value=retirement]:not(:checked)) .k-yr-layer:not(.no-retirement),
.k-yr:has(input[value=none]:checked):has(input[value=work]:checked) .k-yr-layer.no-work, .k-yr:has(input[value=none]:checked):has(input[value=work]:not(:checked)) .k-yr-layer:not(.no-work),
.k-yr:has(input[value=none]:checked):has(input[value=close]:checked) .k-yr-layer.no-close, .k-yr:has(input[value=none]:checked):has(input[value=close]:not(:checked)) .k-yr-layer:not(.no-close),
.k-yr:has(input[value=none]:checked):has(input[value=payroll]:checked) .k-yr-layer.no-payroll, .k-yr:has(input[value=none]:checked):has(input[value=payroll]:not(:checked)) .k-yr-layer:not(.no-payroll),
.k-yr:has(input[value=none]:checked):has(input[value=info]:checked) .k-yr-layer.no-info, .k-yr:has(input[value=none]:checked):has(input[value=info]:not(:checked)) .k-yr-layer:not(.no-info),
.k-yr:has(input[value=none]:checked):has(input[value=sales]:checked) .k-yr-layer.no-sales, .k-yr:has(input[value=none]:checked):has(input[value=sales]:not(:checked)) .k-yr-layer:not(.no-sales),
.k-yr:has(input[value=none]:checked):has(input[value=care]:checked) .k-yr-layer.no-care, .k-yr:has(input[value=none]:checked):has(input[value=care]:not(:checked)) .k-yr-layer:not(.no-care),
.k-yr:has(input[value=none]:checked):has(input[value=other]:checked) .k-yr-layer.no-other, .k-yr:has(input[value=none]:checked):has(input[value=other]:not(:checked)) .k-yr-layer:not(.no-other) { opacity: 0; visibility: hidden; position: absolute; left: 0; right: 0; top: 0; }

/* ---- The agenda (a phone, or any container under 1040px): today, then each month's dates, one day at a time. ---- */
.k-yr-railstack { position: relative; }
.k-yr-agenda { display: flex; flex-direction: column; margin-top: 10px; }
.k-yr-month { margin: 18px 0 2px; padding-bottom: 6px; border-bottom: 1px solid var(--text); font-size: 11.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--text-2); }
.k-yr-day { position: relative; display: flex; align-items: flex-start; gap: 12px; padding: 10px 0 10px 8px; border-bottom: 1px solid var(--line-soft); }
.k-yr-day:last-child { border-bottom: 0; }
/* Today is the current row (the kit's .k-cur): the navy wash and the inset bar, on the whole day. */
.k-yr-day.cur { background: var(--navy-wash); }
.k-yr-day.cur::before { content: ""; position: absolute; left: 3px; top: 7px; bottom: 7px; width: 3px; border-radius: 3px; background: var(--navy); }
.k-yr-day.cur .k-yr-date > b { color: var(--navy); }
.k-yr-date { display: flex; flex-direction: column; align-items: center; flex: 0 0 40px; padding-top: 1px; }
.k-yr-date > b { font-family: var(--font-serif); font-weight: 400; font-size: 26px; line-height: 1; color: var(--text); font-variant-numeric: tabular-nums; }
.k-yr-date > small { margin-top: 3px; font-size: 11.5px; color: var(--text-4); }
.k-yr-today-line { display: flex; flex-direction: column; min-height: 36px; padding-left: 18px; }
.k-yr-today-line > b { font-size: 14.5px; font-weight: 600; line-height: 1.3; color: var(--navy); }
.k-yr-today-line > small { margin-top: 2px; font-size: 12.5px; line-height: 1.4; color: var(--text-2); }
.k-yr-day-items { display: flex; flex-direction: column; gap: 8px; flex: 1 1 auto; min-width: 0; }
.k-yr-item > summary, .k-yr-item-head { display: flex; align-items: flex-start; gap: 10px; min-height: 36px; list-style: none; }
.k-yr-item > summary { cursor: pointer; }
.k-yr-item > summary::-webkit-details-marker { display: none; }
.k-yr-item > summary > i, .k-yr-item-head > i { flex-shrink: 0; width: 8px; height: 8px; margin-top: 6px; border-radius: 50%; background: var(--kc); }
.k-yr-two { display: flex; flex-direction: column; flex: 1 1 auto; min-width: 0; }
.k-yr-two > b { font-size: 14.5px; font-weight: 500; line-height: 1.3; color: var(--text); }
.k-yr-item.next .k-yr-two > b { font-weight: 600; }
.k-yr-two > small { margin-top: 2px; font-size: 12.5px; line-height: 1.4; color: var(--text-3); }
.k-yr-item > summary > .k-yr-icon { margin-top: 2px; color: var(--text-4); transition: transform 150ms var(--k-yr-ease); }
.k-yr-item[open] > summary > .k-yr-icon { transform: rotate(90deg); }
.k-yr-item > .k-yr-nudge { margin: 6px 0 0 18px; }
.k-yr-item > .k-yr-acts { position: static; display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0 2px 18px; padding: 0; background: none; box-shadow: none; white-space: normal; opacity: 1; visibility: visible; transform: none; }
.k-yr-none { margin: 14px 0 0; font-size: 13px; color: var(--text-3); }
/* A narrow module (a phone, or a phone board on a wide screen): the short link, and the chips scroll in one row. */
@container k-yrm (max-width: 700px) { .k-yr-go > .long { display: none; } .k-yr-go > .short { display: inline; } .k-yr-kinds { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin: 12px -16px 4px 0; padding-right: 16px; } .k-yr-kind { flex-shrink: 0; } }

/* ---- First arrival: the host marks it with .is-first on an ancestor (the portal's session flag; the board's frame). The
   fill sweeps from the start to today (800ms from 150ms), a moment arrives as the fill reaches it, those after today follow,
   today's marker last. The board's Replay control swaps the --tm-* names to restart it. ---- */
@keyframes k-yr-risesm { from { opacity: 0; transform: translateY(4px); } }
@keyframes k-yr-fade { from { opacity: 0; } }
@keyframes k-yr-sweep { from { clip-path: inset(0 100% 0 0); } }
.k-yd-0 { --d: 0; } .k-yd-1 { --d: 100; } .k-yd-2 { --d: 200; } .k-yd-3 { --d: 300; } .k-yd-4 { --d: 400; } .k-yd-5 { --d: 500; } .k-yd-6 { --d: 600; } .k-yd-7 { --d: 700; } .k-yd-8 { --d: 800; } .k-yd-9 { --d: 900; } .k-yd-10 { --d: 1000; }
.k-yd-11 { --d: 1100; } .k-yd-12 { --d: 1200; } .k-yd-13 { --d: 1300; } .k-yd-14 { --d: 1400; } .k-yd-15 { --d: 1500; } .k-yd-16 { --d: 1600; } .k-yd-17 { --d: 1700; } .k-yd-18 { --d: 1800; } .k-yd-19 { --d: 1900; } .k-yd-20 { --d: 2000; }
.k-yd-21 { --d: 2100; } .k-yd-22 { --d: 2200; } .k-yd-23 { --d: 2300; } .k-yd-24 { --d: 2400; } .k-yd-25 { --d: 2500; } .k-yd-26 { --d: 2600; } .k-yd-27 { --d: 2700; } .k-yd-28 { --d: 2800; } .k-yd-29 { --d: 2900; } .k-yd-30 { --d: 3000; }
.k-yo-0 { --o: 0; } .k-yo-1 { --o: 100; } .k-yo-2 { --o: 200; } .k-yo-3 { --o: 300; } .k-yo-4 { --o: 400; } .k-yo-5 { --o: 500; } .k-yo-6 { --o: 600; } .k-yo-7 { --o: 700; } .k-yo-8 { --o: 800; } .k-yo-9 { --o: 900; } .k-yo-10 { --o: 1000; }
.k-yo-11 { --o: 1100; } .k-yo-12 { --o: 1200; } .k-yo-13 { --o: 1300; } .k-yo-14 { --o: 1400; } .k-yo-15 { --o: 1500; } .k-yo-16 { --o: 1600; } .k-yo-17 { --o: 1700; } .k-yo-18 { --o: 1800; } .k-yo-19 { --o: 1900; } .k-yo-20 { --o: 2000; }
.is-first .k-yr-pin > .k-yr-row { animation: var(--tm-risesm, k-yr-risesm) 300ms var(--k-yr-ease-out) backwards; animation-delay: calc((var(--d, 0) + var(--o, 0)) * 1ms); }
.is-first .k-yr-day { animation: var(--tm-risesm, k-yr-risesm) 300ms var(--k-yr-ease-out) backwards; animation-delay: calc((var(--d, 0) + 300) * 1ms); }
.is-first .k-yr-fill { animation: var(--tm-sweep, k-yr-sweep) 800ms var(--k-yr-ease-io) backwards; animation-delay: calc((var(--d, 0) + 150) * 1ms); }
.is-first .k-yr-today { animation: var(--tm-fade, k-yr-fade) 300ms ease-out backwards; animation-delay: calc((var(--d, 0) + 950) * 1ms); }
@media (prefers-reduced-motion: reduce) { .k-yr *, .k-yr *::before, .k-yr *::after { animation: none !important; transition: none !important; } }

/* The kit on the portal (UI-073): the last part of /kit-portal.css (portal-kit.js). A block on a portal page reads the
   kit's tokens inside its .k-kit scope; this file gives that scope the kit's fonts from the portal's own copies (the same
   files), the base a board's page gives its content, and the portal's theme. In the portal's light theme the kit's
   values and the portal's are the same; the dark theme and a brand's accent (Blanchard CPA) reach the kit's tokens through
   the --pk- values, which are read where the portal sets its own (a custom property inherits its computed value, so
   --pk-text below carries the portal's text colour into the scope, where --ink means the kit's ink). */
@font-face { font-family: 'Geist'; src: url('/client-portal-assets/geist.woff2?v=cfc70f823b') format('woff2'); font-weight: 100 900; font-style: normal; font-display: swap; }
@font-face { font-family: 'Instrument Serif'; src: url('/client-portal-assets/instrument-serif.woff2?v=37ddf465bb') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
:where(.k-kit) { font-family: var(--font); font-size: var(--fs-body); line-height: normal; color: var(--text); -webkit-font-smoothing: antialiased; }
/* A block's own buttons start bare; a page's markup placed in a block's slot (.k-slot: an entry's edit form) keeps the portal's,
   and an open request's buttons are its own block's (request.css). */
:where(.k-kit) :where(button:not(.k-slot *, .k-rq *)) { background: none; border: 0; color: inherit; font: inherit; }

.portal-skin, .portal-shell, [data-portal-brand] {
  --pk-text: var(--ink); --pk-text-2: var(--ink-2); --pk-text-3: var(--ink-3); --pk-text-4: var(--portal-faint); --pk-text-5: var(--portal-faintest);
  --pk-ground: var(--paper); --pk-surface: var(--surface); --pk-line: var(--border); --pk-line-soft: var(--line-soft);
  --pk-navy: var(--accent); --pk-navy-hover: var(--accent-2); --pk-navy-tint: var(--accent-soft);
  --pk-olive: var(--forest-green); --pk-terra: var(--terra); --pk-terra-tint: var(--angelus-red-soft); --pk-control: var(--border-strong); --pk-sand: var(--sand); --pk-ink: var(--bar); --pk-bar: var(--bar);
  /* The portal's own shades a block's copied rules name (request.css, taxes.css read them with the kit's nearest as the fallback, so a board keeps the kit's). */
  --pk-label: var(--portal-label); --pk-stone: var(--stone-gray); --pk-warm-stone: var(--warm-stone); --pk-on-ac: var(--on-ac); --pk-bar-3: var(--bar-3); --pk-shadow: var(--shadow-base); --pk-bar: var(--bar); --pk-bar-text: var(--bar-text); --pk-bar-brand: var(--bar-brand); --pk-bar-muted: var(--bar-muted); --pk-tri-1: var(--tri-1); --pk-tri-2: var(--tri-2); --pk-tri-3: var(--tri-3);
}
.portal-skin .k-kit {
  --text: var(--pk-text); --text-2: var(--pk-text-2); --text-3: var(--pk-text-3); --text-4: var(--pk-text-4); --text-5: var(--pk-text-5);
  --ground: var(--pk-ground); --surface: var(--pk-surface); --line: var(--pk-line); --line-soft: var(--pk-line-soft);
  --navy: var(--pk-navy); --navy-hover: var(--pk-navy-hover); --navy-tint: var(--pk-navy-tint);
  --olive: var(--pk-olive); --terra: var(--pk-terra); --terra-tint: var(--pk-terra-tint); --control: var(--pk-control); --sand: var(--pk-sand); --ink: var(--pk-ink);
}
/* A page's own markup in a block's slot (an entry's form, the request a person opened beside or under a list) reads the
   portal's own ink and spacing, not the kit's: the kit names its sidebar inks --ink, --ink-2 and --ink-3, where the portal means text. */
.portal-skin .k-kit .k-slot { --ink: var(--pk-text); --ink-2: var(--pk-text-2); --ink-3: var(--pk-text-3); }
.portal-skin .k-kit :is([data-dock].k-slot, .k-req-opened) { line-height: 1.55; }
/* The dark theme: the kit's tints and washes (the portal's own where it has one), meetings in the light ink, and Today's raised
   cards on a darker shadow. In the light theme the kit's values stand, as on the boards. Today's cover reads --pk-bar, the
   portal's bar, which stays dark in both themes. */
@media (prefers-color-scheme: dark) {
  html:not([data-portal-theme="light"]) .portal-skin[data-dark-enabled="true"] .k-kit { --pk-ink: var(--pk-text); --neutral-tint: #23272E; --navy-wash: rgba(147, 180, 212, .08); --note-wash: #1D2026; --note-line: rgba(236, 238, 241, .09); --control-strong: rgba(236, 238, 241, .24); --shadow-float: 0 10px 28px rgba(0, 0, 0, .55);
    --quiet: var(--warm-stone); --sand-tint: rgba(189, 178, 154, .14); --olive-tint: var(--forest-green-soft); --plum: #C3A9DA; --plum-tint: rgba(195, 169, 218, .14); --navy-ring: rgba(147, 180, 212, .3); --sand-dot: #8B8270; --ink-line: #23262C; --ink-3: #1F2228; --k-td-raise: 0 14px 36px rgba(0, 0, 0, .5); }
}
html[data-portal-theme="dark"] .portal-skin[data-dark-enabled="true"] .k-kit { --pk-ink: var(--pk-text); --neutral-tint: #23272E; --navy-wash: rgba(147, 180, 212, .08); --note-wash: #1D2026; --note-line: rgba(236, 238, 241, .09); --control-strong: rgba(236, 238, 241, .24); --shadow-float: 0 10px 28px rgba(0, 0, 0, .55);
    --quiet: var(--warm-stone); --sand-tint: rgba(189, 178, 154, .14); --olive-tint: var(--forest-green-soft); --plum: #C3A9DA; --plum-tint: rgba(195, 169, 218, .14); --navy-ring: rgba(147, 180, 212, .3); --sand-dot: #8B8270; --ink-line: #23262C; --ink-3: #1F2228; --k-td-raise: 0 14px 36px rgba(0, 0, 0, .5); }
/* Records on a phone: its figures stay on screen under the portal's own sticky top bar (52px, .portal-sidebar on a phone). */
@media (max-width: 700px) { .portal-skin .k-kit { --k-rec-stick: 52px; } }
/* CP-210: an answer we hold, shown as text to confirm (the same card as the staff kit's .k-held): the answer, where it came from, That's right and Change. */
.k-held { display: grid; gap: 4px; margin-top: var(--space-xs); padding: var(--space-md) var(--space-lg); border-radius: var(--radius-sm); background: var(--sand-soft); }
.k-held[hidden] { display: none; }
.k-held-value { margin: 0; font-weight: 600; line-height: 1.4; }
.k-held-from { margin: 0; font-size: var(--type-sm); color: var(--ink-2); line-height: 1.4; }
.k-held-actions { display: flex; flex-wrap: wrap; gap: var(--space-sm); margin-top: var(--space-xs); }
.ask-row.is-folded .k-held { display: none; }
