.fellow-mark svg{display:block;width:28px;height:28px}
.nav-icon svg,.fellow-toggle svg{display:block;width:18px;height:18px;flex:none}
html{scrollbar-gutter:stable}
.line-field{display:contents!important}.line-field-caption{display:none}
/* Mobile app layout: each scrolling surface owns its width; the page never pans. */
.mobile-nav-toggle,.mobile-nav-dialog{display:none}
@media(max-width:650px){
 html,body{width:100%;min-width:0}body{overflow-x:clip}body .app-shell,body.fellow-open .app-shell{display:block;width:100%;min-width:0;margin:0}
 .app-shell>main{min-width:0;width:100%}.app-shell>.sidebar{display:none}
 body .topbar{position:sticky;top:0;z-index:45;box-sizing:border-box;width:100%;height:auto;min-height:102px;padding:10px 14px;display:grid;grid-template-columns:40px minmax(0,1fr);gap:8px;background:#f5f5f2;align-items:start}
 body #breadcrumb{position:absolute;left:14px;bottom:9px;font-size:10px;max-width:calc(100% - 210px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .mobile-nav-toggle{display:grid;place-items:center;width:38px;height:38px;border:1px solid #dfe3da;border-radius:7px;background:#fff;color:#263b2b;padding:8px}
 body .topbar-right{min-width:0;width:100%;display:flex;gap:7px;justify-content:flex-end;align-items:center;flex-wrap:wrap}
 body .topbar-right>button,body .topbar-right .account-menu-wrap{flex:none}
 body .topbar-right .calculator-toggle{font-size:11px;padding:9px 10px;min-height:38px}
 body .topbar-right .fellow-toggle{font-size:11px;padding:9px 10px;min-height:38px;white-space:nowrap}
 body .topbar-right .theme-toggle{width:36px;height:38px}body .topbar-right .profile{width:32px;height:32px}
 body .topbar .prototype-pill{position:absolute;right:14px;bottom:8px;width:175px;max-width:50%;font-size:8px;min-height:20px;padding:4px 6px;box-sizing:border-box}
 body .content,body.fellow-open .content{box-sizing:border-box;width:100%;min-width:0;padding:27px 16px 50px}
 .view,.view>*,.page-heading,.page-heading>div,.section-title>div{min-width:0;max-width:100%;box-sizing:border-box}
 .page-heading{gap:12px;flex-wrap:wrap}.page-heading h1{font-size:32px;line-height:1.12;overflow-wrap:break-word}.page-heading p{line-height:1.65}.page-heading>.primary-btn{flex:none;min-height:40px;white-space:nowrap}
 button,a{-webkit-tap-highlight-color:transparent}button{touch-action:manipulation}button:not(.primary-btn):not(.danger-btn){-webkit-text-fill-color:currentColor}
 .attention-row,.summary-card{color:inherit}.attention-row .item-text{overflow:hidden}.attention-row small{overflow-wrap:anywhere}
 .topbar-right svg,.nav-icon svg{width:18px;height:18px;display:block;flex:none}
 .mobile-nav-dialog[open]{display:block;position:fixed;inset:0 auto 0 0;margin:0;padding:0;border:0;width:min(320px,88vw);max-width:88vw;height:100dvh;max-height:100dvh;overflow:hidden;background:#f0f2ec;color:#263b2b}
 .mobile-nav-dialog::backdrop{background:#101c1890}.mobile-nav-dialog .sidebar{display:flex;position:static;box-sizing:border-box;width:100%;height:100%;max-height:none;padding:18px;flex-direction:column;align-items:stretch;border:0;overflow-y:auto;overscroll-behavior:contain}
 .mobile-nav-dialog .brand{padding:0 42px 14px 0;margin:0}.mobile-nav-dialog .brand-name{display:inline}.mobile-nav-dialog .workspace-switch{display:flex;margin:0 0 16px}.mobile-nav-dialog .nav{display:flex;flex-direction:column;gap:4px;overflow:visible}
 .mobile-nav-dialog .nav-item{display:flex;justify-content:flex-start;width:100%;font-size:13px;min-height:44px;padding:10px 12px;text-align:left}.mobile-nav-dialog .nav-icon{display:grid;place-items:center;width:20px}.mobile-nav-dialog .count{margin-left:auto}.mobile-nav-dialog .shortcut{display:none}.mobile-nav-dialog .sidebar-bottom{display:flex;margin-top:20px}
 .mobile-nav-close{position:absolute;right:14px;top:14px;width:36px;height:36px;border:1px solid #d8e0d3;background:transparent;color:inherit;border-radius:7px;font-size:22px;z-index:2}
 .invoice-mail-card{display:grid!important;grid-template-columns:42px minmax(0,1fr);align-items:start;gap:12px!important;padding:16px!important}
 .invoice-mail-card .invoice-mail-body{min-width:0;width:100%}.invoice-mail-card .invoice-mail-heading{gap:8px}.invoice-mail-card .invoice-mail-body p{font-size:12px;overflow-wrap:break-word}.invoice-mail-card .secondary-btn{grid-column:1/-1;width:100%;margin:0!important;min-height:42px}
 .table-card,.money-table-wrap,.payroll-record{min-width:0;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
 .money-toolbar,.analytics-toolbar,.bank-toolbar,.record-month-toolbar{min-width:0;gap:10px;flex-wrap:wrap}.money-toolbar>*,.analytics-toolbar>*,.bank-toolbar>*{max-width:100%;min-width:0}
 .date-range-filter{min-width:0;max-width:100%}.date-range-filter input,.date-range-filter select{min-width:0;max-width:100%}
 body .form-dialog,body dialog.compose-dialog,body .invoice-dialog,body .quote-dialog{box-sizing:border-box;width:calc(100vw - 24px);max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:18px;overflow:auto;overscroll-behavior:contain}
 .form-dialog label{min-width:0}.form-dialog input,.form-dialog textarea,.form-dialog select{box-sizing:border-box;min-width:0;font-size:16px!important;max-width:100%}.server-fields{grid-template-columns:1fr}.dialog-actions{flex-wrap:wrap;gap:8px}.dialog-actions button{min-height:42px;flex:1;white-space:nowrap}
 .invoice-dialog .invoice-line,.invoice-dialog .invoice-line-head,.quote-dialog .invoice-line,.quote-dialog .invoice-line-head{grid-template-columns:minmax(80px,1fr) 42px 65px 48px 24px;gap:3px}.invoice-dialog .invoice-line input{font-size:12px!important;padding:7px 3px}.invoice-line-head{font-size:8px}
 #view-notepad .notepad-shell{width:100%;min-width:0;grid-template-columns:minmax(0,1fr);min-height:0}#view-notepad .notepad-sidebar{min-width:0;padding:14px}#view-notepad #noteList{max-height:140px}#view-notepad .empty-state{padding:24px 10px}
 #view-notepad .notepad-toolbar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}#view-notepad #noteTitle{grid-column:1/-1;min-width:0;width:100%;box-sizing:border-box;font-size:16px}#view-notepad .notepad-toolbar button{min-width:0;padding:10px 5px;font-size:11px}#view-notepad #noteBody{font-size:16px;min-height:300px;resize:vertical}
 .payroll-record{padding:14px}.payroll-record header{flex-direction:column;align-items:stretch}.payroll-record table{min-width:520px}.payroll-liability{grid-template-columns:1fr!important}.payroll-actions{flex-wrap:wrap}.payroll-actions button{min-height:40px}
 body .fellow-panel{inset:0;width:100%;height:100dvh;max-height:100dvh;z-index:90}.fellow-form textarea{font-size:16px}.fellow-header,.fellow-footer{flex:none}
 .toast{left:12px;right:12px;bottom:max(15px,env(safe-area-inset-bottom));max-width:calc(100vw - 24px);box-sizing:border-box;overflow-wrap:anywhere}
 [data-theme=dark] .topbar{background:#111713}[data-theme=dark] .mobile-nav-dialog{background:#151e17;color:#e7eae4}[data-theme=dark] .mobile-nav-toggle{background:#243128;color:#dbe8d6;border-color:#3a4a3d}
}
@media(max-width:370px){body .topbar{padding-left:10px;padding-right:10px;grid-template-columns:34px minmax(0,1fr);gap:5px}.mobile-nav-toggle{width:34px}.topbar-right{gap:4px!important}body .topbar-right .calculator-toggle,body .topbar-right .fellow-toggle{padding:9px 6px;font-size:10px}body .content{padding-left:12px;padding-right:12px}}

@media(max-width:650px){
 body:has(.mobile-nav-dialog[open]){overflow:hidden}
 .form-dialog .invoice-line-head{display:none}
 .form-dialog .invoice-line{position:relative;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;padding:14px;margin:12px 0;border:1px solid #dce4d6;border-radius:9px}
 .form-dialog .invoice-line>.line-field{display:grid!important;gap:5px;margin:0;font-size:11px}
 .form-dialog .invoice-line>.line-field:first-child{grid-column:1/-1;padding-right:30px}
 .form-dialog .line-field-caption{display:block}
 .form-dialog .invoice-line .line-field input{font-size:16px!important;width:100%;margin:0;padding:9px 6px}
 .form-dialog .invoice-line>button{position:absolute;right:5px;top:5px;width:32px;height:32px}
 [data-theme=dark] .form-dialog .invoice-line{border-color:#3a4a3b}
}

.payroll-field{display:contents!important}.payroll-field-caption{display:none}
@media(max-width:650px){
 .payroll-dialog .payroll-field{display:grid!important;gap:5px;margin:0}.payroll-field-caption{display:block}
 .payroll-record table{display:block;min-width:0;width:100%}.payroll-record tbody{display:block}
 .payroll-record tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:12px 0;border-bottom:1px solid #dce2d4}.payroll-record tr:has(th){display:none}
 .payroll-record td{display:block;min-width:0;padding:0;border:0;font-size:12px;overflow-wrap:anywhere}
 .payroll-record td:first-child,.payroll-record td:last-child{grid-column:1/-1}.payroll-record td:first-child{font-weight:700;margin-bottom:3px}
 .payroll-record td:nth-child(2)::before{content:'Expected';display:block;font-size:10px;opacity:.7}.payroll-record td:nth-child(3)::before{content:'Paid';display:block;font-size:10px;opacity:.7}.payroll-record td:nth-child(4)::before{content:'Remaining';display:block;font-size:10px;opacity:.7}
 .payroll-record td:last-child button{width:100%;margin-top:6px;min-height:40px}.payroll-record{overflow-x:visible}
 [data-theme=dark] .payroll-record tr{border-color:#3a4a3b}
}

@media(max-width:650px){
 .content input:not([type=checkbox]):not([type=radio]):not([type=file]),.content select,.content textarea{font-size:16px!important;min-width:0;max-width:100%;box-sizing:border-box}
}

@media(max-width:650px){body:has(dialog[open]),body.fellow-open{overflow:hidden}.topbar-right .profile{min-width:36px;min-height:36px}}

/* Inbox list/reader presentation: the same messages and provider actions. */
#view-people .record-month-toolbar label{width:min(100%,360px)}#peopleSearch{width:100%}
.quote-preview-dialog{width:min(960px,calc(100vw - 24px));max-height:94dvh}.quote-preview-dialog iframe{display:block;width:100%;height:75dvh;border:0;margin-top:12px}
#view-inbox.mail-list-mode .mail-layout{display:block;min-height:280px;height:auto;max-height:none}
#view-inbox.mail-list-mode .mail-detail{display:none!important}
#view-inbox.mail-list-mode .mail-list{width:100%;max-height:70dvh;overflow:auto;border-right:0}
#view-inbox.mail-list-mode .mail-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(160px,2fr) 125px minmax(100px,1fr);align-items:center;gap:16px;width:100%;min-width:0;padding:16px;text-align:left}
#view-inbox.mail-list-mode .mail-row>*{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#view-inbox.mail-list-mode .mail-row-container{display:flex;align-items:center}
#view-inbox.mail-list-mode .mail-row-container .mail-row{flex:1}
#view-inbox.mail-message-mode .mail-layout{display:block;height:auto;max-height:none}
#view-inbox.mail-message-mode .mail-list{display:none!important}
#view-inbox.mail-message-mode .mail-detail{display:block!important;width:100%;max-height:none;overflow:visible}
#view-inbox .mail-reading-bar{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
@media(max-width:700px){#view-inbox.mail-list-mode .mail-row{grid-template-columns:minmax(0,1fr) auto;gap:5px 10px}#view-inbox.mail-list-mode .mail-row>strong{grid-column:1;grid-row:1}#view-inbox.mail-list-mode .mail-row>span:not(.mail-address-badge):not(.mail-snippet){grid-column:1/-1;grid-row:2}#view-inbox.mail-list-mode .mail-row>small{grid-column:2;grid-row:1;font-size:9px}#view-inbox.mail-list-mode .mail-row>.mail-address-badge{grid-column:1/-1;grid-row:3;justify-self:start;max-width:100%}#view-inbox.mail-split-mode .mail-layout{display:block}#view-inbox.mail-split-mode .mail-list{max-height:30dvh}}

#view-inbox.mail-list-mode .mail-row{grid-template-columns:minmax(120px,1fr) minmax(180px,2.5fr) 125px minmax(100px,1fr)}#view-inbox.mail-list-mode .mail-snippet{grid-column:2;grid-row:2;color:var(--muted,#879181);font-size:11px}#view-inbox.mail-list-mode .mail-row>strong{grid-column:1;grid-row:1/3}#view-inbox.mail-list-mode .mail-row>span:not(.mail-address-badge):not(.mail-snippet){grid-column:2;grid-row:1}#view-inbox.mail-list-mode .mail-row>small{grid-column:3;grid-row:1/3}#view-inbox.mail-list-mode .mail-address-badge{grid-column:4;grid-row:1/3}.mail-snippet{display:none}#view-inbox.mail-list-mode .mail-snippet{display:block}@media(max-width:700px){#view-inbox.mail-list-mode .mail-row{grid-template-columns:minmax(0,1fr) auto}#view-inbox.mail-list-mode .mail-row>strong{grid-column:1;grid-row:1}#view-inbox.mail-list-mode .mail-row>small{grid-column:2;grid-row:1}#view-inbox.mail-list-mode .mail-row>span:not(.mail-address-badge):not(.mail-snippet){grid-column:1/-1;grid-row:2}#view-inbox.mail-list-mode .mail-snippet{grid-column:1/-1;grid-row:3}#view-inbox.mail-list-mode .mail-address-badge{grid-column:1/-1;grid-row:4}}
#view-inbox.mail-list-mode .mail-row>span.mail-address-badge{grid-column:4;grid-row:1/3}#view-inbox.mail-list-mode .mail-row>span.mail-snippet{grid-column:2;grid-row:2}@media(max-width:700px){#view-inbox.mail-list-mode .mail-row>span.mail-address-badge{grid-column:1/-1;grid-row:4}#view-inbox.mail-list-mode .mail-row>span.mail-snippet{grid-column:1/-1;grid-row:3}}
#view-inbox.mail-list-mode .mail-row{column-gap:12px;row-gap:5px;padding-top:12px;padding-bottom:12px}@media(max-width:700px){#view-inbox.mail-list-mode .mail-row{row-gap:6px}}
/* Connected workspace: one quiet entry point, existing records underneath. */
.connected-dialog{width:min(620px,calc(100vw - 28px));max-height:85dvh;overflow:auto}
.connected-dialog .dialog-top{align-items:center}.connected-dialog .close-btn{font-size:12px;padding:9px}
.connected-dialog>input,.connected-dialog>select{margin:0 0 12px;min-height:42px}
.connected-dialog>button{margin:0 8px 12px 0}.connected-results{display:grid;gap:7px;margin-top:18px}
.connected-result{display:grid;grid-template-columns:1fr;gap:5px;text-align:left;width:100%;padding:13px 15px;border:1px solid #e0e6db;border-radius:8px;background:#fafbf8;color:#283b2c;overflow-wrap:anywhere}
.connected-result:hover{background:#edf3e8;border-color:#9db28f}.connected-result small{font-size:9px;font-weight:700;letter-spacing:.12em;color:#71866a}.connected-result strong{font-size:13px;line-height:1.45}.connected-result span{font-size:11px;line-height:1.5;color:#7c8876}
.connected-today{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:32px}.connected-today>.connection-warning{grid-column:1/-1}
.connected-card{min-width:0;padding:22px;border:1px solid #dfe5d9;border-radius:12px;background:#fff}.connected-card h2{font-family:'DM Sans',sans-serif;font-size:20px;letter-spacing:-.035em;margin:0 0 18px}.connected-card h3{margin-top:0}.connected-card>.connected-result{margin-top:8px}.connected-card>.secondary-btn{margin-top:10px;max-width:100%;overflow-wrap:anywhere}
.connected-linked-files{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.topbar-right>.secondary-btn{padding:7px 11px;min-height:32px}.topbar-right>.secondary-btn[aria-label="Quick capture"]{font-size:20px;line-height:1;width:33px;padding:4px}
.task-row .text-btn{max-width:180px;overflow-wrap:anywhere}
[data-theme="dark"] .connected-card{background:#1b251e;border-color:#344437}[data-theme="dark"] .connected-result{background:#202e24;border-color:#3a4b3b;color:#e4eddf}[data-theme="dark"] .connected-result:hover{background:#2b3e2e}[data-theme="dark"] .connected-result small,[data-theme="dark"] .connected-result span{color:#a8b99f}
@media(max-width:700px){.connected-today{grid-template-columns:1fr}.connected-card{padding:18px}.connected-dialog{padding:19px}.topbar-right{gap:8px}.connected-dialog .dialog-top h2{font-size:21px}.task-row{flex-wrap:wrap}.task-row .text-btn{max-width:100%}}
@media(max-width:650px){body .topbar{padding-bottom:36px}body .topbar .prototype-pill{right:14px;max-width:48%}}
/* Fixed inverted L: navigation and tools stay put, only the work pane scrolls. */
html:has(.app-shell),body:has(.app-shell){height:100%;overflow:hidden}
body .app-shell{height:100dvh;min-height:0;overflow:hidden}
body .app-shell>.sidebar{height:100%;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;box-sizing:border-box}
body .app-shell>.main{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}
body .app-shell>.main>.topbar{flex:none;position:relative;z-index:45;flex-wrap:wrap;gap:12px;min-height:66px;height:auto;padding-top:12px;padding-bottom:12px}
body .app-shell>.main>.content{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:clip;overscroll-behavior-y:contain;width:100%;max-width:none;scrollbar-gutter:stable}
.content>.view{max-width:1124px;margin-inline:auto}
.content>#view-inbox.mail-expanded{max-width:none;width:100%}
.workspace-search{display:flex;align-items:center;gap:8px;flex:1 1 180px;max-width:280px;min-width:140px;margin:0;padding:0 11px;border:1px solid #dce3d7;border-radius:8px;background:#fff;color:#788773}
.workspace-search svg{width:17px;height:17px;flex:none}.workspace-search input{width:100%;min-width:0;height:36px;padding:0;border:0;background:transparent;color:#263b2b;font:inherit;font-size:11px;outline:none}.workspace-search input::placeholder{color:#7c8977;opacity:1}.workspace-search:focus-within{border-color:#82a276;box-shadow:0 0 0 2px #82a27620}
.topbar #breadcrumb{min-width:0;white-space:nowrap}.topbar-right{margin-left:auto;gap:12px}
.mail-reading-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.mail-reading-controls{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-left:auto;flex-wrap:wrap}
.mail-route-card{display:flex;align-items:baseline;gap:7px}.mail-route-label{display:inline;margin:0;flex:none}.mail-route-address{display:inline;min-width:0}.mail-routing{align-items:center}
[data-theme=dark] .workspace-search{background:#172119;border-color:#3b4c3c;color:#b6c5af}[data-theme=dark] .workspace-search input{color:#e5eddf}[data-theme=dark] .workspace-search input::placeholder{color:#a8b6a1}
@media(min-width:651px) and (max-width:1100px){body .app-shell>.main>.topbar{padding-inline:20px}.topbar #breadcrumb{max-width:110px;overflow:hidden;text-overflow:ellipsis}.topbar-right{gap:8px}}
@media(max-width:650px){body .app-shell>.main>.topbar{display:grid;grid-template-columns:38px minmax(0,1fr);padding:10px 14px 36px;gap:8px}.workspace-search{grid-column:1/-1;grid-row:2;max-width:none;width:100%;min-width:0;box-sizing:border-box}.workspace-search input{height:36px;font-size:12px}body .topbar-right{grid-column:2;grid-row:1;gap:4px}body .topbar-right .calculator-toggle,body .topbar-right .fellow-toggle{font-size:10px;padding:7px;min-height:36px}body .topbar-right .theme-toggle{width:32px;height:36px}body .topbar-right .profile{width:32px;height:32px;min-width:32px;min-height:32px}.mail-reading-bar{align-items:flex-start}.mail-reading-controls{gap:6px}.mail-reading-bar button{padding:9px;font-size:10px}.mail-routing{align-items:stretch}.mail-route-card{flex:1 1 100%;flex-wrap:wrap}}

/* Native file controls should fit their card, with readable keyboard focus. */
input[type=file]{max-width:100%;min-width:0;box-sizing:border-box}
@media(max-width:650px){input[type=file]{width:100%;font-size:12px!important}input[type=file]::file-selector-button{max-width:100%;padding:8px 10px;border:1px solid #d4dece;border-radius:5px;background:#f1f5ed;color:#30442e;cursor:pointer}.signature-upload,.signature-upload>*{min-width:0;max-width:100%}}
button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid #789a68;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.toast,.prototype-pill{transition:none!important;animation:none!important}}
