body{grid-template-columns:208px minmax(0,1fr);height:100dvh}main{border-radius:8px}button,a,input,select{touch-action:manipulation}button:disabled{cursor:not-allowed}.navlink{display:flex;align-items:center;gap:8px;color:var(--text);text-decoration:none;height:32px;padding:0 10px}.navlink:hover{background:var(--high)}.sample{font-size:11px;color:var(--muted)}#content{flex:1;min-height:0;overflow:auto}.scenario{display:flex;align-items:center;gap:12px;padding:10px 20px;border-top:1px solid var(--line);flex-wrap:wrap;background:var(--low);font-size:11px}.scenario>span:first-child{display:flex;gap:7px;align-items:center}.scenario-note{color:var(--muted);margin-left:auto}.scenario select{font-size:12px;padding:5px}.review-layout{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100%}.receipt{padding:24px 20px;border-right:1px solid var(--line);background:#111314}.receipt h2{margin:0 0 20px}.recording{padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.recording>svg{width:28px;height:28px;color:#9cc9b3;margin-bottom:12px}.recording strong{display:block;font-size:13px;font-weight:500;overflow-wrap:anywhere}.recording small{font-size:11px;margin-top:6px}.statusline{display:flex;align-items:center;gap:7px;color:#d3bc7e;font-size:12px;margin-top:14px}.statusline.done{color:#a4c8b5}.statusline.error{color:var(--error)}.steps{list-style:none;padding:20px 0;margin:0}.steps li{display:flex;gap:12px;align-items:flex-start;padding:10px 0;font-size:12px;color:var(--muted)}.steps svg{margin-top:2px;width:15px;height:15px}.steps b{font-weight:500;display:block;color:var(--text)}.steps small{font-size:11px}.steps .done svg{color:#a4c8b5}.steps .now svg{color:var(--yellow)}.receipt .link{margin-top:8px}.link{color:#bbc2e8;font-size:12px;padding:5px 0;justify-content:flex-start}.review-main{display:flex;flex-direction:column;min-width:0}.review-heading{display:flex;align-items:center;gap:16px;padding:24px 32px 18px}.portrait{background-image:url('portraits.png');background-size:400% 300%;background-position:33.333% 8%;border:1px solid #ffffff24;border-radius:50%;width:58px;height:58px;flex-shrink:0}.review-heading h1,.page-heading h1{font-size:20px;font-weight:500;color:var(--white);margin:0 0 5px}.review-heading small{font-size:12px}.review-heading .badge{margin-left:auto;white-space:nowrap}.review-summary{padding:0 32px 24px;flex:1}.summary-intro{margin:0 0 16px;color:var(--muted);font-size:12px}.summary-row{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:12px;padding:18px 0;border-top:1px solid var(--line);align-items:start}.summary-row>svg{margin-top:4px;color:#a0b4a8}.summary-row h2{margin:0 0 6px;font-size:12px;color:var(--muted)}.summary-row p{font-size:14px;color:var(--white);margin:0}.summary-row small{font-size:11px;margin-top:6px}.summary-row.attention{border-left:2px solid #d3bc7e;padding-left:14px;margin-left:-16px;background:#f2c94c05}.summary-row .amount{font-size:20px;font-variant-numeric:tabular-nums}.amount span{font-size:12px;color:var(--muted);font-weight:400}.rowactions{display:flex;gap:4px}.budgetactions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.budgetactions button{border:1px solid var(--outline);font-size:12px}.budgetactions .link{border:0}.savednote{color:#a4c8b5!important}.review-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 32px;border-top:1px solid var(--line);background:var(--surface);position:sticky;bottom:0;z-index:1}.review-bottom small{font-size:11px}.review-bottom .actions{display:flex;gap:8px;flex-shrink:0}.processing{padding:60px 32px;flex:1}.processing h1{font-size:20px;font-weight:500;color:var(--white);margin:18px 0 10px}.processing>svg{width:32px;height:32px;color:#a4c8b5}.processing p{max-width:480px;font-size:13px;color:var(--muted)}.processing .primary{margin-top:18px}.processing .chosen-name{font-size:14px;color:var(--white)}.choices{margin-top:24px;max-width:460px}.choice{display:flex;width:100%;text-align:left;justify-content:space-between;border-top:1px solid var(--line);padding:16px 12px;border-radius:0}.choice strong{font-weight:500;color:var(--white)}.choice small{font-size:11px;margin-top:3px}.page{max-width:1120px;margin:0 auto;padding:28px 32px 40px}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;gap:12px}.page-heading small{font-size:12px}.page-heading .identity-compact{display:flex;gap:16px;align-items:center}.today-date{font-size:12px;color:var(--muted)}.section-label{font-size:12px;color:var(--muted);font-weight:400;margin:24px 0 12px;display:flex;align-items:center;gap:8px}.taskrow{display:flex;align-items:center;gap:16px;padding:20px 0;border-top:1px solid var(--line);width:100%;border-radius:0;text-align:left;justify-content:flex-start}.taskrow .copy{flex:1;min-width:0}.taskrow b{font-size:14px;font-weight:500;color:var(--white)}.taskrow small{font-size:12px;margin-top:4px}.dateleaf{width:46px;height:52px;border:1px solid var(--outline);border-radius:5px;text-align:center;flex-shrink:0}.dateleaf small{font-size:10px;line-height:18px;margin:0;background:#292d30}.dateleaf b{display:block;font-size:20px;font-weight:500;line-height:30px}.meeting-note{display:flex;align-items:center;gap:12px;font-size:12px;padding:14px 0;border-bottom:1px solid var(--line);color:#a4c8b5}.factgrid{display:grid;grid-template-columns:1fr 1fr;gap:24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0}.factgrid small{font-size:12px;margin-bottom:8px}.factgrid strong{font-size:16px;font-weight:500;color:var(--white)}.callout{padding:14px 0;color:#d3bc7e;display:flex;align-items:center;gap:10px;font-size:12px}.callout button{margin-left:auto}.agenda{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--outline);border-radius:6px;overflow:hidden;margin-top:20px}.day{min-height:232px;border-right:1px solid var(--line);padding:12px 8px;min-width:0}.day:last-child{border:0}.day-head{text-align:center;color:var(--muted);font-size:11px}.day-head b{display:block;color:var(--text);font-size:20px;font-weight:500;margin-top:4px}.day-head.current b{color:#a4c8b5}.event{border-left:2px solid #a4c8b5;padding:8px;margin-top:20px;background:#a4c8b510;font-size:12px;overflow-wrap:anywhere}.event small{font-size:10px;margin-bottom:4px}.event.task{border-left-color:#d3bc7e;background:#d3bc7e0a}.history-list{padding:0;list-style:none}.history-list li{padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}.history-list small{font-size:11px}.week-switch{display:flex;gap:4px;align-items:center;font-size:12px}.week-switch span{min-width:132px;text-align:center;font-variant-numeric:tabular-nums}.empty-state{padding:40px 0;color:var(--muted);font-size:13px}.empty-state>svg{display:block;margin-bottom:14px;width:24px;height:24px}.done-line{display:flex;gap:8px;align-items:center;color:#a4c8b5;font-size:12px;margin-top:10px}.edited{font-size:11px;color:#a4c8b5}.dialog-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:20px}.dialog-head h2{margin:0}.dialogfields{display:grid;gap:14px}.dialogfields label{font-size:12px;display:grid;gap:6px;color:var(--muted)}.dialogfields input,.dialogfields textarea{color:var(--white)}.dialogfields textarea{min-height:84px}dialog{border-radius:8px}dialog .original{border-left:2px solid #6d8779;padding:0 0 0 16px;margin:18px 0;font-size:14px}dialog .original small{margin-bottom:8px}.money-note{color:#d3bc7e;font-size:12px;margin:14px 0}.source-paragraph{padding:12px 0;border-bottom:1px solid var(--line)}.source-paragraph small{font-size:11px}.source-paragraph p{font-size:13px}#toast{left:224px}.storage-warning{color:var(--error);padding:8px 20px;border-bottom:1px solid var(--line);font-size:12px}.budget-label{display:flex;gap:8px;align-items:center}.budget-label svg{width:13px;height:13px}.primary{min-height:36px}button.icon{width:32px;height:32px}.pill-label{font-size:11px;color:#d3bc7e}.mobile-tabs{display:none}
@media(max-width:1199px){body{grid-template-columns:188px minmax(0,1fr)}.review-layout{grid-template-columns:235px minmax(0,1fr)}.review-heading{padding:24px}.review-summary{padding:0 24px 24px}.review-bottom{padding:14px 24px;gap:12px}.review-bottom .actions{gap:4px}.review-bottom .actions button{padding:6px 8px}.page{padding:24px}.scenario-note{margin-left:0}}
@media(max-width:859px){body{grid-template-columns:1fr}main{margin:6px}header{height:48px}.sample{font-size:9px}.crumb span,.crumb>svg{display:none}.review-layout{display:flex;flex-direction:column}.receipt{padding:16px 20px;border-right:0;border-bottom:1px solid var(--line)}.receipt h2{display:none}.recording{border:0;padding:0;display:grid;grid-template-columns:24px minmax(0,1fr);gap:8px 10px}.recording>svg{grid-row:span 2;width:22px;height:22px;margin:2px 0 0}.recording strong{font-size:12px}.recording small{margin:0;font-size:10px}.statusline{margin-top:8px;font-size:11px}.steps{display:flex;gap:12px;padding:10px 0 0}.steps li{padding:0;gap:5px;font-size:10px;align-items:center}.steps b{font-size:10px}.steps svg{width:12px;height:12px;margin:0}.steps small{display:none}.receipt .link{display:none}.review-heading{padding:20px 20px 16px;gap:12px}.review-heading h1{font-size:20px}.portrait{width:48px;height:48px}.review-heading .badge{font-size:10px;padding:2px 6px}.review-heading small{font-size:11px}.review-summary{padding:0 20px 20px}.summary-row{gap:8px;padding:15px 0;grid-template-columns:20px minmax(0,1fr) auto}.summary-row p{font-size:13px}.summary-row.attention{margin-left:-10px;padding-left:8px}.summary-row .amount{font-size:20px}.review-bottom{position:static;flex-direction:column;align-items:stretch;padding:14px 20px;gap:10px}.review-bottom .actions{justify-content:flex-end}.review-bottom small{font-size:11px}.processing{padding:28px 20px 40px}.scenario{padding:8px 12px;gap:8px;font-size:10px}.scenario select{font-size:11px;max-width:140px}.scenario-note{width:100%;font-size:10px}.page{padding:20px}.page-heading{align-items:flex-start;flex-wrap:wrap;margin-bottom:20px}.factgrid{grid-template-columns:1fr;gap:18px}.factgrid strong{font-size:14px}.agenda{display:block;margin-top:16px}.day{min-height:64px;display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;border-right:0;border-bottom:1px solid var(--line);align-items:center;padding:10px 12px}.day-head b{font-size:18px;margin:0}.event{margin:0}.day:has(.day-empty){min-height:54px}.day-empty{font-size:11px;color:var(--muted)}.callout{align-items:flex-start;flex-wrap:wrap}.callout button{margin-left:0}.taskrow{gap:12px}.taskrow b{font-size:13px}.taskrow small{font-size:11px}.taskrow .portrait{width:38px;height:38px}#toast{left:20px}.mobile-tabs{display:flex;border-bottom:1px solid var(--line);padding:6px 10px;gap:4px}.mobile-tabs button{flex:1;font-size:11px}.mobile-tabs button.active{background:var(--high);color:var(--white)}.mobile-tabs svg{width:14px;height:14px}.week-switch{width:100%;justify-content:space-between}.section-label{margin-top:20px}.navgroup button{height:40px}}
@media(min-width:860px){.day-empty{display:none}}
@media(min-width:860px) and (max-height:820px){.review-heading{padding:16px 28px 12px}.review-heading .portrait{width:46px;height:46px}.review-summary{padding:0 28px 12px}.summary-intro{margin-bottom:8px}.summary-row{padding:10px 0;gap:10px}.summary-row h2{margin-bottom:3px}.summary-row small{margin-top:3px}.summary-row p{font-size:13px}.summary-row .amount{font-size:20px}.budgetactions{margin-top:8px}.budgetactions button{padding:4px 8px}.summary-row .link{padding:3px 0}.review-bottom{padding:12px 28px}.receipt{padding-top:20px}}

/* Native system typography, following Benny's readability review. */
body{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft JhengHei UI","Microsoft JhengHei","PingFang TC",sans-serif;font-weight:500}
button,input,select,textarea{font-family:inherit;font-weight:500}
.workspace strong,.crumb b,.recording strong,.steps b,.review-heading h1,.page-heading h1,.processing h1,.summary-row h2,.receipt h2,.dialog-head h2,.choice strong,.taskrow b,.factgrid strong{font-weight:600}
.summary-row p{font-size:14px;font-weight:500}
.summary-row .amount{font-size:20px;font-weight:600}
.amount span,.section-label,small,.summary-intro,.scenario,.sample{font-weight:500}
.day-head b,.dateleaf b{font-weight:600}
.receipt-meta{margin:24px 0;font-size:12px}.receipt-meta dt{color:var(--muted);margin-top:18px}.receipt-meta dd{margin:5px 0 0;color:var(--text)}.review-bottom{justify-content:flex-end}.review-heading{padding-bottom:24px}.review-summary>.summary-row:first-child{border-top:0}.review-heading .badge{font-size:11px}#demoSettings{border:1px solid var(--outline);padding:3px 10px;color:var(--muted)}#demoDialog .scenario{margin-top:20px;padding:16px 0 0;background:none}#demoDialog p{font-size:13px}
@media(max-width:859px){.receipt-meta{display:none}.review-heading{padding-bottom:16px}}
