/* One visual system for actual business pages. Calendar/matrix structures remain intact. */
:root{--paper:#f6f4ef;--white:#fffefa;--ink:#2d2d2b;--green:#2f5744;--green-light:#efefea;--line:#deded7;--muted:#686863;--radius:12px;--row:48px;--ui-mint:#e5eee6;--ui-beige:#fff3d6;--ui-sage:#efefea;
--surface-subtle:#efefea;--surface-selected:#e5eee6;--surface-warning:#fff3d6;--text-warning:#755919;--surface-error:#fbece5;--text-error:#8b402f;--surface-info:#eaf0f7;--text-info:#365b80;--category-purple:#73508f}

body{background:var(--paper)}
button,input,select,textarea{border-radius:12px}
button{min-height:44px}
input:not([type=checkbox]):not([type=radio]):not([type=file]),select{min-height:44px;padding:10px 12px}
input,select,textarea{max-width:100%;min-width:0}
input[type=checkbox],input[type=radio]{accent-color:var(--green)}
button:disabled{cursor:default;opacity:.55}
button.primary{background:var(--green);color:#fff}
button.primary:hover{background:#244535}
.page-title{gap:16px;margin:0 0 20px;align-items:center}
.page-title h1{font-size:28px;letter-spacing:-.02em;color:var(--ink)}
.page-title p{color:var(--muted);line-height:1.65}
.page-title .kicker{display:none}
.panel{border:1px solid var(--line);border-radius:22px;padding:22px;background:var(--white);margin-bottom:18px}
.panel h2{color:var(--ink);font-size:20px}
.notice{background:var(--surface-subtle);border:0;border-radius:14px;padding:14px 16px;line-height:1.6}
.status,.badge{background:var(--surface-subtle);color:var(--ink);border:0;border-radius:9px;padding:5px 10px;font-size:12px;white-space:nowrap}
small{color:var(--muted)}
.form-grid{gap:16px}
.form-grid label{min-width:0}
.form-actions{gap:10px;flex-wrap:wrap}
.toolbar{gap:12px;flex-wrap:wrap}
.toolbar input[type=search]{flex:1;min-width:150px}
.grid-wrap{border:1px solid var(--line);border-radius:14px;overflow:auto;max-width:100%;overscroll-behavior-x:contain}
.grid-wrap table{width:100%;background:var(--white)}
th{background:var(--green-light);font-weight:600}
td,th{padding:12px;border-color:var(--line)}
td:first-child,th:first-child{background:var(--white)}
thead th{background:var(--green-light)!important}
.pagination{padding:14px 0}
.empty{padding:30px;color:var(--muted);border-radius:18px;background:transparent}
.identity{font-weight:650;font-size:16px;text-decoration:none!important}
.identity small{font-size:12px;margin-top:3px}
.brand-wordmark{display:inline-flex;align-items:center;gap:2px;vertical-align:middle}
.brand-wordmark svg{width:39px;height:42px;display:block}
.home-brand .brand-wordmark svg{width:36px;height:39px}
.home-brand strong{font-size:inherit;letter-spacing:0;line-height:1}
.home-brand strong svg{fill:initial;stroke:initial}
.home-brand .brand-wordmark svg{margin:0}
.widget-shell .content{max-width:1320px;margin:auto;padding:24px}
.workspace-subnav{gap:6px;background:var(--paper);border:0;padding:12px 24px;overflow-x:auto;flex-wrap:nowrap}
.workspace-subnav a{border-radius:10px;padding:10px 12px;white-space:nowrap}
.workspace-subnav a.active{background:var(--ui-mint);color:var(--ink)}
.workspace-overview{max-width:1100px;margin:auto}
.workspace-overview .workspace-section{background:var(--white);border:1px solid var(--line);border-radius:22px;margin:16px 0;padding:20px}
.workspace-task-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.workspace-task-links a{border-radius:12px;min-height:46px;padding:12px;text-align:center;display:flex;align-items:center;justify-content:center;background:transparent}
.other-heading{display:flex;align-items:center;gap:10px}
.other-heading svg{width:22px;height:22px;stroke:currentColor;fill:none}
.other-heading span{padding:9px;background:transparent;border-radius:12px;display:inline-flex}
.login{display:block;max-width:1040px;margin:auto;padding:35px 24px;min-height:100dvh}
.login-head{margin:0 0 22px;color:var(--ink)}
.login-head small{display:block;margin-top:8px;letter-spacing:1px}
.login-body{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center}
.login-welcome{position:relative;border-radius:24px;overflow:hidden;background:var(--white);height:330px;padding:28px}
.login-welcome .shortcut-art{left:auto;width:66%;background-size:400% 529.0566%;background-position:0 0}
.login-welcome h1,.login-welcome p{position:relative;z-index:1;max-width:54%}
.login-welcome h1{font-size:26px;color:var(--ink);margin-top:15px}
.login-welcome p{font-size:14px;color:var(--muted);line-height:1.6}
.login-form{display:block;background:var(--white);border:1px solid var(--line);border-radius:24px;padding:26px}
.login-form form{width:100%;max-width:none;display:grid;gap:16px}
.login-form label{margin:0;display:grid;gap:8px}
.login-form input{width:100%}
.login-form button{margin:0;min-height:48px}
.login-form #register{background:transparent;border:0;font-size:13px;min-height:32px}
.login-password{position:relative}
.login-password input{padding-right:58px!important}
.login-password button{position:absolute;right:3px;top:3px;min-height:38px;background:transparent;border:0;font-size:12px}
.login-footer{text-align:center;color:var(--muted);font-size:12px;margin:22px 0}
.login-error:empty,#login-error:empty{display:none}
.supply-page .page-title{margin-bottom:18px}
.supply-page .panel{padding:20px;border-radius:22px}
.supply-filters{background:var(--surface-subtle)}
.supply-filter-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.supply-filter-row label{margin:0}
.supply-filter-row input,.supply-filter-row select{padding:10px 12px;min-height:44px}
.supply-filter-row .filter-search,.supply-filter-row details{grid-column:1/-1}
.supply-filter-row details>summary{cursor:pointer;padding:12px 0;color:var(--ink);border-top:1px solid var(--line)}
.filter-dates{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.supply-document .page-title h2{font-size:19px;color:var(--ink);overflow-wrap:anywhere;margin-bottom:8px}
.supply-document .document-code{font-size:12px;color:var(--muted);display:block;margin-top:6px;overflow-wrap:anywhere}
.supply-document .document-route{font-size:14px}
.document-details>summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;list-style:none;padding:13px 0;border-top:1px solid var(--line);font-size:13px}
.document-details>summary::after{content:'查看明细 ⌄';color:var(--ink);white-space:nowrap}
.document-details[open]>summary::after{content:'收起明细 ⌃'}
.document-details>summary .material-summary{color:var(--muted);min-width:0}
.supply-page .grid-wrap{overflow:auto}
.supply-category th{background:var(--surface-subtle)!important;border:0}
.supply-category-toggle{border-radius:8px;min-height:40px}
.supply-editor .form-grid{gap:14px}
.supply-editor input,.supply-editor select{padding:10px 12px}
.supply-entry-filters{grid-template-columns:1fr 1fr;gap:14px}
.supply-entry-filters label:has(input[type=search]),.supply-entry-filters label:has(#sku-search){grid-column:1/-1;order:3}
.supply-entry-table th:first-child,.supply-entry-table td:first-child{width:55%}
.supply-entry-table th:nth-child(2){width:15%}
.supply-entry-table td{padding:10px}
.supply-entry-table input{min-height:44px;padding:8px}
.supply-completed{border-radius:18px;border:1px solid var(--line);padding:12px;background:var(--white)}
.supply-completed>summary{border-radius:12px}
.inventory-balances td .error-text{color:#a43f35}
.item-settings-tabs{display:flex;flex-wrap:nowrap;gap:8px;overflow:auto}
.item-settings-tabs button,.item-settings-tabs a{flex:1 0 auto;min-width:64px;border:0;background:transparent;white-space:nowrap;text-align:center}
.item-settings-tabs a{display:flex;align-items:center;justify-content:center;text-decoration:none;color:inherit;padding:10px 16px;border-radius:12px}
.item-settings-tabs button.active,.item-settings-tabs a.active{background:var(--ui-mint);color:var(--ink);box-shadow:inset 0 -2px var(--green)}
.config-expand-controls{display:flex;gap:12px;margin:8px 0 16px}
.config-expand-controls button{font-size:13px;border:0;background:transparent;padding:4px 8px}
.config-row-heading{display:none}
.item-settings-table{overflow:auto;border-radius:14px;border:1px solid var(--line)}
.supply-settings .supply-config-table{width:max-content;min-width:100%;table-layout:auto}
.supply-settings .supply-config-table td,.supply-settings .supply-config-table th{padding:10px;min-width:125px;font-size:13px}
.supply-settings .supply-config-table input:not([type=checkbox]),.supply-settings .supply-config-table select{min-width:105px;font-size:14px;padding:9px}
.supply-config-table th:first-child,.supply-config-table td:first-child{width:140px;position:sticky;left:0;z-index:1;background:var(--white)}
.supply-config-table th:nth-child(2),.supply-config-table td:nth-child(2){width:190px;position:sticky;left:140px;z-index:1;background:var(--white)}
.supply-config-table thead th{position:sticky;top:0;z-index:3}
.config-simple .supply-config-table{width:100%;table-layout:fixed}
.config-simple .supply-config-table td,.config-simple .supply-config-table th{min-width:0;position:static;width:auto}
.config-simple input{min-width:0!important}
.config-simple .config-expand-controls{display:none}
.config-dirty-row>td{background:var(--surface-warning)}
.access-page .panel{padding:20px}
.access-scroll{border-radius:14px;border:1px solid var(--line);overscroll-behavior-x:contain}
.access-scroll th{background:var(--green-light)}
.access-toggle{border-radius:8px}
.access-toggle.is-on,.access-toggle.is-personal{background:var(--surface-selected);color:var(--ink)}
.access-toggle.is-write{background:var(--surface-subtle);color:var(--ink)}
.schedule-workspace .panel{max-width:100%;border-radius:22px}
.schedule-workspace .toolbar{padding:8px 0}
.schedule-workspace .booking-day{border-radius:10px}
.booking .weekend{background:var(--surface-subtle)}
.booking-day.full strong,.av-full{color:var(--category-purple)}
.booking-day.lunch strong,.av-lunch{color:var(--text-warning)}
.booking-day.dinner strong,.av-dinner{color:var(--text-info)}
.schedule-grid,.competence-grid,.duty-grid{font-size:13px}
.detail-hero{border-radius:18px;background:transparent;padding:18px;gap:14px}
.detail-sections{gap:16px}
.detail-sections .panel{min-width:0}
.detail-hero h2{color:var(--ink)}
.own-profile-sections{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.own-profile-sections .panel{margin:0}
dl{display:grid;grid-template-columns:130px minmax(0,1fr);gap:10px;margin:0}
dt{color:var(--muted)}
dd{margin:0;overflow-wrap:anywhere}
#modal{border-radius:24px;border:1px solid var(--line);background:var(--paper);padding:24px;max-width:960px}
#modal h2{color:var(--ink)}
#modal::backdrop{background:#2424244d}
.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:20px}
.dialog-heading h2{margin:0}
.dialog-original-close{display:none}
.dialog-detail{width:min(960px,calc(100% - 40px))}
.dialog-detail details>summary{font-weight:650;color:var(--ink);cursor:pointer;padding:12px 0}
.dialog-detail details .panel{margin-top:12px}
.proof-list{display:grid;gap:12px}
.proof-list a{overflow-wrap:anywhere}
.proof-list .proof-row{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}
#toast{border-radius:12px;max-width:calc(100vw - 32px)}

@media(min-width:1101px){.supply-settings .supply-config-table thead{display:table-header-group}
.supply-settings .supply-config-table tbody{display:table-row-group}
.supply-settings .supply-config-table tr:not([hidden]){display:table-row}
.supply-settings .supply-config-table td{display:table-cell}
.supply-settings .supply-config-table td::before{display:none}
.supply-settings .supply-config-table td.config-row-heading{display:none}
}

@media(max-width:1100px){.supply-settings .config-simple .supply-config-table thead{display:table-header-group}
.supply-settings .config-simple .supply-config-table tbody{display:table-row-group}
.supply-settings .config-simple .supply-config-table tr:not([hidden]){display:table-row;padding:0;margin:0;border:0}
.supply-settings .config-simple .supply-config-table td{display:table-cell}
.supply-settings .config-simple .supply-config-table td::before{display:none}
.supply-settings .config-cards .supply-config-table{display:block;width:100%;min-width:0}
.config-cards .item-settings-table{border:0;overflow:visible}
.supply-settings .config-cards .supply-config-table tr:not([hidden]){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:16px;border-radius:20px;background:var(--white);margin-bottom:14px;gap:12px}
.supply-settings .config-cards .supply-config-table th,.supply-settings .config-cards .supply-config-table td{height:auto;position:static;min-width:0;width:auto;padding:0}
.supply-settings .config-cards .supply-config-table td.config-row-heading{display:block;grid-column:1/-1}
.config-row-heading::before{display:none!important}
.config-row-heading button{width:100%;display:flex;justify-content:space-between;align-items:center;background:transparent;border:0;padding:3px 0;font-weight:650;text-align:left}
.config-row-heading small{display:block;font-weight:400}
.config-cards tr.is-collapsed td:not(.config-row-heading){display:none!important}
.config-row-heading .config-row-arrow{font-size:20px}
.config-row-heading .config-row-arrow::after{content:'⌃'}
.is-collapsed .config-row-arrow::after{content:'⌄'}
.config-cards .supply-config-table input:not([type=checkbox]),.config-cards .supply-config-table select{min-width:0;width:100%;font-size:16px}
.config-cards .supply-config-table td::before{font-size:12px}
.config-cards td[data-label=使用地点]{grid-column:1/-1}
.config-cards .config-row-heading button strong{font-size:17px}
.config-cards td[data-label=替换Webhook]{grid-column:1/-1}
}

@media(max-width:640px){.widget-shell .content{padding:20px 16px}
.workspace-subnav{padding:10px 16px}
.page-title h1{font-size:25px}
.panel{padding:18px;border-radius:22px}
.workspace-task-links{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.workspace-task-links a{font-size:13px;padding:10px 6px}
.login{padding:24px 18px}
.login-body{grid-template-columns:1fr;gap:16px;max-width:480px;margin:auto}
.login-head{max-width:480px;margin:0 auto 16px}
.login-welcome{height:215px;padding:22px 18px}
.login-welcome .shortcut-art{width:56%}
.login-welcome h1{font-size:24px}
.login-welcome p{font-size:13px}
.login-form{padding:22px}
.supply-page .panel{padding:16px}
.supply-page .grid-wrap{overflow:visible;border:0}
.supply-category{display:block}
.supply-category th{display:block;border-radius:10px;padding:6px;width:100%}
/* Keep colspan/table geometry in the mobile entry dialog; reserve a usable
   quantity column independently of WebKit's anonymous table box sizing. */
.supply-editor .supply-entry-table .supply-category:not([hidden]){display:table-row}
.supply-editor .supply-entry-table .supply-category>th{display:table-cell;position:static;width:auto}
.supply-editor .supply-entry-table thead th:first-child{width:auto}
.supply-editor .supply-entry-table thead th:nth-child(2){width:3.5rem}
.supply-editor .supply-entry-table thead th:nth-child(3){width:7.5rem}
.supply-editor .supply-entry-table input[type=number]{box-sizing:border-box;width:100%;min-width:0}
.supplier-order table thead{display:none}
.supplier-order table,.supplier-order table tbody{display:block}
.supplier-order table tr{display:grid;grid-template-columns:1fr auto;gap:8px;padding:12px 0;border-bottom:1px solid var(--line)}
.supplier-order table td{display:block;border:0;padding:0;min-width:0}
.supplier-order table td:nth-child(2){font-weight:650;color:var(--ink)}
.supplier-order table td:nth-child(2)::before{content:'合计 ';font-size:12px;font-weight:400}
.supplier-order table td:nth-child(3){grid-column:1/-1;background:var(--green-light);padding:10px;border-radius:10px;font-size:12px}
.supplier-order .form-actions{display:flex}
.supplier-order .form-actions button{flex:1}
.supply-entry-filters{grid-template-columns:1fr 1fr}
.supply-entry-table table{font-size:14px}
.supply-entry-table td,.supply-entry-table th{padding:10px 6px}
.supply-entry-table .supply-material{display:block}
.supply-entry-table .supply-material small{display:block;font-size:11px}
.supply-entry-table th:first-child{width:50%}
.supply-entry-table th:nth-child(2){width:15%}
.supply-entry-table input{min-height:46px;font-size:16px}
.inventory-balances thead,.inventory-ledger thead{display:none}
.inventory-balances table,.inventory-balances tbody,.inventory-ledger table,.inventory-ledger tbody{display:block}
.inventory-balances tr,.inventory-ledger tr{display:grid;grid-template-columns:1fr 1fr;padding:14px 0;gap:10px;border-bottom:1px solid var(--line)}
.inventory-balances td,.inventory-ledger td{height:auto;display:block;border:0;padding:0;width:auto!important;white-space:normal}
.inventory-balances td::before,.inventory-ledger td::before{content:attr(data-label);display:block;font-size:11px;color:var(--muted)}
.inventory-balances td:nth-child(2){grid-column:1;grid-row:1;font-weight:650;font-size:16px}
.inventory-balances td:nth-child(3){grid-column:2;grid-row:1;text-align:right;font-size:19px;font-weight:650}
.inventory-balances td:nth-child(6){grid-column:1/-1;font-size:12px;color:var(--muted)}
.people-grid table thead{display:none}
.people-grid table,.people-grid table tbody{display:block;min-width:0!important}
.people-grid table tr{display:grid;grid-template-columns:minmax(0,1fr) auto;padding:12px 14px;gap:5px 10px;border-bottom:1px solid var(--line)}
.people-grid table td{display:block;position:static;border:0;padding:0;height:auto;min-width:0!important;width:auto;white-space:normal;overflow-wrap:anywhere;background:transparent!important}
.people-grid table td:nth-child(1){grid-column:1;grid-row:1}
.people-grid table td:nth-child(2){grid-column:1/-1;grid-row:2}
.people-grid table td:nth-child(3){display:none}
.people-grid table td:nth-child(4){grid-column:1/-1;grid-row:3}
.people-grid table td:nth-child(5){grid-column:2;grid-row:1;background:var(--surface-subtle)!important;border-radius:10px;padding:4px 10px;font-size:12px;align-self:start}
.people-grid table td:nth-child(6){grid-column:1/-1;grid-row:4;font-size:12px;color:var(--muted)}
.people-grid td:nth-child(6)::before{content:'建立日期　'}
.people-grid .identity{font-size:17px;padding:0;text-align:left;white-space:normal;overflow-wrap:anywhere}
.people-grid .grid-wrap{overflow:visible;max-height:none}
.own-profile-sections{grid-template-columns:1fr}
dl{grid-template-columns:100px minmax(0,1fr);font-size:14px}
#modal[open].unified-dialog{position:fixed;top:var(--pwa-visible-top,0px);left:0;right:0;bottom:auto;margin:0;width:100%;max-width:none;height:var(--pwa-visible-height,100dvh);max-height:var(--pwa-visible-height,100dvh);border:0;border-radius:0;padding:20px 18px 110px;overflow:auto;overscroll-behavior:contain}
.dialog-heading,.supply-modal-heading{position:sticky;top:-20px;background:var(--paper);z-index:5;padding:16px 0;margin-bottom:18px}
.dialog-heading h2,.supply-modal-heading h2{font-size:22px}
.dialog-form>form>.form-actions{position:sticky;bottom:-90px;background:var(--paper);padding:14px 0 max(16px,env(safe-area-inset-bottom));margin:16px 0 -85px;z-index:5}
.dialog-form>form>.form-actions button.primary{flex:1;min-height:48px}
.supply-editor .supply-modal-heading .form-actions{position:static;margin:0;padding:0;background:transparent}
.dialog-detail .detail-sections{display:block}
.dialog-detail .detail-hero{display:block;margin-bottom:16px}
.dialog-detail .detail-hero>div+div{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.config-cards .item-settings-table{overflow:visible}
.item-settings .form-actions{position:sticky;bottom:64px;background:var(--paper);padding:12px 0;z-index:5}
.item-settings .form-actions button{font-size:13px}
.access-page .access-toggle{min-height:34px}
.schedule-workspace input,.schedule-workspace select{min-height:initial;padding:initial}
.schedule-workspace .booking-day{min-height:56px}
.schedule-workspace .skill-state{min-height:28px}
.form-grid{gap:14px}
.supply-document .document-details>summary{font-size:12px;gap:10px}
.proof-list .proof-row{font-size:14px}
}

@media(prefers-reduced-motion:no-preference){button,a{transition:background-color .12s,border-color .12s}
}


.brand-wordmark{mix-blend-mode:multiply}
.login-password{display:block}
.login-password button{width:48px;padding:0}
.profile-values{display:block}
.profile-values>div{display:grid;grid-template-columns:100px minmax(0,1fr);gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}
.profile-values>div:last-child{border:0}
.profile-values dt{color:var(--muted)}
.profile-values dd{margin:0;overflow-wrap:anywhere}
.schedule-workspace .panel{width:100%;max-width:100%}
#schedule-table,#schedule-editor{max-width:100%;overflow:auto}
.schedule-workspace .toolbar{max-width:100%}


.brand-wordmark svg{overflow:hidden;clip-path:inset(0)}


@media(min-width:641px){.config-expand-controls{display:none}
}

.filter-dates{border-top:0!important}
.filter-dates summary{padding:5px 0}
.filter-dates[open] .form-grid{margin-top:12px}


/* Confirmed mobile adjustments */
.supplier-order table tr{min-height:0;align-items:start;row-gap:5px}
.supplier-order table td{height:auto!important;min-height:0!important;align-self:start}
.supplier-order table td:nth-child(3){background:transparent;padding:3px 0;font-size:13px;line-height:1.4}
.order-name small{display:inline;font-size:11px;color:var(--muted);font-weight:400;margin-left:5px}
.store-quantity{display:inline-block;margin-right:12px;white-space:nowrap}
.store-hq{color:var(--category-purple)}.store-rm{color:var(--text-info)}.store-ks{color:var(--text-warning)}
.item-switch{display:flex!important;align-items:center;justify-content:space-between;gap:8px;min-height:44px;margin:0;padding:7px 12px;border:1px solid var(--line);border-radius:12px}
.item-switch input{appearance:none;width:40px!important;height:24px!important;min-height:24px!important;flex:0 0 40px;border:0;border-radius:14px;background:#c6cbc5;position:relative;cursor:pointer}
.item-switch input:checked{background:var(--green)}.item-switch input:before{content:'';position:absolute;width:18px;height:18px;border-radius:50%;background:white;top:3px;left:3px}.item-switch input:checked:before{left:19px}
.location-switches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.week-navigation{display:flex;align-items:center;justify-content:space-between;gap:8px}.week-navigation strong{font-size:14px}
.widget-duty-controls select,.widget-duty-controls button{font-size:13px!important;font-weight:600;background:var(--surface-subtle)!important;border:1px solid var(--line)!important;border-radius:8px!important;padding:4px 7px!important;min-height:28px}
.notice-block{display:block;background:var(--surface-info);border-radius:14px;padding:12px;margin:8px 0;color:var(--ink)}
.todo-block{display:block;background:var(--surface-warning);border-radius:14px;padding:12px;margin:8px 0;color:var(--ink)}
.widget-row.notice-block,.widget-row.todo-block{border:0!important;min-height:40px;flex:0 0 auto;padding:8px 10px!important;font-size:13px}
.widget-notification-actions{display:flex;gap:5px;align-items:center}.widget-notification-actions button{font-size:11px;padding:4px 6px;min-height:28px}
.home-widget.type-todos .widget-list{overflow:auto;min-height:0;flex:1}

/* Color-only refinements: do not change dimensions, typography, DOM or behavior. */
.status.warning{background:var(--surface-warning);color:var(--text-warning)}
.status.error{background:var(--surface-error);color:var(--text-error)}
.context-banner{background:var(--surface-subtle);border-left-color:var(--line)}
.access-toggle.is-personal,.access-page .access-personal-label{background:var(--surface-info);color:var(--ink)}
.access-toggle.is-write{border-color:var(--muted)}
.access-page .access-dirty td,.config-dirty-row>td{background:var(--surface-warning)}
.schedule-workspace .store-divider th,.schedule-workspace .shift-divider th{background:var(--surface-subtle)}
.skill-1{background:var(--surface-selected);color:var(--ink)}
.skill-2{background:var(--green);color:#fff}
.home-widget .todo-block{background:var(--surface-warning)}

/* History duty notes stay inside the viewport, including long unbroken text. */
.duty-grid{width:100%;table-layout:fixed}
.duty-grid th,.duty-grid td{padding:8px;overflow-wrap:anywhere;min-width:0}
.duty-grid input,.duty-grid select,.duty-grid textarea{width:100%;min-width:0!important;max-width:100%;box-sizing:border-box}
.duty-grid textarea{resize:vertical;white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:600px){
 .duty-grid,.duty-grid tbody{display:block}
 .duty-grid thead{display:none}
 .duty-grid tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7px;padding:10px 0;border-bottom:1px solid var(--line)}
 .duty-grid th,.duty-grid td{display:block;width:auto;padding:0;border:0}
 .duty-grid tr>th,.duty-grid td[data-label="备注"]{grid-column:1/-1}
 .duty-grid td[data-label]::before{content:attr(data-label);display:block;font-size:12px;color:var(--muted);margin-bottom:4px}
 .duty-grid .shift-divider{display:block;background:var(--ui-mint);padding:9px;border-radius:8px;margin-top:10px}
}
[data-task-setting] .form-grid{gap:8px}
[data-task-setting] .toolbar{gap:8px;margin:8px 0}
[data-task-setting] label{overflow-wrap:anywhere}
.todo-list p:has([data-todo-key]){margin:6px 0;max-width:100%}
.todo-list [data-todo-key]{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
#notification-list .notification-compact{display:flex;align-items:center;gap:8px;width:fit-content;max-width:100%;box-sizing:border-box;padding:8px 12px;margin:6px 0}
.notification-compact .notification-message{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0;display:block}
.notification-compact button{min-height:32px;flex:none;padding:3px 8px}
.staff-select .av-full,.staff-select .av-lunch,.staff-select .av-dinner,.staff-select .av-none,.staff-select .assigned-count,.staff-select .booking-count,.person-option .av-full,.person-option .av-lunch,.person-option .av-dinner,.person-option .av-none,.person-option .assigned-count,.person-option .booking-count{font-weight:750}
.store-quantity{font-weight:750}
.staff-options .av-full,.staff-options .av-lunch,.staff-options .av-dinner,.staff-options .av-none,.staff-options .assigned-count,.staff-options .booking-count{font-weight:750}
.todo-list .todo-block,.todo-list .compact-notice{width:fit-content;max-width:100%;box-sizing:border-box;margin:5px 0;padding:7px 9px;display:flex;align-items:center;gap:7px;min-width:0}
.todo-list .todo-block>a,.todo-list .compact-notice>a{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;display:block}
.todo-list .compact-notice button{min-height:28px;padding:3px 6px;flex:none}

.home-widget.size-medium .widget-duty-controls button{font-size:10px!important;padding:3px!important;min-height:26px}
/* Cashier release: availability calendar and legible competence targets. */
.schedule-workspace .competence-panel{width:100%;min-width:0}
.competence-scroll{max-width:100%;overflow:auto;isolation:isolate;overscroll-behavior-x:contain;border:1px solid var(--line);border-radius:10px}
.schedule-workspace .competence-grid{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0}
.schedule-workspace .competence-grid th,.schedule-workspace .competence-grid td{position:static;text-align:center;padding:4px;height:auto;border-right:1px solid var(--line)}
.schedule-workspace .competence-grid .competence-name{position:sticky;left:0;z-index:2;min-width:88px;max-width:130px;text-align:left;white-space:normal;overflow-wrap:anywhere;background:var(--white);border-right:1px solid var(--line)}
.schedule-workspace .competence-grid thead th[colspan]{text-align:left;padding-left:10px;font-weight:600}
.competence-grid .competence-target{min-width:78px;width:78px}
.schedule-workspace .competence-grid .skill-state{width:36px;height:36px;min-height:36px;border-radius:8px}
.competence-help{font-size:12px;color:var(--muted);margin:8px 0}
.competence-grid input[type=number]{width:66px!important;min-width:66px;padding:8px!important;appearance:textfield;-moz-appearance:textfield}
.competence-grid input[type=number]::-webkit-inner-spin-button{appearance:none}
.requirement-cell{justify-content:center;min-height:44px}
.booking-heading,.booking-week-heading,.booking-save{display:flex;align-items:center;gap:12px;justify-content:space-between}
.booking-heading p{margin:8px 0}.booking-legend{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}
.booking-legend span,.booking-day strong{border-radius:10px;background:var(--surface-subtle);padding:7px 12px}
.booking-legend .full,.booking-day.full strong{background:#f1eaf5;color:var(--category-purple)}
.booking-legend .lunch,.booking-day.lunch strong{background:var(--surface-warning);color:var(--text-warning)}
.booking-legend .dinner,.booking-day.dinner strong{background:var(--surface-info);color:var(--text-info)}
.booking-weekdays,.booking-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.booking-weekdays{background:var(--surface-subtle);border-radius:12px;padding:12px;text-align:center}
.booking-week{border:1px solid var(--line);border-radius:16px;padding:8px;margin:10px 0}
.booking-week-heading{justify-content:flex-start;margin-bottom:8px}.booking-week-heading button{margin-left:auto;min-height:32px;padding:4px 10px;font-size:12px}
.booking-state{background:var(--ui-mint);padding:4px 8px;border-radius:8px}.booking-state.pending{background:var(--surface-warning)}
.booking-calendar .booking-day{min-width:0;width:100%;display:grid;gap:8px;padding:12px 6px;border:1px solid var(--line);background:var(--white);min-height:84px}
.booking-calendar .booking-day strong{font-size:17px;display:block}.booking-day.is-today{border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}
.booking-save{position:sticky;bottom:64px;background:var(--paper);padding:12px;border-radius:14px;z-index:5;margin:14px 0 8px}
@media(max-width:600px){.booking-calendar.panel{padding:12px}.booking-week-heading{gap:5px;flex-wrap:wrap}.booking-week-heading strong{font-size:12px}.booking-state{font-size:10px;padding:3px}.booking-week-heading button{font-size:10px;padding:4px 6px}.booking-calendar .booking-day{padding:8px 2px;min-height:66px}.booking-calendar .booking-day strong{padding:4px 2px;font-size:16px}.booking-month{display:none}.booking-week{padding:5px}.booking-weekdays{font-size:12px;padding:8px 0}.booking-heading{align-items:flex-start}.booking-heading>span{white-space:nowrap;font-size:12px}.booking-legend{gap:5px}.booking-legend span{font-size:12px;padding:5px 8px}.booking-save{font-size:12px}}
.cashier-page{max-width:960px;margin:auto}.cashier-heading,.cashier-context,.cashier-save,.cashier-comparison{display:flex;gap:12px;align-items:center;justify-content:space-between}.cashier-context>label{flex:1;min-width:0}.cashier-context select{width:100%}.cashier-heading h2{margin:0}.cashier-heading input{width:155px}.cashier-money{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.cashier-money label{display:grid;gap:6px}.cashier-money input{width:100%}.cashier-totals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}.cashier-totals>div{padding:16px;background:var(--surface-subtle);border-radius:14px;min-width:0}.cashier-totals strong{display:block;font-size:22px;margin-top:8px;overflow-wrap:anywhere}.cashier-counts{width:100%;table-layout:fixed;border-collapse:collapse;margin-bottom:14px}.cashier-counts th,.cashier-counts td{text-align:center;padding:7px}.cashier-counts input{width:100%;text-align:center;padding:8px!important}.cashier-counts th:first-child{width:18%}.cashier-result{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:16px;border-radius:14px;background:var(--surface-warning)}.cashier-result.ok{background:var(--ui-mint)}.cashier-comparison{margin:14px 0;font-size:13px}.cashier-save{position:sticky;bottom:65px;padding:12px;background:var(--paper);z-index:4;border-radius:14px}.cashier-save button{flex:1}.cashier-images{display:flex;gap:12px;flex-wrap:wrap;margin-top:15px}.cashier-images a{width:110px;overflow-wrap:anywhere}.cashier-images img{width:100%;height:100px;object-fit:cover;border-radius:12px}.cashier-upload{display:grid;gap:10px}.cashier-page pre{white-space:pre-wrap;overflow-wrap:anywhere}.cashier-history{margin-top:16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cashier-history a{display:block}.cashier-history a>div{display:flex;gap:8px;justify-content:space-between;flex-wrap:wrap}
@media(max-width:600px){.cashier-page .panel{padding:14px}.cashier-totals{grid-template-columns:repeat(2,minmax(0,1fr))}.cashier-totals strong{font-size:21px}.cashier-counts td,.cashier-counts th{padding:5px;font-size:12px}.cashier-counts input{font-size:16px}.cashier-context{align-items:flex-start}.cashier-history{grid-template-columns:1fr}.cashier-money{gap:12px}.cashier-money label{font-size:13px}}

/* Keep the single-person duty dialog within the visible viewport, including padding. */
#modal[open].home-duty-dialog{box-sizing:border-box;width:min(440px,calc(100vw - 24px));max-width:calc(100vw - 24px);height:auto;max-height:calc(var(--pwa-visible-height,100dvh) - 24px);margin:12px auto;padding:18px;left:0;right:0;top:var(--pwa-visible-top,0px);bottom:auto;overflow:auto;border-radius:18px}
.home-duty-dialog .home-dialog-body{min-width:0;max-height:none;overflow:visible;overflow-wrap:anywhere}
.home-duty-score{min-width:0;margin:0;padding:0;border:0}.home-duty-score legend{margin-bottom:6px}
.home-duty-score-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.home-duty-score-buttons button{min-width:0;padding:8px 4px}
.home-duty-score-buttons button[aria-pressed=true]{background:var(--green);color:#fff;border-color:var(--green)}
.home-duty-call{display:block;padding:12px;border-radius:12px;text-align:center;background:var(--green);color:#fff;text-decoration:none}

/* Weekly availability overview: keep the employee and action visible on phones. */
.availability-overview{min-width:0;max-width:100%}
.availability-overview .panel{min-width:0;max-width:100%;padding:14px}
.availability-overview .toolbar{gap:8px;flex-wrap:wrap}
/* Same control geometry for management buttons, page links and the current tab. */
.schedule-workspace .schedule-management-toolbar,.availability-overview .schedule-management-toolbar{gap:6px;align-items:center}
.schedule-management-toolbar>:is(button,a,span[aria-current]){display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:6px 10px;border:1px solid var(--line);border-radius:12px;background:var(--white);color:var(--ink);font-size:13px;line-height:20px;text-decoration:none;white-space:nowrap}
.schedule-management-toolbar>a:hover{border-color:var(--green);background:var(--green-light)}
.schedule-management-toolbar>span[aria-current=page]{background:var(--ui-mint);border-color:var(--green)}
.availability-week strong{font-size:14px;white-space:nowrap}
.availability-filters label{display:flex;align-items:center;gap:6px;font-size:14px}
.availability-filters select{width:auto;max-width:230px}
.availability-scroll{width:100%;overflow-x:auto;border:1px solid var(--border,#deded7);border-radius:10px;isolation:isolate}
.availability-grid{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;font-size:13px;table-layout:fixed}
.availability-grid th,.availability-grid td{padding:8px;text-align:center;white-space:nowrap;min-width:62px;border-bottom:1px solid var(--border,#deded7);border-right:1px solid var(--border,#deded7)}
.availability-grid thead th{background:var(--surface-subtle,#eeefea)}
.availability-grid .remind-column{position:sticky;left:0;width:102px;min-width:102px;max-width:102px;box-sizing:border-box;background:var(--surface,#fffefa);z-index:2}
.availability-grid .name-column{position:sticky;left:102px;min-width:94px;max-width:140px;background:var(--surface,#fffefa);z-index:2;box-shadow:2px 0 0 var(--border,#deded7)}
.availability-grid thead .remind-column,.availability-grid thead .name-column{background:var(--surface-subtle,#eeefea);z-index:3}
.availability-grid .name-column small{display:block;font-weight:400;font-size:11px;color:var(--muted,#74776f)}
.availability-grid button{font-size:13px;padding:6px 8px;min-height:34px;white-space:nowrap}
.availability-grid .availability-booked{background:#e7eee6;color:#345a46;font-weight:600}
.availability-grid .availability-empty{padding:28px;text-align:left}
.availability-help{font-size:12px;margin-bottom:0}
@media(max-width:480px){.availability-week{display:grid!important;grid-template-columns:auto 1fr auto}.availability-week strong{font-size:11px;text-align:center}.availability-week button{padding:7px;font-size:13px}.availability-filters label{width:100%;justify-content:space-between}.availability-filters select{flex:1;max-width:230px}.availability-overview .panel{padding:10px}}

/* One background per role type in the schedule and today’s duty cards. */
.schedule-workspace .schedule-grid tr.role-colored>th,
.schedule-workspace .schedule-grid tr.role-colored>td,
.schedule-workspace .schedule-grid tr.role-colored .staff-select{background:var(--role-color);color:#28332e}

/* Receipt source hints stay inside inputs without adding a helper-text row. */
.cashier-money input::placeholder{color:var(--muted);opacity:.8;font-size:12px}

/* Keep the competence navigation link visually aligned with adjacent actions. */
.people-competence-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 14px;border:1px solid var(--line);border-radius:12px;background:var(--white);color:var(--ink);font:inherit;text-decoration:none}
.people-competence-link:hover{border-color:var(--green);background:var(--green-light)}

/* Purchase and transfer details: grouped columns at every viewport (option 3). */
.supply-document-page .supply-filters{padding:14px}
.supply-document-page .supply-filter-row{gap:10px}
.supply-document-page .filter-dates{display:block;margin-top:0}
.supply-document-page .filter-dates>summary{padding:8px 0}
.supply-document-page .filter-dates .form-grid{margin-top:8px}

.supply-page .supply-document{padding:16px}
.supply-document .page-title{margin-bottom:12px;align-items:flex-start}
.supply-document .page-title>div{min-width:0}
.supply-document .page-title h2{margin:0 0 5px}
.supply-document .page-title p{margin:3px 0;line-height:1.45;font-size:12px}
.supply-document .document-note{margin:8px 0;font-size:13px}
.supply-document .document-details>summary{padding:12px 0;font-size:13px;font-weight:600}
.supply-document .document-lines{border:0;border-radius:0;overflow:visible}
.supply-document .document-lines table{display:table;table-layout:fixed;width:100%;font-size:14px;white-space:normal}
.supply-document .document-lines tbody{display:table-row-group}
.supply-document .document-lines tr:not([hidden]){display:table-row}
.supply-document .document-lines [hidden]{display:none!important}
.document-material-column{width:46%}.document-quantity-column{width:24%}.document-received-column,.document-difference-column{width:15%}
.supply-document .document-lines th,.supply-document .document-lines td{display:table-cell;position:static;min-width:0;height:auto;padding:9px 6px;border-right:0;vertical-align:middle;overflow-wrap:anywhere;line-height:1.4}
.supply-document .document-lines td::before{display:none}
.supply-document .document-lines th:not(:first-child),.supply-document .document-lines td:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}
.supply-document .document-lines .supply-category th{padding:0;background:var(--surface-subtle);border:0;border-radius:6px}
.supply-document .document-lines .supply-category:not(:first-child) th{border-top:12px solid var(--white)}
.supply-document .document-lines .supply-category-toggle{min-height:36px;padding:6px 8px;font-size:14px;gap:5px}
.supply-document .document-group-status{margin-left:auto;font-size:11px;font-weight:400;color:var(--green);text-align:right}
.supply-document .document-lines .document-column-headings th{padding:6px;font-size:12px;background:var(--white);color:var(--muted);font-weight:400}
.supply-document .supply-material{display:block;font-weight:600;font-synthesis:weight;line-height:1.4}
.supply-document .supply-material small{display:block;font-size:11px;font-weight:400;white-space:normal;overflow-wrap:anywhere;margin-top:2px}
.supply-document .document-specification,.supply-document .document-line-status,.supply-document .document-difference-note{display:block;font-size:11px;margin-top:3px}
.supply-document .document-line-status{color:var(--green)}
.supply-document .document-difference-note{color:var(--text-warning)}
.supply-document .document-unit{white-space:nowrap}
.supply-document .document-details .form-actions:empty{display:none}
.supply-document .document-details>details{margin-top:12px;font-size:12px}
@media(max-width:400px){
 .supply-page .supply-document{padding:12px}
 .supply-document .document-lines table{font-size:13px}
 .supply-document .document-lines td,.supply-document .document-lines th{padding-left:3px;padding-right:3px}
 .document-material-column{width:40%}.document-quantity-column{width:28%}.document-received-column,.document-difference-column{width:16%}
}

/* Original visual trial, 2026-10-11. Paint only; component geometry stays above.
   Provisional until user review. Remove this block to restore the prior palette. */
:root{
 --paper:#f3f1ec;--white:#fffdf8;--ink:#283832;--muted:#626d65;
 --green:#315b4b;--green-light:#e9eee7;--line:#d5dbd2;
 --ui-mint:#e2ece3;--ui-sage:#e9eee7;--ui-beige:#f7edda;
 --surface-subtle:#eeefe8;--surface-selected:#e2ece3;
 --surface-warning:#f7edda;--text-warning:#795821;
 --surface-error:#f8e9e3;--text-error:#934832;
 --surface-info:#e8eff2;--text-info:#365e70;
 --control-border:#89968a;--control-hover:#244737;
 --surface:var(--white);--border:var(--line);
}
/* Keep native and custom compact controls at their existing dimensions. */
.login-form input,.form-grid input:not([type=checkbox]):not([type=radio]),
.form-grid select,.form-grid textarea,.supply-entry-filters input,
.supply-entry-filters select{border-color:var(--control-border)}
input::placeholder,textarea::placeholder{color:var(--muted)}
.page-title h1,.panel h2,.login-welcome h1{color:var(--ink)}
.page-title p,.login-footer,.login-welcome p{color:var(--muted)}
.login-form,.login-welcome,.workspace-overview .workspace-section{
 box-shadow:0 6px 22px rgb(40 56 50 / 4%);
}
.form-actions>button:not(.primary):not(.danger):not(:disabled),
.people-competence-link{border-color:var(--control-border)}
button.primary,.form-actions>a.primary{background:var(--green);border-color:var(--green);color:#fff}
button.primary:hover:not(:disabled),.form-actions>a.primary:hover{
 background:var(--control-hover);border-color:var(--control-hover);color:#fff;
}
button.danger,.error-text{color:var(--text-error)}
input:focus-visible,select:focus-visible,textarea:focus-visible,
button:focus-visible,a:focus-visible,summary:focus-visible{outline-color:var(--green)}
/* Role fills, permission states, chart series and dense table metrics remain owned
   by their existing components. No font size, spacing, radius or overflow overrides. */

/* Data center keeps all business columns accessible without widening the page. */
.data-live { min-width:0; }
.data-live .grid-wrap { max-width:100%; overflow:auto; max-height:65vh; }
.data-live-table { width:max-content; min-width:100%; }
.data-live-table th,.data-live-table td { white-space:nowrap; }
.data-live-table th { position:sticky; top:0; background:var(--surface,#f6f4ef); z-index:1; }
.data-live .form-grid input,.data-live .form-grid select { min-width:0; max-width:100%; }

.image-preview{box-sizing:border-box;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:0;border:0;border-radius:0;background:#161b18;color:white;overflow:auto}
.image-preview::backdrop{background:#000c}.image-preview-bar{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:calc(10px + env(safe-area-inset-top)) 16px 10px;background:#161b18}.image-preview-bar span{overflow-wrap:anywhere}.image-preview-bar button{flex:none;min-height:44px;background:white;color:#18271d}.image-preview>img{display:block;width:100%;height:auto;object-fit:contain;min-height:0}.image-preview>iframe{width:100%;height:calc(100dvh - 80px);border:0;background:white}

/* SKU tools share the existing master-data editor and remain usable on phones. */
.sku-tools{padding:12px 0}.sku-filters{display:flex;flex-wrap:wrap;align-items:end;gap:10px}.sku-filters label{display:grid;gap:4px;min-width:130px;flex:1}.sku-tools [data-sku-count]{line-height:1.6}.sku-group td{background:var(--bg,#f3f5f3);padding:12px!important}.sku-group td>label{margin-right:16px}.sku-review{width:min(760px,94vw);max-height:90dvh;overflow:auto;border:0;border-radius:16px;padding:20px}.sku-review::backdrop{background:#0007}.sku-review fieldset{margin:10px 0;padding:12px;border:1px solid #ddd;border-radius:10px}.sku-review fieldset>div{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}.sku-review label{display:inline-flex;align-items:center;gap:5px}.sku-review-list{max-height:55dvh;overflow:auto;overflow-wrap:anywhere}.sku-review-list article{border-bottom:1px solid #ddd;padding:8px 0}.sku-review-list h3{font-size:16px}.sku-review .form-actions{position:sticky;bottom:0;background:var(--white,#fff);padding:10px 0}.sku-review select{max-width:100%}
@media(max-width:1100px){.supply-settings .config-cards .supply-config-table .sku-group:not([hidden]){display:block;background:transparent;padding:0}.supply-settings .config-cards .sku-group td{display:flex;flex-wrap:wrap;gap:10px}.sku-group td::before{display:none!important}.config-cards tr.is-collapsed td[data-label="选择 / 删除"]{display:block!important;grid-column:1/-1}.sku-group button{flex:1}.sku-filters label{min-width:calc(50% - 12px)}.sku-tools .form-actions{gap:8px}}

@media(max-width:1100px){.config-cards td[data-label="门店可申购范围"],.config-cards td[data-label="选择 / 删除"]{grid-column:1/-1}.supply-settings .config-cards td.config-row-heading{order:-1}.config-cards .location-switches{display:flex;flex-wrap:wrap;gap:8px}.config-cards .location-switches .item-choice{width:auto;min-width:75px;white-space:nowrap}}

/* SKU worksheet: fixed product rows and quiet column bands on every viewport. */
.sku-sheet{padding:12px;border-radius:10px;--sku-grid-line:#dce3de;--sku-identity:#fffefa;--sku-purchase:#f1f6f2;--sku-stock:#eef3f6}
.sku-sheet .item-settings-tabs,.mapping-sheet .item-settings-tabs{gap:4px;margin-bottom:8px}
.sku-sheet .item-settings-tabs button,.sku-sheet .item-settings-tabs a,.mapping-sheet .item-settings-tabs a{min-height:32px;padding:5px 12px;border-radius:4px}
.sku-sheet>.form-actions,.sku-sheet .sku-tools>.form-actions{position:static;padding:0;margin:6px 0;gap:6px;justify-content:flex-start;background:transparent}
.sku-sheet>.form-actions button,.sku-sheet .sku-tools button{min-height:28px;padding:4px 8px;border-radius:4px;font-size:12px}
.sku-sheet #config-note,.sku-sheet #config-dirty,.sku-sheet #config-error{margin:6px 0;font-size:12px}
.sku-sheet .sku-tools{padding:4px 0 8px}
.sku-sheet .sku-filters{gap:6px;align-items:end}
.sku-sheet .sku-filters label{min-width:90px;flex:1;gap:3px;font-size:12px;margin:0}
.sku-sheet .sku-filters .supply-list-search{flex:1.6;min-width:150px;max-width:none}
.sku-sheet .sku-filters input:not([type=checkbox]),.sku-sheet .sku-filters select{min-height:30px;height:30px;padding:4px 6px;border-radius:4px;font-size:13px}
.sku-sheet .sku-filters .sku-group-option{display:flex;align-items:center;align-self:end;flex:0 0 auto;min-height:30px;gap:4px}
.sku-sheet .sku-tools [data-sku-count]{font-size:12px;margin:7px 0 4px;line-height:1.5}
.sku-sheet .sku-tools>.form-actions label{font-size:12px;display:flex;align-items:center;gap:4px;margin:0}
.sku-grid-guide{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:5px 0;font-size:11px;color:var(--muted)}
.sku-grid-guide>span{padding:2px 6px;border:1px solid var(--sku-grid-line);border-radius:2px;background:var(--sku-identity)}
.sku-grid-guide>span:nth-child(2){background:var(--sku-purchase)}
.sku-grid-guide>span:nth-child(3){background:var(--sku-stock)}
.sku-grid-guide small{font-size:11px}
.sku-sheet .config-sheet .item-settings-table{overflow:auto;max-height:70dvh;max-width:100%;border:1px solid var(--sku-grid-line);border-radius:3px;scroll-padding-top:34px;scroll-padding-left:266px;overscroll-behavior:contain}
.sku-sheet .config-sheet .supply-config-table{display:table;table-layout:fixed;min-width:100%;border-collapse:separate;border-spacing:0}
.sku-sheet .config-sheet .supply-config-table thead{display:table-header-group}
.sku-sheet .config-sheet .supply-config-table tbody{display:table-row-group}
.sku-sheet .config-sheet .supply-config-table tr:not([hidden]){display:table-row;padding:0;margin:0;border:0}
.sku-sheet .config-sheet .supply-config-table th,.sku-sheet .config-sheet .supply-config-table td{display:table-cell;min-width:0;width:auto;max-width:none;padding:2px 3px;height:32px;font-size:12px;vertical-align:middle;white-space:nowrap;overflow-wrap:normal;border:0;border-right:1px solid var(--sku-grid-line);border-bottom:1px solid var(--sku-grid-line);background:var(--sku-identity)}
.sku-sheet .config-sheet .supply-config-table td::before{display:none}
.sku-sheet .config-sheet .supply-config-table .sku-band-purchase{background:var(--sku-purchase)}
.sku-sheet .config-sheet .supply-config-table .sku-band-stock{background:var(--sku-stock)}
.sku-sheet .config-sheet .supply-config-table th{position:sticky;top:0;z-index:4;color:#345445;background:#e7eee9!important;text-align:left;height:34px}
.sku-sheet .config-sheet .supply-config-table th.sku-band-stock{background:#e3ebef!important}
.sku-sheet .config-sheet .supply-config-table th.sku-band-purchase{background:#e6eee6!important}
.sku-sheet .config-sheet .supply-config-table th:nth-child(-n+3),.sku-sheet .config-sheet .supply-config-table td:nth-child(-n+3){position:sticky;z-index:2;left:0}
.sku-sheet .config-sheet .supply-config-table th:nth-child(2),.sku-sheet .config-sheet .supply-config-table td:nth-child(2){left:32px}
.sku-sheet .config-sheet .supply-config-table th:nth-child(3),.sku-sheet .config-sheet .supply-config-table td:nth-child(3){left:130px;border-right:2px solid #b9c9bf}
.sku-sheet .config-sheet .supply-config-table th:nth-child(-n+3){z-index:5}
.sku-sheet .config-sheet .supply-config-table td:first-child{text-align:center}
.sku-sheet .config-sheet .supply-config-table input:not([type=checkbox]),.sku-sheet .config-sheet .supply-config-table select{display:block;min-width:0;width:100%;max-width:100%;height:27px;min-height:27px;line-height:19px;padding:3px 2px;font-size:12px;border:1px solid transparent;border-radius:2px;background:transparent;color:var(--ink);box-shadow:none}
.sku-sheet .config-sheet .supply-config-table input:not([type=checkbox]):hover,.sku-sheet .config-sheet .supply-config-table select:hover{border-color:#b5c5bb}
.sku-sheet .config-sheet .supply-config-table input:not([type=checkbox]):focus,.sku-sheet .config-sheet .supply-config-table select:focus{background:#fff;outline:2px solid var(--green);outline-offset:-2px}
.sku-sheet .config-sheet .supply-config-table td label{margin:0;font-size:12px}
.sku-sheet .config-sheet .supply-config-table button{min-height:26px;padding:3px 4px;font-size:11px;line-height:18px;border-radius:2px;white-space:nowrap}
.sku-sheet .config-sheet .supply-config-table [data-sku-sort]{display:flex;align-items:center;justify-content:space-between;gap:1px;width:100%;padding:2px 0;border:0;background:transparent;font-size:12px;font-weight:600;text-align:left}
.sku-sort-mark{color:var(--green);font-size:10px}
.sku-sheet .config-sheet .code-generator{display:flex;flex-direction:row;gap:1px;align-items:center}
.sku-sheet .config-sheet .code-generator input{width:0;flex:1;font-variant-numeric:tabular-nums}
.sku-sheet .config-sheet .code-generator button{flex:none;font-size:10px;padding:2px;border:0;background:transparent;color:var(--green)}
.sku-sheet .config-sheet .location-switches{display:flex;flex-wrap:nowrap;gap:4px}
.sku-sheet .config-sheet .item-switch{min-height:26px;padding:0;gap:2px;border:0;border-radius:0;white-space:nowrap;justify-content:flex-start}
.sku-sheet .config-sheet input[type=checkbox],.sku-sheet .config-sheet .item-switch input{appearance:auto;width:14px!important;height:14px!important;min-height:14px!important;flex:0 0 14px;margin:0;position:static;cursor:pointer}
.sku-sheet .config-sheet .item-switch input::before{display:none}
.sku-sheet .config-sheet .supply-config-table select:disabled{color:#78837d;background:#e6ebe7;opacity:1}
.sku-sheet .config-sheet .supply-config-table [data-active]{display:block;margin:auto}
.sku-sheet .config-sheet .supply-config-table [data-delete-sku]{border:0;background:transparent;color:var(--muted)}
.sku-sheet .config-sheet .supply-config-table .sku-group td{position:static;padding:0!important;background:#e8efe9;height:30px;text-align:left}
.sku-sheet .config-sheet .sku-group-content{position:sticky;left:0;display:flex;align-items:center;gap:8px;width:max-content;max-width:100%;padding:2px 8px}
.sku-sheet .config-sheet .sku-group button{border:0;background:transparent;font-weight:600;color:var(--green);padding:0;font-size:12px}
.sku-sheet .config-sheet .supply-config-table tr[data-config-row]:hover>td{background:#edf4ed}
.sku-sheet .config-sheet .supply-config-table tr.sku-selected>td{background:#e0ecdf}
.sku-sheet .config-sheet .supply-config-table tr.config-dirty-row>td{background:#fff3d6}
.sku-sheet .config-sheet .supply-config-table tr.config-dirty-row>td:first-child{box-shadow:inset 3px 0 #ae8233}
.sku-sheet .config-sheet [data-sku-empty]{position:sticky;left:0;width:fit-content;max-width:100%;padding:10px;font-size:13px}
@media(max-width:640px){
 .sku-sheet .sku-filters label{min-width:calc(50% - 6px)}
 .sku-sheet .sku-filters .supply-list-search{flex-basis:100%}
 .sku-sheet .sku-filters .sku-group-option{min-width:0}
 .sku-sheet .config-sheet .item-settings-table{max-height:65dvh;scroll-padding-left:32px}
 .sku-sheet .config-sheet .supply-config-table td:nth-child(2),.sku-sheet .config-sheet .supply-config-table td:nth-child(3){position:static}
 .sku-sheet .config-sheet .supply-config-table th:nth-child(2),.sku-sheet .config-sheet .supply-config-table th:nth-child(3){left:auto;z-index:4}
 .sku-sheet .config-sheet .supply-config-table th:nth-child(3),.sku-sheet .config-sheet .supply-config-table td:nth-child(3){border-right:1px solid var(--sku-grid-line)}
 .sku-sheet .config-sheet .supply-config-table input:not([type=checkbox]),.sku-sheet .config-sheet .supply-config-table select{font-size:13px;min-height:30px;height:30px}
 .sku-sheet .config-sheet .supply-config-table td{height:36px}
}

/* Other (1106-05): iPhone-Settings style grouped lists. Phone and desktop share the same metrics; desktop only adds columns. */
.other-settings{max-width:1280px;margin:0 auto;color:var(--ink)}
.other-settings [hidden]{display:none!important}
.os-top{display:flex;align-items:center;justify-content:space-between;margin:2px 0 12px}
.os-top h1{font-size:30px;font-weight:600;letter-spacing:-.02em;margin:0;color:var(--ink)}
.os-search{position:sticky;top:0;z-index:4;background:var(--paper);padding:6px 0 12px}
.os-search label{display:flex;align-items:center;gap:8px;height:38px;border-radius:12px;background:#e9e7e1;padding:0 12px;color:var(--muted)}
.os-search label:focus-within{box-shadow:0 0 0 2px var(--green)}
.os-search svg{width:18px;height:18px;flex:none}
.os-search input{flex:1;min-width:0;border:0;background:none;height:36px;min-height:36px;padding:0;font-size:17px;outline:none;box-shadow:none;color:var(--ink)}
.os-cols{column-count:3;column-gap:20px}
.os-sec{break-inside:avoid;margin:0 0 22px}
.os-sec>h2{font-size:13px;font-weight:600;color:var(--muted);margin:0 0 4px 16px;letter-spacing:.04em}
.os-cap{font-size:12px;color:var(--muted);margin:8px 0 4px 16px}
.os-group{background:#fffefa;border-radius:16px;overflow:hidden;border:1px solid #e6e3dc}
.os-row{display:flex;align-items:center;gap:14px;min-height:48px;padding:0 14px 0 16px;text-decoration:none;color:var(--ink);position:relative}
.os-row:not([hidden])~.os-row:not([hidden])::before,.os-me~.os-row:not([hidden])::before{content:'';position:absolute;top:0;left:56px;right:0;height:1px;background:#e9e6df}
.os-row:hover{background:#f3f1ec;color:var(--ink)}
.os-row:focus-visible{outline:2px solid var(--green);outline-offset:-2px}
.os-ic{width:26px;height:26px;border-radius:7px;display:grid;place-items:center;flex:none;background:var(--c);color:#fff}
.os-ic svg{width:18px;height:18px;stroke-width:3.6}
.os-row span{flex:1;min-width:0;font-size:17px;line-height:1.25}
.os-row::after{content:'';flex:none;width:8px;height:8px;border-right:2px solid #b9b6ae;border-top:2px solid #b9b6ae;transform:rotate(45deg);margin-right:3px}
.os-me{display:flex;align-items:center;gap:10px;padding:12px 16px}
.os-av{width:44px;height:44px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;flex:none;font-size:18px;font-weight:600}
.os-me b{display:block;font-size:17px;font-weight:600;overflow-wrap:anywhere}
.os-me small{color:var(--muted);font-size:11px}
.os-me button{margin-left:auto;background:none;border:0;box-shadow:none;color:#b5362c;font-size:13px;height:auto;min-height:0;padding:4px}
.os-empty{color:var(--muted);text-align:center;padding:30px}
@media(max-width:1099px){.os-cols{column-count:2}}
@media(max-width:699px){.os-cols{column-count:1}}


/* Acceptance: dense directory, role-local colour, compact historical notes. */
.schedule-workspace .schedule-grid tr.role-colored>td{background:#fff}
.schedule-workspace .schedule-grid tr.role-colored>th{background:#fff;border-left:5px solid var(--role-color)}
.schedule-workspace .schedule-grid tr.role-colored .staff-select{background:var(--role-color);border-color:color-mix(in srgb,var(--role-color),#56665f 22%);color:#243b35;border-radius:5px;min-height:32px}
.schedule-workspace .schedule-grid .shift-divider th{background:#f1f3f2;color:#40564d}
.duty-grid textarea[data-field=note]{min-height:34px;height:34px;padding:6px 8px;line-height:20px;border-radius:5px;resize:vertical}
.duty-grid textarea[data-field=note]:focus{min-height:70px}
.duty-grid input,.duty-grid select{min-height:34px;height:34px;border-radius:5px}

/* Compact audit filters and readable business rows. */
.audit-workspace{font-size:13px}.audit-filters{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin:0 0 10px}.audit-filters input,.audit-filters select,.audit-filters button{box-sizing:border-box;height:32px;min-height:32px;padding:4px 8px;border-radius:4px;font-size:13px}.audit-filters input[name=q]{width:250px}.audit-filters input[name=actor],.audit-filters input[name=related]{width:110px}.audit-filters summary{cursor:pointer;white-space:nowrap}.audit-more{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 0}.audit-more label{display:flex;align-items:center;gap:5px}.audit-filters [data-count]{margin-left:auto;color:var(--muted)}.audit-workspace [data-error]:empty{display:none}.audit-workspace [data-error]{color:#a33a27}.audit-scroll{overflow:auto;border:1px solid var(--line);border-radius:6px;background:#fff;max-height:calc(100dvh - 260px)}.audit-workspace table{width:100%;min-width:900px;font-size:13px;border-collapse:collapse}.audit-workspace th,.audit-workspace td{padding:8px 10px;vertical-align:top;border-bottom:1px solid var(--line)}.audit-workspace thead th{position:sticky;top:0;background:#edf1ee}.audit-workspace td:first-child{white-space:nowrap;font-variant-numeric:tabular-nums}.audit-category{color:#356453;background:#ecf3ef;padding:3px 6px;border-radius:3px;white-space:nowrap}.audit-workspace dl{display:grid;grid-template-columns:75px minmax(0,1fr);font-size:12px;gap:6px;max-width:340px}.audit-workspace dd{margin:0;overflow-wrap:anywhere}.audit-workspace [data-pages]{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:10px}.audit-workspace[aria-busy=true] tbody{opacity:.5}
