/* Shared control geometry. Keep search inputs inside their own surfaces. */
.app-shell{--control-height:48px}
.toolbar{gap:16px;padding:20px 24px;align-items:center}
.toolbar-left,.toolbar-right{min-width:0;gap:12px}
.toolbar-right{flex:1 1 420px;justify-content:flex-end}
.toolbar .search{flex:1 1 240px;max-width:360px}
form.search{height:var(--control-height);min-height:var(--control-height);min-width:0;box-sizing:border-box;gap:10px;padding:0 13px;border-radius:12px;background:#fff;border:1px solid #d2e1e9;overflow:hidden}
form.search input,form.search input:focus{display:block;flex:1;width:100%;min-width:0;height:100%;min-height:0!important;max-height:100%;margin:0;padding:0!important;border:0!important;border-radius:0;background:transparent!important;box-shadow:none!important;outline:0!important;line-height:1.5;font-size:15px!important;color:inherit}
form.search .icon{width:18px;height:18px;flex:0 0 18px}
form.search:focus-within{border-color:#08a6df;box-shadow:0 0 0 3px #08a6df20}
form.search input::placeholder{color:#7793a3;opacity:1}
.select-filter{height:var(--control-height);min-height:var(--control-height);min-width:145px;max-width:200px;padding:0 34px 0 13px;border-radius:12px;border:1px solid #d2e1e9;background:#fff;color:#294f65;font-weight:400}
[data-theme=dark] form.search,[data-theme=dark] .select-filter{background:#1b3448;color:#e6f2f8;border-color:#3b5b70}
[data-theme=dark] form.search:focus-within{border-color:#27b6de}
[data-theme=dark] form.search input::placeholder{color:#b2c8d5}
[data-theme=dark] .btn-soft{background:#21485f;color:#c3efff;border:1px solid #3a6a82}
[data-theme=dark] .btn-outline{background:#1c364a;color:#e1f1f8;border-color:#527185}
[data-theme=dark] .btn-soft:hover,[data-theme=dark] .btn-outline:hover{background:#2b5269;color:#fff}
[data-theme=dark] .financial-report input,[data-theme=dark] .expense-form input,[data-theme=dark] #intake-settings-form textarea{background:#1b3448;color:#e6f2f8;border-color:#3b5b70}

/* Separate actions instead of joining rounded buttons into one shape. */
.scan-panel{display:grid;gap:14px;padding:22px}
.scan-panel h3,.scan-panel p{margin:0}
.scan-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.scan-actions .btn{min-height:44px;margin:0;padding:11px 16px;justify-content:center}
.scan-panel video{margin:0}
.form-actions,.detail-actions{gap:12px;flex-wrap:wrap;align-items:center}
.form-actions .btn,.detail-actions .btn{min-height:44px}
.field-heading{margin-bottom:0;gap:12px;min-width:0;flex-wrap:wrap}
.field-heading .btn{min-height:44px;max-width:100%;white-space:normal;font-size:13px;padding:10px 13px}
.product-search-row input{height:48px;min-height:48px!important}
.product-suggestions{top:54px}
.row-buttons{gap:8px}
.row-buttons button{min-height:36px;padding:8px 10px;font-size:12px;font-weight:500}
.data-table td:has(.row-buttons){min-width:290px}
.data-table .row-buttons{width:max-content;flex-wrap:nowrap}
#report-form{align-items:flex-end;gap:16px}
#report-form .field{flex:0 1 220px;min-width:160px;margin:0}
.card-head{gap:16px;flex-wrap:wrap}
.page-title-row{gap:20px}
.card-body,.form-grid,.field{min-width:0}
.profile-trigger b{font-size:13px;font-weight:500}
.profile-trigger small{font-size:11px;font-weight:400}

/* Team access shares the same page hierarchy and card spacing as payroll. */
.agent-management{margin:24px 0;overflow:hidden}
.agent-management-head{padding:26px;align-items:center;border-bottom:1px solid var(--line)}
.agent-management-head>div:first-child{flex:1 1 420px;min-width:0}
.agent-management-head h2{font-size:24px;line-height:1.35;font-weight:500;margin:9px 0}
.agent-management-head p{font-size:14px;line-height:1.75;color:var(--muted);max-width:74ch;margin:0}
.agent-management-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.agent-management-tools .btn{min-height:44px;white-space:normal}
.agent-access-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:24px}
.agent-access-row{min-width:0;padding:22px;border:1px solid var(--line);border-radius:17px;background:var(--wash)}
.agent-access-person{display:flex;gap:12px;align-items:flex-start;min-width:0}
.agent-access-avatar{width:46px;height:46px;flex:0 0 46px;display:grid;place-items:center;border-radius:14px;background:#dff3fa;color:#08749f;object-fit:cover;font-size:15px;font-weight:500}
.agent-access-identity{flex:1;min-width:0}
.agent-access-identity h3{font-size:17px!important;font-weight:500;line-height:1.45;margin:0 0 7px;overflow-wrap:anywhere}
.agent-access-person .badge{flex:0 0 auto;margin-top:2px;white-space:nowrap;font-size:11px;line-height:1.5}
.agent-island{display:inline-flex;gap:5px;align-items:center;color:var(--muted);font-size:13px;line-height:1.6}
.agent-island .icon{width:15px;height:15px;flex:0 0 15px}
.agent-island.unassigned{color:#966112}
.agent-login{margin-top:18px;padding:13px 0 16px;border-top:1px solid var(--line)}
.agent-login>span{display:block;color:var(--muted);font-size:12px;line-height:1.6;margin-bottom:4px}
.agent-login>b{display:block;font-size:14px;font-weight:400;line-height:1.65;overflow-wrap:anywhere}
.agent-row-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.agent-row-actions .btn{min-width:0;min-height:46px;padding:10px 12px;font-size:13px;line-height:1.5;white-space:normal;overflow-wrap:anywhere;justify-content:center;text-align:center}
.agent-row-actions .agent-remove{color:#ab4351;border-color:#d5a4aa;background:#fff5f6}
.agent-access-empty{grid-column:1 / -1;margin:0;padding:16px;color:var(--muted);line-height:1.7}
.team-section,.payroll-ledger{margin:24px 0}
.employee-tile h3{font-family:'Poppins',sans-serif;font-size:17px!important;font-weight:500;line-height:1.45;overflow-wrap:anywhere}
.employee-tile p{font-size:14px;line-height:1.6}
.employee-tile small{font-size:12px;line-height:1.6;overflow-wrap:anywhere}
.employee-tile-foot{flex-wrap:wrap;gap:12px;font-size:13px;line-height:1.6}
.employee-tile-foot b{font-size:16px;font-weight:500}
.employee-tile-photo{font-family:'Poppins',sans-serif;font-weight:500}
.card-head h3{font-size:21px;font-weight:500;line-height:1.4;margin:0 0 7px}
.card-head p{font-size:14px;line-height:1.7;margin:0;color:var(--muted)}
.field>label{line-height:1.65}
#payroll-month-form,#finance-month-form{display:flex;flex-wrap:wrap;gap:10px;align-items:center;min-width:0}
#payroll-month-form input,#finance-month-form input{width:180px;max-width:100%;min-width:0;min-height:46px;border:1px solid #6f91a8;border-radius:11px;padding:10px 12px;background:#fff;color:#17374b;color-scheme:light}
#payroll-month-form .btn,#finance-month-form .btn{min-height:46px}
[data-theme=dark] .page .field>label{color:#d2e6f2}
[data-theme=dark] .employee-tile{background:#1b3448;border-color:#36566c}
[data-theme=dark] .employee-tile p,[data-theme=dark] .employee-tile small,[data-theme=dark] .employee-tile-foot{color:#b6ccd9}
[data-theme=dark] .employee-tile-foot{border-color:#36566c}
[data-theme=dark] .employee-tile-foot b{color:#e7f3f8}
[data-theme=dark] .agent-access-avatar{background:#23546b;color:#b6edff}
[data-theme=dark] .agent-island.unassigned{color:#edc983}
[data-theme=dark] .agent-row-actions .agent-remove{background:#452d38;border-color:#95606d;color:#ffccd4}
[data-theme=dark] #payroll-month-form input,[data-theme=dark] #finance-month-form input{background:#1b3448;color:#e7f2f7;border-color:#52758b;color-scheme:dark}
.settings-section h3,.form-card>h3,.expense-panel h3{font-size:21px;font-weight:500;line-height:1.45;margin:0 0 14px}
.settings-section{margin-bottom:25px}
.payroll-hero p,.financial-report .analytics-head p{font-size:14px;line-height:1.75}
.payroll-metrics span,.financial-metrics span{font-size:13px;line-height:1.6}
.payroll-metrics strong,.financial-metrics strong{font-family:'Poppins',sans-serif;font-size:22px;font-weight:500;line-height:1.4;overflow-wrap:anywhere}
.financial-metrics{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.financial-chart small{font-size:12px;line-height:1.5}
.financial-footnote{font-size:12px!important;line-height:1.8}
.expense-list>div{font-size:14px;line-height:1.7;gap:16px}
.expense-list small{font-size:12px;line-height:1.6}
#backup-list .manifest-card{gap:16px;padding:16px;align-items:center}
#backup-list .manifest-card>div{min-width:0;flex:1}
#backup-list .manifest-card strong{display:block;overflow-wrap:anywhere;font-size:13px;font-weight:500;line-height:1.65}
#backup-list .manifest-card p{font-size:12px;line-height:1.7;color:var(--muted)}
#backup-list .row-action{min-height:44px;min-width:92px;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:500;padding:10px 12px}
.commission-rule-head{display:none}
.commission-rule-row{grid-template-columns:repeat(4,minmax(0,1fr)) 44px;align-items:end;gap:14px;padding:16px;margin-top:14px;border:1px solid var(--line);border-radius:14px}
.commission-rule-field{min-width:0;display:grid;gap:7px;margin:0}
.commission-rule-field>span{font-size:13px;line-height:1.6;color:var(--muted)}
.commission-rule-row input,.commission-rule-row select{min-width:0;min-height:46px;border-radius:10px;padding:10px 12px}
.commission-rule-row>button{min-width:44px;min-height:46px;font-size:24px;font-weight:400}
[data-theme=dark] .commission-rule-row>button{background:#452d38;color:#ffccd4}
@media(max-width:1199px){.financial-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.settings-section h3,.form-card>h3,.expense-panel h3{font-size:20px}.financial-metrics strong,.payroll-metrics strong{font-size:20px}.commission-rule-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:15px}.commission-rule-field:first-child{grid-column:1 / -1}.commission-rule-row>button{justify-self:end;width:46px}.commission-rule-row input,.commission-rule-row select{padding:10px}#backup-list .manifest-card{flex-wrap:wrap}#backup-list .manifest-card>div{flex-basis:100%}#backup-list .row-action{width:100%}}
@media(max-width:1100px){.agent-access-grid{grid-template-columns:1fr}.agent-management-head{align-items:flex-start}.agent-management-tools{width:100%}.agent-management-tools .btn{flex:0 1 auto}}
@media(max-width:600px){.agent-management-head{padding:20px;gap:18px}.agent-management-head h2{font-size:22px}.agent-access-grid{padding:16px;gap:14px}.agent-access-row{padding:17px}.agent-management-tools{flex-direction:column;align-items:stretch}.agent-management-tools .btn{width:100%}.agent-access-person{gap:10px;flex-wrap:wrap}.agent-access-person .badge{margin-left:auto}.agent-access-avatar{width:40px;height:40px;flex-basis:40px}.agent-access-identity{min-width:150px}.agent-access-identity h3{font-size:16px!important}.agent-row-actions{gap:10px}.agent-row-actions .btn{font-size:12px;min-height:48px;padding:10px}.employee-grid{padding:16px}.employee-tile{padding:17px}.card-head{padding:20px 18px 0}.card-head h3{font-size:20px}#payroll-month-form,#finance-month-form{width:100%;margin-top:18px}#payroll-month-form input,#finance-month-form input{flex:1 1 170px}#payroll-month-form .btn,#finance-month-form .btn{flex:1 1 130px}}

/* Desktop: all menu items have room; no clipped last button or tiny labels. */
@media(min-width:761px){
  .app-header{display:grid;grid-template-columns:190px minmax(0,1fr) max-content;height:auto;min-height:96px;padding:16px 24px;gap:20px;align-items:center}
  .app-brand,.app-brand img{width:190px}
  .app-brand img{max-height:58px}
  .top-nav{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);align-items:stretch;width:100%;min-width:0;margin:0;padding:6px;gap:5px;overflow:visible;border-radius:24px}
  .top-nav button{min-width:0;min-height:46px;margin:0;padding:10px 12px;gap:8px;justify-content:center;border-radius:18px;font-size:13px;font-weight:500;line-height:1.4;white-space:normal}
  .top-nav button span{min-width:0;white-space:normal}
  .top-nav button .icon{display:block;width:16px;height:16px;flex:0 0 16px}
  .header-tools{margin:0;gap:10px;justify-self:end;min-width:0}
  .header-tools .header-tool{width:42px;height:42px}
  .header-tools .profile-trigger{min-height:44px;max-width:205px;padding:5px 12px 5px 5px}
  .header-tools .profile-trigger span:not(.profile-avatar){display:block;min-width:0}
}
@media(min-width:761px) and (max-width:1599px){
  .app-header{grid-template-columns:minmax(0,1fr) auto;padding:14px 24px;gap:12px 20px}
  .app-brand{grid-column:1;grid-row:1}
  .header-tools{grid-column:2;grid-row:1}
  .top-nav{grid-column:1 / -1;grid-row:2;order:initial;flex:initial}
}
@media(min-width:761px) and (max-width:1050px){
  .app-header{padding:12px 18px}
  .top-nav{grid-auto-flow:row;grid-template-columns:repeat(4,minmax(0,1fr));border-radius:20px}
  .top-nav button{min-height:44px}
}
@media(max-width:760px){
  .toolbar{padding:16px;gap:14px}
  .toolbar-left,.toolbar-right{width:100%;flex:1 1 100%;gap:12px;min-width:0}
  .toolbar-right{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;justify-content:stretch}
  .toolbar .search{width:100%;max-width:none;min-width:0;flex:1 1 100%}
  .toolbar>.search{flex-basis:100%}
  .select-filter{min-width:118px;max-width:155px;padding-left:11px;padding-right:24px}
  .scan-panel{padding:18px;gap:14px}
  .address-picker .field-heading>label{flex:1 1 100%}
  .address-picker .field-heading>.btn{width:100%;justify-content:center}
  .scan-actions{gap:10px}
  .scan-actions .btn{flex:1 1 190px}
  .detail-actions .btn{flex:1 1 150px}
  .form-actions .btn{flex:1 1 140px}
  .row-buttons button{min-height:44px}
  #report-form .field{flex:1 1 180px;min-width:0}
  .page-title-row{align-items:flex-start;gap:16px;flex-wrap:wrap}
}
@media(max-width:430px){
  .toolbar-right{grid-template-columns:minmax(0,1fr)}
  .toolbar-right .select-filter{width:100%;max-width:none}
  .toolbar .tabs{max-width:100%;gap:6px;flex-wrap:wrap}
  .toolbar .tabs button{min-height:40px;padding:9px 12px;font-size:12px;white-space:normal}
  .field-heading:has(.product-picker){flex-wrap:wrap}
  .field-heading .product-picker{flex-basis:100%;width:100%}
}

/* Fast panel feedback; keep the existing workspace design. */
.panel-loading{padding:28px;min-height:120px}.list-pagination{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:16px;flex-wrap:wrap}.list-pagination span{margin-right:auto;font-size:13px}.page{animation-duration:.12s!important}
