/* Common workspace rhythm; scanner/canvas geometry and printed documents excluded. */
.workspace-main{--workspace-ink:#263d33;--workspace-muted:#586d60;min-width:0}
#app>aside{padding:24px 16px;overflow:hidden}
#app>aside .brand{font-size:25px;letter-spacing:-1px;flex-shrink:0}
#app>aside .brand-sub{font-size:11px;line-height:1.6;letter-spacing:0;margin:10px 4px 22px}
#app>aside .nav-label{font-size:11px;letter-spacing:.5px;margin:10px 12px}
#app>aside .nav{min-height:44px;flex-shrink:0;color:#52665a;font-size:13px;padding:10px 12px}
#app>aside .nav.active{color:#174b3c;box-shadow:inset 3px 0 #267153}
#app>aside .side-foot{padding:14px 8px 0;margin-top:auto;flex-shrink:0}
#app>aside .nav-label{flex-shrink:0}
.workspace-side-menu{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;padding:3px 0}
.workspace-side-menu .nav{width:100%}
.workspace-main>.topbar{height:68px;padding:0 28px;background:#fff;gap:12px}
.workspace-main>.content{padding:28px;max-width:1600px}
.workspace-main .page-head{align-items:flex-start;gap:20px;flex-wrap:wrap;margin-bottom:24px}
.workspace-main .page-head>div:first-child{flex:1;min-width:220px}
.workspace-main .page-head h1{font-size:26px;letter-spacing:-.7px;line-height:1.35;margin:6px 0 8px}
.workspace-main .page-head p{font-size:13px;color:var(--workspace-muted);margin:0;max-width:80ch}
.workspace-main .page-head .eyebrow{font-size:10px;letter-spacing:1px;color:#617568}
.workspace-page-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;padding-top:8px;max-width:100%}
.workspace-page-actions>div{display:flex;flex-wrap:wrap;gap:8px}
.workspace-main .btn{font-size:13px;min-height:40px}
.workspace-main .toolbar{gap:10px;align-items:center}
.workspace-main :is(.panel-head,.inv-catalog-heading){gap:12px;flex-wrap:wrap}
.workspace-main .panel-head{padding:18px 22px}
.workspace-main :is(.panel,.stat,.dashboard-kpi,.quote-list-item){border-color:#dce5dc}
.workspace-main :is(.muted,.panel p){color:var(--workspace-muted)}
.workspace-main :is(th,td){padding:14px 18px;line-height:1.6}
.workspace-main th{font-size:12px;color:#52665a;background:#f1f5f0;font-weight:600}
.workspace-main td{font-size:13px}
.workspace-main tbody tr:hover{background:#f7faf6}
.workspace-main :is(.table-wrap,.inv-table){overflow-x:auto;overscroll-behavior-x:contain;scrollbar-gutter:stable}
.workspace-main .admin-tabs{flex-wrap:wrap;overflow:visible;padding:8px;gap:6px;margin-bottom:24px;background:#eef3ed}
.workspace-main .admin-tabs .filter{min-height:40px;font-size:12px;white-space:normal;text-align:left}
.workspace-section-switch{display:none}
.workspace-main :is(.quote-row,.expense-row){gap:16px}
.workspace-main .expense-monthbar{padding:16px;background:white;border:1px solid #dce5dc;border-radius:10px;align-items:end}
.workspace-main .quote-row>span{min-width:0;overflow-wrap:anywhere}
.workspace-main .bottom-note{margin-top:28px;color:#687a6c}
.workspace-menu-toggle{display:none}
.workspace-skip{position:fixed;left:250px;top:-80px;z-index:90;background:#174b3c;color:white;padding:12px 18px;border-radius:8px}
.workspace-skip:focus{top:10px}
#app :is(button,a,input,select,textarea):focus-visible,dialog :is(button,a,input,select,textarea):focus-visible{outline:3px solid #38795d;outline-offset:3px}
#app button:disabled,dialog button:disabled{cursor:not-allowed}
/* Keep the form identity and its explicit save action reachable in long editors. */
#modal{padding:24px;max-height:calc(100dvh - 40px);scroll-padding-block:80px}
#modal>.modal-head{position:sticky;top:-24px;z-index:3;background:white;margin:-24px -24px 20px;padding:20px 24px;border-bottom:1px solid #dce5dc}
#modal>.modal-head>button{min-width:40px;min-height:40px;border-radius:8px;background:#f1f5f0}
#modal form>.form-actions{position:sticky;bottom:-24px;z-index:2;background:#fff;padding:14px 0;margin-bottom:-24px;box-shadow:0 -8px 12px #fff}
#modal :is(input,select,textarea){max-width:100%}
#modal .form-grid{gap:16px}
#modal label{line-height:1.6}
#modal .form-actions .btn{min-height:44px}
.workspace-bottom-nav{display:none}
@media(max-width:1100px) and (min-width:901px){#app>aside{width:210px}.workspace-main{margin-left:210px}.workspace-main>.content{padding:24px}.workspace-main>.topbar{padding:0 24px}}
@media(max-width:900px){
 #app>aside{display:none}
 .workspace-bottom-nav{display:flex;position:fixed;bottom:0;left:0;width:100%;height:calc(70px + env(safe-area-inset-bottom));padding:5px 4px calc(5px + env(safe-area-inset-bottom));background:white;border-top:1px solid var(--line);z-index:30;gap:2px}
 .workspace-bottom-nav button{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-size:11px;white-space:nowrap;border-radius:8px;color:#52665a;padding:4px 0}
 .workspace-bottom-nav button>span:first-child{font-size:20px;line-height:22px}
 .workspace-bottom-nav button[aria-current=page]{background:#e8f1e8;color:#174b3c;box-shadow:inset 0 3px #267153;font-weight:700}
 .workspace-main{margin:0 0 calc(70px + env(safe-area-inset-bottom));padding-bottom:0}
 .workspace-main>.topbar{position:sticky;top:0;z-index:12;height:64px;padding:0 16px;box-shadow:0 2px 6px #20372c08}
 .workspace-main>.content{padding:20px 16px 90px}

 .workspace-main .topbar .crumb{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}
 .workspace-main .top-actions{gap:10px;flex-shrink:0}
 .workspace-main .top-actions .profile-trigger{min-width:36px}
 .workspace-main .page-head{gap:12px;margin-bottom:20px}
 .workspace-main .page-head h1{font-size:24px}
 .workspace-page-actions{width:100%;justify-content:flex-start;padding-top:0}
 .workspace-main .admin-tabs{display:none}
 .workspace-main .admin-tabs.workspace-admin-slider{display:flex;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;max-width:100%;scrollbar-width:thin;margin-bottom:20px}
 .workspace-main .workspace-admin-slider .filter{flex:0 0 auto;white-space:nowrap;min-height:44px}
 .workspace-section-switch{display:grid;gap:8px;padding:14px 16px;background:#eef3ed;border:1px solid #dce5dc;border-radius:10px;margin-bottom:20px;font-size:12px;font-weight:600;color:#52665a}
 .workspace-section-switch select{width:100%;min-height:44px;background:white;font-size:16px}
 .workspace-skip{left:12px}
 .chat-launcher{bottom:calc(86px + env(safe-area-inset-bottom))}
}
@media(max-width:600px){
 .workspace-main>.topbar{gap:8px;padding:0 12px}
 .workspace-main .topbar .crumb{font-size:12px}
 .workspace-main .top-actions{gap:6px}
 .workspace-main .top-actions .user-name{display:none}
 .workspace-main .logout-button{font-size:11px;padding:8px}
 .workspace-main .btn,.workspace-main .filter{min-height:44px}
 .workspace-main input:not([type=checkbox]):not([type=radio]),.workspace-main select,.workspace-main textarea,#modal input:not([type=checkbox]):not([type=radio]),#modal select,#modal textarea{font-size:16px}
 .workspace-main .page-head>div:first-child{min-width:0;flex-basis:100%}
 .workspace-page-actions>.btn{flex:1}
 .workspace-page-actions>div{width:100%}
 .workspace-page-actions>div>.btn{flex:1}
 .workspace-main .toolbar input[type=search]{width:100%;flex:1 1 180px;min-width:0}
 .workspace-main .expense-monthbar{gap:12px;padding:14px}
 .workspace-main .panel-head{padding:16px}
 .workspace-main :is(td,th){padding:12px}
 #modal{max-width:calc(100vw - 20px);padding:18px;max-height:calc(100dvh - 20px)}
 #modal>.modal-head{top:-18px;margin:-18px -18px 18px;padding:14px 18px}
 #modal form>.form-actions{bottom:-18px;margin-bottom:-18px;flex-wrap:wrap;padding:12px 0}
}
@media(prefers-reduced-motion:reduce){.workspace-main *{scroll-behavior:auto}}

.workspace-scope{display:flex;gap:4px;padding:4px;background:#eef3ed;border-radius:10px;flex-wrap:wrap}
.workspace-main .inv-product-summary>form{display:flex;gap:8px;flex-wrap:nowrap}
.workspace-main .inv-product-summary>form input{flex:1;min-width:0;width:auto}
@media(max-width:600px){.workspace-scope{width:100%}.workspace-scope .filter{flex:1;white-space:normal}}
#modal :is(form,fieldset,label,.form-grid>*){min-width:0}
#modal .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
#modal .form-grid :is(input:not([type=checkbox]):not([type=radio]),select,textarea){width:100%}
@media(max-width:600px){#modal .form-grid{grid-template-columns:minmax(0,1fr)}}

.workspace-admin-groups{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.workspace-admin-groups .filter{min-height:44px;font-weight:600}
.workspace-admin-groups .filter.active{background:#174b3c;color:#fff;border-color:#174b3c}
.workspace-main .admin-tabs.workspace-admin-slider{margin-top:0}
.workspace-launchers .workspace-launcher{background:#fff;border-color:#dfe7d9;color:#263d33}
.workspace-launchers .workspace-app-icon{background:#edf2e7;color:#466c3e}
.workspace-launchers .workspace-launcher small{color:#586d60}
@media(max-width:700px){
 .workspace-launchers{grid-template-columns:repeat(2,minmax(0,1fr))}
 .workspace-launchers .workspace-launcher{flex-direction:column;align-items:flex-start;gap:10px;padding:16px}
 .workspace-launchers .workspace-launcher .workspace-arrow{display:none}
 .workspace-launchers .workspace-launcher>span:nth-child(2){flex:none}
}

.equipment-controls{padding:20px;margin-bottom:24px}
.equipment-search-row{display:flex;align-items:flex-end;gap:12px;padding-bottom:18px;border-bottom:1px solid #e1e8de}
.equipment-search-row label{display:grid;gap:8px;flex:1;min-width:0;font-size:13px;font-weight:600}
.equipment-search-row input{width:100%;min-width:0}
.equipment-search-row>.btn{flex-shrink:0}
.equipment-filter-groups{display:grid;gap:12px;margin-top:18px}
.equipment-filter-group{display:grid;grid-template-columns:100px minmax(0,1fr);gap:12px;align-items:start}
.equipment-filter-group>span{font-size:12px;color:#586d60;padding-top:12px}
.equipment-filter-group>div{display:flex;gap:6px;flex-wrap:wrap}
.equipment-filter-group .filter{min-height:40px}
.equipment-results-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:16px}
.equipment-results-heading h2{font-size:18px;margin:0}
.equipment-results-heading>span{font-size:12px;color:#586d60}
@media(max-width:600px){.equipment-controls{padding:16px}.equipment-filter-group{grid-template-columns:minmax(0,1fr);gap:6px}.equipment-filter-group>span{padding:0}.equipment-filter-group .filter{min-height:44px;padding:8px 12px}.equipment-results-heading{flex-wrap:wrap}}


/* Keep wheel, touch and keyboard scrolling without permanent menu tracks. */
#app>aside,
.workspace-main .admin-tabs.workspace-admin-slider,
.workspace-main .workspace-admin-groups,
html.workspace-admin-page{
 scrollbar-width:none;
 scrollbar-gutter:auto;
}
#app>aside::-webkit-scrollbar,
.workspace-main .admin-tabs.workspace-admin-slider::-webkit-scrollbar,
.workspace-main .workspace-admin-groups::-webkit-scrollbar,
html.workspace-admin-page::-webkit-scrollbar{display:none}

/* Month navigation and data refresh have separate, stable groups. */
.workspace-main .expense-monthbar.panel{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:18px 20px}
.expense-period{min-width:0}.expense-period>label{display:block;font-size:12px;font-weight:600;color:#586d60;margin-bottom:8px}
.expense-month-navigation{display:flex;align-items:center;gap:8px}.expense-month-navigation input{width:180px;min-width:0;min-height:44px;flex:1;text-align:center}
.workspace-main .expense-month-arrow{width:44px;min-height:44px;padding:0;flex:0 0 44px;font-size:24px}
.expense-period-tools{display:flex;align-items:center;gap:8px}.expense-period-tools .btn{min-height:44px}.expense-refresh{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:112px}
@media(max-width:650px){.workspace-main .expense-monthbar.panel{padding:16px;gap:12px}.expense-period{width:100%}.expense-month-navigation input{max-width:none;width:0}.expense-period-tools{width:100%;justify-content:flex-end;border-top:1px solid #e1e8de;padding-top:12px}.expense-period-tools>.btn{flex:1}}

.workspace-main .expense-calendar>.expense-monthbar.panel{margin:0;border:0;border-bottom:1px solid #dfe7dc;border-radius:0;flex-wrap:wrap;padding:16px;gap:12px}
.expense-calendar .expense-period{flex:1}.expense-calendar .expense-period-tools{margin-left:auto}
#expense-month{font-variant-numeric:tabular-nums;letter-spacing:.04em}

/* Keep every general-settings section visible without a dropdown. */
.workspace-main .admin-tabs.workspace-settings-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:visible;gap:8px}
.workspace-main .workspace-settings-tabs .filter{min-height:44px;text-align:center;white-space:normal;overflow-wrap:anywhere;font-weight:600}
.workspace-main .workspace-settings-tabs .filter.active{background:#174b3c;color:#fff;border-color:#174b3c}
@media(max-width:900px){
 .workspace-main .admin-tabs.workspace-settings-tabs{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:20px}
}

/* Concept: one management area picker, compact tabs and mobile navigation. */
.workspace-main .workspace-admin-groups{display:block;overflow:visible;margin:0 0 10px;max-width:360px}.workspace-admin-groups select{width:100%;min-height:48px;font-weight:650;background:#fff;border:1px solid #dbe3dc;border-radius:9px;padding:10px 14px}
.workspace-main .admin-tabs.workspace-admin-slider{background:none;padding:0;border:0;border-bottom:1px solid #dbe3dc;gap:16px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin}.workspace-main .workspace-admin-slider .filter{background:transparent!important;border:0;border-bottom:3px solid transparent;border-radius:0;color:#607064;min-height:48px;padding:10px 4px;flex-shrink:0}.workspace-main .workspace-admin-slider .filter.active{color:#174b3c;font-weight:750;border-bottom-color:#174b3c}.workspace-main .workspace-admin-slider [hidden]{display:none!important}
.workspace-menu-toggle,.admin-crumb-mobile{display:none}.workspace-main .page-head .eyebrow,.workspace-main .page-head .page-kicker{display:none}.catalog-columns,.inv-catalog-row.catalog-type{display:grid;grid-template-columns:minmax(150px,2fr) minmax(140px,1.5fr) .5fr .6fr auto;gap:12px;align-items:center}.catalog-columns{padding:12px 16px;font-size:12px;color:#627466}.inv-catalog-row{padding:14px 16px}.catalog-type .inv-badge{justify-self:start}.catalog-more{position:relative}.catalog-more summary{list-style:none;cursor:pointer;display:grid;place-items:center;min-width:44px;min-height:44px;border:1px solid #dbe3dc;border-radius:7px}.catalog-more[open]>.btn{position:absolute;right:0;top:100%;z-index:5;min-width:90px;box-shadow:0 4px 12px #0002;background:white}.inv-catalog-actions .btn{min-height:44px}.workspace-main .content{padding-bottom:110px}
#workspace-menu{width:min(380px,92vw);max-height:90dvh;padding:20px;border:0;border-radius:14px}#workspace-menu header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}#workspace-menu nav{display:grid;gap:6px}.workspace-menu-item{min-height:48px;text-align:left;padding:12px;border:0;background:#f5f7f4;border-radius:7px}.workspace-menu-item[aria-current=page]{background:#e0eee4;color:#174b3c}
@media(max-width:900px){#app>aside{display:none!important}.workspace-menu-toggle{display:block;min-width:44px;min-height:44px;background:none;border:0;font-size:24px;flex-shrink:0}.workspace-main .topbar{gap:8px}.admin-crumb-pc{display:none}.admin-crumb-mobile{display:inline}.workspace-main .workspace-admin-groups{max-width:none}.workspace-main .crumb{min-width:0}.catalog-columns{display:none}.inv-catalog-row.catalog-type{grid-template-columns:minmax(0,1fr) auto}.catalog-type>div:first-child{grid-column:1/-1}.catalog-type>.inv-catalog-actions{grid-column:1/-1;justify-content:flex-end}.inv-catalog-row{gap:10px;flex-wrap:wrap}.inv-catalog-actions{flex-shrink:0}}
@media(max-width:650px){html.workspace-admin-page #modal:has(form),#modal:has(.shipment-wizard){position:fixed;inset:var(--input-top,0px) 0 auto!important;margin:0;width:100%;max-width:none;height:var(--input-height,100dvh);max-height:var(--input-height,100dvh);border-radius:0;padding:16px 16px calc(16px + env(safe-area-inset-bottom));box-sizing:border-box}html.workspace-admin-page #modal form>.form-actions{position:sticky;bottom:0;background:#fff;padding:14px 0;z-index:3}body:has(dialog[open] form) .chat-launcher{display:none!important}}

@media(max-width:650px){html.workspace-admin-page #modal:has(form) .modal-head,#modal:has(.shipment-wizard) .modal-head{margin-left:-16px;margin-right:-16px;width:auto}}

/* One administrator page heading; keep task-specific subsections below it. */
.workspace-main .workspace-admin-heading{display:flex;align-items:flex-start;justify-content:space-between;margin:22px 0 24px;padding:0;gap:16px}
.workspace-admin-heading>div:first-child h1{display:inline-block;margin-right:10px}.workspace-title-count{display:inline-block;font-size:14px;color:#607064}.workspace-admin-heading .workspace-page-actions{padding-top:4px;flex-shrink:0}
.workspace-main .workspace-admin-section{margin-top:0;margin-bottom:20px}.workspace-admin-section>.panel-head:first-child{padding-top:0}.workspace-admin-section h2{font-size:19px;line-height:1.4}.workspace-admin-section h3{line-height:1.4}
.workspace-main .admin-search{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 18px}.workspace-main .admin-search input{flex:1;min-width:180px;max-width:580px}.workspace-main .admin-search [role=status]{margin-left:auto;white-space:nowrap}
@media(max-width:650px){.workspace-main .workspace-admin-heading{gap:12px;margin:18px 0 20px}.workspace-admin-heading .workspace-page-actions{justify-content:flex-start;width:100%;padding:0;flex-wrap:wrap}.workspace-admin-heading .workspace-page-actions .btn{min-height:44px}.workspace-main .admin-search input{min-width:0;flex-basis:100%;max-width:none}.workspace-main .admin-search [role=status]{white-space:normal}}

/* Persistent area navigation, visually distinct from the underline task tabs. */
.workspace-main .workspace-admin-groups{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));max-width:none;gap:4px;padding:6px;background:#eaf0e8;border-radius:10px;margin-bottom:12px;overflow:visible}
.workspace-admin-groups button{border:0;background:transparent;color:#52685b;border-radius:7px;min-height:44px;padding:10px 12px;font:inherit;font-weight:600;cursor:pointer;overflow-wrap:anywhere}
.workspace-admin-groups button.active{background:#174b3c;color:white}.workspace-admin-groups button:focus-visible{outline:3px solid #85a9c7;outline-offset:2px}
@media(max-width:900px){.workspace-main .workspace-admin-groups{grid-template-columns:repeat(3,minmax(0,1fr))}.workspace-admin-groups button{padding:10px 6px}}
