/* Shared control geometry across marketing, account, workspace and QR pages. */
:root, body {
    --control-height:56px;
    --control-radius:13px;
    --control-inline-padding:16px;
    --control-gap:12px;
}
body { -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; font-kerning:normal; font-synthesis:none; }
body :is(h1,h2,h3) { text-rendering:optimizeLegibility; }
body:is(.dashboard, .auth-page, .restock-home, body) {
    --control-height:56px;
}
body:is(.dashboard, .auth-page, .restock-home, body) :is(.form-control:where(:not(textarea)), .form-select:where(:not([multiple])), .account-input, .dt-input, .workspace-control-trigger, .workspace-select-search input) {
    box-sizing:border-box;
    height:var(--control-height);
    min-height:var(--control-height);
    min-width:0;
    max-width:100%;
    padding-block:0;
    padding-inline:var(--control-inline-padding);
    border-radius:var(--control-radius);
    font-size:16px;
    line-height:1.5;
}
body:is(.dashboard, .auth-page, .restock-home, body) :is(.btn, .home-button, .account-back) {
    box-sizing:border-box;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:var(--control-gap);
    height:var(--control-height);
    min-height:var(--control-height);
    padding-block:0;
    padding-inline:20px;
    border-radius:var(--control-radius);
    font-size:16px;
    line-height:1.4;
    white-space:nowrap;
    vertical-align:middle;
}
body:is(.dashboard, .auth-page, .restock-home, body) :is(.btn, .home-button, .workspace-control-trigger) > :is(.icon, .control-icon, .bi) {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:20px;
    height:20px;
    flex:0 0 20px;
    margin-block:0;
    line-height:1;
}
body :is(.btn, .home-button) > .bi::before { display:block; }
body .home-button { justify-content:space-between; }
body .workspace-control-trigger { align-items:center; gap:12px; }
body .workspace-control-trigger > span { line-height:24px; }
body :is(.form-select:not(.workspace-native-control)) { padding-right:44px; background-position:right 16px center; }
body textarea.form-control { min-height:130px; padding:14px 16px; font-size:16px; line-height:1.6; }
body :is(.form-label, .account-field > label) { display:block; margin-bottom:8px; font-size:15px; line-height:22px; }
body .account-field { margin-bottom:24px; }
body .account-actions { align-items:center; gap:12px; }
body .account-back { width:var(--control-height); padding:0; flex:none; }
body .account-input-wrap:has(.account-reveal, .account-input-state) .account-input { padding-right:56px; }
body .account-reveal { top:50%; right:6px; transform:translateY(-50%); width:44px; height:44px; padding:0; }
body .account-input-state { top:50%; right:16px; transform:translateY(-50%); }
body .account-input-state > .icon { width:23px; height:23px; }
body .account-options label { margin:0; align-items:center; }
body .account-options input { margin:0; }

.dashboard .workspace-search-field { height:var(--control-height); align-items:center; gap:12px; padding-inline:16px; }
.dashboard .workspace-search input { height:100%; min-height:0; padding:0; font-size:16px; line-height:24px; }
.dashboard .workspace-search-field > .icon { display:block; width:20px; height:20px; flex:0 0 20px; margin:0; }
.dashboard .workspace-search-field .search-clear { display:grid; place-items:center; width:32px; height:32px; padding:0; flex:none; }
.dashboard .workspace-search-field .search-clear[hidden] { display:none; }
.dashboard .workspace-header :is(.icon-button, .profile-toggle) { height:var(--control-height); min-height:var(--control-height); align-items:center; }
.dashboard .workspace-header .icon-button { width:44px; padding:0; flex:none; place-items:center; }
.dashboard .search-page-form { align-items:center; gap:12px; }
.dashboard .search-page-input { height:var(--control-height); }
.dashboard .search-page-input .form-control { height:100%; padding-left:48px; }
.dashboard .search-page-input > .icon { top:0; bottom:0; left:16px; margin-block:auto; transform:none; width:20px; height:20px; }
.dashboard .search-page-form > .btn { flex:none; }
.dashboard .datatable-filters { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:end; gap:16px; }
.dashboard .datatable-filters > label { width:100%; gap:8px; margin:0; font-size:15px; line-height:22px; }
.dashboard .datatable-filters > .btn { width:100%; }
.dashboard .datatable-filters :is(.form-control, .form-select, .workspace-control-trigger),
.dashboard .dt-container :is(.dt-input, .workspace-control-trigger) { height:var(--control-height); min-height:var(--control-height); padding-block:0; font-size:16px; }
.dashboard .dt-container :is(.dt-search, .dt-length) { align-items:stretch; gap:8px; }
.dashboard .dt-container :is(.dt-search, .dt-length) label { margin:0; font-size:15px; line-height:22px; }
.dashboard .dt-container .dt-length .workspace-control { min-width:104px; }
.dashboard :is(form.row.align-items-end, .team-member-form) > [class*="col-"] > .mb-3:last-child { margin-bottom:0!important; }
.dashboard .page-heading > :is(.no-print, .d-flex):has(> .btn) { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.dashboard .page-heading > .btn { flex-shrink:0; }
.dashboard .form-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:24px; }
body :is(.card-body, .public-card) label:has(> input[type=checkbox]):not(.form-label) { display:flex!important; align-items:center; gap:10px; }
body :is(.card-body, .public-card) label > input[type=checkbox] { flex-shrink:0; margin:0; }
body .supply-choice .qty { flex:0 0 100px; }
body .form-control[type=file] { padding:0; line-height:54px; }
body .form-control[type=file]::file-selector-button { height:54px; margin:0 16px 0 0; padding:0 16px; }
@media(min-width:1200px) {
    .dashboard .datatable-filters { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .dashboard .datatable-filters:has(> label:nth-of-type(3)) { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media(max-width:575px) {
    .dashboard .datatable-filters { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:600px) {
    .dashboard .search-page-form { align-items:stretch; }
    .dashboard .search-page-input { flex:auto; }
    .dashboard .search-page-form > .btn { width:100%; }
    .dashboard .workspace-search-field { padding-inline:12px; gap:8px; }
    .dashboard .workspace-header { min-height:76px; }
    .dashboard .workspace-header .sidebar-menu { width:40px; padding:0; }
    .dashboard .dt-container .dt-length .workspace-control { min-width:0; }
    .dashboard .form-actions > .btn { flex:1; }
}
