:root {
    --bg: #edf3f8;
    --panel: #ffffff;
    --field: #f7fafc;
    --ink: #16263a;
    --muted: #64768d;
    --line: #d4e0eb;
    --accent: #159b9c;
    --accent-dark: #0d707b;
    --sidebar: #f8fbff;
    --sidebar-text: #1f3a52;
    --submenu-bg: #e4f3f4;
    --submenu-text: #145b67;
    --submenu-active-bg: #159b9c;
    --submenu-active-text: #ffffff;
    --button-text: #ffffff;
    --button-text-end: #ffffff;
    --button-text-gradient: none;
    --button-text-fill: #ffffff;
    --button-bg: linear-gradient(135deg, #159b9c, #0d707b);
    --button-hover-bg: linear-gradient(135deg, #0d707b, #159b9c);
    --secondary-button-text: #145b67;
    --secondary-button-text-end: #145b67;
    --secondary-button-text-gradient: none;
    --secondary-button-text-fill: #145b67;
    --secondary-button-bg: linear-gradient(135deg, #e4f3f4, #d4e9ea);
    --secondary-button-hover-bg: linear-gradient(135deg, #d4e9ea, #e4f3f4);
    --neutral-button-text: #334155;
    --neutral-button-text-gradient: none;
    --neutral-button-text-fill: #334155;
    --neutral-button-bg: linear-gradient(135deg, #ffffff, #edf2f5);
    --neutral-button-hover-bg: linear-gradient(135deg, #edf2f5, #ffffff);
    --danger-button-text: #ffffff;
    --danger-button-text-gradient: none;
    --danger-button-text-fill: #ffffff;
    --danger-button-bg: linear-gradient(135deg, #dc2626, #b91c1c);
    --danger-button-hover-bg: linear-gradient(135deg, #b91c1c, #dc2626);
    --theme-image: none;
    --radius-button: 4px;
    --radius-panel: 4px;
    --radius-control: 4px;
    --sidebar-width: 248px;
    --base-font-size: 14px;
    --font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --danger: #dc2626;
    --shadow: 0 2px 8px rgba(0, 0, 0, .24);
    font-family: var(--font-family);
}

/* ACPR POS 1.19.6 waiver library, contained logos, and totals density */
.brand-logo-suggester{position:relative;overflow:visible}
.brand-logo-candidates{
    position:absolute;z-index:650;top:calc(100% + 6px);right:0;left:0;
    max-height:min(360px,58vh);padding:9px;overflow:auto;
    border:1px solid color-mix(in srgb,var(--accent) 42%,var(--line));
    background:var(--panel);box-shadow:0 18px 46px color-mix(in srgb,var(--ink) 24%,transparent)
}
.brand-logo-candidates[hidden]{display:none!important}
.brand-logo-candidate>span,.repair-brand-logo,.product-brand-mark.is-large{background:#fff}
.brand-logo-candidate img,.repair-brand-logo img,.product-brand-mark.is-large img{width:100%!important;height:100%!important;padding:4px;object-fit:contain!important}
.brand-logo-selection{margin:0;color:var(--success);font-size:.72rem;font-weight:700}

.waiver-library-heading{margin-bottom:12px}
.waiver-library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.waiver-library-card{display:grid;align-content:start;gap:11px;padding:14px;border-top:3px solid var(--accent)}
.waiver-library-card.is-disabled{opacity:.7;border-top-color:var(--muted)}
.waiver-library-card>header{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:9px}
.waiver-library-card>header>span{display:grid;width:38px;height:38px;place-items:center;border:1px solid color-mix(in srgb,var(--accent) 32%,var(--line));background:color-mix(in srgb,var(--accent) 9%,var(--field));color:var(--accent)}
.waiver-library-card h3{margin:1px 0 0;font-size:.86rem}
.waiver-library-card header small{color:var(--muted);font-size:.57rem;text-transform:uppercase}
.waiver-library-card header>strong{color:var(--success);font-size:.63rem}
.waiver-library-card.is-disabled header>strong{color:var(--muted)}
.waiver-library-card>p{display:-webkit-box;min-height:54px;margin:0;overflow:hidden;color:var(--muted);font-size:.68rem;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:3}
.waiver-library-card>footer{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.waiver-library-card>footer>*{min-width:0}
.waiver-library-card>footer form button{width:100%}
.waiver-editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:14px;align-items:start}
.waiver-editor-form{display:grid;gap:15px;padding:16px}
.waiver-editor-form>header,.waiver-editor-form>footer{display:flex;align-items:center;justify-content:space-between;gap:12px}
.waiver-editor-form h2{margin:2px 0 4px}
.waiver-policy-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:12px;border:1px solid var(--line)}
.waiver-policy-options .checkbox-row{margin:0}
.waiver-editor-preview{position:sticky;top:12px;display:grid;gap:14px;min-height:480px;padding:22px;background:#fff!important;color:#172033!important}
.waiver-editor-preview h3{margin:0;font-size:1.2rem}
.waiver-editor-preview>div{font-size:.78rem;line-height:1.65}
.waiver-editor-preview .signature-line{margin-top:24px;padding-top:6px;border-top:1px solid #172033;font-size:.65rem}
.repair-waiver-selector{padding:14px;border:1px solid color-mix(in srgb,var(--accent) 32%,var(--line));background:color-mix(in srgb,var(--accent) 5%,var(--field))}
.repair-waiver-selector>p{margin:0 0 10px;color:var(--muted);font-size:.7rem}
.repair-waiver-selector>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.repair-waiver-selector label{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:8px;margin:0;padding:10px;border:1px solid var(--line);background:var(--panel)}
.repair-waiver-selector label>span{display:grid;gap:2px}
.repair-waiver-selector label small{color:var(--muted);font-size:.64rem}
.repair-ticket-waivers ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none}
.repair-ticket-waivers li{display:grid;grid-template-columns:20px minmax(0,1fr);gap:7px;padding:9px;border:1px solid var(--line)}
.repair-ticket-waivers li>span{display:grid}.repair-ticket-waivers small{color:var(--muted)}

@media(min-width:761px){
    body.module-register .pos-sidebar-payment-card .pos-sidebar-totals{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;padding:9px!important}
    body.module-register .pos-sidebar-payment-card .pos-sidebar-totals>div,
    body.module-register .pos-sidebar-payment-card .pos-sidebar-totals>div.is-total,
    body.module-register .pos-sidebar-payment-card .pos-sidebar-totals>div.is-balance{
        display:grid!important;align-content:center!important;gap:3px!important;min-width:0!important;min-height:52px!important;
        margin:0!important;padding:8px!important;border:1px solid var(--line)!important;background:var(--field)!important
    }
    body.module-register .pos-sidebar-payment-card .pos-sidebar-totals>div.is-balance{background:linear-gradient(135deg,var(--accent),var(--accent-dark))!important}
}
@media(max-width:980px){
    .waiver-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .waiver-editor-layout{grid-template-columns:1fr}
    .waiver-editor-preview{position:relative;top:auto;min-height:360px}
}
@media(max-width:760px){
    body.module-register .pos-sidebar-payment-card .pos-sidebar-totals{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important;padding:7px!important}
    body.module-register .pos-sidebar-payment-card .pos-sidebar-totals>div,
    body.module-register .pos-sidebar-payment-card .pos-sidebar-totals>div.is-total,
    body.module-register .pos-sidebar-payment-card .pos-sidebar-totals>div.is-balance{min-height:48px!important;padding:6px!important}
    body.module-register .pos-sidebar-payment-card .pos-sidebar-totals>div span,
    body.module-register .pos-sidebar-payment-card .pos-sidebar-totals>div strong{font-size:.64rem!important;overflow-wrap:anywhere}
    .waiver-library-grid,.repair-waiver-selector>div,.repair-ticket-waivers ul{grid-template-columns:1fr}
    .waiver-policy-options{grid-template-columns:1fr}
    .waiver-editor-form>header,.waiver-editor-form>footer{align-items:stretch;flex-direction:column}
    .waiver-editor-form>header>*,
    .waiver-editor-form>footer>*{width:100%}
}

/* ACPR POS 1.12.0: final POS customer and repair journal layout authority. */
.module-register .pos-sidebar-customer-card .repair-workflow-panel-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 12px !important;
}

.module-register .pos-sidebar-customer-card .customer-add-button {
    grid-column: 2 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 150px !important;
    padding: 8px 12px !important;
    white-space: nowrap !important;
}

.module-register .pos-sidebar-customer-preview .pos-customer-profile {
    display: grid !important;
    grid-template-columns: 50px minmax(0, 1fr) !important;
    align-items: start !important;
    gap: 12px !important;
    width: 100% !important;
    min-width: 0 !important;
}

.module-register .pos-sidebar-customer-preview .pos-customer-identity {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 4px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
}

.module-register .pos-sidebar-customer-preview .pos-customer-identity > * {
    grid-column: 1 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
}

.repair-workflow-stage-notes .repair-workflow-journal-form {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: start !important;
    gap: 10px !important;
    width: 100% !important;
    min-width: 0 !important;
}

.repair-workflow-stage-notes .repair-workflow-journal-form > .rich-text-editor {
    grid-column: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
}

.repair-workflow-stage-notes .repair-workflow-journal-form > button {
    grid-column: 1 !important;
    justify-self: end !important;
    width: auto !important;
    min-width: 190px !important;
    min-height: 40px !important;
    padding: 8px 16px !important;
}

.repair-workflow-stage-notes .rich-text-toolbar {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 5px !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 7px !important;
    overflow: visible !important;
}

.repair-workflow-stage-notes .rich-text-toolbar .rich-text-format {
    flex: 0 1 140px !important;
    width: 140px !important;
    min-width: 112px !important;
    height: 34px !important;
    min-height: 34px !important;
}

.repair-workflow-stage-notes .rich-text-toolbar button:not(.rich-text-ai-button) {
    flex: 0 0 34px !important;
    width: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    padding: 0 !important;
}

.repair-workflow-stage-notes .rich-text-toolbar .rich-text-ai-button {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 116px !important;
    height: 34px !important;
    min-height: 34px !important;
    margin-left: auto !important;
    padding: 0 10px !important;
}

@media (max-width: 720px) {
    .module-register .pos-sidebar-customer-card .repair-workflow-panel-head {
        grid-template-columns: minmax(0, 1fr) auto !important;
    }

    .module-register .pos-sidebar-customer-card .customer-add-button {
        max-width: 132px !important;
    }

    .repair-workflow-stage-notes .repair-workflow-journal-form > button {
        justify-self: stretch !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    .repair-workflow-stage-notes .rich-text-toolbar .rich-text-ai-button {
        margin-left: 0 !important;
    }
}

/* 1.2.13 command workspaces and compact directories */
.operations-command-header,
.marketing-command-header { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:12px; padding:18px 20px; border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line)); border-radius:7px; background:linear-gradient(120deg,color-mix(in srgb,var(--accent) 13%,var(--panel)),var(--panel)); }
.operations-command-header h2,
.marketing-command-header h2 { display:flex; align-items:center; gap:9px; margin:3px 0 5px; font-size:1.35rem; }
.operations-command-header p,
.marketing-command-header p { max-width:760px; margin:0; color:var(--muted); }
.operations-command-actions { display:flex; gap:7px; flex-wrap:wrap; justify-content:flex-end; }
.operations-status-strip { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin-bottom:12px; }
.operations-status-strip article { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:2px 10px; padding:11px 13px; border:1px solid var(--line); border-radius:6px; background:var(--panel); }
.operations-status-strip span { color:var(--muted); font-size:.64rem; font-weight:800; text-transform:uppercase; }
.operations-status-strip strong { grid-row:span 2; align-self:center; color:var(--accent); font-size:1.35rem; }
.operations-status-strip small { color:var(--ink); font-size:.7rem; }
.operations-control-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.operations-control-card { --state-color:var(--accent); display:grid; gap:13px; min-width:0; padding:14px; border:1px solid color-mix(in srgb,var(--state-color) 28%,var(--line)); border-top:3px solid var(--state-color); border-radius:7px; background:var(--panel); box-shadow:0 5px 16px color-mix(in srgb,var(--ink) 5%,transparent); }
.operations-control-card.state-warning { --state-color:#e5901a; }
.operations-control-card.state-critical { --state-color:#e5484d; }
.operations-control-card.state-healthy { --state-color:#1b9a68; }
.operations-control-card.state-active { --state-color:#168aad; }
.operations-control-card.state-neutral { --state-color:#718096; }
.operations-control-card header { display:flex; align-items:center; justify-content:space-between; }
.operations-control-icon { display:grid; place-items:center; width:34px; height:34px; border-radius:6px; background:color-mix(in srgb,var(--state-color) 14%,var(--field)); color:var(--state-color); }
.operations-state { color:var(--state-color); font-size:.6rem; font-weight:850; text-transform:uppercase; }
.operations-control-metric { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:12px; }
.operations-control-metric > strong { min-width:42px; color:var(--ink); font-size:1.7rem; font-weight:700; line-height:1; }
.operations-control-metric h3 { margin:0 0 3px; font-size:.86rem; }
.operations-control-metric p { margin:0; color:var(--muted); font-size:.67rem; }
.operations-control-card footer { display:grid; grid-template-columns:1fr 1fr; gap:6px; padding-top:9px; border-top:1px solid var(--line); }
.operations-control-card footer a { display:flex; align-items:center; justify-content:center; gap:6px; min-height:34px; padding:6px 8px; border-radius:5px; color:var(--ink); font-size:.67rem; font-weight:750; text-align:center; text-decoration:none; }
.operation-primary-action { background:color-mix(in srgb,var(--state-color) 15%,var(--field)); }
.operation-secondary-action { border:1px solid var(--line); background:var(--field); }
.operations-control-card footer a:hover { color:var(--state-color); border-color:var(--state-color); }

.users-table-wrap { overflow:visible; }
.users-table,.users-table tbody { display:block; width:100%; min-width:0; }
.users-table thead { display:none; }
.users-table tbody { display:grid; gap:8px; }
.users-table tbody tr { position:relative; z-index:1; display:grid; grid-template-columns:1.35fr .72fr 1.2fr .62fr .72fr 152px; align-items:center; padding:8px 10px; border:1px solid color-mix(in srgb,var(--accent) 20%,var(--line)); border-left:4px solid var(--accent); border-radius:7px; background:var(--panel); }
.users-table tbody tr:has(.user-row-actions[open]) { z-index:20; }
.users-table td { display:grid; align-self:stretch; align-content:center; gap:2px; min-width:0; padding:4px 9px; border:0; border-left:1px solid var(--line); font-size:.72rem; overflow-wrap:anywhere; }
.users-table td:first-child { border-left:0; }
.users-table td::before { content:attr(data-label); color:var(--muted); font-size:.53rem; font-weight:800; text-transform:uppercase; }
.users-table td > small { display:block; color:var(--muted); font-size:.63rem; }
.users-table .user-actions-cell { overflow:visible; }
.users-table .user-actions-cell::before { display:none; }
.user-row-actions { position:relative; width:100%; }
.user-row-actions > summary,.reports-heading-actions > summary { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:7px; min-height:38px; padding:7px 10px; border:1px solid color-mix(in srgb,var(--accent) 38%,var(--line)); border-radius:6px; background:color-mix(in srgb,var(--accent) 9%,var(--field)); color:var(--ink); font-size:.71rem; font-weight:800; white-space:nowrap; cursor:pointer; list-style:none; }
.user-row-actions > summary::-webkit-details-marker,.reports-heading-actions > summary::-webkit-details-marker { display:none; }
.user-row-actions > div,.reports-heading-actions > div { position:absolute; z-index:100; top:calc(100% + 5px); right:0; display:grid; gap:3px; width:200px; padding:6px; border:1px solid var(--line); border-radius:7px; background:var(--panel); box-shadow:0 16px 36px rgba(0,0,0,.18); }
.user-row-actions > div a,.reports-heading-actions > div a,.reports-heading-actions > div button { display:flex; align-items:center; gap:8px; width:100%; min-height:38px; padding:7px 9px; border:0; border-radius:5px; background:transparent; color:var(--ink); font-size:.72rem; font-weight:700; text-align:left; text-decoration:none; box-shadow:none; }
.user-row-actions > div a:hover,.reports-heading-actions > div a:hover,.reports-heading-actions > div button:hover { background:color-mix(in srgb,var(--accent) 10%,var(--field)); color:var(--accent); }
.reports-heading-actions { position:relative; min-width:160px; }
.reports-heading-actions > div { width:190px; }
.report-period-panel { border-left:4px solid var(--accent); }
.report-kpis { gap:9px; }
.report-kpis .stat { min-height:102px; padding:13px; border-radius:7px; }
.report-kpis .stat strong { margin:6px 0 2px; font-size:1.25rem; }
.report-section { padding:14px; border-radius:7px; }
.report-table-wrap { overflow:visible; }
.report-table-wrap table { font-size:.72rem; }
.report-table-wrap th,.report-table-wrap td { padding:8px 9px; }

.marketing-command-header { margin-bottom:10px; }
.marketing-stat-grid { gap:8px; margin-bottom:10px; }
.marketing-stat { min-height:84px; padding:12px 14px; border:1px solid var(--line); border-top:3px solid var(--accent); border-radius:7px; background:var(--panel); }
.marketing-stat span,.marketing-stat small { color:var(--muted); font-size:.64rem; }
.marketing-stat strong { margin:3px 0; font-size:1.3rem; }
.marketing-workspace-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.marketing-workspace-grid > a { display:grid; grid-template-columns:38px minmax(0,1fr) auto; align-items:center; gap:11px; min-height:86px; padding:14px; border:1px solid var(--line); border-radius:7px; background:var(--panel); color:var(--ink); text-decoration:none; }
.marketing-workspace-grid > a > span { display:grid; place-items:center; width:38px; height:38px; border-radius:6px; background:color-mix(in srgb,var(--accent) 13%,var(--field)); color:var(--accent); }
.marketing-workspace-grid > a div { display:grid; gap:3px; }
.marketing-workspace-grid > a small { color:var(--muted); font-size:.68rem; }
.marketing-workspace-grid > a em { color:var(--accent); font-size:.65rem; font-style:normal; font-weight:800; }
.marketing-workspace-grid > a:hover { border-color:var(--accent); }
.marketing-composer { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr); gap:12px; }
.marketing-compose-main,.marketing-compose-sidebar { min-width:0; border:1px solid var(--line); border-radius:7px; background:var(--panel); }
.marketing-compose-main { padding:15px; }
.marketing-compose-main > header { display:flex; align-items:center; justify-content:space-between; margin-bottom:13px; }
.marketing-compose-main h3,.marketing-compose-sidebar h3 { margin:2px 0 0; }
.marketing-save-state { color:var(--success); font-size:.65rem; font-weight:800; }
.marketing-core-fields { display:grid; grid-template-columns:1.2fr .65fr .85fr; gap:9px; margin-bottom:13px; }
.marketing-core-fields label,.marketing-message-fields label { display:grid; gap:5px; color:var(--muted); font-size:.68rem; font-weight:750; }
.marketing-preset-picker { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; margin-bottom:13px; }
.marketing-preset-picker > span { grid-column:1/-1; color:var(--muted); font-size:.63rem; font-weight:800; text-transform:uppercase; }
.marketing-preset-picker button { display:grid; grid-template-columns:30px minmax(0,1fr); align-items:center; gap:8px; min-height:54px; padding:8px; border:1px solid var(--line); border-radius:6px; background:var(--field); color:var(--ink); text-align:left; box-shadow:none; }
.marketing-preset-picker button > span { display:grid; gap:2px; }
.marketing-preset-picker button strong { font-size:.7rem; }
.marketing-preset-picker button small { color:var(--muted); font-size:.59rem; }
.marketing-preset-picker button:hover { border-color:var(--accent); background:color-mix(in srgb,var(--accent) 9%,var(--field)); }
.marketing-message-fields { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.marketing-message-fields .full { grid-column:1/-1; }
.marketing-message-fields label > span { float:right; font-weight:500; }
.marketing-message-fields textarea { min-height:300px; resize:vertical; font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:.73rem; line-height:1.45; }
.marketing-compose-sidebar { position:sticky; top:12px; align-self:start; display:grid; gap:12px; padding:14px; }
.marketing-compose-sidebar > section { padding-top:11px; border-top:1px solid var(--line); }
.marketing-compose-sidebar code { display:inline-block; margin:2px; font-size:.61rem; }
.marketing-message-preview { min-height:330px; max-height:520px; overflow:auto; padding:10px; border:1px solid var(--line); border-radius:6px; background:#eef2f7; color:#172033; }
.marketing-message-preview img { max-width:100%; }
.sms-preview-bubble { max-width:280px; padding:13px; border-radius:7px 7px 7px 2px; background:#fff; color:#172033; font-size:.78rem; line-height:1.45; box-shadow:0 5px 18px rgba(15,23,42,.1); }
.marketing-composer > .sticky-form-actions { grid-column:1/-1; }
.customer-device-history-note { margin:10px 0 0; color:var(--muted); font-size:.7rem; }

@media screen and (max-width:1100px) {
    .operations-control-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .marketing-composer { grid-template-columns:1fr; }
    .marketing-compose-sidebar { position:static; }
    .marketing-message-preview { min-height:240px; }
    .users-table tbody tr { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .users-table td[data-label="User"] { grid-column:span 2; border-left:0; }
    .users-table .user-actions-cell { grid-column:3; grid-row:1; }
}

/* 1.2.19 inventory, purchasing, suppliers, and system health */
.operations-workspace-heading,.operations-form-heading,.health-console-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:14px; padding:16px 18px; border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line)); border-radius:7px; background:linear-gradient(112deg,color-mix(in srgb,var(--panel) 93%,var(--accent) 7%),var(--panel)); }
.operations-workspace-heading h2,.operations-form-heading h2,.health-console-heading h2 { margin:3px 0 4px; font-size:1.35rem; font-weight:720; }
.operations-workspace-heading p,.operations-form-heading p,.health-console-heading p { margin:0; color:var(--muted); font-size:.76rem; }
.inventory-metric-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-bottom:14px; }
.inventory-metric-grid article { position:relative; display:grid; gap:4px; min-height:108px; padding:14px; overflow:hidden; border:1px solid var(--line); border-radius:7px; background:var(--panel); }
.inventory-metric-grid article>span { position:absolute; top:12px; right:12px; display:grid; width:30px; height:30px; place-items:center; border:1px solid color-mix(in srgb,var(--accent) 27%,var(--line)); border-radius:6px; background:color-mix(in srgb,var(--accent) 9%,var(--field)); color:var(--accent); }
.inventory-metric-grid article>span .ui-icon { width:15px; height:15px; }
.inventory-metric-grid small { color:var(--muted); font-size:.66rem; font-weight:650; }
.inventory-metric-grid strong { margin-top:5px; font-size:1.2rem; font-weight:760; }
.inventory-metric-grid em { color:var(--muted); font-size:.63rem; font-style:normal; }
.inventory-control-panel,.operations-ledger-panel { padding:0; overflow:visible; }
.inventory-filter-bar { display:grid; grid-template-columns:minmax(280px,1fr) 175px 175px auto; align-items:end; gap:9px; padding:13px; border-bottom:1px solid var(--line); background:color-mix(in srgb,var(--field) 76%,var(--panel)); }
.inventory-filter-bar>span { display:inline-flex; min-height:42px; align-items:center; justify-content:center; padding:8px 10px; border:1px solid var(--line); border-radius:6px; background:var(--panel); color:var(--muted); font-size:.69rem; font-weight:700; white-space:nowrap; }
.inventory-search { position:relative; margin:0; }
.inventory-search .ui-icon { position:absolute; z-index:1; top:50%; left:12px; width:16px; height:16px; color:var(--accent); transform:translateY(-50%); pointer-events:none; }
.inventory-search input { padding-left:39px; }
.inventory-table-wrap { padding:12px; overflow-x:auto; }
.inventory-control-table { min-width:980px; }
.inventory-control-table th { background:color-mix(in srgb,var(--field) 82%,var(--panel)); font-size:.65rem; }
.inventory-control-table td { vertical-align:middle; font-size:.72rem; }
.inventory-product-identity { display:grid; gap:3px; }
.inventory-product-identity strong { font-weight:720; }
.inventory-product-identity small { color:var(--muted); font-size:.63rem; }
.inventory-state { display:inline-grid; width:max-content; gap:1px; min-width:68px; padding:5px 7px; border:1px solid currentColor; border-radius:5px; background:color-mix(in srgb,currentColor 8%,var(--panel)); }
.inventory-state strong { font-size:.79rem; font-weight:760; }
.inventory-state small { font-size:.57rem; text-transform:uppercase; }
.inventory-state.is-healthy { color:var(--success); }.inventory-state.is-low { color:var(--warning); }.inventory-state.is-out { color:var(--danger); }
.operations-form-panel { max-width:1000px; margin-inline:auto; }
.operations-ledger-list { display:grid; gap:7px; padding:12px; }
.operations-ledger-list article { display:grid; grid-template-columns:36px minmax(0,1fr) 100px 165px; align-items:center; gap:10px; padding:10px 12px; border:1px solid var(--line); border-radius:6px; background:var(--panel); }
.movement-direction { display:grid; width:32px; height:32px; place-items:center; border-radius:6px; }.movement-direction.is-positive { background:color-mix(in srgb,var(--success) 13%,var(--field)); color:var(--success); }.movement-direction.is-negative { background:color-mix(in srgb,var(--danger) 12%,var(--field)); color:var(--danger); }
.operations-ledger-list article>div { min-width:0; }.operations-ledger-list h3,.operations-ledger-list p { margin:0; }.operations-ledger-list article>div strong { font-size:.75rem; }.operations-ledger-list article>div small,.operations-ledger-list article>div p,.operations-ledger-list article>span small,.operations-ledger-list time small { display:block; margin-top:2px; color:var(--muted); font-size:.61rem; }.operations-ledger-list article>span strong { font-size:.88rem; }.operations-ledger-list time { color:var(--ink); font-size:.65rem; text-align:right; }
.operations-card-directory { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; padding:12px; }.operations-card-directory article { padding:14px; border:1px solid var(--line); border-top:3px solid var(--accent); border-radius:7px; background:var(--panel); }.operations-card-directory article>div:first-child { display:grid; gap:5px; }.operations-card-directory h3 { margin:4px 0 0; font-size:.84rem; }.operations-card-directory p { margin:0; color:var(--muted); font-size:.65rem; }.operations-card-directory dl { display:grid; gap:5px; margin:12px 0 0; }.operations-card-directory dl div { display:flex; justify-content:space-between; gap:10px; padding-top:5px; border-top:1px solid var(--line); font-size:.67rem; }.operations-card-directory dd { margin:0; font-weight:700; }
.operations-count-form { display:grid; gap:14px; }.inventory-count-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; max-height:600px; overflow:auto; }.inventory-count-grid label { display:grid; grid-template-columns:minmax(0,1fr) 110px; align-items:center; gap:10px; padding:9px 10px; border:1px solid var(--line); border-radius:6px; background:var(--field); }.inventory-count-grid label>span { display:grid; gap:2px; }.inventory-count-grid strong { font-size:.72rem; }.inventory-count-grid small { color:var(--muted); font-size:.61rem; }
.supplier-directory-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; padding:12px; }.supplier-directory-grid article { display:grid; gap:12px; padding:14px; border:1px solid var(--line); border-radius:7px; background:var(--panel); }.supplier-directory-grid article header { display:grid; grid-template-columns:38px minmax(0,1fr) auto; align-items:center; gap:9px; }.supplier-mark { display:grid; width:38px; height:38px; place-items:center; border-radius:6px; background:linear-gradient(135deg,var(--accent),var(--accent-dark)); color:var(--button-text); font-size:.7rem; font-weight:760; }.supplier-directory-grid h3 { margin:0; font-size:.82rem; }.supplier-directory-grid h3 em { display:inline-flex; margin-left:6px; padding:2px 5px; border-radius:4px; background:color-mix(in srgb,var(--warning) 13%,var(--field)); color:var(--warning); font-size:.53rem; font-style:normal; }.supplier-directory-grid header p { margin:2px 0 0; color:var(--muted); font-size:.62rem; }.supplier-contact-lines { display:grid; gap:4px; }.supplier-contact-lines a { display:flex; align-items:center; gap:6px; overflow:hidden; color:var(--ink); font-size:.64rem; text-decoration:none; text-overflow:ellipsis; white-space:nowrap; }.supplier-contact-lines .ui-icon { width:13px; height:13px; color:var(--accent); }.supplier-directory-grid dl { display:grid; grid-template-columns:1fr 1fr; gap:6px; margin:0; }.supplier-directory-grid dl div { padding:7px; border:1px solid var(--line); border-radius:5px; background:var(--field); }.supplier-directory-grid dt { color:var(--muted); font-size:.56rem; }.supplier-directory-grid dd { margin:2px 0 0; font-size:.68rem; font-weight:700; }.supplier-directory-grid footer { display:flex; gap:6px; }.supplier-directory-grid footer>* { flex:1; }
.purchase-order-directory { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; padding:12px; }.purchase-order-directory article { padding:14px; border:1px solid var(--line); border-radius:7px; background:var(--panel); }.purchase-order-directory header { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }.purchase-order-directory h3 { margin:2px 0; font-size:.9rem; }.purchase-order-directory header p { margin:0; color:var(--muted); font-size:.65rem; }.purchase-status { display:inline-flex; padding:4px 7px; border:1px solid currentColor; border-radius:5px; background:color-mix(in srgb,currentColor 8%,var(--panel)); color:var(--info); font-size:.58rem; font-weight:720; white-space:nowrap; }.purchase-status.is-received { color:var(--success); }.purchase-status.is-cancelled { color:var(--danger); }.purchase-status.is-partially-received { color:var(--warning); }.purchase-order-directory dl,.po-builder-summary dl { display:grid; gap:6px; margin:13px 0; }.purchase-order-directory dl div,.po-builder-summary dl div { display:flex; justify-content:space-between; gap:8px; padding-top:6px; border-top:1px solid var(--line); font-size:.65rem; }.purchase-order-directory dd,.po-builder-summary dd { margin:0; font-weight:700; }.purchase-order-directory footer { display:flex; align-items:center; justify-content:space-between; gap:8px; color:var(--muted); font-size:.62rem; }
.purchase-order-builder,.purchase-order-detail-layout { display:grid; grid-template-columns:minmax(0,1fr) 310px; align-items:start; gap:12px; padding-bottom:90px; }.po-builder-main,.po-receiving-panel { min-width:0; }.po-builder-summary { position:sticky; top:10px; }.po-builder-summary h3 { margin:4px 0 12px; font-size:.92rem; }.po-builder-summary .po-summary-total { padding:9px 0; border-top:2px solid color-mix(in srgb,var(--accent) 45%,var(--line)); font-size:.86rem; }.po-builder-summary>button { width:100%; }.po-item-search { position:relative; margin:15px 0 9px; }.po-item-search .search-results { position:absolute; z-index:30; right:0; left:0; max-height:280px; overflow:auto; }.po-item-search .search-results button { display:flex; width:100%; align-items:center; justify-content:space-between; gap:10px; padding:9px; border:0; border-bottom:1px solid var(--line); border-radius:0; background:var(--panel); color:var(--ink); box-shadow:none; text-align:left; }.po-item-search .search-results button span { display:grid; }.po-item-search .search-results small { color:var(--muted); }.po-line-table { overflow-x:auto; }.po-line-table table { min-width:720px; }.po-line-table td { vertical-align:middle; }.po-line-table td:first-child strong,.po-line-table td:first-child small { display:block; }.po-line-table td:first-child small { color:var(--muted); font-size:.61rem; }.po-line-table input { min-width:78px; }.po-status-form { display:grid; gap:7px; margin-top:14px; }
.health-console-heading>div { display:flex; align-items:center; gap:11px; }.health-console-heading>div:last-child { justify-content:flex-end; }.health-console-heading>div:last-child>span { color:var(--muted); font-size:.67rem; }.health-live-dot { width:11px; height:11px; border-radius:50%; background:var(--success); box-shadow:0 0 0 5px color-mix(in srgb,var(--success) 16%,transparent),0 0 18px var(--success); animation:health-pulse 1.8s infinite; }.health-overview { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-bottom:12px; }.health-overview article { display:grid; gap:4px; padding:14px; border:1px solid var(--line); border-top:3px solid var(--accent); border-radius:7px; background:var(--panel); }.health-overview article.is-warning { border-top-color:var(--warning); }.health-overview article.is-critical { border-top-color:var(--danger); }.health-overview small,.health-overview span { color:var(--muted); font-size:.62rem; }.health-overview strong { font-size:1.05rem; }.health-check-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }.health-check { padding:14px; border:1px solid var(--line); border-left:3px solid var(--success); border-radius:7px; background:var(--panel); }.health-check.is-warning { border-left-color:var(--warning); }.health-check.is-critical { border-left-color:var(--danger); }.health-check header { display:flex; align-items:center; justify-content:space-between; }.health-check-icon { display:grid; width:29px; height:29px; place-items:center; border-radius:6px; background:color-mix(in srgb,var(--accent) 11%,var(--field)); color:var(--accent); font-size:.69rem; font-weight:760; }.health-status-dot { width:8px; height:8px; border-radius:50%; background:var(--success); box-shadow:0 0 10px var(--success); }.health-check.is-warning .health-status-dot { background:var(--warning); box-shadow:0 0 10px var(--warning); }.health-check.is-critical .health-status-dot { background:var(--danger); box-shadow:0 0 10px var(--danger); }.health-check>small { display:block; margin-top:11px; color:var(--muted); font-size:.56rem; text-transform:uppercase; }.health-check h3 { margin:3px 0 8px; font-size:.75rem; }.health-check>strong { font-size:.93rem; }.health-check p { min-height:34px; margin:6px 0 0; color:var(--muted); font-size:.61rem; line-height:1.45; }.health-refresh-note { margin:12px 0 0; color:var(--muted); font-size:.61rem; text-align:right; }
@keyframes health-pulse { 50% { opacity:.55; transform:scale(.88); } }

@media (max-width:1100px) { .inventory-metric-grid,.health-overview { grid-template-columns:repeat(2,minmax(0,1fr)); }.health-check-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }.supplier-directory-grid,.purchase-order-directory,.operations-card-directory { grid-template-columns:repeat(2,minmax(0,1fr)); }.purchase-order-builder,.purchase-order-detail-layout { grid-template-columns:1fr; padding-bottom:0; }.po-builder-summary { position:relative; top:auto; } }
@media (max-width:760px) { .operations-workspace-heading,.operations-form-heading,.health-console-heading { align-items:stretch; flex-direction:column; margin-inline:0; }.operations-workspace-heading .toolbar-actions,.operations-form-heading .toolbar-actions { display:grid; grid-template-columns:1fr; }.inventory-filter-bar { grid-template-columns:1fr 1fr; }.inventory-search { grid-column:1/-1; }.inventory-filter-bar>span { grid-column:1/-1; }.inventory-table-wrap { overflow:visible; }.inventory-control-table,.inventory-control-table tbody { display:block; width:100%; min-width:0; }.inventory-control-table thead { display:none; }.inventory-control-table tbody { display:grid; gap:9px; }.inventory-control-table tr { display:grid; grid-template-columns:1fr 1fr; padding:11px; border:1px solid var(--line); border-top:3px solid var(--accent); border-radius:7px; }.inventory-control-table td { display:grid; gap:3px; padding:7px; border:0; border-top:1px solid var(--line); }.inventory-control-table td::before { content:attr(data-label); color:var(--muted); font-size:.55rem; font-weight:700; text-transform:uppercase; }.inventory-control-table td[data-label="Product"],.inventory-control-table td[data-label="Action"] { grid-column:1/-1; }.inventory-control-table td[data-label="Product"] { border-top:0; }.operations-ledger-list article { grid-template-columns:34px minmax(0,1fr) 80px; }.operations-ledger-list time { grid-column:2/-1; text-align:left; }.supplier-directory-grid,.purchase-order-directory,.operations-card-directory { grid-template-columns:1fr; }.inventory-count-grid { grid-template-columns:1fr; max-height:none; }.health-check-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.po-line-table { max-width:100%; overflow-x:auto; }.health-console-heading>div:last-child { align-items:flex-start; flex-direction:column; } }
@media (max-width:480px) { .inventory-metric-grid,.health-overview,.health-check-grid { grid-template-columns:1fr; }.inventory-filter-bar { grid-template-columns:1fr; }.inventory-search,.inventory-filter-bar>span { grid-column:auto; }.supplier-directory-grid article header { grid-template-columns:38px minmax(0,1fr); }.supplier-directory-grid header>.tag { grid-column:2; justify-self:start; }.inventory-count-grid label { grid-template-columns:1fr; }.operations-ledger-list article { grid-template-columns:32px minmax(0,1fr); }.operations-ledger-list article>span:nth-child(3),.operations-ledger-list time { grid-column:2; text-align:left; } }

@media screen and (max-width:760px) {
    .operations-command-header,.marketing-command-header { align-items:stretch; flex-direction:column; padding:14px; }
    .operations-command-actions { justify-content:stretch; }
    .operations-command-actions a { flex:1 1 130px; }
    .operations-status-strip,.operations-control-grid,.marketing-workspace-grid { grid-template-columns:1fr; }
    .operations-status-strip { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .operations-control-card { padding:12px; }
    .operations-control-card footer { grid-template-columns:1fr; }
    .user-filter-bar { grid-template-columns:1fr 1fr; padding:10px; }
    .user-filter-bar > div:first-child { grid-column:1/-1; }
    .users-table tbody tr { grid-template-columns:repeat(2,minmax(0,1fr)); padding:10px; border-top:4px solid var(--accent); border-left-width:1px; }
    .users-table td { padding:7px; border-top:1px solid var(--line); border-left:0; }
    .users-table td[data-label="User"],.users-table td[data-label="Contact"],.users-table .user-actions-cell { grid-column:1/-1; grid-row:auto; }
    .users-table td[data-label="User"] { border-top:0; }
    .user-row-actions > div { position:static; width:100%; margin-top:5px; box-shadow:none; }
    .reports-heading { align-items:flex-start; }
    .reports-heading-actions { min-width:150px; }
    .report-type-tabs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
    .report-type-tabs a { min-width:0; }
    .report-period-panel,.report-custom-range { display:grid; grid-template-columns:1fr 1fr; }
    .report-period-presets { grid-column:1/-1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
    .report-custom-range button { grid-column:1/-1; }
    .report-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .report-kpis .stat { min-height:88px; }
    .report-table-wrap table,.report-table-wrap tbody { display:block; width:100%; min-width:0; }
    .report-table-wrap thead { display:none; }
    .report-table-wrap tbody { display:grid; gap:8px; }
    .report-table-wrap tbody tr { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); padding:9px; border:1px solid var(--line); border-top:4px solid var(--accent); border-radius:7px; background:var(--panel); }
    .report-table-wrap tbody td { display:grid; gap:2px; min-width:0; padding:7px; border:0; border-top:1px solid var(--line); font-size:.7rem; overflow-wrap:anywhere; }
    .report-table-wrap tbody td::before { content:attr(data-label); color:var(--muted); font-size:.52rem; font-weight:800; text-transform:uppercase; }
    .report-table-wrap tbody td:first-child { grid-column:1/-1; border-top:0; }
    .report-table-wrap td[colspan] { grid-column:1/-1; }
    .marketing-core-fields,.marketing-message-fields,.marketing-preset-picker { grid-template-columns:1fr; }
    .marketing-preset-picker > span,.marketing-message-fields .full { grid-column:1; }
    .marketing-compose-main { padding:11px; }
    .marketing-message-fields textarea { min-height:250px; }
}

* { box-sizing: border-box; }

[hidden] {
    display: none !important;
}

body {
    margin: 0;
    background: var(--bg);
    color: var(--ink);
    font-family: var(--font-family);
    font-size: var(--base-font-size);
}

.top-shortcut-bar {
    position: relative;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    min-height: 58px;
    padding: 8px 22px;
    border-bottom: 1px solid color-mix(in srgb, var(--line) 82%, var(--accent) 18%);
    background: linear-gradient(90deg, color-mix(in srgb, var(--panel) 96%, #3b82f6 4%), color-mix(in srgb, var(--panel) 96%, #8b5cf6 4%));
    color: var(--ink);
    overflow: visible;
}
.top-shortcut-list { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 2px; min-width: 0; max-width: min(980px, calc(100% - 300px)); padding: 4px; overflow: visible; border: 1px solid color-mix(in srgb, var(--line) 84%, var(--accent) 16%); border-radius: 8px; background: color-mix(in srgb, var(--field) 72%, transparent); box-shadow: 0 5px 18px rgba(15, 23, 42, .08); scrollbar-width: none; }
.top-shortcut-list::-webkit-scrollbar { display: none; }
.top-shortcut-group, .top-user-menu { position: relative; }
.top-shortcut-link, .top-logout-link, .top-user-profile {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    flex: 0 0 auto;
    min-height: 36px;
    padding: 7px 9px;
    border: 1px solid transparent;
    border-radius: 6px;
    color: var(--muted);
    font-size: .78rem;
    font-weight: 800;
    text-decoration: none;
}
.top-shortcut-link:hover, .top-logout-link:hover { border-color: color-mix(in srgb, var(--accent) 22%, var(--line)); background: var(--panel); color: var(--ink); box-shadow: 0 3px 10px rgba(15, 23, 42, .08); }
.top-shortcut-link.is-active { border-color: color-mix(in srgb, var(--accent) 34%, var(--line)); background: color-mix(in srgb, var(--accent) 10%, var(--panel)); color: var(--ink); }
.top-shortcut-link > span + .ui-icon, .top-user-profile > .ui-icon { width: 13px; height: 13px; margin-left: 2px; }
.top-shortcut-dropdown, .top-user-dropdown { position: absolute; top: calc(100% + 9px); right: 0; z-index: 1100; display: none; min-width: 190px; padding: 7px; border: 1px solid color-mix(in srgb, var(--accent) 18%, var(--line)); border-radius: 8px; background: color-mix(in srgb, var(--panel) 97%, var(--accent) 3%); box-shadow: 0 18px 44px rgba(15, 23, 42, .2); }
.top-shortcut-dropdown a, .top-user-dropdown a { display: flex; align-items: center; gap: 8px; padding: 9px 10px; border-radius: var(--radius-control); color: var(--ink); font-size: .78rem; font-weight: 800; text-decoration: none; white-space: nowrap; }
.top-shortcut-dropdown a:hover, .top-user-dropdown a:hover { background: color-mix(in srgb, var(--accent) 14%, var(--field)); color: var(--ink); }
.top-shortcut-group:hover .top-shortcut-dropdown, .top-shortcut-group:focus-within .top-shortcut-dropdown, .top-user-menu.is-open .top-user-dropdown { display: grid; gap: 2px; }
.top-shortcut-link > .ui-icon:first-child { width: 16px; height: 16px; }
.top-shortcut-mobile-toggle { display: none; }
.top-shortcut-collapse-toggle { position: absolute; left: 16px; display: inline-flex; align-items: center; gap: 6px; min-height: 34px; padding: 6px 8px; border: 1px solid color-mix(in srgb, var(--accent) 24%, var(--line)); border-radius: 6px; background: var(--field); color: var(--ink); box-shadow: none; }
.top-shortcut-collapse-toggle .ui-icon { width: 15px; height: 15px; transition: transform .18s ease; }
.top-shortcut-collapse-toggle span { display: none; font-size: .72rem; }
body.top-shortcuts-collapsed .top-shortcut-bar { min-height: 46px; justify-content: flex-start; }
body.top-shortcuts-collapsed .top-shortcut-list { display: none; }
body.top-shortcuts-collapsed .top-shortcut-collapse-toggle { position: static; }
body.top-shortcuts-collapsed .top-shortcut-collapse-toggle span { display: inline; }
body.modal-open .top-shortcut-bar { display: none !important; }
.top-user-area { position: absolute; right: 22px; display: flex; align-items: center; gap: 7px; flex: 0 0 auto; }
.top-user-profile { border: 1px solid color-mix(in srgb, var(--line) 82%, var(--accent) 18%); background: color-mix(in srgb, var(--field) 88%, transparent); color: var(--ink); text-decoration: none; box-shadow: none; }
.top-user-profile:hover { border-color: color-mix(in srgb, var(--accent) 32%, var(--line)); background: var(--field); box-shadow: 0 4px 14px rgba(15, 23, 42, .1); }
.top-user-avatar { display: grid; width: 27px; height: 27px; flex: 0 0 27px; place-items: center; border-radius: 50%; background: linear-gradient(135deg, #06b6d4, #6366f1); color: #fff; font-size: .72rem; font-weight: 900; }
.top-user-name { display: grid; gap: 1px; color: var(--ink); font-size: .78rem; font-weight: 800; text-align: right; }
.top-user-name small { color: var(--muted); font-size: .68rem; font-weight: 700; }
.top-logout-link { border-left-color: var(--line); border-radius: 0; }

.login-page {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 24px;
    background-image: radial-gradient(circle at 20% 10%, color-mix(in srgb, var(--accent) 20%, transparent), transparent 32%), radial-gradient(circle at 90% 85%, color-mix(in srgb, var(--accent-dark) 18%, transparent), transparent 34%), var(--theme-image);
    background-color: var(--bg);
    background-size: auto, auto, cover;
    background-attachment: scroll, scroll, fixed;
}
.login-shell { width: min(440px, 100%); }
.login-card { display: grid; gap: 22px; padding: 30px; border: 1px solid color-mix(in srgb, var(--accent) 32%, var(--line)); border-radius: calc(var(--radius-panel) + 5px); background: color-mix(in srgb, var(--panel) 92%, transparent); box-shadow: var(--shadow), 0 0 60px color-mix(in srgb, var(--accent) 10%, transparent); backdrop-filter: blur(18px); }
.login-brand { display: flex; align-items: center; gap: 11px; }
.login-brand > span { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; color: var(--button-text); background: linear-gradient(135deg, var(--accent), var(--accent-dark)); }
.login-brand > span .ui-icon { width: 23px; height: 23px; }
.login-brand strong, .login-brand small { display: block; }
.login-brand strong { font-size: 1.05rem; }
.login-brand small { margin-top: 2px; color: var(--muted); font-size: .76rem; }
.login-heading { display: grid; gap: 7px; }
.login-heading h1 { margin: 0; font-size: 2rem; }
.login-heading p { margin: 0; line-height: 1.6; }
.login-form { display: grid; gap: 9px; }
.login-form label { margin-top: 5px; color: var(--muted); font-size: .78rem; font-weight: 800; }
.login-form button { margin-top: 8px; justify-content: center; }
.login-error { margin: 0; }
.login-note { margin: 0; color: var(--muted); font-size: .76rem; line-height: 1.6; }
.login-note strong { color: var(--ink); }
.auth-recovery-shell { display: grid; gap: 15px; }
.login-help-link { display: inline-flex; align-items: center; justify-content: center; gap: 7px; color: var(--accent-dark); font-size: .8rem; font-weight: 800; text-decoration: none; }
.login-help-link:hover { color: var(--accent); text-decoration: underline; }
.login-help-link .ui-icon { width: 15px; height: 15px; }
.login-recovery-notice { margin: 0; border-color: color-mix(in srgb, #16a34a 45%, var(--line)); background: color-mix(in srgb, #16a34a 10%, var(--panel)); }
.auth-primary-link { justify-content: center; }
.app-powered-footer { width: 100%; margin-top: 28px; padding: 16px 12px 20px; border-top: 1px solid color-mix(in srgb, var(--line) 80%, transparent); color: var(--muted); font-size: .75rem; text-align: center; }
.app-powered-footer strong { color: var(--ink); font-weight: 850; }
.login-powered-footer { margin-top: 0; padding: 3px 12px; border-top: 0; }

@media print {
    .app-powered-footer { display: none !important; }
}

/* 1.19 workflow and POS workspace alignment */
.repair-workflow-status-row {
    grid-template-columns:minmax(0,1fr) minmax(190px,.42fr)!important;
    align-items:stretch!important;
}
.repair-workflow-status-row > form {
    grid-template-columns:minmax(180px,240px) minmax(220px,1fr) auto!important;
    align-items:end!important;
}
.workflow-status-select {
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:5px!important;
    min-width:0;
}
.workflow-status-select > span {
    color:var(--muted);
    font-size:.68rem;
    font-weight:750;
}
.workflow-status-select select { width:100%; }
.repair-workflow-notification {
    display:grid!important;
    align-content:center;
    min-height:54px;
    padding:8px 12px!important;
    border:1px solid var(--line)!important;
    border-left:3px solid var(--accent)!important;
    background:var(--field)!important;
}
.workflow-repair-editor-frame-card {
    display:grid;
    grid-template-rows:auto auto;
    min-height:0;
    overflow:visible;
    border:1px solid var(--line);
    background:var(--panel);
}
.workflow-repair-editor-frame-card > iframe {
    width:100%;
    height:1100px;
    min-height:760px;
    overflow:hidden;
    border:0;
    background:var(--background);
}
body.module-register .pos-date-search-row {
    grid-template-columns:minmax(0,1fr) auto!important;
    width:100%!important;
}
body.module-register .pos-transaction-search,
body.module-register .transaction-product-search-tools,
body.module-register .pos-search-scan-wrap {
    width:100%!important;
    min-width:0!important;
}
body.module-register .pos-search-scan-wrap {
    grid-template-columns:minmax(0,1fr) auto!important;
}
body.module-register .cart-product-thumb {
    width:64px!important;
    height:64px!important;
    min-width:64px!important;
}
body.module-register .cart-product-thumb img {
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
}
body.module-register .cart-product-copy > strong {
    font-size:1rem!important;
    line-height:1.3!important;
}
@media(max-width:900px) {
    .repair-workflow-status-row { grid-template-columns:1fr!important; }
    .repair-workflow-status-row > form { grid-template-columns:minmax(0,1fr) auto!important; }
    .workflow-status-select { grid-column:1/-1!important; }
    .workflow-notify-customer { grid-column:1!important; }
}
@media(max-width:760px) {
    .repair-workflow-status-row > form { grid-template-columns:1fr!important; }
    .workflow-status-select,
    .workflow-notify-customer,
    .repair-workflow-status-row > form > button { grid-column:1!important; width:100%!important; }
    .workflow-repair-editor-frame-card { grid-template-rows:auto auto; min-height:0; }
    .workflow-repair-editor-frame-card > iframe { min-height:900px; }
    body.module-register .cart-product-thumb {
        width:72px!important;
        height:72px!important;
        min-width:72px!important;
    }
    body.module-register .cart-product-copy > strong { font-size:1.05rem!important; }
}

/* Final cascade guards for the 1.19 release */
.repair-workflow-status-row > form {
    grid-template-columns:minmax(190px,240px) auto minmax(220px,1fr)!important;
    align-items:end!important;
}
.repair-workflow-status-row > form > button {
    min-height:46px!important;
    width:auto!important;
    white-space:nowrap!important;
}
body.module-register .pos-date-search-row {
    width:100%!important;
    max-width:none!important;
    justify-self:stretch!important;
    grid-template-columns:minmax(0,1fr) auto!important;
}
.receipt-a4 .receipt-paper {
    width:min(210mm,100%)!important;
    min-height:297mm!important;
    margin-inline:auto!important;
    border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line))!important;
    box-shadow:0 22px 58px color-mix(in srgb,var(--ink) 14%,transparent)!important;
}
@media(max-width:760px) {
    .repair-workflow-status-row > form { grid-template-columns:1fr!important; }
    .repair-workflow-status-row > form > * { grid-column:1!important;width:100%!important; }
    .receipt-a4 .receipt-paper { min-height:calc(100dvh - 24px)!important; }
}
@media print {
    .receipt-a4 .receipt-paper {
        width:auto!important;
        min-height:0!important;
        border:0!important;
        box-shadow:none!important;
    }
}

/* Brand logo discovery and final 1.19 workspace alignment */
.brand-logo-suggester {
    display:grid;
    gap:10px;
    padding:12px;
    border:1px solid var(--line);
    border-left:3px solid var(--accent);
    background:var(--field);
}
.brand-logo-suggester > div:first-of-type {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
}
.brand-logo-suggester > div:first-of-type > span {
    display:grid;
    gap:2px;
}
.brand-logo-suggester small { color:var(--muted); }
.brand-logo-candidates {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(110px,1fr));
    gap:8px;
}
.brand-logo-candidate {
    display:grid!important;
    grid-template-columns:42px minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    gap:2px 8px!important;
    min-width:0!important;
    min-height:64px!important;
    padding:8px!important;
    border:1px solid var(--line)!important;
    background:var(--panel)!important;
    color:var(--ink)!important;
    box-shadow:none!important;
    text-align:left!important;
}
.brand-logo-candidate > span {
    grid-row:1/3;
    display:grid;
    width:42px;
    height:42px;
    place-items:center;
    overflow:hidden;
    border:1px solid var(--line);
    background:#fff;
}
.brand-logo-candidate img { width:32px;height:32px;object-fit:contain; }
.brand-logo-candidate strong,.brand-logo-candidate small { min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.brand-logo-candidate.is-selected {
    border-color:var(--accent)!important;
    box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent) 28%,transparent)!important;
}
.brand-logo-more {
    grid-column:1 / -1;
    justify-self:center;
    min-width:150px;
}
.brand-logo-suggester.is-compact { padding:8px; }
.brand-logo-suggester.is-compact > button { width:100%; }
.repair-brand-logo {
    grid-row:1/3;
    display:grid;
    width:34px;
    height:34px;
    place-items:center;
    overflow:hidden;
    border:1px solid var(--line);
    background:#fff;
}
.repair-brand-logo img { width:28px;height:28px;object-fit:contain; }
.repair-catalog-row > span:has(.repair-brand-logo) { grid-template-columns:34px minmax(0,1fr)!important; }
.repair-workflow-status-row > form {
    grid-template-columns:minmax(190px,240px) auto minmax(220px,1fr)!important;
}
.repair-workflow-status-row > form > button {
    align-self:end!important;
    min-height:46px!important;
    white-space:nowrap!important;
}
body.module-register .pos-date-search-row {
    justify-self:stretch!important;
    max-width:none!important;
}
body.module-register .pos-transaction-details-section {
    align-items:stretch!important;
}
.receipt-a4 .receipt-paper {
    width:min(210mm,100%)!important;
    min-height:297mm!important;
    margin-inline:auto;
    border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line));
    box-shadow:0 22px 58px color-mix(in srgb,var(--ink) 14%,transparent);
}
@media(max-width:760px) {
    .brand-logo-suggester > div:first-of-type { align-items:stretch;flex-direction:column; }
    .brand-logo-suggester > div:first-of-type button { width:100%; }
    .brand-logo-candidates { grid-template-columns:1fr 1fr; }
    .repair-workflow-status-row > form { grid-template-columns:1fr!important; }
    .repair-workflow-status-row > form > * { grid-column:1!important;width:100%!important; }
    .receipt-a4 .receipt-paper { min-height:calc(100dvh - 24px)!important; }
}
@media print {
    .receipt-a4 .receipt-paper {
        width:auto!important;
        min-height:0!important;
        border:0!important;
        box-shadow:none!important;
    }
}
.tv-native-content-fields {
    padding:14px;
    border:1px solid var(--line);
    background:var(--field);
}
.tv-product-selector {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
    gap:8px;
    max-height:360px;
    overflow:auto;
}
.tv-product-selector > label { margin:0!important; cursor:pointer; }
.tv-product-selector > label > input { position:absolute; opacity:0; pointer-events:none; }
.tv-product-selector > label > span {
    display:grid;
    grid-template-columns:46px minmax(0,1fr);
    gap:2px 9px;
    min-height:64px;
    padding:8px;
    border:1px solid var(--line);
    background:var(--panel);
}
.tv-product-selector img { grid-row:1/3; width:46px; height:46px; object-fit:cover; }
.tv-product-selector small { color:var(--muted); }
.tv-product-selector input:checked + span {
    border-color:var(--accent);
    box-shadow:inset 3px 0 0 var(--accent);
}
.user-directory-summary,
.hr-kpi-grid,
.employee-metric-grid {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
    margin:12px 0;
}
.user-directory-summary article,
.hr-kpi-grid a,
.employee-metric-grid article {
    display:grid;
    grid-template-columns:38px minmax(0,1fr);
    gap:9px;
    align-items:center;
    min-height:82px;
    padding:12px;
    border:1px solid var(--line);
    border-top:3px solid var(--accent);
    background:var(--panel);
    color:var(--ink);
    text-decoration:none;
}
.user-directory-summary article > span,
.hr-kpi-grid a > span,
.employee-metric-grid article > span {
    display:grid;
    width:36px;
    height:36px;
    place-items:center;
    border:1px solid color-mix(in srgb,var(--accent) 45%,var(--line));
    color:var(--accent);
    background:color-mix(in srgb,var(--accent) 8%,var(--panel));
}
.user-directory-summary small,
.hr-kpi-grid small,
.employee-metric-grid small { display:block;color:var(--muted);font-size:.68rem;text-transform:uppercase; }
.user-directory-summary strong,
.hr-kpi-grid strong,
.employee-metric-grid strong { display:block;margin-top:2px;font-size:1.15rem; }
.user-card-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:12px;margin-top:14px; }
.user-directory-card { display:grid;gap:12px;padding:14px;border:1px solid var(--line);border-top:3px solid var(--accent);background:var(--panel); }
.user-directory-card > header { display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:10px;align-items:center; }
.user-directory-card .user-list-avatar { width:54px;height:54px; }
.user-directory-card header a { color:var(--ink);text-decoration:none;font-size:1rem; }
.user-directory-card header small { display:block;color:var(--muted); }
.user-directory-role { display:flex;align-items:center;gap:7px;color:var(--accent);font-size:.78rem; }
.user-directory-contact { display:grid;gap:5px;min-height:43px; }
.user-directory-contact a { display:flex;align-items:center;gap:7px;color:var(--muted);font-size:.78rem;text-decoration:none;overflow-wrap:anywhere; }
.user-directory-metrics { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid var(--line); }
.user-directory-metrics span { padding:9px;border-right:1px solid var(--line); }
.user-directory-metrics span:last-child { border-right:0; }
.user-directory-metrics small { display:block;color:var(--muted);font-size:.62rem;text-transform:uppercase; }
.user-directory-metrics strong { font-size:.86rem; }
.user-directory-card > footer { display:flex;justify-content:space-between;align-items:center;gap:10px; }
.user-directory-card > footer > span { display:flex;align-items:center;gap:6px;color:var(--muted);font-size:.72rem; }
.employee-profile-hero { display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,.44fr);gap:18px;padding:20px;border:1px solid var(--line);border-top:5px solid var(--accent);background:linear-gradient(120deg,color-mix(in srgb,var(--accent) 9%,var(--panel)),var(--panel) 52%); }
.employee-profile-identity { display:grid;grid-template-columns:96px minmax(0,1fr);gap:16px;align-items:center; }
.employee-profile-avatar { display:grid;width:96px;height:96px;place-items:center;overflow:hidden;border:2px solid var(--accent);background:var(--field);color:var(--accent); }
.employee-profile-avatar img { width:100%;height:100%;object-fit:cover; }
.employee-profile-identity h2 { margin:3px 0;font-size:1.65rem; }
.employee-profile-identity p { margin:0 0 9px;color:var(--muted); }
.employee-profile-contact { display:grid;align-content:center;gap:8px;padding-left:18px;border-left:1px solid var(--line); }
.employee-profile-contact a,.employee-profile-contact span { display:flex;align-items:center;gap:8px;color:var(--muted);text-decoration:none;overflow-wrap:anywhere; }
.employee-profile-tabs { margin:12px 0!important; }
.employee-metric-grid article { grid-template-columns:38px minmax(0,1fr); }
.employee-metric-grid article > small,.employee-metric-grid article > strong,.employee-metric-grid article > em { grid-column:2; }
.employee-metric-grid article > span { grid-row:1/4; }
.employee-metric-grid em { color:var(--muted);font-size:.68rem;font-style:normal; }
.employee-profile-grid,.hr-dashboard-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px; }
.employee-today-schedule { display:flex;align-items:center;gap:12px;padding:16px;border-left:4px solid var(--accent);background:var(--field); }
.employee-today-schedule strong,.employee-today-schedule span { display:block; }
.employee-today-schedule span { color:var(--muted); }
.employee-repair-list,.hr-employee-list,.hr-alert-list,.hr-ranking-list { display:grid;gap:7px; }
.employee-repair-list a { display:grid;grid-template-columns:auto minmax(0,1fr);gap:3px 8px;padding:9px;border:1px solid var(--line);color:var(--ink);text-decoration:none; }
.employee-repair-list a small { grid-column:2;color:var(--muted); }
.employee-hidden-profile-fields,.employee-hidden-schedule-fields { position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important; }
.hr-dashboard-grid > .panel { margin:0; }
.hr-employee-list a,.hr-alert-list a,.hr-ranking-list a { display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px;border:1px solid var(--line);color:var(--ink);text-decoration:none; }
.hr-employee-list a small,.hr-alert-list a small,.hr-ranking-list a small { display:block;color:var(--muted); }
.hr-employee-list em,.hr-ranking-list em { color:var(--accent);font-style:normal;font-weight:750; }
.hr-ranking-list b { display:grid;width:28px;height:28px;place-items:center;background:var(--accent);color:var(--button-text); }
.hr-alert-list > a > .ui-icon { color:#dc2626; }
.module-access-matrix { min-width:800px; }
.module-access-matrix th:first-child { position:sticky;left:0;z-index:2;background:var(--field); }
.module-access-matrix td { text-align:center; }
.module-access-toggle { display:inline-grid!important;margin:0!important;cursor:pointer; }
.module-access-toggle input { position:absolute;opacity:0; }
.module-access-toggle span { min-width:64px;padding:6px 9px;border:1px solid var(--line);background:var(--field);color:var(--muted);font-size:.68rem; }
.module-access-toggle input:checked + span { border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--panel));color:var(--accent);font-weight:750; }
@media(max-width:900px) {
    .user-directory-summary,.hr-kpi-grid,.employee-metric-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .employee-profile-hero,.employee-profile-grid,.hr-dashboard-grid { grid-template-columns:1fr; }
    .employee-profile-contact { padding:12px 0 0;border-left:0;border-top:1px solid var(--line); }
}
@media(max-width:600px) {
    .user-card-grid { grid-template-columns:1fr; }
    .user-directory-summary,.hr-kpi-grid,.employee-metric-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:7px; }
    .user-directory-summary article,.hr-kpi-grid a,.employee-metric-grid article { grid-template-columns:30px minmax(0,1fr);min-height:70px;padding:9px; }
    .user-directory-summary article > span,.hr-kpi-grid a > span,.employee-metric-grid article > span { width:30px;height:30px; }
    .employee-profile-identity { grid-template-columns:72px minmax(0,1fr); }
    .employee-profile-avatar { width:72px;height:72px; }
    .employee-profile-identity h2 { font-size:1.25rem; }
    .user-directory-card > header { grid-template-columns:48px minmax(0,1fr); }
    .user-directory-card > header > .tag { grid-column:2;width:max-content; }
    .user-directory-metrics strong { font-size:.76rem; }
}
.destructive-activity-review { display:grid;grid-template-columns:minmax(260px,.65fr) minmax(320px,1fr) auto;gap:14px;align-items:center;border-left:5px solid #dc2626!important; }
.destructive-activity-review > div:first-child { display:grid;grid-template-columns:44px minmax(0,1fr);gap:10px;align-items:center; }
.destructive-review-icon { display:grid;width:42px;height:42px;place-items:center;background:#dc2626;color:#fff; }
.destructive-activity-review h3,.destructive-activity-review p { margin:2px 0; }
.destructive-activity-review p { color:var(--muted);font-size:.75rem; }
.destructive-activity-items { display:grid;gap:4px; }
.destructive-activity-items a { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;padding:7px 9px;border:1px solid var(--line);color:var(--ink);text-decoration:none; }
.destructive-activity-items small { color:var(--muted); }
.destructive-activity-items time { grid-row:1/3;grid-column:2;align-self:center;color:var(--muted);font-size:.68rem; }
@media(max-width:1050px) { .destructive-activity-review { grid-template-columns:1fr; } }

.quick-product-modal { position: fixed; inset: 0; z-index: 10020; place-items: center; padding: 18px; background: rgba(15, 23, 42, .76); }
.quick-product-card { width: min(760px, 100%); max-height: min(90vh, 820px); overflow: auto; background: var(--panel); }
.quick-product-message { min-height: 20px; margin: 0; color: var(--accent); font-weight: 700; }
.transaction-product-search-tools { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: center; }
.transaction-product-search-tools > button { min-height: 44px; white-space: nowrap; }
.repair-device-card { grid-column: 1 / -1; padding: 16px; border: 1px solid color-mix(in srgb, var(--accent) 35%, var(--line)); border-left: 4px solid var(--accent); border-radius: var(--radius-panel); background: color-mix(in srgb, var(--panel) 88%, var(--accent) 12%); }
.repair-device-card-heading { display: flex; align-items: center; gap: 10px; margin-bottom: 13px; }
.repair-device-card-heading h3, .repair-device-card-heading p { margin: 0; }
.repair-device-fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.repair-device-fields select { border-color: color-mix(in srgb, var(--accent) 38%, var(--line)); background: var(--field); font-weight: 700; }
.repair-model-control { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
.repair-model-control button { min-width: 44px; padding-inline: 10px; }
.repair-model-modal { position: fixed; inset: 0; z-index: 10030; place-items: center; padding: 18px; background: rgba(15, 23, 42, .76); }
@media (max-width: 760px) { .transaction-product-search-tools, .repair-device-fields { grid-template-columns: 1fr; } .transaction-product-search-tools > button { width: 100%; } }

.user-settings-grid { display: grid; grid-template-columns: minmax(230px, .55fr) minmax(0, 1.45fr); gap: 18px; align-items: start; }
.user-add-form, .user-list-panel { display: grid; gap: 10px; padding: 18px; }
.user-add-form h3, .user-list-panel h3 { margin-bottom: 0; }
.user-add-form button { margin-top: 4px; }
.user-editor-list, .user-role-editor-list { display: grid; gap: 10px; margin-bottom: 12px; }
.user-editor-row { display: grid; grid-template-columns: 1fr 1fr 1fr 1.2fr 1fr auto; gap: 9px; align-items: end; padding: 12px; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--field); }
.user-editor-row > div, .user-role-heading { display: grid; gap: 5px; min-width: 0; }
.user-editor-row label, .user-role-heading label { color: var(--muted); font-size: .72rem; font-weight: 800; }
.user-editor-row .checkbox-row { margin: 0 0 9px; white-space: nowrap; }
.user-editor-row > .button-link { align-self: end; white-space: nowrap; }
.user-role-editor-row { display: grid; gap: 12px; padding: 14px; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--field); }
.user-role-heading { grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); }
.user-role-permissions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px 14px; }
.user-role-permissions .checkbox-row { margin: 0; font-size: .78rem; }
.top-menu-settings-form { display: grid; gap: 18px; padding: 18px; }
.top-menu-enabled-control { width: min(280px, 100%); }
.top-menu-editor-list { display: grid; gap: 9px; }
.top-menu-editor-row { display: grid; grid-template-columns: auto minmax(150px, 1fr) minmax(160px, 1fr) minmax(120px, .7fr) auto; gap: 10px; align-items: end; padding: 11px 12px; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--field); }
.top-menu-editor-row > div { display: grid; gap: 5px; min-width: 0; }
.top-menu-editor-row label { color: var(--muted); font-size: .72rem; font-weight: 800; }
.top-menu-editor-row .checkbox-row { margin: 0 0 9px; white-space: nowrap; }
.top-menu-editor-row .menu-child-list, .top-menu-editor-row .menu-add-child { grid-column: 2 / -1; }
.drag-menu-list { display: grid; gap: 9px; }
.drag-menu-row { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 12px 14px; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--field); }
.drag-menu-row.is-dragging, .top-menu-editor-row.is-dragging { opacity: .45; border-color: var(--accent); }
.drag-handle { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 8px; color: var(--accent); background: color-mix(in srgb, var(--accent) 14%, var(--panel)); cursor: grab; user-select: none; }
.drag-handle:active { cursor: grabbing; }
.drag-handle:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.drag-menu-row strong, .drag-menu-row small { display: block; }
.drag-menu-row small { margin-top: 3px; color: var(--muted); font-size: .75rem; }
.drag-status { color: var(--muted); font-size: .75rem; font-weight: 800; }
.menu-editor-row { align-items: start; }
.menu-editor-content { display: grid; gap: 10px; min-width: 0; }
.menu-editor-main-fields { display: grid; grid-template-columns: repeat(3, minmax(150px, 1fr)); gap: 10px; }
.menu-editor-main-fields > div { display: grid; gap: 5px; }
.menu-editor-main-fields label { color: var(--muted); font-size: .72rem; font-weight: 800; }
.menu-submenu-editor { border: 1px solid var(--line); border-radius: var(--radius-control); background: color-mix(in srgb, var(--field) 74%, var(--panel)); overflow: hidden; }
.menu-submenu-editor > summary { min-height: 42px; display: flex; align-items: center; gap: 9px; padding: 8px 11px; color: var(--text); cursor: pointer; list-style: none; font-weight: 700; }
.menu-submenu-editor > summary::-webkit-details-marker { display: none; }
.menu-submenu-editor > summary svg { width: 17px; height: 17px; color: var(--accent); }
.menu-submenu-editor > summary strong { margin-left: auto; min-width: 25px; padding: 2px 7px; border-radius: 999px; background: var(--panel); border: 1px solid var(--line); text-align: center; font-size: .74rem; }
.menu-submenu-editor[open] > summary { border-bottom: 1px solid var(--line); background: color-mix(in srgb, var(--accent) 8%, var(--panel)); }
.menu-submenu-editor > .menu-child-list, .menu-submenu-editor > .menu-add-child, .menu-submenu-editor > .menu-parent-dropzone { margin: 10px; }
.menu-submenu-editor > .menu-child-list { margin-bottom: 0; }
.menu-editor-row { border-left: 3px solid color-mix(in srgb, var(--accent) 58%, var(--line)); box-shadow: 0 5px 16px rgba(15, 23, 42, .06); }

.settings-section-narrow { width: min(720px, 100%); display: grid; gap: 14px; }
.cash-denomination-settings { display: grid; gap: 8px; }
.cash-denomination-row { display: grid; grid-template-columns: minmax(130px, 1fr) minmax(120px, .65fr) auto; gap: 10px; align-items: end; padding: 8px; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--field); }
.cash-denomination-remove { min-height: 42px; margin: 0; color: var(--danger); }
.product-required-fields-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.is-required-product-field > label::after { content: " Required"; color: var(--danger); font-size: .7rem; font-weight: 700; }
.repair-workflow-behavior-grid { margin-top: 14px; }
.repair-workflow-shell.is-compact-queue .repair-workflow-ticket-card { padding: 8px 10px; gap: 4px; }
.repair-workflow-shell.workflow-parts-disabled .repair-workflow-detail-grid > .repair-workflow-section:nth-child(2) { display: none; }

.extensions-page { display: grid; gap: 16px; }
.extension-hero { display: flex; justify-content: space-between; align-items: center; gap: 18px; padding: 20px; border: 1px solid var(--line); border-radius: var(--radius-panel); background: linear-gradient(120deg, color-mix(in srgb, var(--accent) 13%, var(--panel)), var(--panel)); }
.extension-hero h2 { margin: 3px 0 5px; }
.extension-hero-mark { width: 58px; height: 58px; display: grid; place-items: center; border-radius: 12px; color: var(--button-text); background: var(--button-background); box-shadow: var(--button-shadow); }
.extension-hero-mark svg { width: 28px; height: 28px; }
.extension-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.extension-stats > div { padding: 13px; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--panel); }
.extension-stats span { display: block; color: var(--muted); font-size: .76rem; }
.extension-stats strong { font-size: 1.35rem; }
.extension-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.extension-search { width: min(420px, 100%); }
.extension-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.extension-card { display: grid; gap: 12px; padding: 16px; border: 1px solid var(--line); border-radius: var(--radius-panel); background: var(--panel); }
.extension-card-head, .extension-card-actions { display: flex; align-items: center; gap: 10px; }
.extension-card-head > div { min-width: 0; flex: 1; }
.extension-card-head h3 { margin: 0; }
.extension-card-icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 9px; background: color-mix(in srgb, var(--accent) 12%, var(--field)); color: var(--accent); }
.extension-card-actions { flex-wrap: wrap; }
.extension-installer { display: grid; gap: 14px; }
.extension-upload-field { display: grid; gap: 8px; padding: 18px; border: 1px dashed color-mix(in srgb, var(--accent) 55%, var(--line)); border-radius: var(--radius-control); background: var(--field); }
@media (max-width: 760px) { .product-required-fields-grid, .extension-grid, .extension-stats { grid-template-columns: 1fr; } .cash-denomination-row { grid-template-columns: 1fr 1fr; } .cash-denomination-remove { grid-column: 1 / -1; } .extension-hero, .extension-toolbar { align-items: stretch; flex-direction: column; } }

.extensions-hero { display: flex; justify-content: space-between; align-items: center; gap: 22px; padding: 22px; margin-bottom: 14px; border: 1px solid var(--line); border-radius: var(--radius-panel); background: linear-gradient(125deg, color-mix(in srgb, var(--accent) 14%, var(--panel)), var(--panel)); }
.extensions-hero-copy { max-width: 720px; }
.extensions-hero-copy h2 { margin: 3px 0 5px; }
.extensions-hero-copy p { margin: 0; color: var(--muted); }
.extensions-stats { display: grid; grid-template-columns: repeat(3, minmax(95px, 1fr)); gap: 8px; }
.extensions-stats article { display: flex; align-items: center; gap: 9px; padding: 10px; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--panel); }
.extensions-stats article > span { color: var(--accent); }
.extensions-stats article > span svg { width: 20px; height: 20px; }
.extensions-stats article strong, .extensions-stats article small { display: block; }
.extensions-stats article small { color: var(--muted); white-space: nowrap; }
.extensions-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 360px); gap: 14px; align-items: start; }
.extension-library-panel, .extension-upload-card, .extension-safety-card { padding: 16px; }
.extension-filter { width: min(300px, 100%); display: flex; align-items: center; gap: 8px; }
.extension-filter input { min-width: 0; }
.extension-card-list, .extensions-installer-panel { display: grid; gap: 10px; }
.extension-management-card { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 13px; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--field); }
.extension-management-icon, .extension-upload-icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 9px; background: color-mix(in srgb, var(--accent) 13%, var(--panel)); color: var(--accent); }
.extension-management-copy h3 { margin: 4px 0; }
.extension-management-copy p { margin: 0 0 4px; color: var(--muted); }
.extension-category, .extension-status { display: inline-flex; padding: 2px 7px; border-radius: 999px; border: 1px solid var(--line); font-size: .7rem; }
.extension-status { margin-left: 5px; color: var(--muted); }
.extension-status.is-enabled { color: var(--success); border-color: color-mix(in srgb, var(--success) 45%, var(--line)); }
.extension-management-actions { display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.extension-management-actions form { margin: 0; }
.extension-upload-card { display: grid; gap: 13px; }
.extension-file-drop { min-height: 90px; display: flex; align-items: center; gap: 12px; padding: 14px; border: 1px dashed color-mix(in srgb, var(--accent) 55%, var(--line)); border-radius: var(--radius-control); background: var(--field); cursor: pointer; }
.extension-file-drop input { position: absolute; opacity: 0; pointer-events: none; }
.extension-file-drop strong, .extension-file-drop small { display: block; }
.extension-file-drop small { color: var(--muted); }
.extension-safety-card ul { padding-left: 18px; color: var(--muted); }
.extensions-empty { min-height: 220px; display: grid; place-items: center; align-content: center; text-align: center; color: var(--muted); }
@media (max-width: 980px) { .extensions-layout { grid-template-columns: 1fr; } .extensions-installer-panel { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) { .extensions-hero { align-items: stretch; flex-direction: column; } .extensions-stats, .extensions-installer-panel { grid-template-columns: 1fr; } .extension-management-card { grid-template-columns: auto 1fr; } .extension-management-actions { grid-column: 1 / -1; justify-content: flex-start; } }
.menu-child-list { display: grid; gap: 7px; }
.menu-child-row { display: grid; grid-template-columns: minmax(130px, 1fr) minmax(150px, 1fr) auto; gap: 7px; align-items: center; padding: 7px; border-left: 2px solid var(--accent); background: color-mix(in srgb, var(--panel) 75%, var(--accent) 25%); }
.menu-add-child { justify-self: start; }
.menu-parent-dropzone { padding: 10px 12px; border: 1px dashed var(--line); border-radius: var(--radius-control); color: var(--muted); background: var(--panel); font-size: .78rem; font-weight: 800; text-align: center; }
.menu-parent-dropzone.is-drop-target { border-color: var(--accent); color: var(--ink); background: color-mix(in srgb, var(--accent) 12%, var(--panel)); }
.user-profile-page { display: grid; gap: 18px; }
.users-list-page, .user-form-page, .user-roles-page { display: grid; gap: 18px; }
.user-filter-bar { display: grid; grid-template-columns: minmax(220px, 1.7fr) minmax(150px, .8fr) minmax(150px, .8fr) auto auto; gap: 10px; align-items: end; padding: 14px; border: 1px solid var(--line); border-radius: var(--radius-panel); background: var(--field); }
.user-filter-bar > div { display: grid; gap: 5px; }
.user-filter-bar label { color: var(--muted); font-size: .75rem; font-weight: 800; }
.users-table-wrap { overflow-x: auto; }
.users-table { min-width: 800px; }
.user-list-identity { display: flex; align-items: center; gap: 10px; min-width: 190px; }
.user-list-identity > span:last-child { display: grid; gap: 3px; }
.user-list-identity small { color: var(--muted); font-size: .75rem; }
.user-list-avatar { width: 36px; height: 36px; flex: 0 0 36px; display: grid; place-items: center; overflow: hidden; border-radius: 12px; color: var(--accent); background: color-mix(in srgb, var(--accent) 13%, var(--panel)); }
.user-list-avatar img { width: 100%; height: 100%; object-fit: cover; }
.tag-success { color: #22c55e; background: color-mix(in srgb, #22c55e 13%, var(--field)); border-color: color-mix(in srgb, #22c55e 38%, var(--line)); }
.tag-muted { color: var(--muted); background: var(--field); }
.user-form-actions { display: flex; justify-content: flex-end; gap: 10px; }
.user-role-settings-grid { display: grid; grid-template-columns: minmax(240px, .58fr) minmax(0, 1.42fr); gap: 18px; align-items: start; }
.user-role-settings-grid > form { display: grid; gap: 10px; padding: 18px; }
.product-commission-settings { display: grid; gap: 8px; padding: 14px; border: 1px solid color-mix(in srgb, var(--accent) 30%, var(--line)); border-radius: var(--radius-panel); background: linear-gradient(135deg, color-mix(in srgb, var(--accent) 10%, var(--field)), var(--field)); }
.product-commission-settings p { margin: 0; }
.product-commission-settings .form-grid { gap: 10px; }
.product-variable-layout { display: grid; grid-template-columns: minmax(230px, .55fr) minmax(0, 1.45fr); gap: 18px; align-items: start; }
.product-variable-layout > form { display: grid; gap: 10px; padding: 18px; }
.product-variable-list { display: grid; gap: 10px; }
.product-variable-row { display: grid; grid-template-columns: minmax(130px, .7fr) minmax(180px, 1.3fr) auto auto; gap: 10px; align-items: end; padding: 12px; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--field); }
.product-variable-row > div { display: grid; gap: 5px; }
.product-variable-row label { color: var(--muted); font-size: .72rem; font-weight: 800; }
.barcode-generator-page { display: grid; gap: 18px; }
.barcode-picker { display: grid; grid-template-columns: minmax(220px, 1fr) 220px auto; gap: 10px; align-items: end; padding: 14px; border: 1px solid var(--line); border-radius: var(--radius-panel); background: var(--field); }
.barcode-picker .table-search { margin: 0; }
.barcode-field-options { display: grid; grid-column: 1 / -1; grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)); gap: 8px 12px; margin: 0; padding: 12px; border: 1px solid var(--line); border-radius: var(--radius-control); }
.barcode-field-options legend { padding: 0 5px; color: var(--muted); font-size: .8rem; font-weight: 800; }
.barcode-field-options label { display: flex; align-items: center; gap: 7px; margin: 0; color: var(--ink); font-size: .8rem; font-weight: 700; }
.barcode-field-options input { width: auto; }
.barcode-product-picker { display: grid; grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; max-height: 360px; overflow: auto; padding-top: 10px; border-top: 1px solid var(--line); }
.barcode-product-choice { display: grid; grid-template-columns: auto minmax(0, 1fr) 70px; gap: 9px; align-items: center; padding: 9px 10px; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--panel); cursor: pointer; }
.barcode-product-choice > span { display: grid; gap: 3px; min-width: 0; }
.barcode-product-choice small { color: var(--muted); }
.barcode-product-choice[hidden] { display: none; }
.barcode-label-sheet { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; padding: 12px; background: color-mix(in srgb, var(--field) 78%, var(--panel)); }
.barcode-label-sheet.small { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.barcode-label-sheet.large { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.barcode-label-sheet.wide { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.barcode-label-sheet.device { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.barcode-label-sheet.display { grid-template-columns: minmax(0, 1fr); gap: 16px; }
.barcode-label { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 8px; min-width: 0; min-height: 130px; padding: 10px; border: 1px dashed var(--line); border-radius: 3px; background: #fff; color: #111827; }
.barcode-label-sheet.small .barcode-label { min-height: 100px; padding: 7px; }
.barcode-label-sheet.large .barcode-label { min-height: 190px; padding: 14px; }
.barcode-label-sheet.wide .barcode-label { min-height: 128px; padding: 11px 13px; }
.barcode-label-sheet.device .barcode-label { min-height: 260px; padding: 15px; }
.barcode-label-sheet.display .barcode-label { min-height: 310px; padding: 18px; }
.barcode-label-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .78rem; }
.barcode-label-sheet.large .barcode-label-name { font-size: 1rem; }
.barcode-label-details { display: flex; grid-column: 1 / -1; flex-wrap: wrap; gap: 3px 8px; min-width: 0; color: #4b5563; }
.barcode-label-details small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .65rem; }
.barcode-label-price { color: #111827; font-size: 1.2rem; text-align: right; }
.barcode-label-sheet.small .barcode-label-price { font-size: .95rem; }
.barcode-label-sheet.large .barcode-label-price { font-size: 1.55rem; }
.barcode-bars { display: flex; grid-column: 1 / -1; align-items: stretch; height: 43px; min-width: 0; overflow: hidden; }
.barcode-label-sheet.small .barcode-bars { height: 30px; }
.barcode-label-sheet.large .barcode-bars { height: 62px; }
.barcode-bars i { display: block; height: 100%; flex: 0 0 2px; background: transparent; }
.barcode-bars i.bar { background: #111827; }
.barcode-bars i.space { background: #fff; }
.barcode-label-code { grid-column: 1 / -1; color: #111827; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .64rem; letter-spacing: .08em; text-align: center; }
.barcode-specification-grid { display: grid; grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3px 12px; margin: 3px 0; padding: 7px 0; border-top: 1px solid #d7dde5; border-bottom: 1px solid #d7dde5; }
.barcode-specification-grid div { display: flex; justify-content: space-between; gap: 8px; min-width: 0; }
.barcode-specification-grid dt, .barcode-specification-grid dd { margin: 0; overflow: hidden; font-size: .64rem; text-overflow: ellipsis; white-space: nowrap; }
.barcode-specification-grid dt { color: #6b7280; font-weight: 700; }
.barcode-specification-grid dd { color: #111827; font-weight: 900; text-align: right; }
.barcode-label-sheet.display .barcode-specification-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.warranty-duration-control > div { display: grid; grid-template-columns: minmax(90px, 1fr) minmax(110px, .75fr); gap: 7px; }
.product-hardware-section[hidden] { display: none; }
.product-hardware-section { border-color: color-mix(in srgb, #0ea5e9 35%, var(--line)); background: color-mix(in srgb, #0ea5e9 4%, var(--panel)); }
.product-variation-section { border-color: color-mix(in srgb, #8b5cf6 28%, var(--line)); }

.warranty-policy-page, .warranty-policy-editor { overflow: hidden; }
.warranty-policy-heading { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 14px; padding-bottom: 17px; border-bottom: 1px solid var(--line); }
.warranty-policy-heading > span { display: grid; width: 48px; height: 48px; place-items: center; border: 1px solid color-mix(in srgb, #10b981 38%, var(--line)); border-radius: 8px; background: color-mix(in srgb, #10b981 10%, var(--field)); color: #047857; }
.warranty-policy-heading > span .ui-icon { width: 24px; height: 24px; }
.warranty-policy-heading h2, .warranty-policy-heading p { margin: 0; }
.warranty-policy-copy { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin: 20px 0; border: 1px solid var(--line); background: var(--line); }
.warranty-policy-copy section { padding: 20px; background: var(--panel); }
.warranty-policy-copy h3 { margin: 0 0 8px; }
.warranty-policy-copy p { margin: 0; color: var(--ink); line-height: 1.7; }
.warranty-policy-page > footer { padding-top: 12px; border-top: 1px solid var(--line); color: var(--muted); font-size: .75rem; }
@media (max-width: 900px) {
    .product-variable-layout { grid-template-columns: 1fr; }
    .product-variable-row { grid-template-columns: 1fr 1fr; }
    .barcode-product-picker { grid-template-columns: 1fr; }
}
@media (max-width: 680px) {
    .barcode-picker { grid-template-columns: 1fr; }
    .barcode-product-picker { grid-column: auto; }
    .barcode-label-sheet, .barcode-label-sheet.small, .barcode-label-sheet.large, .barcode-label-sheet.wide { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .product-variable-row { grid-template-columns: 1fr; }
}
.update-cloud-list { display: grid; gap: 10px; }
.update-cloud-card { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 16px; align-items: center; padding: 14px; border: 1px solid var(--line); border-radius: 7px; background: var(--field); }
.update-cloud-card h3 { margin: 7px 0 3px; }
.update-cloud-card ul { margin: 8px 0 0; padding-left: 20px; }
.update-cloud-required { border-color: color-mix(in srgb, var(--accent) 42%, var(--line)); background: linear-gradient(120deg, color-mix(in srgb, var(--accent) 9%, var(--field)), var(--field)); }
.update-required-heading { display: flex; align-items: center; gap: 9px; }
.update-required-heading strong { color: var(--ink); font-size: .86rem; }
.update-later-queue { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 14px; border: 1px solid var(--line); border-radius: 7px; background: color-mix(in srgb, var(--panel) 86%, var(--field)); }
.update-later-queue > span { color: var(--muted); font-size: .72rem; font-weight: 800; }
.update-later-queue > div { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.update-later-queue strong { padding: 5px 8px; border: 1px solid color-mix(in srgb, var(--accent) 32%, var(--line)); border-radius: 6px; background: var(--field); color: var(--accent); font-size: .76rem; }
@media (max-width: 620px) { .update-cloud-card { grid-template-columns: 1fr; } .update-cloud-card button { width: 100%; } }
@media (max-width: 620px) { .update-later-queue { align-items: flex-start; flex-direction: column; } .update-later-queue > div { justify-content: flex-start; } }

/* POS workflow cards and checkout payment workspace. */
.module-register .pos-workflow-card {
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--line) 76%, var(--accent) 24%);
    border-top: 4px solid var(--accent);
    background: var(--panel);
    box-shadow: 0 7px 20px color-mix(in srgb, var(--ink) 8%, transparent);
}
.module-register .pos-items-section { border-top-color: var(--secondary-button-start, var(--accent)); }
.module-register .pos-payment-workspace { border-top-color: var(--button-start, var(--accent)); }
.module-register .pos-workflow-card > .pos-form-section-heading {
    min-height: 58px;
    padding: 10px 12px;
    border-bottom: 1px solid var(--line);
    background: color-mix(in srgb, var(--panel) 92%, var(--accent) 8%);
}
.module-register .pos-workflow-card > .pos-form-section-heading .pos-section-icon {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border: 1px solid color-mix(in srgb, var(--accent) 28%, var(--line));
    border-radius: 6px;
    background: var(--panel);
    color: var(--accent);
}
.module-register .pos-workflow-card > .pos-form-section-heading .pos-section-icon .ui-icon { width: 17px; height: 17px; }
.module-register .pos-workflow-card > .pos-form-section-heading .section-kicker { margin: 0 0 2px; font-size: .56rem; }
.module-register .pos-workflow-card > .pos-form-section-heading h3 { font-size: .84rem; }
.module-register .pos-payment-body { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(240px, .65fr); min-width: 0; }
.module-register .pos-payment-method-section,
.module-register .pos-applied-payment-section { min-width: 0; padding: 12px; }
.module-register .pos-applied-payment-section { border-left: 1px solid var(--line); background: color-mix(in srgb, var(--field) 86%, var(--panel)); }
.module-register .pos-payment-subhead { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 38px; margin-bottom: 9px; }
.module-register .pos-payment-subhead h4 { margin: 2px 0 0; color: var(--ink); font-size: .76rem; }
.module-register .pos-payment-subhead .section-kicker { margin: 0; font-size: .55rem; }
.module-register .pos-payment-subhead .tag { font-size: .56rem; }
.module-register .pos-payment-workspace .payment-method-buttons { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; padding: 0; }
.module-register .pos-payment-workspace .payment-method-button {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) 15px;
    gap: 9px;
    align-items: center;
    min-width: 0;
    min-height: 64px;
    padding: 9px 10px;
    border: 1px solid color-mix(in srgb, var(--payment-color, var(--accent)) 42%, var(--line));
    border-left: 4px solid var(--payment-color, var(--accent));
    border-radius: 7px;
    background: color-mix(in srgb, var(--panel) 94%, var(--payment-color, var(--accent)) 6%);
    color: var(--ink) !important;
    text-align: left;
    text-shadow: none;
    box-shadow: 0 4px 12px color-mix(in srgb, var(--ink) 7%, transparent);
}
.module-register .pos-payment-workspace .payment-method-button:hover {
    border-color: var(--payment-color, var(--accent));
    background: color-mix(in srgb, var(--panel) 84%, var(--payment-color, var(--accent)) 16%);
    color: var(--ink) !important;
    filter: none;
}
.module-register .pos-payment-workspace .payment-method-button > .ui-icon:last-child { width: 14px; height: 14px; margin: 0; color: var(--muted); -webkit-text-fill-color: currentColor; }
.module-register .pos-payment-icon {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 6px;
    background: var(--payment-color, var(--accent));
    color: #fff;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.22);
}
.module-register .pos-payment-icon .ui-icon { width: 18px; height: 18px; margin: 0; color: #fff; -webkit-text-fill-color: #fff; }
.module-register .pos-payment-copy { display: grid; gap: 2px; min-width: 0; color: var(--ink); }
.module-register .pos-payment-copy strong { overflow: hidden; color: var(--ink); font-size: .72rem; text-overflow: ellipsis; white-space: nowrap; -webkit-text-fill-color: currentColor; }
.module-register .pos-payment-copy small { overflow: hidden; color: var(--muted); font-size: .59rem; font-weight: 400; text-overflow: ellipsis; white-space: nowrap; -webkit-text-fill-color: currentColor; }
.module-register .payment-method-rewards { --payment-color: #ca8a04; }
.module-register .pos-payment-workspace .payment-list { gap: 7px; padding: 0; }
.module-register .pos-payment-workspace .payment-list .empty { min-height: 94px; place-content: center; padding: 16px; text-align: center; }
.module-register .pos-payment-workspace .payment-line { border: 1px solid var(--line); border-radius: 6px; background: var(--panel); }

/* Half-width repair operations modules. */
.dashboard-repair-list { display: grid; gap: 7px; }
.dashboard-repair-list > a { display: grid; grid-template-columns: 36px minmax(0, 1fr) auto; gap: 9px; align-items: center; min-width: 0; padding: 8px; border: 1px solid var(--line); border-radius: 6px; background: var(--field); color: var(--ink); text-decoration: none; }
.dashboard-repair-list > a:hover { border-color: var(--accent); background: color-mix(in srgb, var(--field) 88%, var(--accent) 12%); }
.dashboard-repair-device { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 6px; background: color-mix(in srgb, var(--accent) 13%, var(--panel)); color: var(--accent); }
.dashboard-repair-device .ui-icon { width: 17px; height: 17px; }
.dashboard-repair-list > a > span:nth-child(2) { display: grid; gap: 2px; min-width: 0; }
.dashboard-repair-list strong,
.dashboard-repair-list small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-repair-list strong { font-size: .72rem; }
.dashboard-repair-list small { color: var(--muted); font-size: .6rem; }
.dashboard-repair-list .tag { max-width: 116px; overflow: hidden; font-size: .56rem; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-repair-metrics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.dashboard-repair-metrics > div { display: grid; gap: 3px; min-width: 0; min-height: 82px; padding: 10px; border: 1px solid var(--line); border-left: 3px solid var(--accent); border-radius: 6px; background: var(--field); }
.dashboard-repair-metrics > div:nth-child(2) { border-left-color: #d97706; }
.dashboard-repair-metrics > div:nth-child(3) { border-left-color: #059669; }
.dashboard-repair-metrics > div.is-alert { border-left-color: var(--danger); background: color-mix(in srgb, var(--field) 92%, var(--danger) 8%); }
.dashboard-repair-metrics span { color: var(--muted); font-size: .59rem; }
.dashboard-repair-metrics strong { color: var(--ink); font-size: 1rem; }
.dashboard-repair-metrics small { overflow: hidden; color: var(--muted); font-size: .56rem; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 900px) { .module-register .pos-payment-body { grid-template-columns: minmax(0, 1fr); } .module-register .pos-applied-payment-section { border-top: 1px solid var(--line); border-left: 0; } }
@media (max-width: 620px) {
    .module-register .pos-payment-workspace .payment-method-buttons { grid-template-columns: minmax(0, 1fr); }
    .module-register .pos-payment-method-section, .module-register .pos-applied-payment-section { padding: 10px; }
    .dashboard-repair-list > a { grid-template-columns: 34px minmax(0, 1fr); }
    .dashboard-repair-list .tag { grid-column: 2; justify-self: start; }
    .dashboard-repair-metrics { grid-template-columns: minmax(0, 1fr); }
}

/* Provider account snapshots in integration settings. */
.provider-account-card { display: grid; grid-template-columns: 46px minmax(0, 1fr) auto; gap: 13px; align-items: center; margin: 0 0 14px; padding: 14px; border: 1px solid color-mix(in srgb, var(--accent) 28%, var(--line)); border-left: 4px solid var(--accent); border-radius: 7px; background: color-mix(in srgb, var(--panel) 94%, var(--accent) 6%); box-shadow: 0 6px 18px color-mix(in srgb, var(--ink) 7%, transparent); }
.provider-account-card.is-unavailable { border-left-color: var(--muted); background: var(--field); }
.provider-account-icon { display: grid; width: 46px; height: 46px; place-items: center; border-radius: 7px; background: linear-gradient(135deg, var(--accent), var(--accent-dark)); color: var(--button-text); }
.provider-account-icon .ui-icon { width: 21px; height: 21px; }
.provider-account-card > div { display: grid; gap: 3px; min-width: 0; }
.provider-account-card h3, .provider-account-card p { margin: 0; }
.provider-account-card h3 { color: var(--muted); font-size: .7rem; font-weight: 600; }
.provider-account-card > div > strong { color: var(--ink); font-size: 1.25rem; }
.provider-account-card p, .provider-account-card small { color: var(--muted); font-size: .62rem; }
.provider-account-card form { margin: 0; }
.provider-account-card button { min-height: 36px; }

/* Update history becomes release cards instead of a horizontal mobile table. */
.update-history-wrap { width: 100%; overflow-x: auto; }
.update-history-table td { vertical-align: top; }
.update-history-table td:nth-child(2) small { display: block; margin-top: 3px; color: var(--muted); }
@media (max-width: 720px) {
    .update-history-wrap { overflow: visible; }
    .update-history-table, .update-history-table tbody { display: block; width: 100%; }
    .update-history-table thead { display: none; }
    .update-history-table tbody { display: grid; gap: 10px; }
    .update-history-table tr { display: grid; overflow: hidden; border: 1px solid var(--line); border-top: 4px solid var(--accent); border-radius: 7px; background: var(--panel); box-shadow: 0 5px 15px color-mix(in srgb, var(--ink) 7%, transparent); }
    .update-history-table td { display: grid; grid-template-columns: 94px minmax(0, 1fr); gap: 10px; min-width: 0; padding: 8px 10px; border: 0; border-bottom: 1px solid var(--line); overflow-wrap: anywhere; }
    .update-history-table td:last-child { border-bottom: 0; }
    .update-history-table td::before { content: attr(data-label); color: var(--muted); font-size: .61rem; font-weight: 700; text-transform: uppercase; }
    .update-history-table .update-recap { display: block; padding: 11px; background: color-mix(in srgb, var(--field) 88%, var(--accent) 12%); }
    .update-history-table .update-recap::before { display: block; margin-bottom: 6px; }
    .update-history-table .update-recap ul { margin-bottom: 0; }
    .update-history-table td[colspan] { display: block; }
    .update-history-table td[colspan]::before { display: none; }
    .update-history-table code { max-width: 100%; overflow-wrap: anywhere; white-space: normal; }
}
@media (max-width: 620px) {
    .provider-account-card { grid-template-columns: 40px minmax(0, 1fr); }
    .provider-account-icon { width: 40px; height: 40px; }
    .provider-account-card form { grid-column: 1 / -1; }
    .provider-account-card button { width: 100%; }
}

/* Appointments and To-Do */
.schedule-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.schedule-page { display: grid; gap: 18px; }
.schedule-filter-bar { display: grid; grid-template-columns: minmax(240px, 1.5fr) minmax(160px, .7fr) auto auto; gap: 10px; align-items: end; padding: 13px; border: 1px solid var(--line); border-radius: var(--radius-panel); background: var(--field); }
.schedule-filter-bar > div, .task-filter-bar > div { display: grid; gap: 5px; }
.schedule-filter-bar label, .task-filter-bar label { margin: 0; font-size: .72rem; }
.task-filter-bar { display: grid; grid-template-columns: minmax(220px, 1.4fr) repeat(3, minmax(140px, .65fr)) auto; gap: 10px; align-items: end; padding: 13px; border: 1px solid var(--line); border-radius: var(--radius-panel); background: var(--field); }
.schedule-calendar-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(285px, .34fr); gap: 16px; align-items: start; }
.appointment-calendar-grid .repair-calendar-day, .task-calendar-grid .repair-calendar-day { min-height: 132px; }
.repair-calendar-day.is-today { background: color-mix(in srgb, var(--accent) 8%, var(--panel)); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent) 55%, transparent); }
.repair-calendar-day.is-today > strong { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: var(--accent); color: #fff; }
.schedule-calendar-item { display: grid; gap: 2px; min-width: 0; padding: 6px 7px; border-left: 3px solid var(--schedule-color, var(--accent)); border-radius: 4px; background: color-mix(in srgb, var(--schedule-color, var(--accent)) 11%, var(--field)); color: var(--ink); font-size: .69rem; text-decoration: none; }
.schedule-calendar-item:hover { background: color-mix(in srgb, var(--schedule-color, var(--accent)) 18%, var(--field)); color: var(--ink); }
.schedule-calendar-item span, .schedule-calendar-item small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.schedule-calendar-item small { color: var(--muted); }
.schedule-calendar-item.is-completed { opacity: .55; text-decoration: line-through; }
.status-pending { --schedule-color: #f59e0b; }
.status-confirmed, .status-accepted { --schedule-color: #10b981; }
.status-completed { --schedule-color: #3b82f6; }
.status-cancelled, .status-declined, .status-no-show { --schedule-color: #94a3b8; }
.schedule-status { border: 1px solid color-mix(in srgb, var(--schedule-color, var(--accent)) 35%, var(--line)); background: color-mix(in srgb, var(--schedule-color, var(--accent)) 11%, var(--panel)); color: var(--schedule-color, var(--accent)); white-space: nowrap; }
.task-priority-low { --schedule-color: #94a3b8; }
.task-priority-normal { --schedule-color: #3b82f6; }
.task-priority-high { --schedule-color: #f59e0b; }
.task-priority-urgent { --schedule-color: #ef4444; }
.schedule-agenda { position: sticky; top: 18px; display: grid; gap: 8px; max-height: calc(100vh - 160px); overflow: auto; padding: 14px; border: 1px solid color-mix(in srgb, var(--accent) 24%, var(--line)); border-radius: var(--radius-panel); background: var(--field); }
.schedule-agenda-heading { display: grid; gap: 4px; margin-bottom: 4px; }
.schedule-agenda-item { display: grid; grid-template-columns: 54px minmax(0, 1fr) auto; gap: 10px; align-items: center; min-width: 0; padding: 10px; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--panel); color: var(--ink); text-decoration: none; }
.schedule-agenda-item:hover { border-color: color-mix(in srgb, var(--accent) 42%, var(--line)); color: var(--ink); }
.schedule-agenda-item time, .schedule-agenda-item > span:nth-child(2) { display: grid; gap: 2px; min-width: 0; }
.schedule-agenda-item time { color: var(--accent); font-size: .72rem; }
.schedule-agenda-item time strong { font-size: .82rem; }
.schedule-agenda-item > span:nth-child(2) strong, .schedule-agenda-item > span:nth-child(2) small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.schedule-agenda-item > span:nth-child(2) small { color: var(--muted); font-size: .7rem; }
.schedule-table-wrap { overflow-x: auto; }
.schedule-table { min-width: 900px; }
.schedule-table .table-actions { display: flex; align-items: center; gap: 7px; }
.schedule-table .table-actions form { margin: 0; }
.task-table tr.is-overdue { background: color-mix(in srgb, #ef4444 5%, var(--panel)); }
.task-overdue-label { color: #ef4444; font-size: .72rem; font-weight: 900; }
.task-priority-label { display: inline-flex; align-items: center; min-height: 25px; padding: 4px 8px; border: 1px solid var(--priority-color, var(--line)); border-radius: var(--radius-control); background: color-mix(in srgb, var(--priority-color, var(--accent)) 10%, var(--panel)); color: var(--priority-color, var(--ink)); font-size: .7rem; font-weight: 900; }
.priority-low { --priority-color: #94a3b8; }.priority-normal { --priority-color: #3b82f6; }.priority-high { --priority-color: #f59e0b; }.priority-urgent { --priority-color: #ef4444; }
.schedule-editor-page { display: grid; gap: 18px; }
.schedule-editor-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .34fr); gap: 18px; align-items: start; }
.schedule-editor-form { display: grid; gap: 12px; min-width: 0; }
.schedule-form-section { display: grid; gap: 13px; padding: 16px; border: 1px solid var(--line); border-radius: var(--radius-panel); background: var(--field); }
.schedule-form-heading { display: flex; align-items: center; gap: 10px; padding-bottom: 11px; border-bottom: 1px solid var(--line); }
.schedule-form-heading > .ui-icon { width: 20px; height: 20px; color: var(--accent); }
.schedule-form-heading h3, .schedule-form-heading p { margin: 0; }
.schedule-form-heading p { margin-top: 3px; font-size: .76rem; }
.schedule-form-actions { display: flex; justify-content: flex-end; gap: 9px; }
.appointment-customer-picker, .task-customer-picker { position: relative; }
.schedule-summary-panel { position: sticky; top: 18px; display: grid; gap: 15px; padding: 16px; border: 1px solid color-mix(in srgb, var(--accent) 30%, var(--line)); border-radius: var(--radius-panel); background: color-mix(in srgb, var(--accent) 5%, var(--field)); }
.schedule-summary-panel > div:first-child { display: grid; justify-items: start; gap: 6px; padding-bottom: 13px; border-bottom: 1px solid var(--line); }
.schedule-summary-panel h3 { margin: 0; font-size: 1.05rem; }
.schedule-summary-panel dl { display: grid; gap: 10px; margin: 0; }
.schedule-summary-panel dl div { display: grid; grid-template-columns: minmax(90px, .7fr) minmax(0, 1fr); gap: 10px; align-items: start; }
.schedule-summary-panel dt { display: inline-flex; align-items: center; gap: 6px; color: var(--muted); font-size: .75rem; font-weight: 800; }
.schedule-summary-panel dt .ui-icon { width: 14px; height: 14px; }
.schedule-summary-panel dd { margin: 0; font-size: .78rem; font-weight: 800; text-align: right; }
.schedule-communication-actions { display: grid; gap: 8px; }
.schedule-communication-actions form, .schedule-communication-actions button { width: 100%; }
.schedule-public-link { display: grid; gap: 7px; padding-top: 12px; border-top: 1px solid var(--line); }
.schedule-public-link label { margin: 0; }
.schedule-public-link input { min-width: 0; font-size: .72rem; }
.public-appointment-body { min-height: 100vh; display: grid; place-items: center; padding: 20px; background: var(--bg); }
.public-appointment-page { width: min(620px, 100%); }
.public-appointment-card { display: grid; gap: 18px; padding: clamp(22px, 5vw, 42px); }
.public-appointment-card h1, .public-appointment-card p { margin: 0; }
.public-appointment-brand { display: flex; align-items: center; gap: 9px; padding-bottom: 16px; border-bottom: 1px solid var(--line); color: var(--accent); font-weight: 900; }
.public-appointment-brand .ui-icon { width: 24px; height: 24px; }
.public-appointment-details { display: grid; gap: 9px; margin: 0; }
.public-appointment-details div { display: flex; justify-content: space-between; gap: 18px; padding: 11px 0; border-bottom: 1px solid var(--line); }
.public-appointment-details dt { display: inline-flex; align-items: center; gap: 7px; color: var(--muted); }
.public-appointment-details dt .ui-icon { width: 16px; height: 16px; }
.public-appointment-details dd { margin: 0; font-weight: 900; text-align: right; }
.public-appointment-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.public-appointment-actions button { width: 100%; justify-content: center; }
.public-appointment-contact { padding-top: 14px; border-top: 1px solid var(--line); color: var(--muted); font-size: .78rem; }

@media (max-width: 1100px) {
    .schedule-calendar-layout, .schedule-editor-layout { grid-template-columns: 1fr; }
    .schedule-agenda, .schedule-summary-panel { position: static; max-height: none; }
    .task-filter-bar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .schedule-filter-bar { grid-template-columns: minmax(0, 1fr) minmax(150px, .6fr) auto auto; }
}
@media (max-width: 760px) {
    .schedule-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .schedule-filter-bar, .task-filter-bar { grid-template-columns: 1fr; }
    .appointment-calendar-grid .repair-calendar-day, .task-calendar-grid .repair-calendar-day { min-height: 90px; padding: 5px; }
    .schedule-calendar-item { padding: 5px; }
    .schedule-calendar-item small { display: none; }
    .schedule-agenda-item { grid-template-columns: 48px minmax(0, 1fr); }
    .schedule-agenda-item > :last-child { grid-column: 2; justify-self: start; }
    .public-appointment-actions { grid-template-columns: 1fr; }
}

/* ACPR POS 1.12.0: authoritative desktop customer and workflow journal layout. */
.module-register .pos-sidebar-customer-preview .pos-customer-profile {
    display: grid !important;
    grid-template-columns: 48px minmax(0, 1fr) !important;
    align-items: start !important;
    gap: 11px !important;
    width: 100% !important;
    min-width: 0 !important;
}

.module-register .pos-sidebar-customer-preview .pos-customer-identity {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-auto-flow: row !important;
    align-content: start !important;
    gap: 4px !important;
    width: 100% !important;
    min-width: 0 !important;
}

.module-register .pos-sidebar-customer-preview .pos-customer-identity > * {
    grid-column: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
}

.module-register .pos-sidebar-customer-card .repair-workflow-panel-head {
    grid-template-columns: minmax(0, 1fr) auto !important;
}

.module-register .pos-sidebar-customer-card .customer-add-button {
    width: auto !important;
    max-width: 132px !important;
    min-width: 0 !important;
    overflow: hidden !important;
}

.module-register .pos-sidebar-customer-card .customer-add-button .button-label {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.repair-workflow-stage-notes .repair-workflow-journal-form {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: start !important;
    gap: 8px !important;
}

.repair-workflow-stage-notes .repair-workflow-journal-form > .rich-text-editor {
    width: 100% !important;
    min-width: 0 !important;
}

.repair-workflow-stage-notes .repair-workflow-journal-form > button {
    justify-self: end !important;
    align-self: start !important;
    width: auto !important;
    min-width: 168px !important;
    height: 40px !important;
    min-height: 40px !important;
    padding: 7px 13px !important;
}

.repair-workflow-stage-notes .rich-text-toolbar button:not(.rich-text-ai-button) {
    width: 32px !important;
    min-width: 32px !important;
    max-width: 32px !important;
    height: 30px !important;
    min-height: 30px !important;
    padding: 0 !important;
}

.repair-workflow-stage-notes .rich-text-toolbar .rich-text-format {
    width: 136px !important;
    min-width: 112px !important;
    height: 30px !important;
    min-height: 30px !important;
}

.repair-workflow-stage-notes .rich-text-toolbar .rich-text-ai-button {
    width: auto !important;
    min-width: 104px !important;
    max-width: 132px !important;
    height: 30px !important;
    min-height: 30px !important;
}

@media (max-width: 760px) {
    .repair-workflow-stage-notes .repair-workflow-journal-form > button {
        justify-self: stretch !important;
        width: 100% !important;
        min-width: 0 !important;
    }
}

.menu-icon-provider {
    display: flex;
    align-items: center;
    gap: 11px;
    margin: 0 0 12px;
    padding: 10px 12px;
    border: 1px solid color-mix(in srgb, var(--accent) 32%, var(--line));
    border-radius: var(--radius-control);
    background: color-mix(in srgb, var(--accent) 8%, var(--field));
}
.menu-icon-provider > span {
    display: grid;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    place-items: center;
    border-radius: 7px;
    background: var(--button-gradient);
    color: var(--button-text);
}
.menu-icon-provider > span .ui-icon { width: 18px; height: 18px; }
.menu-icon-provider > div { display: grid; gap: 2px; min-width: 0; }
.menu-icon-provider small { color: var(--muted); line-height: 1.4; }
.menu-editor-main-fields { grid-template-columns: repeat(4, minmax(130px, 1fr)); }

@media (max-width: 920px) {
    .menu-editor-main-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
    .menu-editor-main-fields { grid-template-columns: 1fr; }
}
.user-profile-form { display: grid; gap: 18px; }
.user-profile-tabs { display: flex; gap: 6px; margin: 0 0 18px; padding-bottom: 10px; border-bottom: 1px solid var(--line); }
.user-profile-tabs a { display: inline-flex; align-items: center; gap: 7px; padding: 8px 10px; border-bottom: 2px solid transparent; color: var(--muted); font-size: .86rem; font-weight: 800; text-decoration: none; }
.user-profile-tabs a:hover, .user-profile-tabs a.active { border-bottom-color: var(--accent); color: var(--ink); }
.user-password-form { display: grid; gap: 14px; max-width: 520px; }
.user-password-form > div { display: grid; gap: 6px; }
.user-password-form .user-profile-actions { display: flex; justify-content: flex-end; gap: 9px; margin-top: 4px; }
.user-profile-header { display: flex; align-items: center; gap: 16px; padding: 16px; border: 1px solid var(--line); border-radius: var(--radius-panel); background: var(--field); }
.user-profile-header h3 { margin-bottom: 4px; }
.user-profile-header p { margin-bottom: 10px; }
.user-photo-wrap { width: 96px; height: 96px; flex: 0 0 96px; overflow: hidden; display: grid; place-items: center; border-radius: 22px; border: 1px solid color-mix(in srgb, var(--accent) 38%, var(--line)); background: color-mix(in srgb, var(--accent) 13%, var(--panel)); color: var(--accent); }
.user-photo-wrap img { width: 100%; height: 100%; display: block; object-fit: cover; }
.user-photo-wrap .ui-icon { width: 34px; height: 34px; }
.schedule-editor { display: grid; gap: 12px; padding: 16px; border: 1px solid var(--line); border-radius: var(--radius-panel); background: var(--field); }
.schedule-editor h3 { margin-bottom: 4px; }
.schedule-editor p { margin-bottom: 0; }
.schedule-grid { display: grid; gap: 8px; }
.schedule-row { display: grid; grid-template-columns: 110px 120px minmax(100px, 1fr) auto minmax(100px, 1fr); align-items: center; gap: 10px; padding: 9px 10px; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--panel); }
.schedule-row strong { min-width: 0; }
.schedule-row .checkbox-row { margin: 0; white-space: nowrap; }
.schedule-row span { color: var(--muted); text-align: center; }
.user-profile-actions { display: flex; justify-content: flex-end; gap: 9px; }

.shell {
    min-height: 100vh;
    display: grid;
    grid-template-columns: var(--sidebar-width) 1fr;
}

#appSidebar {
    background: var(--sidebar);
    color: var(--sidebar-text);
    border-right: 1px solid var(--line);
    padding: 28px 22px;
    position: sticky;
    top: 0;
    height: 100vh;
    overflow-y: auto;
    scrollbar-width: none;
}
#appSidebar::-webkit-scrollbar { display: none; }

.sidebar-brand-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
}

.sidebar-brand-row .brand { min-width: 0; flex: 1 1 auto; }
.sidebar-toggle {
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    display: grid;
    place-items: center;
    margin-top: 2px;
    padding: 0;
    border: 1px solid color-mix(in srgb, var(--sidebar-text) 18%, transparent);
    border-radius: 7px;
    background: color-mix(in srgb, var(--sidebar-text) 7%, transparent);
    color: color-mix(in srgb, var(--sidebar-text) 72%, transparent);
    opacity: .72;
}
.sidebar-toggle:hover,
.sidebar-toggle:focus-visible {
    border-color: color-mix(in srgb, var(--accent) 48%, var(--line));
    background: color-mix(in srgb, var(--accent) 14%, var(--sidebar));
    color: var(--sidebar-text);
    opacity: 1;
}
.sidebar-toggle:focus-visible { outline: 2px solid color-mix(in srgb, var(--accent) 62%, transparent); outline-offset: 2px; }
.sidebar-toggle .ui-icon { width: 14px; height: 14px; }

.sidebar-collapsed .shell { grid-template-columns: 66px minmax(0, 1fr); }
.sidebar-collapsed #appSidebar { padding: 18px 10px; overflow: visible; }
.sidebar-collapsed .sidebar-brand-row { justify-content: center; }
.sidebar-collapsed .sidebar-brand-row .brand { display: none; }
.sidebar-collapsed .sidebar-toggle { margin: 0; }
.sidebar-collapsed nav a { justify-content: center; padding: 12px 8px; }
.sidebar-collapsed nav a > span:not(.nav-icon),
.sidebar-collapsed .nav-submenu { display: none; }
.sidebar-collapsed .nav-group { margin-bottom: 8px; }

.brand {
    display: flex;
    align-items: center;
    gap: 12px;
    font-weight: 800;
    font-size: 1.25rem;
    margin-bottom: 34px;
}

.brand-image {
    min-height: 54px;
}

.brand-logo-image {
    width: min(100%, 210px);
    max-height: 70px;
    object-fit: contain;
    display: block;
}

.brand-text-only {
    align-items: flex-start;
}

.brand-text-mark {
    color: var(--sidebar-text);
    font-weight: 900;
    line-height: 1.1;
    overflow-wrap: anywhere;
}

.logo {
    width: 42px;
    height: 42px;
    border-radius: var(--radius-control);
    background: var(--accent);
    display: grid;
    place-items: center;
    color: #052e2b;
    font-weight: 900;
    overflow: hidden;
}

.logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

nav a {
    display: flex;
    align-items: center;
    gap: 10px;
    color: color-mix(in srgb, var(--sidebar-text) 78%, transparent);
    text-decoration: none;
    padding: 12px 10px;
    border-radius: var(--radius-control);
    margin-bottom: 8px;
    font-weight: 700;
}

nav a:hover, nav a:focus, nav a.active {
    background: color-mix(in srgb, var(--sidebar-text) 10%, transparent);
    color: var(--sidebar-text);
}

.nav-group {
    margin-bottom: 8px;
}

.nav-group > a {
    margin-bottom: 0;
}

.nav-expand-icon {
    display: inline-grid;
    place-items: center;
    margin-left: auto;
    color: color-mix(in srgb, var(--sidebar-text) 58%, transparent);
    transition: transform .16s ease;
}

.nav-expand-icon .ui-icon {
    width: 14px;
    height: 14px;
}

.nav-group.has-submenu:not(.is-open) > .nav-submenu {
    display: none;
}

.nav-group.is-open > a .nav-expand-icon {
    transform: rotate(180deg);
}

.nav-submenu {
    display: grid;
    gap: 4px;
    margin-top: 6px;
    margin-left: 12px;
    padding-left: 10px;
    border-left: 1px solid color-mix(in srgb, var(--sidebar-text) 18%, transparent);
}

.nav-submenu a {
    padding: 8px 10px;
    margin-bottom: 0;
    font-size: .9rem;
    color: color-mix(in srgb, var(--sidebar-text) 68%, transparent);
}

main {
    padding: 30px;
    overflow: hidden;
    min-width: 0;
}

.topbar {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: center;
    margin-bottom: 24px;
}

h1, h2, h3, p { margin-top: 0; }
h1 { font-size: 2.2rem; margin-bottom: 6px; }
h2 { font-size: 1.2rem; margin-bottom: 16px; }
h3 { font-size: 1rem; margin-bottom: 10px; }
.muted { color: var(--muted); }

.pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 1px solid var(--line);
    background: var(--field);
    padding: 8px 12px;
    border-radius: var(--radius-control);
    color: var(--muted);
    font-weight: 700;
    white-space: nowrap;
}

.flash {
    background: color-mix(in srgb, #10b981 16%, var(--panel));
    color: color-mix(in srgb, #6ee7b7 78%, var(--ink));
    border: 1px solid color-mix(in srgb, #34d399 42%, var(--line));
    padding: 12px 14px;
    border-radius: var(--radius-panel);
    margin-bottom: 20px;
    font-weight: 700;
}

.stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(160px, 1fr));
    gap: 16px;
    margin-bottom: 24px;
}

.stat, .panel {
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: var(--radius-panel);
    box-shadow: var(--shadow);
}

.stat { padding: 18px; }
.stat span {
    color: var(--muted);
    font-weight: 700;
    font-size: .82rem;
    text-transform: none;
}
.stat strong {
    display: block;
    font-size: 1.8rem;
    margin-top: 8px;
}

.grid {
    display: grid;
    grid-template-columns: minmax(360px, 1.15fr) minmax(340px, .85fr);
    gap: 20px;
    align-items: start;
}

.grid > * {
    min-width: 0;
}

.panel {
    padding: 20px;
    margin-bottom: 20px;
}

.toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}

.toolbar-actions,
.pos-transaction-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.pos-transaction-actions {
    margin-top: 16px;
}

table {
    width: 100%;
    border-collapse: collapse;
}

th, td {
    padding: 12px 10px;
    text-align: left;
    border-bottom: 1px solid var(--line);
    vertical-align: middle;
}

th {
    color: var(--muted);
    font-size: .78rem;
    text-transform: none;
}

tr:last-child td { border-bottom: 0; }

input, select, textarea {
    width: 100%;
    border: 1px solid var(--line);
    border-radius: var(--radius-control);
    padding: 11px 12px;
    font: inherit;
    background: var(--field);
    color: var(--ink);
}

textarea {
    resize: vertical;
    min-height: 86px;
}

label {
    display: block;
    color: var(--muted);
    font-size: .82rem;
    font-weight: 800;
    margin-bottom: 6px;
}

.form-grid, .settings-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.settings-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.full { grid-column: 1 / -1; }

button {
    border: 0;
    background: var(--button-bg);
    color: var(--button-text);
    border-radius: var(--radius-button);
    padding: 11px 14px;
    font: inherit;
    font-weight: 800;
    cursor: pointer;
    box-shadow: var(--button-effect-shadow) !important;
    transition: box-shadow .18s ease, transform .18s ease, background .18s ease;
}

button:hover { background: var(--button-hover-bg); }


button:disabled {
    cursor: not-allowed;
    opacity: .65;
}

.danger-button {
    background: var(--danger-button-bg);
    color: var(--danger-button-text);
}

.danger-button:hover {
    background: var(--danger-button-hover-bg);
}

.neutral-button {
    border: 1px solid var(--line);
    background: var(--neutral-button-bg);
    color: var(--neutral-button-text);
}

.neutral-button:hover { background: var(--neutral-button-hover-bg); }

.button-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--radius-button);
    padding: 9px 12px;
    background: var(--secondary-button-bg);
    color: var(--secondary-button-text);
    text-decoration: none;
    font-weight: 800;
    white-space: nowrap;
    box-shadow: var(--button-effect-shadow) !important;
    transition: box-shadow .18s ease, transform .18s ease, background .18s ease;
}

input[type="submit"], input[type="button"], .tech-primary { box-shadow: var(--button-effect-shadow) !important; }
button:hover, .button-link:hover, input[type="submit"]:hover, input[type="button"]:hover, .tech-primary:hover { box-shadow: var(--button-effect-shadow) !important; }

.button-link:hover { background: var(--secondary-button-hover-bg); color: var(--secondary-button-text); }
button[type="submit"]:not(.icon-button):not(.settings-subtab):not(.category-filter-button),
.button-link:not(.neutral-button):not(.danger-button):not(.settings-subtab):not(.category-filter-button):not(.customer-clear-button):not(.cart-edit-button),
input[type="submit"] {
    border-color: transparent;
    background: linear-gradient(135deg, #ff7a18 0%, #ff2d75 48%, #6852ff 100%);
    color: #ffffff;
}
button[type="submit"]:not(.icon-button):not(.settings-subtab):not(.category-filter-button):hover,
.button-link:not(.neutral-button):not(.danger-button):not(.settings-subtab):not(.category-filter-button):not(.customer-clear-button):not(.cart-edit-button):hover,
input[type="submit"]:hover {
    background: linear-gradient(135deg, #ff9f1c 0%, #ff477e 45%, #4f46e5 100%);
    color: #ffffff;
}
button[type="submit"]:not(.icon-button):not(.settings-subtab):not(.category-filter-button) .ui-icon,
.button-link:not(.neutral-button):not(.danger-button):not(.settings-subtab):not(.category-filter-button):not(.customer-clear-button):not(.cart-edit-button) .ui-icon {
    color: #ffffff !important;
    filter: drop-shadow(0 1px 1px rgba(0,0,0,.24));
}
button > .button-label,
a.button-link > .button-label {
    background-clip: text;
    -webkit-background-clip: text;
}
button:not(.button-link) > .button-label {
    background-image: var(--button-text-gradient);
    color: var(--button-text-fill);
}
a.button-link > .button-label,
button.button-link > .button-label {
    background-image: var(--secondary-button-text-gradient);
    color: var(--secondary-button-text-fill);
}
.neutral-button > .button-label { background-image: var(--neutral-button-text-gradient); color: var(--neutral-button-text-fill); }
.danger-button > .button-label { background-image: var(--danger-button-text-gradient); color: var(--danger-button-text-fill); }
.cash-denomination-settings,
.cash-denomination-buttons,
.pos-subscription-strip,
.invoice-subscription-strip {
    display: grid;
    gap: 10px;
}
.cash-denomination-settings {
    grid-template-columns: repeat(auto-fit, minmax(168px, 1fr));
    align-items: end;
}
.cash-denomination-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 82px;
    gap: 7px;
    padding: 8px;
    border: 1px solid var(--line);
    border-radius: var(--radius-control);
    background: color-mix(in srgb, var(--field) 76%, var(--panel));
}
.cash-denomination-row label {
    margin-bottom: 3px;
    font-size: .68rem;
}
.cash-denomination-buttons {
    grid-template-columns: repeat(auto-fit, minmax(72px, 1fr));
    margin-top: 10px;
}
.cash-denomination-button {
    min-height: 38px;
    padding: 8px 10px;
    border: 1px solid color-mix(in srgb, var(--accent) 26%, var(--line));
    border-radius: var(--radius-control);
    background: color-mix(in srgb, var(--accent) 12%, var(--field));
    color: var(--ink);
    font-weight: 900;
    box-shadow: none !important;
}
.pos-subscription-strip,
.invoice-subscription-strip {
    grid-template-columns: minmax(220px, 1.1fr) 160px minmax(180px, 1fr);
    align-items: end;
    padding: 12px;
    margin: 10px 0 0;
    border: 1px solid color-mix(in srgb, var(--accent) 24%, var(--line));
    border-radius: var(--radius-panel);
    background: color-mix(in srgb, var(--accent) 8%, var(--panel));
}
.pos-subscription-strip .followup-opt-in,
.invoice-subscription-strip .followup-opt-in {
    margin: 0;
}
@media (max-width: 780px) {
    .pos-subscription-strip,
    .invoice-subscription-strip,
    .cash-denomination-row {
        grid-template-columns: 1fr;
    }
}

.settings-shell-menu {
    display: none;
}

@media (max-width: 760px) {
    .settings-shell-menu {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        margin: 8px 8px 0;
        padding: 7px;
        border: 1px solid var(--line);
        border-radius: 7px;
        background: var(--panel);
        box-shadow: var(--shadow);
    }

    .settings-shell-menu > span {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        min-width: 0;
        color: var(--muted);
        font-size: .68rem;
        font-weight: 700;
    }

    .settings-shell-menu > span .ui-icon {
        width: 15px;
        height: 15px;
        color: var(--accent);
    }

    .settings-shell-menu .mobile-menu-toggle {
        position: static !important;
        display: inline-flex !important;
        width: auto !important;
        min-width: 0 !important;
        min-height: 38px !important;
        padding: 7px 10px !important;
    }
}

/* Mobile workspace gutters and compact repair/POS controls. */
@media (max-width: 760px) {
    .module-register .pos-transaction-panel {
        margin-right: 0 !important;
        margin-left: 0 !important;
    }

    .module-register .pos-transaction-panel form#checkoutForm > .pos-sidebar-customer-card,
    .module-register .pos-items-section {
        width: auto !important;
        max-width: calc(100% - 16px) !important;
        margin-right: 8px !important;
        margin-left: 8px !important;
    }

    body.module-register .pos-sidebar-customer-card .repair-workflow-panel-head {
        grid-template-columns: minmax(0, 1fr) auto !important;
        align-items: center !important;
        gap: 10px !important;
    }

    body.module-register .pos-sidebar-customer-card .repair-workflow-panel-head .customer-add-button {
        display: inline-flex !important;
        width: auto !important;
        max-width: 150px !important;
        min-width: 0 !important;
        height: 38px !important;
        min-height: 38px !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 7px !important;
        padding: 7px 11px !important;
        overflow: hidden !important;
        border-radius: 6px !important;
        white-space: nowrap !important;
        clip-path: none !important;
    }

    body.module-register .pos-sidebar-customer-card .customer-add-button > .ui-icon {
        position: static !important;
        display: block !important;
        width: 16px !important;
        height: 16px !important;
        min-width: 16px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        color: currentColor !important;
    }

    body.module-register .pos-sidebar-customer-card .customer-add-button .button-label {
        display: block !important;
        min-width: 0 !important;
        overflow: hidden !important;
        color: inherit !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    .repair-workflow-stage-notes,
    .repair-workflow-stage-notes .repair-workflow-journal-form,
    .repair-workflow-stage-notes .rich-text-editor {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .repair-workflow-journal-form .rich-text-toolbar {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        gap: 4px !important;
        min-height: 0 !important;
        padding: 6px !important;
    }

    .repair-workflow-journal-form .rich-text-toolbar .rich-text-format {
        flex: 1 1 132px !important;
        width: auto !important;
        min-width: 112px !important;
        max-width: none !important;
        height: 34px !important;
        min-height: 34px !important;
    }

    .repair-workflow-journal-form .rich-text-toolbar button:not(.rich-text-ai-button) {
        flex: 0 0 34px !important;
        width: 34px !important;
        max-width: 34px !important;
        min-width: 34px !important;
        height: 34px !important;
        min-height: 34px !important;
        padding: 0 !important;
        border-radius: 5px !important;
        clip-path: none !important;
    }

    .repair-workflow-journal-form .rich-text-toolbar .rich-text-ai-button {
        flex: 1 1 120px !important;
        width: auto !important;
        max-width: 150px !important;
        min-width: 112px !important;
        height: 34px !important;
        min-height: 34px !important;
        margin-left: 0 !important;
        padding: 0 9px !important;
        clip-path: none !important;
    }

    .repair-workflow-journal-form .rich-text-surface {
        min-height: 112px !important;
        padding: 10px !important;
    }
}

.customer-clear-button > .button-label,
.cart-edit-button > .button-label,
.category-filter-button:not(.active) > .button-label,
.receipt-delivery-button:not(.active) > .button-label {
    background-image: var(--neutral-button-text-gradient);
    color: var(--neutral-button-text-fill);
}
.qty { max-width: 80px; }

.tag {
    display: inline-flex;
    padding: 5px 9px;
    border-radius: var(--radius-control);
    background: color-mix(in srgb, var(--accent) 16%, var(--panel));
    color: color-mix(in srgb, var(--accent) 72%, var(--ink));
    font-weight: 800;
    font-size: .78rem;
}

.tag.vip { background: color-mix(in srgb, #f59e0b 16%, var(--panel)); color: #f6c15b; }
.tag.active { background: color-mix(in srgb, #22c55e 16%, var(--panel)); color: #68e39a; }
.tag.lead { background: color-mix(in srgb, #8b5cf6 16%, var(--panel)); color: #bda4ff; }
.stock-low { color: var(--danger); font-weight: 800; }
.stock-ok { color: #68e39a; font-weight: 800; }

.activity {
    display: grid;
    grid-template-columns: 42px 1fr;
    gap: 12px;
    padding: 14px 0;
    border-bottom: 1px solid var(--line);
}

.activity:last-child { border-bottom: 0; }

.avatar, .profile-avatar {
    border-radius: var(--radius-control);
    display: grid;
    place-items: center;
    background: color-mix(in srgb, var(--accent) 18%, var(--panel));
    color: var(--accent);
    font-weight: 900;
}

.avatar {
    width: 42px;
    height: 42px;
}

.profile-avatar {
    width: 52px;
    height: 52px;
    font-size: 1.2rem;
}

.activity p { margin-bottom: 4px; }

.profile-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 16px;
}

.profile-title {
    display: flex;
    align-items: center;
    gap: 12px;
}

.detail-list {
    display: grid;
    gap: 10px;
    margin: 0 0 18px;
    padding: 0;
}

.detail-list div {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    border-bottom: 1px solid var(--line);
    padding-bottom: 10px;
}

.detail-list dt {
    color: var(--muted);
    font-weight: 800;
}

.detail-list dd {
    margin: 0;
    text-align: right;
}

.empty {
    border: 1px dashed var(--line);
    border-radius: var(--radius-panel);
    padding: 18px;
    color: var(--muted);
    text-align: center;
}

.table-search {
    margin: 12px 0 16px;
    max-width: 560px;
}

.table-search input {
    min-height: 46px;
}

.number-preview-panel {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    border: 1px solid var(--line);
    border-radius: var(--radius-panel);
    padding: 14px;
    background: var(--field);
}

.number-preview-panel span {
    color: var(--muted);
    font-weight: 900;
}

.number-preview-panel strong {
    font-size: 1.35rem;
}

.product-photo-frame {
    width: 100%;
    max-width: 100%;
    height: clamp(220px, 45vh, 420px);
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: var(--radius-panel);
    background: var(--field);
    margin-bottom: 12px;
}

.product-photo-frame.empty {
    display: grid;
    place-items: center;
}

.product-photo {
    width: 100%;
    height: 100%;
    max-width: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

.remove-image-form {
    margin-bottom: 18px;
}

.readonly-field {
    width: 100%;
    border: 1px solid var(--line);
    border-radius: var(--radius-control);
    padding: 11px 12px;
    background: var(--field);
    color: var(--muted);
    font-weight: 800;
}

.category-editor {
    border-bottom: 1px solid var(--line);
    padding: 0 0 18px;
    margin-bottom: 18px;
}

.category-editor:last-child {
    border-bottom: 0;
    margin-bottom: 0;
    padding-bottom: 0;
}

.pos-layout {
    display: flex;
    gap: 20px;
    align-items: start;
}

.pos-layout > * {
    min-width: 0;
}

.pos-layout > .panel:first-child {
    flex: 1 1 auto;
    background: var(--panel);
    border-color: var(--line);
    box-shadow: var(--shadow);
}

.cart-table {
    margin-top: 16px;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: var(--radius-panel);
    background: var(--panel);
}

.cart-table th {
    background: var(--field);
}

.cart-table td {
    background: var(--panel);
}

.pos-customer-strip {
    background: color-mix(in srgb, var(--field) 82%, var(--accent) 18%);
    border: 1px solid color-mix(in srgb, var(--accent) 34%, var(--line));
    border-radius: var(--radius-panel);
    padding: 12px;
    margin-bottom: 14px;
    box-shadow: inset 3px 0 0 color-mix(in srgb, var(--accent) 72%, transparent);
}

.customer-picker-control {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 10px;
    align-items: end;
}

.customer-add-button,
.customer-edit-button {
    height: 45px;
    background: var(--button-bg);
    color: var(--button-text);
}

.customer-add-button:hover,
.customer-edit-button:hover {
    background: var(--button-hover-bg);
}

.customer-detail-preview {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 8px;
    align-items: center;
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid var(--line);
    color: var(--muted);
    font-size: 12px;
    line-height: 1.35;
}

.customer-detail-preview span {
    overflow-wrap: anywhere;
}

.customer-detail-preview strong {
    color: var(--ink);
    font-weight: 900;
    overflow-wrap: anywhere;
}

.customer-detail-separator {
    color: var(--line);
}

.customer-rewards-panel {
    display: grid;
    gap: 10px;
    margin-top: 12px;
    padding: 12px 14px;
    border: 1px solid color-mix(in srgb, var(--accent) 35%, var(--line));
    border-radius: var(--radius-control);
    background: linear-gradient(135deg, color-mix(in srgb, var(--accent) 13%, var(--field)), var(--field));
}
.customer-rewards-panel > div:first-child { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.customer-rewards-panel strong { color: var(--accent); }
.customer-rewards-control { display: flex; align-items: end; gap: 8px; flex-wrap: wrap; }
.customer-rewards-control label { margin: 0; }
.customer-rewards-control input { width: 130px; }

.pos-totals {
    display: grid;
    gap: 8px;
    max-width: 420px;
    margin: 18px 0;
    margin-left: auto;
    border: 1px solid var(--line);
    border-radius: var(--radius-panel);
    padding: 12px;
    background: var(--field);
}

.pos-totals div {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    border-bottom: 1px solid var(--line);
    padding-bottom: 8px;
}

.pos-totals div:last-child {
    border-bottom: 0;
    padding-bottom: 0;
    color: var(--accent);
    font-size: 1.08rem;
}

.pos-totals dt {
    color: var(--muted);
    font-weight: 800;
}

.pos-totals dd {
    margin: 0;
    font-weight: 900;
}

.payment-panel {
    border: 1px solid color-mix(in srgb, var(--accent) 36%, var(--line));
    border-radius: var(--radius-panel);
    margin-top: 20px;
    padding: 0;
    overflow: hidden;
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--accent) 13%, transparent), transparent 42%),
        color-mix(in srgb, var(--panel) 86%, var(--accent) 14%);
    box-shadow: 0 16px 38px color-mix(in srgb, var(--accent) 12%, transparent);
}
.payment-panel .toolbar {
    margin: 0;
    padding: 16px 18px;
    border-bottom: 1px solid color-mix(in srgb, var(--accent) 22%, var(--line));
    background: linear-gradient(135deg, color-mix(in srgb, var(--accent) 16%, var(--field)), color-mix(in srgb, var(--panel) 92%, var(--accent)));
}
.payment-panel .toolbar h3 {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    font-size: 1.02rem;
}
.payment-panel .toolbar h3::before {
    content: "";
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: var(--accent);
    box-shadow: 0 0 18px color-mix(in srgb, var(--accent) 58%, transparent);
}

.payment-method-buttons {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(148px, 1fr));
    gap: 10px;
    margin: 0;
    padding: 16px 18px 12px;
}

.payment-method-button {
    justify-content: flex-start;
    min-height: 54px;
    padding: 12px 14px;
    border: 1px solid color-mix(in srgb, var(--payment-color, var(--accent)) 48%, var(--line));
    background: color-mix(in srgb, var(--payment-color, var(--accent)) 16%, var(--panel));
    color: var(--ink);
    box-shadow: inset 4px 0 0 var(--payment-color, var(--accent)), 0 6px 16px rgba(15,23,42,.08);
    font-weight: 950;
}
.payment-method-button[data-payment-type="cash"] { --payment-color: #16a34a; }
.payment-method-button[data-payment-type="card"] { --payment-color: #7c3aed; }
.payment-method-button[data-payment-type="stripe_manual"] { --payment-color: #635bff; }
.payment-method-button[data-payment-type="terminal"] { --payment-color: #f97316; }
.payment-method-button[data-payment-type="layaway"] { --payment-color: #b45309; }
.payment-method-button[data-payment-type="qr_portal"] { --payment-color: #0f766e; }
.payment-method-button[data-payment-type="other"] { --payment-color: #0ea5e9; }

.payment-method-button:hover {
    border-color: var(--payment-color, var(--accent));
    background: var(--payment-color, var(--accent));
    color: #fff;
    transform: translateY(-1px);
}

.payment-list {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0 18px 18px;
}
.payment-list .empty {
    border: 1px dashed color-mix(in srgb, var(--accent) 35%, var(--line));
    background: color-mix(in srgb, var(--field) 82%, var(--accent) 18%);
    color: var(--muted);
}

.payment-line {
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: 10px;
    align-items: center;
    border: 1px solid color-mix(in srgb, var(--accent) 22%, var(--line));
    border-radius: var(--radius-control);
    padding: 12px;
    background: var(--panel);
    box-shadow: 0 8px 20px rgba(15,23,42,.05);
}

.invoice-workspace {
    grid-template-columns: minmax(420px, 1fr) minmax(420px, .9fr);
}

.invoice-status {
    display: inline-flex;
    align-items: center;
    border-radius: var(--radius-control);
    padding: 5px 10px;
    font-size: .78rem;
    font-weight: 900;
    background: color-mix(in srgb, var(--field) 70%, var(--line));
    color: var(--ink);
}

.invoice-status-draft { background: #eef2f7; color: #334155; }
.invoice-status-sent { background: #dbeafe; color: #1d4ed8; }
.invoice-status-paid { background: #dcfce7; color: #166534; }
.invoice-status-overdue { background: #fee2e2; color: #b91c1c; }
.invoice-status-void { background: #e5e7eb; color: #4b5563; }

.invoice-line-editor {
    display: grid;
    gap: 8px;
    border: 1px solid var(--line);
    border-radius: var(--radius-panel);
    padding: 12px;
    background: var(--field);
}

.invoice-line-head,
.invoice-line {
    display: grid;
    grid-template-columns: minmax(140px, 1fr) minmax(180px, 1.2fr) 80px 110px;
    gap: 8px;
    align-items: center;
}

.invoice-line-head {
    color: var(--muted);
    font-size: .76rem;
    font-weight: 900;
    text-transform: none;
}

.invoice-submit-row {
    display: flex;
    justify-content: flex-end;
}

.invoice-landing-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 18px;
    padding: 4px 2px;
}

.invoice-landing-heading h2 { margin-bottom: 5px; font-size: 1.65rem; }
.invoice-landing-heading p { margin-bottom: 0; }
.invoice-create-action { min-height: 44px; padding-inline: 18px; }
.invoice-summary-strip { margin-bottom: 20px; }
.invoice-summary-strip .stat { min-height: 132px; }
.invoice-summary-primary { border-color: color-mix(in srgb, var(--accent) 48%, var(--line)); background: linear-gradient(140deg, color-mix(in srgb, var(--accent) 15%, var(--panel)), var(--panel)); }
.invoice-summary-primary strong { color: var(--accent); }

.invoice-list-panel { padding: 0; overflow: hidden; }
.invoice-list-toolbar { display: grid; grid-template-columns: minmax(240px, 1fr) 190px auto; gap: 12px; align-items: end; padding: 18px 20px; border-bottom: 1px solid var(--line); background: color-mix(in srgb, var(--field) 70%, var(--panel)); }
.invoice-list-toolbar .button-link { min-height: 44px; }
.invoice-search-input { position: relative; }
.invoice-search-input .ui-icon { position: absolute; top: 50%; left: 13px; width: 17px; height: 17px; color: var(--muted); transform: translateY(-50%); pointer-events: none; }
.invoice-search-input input { padding-left: 42px; }
.invoice-table-wrap { overflow-x: auto; }
.invoice-list-table { min-width: 920px; }
.invoice-list-table th { background: color-mix(in srgb, var(--field) 82%, var(--panel)); }
.invoice-list-table tbody tr { transition: background-color .16s ease; }
.invoice-list-table tbody tr:hover { background: color-mix(in srgb, var(--accent) 7%, var(--panel)); }
.invoice-list-table td { vertical-align: middle; }
.invoice-due-date.is-overdue { color: var(--danger); font-weight: 900; }
.invoice-row-actions { flex-wrap: nowrap; }
.invoice-row-actions .button-link { padding: 7px 9px; font-size: .76rem; }
.invoice-mobile-actions { display: none; }
.invoice-filter-empty { margin: 18px; }
.invoice-empty-state { display: grid; justify-items: center; gap: 8px; padding: 64px 24px; text-align: center; }
.invoice-empty-state h3, .invoice-empty-state p { margin: 0; }
.invoice-empty-icon { display: grid; place-items: center; width: 54px; height: 54px; border: 1px solid color-mix(in srgb, var(--accent) 38%, var(--line)); border-radius: var(--radius-panel); background: color-mix(in srgb, var(--accent) 12%, var(--field)); color: var(--accent); }
.invoice-empty-icon .ui-icon { width: 25px; height: 25px; }

.invoice-create-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(380px, 450px); gap: 20px; align-items: start; padding-bottom: 92px; }
.invoice-builder-panel { min-width: 0; padding: 0; overflow: visible; }
.invoice-builder-heading { margin: 0; padding: 20px; border-bottom: 1px solid var(--line); }
.invoice-builder-heading h2 { margin-bottom: 5px; }
.invoice-customer-strip { padding: 16px 20px; border-bottom: 1px solid color-mix(in srgb, var(--accent) 32%, var(--line)); background: linear-gradient(110deg, color-mix(in srgb, var(--accent) 12%, var(--field)), var(--field)); }
.invoice-customer-control { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 9px; align-items: start; }
.invoice-customer-control > .button-link { min-height: 45px; }
.invoice-meta-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; padding: 18px 20px; border-bottom: 1px solid var(--line); }
.invoice-terms-field { grid-column: span 2; }
.invoice-due-presets { grid-column: span 2; min-width: 0; }
.invoice-due-presets .field-label { display: block; margin-bottom: 6px; color: var(--muted); font-size: .82rem; font-weight: 800; }
.invoice-due-presets > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }
.invoice-due-presets button { min-width: 0; padding: 10px 7px; font-size: .76rem; }
.invoice-product-search-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: end; padding: 18px 20px 8px; }
.invoice-product-search-row > button { min-height: 45px; margin-bottom: 18px; }
.invoice-product-search-row .search-results { position: relative; z-index: 3; margin-bottom: 0; }
.invoice-cart-wrap { min-height: 250px; padding: 0 20px 18px; overflow-x: auto; }
.invoice-cart-table { min-width: 700px; }
.invoice-cart-table th { background: color-mix(in srgb, var(--field) 84%, var(--panel)); }
.invoice-cart-table td { vertical-align: middle; }
.invoice-cart-table td:first-child { min-width: 260px; }
.invoice-cart-table td:first-child small { display: block; margin-top: 5px; color: var(--muted); }
.invoice-cart-table td:nth-child(2) { width: 125px; }
.invoice-cart-table td:nth-child(3) { width: 90px; }
.invoice-cart-table td:nth-child(4) { width: 120px; }
.invoice-cart-table td:last-child { width: 105px; text-align: right; }
.invoice-cart-table .danger-button { padding: 8px 10px; font-size: .75rem; }
.invoice-notes-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(220px, .5fr); gap: 16px; padding: 18px 20px; border-top: 1px solid var(--line); }
.invoice-document-summary { padding: 14px; border: 1px solid color-mix(in srgb, var(--accent) 30%, var(--line)); border-radius: var(--radius-panel); background: color-mix(in srgb, var(--accent) 8%, var(--field)); }
.invoice-document-summary dl { display: grid; gap: 9px; margin: 12px 0 0; }
.invoice-document-summary dl div { display: flex; justify-content: space-between; gap: 10px; }
.invoice-document-summary dt { color: var(--muted); }
.invoice-document-summary dd { margin: 0; font-weight: 900; text-align: right; }
.invoice-builder-footer, .pos-page-footer { position: fixed; z-index: 900; right: 0; bottom: 0; left: var(--sidebar-width); display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 76px; padding: 11px 30px; border-top: 1px solid color-mix(in srgb, var(--accent) 42%, var(--line)); background: color-mix(in srgb, var(--panel) 94%, var(--accent) 6%); box-shadow: 0 -12px 34px rgba(0, 0, 0, .18); }
.sidebar-collapsed .invoice-builder-footer, .sidebar-collapsed .pos-page-footer { left: 66px; }
.invoice-builder-totals { display: flex; align-items: stretch; gap: 8px; }
.invoice-builder-totals > div { display: grid; gap: 3px; min-width: 105px; padding: 7px 11px; border-right: 1px solid var(--line); }
.invoice-builder-totals span { color: var(--muted); font-size: .72rem; font-weight: 800; }
.invoice-builder-totals strong { font-size: .96rem; }
.invoice-builder-totals .invoice-builder-total { border-right: 0; }
.invoice-builder-total strong { color: var(--accent); font-size: 1.2rem; }
.invoice-builder-actions { display: flex; gap: 8px; }
.invoice-product-panel { position: sticky; top: 20px; max-height: calc(100vh - 40px); overflow-y: auto; }
.invoice-product-panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.invoice-product-panel-heading h2 { margin: 3px 0 0; }
.invoice-product-count { padding: 5px 8px; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--field); color: var(--muted); font-size: .72rem; font-weight: 900; }
.invoice-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 14px; }
.invoice-product-grid .product-pick-card { min-width: 0; }

.invoice-workflow-tabs {
    position: sticky;
    top: 10px;
    z-index: 120;
    display: grid;
    grid-template-columns: repeat(4, minmax(130px, 1fr));
    gap: 1px;
    margin: 0 0 14px;
    padding: 6px;
    overflow: visible;
    border: 1px solid color-mix(in srgb, var(--accent) 34%, var(--line));
    border-radius: var(--radius-panel);
    background: color-mix(in srgb, var(--panel) 96%, var(--accent) 4%);
    box-shadow: 0 12px 30px rgba(15, 23, 42, .12);
}
.invoice-workflow-tabs .settings-tab {
    min-width: 0;
    justify-content: center;
    border-radius: var(--radius-control);
    color: var(--ink);
}
.invoice-workflow-tabs .settings-tab.active {
    color: var(--button-text);
}
.invoice-workflow-section { scroll-margin-top: 92px; }
.invoice-items-workspace {
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    background: color-mix(in srgb, var(--panel) 96%, var(--field) 4%);
}

.invoice-public-body { min-height: 100vh; }
.invoice-public-page {
    width: min(100%, 1040px);
    margin-inline: auto;
    gap: 16px;
    padding: 28px 20px 48px;
}
.invoice-public-page .invoice-document { width: 100%; margin: 0; }
.invoice-public-payment {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px 20px;
    width: 100%;
    padding: 17px 18px;
    border: 1px solid color-mix(in srgb, var(--accent) 42%, var(--line));
    border-radius: var(--radius-panel);
    background: linear-gradient(125deg, color-mix(in srgb, var(--accent) 12%, var(--panel)), var(--panel) 72%);
    box-shadow: 0 14px 34px rgba(15, 23, 42, .12);
}
.invoice-public-payment-copy { display: flex; align-items: center; gap: 13px; min-width: 0; }
.invoice-public-payment-copy h2 { margin: 0 0 3px; font-size: 1rem; }
.invoice-public-payment-copy p { margin: 0; color: var(--muted); font-size: .82rem; }
.invoice-public-payment-icon {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    border-radius: var(--radius-control);
    background: linear-gradient(135deg, var(--accent), var(--accent-dark));
    color: var(--button-text);
}
.invoice-public-payment-icon .ui-icon { width: 20px; height: 20px; color: currentColor; }
.invoice-public-pay-button { min-height: 46px; padding-inline: 18px; }
.invoice-public-paid {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 10px 13px;
    border: 1px solid color-mix(in srgb, var(--success) 45%, var(--line));
    border-radius: var(--radius-control);
    background: color-mix(in srgb, var(--success) 12%, var(--panel));
    color: var(--success);
    font-weight: 800;
}
.invoice-public-alert { grid-column: 1 / -1; margin: 0; color: var(--danger); font-size: .82rem; }
.invoice-public-alert.success { color: var(--success); }
.invoice-public-not-found { width: min(100%, 680px); }

@media (max-width: 720px) {
    .invoice-workflow-tabs { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .invoice-public-page { padding: 12px 8px 30px; }
    .invoice-public-payment { grid-template-columns: 1fr; padding: 14px; }
    .invoice-public-pay-button { width: 100%; }
}

.reports-heading { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin-bottom: 16px; padding: 3px 2px; }
.reports-heading h2 { margin: 4px 0 5px; font-size: 1.65rem; }
.reports-heading p { margin: 0; }
.reports-heading-actions { display: flex; gap: 8px; }
.report-type-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; padding-bottom: 4px; overflow: visible; }
.report-type-tabs a { display: inline-flex; align-items: center; gap: 7px; flex: 0 0 auto; min-height: 42px; padding: 9px 12px; border: 1px solid var(--line); border-radius: var(--radius-control); background: color-mix(in srgb, var(--field) 82%, var(--panel)); color: var(--muted); font-size: .79rem; font-weight: 900; text-decoration: none; }
.report-type-tabs a:hover { border-color: color-mix(in srgb, var(--accent) 45%, var(--line)); color: var(--ink); }
.report-type-tabs a.active { border-color: var(--accent); background: linear-gradient(135deg, color-mix(in srgb, var(--accent) 24%, var(--field)), color-mix(in srgb, var(--accent-dark) 15%, var(--field))); color: var(--ink); box-shadow: 0 8px 22px color-mix(in srgb, var(--accent) 16%, transparent); }
.report-type-tabs .ui-icon { width: 16px; height: 16px; }
.report-period-panel { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin-bottom: 18px; padding: 14px 16px; }
.report-period-presets { display: flex; gap: 7px; flex-wrap: wrap; }
.report-period-presets .button-link { min-height: 42px; }
.report-custom-range { display: grid; grid-template-columns: 150px 150px auto; gap: 8px; align-items: end; }
.report-custom-range button { min-height: 42px; }
.report-kpis { margin-bottom: 18px; }
.report-kpis .stat { position: relative; min-height: 132px; overflow: hidden; background: linear-gradient(145deg, color-mix(in srgb, var(--panel) 90%, var(--accent) 10%), var(--panel)); }
.report-kpis .stat::after { content: ""; position: absolute; inset: auto 0 0; height: 3px; background: linear-gradient(90deg, var(--accent), var(--accent-dark)); opacity: .75; }
.report-kpis .stat strong { display: block; margin: 10px 0 5px; color: var(--ink); font-size: 1.55rem; }
.report-kpis .stat small { color: var(--muted); }
.report-overview-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-bottom: 18px; }
.report-section { min-width: 0; margin-bottom: 18px; }
.report-overview-grid .report-section { margin-bottom: 0; }
.report-section > h3 { margin-bottom: 14px; }
.report-table-wrap { width: 100%; overflow-x: auto; }
.report-table-wrap table { min-width: 760px; }
.report-table-wrap th { background: color-mix(in srgb, var(--field) 84%, var(--panel)); white-space: nowrap; }
.report-table-wrap td { vertical-align: middle; }
.report-table-wrap tbody tr:hover { background: color-mix(in srgb, var(--accent) 7%, var(--panel)); }
.report-bar-list { display: grid; gap: 11px; }
.report-bar-list > div:not(.empty) { display: grid; grid-template-columns: minmax(85px, .6fr) minmax(130px, 1.5fr) minmax(80px, auto); gap: 10px; align-items: center; }
.report-bar-list span { min-width: 0; overflow: hidden; color: var(--muted); font-size: .76rem; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.report-bar-list i { position: relative; display: block; height: 9px; overflow: hidden; border-radius: var(--radius-control); background: color-mix(in srgb, var(--line) 72%, var(--field)); }
.report-bar-list i::after { content: ""; position: absolute; inset: 0 auto 0 0; width: var(--bar-size); border-radius: inherit; background: linear-gradient(90deg, var(--accent), var(--accent-dark)); }
.report-bar-list strong { font-size: .79rem; text-align: right; }
.report-status-summary { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 14px; }
.report-status-summary span { display: inline-flex; align-items: center; gap: 7px; padding: 7px 10px; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--field); color: var(--muted); font-size: .76rem; font-weight: 800; }
.report-status-summary strong { color: var(--accent); font-size: .95rem; }

.sales-history-heading { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin-bottom: 17px; padding: 3px 2px; }
.sales-history-heading h2 { margin: 4px 0 5px; font-size: 1.65rem; }
.sales-history-heading p { margin: 0; }
.sales-history-stats { margin-bottom: 18px; }
.sales-history-stats .stat { position: relative; min-height: 126px; overflow: hidden; background: linear-gradient(145deg, color-mix(in srgb, var(--panel) 90%, var(--accent) 10%), var(--panel)); }
.sales-history-stats .stat::after { content: ""; position: absolute; inset: auto 0 0; height: 3px; background: linear-gradient(90deg, var(--accent), var(--accent-dark)); opacity: .7; }
.sales-history-stats strong { display: block; margin: 10px 0 4px; font-size: 1.45rem; }
.sales-history-stats small { color: var(--muted); }
.sales-history-panel { padding: 0; overflow: hidden; }
.sales-filter-grid { display: grid; grid-template-columns: minmax(260px, 1.6fr) repeat(2, minmax(145px, .7fr)) repeat(3, minmax(150px, .8fr)); gap: 11px; align-items: end; padding: 18px 20px; border-bottom: 1px solid var(--line); background: color-mix(in srgb, var(--field) 72%, var(--panel)); }
.sales-filter-search { grid-column: span 2; }
.sales-filter-actions { display: flex; align-items: stretch; gap: 7px; }
.sales-filter-actions > * { min-height: 44px; }
.sales-quick-ranges { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 10px 20px; border-bottom: 1px solid var(--line); }
.sales-quick-ranges > span { margin-right: 2px; color: var(--muted); font-size: .75rem; font-weight: 900; }
.sales-quick-ranges a { display: inline-flex; align-items: center; gap: 5px; padding: 6px 9px; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--field); color: var(--ink); font-size: .74rem; font-weight: 800; text-decoration: none; }
.sales-quick-ranges a:hover { border-color: var(--accent); background: color-mix(in srgb, var(--accent) 10%, var(--field)); }
.sales-quick-ranges .ui-icon { width: 13px; height: 13px; color: var(--accent); }
.sales-export-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 13px 20px; border-bottom: 1px solid color-mix(in srgb, var(--accent) 28%, var(--line)); background: linear-gradient(110deg, color-mix(in srgb, var(--accent) 9%, var(--panel)), var(--panel)); }
.sales-export-toolbar > div:first-child { display: grid; grid-template-columns: auto auto; align-items: baseline; gap: 4px 12px; }
.sales-export-toolbar > div:first-child strong { color: var(--accent); }
.sales-export-toolbar > div:first-child span { color: var(--ink); font-weight: 900; }
.sales-export-toolbar > div:first-child small { grid-column: 1 / -1; color: var(--muted); }
.sales-export-actions { display: flex; gap: 7px; flex-wrap: wrap; }
.sales-export-actions button { min-height: 40px; padding: 8px 11px; }
.sales-history-table-wrap { width: 100%; overflow-x: auto; }
.sales-history-table { min-width: 1420px; }
.sales-history-table th { position: sticky; top: 0; z-index: 2; background: color-mix(in srgb, var(--field) 88%, var(--panel)); white-space: nowrap; }
.sales-history-table td { vertical-align: middle; }
.sales-history-table tbody tr:hover { background: color-mix(in srgb, var(--accent) 7%, var(--panel)); }
.sales-history-table tbody tr:has([data-sale-select]:checked) { background: color-mix(in srgb, var(--accent) 13%, var(--panel)); }
.sales-select-cell { width: 46px; text-align: center; }
.sales-select-cell input { width: 18px; height: 18px; accent-color: var(--accent); }
.sales-row-actions { flex-wrap: nowrap; }
.sales-row-actions .button-link { padding: 7px 9px; font-size: .74rem; }
.sales-history-empty { margin: 20px; }

.customer-directory-heading, .customer-create-heading { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin-bottom: 17px; padding: 3px 2px; }
.customer-directory-heading h2, .customer-create-heading h2 { margin: 4px 0 5px; font-size: 1.65rem; }
.customer-directory-heading p, .customer-create-heading p { margin: 0; }
.customer-directory-actions { display: flex; gap: 8px; }
.customer-directory-stats { margin-bottom: 18px; }
.customer-directory-stats .stat { position: relative; min-height: 126px; overflow: hidden; background: linear-gradient(145deg, color-mix(in srgb, var(--panel) 90%, var(--accent) 10%), var(--panel)); }
.customer-directory-stats .stat::after { content: ""; position: absolute; inset: auto 0 0; height: 3px; background: linear-gradient(90deg, var(--accent), var(--accent-dark)); opacity: .7; }
.customer-directory-stats strong { display: block; margin: 10px 0 4px; font-size: 1.45rem; }
.customer-directory-stats small { color: var(--muted); }
.customer-directory-panel { padding: 0; overflow: hidden; }
.customer-directory-filters { display: grid; grid-template-columns: minmax(280px, 1.7fr) repeat(4, minmax(145px, .75fr)); gap: 11px; align-items: end; padding: 18px 20px; border-bottom: 1px solid var(--line); background: color-mix(in srgb, var(--field) 72%, var(--panel)); }
.customer-directory-search { grid-column: span 2; }
.customer-filter-actions { display: flex; align-items: stretch; gap: 7px; }
.customer-filter-actions > * { min-height: 44px; }
.customer-directory-table-wrap { width: 100%; overflow-x: auto; }
.customer-directory-table { min-width: 1120px; }
.customer-directory-table th { background: color-mix(in srgb, var(--field) 88%, var(--panel)); white-space: nowrap; }
.customer-directory-table td { vertical-align: middle; }
.customer-directory-table tbody tr:hover { background: color-mix(in srgb, var(--accent) 7%, var(--panel)); }
.customer-directory-identity { display: flex; align-items: center; gap: 10px; min-width: 210px; }
.customer-directory-identity > span { display: grid; place-items: center; width: 38px; height: 38px; flex: 0 0 38px; border: 1px solid color-mix(in srgb, var(--accent) 35%, var(--line)); border-radius: var(--radius-control); background: color-mix(in srgb, var(--accent) 13%, var(--field)); color: var(--accent); font-weight: 900; }
.customer-directory-identity > div { display: grid; gap: 3px; min-width: 0; }
.customer-directory-identity small { color: var(--muted); }
.customer-discount-tag { display: inline-flex; padding: 5px 8px; border: 1px solid color-mix(in srgb, #f59e0b 42%, var(--line)); border-radius: var(--radius-control); background: color-mix(in srgb, #f59e0b 14%, var(--field)); color: color-mix(in srgb, #f59e0b 75%, var(--ink)); font-size: .74rem; font-weight: 900; }
.customer-type-tag { display: inline-flex; align-items: center; gap: 5px; padding: 5px 8px; border: 1px solid var(--line); border-radius: var(--radius-control); font-size: .72rem; font-weight: 900; }
.customer-type-customer { border-color: color-mix(in srgb, #0ea5e9 42%, var(--line)); background: color-mix(in srgb, #0ea5e9 13%, var(--field)); color: color-mix(in srgb, #0ea5e9 72%, var(--ink)); }
.customer-type-business { border-color: color-mix(in srgb, #f59e0b 45%, var(--line)); background: color-mix(in srgb, #f59e0b 14%, var(--field)); color: color-mix(in srgb, #f59e0b 76%, var(--ink)); }
.customer-directory-table td:nth-child(6) small { display: block; margin-top: 4px; color: var(--muted); }
.customer-directory-empty { margin: 20px; }
.customer-create-form { display: grid; gap: 18px; width: 100%; max-width: none; }
.customer-profile-hero { display: grid; grid-template-columns: minmax(260px, 1.2fr) minmax(220px, 1fr) auto; align-items: center; gap: 18px; margin: -14px -14px 22px; padding: 24px; border-bottom: 1px solid color-mix(in srgb, var(--accent) 30%, var(--line)); background: linear-gradient(120deg, color-mix(in srgb, var(--accent) 14%, var(--panel)), var(--panel) 56%, color-mix(in srgb, var(--submenu-bg) 20%, var(--panel))); }
.customer-profile-contact { display: grid; gap: 7px; min-width: 0; }
.customer-profile-contact span { display: flex; align-items: center; gap: 7px; min-width: 0; overflow-wrap: anywhere; color: var(--muted); font-size: .8rem; font-weight: 750; }
.customer-profile-contact .ui-icon { width: 15px; height: 15px; flex: 0 0 15px; color: var(--accent); }
.customer-profile-metrics { display: grid; grid-column: 1 / -1; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.customer-profile-metrics span { display: grid; gap: 3px; padding: 10px 12px; border: 1px solid var(--line); border-radius: var(--radius-control); background: color-mix(in srgb, var(--field) 86%, transparent); }
.customer-profile-metrics small { color: var(--muted); font-size: .68rem; font-weight: 850; text-transform: uppercase; }
.customer-profile-metrics strong { font-size: 1.05rem; }
.customer-profile-sections { display: grid; gap: 22px; }
.customer-profile-sections > section:first-child > h3 { margin-top: 0; font-size: 1.2rem; }
.customer-profile-sections > section:first-child .form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px 18px; }
.customer-profile-secondary { padding-top: 20px; border-top: 1px solid var(--line); }
.customer-snapshot-panel { display: grid; gap: 16px; margin: 0 0 22px; }
.customer-snapshot-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.customer-snapshot-heading h3 { margin: 2px 0 4px; font-size: 1.25rem; }
.customer-snapshot-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.customer-profile-edit-cta { min-height: 42px; border-color: #f97316; background: linear-gradient(135deg, #f97316, #facc15); color: #111827; box-shadow: 0 12px 24px rgba(249, 115, 22, .22); font-weight: 950; }
.customer-profile-edit-cta:hover { background: linear-gradient(135deg, #ea580c, #f59e0b); color: #111827; }
.customer-edit-modal-card { width: min(920px, 100%); }
.customer-edit-modal-card .modal-toolbar { margin: 0 0 16px; padding-bottom: 13px; border-bottom: 1px solid var(--line); }
.customer-edit-modal-card .form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.customer-snapshot-kpis { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; }
.customer-snapshot-kpis article { position: relative; display: grid; gap: 5px; min-height: 104px; padding: 14px; border: 1px solid color-mix(in srgb, var(--accent) 16%, var(--line)); border-radius: var(--radius-panel); background: linear-gradient(145deg, color-mix(in srgb, var(--field) 88%, var(--accent) 12%), color-mix(in srgb, var(--panel) 92%, var(--submenu-bg) 8%)); overflow: hidden; }
.customer-snapshot-kpis article::after { content: ""; position: absolute; right: -18px; bottom: -22px; width: 72px; height: 72px; border-radius: 50%; background: color-mix(in srgb, var(--accent) 15%, transparent); pointer-events: none; }
.customer-snapshot-kpis span { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 9px; background: color-mix(in srgb, var(--accent) 13%, var(--panel)); color: var(--accent); }
.customer-snapshot-kpis small { color: var(--muted); font-size: .68rem; font-weight: 900; text-transform: uppercase; }
.customer-snapshot-kpis strong { position: relative; z-index: 1; font-size: 1.15rem; overflow-wrap: anywhere; }
.customer-snapshot-tabs { display: flex; flex-wrap: wrap; gap: 8px; padding: 9px; border: 1px solid color-mix(in srgb, var(--accent) 34%, var(--line)); border-radius: var(--radius-panel); background: color-mix(in srgb, var(--sidebar) 88%, var(--accent) 12%); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--sidebar-text) 8%, transparent); overflow: visible; }
.customer-snapshot-tabs::-webkit-scrollbar { display: none; }
.customer-snapshot-tab { flex: 1 1 0; min-width: max-content; justify-content: center; border: 1px solid color-mix(in srgb, var(--sidebar-text) 16%, transparent); box-shadow: none; background: color-mix(in srgb, var(--panel) 12%, transparent); color: var(--sidebar-text); }
.customer-snapshot-tab:hover { border-color: color-mix(in srgb, var(--accent) 60%, var(--sidebar-text)); background: color-mix(in srgb, var(--accent) 26%, var(--sidebar)); color: var(--sidebar-text); }
.customer-snapshot-tab.active { border-color: var(--accent); background: linear-gradient(135deg, var(--accent), var(--accent-dark)); color: var(--button-text); box-shadow: 0 8px 18px color-mix(in srgb, var(--accent) 24%, transparent); }
.customer-snapshot-tab-panel { display: grid; gap: 14px; padding: 4px 0 0; }
.customer-snapshot-tab-panel[hidden] { display: none; }
.customer-overview-grid, .customer-ledger-grid, .customer-activity-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; align-items: start; }
.customer-ledger-grid, .customer-activity-grid { grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr); }
.snapshot-info-card { display: grid; gap: 13px; min-width: 0; padding: 15px; border: 1px solid color-mix(in srgb, var(--accent) 14%, var(--line)); border-radius: var(--radius-panel); background: color-mix(in srgb, var(--panel) 88%, var(--field)); box-shadow: 0 12px 26px rgba(15, 23, 42, .05); }
.snapshot-card-heading { display: flex; align-items: center; gap: 9px; color: var(--ink); }
.snapshot-card-heading .ui-icon { color: var(--accent); }
.compact-detail-list { gap: 8px; }
.compact-detail-list div { padding: 8px 0; }
.snapshot-mini-list, .customer-sales-list, .rewards-ledger { display: grid; gap: 8px; }
.snapshot-mini-list a, .customer-sales-list article, .rewards-ledger article { display: grid; gap: 6px; padding: 11px; border: 1px solid var(--line); border-radius: var(--radius-control); background: color-mix(in srgb, var(--field) 82%, transparent); color: var(--ink); text-decoration: none; }
.snapshot-mini-list a span, .snapshot-mini-list a small, .customer-sales-list article > div, .rewards-ledger article { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-width: 0; }
.snapshot-mini-list a span { justify-content: flex-start; }
.snapshot-mini-list small, .customer-sales-list small, .rewards-ledger small { color: var(--muted); }
.snapshot-chip-list { display: flex; flex-wrap: wrap; gap: 8px; }
.snapshot-chip-list span { display: grid; gap: 2px; padding: 9px 10px; border: 1px solid var(--line); border-radius: var(--radius-control); background: color-mix(in srgb, var(--field) 84%, transparent); }
.snapshot-chip-list small { color: var(--muted); font-size: .72rem; font-weight: 800; }
.customer-sales-list article { grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; }
.customer-sales-list article > div:first-child { display: grid; justify-content: start; }
.rewards-spotlight { background: linear-gradient(145deg, color-mix(in srgb, var(--accent) 14%, var(--panel)), var(--panel)); }
.rewards-balance-display { font-size: clamp(2rem, 5vw, 3.7rem); font-weight: 950; line-height: 1; color: var(--accent); letter-spacing: 0; }
.rewards-ledger article { grid-template-columns: minmax(0, 1fr) auto auto; }
.rewards-ledger .earned { color: #16a34a; font-weight: 900; }
.rewards-ledger .used { color: #dc2626; font-weight: 900; }
.customer-device-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.customer-device-card { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 10px; align-items: start; padding: 14px; border: 1px solid color-mix(in srgb, var(--accent) 14%, var(--line)); border-radius: var(--radius-panel); background: linear-gradient(145deg, color-mix(in srgb, var(--panel) 90%, var(--accent) 10%), var(--panel)); }
.customer-device-card .button-link { grid-column: 1 / -1; width: max-content; }
.customer-device-icon { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 10px; background: color-mix(in srgb, var(--accent) 12%, var(--field)); color: var(--accent); }
.customer-device-card strong, .customer-device-card small, .customer-device-card code, .customer-device-card p { display: block; min-width: 0; overflow-wrap: anywhere; }
.customer-device-card small { color: var(--muted); margin-top: 2px; }
.customer-device-card code { width: max-content; max-width: 100%; margin-top: 8px; padding: 4px 7px; border-radius: 6px; background: color-mix(in srgb, var(--field) 86%, var(--panel)); }
.compact-toolbar { margin-bottom: 0; }
.compact-activity-form { grid-template-columns: 1fr; }
@media (max-width: 900px) { .customer-profile-hero { grid-template-columns: minmax(0, 1fr) auto; } .customer-profile-contact { grid-column: 1 / -1; } }
@media (max-width: 1100px) { .customer-snapshot-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); } .customer-overview-grid, .customer-device-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 780px) { .customer-snapshot-heading, .customer-snapshot-actions { display: grid; justify-content: stretch; } .customer-snapshot-actions .button-link, .customer-profile-edit-cta { width: 100%; } .customer-ledger-grid, .customer-activity-grid { grid-template-columns: 1fr; } .customer-sales-list article { grid-template-columns: 1fr; } .customer-edit-modal-card .form-grid { grid-template-columns: 1fr; } }
@media (max-width: 680px) { .customer-profile-hero { grid-template-columns: 1fr; margin: -14px -14px 18px; padding: 18px; } .customer-profile-hero > .button-link { width: 100%; } .customer-profile-metrics, .customer-snapshot-kpis, .customer-overview-grid, .customer-device-grid { grid-template-columns: 1fr; } .customer-snapshot-tab { flex: 1 0 calc(50% - 6px); } }
.customer-form-section { padding: 0; overflow: hidden; }
.customer-form-section-heading { display: flex; align-items: center; gap: 12px; padding: 16px 18px; border-bottom: 1px solid var(--line); background: linear-gradient(110deg, color-mix(in srgb, var(--accent) 10%, var(--field)), var(--field)); }
.customer-form-section-heading h3, .customer-form-section-heading p { margin: 0; }
.customer-form-section-heading p { margin-top: 3px; }
.customer-form-icon { display: grid; place-items: center; width: 38px; height: 38px; flex: 0 0 38px; border-radius: var(--radius-control); background: var(--button-bg); color: var(--button-text); }
.customer-form-icon .ui-icon { width: 19px; height: 19px; }
.customer-form-section > .form-grid { padding: 18px; }
.customer-create-actions { position: sticky; bottom: 0; display: flex; justify-content: flex-end; gap: 8px; padding: 12px 16px; border: 1px solid color-mix(in srgb, var(--accent) 32%, var(--line)); border-radius: var(--radius-panel); background: color-mix(in srgb, var(--panel) 94%, var(--accent) 6%); box-shadow: 0 -8px 24px rgba(0, 0, 0, .12); }
.customer-benefit-editor { display: grid; gap: 12px; margin: 6px 0; padding: 14px; border: 1px solid color-mix(in srgb, #f59e0b 35%, var(--line)); border-radius: var(--radius-panel); background: linear-gradient(125deg, color-mix(in srgb, #f59e0b 8%, var(--field)), var(--field)); }
.customer-benefit-editor h3 { margin: 3px 0; }
.customer-benefit-editor p { margin: 0; }
.customer-benefit-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }

.sticky-submit-action:not(.invoice-builder-footer):not(.pos-page-footer) { position: sticky; z-index: 75; bottom: 0; display: flex; justify-content: flex-end; gap: 8px; grid-column: 1 / -1; width: 100%; margin-top: 10px; padding: 11px 14px; border-top: 1px solid color-mix(in srgb, var(--accent) 34%, var(--line)); border-radius: 0 0 var(--radius-panel) var(--radius-panel); background: color-mix(in srgb, var(--panel) 94%, var(--accent) 6%); box-shadow: 0 -9px 26px rgba(0, 0, 0, .14); }
.global-sticky-submit-action { min-height: 62px; }
.modal-actions { position: sticky; z-index: 4; bottom: -20px; padding: 11px 0 4px; background: var(--panel); }

@media (max-width: 1180px) {
    .invoice-create-layout { grid-template-columns: minmax(0, 1fr) 360px; }
    .invoice-meta-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 1100px) {
    .invoice-builder-footer, .pos-page-footer, .sidebar-collapsed .invoice-builder-footer, .sidebar-collapsed .pos-page-footer { left: 0; padding-left: 20px; }
}

@media (max-width: 960px) {
    .invoice-create-layout { grid-template-columns: 1fr; }
    .invoice-product-panel { position: static; max-height: none; }
    .invoice-product-grid { grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); }
    .report-period-panel { align-items: stretch; flex-direction: column; }
    .report-custom-range { grid-template-columns: repeat(2, minmax(0, 1fr)) auto; }
    .report-overview-grid { grid-template-columns: 1fr; }
    .sales-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .sales-filter-search { grid-column: 1 / -1; }
    .customer-directory-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .customer-directory-search { grid-column: 1 / -1; }
}

@media (max-width: 680px) {
    .invoice-landing-heading, .invoice-builder-footer, .pos-page-footer { align-items: stretch; flex-direction: column; }
    .invoice-list-toolbar, .invoice-customer-control, .invoice-meta-grid, .invoice-product-search-row, .invoice-notes-grid { grid-template-columns: 1fr; }
    .invoice-terms-field, .invoice-due-presets { grid-column: auto; }
    .invoice-product-search-row > button { margin-bottom: 0; }
    .invoice-builder-totals { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .invoice-builder-totals > div { min-width: 0; padding-inline: 7px; }
    .invoice-builder-actions { display: grid; grid-template-columns: 1fr; }
    .invoice-create-layout { padding-bottom: 185px; }
    .invoice-builder-footer, .pos-page-footer { min-height: 165px; padding: 10px 14px; }
    .reports-heading { align-items: stretch; flex-direction: column; }
    .reports-heading-actions { display: grid; grid-template-columns: 1fr; }
    .report-custom-range { grid-template-columns: 1fr; }
    .report-period-presets { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .sales-history-heading, .sales-export-toolbar { align-items: stretch; flex-direction: column; }
    .sales-filter-grid { grid-template-columns: 1fr; }
    .sales-filter-search { grid-column: auto; }
    .sales-filter-actions, .sales-export-actions { display: grid; grid-template-columns: 1fr; }
    .customer-directory-heading, .customer-create-heading { align-items: stretch; flex-direction: column; }
    .customer-directory-actions, .customer-filter-actions, .customer-create-actions { display: grid; grid-template-columns: 1fr; }
    .customer-directory-filters, .customer-benefit-grid { grid-template-columns: 1fr; }
    .customer-directory-search { grid-column: auto; }
    .sticky-submit-action:not(.invoice-builder-footer):not(.pos-page-footer) { align-items: stretch; flex-direction: column; }
}

@media print {
    .reports-heading-actions, .report-type-tabs, .report-period-panel { display: none !important; }
    .reports-heading { margin-bottom: 12px; }
    .report-kpis { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
    .report-kpis .stat, .report-section { break-inside: avoid; box-shadow: none; }
    .report-overview-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .report-table-wrap { overflow: visible; }
    .report-table-wrap table { min-width: 0; font-size: 9pt; }
}

/* SQL setup and product licensing */
.setup-step-heading {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 8px;
    padding: 13px;
    border: 1px solid color-mix(in srgb, var(--accent) 28%, var(--border));
    border-left: 4px solid var(--accent);
    border-radius: 6px;
    background: color-mix(in srgb, var(--accent) 7%, var(--panel));
}
.setup-step-heading > span { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 6px; background: var(--accent); color: var(--button-text); font-weight: 900; }
.setup-step-heading > div { display: grid; gap: 2px; }
.setup-step-heading small { color: var(--muted); font-weight: 500; }
.license-status-hero { display: flex; align-items: center; gap: 16px; margin-bottom: 16px; padding: 20px; border: 1px solid var(--border); border-left: 5px solid #be123c; border-radius: 7px; background: color-mix(in srgb, #be123c 7%, var(--panel)); }
.license-status-hero.is-active { border-left-color: #059669; background: color-mix(in srgb, #059669 7%, var(--panel)); }
.license-status-hero > span { display: grid; width: 46px; height: 46px; flex: 0 0 46px; place-items: center; border-radius: 7px; background: #be123c; color: white; }
.license-status-hero.is-active > span { background: #059669; }
.license-status-hero h2 { margin: 3px 0; }
.license-status-hero p { margin: 0; color: var(--muted); }
.license-status-layout { display: grid; grid-template-columns: 1.15fr .85fr; gap: 14px; }
.license-detail-list { display: grid; margin: 0 0 16px; }
.license-detail-list > div { display: flex; justify-content: space-between; gap: 18px; padding: 10px 0; border-bottom: 1px solid var(--border); }
.license-detail-list dt { color: var(--muted); }
.license-detail-list dd { margin: 0; text-align: right; font-weight: 800; }
@media (max-width: 760px) { .license-status-layout { grid-template-columns: 1fr; } .license-detail-list > div { align-items: flex-start; flex-direction: column; gap: 3px; } .license-detail-list dd { text-align: left; } }

.edit-document-form {
    max-width: 1120px;
}

.table-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.payment-edit-head,
.payment-edit-line {
    display: grid;
    grid-template-columns: minmax(160px, 1fr) 120px minmax(180px, 1fr);
    gap: 8px;
    align-items: center;
}

.payment-edit-head {
    color: var(--muted);
    font-size: .76rem;
    font-weight: 900;
    text-transform: none;
}

.custom-fields-editor {
    margin: 0 20px 20px;
    padding: 16px;
    border: 1px solid var(--line);
    border-radius: var(--radius-panel);
}

.custom-fields-editor .toolbar {
    margin-bottom: 12px;
}

.custom-field-head,
.custom-field-row {
    display: grid;
    grid-template-columns: minmax(150px, 1fr) 120px 135px minmax(180px, 1fr) 100px 100px;
    gap: 8px;
    align-items: center;
}

.custom-field-head {
    color: var(--muted);
    font-size: .76rem;
    font-weight: 900;
    margin-bottom: 8px;
    text-transform: none;
}

.custom-field-row {
    border-top: 1px solid var(--line);
    padding: 10px 0;
}

.custom-field-row textarea {
    min-height: 70px;
}

.danger-check {
    color: #b42318;
}

.roles-editor {
    display: grid;
    gap: 12px;
}

.role-editor-row {
    display: grid;
    grid-template-columns: minmax(170px, .6fr) minmax(240px, 1fr) 130px;
    gap: 12px;
    align-items: start;
    border-top: 1px solid var(--line);
    padding: 14px 0;
}

.role-permission-list {
    display: grid;
    gap: 6px;
}

.invoice-page-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 14px;
}

.invoice-page-actions form {
    margin: 0;
}

.invoice-payment-panel {
    display: grid;
    gap: 12px;
    max-width: 980px;
    margin: 0 auto 18px;
    padding: 16px;
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: var(--radius-panel);
    box-shadow: var(--shadow);
}

.invoice-payment-link-row,
.invoice-payment-send-row {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.invoice-payment-link-row input {
    flex: 1 1 360px;
    min-width: 0;
}

.invoice-payment-send-row form {
    margin: 0;
}

.invoice-delivery-panel {
    grid-template-columns: minmax(260px, 1fr) auto;
    align-items: center;
    max-width: none;
    padding: 18px 20px;
    border-color: color-mix(in srgb, var(--accent) 38%, var(--line));
    background: linear-gradient(120deg, color-mix(in srgb, var(--accent) 10%, var(--panel)), var(--panel) 58%);
}

.invoice-delivery-panel h2 { margin: 3px 0 4px; }
.invoice-delivery-panel .invoice-payment-send-row { justify-content: flex-end; }
.invoice-delivery-panel .invoice-payment-send-row > * { min-height: 44px; }

.smtp-test-panel {
    display: grid;
    gap: 14px;
    margin-top: 18px;
}

.smtp-test-panel form {
    align-items: end;
}

.smtp-test-submit {
    display: flex;
    align-items: end;
}

.invoice-document {
    max-width: 980px;
    margin-inline: auto;
}

.invoice-document-header {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    border-bottom: 1px solid var(--line);
    padding-bottom: 18px;
    margin-bottom: 18px;
}

.invoice-document-header p,
.invoice-bill-grid p {
    margin: 0 0 4px;
}

.invoice-document-meta {
    text-align: right;
}

.invoice-bill-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, .75fr);
    gap: 24px;
    margin-bottom: 18px;
}

.invoice-total-block {
    margin-left: auto;
    max-width: 360px;
}

.invoice-notes {
    border-top: 1px solid var(--line);
    margin-top: 20px;
    padding-top: 16px;
}

.modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    align-items: center;
}

.modal-backdrop {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: none;
    place-items: center;
    background: rgba(17, 24, 39, .72);
    padding: 18px;
}

.modal-backdrop.is-open {
    display: grid;
}

body.modal-open {
    overflow: hidden;
}
body.repair-workflow-modal-open { position: fixed; right: 0; left: 0; width: 100%; }

.theme-preset-catalog { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; margin-top: 9px; }
.theme-preset-choice { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 9px; min-width: 0; min-height: 42px; padding: 7px 8px; border: 1px solid var(--line); border-radius: 6px; background: var(--panel) !important; color: var(--preset-accent) !important; box-shadow: none !important; text-align: left; }
.theme-preset-choice:hover { border-color: var(--preset-accent); }
.theme-preset-choice.is-selected { border-color: var(--preset-accent); box-shadow: inset 0 0 0 1px var(--preset-accent) !important; }
.theme-preset-choice-name { min-width: 0; overflow: hidden; color: var(--preset-accent); font-size: .68rem; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.theme-preset-swatches { display: grid; grid-template-columns: repeat(4, 10px); gap: 2px; }
.theme-preset-swatches i { width: 10px; height: 22px; border: 1px solid rgba(0,0,0,.22); }
.theme-preset-swatches i:nth-child(1) { background: var(--preset-sidebar); }
.theme-preset-swatches i:nth-child(2) { background: var(--preset-accent); }
.theme-preset-swatches i:nth-child(3) { background: var(--preset-dark); }
.theme-preset-swatches i:nth-child(4) { background: var(--preset-panel); }

body.theme-preset-light-signal-forge main,
body.theme-preset-light-electric-ledger main,
body.theme-preset-dark-voltage-black main,
body.theme-preset-dark-crimson-console main {
    background-image: repeating-linear-gradient(0deg, color-mix(in srgb, var(--accent) 5%, transparent) 0 1px, transparent 1px 28px), repeating-linear-gradient(90deg, color-mix(in srgb, var(--accent-dark) 4%, transparent) 0 1px, transparent 1px 28px);
}
body.theme-preset-light-signal-forge :is(.panel, table thead, .top-shortcut-list),
body.theme-preset-light-electric-ledger :is(.panel, table thead, .top-shortcut-list),
body.theme-preset-dark-voltage-black :is(.panel, table thead, .top-shortcut-list),
body.theme-preset-dark-crimson-console :is(.panel, table thead, .top-shortcut-list) {
    background-image: linear-gradient(115deg, color-mix(in srgb, var(--accent) 7%, transparent), transparent 34%, color-mix(in srgb, var(--submenu-active-bg) 6%, transparent));
}
body.theme-preset-light-signal-forge :is(#appSidebar, .top-shortcut-bar),
body.theme-preset-light-electric-ledger :is(#appSidebar, .top-shortcut-bar),
body.theme-preset-dark-voltage-black :is(#appSidebar, .top-shortcut-bar),
body.theme-preset-dark-crimson-console :is(#appSidebar, .top-shortcut-bar) {
    background-image: repeating-linear-gradient(135deg, rgba(255,255,255,.035) 0 1px, transparent 1px 12px), linear-gradient(115deg, var(--sidebar), color-mix(in srgb, var(--sidebar) 82%, var(--accent) 18%));
}

.modal-card {
    position: relative;
    width: min(640px, 100%);
    max-height: min(760px, 92vh);
    margin: auto;
    overflow: auto;
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: var(--radius-panel);
    box-shadow: var(--shadow);
    padding: 20px;
}

.settings-panel {
    padding: 0;
    overflow: visible;
}

.settings-panel-design-appearance { overflow: visible; }

.settings-navigation-header {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 13px;
    padding: 16px 18px;
    border-bottom: 1px solid color-mix(in srgb, var(--accent) 22%, var(--line));
    background: linear-gradient(110deg, color-mix(in srgb, var(--accent) 10%, var(--panel)), var(--panel) 46%, color-mix(in srgb, var(--submenu-bg) 14%, var(--panel)));
}
.settings-navigation-mark { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid color-mix(in srgb, var(--accent) 36%, var(--line)); border-radius: 8px; background: color-mix(in srgb, var(--accent) 13%, var(--field)); color: var(--accent); }
.settings-navigation-mark .ui-icon { width: 20px; height: 20px; }
.settings-navigation-header h2, .settings-navigation-header p { margin: 0; }
.settings-navigation-header h2 { margin-top: 2px; font-size: 1.08rem; }
.settings-navigation-header p { margin-top: 2px; color: var(--muted); font-size: .75rem; }
.settings-navigation-header > strong { display: grid; gap: 2px; min-width: 148px; padding: 8px 11px; border: 1px solid var(--line); border-radius: 7px; background: color-mix(in srgb, var(--field) 88%, transparent); color: var(--ink); font-size: .78rem; text-align: right; }
.settings-navigation-header > strong small { color: var(--muted); font-size: .62rem; text-transform: uppercase; }

.settings-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 12px 14px;
    padding: 9px;
    border: 1px solid color-mix(in srgb, var(--accent) 34%, var(--line));
    border-radius: var(--radius-panel);
    overflow: visible;
    background: color-mix(in srgb, var(--sidebar) 88%, var(--accent) 12%);
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--sidebar-text) 8%, transparent);
}

.settings-mobile-navigation { display: none; padding: 11px 14px 14px; border-bottom: 1px solid var(--line); background: color-mix(in srgb, var(--field) 72%, var(--panel)); }
.settings-mobile-navigation label { display: grid; gap: 6px; margin: 0; color: var(--muted); font-size: .68rem; font-weight: 900; text-transform: uppercase; }
.settings-mobile-navigation select { border-color: color-mix(in srgb, var(--accent) 30%, var(--line)); background: var(--panel); color: var(--ink); font-weight: 850; }

.settings-tab {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    flex: 1 1 132px;
    min-width: max-content;
    min-height: 42px;
    padding: 9px 12px;
    border: 1px solid color-mix(in srgb, var(--sidebar-text) 16%, transparent);
    border-radius: var(--radius-control);
    background: color-mix(in srgb, var(--panel) 12%, transparent);
    color: var(--sidebar-text);
    font-size: .77rem;
    text-decoration: none;
    font-weight: 850;
    white-space: nowrap;
    box-shadow: none;
}
.settings-tab .ui-icon { width: 17px; height: 17px; flex: 0 0 17px; }

.settings-tab.active,
.settings-tab:hover {
    border-color: color-mix(in srgb, var(--accent) 60%, var(--sidebar-text));
    background: color-mix(in srgb, var(--accent) 26%, var(--sidebar));
    color: var(--sidebar-text);
}
.settings-tab.active {
    border-color: var(--accent);
    background: linear-gradient(135deg, var(--accent), var(--accent-dark));
    color: var(--button-text);
    box-shadow: 0 8px 18px color-mix(in srgb, var(--accent) 24%, transparent);
}
.settings-tab.active::after { content: none; }

.settings-subtabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    min-height: 0;
    margin: 0 14px 16px;
    padding: 7px;
    border: 1px solid color-mix(in srgb, var(--accent) 20%, var(--line));
    border-radius: var(--radius-panel);
    background: color-mix(in srgb, var(--field) 82%, var(--panel));
}

.settings-subtab {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    flex: 1 1 auto;
    min-height: 38px;
    padding: 8px 13px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--muted);
    font-size: .76rem;
    font-weight: 900;
    text-decoration: none;
    box-shadow: none;
}

.settings-subtab + .settings-subtab { border-left: 1px solid color-mix(in srgb, var(--accent) 18%, var(--line)); }

.settings-subtab.active,
.settings-subtab:hover {
    background: color-mix(in srgb, var(--accent) 10%, var(--panel));
    color: var(--accent-dark);
}

.settings-subtab.active::after {
    content: "";
    position: absolute;
    right: 12px;
    bottom: 4px;
    left: 12px;
    height: 2px;
    border-radius: 99px;
    background: linear-gradient(90deg, var(--accent), var(--accent-dark));
}

.payment-option-status { display: inline-flex; padding: 4px 7px; border: 1px solid var(--line); border-radius: 99px; background: var(--field); color: var(--muted); font-size: .68rem; font-weight: 900; }
.payment-option-status.is-enabled { border-color: color-mix(in srgb, #10b981 38%, var(--line)); background: color-mix(in srgb, #10b981 10%, var(--field)); color: #047857; }
.payment-option-setup-link { display: inline-flex; align-items: center; gap: 4px; margin-top: 5px; color: #b45309; font-size: .68rem; font-weight: 850; text-decoration: none; }
.payment-option-setup-link .ui-icon { width: 13px; height: 13px; }
.stripe-terminal-option-note { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 11px; padding: 13px; border: 1px solid color-mix(in srgb, #6366f1 30%, var(--line)); border-radius: 8px; background: color-mix(in srgb, #6366f1 7%, var(--field)); }
.stripe-terminal-option-note > .ui-icon { width: 21px; height: 21px; color: #6366f1; }
.stripe-terminal-option-note p { margin: 3px 0 9px; }
.stripe-terminal-option-note .button-link { width: fit-content; }

@media (max-width: 1180px) { .settings-tabs { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 900px) { .settings-tabs { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 760px) {
    .settings-navigation-header { grid-template-columns: auto minmax(0, 1fr); padding: 13px 14px; }
    .settings-navigation-header > strong { grid-column: 2; min-width: 0; width: fit-content; padding: 5px 8px; text-align: left; }
    .settings-navigation-header p { display: none; }
}

.settings-landing {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    padding: 20px;
}

.settings-landing-option {
    display: grid;
    gap: 6px;
    min-height: 112px;
    align-content: center;
    border: 1px solid color-mix(in srgb, var(--submenu-bg) 72%, var(--line));
    border-radius: var(--radius-panel);
    padding: 18px;
    background: var(--submenu-bg);
    color: var(--submenu-text);
    text-decoration: none;
    box-shadow: none;
}

.settings-landing-option:hover {
    background: var(--submenu-active-bg);
    border-color: var(--submenu-active-bg);
    color: var(--submenu-active-text);
}

.settings-landing-option strong {
    font-size: 1.02rem;
}

.settings-landing-option span {
    color: currentColor;
    opacity: .82;
}

.settings-panel > .toolbar,
.settings-panel > .grid,
.settings-panel > form,
.settings-panel > .settings-content-grid {
    margin: 0;
    padding: 20px;
}

.settings-form-surface {
    border-top: 1px solid var(--line);
    background: var(--panel);
}

.pos-settings-form {
    gap: 16px;
}

.pos-settings-group {
    display: grid;
    gap: 14px;
    padding: 16px;
    border: 1px solid color-mix(in srgb, var(--accent) 20%, var(--line));
    border-radius: var(--radius-panel);
    background:
        radial-gradient(circle at 96% 0%, color-mix(in srgb, var(--accent) 10%, transparent), transparent 30%),
        linear-gradient(135deg, color-mix(in srgb, var(--field) 82%, var(--panel)), var(--panel));
    box-shadow: inset 0 0 0 1px color-mix(in srgb, #ffffff 42%, transparent);
}

.pos-settings-group > div:first-child {
    display: grid;
    gap: 4px;
}

.pos-settings-group h3,
.pos-settings-group p {
    margin: 0;
}

.pos-settings-group h3 {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: .98rem;
}

.pos-settings-group h3 .ui-icon {
    width: 19px;
    height: 19px;
    color: var(--accent);
}

.compact-settings-grid {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 10px;
}

.settings-toggle-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) minmax(104px, .42fr);
    align-items: center;
    gap: 10px;
    min-height: 64px;
    margin: 0;
    padding: 11px;
    border: 1px solid color-mix(in srgb, var(--accent) 18%, var(--line));
    border-radius: var(--radius-control);
    background: color-mix(in srgb, var(--panel) 88%, var(--field));
    box-shadow: 0 10px 22px color-mix(in srgb, var(--ink) 5%, transparent);
}

.settings-toggle-card > .ui-icon {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    padding: 8px;
    border-radius: 8px;
    background: linear-gradient(135deg, var(--accent), var(--accent-dark));
    color: var(--button-text);
    box-shadow: 0 9px 18px color-mix(in srgb, var(--accent) 22%, transparent);
}

.settings-toggle-card span {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.settings-toggle-card strong {
    overflow: hidden;
    color: var(--ink);
    font-size: .82rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.settings-toggle-card small {
    color: var(--muted);
    font-size: .68rem;
    font-weight: 850;
    text-transform: uppercase;
}

.settings-toggle-card select {
    min-width: 0;
    height: 38px;
    padding: 7px 28px 7px 10px;
    font-size: .75rem;
    font-weight: 850;
}

.utility-reset-form { display: none; }

.settings-content-grid > section {
    border: 1px solid var(--line);
    border-radius: var(--radius-panel);
    padding: 16px;
    background: var(--panel);
}

.design-settings-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 20px;
    align-items: start;
}

.design-settings-editor { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; min-width: 0; }

.menu-order-editor {
    display: grid;
    gap: 12px;
    border: 1px solid var(--line);
    border-radius: var(--radius-panel);
    padding: 14px;
    background: color-mix(in srgb, var(--panel) 86%, var(--field));
}

.menu-order-editor h3 {
    margin-bottom: 4px;
}

.menu-order-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.menu-order-row {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr);
    align-items: center;
    gap: 8px;
    border: 1px solid var(--line);
    border-radius: var(--radius-control);
    padding: 8px;
    background: var(--field);
}

.menu-order-row input {
    padding: 8px;
    text-align: center;
    font-weight: 900;
}

.menu-order-row span {
    font-weight: 900;
}

.color-field {
    min-width: 0;
    border: 1px solid color-mix(in srgb, var(--line) 70%, var(--ink) 30%);
    border-radius: var(--radius-panel);
    padding: 12px;
    background: color-mix(in srgb, var(--panel) 70%, var(--field) 30%);
}

.design-control-panel {
    display: grid;
    gap: 14px;
    border: 1px solid color-mix(in srgb, var(--line) 66%, var(--ink) 34%);
    border-radius: var(--radius-panel);
    padding: 14px;
    background: color-mix(in srgb, var(--panel) 68%, var(--field) 32%);
}

.design-control-panel h3 {
    margin-bottom: 4px;
}

.design-control-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
}

.design-control-grid > div {
    min-width: 0;
    padding: 11px;
    border: 1px solid color-mix(in srgb, var(--line) 72%, var(--ink) 28%);
    border-radius: var(--radius-control);
    background: var(--panel);
}

.button-theme-panel > .toolbar { margin: 0; }
.button-effects-layout { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(280px, .7fr); gap: 14px; align-items: stretch; }
.button-effects-controls { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.button-effects-controls > div { min-width: 0; padding: 11px; border: 1px solid color-mix(in srgb, var(--line) 72%, var(--ink) 28%); border-radius: var(--radius-control); background: var(--panel); }
.button-effects-preview { display: grid; align-content: center; gap: 11px; padding: 14px; border: 1px solid color-mix(in srgb, var(--accent) 30%, var(--line)); border-radius: var(--radius-panel); background: color-mix(in srgb, var(--accent) 5%, var(--panel)); }
.button-effects-preview > span { color: var(--muted); font-size: .72rem; font-weight: 900; text-transform: uppercase; }
.button-effects-preview > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.button-effects-preview button { width: 100%; min-width: 0; }
.button-theme-panel > .toolbar > div:last-child { width: min(300px, 100%); }
.button-theme-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.button-theme-group { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: 14px; align-items: start; padding: 14px; border: 1px solid color-mix(in srgb, var(--line) 62%, var(--ink) 38%); border-radius: var(--radius-panel); background: var(--panel); }
.button-theme-preview { position: sticky; top: 12px; display: grid; place-items: center; min-height: 112px; padding: 14px; border: 1px solid color-mix(in srgb, var(--line) 60%, var(--ink) 40%); border-radius: var(--radius-control); background: color-mix(in srgb, var(--field) 78%, var(--line) 22%); }
.button-theme-preview button { width: 100%; }
.button-theme-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.compact-color-field { padding: 10px; }
.color-field-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.color-field-heading label { margin: 0 0 6px; }
.design-text-color-sample { color: var(--ink); font-size: .9rem; font-weight: 900; }
.design-preview-actions { display: flex; gap: 8px; flex-wrap: wrap; }

.color-control {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 8px;
    align-items: center;
}

.color-control input[type="color"] {
    height: 46px;
    width: 48px;
    padding: 4px;
    border-radius: var(--radius-control);
    cursor: pointer;
}

.hex-input-wrap {
    --swatch: #000000;
    position: relative;
}

.hex-input-wrap input {
    font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;
    font-weight: 900;
    letter-spacing: 0;
    padding-left: 44px;
    text-transform: uppercase;
}

.hex-preview {
    position: absolute;
    left: 10px;
    top: 50%;
    width: 24px;
    height: 24px;
    transform: translateY(-50%);
    border-radius: 7px;
    border: 1px solid color-mix(in srgb, var(--line) 72%, #000);
    background: var(--swatch);
    box-shadow: none;
    pointer-events: none;
}

.design-preview {
    display: grid;
    grid-template-rows: minmax(300px, auto) auto;
    border: 1px solid var(--line);
    border-radius: var(--radius-panel);
    overflow: hidden;
    background: var(--bg);
    box-shadow: none;
}

.design-preview-workspace { display: grid; grid-template-columns: 108px minmax(0, 1fr); min-height: 300px; }
.design-preview-button-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; padding: 10px; border-top: 1px solid color-mix(in srgb, var(--line) 65%, var(--ink) 35%); background: var(--field); }
.design-preview-button-row button { width: 100%; min-width: 0; padding: 9px 8px; font-size: .72rem; }
.design-preview-rail { position: sticky; top: 16px; align-self: start; display: grid; gap: 10px; min-width: 0; max-height: calc(100vh - 32px); padding-left: 20px; border-left: 1px solid var(--line); overflow-y: auto; }
.design-preview-rail-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.design-preview-rail-heading span { color: var(--muted); font-size: .75rem; }

.design-preview-sidebar {
    display: grid;
    align-content: start;
    gap: 18px;
    padding: 14px 10px;
    background: var(--sidebar);
    color: var(--sidebar-text);
    font-weight: 900;
}

.design-preview-brand { min-width: 0; overflow-wrap: anywhere; font-size: .78rem; }
.design-preview-brand .brand-logo-image { max-width: 86px; max-height: 44px; }
.design-preview-nav { display: grid; gap: 5px; }
.design-preview-nav span { display: flex; align-items: center; gap: 5px; min-width: 0; padding: 7px 6px; border-radius: var(--radius-control); color: var(--sidebar-text); font-size: .64rem; font-weight: 800; overflow-wrap: anywhere; }
.design-preview-nav span.active { background: color-mix(in srgb, var(--sidebar-text) 12%, transparent); }
.design-preview-nav .ui-icon { width: 13px; height: 13px; flex: 0 0 auto; }

.preview-logo {
    flex: 0 0 auto;
}

.design-preview-panel {
    display: grid;
    gap: 10px;
    align-content: start;
    padding: 18px 14px;
    background: var(--panel);
}

.design-preview-panel p { margin: 0 0 4px; }
.design-preview-panel label { margin: 4px 0 0; }
.design-preview-panel input { margin-top: 6px; }

.logo-upload-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(180px, 300px);
    gap: 14px;
    align-items: stretch;
}

.logo-upload-panel { display: grid; gap: 12px; padding: 14px; border: 1px solid color-mix(in srgb, var(--accent) 24%, var(--line)); border-radius: var(--radius-panel); background: color-mix(in srgb, var(--accent) 5%, var(--panel)); }
.logo-upload-preview { display: grid; place-items: center; align-content: center; gap: 8px; min-height: 122px; padding: 12px; border: 1px dashed color-mix(in srgb, var(--accent) 42%, var(--line)); border-radius: var(--radius-control); background: var(--field); color: var(--muted); font-size: .72rem; font-weight: 850; text-align: center; }
.logo-upload-preview img { display: block; max-width: 100%; width: auto; max-height: 88px; height: auto; object-fit: contain; }
.logo-upload-placeholder { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 8px; background: color-mix(in srgb, var(--accent) 12%, var(--panel)); color: var(--accent); }
.logo-upload-placeholder .ui-icon { width: 21px; height: 21px; }

.integration-setup-card { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 13px; padding: 14px; border: 1px solid color-mix(in srgb, #4285f4 34%, var(--line)); border-radius: var(--radius-panel); background: linear-gradient(135deg, color-mix(in srgb, #4285f4 9%, var(--panel)), var(--panel)); }
.integration-setup-card p { margin: 3px 0 0; }
.integration-setup-icon { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 8px; background: #4285f4; color: #ffffff; }
.integration-setup-icon .ui-icon { width: 21px; height: 21px; color: currentColor; }

.checkbox-row {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
    color: var(--ink);
}

.checkbox-row input {
    width: auto;
}

.search-results {
    display: grid;
    gap: 8px;
    margin: 10px 0 18px;
}

.search-result {
    width: 100%;
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: center;
    background: var(--field);
    border: 1px solid var(--line);
    color: var(--ink);
    text-align: left;
}

.search-result:hover {
    background: color-mix(in srgb, var(--field) 70%, var(--line));
}

.pos-picker-panel {
    flex: 0 0 450px;
    position: sticky;
    top: 24px;
    max-height: calc(100vh - 48px);
    overflow: auto;
    align-self: flex-start;
}
.pos-picker-summary { display: flex; align-items: center; gap: 10px; min-height: 46px; color: var(--ink); cursor: pointer; list-style: none; }
.pos-picker-summary::-webkit-details-marker { display: none; }
.pos-picker-summary > span { display: grid; gap: 2px; min-width: 0; flex: 1 1 auto; }
.pos-picker-summary strong { font-size: 1.05rem; }
.pos-picker-summary small { color: var(--muted); font-size: .72rem; font-weight: 700; }
.pos-picker-summary > .ui-icon:last-child { width: 15px; height: 15px; margin-left: auto; transition: transform .18s ease; }
.pos-picker-panel[open] .pos-picker-summary > .ui-icon:last-child { transform: rotate(180deg); }
.pos-picker-content { padding-top: 4px; }

.category-filter {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding: 2px 0 10px;
    margin-top: 12px;
    border-bottom: 1px solid var(--line);
}

.category-filter-button {
    flex: 0 0 auto;
    border: 1px solid var(--line);
    background: var(--neutral-button-bg);
    color: var(--neutral-button-text);
    padding: 9px 12px;
}

.category-filter-button.active,
.category-filter-button:hover {
    background: var(--button-bg);
    color: var(--button-text);
}

.pos-grid-toolbar {
    margin-top: 18px;
    margin-bottom: 10px;
}

.pos-date-search-row { display: grid; grid-template-columns: minmax(300px, 1fr) minmax(160px, .36fr) minmax(160px, .32fr); gap: 10px; align-items: start; margin-top: 14px; margin-bottom: 0; }
.pos-date-search-row .pos-transaction-search,
.pos-date-search-row .transaction-date-field,
.pos-date-search-row .pos-row-warranty-field { display: grid; gap: 6px; min-width: 0; margin: 0; }
.pos-date-search-row label { margin: 0; }
.pos-date-search-row input,
.pos-date-search-row .date-input-wrap { width: 100%; min-width: 0; max-width: 100%; height: 46px; min-height: 46px; }
.pos-search-scan-wrap { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: stretch; min-width: 0; }
.pos-search-scan-wrap input { height: 46px; min-height: 46px; }
.pos-scan-button { min-width: 92px; justify-content: center; border-color: color-mix(in srgb, #0f766e 54%, var(--line)); background: linear-gradient(135deg, #0f766e, #14b8a6); color: #ffffff; }
.pos-scan-button .button-label, .pos-scan-button .ui-icon { background-image: none; color: #ffffff; }
.pos-scan-button:hover { background: linear-gradient(135deg, #115e59, #0f766e); color: #ffffff; }
.pos-date-search-row .date-input-wrap { overflow: hidden; }
.pos-date-search-row .date-input-wrap input { min-width: 0; max-width: 100%; font-size: .82rem; }
.pos-row-warranty-field .warranty-selector { min-width: 0; min-height: 46px; padding: 0; border: 0; background: transparent; grid-template-columns: minmax(0, 1fr); gap: 6px; overflow: hidden; }
.pos-row-warranty-field .warranty-selector > div:first-child { grid-template-rows: auto; }
.pos-row-warranty-field .warranty-selector > div:first-child label { color: var(--ink); font-weight: 900; }
.pos-row-warranty-field .warranty-selector > div:first-child small { display: none; }
.pos-row-warranty-field .warranty-selector select,
.pos-row-warranty-field .warranty-selector input { width: 100%; min-width: 0; height: 46px; min-height: 46px; }
.pos-row-warranty-field .warranty-selector select { width: 100%; min-width: 0; max-width: 100%; height: 46px; min-height: 46px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pos-row-warranty-field .warranty-custom-duration { align-self: end; }
.pos-row-warranty-field .warranty-custom-duration label { display: none; }
.pos-row-warranty-field .warranty-custom-duration > div { grid-template-columns: 62px 88px; gap: 6px; }
.pos-receipt-followup-row { display: grid; grid-template-columns: minmax(300px, 1fr) minmax(160px, .36fr) minmax(160px, .32fr); gap: 10px; align-items: end; margin: 0 0 12px; }
.pos-receipt-followup-row .receipt-delivery-choice,
.pos-followup-choice { display: grid; grid-template-rows: 18px 54px; gap: 6px; min-width: 0; margin: 0; max-width: none; }
.pos-receipt-followup-row .receipt-delivery-choice { grid-column: 1; }
.pos-receipt-followup-row .pos-followup-choice { grid-column: 2 / 4; }
.pos-receipt-followup-row .receipt-delivery-choice > label,
.pos-followup-label { display: flex; align-items: center; margin: 0; color: var(--ink); font-size: .78rem; font-weight: 900; line-height: 1; }
.receipt-delivery-select { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 8px; height: 54px; min-height: 54px; padding: 0 12px; border: 1px solid color-mix(in srgb, var(--accent) 30%, var(--line)); border-radius: var(--radius-control); background: color-mix(in srgb, var(--field) 88%, var(--accent) 12%); }
.receipt-delivery-select .ui-icon { width: 18px; height: 18px; color: var(--accent); }
.receipt-delivery-select select { width: 100%; min-width: 0; height: 46px; min-height: 46px; border: 0; background: transparent; box-shadow: none; padding: 0; font-weight: 850; }
.pos-receipt-delivery-buttons { height: 54px; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.pos-receipt-delivery-buttons .receipt-delivery-button { min-height: 54px; border: 1px solid color-mix(in srgb, var(--accent) 22%, var(--line)); background: color-mix(in srgb, var(--field) 72%, var(--panel)); color: var(--ink); font-size: .8rem; font-weight: 950; }
.pos-receipt-delivery-buttons .receipt-delivery-button .ui-icon { width: 17px; height: 17px; color: var(--accent); }
.pos-receipt-delivery-buttons .receipt-delivery-button:hover { border-color: var(--accent); background: color-mix(in srgb, var(--accent) 14%, var(--field)); color: var(--ink); }
.pos-receipt-delivery-buttons .receipt-delivery-button.active { border-color: var(--accent-dark); background: linear-gradient(135deg, var(--accent), var(--accent-dark)); color: var(--button-text); box-shadow: 0 8px 18px color-mix(in srgb, var(--accent) 22%, transparent); }
.pos-receipt-delivery-buttons .receipt-delivery-button.active .ui-icon { color: currentColor; }
.pos-receipt-delivery-buttons .receipt-delivery-button.active .button-label { background-image: none; color: currentColor; }
.pos-receipt-followup-row .followup-opt-in { display: grid; grid-template-columns: 20px auto minmax(0, 1fr); align-items: center; gap: 10px; min-height: 54px; height: 54px; margin: 0; padding: 0 12px; border-color: color-mix(in srgb, var(--accent) 30%, var(--line)); background: color-mix(in srgb, var(--field) 88%, var(--accent) 8%); border-radius: var(--radius-control); }
.pos-receipt-followup-row .followup-opt-in > input { width: 18px; height: 18px; margin: 0; }
.pos-receipt-followup-row .followup-opt-in > span { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 8px; align-items: center; min-width: 0; }
.pos-receipt-followup-row .followup-opt-in svg { width: 18px; height: 18px; color: var(--accent); }
.pos-receipt-followup-row .followup-opt-in strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pos-receipt-followup-row .followup-opt-in small { grid-column: 2; margin-top: 2px; overflow: hidden; color: var(--muted); font-size: .72rem; text-overflow: ellipsis; white-space: nowrap; }

.product-pick-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(124px, 1fr));
    gap: 12px;
}

.product-pick-card {
    min-height: 190px;
    display: grid;
    grid-template-rows: 90px auto auto auto;
    justify-items: center;
    gap: 7px;
    align-content: start;
    background: var(--panel);
    border: 2px solid var(--line);
    box-shadow: none;
    color: var(--ink);
    text-align: center;
    padding: 10px;
}

.product-pick-card:hover {
    background: color-mix(in srgb, var(--panel) 82%, var(--accent));
    border-color: var(--accent);
}

.product-pick-card:disabled {
    cursor: not-allowed;
    opacity: .55;
}

.product-pick-image {
    width: 90px;
    height: 90px;
    overflow: hidden;
    border-radius: var(--radius-control);
    background: var(--field);
    display: grid;
    place-items: center;
    font-weight: 900;
    color: var(--muted);
}

.product-pick-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.product-pick-name {
    font-weight: 900;
    line-height: 1.2;
    width: 100%;
}

.product-pick-meta {
    color: var(--muted);
    font-size: .82rem;
    line-height: 1.25;
    width: 100%;
}

.receipt-body {
    background: var(--bg);
}

.receipt-page {
    display: grid;
    justify-content: center;
    padding: 24px;
}

.receipt-actions {
    display: flex;
    gap: 10px;
    margin-bottom: 14px;
    flex-wrap: wrap;
}

.receipt-delivery-panel {
    display: grid;
    gap: 12px;
    max-width: 680px;
    margin-bottom: 18px;
    padding: 14px;
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: var(--radius-panel);
    box-shadow: var(--shadow);
}

.receipt-share-row,
.receipt-resend-row {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.receipt-share-row input {
    flex: 1 1 320px;
    min-width: 0;
}

.receipt-resend-row form {
    margin: 0;
}

.receipt-delivery-choice {
    display: grid;
    gap: 6px;
    margin: 18px 0;
    max-width: 360px;
}

.receipt-paper {
    background: var(--panel);
    color: var(--ink);
    box-shadow: var(--shadow);
    border: 1px solid var(--line);
}

.receipt-logo {
    max-width: 160px;
    max-height: 70px;
    object-fit: contain;
    display: block;
    margin: 0 auto 10px;
}

.receipt-thermal .receipt-paper {
    width: var(--receipt-thermal-width, 80mm);
    padding: 8mm 5mm;
    font-family: "Courier New", monospace;
    font-size: var(--receipt-font-size, 12px);
}

.receipt-a4 .receipt-paper {
    width: min(210mm, 100%);
    min-height: 297mm;
    padding: 18mm;
    font-size: var(--receipt-font-size, 14px);
}

.receipt-header {
    text-align: center;
    border-bottom: 1px dashed var(--line);
    padding-bottom: 10px;
    margin-bottom: 12px;
}

.receipt-header h1 {
    font-size: 1.15rem;
    margin-bottom: 4px;
}

.receipt-document-title { margin: 3px 0 7px !important; color: var(--ink); font-weight: 900; text-transform: uppercase; }

.receipt-header p,
.receipt-footer {
    margin: 0;
}
.receipt-item-details { display: grid; gap: 2px; margin-top: 3px; color: var(--muted); font-size: .78em; line-height: 1.35; }
.receipt-public-url { display: grid; gap: 4px; margin-top: 15px; padding-top: 10px; border-top: 1px dashed var(--line); text-align: center; }
.receipt-public-url span { color: var(--muted); font-size: .72em; overflow-wrap: anywhere; }
.invoice-document-payment-link { margin-top: 18px; padding: 13px 15px; border: 1px solid var(--line); background: var(--field); }
.invoice-document-payment-link h3 { margin-bottom: 5px; }
.invoice-document-payment-link p { margin: 0; color: var(--muted); overflow-wrap: anywhere; }
.document-template-footer { margin-top: 24px; padding-top: 13px; border-top: 1px solid var(--line); color: var(--muted); text-align: center; }

.document-preset-simple { box-shadow: none !important; }
.document-preset-simple .receipt-header, .document-preset-simple .invoice-document-header, .document-preset-simple .repair-ticket-header { border-bottom-color: currentColor; }
.document-preset-simple .receipt-items th { background: transparent; }
.document-preset-modern.receipt-paper, .receipt-body.document-preset-modern .receipt-paper, .invoice-document.document-preset-modern, .repair-ticket-paper.document-preset-modern { border-top: 5px solid var(--accent); }
.document-preset-modern .receipt-header, .document-preset-modern .invoice-document-header, .document-preset-modern .repair-ticket-header { padding: 12px; border: 0; background: color-mix(in srgb, var(--accent) 9%, var(--panel)); }
.document-preset-modern .receipt-items th { background: color-mix(in srgb, var(--accent) 10%, var(--field)); color: var(--ink); }
.document-preset-modern .receipt-grand-total { border-top-color: var(--accent); color: var(--accent-dark); }
.document-preset-elegant.receipt-paper, .receipt-body.document-preset-elegant .receipt-paper, .invoice-document.document-preset-elegant, .repair-ticket-paper.document-preset-elegant { border: 1px solid #38bdf8; background-image: linear-gradient(135deg, rgba(56, 189, 248, .11), transparent 28%), linear-gradient(rgba(20, 184, 166, .08) 1px, transparent 1px), linear-gradient(90deg, rgba(20, 184, 166, .08) 1px, transparent 1px); background-size: auto, 18px 18px, 18px 18px; box-shadow: 0 0 0 3px rgba(56, 189, 248, .08), 0 18px 42px rgba(15, 23, 42, .16); }
.document-preset-elegant h1, .document-preset-elegant h2, .document-preset-elegant h3, .document-preset-elegant .receipt-header strong { font-family: Inter, ui-sans-serif, system-ui, sans-serif; font-weight: 900; letter-spacing: 0; }
.document-preset-elegant .receipt-header, .document-preset-elegant .invoice-document-header, .document-preset-elegant .repair-ticket-header { border-bottom: 1px solid rgba(56, 189, 248, .48); background: linear-gradient(135deg, rgba(15, 23, 42, .95), rgba(13, 148, 136, .82)); color: #ecfeff; }
.document-preset-elegant .receipt-header p, .document-preset-elegant .invoice-document-header p, .document-preset-elegant .repair-ticket-header p { color: rgba(236, 254, 255, .78); }
.document-preset-elegant .receipt-items th { background: rgba(14, 165, 233, .12); border-top: 1px solid rgba(56, 189, 248, .45); border-bottom: 1px solid rgba(20, 184, 166, .45); color: #075985; text-transform: uppercase; }

.receipt-meta,
.receipt-totals {
    display: grid;
    gap: 6px;
}

.receipt-meta div,
.receipt-totals div {
    display: flex;
    justify-content: space-between;
    gap: 12px;
}

.receipt-meta dt,
.receipt-totals dt {
    color: var(--muted);
    font-weight: 800;
}

.receipt-meta dd,
.receipt-totals dd {
    margin: 0;
    text-align: right;
}

.receipt-items {
    margin: 14px 0;
}

.receipt-items th,
.receipt-items td {
    padding: 7px 4px;
    border-bottom: 1px solid var(--line);
}

.receipt-grand-total {
    border-top: 2px solid var(--accent);
    padding-top: 8px;
    font-size: 1.15rem;
}

.receipt-section-title {
    font-size: 1rem;
    margin: 14px 0 8px;
}

.receipt-footer {
    text-align: center;
    border-top: 1px dashed var(--line);
    margin-top: 14px;
    padding-top: 10px;
}

@media print {
    @page {
        margin: 0;
    }

    body.receipt-body {
        background: #fff;
    }

    .no-print {
        display: none !important;
    }

    body:not(.receipt-body) {
        background: #fff;
    }

    body:not(.receipt-body) .top-shortcut-bar,
    body:not(.receipt-body) #appSidebar,
    body:not(.receipt-body) .topbar,
    body:not(.receipt-body) .flash {
        display: none !important;
    }

    body:not(.receipt-body) .shell {
        display: block;
    }

    body:not(.receipt-body) main {
        padding: 0;
        overflow: visible;
    }

    .invoice-document {
        box-shadow: none;
        border: 0;
        max-width: none;
    }

    .receipt-page {
        padding: 0;
        display: block;
    }

    .receipt-paper {
        box-shadow: none;
        border: 0;
    }

    .receipt-thermal .receipt-paper {
        width: var(--receipt-thermal-width, 80mm);
        min-height: auto;
        padding: 4mm;
    }

    .receipt-a4 .receipt-paper {
        width: 210mm;
        min-height: 297mm;
        padding: 16mm;
    }

    .barcode-label-sheet { grid-template-columns: repeat(3, 1fr); gap: 4mm; padding: 0; background: #fff; }
    .barcode-label-sheet.small { grid-template-columns: repeat(4, 1fr); gap: 3mm; }
    .barcode-label-sheet.large { grid-template-columns: repeat(2, 1fr); gap: 5mm; }
    .barcode-label-sheet.wide { grid-template-columns: repeat(2, 1fr); gap: 4mm; }
    .barcode-label-sheet.device { grid-template-columns: repeat(2, 1fr); gap: 5mm; }
    .barcode-label-sheet.display { grid-template-columns: 1fr; gap: 6mm; }
    .barcode-generator-page { padding: 0; border: 0; box-shadow: none; background: #fff; }
    .barcode-label { break-inside: avoid; box-shadow: none; }
}

@media (max-width: 1100px) {
    .shell { grid-template-columns: 1fr; }
    .sidebar-collapsed .shell { grid-template-columns: 1fr; }
    #appSidebar {
        position: static;
        height: auto;
    }
    .sidebar-toggle { display: none; }
    .sidebar-collapsed #appSidebar { padding: 28px 22px; overflow: visible; }
    .sidebar-collapsed .sidebar-brand-row { justify-content: space-between; }
    .sidebar-collapsed .sidebar-brand-row .brand { display: flex; }
    .sidebar-collapsed nav a { justify-content: flex-start; padding: 12px 10px; }
    .sidebar-collapsed nav a > span:not(.nav-icon) { display: inline; }
    .sidebar-collapsed .nav-submenu { display: grid; }
    nav {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
    }
    nav a { margin: 0; }
    .stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .grid { grid-template-columns: 1fr; }
    .design-control-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .pos-picker-panel {
        position: static;
        max-height: none;
    }
}

@media (max-width: 680px) {
    .warranty-policy-heading { grid-template-columns: auto minmax(0, 1fr); }
    .warranty-policy-heading .button-link { grid-column: 1 / -1; width: 100%; }
    .warranty-policy-copy { grid-template-columns: 1fr; }
    .barcode-specification-grid, .barcode-label-sheet.display .barcode-specification-grid { grid-template-columns: 1fr; }
    main { padding: 18px; }
    .topbar, .toolbar, .profile-head { align-items: flex-start; flex-direction: column; }
    .toolbar-actions, .pos-transaction-actions { width: 100%; flex-direction: column; align-items: stretch; }
    .stats, .form-grid, .settings-grid { grid-template-columns: 1fr; }
    .customer-picker-control { grid-template-columns: 1fr; }
    .customer-add-button, .customer-edit-button { width: 100%; }
    .customer-detail-preview { align-items: flex-start; }
    .modal-actions { flex-direction: column-reverse; align-items: stretch; }
    .menu-order-list { grid-template-columns: 1fr; }
    .design-control-grid { grid-template-columns: 1fr; }
    .design-preview-workspace { grid-template-columns: 1fr; }
    .logo-upload-row { grid-template-columns: 1fr; }
    .invoice-line-head { display: none; }
    .invoice-line { grid-template-columns: 1fr; }
    .payment-edit-head { display: none; }
    .payment-edit-line { grid-template-columns: 1fr; }
    .custom-field-head { display: none; }
    .custom-field-row { grid-template-columns: 1fr; }
    .settings-subtabs { flex-direction: column; }
    .settings-landing { grid-template-columns: 1fr; }
    .role-editor-row { grid-template-columns: 1fr; }
    .invoice-document-header, .invoice-bill-grid { grid-template-columns: 1fr; flex-direction: column; }
    .invoice-document-meta { text-align: left; }
    .pos-layout { flex-direction: column; }
    .pos-picker-panel { flex-basis: auto; width: 100%; }
    table { display: block; overflow-x: auto; white-space: nowrap; }
    .product-photo-frame { height: clamp(180px, 38vh, 320px); }
}

/* Tech dashboard skin */
body {
    position: relative;
    isolation: isolate;
    background-image:
        radial-gradient(circle at 88% 4%, color-mix(in srgb, var(--accent) 18%, transparent), transparent 30%),
        radial-gradient(circle at 18% 88%, color-mix(in srgb, var(--accent-dark) 12%, transparent), transparent 34%),
        var(--theme-image);
    background-color: var(--bg);
    background-size: auto, auto, cover;
    background-attachment: scroll, scroll, fixed;
    background-position: center, center, center;
}

body::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    opacity: .42;
    background-image:
        linear-gradient(color-mix(in srgb, var(--accent) 5%, transparent) 1px, transparent 1px),
        linear-gradient(90deg, color-mix(in srgb, var(--accent) 5%, transparent) 1px, transparent 1px);
    background-size: 42px 42px;
    mask-image: linear-gradient(to bottom, black, transparent 92%);
}

.shell { position: relative; z-index: 1; }

.ui-icon {
    width: 17px;
    height: 17px;
    flex: 0 0 auto;
    display: inline-block;
    vertical-align: middle;
}

.ui-icon { display: var(--ui-icon-display, inline-block); }

/* Semantic icon colors keep actions scannable across light and dark themes. */
.ui-icon-dashboard, .ui-icon-reports, .ui-icon-sales, .ui-icon-search, .ui-icon-eye, .ui-icon-list { color: #3b82f6; }
.ui-icon-register, .ui-icon-cash, .ui-icon-revenue, .ui-icon-check, .ui-icon-save { color: #10b981; }
.ui-icon-products, .ui-icon-product-categories, .ui-icon-stock, .ui-icon-plus { color: #14b8a6; }
.ui-icon-repairs, .ui-icon-edit, .ui-icon-clock, .ui-icon-tasks { color: #f59e0b; }
.ui-icon-invoices, .ui-icon-settings, .ui-icon-code, .ui-icon-heading { color: #8b5cf6; }
.ui-icon-customers, .ui-icon-users, .ui-icon-mail, .ui-icon-link, .ui-icon-external { color: #06b6d4; }
.ui-icon-appointments, .ui-icon-calendar, .ui-icon-bell { color: #ec4899; }
.ui-icon-message, .ui-icon-messages, .ui-icon-print, .ui-icon-card, .ui-icon-terminal, .ui-icon-refresh { color: #6366f1; }
.ui-icon-trash, .ui-icon-clear { color: #f43f5e; }
.ui-icon-bold { color: #2563eb; }
.ui-icon-italic { color: #d946ef; }
.ui-icon-location { color: #f97316; }
.ui-icon-spark, .ui-icon-pulse { color: #22d3ee; }
.ui-icon-chevron-left, .ui-icon-chevron-right, .ui-icon-chevron-down { color: #a855f7; }

.nav-icon {
    width: var(--ui-icon-nav-size, 25px);
    height: var(--ui-icon-nav-size, 25px);
    display: var(--ui-icon-container-display, inline-grid);
    place-items: center;
    border: 1px solid var(--ui-icon-housing-border, color-mix(in srgb, currentColor 18%, transparent));
    border-radius: var(--ui-icon-housing-radius, 6px);
    background: var(--ui-icon-housing-bg, color-mix(in srgb, currentColor 9%, transparent));
    color: var(--accent);
}

.nav-icon .ui-icon { width: 15px; height: 15px; }

nav a.active .nav-icon,
nav a:hover .nav-icon,
nav a:focus .nav-icon { color: var(--sidebar-text); }

#appSidebar {
    background:
        linear-gradient(180deg, color-mix(in srgb, var(--sidebar) 82%, var(--accent) 18%), var(--sidebar) 42%),
        var(--sidebar);
}

nav a {
    position: relative;
    overflow: hidden;
}

nav a.active::after {
    content: "";
    position: absolute;
    inset: 7px 0 7px auto;
    width: 3px;
    border-radius: 99px;
    background: linear-gradient(180deg, var(--accent), var(--accent-dark));
    box-shadow: 0 0 16px color-mix(in srgb, var(--accent) 80%, transparent);
}

.logo {
    background: linear-gradient(135deg, var(--accent), var(--accent-dark));
    box-shadow: 0 0 24px color-mix(in srgb, var(--accent) 36%, transparent);
}

.topbar .pill {
    background: linear-gradient(135deg, color-mix(in srgb, var(--field) 86%, var(--accent) 14%), var(--field));
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--accent) 12%, transparent), 0 8px 22px rgba(0, 0, 0, .18);
}

button,
.tech-primary {
    background: var(--button-bg);
    box-shadow: 0 10px 24px color-mix(in srgb, var(--accent-dark) 28%, transparent);
}

button:hover,
.tech-primary:hover {
    background: var(--button-hover-bg);
    box-shadow: 0 12px 30px color-mix(in srgb, var(--accent) 34%, transparent);
}

button .ui-icon,
.button-link .ui-icon { margin-right: 7px; }

/* A neutral icon plate keeps action symbols readable over any user-selected button color. */
button:not(.top-user-profile):not(.top-shortcut-mobile-toggle):not(.dashboard-drag-handle):not(.message-tag) > .ui-icon,
a.button-link > .ui-icon {
    width: 24px;
    height: 24px;
    flex: 0 0 24px;
    padding: 4px;
    border: 1px solid rgba(15, 23, 42, .22);
    border-radius: 5px;
    background: linear-gradient(145deg, #ffffff, #eef2f7);
    box-shadow: 0 1px 2px rgba(15, 23, 42, .18), inset 0 0 0 1px rgba(255, 255, 255, .7);
    filter: drop-shadow(0 0 1px rgba(15, 23, 42, .55));
}

:is(button, a.button-link) > :is(.ui-icon-dashboard, .ui-icon-reports, .ui-icon-sales, .ui-icon-search, .ui-icon-eye, .ui-icon-list) { color: #1d4ed8; }
:is(button, a.button-link) > :is(.ui-icon-register, .ui-icon-cash, .ui-icon-revenue, .ui-icon-check, .ui-icon-save) { color: #047857; }
:is(button, a.button-link) > :is(.ui-icon-products, .ui-icon-product-categories, .ui-icon-stock, .ui-icon-plus) { color: #0f766e; }
:is(button, a.button-link) > :is(.ui-icon-repairs, .ui-icon-edit, .ui-icon-clock, .ui-icon-tasks, .ui-icon-location) { color: #b45309; }
:is(button, a.button-link) > :is(.ui-icon-invoices, .ui-icon-settings, .ui-icon-code, .ui-icon-heading, .ui-icon-chevron-left, .ui-icon-chevron-right, .ui-icon-chevron-down) { color: #6d28d9; }
:is(button, a.button-link) > :is(.ui-icon-customers, .ui-icon-users, .ui-icon-mail, .ui-icon-link, .ui-icon-external) { color: #0e7490; }
:is(button, a.button-link) > :is(.ui-icon-appointments, .ui-icon-calendar, .ui-icon-bell) { color: #be185d; }
:is(button, a.button-link) > :is(.ui-icon-message, .ui-icon-messages, .ui-icon-print, .ui-icon-card, .ui-icon-terminal, .ui-icon-refresh) { color: #4338ca; }
:is(button, a.button-link) > :is(.ui-icon-trash, .ui-icon-clear) { color: #be123c; }
button[type="submit"]:not(.icon-button):not(.settings-subtab):not(.category-filter-button) > .ui-icon,
.button-link:not(.neutral-button):not(.danger-button):not(.settings-subtab):not(.category-filter-button):not(.customer-clear-button):not(.cart-edit-button) > .ui-icon {
    color: #ffffff !important;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    filter: drop-shadow(0 1px 1px rgba(0,0,0,.45));
}
button[type="submit"]:not(.icon-button):not(.settings-subtab):not(.category-filter-button) > .button-label,
.button-link:not(.neutral-button):not(.danger-button):not(.settings-subtab):not(.category-filter-button):not(.customer-clear-button):not(.cart-edit-button) > .button-label {
    background-image: none !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff;
    text-shadow: 0 1px 1px rgba(0,0,0,.28);
}

.email-html-toolbar button > .ui-icon,
.dashboard-drag-handle > .ui-icon,
.dashboard-order-buttons button > .ui-icon {
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    filter: none;
}

input:focus,
select:focus,
textarea:focus {
    outline: 0;
    border-color: var(--accent);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent), 0 0 18px color-mix(in srgb, var(--accent) 10%, transparent);
}

.stat,
.panel {
    background:
        linear-gradient(145deg, color-mix(in srgb, var(--panel) 90%, var(--accent) 10%), var(--panel) 68%),
        var(--panel);
    border-color: color-mix(in srgb, var(--line) 78%, var(--accent) 22%);
    box-shadow: 0 18px 45px rgba(0, 0, 0, .22), 0 0 0 1px color-mix(in srgb, var(--accent) 5%, transparent);
}

.dashboard-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(220px, .7fr);
    gap: 24px;
    min-height: 300px;
    align-items: center;
    overflow: hidden;
    margin-bottom: 20px;
    padding: 34px 38px;
    border: 1px solid color-mix(in srgb, var(--accent) 30%, var(--line));
    border-radius: calc(var(--radius-panel) + 4px);
    background:
        radial-gradient(circle at 84% 50%, color-mix(in srgb, var(--accent) 24%, transparent), transparent 28%),
        linear-gradient(120deg, color-mix(in srgb, var(--panel) 90%, var(--accent) 10%), var(--panel) 58%, color-mix(in srgb, var(--accent-dark) 12%, var(--panel))),
        var(--theme-image);
    background-size: auto, auto, cover;
    background-position: center, center, center;
    box-shadow: 0 22px 60px rgba(0, 0, 0, .26), inset 0 1px 0 color-mix(in srgb, #fff 12%, transparent);
}

.dashboard-hero::after {
    content: "";
    position: absolute;
    inset: auto 10% 0 10%;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--accent), transparent);
    opacity: .7;
}

.dashboard-hero-copy { position: relative; z-index: 1; max-width: 720px; }

.eyebrow,
.section-kicker {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--accent);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.eyebrow-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--accent);
    box-shadow: 0 0 14px var(--accent);
}

.dashboard-hero h2 {
    max-width: 740px;
    margin: 14px 0 10px;
    font-size: 3rem;
    line-height: 1.02;
    letter-spacing: 0;
}

.dashboard-hero p {
    max-width: 620px;
    margin-bottom: 22px;
    color: var(--muted);
    font-size: 1rem;
    line-height: 1.7;
}

.hero-actions { display: flex; gap: 10px; flex-wrap: wrap; }

.tech-secondary {
    border: 1px solid color-mix(in srgb, var(--accent) 30%, var(--line));
    background: var(--secondary-button-bg);
    color: var(--secondary-button-text);
}

.tech-secondary:hover { background: var(--secondary-button-hover-bg); color: var(--secondary-button-text); }

.dashboard-orbit {
    position: relative;
    width: min(250px, 100%);
    aspect-ratio: 1;
    justify-self: end;
    display: grid;
    place-items: center;
}

.orbit-ring {
    position: absolute;
    border: 1px solid color-mix(in srgb, var(--accent) 42%, transparent);
    border-radius: 50%;
    box-shadow: 0 0 25px color-mix(in srgb, var(--accent) 14%, transparent);
}

.orbit-ring-one { inset: 12%; animation: orbit-spin 18s linear infinite; }
.orbit-ring-two { inset: 26%; border-style: dashed; animation: orbit-spin-reverse 12s linear infinite; }

.orbit-core {
    position: relative;
    z-index: 1;
    width: 112px;
    height: 112px;
    display: grid;
    place-items: center;
    align-content: center;
    gap: 3px;
    border-radius: 50%;
    color: var(--ink);
    background: radial-gradient(circle at 34% 28%, color-mix(in srgb, var(--accent) 38%, var(--panel)), var(--panel) 68%);
    border: 1px solid color-mix(in srgb, var(--accent) 55%, var(--line));
    box-shadow: 0 0 38px color-mix(in srgb, var(--accent) 30%, transparent), inset 0 0 28px color-mix(in srgb, var(--accent) 14%, transparent);
}

.orbit-core .ui-icon { width: 25px; height: 25px; color: var(--accent); }
.orbit-core > span { display: var(--ui-icon-container-display, inline-block); }
.orbit-core strong { font-size: .72rem; letter-spacing: .14em; color: var(--accent); }
.orbit-core small { color: var(--muted); }

@keyframes orbit-spin { to { transform: rotate(360deg); } }
@keyframes orbit-spin-reverse { to { transform: rotate(-360deg); } }

.dashboard-stats { gap: 14px; }

.dashboard-stat {
    position: relative;
    min-height: 142px;
    overflow: hidden;
    padding: 18px;
}

.dashboard-stat::after {
    content: "";
    position: absolute;
    width: 90px;
    height: 90px;
    right: -30px;
    bottom: -34px;
    border-radius: 50%;
    background: color-mix(in srgb, var(--accent) 24%, transparent);
    filter: blur(18px);
}

.stat-top { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.dashboard-stat .stat-label { color: var(--muted); font-weight: 800; font-size: .82rem; }
.dashboard-stat strong { font-size: 2rem; letter-spacing: 0; }
.dashboard-stat small { color: var(--muted); }

.metric-icon {
    width: 38px;
    height: 38px;
    display: var(--ui-icon-container-display, grid);
    place-items: center;
    border-radius: 12px;
    color: var(--accent);
    background: linear-gradient(135deg, color-mix(in srgb, var(--accent) 26%, transparent), color-mix(in srgb, var(--accent-dark) 14%, var(--panel)));
    border: 1px solid color-mix(in srgb, var(--accent) 28%, var(--line));
    box-shadow: 0 0 18px color-mix(in srgb, var(--accent) 14%, transparent);
}

.dashboard-stat .metric-icon { color: var(--accent); }

.dashboard-sales-pulse {
    display: grid;
    gap: 18px;
    margin: 20px 0;
}

.dashboard-sales-pulse-top {
    margin-top: 0;
    border-color: color-mix(in srgb, var(--accent) 34%, var(--line));
}

.dashboard-employee-message {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    margin: 0 0 20px;
    padding: 17px 19px;
    border-color: color-mix(in srgb, var(--accent) 40%, var(--line));
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--accent) 14%, var(--panel)), var(--panel) 70%),
        var(--panel);
}

.dashboard-employee-message-icon {
    width: 46px;
    height: 46px;
    display: var(--ui-icon-container-display, grid);
    place-items: center;
    border: 1px solid color-mix(in srgb, var(--accent) 42%, var(--line));
    border-radius: var(--radius-control);
    color: var(--accent);
    background: color-mix(in srgb, var(--accent) 16%, var(--field));
    box-shadow: 0 0 20px color-mix(in srgb, var(--accent) 16%, transparent);
}

.dashboard-employee-message-icon .ui-icon { width: 22px; height: 22px; }
.dashboard-employee-message-copy { min-width: 0; }
.dashboard-employee-message-copy p { margin: 5px 0 7px; color: var(--ink); font-size: 1rem; line-height: 1.55; }
.dashboard-employee-message-copy small { color: var(--muted); }
.dashboard-employee-message-meta { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.dashboard-employee-message-meta .button-link { padding: 6px 9px; font-size: .76rem; }

.dashboard-sales-pulse-heading { margin-bottom: 0; }
.dashboard-sales-pulse-heading h2 { margin-bottom: 5px; }
.dashboard-sales-pulse-heading p { margin-bottom: 0; }
.dashboard-date-stamp {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--muted);
    font-size: .82rem;
    font-weight: 800;
    white-space: nowrap;
}
.dashboard-period-selector { display: grid; grid-template-columns: minmax(190px, 1fr) minmax(280px, auto) auto; align-items: end; gap: 10px; padding: 12px; border: 1px solid color-mix(in srgb, var(--accent) 28%, var(--line)); border-radius: var(--radius-control); background: color-mix(in srgb, var(--field) 88%, var(--accent) 12%); }
.dashboard-period-selector label { display: grid; gap: 5px; min-width: 0; }
.dashboard-period-selector label > span:first-child { color: var(--muted); font-size: .68rem; font-weight: 900; text-transform: uppercase; }
.dashboard-select-wrap { position: relative; display: block; }
.dashboard-select-wrap > .ui-icon:first-child { position: absolute; z-index: 1; left: 12px; top: 50%; color: var(--accent); transform: translateY(-50%); pointer-events: none; }
.dashboard-select-wrap > .ui-icon:last-child { position: absolute; right: 12px; top: 50%; color: var(--muted); transform: translateY(-50%); pointer-events: none; }
.dashboard-select-wrap select { width: 100%; padding-right: 38px; padding-left: 38px; appearance: none; }
.dashboard-custom-dates { display: grid; grid-template-columns: repeat(2, minmax(130px, 1fr)); gap: 8px; }
.dashboard-custom-dates[hidden] { display: none; }
.dashboard-period-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    flex: 0 0 auto;
    padding: 9px 11px;
    border: 1px solid var(--line);
    border-radius: var(--radius-control);
    background: var(--field);
    color: var(--muted);
    font-size: .78rem;
    font-weight: 800;
    text-decoration: none;
}
.dashboard-period-link:hover,
.dashboard-period-link.active {
    border-color: var(--accent);
    background: color-mix(in srgb, var(--accent) 14%, var(--field));
    color: var(--ink);
}
.dashboard-period-link.active .ui-icon { color: var(--accent); }
.dashboard-period-grid {
    display: grid;
    grid-template-columns: 1.2fr repeat(3, 1fr);
    gap: 10px;
}
.dashboard-period-card {
    display: grid;
    gap: 7px;
    min-width: 0;
    padding: 15px;
    border: 1px solid var(--line);
    border-radius: var(--radius-control);
    background: color-mix(in srgb, var(--field) 86%, var(--panel));
}
.dashboard-period-card .stat-label { color: var(--muted); font-size: .76rem; font-weight: 800; }
.dashboard-period-card strong { overflow: hidden; text-overflow: ellipsis; color: var(--ink); font-size: 1.35rem; }
.dashboard-period-card small { color: var(--muted); }
.dashboard-period-primary { border-color: color-mix(in srgb, var(--accent) 45%, var(--line)); background: linear-gradient(135deg, color-mix(in srgb, var(--accent) 16%, var(--field)), var(--field)); }
.dashboard-period-primary strong { color: var(--accent); font-size: 1.7rem; }
.dashboard-period-card.is-positive { border-color: color-mix(in srgb, #22c55e 42%, var(--line)); }
.dashboard-period-card.is-positive strong, .dashboard-period-card.is-positive small { color: #22c55e; }
.dashboard-period-card.is-negative { border-color: color-mix(in srgb, #ef4444 42%, var(--line)); }
.dashboard-period-card.is-negative strong, .dashboard-period-card.is-negative small { color: #ef4444; }
.dashboard-period-card.is-neutral strong { color: var(--muted); }
.dashboard-period-note { display: flex; justify-content: space-between; gap: 12px; color: var(--muted); font-size: .76rem; }

.dashboard-content-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(320px, .7fr);
    gap: 20px;
    align-items: start;
}

.dashboard-panel {
    min-height: 320px;
    background-image: linear-gradient(135deg, color-mix(in srgb, var(--panel) 95%, transparent), color-mix(in srgb, var(--panel) 82%, transparent)), var(--theme-image);
    background-size: auto, cover;
    background-position: center, center;
}
.dashboard-panel .section-kicker { margin-bottom: 7px; }
.dashboard-panel h2 { margin-bottom: 5px; }
.dashboard-panel .toolbar p { margin-bottom: 0; }
.dashboard-panel table tr:hover td { background: color-mix(in srgb, var(--accent) 7%, transparent); }

.dashboard-layout-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; margin-bottom: 16px; }
.dashboard-layout-heading h2 { margin: 3px 0 4px; font-size: 1.35rem; }
.dashboard-layout-heading p { margin: 0; }
.dashboard-layout-form { display: contents; }
.dashboard-editor-notice { position: sticky; top: 8px; z-index: 90; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 11px; margin-bottom: 12px; padding: 10px 12px; border: 1px solid color-mix(in srgb, #8b5cf6 36%, var(--line)); border-radius: 8px; background: color-mix(in srgb, var(--panel) 94%, #8b5cf6 6%); box-shadow: 0 12px 28px rgba(15, 23, 42, .14); }
.dashboard-editor-notice > .ui-icon { width: 20px; height: 20px; }
.dashboard-editor-notice > div { display: grid; gap: 2px; min-width: 0; }
.dashboard-editor-notice strong { font-size: .84rem; }
.dashboard-editor-notice span { color: var(--muted); font-size: .74rem; }
.dashboard-module-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 16px; align-items: start; }
.dashboard-module { min-width: 0; }
.dashboard-module-wide { grid-column: span 12; }
.dashboard-module-half { grid-column: span 6; }
.dashboard-module-content > :first-child { margin-top: 0; }
.dashboard-module-content > :last-child { margin-bottom: 0; }
.dashboard-module-grid.is-editing .dashboard-module { overflow: hidden; border: 1px solid color-mix(in srgb, #8b5cf6 30%, var(--line)); border-radius: 8px; background: color-mix(in srgb, var(--panel) 97%, #8b5cf6 3%); transition: border-color .16s ease, opacity .16s ease, transform .16s ease; }
.dashboard-module-grid.is-editing .dashboard-module-content { padding: 10px; }
.dashboard-module-grid.is-editing .dashboard-module-content > .panel,
.dashboard-module-grid.is-editing .dashboard-module-content > .dashboard-hero,
.dashboard-module-grid.is-editing .dashboard-module-content > .stats { margin: 0; }
.dashboard-module-control { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 8px; min-height: 45px; padding: 6px 8px; border-bottom: 1px solid var(--line); background: color-mix(in srgb, var(--field) 86%, #8b5cf6 14%); }
.dashboard-module-control > span { display: flex; align-items: center; gap: 7px; min-width: 0; font-size: .78rem; }
.dashboard-module-control > span .ui-icon { width: 15px; height: 15px; }
.dashboard-drag-handle { display: grid; width: 31px; height: 31px; place-items: center; padding: 0; border: 1px solid var(--line); background: var(--panel); color: var(--muted); box-shadow: none; cursor: grab; }
.dashboard-drag-handle:hover { border-color: #8b5cf6; background: var(--panel); box-shadow: none; transform: none; }
.dashboard-drag-handle:active { cursor: grabbing; }
.dashboard-drag-handle .ui-icon { margin: 0; }
.dashboard-order-buttons { display: none; align-items: center; gap: 4px; }
.dashboard-order-buttons button { display: grid; width: 30px; height: 30px; place-items: center; padding: 0; border: 1px solid var(--line); background: var(--panel); box-shadow: none; }
.dashboard-order-buttons button:hover { border-color: #8b5cf6; background: var(--panel); box-shadow: none; transform: none; }
.dashboard-order-buttons .ui-icon { width: 14px; height: 14px; margin: 0; transform: rotate(90deg); }
.dashboard-module-toggle { position: relative; margin: 0; cursor: pointer; }
.dashboard-module-toggle input { position: absolute; opacity: 0; pointer-events: none; }
.dashboard-module-toggle span { display: inline-flex; min-width: 64px; justify-content: center; padding: 5px 8px; border: 1px solid color-mix(in srgb, #10b981 40%, var(--line)); border-radius: 99px; background: color-mix(in srgb, #10b981 12%, var(--field)); color: #059669; font-size: .68rem; font-weight: 900; }
.dashboard-module.is-module-hidden { border-style: dashed; opacity: .64; }
.dashboard-module.is-module-hidden .dashboard-module-content { max-height: 112px; overflow: hidden; filter: grayscale(.8); opacity: .28; pointer-events: none; }
.dashboard-module.is-module-hidden .dashboard-module-toggle span { border-color: color-mix(in srgb, #f43f5e 38%, var(--line)); background: color-mix(in srgb, #f43f5e 10%, var(--field)); color: #e11d48; }
.dashboard-module.is-dragging { opacity: .45; transform: scale(.99); }
.dashboard-module.is-drag-target { border-color: #8b5cf6 !important; box-shadow: 0 0 0 3px color-mix(in srgb, #8b5cf6 17%, transparent); }
.dashboard-empty-module { display: flex; align-items: center; gap: 12px; }
.dashboard-empty-module > span { display: grid; width: 40px; height: 40px; flex: 0 0 40px; place-items: center; border-radius: 8px; background: color-mix(in srgb, #6366f1 12%, var(--field)); }
.dashboard-empty-module > div { flex: 1; min-width: 0; }
.dashboard-empty-module p { margin: 3px 0 0; }
.dashboard-chart-panel { min-height: 385px; }
.dashboard-chart-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin-bottom: 18px; }
.dashboard-chart-heading h2 { margin: 3px 0 4px; font-size: 1.05rem; }
.dashboard-chart-heading p { margin: 0; }
.dashboard-chart-heading > strong { color: var(--accent); font-size: 1.3rem; white-space: nowrap; }
.dashboard-bar-chart { display: grid; grid-template-columns: repeat(31, minmax(4px, 1fr)); align-items: end; gap: 3px; height: 225px; padding: 8px 2px 0; border-bottom: 1px solid var(--line); }
.dashboard-bar-column { display: grid; grid-template-rows: minmax(0, 1fr) 17px; align-items: end; gap: 4px; height: 100%; min-width: 0; }
.dashboard-bar-track { position: relative; height: 100%; overflow: hidden; border-radius: 3px 3px 0 0; background: color-mix(in srgb, var(--line) 46%, transparent); }
.dashboard-bar-track span { position: absolute; right: 0; bottom: 0; left: 0; min-height: 2px; height: var(--bar-height); border-radius: 3px 3px 0 0; background: linear-gradient(180deg, #22d3ee, #3b82f6 56%, #6366f1); transition: height .3s ease; }
.dashboard-bar-column:hover .dashboard-bar-track span { filter: brightness(1.12); }
.dashboard-bar-column small { overflow: visible; color: var(--muted); font-size: .58rem; text-align: center; }
.dashboard-line-chart { min-width: 0; }
.dashboard-line-chart svg { display: block; width: 100%; height: 220px; overflow: visible; }
.dashboard-chart-gridline { fill: none; stroke: color-mix(in srgb, var(--line) 80%, transparent); stroke-width: 1; }
.dashboard-line-area { fill: url(#dashboardLineFill); }
.dashboard-line-path { fill: none; stroke: #3b82f6; stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; filter: drop-shadow(0 5px 8px rgba(59, 130, 246, .24)); }
.dashboard-line-chart circle { fill: var(--panel); stroke: #8b5cf6; stroke-width: 3; }
.dashboard-line-labels { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 2px; margin-top: -5px; color: var(--muted); text-align: center; }
.dashboard-line-labels small { font-size: .6rem; }
.dashboard-chart-legend { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 14px; color: var(--muted); font-size: .7rem; }
.dashboard-chart-legend span { display: inline-flex; align-items: center; gap: 6px; }
.dashboard-chart-legend i { display: inline-block; width: 16px; height: 4px; border-radius: 99px; }
.legend-accent { background: linear-gradient(90deg, #22d3ee, #6366f1); }
.legend-line { background: linear-gradient(90deg, #3b82f6, #8b5cf6); }
.dashboard-table-wrap { max-width: 100%; overflow-x: auto; }
.activity-panel .activity { padding: 16px 0; }
.activity-avatar { color: var(--accent); background: linear-gradient(135deg, color-mix(in srgb, var(--accent) 22%, var(--panel)), var(--field)); border: 1px solid color-mix(in srgb, var(--accent) 26%, var(--line)); display: var(--ui-icon-container-display, grid); }
.activity-avatar .ui-icon { width: 19px; height: 19px; }

@media (max-width: 900px) {
    .user-settings-grid { grid-template-columns: 1fr; }
    .user-filter-bar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .user-filter-bar > div:first-child { grid-column: 1 / -1; }
    .user-role-settings-grid { grid-template-columns: 1fr; }
    .user-editor-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .schedule-row { grid-template-columns: 1fr 1fr; }
    .user-role-permissions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .top-menu-editor-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .menu-editor-main-fields { grid-template-columns: 1fr; }
    .button-theme-grid { grid-template-columns: 1fr; }
    .button-effects-layout { grid-template-columns: 1fr; }
    .design-settings-form { grid-template-columns: 1fr; }
    .design-preview-rail { position: static; padding: 18px 0 0; border-top: 1px solid var(--line); border-left: 0; }
    .dashboard-hero { grid-template-columns: 1fr; }
    .dashboard-orbit { justify-self: start; width: 170px; }
    .dashboard-period-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .dashboard-content-grid { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
    .top-shortcut-bar { align-items: stretch; flex-direction: column; padding: 7px 12px; gap: 4px; }
    .top-shortcut-list { justify-content: flex-start; max-width: 100%; }
    .top-user-area { position: static; justify-content: space-between; }
    .top-user-name { text-align: left; }
    .pos-date-search-row { grid-template-columns: 1fr; }
    .pos-receipt-followup-row { grid-template-columns: 1fr; }
    .pos-receipt-followup-row .receipt-delivery-choice,
    .pos-receipt-followup-row .pos-followup-choice { grid-column: 1; }
    .qr-payment-copy { grid-template-columns: 1fr; }
    .login-card { padding: 22px; }
    .user-editor-row, .user-role-heading, .user-role-permissions, .top-menu-editor-row, .schedule-row { grid-template-columns: 1fr; }
    .top-menu-editor-row .menu-child-list, .top-menu-editor-row .menu-add-child { grid-column: 1 / -1; }
    .menu-child-row { grid-template-columns: 1fr auto; }
    .menu-child-row select { grid-column: 1 / -1; }
    .button-theme-group, .button-theme-options { grid-template-columns: 1fr; }
    .button-effects-controls, .button-effects-preview > div { grid-template-columns: 1fr; }
    .button-theme-preview { position: static; }
    .design-settings-editor { grid-template-columns: 1fr; }
    .user-profile-header { align-items: flex-start; flex-direction: column; }
    .user-profile-actions { flex-direction: column-reverse; }
    .user-profile-actions > * { width: 100%; }
    .dashboard-hero { padding: 24px; }
    .dashboard-hero h2 { font-size: 2rem; }
    .dashboard-orbit { display: none; }
    .hero-actions { flex-direction: column; align-items: stretch; }
    .dashboard-sales-pulse-heading { align-items: flex-start; flex-direction: column; }
    .dashboard-period-selector { grid-template-columns: 1fr; }
    .dashboard-custom-dates { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .dashboard-period-selector > button { width: 100%; }
    .dashboard-period-grid { grid-template-columns: 1fr; }
    .dashboard-period-note { flex-direction: column; gap: 4px; }
}

/* POS workflow refinements */
main { overflow: visible; }

.pos-page-footer {
    backdrop-filter: blur(18px);
}

.module-register .pos-layout { padding-bottom: 92px; }
.pos-builder-totals { overflow-x: auto; }
.pos-builder-totals > div { min-width: 96px; }
.pos-builder-totals span { font-size: calc(.72rem + 2px); }
.pos-builder-totals strong { font-size: calc(.96rem + 2px); }
.pos-builder-totals .invoice-builder-total strong { font-size: calc(1.2rem + 2px); }

.customer-picker-control { grid-template-columns: minmax(0, 1fr) auto auto auto; }
.date-input-wrap { position: relative; }
.date-input-wrap .ui-icon { position: absolute; left: 12px; top: 50%; z-index: 1; width: 16px; height: 16px; color: var(--accent); transform: translateY(-50%); pointer-events: none; }
.date-input-wrap input { padding-left: 38px; }
.customer-search-wrap { position: relative; min-width: 0; }
.customer-search-wrap > input { min-height: 45px; }
.customer-search-results {
    position: absolute;
    z-index: 30;
    top: calc(100% + 8px);
    left: 0;
    right: 0;
    display: grid;
    gap: 5px;
    max-height: 310px;
    overflow-y: auto;
    padding: 7px;
    border: 1px solid color-mix(in srgb, var(--accent) 30%, var(--line));
    border-radius: var(--radius-panel);
    background: var(--panel);
    box-shadow: 0 18px 44px rgba(0, 0, 0, .34);
}

.customer-search-result {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    padding: 11px 12px;
    border: 1px solid transparent;
    border-radius: var(--radius-control);
    background: var(--field);
    color: var(--ink);
    text-align: left;
}

.customer-search-result:hover,
.customer-search-result:focus {
    border-color: var(--accent);
    background: color-mix(in srgb, var(--field) 78%, var(--accent) 22%);
}

.customer-search-result span:first-child { display: grid; gap: 3px; min-width: 0; }
.customer-search-result small { color: var(--muted); overflow-wrap: anywhere; }
.customer-result-role { display: inline-flex; align-items: center; justify-content: center; padding: 4px 7px; border: 1px solid color-mix(in srgb, var(--accent) 38%, var(--line)); border-radius: var(--radius-control); background: color-mix(in srgb, var(--accent) 12%, var(--field)); color: var(--accent); font-size: .68rem; font-weight: 900; text-transform: uppercase; }
.customer-search-empty { margin: 0; padding: 14px; }
.customer-clear-button { height: 45px; border: 1px solid var(--line); background: var(--neutral-button-bg); color: var(--neutral-button-text); }
.customer-clear-button:hover { background: var(--neutral-button-hover-bg); }

.customer-detail-preview {
    font-size: 14px;
    line-height: 1.5;
}

.pos-totals-sticky {
    position: static;
    margin: 0;
    padding: 0;
    overflow-x: auto;
}

.pos-page-footer .pos-transaction-actions { flex-wrap: wrap; justify-content: flex-end; }
.pos-mobile-action-selector { display: none; }

.audit-header { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.audit-header h2 { margin: 4px 0; }
.audit-summary { display: flex; gap: 8px; flex-wrap: wrap; }
.audit-summary > span { display: grid; gap: 2px; min-width: 132px; padding: 10px 12px; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--field); color: var(--muted); font-size: .72rem; }
.audit-summary strong { color: var(--ink); font-size: 1.15rem; }
.audit-summary .is-attention { border-color: color-mix(in srgb, #ef4444 45%, var(--line)); }
.audit-filters { display: grid; grid-template-columns: minmax(210px, 1.6fr) repeat(6, minmax(125px, 1fr)); gap: 9px; align-items: end; }
.audit-filters label { display: grid; gap: 5px; min-width: 0; }
.audit-filters label > span { color: var(--muted); font-size: .68rem; font-weight: 900; text-transform: uppercase; }
.audit-filter-actions { display: flex; gap: 7px; grid-column: 1 / -1; justify-content: flex-end; }
.activity-export-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 13px 16px; border-bottom: 1px solid color-mix(in srgb, var(--accent) 28%, var(--line)); background: linear-gradient(110deg, color-mix(in srgb, var(--accent) 8%, var(--panel)), var(--panel)); }
.activity-export-toolbar > div:first-child { display: grid; grid-template-columns: auto auto; align-items: baseline; gap: 4px 12px; }
.activity-export-toolbar > div:first-child strong { color: var(--accent); }
.activity-export-toolbar > div:first-child span { color: var(--ink); font-weight: 900; }
.activity-export-toolbar > div:first-child small { grid-column: 1 / -1; color: var(--muted); }
.activity-export-actions { display: flex; gap: 7px; flex-wrap: wrap; }
.activity-export-actions button { min-height: 40px; padding: 8px 11px; }
.activity-select-cell { width: 42px; text-align: center; }
.activity-select-cell input { width: 17px; height: 17px; accent-color: var(--accent); }
.audit-ledger table code { color: var(--muted); font-size: .7rem; }
.audit-ledger-table td > strong,
.audit-ledger-table td > span,
.audit-ledger-table td > code { display: block; margin-top: 3px; }
.audit-ledger-table .tag { display: inline-flex; margin: 0 0 5px; }
.audit-ledger details { margin-top: 5px; }
.audit-ledger summary { cursor: pointer; color: var(--accent); font-size: .7rem; font-weight: 800; }
.audit-row-attention td:first-child { box-shadow: inset 3px 0 #ef4444; }
.customer-type-pick { display: flex; align-items: end; justify-content: space-between; gap: 18px; border-color: color-mix(in srgb, var(--accent) 40%, var(--line)); background: color-mix(in srgb, var(--panel) 90%, var(--accent) 10%); }
.customer-type-pick h3 { margin: 3px 0 0; }
.customer-type-selector { display: grid; gap: 5px; min-width: min(100%, 310px); }
.customer-type-selector > span { color: var(--muted); font-size: .7rem; font-weight: 900; text-transform: uppercase; }
.customer-directory-switch { display: inline-flex; align-items: center; gap: 9px; margin-top: 12px; padding: 5px; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--field); }
.customer-directory-switch a { display: inline-flex; align-items: center; gap: 6px; padding: 6px 9px; color: var(--muted); font-size: .75rem; font-weight: 850; text-decoration: none; }
.customer-directory-switch a.active { color: var(--accent); }
.customer-directory-switch > span { width: 1px; align-self: stretch; background: var(--line); }

@media (max-width: 1180px) { .audit-filters { grid-template-columns: repeat(3, minmax(0, 1fr)); } .audit-search { grid-column: span 2; } }
@media (max-width: 680px) { .audit-header { align-items: stretch; flex-direction: column; } .audit-summary > span { flex: 1; } .audit-filters { grid-template-columns: 1fr 1fr; } .audit-search { grid-column: 1 / -1; } .audit-filter-actions, .activity-export-actions { display: grid; grid-template-columns: 1fr 1fr; } .activity-export-toolbar { align-items: stretch; flex-direction: column; } .customer-type-pick { align-items: stretch; flex-direction: column; } .customer-type-selector { min-width: 0; width: 100%; } }

@media screen and (max-width: 760px) {
    .audit-header { padding: 17px; border-top: 4px solid var(--accent); }
    .audit-header h2 { font-size: 1.2rem; }
    .audit-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .audit-summary > span { min-width: 0; padding: 9px 10px; }
    .audit-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 2px; }
    .audit-filter-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .activity-export-toolbar { gap: 11px; padding: 14px; }
    .activity-export-toolbar > div:first-child { grid-template-columns: 1fr auto; }
    .activity-export-toolbar > div:first-child small { line-height: 1.4; }
    .activity-export-actions { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .activity-export-actions button { min-width: 0; padding-inline: 6px; }
    .audit-ledger { padding: 0; border: 0; background: transparent; box-shadow: none; }
    .audit-ledger-wrap { max-width: 100%; padding: 0; overflow: visible; }
    .audit-ledger-table,
    .audit-ledger-table tbody { display: block; width: 100%; min-width: 0; }
    .audit-ledger-table thead { display: none; }
    .audit-ledger-table tbody { display: grid; gap: 11px; }
    .audit-ledger-table tbody tr {
        position: relative;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        padding: 14px;
        border: 1px solid color-mix(in srgb, var(--accent) 25%, var(--line));
        border-left: 4px solid var(--accent);
        border-radius: var(--radius-panel);
        background: var(--panel);
        box-shadow: 0 8px 24px rgba(0, 0, 0, .08);
    }
    .audit-ledger-table tbody tr.audit-row-attention { border-left-color: #ef4444; }
    .audit-row-attention td:first-child { box-shadow: none; }
    .audit-ledger-table td {
        display: grid;
        align-content: start;
        gap: 3px;
        min-width: 0;
        padding: 10px 8px;
        border: 0;
        border-top: 1px solid color-mix(in srgb, var(--line) 76%, transparent);
        font-size: .78rem;
        overflow-wrap: anywhere;
    }
    .audit-ledger-table td::before {
        content: attr(data-label);
        color: var(--muted);
        font-size: .62rem;
        font-weight: 850;
        letter-spacing: .04em;
        text-transform: uppercase;
    }
    .audit-ledger-table .activity-select-cell {
        position: absolute;
        z-index: 2;
        top: 13px;
        right: 13px;
        display: block;
        width: auto;
        padding: 0;
        border: 0;
    }
    .audit-ledger-table .activity-select-cell::before { display: none; }
    .audit-ledger-table .activity-select-cell input { width: 21px; height: 21px; }
    .audit-ledger-table .audit-action { grid-column: 1 / -1; padding: 0 38px 12px 8px; border-top: 0; }
    .audit-ledger-table .audit-action::before { display: none; }
    .audit-ledger-table .audit-action > strong { font-size: .94rem; line-height: 1.32; }
    .audit-ledger-table .audit-time > span,
    .audit-ledger-table td > code { font-size: .69rem; }
    .audit-ledger-table .audit-context { grid-column: 1 / -1; }
    .audit-ledger-table details { width: 100%; }
    .audit-ledger-table details small { display: block; margin-top: 6px; overflow-wrap: anywhere; }

    .invoice-table-wrap { padding: 12px; overflow: visible; }
    .invoice-list-table,
    .invoice-list-table tbody { display: block; width: 100%; min-width: 0; }
    .invoice-list-table thead { display: none; }
    .invoice-list-table tbody { display: grid; gap: 12px; }
    .invoice-list-table tbody tr {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        padding: 14px;
        border: 1px solid color-mix(in srgb, var(--accent) 28%, var(--line));
        border-top: 4px solid var(--accent);
        border-radius: var(--radius-panel);
        background: var(--panel);
        box-shadow: 0 8px 24px rgba(0, 0, 0, .08);
    }
    .invoice-list-table tbody tr[hidden] { display: none !important; }
    .invoice-list-table td {
        display: grid;
        align-content: start;
        gap: 4px;
        min-width: 0;
        padding: 9px 7px;
        border: 0;
        overflow-wrap: anywhere;
    }
    .invoice-list-table td::before {
        content: attr(data-label);
        color: var(--muted);
        font-size: .62rem;
        font-weight: 850;
        letter-spacing: .04em;
        text-transform: uppercase;
    }
    .invoice-list-table td[data-label="Invoice"] { padding-top: 1px; }
    .invoice-list-table td[data-label="Invoice"] strong { color: var(--accent); font-size: 1rem; }
    .invoice-list-table td[data-label="Status"] { justify-items: end; padding-top: 1px; }
    .invoice-list-table td[data-label="Customer"],
    .invoice-list-table td[data-label="Total"],
    .invoice-list-table .invoice-actions-cell { grid-column: 1 / -1; border-top: 1px solid var(--line); }
    .invoice-list-table td[data-label="Total"] { grid-template-columns: 1fr auto; align-items: center; }
    .invoice-list-table td[data-label="Total"] strong { color: var(--accent); font-size: 1.15rem; }
    .invoice-list-table .invoice-actions-cell::before { display: none; }
    .invoice-row-actions { display: none; }
    .invoice-mobile-actions { display: block; width: 100%; margin: 0; }
    .invoice-mobile-actions > summary {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr) auto;
        align-items: center;
        gap: 9px;
        min-height: 45px;
        padding: 10px 13px;
        border: 1px solid color-mix(in srgb, var(--accent) 46%, var(--line));
        border-radius: var(--radius-control);
        background: linear-gradient(125deg, color-mix(in srgb, var(--accent) 16%, var(--field)), var(--field));
        color: var(--ink);
        font-weight: 850;
        cursor: pointer;
        list-style: none;
    }
    .invoice-mobile-actions > summary::-webkit-details-marker { display: none; }
    .invoice-mobile-actions[open] > summary .ui-icon-chevron-down { transform: rotate(180deg); }
    .invoice-mobile-action-menu { display: grid; gap: 5px; margin-top: 6px; padding: 7px; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--field); }
    .invoice-mobile-action-menu a,
    .invoice-mobile-action-menu button { display: flex; align-items: center; justify-content: flex-start; gap: 10px; width: 100%; min-height: 44px; padding: 9px 11px; border: 0; border-radius: calc(var(--radius-control) - 2px); background: var(--panel); color: var(--ink); text-decoration: none; }
    .invoice-mobile-action-menu form { margin: 0; }
    .invoice-mobile-action-menu .danger-button { color: var(--danger); }
    .invoice-delivery-panel { grid-template-columns: 1fr; padding: 16px; }
    .invoice-delivery-panel .invoice-payment-send-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; }
    .invoice-delivery-panel .invoice-payment-send-row > :last-child { grid-column: 1 / -1; }
    .invoice-delivery-panel .invoice-payment-send-row button,
    .invoice-delivery-panel .invoice-payment-send-row .button-link { width: 100%; }
}

@media screen and (max-width: 520px) {
    .audit-filters { grid-template-columns: minmax(0, 1fr); }
    .audit-search { grid-column: auto; }
    .audit-filter-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media screen and (max-width: 760px) {
    .invoice-table-wrap,
    .audit-ledger-wrap { overflow: visible; scrollbar-width: none; }
    .invoice-table-wrap::-webkit-scrollbar,
    .audit-ledger-wrap::-webkit-scrollbar { display: none; }
}

.pos-totals-table {
    width: 100%;
    min-width: 680px;
    border-collapse: separate;
    border-spacing: 0;
}

.pos-totals-table td {
    padding: 7px 10px;
    border: 0;
    color: var(--muted);
    font-size: .78rem;
    font-weight: 800;
    white-space: nowrap;
}

.pos-totals-table td:nth-child(even) {
    color: var(--ink);
    font-size: .96rem;
    font-weight: 900;
}

.pos-totals-table .total-cell {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 8px 14px;
    border-left: 1px solid var(--line);
    border-right: 1px solid var(--line);
    color: var(--accent);
}

.pos-totals-table .total-cell strong { font-size: 1.18rem; }

.product-pick-card {
    min-height: 158px;
    grid-template-rows: 90px auto auto;
    gap: 8px;
    padding: 9px;
    background: linear-gradient(145deg, color-mix(in srgb, var(--panel) 90%, var(--accent) 10%), var(--panel));
}

.product-pick-card:hover {
    box-shadow: 0 12px 25px color-mix(in srgb, var(--accent-dark) 22%, transparent);
}

.product-pick-name {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.product-pick-price {
    color: var(--accent);
    font-size: 1rem;
    font-weight: 900;
}

.cart-row-actions { display: flex; justify-content: flex-end; gap: 6px; }
.cart-row-actions button { padding: 7px 9px; font-size: .76rem; }
.cart-row-actions .ui-icon { width: 14px; height: 14px; margin-right: 4px; }
.cart-edit-button { border: 1px solid var(--line); background: var(--neutral-button-bg); color: var(--neutral-button-text); }
.cart-edit-button:hover { background: var(--neutral-button-hover-bg); }
.temporary-item-note { color: var(--accent); font-size: .7rem; font-weight: 900; }

.barcode-scanner-card { width: min(560px, calc(100vw - 28px)); }
.barcode-scanner-view { position: relative; aspect-ratio: 4 / 3; overflow: hidden; border: 1px solid color-mix(in srgb, var(--accent) 34%, var(--line)); border-radius: var(--radius-panel); background: #050816; }
.barcode-scanner-view video { display: block; width: 100%; height: 100%; object-fit: cover; }
.barcode-scanner-frame { position: absolute; inset: 18%; border: 2px solid #facc15; box-shadow: 0 0 0 999px rgba(0, 0, 0, .34); pointer-events: none; }
.barcode-scanner-actions { display: flex; justify-content: flex-end; margin-top: 12px; }
.qr-payment-checkout { display: grid; gap: 12px; }
.qr-payment-code { display: grid; place-items: center; min-height: 214px; padding: 12px; border: 1px solid var(--line); border-radius: var(--radius-panel); background: #fff; }
.qr-payment-code canvas, .qr-payment-code img { width: 190px !important; height: 190px !important; }
.qr-payment-copy { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: end; }
.qr-payment-copy label { grid-column: 1 / -1; }
.qr-payment-status { padding: 10px 12px; border: 1px solid color-mix(in srgb, #0f766e 34%, var(--line)); border-radius: var(--radius-control); background: color-mix(in srgb, #0f766e 9%, var(--field)); color: var(--ink); font-size: .82rem; font-weight: 850; }
.payment-portal-page { display: grid; min-height: 100dvh; place-items: center; padding: 18px; }
.payment-portal-card { display: grid; gap: 16px; width: min(520px, 100%); padding: 20px; border: 1px solid var(--line); border-radius: var(--radius-panel); background: var(--panel); box-shadow: var(--shadow); }
.payment-portal-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.payment-portal-heading h1 { margin: 0 0 5px; font-size: 1.3rem; }
.payment-portal-heading strong { font-size: 1.35rem; white-space: nowrap; }
.payment-portal-qr { display: grid; place-items: center; padding: 12px; border: 1px solid var(--line); border-radius: var(--radius-control); background: #fff; }
.payment-portal-options { display: grid; gap: 8px; }
.payment-portal-option { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 10px; align-items: center; padding: 11px 12px; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--field); color: var(--ink); text-decoration: none; }
.payment-portal-option small { display: block; margin-top: 2px; color: var(--muted); }
.payment-portal-cashapp { grid-template-columns: 22px minmax(0, 1fr); }
.payment-portal-cashapp .cash-app-pay-button,
.payment-portal-cashapp .payment-portal-inline-status { grid-column: 1 / -1; }
.payment-portal-cashapp .cash-app-pay-button { min-height: 44px; }
.payment-portal-inline-status { margin: 0; font-size: .82rem; }
.payment-portal-paid { display: grid; gap: 5px; place-items: center; padding: 18px; border: 1px solid color-mix(in srgb, #16a34a 45%, var(--line)); border-radius: var(--radius-control); background: color-mix(in srgb, #16a34a 10%, var(--field)); text-align: center; }
.payment-portal-note { margin: 0; font-size: .82rem; }

.receipt-delivery-buttons { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.receipt-delivery-button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 48px;
    border: 1px solid var(--line);
    background: var(--neutral-button-bg);
    color: var(--neutral-button-text);
}

.receipt-delivery-button:hover,
.receipt-delivery-button.active {
    border-color: var(--accent);
    background: linear-gradient(135deg, color-mix(in srgb, var(--accent) 28%, var(--field)), color-mix(in srgb, var(--accent-dark) 22%, var(--field)));
    color: var(--ink);
    box-shadow: 0 0 20px color-mix(in srgb, var(--accent) 18%, transparent);
}

.payment-method-button .ui-icon { width: 17px; height: 17px; margin-right: 7px; vertical-align: -4px; }

.item-edit-note {
    display: grid;
    align-content: center;
    gap: 4px;
    padding: 11px 12px;
    border: 1px solid var(--line);
    border-radius: var(--radius-control);
    background: var(--field);
}

/* Product directory and shared product editor */
.product-directory-heading { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin-bottom: 16px; }
.product-directory-heading h2 { margin: 3px 0 4px; font-size: 1.65rem; }
.product-directory-heading p { margin: 0; }
.product-directory-stats { margin-bottom: 16px; }
.product-directory-panel { padding: 0; overflow: hidden; }
.product-directory-filters { display: grid; grid-template-columns: minmax(260px, 1.5fr) repeat(4, minmax(130px, .65fr)) auto; gap: 8px; padding: 14px; border-bottom: 1px solid var(--line); background: color-mix(in srgb, var(--field) 72%, var(--panel)); }
.product-directory-search { position: relative; min-width: 0; }
.product-directory-search > .ui-icon { position: absolute; top: 50%; left: 12px; z-index: 1; transform: translateY(-50%); color: var(--muted); }
.product-directory-search input { width: 100%; padding-left: 39px; }
.product-directory-result-bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 14px; border-bottom: 1px solid var(--line); font-size: .76rem; }
.product-directory-table-wrap { overflow-x: auto; }
.product-directory-table { min-width: 1080px; }
.product-directory-table td { vertical-align: middle; }
.product-directory-table td > small { display: block; margin-top: 4px; color: var(--muted); }
.product-directory-identity { display: grid; grid-template-columns: 48px minmax(0, 1fr); align-items: center; gap: 10px; min-width: 260px; }
.product-directory-identity > img, .product-directory-identity > span { display: grid; width: 48px; height: 48px; place-items: center; border: 1px solid var(--line); border-radius: 7px; background: var(--field); object-fit: cover; }
.product-directory-identity > div { min-width: 0; }
.product-directory-identity strong, .product-directory-identity small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.product-directory-identity small { margin-top: 3px; color: var(--muted); font-size: .7rem; }
.product-stock-state, .product-status { display: inline-flex; min-width: 54px; justify-content: center; padding: 5px 8px; border: 1px solid var(--line); border-radius: 99px; font-size: .7rem; font-weight: 900; }
.product-stock-state.is-available, .product-status.is-active { border-color: color-mix(in srgb, #10b981 42%, var(--line)); background: color-mix(in srgb, #10b981 11%, var(--field)); color: #047857; }
.product-stock-state.is-low, .product-status.is-draft { border-color: color-mix(in srgb, #f59e0b 42%, var(--line)); background: color-mix(in srgb, #f59e0b 11%, var(--field)); color: #b45309; }
.product-stock-state.is-out, .product-status.is-discontinued { border-color: color-mix(in srgb, #f43f5e 42%, var(--line)); background: color-mix(in srgb, #f43f5e 10%, var(--field)); color: #be123c; }
.product-editor-page { padding: 0; overflow: visible; }
.product-editor-heading { margin: 0; padding: 18px 20px; border-bottom: 1px solid var(--line); }
.product-editor-heading h2 { margin: 2px 0 3px; }
.product-editor-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, 330px); align-items: start; }
.product-editor-form { display: grid; gap: 0; min-width: 0; }
.product-editor-section { padding: 20px; border-bottom: 1px solid var(--line); }
.product-editor-section-heading { display: flex; align-items: center; gap: 10px; margin-bottom: 15px; }
.product-editor-section-heading > .ui-icon { width: 20px; height: 20px; }
.product-editor-section-heading h3, .product-editor-section-heading p { margin: 0; }
.product-editor-section-heading p { margin-top: 3px; }
.product-editor-summary { position: sticky; top: 16px; display: grid; gap: 18px; padding: 20px; border-left: 1px solid var(--line); background: color-mix(in srgb, var(--field) 52%, var(--panel)); }
.product-editor-summary section { display: grid; gap: 11px; }
.product-editor-summary .product-photo-frame { height: auto; aspect-ratio: 1; max-height: 280px; }
.product-editor-actions { display: flex; justify-content: flex-end; gap: 8px; margin: 0 20px; }

/* Stripe Terminal configuration and checkout */
.stripe-terminal-settings-layout { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr); gap: 16px; padding: 20px; }
.stripe-terminal-connect-panel, .stripe-terminal-register-panel { display: grid; align-content: start; gap: 16px; padding: 18px; }
.stripe-terminal-panel-heading { display: flex; align-items: center; gap: 12px; }
.stripe-terminal-panel-heading > span { display: grid; width: 44px; height: 44px; flex: 0 0 44px; place-items: center; border: 1px solid color-mix(in srgb, #6366f1 32%, var(--line)); border-radius: 8px; background: color-mix(in srgb, #6366f1 11%, var(--field)); }
.stripe-terminal-panel-heading h3, .stripe-terminal-panel-heading p, .stripe-terminal-register-panel h3, .stripe-terminal-register-panel p { margin: 0; }
.stripe-terminal-reader-summary { display: grid; gap: 3px; align-content: center; padding: 10px 12px; border: 1px solid color-mix(in srgb, #6366f1 30%, var(--line)); border-radius: 7px; background: color-mix(in srgb, #6366f1 7%, var(--field)); }
.stripe-terminal-reader-summary span, .stripe-terminal-reader-summary small { color: var(--muted); font-size: .7rem; }
.stripe-terminal-warning { margin: 0; }
.stripe-terminal-checkout { display: grid; gap: 12px; padding: 13px; border: 1px solid color-mix(in srgb, #6366f1 34%, var(--line)); border-radius: 8px; background: color-mix(in srgb, #6366f1 6%, var(--field)); }
.stripe-terminal-checkout-reader { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 10px; }
.stripe-terminal-checkout-reader > span:first-child { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 7px; background: #fff; }
.stripe-terminal-checkout-reader > div { display: grid; min-width: 0; }
.stripe-terminal-checkout-reader small, .stripe-terminal-checkout-reader code { color: var(--muted); font-size: .68rem; }
.stripe-terminal-reader-state { padding: 5px 8px; border: 1px solid color-mix(in srgb, #10b981 36%, var(--line)); border-radius: 99px; background: color-mix(in srgb, #10b981 10%, var(--field)); color: #047857; font-size: .68rem; font-weight: 900; }
.stripe-terminal-progress { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 11px; padding: 11px; border-top: 1px solid var(--line); }
.stripe-terminal-progress > i { width: 13px; height: 13px; border: 3px solid color-mix(in srgb, #6366f1 25%, var(--line)); border-top-color: #6366f1; border-radius: 50%; }
.stripe-terminal-progress.is-processing > i { animation: terminal-spin .8s linear infinite; }
.stripe-terminal-progress.is-success > i { border: 0; background: #10b981; box-shadow: 0 0 0 4px color-mix(in srgb, #10b981 14%, transparent); }
.stripe-terminal-progress.is-failed > i { border: 0; background: #f43f5e; box-shadow: 0 0 0 4px color-mix(in srgb, #f43f5e 12%, transparent); }
.stripe-terminal-progress strong, .stripe-terminal-progress p { margin: 0; }
.stripe-terminal-progress p { margin-top: 3px; color: var(--muted); font-size: .75rem; }
.stripe-terminal-checkout-actions { display: flex; justify-content: flex-end; gap: 7px; }
@keyframes terminal-spin { to { transform: rotate(360deg); } }

@media (max-width: 680px) {
    .customer-picker-control { grid-template-columns: 1fr 1fr; }
    .customer-search-wrap { grid-column: 1 / -1; }
    .customer-clear-button, .customer-edit-button, .customer-add-button { width: 100%; }
    .receipt-delivery-buttons { grid-template-columns: 1fr; }
    .module-register .pos-layout { padding-bottom: 185px; }
}

/* Repair shop module */
.repair-stats { grid-template-columns: repeat(4, minmax(150px, 1fr)); }
.repair-stats small { display: block; margin-top: 6px; color: var(--muted); }
.repair-filter-bar { display: grid; grid-template-columns: minmax(0, 1fr) 220px auto auto; gap: 10px; margin-bottom: 18px; }
.repair-table-wrap { overflow-x: auto; }
.repair-table { min-width: 900px; }
.repair-status-tag { background: color-mix(in srgb, var(--status-color, var(--accent)) 16%, var(--panel)); color: var(--status-color, var(--accent)); }
.repair-status-received { --status-color: #60a5fa; }
.repair-status-diagnosing { --status-color: #a78bfa; }
.repair-status-waiting-for-parts { --status-color: #f59e0b; }
.repair-status-awaiting-customer { --status-color: #fb7185; }
.repair-status-ready-for-pickup { --status-color: #34d399; }
.repair-status-completed { --status-color: #22c55e; }
.repair-status-cancelled { --status-color: #94a3b8; }
.repair-status-custom { --status-color: var(--accent); }
.repair-status-dot { width: 9px; height: 9px; flex: 0 0 auto; border-radius: 50%; background: var(--status-color, var(--accent)); box-shadow: 0 0 0 4px color-mix(in srgb, var(--status-color, var(--accent)) 15%, transparent); }
.repair-priority { font-weight: 900; }
.repair-priority-urgent { color: #ff7889; }
.repair-priority-high { color: #ffbd64; }
.repair-priority-normal { color: var(--accent); }
.repair-priority-low { color: var(--muted); }
.repair-editor-panel { overflow: visible; }
.repair-editor-form { align-items: start; }
.repair-intake-banner {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px;
    border: 1px solid color-mix(in srgb, var(--accent) 28%, var(--line));
    border-radius: var(--radius-panel);
    background: linear-gradient(135deg, color-mix(in srgb, var(--accent) 18%, var(--panel)), var(--panel));
}
.repair-intake-banner > div { display: grid; gap: 3px; }
.repair-intake-banner small { color: var(--muted); }
.repair-ticket-icon {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    color: var(--button-text);
    background: linear-gradient(135deg, var(--accent), var(--accent-dark));
    box-shadow: 0 0 22px color-mix(in srgb, var(--accent) 28%, transparent);
}
.repair-customer-search-wrap { position: relative; }
.repair-customer-search-wrap .customer-search-results { top: calc(100% + 7px); }
.repair-customer-actions { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin-top: 8px; }
.repair-rewards-control { display: grid; gap: 8px; padding: 12px; border: 1px solid color-mix(in srgb, var(--accent) 35%, var(--line)); border-radius: var(--radius-control); background: linear-gradient(135deg, color-mix(in srgb, var(--accent) 12%, var(--field)), var(--field)); }
.repair-rewards-control > div:first-child { display: grid; gap: 3px; }
.repair-rewards-control small { font-size: .78rem; }
.repair-rewards-control .inline-control { display: flex; align-items: end; gap: 8px; flex-wrap: wrap; }
.repair-rewards-control input { max-width: 150px; }
.repair-editor-shell { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 18px; align-items: start; }
.repair-editor-form { min-width: 0; }
.repair-wizard-navigation { display: grid; grid-column: 1 / -1; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-bottom: 2px; }
.repair-wizard-nav-button { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 8px; padding: 10px 12px; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--field); color: var(--muted); text-align: left; }
.repair-wizard-nav-button span { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: var(--panel); color: var(--muted); font-size: .75rem; font-weight: 900; }
.repair-wizard-nav-button strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .8rem; }
.repair-wizard-nav-button.active { border-color: var(--accent); background: color-mix(in srgb, var(--accent) 13%, var(--field)); color: var(--ink); box-shadow: 0 0 18px color-mix(in srgb, var(--accent) 14%, transparent); }
.repair-wizard-nav-button.active span { background: var(--accent); color: var(--button-text); }
.repair-wizard-step { display: grid; grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; align-items: start; }
.repair-wizard-step[hidden] { display: none !important; }
.repair-wizard-step-heading { display: flex; align-items: baseline; gap: 9px; grid-column: 1 / -1; padding-bottom: 6px; border-bottom: 1px solid var(--line); }
.repair-wizard-step-heading span { color: var(--accent); font-size: .72rem; font-weight: 900; text-transform: uppercase; }
.repair-wizard-step-heading strong { font-size: 1.05rem; }
.repair-wizard-controls { display: flex; justify-content: space-between; grid-column: 1 / -1; gap: 10px; margin-top: 4px; padding-top: 13px; border-top: 1px solid var(--line); }
.repair-wizard-controls button:only-child { margin-left: auto; }
.repair-summary-sidebar { position: sticky; top: 18px; display: grid; align-self: start; align-content: start; grid-auto-rows: max-content; gap: 16px; min-width: 0; width: 100%; max-width: 280px; height: fit-content; min-height: 0; overflow: hidden; padding: 18px; border: 1px solid color-mix(in srgb, var(--accent) 30%, var(--line)); border-radius: var(--radius-panel); background: linear-gradient(160deg, color-mix(in srgb, var(--accent) 10%, var(--panel)), var(--panel)); box-shadow: var(--shadow); }
.repair-summary-heading { display: grid; gap: 5px; min-width: 0; }
.repair-summary-heading strong { min-width: 0; font-size: 1.15rem; overflow-wrap: anywhere; }
.repair-summary-status { display: flex; align-items: flex-start; gap: 9px; min-width: 0; padding: 10px; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--field); color: var(--status-color, var(--accent)); font-weight: 900; }
.repair-summary-status > span:nth-child(2) { min-width: 0; overflow-wrap: anywhere; line-height: 1.25; }
.repair-summary-status small { min-width: 0; max-width: 88px; margin-left: auto; color: var(--muted); font-size: .72rem; line-height: 1.25; text-align: right; overflow-wrap: anywhere; }
.repair-summary-lines, .repair-summary-meta { display: grid; gap: 9px; }
.repair-summary-lines > div, .repair-summary-meta > div { display: flex; justify-content: space-between; gap: 10px; min-width: 0; color: var(--muted); font-size: .83rem; }
.repair-summary-lines > div > span, .repair-summary-meta > div > span { min-width: 0; overflow-wrap: anywhere; }
.repair-summary-lines strong, .repair-summary-meta strong { min-width: 0; color: var(--ink); text-align: right; overflow-wrap: anywhere; }
.repair-summary-lines .repair-summary-total { padding-top: 11px; border-top: 1px solid var(--line); color: var(--ink); }
.repair-summary-lines .repair-summary-total strong { color: var(--accent); font-size: 1.16rem; }
.repair-summary-lines .repair-summary-balance { padding: 12px; border: 1px solid color-mix(in srgb, var(--accent) 34%, var(--line)); border-radius: var(--radius-control); background: color-mix(in srgb, var(--accent) 10%, var(--field)); color: var(--ink); }
.repair-summary-lines .repair-summary-balance strong { color: var(--accent); font-size: 1.12rem; }
.repair-summary-meta { padding-top: 13px; border-top: 1px solid var(--line); }
.repair-form-section-card { display: grid; grid-column: 1 / -1; gap: 13px; padding: 16px; border: 1px solid color-mix(in srgb, var(--accent) 22%, var(--line)); border-left: 4px solid color-mix(in srgb, var(--accent) 72%, var(--line)); border-radius: var(--radius-panel); background: color-mix(in srgb, var(--panel) 94%, var(--accent) 6%); box-shadow: 0 8px 22px color-mix(in srgb, var(--ink) 7%, transparent); }
.repair-form-section-card[hidden] { display: none !important; }
.repair-form-section-card .repair-device-card-heading { margin: 0; padding-bottom: 11px; border-bottom: 1px solid var(--line); }
.repair-form-section-card .repair-device-card-heading > .ui-icon { width: 20px; height: 20px; color: var(--accent); }
.repair-form-section-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 13px; }
.repair-form-section-grid > .full { grid-column: 1 / -1; }
.repair-device-card.repair-form-section-card { padding: 16px; }
.repair-device-card .repair-device-fields { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.repair-device-card .repair-device-secondary { grid-column: 1 / -1; }
.repair-form-section-customer { border-left-color: #0ea5e9; background: color-mix(in srgb, var(--panel) 93%, #0ea5e9 7%); }
.repair-form-section-ticket { border-left-color: #8b5cf6; }
.repair-form-section-intake { border-left-color: #f59e0b; }
.repair-form-section-work { border-left-color: #14b8a6; }
.repair-form-section-pricing { border-left-color: #22c55e; }
.repair-form-section-payment { border-left-color: #f97316; background: color-mix(in srgb, var(--panel) 91%, #f97316 9%); }
.repair-form-section-completion { border-left-color: #ec4899; }
.repair-form-section-payment .repair-form-section-grid { grid-template-columns: 1fr; }
.repair-deposit-payment { display: grid; gap: 13px; }
.repair-deposit-heading { display: flex; align-items: center; gap: 10px; }
.repair-deposit-heading > span { display: grid; width: 38px; height: 38px; place-items: center; border-radius: var(--radius-control); background: linear-gradient(135deg, #f97316, #ea580c); color: #fff; }
.repair-deposit-heading > div { display: grid; gap: 2px; }
.repair-deposit-heading small { color: var(--muted); }
.repair-deposit-fields { display: grid; grid-template-columns: minmax(150px, .42fr) minmax(0, 1fr); gap: 12px; }
.repair-deposit-methods { margin: 0; padding: 0; border: 0; }
.repair-deposit-methods legend { margin-bottom: 8px; padding: 0; color: var(--ink); font-weight: 800; }
.repair-deposit-methods > div { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 8px; }
.repair-deposit-method { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 9px; margin: 0; padding: 11px; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--field); cursor: pointer; }
.repair-deposit-method:has(input:checked) { border-color: #f97316; background: color-mix(in srgb, var(--field) 84%, #f97316 16%); box-shadow: 0 0 0 2px color-mix(in srgb, #f97316 18%, transparent); }
.repair-deposit-method input { width: 17px; min-height: 17px; margin: 0; accent-color: #f97316; }
.repair-deposit-method > span { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 4px 7px; min-width: 0; }
.repair-deposit-method .ui-icon { color: #c2410c; }
.repair-deposit-method small { grid-column: 2; color: var(--muted); font-size: .72rem; line-height: 1.3; }
.repair-store-credit-note { margin: 0; padding: 9px 11px; border-left: 3px solid #22c55e; background: color-mix(in srgb, var(--field) 88%, #22c55e 12%); color: var(--muted); }
.repair-store-credit-note.is-insufficient { border-left-color: var(--danger); color: var(--danger); }
.repair-parts-section { display: grid; gap: 10px; padding: 14px; border: 1px solid var(--line); border-radius: var(--radius-panel); background: color-mix(in srgb, var(--field) 70%, var(--panel)); }
.repair-section-toolbar { margin-bottom: 0; }
.repair-product-search-wrap { position: relative; }
.repair-product-search-wrap .search-results { top: calc(100% + 7px); z-index: 4; }
.repair-parts-list { display: grid; gap: 8px; }
.repair-part-row { display: grid; grid-template-columns: minmax(0, 1fr) 74px 100px 92px auto; align-items: center; gap: 8px; padding: 9px; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--panel); }
.repair-part-row > div { display: grid; gap: 3px; min-width: 0; }
.repair-part-row strong, .repair-part-row small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.repair-part-row small { color: var(--muted); font-size: .72rem; }
.repair-part-row input { min-width: 0; padding: 8px; }
.repair-part-total { color: var(--accent); text-align: right; }
.repair-parts-subtotal { display: flex; justify-content: flex-end; gap: 12px; color: var(--muted); font-size: .84rem; }
.repair-parts-subtotal strong { color: var(--ink); }
.repair-message-settings { padding: 13px 15px; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--field); }
.settings-inline-actions { display: flex; justify-content: flex-end; align-items: center; gap: 9px; }
.repair-status-notification-settings { display: grid; gap: 13px; padding: 15px; border: 1px solid color-mix(in srgb, var(--accent) 28%, var(--line)); border-radius: var(--radius-panel); background: color-mix(in srgb, var(--accent) 6%, var(--field)); }
.repair-status-notification-settings h3, .repair-status-notification-settings p { margin-bottom: 4px; }
.repair-status-notification-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 8px; }
.repair-status-notification-option { display: flex; align-items: center; gap: 9px; min-height: 42px; margin: 0; padding: 9px 11px; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--panel); color: var(--ink); cursor: pointer; }
.repair-status-notification-option:has(input:checked) { border-color: color-mix(in srgb, var(--status-color, var(--accent)) 58%, var(--line)); background: color-mix(in srgb, var(--status-color, var(--accent)) 10%, var(--panel)); }
.repair-status-notification-option input[type="checkbox"] { width: auto; margin: 0; }
.repair-status-notification-option strong { font-size: .82rem; }
.repair-settings-subtabs { margin-bottom: 20px; }
.repair-settings-shortcuts { display: flex; gap: 10px; flex-wrap: wrap; padding: 14px; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--field); }
.repair-wizard-settings { display: grid; gap: 18px; padding: 18px; }
.repair-step-label-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.repair-section-assignment-list { display: grid; gap: 8px; }
.repair-section-assignment-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(220px, .8fr) auto auto; align-items: center; gap: 12px; min-width: 0; padding: 10px 12px; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--field); }
.repair-section-assignment-row > span { min-width: 0; color: var(--ink); font-weight: 800; overflow-wrap: anywhere; }
.repair-section-assignment-row .checkbox-row { margin: 0; white-space: nowrap; }
.repair-settings-fields-layout { display: grid; grid-template-columns: minmax(220px, .65fr) minmax(0, 1.35fr); gap: 18px; align-items: start; }
.repair-field-add-form { display: grid; gap: 9px; padding: 18px; }
.repair-field-add-form h3 { margin-bottom: 0; }
.repair-field-add-form button { margin-top: 4px; }
.repair-delivery-form { display: flex; gap: 7px; flex-wrap: wrap; }
.repair-delivery-form button { padding: 9px 12px; }
.repair-status-link { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 8px; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--line); }
.repair-status-link > span { display: inline-flex; align-items: center; gap: 6px; color: var(--muted); font-size: .8rem; font-weight: 800; white-space: nowrap; }
.repair-status-link input { min-width: 0; padding: 9px 10px; color: var(--muted); }
.repair-status-link button { padding: 9px 11px; }
.repair-ticket-parts { display: grid; gap: 8px; }
.repair-ticket-parts > div { display: flex; justify-content: space-between; gap: 12px; padding-bottom: 8px; border-bottom: 1px solid var(--line); }
.repair-ticket-parts small { color: var(--muted); }
.repair-ticket-parts strong { color: var(--accent); }
.repair-calendar-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 14px; }
.repair-calendar-toolbar > strong { font-size: 1.1rem; }
.repair-calendar-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); overflow: hidden; border-radius: var(--radius-control); }
.repair-calendar-weekday { padding: 9px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); color: var(--muted); font-size: .72rem; font-weight: 900; text-transform: uppercase; }
.repair-calendar-day { min-height: 122px; padding: 9px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: color-mix(in srgb, var(--panel) 90%, var(--field)); }
.repair-calendar-day.is-empty { background: var(--field); opacity: .5; }
.repair-calendar-day > strong { display: block; margin-bottom: 7px; color: var(--muted); font-size: .8rem; }
.repair-calendar-items { display: grid; gap: 5px; }
.repair-calendar-item { display: grid; gap: 2px; padding: 6px; border-left: 3px solid var(--status-color, var(--accent)); border-radius: 4px; background: color-mix(in srgb, var(--status-color, var(--accent)) 13%, var(--field)); color: var(--ink); font-size: .7rem; }
.repair-calendar-item:hover { background: color-mix(in srgb, var(--status-color, var(--accent)) 22%, var(--field)); }
.repair-calendar-item small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--muted); }
.repair-catalog-tabs { margin-bottom: 20px; }
.repair-catalog-layout { display: grid; grid-template-columns: minmax(220px, .7fr) minmax(0, 1.3fr); gap: 18px; align-items: start; }
.repair-catalog-form { display: grid; gap: 9px; padding: 18px; }
.repair-catalog-form h3 { margin-bottom: 0; }
.repair-catalog-list { display: grid; gap: 8px; }
.repair-catalog-row { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 13px 14px; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--field); }
.repair-catalog-row > span { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 8px; min-width: 0; }
.repair-catalog-row > span small { grid-column: 2; color: var(--muted); }
.repair-catalog-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent) 15%, transparent); }
.active-view-button { border-color: var(--accent); color: var(--ink); background: color-mix(in srgb, var(--accent) 16%, var(--field)); }
.repair-balance-preview {
    display: grid;
    align-content: center;
    gap: 4px;
    padding: 11px 12px;
    border: 1px solid color-mix(in srgb, var(--accent) 28%, var(--line));
    border-radius: var(--radius-control);
    background: color-mix(in srgb, var(--accent) 10%, var(--field));
}
.repair-balance-preview span { color: var(--muted); font-size: .82rem; font-weight: 800; }
.repair-balance-preview strong { color: var(--accent); font-size: 1.3rem; }
.repair-form-actions { display: flex; justify-content: flex-end; gap: 10px; }
.repair-ticket-body { min-height: 100vh; padding: 24px; background: var(--bg); }
.repair-ticket-page { width: min(900px, 100%); margin: 0 auto; }
.repair-ticket-paper { padding: clamp(22px, 4vw, 44px); }
.repair-ticket-actions { display: flex; justify-content: flex-end; gap: 8px; flex-wrap: wrap; margin-bottom: 28px; }
.repair-ticket-header { display: flex; justify-content: space-between; gap: 24px; padding-bottom: 22px; border-bottom: 1px solid var(--line); }
.repair-ticket-header strong { font-size: 1.3rem; }
.repair-ticket-number { display: grid; justify-items: end; gap: 3px; }
.repair-ticket-number span, .repair-ticket-number small { color: var(--muted); }
.repair-ticket-number strong { color: var(--accent); font-size: 1.5rem; }
.repair-public-status { display: flex; align-items: center; gap: 10px; margin: 22px 0; padding: 13px 15px; border: 1px solid color-mix(in srgb, var(--accent) 28%, var(--line)); border-radius: var(--radius-control); background: color-mix(in srgb, var(--accent) 10%, var(--panel)); }
.repair-public-status span, .repair-public-status small { color: var(--muted); }
.repair-public-status strong { color: var(--status-color, var(--accent)); }
.repair-ticket-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.repair-ticket-grid > section, .repair-ticket-section { padding: 16px; border: 1px solid var(--line); border-radius: var(--radius-panel); background: var(--field); }
.repair-ticket-grid h2, .repair-ticket-section h2 { font-size: .95rem; margin-bottom: 12px; }
.repair-ticket-section { margin-top: 18px; }
.repair-ticket-totals { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 18px; }
.repair-ticket-totals div { display: grid; gap: 4px; padding: 14px; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--field); }
.repair-ticket-totals span { color: var(--muted); font-size: .82rem; }
.repair-ticket-totals strong { color: var(--accent); font-size: 1.15rem; }
.repair-ticket-footer { margin-top: 24px; padding-top: 18px; border-top: 1px solid var(--line); color: var(--muted); }

.message-template-page { display: grid; gap: 18px; }
.message-template-tabs { display: flex; gap: 0; flex-wrap: wrap; min-height: 48px; padding: 0 4px; overflow: visible; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: color-mix(in srgb, var(--accent) 4%, var(--panel)); }
.message-template-tabs a { position: relative; display: inline-flex; align-items: center; gap: 7px; min-height: 47px; padding: 9px 13px; border: 0; border-radius: 0; background: transparent; color: var(--muted); font-size: .8rem; font-weight: 850; white-space: nowrap; }
.message-template-tabs a + a { border-left: 1px solid var(--line); }
.message-template-tabs a:hover { background: color-mix(in srgb, var(--accent) 6%, transparent); color: var(--ink); }
.message-template-tabs a.active { background: color-mix(in srgb, var(--accent) 8%, transparent); color: var(--accent); }
.message-template-tabs a.active::after { content: ""; position: absolute; right: 12px; bottom: -1px; left: 12px; height: 3px; background: var(--accent); }
.message-template-landing { display: grid; grid-template-columns: repeat(auto-fit, minmax(245px, 1fr)); gap: 10px; }
.message-template-landing > a { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 12px; min-height: 82px; padding: 14px; border: 1px solid var(--line); border-radius: var(--radius-panel); background: var(--field); color: var(--ink); }
.message-template-landing > a:hover { border-color: color-mix(in srgb, var(--accent) 46%, var(--line)); background: color-mix(in srgb, var(--accent) 6%, var(--field)); transform: translateY(-1px); }
.message-template-landing strong, .message-template-landing small { display: block; }
.message-template-landing small { margin-top: 4px; color: var(--muted); line-height: 1.4; }
.message-template-icon { display: inline-grid; width: 38px; height: 38px; place-items: center; border: 1px solid color-mix(in srgb, var(--accent) 35%, var(--line)); border-radius: var(--radius-control); background: color-mix(in srgb, var(--accent) 12%, var(--field)); color: var(--accent); }
.message-editor-layout { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(290px, .55fr); gap: 18px; align-items: start; }
.message-editor-form { display: grid; gap: 18px; min-width: 0; padding: 18px; border: 1px solid var(--line); border-radius: var(--radius-panel); background: var(--field); }
.message-editor-heading { display: flex; align-items: center; gap: 12px; }
.message-editor-heading h3, .message-editor-heading p { margin: 0; }
.message-template-field { display: grid; gap: 7px; }
.message-template-field textarea { min-height: 152px; resize: vertical; font-size: .92rem; line-height: 1.55; }
.message-field-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.message-field-heading > label { margin: 0; }
.email-format-switch { display: inline-flex; gap: 3px; padding: 3px; border: 1px solid var(--line); border-radius: var(--radius-control); background: color-mix(in srgb, var(--panel) 76%, var(--field)); }
.email-format-switch label { margin: 0; cursor: pointer; }
.email-format-switch input { position: absolute; opacity: 0; pointer-events: none; }
.email-format-switch span { display: inline-flex; align-items: center; gap: 6px; min-height: 31px; padding: 5px 9px; border-radius: calc(var(--radius-control) - 3px); color: var(--muted); font-size: .75rem; font-weight: 850; }
.email-format-switch input:checked + span { background: var(--field); color: var(--ink); box-shadow: 0 1px 5px rgba(15, 23, 42, .12); }
.email-format-switch .ui-icon { width: 14px; height: 14px; }
.email-html-toolbar { display: flex; flex-wrap: wrap; gap: 5px; padding: 7px; border: 1px solid var(--line); border-bottom: 0; border-radius: var(--radius-control) var(--radius-control) 0 0; background: color-mix(in srgb, var(--panel) 72%, var(--field)); }
.email-html-toolbar[hidden] { display: none; }
.email-html-toolbar button { display: inline-flex; align-items: center; gap: 5px; min-height: 32px; padding: 5px 8px; border: 1px solid var(--line); background: var(--field); color: var(--ink); box-shadow: none; font-size: .73rem; }
.email-html-toolbar button:hover { border-color: color-mix(in srgb, var(--accent) 45%, var(--line)); background: color-mix(in srgb, var(--accent) 7%, var(--field)); box-shadow: none; transform: none; }
.email-html-toolbar button .ui-icon { width: 14px; height: 14px; margin: 0; }
.email-html-toolbar:not([hidden]) + textarea { border-top-left-radius: 0; border-top-right-radius: 0; font-family: Consolas, "SFMono-Regular", monospace; }
.email-preview-panel { overflow: hidden; border: 1px solid color-mix(in srgb, #3b82f6 24%, var(--line)); border-radius: var(--radius-control); background: var(--panel); }
.email-preview-panel summary { display: flex; align-items: center; gap: 7px; padding: 9px 11px; color: var(--ink); cursor: pointer; font-size: .77rem; font-weight: 850; }
.email-preview-panel summary .ui-icon { width: 15px; height: 15px; }
.email-preview-panel iframe { display: block; width: 100%; height: 260px; border: 0; border-top: 1px solid var(--line); background: #fff; }
.message-length { display: flex; justify-content: space-between; gap: 12px; color: var(--muted); font-size: .73rem; }
.message-editor-actions { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding-top: 4px; }
.message-tag-panel { position: sticky; top: 18px; display: grid; gap: 16px; padding: 17px; border: 1px solid color-mix(in srgb, var(--accent) 26%, var(--line)); border-radius: var(--radius-panel); background: color-mix(in srgb, var(--accent) 4%, var(--panel)); }
.message-tag-panel h3, .message-tag-panel h4, .message-tag-panel p { margin: 0; }
.message-tag-panel section { display: grid; gap: 8px; }
.message-tag-list { display: grid; gap: 6px; }
.message-tag { display: grid; grid-template-columns: auto minmax(0, auto) minmax(0, 1fr); align-items: center; gap: 7px; width: 100%; padding: 8px 9px; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--field); color: var(--ink); text-align: left; box-shadow: none; }
.message-tag:hover { border-color: color-mix(in srgb, var(--accent) 50%, var(--line)); background: color-mix(in srgb, var(--accent) 9%, var(--field)); transform: none; }
.message-tag code { color: var(--accent); font-size: .76rem; font-weight: 850; }
.message-tag span { overflow: hidden; color: var(--muted); font-size: .7rem; text-overflow: ellipsis; white-space: nowrap; }
.message-url-note { display: flex; align-items: flex-start; gap: 8px; padding: 10px; border-top: 1px solid var(--line); color: var(--muted); font-size: .74rem; line-height: 1.45; }
.template-center-page { display: grid; gap: 18px; }
.template-center-heading h2 { display: flex; align-items: center; gap: 8px; margin: 3px 0 4px; }
.template-type-tabs { display: flex; gap: 7px; flex-wrap: wrap; padding-bottom: 14px; border-bottom: 1px solid var(--line); overflow: visible; }
.template-type-tabs a { display: inline-flex; align-items: center; gap: 7px; flex: 0 0 auto; min-height: 40px; padding: 8px 11px; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--field); color: var(--muted); font-size: .79rem; font-weight: 850; }
.template-type-tabs a:hover { border-color: color-mix(in srgb, var(--accent) 45%, var(--line)); color: var(--ink); }
.template-type-tabs a.active { border-color: color-mix(in srgb, var(--accent) 55%, var(--line)); background: color-mix(in srgb, var(--accent) 12%, var(--field)); color: var(--accent); }
.template-overview-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.template-overview-grid > a { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 13px; min-height: 100px; padding: 16px; border: 1px solid var(--line); border-radius: var(--radius-panel); background: var(--field); color: var(--ink); }
.template-overview-grid > a:hover { border-color: color-mix(in srgb, var(--accent) 46%, var(--line)); background: color-mix(in srgb, var(--accent) 6%, var(--field)); transform: translateY(-1px); }
.template-overview-grid strong, .template-overview-grid small { display: block; }
.template-overview-grid small { margin-top: 4px; color: var(--muted); line-height: 1.45; }
.receipt-template-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(350px, .8fr); gap: 20px; align-items: start; }
.receipt-template-form { display: grid; gap: 18px; padding: 18px; }
.receipt-template-form-heading { display: flex; align-items: center; gap: 12px; }
.receipt-template-form-heading h3, .receipt-template-form-heading p { margin: 0; }
.receipt-section-controls { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin: 0; padding: 14px; border: 1px solid var(--line); border-radius: var(--radius-control); }
.receipt-section-controls legend { padding: 0 6px; color: var(--muted); font-size: .75rem; font-weight: 900; }
.receipt-section-controls .checkbox-row { margin: 0; padding: 8px 9px; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--field); }
.receipt-template-preview-panel { position: sticky; top: 18px; display: grid; gap: 12px; min-width: 0; padding: 16px; border: 1px solid color-mix(in srgb, var(--accent) 28%, var(--line)); border-radius: var(--radius-panel); background: color-mix(in srgb, var(--accent) 4%, var(--panel)); }
.receipt-template-preview-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.receipt-template-preview-heading h3 { margin: 2px 0 0; }
.receipt-template-preview-heading > span { padding: 5px 8px; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--field); color: var(--accent); font-size: .72rem; font-weight: 900; }
.receipt-template-preview { width: min(100%, 430px); margin: 0 auto; padding: 24px; border: 1px solid #cad3dc; background: #fff; color: #17202a; box-shadow: 0 18px 42px rgba(15, 23, 42, .16); font: var(--preview-font, 14px)/1.4 Arial, sans-serif; }
.receipt-template-preview.is-a4 { min-height: 570px; }
.receipt-template-preview.is-thermal { width: min(100%, calc(var(--preview-width, 80mm) * 1.08)); min-height: 520px; padding: 18px 14px; font-family: "Courier New", monospace; }
.receipt-template-preview header { display: grid; justify-items: center; gap: 3px; padding-bottom: 11px; border-bottom: 1px dashed #9aa5b1; text-align: center; }
.receipt-template-preview header strong { font-size: 1.2em; }
.receipt-template-preview header b { margin-top: 2px; font-size: .78em; text-transform: uppercase; }
.receipt-template-preview header small { color: #56616d; }
.preview-logo { display: grid; place-items: center; width: 68px; height: 28px; border: 1px solid #aab4bf; color: #68737f; font-size: .65em; font-weight: 900; }
.receipt-template-preview dl { display: grid; gap: 5px; margin: 11px 0; }
.receipt-template-preview dl div, .receipt-template-preview section div { display: flex; justify-content: space-between; gap: 12px; }
.receipt-template-preview dt, .receipt-template-preview dd { margin: 0; }
.receipt-template-preview dt { color: #66717d; }
.receipt-template-preview table { width: 100%; margin: 12px 0; border-collapse: collapse; }
.receipt-template-preview th, .receipt-template-preview td { padding: 6px 3px; border-bottom: 1px solid #d6dde4; font-size: .82em; text-align: right; }
.receipt-template-preview th:first-child, .receipt-template-preview td:first-child { text-align: left; }
.preview-grand-total { margin-top: 3px; padding-top: 7px; border-top: 2px solid #17202a; font-size: 1.08em; font-weight: 900; }
.receipt-template-preview section { display: grid; gap: 6px; margin-top: 13px; padding-top: 9px; border-top: 1px dashed #9aa5b1; font-size: .82em; }
.receipt-template-preview footer { margin-top: 18px; padding-top: 10px; border-top: 1px dashed #9aa5b1; color: #4f5a66; font-size: .8em; text-align: center; white-space: pre-line; }
.document-preset-selector { margin: 0; padding: 14px; border: 1px solid var(--line); border-radius: var(--radius-control); }
.document-preset-selector legend { padding: 0 6px; color: var(--muted); font-size: .75rem; font-weight: 900; }
.document-preset-selector > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.document-preset-option { min-width: 0; margin: 0; cursor: pointer; }
.document-preset-option input { position: absolute; opacity: 0; pointer-events: none; }
.document-preset-option > span { display: grid; grid-template-columns: 36px minmax(0, 1fr); gap: 3px 10px; min-height: 78px; padding: 10px; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--field); }
.document-preset-option i { grid-row: span 2; display: block; width: 34px; height: 46px; border: 1px solid var(--line); background: var(--panel); }
.document-preset-option.preset-modern i { border-top: 5px solid var(--accent); background: linear-gradient(to bottom, color-mix(in srgb, var(--accent) 12%, var(--panel)) 32%, var(--panel) 32%); }
.document-preset-option.preset-elegant i { border-color: #38bdf8; background: linear-gradient(135deg, #0f172a 0 34%, #14b8a6 34% 45%, #f8fafc 45%); box-shadow: 0 0 0 2px rgba(56, 189, 248, .14); }
.document-preset-option strong { align-self: end; color: var(--ink); font-size: .8rem; }
.document-preset-option small { color: var(--muted); font-size: .65rem; line-height: 1.3; }
.document-preset-option input:checked + span { border-color: var(--accent); background: color-mix(in srgb, var(--accent) 10%, var(--field)); box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent) 14%, transparent); }
.document-preset-preview { width: min(100%, 470px); min-height: 600px; margin: 0 auto; padding: 28px; border: 1px solid #cbd5df; background: #fff; color: #17202a; box-shadow: 0 18px 42px rgba(15, 23, 42, .16); font: 12px/1.45 Arial, sans-serif; }
.document-preset-preview header { display: grid; justify-items: start; gap: 3px; padding-bottom: 16px; border-bottom: 1px solid #cdd5dd; }
.document-preset-preview header h2 { margin: 7px 0 0; font-size: 24px; }
.document-preset-preview header small { color: #64707c; }
.document-preset-preview.preset-modern { border-top: 6px solid var(--accent); }
.document-preset-preview.preset-modern header { margin: -12px -12px 0; padding: 14px; border: 0; background: color-mix(in srgb, var(--accent) 10%, #fff); }
.document-preset-preview.preset-elegant { border-color: #38bdf8; background-image: linear-gradient(135deg, rgba(56, 189, 248, .13), transparent 30%), linear-gradient(rgba(20, 184, 166, .09) 1px, transparent 1px), linear-gradient(90deg, rgba(20, 184, 166, .09) 1px, transparent 1px); background-size: auto, 18px 18px, 18px 18px; box-shadow: 0 0 0 3px rgba(56, 189, 248, .1), 0 18px 42px rgba(15, 23, 42, .16); }
.document-preset-preview.preset-elegant header { margin: -12px -12px 0; padding: 14px; border: 0; background: linear-gradient(135deg, #0f172a, #0f766e); color: #ecfeff; }
.document-preset-preview.preset-elegant header small { color: rgba(236, 254, 255, .74); }
.document-preset-preview.preset-elegant h2, .document-preset-preview.preset-elegant strong { font-family: Inter, ui-sans-serif, system-ui, sans-serif; font-weight: 900; }
.document-preview-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 18px 0; }
.document-preview-columns > div { display: grid; gap: 3px; padding: 10px; border: 1px solid #d8dfe6; }
.document-preview-columns small { color: #697580; text-transform: uppercase; }
.document-preset-preview table { width: 100%; margin: 16px 0; border-collapse: collapse; }
.document-preset-preview th, .document-preset-preview td { padding: 8px 5px; border-bottom: 1px solid #d8dfe6; text-align: right; }
.document-preset-preview th:first-child, .document-preset-preview td:first-child { text-align: left; }
.document-preset-preview dl { display: grid; gap: 6px; margin-left: auto; width: min(250px, 100%); }
.document-preset-preview dl div { display: flex; justify-content: space-between; }
.document-preview-status { display: inline-flex; margin-bottom: 16px; padding: 6px 9px; border: 1px solid color-mix(in srgb, var(--accent) 45%, #ccd5de); background: color-mix(in srgb, var(--accent) 12%, #fff); color: var(--accent-dark); font-weight: 900; }
.document-preview-copy { margin-bottom: 18px; padding: 12px; border: 1px solid #d8dfe6; }
.document-preview-copy p { margin: 5px 0 0; color: #596570; }
.document-preset-preview footer { margin-top: 30px; padding-top: 12px; border-top: 1px solid #d8dfe6; color: #64707c; text-align: center; white-space: pre-line; }
.receipt-template-preview table small { display: block; margin-top: 2px; color: #697580; font-size: .75em; font-weight: 400; }

@media (max-width: 900px) {
    .repair-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .repair-filter-bar { grid-template-columns: 1fr 1fr; }
    .repair-editor-shell, .repair-catalog-layout, .repair-settings-fields-layout { grid-template-columns: 1fr; }
    .repair-summary-sidebar { position: static; }
    .repair-calendar-day { min-height: 100px; }
    .message-editor-layout { grid-template-columns: 1fr; }
    .message-tag-panel { position: static; }
    .receipt-template-layout { grid-template-columns: 1fr; }
    .receipt-template-preview-panel { position: static; }
}

@media (max-width: 680px) {
    .repair-filter-bar, .repair-ticket-grid, .repair-ticket-totals { grid-template-columns: 1fr; }
    .repair-wizard-navigation, .repair-wizard-step, .repair-step-label-grid, .repair-form-section-grid, .repair-device-card .repair-device-fields, .repair-deposit-fields { grid-template-columns: 1fr; }
    .repair-device-card .repair-device-secondary, .repair-form-section-grid > .full { grid-column: auto; }
    .repair-wizard-nav-button strong { white-space: normal; }
    .repair-section-assignment-row { grid-template-columns: 1fr; gap: 7px; }
    .repair-section-assignment-row .checkbox-row { justify-self: start; }
    .repair-form-actions { flex-direction: column-reverse; }
    .repair-form-actions > * { width: 100%; }
    .repair-part-row { grid-template-columns: minmax(0, 1fr) 64px 84px auto; }
    .repair-part-total { grid-column: 1 / 3; text-align: left; }
    .repair-status-link { grid-template-columns: 1fr; }
    .repair-status-link input, .repair-status-link button { width: 100%; }
    .repair-calendar-day { min-height: 84px; padding: 6px; }
    .repair-calendar-item small { display: none; }
    .repair-ticket-body { padding: 12px; }
    .repair-ticket-header { flex-direction: column; }
    .repair-ticket-number { justify-items: start; }
    .message-template-tabs a { flex: 1 1 145px; }
    .message-editor-form { padding: 13px; }
    .message-length, .message-editor-actions { align-items: stretch; flex-direction: column; }
    .template-overview-grid, .receipt-section-controls { grid-template-columns: 1fr; }
    .document-preset-selector > div { grid-template-columns: 1fr; }
}

/* System-wide responsive shell and workflow safeguards */
.mobile-menu-toggle,
.mobile-nav-backdrop { display: none; }
.mobile-menu-toggle .ui-icon { margin: 0; }

html,
body { max-width: 100%; overflow-x: clip; }
main,
.panel,
.toolbar,
.topbar,
form,
fieldset,
.grid,
.form-grid,
.settings-grid { min-width: 0; }
img,
video,
canvas { max-width: 100%; }
.dashboard-hero h2 { font-size: 3rem; }

@media screen and (max-width: 1100px) {
    body.mobile-nav-open { overflow: hidden; }
    .shell,
    .sidebar-collapsed .shell { display: block; min-height: 100dvh; }
    #appSidebar,
    .sidebar-collapsed #appSidebar {
        position: fixed;
        z-index: 1400;
        inset: 0 auto 0 0;
        width: min(86vw, 320px);
        height: 100dvh;
        padding: 20px 16px;
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior: contain;
        transform: translateX(-105%);
        transition: transform .22s ease;
        box-shadow: 22px 0 50px rgba(0, 0, 0, .32);
    }
    body.mobile-nav-open #appSidebar { transform: translateX(0); }
    #appSidebar .sidebar-brand-row,
    .sidebar-collapsed #appSidebar .sidebar-brand-row { justify-content: space-between; }
    #appSidebar .sidebar-brand-row .brand,
    .sidebar-collapsed #appSidebar .sidebar-brand-row .brand { display: flex; }
    #appSidebar .sidebar-toggle { display: none; }
    #appSidebar nav,
    .sidebar-collapsed #appSidebar nav { display: grid; gap: 5px; }
    #appSidebar nav a,
    .sidebar-collapsed #appSidebar nav a { justify-content: flex-start; min-height: 46px; margin: 0; padding: 11px 12px; }
    #appSidebar nav a > span:not(.nav-icon),
    .sidebar-collapsed #appSidebar nav a > span:not(.nav-icon) { display: inline; }
    #appSidebar .nav-submenu,
    .sidebar-collapsed #appSidebar .nav-submenu { display: grid; }
    #appSidebar .nav-group.has-submenu:not(.is-open) > .nav-submenu,
    .sidebar-collapsed #appSidebar .nav-group.has-submenu:not(.is-open) > .nav-submenu { display: none; }
    .mobile-nav-backdrop {
        position: fixed;
        z-index: 1390;
        inset: 0;
        width: 100%;
        height: 100dvh;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: rgba(7, 15, 25, .62);
        box-shadow: none;
        opacity: 0;
        pointer-events: none;
        transition: opacity .2s ease;
    }
    body.mobile-nav-open .mobile-nav-backdrop { display: block; opacity: 1; pointer-events: auto; }
    .mobile-menu-toggle { display: grid; width: 42px; height: 42px; flex: 0 0 42px; place-items: center; padding: 0; }
    .topbar { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 12px; }
    .topbar > div { min-width: 0; }
    .topbar h1,
    .topbar p { overflow-wrap: anywhere; }
    main { width: 100%; padding: 22px; }
    .top-shortcut-bar { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; min-height: 58px; padding: 8px 12px; }
    .top-shortcut-mobile-toggle { display: inline-flex; align-items: center; justify-content: flex-start; gap: 8px; width: fit-content; min-height: 40px; padding: 7px 11px; border: 1px solid color-mix(in srgb, var(--accent) 26%, var(--line)); border-radius: 7px; background: color-mix(in srgb, var(--field) 90%, var(--accent) 10%); color: var(--ink); box-shadow: none; }
    .top-shortcut-mobile-toggle > span { flex: 1; text-align: left; }
    .top-shortcut-mobile-toggle > .ui-icon:last-child { width: 13px; height: 13px; margin-left: 8px; transition: transform .18s ease; }
    .top-shortcut-bar.mobile-shortcuts-open .top-shortcut-mobile-toggle > .ui-icon:last-child { transform: rotate(180deg); }
    .top-shortcut-list { position: absolute; top: calc(100% + 7px); right: 12px; left: 12px; z-index: 1400; display: none; max-width: none; max-height: min(70dvh, 520px); padding: 8px; overflow-y: auto; border-radius: 8px; background: var(--panel); box-shadow: 0 20px 48px rgba(15, 23, 42, .24); }
    .top-shortcut-bar.mobile-shortcuts-open .top-shortcut-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 6px; }
    .top-shortcut-group { display: grid; min-width: 0; }
    .top-shortcut-link { justify-content: flex-start; width: 100%; min-height: 42px; padding: 8px 10px; border-color: var(--line); background: var(--field); white-space: normal; }
    .top-shortcut-link > span { flex: 1; min-width: 0; }
    .top-shortcut-dropdown { display: none; }
    .top-shortcut-group:not(.is-open) .top-shortcut-dropdown { display: none; }
    .top-shortcut-group.is-open .top-shortcut-dropdown { position: static; display: grid; width: 100%; min-width: 0; margin-top: 4px; box-shadow: none; }
    .top-user-area { position: static; min-width: 0; }
    .top-user-profile { min-height: 42px; }
    .dashboard-module-half { grid-column: span 12; }
    .product-directory-filters { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .product-directory-search { grid-column: 1 / -1; }
    .product-editor-layout, .stripe-terminal-settings-layout { grid-template-columns: minmax(0, 1fr); }
    .product-editor-summary { position: static; border-top: 1px solid var(--line); border-left: 0; }
    .stats,
    .repair-stats,
    .schedule-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pos-layout { flex-direction: column; }
    .pos-picker-panel { width: 100%; flex-basis: auto; }
    .invoice-create-layout,
    .repair-editor-shell,
    .schedule-editor-layout,
    .schedule-calendar-layout,
    .receipt-template-layout,
    .message-editor-layout,
    .repair-catalog-layout,
    .repair-settings-fields-layout,
    .user-settings-grid,
    .user-role-settings-grid,
    .product-variable-layout,
    .design-settings-form { grid-template-columns: minmax(0, 1fr); }
    .invoice-product-panel,
    .repair-summary-sidebar,
    .schedule-summary-panel,
    .schedule-agenda,
    .message-tag-panel,
    .receipt-template-preview-panel,
    .design-preview-rail { position: static; width: 100%; max-height: none; }
    .sales-filter-grid,
    .customer-directory-filters,
    .task-filter-bar,
    .schedule-filter-bar,
    .repair-filter-bar,
    .user-filter-bar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .sales-filter-search,
    .customer-directory-search,
    .user-filter-bar > div:first-child { grid-column: 1 / -1; }
    .settings-tabs,
    .settings-subtabs,
    .template-type-tabs,
    .message-template-tabs,
    .report-type-tabs,
    .repair-catalog-tabs { flex-direction: row; flex-wrap: wrap; width: 100%; padding-bottom: 6px; overflow: visible; }
    .settings-tabs > *,
    .settings-subtabs > *,
    .template-type-tabs > *,
    .message-template-tabs > *,
    .report-type-tabs > * { flex: 0 0 auto; }
    .dashboard-content-grid,
    .report-overview-grid { grid-template-columns: 1fr; }
    .dashboard-hero { grid-template-columns: 1fr; padding: 28px; }
    .dashboard-hero h2 { font-size: 2.45rem; }
    .repair-calendar-grid,
    .schedule-calendar-grid { min-width: 680px; }
    .repair-calendar-panel,
    .schedule-calendar,
    .invoice-table-wrap,
    .report-table-wrap,
    .sales-history-table-wrap,
    .customer-directory-table-wrap,
    .repair-table-wrap,
    .users-table-wrap { max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; }
}

@media screen and (max-width: 760px) {
    main { padding: 14px; }
    .settings-mobile-navigation { display: block; }
    .settings-panel > .settings-tabs { display: none; }
    .pos-settings-group { padding: 13px; }
    .settings-toggle-card { grid-template-columns: auto minmax(0, 1fr); }
    .settings-toggle-card select { grid-column: 1 / -1; width: 100%; }
    .product-directory-heading { align-items: stretch; flex-direction: column; }
    .product-directory-heading .toolbar-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .product-directory-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .product-directory-result-bar { align-items: flex-start; flex-direction: column; }
    .product-editor-section { padding: 15px; }
    .stripe-terminal-settings-layout { padding: 14px; }
    .topbar { grid-template-columns: auto minmax(0, 1fr); padding-bottom: 14px; }
    .topbar .pill { grid-column: 2; justify-self: start; }
    .topbar h1 { font-size: 1.45rem; }
    .topbar p { margin-top: 3px; font-size: .78rem; line-height: 1.35; }
    .top-shortcut-bar { grid-template-columns: minmax(0, 1fr) auto; }
    .top-user-name { display: none; }
    .top-user-profile { width: 42px; padding: 0; justify-content: center; }
    .top-user-avatar { width: 28px; height: 28px; flex-basis: 28px; }
    .top-user-profile > .ui-icon { margin: 0; }
    .top-user-profile > .ui-icon-chevron-down { display: none; }
    .top-user-dropdown { position: fixed; top: 58px; right: 10px; width: min(260px, calc(100vw - 20px)); }
    .dashboard-layout-heading { align-items: flex-start; flex-direction: column; }
    .dashboard-editor-notice { grid-template-columns: auto minmax(0, 1fr); }
    .dashboard-editor-notice button { grid-column: 1 / -1; width: 100%; }
    .dashboard-module-grid { gap: 11px; }
    .dashboard-module-grid.is-editing .dashboard-module-content { padding: 7px; }
    .dashboard-module-control { grid-template-columns: auto minmax(0, 1fr) auto auto; }
    .dashboard-order-buttons { display: flex; }
    .dashboard-chart-heading { align-items: flex-start; flex-direction: column; }
    .dashboard-chart-panel { min-height: 350px; }
    .dashboard-bar-chart { gap: 2px; height: 205px; }
    .panel { max-width: 100%; padding: 14px; }
    .settings-panel { padding: 0; }
    .toolbar,
    .profile-head,
    .invoice-landing-heading,
    .reports-heading,
    .sales-history-heading,
    .customer-directory-heading,
    .customer-create-heading,
    .sales-export-toolbar,
    .report-period-panel { align-items: stretch; flex-direction: column; gap: 10px; }
    .toolbar-actions,
    .pos-transaction-actions,
    .customer-directory-actions,
    .customer-create-actions,
    .reports-heading-actions,
    .sales-export-actions,
    .sales-filter-actions,
    .customer-filter-actions,
    .settings-inline-actions { display: grid; grid-template-columns: minmax(0, 1fr); width: 100%; }
    .toolbar-actions > *,
    .pos-transaction-actions > *,
    .customer-directory-actions > *,
    .customer-create-actions > *,
    .reports-heading-actions > *,
    .sales-export-actions > *,
    .sales-filter-actions > *,
    .customer-filter-actions > * { width: 100%; }
    button,
    .button-link,
    input:not([type="checkbox"]):not([type="radio"]),
    select { min-height: 44px; }
    input,
    select,
    textarea { max-width: 100%; font-size: 16px; }
    .form-grid,
    .settings-grid,
    .invoice-meta-grid,
    .invoice-customer-control,
    .invoice-product-search-row,
    .invoice-notes-grid,
    .barcode-picker,
    .report-custom-range,
    .sales-filter-grid,
    .customer-directory-filters,
    .task-filter-bar,
    .schedule-filter-bar,
    .repair-filter-bar,
    .user-filter-bar,
    .user-editor-row,
    .top-menu-editor-row,
    .schedule-row,
    .repair-ticket-grid,
    .repair-ticket-totals,
    .template-overview-grid,
    .receipt-section-controls,
    .document-preview-columns { grid-template-columns: minmax(0, 1fr); }
    .sales-filter-search,
    .customer-directory-search,
    .user-filter-bar > div:first-child { grid-column: auto; }
    .customer-picker-control { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    .customer-search-wrap { grid-column: 1 / -1; }
    .customer-search-results { position: fixed; z-index: 1500; top: auto; right: 10px; bottom: 10px; left: 10px; max-height: min(55dvh, 420px); }
    .modal-backdrop { align-items: end; padding: 0; }
    .modal-card { width: 100%; max-height: 92dvh; margin: 0; padding: 16px; border-right: 0; border-bottom: 0; border-left: 0; border-radius: var(--radius-panel) var(--radius-panel) 0 0; }
    .modal-actions { bottom: -16px; flex-direction: column-reverse; align-items: stretch; }
    .modal-actions > * { width: 100%; }
    .invoice-create-layout { padding-bottom: 0; }
    .invoice-builder-footer,
    .sidebar-collapsed .invoice-builder-footer { position: sticky; right: auto; bottom: 0; left: auto; width: auto; min-height: 0; margin: 12px -14px -14px; padding: 10px 14px calc(10px + env(safe-area-inset-bottom)); }
    .invoice-builder-totals { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); width: 100%; }
    .invoice-builder-totals > div { min-width: 0; padding: 6px; }
    .invoice-builder-actions { display: grid; grid-template-columns: 1fr; width: 100%; }
    .module-register .pos-layout { padding-bottom: 0; }
    .pos-totals-table { min-width: 560px; }
    .sticky-submit-action:not(.invoice-builder-footer):not(.pos-page-footer) { flex-direction: column; align-items: stretch; padding-bottom: calc(11px + env(safe-area-inset-bottom)); }
    .sticky-submit-action > * { width: 100%; }
    .receipt-template-preview,
    .document-preset-preview { min-height: 0; padding: 16px; box-shadow: none; }
    .repair-part-row { grid-template-columns: minmax(0, 1fr) 62px 82px; }
    .repair-part-row > :last-child { grid-column: 3; }
    .repair-calendar-grid,
    .schedule-calendar-grid { min-width: 620px; }
    table { max-width: 100%; white-space: normal; }
    th,
    td { font-size: .78rem; }
    .dashboard-hero { min-height: 0; padding: 22px 18px; }
    .dashboard-hero h2 { font-size: 2rem; line-height: 1.08; }
    .dashboard-orbit { display: none; }
    .hero-actions { flex-direction: column; align-items: stretch; }
    .public-appointment-body,
    .repair-ticket-body { padding: 10px; }
}

@media screen and (max-width: 480px) {
    main { padding: 10px; }
    .top-shortcut-bar.mobile-shortcuts-open .top-shortcut-list { grid-template-columns: minmax(0, 1fr); }
    .dashboard-module-control { grid-template-columns: auto minmax(0, 1fr); }
    .dashboard-order-buttons { grid-column: 2; justify-self: start; }
    .dashboard-module-toggle { grid-column: 2; justify-self: start; }
    .dashboard-line-labels small:nth-child(even) { visibility: hidden; }
    .product-directory-filters { grid-template-columns: minmax(0, 1fr); }
    .product-directory-search { grid-column: auto; }
    .product-directory-heading .toolbar-actions { grid-template-columns: minmax(0, 1fr); }
    .stripe-terminal-checkout-reader { grid-template-columns: auto minmax(0, 1fr); }
    .stripe-terminal-reader-state { grid-column: 2; justify-self: start; }
    .stripe-terminal-checkout-actions { align-items: stretch; flex-direction: column; }
    .message-field-heading { align-items: stretch; flex-direction: column; }
    .email-format-switch { width: 100%; }
    .email-format-switch label { flex: 1; }
    .email-format-switch span { justify-content: center; }
    .email-html-toolbar button { flex: 1 1 auto; justify-content: center; }
    .email-preview-panel iframe { height: 220px; }
    .stats,
    .repair-stats,
    .schedule-stats,
    .dashboard-period-grid,
    .invoice-builder-totals { grid-template-columns: minmax(0, 1fr); }
    .pos-builder-totals { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .customer-picker-control,
    .report-period-presets,
    .barcode-label-sheet,
    .barcode-label-sheet.small,
    .barcode-label-sheet.large,
    .barcode-label-sheet.wide { grid-template-columns: minmax(0, 1fr); }
    .product-picker-grid,
    .invoice-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .product-pick-card { min-width: 0; }
    .product-pick-card img { width: 72px; height: 72px; }
    .settings-tab,
    .settings-subtab { min-height: 42px; }
    .repair-part-row { grid-template-columns: minmax(0, 1fr) 58px; }
    .repair-part-row > :nth-child(n+3) { grid-column: auto; }
}

@media screen and (max-width: 760px) {
    .module-register .pos-layout { display: flex; flex-direction: column; gap: 10px; }
    .module-register .pos-picker-panel {
        position: sticky;
        z-index: 80;
        top: 8px;
        order: -1;
        width: 100%;
        max-height: min(70dvh, 560px);
        margin: 0 0 2px;
        padding: 0;
        overflow: hidden;
        border-color: color-mix(in srgb, var(--accent) 38%, var(--line));
        box-shadow: 0 10px 28px rgba(0, 0, 0, .18);
    }
    .module-register .pos-picker-summary { min-height: 52px; padding: 8px 12px; background: color-mix(in srgb, var(--accent) 8%, var(--panel)); }
    .module-register .pos-picker-summary strong { font-size: .92rem; }
    .module-register .pos-picker-content { max-height: calc(min(70dvh, 560px) - 52px); padding: 0 10px 12px; overflow-y: auto; overscroll-behavior: contain; }
    .module-register .category-filter { margin-top: 0; padding: 8px 0; }
    .module-register .category-filter-button { min-height: 38px; padding: 7px 9px; font-size: .72rem; }
    .module-register .pos-grid-toolbar { display: none; }
    .module-register .product-pick-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; padding-top: 8px; }
    .module-register .product-pick-card { min-height: 112px; grid-template-rows: 56px auto auto; gap: 4px; padding: 7px; border-width: 1px; }
    .module-register .product-pick-image,
    .module-register .product-pick-card img { width: 56px; height: 56px; }
    .module-register .product-pick-name { font-size: .72rem; line-height: 1.18; }
    .module-register .product-pick-price { font-size: .82rem; }
    .module-register .pos-transaction-panel { padding: 12px; }
    .module-register .pos-transaction-panel > .toolbar { margin-bottom: 8px; }
    .module-register .pos-transaction-panel > .toolbar > div:first-child p { display: none; }
    .module-register .pos-transaction-panel > .toolbar .toolbar-actions { display: flex; flex-direction: row; flex-wrap: wrap; gap: 6px; width: 100%; padding-bottom: 3px; overflow: visible; }
    .module-register .pos-transaction-panel > .toolbar .toolbar-actions .button-link { flex: 0 0 auto; width: auto; min-height: 38px; padding: 7px 9px; font-size: .7rem; }
    .module-register .pos-customer-strip { padding: 10px; }
    .module-register .customer-detail-preview { padding: 9px 0 0; font-size: .82rem; }
    .module-register .customer-rewards-panel { padding: 10px; }
    .module-register .pos-date-search-row { gap: 8px; margin: 10px 0 0; }
    .module-register .cart-table { margin-top: 8px; }
    .module-register .cart-table { display: block; border: 0; overflow: visible; }
    .module-register .cart-table thead { display: none; }
    .module-register .cart-table tbody { display: grid; gap: 8px; }
    .module-register .cart-table tr { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; padding: 10px; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--field); }
    .module-register .cart-table td { display: grid; align-content: start; gap: 4px; min-width: 0; padding: 0; border: 0; white-space: normal; }
    .module-register .cart-table td[data-label]::before { content: attr(data-label); color: var(--muted); font-size: .64rem; font-weight: 900; text-transform: uppercase; }
    .module-register .cart-table .cart-item-cell,
    .module-register .cart-table .cart-row-actions,
    .module-register .cart-table .empty { grid-column: 1 / -1; }
    .module-register .cart-table .cart-row-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 2px; }
    .module-register .cart-table .cart-row-actions button { width: 100%; }
    .module-register .cart-table .qty { width: 100%; max-width: none; min-height: 38px; }
    .module-register .payment-panel { margin-top: 12px; padding: 12px; }
    .module-register .payment-panel .toolbar p,
    .module-register .receipt-delivery-choice > p { display: none; }
    .module-register .payment-method-buttons { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
    .module-register .payment-method-button { min-width: 0; padding: 9px 7px; font-size: .74rem; }
    .module-register .pos-receipt-followup-row { grid-template-columns: 1fr; gap: 8px; margin-bottom: 8px; }
    .module-register .pos-receipt-followup-row .receipt-delivery-choice,
    .module-register .pos-receipt-followup-row .pos-followup-choice { grid-column: 1; }
    .module-register .receipt-delivery-choice { max-width: none; margin: 0; }
    .module-register .pos-receipt-followup-row .receipt-delivery-choice,
    .module-register .pos-followup-choice { grid-template-rows: 17px 52px; }
    .module-register .receipt-delivery-select,
    .module-register .pos-receipt-followup-row .followup-opt-in { height: 52px; min-height: 52px; }
    .module-register .pos-page-footer { margin-top: 12px; }
    .module-register .pos-transaction-actions { display: none; }
    .module-register .pos-mobile-action-selector { display: grid; gap: 5px; width: 100%; }
    .module-register .pos-mobile-action-selector > label { color: var(--muted); font-size: .68rem; font-weight: 900; text-transform: uppercase; }
    .module-register .pos-mobile-action-selector > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 7px; }
    .module-register .pos-mobile-action-selector select,
    .module-register .pos-mobile-action-selector button { min-height: 44px; }
    .module-register .pos-mobile-action-selector button { min-width: 86px; }
}

@media screen and (max-width: 380px) {
    .module-register .product-pick-grid { grid-template-columns: minmax(0, 1fr); }
    .module-register .product-pick-card { grid-template-columns: 58px minmax(0, 1fr) auto; grid-template-rows: auto; align-items: center; min-height: 72px; text-align: left; }
    .module-register .product-pick-name { -webkit-line-clamp: 2; text-align: left; }
}
.followup-opt-in{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border:1px solid color-mix(in srgb,var(--accent) 32%,var(--border));background:color-mix(in srgb,var(--accent) 7%,var(--surface));border-radius:8px;cursor:pointer}.followup-opt-in>input{width:18px;height:18px;margin-top:2px;accent-color:var(--accent)}.followup-opt-in>span{display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:center}.followup-opt-in svg{color:var(--accent)}.followup-opt-in small{grid-column:2;color:var(--muted);margin-top:3px}.marketing-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}.marketing-stat{padding:16px;border:1px solid var(--border);background:var(--surface-2);border-radius:8px}.marketing-stat span{display:block;color:var(--muted);font-size:12px}.marketing-stat strong{display:block;font-size:24px;margin-top:6px}.campaign-channel{display:inline-flex;align-items:center;gap:6px}.marketing-compose-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.marketing-compose-grid .full{grid-column:1/-1}.followup-status-pending{color:#a15c00}.followup-status-sent{color:#087f5b}.followup-status-failed{color:#c92a2a}@media(max-width:760px){.marketing-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.marketing-compose-grid{grid-template-columns:1fr}.marketing-compose-grid .full{grid-column:auto}}
.login-divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12px;margin:16px 0}.login-divider:before,.login-divider:after{content:"";height:1px;background:var(--border);flex:1}.google-login-button{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:44px;border:1px solid var(--border);border-radius:7px;background:#fff;color:#182230;text-decoration:none;font-weight:700}.ai-textarea-toggle{margin-top:7px!important;min-height:32px!important;padding:6px 10px!important;background:linear-gradient(135deg,#2563eb,#7c3aed)!important;color:#fff!important;box-shadow:none!important;font-size:12px!important}.ai-inline-backdrop{z-index:10050}.ai-inline-modal{width:min(560px,calc(100vw - 24px));max-height:min(720px,calc(100dvh - 36px));overflow:auto;background:var(--panel);color:var(--ink);border:1px solid var(--line);padding:20px}.ai-inline-modal label{display:grid;gap:7px}.ai-inline-options{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end;margin-top:14px}.ai-emoji-toggle{display:flex!important;align-items:center;gap:8px;min-height:42px}.ai-emoji-toggle input{width:18px;height:18px}.ai-composer{display:grid;gap:18px;max-width:900px}.ai-composer-controls{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.ai-composer-controls label{display:grid;gap:6px}.google-address-search{grid-column:1/-1;display:grid;gap:6px}.google-address-search>span{font-weight:700;font-size:13px}.google-address-search gmp-place-autocomplete{width:100%;color-scheme:light}.form-error{color:#c92a2a;margin:10px 0 0}.modal-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}@media(max-width:600px){.ai-inline-options{grid-template-columns:1fr}.ai-composer-controls{align-items:stretch}.ai-composer-controls>*{width:100%}}
.bundle-editor-form{display:grid;gap:18px}.bundle-component-editor{border-top:1px solid var(--border);padding-top:18px}.bundle-value-preview{min-width:190px;text-align:right}.bundle-value-preview span,.bundle-value-preview small{display:block;color:var(--muted)}.bundle-value-preview strong{display:block;font-size:22px}.bundle-component-search{margin:14px 0}.bundle-component-list{display:grid;gap:8px;max-height:540px;overflow:auto;padding-right:4px}.bundle-component-row{display:grid;grid-template-columns:22px minmax(0,1fr) 90px;align-items:center;gap:12px;padding:11px 12px;border:1px solid var(--border);background:var(--surface);border-radius:7px}.bundle-component-row.selected{border-color:color-mix(in srgb,var(--accent) 55%,var(--border));background:color-mix(in srgb,var(--accent) 7%,var(--surface))}.bundle-component-row>input{width:18px;height:18px}.bundle-component-row>span{display:grid}.bundle-component-row small{color:var(--muted)}.bundle-component-row>label{display:grid;gap:4px;font-size:11px;color:var(--muted)}.bundle-component-row>label input{width:100%}.bundle-savings{color:#087f5b}.product-qr-code{display:block;grid-column:1/-1;box-sizing:border-box;width:90px!important;height:90px!important;max-width:100%;margin:5px auto;padding:4px;overflow:hidden;background:#fff;image-rendering:pixelated}.product-qr-code canvas,.product-qr-code img{width:100%!important;height:100%!important;max-width:100%;object-fit:contain;image-rendering:pixelated}.product-qr-code.qr-code-error{display:grid;place-items:center;padding:5px;border:1px dashed #b42318;background:#fff1f0;color:#b42318;font-size:9px;font-weight:700;text-align:center}.barcode-label-sheet.small .product-qr-code{width:56px!important;height:56px!important}.barcode-label-sheet.medium .product-qr-code{width:72px!important;height:72px!important}.receipt-meta dd small{display:block;margin-top:2px;color:var(--muted);font-size:.82em}@media(max-width:650px){.bundle-component-row{grid-template-columns:22px minmax(0,1fr)}.bundle-component-row>label{grid-column:2;width:100px}.bundle-value-preview{text-align:left}}

.topbar-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;min-width:min(540px,48vw);margin-left:auto;padding:8px;border:1px solid color-mix(in srgb,var(--accent) 25%,var(--line));border-radius:var(--radius-panel);background:color-mix(in srgb,var(--sidebar) 86%,var(--accent) 14%)}
.topbar-action-tab{flex:0 1 auto;min-width:0;min-height:38px;margin:0;padding:8px 11px;font-size:.72rem}
.topbar-action-tab span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.stripe-manual-checkout .stripe-terminal-checkout-reader>span:first-child{color:#635bff}
.import-center-page,.import-new-page{display:grid;gap:16px}
.import-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.import-guide-grid article,.import-template-hints{display:grid;gap:7px;padding:14px;border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line));border-radius:var(--radius-control);background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 8%,var(--field)),var(--panel))}
.import-guide-grid strong,.import-template-hints strong{color:var(--ink)}
.import-guide-grid small,.import-template-hints span{color:var(--muted);line-height:1.45}
.import-example-card{grid-template-rows:auto minmax(38px,auto) auto;align-content:start}
.import-example-card>div{display:grid;gap:3px}.import-example-card>.button-link{width:100%;margin-top:3px;justify-content:center}
.import-example-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:5px}.import-example-links .button-link{justify-content:flex-start;min-width:0}
.import-upload-form input[type=file]{padding:12px;border-style:dashed;background:color-mix(in srgb,var(--field) 82%,var(--accent) 10%)}
@media(max-width:980px){.topbar-actions{grid-column:1/-1;justify-content:flex-start;width:100%;min-width:0;margin-left:0}.import-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.import-example-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.import-guide-grid,.import-example-links{grid-template-columns:1fr}}
@media(max-width:640px){.topbar-actions{display:grid;grid-template-columns:1fr;gap:6px}.topbar-action-tab{justify-content:flex-start;width:100%}}

.operations-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 10%,var(--panel)),var(--panel))}
.operations-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}
.operations-kpis span{display:grid;gap:4px;min-width:0;padding:13px;border:1px solid color-mix(in srgb,var(--accent) 20%,var(--line));border-radius:var(--radius-control);background:var(--field)}
.operations-kpis small{color:var(--muted);font-size:.68rem;font-weight:900;text-transform:uppercase}.operations-kpis strong{color:var(--ink);font-size:1.15rem;overflow-wrap:anywhere}
.operations-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.operation-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 12px;min-height:118px;padding:17px;border:1px solid var(--line);border-radius:var(--radius-panel);background:linear-gradient(145deg,color-mix(in srgb,var(--panel) 92%,var(--accent) 8%),var(--panel));color:var(--ink);text-decoration:none;box-shadow:0 10px 26px rgba(15,23,42,.06)}.operation-card>span{display:grid;grid-row:span 2;place-items:center;width:42px;height:42px;border-radius:8px;background:color-mix(in srgb,var(--accent) 13%,var(--field));color:var(--accent)}.operation-card strong{align-self:end}.operation-card small{color:var(--muted);line-height:1.35}.danger-text{color:#dc2626!important}.inline-form{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.inline-form select{min-width:145px}.filter-actions{display:flex;gap:8px;align-items:end}
.repair-kanban{display:grid;grid-template-columns:repeat(4,minmax(240px,1fr));gap:14px;align-items:start;overflow-x:auto;padding-bottom:6px}.repair-kanban-column{display:grid;gap:9px;min-height:220px;padding:12px;border:1px solid var(--line);border-radius:var(--radius-panel);background:color-mix(in srgb,var(--field) 78%,var(--panel))}.repair-kanban-column h3{display:flex;align-items:center;justify-content:space-between;margin:0;font-size:.9rem}.repair-kanban-column h3 span{display:grid;place-items:center;min-width:26px;height:24px;border-radius:999px;background:color-mix(in srgb,var(--accent) 14%,var(--panel));color:var(--accent);font-size:.72rem}.repair-kanban-card{display:grid;gap:4px;padding:12px;border:1px solid color-mix(in srgb,var(--accent) 18%,var(--line));border-radius:7px;background:var(--panel);color:var(--ink);text-decoration:none}.repair-kanban-card span{font-weight:800}.repair-kanban-card small{color:var(--muted)}.compact-empty{min-height:86px;padding:22px 10px}.cash-drawer-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.drawer-action-form{max-width:720px}.estimate-lines{display:grid;gap:9px;margin:0;padding:14px;border:1px solid var(--line);border-radius:var(--radius-control)}.estimate-line{display:grid;grid-template-columns:minmax(0,1fr) 90px 130px;gap:8px}.estimate-response-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}.estimate-public-paper{max-width:760px}.customer-public-portal .receipt-paper{max-width:820px}.customer-timeline{display:grid;gap:10px}.customer-timeline-event{align-items:flex-start;padding:12px 0}.customer-timeline-event .button-link{width:max-content;margin-top:7px}.analytics-split{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:980px){.operations-hero{align-items:stretch;flex-direction:column}.operations-kpis,.operations-grid,.analytics-split{grid-template-columns:repeat(2,minmax(0,1fr))}.cash-drawer-actions{grid-template-columns:1fr}}
@media(max-width:650px){.operations-kpis,.operations-grid,.analytics-split{grid-template-columns:1fr}.estimate-line{grid-template-columns:1fr}.filter-actions{display:grid;grid-template-columns:1fr}.repair-kanban{grid-template-columns:minmax(260px,1fr)}}
.warranty-selector{display:grid;grid-template-columns:minmax(210px,1fr) minmax(220px,1fr);gap:12px;align-items:start;padding:13px;border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line));border-radius:var(--radius-control);background:color-mix(in srgb,var(--field) 88%,var(--accent) 12%)}.warranty-selector>div{display:grid;gap:6px}.warranty-selector small{min-height:18px}.warranty-custom-duration>div{display:grid;grid-template-columns:minmax(90px,.7fr) minmax(120px,1fr);gap:8px}.warranty-context-options{display:flex;flex-wrap:wrap;gap:12px;padding:12px;border:1px solid var(--line);border-radius:var(--radius-control)}.warranty-context-options label{display:flex;align-items:center;gap:7px}.warranty-context-options input{width:17px;height:17px}@media(max-width:680px){.warranty-selector{grid-template-columns:1fr}}

.sidebar-search{position:relative;display:grid;gap:7px;margin:10px 10px 12px}.sidebar-search label{display:flex;align-items:center;gap:7px;color:color-mix(in srgb,var(--sidebar-text) 76%,transparent);font-size:.68rem;font-weight:950;text-transform:uppercase}.sidebar-search label .ui-icon{width:14px;height:14px;color:var(--accent)}.sidebar-search input{width:100%;min-height:40px;border-color:color-mix(in srgb,var(--accent) 28%,var(--line));background:color-mix(in srgb,var(--panel) 84%,var(--accent) 16%);color:var(--ink);font-size:.82rem}.sidebar-search-results{position:absolute;top:calc(100% + 8px);right:0;left:0;z-index:90;display:grid;gap:10px;max-height:min(520px,62vh);overflow:auto;padding:10px;border:1px solid color-mix(in srgb,var(--accent) 34%,var(--line));border-radius:var(--radius-panel);background:var(--panel);box-shadow:0 22px 46px rgba(15,23,42,.22)}.sidebar-search-results section{display:grid;gap:5px}.sidebar-search-results section>strong{padding:4px 6px;color:var(--muted);font-size:.64rem;font-weight:950;text-transform:uppercase}.sidebar-search-results a{display:grid;grid-template-columns:minmax(0,1fr);gap:2px;padding:9px 10px;border:1px solid transparent;border-radius:var(--radius-control);color:var(--ink);text-decoration:none}.sidebar-search-results a:hover,.sidebar-search-results a:focus{border-color:color-mix(in srgb,var(--accent) 35%,var(--line));background:color-mix(in srgb,var(--accent) 10%,var(--field))}.sidebar-search-results small{display:block;margin-top:2px;color:var(--muted);font-size:.68rem}.sidebar-search-empty{padding:14px 10px;color:var(--muted);font-size:.78rem;text-align:center}
@media (max-width: 1180px) {
    .pos-date-search-row,
    .pos-receipt-followup-row { grid-template-columns: minmax(240px, 1fr) minmax(180px, .48fr) minmax(150px, .32fr); }
}
@media (max-width: 820px) {
    .pos-date-search-row,
    .pos-receipt-followup-row { grid-template-columns: minmax(0, 1fr) minmax(180px, .58fr); }
    .pos-row-warranty-field,
    .pos-receipt-followup-row .pos-followup-choice { grid-column: 1 / -1; max-width: 360px; }
    .pos-row-warranty-field .warranty-selector { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 760px) {
    .pos-date-search-row,
    .pos-receipt-followup-row { grid-template-columns: 1fr; }
    .pos-receipt-followup-row .receipt-delivery-choice,
    .pos-receipt-followup-row .pos-followup-choice { grid-column: 1; max-width: none; }
    .pos-search-scan-wrap { grid-template-columns: minmax(0, 1fr) 74px; }
    .pos-scan-button { min-width: 0; padding-inline: 8px; }
    .pos-receipt-delivery-buttons { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .pos-receipt-delivery-buttons .receipt-delivery-button { padding-inline: 7px; }
    .pos-row-warranty-field { max-width: none; }
    .pos-row-warranty-field .warranty-custom-duration > div { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    .sidebar-search { margin: 8px 10px; }
    .sidebar-search-results { position: fixed; top: auto; right: 12px; bottom: 12px; left: 12px; max-height: 54vh; }
    .module-register .payment-panel { padding: 0; }
    .module-register .payment-panel .toolbar { padding: 13px 14px; }
    .module-register .payment-method-buttons { padding: 12px 14px 9px; }
    .module-register .payment-list { padding: 0 14px 14px; }
}

/* 2026-07 mobile/search/delete/setup refinements */
.setup-shell { width: min(780px, 100%); }
.setup-card { width: 100%; }
.setup-storage-card { padding: 14px; border: 1px solid color-mix(in srgb, var(--accent) 24%, var(--line)); border-radius: var(--radius-control); background: color-mix(in srgb, var(--accent) 7%, var(--field)); }

.settings-panel-design-buttons .design-section-buttons .design-settings-editor > :not(.button-theme-panel):not(.button-effects-panel):not(.design-submit-row),
.settings-panel-design-page .design-section-page .design-settings-editor > :not(.page-design-panel):not(.design-submit-row) {
    display: none !important;
}
.settings-panel-design-appearance .design-section-appearance .button-theme-panel,
.settings-panel-design-appearance .design-section-appearance .button-effects-panel,
.settings-panel-design-appearance .design-section-appearance .page-design-panel {
    display: none !important;
}
.settings-panel-design-buttons .design-preview-button-row { order: -1; }
.settings-panel-design-buttons .button-theme-preview { min-height: 74px; }
.settings-panel-design-page .page-design-panel { border-color: color-mix(in srgb, var(--accent) 36%, var(--line)); background: color-mix(in srgb, var(--accent) 5%, var(--panel)); }

.top-shortcut-bar {
    background: linear-gradient(135deg, #0f172a, color-mix(in srgb, var(--accent-dark) 35%, #111827));
    border-bottom-color: color-mix(in srgb, var(--accent) 38%, #1f2937);
    color: #f8fafc;
}
.top-shortcut-list {
    border-color: color-mix(in srgb, var(--accent) 36%, #334155);
    background: rgba(15, 23, 42, .72);
}
.top-shortcut-link,
.top-user-profile {
    color: #e5edf7;
}
.top-shortcut-link:hover,
.top-shortcut-link.is-active,
.top-user-profile:hover {
    background: linear-gradient(135deg, var(--accent), var(--accent-dark));
    border-color: color-mix(in srgb, var(--accent) 70%, #ffffff);
    color: var(--button-text);
}
.top-user-name,
.top-user-name small { color: currentColor; }
.top-shortcut-dropdown,
.top-user-dropdown {
    background: #0f172a;
    border-color: color-mix(in srgb, var(--accent) 45%, #334155);
}
.top-shortcut-dropdown a,
.top-user-dropdown a { color: #f8fafc; }
.top-shortcut-dropdown a:hover,
.top-user-dropdown a:hover {
    background: linear-gradient(135deg, var(--accent), var(--accent-dark));
    color: var(--button-text);
}
.sidebar-brand-row { position: relative; z-index: 5; }
.brand-image .brand-logo-image { max-height: 58px; object-fit: contain; }

.customer-search-wrap,
.repair-customer-search-wrap,
.invoice-customer-control,
.customer-picker-control,
.repair-ticket-grid,
.invoice-create-layout,
.edit-document-form { overflow: visible; }
.customer-search-results {
    z-index: 3000;
    background: color-mix(in srgb, var(--panel) 98%, var(--accent) 2%);
}
.customer-search-result { color: var(--ink); }

.payment-method-button {
    background: linear-gradient(135deg, color-mix(in srgb, var(--payment-color, var(--accent)) 92%, #0f172a), color-mix(in srgb, var(--payment-color, var(--accent)) 70%, #111827));
    border-color: color-mix(in srgb, var(--payment-color, var(--accent)) 86%, #ffffff);
    color: #ffffff;
    text-shadow: 0 1px 1px rgba(0, 0, 0, .32);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.16), 0 9px 22px rgba(15,23,42,.18);
}
.payment-method-button .button-label,
.payment-method-button .ui-icon { color: #ffffff; background-image: none; -webkit-text-fill-color: #ffffff; }
.payment-method-button:hover { filter: saturate(1.12) brightness(1.05); }
.pos-scan-button {
    border-color: #0f766e;
    background: linear-gradient(135deg, #064e3b, #0f766e 52%, #14b8a6);
    color: #ffffff;
}
.pos-scan-button > .ui-icon {
    width: 18px;
    height: 18px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #ffffff;
    box-shadow: none;
    -webkit-text-fill-color: #ffffff;
}
.pos-scan-button .button-label { color: #ffffff; -webkit-text-fill-color: #ffffff; }
.compact-action-button { min-height: 36px; padding: 7px 10px; font-size: .76rem; }
.table-actions form { margin: 0; }

.customer-profile-hero {
    position: relative;
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--accent) 34%, var(--line));
    border-radius: calc(var(--radius-panel) + 4px);
    margin: 0 0 22px;
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--accent) 18%, var(--panel)), color-mix(in srgb, var(--panel) 84%, var(--accent-dark) 16%)),
        var(--panel);
    box-shadow: 0 18px 42px color-mix(in srgb, var(--accent) 12%, transparent);
}
.customer-profile-hero::after {
    content: "";
    position: absolute;
    inset: auto -80px -110px auto;
    width: 240px;
    height: 240px;
    background: radial-gradient(circle, color-mix(in srgb, var(--accent) 30%, transparent), transparent 64%);
    pointer-events: none;
}
.customer-profile-identity .customer-avatar {
    box-shadow: 0 0 0 6px color-mix(in srgb, var(--accent) 12%, transparent), 0 14px 28px rgba(15,23,42,.18);
}
.customer-profile-metrics > span,
.customer-snapshot-kpis > div {
    border-color: color-mix(in srgb, var(--accent) 28%, var(--line));
    background: color-mix(in srgb, var(--field) 82%, var(--accent) 18%);
}

.sale-edit-shell,
.invoice-edit-shell {
    display: grid;
    gap: 16px;
}
.edit-document-form {
    border: 1px solid color-mix(in srgb, var(--accent) 24%, var(--line));
    border-radius: var(--radius-panel);
    padding: 18px;
    background: color-mix(in srgb, var(--panel) 96%, var(--accent) 4%);
}
.edit-document-form .invoice-line-editor {
    padding: 14px;
    border: 1px solid color-mix(in srgb, var(--accent) 20%, var(--line));
    border-radius: var(--radius-control);
    background: var(--field);
}

@media (max-width: 760px) {
    .top-shortcut-mobile-toggle {
        background: linear-gradient(135deg, var(--accent), var(--accent-dark));
        border-color: color-mix(in srgb, var(--accent) 72%, #ffffff);
        color: var(--button-text);
    }
    .top-shortcut-list {
        color: #f8fafc;
        background: #0f172a;
    }
    .top-shortcut-link {
        background: rgba(255,255,255,.08);
        border-color: rgba(255,255,255,.12);
        color: #f8fafc;
    }
    .customer-search-results {
        position: fixed;
        top: 76px;
        right: 10px;
        bottom: auto;
        left: 10px;
        max-height: min(58dvh, 430px);
    }
    .module-register .pos-page-footer,
    .module-register .sidebar-collapsed .pos-page-footer {
        position: fixed;
        right: 10px;
        bottom: 0;
        left: 10px;
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 6px;
        min-height: 98px;
        padding: 6px 8px calc(8px + env(safe-area-inset-bottom));
        border-radius: 12px 12px 0 0;
        transition: none;
    }
    .module-register .pos-page-footer:hover,
    .module-register .pos-page-footer:focus-within {
        bottom: 0;
    }
    .module-register .pos-builder-totals {
        grid-template-columns: repeat(5, minmax(0, 1fr));
        gap: 0;
        width: 100%;
        overflow: visible;
    }
    .module-register .pos-builder-totals > div { min-width: 0; padding: 4px 5px; }
    .module-register .pos-builder-totals span { font-size: .62rem; line-height: 1.05; }
    .module-register .pos-builder-totals strong { font-size: .82rem; line-height: 1.1; }
    .module-register .pos-builder-totals .invoice-builder-total strong { font-size: .98rem; }
    .module-register .pos-mobile-action-selector > div { grid-template-columns: minmax(0, 1fr) auto; gap: 5px; }
    .module-register .pos-mobile-action-selector select,
    .module-register .pos-mobile-action-selector button { min-height: 34px; padding: 5px 8px; font-size: .74rem; }
    .module-register .pos-layout { padding-bottom: 110px; }
    .customer-profile-hero { margin: 0 0 18px; }
}

button > .ui-icon,
a.button-link > .ui-icon,
.danger-button > .ui-icon,
.neutral-button > .ui-icon {
    color: currentColor;
    -webkit-text-fill-color: currentColor;
    filter: drop-shadow(0 1px 1px rgba(0,0,0,.28));
}
button:not(.icon-button) > .ui-icon,
a.button-link > .ui-icon {
    width: var(--ui-icon-action-size, 24px);
    height: var(--ui-icon-action-size, 24px);
    flex-basis: var(--ui-icon-action-size, 24px);
    padding: var(--ui-icon-action-padding, 4px);
    border-color: var(--ui-icon-housing-border, color-mix(in srgb, currentColor 24%, transparent));
    border-radius: var(--ui-icon-housing-radius, 5px);
    background: var(--ui-icon-housing-bg, color-mix(in srgb, currentColor 14%, transparent));
    box-shadow: var(--ui-icon-housing-shadow, none);
}
button:not(.icon-button):hover > .ui-icon,
a.button-link:hover > .ui-icon {
    background: color-mix(in srgb, currentColor 20%, transparent);
}
.danger-button,
button.danger-button {
    color: var(--danger-button-text);
}
.danger-button .button-label,
.danger-button > .ui-icon {
    color: currentColor;
    -webkit-text-fill-color: currentColor;
}

.google-address-field {
    position: relative;
}

.google-address-enhanced {
    padding-right: 40px;
    border-color: color-mix(in srgb, #4285f4 34%, var(--line));
    background-image: linear-gradient(135deg, color-mix(in srgb, #4285f4 7%, transparent), transparent);
}

.google-address-field::after {
    content: "G";
    position: absolute;
    right: 11px;
    bottom: 31px;
    display: grid;
    width: 22px;
    height: 22px;
    place-items: center;
    border-radius: 7px;
    background: linear-gradient(135deg, #4285f4, #34a853);
    color: #ffffff;
    font-size: .72rem;
    font-weight: 950;
    pointer-events: none;
}

.google-address-hint {
    display: block;
    margin-top: 5px;
    color: color-mix(in srgb, #4285f4 72%, var(--muted));
    font-size: .68rem;
    font-weight: 850;
}

.pac-container {
    z-index: 10020 !important;
    border: 1px solid color-mix(in srgb, var(--accent) 24%, var(--line));
    border-radius: var(--radius-control);
    box-shadow: 0 18px 44px rgba(15, 23, 42, .22);
    overflow: hidden;
}

/* 2026-07 top user, collapsed sidebar, scanner contrast */
.top-user-profile {
    border-color: color-mix(in srgb, var(--accent) 72%, #ffffff);
    background: linear-gradient(135deg, var(--accent), var(--accent-dark));
    color: var(--button-text);
    box-shadow: var(--button-effect-shadow), 0 10px 24px color-mix(in srgb, var(--accent) 22%, transparent);
}
.top-user-profile:hover,
.top-user-menu.is-open .top-user-profile {
    border-color: color-mix(in srgb, var(--accent) 84%, #ffffff);
    background: linear-gradient(135deg, var(--accent-dark), var(--accent));
    color: var(--button-text);
    filter: saturate(1.08) brightness(1.04);
}
.top-user-profile .top-user-avatar {
    border: 1px solid rgba(255, 255, 255, .42);
    background: rgba(255, 255, 255, .18);
    color: currentColor;
}
.top-user-profile .top-user-name,
.top-user-profile .top-user-name small,
.top-user-profile > .ui-icon {
    color: currentColor;
    -webkit-text-fill-color: currentColor;
}
.sidebar-collapsed .sidebar-search {
    display: none;
}
.pos-scan-button,
button.pos-scan-button {
    border-color: color-mix(in srgb, #22d3ee 70%, #ffffff);
    background: linear-gradient(135deg, #042f2e, #0f766e 48%, #0891b2);
    color: #ffffff;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.18), 0 8px 18px rgba(8, 145, 178, .26);
}
.pos-scan-button > .ui-icon,
button.pos-scan-button > .ui-icon {
    display: inline-grid;
    place-items: center;
    width: 24px;
    height: 24px;
    padding: 4px;
    border: 1px solid rgba(255,255,255,.42);
    border-radius: 7px;
    background: rgba(255,255,255,.16);
    color: #ffffff;
    filter: drop-shadow(0 1px 1px rgba(0,0,0,.45));
    -webkit-text-fill-color: #ffffff;
}
.pos-scan-button .button-label,
button.pos-scan-button .button-label {
    color: #ffffff;
    -webkit-text-fill-color: #ffffff;
}

/* 2026-07 settings segmented tab refresh */
@media (max-width: 1180px) {
    .settings-tabs > .settings-tab {
        flex: 1 1 150px;
    }
    .settings-subtabs > .settings-subtab {
        flex: 1 1 138px;
    }
}

@media (max-width: 760px) {
    .settings-subtabs {
        margin: 0 12px 14px;
    }
    .settings-subtabs > .settings-subtab {
        flex: 1 1 calc(50% - 4px);
        border-left: 0;
    }
}

/* 2026-07 POS scanner and footer comfort */
.module-register .cart-table + #cartInputs + input + .payment-panel,
.module-register .payment-panel {
    margin-top: 30px;
}
.module-register .payment-panel {
    position: relative;
}
.module-register .payment-panel::before {
    content: "";
    position: absolute;
    top: -16px;
    right: 0;
    left: 0;
    height: 1px;
    background: color-mix(in srgb, var(--accent) 24%, var(--line));
}
.module-register .pos-page-footer {
    padding-bottom: calc(14px + env(safe-area-inset-bottom));
}

@media (max-width: 760px) {
    .module-register .payment-panel {
        margin-top: 22px;
    }
    .module-register .pos-page-footer,
    .module-register .sidebar-collapsed .pos-page-footer {
        bottom: calc(10px + env(safe-area-inset-bottom));
        min-height: 112px;
        padding-bottom: calc(16px + env(safe-area-inset-bottom));
        box-shadow: 0 -16px 36px rgba(0, 0, 0, .22);
    }
    .module-register .pos-mobile-action-selector {
        gap: 7px;
    }
    .module-register .pos-mobile-action-selector > label {
        font-size: .72rem;
    }
    .module-register .pos-mobile-action-selector select,
    .module-register .pos-mobile-action-selector button {
        min-height: 40px;
        font-size: .8rem;
    }
    .module-register .pos-layout {
        padding-bottom: 160px;
    }
}

/* 2026-07 POS pricing sidebar */
.module-register .pos-layout {
    align-items: flex-start;
    padding-bottom: 104px;
}
.module-register .pos-transaction-panel {
    flex: 1 1 min(760px, 100%);
}
.module-register .pos-pricing-sidebar {
    position: sticky;
    top: 18px;
    flex: 0 0 clamp(286px, 24vw, 368px);
    display: grid;
    grid-auto-rows: max-content;
    align-content: start;
    align-self: start;
    gap: 14px;
    height: max-content;
    min-height: 0;
    padding: 16px;
    border-color: color-mix(in srgb, var(--accent) 32%, var(--line));
    background:
        linear-gradient(145deg, color-mix(in srgb, var(--accent) 12%, transparent), transparent 46%),
        color-mix(in srgb, var(--panel) 92%, var(--accent) 8%);
    box-shadow: var(--shadow), 0 20px 46px color-mix(in srgb, var(--accent) 10%, transparent);
}
.module-register .pos-pricing-sidebar-heading {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 11px;
    align-items: center;
    padding-bottom: 12px;
    border-bottom: 1px solid color-mix(in srgb, var(--accent) 24%, var(--line));
}
.module-register .pos-pricing-sidebar-heading > span {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 10px;
    background: linear-gradient(135deg, var(--accent), var(--accent-dark));
    color: var(--button-text);
    box-shadow: 0 10px 22px color-mix(in srgb, var(--accent) 22%, transparent);
}
.module-register .pos-pricing-sidebar-heading h3,
.module-register .pos-pricing-sidebar-heading p {
    margin: 0;
}
.module-register .pos-pricing-sidebar-heading h3 {
    font-size: 1.05rem;
}
.module-register .pos-sidebar-totals {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 9px;
    overflow: visible;
}
.module-register .pos-sidebar-totals > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-width: 0;
    padding: 12px 13px;
    border: 1px solid color-mix(in srgb, var(--accent) 16%, var(--line));
    border-radius: var(--radius-control);
    background: color-mix(in srgb, var(--field) 86%, var(--panel));
}
.module-register .pos-sidebar-totals span {
    color: var(--muted);
    font-size: .72rem;
    font-weight: 900;
    text-transform: uppercase;
}
.module-register .pos-sidebar-totals strong {
    color: var(--ink);
    font-size: 1rem;
    text-align: right;
}
.module-register .pos-sidebar-totals .invoice-builder-total {
    border-color: color-mix(in srgb, var(--accent) 54%, var(--line));
    background: linear-gradient(135deg, color-mix(in srgb, var(--accent) 20%, var(--field)), color-mix(in srgb, var(--accent-dark) 12%, var(--panel)));
    box-shadow: 0 10px 24px color-mix(in srgb, var(--accent) 14%, transparent);
}
.module-register .pos-sidebar-totals .invoice-builder-total strong {
    color: var(--accent-dark);
    font-size: 1.35rem;
}
.module-register .pos-sidebar-totals > div:last-child {
    border-color: color-mix(in srgb, #f97316 46%, var(--line));
    background: color-mix(in srgb, #f97316 10%, var(--field));
}
.module-register .pos-sidebar-totals > div:last-child strong {
    color: #c2410c;
    font-size: 1.15rem;
}
.module-register .pos-pricing-sidebar-note {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 7px 9px;
    border: 1px dashed color-mix(in srgb, var(--accent) 34%, var(--line));
    border-radius: var(--radius-control);
    color: var(--muted);
    font-size: .7rem;
    font-weight: 800;
}
.module-register .pos-pricing-sidebar-note .ui-icon {
    width: 17px;
    height: 17px;
    color: var(--accent);
    flex: 0 0 17px;
}
.module-register .pos-page-footer {
    justify-content: flex-end;
    min-height: 76px;
    padding-top: 12px;
    padding-bottom: calc(14px + env(safe-area-inset-bottom));
}
.module-register .pos-page-footer .pos-transaction-actions {
    width: 100%;
    justify-content: flex-end;
}
.module-register .pos-scan-button > .ui-icon,
.module-register button.pos-scan-button > .ui-icon {
    border-color: #052e2b !important;
    background: #052e2b !important;
    color: #ffffff !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.14), 0 1px 2px rgba(0,0,0,.35) !important;
    -webkit-text-fill-color: #ffffff !important;
}

@media (max-width: 980px) {
    .module-register .pos-layout {
        flex-direction: column;
    }
    .module-register .pos-pricing-sidebar {
        position: static;
        width: 100%;
        flex-basis: auto;
        order: 2;
    }
    .module-register .pos-sidebar-totals {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .module-register .pos-pricing-sidebar {
        padding: 13px;
    }
    .module-register .pos-sidebar-totals {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 7px;
    }
    .module-register .pos-sidebar-totals > div {
        display: grid;
        gap: 3px;
        padding: 9px 10px;
    }
    .module-register .pos-sidebar-totals strong {
        text-align: left;
    }
    .module-register .pos-page-footer,
    .module-register .sidebar-collapsed .pos-page-footer {
        min-height: 78px;
        padding-top: 9px;
        padding-bottom: calc(14px + env(safe-area-inset-bottom));
    }
    .module-register .pos-layout {
        padding-bottom: 118px;
    }
}

/* 2026-07 POS desktop contrast and spacing pass */
.module-register .cart-table {
    margin-bottom: 34px;
    border-color: color-mix(in srgb, var(--accent) 26%, var(--line));
}
.module-register .cart-table th {
    border-color: color-mix(in srgb, var(--accent) 34%, #111827);
    background: linear-gradient(135deg, #111827, color-mix(in srgb, var(--accent-dark) 34%, #111827));
    color: #f8fafc;
    font-size: .72rem;
    font-weight: 950;
    text-transform: uppercase;
}
.module-register .cart-table th:first-child {
    border-top-left-radius: var(--radius-control);
}
.module-register .cart-table th:last-child {
    border-top-right-radius: var(--radius-control);
}
.module-register .cart-table td {
    border-color: color-mix(in srgb, var(--accent) 12%, var(--line));
}
.module-register .payment-panel {
    margin-top: 0;
}
.module-register .payment-panel::before {
    top: -18px;
    background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--accent) 42%, var(--line)), transparent);
}

@media (min-width: 981px) {
    .module-register .pos-layout {
        display: grid;
        grid-template-columns: minmax(0, 1fr) clamp(300px, 24vw, 360px);
        gap: 22px;
        align-items: start;
    }
    .module-register .pos-transaction-panel {
        min-width: 0;
    }
    .module-register .pos-pricing-sidebar {
        align-self: start;
        position: sticky;
        top: 18px;
        height: max-content;
        min-height: 0;
        max-height: none;
        overflow: visible;
        padding: 18px;
        border: 1px solid color-mix(in srgb, var(--accent) 58%, #111827);
        background:
            radial-gradient(circle at 92% 8%, color-mix(in srgb, var(--accent) 28%, transparent), transparent 34%),
            linear-gradient(160deg, #0f172a, color-mix(in srgb, var(--accent-dark) 24%, #111827));
        color: #f8fafc;
        box-shadow: 0 22px 46px rgba(15, 23, 42, .26), inset 0 0 0 1px rgba(255,255,255,.06);
        scrollbar-width: thin;
    }
    .module-register .pos-pricing-sidebar .muted,
    .module-register .pos-pricing-sidebar-note {
        color: rgba(248, 250, 252, .74);
    }
    .module-register .pos-pricing-sidebar-heading {
        border-bottom-color: rgba(255,255,255,.16);
    }
    .module-register .pos-pricing-sidebar-heading h3 {
        color: #ffffff;
    }
    .module-register .pos-sidebar-totals {
        gap: 10px;
    }
    .module-register .pos-sidebar-totals > div {
        border-color: rgba(255,255,255,.13);
        background: rgba(255,255,255,.075);
        box-shadow: inset 0 0 0 1px rgba(255,255,255,.035);
    }
    .module-register .pos-sidebar-totals span {
        color: rgba(248, 250, 252, .72);
    }
    .module-register .pos-sidebar-totals strong {
        color: #ffffff;
    }
    .module-register .pos-sidebar-totals .invoice-builder-total {
        border-color: color-mix(in srgb, var(--accent) 72%, #ffffff);
        background: linear-gradient(135deg, var(--accent), var(--accent-dark));
    }
    .module-register .pos-sidebar-totals .invoice-builder-total span,
    .module-register .pos-sidebar-totals .invoice-builder-total strong {
        color: var(--button-text);
    }
    .module-register .pos-sidebar-totals > div:last-child {
        border-color: color-mix(in srgb, #facc15 70%, #ffffff);
        background: rgba(250, 204, 21, .16);
    }
    .module-register .pos-sidebar-totals > div:last-child strong {
        color: #fde68a;
    }
    .module-register .pos-pricing-sidebar-note {
        border-color: rgba(255,255,255,.18);
        background: rgba(255,255,255,.06);
    }
    .module-register .pos-pricing-sidebar-note .ui-icon {
        color: #67e8f9;
    }
}

.module-register .pos-scan-button > .ui-icon,
.module-register button.pos-scan-button > .ui-icon,
.module-register .pos-scan-button .ui-icon {
    border-color: #facc15 !important;
    background: #facc15 !important;
    color: #052e2b !important;
    filter: none !important;
    -webkit-text-fill-color: #052e2b !important;
}

/* Icon housing is a deliberate system-wide design mode. */
.icon-housing-contained button[type="submit"]:not(.icon-button):not(.settings-subtab):not(.category-filter-button) > .ui-icon {
    width: var(--ui-icon-action-size, 24px);
    height: var(--ui-icon-action-size, 24px);
    flex-basis: var(--ui-icon-action-size, 24px);
    padding: var(--ui-icon-action-padding, 4px);
    border: 1px solid var(--ui-icon-housing-border, rgba(15, 23, 42, .22));
    border-radius: var(--ui-icon-housing-radius, 5px);
    background: var(--ui-icon-housing-bg, color-mix(in srgb, currentColor 14%, transparent));
    box-shadow: var(--ui-icon-housing-shadow, none);
}
.icon-housing-free button:not(.icon-button) > .ui-icon,
.icon-housing-free a.button-link > .ui-icon,
.icon-housing-free .pos-scan-button > .ui-icon,
.icon-housing-free button.pos-scan-button > .ui-icon {
    width: 17px !important;
    height: 17px !important;
    flex-basis: 17px !important;
    padding: 0 !important;
    border-color: transparent !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
.icon-housing-free .nav-icon {
    width: 17px;
    height: 17px;
    border-color: transparent;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
@media (max-width: 680px) {
    .integration-setup-card { grid-template-columns: auto minmax(0, 1fr); }
    .integration-setup-card .button-link { grid-column: 1 / -1; width: 100%; }
}

/* Buyback acquisition workspace */
.buyback-page-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin: 0 0 18px;
}
.buyback-page-heading h2 { margin: 3px 0 5px; font-size: clamp(24px, 3vw, 36px); }
.buyback-page-heading p { max-width: 760px; margin: 0; }
.buyback-stats, .buyback-report-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.buyback-stats .stat, .buyback-report-stats .stat {
    border-top: 3px solid color-mix(in srgb, var(--accent) 72%, #38bdf8);
    background: color-mix(in srgb, var(--panel) 94%, var(--accent) 6%);
}
.buyback-disabled-notice { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.buyback-directory-panel { padding: 0; overflow: hidden; }
.buyback-filter-bar {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) minmax(150px, 210px) minmax(150px, 210px) auto;
    gap: 10px;
    align-items: center;
    padding: 16px;
    border-bottom: 1px solid var(--border);
    background: color-mix(in srgb, var(--panel) 88%, var(--field-bg) 12%);
}
.buyback-filter-search { position: relative; min-width: 0; }
.buyback-filter-search > .ui-icon { position: absolute; left: 13px; top: 50%; z-index: 1; transform: translateY(-50%); color: var(--accent); }
.buyback-filter-search input { width: 100%; padding-left: 42px; }
.buyback-directory-table td { vertical-align: middle; }
.buyback-directory-table td > strong, .buyback-directory-table td > span, .buyback-directory-table td > small,
.report-section td > strong, .report-section td > span, .report-section td > small { display: block; }
.buyback-directory-table td > small, .report-section td > small { margin-top: 4px; color: var(--muted); }
.buyback-status {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    min-height: 27px;
    padding: 4px 9px;
    border: 1px solid color-mix(in srgb, currentColor 35%, transparent);
    border-radius: 999px;
    background: color-mix(in srgb, currentColor 10%, var(--panel));
    color: #2563eb;
    font-size: 12px;
    font-weight: 800;
}
.buyback-status.status-success { color: #15803d; }
.buyback-status.status-warning { color: #b45309; }
.buyback-status.status-danger { color: #be123c; }
.buyback-status.status-muted { color: #64748b; }
.buyback-status.is-complete, .buyback-status.is-approved { color: #15803d; }
.buyback-status.is-quoted { color: #0369a1; }
.buyback-status.is-diagnostics, .buyback-status.is-hold { color: #b45309; }
.buyback-status.is-declined { color: #be123c; }
.buyback-grade-badge {
    display: grid;
    width: 36px;
    height: 36px;
    place-items: center;
    border: 2px solid color-mix(in srgb, var(--grade-color) 70%, white);
    border-radius: 7px;
    background: color-mix(in srgb, var(--grade-color) 16%, var(--panel));
    color: var(--grade-color);
    font-weight: 900;
}
.buyback-duplicate-flag { color: #be123c !important; font-weight: 800; }
.buyback-duplicate-flag .ui-icon { width: 14px; height: 14px; }

/* Release controls: compact dashboard dates, configurable icon paint, and POS-specific icon clarity. */
.dashboard-period-selector {
    display: inline-flex;
    width: auto;
    max-width: 100%;
    align-items: flex-end;
    justify-content: flex-start;
    padding: 8px;
}
.dashboard-period-selector > label { width: clamp(168px, 18vw, 218px); }
.dashboard-period-selector :is(select, input[type="date"]) { min-height: 36px; padding-top: 7px; padding-bottom: 7px; font-size: .78rem; }
.dashboard-custom-dates { grid-template-columns: repeat(2, 138px); }

.topbar-actions {
    width: fit-content;
    min-width: 0;
    max-width: min(100%, 620px);
    flex: 0 1 auto;
}

:is(button, a.button-link) > .ui-icon {
    --ui-icon-gradient-start: var(--button-icon-start);
    --ui-icon-gradient-end: var(--button-icon-end);
    stroke: var(--ui-icon-gradient-paint, currentColor);
}
:is(button.button-link, a.button-link) > .ui-icon {
    --ui-icon-gradient-start: var(--secondary-button-icon-start);
    --ui-icon-gradient-end: var(--secondary-button-icon-end);
}
:is(button, a.button-link).neutral-button > .ui-icon {
    --ui-icon-gradient-start: var(--neutral-button-icon-start);
    --ui-icon-gradient-end: var(--neutral-button-icon-end);
}
:is(button, a.button-link).neutral-button > .button-label {
    background-image: var(--neutral-button-text-gradient) !important;
    color: var(--neutral-button-text-fill) !important;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: var(--neutral-button-text-fill);
}
:is(button, a.button-link).danger-button > .ui-icon {
    --ui-icon-gradient-start: var(--danger-button-icon-start);
    --ui-icon-gradient-end: var(--danger-button-icon-end);
}

.button-icon-theme-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--line);
}
.button-icon-theme-group { display: grid; gap: 9px; padding: 12px; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--field); }
.button-icon-theme-group > strong { font-size: .78rem; }
.design-icon-color-sample { display: inline-grid; width: 25px; height: 25px; place-items: center; border: 1px solid var(--line); border-radius: 5px; background: var(--panel); }
.design-icon-color-sample .ui-icon { width: 15px; height: 15px; }
.integration-verification-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.integration-verification { margin: 0; padding: 9px 11px; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--field); color: var(--muted); font-size: .75rem; }
.integration-verification strong { margin-right: 4px; color: var(--ink); }
.integration-verification small { display: block; margin-top: 3px; color: var(--muted); }
.integration-verification.is-verified { border-color: color-mix(in srgb, #059669 45%, var(--line)); background: color-mix(in srgb, #10b981 10%, var(--field)); }
.integration-verification.is-failed { border-color: color-mix(in srgb, #dc2626 45%, var(--line)); background: color-mix(in srgb, #ef4444 9%, var(--field)); }
.qr-provider-readiness { display: flex; align-items: center; gap: 10px; padding: 11px 13px; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--field); }
.qr-provider-readiness > .ui-icon { width: 20px; height: 20px; flex: 0 0 20px; }
.qr-provider-readiness > div { display: grid; gap: 2px; }
.qr-provider-readiness span { color: var(--muted); font-size: .76rem; }
.qr-provider-readiness.is-ready { border-color: color-mix(in srgb, #059669 48%, var(--line)); background: color-mix(in srgb, #10b981 10%, var(--field)); }
.qr-provider-readiness.is-unavailable { border-color: color-mix(in srgb, #d97706 48%, var(--line)); background: color-mix(in srgb, #f59e0b 10%, var(--field)); }
.update-recap { min-width: 240px; }
.update-recap > strong { display: block; }
.update-recap ul { margin: 6px 0 0; padding-left: 17px; color: var(--muted); font-size: .76rem; }

/* Structured Point of Sale workflow bands. */
.module-register .pos-transaction-panel form#checkoutForm { display: grid; gap: 10px; }
.module-register .pos-form-section {
    display: grid;
    gap: 13px;
    min-width: 0;
    margin: 0;
    padding: 15px;
    border: 1px solid color-mix(in srgb, var(--accent) 20%, var(--line));
    border-left: 4px solid var(--accent);
    border-radius: var(--radius-panel);
    background: var(--panel);
    box-shadow: 0 7px 18px color-mix(in srgb, var(--ink) 5%, transparent);
}
.module-register .pos-customer-section { border-left-color: #0ea5e9; }
.module-register .pos-transaction-details-section { border-left-color: #8b5cf6; }
.module-register .pos-items-section { border-left-color: #14b8a6; }
.module-register .pos-subscription-strip { border-left-color: #6366f1; }
.module-register .pos-receipt-section { border-left-color: #ec4899; }
.module-register .payment-panel.pos-form-section { border-left-color: #f97316; }
.module-register .pos-form-section-heading { display: flex; align-items: center; gap: 10px; min-width: 0; }
.module-register .pos-form-section-heading > .ui-icon { width: 20px; height: 20px; flex: 0 0 20px; color: var(--accent); }
.module-register .pos-form-section-heading h3,
.module-register .pos-form-section-heading p { margin: 0; }
.module-register .pos-form-section-heading h3 { font-size: .94rem; }
.module-register .pos-form-section-heading p { margin-top: 2px; color: var(--muted); font-size: .72rem; }
.module-register .pos-customer-strip,
.module-register .pos-receipt-followup-row,
.module-register .pos-subscription-strip { margin: 0; }
.module-register .pos-items-table-wrap { min-width: 0; overflow-x: auto; border: 1px solid var(--line); border-radius: var(--radius-control); }
.module-register .pos-items-table-wrap .cart-table { margin: 0; }

.addon-manager-panel { margin-bottom: 16px; }
.addon-upload-form { display: grid; grid-template-columns: minmax(180px, 1fr) auto; align-items: end; gap: 8px; min-width: min(100%, 430px); }
.addon-upload-form label { grid-column: 1 / -1; }
.addon-upload-form input[type="file"] { min-width: 0; }
.addon-list { display: grid; gap: 9px; margin-top: 14px; }
.addon-card { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto auto; align-items: center; gap: 12px; padding: 12px; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--field); }
.addon-card-icon { display: grid; place-items: center; width: 42px; height: 42px; color: #fff; border-radius: var(--radius-control); background: linear-gradient(145deg, #0ea5b7, #2563eb); }
.addon-card > div { display: grid; gap: 3px; min-width: 0; }
.addon-card small { color: var(--muted); }
.addon-card form { margin: 0; }
@media (max-width: 760px) {
    .addon-upload-form { grid-template-columns: 1fr; width: 100%; }
    .addon-card { grid-template-columns: auto minmax(0, 1fr); }
    .addon-card > .payment-option-status, .addon-card > form { grid-column: 2; }
}
.module-register .payment-panel.pos-form-section { padding: 15px; }
.module-register .pos-receipt-followup-row { grid-template-columns: minmax(220px, 300px) minmax(0, 1fr); gap: 10px; align-items: end; }
.module-register .pos-receipt-followup-row .receipt-delivery-choice { grid-column: 1; width: 100%; max-width: 300px; }
.module-register .pos-receipt-followup-row .pos-followup-choice { grid-column: 2; min-width: 0; }
.module-register .pos-receipt-delivery-buttons { width: 100%; height: 54px; gap: 6px; }
.module-register .pos-receipt-delivery-buttons .receipt-delivery-button { min-width: 0; min-height: 54px; height: 54px; padding: 6px 8px; font-size: .7rem; }
.module-register .customer-reward-inline { color: #047857; font-weight: 900; }
.module-register .payment-method-rewards { --payment-color: #7c3aed; display: grid; grid-template-columns: auto minmax(0, 1fr); grid-template-rows: auto auto; text-align: left; }
.module-register .payment-method-rewards[hidden] { display: none !important; }
.module-register .payment-method-rewards > .ui-icon { grid-row: 1 / 3; }
.module-register .payment-method-rewards > span { align-self: end; }
.module-register .payment-method-rewards > small { align-self: start; color: rgba(255, 255, 255, .8); font-size: .64rem; font-weight: 750; }
.rewards-redemption-modal { width: min(620px, calc(100vw - 24px)); }
.rewards-modal-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; margin: 14px 0; }
.rewards-modal-summary > div { display: grid; gap: 4px; padding: 13px; border: 1px solid color-mix(in srgb, #7c3aed 22%, var(--line)); border-radius: var(--radius-control); background: color-mix(in srgb, var(--field) 90%, #7c3aed 10%); }
.rewards-modal-summary span { color: var(--muted); font-size: .68rem; font-weight: 900; text-transform: uppercase; }
.rewards-modal-summary strong { color: #6d28d9; font-size: 1.08rem; }
.rewards-redemption-editor,
.rewards-balance-editor { display: grid; gap: 12px; padding: 14px; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--field); }
.rewards-balance-editor { margin-top: 10px; border-color: color-mix(in srgb, #0ea5e9 28%, var(--line)); background: color-mix(in srgb, var(--field) 94%, #0ea5e9 6%); }
.rewards-redemption-editor h3,
.rewards-redemption-editor p,
.rewards-balance-editor h3,
.rewards-balance-editor p { margin: 0; }
.rewards-redemption-control,
.rewards-balance-editor > div:nth-child(2) { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 9px; }
.rewards-redemption-control label,
.rewards-balance-editor label { margin: 0; }
.rewards-modal-actions { margin-top: 14px; }
.qr-payment-actions { display: flex; justify-content: flex-end; }
.qr-payment-actions .danger-button { min-height: 38px; padding: 7px 10px; font-size: .74rem; }
.payment-portal-expired { border-color: color-mix(in srgb, #dc2626 36%, var(--line)); background: color-mix(in srgb, #dc2626 8%, var(--field)); color: #b91c1c; }

/* Repair layout settings mirror the grouped intake form. */
.repair-section-assignment-list { display: grid; gap: 11px; }
.repair-layout-settings-group { display: grid; gap: 0; overflow: hidden; border: 1px solid color-mix(in srgb, var(--accent) 24%, var(--line)); border-radius: var(--radius-panel); background: var(--panel); }
.repair-layout-settings-heading { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-bottom: 1px solid var(--line); background: color-mix(in srgb, var(--accent) 8%, var(--field)); }
.repair-layout-settings-heading > .ui-icon { width: 19px; height: 19px; color: var(--accent); }
.repair-layout-settings-heading > div { display: grid; gap: 2px; }
.repair-layout-settings-heading span { color: var(--muted); font-size: .72rem; }
.repair-layout-settings-group .repair-section-assignment-row { border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: transparent; }
.repair-layout-settings-group .repair-section-assignment-row:last-child { border-bottom: 0; }

/* Schedule sidebars are local panels, not application navigation. */
.schedule-editor-layout > .schedule-summary-panel,
.schedule-calendar-layout > .schedule-agenda {
    align-self: start;
    height: auto;
    min-height: 0;
    overflow: auto;
    border-color: color-mix(in srgb, var(--accent) 55%, #0f172a);
    background: linear-gradient(160deg, color-mix(in srgb, var(--sidebar) 88%, #0f172a), color-mix(in srgb, var(--accent-dark) 18%, #111827));
    color: #f8fafc;
    box-shadow: 0 16px 34px rgba(15, 23, 42, .22);
}
.schedule-editor-layout > .schedule-summary-panel { max-height: calc(100dvh - 110px); }
.schedule-calendar-layout > .schedule-agenda { max-height: calc(100dvh - 118px); }
.schedule-summary-panel .section-kicker,
.schedule-agenda .section-kicker,
.schedule-summary-panel dt,
.schedule-summary-panel .muted,
.schedule-agenda .muted { color: rgba(248, 250, 252, .72); }
.schedule-summary-panel h3,
.schedule-agenda-heading strong { color: #ffffff; }
.schedule-summary-panel > div:first-child,
.schedule-summary-panel .schedule-public-link { border-color: rgba(255, 255, 255, .15); }
.schedule-summary-panel dl div { align-items: start; }
.schedule-summary-panel dd { min-width: 0; overflow-wrap: anywhere; color: #f8fafc; }
.schedule-summary-panel :is(input, select, textarea) { border-color: rgba(255, 255, 255, .18); background: rgba(255, 255, 255, .08); color: #ffffff; }
.schedule-agenda-item { border-color: rgba(255, 255, 255, .12); background: rgba(255, 255, 255, .075); color: #f8fafc; }
.schedule-agenda-item:hover { border-color: color-mix(in srgb, var(--accent) 72%, #ffffff); background: rgba(255, 255, 255, .12); color: #ffffff; }
.schedule-agenda-item > span:nth-child(2) small { color: rgba(248, 250, 252, .68); }

/* Extend navigation color through the full page even when content columns differ in height. */
.shell::before { content: ""; position: absolute; z-index: -1; inset: 0 auto 0 0; width: var(--sidebar-width); min-height: 100%; background: var(--sidebar); }
.sidebar-collapsed .shell::before { width: 66px; }

@media (max-width: 760px) {
    .dashboard-period-selector { display: grid; width: 100%; }
    .dashboard-period-selector > label { width: 100%; }
    .dashboard-custom-dates { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .topbar-actions { width: 100%; max-width: none; }
    .button-icon-theme-grid { grid-template-columns: 1fr; }
    .integration-verification-grid { grid-template-columns: 1fr; }
    .module-register .pos-form-section { gap: 9px; padding-top: 11px; }
    .module-register .pos-form-section-heading p { display: none; }
    .module-register .pos-transaction-panel {
        width: calc(100% + 20px);
        max-width: none;
        margin-inline: -10px;
        border-right: 0;
        border-left: 0;
        border-radius: 0;
    }
    .module-register .pos-pricing-sidebar {
        align-self: stretch;
        height: auto;
        min-height: 0;
    }
    .module-register .pos-receipt-followup-row { grid-template-columns: minmax(0, 1fr); }
    .module-register .pos-receipt-followup-row .receipt-delivery-choice,
    .module-register .pos-receipt-followup-row .pos-followup-choice { grid-column: 1; max-width: none; }
    .rewards-modal-summary { grid-template-columns: minmax(0, 1fr); }
    .rewards-redemption-control,
    .rewards-balance-editor > div:nth-child(2) { grid-template-columns: minmax(0, 1fr); }
    .top-shortcut-bar.mobile-shortcuts-open .top-shortcut-list,
    .top-user-dropdown {
        border: 1px solid rgba(148, 163, 184, .3) !important;
        background: linear-gradient(160deg, #111827, #07111f) !important;
        color: #f8fafc !important;
        box-shadow: 0 24px 56px rgba(2, 6, 23, .48) !important;
    }
    .top-shortcut-bar.mobile-shortcuts-open .top-shortcut-link,
    .top-shortcut-bar.mobile-shortcuts-open .top-shortcut-dropdown a,
    .top-user-dropdown a {
        border: 1px solid rgba(148, 163, 184, .16);
        background: rgba(255, 255, 255, .065) !important;
        color: #f8fafc !important;
    }
    .top-shortcut-bar.mobile-shortcuts-open .top-shortcut-link:hover,
    .top-shortcut-bar.mobile-shortcuts-open .top-shortcut-link.is-active,
    .top-shortcut-bar.mobile-shortcuts-open .top-shortcut-dropdown a:hover,
    .top-user-dropdown a:hover {
        border-color: color-mix(in srgb, var(--accent) 70%, #ffffff);
        background: linear-gradient(135deg, color-mix(in srgb, var(--accent) 78%, #0f172a), var(--accent-dark)) !important;
        color: #ffffff !important;
    }
    .top-shortcut-bar.mobile-shortcuts-open .top-shortcut-dropdown {
        padding: 5px;
        border: 1px solid rgba(148, 163, 184, .18);
        background: rgba(2, 6, 23, .52) !important;
    }
}

@media (max-width: 1100px) {
    .shell::before { display: none; }
    .schedule-editor-layout > .schedule-summary-panel,
    .schedule-calendar-layout > .schedule-agenda { max-height: none; }
}
.buyback-warning-banner {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 14px;
    padding: 13px 15px;
    border: 1px solid #f59e0b;
    border-left-width: 5px;
    border-radius: 7px;
    background: color-mix(in srgb, #f59e0b 11%, var(--panel));
    color: color-mix(in srgb, #92400e 80%, var(--text));
}
.buyback-warning-banner div { display: grid; gap: 2px; }
.buyback-editor-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(285px, 340px); gap: 18px; align-items: start; }
.buyback-editor-form { display: grid; min-width: 0; gap: 14px; }
.buyback-editor-section { margin: 0; padding: 18px; }
.buyback-editor-section > header { display: flex; align-items: center; gap: 11px; margin-bottom: 16px; }
.buyback-editor-section > header > span {
    display: grid;
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    place-items: center;
    border-radius: 7px;
    background: linear-gradient(135deg, var(--accent), var(--accent-dark));
    color: var(--button-text);
}
.buyback-editor-section h3 { margin: 2px 0 0; }
.buyback-customer-picker { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 9px; align-items: start; }
.buyback-customer-picker > div { position: relative; min-width: 0; }
.buyback-seller-preview {
    display: grid;
    gap: 3px;
    margin-top: 8px;
    padding: 11px 13px;
    border: 1px solid color-mix(in srgb, var(--accent) 35%, var(--border));
    border-left: 4px solid var(--accent);
    border-radius: 6px;
    background: color-mix(in srgb, var(--accent) 7%, var(--panel));
}
.buyback-seller-preview span { color: var(--muted); font-size: 13px; }
.buyback-identity-control { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 8px; }
.buyback-lookup-card {
    display: flex;
    grid-column: 1 / -1;
    align-items: center;
    gap: 11px;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 7px;
    background: color-mix(in srgb, var(--field-bg) 78%, var(--accent) 5%);
}
.buyback-lookup-card > span { color: var(--accent); }
.buyback-lookup-card div { display: grid; gap: 2px; }
.buyback-lookup-card small { color: var(--muted); }
.buyback-diagnostic-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 15px 0; }
.buyback-diagnostic-grid label {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 112px;
    align-items: center;
    gap: 8px;
    min-width: 0;
    padding: 8px 9px;
    border: 1px solid var(--border);
    border-radius: 6px;
    background: color-mix(in srgb, var(--field-bg) 72%, var(--panel));
    font-size: 12px;
    font-weight: 750;
}
.buyback-diagnostic-grid select { min-width: 0; height: 34px; padding: 5px 26px 5px 8px; font-size: 12px; }
.buyback-signature-panel { display: grid; gap: 10px; margin-top: 15px; padding: 14px; border: 1px solid var(--border); border-radius: 7px; background: var(--field-bg); }
.buyback-signature-panel > div:first-child { display: grid; gap: 2px; }
.buyback-signature-panel small { color: var(--muted); }
#signatureCanvas { display: block; width: 100%; height: 150px; border: 1px dashed color-mix(in srgb, var(--accent) 55%, var(--border)); border-radius: 6px; background: #fff; touch-action: none; }
.buyback-existing-signature { display: flex; align-items: center; gap: 12px; }
.buyback-existing-signature img { max-width: 220px; max-height: 70px; object-fit: contain; background: #fff; }
.buyback-summary-sidebar { position: sticky; top: 18px; display: grid; gap: 10px; }
.buyback-summary-sidebar > section {
    padding: 16px;
    border: 1px solid color-mix(in srgb, var(--accent) 24%, var(--border));
    border-radius: 7px;
    background: color-mix(in srgb, var(--panel) 95%, var(--accent) 5%);
    box-shadow: 0 12px 30px rgba(15, 23, 42, .08);
}
.buyback-quote-amount { display: grid; gap: 3px; margin: 10px 0 14px; padding: 15px; border-radius: 7px; background: linear-gradient(135deg, var(--accent), var(--accent-dark)); color: var(--button-text); }
.buyback-quote-amount strong { font-size: 30px; line-height: 1; }
.buyback-quote-amount span { opacity: .8; font-size: 12px; }
.buyback-summary-fields { display: grid; gap: 10px; }
.buyback-totals, .detail-list { display: grid; gap: 0; margin: 14px 0 0; }
.buyback-totals div, .detail-list div { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 0; border-top: 1px solid var(--border); }
.buyback-totals dt, .detail-list dt { color: var(--muted); }
.buyback-totals dd, .detail-list dd { margin: 0; text-align: right; font-weight: 800; }
.buyback-totals div:last-child { color: var(--accent); font-size: 17px; }
.buyback-photo-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 10px; }
.buyback-photo-grid figure { position: relative; margin: 0; overflow: hidden; border: 1px solid var(--border); border-radius: 6px; background: var(--field-bg); }
.buyback-photo-grid img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; }
.buyback-photo-grid figcaption { padding: 6px; color: var(--muted); font-size: 11px; }
.buyback-photo-grid form { position: absolute; top: 5px; right: 5px; }
.buyback-scanner-modal { width: min(620px, calc(100vw - 24px)); }
.buyback-scanner-modal video { display: block; width: 100%; max-height: 440px; margin-top: 12px; border-radius: 7px; background: #05070a; object-fit: cover; }
.buyback-settings-stack { display: grid; gap: 14px; }
.buyback-settings-table { display: grid; overflow: hidden; border: 1px solid var(--border); border-radius: 7px; }
.buyback-settings-row { display: grid; grid-template-columns: 100px minmax(200px, 1fr) 140px 76px; gap: 8px; align-items: center; padding: 9px; border-top: 1px solid var(--border); background: var(--panel); }
.buyback-settings-row:first-child { border-top: 0; }
.buyback-settings-row.is-heading { background: color-mix(in srgb, var(--field-bg) 76%, var(--accent) 5%); color: var(--muted); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.buyback-settings-row input, .buyback-settings-row select { min-width: 0; }
.buyback-settings-row input[type="color"] { width: 100%; min-height: 38px; padding: 3px; }
.diagnostic-settings-table .buyback-settings-row { grid-template-columns: 170px minmax(220px, 1fr) 190px; }
.report-overview-grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 14px; margin: 14px 0; }
.report-status-summary { display: grid; gap: 8px; }
.report-status-summary > span { padding: 11px; border-left: 4px solid var(--grade-color); border-radius: 5px; background: color-mix(in srgb, var(--grade-color) 10%, var(--field-bg)); }
.report-status-summary strong { margin-right: 8px; }
.buyback-agreement-actions { display: flex; justify-content: flex-end; gap: 8px; margin-bottom: 14px; }
.buyback-agreement-document { width: min(210mm, 100%); min-height: 277mm; margin: 0 auto; padding: 17mm; border: 1px solid var(--border); background: #fff; color: #172033; box-shadow: 0 18px 50px rgba(15,23,42,.12); }
.buyback-agreement-document > header, .buyback-agreement-parties, .buyback-agreement-grid, .buyback-agreement-signatures { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.buyback-agreement-document > header { align-items: start; padding-bottom: 15px; border-bottom: 3px solid #0f766e; }
.buyback-agreement-document > section { padding: 17px 0; border-bottom: 1px solid #d8dee8; }
.buyback-agreement-document span { display: block; margin-bottom: 4px; color: #64748b; font-size: 11px; font-weight: 800; text-transform: uppercase; }
.buyback-agreement-document p { white-space: pre-line; }
.buyback-agreement-signatures img, .buyback-agreement-signatures i { display: block; width: 100%; height: 72px; margin: 10px 0; border-bottom: 1px solid #172033; object-fit: contain; }

@media (max-width: 1100px) {
    .buyback-diagnostic-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .buyback-stats, .buyback-report-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 850px) {
    .buyback-page-heading { align-items: flex-start; flex-direction: column; }
    .buyback-editor-layout, .report-overview-grid { grid-template-columns: 1fr; }
    .buyback-summary-sidebar { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .buyback-summary-sidebar > section:first-child { grid-column: 1 / -1; }
    .buyback-filter-bar { grid-template-columns: minmax(0, 1fr) minmax(130px, .4fr); }
}
@media (max-width: 620px) {
    .buyback-page-heading .toolbar-actions, .buyback-agreement-actions { display: grid; width: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .buyback-page-heading .toolbar-actions > *, .buyback-agreement-actions > * { width: 100%; justify-content: center; }
    .buyback-stats, .buyback-report-stats, .buyback-summary-sidebar, .buyback-diagnostic-grid { grid-template-columns: 1fr; }
    .buyback-summary-sidebar > section:first-child { grid-column: auto; }
    .buyback-filter-bar, .buyback-customer-picker, .buyback-identity-control { grid-template-columns: 1fr; }
    .buyback-identity-control button, .buyback-customer-picker .button-link { width: 100%; justify-content: center; }
    .buyback-diagnostic-grid label { grid-template-columns: minmax(0, 1fr) 105px; }
    .buyback-agreement-document { min-height: 0; padding: 18px; }
    .buyback-agreement-document > header, .buyback-agreement-parties, .buyback-agreement-grid, .buyback-agreement-signatures { grid-template-columns: 1fr; }
    .buyback-settings-table { overflow: visible; border: 0; gap: 8px; }
    .buyback-settings-row, .diagnostic-settings-table .buyback-settings-row { grid-template-columns: 1fr; border: 1px solid var(--border); border-radius: 6px; }
    .buyback-settings-row.is-heading { display: none; }
}
@media print {
    body:has(.buyback-agreement-document) .sidebar,
    body:has(.buyback-agreement-document) .top-menu,
    body:has(.buyback-agreement-document) .topbar,
    body:has(.buyback-agreement-document) .buyback-agreement-actions,
    body:has(.buyback-agreement-document) .global-page-search { display: none !important; }
    body:has(.buyback-agreement-document) .app-shell,
    body:has(.buyback-agreement-document) .main-content,
    body:has(.buyback-agreement-document) main { display: block !important; width: 100% !important; margin: 0 !important; padding: 0 !important; }
    .buyback-agreement-document { width: 210mm; min-height: 277mm; padding: 14mm; border: 0; box-shadow: none; }
}

/* Final desktop shell overrides intentionally follow all component releases. */
@media screen and (min-width: 1101px) {
    .shell { align-items: stretch; }
    #appSidebar,
    .sidebar-collapsed #appSidebar {
        position: relative;
        top: auto;
        align-self: stretch;
        height: auto;
        min-height: 100vh;
        overflow: visible;
    }
    .dashboard-period-selector {
        display: inline-grid;
        grid-template-columns: max-content max-content;
        align-self: flex-start;
        justify-self: start;
        width: fit-content;
        max-width: 100%;
    }
}

/* Workflow and button-designer corrections. */
:is(button, a.button-link).neutral-button {
    border-color: var(--line);
    background: var(--neutral-button-bg) !important;
    color: var(--neutral-button-text) !important;
}
:is(button, a.button-link).neutral-button:hover {
    background: var(--neutral-button-hover-bg) !important;
    color: var(--neutral-button-text) !important;
}
:is(button, a.button-link).neutral-button > .ui-icon {
    --ui-icon-gradient-start: var(--neutral-button-icon-start);
    --ui-icon-gradient-end: var(--neutral-button-icon-end);
    color: var(--neutral-button-icon-start) !important;
    stroke: var(--ui-icon-gradient-paint, currentColor) !important;
}

.menu-icon-picker { position: relative; min-width: 0; }
.menu-icon-picker-trigger { display: grid; grid-template-columns: 34px minmax(0, 1fr) 16px; gap: 8px; align-items: center; width: 100%; min-height: 44px; padding: 4px 9px 4px 4px; text-align: left; }
.menu-icon-picker-trigger > span:nth-child(2) { overflow: hidden; color: var(--ink); font-size: .82rem; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.menu-icon-picker-trigger > .ui-icon { width: 15px; height: 15px; color: var(--muted) !important; }
.menu-icon-preview {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border: 1px solid color-mix(in srgb, var(--accent) 34%, var(--line));
    border-radius: var(--radius-control);
    background: color-mix(in srgb, var(--accent) 10%, var(--field));
    color: var(--accent);
}
.menu-icon-preview .ui-icon { width: 20px; height: 20px; }
.menu-icon-catalog { position: absolute; z-index: 350; top: calc(100% + 6px); right: 0; width: min(430px, 82vw); padding: 10px; border: 1px solid var(--line); border-radius: var(--radius-panel); background: var(--panel); box-shadow: 0 20px 45px rgba(15, 23, 42, .22); }
.menu-icon-catalog[hidden] { display: none !important; }
.menu-icon-search { display: grid; grid-template-columns: 18px minmax(0, 1fr); align-items: center; gap: 8px; margin: 0 0 9px; padding: 0 10px; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--field); }
.menu-icon-search .ui-icon { width: 17px; height: 17px; color: var(--muted); }
.menu-icon-search input { min-height: 40px; padding: 0; border: 0; background: transparent; box-shadow: none; }
.menu-icon-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; max-height: 310px; overflow-y: auto; }
.menu-icon-option { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 6px; align-items: center; min-width: 0; min-height: 42px; padding: 6px 7px; border: 1px solid var(--line); background: var(--field); color: var(--ink); text-align: left; }
.menu-icon-option .ui-icon { width: 18px; height: 18px; color: var(--accent); }
.menu-icon-option span { overflow: hidden; font-size: .68rem; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.menu-icon-option:hover, .menu-icon-option.is-selected { border-color: var(--accent); background: color-mix(in srgb, var(--accent) 12%, var(--field)); color: var(--ink); }
.icon-housing-selector { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 7px; align-items: center; }
.icon-housing-selector-preview { display: grid; width: 42px; height: 42px; place-items: center; color: var(--button-icon-start); }
.icon-housing-selector-preview .ui-icon { width: var(--ui-icon-action-size); height: var(--ui-icon-action-size); padding: var(--ui-icon-action-padding); border: 1px solid var(--ui-icon-housing-border); border-radius: var(--ui-icon-housing-radius); background: var(--ui-icon-housing-bg); }

.module-register .pos-transaction-search { position: relative; }
.module-register #searchResults:empty { display: none; margin: 0; }
.module-register #searchResults:not(:empty) {
    position: absolute;
    z-index: 120;
    top: calc(100% + 7px);
    right: 0;
    left: auto;
    width: min(620px, 100%);
    max-height: min(360px, 48vh);
    margin: 0;
    overflow-y: auto;
    padding: 7px;
    border: 1px solid color-mix(in srgb, var(--accent) 32%, var(--line));
    border-radius: var(--radius-control);
    background: var(--panel);
    box-shadow: 0 18px 38px rgba(15, 23, 42, .2);
}
.module-register #searchResults strong,
.search-results strong,
.customer-search-results strong,
.customer-search-result strong,
.search-result strong { color: #172033 !important; -webkit-text-fill-color: #172033 !important; }
.customer-search-results { width: min(520px, 100%); max-width: 520px; }
input[type="date"], input[type="datetime-local"], input[type="month"], input[type="time"], .date-input-wrap { cursor: pointer; }
.backup-restore-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.backup-action-panel { display: grid; grid-template-columns: 52px minmax(0, 1fr); align-content: start; gap: 14px; border-top: 4px solid #2563eb; }
.backup-action-panel.is-restore { border-top-color: #dc2626; }
.backup-action-icon { display: grid; width: 52px; height: 52px; place-items: center; border-radius: 8px; background: color-mix(in srgb, #2563eb 14%, var(--field)); color: #2563eb; }
.backup-action-panel.is-restore .backup-action-icon { background: color-mix(in srgb, #dc2626 12%, var(--field)); color: #dc2626; }
.backup-action-icon .ui-icon { width: 24px; height: 24px; }
.backup-action-panel > .button-link, .backup-action-panel > form { grid-column: 1 / -1; }
.profile-avatar { overflow: hidden; }
.profile-avatar img { width: 100%; height: 100%; object-fit: cover; }
.customer-contact-cta { border-color: #0f766e; background: linear-gradient(135deg, #0f766e, #14b8a6); color: #fff; }
.customer-contact-cta .ui-icon { color: #fff; }
.customer-contact-modal-card { width: min(680px, calc(100vw - 24px)); }
.customer-contact-quick-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.customer-map-card { grid-column: span 2; }
.customer-profile-map { min-height: 260px; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--field); }
.customer-profile-map > span { display: grid; min-height: 260px; place-items: center; color: var(--muted); }
.customer-map-address { display: flex; align-items: center; gap: 7px; margin-top: 9px; color: var(--accent); font-weight: 750; }
.customer-map-address .ui-icon { width: 16px; height: 16px; }
.dashboard-stats.is-editing .dashboard-stat { position: relative; padding-top: 42px; cursor: grab; }
.dashboard-stat-drag { position: absolute; top: 8px; left: 10px; width: 30px; height: 28px; padding: 0; border: 1px solid var(--line); background: var(--field); color: var(--muted); }
.dashboard-stat-drag .ui-icon { width: 15px; height: 15px; }
.dashboard-stat.is-dragging { opacity: .55; }
.repair-checkout-layout { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 14px; align-items: start; }
.repair-checkout-main { display: grid; gap: 12px; min-width: 0; }
.repair-checkout-summary { position: sticky; top: 18px; border-top: 5px solid #0f766e; background: color-mix(in srgb, var(--panel) 94%, #0f766e 6%); }
.repair-checkout-summary dl { display: grid; gap: 0; margin: 16px 0; }
.repair-checkout-summary dl > div { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--line); }
.repair-checkout-summary .is-balance { margin-top: 8px; padding: 15px 12px; border: 0; border-radius: var(--radius-control); background: #0f172a; color: #fff; font-size: 1.08rem; }
.repair-checkout-summary > button { width: 100%; }
.repair-payment-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.repair-payment-choice input, .repair-checkout-delivery input { position: absolute; opacity: 0; pointer-events: none; }
.repair-payment-choice > span { display: grid; grid-template-columns: 30px minmax(0, 1fr); min-height: 72px; gap: 2px 9px; align-content: center; padding: 10px; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--field); cursor: pointer; }
.repair-payment-choice .ui-icon { grid-row: span 2; width: 22px; height: 22px; color: var(--accent); }
.repair-payment-choice small { color: var(--muted); }
.repair-payment-choice input:checked + span { border-color: #0f766e; background: color-mix(in srgb, #14b8a6 13%, var(--field)); box-shadow: inset 0 0 0 2px color-mix(in srgb, #0f766e 50%, transparent); }
.repair-checkout-delivery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.repair-checkout-delivery label span { display: flex; align-items: center; justify-content: center; gap: 7px; min-height: 48px; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--field); color: var(--ink); cursor: pointer; font-weight: 850; }
.repair-checkout-delivery input:checked + span { border-color: var(--accent); background: linear-gradient(135deg, var(--accent), var(--accent-dark)); color: #fff; }
@media screen and (max-width: 860px) { .repair-checkout-layout { grid-template-columns: minmax(0, 1fr); } .repair-checkout-summary { position: static; } .repair-payment-grid { grid-template-columns: minmax(0, 1fr); } }

.repair-customer-search-wrap .customer-search-result { touch-action: manipulation; }
.repair-customer-search-wrap .customer-reward-inline { color: #047857; font-weight: 900; }
.license-status-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.license-status-actions form { margin: 0; }

@media screen and (max-width: 760px) {
    .backup-restore-grid { grid-template-columns: minmax(0, 1fr); }
    .menu-icon-catalog { position: fixed; top: 12dvh; right: 12px; left: 12px; width: auto; max-height: 76dvh; }
    .menu-icon-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); max-height: 58dvh; }
    .customer-search-results, .module-register #searchResults:not(:empty) { width: min(92vw, 460px); max-width: min(92vw, 460px); }
    .customer-map-card { grid-column: auto; }
    .quick-product-card { width: 100%; max-width: 100%; }
    .quick-product-form,
    .quick-product-form > *,
    .transaction-product-search-tools,
    .transaction-product-search-tools > * { min-width: 0; }
    .transaction-product-search-tools > [data-open-quick-product] {
        width: 100%;
        max-width: 100%;
        white-space: normal;
        overflow-wrap: anywhere;
    }
    .quick-product-form .modal-actions { display: grid; grid-template-columns: minmax(0, 1fr); }
    .quick-product-form .modal-actions > * { min-width: 0; max-width: 100%; white-space: normal; }

    .rewards-redemption-modal {
        display: grid;
        align-content: start;
        max-height: 94dvh;
        padding-bottom: 0;
        overflow-y: auto;
    }
    .rewards-redemption-modal .toolbar { position: sticky; z-index: 5; top: -16px; margin: -16px -16px 0; padding: 14px 16px; background: var(--panel); }
    .rewards-redemption-control,
    .rewards-balance-editor > div:nth-child(2) { grid-template-columns: minmax(0, 1fr); }
    .rewards-redemption-control > button,
    .rewards-balance-editor > div:nth-child(2) > button { width: 100%; }
    .rewards-modal-actions {
        position: sticky;
        z-index: 6;
        right: 0;
        bottom: 0;
        left: 0;
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        margin: 14px -16px 0;
        padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
        border-top: 1px solid var(--line);
        background: var(--panel);
    }
    .rewards-modal-actions > * { width: 100%; min-width: 0; }

    .repair-editor-panel {
        width: calc(100% + 28px);
        margin-inline: -14px;
        border-right: 0;
        border-left: 0;
        border-radius: 0;
    }
    .repair-summary-sidebar {
        width: calc(100% + 28px);
        max-width: none;
        margin-inline: -14px;
        border-right: 0;
        border-left: 0;
        border-radius: 0;
    }
    .repair-customer-search-wrap .customer-search-results {
        z-index: 1600;
        top: 72px;
        right: 8px;
        bottom: auto;
        left: 8px;
        width: auto;
        max-height: min(60dvh, 460px);
    }
}

@media screen and (max-width: 480px) {
    .repair-editor-panel { width: calc(100% + 20px); margin-inline: -10px; }
}

/* Repair workflow board */
.repair-workflow-overview {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 10px;
}
.repair-workflow-overview > div {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-width: 0;
    min-height: 52px;
    padding: 9px 11px;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 7px;
    background: var(--panel);
}
.repair-workflow-overview > div::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 4px; background: var(--status-color, var(--accent)); }
.repair-workflow-overview span { overflow: hidden; color: var(--muted); font-size: .69rem; font-weight: 850; text-overflow: ellipsis; white-space: nowrap; }
.repair-workflow-overview strong { color: var(--status-color, var(--ink)); font-size: 1.08rem; }

.repair-workflow-shell {
    display: grid;
    grid-template-columns: minmax(245px, 295px) minmax(480px, 1fr) minmax(280px, 330px);
    gap: 10px;
    align-items: start;
    min-width: 0;
}
.repair-workflow-list-panel,
.repair-workflow-main,
.repair-workflow-context > .panel { padding: 0; overflow: hidden; }
.repair-workflow-list-panel { position: sticky; top: 10px; display: grid; grid-template-rows: auto auto auto minmax(0, 1fr); }
.repair-workflow-context { display: grid; gap: 10px; }
.repair-workflow-panel-head,
.repair-workflow-ticket-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-width: 0;
    padding: 12px 13px;
    border-bottom: 1px solid var(--line);
    background: color-mix(in srgb, var(--panel) 94%, var(--accent) 6%);
}
.repair-workflow-panel-head > div,
.repair-workflow-ticket-head > div { min-width: 0; }
.repair-workflow-panel-head h2,
.repair-workflow-ticket-head h2 { display: flex; align-items: center; gap: 7px; margin: 2px 0 0; color: var(--ink); font-size: .96rem; }
.repair-workflow-panel-head h2 .ui-icon { width: 18px; height: 18px; color: var(--accent); }
.repair-workflow-panel-head > strong { display: grid; min-width: 30px; height: 28px; place-items: center; border-radius: 6px; background: var(--accent); color: var(--button-text); font-size: .75rem; }
.repair-workflow-panel-head .button-link { min-height: 32px; padding: 6px 8px; font-size: .68rem; }

.repair-workflow-search {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    align-items: center;
    gap: 7px;
    margin: 9px;
    padding: 0 9px;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: var(--field);
}
.repair-workflow-search .ui-icon { width: 17px; height: 17px; color: var(--muted); }
.repair-workflow-search input { min-height: 38px; padding: 0; border: 0; background: transparent; box-shadow: none; font-size: .76rem; }
.repair-workflow-filter { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 7px; margin: 0 9px 8px; padding: 6px 7px; border: 1px solid var(--line); border-radius: 6px; background: color-mix(in srgb, var(--field) 88%, var(--panel)); }
.repair-workflow-filter > span { display: inline-flex; align-items: center; gap: 5px; color: var(--muted); font-size: .63rem; white-space: nowrap; }
.repair-workflow-filter > span .ui-icon { width: 14px; height: 14px; color: var(--accent); }
.repair-workflow-filter select { width: 100%; min-height: 30px; padding: 4px 27px 4px 8px; border-color: color-mix(in srgb, var(--status-color, var(--accent)) 48%, var(--line)); background-color: color-mix(in srgb, var(--status-color, var(--accent)) 9%, var(--panel)); color: var(--status-color, var(--ink)); font-size: .66rem; font-weight: 700; }
.repair-workflow-filter option { background: var(--panel); color: var(--status-color, var(--ink)); font-weight: 700; }
.repair-workflow-ticket-list { display: grid; align-content: start; gap: 5px; min-height: 240px; max-height: calc(100vh - 205px); padding: 0 8px 9px; overflow-y: auto; scrollbar-width: thin; }
.repair-workflow-ticket {
    position: relative;
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) auto;
    gap: 8px;
    align-items: center;
    width: 100%;
    min-width: 0;
    min-height: 68px;
    padding: 8px;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: var(--field);
    box-shadow: none;
    color: var(--ink);
    text-align: left;
}
.repair-workflow-ticket::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 3px; background: var(--status-color, var(--accent)); }
.repair-workflow-ticket:hover { border-color: color-mix(in srgb, var(--status-color, var(--accent)) 50%, var(--line)); background: color-mix(in srgb, var(--status-color, var(--accent)) 6%, var(--field)); }
.repair-workflow-ticket.is-active { border-color: var(--status-color, var(--accent)); background: color-mix(in srgb, var(--status-color, var(--accent)) 11%, var(--panel)); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--status-color, var(--accent)) 28%, transparent); }
.repair-workflow-ticket-icon { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 6px; background: color-mix(in srgb, var(--status-color, var(--accent)) 14%, var(--panel)); color: var(--status-color, var(--accent)); }
.repair-workflow-ticket-icon .ui-icon { width: 18px; height: 18px; }
.repair-workflow-ticket-copy { display: grid; gap: 2px; min-width: 0; }
.repair-workflow-ticket-copy strong,
.repair-workflow-ticket-copy small,
.repair-workflow-ticket-copy span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.repair-workflow-ticket-copy strong { font-size: .75rem; }
.repair-workflow-ticket-copy small { color: var(--ink); font-size: .7rem; font-weight: 750; }
.repair-workflow-ticket-copy span { color: var(--muted); font-size: .65rem; }
.repair-workflow-ticket-meta { display: grid; justify-items: end; gap: 7px; min-width: 62px; }
.repair-workflow-ticket-meta small { max-width: 82px; overflow: hidden; color: var(--status-color, var(--accent)); font-size: .6rem; font-weight: 850; text-overflow: ellipsis; white-space: nowrap; }
.repair-workflow-ticket-meta strong { font-size: .72rem; }

.repair-workflow-main { min-width: 0; }
.repair-workflow-ticket-head { min-height: 76px; padding: 13px 15px; }
.repair-workflow-ticket-head h2 { font-size: 1.18rem; }
.repair-workflow-ticket-head p { margin: 4px 0 0; overflow: hidden; font-size: .72rem; text-overflow: ellipsis; white-space: nowrap; }
.repair-workflow-head-actions { display: flex; flex: 0 0 auto; gap: 6px; }
.repair-workflow-head-actions .button-link { min-height: 34px; padding: 6px 9px; font-size: .69rem; }
.repair-workflow-steps.settings-tabs { display: flex; flex-wrap: wrap; gap: 8px; min-width: 0; margin: 10px 12px 0; padding: 9px; }
.repair-workflow-step {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    flex: 1 1 112px;
    min-width: 0;
    min-height: 42px;
    padding: 9px 12px;
    border: 1px solid color-mix(in srgb, var(--sidebar-text) 16%, transparent);
    border-radius: var(--radius-control);
    background: color-mix(in srgb, var(--panel) 12%, transparent);
    box-shadow: none;
    color: var(--sidebar-text) !important;
}
.repair-workflow-step > span { display: grid; width: 22px; height: 22px; flex: 0 0 22px; place-items: center; border: 1px solid rgba(255,255,255,.2); border-radius: 5px; background: rgba(255,255,255,.1); color: var(--sidebar-text); font-size: .62rem; font-weight: 700; }
.repair-workflow-step > span .ui-icon { width: 14px; height: 14px; }
.repair-workflow-step small { min-width: 0; overflow: hidden; color: inherit; font-size: .7rem; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.repair-workflow-step.is-done:not(.active) { border-color: color-mix(in srgb, var(--accent) 45%, transparent); background: color-mix(in srgb, var(--accent) 14%, transparent); color: var(--sidebar-text) !important; }
.repair-workflow-step.is-done > span { border-color: var(--accent); background: var(--accent); color: #fff; }
.repair-workflow-step.active { border-color: color-mix(in srgb, var(--status-color, var(--accent)) 44%, var(--sidebar-text)); background: color-mix(in srgb, var(--panel) 12%, transparent); color: var(--status-color, var(--accent)) !important; box-shadow: none; }
.repair-workflow-step.active > span { border-color: currentColor; background: transparent; color: currentColor; }
.repair-workflow-step.is-current:not(.active) { border-color: color-mix(in srgb, var(--accent) 70%, var(--sidebar-text)); background: color-mix(in srgb, var(--accent) 18%, var(--sidebar)); color: var(--sidebar-text) !important; }
.repair-workflow-step.is-current > span { border-color: rgba(255,255,255,.48); background: rgba(255,255,255,.16); color: #fff; }
.repair-workflow-step:hover { border-color: color-mix(in srgb, var(--accent) 60%, var(--sidebar-text)); background: color-mix(in srgb, var(--accent) 26%, var(--sidebar)); color: var(--sidebar-text) !important; }
.repair-workflow-step.active:hover { border-color: color-mix(in srgb, var(--status-color, var(--accent)) 58%, var(--sidebar-text)); background: color-mix(in srgb, var(--panel) 16%, transparent); color: var(--status-color, var(--accent)) !important; }

@media (max-width: 1100px) {
    .top-shortcut-collapse-toggle { display: none; }
    body.top-shortcuts-collapsed .top-shortcut-bar { min-height: 58px; justify-content: initial; }
    body.top-shortcuts-collapsed .top-shortcut-bar.mobile-shortcuts-open .top-shortcut-list { display: grid; }
}

.repair-workflow-select-empty { display: none; min-height: 520px; padding: 30px; place-content: center; justify-items: center; text-align: center; }
.repair-workflow-select-empty > .ui-icon { width: 38px; height: 38px; margin-bottom: 14px; color: var(--accent); }
.repair-workflow-select-empty h2 { margin: 0 0 6px; }
.repair-workflow-select-empty p { max-width: 470px; margin: 0; color: var(--muted); }
.repair-workflow-shell.has-no-selection .repair-workflow-main > :not(.repair-workflow-select-empty) { display: none !important; }
.repair-workflow-shell.has-no-selection .repair-workflow-select-empty { display: grid; }
.repair-workflow-shell.has-no-selection .repair-workflow-main { grid-column: 2 / -1; }
.repair-workflow-shell.has-no-selection .repair-workflow-context { display: none; }

.repair-workflow-stage-notes { display: grid; gap: 8px; margin: 0 10px 10px; padding: 10px; border: 1px solid var(--line); border-radius: 7px; background: color-mix(in srgb, var(--field) 88%, var(--panel)); }
.repair-workflow-stage-notes > header { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.repair-workflow-stage-notes h3 { margin: 2px 0 0; font-size: .78rem; }
.repair-workflow-stage-notes > header > span { color: var(--accent); font-size: .64rem; font-weight: 800; }
.repair-workflow-stage-notes form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 7px; margin: 0; }
.repair-workflow-stage-notes textarea { min-height: 58px; resize: vertical; }
.repair-workflow-stage-notes form button { align-self: stretch; min-width: 140px; }
.repair-workflow-stage-note-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
.repair-workflow-stage-note-list article { padding: 8px 9px; border-left: 3px solid var(--accent); background: var(--panel); }
.repair-workflow-stage-note-list p { margin: 0; color: var(--ink); font-size: .68rem; white-space: pre-line; }
.repair-workflow-stage-note-list small { display: block; margin-top: 5px; color: var(--muted); font-size: .58rem; }
.repair-workflow-stage-note-list > .empty { grid-column: 1 / -1; margin: 0; padding: 3px 0; }

.repair-workflow-status-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(210px, .72fr); gap: 10px; align-items: stretch; padding: 10px 14px; border-bottom: 1px solid var(--line); }
.repair-workflow-status-row form { display: grid; grid-template-columns: auto minmax(145px, 1fr) auto; gap: 7px; align-items: end; margin: 0; }
.repair-workflow-status-row label { align-self: center; margin: 0; color: var(--muted); font-size: .66rem; font-weight: 850; }
.repair-workflow-status-row select,
.repair-workflow-status-row button { min-height: 36px; padding-block: 6px; font-size: .7rem; }
.repair-workflow-notification { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 8px; align-items: center; padding: 7px 9px; border: 1px solid var(--line); border-radius: 6px; background: var(--field); }
.repair-workflow-notification div { display: grid; gap: 2px; min-width: 0; }
.repair-workflow-notification strong,
.repair-workflow-notification small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.repair-workflow-notification strong { font-size: .67rem; }
.repair-workflow-notification small { color: var(--muted); font-size: .59rem; }

.repair-workflow-detail-grid { display: grid; gap: 9px; padding: 10px; }
.repair-workflow-section { overflow: hidden; border: 1px solid var(--line); border-radius: 7px; background: var(--panel); }
.repair-workflow-section > header { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 9px; align-items: center; padding: 9px 11px; border-bottom: 1px solid var(--line); background: var(--field); }
.repair-workflow-section > header > span { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 6px; background: color-mix(in srgb, var(--accent) 12%, var(--panel)); color: var(--accent); }
.repair-workflow-section > header .ui-icon { width: 17px; height: 17px; }
.repair-workflow-section h3,
.repair-workflow-section p { margin: 0; }
.repair-workflow-section h3 { font-size: .79rem; }
.repair-workflow-section header p { margin-top: 2px; color: var(--muted); font-size: .62rem; }
.repair-workflow-kv { display: grid; gap: 0; margin: 0; padding: 5px 11px; }
.repair-workflow-kv > div { display: grid; grid-template-columns: minmax(105px, .38fr) minmax(0, 1fr); gap: 10px; padding: 8px 0; border-bottom: 1px solid var(--line); }
.repair-workflow-kv > div:last-child { border-bottom: 0; }
.repair-workflow-kv dt { color: var(--muted); font-size: .65rem; font-weight: 800; }
.repair-workflow-kv dd { margin: 0; color: var(--ink); font-size: .71rem; font-weight: 700; overflow-wrap: anywhere; white-space: pre-line; }
.repair-workflow-table-wrap { overflow-x: auto; }
.repair-workflow-table-wrap table { margin: 0; border: 0; font-size: .69rem; }
.repair-workflow-table-wrap th { padding: 7px 10px; background: color-mix(in srgb, var(--field) 90%, var(--accent) 10%); }
.repair-workflow-table-wrap td { padding: 9px 10px; }
.repair-workflow-table-wrap th:nth-child(n+2),
.repair-workflow-table-wrap td:nth-child(n+2) { width: 85px; text-align: right; }
.repair-workflow-part-editor { display: grid; gap: 7px; padding: 9px 10px; border-bottom: 1px solid var(--line); background: color-mix(in srgb, var(--accent) 6%, var(--panel)); }
.repair-workflow-part-search { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 7px; }
.repair-workflow-part-search label { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 7px; margin: 0; padding-left: 9px; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--field); }
.repair-workflow-part-search label .ui-icon { color: var(--accent); }
.repair-workflow-part-search input { border: 0; background: transparent; box-shadow: none; }
.repair-workflow-part-results { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; }
.repair-workflow-part-results button { display: flex; align-items: center; justify-content: space-between; gap: 9px; min-width: 0; padding: 8px 9px; border: 1px solid var(--line); background: var(--panel); color: var(--ink) !important; text-align: left; }
.repair-workflow-part-results button span { display: grid; gap: 2px; min-width: 0; }
.repair-workflow-part-results button strong,
.repair-workflow-part-results button small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.repair-workflow-part-results button strong { font-size: .68rem; }
.repair-workflow-part-results button small { color: var(--muted); font-size: .59rem; }
.repair-workflow-part-results button b { flex: 0 0 auto; color: var(--accent); font-size: .68rem; }
.repair-workflow-part-editor > p { min-height: 0; margin: 0; color: var(--accent); font-size: .64rem; font-weight: 750; }
.repair-workflow-note-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.repair-workflow-note-grid article { min-width: 0; min-height: 100px; padding: 10px; border-right: 1px solid var(--line); }
.repair-workflow-note-grid article:last-child { border-right: 0; }
.repair-workflow-note-grid span { color: var(--muted); font-size: .62rem; font-weight: 850; text-transform: uppercase; }
.repair-workflow-note-grid p { margin: 7px 0 0; color: var(--ink); font-size: .69rem; line-height: 1.48; white-space: pre-line; }

.repair-workflow-customer-card { border-top: 4px solid var(--accent); }
.repair-workflow-customer { display: grid; grid-template-columns: 50px minmax(0, 1fr); gap: 10px; align-items: start; padding: 12px; }
.repair-workflow-customer > img,
.repair-workflow-customer > span { display: grid; width: 50px; height: 50px; place-items: center; border-radius: 50%; background: linear-gradient(145deg, var(--accent), var(--accent-dark)); color: var(--button-text); font-size: .82rem; font-weight: 900; object-fit: cover; }
.repair-workflow-customer > div { display: grid; gap: 3px; min-width: 0; }
.repair-workflow-customer strong { font-size: .87rem; }
.repair-workflow-customer small { color: var(--accent); font-size: .62rem; font-weight: 850; }
.repair-workflow-customer a,
.repair-workflow-customer p { margin: 0; overflow: hidden; color: var(--muted); font-size: .66rem; text-decoration: none; text-overflow: ellipsis; white-space: nowrap; }
.repair-workflow-customer a:hover { color: var(--accent); }
.repair-workflow-mini-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; padding: 0 12px 12px; }
.repair-workflow-mini-stats > div { display: grid; gap: 2px; padding: 8px; border: 1px solid var(--line); border-radius: 6px; background: var(--field); }
.repair-workflow-mini-stats span { color: var(--muted); font-size: .6rem; font-weight: 800; }
.repair-workflow-mini-stats strong { color: var(--accent); font-size: .78rem; }
.repair-workflow-device-card { border-top: 4px solid var(--secondary-button-start, var(--accent)); }
.repair-workflow-device-card .tag { font-size: .6rem; }
.repair-workflow-payment-card { border-top: 4px solid var(--button-start, var(--accent)); }
.repair-workflow-totals { display: grid; gap: 0; padding: 7px 12px; }
.repair-workflow-totals > div { display: flex; justify-content: space-between; gap: 10px; padding: 7px 0; border-bottom: 1px solid var(--line); color: var(--muted); font-size: .68rem; }
.repair-workflow-totals strong { color: var(--ink); }
.repair-workflow-totals .is-total { margin-top: 4px; color: var(--ink); font-size: .76rem; font-weight: 850; }
.repair-workflow-totals .is-balance { margin: 7px 0 3px; padding: 11px 9px; border: 0; border-radius: 6px; background: linear-gradient(135deg, var(--accent), var(--accent-dark)); color: var(--button-text); font-size: .82rem; font-weight: 900; }
.repair-workflow-totals .is-balance strong { color: var(--button-text); font-size: 1.05rem; }
.repair-workflow-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; padding: 0 12px 12px; }
.repair-workflow-actions > a,
.repair-workflow-actions > button { width: 100%; min-height: 36px; justify-content: center; padding: 6px; font-size: .65rem; }
.repair-workflow-actions > a,
.repair-workflow-actions > button { grid-column: 1 / -1; }
.repair-workflow-actions > button:disabled { display: inline-flex; cursor: not-allowed; filter: grayscale(.28); opacity: .58; }
.repair-workflow-actions form { display: grid; grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; margin: 0; }
.repair-workflow-actions form button { min-height: 36px; padding: 6px; font-size: .65rem; }
.repair-workflow-shell .button-link,
.repair-workflow-shell button { color: var(--ink); }
.repair-workflow-shell .button-link .ui-icon,
.repair-workflow-shell button .ui-icon { color: currentColor; }
.repair-workflow-shell .repair-workflow-head-actions .button-link:first-child,
.repair-workflow-shell .repair-workflow-status-row button,
.repair-workflow-shell .repair-workflow-actions > a:not(.neutral-button),
.repair-workflow-shell .repair-workflow-actions form button,
.repair-workflow-complete-button {
    border-color: var(--accent) !important;
    background: linear-gradient(135deg, var(--accent), var(--accent-dark)) !important;
    color: #fff !important;
}
.repair-workflow-shell .neutral-button,
.repair-workflow-shell .repair-workflow-head-actions .neutral-button {
    border-color: var(--line) !important;
    background: var(--field) !important;
    color: var(--ink) !important;
}

.repair-workflow-checkout-card { border-top: 4px solid var(--success, #16855b); }
.repair-workflow-checkout-card form { display: grid; gap: 11px; margin: 0; padding: 12px; }
.repair-workflow-checkout-card fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.repair-workflow-checkout-card legend { margin-bottom: 7px; color: var(--ink); font-size: .66rem; font-weight: 850; }
.repair-workflow-payment-methods,
.repair-workflow-receipt-methods { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
.repair-workflow-payment-methods label,
.repair-workflow-receipt-methods label { min-width: 0; cursor: pointer; }
.repair-workflow-payment-methods input,
.repair-workflow-receipt-methods input { position: absolute; opacity: 0; pointer-events: none; }
.repair-workflow-payment-methods span,
.repair-workflow-receipt-methods span {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 42px;
    padding: 7px;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: var(--field);
    color: var(--ink);
    font-size: .66rem;
}
.repair-workflow-payment-methods .ui-icon,
.repair-workflow-receipt-methods .ui-icon { width: 17px; height: 17px; color: var(--accent); }
.repair-workflow-payment-methods input:checked + span,
.repair-workflow-receipt-methods input:checked + span { border-color: var(--accent); background: color-mix(in srgb, var(--accent) 12%, var(--panel)); box-shadow: inset 0 0 0 1px var(--accent); color: var(--ink); }
.repair-workflow-complete-button { width: 100%; min-height: 44px; }

.hero-action-button,
.topbar-action-tab.hero-action-button,
.sticky-submit-action button[type="submit"]:not(.danger-button):not(.neutral-button),
.design-submit-row button[type="submit"] {
    border-color: transparent !important;
    background: var(--hero-button-bg) !important;
    color: var(--hero-button-text) !important;
    -webkit-text-fill-color: var(--hero-button-text) !important;
    box-shadow: var(--button-effect-shadow);
}
.hero-action-button:hover,
.topbar-action-tab.hero-action-button:hover,
.sticky-submit-action button[type="submit"]:not(.danger-button):not(.neutral-button):hover,
.design-submit-row button[type="submit"]:hover { background: var(--hero-button-hover-bg) !important; color: var(--hero-button-text) !important; }
.hero-action-button .ui-icon,
.topbar-action-tab.hero-action-button .ui-icon,
.sticky-submit-action button[type="submit"]:not(.danger-button):not(.neutral-button) .ui-icon,
.design-submit-row button[type="submit"] .ui-icon { color: var(--hero-button-icon) !important; --ui-icon-gradient-start: var(--hero-button-icon); --ui-icon-gradient-end: var(--hero-button-icon); }
.repair-workflow-payment-warning { display: grid; gap: 4px; padding: 10px; border: 1px solid color-mix(in srgb, var(--danger) 35%, var(--line)); border-radius: 6px; background: color-mix(in srgb, var(--danger) 7%, var(--panel)); }
.repair-workflow-payment-warning strong { color: var(--ink); font-size: .72rem; }
.repair-workflow-payment-warning span,
.repair-workflow-payment-warning a { color: var(--muted); font-size: .64rem; }

.repair-workflow-settings-form { display: grid; gap: 16px; }
.repair-workflow-setting-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.repair-workflow-setting-option { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 10px; align-items: start; min-width: 0; margin: 0; padding: 12px; border: 1px solid var(--line); border-radius: 7px; background: var(--field); cursor: pointer; }
.repair-workflow-setting-option input[type="checkbox"] { margin-top: 2px; }
.repair-workflow-setting-option span { display: grid; gap: 3px; }
.repair-workflow-setting-option strong { color: var(--ink); font-size: .78rem; }
.repair-workflow-setting-option small { color: var(--muted); font-size: .68rem; line-height: 1.45; }
.repair-workflow-receipt-setting { max-width: 430px; }
.repair-workflow-empty { display: grid; min-height: 440px; place-content: center; justify-items: center; text-align: center; }

.repair-workflow-deposit-modal,
.repair-workflow-stripe-modal,
.repair-workflow-new-modal { position: fixed; inset: 0; z-index: 10050; place-items: center; padding: 20px; background: rgba(6, 12, 24, .78); backdrop-filter: blur(7px); }
.repair-workflow-deposit-modal > .modal-card { width: min(620px, 100%); max-height: min(90vh, 760px); overflow: auto; padding: 0; border: 1px solid color-mix(in srgb, var(--accent) 35%, var(--line)); background: var(--panel); }
.repair-workflow-new-modal > .modal-card { width: min(1040px, 100%); max-height: min(92vh, 920px); overflow: auto; padding: 0; border: 1px solid color-mix(in srgb, var(--accent) 38%, var(--line)); background: var(--panel); }
.repair-workflow-deposit-modal > .modal-card,
.repair-workflow-new-modal > .modal-card { overscroll-behavior: contain; touch-action: pan-y; }
.repair-workflow-modal-head { position: sticky; z-index: 3; top: 0; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 15px 17px; border-bottom: 1px solid color-mix(in srgb, var(--accent) 28%, var(--line)); background: color-mix(in srgb, var(--sidebar) 94%, #000 6%); color: var(--sidebar-text); }
.repair-workflow-modal-head > div { min-width: 0; }
.repair-workflow-modal-head h2 { display: flex; align-items: center; gap: 8px; margin: 2px 0 0; color: var(--sidebar-text); }
.repair-workflow-modal-head h2 .ui-icon { color: var(--accent); }
.repair-workflow-modal-head p { margin: 4px 0 0; color: color-mix(in srgb, var(--sidebar-text) 70%, transparent); font-size: .72rem; }
.repair-workflow-modal-head .section-kicker { color: color-mix(in srgb, var(--sidebar-text) 62%, var(--accent)); }
.repair-workflow-deposit-modal form { display: grid; gap: 12px; margin: 0; padding: 16px; }
.repair-workflow-deposit-summary { display: flex; align-items: center; justify-content: space-between; padding: 11px 12px; border-left: 4px solid var(--accent); background: color-mix(in srgb, var(--accent) 8%, var(--field)); }
.repair-workflow-deposit-summary span { color: var(--muted); font-size: .72rem; }
.repair-workflow-deposit-summary strong { color: var(--accent); font-size: 1.2rem; }
.repair-workflow-deposit-modal fieldset { margin: 0; padding: 0; border: 0; }
.repair-workflow-deposit-methods { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.repair-workflow-deposit-methods label { margin: 0; cursor: pointer; }
.repair-workflow-deposit-methods input { position: absolute; opacity: 0; pointer-events: none; }
.repair-workflow-deposit-methods label > span { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 2px 8px; align-items: center; min-height: 58px; padding: 9px; border: 1px solid var(--line); border-radius: 6px; background: var(--field); color: var(--ink); }
.repair-workflow-deposit-methods label > span .ui-icon { grid-row: 1 / 3; color: var(--accent); }
.repair-workflow-deposit-methods label > span small { overflow: hidden; color: var(--muted); font-size: .62rem; text-overflow: ellipsis; white-space: nowrap; }
.repair-workflow-deposit-methods input:checked + span { border-color: var(--accent); background: color-mix(in srgb, var(--accent) 12%, var(--panel)); box-shadow: inset 0 0 0 1px var(--accent); }
#workflowDepositMessage,
#workflowNewRepairMessage { min-height: 18px; margin: 0; color: var(--accent); font-size: .7rem; }

.repair-workflow-new-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0; padding: 14px; }
.repair-workflow-new-form > section { overflow: visible; border: 1px solid var(--line); border-radius: 7px; background: var(--panel); }
.repair-workflow-new-form > section { grid-column: 1 / -1; }
.repair-workflow-new-form > section > header { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 9px; align-items: center; padding: 10px 11px; border-bottom: 1px solid var(--line); background: var(--field); }
.repair-workflow-new-form > section > header > span { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 6px; background: color-mix(in srgb, var(--accent) 12%, var(--panel)); color: var(--accent); }
.repair-workflow-new-form h3,
.repair-workflow-new-form header p { margin: 0; }
.repair-workflow-new-form h3 { font-size: .8rem; }
.repair-workflow-new-form header p { margin-top: 2px; color: var(--muted); font-size: .64rem; }
.repair-workflow-modal-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; padding: 11px; }
.repair-workflow-modal-fields .full { grid-column: 1 / -1; }
.repair-workflow-modal-search { position: relative; }
.repair-workflow-modal-search .customer-search-results { top: calc(100% + 4px); width: min(560px, 100%); }
.repair-workflow-modal-search .customer-search-results button { display: grid; gap: 2px; width: 100%; padding: 9px 10px; border: 0; border-bottom: 1px solid var(--line); background: var(--panel); color: var(--ink) !important; text-align: left; }
.repair-workflow-modal-search .customer-search-results button:hover { background: color-mix(in srgb, var(--accent) 8%, var(--panel)); }
.repair-workflow-modal-search .customer-search-results small { color: var(--muted); }
.repair-workflow-new-form footer { position: sticky; z-index: 2; bottom: -14px; display: flex; grid-column: 1 / -1; justify-content: flex-end; gap: 8px; margin: 0 -14px -14px; padding: 12px 14px; border-top: 1px solid var(--line); background: color-mix(in srgb, var(--panel) 94%, var(--accent) 6%); box-shadow: 0 -8px 20px rgba(0,0,0,.12); }

@media screen and (max-width: 1280px) {
    .repair-workflow-shell { grid-template-columns: minmax(240px, 285px) minmax(450px, 1fr); }
    .repair-workflow-context { grid-column: 1 / -1; grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .repair-workflow-context > .panel { min-width: 0; }
}
@media screen and (max-width: 920px) {
    .repair-workflow-overview { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .repair-workflow-shell { grid-template-columns: minmax(0, 1fr); }
    .repair-workflow-list-panel { position: static; max-height: none; }
    .repair-workflow-ticket-list { grid-template-columns: repeat(2, minmax(0, 1fr)); max-height: 330px; }
    .repair-workflow-context { grid-template-columns: minmax(0, 1fr); }
    .repair-workflow-setting-grid { grid-template-columns: minmax(0, 1fr); }
    .repair-workflow-shell.has-no-selection .repair-workflow-main { grid-column: auto; }
}
@media screen and (max-width: 680px) {
    .repair-workflow-overview { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .repair-workflow-shell { width: calc(100% + 20px); margin-inline: -10px; gap: 8px; }
    .repair-workflow-shell > .panel,
    .repair-workflow-context > .panel { border-right: 0; border-left: 0; border-radius: 0; }
    .repair-workflow-ticket-list { grid-template-columns: minmax(0, 1fr); max-height: 390px; }
    .repair-workflow-ticket-head { align-items: flex-start; flex-direction: column; }
    .repair-workflow-head-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; }
    .repair-workflow-head-actions > * { width: 100%; justify-content: center; }
    .repair-workflow-status-row { grid-template-columns: minmax(0, 1fr); }
    .repair-workflow-status-row form { grid-template-columns: minmax(0, 1fr); }
    .repair-workflow-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .repair-workflow-stage-notes form,
    .repair-workflow-part-search,
    .repair-workflow-stage-note-list,
    .repair-workflow-part-results { grid-template-columns: minmax(0, 1fr); }
    .repair-workflow-stage-notes form button { min-height: 42px; }
    .repair-workflow-note-grid { grid-template-columns: minmax(0, 1fr); }
    .repair-workflow-note-grid article { min-height: 0; border-right: 0; border-bottom: 1px solid var(--line); }
    .repair-workflow-note-grid article:last-child { border-bottom: 0; }
    .repair-workflow-deposit-modal,
    .repair-workflow-stripe-modal,
    .repair-workflow-new-modal { align-items: end; padding: 0; backdrop-filter: blur(5px); }
    .repair-workflow-deposit-modal > .modal-card,
    .repair-workflow-stripe-modal > .modal-card,
    .repair-workflow-new-modal > .modal-card { width: 100%; max-height: 94vh; border-right: 0; border-bottom: 0; border-left: 0; border-radius: 10px 10px 0 0; }
    .repair-workflow-new-form,
    .repair-workflow-modal-fields,
    .repair-workflow-deposit-methods { grid-template-columns: minmax(0, 1fr); }
    .repair-workflow-new-form > section { grid-column: 1 / -1; }
    .repair-workflow-new-form footer { align-items: stretch; flex-direction: column; }
    .repair-workflow-new-form footer > * { width: 100%; }
    .theme-preset-catalog { grid-template-columns: minmax(0, 1fr); }
}

/* Shared readability and typography balance */
:is(button, a.button-link).neutral-button > .button-label,
:is(button, a.button-link).icon-button > .button-label,
:is(button, a.button-link).settings-subtab > .button-label {
    background-image: none !important;
    color: color-mix(in srgb, var(--neutral-button-text) 62%, var(--ink) 38%) !important;
    -webkit-text-fill-color: color-mix(in srgb, var(--neutral-button-text) 62%, var(--ink) 38%) !important;
    text-shadow: 0 1px 1px color-mix(in srgb, var(--panel) 50%, transparent), 0 0 1px color-mix(in srgb, var(--ink) 42%, transparent);
}
:is(button, a.button-link).button-link:not(.neutral-button):not(.danger-button):not(.hero-action-button) > .button-label {
    color: color-mix(in srgb, var(--secondary-button-text) 72%, var(--ink) 28%);
    -webkit-text-fill-color: color-mix(in srgb, var(--secondary-button-text) 72%, var(--ink) 28%);
}
.button-label strong {
    color: inherit !important;
    -webkit-text-fill-color: currentColor !important;
}
body { font-weight: 400; }
p, td, dd, input, select, textarea { font-weight: 400; }
label, legend, th { font-weight: 600; }
button, .button-link { font-weight: 600; }
small, .muted { font-weight: 400; }
strong { font-weight: 650; }
h1, h2, h3, h4, h5, h6 { font-weight: 700; }
.section-kicker { font-weight: 650; }

/* Settings management surfaces added in 1.2. */
.settings-section-narrow .cash-denomination-settings { grid-template-columns: 1fr; }
.settings-section-narrow .cash-denomination-row { grid-template-columns: minmax(130px, 1fr) minmax(110px, .55fr) auto; align-items: end; }
.settings-section-narrow .cash-denomination-remove { min-height: 40px; margin: 0; align-content: center; color: var(--danger); }
@media (max-width: 620px) { .settings-section-narrow .cash-denomination-row { grid-template-columns: 1fr 1fr; } .settings-section-narrow .cash-denomination-remove { grid-column: 1 / -1; } }

/* Original POS account card: mirrors the Repair Workflow customer context. */
.module-register .pos-sidebar-customer-card { display: grid; gap: 10px; overflow: visible; padding: 12px; border: 1px solid color-mix(in srgb, var(--accent) 38%, var(--line)); border-top: 4px solid var(--accent); border-radius: var(--radius-panel); background: var(--panel); color: var(--ink); }
.module-register .pos-sidebar-customer-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.module-register .pos-sidebar-customer-head h3, .module-register .pos-sidebar-customer-head .section-kicker { margin: 0; }
.module-register .pos-sidebar-customer-head h3 { display: flex; align-items: center; gap: 7px; font-size: .9rem; }
.module-register .pos-sidebar-customer-head h3 .ui-icon { width: 17px; height: 17px; color: var(--accent); }
.module-register .pos-sidebar-customer-head .customer-add-button { width: 34px; height: 34px; min-height: 34px; padding: 0; }
.module-register .pos-sidebar-customer-search { position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 7px; }
.module-register .pos-sidebar-customer-search > .ui-icon { position: absolute; z-index: 1; left: 10px; width: 16px; height: 16px; color: var(--muted); pointer-events: none; }
.module-register .pos-sidebar-customer-search > input { grid-column: 1 / -1; width: 100%; height: 39px; padding-left: 33px; background: var(--field); color: var(--ink); }
.module-register .pos-sidebar-customer-search .customer-search-results { top: calc(100% + 5px); right: 0; left: 0; width: 100%; max-width: none; color: var(--ink); }
.module-register .pos-sidebar-customer-preview { display: grid; gap: 10px; padding: 0; border: 0; background: transparent; }
.module-register .pos-customer-identity { display: grid; grid-template-columns: 50px minmax(0, 1fr); gap: 10px; align-items: start; }
.module-register .pos-customer-avatar { display: grid; width: 50px; height: 50px; place-items: center; overflow: hidden; border-radius: 50%; background: linear-gradient(145deg, var(--accent), var(--accent-dark)); color: var(--button-text); object-fit: cover; font-size: .78rem; font-weight: 800; }
.module-register .pos-customer-avatar .ui-icon { width: 22px; height: 22px; }
.module-register .pos-customer-identity > div { display: grid; gap: 2px; min-width: 0; }
.module-register .pos-customer-identity strong { font-size: .88rem; }
.module-register .pos-customer-identity small { color: var(--accent); font-size: .64rem; font-weight: 700; }
.module-register .pos-customer-identity a, .module-register .pos-customer-identity p { margin: 0; overflow: hidden; color: var(--muted); font-size: .68rem; text-decoration: none; text-overflow: ellipsis; white-space: nowrap; }
.module-register .pos-customer-identity a:hover { color: var(--accent); }
.module-register .pos-customer-account-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.module-register .pos-customer-account-stats > div { display: grid; gap: 2px; padding: 8px; border: 1px solid var(--line); border-radius: 6px; background: var(--field); }
.module-register .pos-customer-account-stats span { color: var(--muted); font-size: .6rem; font-weight: 700; }
.module-register .pos-customer-account-stats strong { color: var(--accent); font-size: .8rem; }
.module-register .pos-sidebar-customer-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.module-register .pos-sidebar-customer-actions > * { min-width: 0; min-height: 34px; height: 34px; padding: 5px 7px; font-size: .66rem; }
.module-register .pos-sidebar-customer-actions > [hidden] { display: none !important; }
@media (min-width: 981px) {
    .module-register .pos-pricing-sidebar .pos-sidebar-customer-card { border-color: rgba(255,255,255,.17); border-top-color: #67e8f9; background: rgba(255,255,255,.075); color: #f8fafc; box-shadow: inset 0 0 0 1px rgba(255,255,255,.025); }
    .module-register .pos-pricing-sidebar .pos-sidebar-customer-card .section-kicker, .module-register .pos-pricing-sidebar .pos-customer-identity small, .module-register .pos-pricing-sidebar .pos-customer-account-stats strong { color: #67e8f9; }
    .module-register .pos-pricing-sidebar .pos-sidebar-customer-search > input, .module-register .pos-pricing-sidebar .pos-customer-account-stats > div { border-color: rgba(255,255,255,.14); background: rgba(255,255,255,.08); color: #f8fafc; }
    .module-register .pos-pricing-sidebar .pos-customer-identity a, .module-register .pos-pricing-sidebar .pos-customer-identity p, .module-register .pos-pricing-sidebar .pos-customer-account-stats span { color: rgba(248,250,252,.7); }
}
@media (max-width: 520px) { .module-register .pos-sidebar-customer-actions { grid-template-columns: 1fr 1fr; } }

/* Keep the original POS context rail visually identical to Repair Workflow. */
.module-register .pos-pricing-sidebar { grid-column: auto; grid-template-columns: minmax(0, 1fr); gap: 10px; align-content: start; padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--ink); box-shadow: none; }
.module-register .pos-pricing-sidebar > .panel { min-width: 0; padding: 0; overflow: visible; background: var(--panel); color: var(--ink); box-shadow: var(--shadow); }
.module-register .pos-pricing-sidebar .pos-sidebar-customer-card { border: 1px solid var(--line); border-top: 4px solid var(--accent); background: var(--panel); color: var(--ink); box-shadow: var(--shadow); }
.module-register .pos-pricing-sidebar .pos-sidebar-payment-card { overflow: hidden; border-top: 4px solid var(--button-start, var(--accent)); }
.module-register .pos-pricing-sidebar .repair-workflow-panel-head { border-bottom-color: var(--line); background: color-mix(in srgb, var(--panel) 94%, var(--accent) 6%); }
.module-register .pos-pricing-sidebar .repair-workflow-panel-head h2 { color: var(--ink); }
.module-register .pos-pricing-sidebar .section-kicker { color: var(--muted); }
.module-register .pos-pricing-sidebar .pos-sidebar-customer-search { margin: 9px 12px 4px; }
.module-register .pos-pricing-sidebar .pos-sidebar-customer-search > input { border-color: var(--line); background: var(--field); color: var(--ink); }
.module-register .pos-pricing-sidebar .repair-workflow-customer { padding: 8px 12px 12px; }
.module-register .pos-pricing-sidebar .repair-workflow-customer small, .module-register .pos-pricing-sidebar .repair-workflow-mini-stats strong { color: var(--accent); }
.module-register .pos-pricing-sidebar .repair-workflow-customer a, .module-register .pos-pricing-sidebar .repair-workflow-customer p, .module-register .pos-pricing-sidebar .repair-workflow-mini-stats span { color: var(--muted); }
.module-register .pos-pricing-sidebar .repair-workflow-mini-stats > div { border-color: var(--line); background: var(--field); }
.module-register .pos-sidebar-customer-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 0 12px 12px; }
.module-register .pos-sidebar-customer-actions > * { grid-column: 1 / -1; width: 100%; min-height: 36px; height: auto; justify-content: center; }
.module-register .pos-sidebar-payment-card .pos-sidebar-totals { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; padding: 7px 12px; }
.module-register .pos-sidebar-payment-card .pos-sidebar-totals > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 7px 0; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: transparent; box-shadow: none; color: var(--muted); }
.module-register .pos-sidebar-payment-card .pos-sidebar-totals > div span { color: var(--muted); font-size: .68rem; font-weight: 700; text-transform: none; }
.module-register .pos-sidebar-payment-card .pos-sidebar-totals > div strong { color: var(--ink); font-size: .72rem; }
.module-register .pos-sidebar-payment-card .pos-sidebar-totals > div.is-total { margin-top: 4px; color: var(--ink); font-size: .76rem; font-weight: 800; }
.module-register .pos-sidebar-payment-card .pos-sidebar-totals > div.is-balance { margin: 7px 0 3px; padding: 11px 9px; border: 0; border-radius: 6px; background: linear-gradient(135deg, var(--accent), var(--accent-dark)); color: var(--button-text); }
.module-register .pos-sidebar-payment-card .pos-sidebar-totals > div.is-balance span, .module-register .pos-sidebar-payment-card .pos-sidebar-totals > div.is-balance strong { color: var(--button-text); }
.module-register .pos-sidebar-payment-card .pos-sidebar-totals > div.is-balance strong { font-size: 1.05rem; }
@media (min-width: 981px) { .module-register .pos-pricing-sidebar { position: sticky; top: 18px; height: max-content; max-height: none; overflow: visible; } }
@media (max-width: 980px) { .module-register .pos-pricing-sidebar { position: static; width: 100%; grid-template-columns: minmax(0, 1fr); } }

/* Original POS transaction workspace: Repair Workflow main-panel treatment. */
.module-register .pos-transaction-panel { padding: 0; overflow: hidden; background: var(--panel); }
.module-register .pos-transaction-panel form#checkoutForm { display: grid; gap: 0; }
.module-register .pos-workflow-head { margin: 0; }
.module-register .pos-workflow-head > div { min-width: 0; }
.module-register .pos-workflow-head .tag { align-self: center; border-color: color-mix(in srgb, var(--accent) 35%, var(--line)); background: color-mix(in srgb, var(--accent) 9%, var(--field)); color: var(--accent); }
.module-register .pos-workflow-steps.settings-tabs { position: sticky; z-index: 12; top: 0; display: flex; flex-wrap: wrap; gap: 8px; min-width: 0; margin: 10px 12px 0; padding: 9px; border: 1px solid var(--line); border-radius: 7px; background: color-mix(in srgb, var(--field) 88%, var(--panel)); box-shadow: 0 6px 14px color-mix(in srgb, var(--ink) 5%, transparent); }
.module-register .pos-workflow-steps .settings-tab { flex: 1 1 130px; min-width: 0; min-height: 38px; justify-content: flex-start; padding: 7px 10px; border: 1px solid transparent; background: transparent; color: var(--ink); box-shadow: none; }
.module-register .pos-workflow-steps .settings-tab .ui-icon { width: 17px; height: 17px; color: var(--muted); }
.module-register .pos-workflow-steps .settings-tab.active { border-color: var(--line); background: var(--panel); color: var(--accent); box-shadow: 0 3px 9px color-mix(in srgb, var(--ink) 7%, transparent); }
.module-register .pos-workflow-steps .settings-tab.active .ui-icon { color: var(--accent); }
.module-register .pos-form-section { display: grid; gap: 0; min-width: 0; margin: 10px 10px 0; padding: 0; overflow: visible; border: 1px solid var(--line); border-left: 1px solid var(--line); border-radius: 7px; background: var(--panel); box-shadow: none; scroll-margin-top: 76px; }
.module-register .pos-form-section:last-of-type { margin-bottom: 10px; }
.module-register .pos-form-section-heading { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 9px; align-items: center; min-width: 0; padding: 9px 11px; border-bottom: 1px solid var(--line); background: var(--field); }
.module-register .pos-form-section-heading > .ui-icon { display: grid; width: 32px; height: 32px; padding: 7px; border-radius: 6px; background: color-mix(in srgb, var(--accent) 12%, var(--panel)); color: var(--accent); }
.module-register .pos-form-section-heading h3 { color: var(--ink); font-size: .79rem; }
.module-register .pos-form-section-heading p { margin-top: 2px; font-size: .62rem; }
.module-register .pos-payment-section-heading { grid-template-columns: 34px minmax(0, 1fr) auto; }
.module-register .pos-payment-section-heading .button-link { min-height: 32px; padding: 6px 8px; font-size: .68rem; }
.module-register .pos-date-search-row { gap: 9px; margin: 0; padding: 11px; }
.module-register .pos-items-table-wrap { overflow-x: auto; border: 0; border-radius: 0; }
.module-register .pos-items-table-wrap .cart-table { border: 0; border-radius: 0; }
.module-register .pos-items-table-wrap .cart-table th { padding: 8px 10px; background: color-mix(in srgb, var(--field) 90%, var(--accent) 10%); font-size: .67rem; }
.module-register .pos-items-table-wrap .cart-table td { padding: 9px 10px; font-size: .7rem; }
.module-register .pos-receipt-followup-row { margin: 0; padding: 11px; }
.module-register .payment-panel .payment-method-buttons { padding: 11px 11px 8px; }
.module-register .payment-panel .payment-list { padding: 0 11px 11px; }
.module-register .pos-subscription-strip { grid-template-columns: minmax(220px, 1.1fr) 160px minmax(180px, 1fr); gap: 10px; align-items: end; padding: 0 11px 11px; }
.module-register .pos-subscription-strip > .pos-form-section-heading { grid-column: 1 / -1; margin: 0 -11px; }
.module-register .pos-page-footer { margin-top: 10px; border-top: 1px solid var(--line); background: color-mix(in srgb, var(--panel) 94%, var(--accent) 6%); }
@media (max-width: 760px) {
    .module-register .pos-workflow-head { align-items: flex-start; flex-direction: column; }
    .module-register .pos-workflow-steps.settings-tabs { position: static; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-inline: 8px; }
    .module-register .pos-workflow-steps .settings-tab { width: 100%; }
    .module-register .pos-form-section { margin-inline: 8px; }
    .module-register .pos-payment-section-heading { grid-template-columns: 34px minmax(0, 1fr); }
    .module-register .pos-payment-section-heading .button-link { grid-column: 1 / -1; width: 100%; justify-content: center; }
    .module-register .pos-subscription-strip { grid-template-columns: minmax(0, 1fr); }
    .module-register .pos-transaction-panel form#checkoutForm > .pos-sidebar-customer-card { display: grid; gap: 0; margin: 10px 8px 0; padding: 0; overflow: visible; border: 1px solid var(--line); border-top: 4px solid var(--accent); border-radius: 7px; background: var(--panel); color: var(--ink); box-shadow: none; scroll-margin-top: 76px; }
    .module-register .pos-transaction-panel .pos-sidebar-customer-card .repair-workflow-panel-head { border-bottom-color: var(--line); background: color-mix(in srgb, var(--panel) 94%, var(--accent) 6%); }
    .module-register .pos-transaction-panel .pos-sidebar-customer-card .repair-workflow-panel-head h2 { color: var(--ink); }
    .module-register .pos-transaction-panel .pos-sidebar-customer-card .pos-sidebar-customer-search { margin: 9px 12px 4px; }
    .module-register .pos-transaction-panel .pos-sidebar-customer-card .pos-sidebar-customer-search > input { border-color: var(--line); background: var(--field); color: var(--ink); }
    .module-register .pos-transaction-panel .pos-sidebar-customer-card .repair-workflow-customer { padding: 8px 12px 12px; }
    .module-register .pos-transaction-panel .pos-sidebar-customer-card .pos-sidebar-customer-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 0 12px 12px; }
    .module-register .pos-transaction-panel .pos-sidebar-customer-card .pos-sidebar-customer-actions > * { grid-column: 1 / -1; width: 100%; min-height: 36px; height: auto; justify-content: center; }
    .module-register .pos-transaction-panel .pos-sidebar-customer-card .customer-search-results { z-index: 80; width: 100%; max-width: none; }
}

/* POS workspace card rhythm and mobile customer picker. */
.module-register .pos-transaction-panel form#checkoutForm { background: color-mix(in srgb, var(--page-bg) 72%, var(--panel)); }
.module-register .pos-form-section {
    margin: 14px 14px 0;
    border-color: color-mix(in srgb, var(--line) 82%, var(--accent) 18%);
    box-shadow: 0 5px 16px color-mix(in srgb, var(--ink) 7%, transparent);
}
.module-register .pos-form-section:last-of-type { margin-bottom: 14px; }
.module-register .pos-workflow-steps.settings-tabs { margin: 14px 14px 0; }
.module-register .pos-sidebar-customer-card .repair-workflow-panel-head > div { min-width: 0; }
.module-register .pos-sidebar-customer-card .repair-workflow-panel-head > .customer-add-button {
    width: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    flex: 0 0 34px;
    padding: 0 !important;
}
@media (max-width: 760px) {
    .module-register .pos-workflow-steps.settings-tabs { margin: 10px 10px 0; }
    .module-register .pos-form-section { margin: 10px 10px 0; border-radius: 7px; }
    .module-register .pos-form-section:last-of-type { margin-bottom: 10px; }
    .module-register .pos-transaction-panel form#checkoutForm > .pos-sidebar-customer-card { margin: 10px 10px 0; }
    .module-register .pos-transaction-panel .pos-sidebar-customer-card .pos-sidebar-customer-search { grid-template-columns: minmax(0, 1fr); }
    .module-register .pos-transaction-panel .pos-sidebar-customer-card .customer-search-results {
        position: static;
        grid-column: 1 / -1;
        width: 100%;
        max-width: none;
        max-height: min(44dvh, 320px);
        margin-top: 4px;
        overflow-y: auto;
        border: 1px solid var(--line);
        box-shadow: 0 10px 24px color-mix(in srgb, var(--ink) 16%, transparent);
    }
}

/* Repair stages must stay inside narrow mobile viewports. */
@media (max-width: 680px) {
    .module-repairs .repair-workflow-steps.settings-tabs {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: auto;
        max-width: calc(100% - 20px);
        margin: 10px;
        padding: 7px;
        overflow: visible;
    }
    .module-repairs .repair-workflow-steps .repair-workflow-step {
        width: 100%;
        min-width: 0;
        max-width: 100%;
        padding-inline: 8px;
    }
    .module-repairs .repair-workflow-steps .repair-workflow-step small {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
}

/* Mobile audit and invoice cards intentionally replace scrolling desktop tables. */
@media screen and (max-width: 760px) {
    .invoice-table-wrap,
    .audit-ledger-wrap {
        max-width: 100%;
        overflow: visible;
        scrollbar-width: none;
    }
    .invoice-table-wrap::-webkit-scrollbar,
    .audit-ledger-wrap::-webkit-scrollbar { display: none; }
}

/* Invoice directory cards and shared invoice/repair document workspace. */
.invoice-list-panel { overflow: visible; }
.invoice-table-wrap { padding: 14px; overflow: visible; }
.invoice-list-table,
.invoice-list-table tbody { display: block; width: 100%; min-width: 0; }
.invoice-list-table thead { display: none; }
.invoice-list-table tbody { display: grid; gap: 10px; }
.invoice-list-table tbody tr {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: .9fr 1.25fr .7fr .75fr .75fr .78fr 132px;
    align-items: center;
    padding: 11px 12px;
    border: 1px solid color-mix(in srgb, var(--accent) 24%, var(--line));
    border-left: 4px solid var(--accent);
    border-radius: 7px;
    background: var(--panel);
    box-shadow: 0 5px 16px color-mix(in srgb, var(--ink) 7%, transparent);
    transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}
.invoice-list-table tbody tr:hover { z-index: 3; border-color: color-mix(in srgb, var(--accent) 52%, var(--line)); background: var(--panel); transform: translateY(-1px); }
.invoice-list-table tbody tr:has(.invoice-mobile-actions[open]) { z-index: 20; }
.invoice-list-table tbody tr[hidden] { display: none !important; }
.invoice-list-table td {
    display: grid;
    align-content: center;
    gap: 4px;
    min-width: 0;
    padding: 4px 10px;
    border: 0;
    border-left: 1px solid color-mix(in srgb, var(--line) 76%, transparent);
    overflow-wrap: anywhere;
}
.invoice-list-table td:first-child { border-left: 0; }
.invoice-list-table td::before {
    content: attr(data-label);
    color: var(--muted);
    font-size: .58rem;
    font-weight: 850;
    letter-spacing: .045em;
    text-transform: uppercase;
}
.invoice-list-table td[data-label="Invoice"] strong { color: var(--accent); font-size: .92rem; }
.invoice-list-table td[data-label="Total"] strong { font-size: .98rem; }
.invoice-list-table .invoice-actions-cell { overflow: visible; }
.invoice-list-table .invoice-actions-cell::before { display: none; }
.invoice-row-actions { display: none; }
.invoice-mobile-actions { position: relative; display: block; width: 100%; margin: 0; }
.invoice-mobile-actions > summary,
.document-action-menu > summary {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
    min-height: 40px;
    padding: 8px 10px;
    border: 1px solid color-mix(in srgb, var(--accent) 42%, var(--line));
    border-radius: 6px;
    background: linear-gradient(125deg, color-mix(in srgb, var(--accent) 13%, var(--field)), var(--field));
    color: var(--ink);
    font-size: .74rem;
    font-weight: 850;
    cursor: pointer;
    list-style: none;
}
.invoice-mobile-actions > summary::-webkit-details-marker,
.document-action-menu > summary::-webkit-details-marker { display: none; }
.invoice-mobile-actions[open] > summary,
.document-action-menu[open] > summary { border-color: var(--accent); background: color-mix(in srgb, var(--accent) 18%, var(--field)); }
.invoice-mobile-actions[open] > summary .ui-icon-chevron-down,
.document-action-menu[open] > summary .ui-icon-chevron-down { transform: rotate(180deg); }
.invoice-mobile-action-menu,
.document-action-dropdown {
    position: absolute;
    z-index: 120;
    top: calc(100% + 6px);
    right: 0;
    display: grid;
    gap: 4px;
    width: 220px;
    padding: 7px;
    border: 1px solid color-mix(in srgb, var(--accent) 25%, var(--line));
    border-radius: 7px;
    background: var(--panel);
    box-shadow: 0 18px 42px rgba(0, 0, 0, .2);
}
.invoice-mobile-action-menu a,
.invoice-mobile-action-menu button,
.document-action-dropdown a,
.document-action-dropdown button {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    width: 100%;
    min-height: 40px;
    padding: 8px 10px;
    border: 0;
    border-radius: 5px;
    background: transparent;
    color: var(--ink);
    font-size: .76rem;
    font-weight: 700;
    text-align: left;
    text-decoration: none;
    box-shadow: none;
}
.invoice-mobile-action-menu a:hover,
.invoice-mobile-action-menu button:hover,
.document-action-dropdown a:hover,
.document-action-dropdown button:hover { background: color-mix(in srgb, var(--accent) 10%, var(--field)); color: var(--accent); }
.invoice-mobile-action-menu form,
.document-action-dropdown form { display: grid; gap: 4px; margin: 0; }
.invoice-mobile-action-menu .danger-button,
.document-action-dropdown .document-danger-action { color: var(--danger); }

.invoice-document-workspace { display: grid; gap: 14px; width: min(1120px, 100%); margin: 0 auto; }
.document-page-toolbar {
    position: relative;
    z-index: 70;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 0;
    padding: 10px;
    border: 1px solid color-mix(in srgb, var(--accent) 24%, var(--line));
    border-radius: 7px;
    background: color-mix(in srgb, var(--panel) 94%, var(--accent) 6%);
    box-shadow: 0 7px 20px color-mix(in srgb, var(--ink) 8%, transparent);
}
.document-nav-actions { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; }
.document-nav-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 38px;
    padding: 7px 10px;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: var(--field);
    color: var(--ink);
    font-size: .74rem;
    font-weight: 780;
    text-decoration: none;
}
.document-nav-link:hover { border-color: color-mix(in srgb, var(--accent) 44%, var(--line)); color: var(--accent); }
.document-nav-link .ui-icon { width: 15px; height: 15px; color: var(--accent); }
.document-action-menu { position: relative; width: 176px; margin: 0; }
.document-action-dropdown { width: 242px; }
.document-action-divider { margin: 3px -1px 1px; padding: 7px 9px 4px; border-top: 1px solid var(--line); color: var(--muted); font-size: .58rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }

.invoice-document-workspace .invoice-delivery-panel { margin: 0; box-shadow: 0 7px 20px color-mix(in srgb, var(--ink) 7%, transparent); }
.invoice-document-workspace .invoice-document {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: clamp(24px, 4vw, 46px);
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--accent) 25%, var(--line));
    border-top: 5px solid var(--accent);
    border-radius: 7px;
    background: var(--panel);
    box-shadow: 0 18px 50px color-mix(in srgb, var(--ink) 13%, transparent);
}
.invoice-document-workspace .invoice-document-header { margin: calc(clamp(24px, 4vw, 46px) * -1) calc(clamp(24px, 4vw, 46px) * -1) 22px; padding: 24px clamp(24px, 4vw, 46px); border-bottom: 1px solid color-mix(in srgb, var(--accent) 30%, var(--line)); background: linear-gradient(120deg, color-mix(in srgb, var(--accent) 13%, var(--field)), var(--panel)); }
.invoice-document-workspace .invoice-document-meta h1 { margin-bottom: 6px; font-size: 1.7rem; }
.invoice-document-workspace .invoice-bill-grid { gap: 14px; margin-bottom: 20px; }
.invoice-document-workspace .invoice-bill-grid > section { padding: 16px; border: 1px solid var(--line); border-radius: 7px; background: var(--field); }
.invoice-document-workspace .receipt-items { overflow: hidden; border: 1px solid var(--line); border-radius: 7px; }
.invoice-document-workspace .receipt-items th { background: color-mix(in srgb, var(--accent) 10%, var(--field)); color: var(--ink); }
.invoice-document-workspace .invoice-total-block { width: min(100%, 390px); margin: 22px 0 0 auto; padding: 15px; border: 1px solid color-mix(in srgb, var(--accent) 32%, var(--line)); border-radius: 7px; background: color-mix(in srgb, var(--accent) 7%, var(--field)); }

.document-workspace-body { background: color-mix(in srgb, var(--page-bg, var(--bg)) 88%, var(--accent) 12%); font-family: var(--font-family, ui-sans-serif, system-ui, sans-serif); }
.document-workspace-body .repair-ticket-page { width: min(1120px, 100%); }
.document-workspace-body .repair-ticket-actions { margin: 0 0 14px; }
.document-workspace-body .repair-ticket-paper {
    width: min(980px, 100%);
    margin: 0 auto;
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--accent) 25%, var(--line));
    border-top: 5px solid var(--accent);
    border-radius: 7px;
    background: var(--panel);
    box-shadow: 0 18px 50px color-mix(in srgb, var(--ink) 13%, transparent);
}
.document-workspace-body .repair-ticket-header { margin: calc(clamp(22px, 4vw, 44px) * -1) calc(clamp(22px, 4vw, 44px) * -1) 0; padding: 24px clamp(22px, 4vw, 44px); border-bottom: 1px solid color-mix(in srgb, var(--accent) 30%, var(--line)); background: linear-gradient(120deg, color-mix(in srgb, var(--accent) 13%, var(--field)), var(--panel)); }
.document-workspace-body .repair-public-status { margin: 0 calc(clamp(22px, 4vw, 44px) * -1) 22px; padding: 13px clamp(22px, 4vw, 44px); border-width: 0 0 1px; border-radius: 0; }
.document-workspace-body .repair-ticket-grid > section,
.document-workspace-body .repair-ticket-section { border-radius: 7px; background: var(--field); }
.document-workspace-body .repair-ticket-totals { padding: 14px; border: 1px solid color-mix(in srgb, var(--accent) 30%, var(--line)); border-radius: 7px; background: color-mix(in srgb, var(--accent) 6%, var(--field)); }
.document-workspace-body .repair-ticket-totals div { padding: 10px; background: var(--panel); }
.document-workspace-body .repair-ticket-totals div:last-child { border-color: color-mix(in srgb, var(--accent) 52%, var(--line)); background: color-mix(in srgb, var(--accent) 12%, var(--panel)); }

@media screen and (max-width: 980px) {
    .invoice-list-table tbody tr { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .invoice-list-table td { min-height: 58px; border-top: 1px solid var(--line); border-left: 0; }
    .invoice-list-table td[data-label="Invoice"],
    .invoice-list-table td[data-label="Customer"],
    .invoice-list-table td[data-label="Status"],
    .invoice-list-table td[data-label="Total"] { border-top: 0; }
    .invoice-list-table td[data-label="Customer"] { grid-column: span 2; }
    .invoice-list-table .invoice-actions-cell { grid-column: 4; grid-row: 2; }
}

@media screen and (max-width: 760px) {
    .invoice-table-wrap { padding: 10px; }
    .invoice-list-table tbody tr { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 13px; border-top: 4px solid var(--accent); border-left-width: 1px; }
    .invoice-list-table td { min-height: 0; padding: 9px 7px; border-top: 1px solid var(--line); border-left: 0; }
    .invoice-list-table td[data-label="Invoice"],
    .invoice-list-table td[data-label="Status"] { border-top: 0; }
    .invoice-list-table td[data-label="Customer"],
    .invoice-list-table td[data-label="Total"],
    .invoice-list-table .invoice-actions-cell { grid-column: 1 / -1; }
    .invoice-list-table td[data-label="Status"] { justify-items: end; }
    .invoice-list-table .invoice-actions-cell { grid-row: auto; }
    .invoice-mobile-action-menu,
    .document-action-dropdown { position: static; width: 100%; margin-top: 6px; box-shadow: none; }
    .document-page-toolbar { align-items: stretch; flex-direction: column; }
    .document-nav-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .document-nav-link { justify-content: center; min-width: 0; padding-inline: 7px; text-align: center; }
    .document-action-menu { width: 100%; }
    .invoice-document-workspace .invoice-document { padding: 18px 14px; }
    .invoice-document-workspace .invoice-document-header { margin: -18px -14px 18px; padding: 18px 14px; }
    .invoice-document-workspace .invoice-bill-grid { grid-template-columns: 1fr; }
    .invoice-document-workspace .invoice-total-block { width: 100%; }
    .document-workspace-body .repair-ticket-paper { padding: 18px 14px; }
    .document-workspace-body .repair-ticket-header { margin: -18px -14px 0; padding: 18px 14px; }
    .document-workspace-body .repair-public-status { margin: 0 -14px 18px; padding-inline: 14px; }
}

@media print {
    .invoice-document-workspace { display: block; width: 100%; }
    .invoice-document-workspace .invoice-document,
    .document-workspace-body .repair-ticket-paper { width: 100%; max-width: none; border: 0; border-radius: 0; box-shadow: none; }
    .document-workspace-body { padding: 0; background: #fff; }
}

/* Compact release ledger and product directory cards. */
.update-history-wrap { padding: 12px; overflow: visible; }
.update-history-table,
.update-history-table tbody { display: block; width: 100%; min-width: 0; }
.update-history-table thead { display: none; }
.update-history-table tbody { display: grid; gap: 8px; }
.update-history-table tbody tr {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    padding: 10px 12px;
    border: 1px solid color-mix(in srgb, var(--accent) 22%, var(--line));
    border-left: 4px solid var(--accent);
    border-radius: 7px;
    background: var(--panel);
    box-shadow: 0 4px 14px color-mix(in srgb, var(--ink) 6%, transparent);
}
.update-history-table td {
    display: grid;
    align-content: start;
    gap: 3px;
    min-width: 0;
    padding: 5px 9px;
    border: 0;
    border-left: 1px solid color-mix(in srgb, var(--line) 74%, transparent);
    color: var(--ink);
    font-size: .72rem;
    overflow-wrap: anywhere;
}
.update-history-table td::before {
    content: attr(data-label);
    color: var(--muted);
    font-size: .55rem;
    font-weight: 850;
    letter-spacing: .045em;
    text-transform: uppercase;
}
.update-history-table td[data-label="Installed"] { grid-column: span 2; border-left: 0; }
.update-history-table td[data-label="Release"] { grid-column: span 2; }
.update-history-table .update-recap { grid-column: span 8; padding: 5px 10px; background: transparent; }
.update-history-table td[data-label="Package"] { grid-column: span 3; border-left: 0; border-top: 1px solid var(--line); }
.update-history-table td[data-label="Fingerprint"] { grid-column: span 2; border-top: 1px solid var(--line); }
.update-history-table td[data-label="Installed by"] { grid-column: span 2; border-top: 1px solid var(--line); }
.update-history-table td[data-label="Files"] { grid-column: span 1; border-top: 1px solid var(--line); }
.update-history-table td[data-label="Backup"] { grid-column: span 4; border-top: 1px solid var(--line); }
.update-history-table .update-recap > strong { color: var(--ink); font-size: .78rem; }
.update-history-table .update-recap ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px 18px; margin: 4px 0 0; padding-left: 16px; color: var(--muted); font-size: .66rem; line-height: 1.35; }
.update-history-table code { font-size: .66rem; white-space: normal; }
.update-history-table td[colspan] { display: block; grid-column: 1 / -1; border: 0; }
.update-history-table td[colspan]::before { display: none; }

.product-directory-panel { overflow: visible; }
.product-directory-table-wrap { padding: 12px; overflow: visible; }
.product-directory-table,
.product-directory-table tbody { display: block; width: 100%; min-width: 0; }
.product-directory-table thead { display: none; }
.product-directory-table tbody { display: grid; gap: 9px; }
.product-directory-table tbody tr {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1.7fr 1fr .72fr .65fr .65fr .62fr .68fr 156px;
    align-items: center;
    padding: 10px 11px;
    border: 1px solid color-mix(in srgb, var(--accent) 22%, var(--line));
    border-left: 4px solid var(--accent);
    border-radius: 7px;
    background: var(--panel);
    box-shadow: 0 5px 16px color-mix(in srgb, var(--ink) 6%, transparent);
}
.product-directory-table tbody tr:hover { z-index: 3; border-color: color-mix(in srgb, var(--accent) 48%, var(--line)); }
.product-directory-table tbody tr:has(.product-row-actions[open]) { z-index: 25; }
.product-directory-table tbody tr[hidden] { display: none !important; }
.product-directory-table td {
    display: grid;
    align-content: center;
    gap: 3px;
    min-width: 0;
    padding: 4px 9px;
    border: 0;
    border-left: 1px solid color-mix(in srgb, var(--line) 74%, transparent);
    font-size: .72rem;
    overflow-wrap: anywhere;
    align-self: stretch;
}
.product-directory-table td:first-child { border-left: 0; }
.product-directory-table td::before {
    content: attr(data-label);
    color: var(--muted);
    font-size: .55rem;
    font-weight: 850;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.product-directory-table td > small { display: block; margin-top: 1px; color: var(--muted); font-size: .64rem; }
.product-directory-identity { grid-template-columns: 44px minmax(0, 1fr); min-width: 0; }
.product-directory-identity > img,
.product-directory-identity > span { width: 44px; height: 44px; }
.product-directory-table .product-actions-cell { overflow: visible; }
.product-directory-table .product-actions-cell::before { display: none; }
.product-row-actions { position: relative; display: block; width: 100%; margin: 0; }
.product-row-actions > summary {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 7px;
    min-height: 38px;
    padding: 7px 9px;
    border: 1px solid color-mix(in srgb, var(--accent) 40%, var(--line));
    border-radius: 6px;
    background: color-mix(in srgb, var(--accent) 9%, var(--field));
    color: var(--ink);
    font-size: .7rem;
    font-weight: 850;
    cursor: pointer;
    list-style: none;
    min-width: 145px;
    white-space: nowrap;
}
.product-row-actions > summary::-webkit-details-marker { display: none; }
.product-row-actions[open] > summary { border-color: var(--accent); background: color-mix(in srgb, var(--accent) 16%, var(--field)); }
.product-row-actions[open] > summary .ui-icon-chevron-down { transform: rotate(180deg); }
.product-row-action-menu {
    position: absolute;
    z-index: 130;
    top: calc(100% + 6px);
    right: 0;
    display: grid;
    gap: 4px;
    width: 210px;
    padding: 7px;
    border: 1px solid color-mix(in srgb, var(--accent) 25%, var(--line));
    border-radius: 7px;
    background: var(--panel);
    box-shadow: 0 18px 42px rgba(0, 0, 0, .2);
}
.product-row-action-menu a,
.product-row-action-menu button { display: flex; align-items: center; justify-content: flex-start; gap: 9px; width: 100%; min-height: 40px; padding: 8px 10px; border: 0; border-radius: 5px; background: transparent; color: var(--ink); font-size: .74rem; font-weight: 700; text-align: left; text-decoration: none; box-shadow: none; }
.product-row-action-menu a:hover,
.product-row-action-menu button:hover { background: color-mix(in srgb, var(--accent) 10%, var(--field)); color: var(--accent); }
.product-row-action-menu form { margin: 0; }
.product-row-action-menu .danger-button { color: var(--danger); }

/* Payment icons own fixed grid cells and are isolated from global icon wrappers. */
.module-register .pos-payment-workspace .payment-method-button {
    grid-template-columns: 34px minmax(0, 1fr) 12px;
    gap: 8px;
    overflow: hidden;
}
.module-register .pos-payment-workspace .pos-payment-icon {
    display: grid;
    width: 34px;
    min-width: 34px;
    max-width: 34px;
    height: 34px;
    min-height: 34px;
    max-height: 34px;
    padding: 0;
    overflow: hidden;
    box-sizing: border-box;
}
.module-register .pos-payment-workspace .payment-method-button .pos-payment-icon > .ui-icon {
    display: block;
    width: 17px !important;
    min-width: 17px;
    height: 17px !important;
    min-height: 17px;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
.module-register .pos-payment-workspace .payment-method-button > .ui-icon:last-child {
    display: block;
    width: 12px !important;
    min-width: 12px;
    height: 12px !important;
    min-height: 12px;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    filter: none;
}

@media screen and (max-width: 1400px) {
    .product-directory-table tbody tr { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .product-directory-table td { min-height: 56px; border-top: 1px solid var(--line); border-left: 0; }
    .product-directory-table td[data-label="Product"] { grid-column: span 2; border-top: 0; }
    .product-directory-table td[data-label="SKU / Barcode"],
    .product-directory-table td[data-label="Status"] { border-top: 0; }
    .product-directory-table td[data-label="Stock"] { align-content: center; justify-items: start; }
    .product-directory-table .product-actions-cell { grid-column: 1 / -1; grid-row: auto; justify-items: end; }
    .product-directory-table .product-actions-cell .product-row-actions { width: 172px; }
}

@media screen and (max-width: 760px) {
    .update-history-wrap { padding: 10px; }
    .update-history-table tbody tr { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 11px; border-top: 4px solid var(--accent); border-left-width: 1px; }
    .update-history-table td,
    .update-history-table td[data-label] { grid-column: span 1; padding: 8px 7px; border: 0; border-top: 1px solid var(--line); }
    .update-history-table td[data-label="Installed"],
    .update-history-table td[data-label="Release"] { border-top: 0; }
    .update-history-table .update-recap,
    .update-history-table td[data-label="Package"],
    .update-history-table td[data-label="Backup"] { grid-column: 1 / -1; }
    .update-history-table .update-recap { padding: 9px 7px; background: color-mix(in srgb, var(--accent) 7%, var(--field)); }
    .update-history-table .update-recap ul { grid-template-columns: minmax(0, 1fr); }
    .product-directory-table-wrap { padding: 10px; }
    .product-directory-table tbody tr { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 12px; border-top: 4px solid var(--accent); border-left-width: 1px; }
    .product-directory-table td { min-height: 0; padding: 8px 7px; border-top: 1px solid var(--line); border-left: 0; }
    .product-directory-table td[data-label="Product"] { grid-column: 1 / -1; border-top: 0; }
    .product-directory-table td[data-label="SKU / Barcode"] { border-top: 1px solid var(--line); }
    .product-directory-table td[data-label="Status"] { border-top: 1px solid var(--line); }
    .product-directory-table .product-actions-cell { grid-column: 1 / -1; grid-row: auto; }
    .product-directory-table .product-actions-cell .product-row-actions { width: 100%; }
    .product-row-actions > summary { min-width: 0; }
    .product-row-action-menu { position: static; width: 100%; margin-top: 6px; box-shadow: none; }
    .module-register .pos-payment-workspace .payment-method-button { min-height: 56px; padding: 8px; }
}

/* Compact customer and business directory cards. */
.customer-directory-panel,
.customer-directory-table-wrap { overflow: visible; }
.customer-directory-table-wrap { padding: 10px 12px 14px; }
.customer-directory-table,
.customer-directory-table tbody { display: block; width: 100%; min-width: 0; }
.customer-directory-table thead { display: none; }
.customer-directory-table tbody { display: grid; gap: 8px; }
.customer-directory-table tbody tr {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1.45fr .62fr 1.2fr .75fr .65fr .75fr .72fr 152px;
    align-items: center;
    padding: 8px 10px;
    border: 1px solid color-mix(in srgb, var(--accent) 20%, var(--line));
    border-left: 4px solid var(--accent);
    border-radius: 7px;
    background: var(--panel);
    box-shadow: 0 4px 14px color-mix(in srgb, var(--ink) 5%, transparent);
}
.customer-directory-table tbody tr:hover { z-index: 3; border-color: color-mix(in srgb, var(--accent) 45%, var(--line)); }
.customer-directory-table tbody tr:has(.customer-row-actions[open]) { z-index: 25; }
.customer-directory-table td {
    display: grid;
    align-self: stretch;
    align-content: center;
    gap: 2px;
    min-width: 0;
    padding: 4px 8px;
    border: 0;
    border-left: 1px solid color-mix(in srgb, var(--line) 74%, transparent);
    font-size: .72rem;
    overflow-wrap: anywhere;
}
.customer-directory-table td:first-child { border-left: 0; }
.customer-directory-table td::before {
    content: attr(data-label);
    color: var(--muted);
    font-size: .54rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.customer-directory-table td > small { display: block; color: var(--muted); font-size: .63rem; }
.customer-directory-identity { grid-template-columns: 34px minmax(0, 1fr); min-width: 0; gap: 8px; }
.customer-directory-identity > span { width: 34px; height: 34px; }
.customer-directory-identity strong { font-size: .76rem; }
.customer-directory-identity small { font-size: .62rem; }
.customer-directory-table .customer-actions-cell { overflow: visible; }
.customer-directory-table .customer-actions-cell::before { display: none; }
.customer-row-actions { position: relative; display: block; width: 100%; }
.customer-row-actions > summary {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 7px;
    min-width: 142px;
    min-height: 38px;
    padding: 7px 10px;
    border: 1px solid color-mix(in srgb, var(--accent) 40%, var(--line));
    border-radius: 6px;
    background: color-mix(in srgb, var(--accent) 9%, var(--field));
    color: var(--ink);
    font-size: .72rem;
    font-weight: 800;
    white-space: nowrap;
    cursor: pointer;
    list-style: none;
}
.customer-row-actions > summary::-webkit-details-marker { display: none; }
.customer-row-actions[open] > summary { border-color: var(--accent); background: color-mix(in srgb, var(--accent) 16%, var(--field)); }
.customer-row-actions[open] > summary .ui-icon-chevron-down { transform: rotate(180deg); }
.customer-row-action-menu {
    position: absolute;
    z-index: 130;
    top: calc(100% + 6px);
    right: 0;
    display: grid;
    gap: 4px;
    width: 205px;
    padding: 7px;
    border: 1px solid color-mix(in srgb, var(--accent) 25%, var(--line));
    border-radius: 7px;
    background: var(--panel);
    box-shadow: 0 18px 42px rgba(0, 0, 0, .2);
}
.customer-row-action-menu a,
.customer-row-action-menu button { display: flex; align-items: center; justify-content: flex-start; gap: 9px; width: 100%; min-height: 40px; padding: 8px 10px; border: 0; border-radius: 5px; background: transparent; color: var(--ink); font-size: .74rem; font-weight: 700; text-align: left; text-decoration: none; box-shadow: none; }
.customer-row-action-menu a:hover,
.customer-row-action-menu button:hover { background: color-mix(in srgb, var(--accent) 10%, var(--field)); color: var(--accent); }
.customer-row-action-menu .danger-button { color: var(--danger); }

@media screen and (max-width: 1400px) {
    .customer-directory-table tbody tr { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .customer-directory-table td { min-height: 52px; border-top: 1px solid var(--line); border-left: 0; }
    .customer-directory-table td[data-label="Customer"] { grid-column: span 2; border-top: 0; }
    .customer-directory-table td[data-label="Type"] { border-top: 0; }
    .customer-directory-table .customer-actions-cell { grid-column: 4; grid-row: 1; border-top: 0; }
    .customer-directory-table td[data-label="Contact"] { grid-column: span 2; }
    .customer-directory-table td[data-label="Discount"],
    .customer-directory-table td[data-label="Last activity"] { grid-column: span 2; }
}

@media screen and (max-width: 760px) {
    .update-history-table tbody tr > td.update-recap {
        display: block;
        grid-column: 1 / -1 !important;
        width: 100%;
        min-width: 0;
        max-width: none;
        box-sizing: border-box;
    }
    .update-history-table .update-recap > strong,
    .update-history-table .update-recap ul { width: 100%; max-width: none; }
    .repair-workflow-shell {
        width: 100%;
        max-width: 100%;
        margin-inline: 0;
        gap: 10px;
        box-sizing: border-box;
    }
    .repair-workflow-shell > .panel,
    .repair-workflow-context,
    .repair-workflow-context > .panel {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        margin-inline: 0;
        box-sizing: border-box;
    }
    .repair-workflow-shell > .panel,
    .repair-workflow-context > .panel { border: 1px solid var(--line); border-radius: 7px; }
    .customer-directory-table-wrap { padding: 10px; }
    .customer-directory-table tbody tr { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 10px; border-top: 4px solid var(--accent); border-left-width: 1px; }
    .customer-directory-table td { min-height: 0; padding: 7px; border-top: 1px solid var(--line); border-left: 0; }
    .customer-directory-table td[data-label="Customer"],
    .customer-directory-table td[data-label="Contact"] { grid-column: 1 / -1; }
    .customer-directory-table td[data-label="Customer"] { border-top: 0; }
    .customer-directory-table td[data-label="Discount"],
    .customer-directory-table td[data-label="Last activity"] { grid-column: span 1; }
    .customer-directory-table .customer-actions-cell { grid-column: 1 / -1; grid-row: auto; border-top: 1px solid var(--line); }
    .customer-row-actions > summary { min-width: 0; }
    .customer-row-action-menu { position: static; width: 100%; margin-top: 6px; box-shadow: none; }
}

/* Final cascade guard for the 1.2.13 responsive workspaces. */
.users-table-wrap { overflow: visible; }
.users-table,.users-table tbody { display:block; width:100%; min-width:0; }
.users-table thead { display:none; }
.users-table tbody { display:grid; gap:8px; }
.report-table-wrap { overflow:visible; }
.report-table-wrap table { font-size:.72rem; }
.report-table-wrap th,.report-table-wrap td { padding:8px 9px; }
.marketing-stat-grid { gap:8px; margin:0 0 10px; }
.marketing-stat { min-height:84px; padding:12px 14px; border:1px solid var(--line); border-top:3px solid var(--accent); border-radius:7px; background:var(--panel); }
.marketing-stat small { display:block; color:var(--muted); font-size:.64rem; }

@media screen and (max-width:1100px) {
    .users-table tbody tr { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .users-table td[data-label="User"] { grid-column:span 2; border-left:0; }
    .users-table .user-actions-cell { grid-column:3; grid-row:1; }
}

@media screen and (max-width:760px) {
    .users-table-wrap,.report-table-wrap { max-width:100%; overflow:visible; }
    .users-table tbody tr { grid-template-columns:repeat(2,minmax(0,1fr)); padding:10px; border-top:4px solid var(--accent); border-left-width:1px; }
    .users-table td { padding:7px; border-top:1px solid var(--line); border-left:0; }
    .users-table td[data-label="User"],.users-table td[data-label="Contact"],.users-table .user-actions-cell { grid-column:1/-1; grid-row:auto; }
    .users-table td[data-label="User"] { border-top:0; }
    .report-table-wrap table,.report-table-wrap tbody { display:block; width:100%; min-width:0; }
    .report-table-wrap thead { display:none; }
    .report-table-wrap tbody { display:grid; gap:8px; }
    .report-table-wrap tbody tr { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); padding:9px; border:1px solid var(--line); border-top:4px solid var(--accent); border-radius:7px; background:var(--panel); }
    .report-table-wrap tbody td { display:grid; gap:2px; min-width:0; padding:7px; border:0; border-top:1px solid var(--line); font-size:.7rem; overflow-wrap:anywhere; }
    .report-table-wrap tbody td::before { content:attr(data-label); color:var(--muted); font-size:.52rem; font-weight:800; text-transform:uppercase; }
    .report-table-wrap tbody td:first-child { grid-column:1/-1; border-top:0; }
    .report-table-wrap td[colspan] { grid-column:1/-1; }
}

/* 1.2.14 receipt workspace and guaranteed action contrast. */
.receipt-document-workspace { display:grid; gap:14px; width:min(1120px,100%); margin:0 auto; }
.receipt-document-workspace .receipt-delivery-panel { margin:0; padding:14px 16px; border:1px solid var(--line); border-left:4px solid var(--accent); border-radius:7px; background:var(--panel); box-shadow:0 7px 20px color-mix(in srgb,var(--ink) 7%,transparent); }
.receipt-document-workspace .receipt-delivery-panel > div:first-child { min-width:160px; }
.receipt-document-workspace .receipt-delivery-panel strong { color:var(--ink); }
.receipt-document-workspace .receipt-share-row { flex:1 1 420px; }
.receipt-a4 .receipt-document-workspace .receipt-paper { width:min(210mm,100%); max-width:none; margin:0 auto; border:1px solid color-mix(in srgb,var(--accent) 25%,var(--line)); border-radius:7px; box-shadow:0 18px 48px color-mix(in srgb,var(--ink) 13%,transparent); }
.receipt-a4 .receipt-document-workspace .receipt-header { margin:calc(clamp(24px,4vw,46px) * -1) calc(clamp(24px,4vw,46px) * -1) 22px; padding:24px clamp(24px,4vw,46px); border-bottom:1px solid color-mix(in srgb,var(--accent) 30%,var(--line)); background:linear-gradient(120deg,color-mix(in srgb,var(--accent) 13%,var(--field)),var(--panel)); }
.receipt-a4 .receipt-document-workspace .receipt-meta { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; margin-bottom:20px; overflow:hidden; border:1px solid var(--line); border-radius:7px; }
.receipt-a4 .receipt-document-workspace .receipt-meta > div { padding:10px 12px; border-bottom:1px solid var(--line); background:var(--field); }
.receipt-a4 .receipt-document-workspace .receipt-items { overflow:hidden; border:1px solid var(--line); border-radius:7px; }
.receipt-a4 .receipt-document-workspace .receipt-items th { background:color-mix(in srgb,var(--accent) 10%,var(--field)); color:var(--ink); }
.receipt-a4 .receipt-document-workspace .receipt-totals { width:min(100%,390px); margin:20px 0 0 auto; padding:13px 15px; border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line)); border-radius:7px; background:color-mix(in srgb,var(--accent) 6%,var(--field)); }
.receipt-a4 .receipt-document-workspace .receipt-section-title { width:min(100%,390px); margin:18px 0 6px auto; font-size:.8rem; }
.receipt-a4 .receipt-document-workspace .receipt-public-url { margin-top:20px; border-radius:7px; }
.customer-row-actions > summary {
    border-color:color-mix(in srgb,var(--neutral-button-text) 28%,var(--line));
    background:var(--neutral-button-bg) !important;
    color:var(--neutral-button-text) !important;
    -webkit-text-fill-color:var(--neutral-button-text) !important;
    text-shadow:none !important;
}
.customer-row-actions > summary span { color:inherit !important; -webkit-text-fill-color:currentColor !important; }
.customer-row-actions > summary .ui-icon { color:currentColor !important; stroke:currentColor !important; filter:drop-shadow(0 1px 1px color-mix(in srgb,var(--panel) 25%,transparent)); }
.customer-row-action-menu { background:var(--panel); color:var(--ink); }
.customer-row-action-menu a,.customer-row-action-menu button { color:var(--ink) !important; -webkit-text-fill-color:var(--ink) !important; }
.customer-row-action-menu .danger-button { color:var(--danger) !important; -webkit-text-fill-color:var(--danger) !important; }

@media screen and (max-width:760px) {
    .receipt-document-workspace { display:block; width:100%; }
    .receipt-document-workspace .document-page-toolbar,.receipt-document-workspace .receipt-delivery-panel { margin-bottom:10px; }
    .receipt-document-workspace .receipt-delivery-panel { align-items:stretch; }
    .receipt-document-workspace .receipt-share-row { display:grid; grid-template-columns:minmax(0,1fr) auto; width:100%; }
    .receipt-a4 .receipt-document-workspace .receipt-paper { padding:18px 14px; border-radius:6px; }
    .receipt-a4 .receipt-document-workspace .receipt-header { margin:-18px -14px 18px; padding:18px 14px; }
    .receipt-a4 .receipt-document-workspace .receipt-meta { grid-template-columns:1fr; }
    .receipt-a4 .receipt-document-workspace .receipt-totals,.receipt-a4 .receipt-document-workspace .receipt-section-title { width:100%; }
}

@media print {
    .receipt-document-workspace { display:block; width:auto; margin:0; }
    .receipt-a4 .receipt-document-workspace .receipt-paper { width:auto; border:0; border-radius:0; box-shadow:none; }
}

/* 1.2.15 settings control center */
h1,h2,h3 { font-weight:var(--heading-weight,700); }
table th { background:var(--table-header-bg,var(--field)); color:var(--table-header-text,var(--ink)); }
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),select,textarea { border-width:var(--field-border-width,1px); }
:where(a,button,input,select,textarea,summary):focus-visible { outline:2px solid var(--focus-ring,var(--accent)); outline-offset:2px; }
.settings-panel { overflow:visible; border-color:color-mix(in srgb,var(--accent) 20%,var(--line)); background:color-mix(in srgb,var(--bg) 52%,var(--panel)); }
.settings-navigation-header { position:relative; grid-template-columns:auto minmax(0,1fr) auto; min-height:88px; padding:18px 22px; border-bottom:1px solid color-mix(in srgb,var(--accent) 24%,var(--line)); background:linear-gradient(112deg,color-mix(in srgb,var(--sidebar) 96%,#000),color-mix(in srgb,var(--sidebar) 82%,var(--accent)) 68%,color-mix(in srgb,var(--accent-dark) 86%,var(--sidebar))); color:var(--sidebar-text); }
.settings-navigation-header::after { content:""; position:absolute; right:20px; bottom:0; left:76px; height:2px; background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 8%,transparent)); }
.settings-navigation-header .settings-navigation-mark { border-color:color-mix(in srgb,var(--accent) 68%,#fff); background:linear-gradient(145deg,var(--accent),var(--accent-dark)); color:var(--button-text); box-shadow:0 10px 24px color-mix(in srgb,var(--accent) 28%,transparent); }
.settings-navigation-header h2 { color:currentColor; font-size:1.18rem; font-weight:750; }
.settings-navigation-header p { color:color-mix(in srgb,currentColor 70%,transparent); font-size:.78rem; }
.settings-navigation-header .section-kicker { color:color-mix(in srgb,var(--accent) 72%,#fff); }
.settings-navigation-header > strong { min-width:170px; border-color:color-mix(in srgb,var(--sidebar-text) 18%,transparent); background:color-mix(in srgb,var(--sidebar-text) 8%,transparent); color:var(--sidebar-text); text-align:left; }
.settings-navigation-header > strong small { color:color-mix(in srgb,var(--sidebar-text) 65%,transparent); }
.settings-control-shell { display:grid; grid-template-columns:228px minmax(0,1fr); align-items:stretch; min-height:720px; }
.settings-primary-rail { min-width:0; padding:15px 12px 24px; border-right:1px solid color-mix(in srgb,var(--accent) 18%,var(--line)); background:linear-gradient(180deg,color-mix(in srgb,var(--sidebar) 96%,#000),color-mix(in srgb,var(--sidebar) 86%,var(--bg))); }
.settings-rail-group { display:grid; gap:4px; padding:8px 0 12px; }
.settings-rail-group + .settings-rail-group { border-top:1px solid color-mix(in srgb,var(--sidebar-text) 10%,transparent); }
.settings-rail-group > span { padding:4px 9px 6px; color:color-mix(in srgb,var(--sidebar-text) 52%,transparent); font-size:.62rem; font-weight:800; text-transform:uppercase; }
.settings-primary-rail .settings-tab { display:grid; grid-template-columns:24px minmax(0,1fr) 15px; justify-content:stretch; min-width:0; min-height:40px; padding:8px 9px; border:1px solid transparent; border-radius:6px; background:transparent; color:color-mix(in srgb,var(--sidebar-text) 78%,transparent); font-size:.76rem; font-weight:650; text-align:left; }
.settings-primary-rail .settings-tab > .ui-icon:first-child { display:grid; width:24px; height:24px; place-items:center; padding:5px; border-radius:5px; background:color-mix(in srgb,var(--sidebar-text) 9%,transparent); color:color-mix(in srgb,var(--accent) 55%,#fff); }
.settings-primary-rail .settings-tab > .ui-icon:last-child { width:14px; height:14px; justify-self:end; }
.settings-primary-rail .settings-tab:hover { border-color:color-mix(in srgb,var(--sidebar-text) 12%,transparent); background:color-mix(in srgb,var(--sidebar-text) 7%,transparent); color:var(--sidebar-text); }
.settings-primary-rail .settings-tab.active { border-color:color-mix(in srgb,var(--accent) 64%,#fff); background:linear-gradient(135deg,var(--accent),var(--accent-dark)); color:var(--button-text); box-shadow:0 10px 20px color-mix(in srgb,var(--accent) 22%,transparent); }
.settings-primary-rail .settings-tab.active > .ui-icon:first-child { background:color-mix(in srgb,#fff 18%,transparent); color:currentColor; }
.settings-page-content { min-width:0; padding:0 0 26px; background:color-mix(in srgb,var(--bg) 42%,var(--panel)); }
.settings-page-content > .toolbar { min-height:80px; margin:0; padding:18px 22px 12px; border:0; background:transparent; }
.settings-page-content > .toolbar h2 { display:flex; align-items:center; gap:8px; margin:0; font-size:1.06rem; font-weight:720; }
.settings-page-content > .toolbar p { margin:4px 0 0; font-size:.76rem; }
.settings-subtabs { display:flex; flex-wrap:wrap; gap:0; margin:0 22px 18px; padding:0; border:0; border-bottom:1px solid color-mix(in srgb,var(--accent) 22%,var(--line)); border-radius:0; background:transparent; }
.settings-subtab { flex:0 1 auto; min-height:40px; padding:9px 13px 10px; color:var(--muted); font-size:.73rem; font-weight:680; }
.settings-subtab + .settings-subtab { border-left:1px solid color-mix(in srgb,var(--accent) 18%,var(--line)); }
.settings-subtab:hover { background:color-mix(in srgb,var(--accent) 6%,transparent); color:var(--ink); }
.settings-subtab.active { background:transparent; color:var(--accent-dark); }
.settings-subtab.active::after { right:11px; bottom:-1px; left:11px; height:3px; background:linear-gradient(90deg,var(--accent),var(--accent-dark)); }
.settings-page-content > form,.settings-page-content > .settings-content-grid,.settings-page-content > .grid,.settings-page-content > section:not(.design-preview-rail) { margin:0 22px 18px; }
.settings-page-content .settings-form-surface { padding:18px; border:1px solid color-mix(in srgb,var(--accent) 16%,var(--line)); border-radius:8px; background:var(--panel); box-shadow:0 12px 30px color-mix(in srgb,var(--ink) 6%,transparent); }
.settings-page-content .settings-grid { gap:14px; }
.settings-page-content label { color:var(--ink); font-size:.72rem; font-weight:720; }
.settings-page-content input,.settings-page-content select,.settings-page-content textarea { border-color:color-mix(in srgb,var(--accent) 14%,var(--line)); background-color:var(--field); }
.settings-page-content .number-preview-panel,.settings-page-content .integration-setup-card,.settings-page-content .provider-snapshot-panel { border-color:color-mix(in srgb,var(--accent) 24%,var(--line)); background:linear-gradient(120deg,color-mix(in srgb,var(--accent) 7%,var(--panel)),var(--panel)); }
.settings-page-content .sticky-submit-action,.settings-page-content .design-submit-row { margin-right:-18px; margin-bottom:-18px; margin-left:-18px; padding:12px 18px; border-top:1px solid var(--line); background:color-mix(in srgb,var(--panel) 94%,var(--accent)); }
.module-control-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:0 22px; }
.module-control-card { display:grid; grid-template-columns:42px minmax(0,1fr) auto 16px; align-items:center; gap:11px; min-height:78px; padding:13px; border:1px solid color-mix(in srgb,var(--accent) 18%,var(--line)); border-radius:7px; background:var(--panel); color:var(--ink); text-decoration:none; box-shadow:0 10px 24px color-mix(in srgb,var(--ink) 5%,transparent); }
.module-control-card:hover { border-color:color-mix(in srgb,var(--accent) 50%,var(--line)); transform:translateY(-1px); }
.module-control-icon { display:grid; width:42px; height:42px; place-items:center; border-radius:7px; background:linear-gradient(145deg,var(--accent),var(--accent-dark)); color:var(--button-text); }
.module-control-icon .ui-icon { width:20px; height:20px; }
.module-control-card > span:nth-child(2) { display:grid; gap:2px; }
.module-control-card strong { font-size:.84rem; font-weight:720; }
.module-control-card small { color:var(--muted); font-size:.67rem; }
.module-state { padding:4px 7px; border:1px solid color-mix(in srgb,#ef4444 30%,var(--line)); border-radius:99px; background:color-mix(in srgb,#ef4444 8%,var(--panel)); color:#b91c1c; font-size:.62rem; font-style:normal; font-weight:800; }
.module-state.is-enabled { border-color:color-mix(in srgb,#10b981 32%,var(--line)); background:color-mix(in srgb,#10b981 9%,var(--panel)); color:#047857; }
.design-settings-form { grid-template-columns:minmax(0,1fr) minmax(270px,330px); gap:18px; }
.design-settings-editor { grid-template-columns:repeat(2,minmax(0,1fr)); }
.design-preview-rail { position:sticky; top:12px; max-height:none; padding:0; border:0; overflow:visible; }
.design-preview { grid-template-rows:auto; border-color:color-mix(in srgb,var(--accent) 28%,var(--line)); box-shadow:0 14px 32px color-mix(in srgb,var(--ink) 8%,transparent); }
.design-preview-button-row { grid-template-columns:1fr; border-top:0; padding:14px; }
.design-typography-preview { display:grid; gap:8px; padding:20px; background:var(--panel); color:var(--ink); }
.design-typography-preview h3,.design-typography-preview p { margin:0; }
.design-typography-preview h3 { font-size:1.15rem; font-weight:720; }
.design-typography-preview p { color:var(--ink); line-height:1.55; }
.design-typography-preview small { color:var(--muted); }
.settings-panel-design-buttons .button-theme-group { grid-template-columns:minmax(0,1fr); }
.settings-panel-design-buttons .button-theme-grid,.settings-panel-design-buttons .button-effects-layout { grid-template-columns:1fr; }

@media (max-width:1080px) {
    .settings-control-shell { grid-template-columns:204px minmax(0,1fr); }
    .design-settings-form { grid-template-columns:1fr; }
    .design-preview-rail { position:static; order:-1; }
    .design-settings-editor { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:820px) {
    .settings-navigation-header { grid-template-columns:auto minmax(0,1fr); min-height:74px; padding:14px; }
    .settings-navigation-header > strong { grid-column:2; min-width:0; width:fit-content; padding:4px 7px; }
    .settings-navigation-header p { display:none; }
    .settings-control-shell { display:block; min-height:0; }
    .settings-primary-rail { display:none; }
    .settings-mobile-navigation { display:block; margin:0; padding:12px 14px; border-bottom:1px solid var(--line); }
    .settings-page-content > .toolbar { min-height:0; padding:15px 14px 10px; }
    .settings-subtabs { margin:0 14px 15px; }
    .settings-subtab { flex:1 1 44%; }
    .settings-page-content > form,.settings-page-content > .settings-content-grid,.settings-page-content > .grid,.settings-page-content > section:not(.design-preview-rail) { margin-right:14px; margin-left:14px; }
    .module-control-grid { grid-template-columns:1fr; margin:0 14px; }
    .design-settings-editor,.design-control-grid,.button-theme-options,.button-effects-controls { grid-template-columns:1fr; }
}
@media (max-width:520px) {
    .settings-subtab { flex-basis:100%; justify-content:flex-start; }
    .settings-subtab + .settings-subtab { border-top:1px solid color-mix(in srgb,var(--accent) 14%,var(--line)); border-left:0; }
    .settings-subtab.active::after { right:auto; width:34px; }
    .module-control-card { grid-template-columns:38px minmax(0,1fr) auto; }
    .module-control-card > .ui-icon:last-child { display:none; }
    .module-control-icon { width:38px; height:38px; }
}

/* 1.2.16 operational ticker and navigation */
.operations-ticker-bar {
    position:relative;
    z-index:1200;
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:14px;
    min-height:54px;
    padding:7px 16px;
    overflow:visible;
    border-bottom:1px solid color-mix(in srgb,var(--accent) 42%,#1f2937);
    background:linear-gradient(112deg,#08111f,#111c2f 48%,color-mix(in srgb,var(--accent-dark) 30%,#101827));
    color:#f8fafc;
    box-shadow:0 6px 22px rgba(6,12,24,.2);
}
.operations-ticker-label { display:inline-flex; align-items:center; gap:8px; min-height:36px; padding:7px 10px; border:1px solid color-mix(in srgb,var(--accent) 48%,#334155); border-radius:6px; background:color-mix(in srgb,var(--accent) 15%,#0f172a); color:#f8fafc; font-size:.7rem; font-weight:800; white-space:nowrap; }
.operations-ticker-label .ui-icon { width:16px; height:16px; color:color-mix(in srgb,var(--accent) 62%,#fff); }
.operations-ticker-viewport { min-width:0; overflow:hidden; mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent); }
.operations-ticker-track { display:flex; width:max-content; animation:operations-ticker-scroll var(--ticker-duration,42s) linear infinite; will-change:transform; }
.operations-ticker-viewport:hover .operations-ticker-track { animation-play-state:paused; }
.operations-ticker-set { display:flex; align-items:center; gap:8px; padding-right:8px; }
.operations-ticker-item { display:inline-flex; align-items:center; gap:6px; min-height:34px; padding:6px 10px; border:1px solid rgba(255,255,255,.09); border-radius:6px; background:rgba(255,255,255,.045); color:#cbd5e1; font-size:.68rem; white-space:nowrap; }
.operations-ticker-item::after { content:""; width:3px; height:3px; margin-left:4px; border-radius:50%; background:rgba(255,255,255,.24); }
.operations-ticker-item .ui-icon { width:14px; height:14px; color:currentColor; }
.operations-ticker-item > span { color:#94a3b8; }
.operations-ticker-item strong { color:#f8fafc; font-size:.72rem; font-weight:760; }
.operations-ticker-item.is-positive .ui-icon,.operations-ticker-item.is-positive strong { color:#5ee5aa; }
.operations-ticker-item.is-accent .ui-icon,.operations-ticker-item.is-accent strong { color:#70d7ff; }
.operations-ticker-item.is-warning .ui-icon,.operations-ticker-item.is-warning strong { color:#fbbf5a; }
.operations-ticker-item.is-danger .ui-icon,.operations-ticker-item.is-danger strong { color:#ff8585; }
.operations-ticker-bar .top-user-area { position:relative; right:auto; z-index:2; }
.operations-ticker-bar .top-user-profile { min-height:38px; border-color:color-mix(in srgb,var(--accent) 48%,#475569); background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 32%,#172033),color-mix(in srgb,var(--accent-dark) 22%,#101827)); color:#fff; box-shadow:0 7px 18px rgba(3,8,18,.22); }
.operations-ticker-bar .top-user-profile:hover { border-color:color-mix(in srgb,var(--accent) 72%,#fff); background:linear-gradient(135deg,var(--accent),var(--accent-dark)); color:var(--button-text); }
.operations-ticker-bar .top-user-name,.operations-ticker-bar .top-user-name small { color:currentColor; }
body.modal-open .operations-ticker-bar { display:none!important; }
@keyframes operations-ticker-scroll { from { transform:translateX(0); } to { transform:translateX(-50%); } }

.shell { align-items:stretch; }
#appSidebar { z-index:5; padding:16px 14px 24px; border-right-color:color-mix(in srgb,var(--accent) 20%,var(--line)); background:linear-gradient(180deg,color-mix(in srgb,var(--sidebar) 97%,#000),color-mix(in srgb,var(--sidebar) 90%,var(--bg))); }
.sidebar-brand-row { position:relative; z-index:8; align-items:center; min-height:80px; margin:0 0 12px; padding:11px; overflow:hidden; border:1px solid color-mix(in srgb,var(--sidebar-text) 12%,transparent); border-radius:7px; background:linear-gradient(135deg,color-mix(in srgb,var(--sidebar-text) 7%,transparent),color-mix(in srgb,var(--accent) 7%,transparent)); }
.sidebar-brand-row .brand { min-height:0; margin:0; }
.sidebar-brand-row .brand-image { min-height:54px; }
.sidebar-brand-row .brand-logo-image { width:auto; max-width:min(100%,178px); max-height:58px; object-fit:contain; object-position:left center; }
.sidebar-brand-row .brand-text-mark { font-size:1rem; font-weight:780; }
.sidebar-navigation-head { display:flex; align-items:center; justify-content:space-between; gap:8px; margin:2px 4px 8px; padding:8px 7px; border-bottom:1px solid color-mix(in srgb,var(--sidebar-text) 11%,transparent); color:color-mix(in srgb,var(--sidebar-text) 55%,transparent); }
.sidebar-navigation-head span { font-size:.62rem; font-weight:800; text-transform:uppercase; }
.sidebar-navigation-head small { font-size:.6rem; }
#appSidebar .sidebar-search { margin:0 0 13px; padding:9px; border:1px solid color-mix(in srgb,var(--sidebar-text) 12%,transparent); border-radius:7px; background:color-mix(in srgb,var(--sidebar-text) 4%,transparent); }
#appSidebar nav { display:grid; gap:3px; }
#appSidebar .nav-group { margin:0; }
#appSidebar nav .nav-group > a { position:relative; min-height:43px; margin:0; padding:7px 8px; border:1px solid transparent; border-radius:6px; color:color-mix(in srgb,var(--sidebar-text) 72%,transparent); font-size:.78rem; font-weight:650; }
#appSidebar nav .nav-group > a::before { content:""; position:absolute; top:8px; bottom:8px; left:-1px; width:3px; border-radius:0 3px 3px 0; background:transparent; }
#appSidebar nav .nav-icon { display:grid; width:29px; height:29px; flex:0 0 29px; place-items:center; border:1px solid color-mix(in srgb,var(--sidebar-text) 9%,transparent); border-radius:6px; background:color-mix(in srgb,var(--sidebar-text) 6%,transparent); color:color-mix(in srgb,var(--accent) 58%,var(--sidebar-text)); }
#appSidebar nav .nav-icon .ui-icon { width:15px; height:15px; }
#appSidebar nav .nav-group > a:hover { border-color:color-mix(in srgb,var(--sidebar-text) 11%,transparent); background:color-mix(in srgb,var(--sidebar-text) 7%,transparent); color:var(--sidebar-text); }
#appSidebar nav .nav-group > a.active { border-color:color-mix(in srgb,var(--accent) 52%,var(--sidebar-text)); background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 88%,var(--sidebar)),color-mix(in srgb,var(--accent-dark) 90%,var(--sidebar))); color:var(--button-text); box-shadow:0 8px 18px color-mix(in srgb,var(--accent) 20%,transparent); }
#appSidebar nav .nav-group > a.active::before { background:color-mix(in srgb,#fff 72%,var(--accent)); }
#appSidebar nav .nav-group > a.active .nav-icon { border-color:rgba(255,255,255,.2); background:rgba(255,255,255,.14); color:currentColor; }
#appSidebar .nav-submenu { gap:2px; margin:4px 0 5px 14px; padding:4px 0 4px 14px; border-left-color:color-mix(in srgb,var(--accent) 38%,transparent); }
#appSidebar .nav-submenu a { min-height:34px; margin:0; padding:7px 8px; border:1px solid transparent; border-radius:5px; color:color-mix(in srgb,var(--sidebar-text) 66%,transparent); font-size:.7rem; font-weight:620; }
#appSidebar .nav-submenu a:hover { border-color:color-mix(in srgb,var(--accent) 18%,transparent); background:color-mix(in srgb,var(--accent) 9%,transparent); color:var(--sidebar-text); }
.sidebar-collapsed .sidebar-navigation-head,.sidebar-collapsed #appSidebar .sidebar-search { display:none; }
.sidebar-collapsed .sidebar-brand-row { min-height:48px; padding:8px; }
.ticker-settings-preview { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px; border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line)); border-radius:7px; background:linear-gradient(112deg,#0f172a,color-mix(in srgb,var(--accent-dark) 28%,#111827)); color:#f8fafc; }
.ticker-settings-preview span { display:inline-flex; align-items:center; gap:7px; color:color-mix(in srgb,var(--accent) 64%,#fff); font-size:.72rem; font-weight:800; }
.ticker-settings-preview strong { font-size:.73rem; font-weight:650; text-align:right; }
.settings-mobile-shell-toggle { display:none; }

@media (prefers-reduced-motion:reduce) {
    .operations-ticker-track { animation:none; }
    .operations-ticker-set[aria-hidden="true"] { display:none; }
}
@media (max-width:900px) {
    .operations-ticker-bar { grid-template-columns:auto minmax(0,1fr) auto; gap:8px; min-height:50px; padding:6px 10px; }
    .operations-ticker-label { width:34px; min-height:34px; padding:7px; justify-content:center; }
    .operations-ticker-label span { display:none; }
    .operations-ticker-item { min-height:32px; padding:5px 8px; }
    .operations-ticker-bar .top-user-name { display:none; }
    .operations-ticker-bar .top-user-profile { min-width:38px; padding:5px; }
    #appSidebar,.sidebar-collapsed #appSidebar { padding-top:14px; }
    .sidebar-brand-row { min-height:72px; }
    .sidebar-brand-row .brand-logo-image { max-width:190px; }
    .settings-mobile-shell-toggle { display:inline-grid; flex:0 0 38px; }
}
@media (max-width:560px) {
    .operations-ticker-item > span { display:none; }
    .operations-ticker-item { gap:5px; }
    .ticker-settings-preview { display:grid; }
    .ticker-settings-preview strong { text-align:left; }
}

/* 1.2.17 commerce ledgers and invoice workspace */
.commerce-workspace-heading { align-items:center; margin-bottom:14px; padding:15px 17px; border:1px solid color-mix(in srgb,var(--accent) 25%,var(--line)); border-radius:7px; background:linear-gradient(112deg,color-mix(in srgb,var(--panel) 94%,var(--accent) 6%),var(--panel)); }
.commerce-workspace-heading h2 { margin:3px 0 4px; font-size:1.35rem; font-weight:720; }
.commerce-workspace-heading p { font-size:.78rem; }
.commerce-heading-actions { display:flex; align-items:center; gap:9px; }
.workspace-record-count,.invoice-visible-count { display:inline-flex; align-items:center; min-height:38px; padding:7px 10px; border:1px solid var(--line); border-radius:6px; background:var(--field); color:var(--muted); font-size:.7rem; font-weight:720; white-space:nowrap; }
.commerce-stat-icon { position:absolute; top:13px; right:13px; display:grid; width:30px; height:30px; place-items:center; border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line)); border-radius:6px; background:color-mix(in srgb,var(--accent) 10%,var(--field)); color:var(--accent); }
.commerce-stat-icon .ui-icon { width:15px; height:15px; }
.commerce-stat-icon.is-positive { color:var(--success); }
.commerce-stat-icon.is-accent { color:var(--info); }
.commerce-stat-icon.is-warning { color:var(--warning); }
.sales-history-stats .stat,.invoice-summary-strip .stat { min-height:112px; padding:15px; }
.sales-history-stats strong { margin:7px 0 2px; font-size:1.25rem; font-weight:740; }
.sales-filter-grid { grid-template-columns:minmax(250px,1.5fr) repeat(4,minmax(135px,.75fr)); padding:14px; }
.sales-filter-search { grid-column:span 2; }
.sales-quick-ranges,.sales-export-toolbar { padding-inline:14px; }
.sales-history-panel,.sales-history-table-wrap { overflow:visible; }
.sales-history-table { min-width:980px; table-layout:fixed; }
.sales-history-table th:nth-child(1) { width:44px; }
.sales-history-table th:nth-child(2) { width:130px; }
.sales-history-table th:nth-child(4) { width:150px; }
.sales-history-table th:nth-child(5) { width:155px; }
.sales-history-table th:nth-child(6) { width:135px; }
.sales-history-table th:nth-child(7) { width:115px; }
.sales-history-table th:nth-child(8) { width:118px; }
.commerce-record-table td { font-size:.75rem; }
.commerce-record-table tbody tr { position:relative; }
.commerce-record-table tbody tr:has(.record-actions-menu[open]) { z-index:90; }
.commerce-record-table td > strong { font-weight:690; }
.record-identity,.record-money { display:grid; gap:3px; }
.record-identity strong { color:var(--accent); font-size:.81rem; font-weight:760; }
.record-identity small,.record-money small,.record-subline { display:block; margin-top:2px; color:var(--muted); font-size:.64rem; font-weight:560; }
.record-money strong { font-size:.88rem; font-weight:780; }
.transaction-method-tag { display:inline-flex; width:max-content; max-width:100%; padding:4px 7px; overflow:hidden; border:1px solid color-mix(in srgb,var(--info) 35%,var(--line)); border-radius:5px; background:color-mix(in srgb,var(--info) 8%,var(--field)); color:var(--ink); font-size:.66rem; text-overflow:ellipsis; white-space:nowrap; }
.record-actions-menu { position:relative; width:100%; }
.record-actions-menu > summary { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:6px; min-height:36px; padding:7px 9px; border:1px solid color-mix(in srgb,var(--accent) 32%,var(--line)); border-radius:6px; background:var(--field); color:var(--ink); font-size:.68rem; font-weight:720; cursor:pointer; list-style:none; }
.record-actions-menu > summary::-webkit-details-marker { display:none; }
.record-actions-menu > summary .ui-icon { width:14px; height:14px; color:var(--accent); }
.record-actions-menu[open] > summary { border-color:var(--accent); background:color-mix(in srgb,var(--accent) 10%,var(--field)); }
.record-actions-menu[open] > summary .ui-icon-chevron-down { transform:rotate(180deg); }
.record-actions-menu > div,.record-actions-menu .invoice-mobile-action-menu { position:absolute; z-index:80; top:calc(100% + 5px); right:0; display:grid; width:190px; padding:6px; border:1px solid color-mix(in srgb,var(--accent) 25%,var(--line)); border-radius:7px; background:var(--panel); box-shadow:0 15px 34px rgba(8,15,28,.22); }
.record-actions-menu > div > a,.record-actions-menu > div > button,.record-actions-menu .invoice-mobile-action-menu > a,.record-actions-menu .invoice-mobile-action-menu button { display:flex; width:100%; min-height:35px; align-items:center; justify-content:flex-start; gap:8px; padding:7px 8px; border:0; border-radius:5px; background:transparent; color:var(--ink); font-size:.69rem; font-weight:650; text-align:left; text-decoration:none; box-shadow:none; }
.record-actions-menu > div > a:hover,.record-actions-menu .invoice-mobile-action-menu > a:hover { background:color-mix(in srgb,var(--accent) 10%,var(--field)); }
.record-actions-menu .danger-button { color:var(--danger)!important; }
.record-actions-menu form { margin:0; }

.invoice-list-toolbar { grid-template-columns:minmax(260px,1fr) 190px auto; padding:14px; }
.invoice-table-wrap { padding:12px; }
.invoice-list-table tbody { gap:8px; }
.invoice-list-table tbody tr { grid-template-columns:1fr 1.35fr .7fr 1.05fr .85fr 120px; min-height:72px; padding:9px 10px; border-left-width:3px; box-shadow:0 3px 12px color-mix(in srgb,var(--ink) 6%,transparent); }
.invoice-list-table td { padding:4px 9px; }
.invoice-list-table td[data-label="Balance"] strong { color:var(--ink); font-size:.91rem; }
.invoice-list-table td[data-label="Status"] { justify-items:start; }
.invoice-list-table .invoice-actions-cell { grid-column:auto; grid-row:auto; }
.invoice-mobile-actions.record-actions-menu { display:block; }

.invoice-workflow-tabs { top:8px; margin-bottom:12px; padding:5px; box-shadow:0 8px 22px rgba(8,15,28,.1); }
.invoice-workflow-tabs .settings-tab { min-height:40px; font-size:.72rem; font-weight:680; }
.invoice-create-layout { grid-template-columns:minmax(0,1fr) minmax(330px,390px); gap:14px; }
.invoice-builder-panel { border:0; background:transparent; box-shadow:none; }
.invoice-builder-heading { margin-bottom:12px; padding:16px 17px; border:1px solid color-mix(in srgb,var(--accent) 26%,var(--line)); border-radius:7px; background:linear-gradient(112deg,color-mix(in srgb,var(--panel) 93%,var(--accent) 7%),var(--panel)); }
.invoice-builder-heading h2 { font-size:1.25rem; font-weight:720; }
#invoiceCreateForm { display:grid; gap:12px; }
.invoice-workflow-section,.invoice-subscription-strip { margin:0; border:1px solid color-mix(in srgb,var(--accent) 20%,var(--line)); border-radius:7px; background:var(--panel); box-shadow:0 3px 12px color-mix(in srgb,var(--ink) 5%,transparent); }
.invoice-customer-strip { padding:16px; background:linear-gradient(110deg,color-mix(in srgb,var(--accent) 8%,var(--panel)),var(--panel)); }
.invoice-meta-grid { padding:16px; border-bottom:1px solid color-mix(in srgb,var(--accent) 20%,var(--line)); }
.invoice-items-workspace { padding-top:0; }
.invoice-product-search-row { padding:8px 16px 7px; }
.invoice-cart-wrap { min-height:210px; padding:0 16px 16px; }
.invoice-notes-grid { padding:16px; border-top:1px solid color-mix(in srgb,var(--accent) 20%,var(--line)); }
.invoice-section-heading { display:flex; align-items:flex-start; gap:10px; margin:0 0 13px; }
.invoice-section-heading.full { grid-column:1/-1; }
.invoice-section-heading > .ui-icon { width:31px; height:31px; flex:0 0 31px; padding:7px; border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line)); border-radius:6px; background:color-mix(in srgb,var(--accent) 10%,var(--field)); color:var(--accent); }
.invoice-section-heading h3 { margin:1px 0 2px; font-size:.88rem; font-weight:720; }
.invoice-section-heading p { margin:0; color:var(--muted); font-size:.67rem; }
.invoice-items-workspace > .invoice-section-heading { margin:0; padding:15px 16px 10px; border-bottom:1px solid var(--line); }
.invoice-document-summary dd { font-weight:720; }
.invoice-product-panel { top:8px; max-height:none; padding:15px; overflow:visible; border-color:color-mix(in srgb,var(--accent) 27%,var(--line)); background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 94%,var(--accent) 6%),var(--panel)); }
.invoice-product-panel-heading h2 { font-size:1rem; font-weight:720; }
.invoice-product-grid { gap:8px; }
.invoice-product-grid .product-pick-card { min-height:118px; }
.invoice-builder-footer { min-height:70px; }
.invoice-builder-totals > div { min-width:115px; }
.invoice-builder-totals span { font-weight:650; }
.commerce-directory-panel { padding:0; overflow:visible; }
.commerce-directory-toolbar { margin:0; padding:14px 16px; border-bottom:1px solid var(--line); }
.commerce-directory-toolbar h3 { margin:0; font-size:.92rem; }
.invoice-edit-table { min-width:760px; }

@media (max-width:1100px) {
    .sales-filter-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .sales-filter-search { grid-column:span 2; }
    .invoice-create-layout { grid-template-columns:1fr; }
    .invoice-product-panel { position:relative; top:auto; }
    .invoice-product-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media (max-width:760px) {
    .commerce-workspace-heading,.commerce-heading-actions { align-items:stretch; flex-direction:column; }
    .commerce-heading-actions { display:grid; grid-template-columns:1fr 1fr; }
    .sales-filter-grid { grid-template-columns:repeat(2,minmax(0,1fr)); padding:12px; }
    .sales-filter-search { grid-column:1/-1; }
    .sales-filter-actions { grid-column:1/-1; }
    .sales-export-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
    .sales-history-table { display:block; width:100%; min-width:0; }
    .sales-history-table thead { display:none; }
    .sales-history-table tbody { display:grid; gap:10px; padding:12px; }
    .sales-history-table tbody tr { position:relative; display:grid; grid-template-columns:34px 1fr 1fr; padding:12px; border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line)); border-top:3px solid var(--accent); border-radius:7px; background:var(--panel); }
    .sales-history-table td { display:grid; align-content:center; gap:3px; min-width:0; padding:8px; border:0; border-top:1px solid var(--line); }
    .sales-history-table td::before { content:attr(data-label); color:var(--muted); font-size:.57rem; font-weight:760; text-transform:uppercase; }
    .sales-history-table .sales-select-cell { grid-row:1; width:auto; border-top:0; }
    .sales-history-table td[data-label="Transaction"] { grid-column:2/-1; grid-row:1; border-top:0; }
    .sales-history-table td[data-label="Customer"],.sales-history-table td[data-label="Financials"] { grid-column:span 2; }
    .sales-history-table td[data-label="Actions"] { grid-column:1/-1; }
    .record-actions-menu > div,.record-actions-menu .invoice-mobile-action-menu { position:relative; top:auto; right:auto; width:100%; margin-top:5px; box-shadow:none; }
    .invoice-list-toolbar { grid-template-columns:1fr 1fr; }
    .invoice-filter-search { grid-column:1/-1; }
    .invoice-list-table tbody tr { grid-template-columns:repeat(2,minmax(0,1fr)); min-height:0; padding:12px; border-top:3px solid var(--accent); border-left-width:1px; }
    .invoice-list-table td { min-height:0; padding:8px 6px; border-top:1px solid var(--line); border-left:0; }
    .invoice-list-table td[data-label="Invoice"],.invoice-list-table td[data-label="Status"] { border-top:0; }
    .invoice-list-table td[data-label="Customer"],.invoice-list-table td[data-label="Timeline"],.invoice-list-table td[data-label="Balance"],.invoice-list-table .invoice-actions-cell { grid-column:1/-1; }
    .invoice-list-table .invoice-actions-cell { grid-row:auto; }
    .invoice-workflow-tabs { grid-template-columns:repeat(4,minmax(0,1fr)); overflow:hidden; }
    .invoice-workflow-tabs .settings-tab { padding-inline:5px; }
    .invoice-workflow-tabs .settings-tab .ui-icon { display:none; }
    .invoice-meta-grid,.invoice-notes-grid { grid-template-columns:1fr; }
    .invoice-terms-field,.invoice-due-presets { grid-column:auto; }
    .invoice-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:480px) {
    .commerce-heading-actions { grid-template-columns:1fr; }
    .sales-filter-grid { grid-template-columns:1fr; }
    .sales-filter-search,.sales-filter-actions { grid-column:auto; }
    .sales-history-table tbody tr { grid-template-columns:30px 1fr; }
    .sales-history-table td[data-label="Customer"],.sales-history-table td[data-label="Financials"],.sales-history-table td[data-label="Team member"],.sales-history-table td[data-label="Payment"],.sales-history-table td[data-label="Completed"] { grid-column:1/-1; }
    .invoice-list-toolbar { grid-template-columns:1fr; }
    .invoice-filter-search { grid-column:auto; }
    .invoice-workflow-tabs .settings-tab { font-size:.63rem; }
}

/* 1.2.18 navigation interaction recovery */
.shell { position:relative; z-index:auto; }
#appSidebar { isolation:isolate; z-index:50; pointer-events:auto; touch-action:pan-y; }
#appSidebar nav,#appSidebar .nav-group,#appSidebar nav a,#appSidebar .nav-submenu { position:relative; z-index:2; pointer-events:auto; }
#appSidebar nav a { cursor:pointer; user-select:none; }
.mobile-nav-backdrop { pointer-events:none!important; }
body.mobile-nav-open .mobile-nav-backdrop { pointer-events:auto!important; }

@media screen and (min-width:1101px) {
    #appSidebar,.sidebar-collapsed #appSidebar { position:relative; z-index:50; height:auto; min-height:100vh; overflow:visible; pointer-events:auto; }
    #appSidebar nav { overflow:visible; }
}

@media screen and (max-width:1100px) {
    #appSidebar,.sidebar-collapsed #appSidebar { z-index:1600; max-height:100dvh; overflow-x:hidden; overflow-y:auto; overscroll-behavior-y:contain; pointer-events:none; touch-action:pan-y; -webkit-overflow-scrolling:touch; }
    body.mobile-nav-open #appSidebar,body.mobile-nav-open.sidebar-collapsed #appSidebar { pointer-events:auto; }
    .mobile-nav-backdrop { z-index:1590; }
    body.mobile-nav-open #appSidebar nav { padding-bottom:calc(30px + env(safe-area-inset-bottom)); }
    body.mobile-nav-open #appSidebar nav a { min-height:44px; }
}
/* 1.2.20 hardware, search, invoice, and rich receipt notes */
.hardware-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px;padding:18px 20px;border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line));border-radius:var(--radius-panel);background:linear-gradient(135deg,color-mix(in srgb,var(--panel) 92%,var(--accent) 8%),var(--panel));box-shadow:var(--panel-shadow)}
.hardware-heading h2{margin:3px 0 4px;font-size:1.28rem}.hardware-heading p{margin:0;color:var(--muted)}
.hardware-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.hardware-metric-grid article{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;padding:14px;border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--panel)}.hardware-metric-grid article>span{grid-row:1/4;display:grid;width:38px;height:38px;place-items:center;border-radius:var(--radius-control);background:color-mix(in srgb,var(--accent) 13%,var(--field));color:var(--accent)}.hardware-metric-grid small,.hardware-metric-grid em{color:var(--muted);font-size:.72rem;font-style:normal}.hardware-metric-grid strong{font-size:1.18rem}
.hardware-device-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start}.hardware-device-card{display:grid;gap:14px;min-width:0;padding:16px}.hardware-device-card>header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px}.hardware-device-card h3{margin:2px 0 0;font-size:.96rem}.hardware-device-icon{display:grid;width:42px;height:42px;place-items:center;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line));border-radius:var(--radius-control);background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 18%,var(--field)),var(--field));color:var(--accent)}.hardware-device-card dl{display:grid;gap:0;margin:0;border-block:1px solid var(--line)}.hardware-device-card dl div{display:flex;justify-content:space-between;gap:12px;padding:9px 2px;border-bottom:1px solid var(--line);font-size:.76rem}.hardware-device-card dl div:last-child{border:0}.hardware-device-card dt{color:var(--muted)}.hardware-device-card dd{margin:0;overflow-wrap:anywhere;text-align:right}.hardware-state{padding:5px 8px;border:1px solid var(--line);border-radius:999px;font-size:.63rem;font-weight:800}.hardware-state.is-ready{border-color:#16a34a55;background:#dcfce7;color:#166534}.hardware-state.is-listening{border-color:#0284c755;background:#e0f2fe;color:#075985}.hardware-state.is-off{background:var(--field);color:var(--muted)}
.hardware-scanner-listener{display:grid;justify-items:center;gap:7px;padding:18px;border:1px dashed color-mix(in srgb,var(--accent) 55%,var(--line));border-radius:var(--radius-panel);background:color-mix(in srgb,var(--accent) 5%,var(--field));text-align:center;outline:none}.hardware-scanner-listener:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.hardware-scanner-listener>span{color:var(--accent)}.hardware-scanner-listener p{margin:0;color:var(--muted);font-size:.72rem}.hardware-scanner-listener output{width:100%;padding:8px;border-radius:var(--radius-control);background:var(--panel);color:var(--ink);font:600 .76rem ui-monospace,monospace;overflow-wrap:anywhere}.hardware-activity-panel{margin-top:12px;overflow:hidden}.hardware-event-list{display:grid}.hardware-event-list article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 14px;border-top:1px solid var(--line)}.hardware-event-list article>div{display:grid;gap:2px}.hardware-event-list small{color:var(--muted);overflow-wrap:anywhere}.hardware-event-list time{color:var(--muted);font-size:.68rem}.hardware-event-status{width:9px;height:9px;border-radius:50%;background:#16a34a}.hardware-event-status.is-failed{background:#dc2626}.hardware-event-status.is-detected{background:#0284c7}

.invoice-create-layout{display:block;width:100%;max-width:1500px;margin-inline:auto;padding-bottom:92px}.invoice-builder-panel{width:100%;min-width:0;overflow:visible}.invoice-builder-panel form,.invoice-workflow-section{min-width:0}.invoice-cart-wrap{max-width:100%;overflow-x:auto}.invoice-product-panel,.invoice-workflow-tabs{display:none!important}

.customer-search-results,.pos-transaction-search .search-results,.invoice-product-search-row .search-results,.repair-product-search-wrap .search-results,.repair-workflow-part-results,.po-item-search .search-results{overflow:hidden auto;border:1px solid color-mix(in srgb,var(--accent) 34%,var(--line));border-radius:var(--radius-panel);background:var(--panel);box-shadow:0 18px 42px rgba(15,23,42,.2);color:var(--ink)}
.customer-search-results button,.pos-transaction-search .search-results button,.invoice-product-search-row .search-results button,.repair-product-search-wrap .search-results button,.repair-workflow-part-results button,.po-item-search .search-results button{position:relative;display:grid!important;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:56px;padding:9px 11px!important;border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;background:var(--panel)!important;color:var(--ink)!important;box-shadow:none!important;text-align:left}.customer-search-results button:last-child,.search-results button:last-child{border-bottom:0!important}.customer-search-results button:hover,.customer-search-results button:focus,.search-results button:hover,.search-results button:focus{background:color-mix(in srgb,var(--accent) 9%,var(--panel))!important;outline:none}.customer-search-results button>.ui-icon,.repair-product-search-wrap .search-results button>.ui-icon{width:30px;height:30px;padding:7px;border-radius:8px;background:color-mix(in srgb,var(--accent) 13%,var(--field));color:var(--accent)}.customer-search-results button>span,.search-results button>span{min-width:0}.customer-search-results strong,.search-results strong{display:block;color:var(--ink)!important;font-size:.79rem;font-weight:700;white-space:normal}.customer-search-results small,.search-results small,.search-results .muted{display:block;margin-top:2px;color:var(--muted)!important;font-size:.68rem;line-height:1.35;white-space:normal;overflow-wrap:anywhere}.customer-result-role,.search-results button>span:last-child:not(:first-child){justify-self:end;padding:4px 7px;border-radius:999px;background:color-mix(in srgb,var(--accent) 11%,var(--field));color:color-mix(in srgb,var(--accent) 80%,var(--ink))!important;font-size:.66rem;font-weight:700;white-space:nowrap}.customer-search-empty,.search-results>.empty{padding:18px!important;color:var(--muted);text-align:center}

.rich-text-editor{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--field)}.rich-text-editor:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent)}.rich-text-toolbar{display:flex;align-items:center;gap:3px;padding:5px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--panel) 76%,var(--field))}.rich-text-toolbar button{display:grid;width:30px;height:28px;min-height:0;place-items:center;padding:0;border:1px solid transparent;border-radius:6px;background:transparent!important;color:var(--ink)!important;box-shadow:none!important;font:700 .74rem var(--font-family)}.rich-text-toolbar button:hover{border-color:var(--line);background:var(--panel)!important}.rich-text-surface{min-height:92px;padding:10px 12px;color:var(--ink);font-size:.8rem;line-height:1.5;outline:none}.rich-text-surface:empty:before{content:attr(data-placeholder);color:var(--muted)}.rich-text-surface p{margin:0 0 .55em}.rich-text-surface ul,.rich-text-surface ol{margin:.3em 0 .6em;padding-left:1.4em}.pos-receipt-note-field{margin:12px 14px 14px;padding-top:12px;border-top:1px solid var(--line)}.receipt-rich-note{white-space:normal;line-height:1.5}.receipt-rich-note p{margin:.25em 0 .65em}.receipt-rich-note ul,.receipt-rich-note ol{margin:.35em 0 .75em;padding-left:1.4em}.receipt-customer-note{margin-top:16px;padding:12px;border:1px solid #d7dee8;background:#f8fafc}.receipt-customer-note>strong{display:block;margin-bottom:5px}

.commerce-heading-actions .hero-action-button,.commerce-heading-actions .button-link{width:auto;max-width:100%;min-width:0}.commerce-heading-actions .button-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.invoice-create-action{min-width:0}

@media(max-width:1100px){.hardware-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hardware-device-grid{grid-template-columns:1fr 1fr}.hardware-scanner-card{grid-column:1/-1}}
@media(max-width:700px){.hardware-heading{align-items:stretch;flex-direction:column;padding:14px}.hardware-heading>a{width:100%}.hardware-metric-grid{grid-template-columns:1fr 1fr}.hardware-device-grid{grid-template-columns:1fr}.hardware-scanner-card{grid-column:auto}.hardware-device-card{padding:13px}.hardware-device-card>header{grid-template-columns:auto minmax(0,1fr)}.hardware-device-card>header .hardware-state{grid-column:2;justify-self:start}.hardware-event-list article{grid-template-columns:auto minmax(0,1fr)}.hardware-event-list time{grid-column:2}.invoice-create-layout{padding-bottom:150px}.customer-search-results,.module-register .pos-sidebar-customer-card .customer-search-results,.pos-transaction-search .search-results,.invoice-product-search-row .search-results,.repair-product-search-wrap .search-results{right:8px!important;bottom:8px!important;left:8px!important;width:auto!important;max-width:none!important;max-height:min(58dvh,460px);padding:6px;border-radius:10px}.customer-search-results button,.search-results button{min-height:60px}.commerce-workspace-heading{align-items:stretch}.commerce-heading-actions{display:grid!important;grid-template-columns:minmax(0,1fr) auto;width:100%;gap:8px}.commerce-heading-actions .workspace-record-count{align-self:center;min-width:0}.commerce-heading-actions .hero-action-button,.commerce-heading-actions .button-link{justify-self:end;width:auto;max-width:min(100%,190px);padding-inline:11px}.commerce-heading-actions .button-label{font-size:.72rem}.rich-text-surface{min-height:105px}}

/* ACPR POS 1.3A transaction and workflow refinements */
.nav-function-header{margin:15px 9px 4px;padding:0 5px;color:color-mix(in srgb,var(--sidebar-text) 48%,transparent);font-size:.57rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.sidebar-collapsed .nav-function-header{height:1px;margin:9px 5px;padding:0;overflow:hidden;background:color-mix(in srgb,var(--sidebar-text) 14%,transparent);color:transparent}.menu-editor-row{grid-template-columns:minmax(0,1fr)!important;padding:10px!important}.menu-editor-main-fields{grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) minmax(180px,1fr)!important}.draggable-navigation-form .drag-menu-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.draggable-navigation-form .menu-submenu-editor{margin-top:7px}
.import-approval-page{display:grid;gap:14px}.import-approval-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.import-approval-summary>div{display:grid;gap:4px;padding:12px;border:1px solid var(--line);border-radius:7px;background:var(--field)}.import-approval-summary span{color:var(--muted);font-size:.65rem}.import-preview-table{max-width:100%;overflow:auto;border:1px solid var(--line);border-radius:7px}.import-preview-table table{min-width:max-content}.import-preview-table th,.import-preview-table td{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.import-approval-actions{position:sticky;z-index:20;bottom:0;display:flex;justify-content:flex-end;gap:8px;padding:10px;border:1px solid var(--line);background:var(--panel)}
.rich-text-toolbar{min-height:42px;gap:5px;padding:6px 7px;background:color-mix(in srgb,var(--ink) 7%,var(--panel))!important}.rich-text-toolbar button{display:inline-grid!important;width:32px!important;height:30px!important;border:1px solid color-mix(in srgb,var(--ink) 20%,var(--line))!important;background:var(--panel)!important;color:var(--ink)!important;-webkit-text-fill-color:var(--ink)!important;font-weight:800!important;opacity:1!important}.rich-text-toolbar .rich-text-ai-button{display:inline-flex!important;width:auto!important;margin-left:auto;padding:0 10px!important;gap:6px;background:linear-gradient(135deg,#2563eb,#7c3aed)!important;color:#fff!important;-webkit-text-fill-color:#fff!important}.rich-text-toolbar .rich-text-ai-button span{color:inherit!important}.rich-text-editor+.ai-textarea-toggle{display:none!important}
.workspace-fullscreen .operations-ticker-bar,.workspace-fullscreen #appSidebar,.workspace-fullscreen .mobile-nav-backdrop,.workspace-fullscreen .topbar{display:none!important}.workspace-fullscreen .shell{display:block!important}.workspace-fullscreen main{width:100%;max-width:none!important;padding:0!important}.workspace-fullscreen .pos-layout,.workspace-fullscreen .repair-workflow-shell{width:100%;max-width:none;margin:0}.workspace-fullscreen-toggle.is-active{position:fixed;z-index:11000;top:10px;right:10px;box-shadow:0 8px 24px rgba(0,0,0,.25)!important}
.pos-workspace-head-actions{display:flex;align-items:center;gap:7px}.customer-value-blocks>div{display:grid!important;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:8px;padding:9px!important;border:1px solid color-mix(in srgb,var(--accent) 25%,var(--line))!important;background:color-mix(in srgb,var(--accent) 6%,var(--field))!important}.customer-value-blocks>div>.ui-icon{width:32px;height:32px;padding:8px;border-radius:7px;background:linear-gradient(135deg,var(--accent),var(--accent-dark));color:var(--button-text)}.customer-value-blocks>div>span{display:grid;color:var(--muted);font-size:.62rem}.customer-value-blocks>div strong{color:var(--ink);font-size:.84rem}.payment-method-button.payment-method-rewards{border-color:#7c3aed!important;background:linear-gradient(135deg,#6d28d9,#9333ea)!important;color:#fff!important;-webkit-text-fill-color:#fff!important}.payment-method-button.payment-method-rewards *{color:inherit!important}.payment-method-button.payment-method-rewards .pos-payment-icon{background:rgba(255,255,255,.18)!important}
.cart-item-cell{display:grid!important;grid-template-columns:24px 42px minmax(0,1fr);align-items:center;gap:8px}.cart-sequence{display:grid;width:22px;height:22px;place-items:center;border-radius:50%;background:var(--ink);color:var(--panel);font-size:.62rem;font-weight:800}.cart-product-thumb{display:grid;width:40px;height:40px;place-items:center;overflow:hidden;border:1px solid var(--line);border-radius:6px;background:var(--field)}.cart-product-thumb img{width:100%;height:100%;object-fit:cover}.cart-product-thumb .ui-icon{width:18px;height:18px;color:var(--accent)}.cart-product-copy{display:grid;min-width:0;gap:2px}.cart-product-copy small{color:var(--muted)}.cart-item-note{margin-top:3px;color:var(--muted);font-size:.66rem;line-height:1.35}.cart-item-note p{margin:0}.receipt-disclaimer{margin-top:10px;padding-top:8px;border-top:1px solid var(--line);font-size:.76em;color:var(--muted)}
.pos-transaction-search,.repair-workflow-part-search{position:relative}.pos-transaction-search .search-results,.repair-workflow-part-results{z-index:120;width:min(560px,100%)!important;min-width:0!important;max-height:360px;overflow:auto;background:var(--panel)!important;color:var(--ink)!important}.repair-workflow-part-results button strong,.pos-transaction-search .search-results button strong{color:var(--ink)!important;-webkit-text-fill-color:var(--ink)!important}.repair-workflow-stage-notes{margin-top:18px}.repair-workflow-head-actions{flex-wrap:wrap}
.ai-composer-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:14px}.ai-composition-history{display:grid;align-content:start;gap:7px;padding:12px;border-left:1px solid var(--line)}.ai-composition-history header{margin-bottom:4px}.ai-composition-history button{display:grid;gap:3px;padding:10px;border:1px solid var(--line);border-radius:7px;background:var(--field)!important;color:var(--ink)!important;text-align:left;box-shadow:none!important}.ai-composition-history button span,.ai-composition-history button small{color:var(--muted);font-size:.62rem}.ai-composition-history button strong{color:var(--ink);font-size:.7rem;font-weight:650}
.commerce-heading-actions .hero-action-button,.commerce-heading-actions .button-link,.topbar-actions .hero-action-button{min-height:40px!important;max-width:220px!important;overflow:hidden}.commerce-heading-actions .button-label,.topbar-actions .button-label{color:inherit!important;-webkit-text-fill-color:currentColor!important}
@media(max-width:1000px){.draggable-navigation-form .drag-menu-list{grid-template-columns:1fr}.ai-composer-layout{grid-template-columns:1fr}.ai-composition-history{border-top:1px solid var(--line);border-left:0}.import-approval-summary{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.transaction-product-search-tools{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:6px}.pos-search-scan-wrap{display:grid!important;grid-template-columns:minmax(0,1fr) 46px;min-width:0}.transaction-product-search-tools>[data-open-quick-product]{width:46px!important;min-width:46px!important;max-width:46px!important;padding:0!important}.transaction-product-search-tools>[data-open-quick-product] .button-label{display:none}.pos-scan-button{width:46px!important;min-width:46px!important;max-width:46px!important;padding:0!important}.pos-scan-button .button-label{display:none}.cart-table tbody tr{padding:8px!important}.cart-item-cell{grid-template-columns:22px 36px minmax(0,1fr)}.cart-product-thumb{width:34px;height:34px}.repair-workflow-main>.repair-workflow-customer-card{margin:8px 8px 12px!important}.repair-workflow-head-actions{display:grid!important;grid-template-columns:1fr 1fr;width:100%}.repair-workflow-head-actions>*{width:100%!important}.import-approval-summary{grid-template-columns:1fr}.import-approval-actions{display:grid;grid-template-columns:1fr}.menu-editor-main-fields{grid-template-columns:1fr!important}}

/* ACPR POS 1.3.1 mobile transaction pricing */
.transaction-pricing-controls{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(150px,1fr) 120px minmax(190px,1.1fr);align-items:end;gap:9px;padding:11px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--accent) 4%,var(--panel))}.transaction-pricing-controls>div h4{margin:2px 0 0;font-size:.84rem}.transaction-pricing-controls label{margin:0}.transaction-pricing-message{grid-column:1/-1;min-height:16px;margin:0;color:var(--muted);font-size:.67rem}.transaction-tax-exempt{display:flex!important;align-items:center;min-height:42px;padding:7px 9px;border:1px solid color-mix(in srgb,var(--accent) 25%,var(--line));border-radius:7px;background:var(--field);cursor:pointer}.transaction-tax-exempt>input{width:17px;height:17px;margin:0 8px 0 0}.transaction-tax-exempt>span{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:0 6px;min-width:0}.transaction-tax-exempt .ui-icon{grid-row:1/3;width:18px;height:18px;color:var(--accent)}.transaction-tax-exempt strong{color:var(--ink);font-size:.72rem}.transaction-tax-exempt small{color:var(--muted);font-size:.61rem}.workflow-pricing-form{display:grid;grid-template-columns:minmax(0,1fr) 88px;gap:8px;padding:11px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--accent) 5%,var(--field))}.workflow-pricing-form .transaction-tax-exempt,.workflow-pricing-form>button,.workflow-pricing-form>p{grid-column:1/-1}.workflow-pricing-form>button{width:100%}

@media(max-width:760px){
  .module-register #searchResults:not(:empty){position:fixed!important;z-index:12000!important;right:10px!important;bottom:10px!important;left:10px!important;top:auto!important;width:auto!important;min-width:0!important;max-width:none!important;max-height:min(64dvh,520px)!important;padding:6px!important;overflow-y:auto!important;border-radius:10px!important;box-shadow:0 22px 70px rgba(15,23,42,.38)!important}
  .module-register #searchResults:not(:empty) button{grid-template-columns:44px minmax(0,1fr) auto!important;min-height:68px!important;padding:10px!important}
  .module-register .pos-items-table-wrap{overflow:visible!important}
  .module-register .cart-table,.module-register .cart-table tbody{display:block!important;width:100%!important}
  .module-register .cart-table thead{display:none!important}
  .module-register .cart-table tbody tr{display:grid!important;grid-template-columns:minmax(0,1fr) 72px 66px;gap:7px;width:100%!important;margin:0 0 8px;padding:10px!important;border:1px solid var(--line)!important;border-radius:8px;background:var(--panel)}
  .module-register .cart-table tbody td{display:block!important;width:auto!important;min-width:0!important;padding:0!important;border:0!important;text-align:left!important}
  .module-register .cart-table tbody td:before{display:block;margin-bottom:3px;color:var(--muted);font-size:.58rem;text-transform:uppercase}
  .module-register .cart-table .cart-item-cell{grid-column:1/-1;display:grid!important;grid-template-columns:24px 44px minmax(0,1fr)!important;gap:8px;padding-bottom:8px!important;border-bottom:1px solid var(--line)!important}
  .module-register .cart-product-thumb{width:44px;height:44px}.module-register .cart-product-copy strong{white-space:normal;overflow-wrap:anywhere}
  .module-register .cart-table tbody td:nth-child(4){text-align:right!important}
  .module-register .cart-table .cart-row-actions{grid-column:1/-1;display:grid!important;grid-template-columns:1fr 1fr;gap:7px;padding-top:3px!important}
  .module-register .cart-row-actions button{width:100%;min-width:0}
  .module-register .payment-method-buttons{grid-template-columns:1fr!important}
  .module-register .pos-payment-workspace .payment-method-button,.module-register .payment-method-button.payment-method-rewards{grid-template-columns:36px minmax(0,1fr) 14px!important;width:100%!important;min-height:62px!important;padding:9px 10px!important}
  .module-register .pos-payment-copy{min-width:0}.module-register .pos-payment-copy strong,.module-register .pos-payment-copy small{white-space:normal!important;overflow-wrap:anywhere}
  .transaction-pricing-controls{grid-template-columns:1fr 1fr}.transaction-pricing-controls>div,.transaction-pricing-controls .transaction-tax-exempt,.transaction-pricing-controls>p{grid-column:1/-1}
  .invoice-meta-grid .transaction-tax-exempt{min-height:46px}
}

/* ACPR POS 1.10.0: independent dashboard sizing, POS clarity, and operations services */
#appSidebar button.nav-submenu-toggle{
  all:unset!important;box-sizing:border-box!important;position:absolute!important;top:50%!important;right:7px!important;
  display:grid!important;width:18px!important;height:28px!important;min-width:18px!important;min-height:28px!important;
  place-items:center!important;transform:translateY(-50%)!important;cursor:pointer!important;color:color-mix(in srgb,var(--sidebar-text) 64%,transparent)!important;
}
#appSidebar button.nav-submenu-toggle:hover,#appSidebar button.nav-submenu-toggle:focus-visible{color:var(--accent)!important;background:transparent!important;box-shadow:none!important}
#appSidebar button.nav-submenu-toggle .ui-icon{width:12px!important;height:12px!important;transform:none!important;transition:transform .16s ease!important}
#appSidebar .nav-group.is-open button.nav-submenu-toggle .ui-icon{transform:rotate(90deg)!important}

.dashboard-module{min-height:0!important;align-self:start}
.dashboard-module-content,.dashboard-module-content>*{min-height:0!important}
.dashboard-module-height-compact{min-height:188px!important}
.dashboard-module-height-standard{min-height:330px!important}
.dashboard-module-height-tall{min-height:470px!important}
.dashboard-module-height-auto{min-height:0!important}
.dashboard-module-height-compact .dashboard-module-content{min-height:142px!important}
.dashboard-module[data-dashboard-module="store-stats"] .dashboard-stats{height:auto!important;min-height:0!important;align-content:stretch}
.dashboard-module[data-dashboard-module="store-stats"] .dashboard-stat{min-height:126px!important;padding:13px!important}
.dashboard-module[data-dashboard-module="store-stats"] .dashboard-stat-copy>strong{font-size:1.08rem!important}
.dashboard-height-control{margin-left:0!important}
.dashboard-height-control select{min-width:92px!important}
.dashboard-module-grid.is-editing .dashboard-module-content{min-height:0!important}

.module-register .pos-sidebar-customer-card{overflow:visible!important;border-color:color-mix(in srgb,var(--accent) 34%,var(--line))!important;background:linear-gradient(155deg,color-mix(in srgb,var(--accent) 6%,var(--panel)),var(--panel) 58%)!important}
.module-register .pos-sidebar-customer-card .repair-workflow-panel-head{padding:13px 14px!important;background:color-mix(in srgb,var(--accent) 7%,var(--field))!important}
.module-register .customer-add-button{width:auto!important;min-width:0!important;height:36px!important;min-height:36px!important;padding:6px 11px!important;border-radius:6px!important;gap:6px!important}
.module-register .customer-add-button .ui-icon{width:15px!important;height:15px!important}
.module-register .pos-sidebar-customer-preview{display:grid!important;gap:11px!important;padding:13px 14px!important}
.module-register .pos-customer-profile{display:grid;grid-template-columns:48px minmax(0,1fr);gap:11px;align-items:start}
.module-register .pos-customer-avatar{display:grid;width:48px;height:48px;place-items:center;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));border-radius:7px;background:color-mix(in srgb,var(--accent) 9%,var(--field));color:var(--accent);font-size:.82rem}
.module-register .pos-customer-avatar>img,.module-register .pos-customer-avatar img{width:100%;height:100%;object-fit:cover}
.module-register .pos-customer-avatar>.ui-icon{width:21px;height:21px}
.module-register .pos-customer-identity{display:grid;min-width:0;gap:4px}
.module-register .pos-customer-identity>strong{font-size:.93rem;font-weight:720;color:var(--ink)}
.module-register .pos-customer-role{width:max-content;max-width:100%;padding:2px 6px;border:1px solid color-mix(in srgb,var(--accent) 32%,var(--line));background:color-mix(in srgb,var(--accent) 8%,var(--field));color:var(--accent);font-size:.58rem;text-transform:uppercase}
.module-register .pos-customer-identity>small{color:var(--muted);font-size:.68rem}
.module-register .pos-customer-contacts{display:grid;gap:4px;margin-top:3px}
.module-register .pos-customer-contacts :is(a,p){display:grid;grid-template-columns:16px minmax(0,1fr);align-items:start;gap:6px;margin:0;color:var(--muted);font-size:.68rem;text-decoration:none;overflow-wrap:anywhere}
.module-register .pos-customer-contacts .ui-icon{width:14px;height:14px;margin-top:1px;color:var(--accent)}
.module-register .customer-value-blocks{display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px!important}
.module-register .customer-value-blocks>div{min-width:0!important;padding:8px!important}
.module-register .pos-sidebar-customer-actions{padding:9px 13px 13px!important;border-top:1px solid var(--line)}

.module-register .cart-table{font-size:.82rem!important}
.module-register .cart-table thead th{font-size:.67rem!important;letter-spacing:0!important}
.module-register .cart-table tbody td{padding-block:10px!important;color:var(--ink)!important}
.module-register .cart-product-copy{gap:3px!important}
.module-register .cart-product-copy strong{font-size:.88rem!important;line-height:1.3!important;font-weight:700!important;color:var(--ink)!important}
.module-register .cart-product-copy small{font-size:.68rem!important;line-height:1.3!important;color:var(--muted)!important}
.module-register .cart-price-cell,.module-register .cart-total-cell{font-size:.82rem!important;font-weight:650!important}
.module-register .cart-item-note,.module-register .cart-protection-tag{font-size:.65rem!important;line-height:1.35!important}
.module-register .payment-line-rewards{border-color:color-mix(in srgb,#8b5cf6 45%,var(--line))!important;background:color-mix(in srgb,#8b5cf6 8%,var(--field))!important}
.module-register .pos-protection-mobile{grid-column:1/-1!important;width:100%!important;max-width:none!important;margin:0 0 10px!important}

.receipt-template-preview-panel{overflow:visible}
.receipt-template-preview.is-a4{width:min(100%,560px)!important;min-height:0!important;aspect-ratio:210/297;padding:clamp(24px,5.6%,42px)!important;border:1px solid #c8ced6!important;box-shadow:0 3px 8px rgba(15,23,42,.12),0 28px 65px rgba(15,23,42,.17)!important}
.receipt-template-preview.is-thermal{position:relative;width:min(100%,var(--preview-width,80mm))!important;min-height:520px!important;padding:20px 14px 28px!important;border:0!important;box-shadow:0 3px 8px rgba(15,23,42,.12),0 22px 50px rgba(15,23,42,.18)!important}
.receipt-template-preview.is-thermal:after{content:"";position:absolute;right:0;bottom:-8px;left:0;height:9px;background:linear-gradient(135deg,transparent 5px,#fff 0) 0 0/10px 10px repeat-x}

.inventory-metric-grid,.protection-claim-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 14px}
.inventory-metric-grid article,.protection-claim-metrics article{display:grid;grid-template-columns:38px minmax(0,1fr);gap:2px 10px;padding:13px;border:1px solid var(--line);background:var(--panel)}
.inventory-metric-grid article>span,.protection-claim-metrics article>span{grid-row:1/4;display:grid;width:38px;height:38px;place-items:center;background:color-mix(in srgb,var(--accent) 10%,var(--field));color:var(--accent)}
.inventory-metric-grid small,.protection-claim-metrics small{color:var(--muted)}
.inventory-metric-grid strong,.protection-claim-metrics strong{font-size:1.05rem}
.inventory-metric-grid em{color:var(--muted);font-size:.62rem;font-style:normal}
.forecast-settings,.backup-schedule-panel,.backup-history-panel{display:grid;gap:14px;margin-top:14px;padding:16px}
.protection-claim-list{display:grid}
.protection-claim-list>a{display:grid;grid-template-columns:38px minmax(170px,1.5fr) minmax(100px,.65fr) minmax(110px,.75fr) auto 18px;align-items:center;gap:10px;padding:11px 13px;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}
.protection-claim-list>a:hover{background:color-mix(in srgb,var(--accent) 6%,var(--field))}
.protection-claim-list>a>div{display:grid;min-width:0}.protection-claim-list small{color:var(--muted)}
.backup-history-list,.notification-center>div{display:grid}
.backup-history-list article{display:grid;grid-template-columns:28px minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--line)}
.backup-history-list article>div{display:grid}.backup-history-list small{color:var(--muted)}
.notification-center{overflow:hidden}.notification-center>nav{display:flex;gap:0;border-bottom:1px solid var(--line);background:var(--field)}
.notification-center>nav a{padding:10px 15px;border-right:1px solid var(--line);color:var(--muted);text-decoration:none}
.notification-center>nav a.active{background:var(--panel);color:var(--accent);box-shadow:inset 0 -2px var(--accent)}
.notification-record{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:11px;padding:13px;border-bottom:1px solid var(--line)}
.notification-record>span{display:grid;width:38px;height:38px;place-items:center;background:var(--field);color:var(--accent)}
.notification-record>div:nth-child(2){display:grid;gap:3px}.notification-record h3,.notification-record p{margin:0}.notification-record p,.notification-record small{color:var(--muted)}
.notification-record.is-unread{background:color-mix(in srgb,var(--accent) 5%,var(--panel));box-shadow:inset 3px 0 var(--accent)}
.notification-record.is-critical>span{color:#dc2626;background:color-mix(in srgb,#dc2626 10%,var(--field))}
.top-notification-menu{position:relative}.top-notification-toggle{position:relative;display:grid!important;width:34px!important;height:34px!important;min-height:34px!important;padding:0!important;place-items:center!important}
.top-notification-toggle>span{position:absolute;top:-5px;right:-5px;display:grid;min-width:17px;height:17px;padding:0 4px;place-items:center;border:2px solid var(--panel);border-radius:99px;background:#ef4444;color:#fff;font-size:.55rem}
.top-notification-dropdown{position:absolute;z-index:32000;top:calc(100% + 8px);right:0;display:none;width:min(360px,calc(100vw - 20px));overflow:hidden;border:1px solid var(--line);background:var(--panel);box-shadow:0 22px 60px rgba(15,23,42,.3)}
.top-notification-menu.is-open .top-notification-dropdown{display:grid}.top-notification-dropdown header{display:flex;justify-content:space-between;gap:10px;padding:11px;border-bottom:1px solid var(--line)}
.top-notification-dropdown header>div{display:grid}.top-notification-dropdown header small{color:var(--muted)}
.top-notification-dropdown>a{display:grid;grid-template-columns:30px minmax(0,1fr);gap:8px;padding:10px;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}
.top-notification-dropdown>a>span{display:grid;width:30px;height:30px;place-items:center;background:var(--field);color:var(--accent)}.top-notification-dropdown>a>div{display:grid;min-width:0}.top-notification-dropdown>a small{overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}
.top-notification-dropdown>a.is-unread{background:color-mix(in srgb,var(--accent) 6%,var(--panel))}
.product-brand-mark img{width:100%;height:100%;object-fit:contain}
.product-brand-logo-preview{display:grid;width:96px;height:96px;place-items:center;overflow:hidden;border:1px solid var(--line);background:var(--field)}
.product-brand-logo-preview img{width:100%;height:100%;object-fit:contain}
.protection-product-picker>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.protection-product-picker label{margin:0}.protection-product-picker label>span{display:grid;padding:9px;border:1px solid var(--line);background:var(--field)}
.protection-product-picker input:checked+span{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--panel));box-shadow:inset 3px 0 var(--accent)}

@media(max-width:760px){
  .dashboard-module-height-compact,.dashboard-module-height-standard,.dashboard-module-height-tall,.dashboard-module-height-auto{min-height:0!important}
  .dashboard-module-control{grid-template-columns:auto minmax(0,1fr)!important}.dashboard-size-control,.dashboard-height-control{margin:0!important}.dashboard-module-control>.tag{display:none}
  .module-register .pos-sidebar-customer-card{width:calc(100% - 16px)!important;margin:8px!important}
  .module-register .pos-customer-profile{grid-template-columns:44px minmax(0,1fr)}.module-register .pos-customer-avatar{width:44px;height:44px}
  .module-register .cart-table tbody tr{box-sizing:border-box!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;width:100%!important;max-width:none!important;padding:12px!important}
  .module-register .cart-table tbody td{box-sizing:border-box!important;width:100%!important;max-width:none!important;min-width:0!important;font-size:.82rem!important}
  .module-register .cart-table .cart-item-cell{grid-column:1/-1!important;display:grid!important;grid-template-columns:25px 48px minmax(0,1fr)!important;width:100%!important;max-width:none!important}
  .module-register .cart-product-thumb{width:46px!important;height:46px!important}.module-register .cart-product-copy strong{font-size:.92rem!important}.module-register .cart-product-copy small{font-size:.72rem!important}
  .module-register .cart-price-cell,.module-register .cart-qty-cell,.module-register .cart-total-cell{width:100%!important;min-height:58px!important}
  .module-register .pos-payment-body{display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:100%!important}
  .module-register .pos-protection-mobile{grid-column:1!important;display:grid!important;width:100%!important;max-width:none!important;margin:0!important}
  .inventory-metric-grid,.protection-claim-metrics{grid-template-columns:1fr}.protection-claim-list>a{grid-template-columns:34px minmax(0,1fr) auto}.protection-claim-list>a>div:nth-of-type(n+2){display:none}.protection-claim-list>a>.subscription-status{grid-column:2;justify-self:start}.protection-claim-list>a>.ui-icon:last-child{grid-column:3;grid-row:1/3}
  .backup-history-list article{grid-template-columns:26px minmax(0,1fr)}.backup-history-list article>span:not(:first-child),.backup-history-list article>time{grid-column:2}
  .notification-record{grid-template-columns:34px minmax(0,1fr)}.notification-record>.toolbar-actions{grid-column:2;justify-content:flex-start}
  .protection-product-picker>div{grid-template-columns:1fr}
  .receipt-template-preview.is-a4{width:100%!important;padding:18px 14px!important}.receipt-template-preview.is-thermal{width:min(100%,var(--preview-width,80mm))!important}
}

/* ACPR POS 1.9.1: catalog brands, truth health center, and isolated premium themes */
.product-brand-heading{margin-bottom:10px}.product-brand-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:10px}.product-brand-metrics article{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:9px;padding:12px;border:1px solid var(--line);background:var(--panel)}.product-brand-metrics article>span{display:grid;width:34px;height:34px;place-items:center;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));background:color-mix(in srgb,var(--accent) 9%,var(--field));color:var(--accent)}.product-brand-metrics article>span .ui-icon{width:17px;height:17px}.product-brand-metrics article>div{display:grid}.product-brand-metrics small{color:var(--muted);font-size:.6rem}.product-brand-metrics strong{font-size:1.1rem}.product-brand-workspace{padding:0;overflow:hidden}.product-brand-filters{display:grid;grid-template-columns:minmax(250px,1fr) minmax(130px,.35fr) minmax(150px,.45fr) auto auto;align-items:end;gap:8px;padding:12px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--field) 75%,var(--panel))}.product-brand-filters>label{display:grid;gap:5px;margin:0;color:var(--muted);font-size:.62rem}.product-brand-search{position:relative}.product-brand-search>span{position:absolute;z-index:1;left:11px;bottom:10px;color:var(--muted)}.product-brand-search .ui-icon{width:15px;height:15px}.product-brand-search input{padding-left:34px}.product-brand-list{display:grid}.product-brand-row{display:grid;grid-template-columns:42px minmax(0,1fr) 150px auto;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid var(--line);background:var(--panel)}.product-brand-row:last-child{border-bottom:0}.product-brand-row:hover{background:color-mix(in srgb,var(--accent) 4%,var(--panel))}.product-brand-mark{display:grid;width:42px;height:42px;place-items:center;border:1px solid color-mix(in srgb,var(--accent) 45%,var(--line));background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 14%,var(--panel)),var(--field));color:var(--accent);font-size:.72rem;font-weight:760}.product-brand-mark.is-large{width:76px;height:76px;font-size:1.05rem}.product-brand-identity{display:grid;min-width:0;gap:5px}.product-brand-identity>div{display:flex;align-items:center;gap:8px}.product-brand-identity a{color:var(--ink);text-decoration:none}.product-brand-identity a:hover{color:var(--accent)}.product-brand-identity p{margin:0;color:var(--muted);font-size:.65rem;overflow-wrap:anywhere}.product-brand-types{display:flex;flex-wrap:wrap;gap:4px}.product-brand-types span{padding:2px 6px;border:1px solid var(--line);background:var(--field);color:var(--muted);font-size:.55rem}.product-brand-counts{display:grid;grid-template-columns:1fr 1fr;gap:6px}.product-brand-counts>span{display:grid;padding:7px;border-left:2px solid color-mix(in srgb,var(--accent) 55%,var(--line));background:var(--field)}.product-brand-counts small{color:var(--muted);font-size:.54rem}.product-brand-counts strong{font-size:.78rem}.product-brand-actions{display:flex;align-items:center;justify-content:flex-end;gap:5px}.product-brand-actions form{margin:0}.product-brand-actions .icon-button{width:34px;height:34px;min-height:34px}.product-brand-editor-layout{display:grid;grid-template-columns:minmax(220px,.55fr) minmax(0,1.45fr);gap:12px;align-items:start}.product-brand-editor-summary{display:grid;gap:9px;padding:18px;border-top:4px solid var(--accent)}.product-brand-editor-summary h3{margin:2px 0 0}.product-brand-editor-summary>p{margin:0;color:var(--muted);font-size:.68rem}.product-brand-editor-summary dl{display:grid;margin:8px 0 0}.product-brand-editor-summary dl>div{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-top:1px solid var(--line)}.product-brand-editor-summary dt{color:var(--muted)}.product-brand-editor-summary dd{margin:0;font-weight:700}.product-brand-editor-summary ul{display:grid;gap:8px;margin:5px 0 0;padding-left:18px;color:var(--muted)}.product-brand-editor-form{display:grid;gap:12px;padding:18px}.product-brand-editor-form h3{margin:0}.product-brand-device-picker{margin:0;padding:13px;border:1px solid var(--line)}.product-brand-device-picker legend{padding:0 6px;font-weight:700}.product-brand-device-picker>p{margin:0 0 10px;color:var(--muted);font-size:.65rem}.product-brand-device-picker>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.product-brand-device-picker label{display:flex;align-items:center;gap:7px;margin:0;padding:8px;border:1px solid var(--line);background:var(--field);cursor:pointer}.product-brand-device-picker input{width:16px;height:16px}.product-brand-form-actions{display:flex;justify-content:flex-end;padding-top:4px}.product-brand-form-actions button{min-width:170px}

.health-truth-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:10px;padding:15px 17px;border:1px solid color-mix(in srgb,var(--accent) 32%,var(--line));border-left:4px solid var(--accent);background:linear-gradient(110deg,color-mix(in srgb,var(--accent) 10%,var(--panel)),var(--panel))}.health-truth-heading>div{display:flex;align-items:center;gap:11px}.health-truth-heading h2{margin:2px 0 3px;font-size:1.25rem}.health-truth-heading p{margin:0;color:var(--muted);font-size:.67rem}.health-heading-actions{justify-content:flex-end}.health-heading-actions>span{color:var(--muted);font-size:.62rem}.health-truth-overview{display:grid;grid-template-columns:minmax(320px,1.7fr) repeat(3,minmax(130px,.7fr));gap:9px;margin-bottom:10px}.health-truth-overview>article{display:grid;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:9px;padding:13px;border:1px solid var(--line);border-top:3px solid var(--accent);background:var(--panel)}.health-truth-overview>article>span{display:grid;width:36px;height:36px;place-items:center;background:var(--field);color:var(--accent)}.health-truth-overview>article>span .ui-icon{width:18px;height:18px}.health-truth-overview>article>div{display:grid}.health-truth-overview small,.health-truth-overview em{color:var(--muted);font-size:.57rem;font-style:normal}.health-truth-overview strong{font-size:1.15rem}.health-score-card{grid-template-columns:84px minmax(0,1fr)!important;border-top-color:var(--success)!important}.health-score-card.is-warning{border-top-color:var(--warning)!important}.health-score-card.is-critical{border-top-color:var(--danger)!important}.health-score-ring{display:grid;width:76px;height:76px;place-items:center;border-radius:50%;background:conic-gradient(var(--success) calc(var(--health-score)*1%),color-mix(in srgb,var(--line) 70%,transparent) 0);position:relative}.health-score-card.is-warning .health-score-ring{background:conic-gradient(var(--warning) calc(var(--health-score)*1%),color-mix(in srgb,var(--line) 70%,transparent) 0)}.health-score-card.is-critical .health-score-ring{background:conic-gradient(var(--danger) calc(var(--health-score)*1%),color-mix(in srgb,var(--line) 70%,transparent) 0)}.health-score-ring::after{content:"";position:absolute;inset:7px;border-radius:50%;background:var(--panel)}.health-score-ring>span{position:relative;z-index:1;display:flex;align-items:baseline}.health-score-ring strong{font-size:1.35rem}.health-score-ring small{font-size:.58rem}.health-score-card h3{margin:2px 0;font-size:1.05rem}.health-score-card p{margin:0;color:var(--muted);font-size:.62rem}.health-truth-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;padding:7px;border:1px solid var(--line);background:var(--panel)}.health-filter-tabs{display:flex;align-items:center;gap:3px}.health-filter-tabs button{min-height:32px;padding:5px 10px;border:0!important;background:transparent!important;color:var(--muted)!important;box-shadow:none!important}.health-filter-tabs button.active{background:color-mix(in srgb,var(--accent) 12%,var(--field))!important;color:var(--accent)!important}.health-truth-toolbar>span{padding-right:7px;color:var(--muted);font-size:.61rem}.health-truth-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:10px;align-items:start}.health-truth-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.health-truth-check{padding:0;border:1px solid var(--line);border-left:3px solid var(--success);background:var(--panel);overflow:hidden}.health-truth-check.is-warning{border-left-color:var(--warning)}.health-truth-check.is-critical{border-left-color:var(--danger)}.health-truth-check.is-info{border-left-color:var(--accent)}.health-truth-check>header{display:flex;align-items:center;justify-content:space-between;padding:8px 11px;border-bottom:1px solid var(--line);background:var(--field)}.health-truth-check>header span{color:var(--muted);font-size:.55rem;text-transform:uppercase}.health-truth-check>header em{padding:2px 6px;background:color-mix(in srgb,var(--success) 12%,var(--panel));color:var(--success);font-size:.53rem;font-style:normal}.health-truth-check.is-warning>header em{background:color-mix(in srgb,var(--warning) 12%,var(--panel));color:var(--warning)}.health-truth-check.is-critical>header em{background:color-mix(in srgb,var(--danger) 12%,var(--panel));color:var(--danger)}.health-check-title{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 11px 4px}.health-check-title>div{display:grid}.health-check-title h3{margin:0;font-size:.75rem}.health-check-title strong{margin-top:3px;font-size:.93rem}.health-points{display:flex;align-items:baseline;gap:2px;padding:5px 7px;border:1px solid color-mix(in srgb,var(--success) 35%,var(--line));color:var(--success);font-size:.78rem;font-weight:750}.health-points.has-deduction{border-color:color-mix(in srgb,var(--danger) 45%,var(--line));color:var(--danger)}.health-points small{font-size:.48rem}.health-truth-check>p{min-height:38px;margin:0;padding:4px 11px 11px;color:var(--muted);font-size:.61rem;line-height:1.45}.health-truth-check details{border-top:1px solid var(--line);background:color-mix(in srgb,var(--field) 60%,var(--panel))}.health-truth-check summary{padding:8px 11px;cursor:pointer;color:var(--ink);font-size:.62rem;font-weight:680}.health-truth-check details>div{padding:0 11px 10px}.health-truth-check details p{margin:0 0 8px;color:var(--muted);font-size:.6rem;line-height:1.45}.health-truth-check details .button-link{min-height:30px;padding:4px 8px;font-size:.58rem}.health-remediation-rail{position:sticky;top:10px;display:grid;gap:8px;padding:14px;border:1px solid var(--line);border-top:4px solid var(--danger);background:var(--panel)}.health-remediation-rail h3{margin:0 0 3px}.health-remediation-rail>p{margin:5px 0 0;color:var(--muted);font-size:.59rem;line-height:1.45}.health-remediation-rail>div{display:grid}.health-remediation-rail article{display:grid;grid-template-columns:25px minmax(0,1fr) 22px;align-items:center;gap:7px;padding:9px 0;border-top:1px solid var(--line)}.health-remediation-rail article>span{display:grid;width:24px;height:24px;place-items:center;background:color-mix(in srgb,var(--danger) 12%,var(--field));color:var(--danger);font-size:.62rem;font-weight:760}.health-remediation-rail article>div{display:grid}.health-remediation-rail article strong{font-size:.65rem}.health-remediation-rail article small{color:var(--muted);font-size:.53rem}.health-remediation-rail article>a{display:grid;width:22px;height:22px;place-items:center;color:var(--accent);text-decoration:none}.health-all-clear{display:grid;gap:3px;padding:14px 0;border-top:1px solid var(--line);color:var(--success)}.health-all-clear span{color:var(--muted);font-size:.6rem}

/* Synthwave Arcade owns its geometry, horizon, and lighting. */
body.theme-preset-dark-synthwave-arcade{--background:#090319;--panel:#16082d;--field:#210d3d;--ink:#fff8ff;--muted:#c5a9df;--line:#ac2aa0;--accent:#ff3ac8;--accent-dark:#ff7a18;background-color:#090319!important;background-image:linear-gradient(180deg,rgba(255,58,200,.09),transparent 32%),linear-gradient(rgba(104,247,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(104,247,255,.055) 1px,transparent 1px)!important;background-size:auto,32px 32px,32px 32px!important}body.theme-preset-dark-synthwave-arcade :is(.panel,.settings-form-surface,.dashboard-module-content>*,.modal-card){border:1px solid #ff3ac8!important;border-bottom-color:#68f7ff!important;background:linear-gradient(155deg,rgba(33,13,61,.96),rgba(14,4,32,.97))!important;box-shadow:8px 8px 0 rgba(104,247,255,.1),0 0 22px rgba(255,58,200,.2)!important;clip-path:polygon(0 0,calc(100% - 13px) 0,100% 13px,100% 100%,13px 100%,0 calc(100% - 13px))}body.theme-preset-dark-synthwave-arcade table{border:1px solid #6858ff!important;background:#100521!important}body.theme-preset-dark-synthwave-arcade thead th{background:linear-gradient(90deg,#32105d,#541253)!important;color:#68f7ff!important;text-shadow:0 0 7px rgba(104,247,255,.7)}body.theme-preset-dark-synthwave-arcade tbody tr:hover{background:rgba(255,58,200,.12)!important}body.theme-preset-dark-synthwave-arcade :is(input,select,textarea,.rich-text-surface){border-color:#674188!important;background:#0d061d!important;color:#fff8ff!important}body.theme-preset-dark-synthwave-arcade :is(input,select,textarea):focus{border-color:#68f7ff!important;box-shadow:0 0 0 1px #68f7ff,0 0 15px rgba(104,247,255,.42)!important}body.theme-preset-dark-synthwave-arcade #appSidebar{background:linear-gradient(180deg,#080116,#19052c)!important;border-right:1px solid #ff3ac8!important;box-shadow:7px 0 25px rgba(255,58,200,.2)!important}body.theme-preset-dark-synthwave-arcade #appSidebar .nav-primary-row>a.active{background:linear-gradient(90deg,rgba(255,58,200,.28),rgba(104,247,255,.12))!important;box-shadow:inset 3px 0 #68f7ff!important}body.theme-preset-dark-synthwave-arcade .operations-ticker-bar{background:#10031f!important;border-bottom:1px solid #68f7ff!important}body.theme-preset-dark-synthwave-arcade :is(.button-link,.hero-action-button,button:not(.neutral-button):not(.danger-button)){clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%);border-color:#ff3ac8!important;box-shadow:0 0 13px rgba(255,58,200,.38)!important}body.theme-preset-dark-synthwave-arcade .section-kicker{color:#68f7ff!important;text-shadow:0 0 7px rgba(104,247,255,.6)}

/* Blueprint Lab behaves like a measured technical drawing instead of a generic light skin. */
body.theme-preset-light-blueprint-lab{--background:#eaf3ff;--panel:#fafdff;--field:#fff;--ink:#082b55;--muted:#41658a;--line:#2f73b8;--accent:#0057c8;--accent-dark:#00357a;background-color:#eaf3ff!important;background-image:linear-gradient(rgba(47,115,184,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(47,115,184,.09) 1px,transparent 1px),linear-gradient(rgba(47,115,184,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(47,115,184,.045) 1px,transparent 1px)!important;background-size:40px 40px,40px 40px,8px 8px,8px 8px!important}body.theme-preset-light-blueprint-lab :is(.panel,.settings-form-surface,.dashboard-module-content>*,.modal-card){position:relative;border:1px solid #2f73b8!important;border-radius:0!important;background:rgba(250,253,255,.96)!important;box-shadow:4px 4px 0 rgba(0,87,200,.12)!important}body.theme-preset-light-blueprint-lab :is(.panel,.settings-form-surface)::before{content:"";position:absolute;z-index:1;top:-3px;left:13px;width:18px;height:5px;border-inline:1px solid #0057c8;background:#eaf3ff;pointer-events:none}body.theme-preset-light-blueprint-lab :is(button,.button-link,input,select,textarea,.tag,.settings-tab,.settings-subtab,table){border-radius:0!important}body.theme-preset-light-blueprint-lab thead th{border-color:#2f73b8!important;background:#d7eaff!important;color:#063d78!important;text-transform:uppercase}body.theme-preset-light-blueprint-lab tbody tr:nth-child(even){background:rgba(215,234,255,.45)!important}body.theme-preset-light-blueprint-lab :is(input,select,textarea,.rich-text-surface){border-color:#6595c6!important;background:rgba(255,255,255,.92)!important;color:#082b55!important}body.theme-preset-light-blueprint-lab :is(input,select,textarea):focus{border-color:#0057c8!important;box-shadow:inset 3px 0 #0057c8!important}body.theme-preset-light-blueprint-lab #appSidebar{border-right:2px solid #76f1ff!important;background:#073769!important;background-image:linear-gradient(rgba(118,241,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(118,241,255,.055) 1px,transparent 1px)!important;background-size:20px 20px!important}body.theme-preset-light-blueprint-lab #appSidebar .nav-primary-row>a.active{background:#d7eaff!important;color:#063d78!important;box-shadow:inset 4px 0 #76f1ff!important}body.theme-preset-light-blueprint-lab .operations-ticker-bar{border-bottom:2px solid #0057c8!important;background:#fafdff!important}body.theme-preset-light-blueprint-lab .section-kicker{color:#0057c8!important}body.theme-preset-light-blueprint-lab :is(.hero-action-button,button:not(.neutral-button):not(.danger-button),.button-link:not(.neutral-button):not(.danger-button)){border:1px solid #00357a!important;box-shadow:3px 3px 0 #76f1ff!important}

/* Pop Control Room is intentionally loud: hard outlines, offset blocks, and primary-color controls. */
body.theme-preset-light-pop-control-room{--background:#f5f1e8;--panel:#fffdf7;--field:#fff;--ink:#111;--muted:#4b4b4b;--line:#111;--accent:#ff3b30;--accent-dark:#ffcc00;background:#f5f1e8!important;background-image:linear-gradient(135deg,rgba(0,184,217,.08) 25%,transparent 25%),linear-gradient(315deg,rgba(255,204,0,.1) 25%,transparent 25%)!important;background-size:44px 44px!important}body.theme-preset-light-pop-control-room :is(.panel,.settings-form-surface,.dashboard-module-content>*,.modal-card){border:2px solid #111!important;border-radius:0!important;background:#fffdf7!important;box-shadow:7px 7px 0 #111!important}body.theme-preset-light-pop-control-room :is(button,.button-link,input,select,textarea,.tag,.settings-tab,.settings-subtab,table){border-radius:0!important}body.theme-preset-light-pop-control-room table{border:2px solid #111!important;box-shadow:6px 6px 0 #00b8d9!important}body.theme-preset-light-pop-control-room thead th{border-color:#111!important;background:#ffcc00!important;color:#111!important;text-transform:uppercase!important}body.theme-preset-light-pop-control-room tbody tr:nth-child(even){background:#f0fbfd!important}body.theme-preset-light-pop-control-room tbody tr:hover{background:#fff2a8!important}body.theme-preset-light-pop-control-room :is(input,select,textarea,.rich-text-surface){border:2px solid #111!important;background:#fff!important;color:#111!important;box-shadow:3px 3px 0 #00b8d9!important}body.theme-preset-light-pop-control-room :is(input,select,textarea):focus{box-shadow:4px 4px 0 #ff3b30!important;outline:none!important}body.theme-preset-light-pop-control-room #appSidebar{border-right:3px solid #111!important;background:#111!important;box-shadow:8px 0 0 #00b8d9!important}body.theme-preset-light-pop-control-room #appSidebar .nav-primary-row>a.active{border:1px solid #111!important;background:#ffcc00!important;color:#111!important;box-shadow:4px 4px 0 #ff3b30!important}body.theme-preset-light-pop-control-room .operations-ticker-bar{border-bottom:3px solid #111!important;background:#00b8d9!important;color:#111!important}body.theme-preset-light-pop-control-room .operations-ticker-bar :is(span,strong,.ui-icon){color:#111!important}body.theme-preset-light-pop-control-room :is(.hero-action-button,button:not(.neutral-button):not(.danger-button),.button-link:not(.neutral-button):not(.danger-button)){border:2px solid #111!important;background:linear-gradient(90deg,#ff3b30,#ffcc00)!important;color:#111!important;box-shadow:4px 4px 0 #111!important}body.theme-preset-light-pop-control-room :is(.neutral-button,.button-link.neutral-button){border:2px solid #111!important;background:#fff!important;color:#111!important;box-shadow:3px 3px 0 #00b8d9!important}body.theme-preset-light-pop-control-room .section-kicker{display:inline-block;padding:2px 5px;background:#ffcc00!important;color:#111!important}

@media(max-width:980px){.product-brand-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.product-brand-row{grid-template-columns:42px minmax(0,1fr) auto}.product-brand-counts{grid-column:2}.product-brand-actions{grid-column:3;grid-row:1/3}.product-brand-filters{grid-template-columns:minmax(220px,1fr) 1fr 1fr}.product-brand-filters>button,.product-brand-filters>a{grid-row:2}.health-truth-overview{grid-template-columns:repeat(3,minmax(0,1fr))}.health-score-card{grid-column:1/-1}.health-truth-layout{grid-template-columns:1fr}.health-remediation-rail{position:static;grid-row:1}.health-remediation-rail>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}}
@media(max-width:720px){.product-brand-heading{align-items:stretch}.product-brand-heading .hero-action-button{width:100%}.product-brand-filters{grid-template-columns:1fr 1fr}.product-brand-search{grid-column:1/-1}.product-brand-row{grid-template-columns:38px minmax(0,1fr);align-items:start;padding:11px}.product-brand-mark{width:38px;height:38px}.product-brand-counts{grid-column:1/-1}.product-brand-actions{grid-column:1/-1;grid-row:auto;padding-top:7px;border-top:1px solid var(--line)}.product-brand-actions .button-link{flex:1}.product-brand-editor-layout{grid-template-columns:1fr}.product-brand-editor-summary{order:2}.product-brand-device-picker>div{grid-template-columns:repeat(2,minmax(0,1fr))}.health-truth-heading{align-items:stretch;flex-direction:column}.health-heading-actions{align-items:flex-start!important;flex-direction:column}.health-truth-overview{grid-template-columns:1fr 1fr}.health-score-card{grid-column:1/-1}.health-truth-checks{grid-template-columns:1fr}.health-truth-toolbar{align-items:stretch;flex-direction:column}.health-filter-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.health-filter-tabs button{padding-inline:5px}.health-truth-toolbar>span{padding:0 5px}.health-remediation-rail>div{grid-template-columns:1fr}}
@media(max-width:460px){.product-brand-metrics{grid-template-columns:1fr 1fr}.product-brand-filters{grid-template-columns:1fr}.product-brand-search{grid-column:auto}.product-brand-filters>button,.product-brand-filters>a{grid-row:auto}.product-brand-device-picker>div{grid-template-columns:1fr}.health-truth-overview{grid-template-columns:1fr}.health-score-card{grid-template-columns:72px minmax(0,1fr)!important}.health-score-ring{width:66px;height:66px}}

/* ACPR POS 1.3.2 button system and compact sales ledger */
.hero-action-button {
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:42px;
  padding:9px 14px!important;
  border:1px solid color-mix(in srgb,var(--hero-button-text) 18%,transparent)!important;
  border-radius:var(--radius-button);
  font:inherit;
  font-weight:760;
  line-height:1.15;
  text-decoration:none;
  white-space:nowrap;
  cursor:pointer;
}
.hero-action-button>.ui-icon{width:19px!important;height:19px!important;flex:0 0 19px;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;filter:drop-shadow(0 1px 1px rgba(0,0,0,.28))}
.hero-action-button>.button-label{color:var(--hero-button-text)!important;-webkit-text-fill-color:var(--hero-button-text)!important;background:none!important}

.button-link:not(.neutral-button):not(.danger-button):not(.settings-subtab):not(.category-filter-button):not(.customer-clear-button):not(.cart-edit-button){
  border:1px solid color-mix(in srgb,var(--secondary-button-text) 18%,transparent)!important;
  background:var(--secondary-button-bg)!important;
  color:var(--secondary-button-text)!important;
  -webkit-text-fill-color:var(--secondary-button-text)!important;
}
.button-link:not(.neutral-button):not(.danger-button):not(.settings-subtab):not(.category-filter-button):not(.customer-clear-button):not(.cart-edit-button):hover{background:var(--secondary-button-hover-bg)!important;color:var(--secondary-button-text)!important}
.button-link:not(.neutral-button):not(.danger-button):not(.settings-subtab):not(.category-filter-button):not(.customer-clear-button):not(.cart-edit-button)>.ui-icon{color:var(--secondary-button-icon-start)!important;--ui-icon-gradient-start:var(--secondary-button-icon-start);--ui-icon-gradient-end:var(--secondary-button-icon-end);filter:none!important}
.button-link:not(.neutral-button):not(.danger-button):not(.settings-subtab):not(.category-filter-button):not(.customer-clear-button):not(.cart-edit-button)>.button-label{background-image:var(--secondary-button-text-gradient)!important;color:var(--secondary-button-text-fill)!important;-webkit-text-fill-color:var(--secondary-button-text-fill)!important;text-shadow:none!important}
.button-theme-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:-2px -2px 10px;padding-bottom:8px;border-bottom:1px solid var(--line);color:var(--ink);font-size:.73rem}.button-theme-title code{color:var(--muted);font-size:.59rem;font-weight:600}

.sales-filter-shell{display:grid;gap:0;border-bottom:1px solid var(--line)}
.sales-filter-primary{display:grid;grid-template-columns:minmax(260px,1.7fr) 142px 142px 132px auto;align-items:end;gap:8px;padding:12px}
.sales-filter-primary label,.sales-filter-advanced-grid label{margin-bottom:4px;font-size:.62rem}
.sales-filter-primary input,.sales-filter-primary select,.sales-filter-advanced-grid input,.sales-filter-advanced-grid select{min-height:38px;padding-block:7px}
.sales-filter-submit{min-height:38px;padding:7px 12px}
.sales-filter-utility-row{position:relative;display:flex;align-items:center;gap:9px;min-width:0;padding:8px 12px;border-top:1px solid var(--line);background:color-mix(in srgb,var(--field) 78%,var(--panel))}
.sales-quick-ranges{display:flex;align-items:center;gap:4px;min-width:0;padding:0!important}
.sales-quick-ranges>span{margin-right:3px;color:var(--muted);font-size:.59rem;font-weight:720;text-transform:uppercase}
.sales-quick-ranges>a,.sales-filter-reset{display:inline-flex;align-items:center;min-height:28px;padding:5px 8px;border:1px solid var(--line);border-radius:5px;background:var(--panel);color:var(--ink);font-size:.63rem;font-weight:680;text-decoration:none}
.sales-quick-ranges>a:hover,.sales-filter-reset:hover{border-color:var(--accent);color:var(--accent)}
.sales-filter-reset{margin-left:auto;gap:4px}.sales-filter-reset .ui-icon{width:13px;height:13px;color:var(--danger)}
.sales-advanced-filters{position:relative;margin-left:auto}
.sales-advanced-filters>summary{display:flex;align-items:center;gap:6px;min-height:30px;padding:5px 9px;border:1px solid color-mix(in srgb,var(--accent) 25%,var(--line));border-radius:5px;background:var(--panel);color:var(--ink);font-size:.64rem;font-weight:700;cursor:pointer;list-style:none}
.sales-advanced-filters>summary::-webkit-details-marker{display:none}.sales-advanced-filters>summary .ui-icon{width:14px;height:14px;color:var(--accent)}
.sales-advanced-filters[open]>summary{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--panel))}
.sales-filter-advanced-grid{position:absolute;z-index:100;top:calc(100% + 7px);right:0;display:grid;grid-template-columns:repeat(3,minmax(145px,1fr));gap:9px;width:min(650px,calc(100vw - 48px));padding:12px;border:1px solid var(--line);border-radius:7px;background:var(--panel);box-shadow:0 18px 44px rgba(15,23,42,.22)}
.sales-filter-advanced-grid .sales-filter-actions{display:flex;align-items:end;gap:7px}.sales-filter-advanced-grid .sales-filter-actions>*{flex:1;min-height:38px}

.sales-history-table{min-width:1240px!important}
.sales-history-table th:nth-child(1){width:42px}.sales-history-table th:nth-child(2){width:112px}.sales-history-table th:nth-child(3){width:128px}.sales-history-table th:nth-child(4){width:68px}.sales-history-table th:nth-child(5){width:100px}.sales-history-table th:nth-child(6){width:112px}.sales-history-table th:nth-child(7){width:100px}.sales-history-table th:nth-child(8){width:124px}.sales-history-table th:nth-child(9){width:132px}.sales-history-table th:nth-child(10){width:105px}.sales-history-table th:nth-child(11){width:112px}
.record-link,.sales-customer-link{color:var(--accent);text-decoration:none}.record-link:hover strong,.sales-customer-link:hover{text-decoration:underline}.sales-customer-link{display:block;max-width:100%;overflow:hidden;font-weight:690;text-overflow:ellipsis;white-space:nowrap}.sales-walk-in{color:var(--muted);font-weight:650}

@media(max-width:900px){.sales-filter-primary{grid-template-columns:minmax(0,1fr) 1fr 1fr}.sales-filter-search{grid-column:1/-1}.sales-filter-primary>div:nth-child(4){grid-column:1/3}.sales-filter-submit{grid-column:3}.sales-filter-utility-row{align-items:flex-start;flex-wrap:wrap}.sales-advanced-filters{margin-left:0}.sales-filter-reset{margin-left:auto}}
@media(max-width:760px){.sales-filter-primary{grid-template-columns:1fr 1fr;padding:10px}.sales-filter-search{grid-column:1/-1}.sales-filter-primary>div:nth-child(4){grid-column:1}.sales-filter-submit{grid-column:2;width:100%}.sales-filter-utility-row{padding:8px 10px}.sales-quick-ranges{width:100%;overflow:visible;flex-wrap:wrap}.sales-advanced-filters{position:static}.sales-filter-advanced-grid{position:static;grid-template-columns:1fr 1fr;width:100%;margin-top:7px;box-shadow:none}.sales-advanced-filters[open]{width:100%}.sales-filter-reset{margin-left:0}.sales-history-table td[data-label="Items"],.sales-history-table td[data-label="Subtotal"],.sales-history-table td[data-label="Discount / tax"],.sales-history-table td[data-label="Total"]{grid-column:span 1}.sales-history-table td[data-label="Customer"]{grid-column:1/-1}}
@media(max-width:480px){.sales-filter-primary{grid-template-columns:1fr}.sales-filter-search,.sales-filter-primary>div:nth-child(4),.sales-filter-submit{grid-column:1}.sales-filter-advanced-grid{grid-template-columns:1fr}.sales-history-table td[data-label="Items"],.sales-history-table td[data-label="Subtotal"],.sales-history-table td[data-label="Discount / tax"],.sales-history-table td[data-label="Total"],.sales-history-table td[data-label="Employee"]{grid-column:1/-1}}

/* ACPR POS 1.4.0 transaction reliability and administration workspace */
button:not(.button-link)>.button-label{background:none!important;color:inherit!important;-webkit-text-fill-color:currentColor!important;text-shadow:inherit!important}
.neutral-button>.button-label,.neutral-button .button-label{background:none!important;color:var(--ink)!important;-webkit-text-fill-color:var(--ink)!important}
.danger-button>.button-label,.danger-button .button-label{background:none!important;color:inherit!important;-webkit-text-fill-color:currentColor!important}

.module-register .pos-payment-body>.transaction-pricing-controls{grid-column:1/-1;width:100%;min-width:0}
.module-register .transaction-pricing-controls{grid-template-columns:minmax(130px,.7fr) minmax(170px,1fr) 104px minmax(175px,1fr);align-items:end;padding:9px 11px;background:color-mix(in srgb,var(--accent) 5%,var(--panel));border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line));border-radius:7px}
.module-register .transaction-pricing-controls>div h4{font-weight:700}.module-register .transaction-pricing-message:empty{display:none}.module-register .transaction-pricing-message:not(:empty){grid-column:1/-1;min-height:0;padding:5px 7px;border-radius:5px;background:var(--field)}
.module-register .pos-payment-workspace .payment-method-button{position:relative}
.module-register .pos-payment-workspace .payment-method-button>.pos-payment-icon{grid-column:1!important;grid-row:1!important;order:1!important}
.module-register .pos-payment-workspace .payment-method-button>.pos-payment-copy{grid-column:2!important;grid-row:1!important;order:2!important}
.module-register .pos-payment-workspace .payment-method-button>.ui-icon:last-child{grid-column:3!important;grid-row:1!important;order:3!important;justify-self:end!important;align-self:center!important;margin:0!important;position:static!important}
.module-register #searchResults.pos-search-results-portal:not(:empty){position:fixed!important;z-index:12000!important;inset:auto 10px 10px 10px!important;width:auto!important;max-width:none!important;max-height:min(64dvh,520px)!important;overflow:auto!important;overscroll-behavior:contain;box-shadow:0 22px 70px rgba(15,23,42,.38)!important}
.module-register #searchResults.pos-search-results-portal:empty{display:none!important}

.customer-directory-name{color:var(--ink);text-decoration:none}.customer-directory-name:hover{color:var(--accent);text-decoration:underline}.customer-mobile-contact{display:flex;align-items:center;gap:7px;margin-top:3px}.customer-mobile-contact a{display:inline-flex;align-items:center;gap:4px;color:var(--muted);font-size:.65rem;text-decoration:none}.customer-mobile-contact .ui-icon{width:13px;height:13px;color:var(--accent)}

.ai-studio-heading,.automation-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:12px}.ai-studio-heading h2,.automation-heading h2{display:flex;align-items:center;gap:8px;margin:2px 0 4px}.ai-studio-heading p,.automation-heading p{margin:0;color:var(--muted)}
.ai-studio-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:12px;align-items:start}.ai-studio-composer{overflow:hidden}.ai-studio-composer>header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--accent) 5%,var(--panel))}.ai-studio-composer h3,.ai-tag-library h3,.ai-composition-history h3{margin:2px 0}.ai-studio-state{display:flex;align-items:center;gap:5px;color:var(--success);font-size:.68rem}.ai-studio-state .ui-icon{width:15px;height:15px}.ai-studio-field{padding:15px 16px}.ai-studio-field small{display:block;margin-top:5px;color:var(--muted);font-size:.65rem}.ai-studio-field textarea{resize:vertical}.ai-result-field{border-top:1px solid var(--line);background:color-mix(in srgb,var(--field) 72%,var(--panel))}.ai-result-label{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.ai-result-label label{margin:0}.ai-result-label .button-link{min-height:30px;padding:5px 8px}.ai-composer-controls{display:grid;grid-template-columns:minmax(150px,210px) auto minmax(170px,auto);align-items:end;gap:10px;padding:12px 16px;border-block:1px solid var(--line);background:var(--field)}.ai-composer-controls label{margin:0}.ai-emoji-toggle{display:flex;align-items:center;gap:7px;min-height:42px;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:var(--panel)}.ai-emoji-toggle input{width:17px;height:17px}.ai-studio-sidebar{display:grid;gap:12px;position:sticky;top:12px}.ai-tag-library{overflow:hidden}.ai-tag-library header{padding:13px;border-bottom:1px solid var(--line)}.ai-tag-library header p{margin:5px 0 0;color:var(--muted);font-size:.67rem}.ai-tag-list{display:grid;max-height:330px;overflow:auto}.ai-tag-list button{display:grid;grid-template-columns:minmax(0,1fr) auto 16px;align-items:center;gap:7px;min-height:42px;padding:8px 11px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:var(--panel)!important;color:var(--ink)!important;box-shadow:none!important;text-align:left}.ai-tag-list button:hover{background:color-mix(in srgb,var(--accent) 7%,var(--panel))!important}.ai-tag-list code{color:var(--accent);font-size:.67rem}.ai-tag-list span{color:var(--muted);font-size:.62rem}.ai-tag-list .ui-icon{width:14px;height:14px;color:var(--accent)}.ai-studio-sidebar .ai-composition-history{max-height:430px;overflow:auto;border:1px solid var(--line);border-radius:var(--radius-card)}

.automation-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:11px}.automation-stat{display:grid;gap:2px;padding:12px;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:7px;background:var(--panel);color:var(--ink);text-decoration:none}.automation-stat>span,.automation-stat small{color:var(--muted);font-size:.65rem}.automation-stat strong{font-size:1.35rem}.automation-stat-sent{border-left-color:var(--success)}.automation-stat-failed{border-left-color:var(--danger)}.automation-stat-cancelled{border-left-color:var(--warning)}.automation-workspace{display:grid;grid-template-columns:300px minmax(0,1fr);gap:11px;align-items:start}.automation-settings-panel{position:sticky;top:12px;overflow:hidden}.automation-settings-panel .toolbar{padding:12px}.automation-live-state{display:flex;align-items:center;gap:4px;padding:4px 7px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:.6rem}.automation-live-state.is-live{border-color:color-mix(in srgb,var(--success) 45%,var(--line));color:var(--success)}.automation-live-state .ui-icon{width:12px;height:12px}.automation-settings-form{display:grid;gap:11px;padding:12px;border-top:1px solid var(--line)}.automation-settings-form label{margin:0}.automation-master-switch{display:grid!important;grid-template-columns:20px 1fr;align-items:start;gap:8px;padding:10px;border:1px solid var(--line);border-radius:6px;background:var(--field)}.automation-master-switch input{width:18px;height:18px;margin:1px 0 0}.automation-master-switch span{display:grid}.automation-master-switch small{color:var(--muted);font-size:.62rem}.input-with-suffix{display:grid;grid-template-columns:1fr auto;align-items:center}.input-with-suffix input{grid-area:1/1/2/3;padding-right:50px}.input-with-suffix em{grid-area:1/2;padding-right:10px;color:var(--muted);font-size:.62rem;font-style:normal}.automation-health{display:flex;align-items:center;gap:9px;padding:11px;border-top:1px solid var(--line);background:var(--field)}.automation-health>.ui-icon{width:28px;height:28px;padding:6px;border-radius:6px;background:color-mix(in srgb,var(--accent) 12%,var(--panel));color:var(--accent)}.automation-health div{display:grid}.automation-health small{color:var(--muted);font-size:.62rem}.automation-queue-panel{overflow:visible}.automation-queue-head{display:flex;align-items:end;justify-content:space-between;gap:10px;padding:12px;border-bottom:1px solid var(--line)}.automation-queue-head h3{margin:2px 0}.automation-filters{display:flex;align-items:end;gap:6px}.automation-filters select,.automation-filters button{min-height:36px}.automation-queue-list{display:grid}.automation-queue-list>article{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:11px 12px;border-bottom:1px solid var(--line)}.automation-source-icon{display:grid;width:34px;height:34px;place-items:center;border-radius:6px;background:color-mix(in srgb,var(--accent) 10%,var(--field));color:var(--accent)}.automation-source-icon .ui-icon{width:17px;height:17px}.automation-queue-copy{display:grid;min-width:0}.automation-queue-copy small,.automation-queue-copy em{overflow:hidden;color:var(--muted);font-size:.62rem;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.automation-status{padding:4px 7px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:.6rem;text-transform:uppercase}.automation-status-sent{color:var(--success)}.automation-status-failed{color:var(--danger)}.automation-status-pending{color:var(--accent)}.automation-actions{position:relative}.automation-actions>summary{display:flex;align-items:center;gap:4px;min-height:32px;padding:5px 7px;border:1px solid var(--line);border-radius:5px;background:var(--field);color:var(--ink);cursor:pointer;list-style:none;font-size:.62rem}.automation-actions>summary::-webkit-details-marker{display:none}.automation-actions>summary .ui-icon{width:13px;height:13px}.automation-actions>div{position:absolute;z-index:30;top:calc(100% + 5px);right:0;display:grid;gap:5px;min-width:170px;padding:7px;border:1px solid var(--line);border-radius:6px;background:var(--panel);box-shadow:0 12px 30px rgba(15,23,42,.2)}.automation-actions form,.automation-actions button{width:100%}

.dashboard-admin-control{overflow:hidden}.dashboard-admin-control>.toolbar{padding:13px 15px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--accent) 5%,var(--panel))}.dashboard-admin-metrics{display:grid;grid-template-columns:repeat(6,1fr)}.dashboard-admin-metrics>a{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:8px;padding:13px 11px;border-right:1px solid var(--line);color:var(--ink);text-decoration:none}.dashboard-admin-metrics>a:last-child{border-right:0}.dashboard-admin-metrics>a>span{display:grid;width:32px;height:32px;place-items:center;border-radius:6px;background:color-mix(in srgb,var(--accent) 10%,var(--field));color:var(--accent)}.dashboard-admin-metrics>a>span .ui-icon{width:16px;height:16px}.dashboard-admin-metrics a div{display:grid}.dashboard-admin-metrics small{color:var(--muted);font-size:.58rem}.dashboard-admin-metrics strong{font-size:.9rem}.dashboard-admin-metrics .is-alert>span{background:color-mix(in srgb,var(--danger) 10%,var(--field));color:var(--danger)}

@media(max-width:1000px){.ai-studio-layout,.automation-workspace{grid-template-columns:1fr}.ai-studio-sidebar,.automation-settings-panel{position:static}.ai-studio-sidebar{grid-template-columns:1fr 1fr}.dashboard-admin-metrics{grid-template-columns:repeat(3,1fr)}.dashboard-admin-metrics>a:nth-child(3){border-right:0}.dashboard-admin-metrics>a:nth-child(-n+3){border-bottom:1px solid var(--line)}}
@media(max-width:760px){.module-register .transaction-pricing-controls{grid-template-columns:1fr 1fr}.module-register .transaction-pricing-controls>div,.module-register .transaction-pricing-controls .transaction-tax-exempt,.module-register .transaction-pricing-controls>p{grid-column:1/-1}.module-register .pos-payment-workspace .payment-method-button>.pos-payment-icon{grid-column:1!important}.module-register .pos-payment-workspace .payment-method-button>.pos-payment-copy{grid-column:2!important}.module-register .pos-payment-workspace .payment-method-button>.ui-icon:last-child{grid-column:3!important}.customer-contact-email{display:block;overflow-wrap:anywhere}.customer-mobile-contact{gap:5px}.customer-mobile-contact a{min-height:30px;padding:5px 7px;border:1px solid var(--line);border-radius:5px;background:var(--field);color:var(--ink)}.ai-studio-heading,.automation-heading{align-items:stretch;flex-direction:column}.ai-studio-heading>.button-link,.automation-heading>.button-link{align-self:flex-start}.ai-studio-sidebar{grid-template-columns:1fr}.ai-composer-controls{grid-template-columns:1fr 1fr}.ai-composer-controls>button{grid-column:1/-1}.automation-stat-grid{grid-template-columns:1fr 1fr}.automation-queue-head{align-items:stretch;flex-direction:column}.automation-filters{display:grid;grid-template-columns:1fr 1fr}.automation-filters button{grid-column:1/-1}.automation-queue-list>article{grid-template-columns:34px minmax(0,1fr) auto}.automation-status{grid-column:2}.automation-actions{grid-column:3;grid-row:1/3}.dashboard-admin-metrics{grid-template-columns:1fr 1fr}.dashboard-admin-metrics>a,.dashboard-admin-metrics>a:nth-child(3){border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.dashboard-admin-metrics>a:nth-child(even){border-right:0}}

/* ACPR POS 1.4.1 subscriptions, protection plans, and destructive confirmations */
.subscription-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:12px}.subscription-heading h2{display:flex;align-items:center;gap:8px;margin:2px 0 4px}.subscription-heading p{margin:0;color:var(--muted)}.subscription-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:11px}.subscription-stat-grid>div{display:grid;gap:2px;padding:12px;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:7px;background:var(--panel)}.subscription-stat-grid span,.subscription-stat-grid small{color:var(--muted);font-size:.65rem}.subscription-stat-grid strong{font-size:1.25rem}.subscription-stat-grid .is-alert{border-left-color:var(--danger)}.subscription-directory{overflow:visible}.subscription-filters{display:grid;grid-template-columns:minmax(260px,1fr) 180px auto;align-items:end;gap:8px;padding:11px;border-bottom:1px solid var(--line)}.subscription-filters label{margin:0}.subscription-list{display:grid}.subscription-list>article{display:grid;grid-template-columns:36px minmax(210px,1fr) 150px 150px auto auto;align-items:center;gap:10px;padding:11px 12px;border-bottom:1px solid var(--line)}.subscription-record-icon{display:grid;width:36px;height:36px;place-items:center;border-radius:7px;background:color-mix(in srgb,var(--accent) 10%,var(--field));color:var(--accent)}.subscription-record-icon .ui-icon{width:18px;height:18px}.subscription-record-main{display:grid;min-width:0}.subscription-record-main a{color:var(--ink);text-decoration:none}.subscription-record-main a:hover{color:var(--accent)}.subscription-record-main small,.subscription-list article>div>small{display:block;color:var(--muted);font-size:.62rem}.subscription-list article>div>strong{font-size:.75rem}.subscription-status{display:inline-flex;align-items:center;justify-content:center;padding:4px 7px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:.58rem;font-weight:700;text-transform:uppercase;white-space:nowrap}.subscription-status-active{border-color:color-mix(in srgb,var(--success) 45%,var(--line));color:var(--success)}.subscription-status-past-due,.subscription-status-cancelled{border-color:color-mix(in srgb,var(--danger) 45%,var(--line));color:var(--danger)}.subscription-status-trial,.subscription-status-setup-pending{color:var(--accent)}.subscription-builder,.subscription-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:11px;align-items:start}.subscription-builder>main{display:grid;gap:11px}.subscription-form-section{overflow:hidden}.subscription-form-section>header{display:flex;align-items:center;gap:10px;padding:13px 15px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--accent) 5%,var(--panel))}.subscription-form-section>header>span{display:grid;width:34px;height:34px;place-items:center;border-radius:7px;background:color-mix(in srgb,var(--accent) 12%,var(--field));color:var(--accent)}.subscription-form-section>header .ui-icon{width:18px;height:18px}.subscription-form-section h3{margin:0}.subscription-form-section header p{margin:2px 0 0;color:var(--muted);font-size:.67rem}.subscription-form-section>.form-grid{padding:14px}.subscription-builder-summary,.subscription-detail-summary{position:sticky;top:12px;padding:14px}.subscription-builder-summary h3{margin:2px 0 8px}.subscription-builder-summary ul{display:grid;gap:7px;margin:10px 0 16px;padding-left:19px;color:var(--muted);font-size:.7rem}.subscription-builder-summary button,.subscription-detail-summary>a,.subscription-detail-summary>button{width:100%;margin-top:8px}.subscription-profile-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;margin-bottom:11px;padding:17px;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:8px;background:linear-gradient(115deg,color-mix(in srgb,var(--accent) 10%,var(--panel)),var(--panel))}.subscription-profile-hero h2{margin:6px 0 2px}.subscription-profile-hero p{margin:0;color:var(--muted)}.subscription-profile-hero>div:last-child{display:grid;text-align:right}.subscription-profile-hero>div:last-child span,.subscription-profile-hero>div:last-child small{color:var(--muted);font-size:.65rem}.subscription-profile-hero>div:last-child strong{font-size:1.35rem}.subscription-detail-summary dl{display:grid;margin:10px 0}.subscription-detail-summary dl>div{display:flex;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}.subscription-detail-summary dt{color:var(--muted);font-size:.65rem}.subscription-detail-summary dd{margin:0;font-size:.68rem;font-weight:680;text-align:right;overflow-wrap:anywhere}
.protection-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.protection-plan-card{padding:14px}.protection-plan-card header{display:flex;align-items:center;gap:10px}.protection-plan-card header>span{display:grid;width:38px;height:38px;place-items:center;border-radius:8px;background:linear-gradient(135deg,#0891b2,#2563eb);color:#fff}.protection-plan-card header .ui-icon{width:20px;height:20px}.protection-plan-card h3{margin:4px 0}.protection-plan-price{display:flex;align-items:baseline;gap:7px;margin:14px 0 7px}.protection-plan-price strong{font-size:1.45rem}.protection-plan-price span{color:var(--muted);font-size:.65rem}.protection-plan-card>p{min-height:38px;color:var(--muted);font-size:.68rem}.protection-plan-card dl{display:grid;margin:10px 0}.protection-plan-card dl>div{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--line)}.protection-plan-card dt{color:var(--muted);font-size:.63rem}.protection-plan-card dd{margin:0;font-size:.65rem;font-weight:670}.protection-plan-card>.button-link{width:100%}.protection-context-options{display:flex;align-items:center;gap:10px;min-height:42px;padding:8px;border:1px solid var(--line);border-radius:6px;background:var(--field)}.protection-context-options>span{margin-right:auto;color:var(--muted);font-size:.65rem}.protection-context-options label{display:flex;align-items:center;gap:5px;margin:0}.protection-context-options input{width:16px;height:16px}.protection-enrollment-list{display:grid}.protection-enrollment-list>article{display:grid;grid-template-columns:36px minmax(210px,1fr) 220px 90px auto minmax(260px,auto);align-items:center;gap:10px;padding:11px 12px;border-bottom:1px solid var(--line)}.protection-enrollment-icon{display:grid;width:36px;height:36px;place-items:center;border-radius:7px;background:color-mix(in srgb,#0891b2 12%,var(--field));color:#0891b2}.protection-enrollment-list article>div{display:grid}.protection-enrollment-list article a{color:var(--ink);text-decoration:none}.protection-enrollment-list small{color:var(--muted);font-size:.61rem}.protection-enrollment-list strong{font-size:.7rem}.protection-enrollment-actions{display:grid;grid-template-columns:1fr 60px auto;gap:5px}.protection-enrollment-actions select,.protection-enrollment-actions input,.protection-enrollment-actions button{min-height:34px;padding-block:5px}
.module-register .pos-protection-offer{grid-column:1/-1;display:grid;grid-template-columns:38px minmax(200px,1fr) minmax(210px,1fr) minmax(180px,.8fr) auto;align-items:end;gap:10px;padding:11px;border:1px solid color-mix(in srgb,#0891b2 35%,var(--line));border-radius:7px;background:color-mix(in srgb,#0891b2 6%,var(--panel))}.pos-protection-icon{display:grid;width:38px;height:38px;place-items:center;border-radius:7px;background:linear-gradient(135deg,#0891b2,#2563eb);color:#fff}.pos-protection-icon .ui-icon{width:19px;height:19px}.pos-protection-offer h4{margin:2px 0}.pos-protection-offer p{margin:0;color:var(--muted);font-size:.62rem}.pos-protection-offer label{margin:0}.pos-protection-price{align-self:center;color:#0369a1;font-size:1rem;font-weight:780}.repair-protection-offer .form-grid{padding:12px}.repair-protection-offer{border-color:color-mix(in srgb,#0891b2 35%,var(--line))!important}
.delete-confirm-backdrop[hidden]{display:none!important}.delete-confirm-backdrop{position:fixed;z-index:50000;inset:0;display:grid;place-items:center;padding:18px;background:rgba(8,15,26,.72);backdrop-filter:blur(5px)}body.delete-confirm-open{overflow:hidden}.delete-confirm-dialog{display:grid;grid-template-columns:48px minmax(0,1fr);gap:13px;width:min(470px,100%);padding:18px;border:1px solid color-mix(in srgb,var(--danger) 38%,var(--line));border-radius:8px;background:var(--panel);box-shadow:0 24px 80px rgba(0,0,0,.38)}.delete-confirm-icon{display:grid;width:48px;height:48px;place-items:center;border-radius:8px;background:color-mix(in srgb,var(--danger) 13%,var(--field));color:var(--danger)}.delete-confirm-icon .ui-icon{width:23px;height:23px}.delete-confirm-dialog h2{margin:3px 0 5px}.delete-confirm-dialog p{margin:0;color:var(--muted);font-size:.72rem}.delete-confirm-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:3px}.delete-confirm-actions button{width:100%;min-height:42px}
.customer-protection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding-top:10px}.customer-protection-grid>article{display:grid;grid-template-columns:38px minmax(0,1fr);gap:9px;padding:11px;border:1px solid color-mix(in srgb,#0891b2 28%,var(--line));border-radius:7px;background:color-mix(in srgb,#0891b2 5%,var(--panel))}.customer-protection-grid>article>span{display:grid;width:38px;height:38px;place-items:center;border-radius:7px;background:linear-gradient(135deg,#0891b2,#2563eb);color:#fff}.customer-protection-grid article>div{display:grid}.customer-protection-grid small{color:var(--muted);font-size:.62rem}.customer-protection-grid dl{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);margin:2px 0 0}.customer-protection-grid dl>div{display:grid;padding:7px;border-top:1px solid var(--line)}.customer-protection-grid dt{color:var(--muted);font-size:.58rem}.customer-protection-grid dd{margin:0;font-size:.68rem;font-weight:680}
@media(max-width:1050px){.subscription-list>article{grid-template-columns:36px minmax(190px,1fr) 130px auto auto}.subscription-list>article>div:nth-child(4){display:none}.protection-plan-grid{grid-template-columns:1fr 1fr}.protection-enrollment-list>article{grid-template-columns:36px minmax(190px,1fr) 180px auto}.protection-enrollment-list>article>div:nth-child(4){display:none}.protection-enrollment-actions{grid-column:2/-1}.module-register .pos-protection-offer{grid-template-columns:38px minmax(0,1fr) 1fr}.module-register .pos-protection-offer label:nth-of-type(2){grid-column:2/3}.pos-protection-price{grid-column:3;grid-row:2}}
@media(max-width:760px){.subscription-heading{align-items:stretch;flex-direction:column}.subscription-heading>a{align-self:flex-start}.subscription-stat-grid{grid-template-columns:1fr 1fr}.subscription-filters{grid-template-columns:1fr 1fr}.subscription-filters label:first-child{grid-column:1/-1}.subscription-filters button{width:100%}.subscription-list>article{grid-template-columns:36px minmax(0,1fr) auto;padding:10px}.subscription-list>article>div:nth-child(3),.subscription-list>article>div:nth-child(4){display:grid;grid-column:2}.subscription-list>article>.subscription-status{grid-column:2;justify-self:start}.subscription-list>article>.record-actions-menu{grid-column:3;grid-row:1/5}.subscription-builder,.subscription-detail-grid{grid-template-columns:1fr}.subscription-builder-summary,.subscription-detail-summary{position:static}.subscription-profile-hero{grid-template-columns:1fr}.subscription-profile-hero>div:last-child{text-align:left}.protection-plan-grid{grid-template-columns:1fr}.protection-enrollment-list>article{grid-template-columns:36px minmax(0,1fr) auto}.protection-enrollment-list>article>div:nth-child(3){grid-column:2}.protection-enrollment-list>article>.subscription-status{grid-column:2;justify-self:start}.protection-enrollment-actions{grid-column:1/-1;grid-template-columns:1fr 64px}.protection-enrollment-actions button{grid-column:1/-1}.module-register .pos-protection-offer{grid-template-columns:36px minmax(0,1fr);align-items:center}.module-register .pos-protection-offer>div{min-width:0}.module-register .pos-protection-offer label,.module-register .pos-protection-offer label:nth-of-type(2){grid-column:1/-1}.module-register .pos-protection-price{grid-column:2;grid-row:1;justify-self:end}.delete-confirm-dialog{grid-template-columns:40px minmax(0,1fr);padding:14px}.delete-confirm-icon{width:40px;height:40px}.delete-confirm-actions{grid-template-columns:1fr}}

/* ACPR POS 1.5.0: transaction editor, catalog units, fluid dashboard, and shared listing controls */
.nav-primary-row{display:grid;grid-template-columns:minmax(0,1fr) 32px;align-items:center;gap:2px}.nav-group:not(.has-submenu) .nav-primary-row{grid-template-columns:1fr}.nav-primary-row>a{min-width:0}.nav-submenu-toggle{display:grid;width:30px;height:30px;min-height:30px;padding:0;place-items:center;border:0;border-radius:5px;background:transparent!important;color:inherit!important;box-shadow:none!important}.nav-submenu-toggle .ui-icon{width:15px;height:15px;transition:transform .16s ease}.nav-group.is-open .nav-submenu-toggle .ui-icon{transform:rotate(180deg)}.nav-submenu-toggle:hover{background:rgba(255,255,255,.1)!important}.sidebar-collapsed .nav-submenu-toggle{display:none}.sidebar-collapsed .nav-primary-row{display:block}
.listing-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-top:1px solid var(--line);background:color-mix(in srgb,var(--field) 74%,var(--panel));font-size:.67rem}.listing-pagination label,.listing-pagination>div{display:flex;align-items:center;gap:7px;margin:0}.listing-pagination select{width:auto;min-width:70px;height:34px;padding:5px 26px 5px 9px}.listing-pagination-summary{color:var(--muted)}.listing-pagination button{display:grid;width:34px;height:34px;min-height:34px;padding:0;place-items:center}.listing-pagination button .ui-icon{width:15px;height:15px}.listing-pagination strong{min-width:82px;text-align:center;font-size:.65rem}
table tbody tr[hidden],.subscription-list>article[hidden],.protection-enrollment-list>article[hidden],.protection-plan-grid>article[hidden]{display:none!important}
.scanner-action-button,.pos-scan-button.scanner-action-button{min-width:118px!important;border:1px solid #075985!important;background:linear-gradient(135deg,#0e7490,#2563eb)!important;color:#fff!important;box-shadow:0 5px 14px rgba(14,116,144,.24)!important}.scanner-action-button>.ui-icon{width:19px!important;height:19px!important;padding:0!important;background:transparent!important;color:#fff!important;stroke:#fff!important;filter:drop-shadow(0 1px 1px rgba(0,0,0,.25))}.scanner-action-button .button-label{color:#fff!important;-webkit-text-fill-color:#fff!important}.scanner-action-button:hover{background:linear-gradient(135deg,#155e75,#1d4ed8)!important;transform:translateY(-1px)}
.sale-edit-heading{margin-bottom:12px}.sale-edit-workspace{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.65fr);gap:12px;padding-bottom:76px}.sale-edit-main,.sale-edit-sidebar{display:grid;align-content:start;gap:12px}.sale-edit-sidebar{position:sticky;top:12px}.sale-edit-card{margin:0;padding:0;overflow:visible}.sale-edit-card>header{display:flex;align-items:center;gap:10px;padding:12px 13px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--field) 72%,var(--panel))}.sale-edit-card>header>span{display:grid;width:35px;height:35px;flex:0 0 35px;place-items:center;border-radius:7px;background:linear-gradient(135deg,#0891b2,#2563eb);color:#fff}.sale-edit-card>header>span .ui-icon{width:18px;height:18px}.sale-edit-card>header>div{min-width:0;margin-right:auto}.sale-edit-card h3{margin:0;font-size:.82rem}.sale-edit-card header p{margin:2px 0 0;color:var(--muted);font-size:.62rem}.sale-edit-card header>strong{font-size:.65rem;color:var(--muted)}.sale-edit-item-head{display:grid;grid-template-columns:minmax(220px,1fr) 76px 100px 90px 32px;gap:8px;padding:8px 12px;background:#172033;color:#dbeafe;font-size:.58rem;text-transform:uppercase}.sale-edit-item-list{display:grid}.sale-edit-item{display:grid;grid-template-columns:minmax(220px,1fr) 76px 100px 90px 32px;align-items:center;gap:8px;padding:11px 12px;border-bottom:1px solid var(--line)}.sale-edit-item>label>span,.sale-edit-item-options label>span{display:none}.sale-edit-item input,.sale-edit-item select{min-width:0;height:36px;padding:6px 8px}.sale-edit-item-identity{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:9px;min-width:0}.sale-edit-item-identity>span,.sale-edit-item-identity>img{display:grid;width:38px;height:38px;place-items:center;border:1px solid var(--line);border-radius:6px;background:var(--field);object-fit:contain}.sale-edit-item-identity strong,.sale-edit-item-identity small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sale-edit-item-identity strong{font-size:.7rem}.sale-edit-item-identity small{color:var(--muted);font-size:.59rem}.sale-edit-line-total{text-align:right;font-size:.72rem}.sale-line-remove{color:var(--danger)!important}.sale-edit-item-options{grid-column:1/-1;display:grid;grid-template-columns:190px minmax(0,1fr);gap:8px;padding:8px;border:1px solid var(--line);border-radius:6px;background:color-mix(in srgb,var(--field) 62%,var(--panel))}.sale-edit-item-options label>span{display:block;margin-bottom:4px}.sale-edit-item-options textarea{min-height:54px}.sale-edit-add-product{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;padding:11px 12px}.sale-edit-add-product label{margin:0}.sale-edit-payments{padding:10px 12px}.sale-edit-payment-head,.sale-edit-payment-line{display:grid;grid-template-columns:minmax(140px,.8fr) 110px minmax(160px,1fr);gap:8px}.sale-edit-payment-head{padding:0 3px 5px;color:var(--muted);font-size:.58rem;text-transform:uppercase}.sale-edit-payment-line{margin-bottom:7px}.sale-edit-notes,.sale-edit-fields{display:grid;gap:9px;padding:12px}.sale-edit-customer-picker{padding:12px}.sale-edit-customer-snapshot{display:grid;gap:5px;margin-top:9px;padding:10px;border-left:4px solid #0891b2;background:color-mix(in srgb,#0891b2 7%,var(--field));font-size:.65rem}.sale-edit-customer-snapshot>span,.sale-edit-customer-snapshot>a{display:flex;align-items:center;gap:6px}.sale-edit-customer-snapshot .ui-icon{width:14px;height:14px}.sale-edit-fields{grid-template-columns:1fr 1fr}.sale-edit-fields>.followup-opt-in,.sale-edit-fields>.transaction-tax-exempt{grid-column:1/-1}.sale-edit-fields label{margin:0}.sale-edit-totals{display:grid;margin:0;padding:0 12px 12px}.sale-edit-totals>div{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid var(--line)}.sale-edit-totals dt{color:var(--muted);font-size:.64rem}.sale-edit-totals dd{margin:0;font-size:.69rem}.sale-edit-totals>.sale-edit-total{padding-top:11px;border-bottom:0}.sale-edit-total dt,.sale-edit-total dd{color:var(--ink);font-size:.9rem;font-weight:760}.sale-edit-actions{position:fixed;z-index:90;right:16px;bottom:0;left:calc(var(--sidebar-width,230px) + 16px);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border:1px solid var(--line);border-bottom:0;border-radius:8px 8px 0 0;background:color-mix(in srgb,var(--panel) 94%,transparent);box-shadow:0 -10px 30px rgba(15,23,42,.12);backdrop-filter:blur(12px)}.sale-edit-actions>span,.sale-edit-actions>div{display:flex;align-items:center;gap:8px}.sale-edit-actions>span{color:var(--muted);font-size:.63rem}.sale-edit-actions .ui-icon{width:16px;height:16px}.sidebar-collapsed .sale-edit-actions{left:82px}.catalog-record-editor{max-width:900px}.catalog-record-form{padding-top:12px}.catalog-manager-page code{font-size:.64rem}
.dashboard-module-third{grid-column:span 4}.dashboard-fluid-chart{height:238px;padding:6px 12px 0}.dashboard-fluid-chart svg{display:block;width:100%;height:205px;overflow:visible}.dashboard-fluid-area{stroke:none}.dashboard-fluid-line{fill:none;stroke:#0891b2;stroke-width:4;stroke-linecap:round;filter:drop-shadow(0 5px 8px rgba(8,145,178,.2))}.dashboard-fluid-line.is-yearly{stroke:#8b5cf6}.dashboard-fluid-labels{display:flex;justify-content:space-between;padding:0 12px;color:var(--muted)}.dashboard-ranking-panel{height:100%}.dashboard-ranking-panel>.toolbar>a{display:flex;align-items:center;gap:4px;color:var(--accent);font-size:.62rem;text-decoration:none}.dashboard-ranking-list{display:grid}.dashboard-ranking-list>article,.dashboard-ranking-list>a{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px 12px;border-top:1px solid var(--line);color:var(--ink);text-decoration:none}.dashboard-ranking-list>article>span,.dashboard-ranking-list>a>span{display:grid;width:25px;height:25px;place-items:center;border-radius:6px;background:color-mix(in srgb,var(--accent) 12%,var(--field));color:var(--accent);font-size:.6rem;font-weight:750}.dashboard-ranking-list>article>div,.dashboard-ranking-list>a>div{display:grid;min-width:0}.dashboard-ranking-list strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.67rem}.dashboard-ranking-list small{color:var(--muted);font-size:.58rem}
@media(max-width:1050px){.dashboard-module-third{grid-column:span 6}.sale-edit-workspace{grid-template-columns:1fr}.sale-edit-sidebar{position:static;grid-template-columns:1fr 1fr}.sale-edit-pricing{grid-column:1/-1}.sale-edit-actions{left:14px}.sale-edit-sidebar .customer-search-results{position:absolute;z-index:30}}
@media(max-width:760px){.listing-pagination{display:grid;grid-template-columns:auto 1fr;gap:8px}.listing-pagination-summary{text-align:right}.listing-pagination>div{grid-column:1/-1;justify-content:space-between}.dashboard-module-third{grid-column:span 12}.dashboard-fluid-chart{height:205px;padding-inline:5px}.dashboard-fluid-chart svg{height:172px}.sale-edit-heading{align-items:stretch}.sale-edit-workspace{padding-bottom:92px}.sale-edit-sidebar{grid-template-columns:1fr}.sale-edit-pricing{grid-column:auto}.sale-edit-card>header{padding:10px}.sale-edit-item-head{display:none}.sale-edit-item{grid-template-columns:minmax(0,1fr) 70px 85px;gap:7px;padding:10px}.sale-edit-item-identity{grid-column:1/-1}.sale-edit-item>label>span{display:block;margin-bottom:3px}.sale-edit-line-total{align-self:end;padding-bottom:9px}.sale-line-remove{position:absolute;right:10px;margin-top:-84px}.sale-edit-item-options{grid-template-columns:1fr}.sale-edit-add-product{grid-template-columns:minmax(0,1fr) 44px}.sale-edit-add-product button{width:44px;min-width:44px;padding:0}.sale-edit-add-product button .button-label{display:none}.sale-edit-payment-head{display:none}.sale-edit-payment-line{grid-template-columns:1fr 100px}.sale-edit-payment-line input:last-child{grid-column:1/-1}.sale-edit-fields{grid-template-columns:1fr}.sale-edit-fields>.followup-opt-in,.sale-edit-fields>.transaction-tax-exempt{grid-column:auto}.sale-edit-actions{right:7px;left:7px;padding:8px}.sale-edit-actions>span{display:none}.sale-edit-actions>div{width:100%;display:grid;grid-template-columns:1fr 1.3fr}.sale-edit-actions a,.sale-edit-actions button{width:100%}.scanner-action-button,.pos-scan-button.scanner-action-button{width:46px!important;min-width:46px!important;max-width:46px!important;padding:0!important}.scanner-action-button .button-label{display:none}.nav-primary-row{grid-template-columns:minmax(0,1fr) 38px}.nav-submenu-toggle{width:36px;height:36px}}

/* ACPR POS 1.7.5B: coverage sales, compact navigation, and workspace polish */
.nav-groups{gap:2px!important}.nav-group{margin:0!important}.nav-primary-row{grid-template-columns:minmax(0,1fr) 20px;gap:0}.nav-submenu-toggle{width:18px;height:26px;min-height:26px;margin-right:3px;border-radius:3px}.nav-submenu-toggle .ui-icon{width:11px;height:11px;stroke-width:2.4}.nav-submenu-toggle:hover{background:rgba(255,255,255,.07)!important}.nav-group>a,.nav-primary-row>a{min-height:36px!important;padding-block:7px!important}.submenu{gap:1px!important;margin-block:1px 3px!important}.submenu a{min-height:31px!important;padding-block:5px!important}
.ai-tag-list{max-height:none!important;overflow:visible!important}.ai-tag-library{overflow:visible}.ai-studio-sidebar .ai-tag-library{align-self:start}
.rich-text-toolbar{display:flex;flex-wrap:wrap;gap:4px;padding:6px;background:color-mix(in srgb,var(--panel) 82%,var(--field))}.rich-text-toolbar button,.rich-text-format{height:30px!important;min-height:30px;border:1px solid var(--line)!important;border-radius:5px!important;background:var(--panel)!important;color:var(--ink)!important;box-shadow:none!important}.rich-text-toolbar button{width:31px;padding:0!important;font-weight:650}.rich-text-format{width:auto;min-width:112px;padding:4px 26px 4px 8px}.rich-text-toolbar button.is-active{border-color:var(--accent)!important;background:color-mix(in srgb,var(--accent) 14%,var(--panel))!important;color:var(--accent)!important;box-shadow:inset 0 -2px 0 var(--accent)!important}.rich-text-surface h2{font-size:1.15rem}.rich-text-surface h3{font-size:.95rem}.rich-text-surface blockquote{margin:8px 0;padding:7px 10px;border-left:3px solid var(--accent);background:var(--field);color:var(--muted)}.rich-text-surface a{color:var(--accent);text-decoration:underline}
.protection-feature-builder{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:12px;align-items:start}.protection-feature-builder>main{display:grid;gap:12px}.protection-benefit-section>header{justify-content:flex-start}.protection-benefit-section>header .button-link{margin-left:auto}.protection-feature-rows{display:grid;gap:7px;padding:12px}.protection-feature-row{display:grid;grid-template-columns:minmax(160px,.8fr) minmax(220px,1.2fr) 120px 80px 36px;align-items:end;gap:7px;padding:9px;border:1px solid var(--line);border-radius:7px;background:var(--field)}.protection-feature-row label{margin:0}.protection-highlight-check{display:flex!important;align-items:center;gap:6px;min-height:40px}.protection-highlight-check input{width:17px;height:17px}.protection-plan-preview{position:sticky;top:12px;padding:16px;border-top:4px solid var(--accent);background:linear-gradient(155deg,color-mix(in srgb,var(--accent) 10%,var(--panel)),var(--panel) 48%)}.protection-plan-preview h3{margin:8px 0 3px;font-size:1.1rem}.protection-plan-preview>p{margin:0;color:var(--muted)}.protection-preview-price{display:block;margin:16px 0 9px;font-size:1.75rem}.protection-plan-preview ul{display:grid;gap:7px;margin:10px 0 18px;padding:0;list-style:none}.protection-plan-preview li{display:flex;align-items:center;gap:7px;font-size:.7rem}.protection-plan-preview li .ui-icon{width:15px;height:15px;color:var(--success)}.protection-plan-preview button{width:100%}
.module-register .pos-pricing-sidebar>.pos-protection-focus{display:grid;grid-template-columns:34px minmax(0,1fr) 32px;align-items:center;gap:8px;padding:11px;border:1px solid color-mix(in srgb,var(--accent) 45%,var(--line));border-top:4px solid var(--accent);background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 12%,var(--panel)),var(--panel));box-shadow:var(--shadow)}.module-register .pos-protection-focus>div{min-width:0}.module-register .pos-protection-focus h4{margin:1px 0}.module-register .pos-protection-focus label{grid-column:1/-1}.module-register .pos-protection-focus .pos-protection-price{grid-column:2;grid-row:1;justify-self:end}.module-register .pos-protection-focus .pos-protection-compare{grid-column:3;grid-row:1;color:var(--accent)!important}.protection-comparison-modal[hidden]{display:none!important}.protection-comparison-modal{position:fixed;z-index:40000;inset:0;display:grid;place-items:center;padding:18px;background:rgba(4,10,18,.76);backdrop-filter:blur(7px)}.protection-comparison-modal>.modal-card{width:min(1040px,100%);max-height:calc(100vh - 36px);overflow:auto;padding:0;background:var(--panel)}.protection-comparison-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:16px;border-bottom:1px solid var(--line)}.protection-comparison-head h2{margin:2px 0 4px}.protection-comparison-head p{margin:0;color:var(--muted)}.protection-pricing-table{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;padding:14px}.protection-pricing-card{display:flex;flex-direction:column;gap:7px;padding:15px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.protection-pricing-card.is-featured{border-color:var(--accent);box-shadow:inset 0 3px 0 var(--accent)}.protection-pricing-card h3{margin:3px 0 0}.protection-pricing-card>p,.protection-pricing-card>small{margin:0;color:var(--muted)}.protection-card-price{font-size:1.55rem}.protection-pricing-card ul{display:grid;gap:8px;margin:8px 0 14px;padding:0;list-style:none}.protection-pricing-card li{display:grid;grid-template-columns:18px minmax(0,1fr);gap:7px}.protection-pricing-card li>.ui-icon{width:16px;height:16px;color:var(--accent)}.protection-pricing-card li span{display:grid}.protection-pricing-card li small{color:var(--muted)}.protection-pricing-card>button{width:100%;margin-top:auto}
.module-register .pos-protection-mobile{display:none}
.repair-catalog-tabs{margin-bottom:10px}.repair-catalog-tabs .settings-tab small{margin-left:auto;color:var(--muted)}.repair-catalog-row>span{display:grid;grid-template-columns:10px minmax(0,1fr);align-items:center}.repair-catalog-row>span small{grid-column:2;color:var(--muted);font-size:.62rem}.invoice-stage-selector,[data-invoice-stage-selector]{display:none!important}
@media(max-width:920px){.protection-feature-builder{grid-template-columns:1fr}.protection-plan-preview{position:static}.protection-feature-row{grid-template-columns:1fr 1fr}.protection-feature-row .icon-button{justify-self:end}.module-register .pos-pricing-sidebar>.pos-protection-focus{display:none}.module-register .pos-protection-mobile{display:grid;grid-template-columns:34px minmax(0,1fr) 34px;align-items:center}.module-register .pos-protection-mobile label{grid-column:1/-1}.module-register .pos-protection-mobile>button{grid-column:3;grid-row:1}}
@media(max-width:620px){.nav-primary-row{grid-template-columns:minmax(0,1fr) 22px}.nav-submenu-toggle{width:20px;height:32px}.protection-feature-row{grid-template-columns:1fr}.protection-feature-row .icon-button{position:absolute;right:20px;margin-top:5px}.protection-comparison-modal{padding:8px}.protection-pricing-table{grid-template-columns:1fr}.rich-text-toolbar{gap:3px}.rich-text-format{flex:1;min-width:100px}.module-register .pos-pricing-sidebar>.pos-protection-focus{grid-template-columns:34px minmax(0,1fr) 32px}}

/* ACPR POS 1.8.0: anchored POS search, mobile cart, protection focus, and navigation controls */
.app-sidebar nav{display:grid;gap:0!important}.nav-group{position:relative;margin:0!important}.nav-primary-row{position:relative;display:block!important}.nav-primary-row>a{min-height:34px!important;padding:6px 38px 6px 9px!important}.nav-submenu-toggle{position:absolute;z-index:2;top:50%;right:7px;width:22px!important;height:22px!important;min-height:22px!important;margin:0!important;padding:0!important;transform:translateY(-50%);border:1px solid color-mix(in srgb,var(--sidebar-text) 15%,transparent)!important;border-radius:50%!important;background:color-mix(in srgb,var(--sidebar-text) 7%,transparent)!important;color:color-mix(in srgb,var(--sidebar-text) 78%,transparent)!important;box-shadow:none!important}.nav-submenu-toggle .ui-icon{width:11px!important;height:11px!important;transition:transform .18s ease,color .18s ease!important}.nav-group.is-open .nav-submenu-toggle .ui-icon{transform:rotate(90deg)!important}.nav-submenu-toggle:hover,.nav-submenu-toggle:focus-visible{border-color:color-mix(in srgb,var(--accent) 65%,transparent)!important;background:color-mix(in srgb,var(--accent) 25%,transparent)!important;color:var(--sidebar-text)!important;outline:none}.nav-submenu{margin:1px 0 3px!important;padding-block:2px!important}.nav-submenu a{min-height:29px!important;padding-block:5px!important}.nav-function-header{margin-top:11px!important}.sidebar-collapsed .nav-primary-row>a{padding-right:9px!important}
.module-register .pos-transaction-search{position:relative!important}.module-register #searchResults,.module-register #searchResults.pos-search-results-portal{position:absolute!important;z-index:1200!important;top:calc(100% + 5px)!important;right:auto!important;bottom:auto!important;left:0!important;width:min(590px,100%)!important;max-width:100%!important;max-height:min(52dvh,430px)!important;margin:0!important;padding:6px!important;overflow-y:auto!important;overscroll-behavior:contain;border:1px solid var(--line)!important;border-radius:8px!important;background:var(--panel)!important;box-shadow:0 18px 45px rgba(15,23,42,.25)!important}.module-register #searchResults:empty{display:none!important}.module-register #searchResults .search-result{display:grid!important;grid-template-columns:34px minmax(0,1fr) auto!important;gap:9px!important;min-height:56px!important;margin:0!important;padding:9px!important;border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;background:var(--panel)!important;color:var(--ink)!important}.module-register #searchResults .search-result:last-child{border-bottom:0!important}.module-register #searchResults .search-result>span{min-width:0}.module-register #searchResults .search-result strong{color:var(--ink)!important;-webkit-text-fill-color:var(--ink)!important}.module-register #searchResults .search-result>.ui-icon{width:22px;height:22px;color:var(--accent)}
.module-register .customer-add-button{width:34px!important;height:34px!important;min-height:34px!important;padding:0!important;border:1px solid color-mix(in srgb,var(--accent) 62%,var(--line))!important;border-radius:9px!important;background:linear-gradient(135deg,var(--accent),var(--accent-dark))!important;color:var(--button-text)!important;box-shadow:0 6px 15px color-mix(in srgb,var(--accent) 28%,transparent)!important}.module-register .customer-add-button .ui-icon{width:17px!important;height:17px!important;padding:0!important;background:transparent!important;color:inherit!important}.module-register .customer-add-button:hover{transform:translateY(-1px) scale(1.03);box-shadow:0 8px 20px color-mix(in srgb,var(--accent) 40%,transparent)!important}
.module-register .pos-protection-focus,.module-register .pos-protection-mobile{position:relative;isolation:isolate;overflow:hidden!important;border-color:color-mix(in srgb,var(--accent) 72%,#22d3ee)!important;background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 17%,var(--panel)),color-mix(in srgb,#22d3ee 8%,var(--panel)))!important;box-shadow:0 0 0 1px color-mix(in srgb,#22d3ee 32%,transparent),0 0 22px color-mix(in srgb,var(--accent) 30%,transparent),var(--shadow)!important}.module-register .pos-protection-focus::after,.module-register .pos-protection-mobile::after{content:"";position:absolute;z-index:-1;inset:-40% auto -40% -30%;width:36%;transform:skewX(-18deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.34),transparent);animation:protection-scan 3.8s ease-in-out infinite}.module-register .pos-protection-focus .section-kicker,.module-register .pos-protection-mobile .section-kicker{display:inline-flex;width:max-content;padding:3px 7px;border:1px solid color-mix(in srgb,#22d3ee 62%,var(--line));border-radius:999px;background:color-mix(in srgb,#22d3ee 14%,var(--panel));color:color-mix(in srgb,var(--accent) 72%,#0891b2);font-size:.57rem;box-shadow:0 0 12px color-mix(in srgb,#22d3ee 34%,transparent);animation:protection-sign 1.9s ease-in-out infinite}.module-register .pos-protection-focus>div,.module-register .pos-protection-mobile>div{width:100%!important;min-width:0!important}.module-register .pos-protection-focus label,.module-register .pos-protection-mobile label{width:100%!important;min-width:0!important}.module-register .pos-protection-focus select,.module-register .pos-protection-focus input,.module-register .pos-protection-mobile select,.module-register .pos-protection-mobile input{display:block;width:100%!important;min-width:0!important}.module-register .pos-protection-focus .pos-protection-icon,.module-register .pos-protection-mobile .pos-protection-icon{box-shadow:0 0 17px color-mix(in srgb,#22d3ee 58%,transparent)}
@keyframes protection-scan{0%,25%{left:-40%}70%,100%{left:145%}}@keyframes protection-sign{0%,100%{opacity:.76;filter:saturate(.9)}50%{opacity:1;filter:saturate(1.35);box-shadow:0 0 19px color-mix(in srgb,#22d3ee 60%,transparent)}}
@media(prefers-reduced-motion:reduce){.module-register .pos-protection-focus::after,.module-register .pos-protection-mobile::after,.module-register .pos-protection-focus .section-kicker,.module-register .pos-protection-mobile .section-kicker{animation:none!important}}
@media(max-width:760px){.module-register #searchResults,.module-register #searchResults.pos-search-results-portal{position:absolute!important;top:calc(100% + 5px)!important;right:0!important;bottom:auto!important;left:0!important;width:100%!important;max-height:min(56dvh,440px)!important;border-radius:8px!important}.module-register .pos-items-table-wrap{width:100%!important;overflow:visible!important}.module-register .cart-table,.module-register .cart-table tbody{display:block!important;width:100%!important}.module-register .cart-table tbody tr{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;width:100%!important;margin:0 0 9px!important;padding:11px!important}.module-register .cart-table tbody td{width:auto!important;min-width:0!important;text-align:left!important}.module-register .cart-table .cart-item-cell{grid-column:1/-1!important;grid-template-columns:23px 42px minmax(0,1fr)!important;width:100%!important;padding:0 0 9px!important}.module-register .cart-table tbody td:nth-child(2),.module-register .cart-table tbody td:nth-child(3),.module-register .cart-table tbody td:nth-child(4){display:grid!important;align-content:start!important;padding:2px!important}.module-register .cart-table tbody td:nth-child(4){text-align:right!important}.module-register .cart-table .cart-row-actions{grid-column:1/-1!important;width:100%!important}.module-register .cart-product-copy{width:100%!important;min-width:0!important}.module-register .cart-product-copy strong,.module-register .cart-product-copy small,.module-register .cart-item-note{display:block!important;max-width:100%!important;overflow-wrap:anywhere!important}.module-register .pos-protection-mobile{grid-template-columns:40px minmax(0,1fr) 36px!important;gap:9px!important;width:100%!important;padding:13px!important}.module-register .pos-protection-mobile>div{grid-column:2!important}.module-register .pos-protection-mobile>button{grid-column:3!important}.module-register .pos-protection-mobile label{grid-column:1/-1!important}.module-register .pos-protection-mobile .pos-protection-icon{width:40px;height:40px}.nav-primary-row>a{min-height:36px!important}.nav-submenu-toggle{right:8px!important;width:23px!important;height:23px!important;min-height:23px!important}}
.repair-catalog-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:10px!important}.repair-catalog-row-actions{display:flex;align-items:center;gap:5px}.repair-catalog-row-actions form{margin:0}.repair-catalog-row-actions .neutral-button{min-height:32px;padding:5px 8px}.repair-catalog-row-actions .icon-button{width:32px;height:32px;min-height:32px}.catalog-edit-modal[hidden]{display:none!important}.catalog-edit-modal{position:fixed;z-index:41000;inset:0;display:grid;place-items:center;padding:16px;background:rgba(4,10,18,.72);backdrop-filter:blur(6px)}.catalog-edit-modal>.modal-card{width:min(520px,100%);padding:0;overflow:hidden;background:var(--panel)}.catalog-edit-modal>.modal-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:15px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--accent) 7%,var(--panel))}.catalog-edit-modal h2{margin:2px 0 3px}.catalog-edit-modal header p{margin:0;color:var(--muted);font-size:.67rem}.catalog-edit-form{display:grid;gap:10px;padding:15px}.catalog-edit-form[hidden]{display:none!important}.catalog-edit-form button{width:100%;margin-top:3px}
@media(max-width:620px){.repair-catalog-row{grid-template-columns:1fr!important}.repair-catalog-row-actions{justify-content:flex-end;padding-top:7px;border-top:1px solid var(--line)}.repair-catalog-row-actions .neutral-button{flex:1}.catalog-edit-modal{padding:8px}}
#appSidebar nav{display:grid!important;gap:0!important}

/* ACPR POS 1.9.0: dashboard trends, decisive neon theme, and checkout/workflow refinement */
#appSidebar .nav-submenu-toggle{
  right:8px!important;width:16px!important;height:28px!important;min-height:28px!important;padding:0!important;
  border:0!important;border-radius:0!important;background:transparent!important;color:color-mix(in srgb,var(--sidebar-text) 68%,transparent)!important;
  box-shadow:none!important;outline-offset:2px;
}
#appSidebar .nav-submenu-toggle:hover,#appSidebar .nav-submenu-toggle:focus-visible{background:transparent!important;color:var(--accent)!important;box-shadow:none!important}
#appSidebar .nav-submenu-toggle .ui-icon{width:13px!important;height:13px!important;stroke-width:2.2!important}
#appSidebar .nav-group.is-open .nav-submenu-toggle .ui-icon{transform:rotate(90deg)!important}
#appSidebar .nav-submenu a{font-size:calc(.7rem + 1px)!important;line-height:1.35!important}

.dashboard-module-grid{align-items:stretch!important;grid-auto-flow:dense}
.dashboard-module{display:flex;min-width:0;min-height:330px;cursor:pointer}
.dashboard-module-content{display:flex;width:100%;min-width:0}
.dashboard-module-content>*{width:100%;min-height:100%;margin:0!important}
.dashboard-module-grid.is-editing .dashboard-module{cursor:default}
.dashboard-module-grid.is-editing .dashboard-module-content{min-height:300px}
.dashboard-size-control{display:flex!important;align-items:center!important;gap:5px!important;margin-left:auto!important;color:var(--muted);font-size:.62rem}
.dashboard-size-control select{width:auto!important;min-width:78px;height:31px!important;padding-block:3px!important}
.dashboard-period-card,.dashboard-stat{display:grid!important;grid-template-columns:minmax(0,1fr) 118px;align-items:center;gap:8px;text-decoration:none!important;color:var(--ink)!important}
.dashboard-period-card>span,.dashboard-stat-copy{display:grid;min-width:0;gap:3px}
.dashboard-period-card>span>strong,.dashboard-stat-copy>strong{font-size:1.25rem}
.dashboard-mini-trend{display:block;width:118px;height:48px;overflow:visible}
.mini-trend-base{fill:none;stroke:color-mix(in srgb,var(--line) 70%,transparent);stroke-width:1}
.mini-trend-line{fill:none;stroke:var(--accent);stroke-width:2.4;stroke-linecap:round;filter:drop-shadow(0 0 3px color-mix(in srgb,var(--accent) 45%,transparent))}
.mini-trend-peak{fill:var(--panel);stroke:var(--accent);stroke-width:2}
.mini-trend-halo{fill:color-mix(in srgb,var(--accent) 20%,transparent);stroke:none}
.dashboard-stat:hover,.dashboard-period-card:hover{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));transform:translateY(-1px)}
.dashboard-module[role="link"]:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.receipt-default-settings{display:grid;gap:16px;max-width:920px}
.receipt-default-settings h3{margin:2px 0 4px}
.receipt-default-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.receipt-default-options label{margin:0;cursor:pointer}
.receipt-default-options input{position:absolute;opacity:0;pointer-events:none}
.receipt-default-options label>span{display:grid;grid-template-columns:28px minmax(0,1fr);gap:3px 8px;min-height:92px;padding:13px;border:1px solid var(--line);background:var(--field)}
.receipt-default-options .ui-icon{grid-row:1/3;width:22px;height:22px;color:var(--accent)}
.receipt-default-options small{color:var(--muted)}
.receipt-default-options input:checked+span{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent),0 7px 20px color-mix(in srgb,var(--accent) 14%,transparent);background:color-mix(in srgb,var(--accent) 8%,var(--panel))}

.module-register .pos-protection-focus,.module-register .pos-protection-mobile{grid-template-columns:42px minmax(0,1fr)!important;align-items:start!important;gap:9px!important;width:100%!important}
.module-register .pos-protection-focus>div,.module-register .pos-protection-mobile>div{grid-column:2!important;width:100%!important;max-width:none!important;justify-self:stretch!important}
.module-register .pos-protection-focus .protection-view-plans,.module-register .pos-protection-mobile .protection-view-plans{grid-column:1/-1!important;grid-row:auto!important;width:100%!important;min-height:36px!important;justify-content:center!important}
.module-register .pos-protection-focus label,.module-register .pos-protection-mobile label{grid-column:1/-1!important;display:block!important;width:100%!important}
.module-register .pos-protection-focus .pos-protection-price{grid-column:1/-1!important;grid-row:auto!important;justify-self:end!important}
.module-register .customer-add-button{width:auto!important;min-width:0!important;height:34px!important;padding:5px 10px!important;border-radius:6px!important;gap:6px!important;white-space:nowrap!important}
.module-register .customer-add-button .button-label{display:inline!important;color:inherit!important}
.module-register .payment-line{grid-template-columns:minmax(0,1fr) auto auto!important}
.module-register .payment-line-actions{display:flex;align-items:center;gap:5px}
.module-register .payment-line-actions .icon-button{display:grid!important;width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important;padding:0!important;place-items:center!important}
.module-register .payment-line-actions .ui-icon{position:static!important;width:15px!important;height:15px!important;margin:0!important}
.cash-denomination-heading{display:block;margin-bottom:7px;color:var(--muted);font-size:.68rem;font-weight:650}
.module-register #searchResults[hidden]{display:none!important}
.module-register #searchResults.pos-search-results-anchored{position:absolute!important;inset:calc(100% + 5px) auto auto 0!important;width:min(590px,100%)!important;max-width:100%!important;transform:none!important}

.repair-workflow-stage-notes .repair-workflow-journal-form{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:start!important;gap:8px!important}
.repair-workflow-journal-form .rich-text-editor{min-width:0;width:100%}
.repair-workflow-journal-form .rich-text-toolbar{display:flex!important;align-items:center!important;align-content:flex-start!important;flex-wrap:wrap!important;height:auto!important;min-height:42px!important;overflow:visible!important}
.repair-workflow-journal-form .rich-text-surface{min-height:94px!important}
.repair-workflow-journal-form>button{align-self:end!important;width:auto!important;min-width:150px!important;height:40px!important;min-height:40px!important;padding:7px 12px!important}
.repair-workflow-status-row form{grid-template-columns:minmax(150px,220px) minmax(180px,1fr) auto!important;align-items:end!important}
.workflow-notify-customer{grid-column:1/3;margin:0!important}
.workflow-notify-customer>input{position:absolute;opacity:0;pointer-events:none}
.workflow-notify-customer>span{display:grid;grid-template-columns:22px minmax(0,1fr);gap:1px 7px;padding:8px 10px;border:1px solid var(--line);background:var(--field);cursor:pointer}
.workflow-notify-customer .ui-icon{grid-row:1/3;width:18px;height:18px;color:var(--muted)}
.workflow-notify-customer small{color:var(--muted);font-size:.62rem}
.workflow-notify-customer input:checked+span{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 9%,var(--panel))}
.workflow-notify-customer input:checked+span .ui-icon{color:var(--accent)}
.repair-model-groups{align-content:start;gap:10px!important}
.repair-model-navigation{position:sticky;top:8px;z-index:5;display:grid!important;grid-template-columns:20px auto minmax(180px,1fr);align-items:center;gap:8px;margin:0 0 3px!important;padding:9px;border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow)}
.repair-model-navigation .ui-icon{color:var(--accent)}
.repair-model-navigation select{width:100%}
.repair-model-group{scroll-margin-top:12px;border:1px solid var(--line);background:var(--panel)}
.repair-model-group>header{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--accent) 8%,var(--field))}
.repair-model-group>header>span{display:grid;width:30px;height:30px;place-items:center;color:var(--accent)}
.repair-model-group>header>div{display:grid}.repair-model-group>header small{color:var(--muted)}
.repair-model-group .repair-catalog-row{border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0!important}.repair-model-group .repair-catalog-row:last-child{border-bottom:0!important}
.catalog-delete-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;min-height:32px!important;padding:5px 8px!important}
.catalog-delete-button .ui-icon{position:static!important;width:15px!important;height:15px!important;margin:0!important;flex:0 0 auto!important}

/* This preset deliberately overrides the shared skin: hard edges, luminous grid, and cyberpunk contrast. */
body.theme-preset-dark-neon-only{
  --background:#010205;--panel:#05070b;--field:#090d13;--ink:#f5ffff;--muted:#8fc8d2;--line:#00dce8;--accent:#00fff0;--accent-dark:#008cff;
  background-color:#010205!important;background-image:linear-gradient(rgba(0,255,240,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,25,209,.045) 1px,transparent 1px),radial-gradient(circle at 80% 8%,rgba(120,60,255,.18),transparent 32%)!important;background-size:28px 28px,28px 28px,auto!important;
}
body.theme-preset-dark-neon-only :is(.panel,.stat,table,thead,tbody,tr,td,th,input,select,textarea,button,.button-link,.settings-tab,.settings-subtab,.tag,.pill,.modal-card,.rich-text-editor,.rich-text-toolbar,.rich-text-surface,.dashboard-module,.dashboard-period-card,.search-results,.nav-submenu a){border-radius:0!important}
body.theme-preset-dark-neon-only :is(.panel,.dashboard-module-content>.stats,.settings-form-surface,.modal-card){border:1px solid #00dce8!important;background:#05070b!important;box-shadow:0 0 0 1px rgba(0,255,240,.16),0 0 18px rgba(0,255,240,.18),inset 0 0 22px rgba(0,140,255,.04)!important}
body.theme-preset-dark-neon-only table{border:1px solid #ff19d1!important;box-shadow:0 0 16px rgba(255,25,209,.22)!important;background:#030509!important}
body.theme-preset-dark-neon-only thead th{border-color:#00fff0!important;background:#071724!important;color:#00fff0!important;text-shadow:0 0 8px rgba(0,255,240,.8)!important}
body.theme-preset-dark-neon-only tbody tr{border-color:rgba(0,255,240,.3)!important;background:linear-gradient(90deg,rgba(0,255,240,.025),rgba(255,25,209,.035))!important}
body.theme-preset-dark-neon-only tbody tr:hover{background:linear-gradient(90deg,rgba(0,255,240,.11),rgba(255,25,209,.1))!important;box-shadow:inset 3px 0 #00fff0,inset -3px 0 #ff19d1!important}
body.theme-preset-dark-neon-only :is(input,select,textarea,.rich-text-surface){border-color:#176579!important;background:#02060b!important;color:#f5ffff!important;box-shadow:inset 0 0 12px rgba(0,140,255,.08)!important}
body.theme-preset-dark-neon-only :is(input,select,textarea):focus{border-color:#00fff0!important;box-shadow:0 0 0 1px #00fff0,0 0 15px rgba(0,255,240,.5)!important}
body.theme-preset-dark-neon-only :is(button:not(.neutral-button):not(.danger-button),.button-link:not(.neutral-button):not(.danger-button),.hero-action-button){border:1px solid #00fff0!important;background:linear-gradient(105deg,#002d37,#006a78 55%,#00fff0)!important;color:#001014!important;text-shadow:none!important;box-shadow:0 0 14px rgba(0,255,240,.45),inset 0 0 8px rgba(255,255,255,.2)!important;clip-path:polygon(7px 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%,0 7px)}
body.theme-preset-dark-neon-only :is(.neutral-button,.button-link.neutral-button){border:1px solid #8b5cff!important;background:#080714!important;color:#f4edff!important;box-shadow:0 0 12px rgba(139,92,255,.34)!important}
body.theme-preset-dark-neon-only .danger-button{border:1px solid #ff3159!important;background:#25020b!important;color:#fff!important;box-shadow:0 0 13px rgba(255,49,89,.45)!important}
body.theme-preset-dark-neon-only #appSidebar{border-right:1px solid #ff19d1!important;background:linear-gradient(180deg,#020208,#050316)!important;box-shadow:8px 0 25px rgba(255,25,209,.14)!important}
body.theme-preset-dark-neon-only #appSidebar .nav-primary-row>a.active{background:linear-gradient(90deg,rgba(0,255,240,.22),rgba(255,25,209,.14))!important;color:#fff!important;box-shadow:inset 3px 0 #00fff0,0 0 12px rgba(0,255,240,.2)!important}
body.theme-preset-dark-neon-only #appSidebar .nav-submenu-toggle{color:#ff19d1!important;filter:drop-shadow(0 0 4px #ff19d1)}
body.theme-preset-dark-neon-only .operations-ticker-bar{border-bottom:1px solid #00fff0!important;background:#02040a!important;box-shadow:0 5px 18px rgba(0,255,240,.13)!important}
body.theme-preset-dark-neon-only .section-kicker{color:#00fff0!important;text-shadow:0 0 8px rgba(0,255,240,.75)!important}
body.theme-preset-dark-neon-only .dashboard-mini-trend .mini-trend-line{stroke:#ff19d1;filter:drop-shadow(0 0 4px #ff19d1)}
body.theme-preset-dark-neon-only .dashboard-mini-trend .mini-trend-peak{fill:#010205;stroke:#00fff0}body.theme-preset-dark-neon-only .dashboard-mini-trend .mini-trend-halo{fill:rgba(0,255,240,.32)}

@media(max-width:900px){.dashboard-module{min-height:300px}.dashboard-period-card,.dashboard-stat{grid-template-columns:minmax(0,1fr) 96px}.dashboard-mini-trend{width:96px}.receipt-default-options{grid-template-columns:1fr}}
@media(max-width:760px){
  .module-register .topbar{align-items:stretch!important}.module-register .topbar-actions{display:grid!important;grid-auto-flow:column!important;grid-auto-columns:minmax(0,1fr)!important;gap:5px!important;width:100%!important;overflow:visible!important}
  .module-register .topbar-actions .topbar-action-tab{display:flex!important;width:100%!important;min-width:0!important;min-height:40px!important;padding:5px 4px!important;white-space:normal!important;text-align:center!important;font-size:.6rem!important;line-height:1.15!important}
  .module-register .topbar-actions .ui-icon{width:14px!important;height:14px!important;flex:0 0 auto!important}
  .module-register #searchResults.pos-search-results-anchored{position:absolute!important;inset:calc(100% + 4px) 0 auto 0!important;width:100%!important;max-width:100%!important;max-height:min(58dvh,460px)!important;overflow:auto!important;overscroll-behavior:contain!important;transform:none!important}
  .module-register .cart-table tbody{display:grid!important;width:100%!important;gap:9px!important;padding:0!important}
  .module-register .cart-table tbody tr{box-sizing:border-box!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;align-items:stretch!important;justify-items:stretch!important;width:100%!important;max-width:none!important;margin:0!important;padding:10px!important}
  .module-register .cart-table tbody td{box-sizing:border-box!important;justify-self:stretch!important;min-width:0!important}
  .module-register .cart-table .cart-item-cell{grid-column:1/-1!important;width:100%!important;padding:0 0 8px!important}
  .module-register .cart-price-cell,.module-register .cart-qty-cell,.module-register .cart-total-cell{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;min-height:52px!important;padding:6px!important;border:1px solid var(--line)!important;background:var(--field)!important;text-align:center!important}
  .module-register .cart-price-cell::before,.module-register .cart-qty-cell::before,.module-register .cart-total-cell::before{content:attr(data-label);display:block;margin-bottom:3px;color:var(--muted);font-size:.55rem;text-transform:uppercase}
  .module-register .cart-qty-cell input{width:100%!important;max-width:76px!important;text-align:center!important}
  .module-register .cart-row-actions{grid-column:1/-1!important;justify-content:stretch!important}.module-register .cart-row-actions>*{flex:1!important}
  .module-register .pos-protection-mobile{grid-template-columns:42px minmax(0,1fr)!important;padding:13px!important}.module-register .pos-protection-mobile .protection-view-plans{grid-column:1/-1!important}
  .repair-workflow-stage-notes .repair-workflow-journal-form{grid-template-columns:1fr!important}.repair-workflow-journal-form>button{width:100%!important;min-width:0!important;height:40px!important}
  .repair-workflow-status-row form{grid-template-columns:1fr!important}.workflow-notify-customer{grid-column:1!important}
  .repair-model-navigation{position:static;grid-template-columns:20px 1fr}.repair-model-navigation>span{display:none}
}

/* 1.10.0 precedence: these rules intentionally follow legacy responsive patches. */
#appSidebar button.nav-submenu-toggle{all:unset!important;box-sizing:border-box!important;position:absolute!important;top:50%!important;right:7px!important;display:grid!important;width:18px!important;height:28px!important;min-width:18px!important;min-height:28px!important;place-items:center!important;transform:translateY(-50%)!important;cursor:pointer!important;color:color-mix(in srgb,var(--sidebar-text) 64%,transparent)!important}
#appSidebar button.nav-submenu-toggle:hover,#appSidebar button.nav-submenu-toggle:focus-visible{color:var(--accent)!important;background:transparent!important;box-shadow:none!important}
#appSidebar button.nav-submenu-toggle .ui-icon{width:12px!important;height:12px!important;transform:none!important;transition:transform .16s ease!important}
#appSidebar .nav-group.is-open button.nav-submenu-toggle .ui-icon{transform:rotate(90deg)!important}
.dashboard-module{min-height:0!important;align-self:start}.dashboard-module-content,.dashboard-module-content>*{min-height:0!important}.dashboard-module-height-compact{min-height:188px!important}.dashboard-module-height-standard{min-height:330px!important}.dashboard-module-height-tall{min-height:470px!important}.dashboard-module-height-auto{min-height:0!important}.dashboard-module[data-dashboard-module="store-stats"] .dashboard-stats{height:auto!important;min-height:0!important}.dashboard-module[data-dashboard-module="store-stats"] .dashboard-stat{min-height:126px!important;padding:13px!important}.dashboard-module-grid.is-editing .dashboard-module-content{min-height:0!important}.dashboard-module-control{display:flex!important;align-items:center!important;flex-wrap:wrap!important}.dashboard-module-control>span:nth-of-type(1){min-width:150px;flex:1}.dashboard-height-control{margin-left:0!important}
.module-register .customer-add-button{width:auto!important;min-width:0!important;height:36px!important;min-height:36px!important;padding:6px 11px!important;border-radius:6px!important;gap:6px!important}.module-register .customer-add-button .button-label{display:inline!important;color:inherit!important}
.module-register .cart-table{font-size:.82rem!important}.module-register .cart-table tbody td{font-size:.82rem!important;color:var(--ink)!important}.module-register .cart-product-copy strong{font-size:.88rem!important;line-height:1.3!important;font-weight:700!important;color:var(--ink)!important}.module-register .cart-product-copy small{font-size:.68rem!important}.module-register .pos-protection-mobile{grid-column:1/-1!important;width:100%!important;max-width:none!important}
.receipt-template-preview.is-a4{width:min(100%,560px)!important;min-height:0!important;aspect-ratio:210/297!important;padding:clamp(24px,5.6%,42px)!important}.receipt-template-preview.is-thermal{width:min(100%,var(--preview-width,80mm))!important}
@media(max-width:760px){.dashboard-module-height-compact,.dashboard-module-height-standard,.dashboard-module-height-tall,.dashboard-module-height-auto{min-height:0!important}.module-register .pos-items-table-wrap,.module-register .cart-table,.module-register .cart-table tbody{box-sizing:border-box!important;display:block!important;width:100%!important;max-width:none!important}.module-register .cart-table tbody tr{box-sizing:border-box!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;width:100%!important;max-width:none!important;margin:0 0 9px!important;padding:12px!important}.module-register .cart-table tbody td{box-sizing:border-box!important;width:100%!important;max-width:none!important;min-width:0!important;font-size:.82rem!important}.module-register .cart-table .cart-item-cell{grid-column:1/-1!important;display:grid!important;grid-template-columns:25px 48px minmax(0,1fr)!important;width:100%!important;max-width:none!important}.module-register .cart-product-thumb{width:46px!important;height:46px!important}.module-register .cart-product-copy strong{font-size:.92rem!important}.module-register .cart-product-copy small{font-size:.72rem!important}.module-register .pos-payment-body{display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:100%!important}.module-register .pos-protection-mobile{grid-column:1!important;display:grid!important;width:100%!important;max-width:none!important;margin:0!important}}

/* v1.20.0 workspaces */
.gateway-overview-form{display:grid;gap:18px}
.gateway-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.gateway-overview-card{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;padding:16px;border:1px solid var(--line);background:var(--panel)}
.gateway-overview-card.is-enabled{border-left:4px solid var(--accent)}
.gateway-overview-card p,.gateway-overview-card small{display:block;margin:3px 0 0;color:var(--muted)}
.gateway-overview-icon{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--line);background:var(--field);color:var(--accent)}
.gateway-overview-card .button-link{grid-column:2/4;justify-self:start}
.gateway-overview-save{display:flex;justify-content:flex-end}
.notification-type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.design-reset-top{margin-left:auto}
.design-reset-top button{min-height:40px}
.dashboard-team-alert{display:grid;grid-template-columns:48px minmax(0,1fr) auto auto;gap:14px;align-items:center;margin:0 0 16px;padding:14px 16px;border-left:5px solid var(--team-alert-accent);background:var(--team-alert-bg);color:var(--team-alert-text);box-shadow:0 12px 28px rgba(15,23,42,.14)}
.dashboard-team-alert[hidden]{display:none}
.dashboard-team-alert .section-kicker,.dashboard-team-alert small{color:color-mix(in srgb,var(--team-alert-text) 72%,transparent)}
.dashboard-team-alert p,.dashboard-team-alert-message{margin:2px 0 4px;line-height:1.45}
.dashboard-team-alert-message p{margin:0 0 5px}
.dashboard-team-alert-icon{width:42px;height:42px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--team-alert-accent) 65%,transparent);color:var(--team-alert-accent)}
.dashboard-team-alert>a,.dashboard-team-alert>button{display:inline-flex;align-items:center;gap:7px;border:0;background:transparent;color:var(--team-alert-text);padding:9px;cursor:pointer}
.dashboard-module-third{grid-column:span 4}
.dashboard-module:not(.dashboard-module-height-auto){overflow:hidden}
.dashboard-module:not(.dashboard-module-height-auto)>.dashboard-module-content{height:100%;overflow:auto;overscroll-behavior:contain}
.dashboard-module-height-compact{height:188px!important}
.dashboard-module-height-standard{height:330px!important}
.dashboard-module-height-tall{height:470px!important}
.dashboard-module-height-auto{height:auto!important}
.dashboard-module[data-dashboard-module="store-stats"]{height:auto!important}
.dashboard-module[data-dashboard-module="store-stats"] .dashboard-stats{grid-template-columns:repeat(4,minmax(0,1fr));height:auto!important}
.dashboard-module[data-dashboard-module="store-stats"] .dashboard-stat{min-height:108px!important}
.tv-designer-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,410px);gap:18px;align-items:start}
.tv-designer-controls{display:grid;gap:14px;min-width:0}
.tv-designer-section{padding:0;overflow:hidden}
.tv-designer-section>header{display:flex;gap:11px;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--panel) 90%,var(--accent) 10%)}
.tv-designer-section>header>span{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line);color:var(--accent)}
.tv-designer-section>header h3,.tv-designer-section>header p{margin:0}
.tv-designer-section>.form-grid,.tv-designer-section>label,.tv-designer-section>input,.tv-designer-section>p,.tv-designer-section>.tv-product-selector{margin:14px}
.tv-designer-preview-rail{position:sticky;top:76px;display:grid;gap:12px}
.tv-designer-preview-card{padding:14px}
.tv-designer-canvas{position:relative;aspect-ratio:16/9;overflow:hidden;border:1px solid var(--line);background:var(--canvas-bg,#07111f);color:#fff}
.tv-designer-copy{position:absolute;left:7%;bottom:9%;z-index:1;display:grid;gap:5px;width:70%}
.tv-designer-copy small{color:#67e8f9;text-transform:uppercase}
.tv-designer-copy strong{font-size:clamp(17px,2vw,30px)}
.tv-canvas-element{position:absolute;touch-action:none;cursor:move}
.tv-canvas-element img{display:block;width:100%;height:auto}
.tv-canvas-element button{position:absolute;right:0;top:0;width:28px;height:28px;padding:0}
.tv-canvas-element input{position:absolute;left:0;right:0;bottom:-26px;width:100%}
.tv-product-selector{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.tv-product-selector label>input{position:absolute;opacity:0}
.tv-product-selector label>span{display:grid;grid-template-columns:48px minmax(0,1fr);gap:8px;align-items:center;min-height:66px;padding:8px;border:1px solid var(--line);background:var(--field)}
.tv-product-selector label>input:checked+span{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}
.tv-product-selector img{grid-row:1/3;width:48px;height:48px;object-fit:contain}
.tv-status-selector{display:flex;flex-wrap:wrap;gap:7px}
.tv-status-selector label{display:flex;align-items:center;gap:6px;padding:7px 9px;border:1px solid var(--line);background:var(--field)}
.tv-media-upload{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.tv-item-current-image,.tv-item-current-video{display:block;max-width:360px;max-height:220px;margin:14px;object-fit:contain}
.tv-playlist-list{display:grid;gap:9px}
.tv-playlist-record{display:grid;grid-template-columns:42px 90px minmax(0,1fr) auto;gap:12px;align-items:center}
.tv-playlist-drag-handle{cursor:grab}
.tv-playlist-preview{width:90px;height:58px;object-fit:contain;background:var(--field)}
.repair-model-image{width:54px;height:72px;object-fit:contain;background:var(--field);border:1px solid var(--line)}
.ai-advanced-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px;border:1px solid var(--line);background:var(--field)}
.setup-module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.setup-module-option{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:9px;align-items:center;padding:12px;border:1px solid var(--line);background:var(--field)}
.setup-module-option small{display:block;color:var(--muted)}
.setup-callout{display:flex;gap:12px;padding:14px;border:1px solid var(--line);background:color-mix(in srgb,var(--panel) 90%,var(--accent) 10%)}
.setup-callout span{display:block;margin-top:3px;color:var(--muted)}

@media(max-width:900px){
  .gateway-overview-grid,.notification-type-grid,.tv-designer-workspace{grid-template-columns:1fr}
  .tv-designer-preview-rail{position:static}
  .dashboard-module-third{grid-column:span 6}
}
@media(max-width:760px){
  .dashboard-team-alert{grid-template-columns:40px minmax(0,1fr) auto;padding:12px}
  .dashboard-team-alert>a{grid-column:2}
  .dashboard-team-alert>button{grid-column:3;grid-row:1}
  .dashboard-module-third{grid-column:span 12}
  .dashboard-module-height-compact,.dashboard-module-height-standard,.dashboard-module-height-tall{height:auto!important}
  .dashboard-module:not(.dashboard-module-height-auto)>.dashboard-module-content{overflow:visible}
  .dashboard-module[data-dashboard-module="store-stats"] .dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gateway-overview-card{grid-template-columns:40px minmax(0,1fr)}
  .gateway-overview-card select{grid-column:1}
  .gateway-overview-card .button-link{grid-column:2}
  .tv-product-selector{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tv-playlist-record{grid-template-columns:36px 66px minmax(0,1fr)}
  .tv-playlist-record .record-actions{grid-column:1/-1}
  .setup-module-grid{grid-template-columns:1fr}
}

/* ACPR POS 1.10.3: authoritative mobile customer and cart geometry. */
@media (max-width: 760px) {
    .module-register .pos-layout,
    .module-register .pos-transaction-panel,
    .module-register .pos-transaction-panel form#checkoutForm {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .module-register .pos-transaction-panel form#checkoutForm > .pos-sidebar-customer-card,
    .module-register .pos-items-section {
        box-sizing: border-box !important;
        justify-self: stretch !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
    }

    .module-register .pos-sidebar-customer-card .repair-workflow-panel-head,
    .module-register .pos-sidebar-customer-preview,
    .module-register .pos-sidebar-customer-actions,
    .module-register .pos-customer-profile,
    .module-register .pos-customer-identity,
    .module-register .pos-customer-contacts,
    .module-register .customer-value-blocks {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .module-register .pos-sidebar-customer-search {
        box-sizing: border-box !important;
        width: auto !important;
        max-width: none !important;
        min-width: 0 !important;
        margin-right: 12px !important;
        margin-left: 12px !important;
    }

    .module-register .pos-sidebar-customer-card .repair-workflow-panel-head {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
    }

    .module-register .pos-sidebar-customer-preview {
        overflow: hidden !important;
    }

    .module-register .customer-value-blocks {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .module-register .customer-value-blocks > div,
    .module-register .customer-value-blocks > div > span,
    .module-register .pos-customer-contacts :is(a, p) {
        min-width: 0 !important;
        overflow-wrap: anywhere !important;
    }

    .module-register .pos-items-table-wrap,
    .module-register .pos-items-table-wrap .cart-table,
    .module-register .pos-items-table-wrap .cart-table tbody {
        box-sizing: border-box !important;
        display: grid !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    .module-register .pos-items-table-wrap .cart-table tbody {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 8px !important;
    }

    .module-register .pos-items-table-wrap .cart-table tbody tr {
        box-sizing: border-box !important;
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 7px !important;
        justify-self: stretch !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 11px !important;
        overflow: hidden !important;
    }

    .module-register .pos-items-table-wrap .cart-table tbody td {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
    }

    .module-register .pos-items-table-wrap .cart-table .cart-item-cell {
        grid-column: 1 / -1 !important;
        grid-template-columns: 24px 48px minmax(0, 1fr) !important;
        align-items: start !important;
        gap: 9px !important;
        padding: 0 0 10px !important;
    }

    .module-register .pos-items-table-wrap .cart-product-copy,
    .module-register .pos-items-table-wrap .cart-product-copy > * {
        min-width: 0 !important;
        max-width: 100% !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
    }

    .module-register .pos-items-table-wrap .cart-price-cell,
    .module-register .pos-items-table-wrap .cart-qty-cell,
    .module-register .pos-items-table-wrap .cart-total-cell {
        display: grid !important;
        align-content: center !important;
        justify-items: center !important;
        min-height: 58px !important;
        padding: 7px 4px !important;
        text-align: center !important;
    }

    .module-register .pos-items-table-wrap .cart-qty-cell input {
        width: min(100%, 76px) !important;
        min-width: 0 !important;
    }

    .module-register .pos-items-table-wrap .cart-row-actions {
        grid-column: 1 / -1 !important;
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 7px !important;
        padding-top: 2px !important;
    }

    .module-register .pos-items-table-wrap .cart-row-actions > * {
        width: 100% !important;
        min-width: 0 !important;
        justify-content: center !important;
    }

    .module-register .pos-items-table-wrap #emptyCartRow > .empty {
        grid-column: 1 / -1 !important;
        display: block !important;
        padding: 24px 12px !important;
        text-align: center !important;
    }
}

@media (max-width: 420px) {
    .module-register .pos-sidebar-customer-card .repair-workflow-panel-head {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .module-register .pos-sidebar-customer-card .customer-add-button {
        width: 100% !important;
        max-width: 100% !important;
        justify-content: center !important;
    }
}

/* ACPR POS 1.10.4: repair the inner mobile grids revealed by real checkout data. */
@media (max-width: 760px) {
    .module-register .pos-sidebar-customer-preview {
        height: auto !important;
        min-height: 0 !important;
        overflow: visible !important;
    }

    .module-register .pos-sidebar-customer-preview .pos-customer-profile {
        display: grid !important;
        grid-template-columns: 48px minmax(0, 1fr) !important;
        grid-auto-flow: row !important;
        align-items: start !important;
        align-content: start !important;
        gap: 11px !important;
    }

    .module-register .pos-sidebar-customer-preview .pos-customer-identity {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        grid-auto-flow: row !important;
        align-content: start !important;
        gap: 4px !important;
    }

    .module-register .pos-sidebar-customer-preview .pos-customer-identity > * {
        grid-column: 1 !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: 100% !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
    }

    .module-register .pos-items-table-wrap .cart-table .cart-item-cell {
        grid-template-columns: 28px 52px minmax(0, 1fr) !important;
        grid-template-rows: auto !important;
        grid-auto-flow: column !important;
        align-content: start !important;
        align-items: start !important;
    }

    .module-register .pos-items-table-wrap .cart-table .cart-item-cell::before {
        display: none !important;
        content: none !important;
    }

    .module-register .pos-items-table-wrap .cart-table .cart-sequence {
        grid-column: 1 !important;
        grid-row: 1 !important;
        align-self: start !important;
    }

    .module-register .pos-items-table-wrap .cart-table .cart-product-thumb {
        grid-column: 2 !important;
        grid-row: 1 !important;
        width: 50px !important;
        height: 50px !important;
    }

    .module-register .pos-items-table-wrap .cart-table .cart-product-copy {
        grid-column: 3 !important;
        grid-row: 1 !important;
        align-self: start !important;
        width: 100% !important;
        min-width: 0 !important;
    }
}

/* ACPR POS 1.11.0: final mobile checkout and repair-workflow geometry. */
@media (max-width: 760px) {
    .module-register .pos-transaction-panel form#checkoutForm > .pos-sidebar-customer-card,
    .module-register .pos-items-section {
        box-sizing: border-box !important;
        width: calc(100% - 16px) !important;
        max-width: calc(100% - 16px) !important;
        min-width: 0 !important;
        margin-right: 8px !important;
        margin-left: 8px !important;
    }

    .module-register .pos-sidebar-customer-card .repair-workflow-panel-head {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        align-items: center !important;
        gap: 10px !important;
    }

    .module-register .pos-sidebar-customer-card .customer-add-button {
        display: inline-flex !important;
        grid-column: 2 !important;
        width: auto !important;
        max-width: 142px !important;
        min-width: 0 !important;
        height: 36px !important;
        min-height: 36px !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 6px !important;
        padding: 6px 10px !important;
        overflow: hidden !important;
        border-radius: 6px !important;
        background: var(--hero-button-bg) !important;
        color: var(--hero-button-text) !important;
        -webkit-text-fill-color: var(--hero-button-text) !important;
        clip-path: none !important;
        white-space: nowrap !important;
    }

    .module-register .pos-sidebar-customer-card .customer-add-button > .ui-icon {
        position: static !important;
        flex: 0 0 16px !important;
        width: 16px !important;
        height: 16px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        color: currentColor !important;
    }

    .module-register .pos-sidebar-customer-card .customer-add-button .button-label {
        display: block !important;
        min-width: 0 !important;
        overflow: hidden !important;
        color: inherit !important;
        -webkit-text-fill-color: inherit !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    .module-register .pos-sidebar-customer-preview .pos-customer-profile {
        width: 100% !important;
        grid-template-columns: 48px minmax(0, 1fr) !important;
    }

    .module-register .pos-sidebar-customer-preview .pos-customer-identity {
        width: 100% !important;
        min-width: 0 !important;
    }

    .module-register .pos-sidebar-customer-preview .pos-customer-identity > * {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        overflow-wrap: anywhere !important;
    }

    .module-register .pos-items-table-wrap .cart-table tbody tr {
        width: 100% !important;
        max-width: 100% !important;
    }

    .repair-workflow-stage-notes,
    .repair-workflow-stage-notes .repair-workflow-journal-form,
    .repair-workflow-stage-notes .rich-text-editor {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .repair-workflow-stage-notes .rich-text-toolbar {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        align-content: flex-start !important;
        gap: 4px !important;
        width: 100% !important;
        min-height: 0 !important;
        height: auto !important;
        padding: 6px !important;
        overflow: visible !important;
    }

    .repair-workflow-stage-notes .rich-text-toolbar .rich-text-format {
        flex: 1 1 128px !important;
        width: auto !important;
        min-width: 108px !important;
        max-width: none !important;
        height: 32px !important;
        min-height: 32px !important;
        margin: 0 !important;
        padding: 4px 25px 4px 8px !important;
        font-size: .72rem !important;
    }

    .repair-workflow-stage-notes .rich-text-toolbar button:not(.rich-text-ai-button) {
        flex: 0 0 32px !important;
        width: 32px !important;
        max-width: 32px !important;
        min-width: 32px !important;
        height: 32px !important;
        min-height: 32px !important;
        margin: 0 !important;
        padding: 0 !important;
        border-radius: 5px !important;
        clip-path: none !important;
        font-size: .7rem !important;
    }

    .repair-workflow-stage-notes .rich-text-toolbar .rich-text-ai-button {
        flex: 0 1 auto !important;
        width: auto !important;
        max-width: 126px !important;
        min-width: 0 !important;
        height: 32px !important;
        min-height: 32px !important;
        margin: 0 !important;
        padding: 0 9px !important;
        border-radius: 5px !important;
        clip-path: none !important;
        font-size: .68rem !important;
    }

    .repair-workflow-stage-notes .rich-text-surface {
        min-height: 112px !important;
        padding: 10px !important;
        font-size: .78rem !important;
    }

    .repair-workflow-stage-notes .repair-workflow-journal-form > button {
        width: 100% !important;
        min-width: 0 !important;
        height: 40px !important;
        min-height: 40px !important;
        padding: 7px 12px !important;
    }
}

/* ACPR POS 1.12.0: final desktop layout authority. */
@media (min-width: 721px) {
    .module-register .pos-sidebar-customer-card .repair-workflow-panel-head {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        align-items: center !important;
        gap: 12px !important;
    }

    .module-register .pos-sidebar-customer-card .customer-add-button {
        grid-column: 2 !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: 150px !important;
        padding: 8px 12px !important;
        white-space: nowrap !important;
    }

    .module-register .pos-sidebar-customer-preview .pos-customer-profile {
        display: grid !important;
        grid-template-columns: 50px minmax(0, 1fr) !important;
        align-items: start !important;
        gap: 12px !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    .module-register .pos-sidebar-customer-preview .pos-customer-identity {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 4px !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }

    .module-register .pos-sidebar-customer-preview .pos-customer-identity > * {
        grid-column: 1 !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: 100% !important;
        overflow-wrap: break-word !important;
        word-break: normal !important;
    }

    .repair-workflow-stage-notes .repair-workflow-journal-form {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        align-items: start !important;
        gap: 10px !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    .repair-workflow-stage-notes .repair-workflow-journal-form > .rich-text-editor {
        grid-column: 1 !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    .repair-workflow-stage-notes .repair-workflow-journal-form > button {
        grid-column: 1 !important;
        justify-self: end !important;
        width: auto !important;
        min-width: 190px !important;
        min-height: 40px !important;
        padding: 8px 16px !important;
    }

    .repair-workflow-stage-notes .rich-text-toolbar {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        gap: 5px !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        padding: 7px !important;
        overflow: visible !important;
    }

    .repair-workflow-stage-notes .rich-text-toolbar .rich-text-format {
        flex: 0 1 140px !important;
        width: 140px !important;
        min-width: 112px !important;
        height: 34px !important;
        min-height: 34px !important;
    }

    .repair-workflow-stage-notes .rich-text-toolbar button:not(.rich-text-ai-button) {
        flex: 0 0 34px !important;
        width: 34px !important;
        min-width: 34px !important;
        max-width: 34px !important;
        height: 34px !important;
        min-height: 34px !important;
        padding: 0 !important;
    }

    .repair-workflow-stage-notes .rich-text-toolbar .rich-text-ai-button {
        flex: 0 0 auto !important;
        width: auto !important;
        min-width: 116px !important;
        height: 34px !important;
        min-height: 34px !important;
        margin-left: auto !important;
        padding: 0 10px !important;
    }
}

.repair-workflow-payment-ledger {
    display: grid;
    gap: 8px;
    margin: 0 0 14px;
    padding: 12px;
    border: 1px solid var(--line-color);
    background: color-mix(in srgb, var(--panel-bg) 88%, var(--accent-color) 12%);
}

.repair-workflow-payment-ledger:empty { display: none; }

.repair-workflow-payment-ledger > header,
.repair-workflow-payment-ledger article {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.repair-workflow-payment-ledger > header {
    padding-bottom: 8px;
    border-bottom: 1px solid var(--line-color);
}

.repair-workflow-payment-ledger > header.is-paid { color: var(--success-color, #087f5b); }
.repair-workflow-payment-ledger > header.is-partial { color: var(--warning-color, #a15c00); }

.repair-workflow-payment-ledger > p {
    margin: 0;
    color: var(--muted-text);
    font-size: .78rem;
}

.repair-workflow-payment-ledger > div { display: grid; gap: 7px; }

.repair-workflow-payment-ledger article {
    padding-top: 7px;
    border-top: 1px solid color-mix(in srgb, var(--line-color) 68%, transparent);
}

.repair-workflow-payment-ledger article:first-child { padding-top: 0; border-top: 0; }
.repair-workflow-payment-ledger article span { display: grid; gap: 2px; min-width: 0; }
.repair-workflow-payment-ledger article small { color: var(--muted-text); font-size: .72rem; }
.repair-workflow-payment-entry-actions {
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:7px;
}
.repair-workflow-payment-entry-actions .icon-button {
    width:30px!important;
    min-width:30px!important;
    height:30px!important;
    min-height:30px!important;
    padding:0!important;
}
.repair-workflow-stripe-modal > .modal-card {
    width:min(560px,calc(100vw - 24px));
    padding:0;
    overflow:hidden;
}
.repair-workflow-stripe-state {
    display:grid;
    grid-template-columns:44px minmax(0,1fr);
    align-items:start;
    gap:12px;
    padding:18px;
}
.repair-workflow-stripe-state > span {
    display:grid;
    width:44px;
    height:44px;
    place-items:center;
    border:1px solid color-mix(in srgb,var(--accent) 55%,var(--line));
    background:color-mix(in srgb,var(--accent) 12%,var(--panel));
    color:var(--accent);
}
.repair-workflow-stripe-state > div { display:grid;gap:4px; }
.repair-workflow-stripe-state p { margin:3px 0 0;color:var(--muted); }
.repair-workflow-stripe-modal footer {
    display:flex;
    justify-content:flex-end;
    padding:12px 18px;
    border-top:1px solid var(--line);
    background:var(--field);
}

/* 1.13.0 unified command workspaces */
.public-appointment-response-state {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    align-items: center;
    gap: 11px;
    margin-top: 16px;
    padding: 13px;
    border: 1px solid color-mix(in srgb, var(--success) 44%, var(--line));
    background: color-mix(in srgb, var(--success) 9%, var(--panel));
    color: var(--success);
}
.public-appointment-response-state > .ui-icon { width: 36px; height: 36px; padding: 7px; border: 1px solid currentColor; }
.public-appointment-response-state > div { display: grid; gap: 2px; }
.public-appointment-response-state span { color: var(--muted); font-size: .78rem; }
.public-appointment-response-state.is-declined { border-color: color-mix(in srgb, var(--danger) 44%, var(--line)); background: color-mix(in srgb, var(--danger) 8%, var(--panel)); color: var(--danger); }

.theme-preset-catalog { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.theme-preset-group { min-width: 0; padding: 11px; border: 1px solid color-mix(in srgb, var(--accent) 20%, var(--line)); background: color-mix(in srgb, var(--field) 72%, var(--panel)); }
.theme-preset-group > header { display: flex; align-items: center; gap: 9px; padding: 0 1px 9px; border-bottom: 1px solid var(--line); }
.theme-preset-group > header > span { display: grid; width: 30px; height: 30px; place-items: center; border: 1px solid var(--line); background: var(--panel); color: var(--accent); }
.theme-preset-group > header .ui-icon { width: 15px; height: 15px; }
.theme-preset-group > header div { display: grid; }
.theme-preset-group > header small { color: var(--muted); font-size: .61rem; }
.theme-preset-group > div { display: grid; gap: 6px; padding-top: 8px; }
.theme-preset-choice { min-height: 46px; border-radius: 4px; }
.theme-preset-choice-name { display: grid; gap: 1px; color: var(--ink); font-weight: 720; }
.theme-preset-choice-name small { color: var(--preset-accent); font-size: .5rem; letter-spacing: .08em; }
.theme-preset-choice.is-selected::after { content: "Selected"; justify-self: end; color: var(--preset-accent); font-size: .54rem; font-weight: 800; text-transform: uppercase; }
.theme-preset-choice.is-selected .theme-preset-swatches { display: none; }

.template-center-heading { display: flex; align-items: center; justify-content: space-between; }
.template-command-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; margin-bottom: 11px; }
.template-command-strip article { display: grid; grid-template-columns: 36px minmax(0, 1fr); align-items: center; gap: 9px; min-height: 70px; padding: 11px; border: 1px solid var(--line); border-top: 3px solid var(--accent); background: var(--panel); }
.template-command-strip article > span { display: grid; width: 36px; height: 36px; place-items: center; background: color-mix(in srgb, var(--accent) 10%, var(--field)); color: var(--accent); }
.template-command-strip article .ui-icon { width: 17px; height: 17px; }
.template-command-strip article div { display: grid; gap: 1px; }
.template-command-strip article strong { font-size: .85rem; }
.template-command-strip article small { color: var(--muted); font-size: .61rem; }
.template-center-page { gap: 0; padding: 0; overflow: visible; }
.template-type-tabs { gap: 0; padding: 5px 8px 0; border-bottom: 1px solid var(--line); background: color-mix(in srgb, var(--field) 70%, var(--panel)); }
.template-type-tabs a { min-height: 39px; padding: 8px 10px; border: 0; border-bottom: 3px solid transparent; border-radius: 0; background: transparent; font-weight: 680; }
.template-type-tabs a.active { border-color: var(--accent); background: var(--panel); color: var(--accent); }
.template-overview-grid, .message-template-tabs, .message-template-landing, .message-editor-layout, .receipt-template-layout { margin: 14px; }
.message-template-tabs { gap: 0; padding: 4px 6px 0; border: 1px solid var(--line); background: var(--field); }
.message-template-tabs a { border-radius: 0; border-bottom: 3px solid transparent; }
.message-template-tabs a.active { border-bottom-color: var(--accent); background: var(--panel); }

.record-link, .record-customer-link, .product-record-link { color: inherit; text-decoration: none; }
.record-link:hover strong, .record-customer-link:hover strong, .product-record-link:hover strong { color: var(--accent); text-decoration: underline; text-underline-offset: 3px; }
.invoice-list-panel, .product-directory-panel { border-top: 3px solid var(--accent); }
.invoice-list-toolbar, .product-directory-filters { background: color-mix(in srgb, var(--field) 76%, var(--panel)); }
.catalog-tools-menu { width: 150px; }
.catalog-tools-menu > div { width: 205px; }
.product-directory-heading { align-items: center; margin-bottom: 11px; }
.product-directory-heading h2 { font-size: 1.35rem; }
.product-directory-stats { margin-bottom: 11px; }
.product-directory-filters { grid-template-columns: minmax(300px, 1.8fr) repeat(4, minmax(120px, .75fr)) auto; gap: 7px; padding: 12px; }
.product-directory-result-bar { min-height: 38px; padding: 8px 13px; }
.product-directory-table tbody tr { min-height: 70px; }

.audit-header { margin-bottom: 9px; border-top: 3px solid var(--accent); }
.audit-kpi-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-bottom: 9px; }
.audit-kpi-strip article { display: grid; grid-template-columns: 34px minmax(0, 1fr); align-items: center; gap: 9px; padding: 10px 12px; border: 1px solid var(--line); background: var(--panel); }
.audit-kpi-strip article > span { display: grid; width: 34px; height: 34px; place-items: center; background: color-mix(in srgb, var(--accent) 10%, var(--field)); color: var(--accent); }
.audit-kpi-strip article .ui-icon { width: 16px; height: 16px; }
.audit-kpi-strip article div { display: grid; }
.audit-kpi-strip small { color: var(--muted); font-size: .58rem; text-transform: uppercase; }
.audit-kpi-strip strong { font-size: 1.05rem; }
.audit-kpi-strip .has-attention { border-color: color-mix(in srgb, var(--danger) 45%, var(--line)); }
.audit-kpi-strip .has-attention > span, .audit-kpi-strip .has-attention strong { color: var(--danger); }
.activity-filter-panel { margin-bottom: 9px; padding: 0; overflow: visible; }
.activity-filter-panel .audit-filters { grid-template-columns: minmax(230px, 1.6fr) repeat(3, minmax(115px, .7fr)) repeat(3, minmax(120px, .65fr)) auto; gap: 7px; padding: 11px; }
.activity-filter-panel .audit-filter-actions { display: grid; grid-template-columns: 1fr; gap: 5px; }
.activity-filter-panel .audit-filter-actions > * { min-height: 35px; padding: 6px 9px; }
.activity-export-toolbar { padding: 10px 12px; }
.activity-export-actions button { min-height: 35px; }
.audit-ledger { overflow: visible; }
.audit-ledger-wrap { padding: 9px; overflow: visible; }
.audit-ledger-table, .audit-ledger-table tbody { display: block; width: 100%; min-width: 0; }
.audit-ledger-table thead { display: none; }
.audit-ledger-table tbody { display: grid; gap: 6px; }
.audit-ledger-table tbody tr { position: relative; display: grid; grid-template-columns: 34px 112px minmax(165px, .95fr) 120px 115px minmax(260px, 1.65fr); align-items: stretch; min-width: 0; border: 1px solid var(--line); border-left: 3px solid var(--accent); background: var(--panel); }
.audit-ledger-table tbody tr.audit-row-attention { border-left-color: var(--danger); }
.audit-ledger-table td { display: grid; align-content: center; min-width: 0; padding: 9px 10px; border: 0; border-left: 1px solid var(--line); font-size: .68rem; overflow-wrap: anywhere; }
.audit-ledger-table td:first-child { border-left: 0; }
.audit-ledger-table td::before { display: none; }
.audit-ledger-table .audit-action > strong { font-size: .72rem; }
.audit-ledger-table .audit-context > span { color: var(--muted); line-height: 1.35; }
.audit-ledger-table .activity-select-cell { place-items: center; width: auto; }

.sales-filter-primary .sales-filter-search { grid-column: auto; }
.sales-filter-submit { width: auto !important; min-width: 118px; align-self: end; }
.module-register .topbar-actions { flex-wrap: nowrap; width: auto; max-width: none; }
.module-register .topbar-action-tab { flex: 0 0 auto; }

@media (max-width: 1180px) {
    .product-directory-filters { grid-template-columns: minmax(260px, 1.5fr) repeat(2, minmax(120px, 1fr)); }
    .product-directory-search { grid-column: 1 / -1; }
    .activity-filter-panel .audit-filters { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .activity-filter-panel .audit-search { grid-column: span 2; }
    .audit-ledger-table tbody tr { grid-template-columns: 34px 105px minmax(150px, 1fr) 115px minmax(230px, 1.5fr); }
    .audit-ledger-table td[data-label="Record"] { display: none; }
}

@media (max-width: 900px) {
    .theme-preset-catalog, .template-command-strip, .audit-kpi-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .template-center-heading { align-items: stretch; flex-direction: column; }
    .template-center-heading .toolbar-actions { display: grid; grid-template-columns: 1fr 1fr; }
    .template-type-tabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .template-type-tabs a { justify-content: center; min-width: 0; text-align: center; }
    .activity-filter-panel .audit-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .activity-filter-panel .audit-search { grid-column: 1 / -1; }
    .audit-ledger-table tbody tr { grid-template-columns: 34px repeat(2, minmax(0, 1fr)); }
    .audit-ledger-table td { border-top: 1px solid var(--line); border-left: 0; }
    .audit-ledger-table .activity-select-cell, .audit-ledger-table .audit-time, .audit-ledger-table .audit-action { border-top: 0; }
    .audit-ledger-table .audit-action { grid-column: 3; }
    .audit-ledger-table .audit-context { grid-column: 1 / -1; }
    .sales-filter-primary .sales-filter-search { grid-column: 1 / -1; }
}

@media (max-width: 760px) {
    .template-type-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .template-overview-grid, .message-template-tabs, .message-template-landing, .message-editor-layout, .receipt-template-layout { margin: 10px; }
    .module-register .topbar-actions { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); width: 100%; }
}

@media (max-width: 520px) {
    .theme-preset-catalog, .template-command-strip, .audit-kpi-strip { grid-template-columns: 1fr; }
    .template-center-heading .toolbar-actions { grid-template-columns: 1fr; }
    .activity-filter-panel .audit-filters { grid-template-columns: 1fr; }
    .activity-filter-panel .audit-search { grid-column: auto; }
    .audit-ledger-table tbody tr { grid-template-columns: 32px minmax(0, 1fr); }
    .audit-ledger-table .audit-action { grid-column: 2; }
    .audit-ledger-table td:not(.activity-select-cell):not(.audit-action) { grid-column: 1 / -1; }
    .product-directory-filters { grid-template-columns: 1fr; }
    .product-directory-search { grid-column: auto; }
}

/* ACPR POS 1.14 design and receipt preset expansion */
.design-reset-form{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px;padding:14px 16px;border:1px solid color-mix(in srgb,var(--danger) 45%,var(--line));background:color-mix(in srgb,var(--danger) 5%,var(--panel))}
.design-reset-form>div{display:flex;align-items:center;gap:12px}.design-reset-form>div>span{display:grid;width:38px;height:38px;place-items:center;color:var(--danger)}.design-reset-form p{display:grid;gap:2px;margin:0}.design-reset-form small{color:var(--muted)}
.document-preset-option.preset-precision i{border:1px solid #1e40af;background:repeating-linear-gradient(0deg,#fff 0 7px,#dbeafe 7px 8px),linear-gradient(90deg,#1e40af 0 18%,transparent 18%)}
.document-preset-option.preset-service-card i{border-top:8px solid #0f766e;background:linear-gradient(#ecfdf5 0 40%,#fff 40% 72%,#ccfbf1 72%)}
.document-preset-option.preset-signal i{border-color:#111827;background:linear-gradient(135deg,#111827 0 32%,#f97316 32% 45%,#facc15 45% 56%,#fff 56%)}
.preset-precision,.document-preset-precision.receipt-paper,.receipt-body.document-preset-precision .receipt-paper,.invoice-document.document-preset-precision,.repair-ticket-paper.document-preset-precision{border:1px solid #1e40af!important;background-color:#fff;background-image:linear-gradient(rgba(30,64,175,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(30,64,175,.055) 1px,transparent 1px);background-size:16px 16px}
.preset-precision header,.document-preset-precision .receipt-header,.document-preset-precision .invoice-document-header,.document-preset-precision .repair-ticket-header{border-left:7px solid #1e40af!important;padding-left:16px!important;background:#eff6ff!important;color:#172554!important}
.preset-precision th,.document-preset-precision .receipt-items th{border-top:2px solid #1e40af!important;border-bottom:1px solid #1e40af!important;background:#fff!important;color:#172554!important;text-transform:uppercase}
.preset-service-card,.document-preset-service-card.receipt-paper,.receipt-body.document-preset-service-card .receipt-paper,.invoice-document.document-preset-service-card,.repair-ticket-paper.document-preset-service-card{border:0!important;border-top:10px solid #0f766e!important;background:#fff;box-shadow:0 18px 46px rgba(15,118,110,.16)!important}
.preset-service-card header,.document-preset-service-card .receipt-header,.document-preset-service-card .invoice-document-header,.document-preset-service-card .repair-ticket-header{margin:-8px -8px 0;padding:20px!important;border:0!important;background:#ecfdf5!important;color:#134e4a!important}
.preset-service-card .preview-grand-total,.document-preset-service-card .receipt-grand-total{padding:12px!important;background:#0f766e!important;color:#fff!important}
.preset-signal,.document-preset-signal.receipt-paper,.receipt-body.document-preset-signal .receipt-paper,.invoice-document.document-preset-signal,.repair-ticket-paper.document-preset-signal{border:2px solid #111827!important;background:#fff;box-shadow:8px 8px 0 #facc15!important}
.preset-signal header,.document-preset-signal .receipt-header,.document-preset-signal .invoice-document-header,.document-preset-signal .repair-ticket-header{margin:-8px -8px 0;padding:18px!important;border:0!important;background:linear-gradient(105deg,#111827 0 68%,#f97316 68% 84%,#facc15 84%)!important;color:#fff!important}
.preset-signal header small,.document-preset-signal header p{color:#e5e7eb!important}.preset-signal th,.document-preset-signal .receipt-items th{background:#111827!important;color:#fff!important}.preset-signal .preview-grand-total,.document-preset-signal .receipt-grand-total{color:#c2410c!important}
.theme-preset-light-prism-terminal .card,.theme-preset-light-prism-terminal .settings-form-surface{border-left:3px solid var(--accent)}
.theme-preset-light-prism-terminal table thead{background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 14%,var(--panel)),color-mix(in srgb,#d8ff37 28%,var(--panel)))}
.theme-preset-light-industrial-paper .card,.theme-preset-light-industrial-paper .settings-form-surface{border-width:2px;box-shadow:5px 5px 0 color-mix(in srgb,var(--ink) 22%,transparent)}
.theme-preset-light-industrial-paper .section-kicker{display:inline-block;padding:2px 5px;background:#facc15;color:#171717}
.theme-preset-dark-aurora-matrix body,.theme-preset-dark-aurora-matrix{background-image:radial-gradient(circle at 85% 8%,rgba(139,92,246,.13),transparent 30%),linear-gradient(rgba(33,245,181,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(33,245,181,.025) 1px,transparent 1px);background-size:auto,24px 24px,24px 24px}
.theme-preset-dark-aurora-matrix .card,.theme-preset-dark-aurora-matrix .settings-form-surface{box-shadow:0 0 22px rgba(33,245,181,.08)}
.theme-preset-dark-redline-operator .card,.theme-preset-dark-redline-operator .settings-form-surface{border-top:2px solid var(--accent)}
.theme-preset-dark-redline-operator .section-kicker{color:#ffcc00}
@media(max-width:620px){.design-reset-form{align-items:stretch;flex-direction:column}.design-reset-form button{width:100%}}

/* ACPR POS 1.14 workflow and responsive authority layer */
.repair-workflow-attachments form {
    display: grid;
    grid-template-columns: auto auto minmax(180px, 1fr) minmax(180px, 1fr) auto;
    align-items: end;
    gap: 8px;
    padding: 12px;
    border-bottom: 1px solid var(--line);
    background: color-mix(in srgb, var(--field) 74%, var(--panel));
}
.repair-photo-source {
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    min-height:40px;
    padding:8px 11px;
    border:1px solid var(--line);
    background:var(--panel);
    color:var(--ink);
    cursor:pointer;
}
.repair-photo-source input {
    position:absolute;
    width:1px;
    height:1px;
    overflow:hidden;
    opacity:0;
    pointer-events:none;
}
.repair-workflow-attachments form .checkbox-row { min-height: 40px; }
.repair-workflow-attachments form button { min-height: 40px; }
.repair-workflow-attachments form p { grid-column: 1 / -1; margin: 0; }
.repair-workflow-attachment-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 9px;
    padding: 12px;
}
.repair-workflow-attachment-grid article {
    display: grid;
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--line);
    background: var(--panel);
}
.repair-workflow-attachment-grid img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.repair-workflow-attachment-grid article > div { display: grid; gap: 7px; padding: 9px; }
.repair-workflow-attachment-grid input[type="text"] { min-width: 0; }
.repair-workflow-attachment-grid footer { display: flex; align-items: center; justify-content: space-between; gap: 7px; }
.repair-workflow-attachment-grid footer button { min-height: 32px; padding: 5px 8px; }
.repair-workflow-part-modal .modal-card { width: min(640px, calc(100vw - 24px)); }
.repair-workflow-part-modal form { display: grid; gap: 11px; }
.repair-workflow-part-modal form > footer { display: flex; justify-content: space-between; gap: 9px; }
.repair-workflow-inline-create { padding: 0; overflow: hidden; border-top: 4px solid var(--accent); }
.repair-workflow-inline-create-card { display: grid; gap: 0; }
.repair-workflow-inline-create-card > .repair-workflow-modal-head { padding: 17px; border-bottom: 1px solid var(--line); }
.repair-workflow-create-stages { position: static; margin: 0; padding: 7px 14px 0; overflow: hidden; border-bottom: 1px solid var(--line); background: color-mix(in srgb, var(--field) 72%, var(--panel)); }
.repair-workflow-create-stages .settings-tab { min-width: 0; border-radius: 0; }
.repair-workflow-new-form { display: grid; gap: 0; margin: 0; }
.repair-workflow-new-form > section { padding: 17px; border-bottom: 1px solid var(--line); }
.repair-workflow-new-form > section > header { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 10px; margin-bottom: 13px; }
.repair-workflow-new-form > section > header > span { display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid color-mix(in srgb, var(--accent) 30%, var(--line)); background: color-mix(in srgb, var(--accent) 9%, var(--field)); color: var(--accent); }
.repair-workflow-new-form > section h3,.repair-workflow-new-form > section p { margin: 0; }
.repair-workflow-new-form > section p { color: var(--muted); font-size: .69rem; }
.repair-workflow-modal-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.repair-workflow-modal-fields .full { grid-column: 1 / -1; }
.repair-workflow-new-form > footer { display: flex; justify-content: flex-end; gap: 8px; padding: 13px 17px; background: color-mix(in srgb, var(--field) 72%, var(--panel)); }
.repair-public-attachments { margin-top: 18px; }
.repair-public-attachment-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.repair-public-attachment-grid figure { min-width: 0; margin: 0; overflow: hidden; border: 1px solid var(--line); background: var(--panel); }
.repair-public-attachment-grid img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.repair-public-attachment-grid figcaption { padding: 8px 10px; color: var(--muted); font-size: .7rem; }

/* Keep the Settings shell trigger singular and readable. */
.settings-shell-menu { min-width: 0; }
.settings-shell-menu .mobile-menu-toggle { min-width: 0; }
.settings-navigation-header { grid-template-columns: auto minmax(0, 1fr) auto; }

@media (max-width: 760px) {
    /* Protection plans are a dedicated upsell card, never a squeezed payment-grid cell. */
    .module-register .pos-payment-body { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; gap: 10px !important; min-width: 0 !important; }
    .module-register .pos-protection-mobile {
        grid-column: 1 / -1 !important;
        display: grid !important;
        grid-template-columns: 44px minmax(0, 1fr) !important;
        gap: 10px !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 14px !important;
        border-width: 2px !important;
    }
    .module-register .pos-protection-mobile > .pos-protection-icon { grid-column: 1; grid-row: 1; width: 44px; height: 44px; }
    .module-register .pos-protection-mobile > div { grid-column: 2 !important; grid-row: 1; width: 100% !important; }
    .module-register .pos-protection-mobile .protection-view-plans,
    .module-register .pos-protection-mobile > label { grid-column: 1 / -1 !important; width: 100% !important; }
    .module-register .pos-protection-mobile .protection-view-plans { grid-row: auto !important; min-height: 40px !important; }
    .module-register .pos-protection-mobile select,
    .module-register .pos-protection-mobile input { width: 100% !important; min-width: 0 !important; }

    /* Compact directory cards without sacrificing labels or touch targets. */
    .invoice-summary-strip,.product-directory-stats { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 7px !important; }
    .invoice-summary-strip .stat,.product-directory-stats .stat { min-height: 76px !important; padding: 10px !important; }
    .invoice-summary-strip .stat strong,.product-directory-stats .stat strong { font-size: 1.12rem !important; }
    .invoice-summary-strip .stat small,.product-directory-stats .stat small { font-size: .62rem !important; }
    .invoice-table-wrap,.product-directory-table-wrap,.sales-history-table-wrap { padding: 8px !important; }
    .invoice-list-table tbody,.product-directory-table tbody,.sales-history-table tbody { gap: 7px !important; padding: 0 !important; }
    .invoice-list-table tbody tr {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 0 !important;
        min-height: 0 !important;
        padding: 9px !important;
        border-top-width: 3px !important;
    }
    .invoice-list-table td { min-height: 0 !important; padding: 6px !important; }
    .invoice-list-table td[data-label="Invoice"] { grid-column: 1; }
    .invoice-list-table td[data-label="Status"] { grid-column: 2; justify-items: end; }
    .invoice-list-table td[data-label="Customer"] { grid-column: 1 / -1; }
    .invoice-list-table td[data-label="Timeline"] { grid-column: 1; }
    .invoice-list-table td[data-label="Balance"] { grid-column: 2; }
    .invoice-list-table .invoice-actions-cell { grid-column: 1 / -1; padding-bottom: 0 !important; }
    .invoice-list-table td::before,.product-directory-table td::before,.sales-history-table td::before { font-size: .53rem !important; }
    .invoice-list-table .record-subline,.invoice-list-table small { font-size: .6rem !important; }

    .product-directory-panel { min-width: 0; overflow: hidden; }
    .product-directory-filters { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 6px !important; padding: 9px !important; min-width: 0; }
    .product-directory-search { grid-column: 1 / -1 !important; min-width: 0 !important; max-width: 100% !important; overflow: hidden; }
    .product-directory-search input { width: 100% !important; min-width: 0 !important; max-width: 100% !important; text-overflow: ellipsis; }
    .product-directory-filters select,.product-directory-filters button { width: 100% !important; min-width: 0 !important; }
    .product-directory-table,.product-directory-table tbody { display: block; width: 100%; min-width: 0; }
    .product-directory-table thead { display: none; }
    .product-directory-table tbody tr { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 0 !important; min-height: 0 !important; padding: 9px !important; border-top: 3px solid var(--accent); }
    .product-directory-table td { display: grid !important; align-content: center; min-width: 0 !important; min-height: 0 !important; padding: 6px !important; border: 0 !important; border-top: 1px solid var(--line) !important; overflow-wrap: anywhere; }
    .product-directory-table td::before { content: attr(data-label); color: var(--muted); font-weight: 800; text-transform: uppercase; }
    .product-directory-table td[data-label="Product"] { grid-column: 1 / -1; border-top: 0 !important; }
    .product-directory-table td[data-label="SKU / Barcode"],.product-directory-table td[data-label="Type"] { border-top: 0 !important; }
    .product-directory-table .product-actions-cell { grid-column: 1 / -1; }
    .product-directory-identity { grid-template-columns: 42px minmax(0, 1fr) !important; gap: 8px !important; }
    .product-directory-identity img,.product-directory-identity > span { width: 40px !important; height: 40px !important; }

    .sales-history-table tbody tr { display: grid !important; grid-template-columns: 30px repeat(2, minmax(0, 1fr)) !important; gap: 0 !important; min-height: 0 !important; padding: 9px !important; }
    .sales-history-table td { display: grid !important; min-width: 0 !important; min-height: 0 !important; padding: 6px !important; overflow-wrap: anywhere; }
    .sales-history-table .sales-select-cell { grid-column: 1; grid-row: 1; }
    .sales-history-table td[data-label="Transaction"] { grid-column: 2 / -1 !important; grid-row: 1; }
    .sales-history-table td[data-label="Customer"] { grid-column: 1 / -1 !important; }
    .sales-history-table td[data-label="Items"],.sales-history-table td[data-label="Subtotal"],.sales-history-table td[data-label="Discount / tax"],.sales-history-table td[data-label="Total"] { grid-column: span 1 !important; }
    .sales-history-table td[data-label="Payment"],.sales-history-table td[data-label="Employee"],.sales-history-table td[data-label="Completed"],.sales-history-table td[data-label="Actions"] { grid-column: 1 / -1 !important; }
    .sales-history-table .transaction-method-tag { width: auto; white-space: normal; }

    /* Workflow controls remain dense while photos and ticket intake use the page width. */
    .repair-workflow-head-actions { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 6px !important; }
    .repair-workflow-head-actions > * { min-width: 0 !important; min-height: 38px !important; padding: 6px !important; }
    .repair-workflow-actions { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 6px !important; padding: 8px 12px 12px !important; }
    .repair-workflow-actions > a,.repair-workflow-actions > button { grid-column: auto !important; min-height: 38px !important; }
    .repair-workflow-actions > .neutral-button,.repair-workflow-actions > form { grid-column: 1 / -1 !important; }
    .repair-workflow-attachments form { grid-template-columns: 1fr; }
    .repair-workflow-attachment-grid,.repair-public-attachment-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .repair-workflow-inline-create { margin-inline: 8px; }
    .repair-workflow-create-stages { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; padding-inline: 8px; }
    .repair-workflow-create-stages .settings-tab { width: auto !important; padding-inline: 4px !important; }
    .repair-workflow-modal-fields { grid-template-columns: 1fr; }
    .repair-workflow-modal-fields .full { grid-column: auto; }
    .repair-workflow-new-form > footer { display: grid; grid-template-columns: 1fr 1fr; }
    .repair-workflow-new-form > footer [data-create-stage-submit] { grid-column: 1 / -1; }
    .repair-workflow-part-modal form > footer { display: grid; grid-template-columns: 1fr 1fr; }

    /* One Settings menu trigger, then one compact context banner. */
    .settings-shell-menu { display: grid !important; grid-template-columns: minmax(0, 1fr) auto !important; align-items: center !important; gap: 8px !important; margin: 8px !important; padding: 7px !important; }
    .settings-shell-menu .mobile-menu-toggle { display: inline-flex !important; width: auto !important; min-width: 0 !important; height: 40px !important; justify-content: flex-start !important; padding: 7px 10px !important; }
    .settings-shell-menu > span { position: static !important; display: inline-flex !important; align-items: center !important; justify-content: flex-end !important; gap: 6px !important; min-width: 0 !important; font-size: .66rem !important; white-space: nowrap; }
    .settings-navigation-header { grid-template-columns: 40px minmax(0, 1fr) !important; min-height: 0 !important; padding: 11px !important; }
    .settings-navigation-header .settings-navigation-mark { width: 40px !important; height: 40px !important; }
    .settings-navigation-header > strong { grid-column: 2 !important; width: max-content !important; max-width: 100%; min-width: 0 !important; }
}

@media (max-width: 430px) {
    .repair-workflow-attachment-grid,.repair-public-attachment-grid { grid-template-columns: 1fr; }
    .product-directory-filters { grid-template-columns: 1fr !important; }
    .product-directory-search { grid-column: auto !important; }
    .settings-shell-menu > span { font-size: 0 !important; }
    .settings-shell-menu > span .ui-icon { width: 18px !important; height: 18px !important; }
}

/* ACPR POS 1.15 responsive profile and workflow authority layer. */
.customer-profile-hero .profile-avatar {
    width: 76px;
    height: 76px;
    flex: 0 0 76px;
    overflow: hidden;
    font-size: 1.55rem;
}
.customer-profile-hero .profile-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media (max-width: 680px) {
    .customer-snapshot-kpis {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 7px !important;
    }
    .customer-snapshot-kpis article {
        grid-template-columns: 30px minmax(0, 1fr);
        grid-template-rows: auto auto;
        align-items: center;
        gap: 1px 8px;
        min-height: 74px;
        padding: 9px 10px;
    }
    .customer-snapshot-kpis article::after {
        right: -24px;
        bottom: -28px;
        width: 58px;
        height: 58px;
    }
    .customer-snapshot-kpis span {
        grid-row: 1 / 3;
        width: 30px;
        height: 30px;
        border-radius: 6px;
    }
    .customer-snapshot-kpis span .ui-icon { width: 16px; height: 16px; }
    .customer-snapshot-kpis small {
        align-self: end;
        font-size: .56rem;
        line-height: 1.1;
    }
    .customer-snapshot-kpis strong {
        align-self: start;
        font-size: .94rem;
        line-height: 1.1;
    }
    .customer-profile-hero .profile-avatar {
        width: 72px;
        height: 72px;
        flex-basis: 72px;
    }
    body.module-repairs .topbar-actions {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 7px !important;
        gap: 6px !important;
    }
    body.module-repairs .topbar-actions .topbar-action-tab {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        min-height: 40px !important;
        margin: 0 !important;
        padding: 7px 8px !important;
        justify-content: center !important;
        white-space: normal !important;
        text-align: center;
    }
}

@media (max-width: 390px) {
    .customer-snapshot-kpis article { padding-inline: 8px; }
    .customer-snapshot-kpis small { font-size: .52rem; }
    .customer-snapshot-kpis strong { font-size: .86rem; }
}

/* Multi-location engagement, waiting room, and repair standards. */
.directory-stat-strip { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; margin-bottom:12px; }
.directory-stat-strip article { display:grid; gap:4px; padding:13px; border:1px solid var(--line); border-top:3px solid var(--accent); background:var(--panel); }
.directory-stat-strip span { color:var(--muted); font-size:.65rem; text-transform:uppercase; }
.directory-stat-strip strong { font-size:1.3rem; }
.split-workspace { display:grid; grid-template-columns:minmax(310px,.72fr) minmax(0,1.28fr); align-items:start; gap:12px; }
.compact-ledger { padding:0; overflow:hidden; }
.compact-ledger > header { padding:14px; border-bottom:1px solid var(--line); }
.responsive-card-list { display:grid; gap:7px; padding:10px; }
.responsive-card-list article { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:10px; padding:10px; border:1px solid var(--line); background:var(--field); }
.responsive-card-list article > div { display:grid; gap:3px; }
.responsive-card-list small { color:var(--muted); }
.responsive-card-list .field-error { grid-column:1/-1; margin:0; }
.waiting-room-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.waiting-room-card { display:grid; grid-template-columns:44px minmax(0,1fr) auto; align-items:center; gap:12px; padding:13px; }
.queue-position { display:grid; width:40px; height:40px; place-items:center; background:var(--accent); color:var(--button-text); font-weight:900; }
.waiting-room-card h3,.waiting-room-card p { margin:0; }
.waiting-room-card small { color:var(--muted); }
.waiting-room-card form { display:grid; grid-template-columns:minmax(110px,1fr) auto; gap:6px; margin:0; }
.queue-count { padding:8px 10px; border:1px solid var(--line); background:var(--field); }
.self-checkin-body { min-height:100vh; margin:0; padding:clamp(14px,4vw,42px); background:linear-gradient(145deg,var(--sidebar),color-mix(in srgb,var(--sidebar) 72%,var(--accent))); }
.self-checkin-shell { width:min(760px,100%); margin:auto; overflow:hidden; border:1px solid color-mix(in srgb,var(--accent) 45%,var(--line)); background:var(--panel); box-shadow:0 28px 80px rgba(0,0,0,.28); }
.self-checkin-shell > header { display:grid; grid-template-columns:54px minmax(0,1fr); gap:14px; padding:clamp(18px,4vw,32px); border-bottom:1px solid var(--line); background:linear-gradient(120deg,color-mix(in srgb,var(--accent) 14%,var(--field)),var(--panel)); }
.self-checkin-shell h1 { margin:3px 0 0; font-size:clamp(1.45rem,5vw,2.5rem); }
.self-checkin-mark { display:grid; width:52px; height:52px; place-items:center; background:var(--accent); color:var(--button-text); }
.self-checkin-form { display:grid; gap:15px; padding:clamp(18px,4vw,32px); }
.self-checkin-form input,.self-checkin-form textarea { font-size:1rem; }
.self-checkin-form fieldset { min-width:0; margin:0; padding:0; border:0; }
.self-checkin-form legend { margin-bottom:9px; font-weight:800; }
.checkin-reasons { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.checkin-reasons label { margin:0; }
.checkin-reasons input { position:absolute; opacity:0; pointer-events:none; }
.checkin-reasons span { display:flex; align-items:center; gap:8px; min-height:52px; padding:10px; border:1px solid var(--line); background:var(--field); cursor:pointer; }
.checkin-reasons input:checked + span { border-color:var(--accent); background:color-mix(in srgb,var(--accent) 14%,var(--field)); box-shadow:inset 4px 0 var(--accent); }
.checkin-honeypot { position:absolute!important; left:-10000px!important; }
.self-checkin-complete { display:grid; justify-items:center; gap:9px; padding:60px 24px; text-align:center; }
.self-checkin-complete > .ui-icon { width:46px; height:46px; color:var(--success); }
.diagnostic-template-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.diagnostic-template-card { padding:0; overflow:hidden; }
.diagnostic-template-card > header,.diagnostic-template-card > h3 { padding:13px; border-bottom:1px solid var(--line); }
.diagnostic-template-card > ul { display:grid; gap:7px; margin:0; padding:13px; list-style:none; }
.diagnostic-template-card li { display:flex; align-items:center; gap:7px; font-size:.72rem; }
.diagnostic-template-card li .ui-icon { width:14px; height:14px; color:var(--success); }
.diagnostic-template-card details { border-top:1px solid var(--line); }
.diagnostic-template-card summary { padding:11px 13px; cursor:pointer; font-weight:750; }
.diagnostic-template-card details form,.diagnostic-template-new form { display:grid; gap:9px; padding:13px; }
.waiver-policy-panel { margin-top:12px; }
.pos-repair-payment-card { display:grid; grid-template-columns:minmax(220px,1.25fr) minmax(190px,1fr) minmax(140px,.55fr); align-items:end; gap:9px; padding:12px; border:1px solid color-mix(in srgb,var(--accent) 38%,var(--line)); border-left:4px solid var(--accent); background:color-mix(in srgb,var(--accent) 8%,var(--field)); }
.pos-repair-payment-card[hidden] { display:none!important; }
.pos-repair-payment-card > div { display:grid; grid-template-columns:38px minmax(0,1fr); align-items:center; gap:9px; }
.pos-repair-payment-card h4,.pos-repair-payment-card small,.pos-repair-payment-card p { margin:0; }
.pos-repair-payment-card > p { grid-column:1/-1; color:var(--muted); font-size:.68rem; }
@media(max-width:900px){.split-workspace,.diagnostic-template-grid{grid-template-columns:1fr}.waiting-room-grid{grid-template-columns:1fr}}
@media(max-width:760px){.pos-repair-payment-card{grid-template-columns:1fr}.pos-repair-payment-card>p{grid-column:auto}}
@media(max-width:600px){.directory-stat-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.directory-stat-strip article{padding:9px}.directory-stat-strip strong{font-size:1rem}.responsive-card-list article{grid-template-columns:minmax(0,1fr) auto}.responsive-card-list article>small{grid-column:1/-1}.waiting-room-card{grid-template-columns:38px minmax(0,1fr)}.waiting-room-card form{grid-column:1/-1}.checkin-reasons{grid-template-columns:1fr}}

/* AI Message Studio workflow controls. */
.ai-preset-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; padding:12px 14px 0; }
.ai-preset-grid button { min-width:0; min-height:42px; justify-content:flex-start; }
.ai-context-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; padding:12px 14px 0; }
.ai-context-grid label,.ai-result-actions label { display:grid; gap:5px; min-width:0; }
.ai-result-label { flex-wrap:wrap; }
.ai-message-meter { margin-left:auto; padding:4px 7px; border:1px solid var(--line); background:var(--field); color:var(--muted); font-size:.65rem; }
.ai-result-actions { display:grid; grid-template-columns:minmax(220px,1fr) auto auto; align-items:end; gap:8px; padding:0 14px 14px; }
.ai-live-preview { display:grid; gap:7px; margin:0 14px 14px; padding:12px; border:1px solid color-mix(in srgb,var(--accent) 32%,var(--line)); border-left:4px solid var(--accent); background:color-mix(in srgb,var(--accent) 7%,var(--field)); }
.ai-live-preview p { margin:0; color:var(--ink); line-height:1.55; white-space:pre-wrap; }
@media(max-width:780px){.ai-preset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-context-grid{grid-template-columns:1fr}.ai-result-actions{grid-template-columns:1fr 1fr}.ai-result-actions label{grid-column:1/-1}}
@media(max-width:480px){.ai-preset-grid,.ai-result-actions{grid-template-columns:1fr}.ai-result-actions label{grid-column:auto}}
.repair-workflow-diagnostics form { display:grid; gap:9px; padding:12px; }
.workflow-diagnostic-checks { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
.workflow-diagnostic-checks label { display:grid; grid-template-columns:minmax(0,1fr) 112px; align-items:center; gap:8px; min-width:0; padding:8px; border:1px solid var(--line); background:var(--field); }
.workflow-diagnostic-checks label > span { min-width:0; overflow:hidden; text-overflow:ellipsis; }
.workflow-diagnostic-checks select { min-width:0; }
@media(max-width:560px){.workflow-diagnostic-checks{grid-template-columns:1fr}.workflow-diagnostic-checks label{grid-template-columns:minmax(0,1fr) 104px}}

/* ACPR POS 1.16 workflow, directory, and responsive commerce authority layer. */
.location-card-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); align-items:stretch; gap:12px; }
.location-card { display:grid; grid-template-rows:auto auto 1fr auto; gap:0; min-width:0; overflow:hidden; padding:0; }
.location-card > header { display:grid; grid-template-columns:44px minmax(0,1fr) auto; align-items:center; gap:11px; padding:14px; border-bottom:1px solid var(--line); }
.location-card > header h3,.location-card > header p { margin:0; }
.location-mark { display:grid; width:42px; height:42px; place-items:center; border:1px solid color-mix(in srgb,var(--accent) 40%,var(--line)); background:color-mix(in srgb,var(--accent) 10%,var(--field)); color:var(--accent); }
.location-card dl { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:0; padding:12px 14px; border-bottom:1px solid var(--line); }
.location-card dl > div { display:grid; gap:2px; min-width:0; padding:0 9px; border-left:1px solid var(--line); }
.location-card dl > div:first-child { padding-left:0; border-left:0; }
.location-card dt { color:var(--muted); font-size:.59rem; text-transform:uppercase; }
.location-card dd { margin:0; font-weight:750; }
.location-address { margin:0; padding:12px 14px; color:var(--muted); }
.location-card footer { display:flex; flex-wrap:wrap; gap:7px; padding:11px 14px; border-top:1px solid var(--line); background:color-mix(in srgb,var(--field) 88%,var(--panel)); }
.location-card footer form { margin:0; }

.workflow-quick-customer { padding:10px; border:1px solid color-mix(in srgb,var(--accent) 32%,var(--line)); background:color-mix(in srgb,var(--accent) 6%,var(--field)); }
.workflow-quick-customer summary { display:flex; align-items:center; gap:7px; cursor:pointer; font-weight:750; }
.workflow-quick-customer[open] summary { margin-bottom:10px; }
.workflow-quick-customer > button { margin-top:9px; }
.workflow-quick-customer > p { margin:7px 0 0; color:var(--muted); }

.pos-sale-details-trigger { display:grid!important; grid-template-columns:20px minmax(0,1fr); align-items:center; gap:8px; min-width:170px; text-align:left; }
.pos-sale-details-trigger > span { display:grid; min-width:0; line-height:1.12; }
.pos-sale-details-trigger small { color:inherit; opacity:.72; }
.pos-sale-details-modal { position:fixed; inset:0; z-index:10020; display:grid; place-items:center; padding:20px; background:rgba(8,13,24,.72); backdrop-filter:blur(5px); }
.pos-sale-details-modal[hidden] { display:none!important; }
.pos-sale-details-modal .modal-card { width:min(650px,100%); max-height:calc(100dvh - 40px); overflow:auto; padding:0; background:var(--panel); }
.pos-sale-details-head { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; padding:16px; border-bottom:1px solid var(--line); }
.pos-sale-details-head h2,.pos-sale-details-head p { margin:0; }
.pos-sale-details-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; padding:16px; }
.pos-sale-details-grid .full { grid-column:1/-1; }
.pos-sale-details-modal footer { display:flex; justify-content:flex-end; padding:12px 16px; border-top:1px solid var(--line); }

.module-register .pos-sidebar-customer-card .repair-workflow-panel-head { grid-template-columns:minmax(0,1fr) auto!important; }
.module-register .pos-sidebar-customer-card .customer-add-button { width:auto!important; max-width:100%!important; height:auto!important; min-height:36px!important; padding:7px 10px!important; white-space:nowrap!important; }
.module-register .pos-sidebar-customer-card .customer-add-button .button-label { display:inline!important; color:inherit!important; -webkit-text-fill-color:currentColor!important; }
.module-register .pos-customer-avatar { width:64px!important; height:64px!important; }
.module-register .pos-customer-profile { grid-template-columns:64px minmax(0,1fr)!important; }
.module-register .pos-profile-state { display:inline-flex; width:max-content; max-width:100%; padding:3px 6px; border:1px solid color-mix(in srgb,var(--accent) 40%,var(--line)); background:color-mix(in srgb,var(--accent) 10%,var(--field)); color:var(--accent); font-size:.58rem; font-weight:760; text-transform:uppercase; }
.module-register .customer-clear-button { width:100%; min-height:42px; transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease; }
.module-register .customer-clear-button.is-selected { border-color:var(--accent); box-shadow:inset 4px 0 var(--accent),0 0 0 2px color-mix(in srgb,var(--accent) 15%,transparent); }
.module-register .customer-clear-button.was-clicked { animation:pos-profile-click .32s ease; }
@keyframes pos-profile-click { 50% { transform:scale(.975); } }

.dashboard-pulse-controls { display:flex; align-items:center; justify-content:flex-end; gap:8px; min-width:0; }
.dashboard-pulse-controls .dashboard-date-stamp { min-height:36px; padding:7px 9px; }
.dashboard-pulse-controls .dashboard-period-selector { display:flex; width:auto; max-width:100%; min-width:0; margin:0; padding:0; border:0; background:transparent; }
.dashboard-pulse-controls .dashboard-period-selector > label { width:180px; }
.dashboard-pulse-controls .dashboard-custom-dates { position:absolute; z-index:30; top:100%; right:0; display:grid; grid-template-columns:1fr 1fr; width:330px; margin-top:6px; padding:9px; border:1px solid var(--line); background:var(--panel); box-shadow:0 12px 28px rgba(0,0,0,.14); }
.dashboard-pulse-controls .dashboard-custom-dates[hidden] { display:none; }
.dashboard-pulse-controls .dashboard-period-selector { position:relative; }

.ai-history-filter { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; margin-bottom:12px; padding:10px; }
.ai-history-filter label { display:grid; grid-template-columns:20px minmax(0,1fr); align-items:center; gap:7px; }
.ai-history-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:10px; }
.ai-history-card { display:grid; grid-template-rows:auto auto 1fr auto; gap:10px; min-width:0; padding:13px; }
.ai-history-card header,.ai-history-card footer { display:flex; justify-content:space-between; align-items:center; gap:8px; }
.ai-history-card time,.ai-history-request { color:var(--muted); font-size:.68rem; }
.ai-history-message { padding:10px; border:1px solid var(--line); background:var(--field); line-height:1.5; }
.ai-image-layout { display:grid; grid-template-columns:minmax(280px,.42fr) minmax(0,1fr); align-items:start; gap:12px; }
.ai-image-generator { display:grid; gap:11px; padding:14px; }
.ai-image-generator > header { display:grid; grid-template-columns:36px minmax(0,1fr); gap:9px; }
.ai-image-generator h3,.ai-image-generator p { margin:0; }
.ai-media-library > header { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:9px; }
.ai-media-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(190px,1fr)); gap:9px; }
.ai-media-grid article { overflow:hidden; border:1px solid var(--line); background:var(--panel); }
.ai-media-grid img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; }
.ai-media-grid article > div { display:grid; gap:6px; padding:9px; }
.social-settings-form { padding:14px; }
.social-link-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.social-link-field { display:grid; grid-template-columns:minmax(180px,.65fr) minmax(0,1fr); align-items:center; gap:10px; padding:10px; border:1px solid var(--line); background:var(--field); }
.social-link-field > span { display:grid; grid-template-columns:22px minmax(0,1fr); gap:2px 7px; }
.social-link-field > span .ui-icon { grid-row:1/3; }
.social-link-field small { color:var(--muted); }
.social-tag-reference { display:grid; grid-template-columns:minmax(220px,.55fr) minmax(0,1fr); gap:12px; margin-top:12px; padding:12px; border:1px solid var(--line); }
.social-tag-reference > div:last-child { display:flex; flex-wrap:wrap; align-content:start; gap:6px; }

@media(max-width:760px) {
    .location-card-grid { grid-template-columns:1fr; gap:9px; padding-inline:8px; }
    .location-card > header { grid-template-columns:38px minmax(0,1fr); padding:11px; }
    .location-card > header > .tag { grid-column:2; width:max-content; }
    .location-mark { width:36px; height:36px; }
    .location-card dl { padding:9px 11px; }
    .location-card dd { font-size:.75rem; }
    .location-card footer { padding:9px 11px; }

    .pos-date-search-row { grid-template-columns:minmax(0,1fr) 46px!important; align-items:end!important; }
    .pos-sale-details-trigger { display:flex!important; width:46px!important; min-width:46px!important; height:46px!important; padding:0!important; justify-content:center!important; }
    .pos-sale-details-trigger > span { display:none; }
    .pos-sale-details-modal { align-items:end; padding:0; }
    .pos-sale-details-modal .modal-card { width:100%; max-height:88dvh; border-radius:0; }
    .pos-sale-details-grid { grid-template-columns:1fr; padding:12px; }
    .pos-sale-details-grid .full { grid-column:auto; }
    .pos-sale-details-modal footer { padding:10px 12px; }
    .pos-sale-details-modal footer button { width:100%; }

    .module-register .pos-sidebar-customer-card,.module-register .pos-items-section { box-sizing:border-box!important; width:calc(100% - 16px)!important; max-width:calc(100% - 16px)!important; margin-inline:8px!important; }
    .module-register .pos-sidebar-customer-card .repair-workflow-panel-head { padding:10px!important; }
    .module-register .pos-sidebar-customer-card .customer-add-button { width:auto!important; max-width:150px!important; min-height:34px!important; padding:6px 8px!important; font-size:.7rem!important; }
    .module-register .pos-sidebar-customer-preview { width:100%!important; min-width:0!important; padding:11px!important; }
    .module-register .pos-customer-profile { grid-template-columns:58px minmax(0,1fr)!important; width:100%!important; }
    .module-register .pos-customer-avatar { width:58px!important; height:58px!important; }
    .module-register .pos-customer-identity { display:grid!important; grid-template-columns:1fr!important; width:100%!important; min-width:0!important; }
    .module-register .pos-customer-identity > * { width:auto!important; max-width:100%!important; min-width:0!important; overflow-wrap:anywhere!important; }
    .module-register .pos-sidebar-customer-actions { grid-template-columns:1fr!important; padding:9px 11px!important; }
    .module-register .customer-clear-button { width:100%!important; min-height:43px!important; }

    .module-register .pos-items-table-wrap { width:100%!important; min-width:0!important; overflow:visible!important; }
    .module-register .cart-table,.module-register .cart-table tbody { display:block!important; width:100%!important; min-width:0!important; }
    .module-register .cart-table tbody tr { box-sizing:border-box!important; display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr))!important; width:100%!important; min-width:0!important; max-width:100%!important; margin:0 0 8px!important; padding:10px!important; }
    .module-register .cart-table .cart-item-cell { grid-column:1/-1!important; grid-template-columns:26px 52px minmax(0,1fr)!important; width:100%!important; min-width:0!important; }
    .module-register .cart-table .cart-item-copy,.module-register .cart-table .cart-item-copy > * { min-width:0!important; max-width:100%!important; overflow-wrap:anywhere!important; word-break:normal!important; }

    .dashboard-sales-pulse-heading { display:grid!important; grid-template-columns:1fr!important; gap:9px!important; }
    .dashboard-pulse-controls { display:grid; grid-template-columns:auto minmax(135px,1fr); justify-content:stretch; width:100%; }
    .dashboard-pulse-controls .dashboard-period-selector,.dashboard-pulse-controls .dashboard-period-selector > label { width:100%; }
    .dashboard-pulse-controls .dashboard-custom-dates { position:static; grid-column:1/-1; width:100%; }
    .dashboard-period-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:7px!important; }
    .dashboard-period-card { min-height:0!important; padding:10px!important; }

    .invoice-list-table tbody tr { grid-template-columns:repeat(2,minmax(0,1fr))!important; width:100%!important; max-width:100%!important; padding:8px!important; }
    .invoice-list-table td { padding:5px!important; }
    .invoice-list-table td[data-label="Customer"] { grid-column:1/-1!important; }
    .invoice-list-table td[data-label="Timeline"] { grid-column:1!important; }
    .invoice-list-table td[data-label="Balance"] { grid-column:2!important; }
    .invoice-list-table .invoice-actions-cell { grid-column:1/-1!important; }

    .sales-history-table-wrap { box-sizing:border-box; width:100%!important; max-width:100%!important; overflow:hidden!important; padding:8px!important; }
    .sales-history-table { display:block!important; width:100%!important; min-width:0!important; }
    .sales-history-table tbody { display:grid!important; width:100%!important; padding:0!important; gap:8px!important; }
    .sales-history-table tbody tr { box-sizing:border-box!important; display:grid!important; grid-template-columns:30px repeat(2,minmax(0,1fr))!important; width:100%!important; min-width:0!important; max-width:100%!important; padding:9px!important; }
    .sales-history-table td { box-sizing:border-box!important; min-width:0!important; width:auto!important; padding:6px!important; overflow-wrap:anywhere!important; }
    .sales-history-table td[data-label="Transaction"] { grid-column:2/-1!important; }
    .sales-history-table td[data-label="Customer"],.sales-history-table td[data-label="Payment"],.sales-history-table td[data-label="Employee"],.sales-history-table td[data-label="Completed"],.sales-history-table td[data-label="Actions"] { grid-column:1/-1!important; }
    .sales-history-table td[data-label="Items"],.sales-history-table td[data-label="Subtotal"],.sales-history-table td[data-label="Discount / tax"],.sales-history-table td[data-label="Total"] { grid-column:span 1!important; }

    .ai-image-layout { grid-template-columns:1fr; }
    .ai-history-grid,.social-link-grid { grid-template-columns:1fr; }
    .social-link-field,.social-tag-reference { grid-template-columns:1fr; }
}

@media(max-width:430px) {
    .dashboard-pulse-controls { grid-template-columns:1fr; }
    .dashboard-pulse-controls .dashboard-date-stamp { display:none; }
    .dashboard-period-grid { grid-template-columns:1fr 1fr!important; }
    .location-card dl { grid-template-columns:1fr 1fr; gap:7px; }
    .location-card dl > div { padding:0; border:0; }
    .location-card dl > div:last-child { grid-column:1/-1; }
    .ai-history-filter { grid-template-columns:1fr; }
}
.customer-social-link-strip { display:flex; flex-wrap:wrap; justify-content:center; gap:6px 10px; margin-top:12px; padding-top:10px; border-top:1px solid var(--line); font-size:.66rem; }
.customer-social-link-strip a { color:var(--accent); font-weight:700; text-decoration:none; }
.customer-social-link-strip a:hover { text-decoration:underline; }

/* Waiting room and digital signage workspaces */
.waiting-room-command,.tv-display-card { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:18px; align-items:center; }
.waiting-room-command { padding:18px; border:1px solid var(--line); background:var(--panel); }
.waiting-room-command h2,.tv-display-copy h3 { margin:4px 0; }
.waiting-room-command p,.tv-display-copy p { margin:0; color:var(--muted); }
.waiting-room-metrics { display:grid; grid-template-columns:repeat(3,minmax(86px,1fr)); border:1px solid var(--line); }
.waiting-room-metrics span { display:grid; gap:2px; padding:10px 14px; color:var(--muted); border-left:1px solid var(--line); }
.waiting-room-metrics span:first-child { border-left:0; }
.waiting-room-metrics strong { color:var(--text); font-size:1.25rem; }
.waiting-room-filters { display:flex; flex-wrap:wrap; gap:6px; margin:12px 0; }
.waiting-room-filters button { border:1px solid var(--line); background:var(--panel); color:var(--text); padding:9px 12px; cursor:pointer; }
.waiting-room-filters button.active { border-color:var(--accent); color:var(--accent); }
.waiting-room-grid,.tv-display-list { display:grid; gap:10px; }
.waiting-room-card { display:grid; grid-template-columns:minmax(160px,.6fr) minmax(220px,1fr) minmax(180px,.65fr) auto; gap:14px; align-items:center; padding:14px; border-left:4px solid var(--warning); }
.waiting-room-card.is-called { border-left-color:var(--accent); }
.waiting-room-card.is-completed { border-left-color:var(--success); }
.waiting-room-person,.waiting-room-visit,.waiting-room-notify { min-width:0; }
.waiting-room-person strong,.waiting-room-notify strong { display:block; }
.waiting-room-person small,.waiting-room-visit small,.waiting-room-notify small { color:var(--muted); }
.waiting-room-visit p { margin:4px 0; }
.waiting-room-notify { display:flex; gap:9px; align-items:center; }
.waiting-room-actions { display:flex; gap:5px; }
.waiting-room-empty { padding:28px; display:grid; justify-items:center; gap:8px; color:var(--muted); }
.tv-display-card { padding:14px; grid-template-columns:150px minmax(220px,1fr) auto; }
.tv-display-screen { min-height:90px; display:grid; place-items:center; align-content:center; gap:5px; background:var(--sidebar-bg); color:var(--sidebar-text); border:1px solid var(--line); }
.tv-display-screen svg { width:28px; height:28px; }
.tv-display-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:6px; }
.tv-display-actions form { margin:0; }
.import-sales-guidance { margin-top:12px; padding:13px; border:1px solid var(--accent); background:color-mix(in srgb,var(--accent) 7%,var(--panel)); }
.import-sales-guidance p { margin:6px 0 0; color:var(--muted); }
.import-sales-guidance code { color:var(--text); }

@media(max-width:760px) {
    .waiting-room-command,.tv-display-card { grid-template-columns:1fr; }
    .waiting-room-command { margin-inline:8px; padding:13px; }
    .waiting-room-metrics { width:100%; }
    .waiting-room-metrics span { padding:8px; }
    .waiting-room-card { grid-template-columns:1fr 1fr; margin-inline:8px; padding:11px; }
    .waiting-room-visit,.waiting-room-actions { grid-column:1/-1; }
    .waiting-room-actions { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
    .waiting-room-actions button { min-width:0; padding-inline:5px; }
    .tv-display-card { margin-inline:8px; }
    .tv-display-screen { min-height:74px; }
    .tv-display-actions { display:grid; grid-template-columns:1fr 1fr; justify-content:stretch; }
    .tv-display-actions a,.tv-display-actions form,.tv-display-actions button { width:100%; }
}

/* v1.18.1 interaction and layout hardening */
.waiting-room-card {
    grid-template-columns:minmax(220px,.8fr) minmax(220px,1fr) minmax(190px,.7fr) minmax(250px,auto)!important;
    width:100%;
    min-width:0;
}
.waiting-room-card > header {
    display:grid;
    grid-template-columns:48px minmax(0,1fr);
    gap:10px;
    align-items:center;
    min-width:0;
}
.waiting-room-card > header .queue-wait-time {
    grid-column:2;
    color:var(--muted);
    font-size:.72rem;
}
.waiting-room-actions {
    display:grid!important;
    grid-template-columns:repeat(2,minmax(105px,1fr));
    gap:6px!important;
    min-width:250px;
}
.waiting-room-actions > button {
    width:100%!important;
    min-width:0!important;
    min-height:38px;
    justify-content:center;
}
.waiting-room-actions .icon-button {
    width:100%!important;
}
.tv-playlist-record {
    display:grid!important;
    grid-template-columns:64px minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:14px!important;
    min-height:86px;
    padding:12px!important;
}
.tv-playlist-preview {
    display:grid;
    width:58px;
    height:58px;
    place-items:center;
    overflow:hidden;
    border:1px solid var(--line);
    background:var(--field);
    color:var(--accent);
}
.tv-playlist-preview img {
    width:100%;
    height:100%;
    object-fit:cover;
}
.tv-playlist-record .record-primary-link {
    display:grid!important;
    gap:3px;
    min-width:0;
}
.tv-playlist-record .record-primary-link strong,
.tv-playlist-record .record-primary-link small {
    overflow-wrap:anywhere;
}
.tv-playlist-record .record-actions {
    display:flex!important;
    align-items:center;
    gap:7px;
}
.tv-cast-button {
    border-color:color-mix(in srgb,var(--accent) 55%,var(--line))!important;
}

.customer-profile-hero {
    grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr)!important;
    gap:22px!important;
    margin:-14px -14px 18px!important;
    padding:22px 24px!important;
    background:
        linear-gradient(110deg,color-mix(in srgb,var(--accent) 11%,var(--panel)),var(--panel) 62%),
        var(--panel)!important;
}
.customer-profile-hero .profile-title {
    display:grid;
    grid-template-columns:82px minmax(0,1fr);
    gap:16px;
    align-items:center;
    min-width:0;
}
.customer-profile-hero .profile-avatar {
    width:82px!important;
    height:82px!important;
    border:2px solid color-mix(in srgb,var(--accent) 55%,var(--line))!important;
}
.customer-profile-hero .profile-title h2 {
    margin:0 0 5px;
    font-size:1.28rem;
    overflow-wrap:anywhere;
}
.customer-profile-hero .profile-title p {
    margin:0;
    max-width:680px;
}
.customer-profile-contact {
    align-content:center;
    padding:13px 15px;
    border-left:3px solid var(--accent);
    background:color-mix(in srgb,var(--field) 86%,transparent);
}

body.module-register .pos-sidebar-customer-card {
    box-sizing:border-box!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
}
body.module-register .pos-sidebar-customer-preview {
    box-sizing:border-box!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    padding:12px 14px!important;
}
body.module-register .pos-sidebar-customer-preview .pos-customer-profile {
    display:grid!important;
    grid-template-columns:58px minmax(0,1fr)!important;
    width:100%!important;
    min-width:0!important;
    gap:12px!important;
    align-items:start!important;
}
body.module-register .pos-sidebar-customer-preview .pos-customer-avatar {
    width:58px!important;
    height:58px!important;
}
body.module-register .pos-sidebar-customer-preview .pos-customer-identity {
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
    min-width:0!important;
    gap:4px!important;
    color:var(--ink)!important;
}
body.module-register .pos-sidebar-customer-preview .pos-customer-identity > * {
    display:block!important;
    width:auto!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0!important;
    color:inherit!important;
    opacity:1!important;
    overflow:visible!important;
    overflow-wrap:anywhere!important;
    white-space:normal!important;
    text-overflow:clip!important;
}
body.module-register .pos-sidebar-customer-preview .pos-customer-identity > strong {
    font-size:.95rem!important;
}
body.module-register .pos-sidebar-customer-preview .pos-customer-contacts {
    display:grid!important;
    gap:3px;
    color:var(--muted)!important;
}
body.module-register .pos-sidebar-customer-preview .pos-customer-contacts > * {
    color:var(--muted)!important;
}
body.module-register .pos-sidebar-customer-card .customer-value-blocks {
    width:100%!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
body.module-register .pos-date-search-row {
    align-items:end!important;
}
body.module-register .pos-sale-details-trigger {
    align-self:end!important;
    height:46px!important;
    min-height:46px!important;
    margin:0!important;
}

.repair-workflow-table-wrap tbody td:first-child strong,
.repair-workflow-table-wrap tbody td:first-child small {
    display:block!important;
    width:100%;
    max-width:100%;
}
.repair-workflow-table-wrap tbody td:first-child small {
    margin-top:3px;
    color:var(--muted);
    font-size:.72rem;
    line-height:1.35;
    overflow-wrap:anywhere;
}
.repair-workflow-status-row {
    padding:10px 12px!important;
}
.repair-workflow-status-row > form {
    display:grid!important;
    grid-template-columns:auto minmax(150px,220px) minmax(210px,1fr) auto!important;
    align-items:center!important;
    gap:8px!important;
}
.workflow-notify-customer {
    min-height:42px!important;
    margin:0!important;
    padding:5px 9px!important;
    border:1px solid #dc2626!important;
    background:color-mix(in srgb,#dc2626 7%,var(--panel))!important;
}
.workflow-notify-customer > span {
    display:grid!important;
    grid-template-columns:20px minmax(0,1fr)!important;
    align-items:center;
    gap:0 7px!important;
}
.workflow-notify-customer > span > .ui-icon {
    grid-row:1/3;
    color:#dc2626!important;
}
.workflow-notify-customer small {
    color:var(--muted)!important;
}
.workflow-notify-customer:has(input:checked) {
    border-color:#16a34a!important;
    background:color-mix(in srgb,#16a34a 8%,var(--panel))!important;
}
.workflow-notify-customer:has(input:checked) > span > .ui-icon {
    color:#16a34a!important;
}
.workflow-diagnostic-checks {
    display:grid;
    gap:8px;
}
.workflow-diagnostic-checks fieldset {
    display:grid;
    grid-template-columns:minmax(130px,1fr) minmax(300px,auto);
    align-items:center;
    gap:10px;
    margin:0;
    padding:9px 10px;
    border:1px solid var(--line);
}
.workflow-diagnostic-checks legend {
    display:contents;
    font-weight:700;
}
.diagnostic-result-toggle {
    display:grid;
    grid-template-columns:repeat(4,minmax(72px,1fr));
    gap:5px;
}
.diagnostic-result-toggle label {
    margin:0!important;
    cursor:pointer;
}
.diagnostic-result-toggle input {
    position:absolute;
    opacity:0;
    pointer-events:none;
}
.diagnostic-result-toggle span {
    display:grid;
    min-height:34px;
    place-items:center;
    padding:5px 8px;
    border:1px solid var(--line);
    background:var(--field);
    color:var(--muted);
    font-size:.72rem;
    font-weight:750;
}
.diagnostic-result-toggle .is-pass input:checked + span { border-color:#16a34a;background:#16a34a;color:#fff; }
.diagnostic-result-toggle .is-fail input:checked + span { border-color:#dc2626;background:#dc2626;color:#fff; }
.diagnostic-result-toggle .is-pending input:checked + span { border-color:#d97706;background:#d97706;color:#fff; }
.diagnostic-result-toggle .is-not-tested input:checked + span { border-color:#64748b;background:#64748b;color:#fff; }
.repair-unlock-control {
    display:grid;
    gap:8px;
}
.android-pattern-entry {
    display:grid;
    grid-template-columns:auto minmax(180px,1fr);
    gap:18px;
    align-items:start;
    padding:12px;
    border:1px solid var(--line);
    background:var(--field);
}
.android-pattern-entry[hidden] { display:none!important; }
.android-pattern-grid {
    display:grid;
    grid-template-columns:repeat(3,34px);
    gap:9px;
    touch-action:none;
    user-select:none;
}
.android-pattern-grid button {
    width:34px!important;
    height:34px!important;
    min-height:34px!important;
    padding:0!important;
    border:1px solid var(--line)!important;
    border-radius:50%!important;
    background:var(--panel)!important;
    color:var(--muted)!important;
    box-shadow:none!important;
}
.android-pattern-grid button.is-selected {
    border-color:var(--accent)!important;
    background:var(--accent)!important;
    color:var(--button-text)!important;
}
.android-pattern-actions {
    display:grid;
    align-content:start;
    justify-items:start;
    gap:12px;
    min-width:0;
    padding-top:2px;
}
.android-pattern-actions small {
    display:block;
    line-height:1.45;
    color:var(--muted);
}
.android-pattern-actions .button-link {
    position:static!important;
    width:auto!important;
    max-width:100%;
    margin:0!important;
}
.repair-consent-print-option {
    display:flex!important;
    align-items:center;
    gap:8px;
    width:auto!important;
    min-width:230px;
    margin:0!important;
    padding:8px 10px;
    border:1px solid var(--line);
    background:var(--field);
}
.repair-consent-print-option > span {
    display:grid;
    grid-template-columns:20px minmax(0,1fr);
    gap:0 7px;
}
.repair-consent-print-option .ui-icon { grid-row:1/3; }
.repair-consent-print-option small { color:var(--muted); }
.label-preview-button {
    width:auto!important;
    min-width:180px!important;
    max-width:240px!important;
    justify-self:start!important;
}

@media(max-width:900px) {
    .repair-workflow-status-row > form {
        grid-template-columns:minmax(0,1fr) auto!important;
    }
    .repair-workflow-status-row > form > label:first-of-type,
    .repair-workflow-status-row > form > select {
        grid-column:1/-1;
    }
    .workflow-notify-customer { grid-column:1; }
}
@media(max-width:760px) {
    .waiting-room-card {
        grid-template-columns:minmax(0,1fr)!important;
        margin-inline:8px!important;
    }
    .waiting-room-card > header,
    .waiting-room-card > .waiting-room-visit,
    .waiting-room-card > .waiting-room-notify,
    .waiting-room-card > .waiting-room-actions {
        grid-column:1!important;
    }
    .waiting-room-actions {
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        min-width:0;
    }
    .tv-playlist-record {
        grid-template-columns:54px minmax(0,1fr)!important;
        margin-inline:8px;
    }
    .tv-playlist-preview { width:50px;height:50px; }
    .tv-playlist-record .record-actions {
        grid-column:1/-1;
        display:grid!important;
        grid-template-columns:minmax(0,1fr) auto;
    }
    .customer-profile-hero {
        grid-template-columns:minmax(0,1fr)!important;
        gap:12px!important;
        margin:-10px -10px 14px!important;
        padding:15px!important;
    }
    .customer-profile-hero .profile-title {
        grid-template-columns:64px minmax(0,1fr);
        gap:11px;
    }
    .customer-profile-hero .profile-avatar {
        width:64px!important;
        height:64px!important;
    }
    .customer-profile-contact {
        padding:10px 12px;
        border-top:1px solid var(--line);
        border-left:3px solid var(--accent);
    }
    body.module-register .pos-sidebar-customer-card {
        width:calc(100% - 16px)!important;
        max-width:calc(100% - 16px)!important;
        margin-inline:8px!important;
    }
    body.module-register .pos-sidebar-customer-preview {
        padding:10px!important;
    }
    body.module-register .pos-sidebar-customer-preview .pos-customer-profile {
        grid-template-columns:54px minmax(0,1fr)!important;
    }
    body.module-register .pos-sidebar-customer-card .customer-value-blocks {
        gap:7px!important;
    }
    .repair-workflow-status-row > form {
        grid-template-columns:minmax(0,1fr)!important;
    }
    .repair-workflow-status-row > form > *,
    .workflow-notify-customer {
        grid-column:1!important;
        width:100%!important;
    }
    .workflow-diagnostic-checks fieldset {
        grid-template-columns:1fr;
    }
    .diagnostic-result-toggle {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .android-pattern-entry {
        grid-template-columns:1fr;
    }
    .repair-consent-print-option {
        width:100%!important;
        min-width:0;
    }
    .label-preview-button {
        width:100%!important;
        max-width:100%!important;
    }
}

/* 1.19.7 repair communication, dashboard controls, and responsive authority. */
.repair-attachment-actions {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:6px;
}
.repair-attachment-actions > button {
    width:100%;
    min-width:0;
}
.repair-workflow-text-number {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:end;
    gap:7px;
    padding:10px 12px;
    border-top:1px solid var(--line);
    background:color-mix(in srgb,var(--accent) 4%,var(--field));
}
.repair-workflow-text-number label,
.repair-workflow-text-number label > span {
    display:grid;
    min-width:0;
    gap:5px;
}
.repair-workflow-text-number label > span {
    grid-template-columns:auto 1fr;
    align-items:center;
    color:var(--muted);
    font-size:.68rem;
    text-transform:uppercase;
}
.repair-workflow-text-number label > span .ui-icon {
    width:14px;
    height:14px;
    color:var(--accent);
}
.repair-workflow-text-number button {
    min-height:40px;
}
.repair-workflow-text-number > small {
    grid-column:1/-1;
    min-height:1em;
    color:var(--muted);
}
.repair-ticket-diagnostics > div {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
}
.repair-ticket-diagnostics article {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:9px;
    min-width:0;
    padding:9px 10px;
    border:1px solid var(--line);
    background:var(--panel);
}
.repair-ticket-diagnostics article span {
    min-width:0;
    overflow-wrap:anywhere;
}
.repair-ticket-diagnostics article strong {
    font-size:.72rem;
    white-space:nowrap;
}
.repair-ticket-diagnostics article.is-pass { border-left:3px solid #16a36a; }
.repair-ticket-diagnostics article.is-pass strong { color:#118255; }
.repair-ticket-diagnostics article.is-fail { border-left:3px solid #dc3545; }
.repair-ticket-diagnostics article.is-fail strong { color:#c32737; }
.repair-ticket-diagnostics article.is-pending { border-left:3px solid #d79000; }
.repair-ticket-diagnostics article.is-pending strong { color:#9d6900; }
.repair-ticket-diagnostics article.is-not-tested { border-left:3px solid var(--muted); }

#appSidebar .nav-primary-row > a {
    padding-right:50px!important;
}
#appSidebar button.nav-submenu-toggle {
    all:unset!important;
    box-sizing:border-box!important;
    position:absolute!important;
    z-index:3!important;
    top:50%!important;
    right:1px!important;
    display:grid!important;
    width:42px!important;
    height:36px!important;
    min-width:42px!important;
    min-height:36px!important;
    place-items:center!important;
    transform:translateY(-50%)!important;
    cursor:pointer!important;
    color:color-mix(in srgb,var(--sidebar-text) 68%,transparent)!important;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
}
#appSidebar button.nav-submenu-toggle:hover,
#appSidebar button.nav-submenu-toggle:focus-visible {
    color:var(--accent)!important;
    background:color-mix(in srgb,var(--sidebar-text) 7%,transparent)!important;
    outline:2px solid color-mix(in srgb,var(--accent) 50%,transparent)!important;
    outline-offset:-3px!important;
}
#appSidebar button.nav-submenu-toggle .ui-icon {
    width:12px!important;
    height:12px!important;
    transform:none!important;
}
#appSidebar .nav-group.is-open button.nav-submenu-toggle .ui-icon {
    transform:rotate(90deg)!important;
}
#appSidebar .sidebar-toggle {
    width:44px!important;
    height:42px!important;
    min-width:44px!important;
    min-height:42px!important;
}
#appSidebar .sidebar-toggle .ui-icon {
    width:14px!important;
    height:14px!important;
}

.dashboard-settings-workspace {
    display:grid;
    gap:16px;
}
.dashboard-settings-section {
    overflow:hidden;
    border:1px solid var(--line);
    background:var(--panel);
}
.dashboard-settings-section > header {
    display:flex;
    align-items:flex-start;
    gap:11px;
    padding:15px;
    border-bottom:1px solid var(--line);
    background:color-mix(in srgb,var(--field) 75%,var(--panel));
}
.dashboard-settings-section > header h3,
.dashboard-settings-section > header p {
    margin:0;
}
.dashboard-settings-module-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
    padding:12px;
}
.dashboard-settings-module {
    position:relative;
    display:grid;
    grid-template-columns:auto 34px minmax(0,1fr) auto;
    align-items:center;
    gap:9px;
    min-width:0;
    padding:11px;
    border:1px solid var(--line);
    background:var(--field);
    cursor:pointer;
}
.dashboard-settings-module:hover {
    border-color:color-mix(in srgb,var(--accent) 50%,var(--line));
}
.dashboard-settings-module.is-visible {
    border-color:color-mix(in srgb,var(--accent) 48%,var(--line));
    background:color-mix(in srgb,var(--accent) 5%,var(--field));
}
.dashboard-settings-module > input {
    width:18px;
    height:18px;
    margin:0;
}
.dashboard-settings-module-icon {
    display:grid;
    width:34px;
    height:34px;
    place-items:center;
    border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));
    color:var(--accent);
    background:var(--panel);
}
.dashboard-settings-module-icon .ui-icon {
    width:16px;
    height:16px;
}
.dashboard-settings-module > span:nth-of-type(2) {
    display:grid;
    min-width:0;
    gap:3px;
}
.dashboard-settings-module small {
    color:var(--muted);
    line-height:1.35;
}
.dashboard-settings-module-state {
    color:var(--muted);
    font-size:.65rem;
    text-transform:uppercase;
}
.dashboard-settings-module.is-visible .dashboard-settings-module-state {
    color:var(--accent);
}
.dashboard-settings-section > .settings-grid {
    padding:12px;
}
.dashboard-settings-save {
    display:flex;
    justify-content:flex-end;
}

@media(max-width:760px) {
    .repair-workflow-attachment-grid {
        grid-template-columns:repeat(auto-fit,minmax(128px,1fr))!important;
        gap:7px!important;
        padding:8px!important;
    }
    .repair-workflow-attachment-grid article {
        min-width:0!important;
    }
    .repair-workflow-attachment-grid img {
        aspect-ratio:1/1!important;
    }
    .repair-workflow-attachment-grid article > div {
        gap:5px!important;
        padding:6px!important;
    }
    .repair-workflow-attachment-grid article > div > label {
        font-size:.62rem;
    }
    .repair-workflow-attachment-grid article > small {
        display:block;
        padding:0 6px 6px;
        font-size:.55rem;
        overflow-wrap:anywhere;
    }
    .repair-attachment-actions {
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:4px!important;
    }
    .repair-attachment-actions > button {
        min-height:31px!important;
        padding:4px 3px!important;
        font-size:.61rem!important;
    }
    .repair-attachment-actions .ui-icon {
        width:12px!important;
        height:12px!important;
    }
    .repair-ticket-diagnostics > div {
        grid-template-columns:1fr;
    }
    .repair-workflow-text-number {
        grid-template-columns:minmax(0,1fr) 42px;
        padding:8px;
    }
    .repair-workflow-text-number button {
        width:42px;
        min-width:42px;
        padding:0!important;
    }
    .repair-workflow-text-number button span {
        display:none;
    }
    #appSidebar .nav-primary-row > a {
        padding-right:54px!important;
    }
    #appSidebar button.nav-submenu-toggle {
        right:0!important;
        width:48px!important;
        height:40px!important;
        min-width:48px!important;
        min-height:40px!important;
    }
    .dashboard-period-card,
    .dashboard-stat {
        grid-template-columns:minmax(0,1fr)!important;
        grid-template-rows:auto auto!important;
        align-items:start!important;
    }
    .dashboard-period-card > span,
    .dashboard-stat-copy {
        position:relative;
        z-index:1;
    }
    .dashboard-period-card .dashboard-mini-trend,
    .dashboard-stat .dashboard-mini-trend {
        grid-column:1!important;
        grid-row:2!important;
        width:100%!important;
        height:42px!important;
        margin-top:2px;
    }
    .dashboard-settings-heading {
        align-items:stretch;
    }
    .dashboard-settings-heading .toolbar-actions {
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        width:100%;
    }
    .dashboard-settings-module-grid {
        grid-template-columns:1fr;
        padding:8px;
    }
    .dashboard-settings-module {
        grid-template-columns:auto 30px minmax(0,1fr);
        padding:9px;
    }
    .dashboard-settings-module-state {
        grid-column:3;
    }
}

@media print {
    .repair-ticket-diagnostics article {
        break-inside:avoid;
        padding:6px 8px;
        background:#fff!important;
    }
}

@media print {
    body.module-invoices .operations-ticker-bar,
    body.module-invoices #appSidebar,
    body.module-invoices .mobile-nav-backdrop,
    body.module-invoices .topbar,
    body.module-invoices .app-footer,
    body.module-invoices footer {
        display:none!important;
    }
    body.module-invoices .shell,
    body.module-invoices main {
        display:block!important;
        width:100%!important;
        max-width:none!important;
        margin:0!important;
        padding:0!important;
    }
}

/* 1.19 final workspace overrides */
.brand-logo-selection {
    margin:0!important;
    padding:8px 10px;
    border-left:3px solid #16a34a;
    background:color-mix(in srgb,#16a34a 9%,var(--field));
    color:var(--ink)!important;
    font-size:.72rem;
    font-weight:750;
}
.employee-profile-tabs {
    display:flex!important;
    align-items:stretch!important;
    flex-wrap:wrap!important;
    gap:7px!important;
    min-height:0!important;
    margin:12px 0 16px!important;
    padding:8px!important;
    overflow:visible!important;
}
.employee-profile-tabs .customer-snapshot-tab {
    display:inline-flex!important;
    flex:1 1 150px!important;
    width:auto!important;
    min-width:0!important;
    min-height:42px!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    margin:0!important;
    padding:9px 12px!important;
    color:var(--sidebar-text)!important;
    -webkit-text-fill-color:var(--sidebar-text)!important;
    line-height:1.2!important;
    text-decoration:none!important;
}
.employee-profile-tabs .customer-snapshot-tab.active {
    color:var(--button-text)!important;
    -webkit-text-fill-color:var(--button-text)!important;
}
.repair-workflow-status-row {
    grid-template-columns:minmax(0,1fr) minmax(190px,.42fr)!important;
    align-items:stretch!important;
}
.repair-workflow-status-row > form {
    grid-template-columns:minmax(190px,240px) auto minmax(220px,1fr)!important;
    align-items:end!important;
    gap:8px!important;
}
.repair-workflow-status-row > form > button {
    align-self:end!important;
    min-height:46px!important;
    width:auto!important;
    white-space:nowrap!important;
}
.workflow-status-select {
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:5px!important;
    min-width:0;
}
.workflow-status-select > span {
    color:var(--muted)!important;
    font-size:.68rem!important;
    font-weight:750!important;
}
.workflow-status-select select { width:100%!important; }
.repair-workflow-notification {
    display:grid!important;
    align-content:center!important;
    min-height:54px!important;
    padding:8px 12px!important;
    border:1px solid var(--line)!important;
    border-left:3px solid var(--accent)!important;
    background:var(--field)!important;
}
.workflow-repair-editor-frame-card {
    display:grid;
    grid-template-rows:auto auto;
    min-height:0;
    overflow:visible;
    border:1px solid var(--line);
    background:var(--panel);
}
.workflow-repair-editor-frame-card > iframe {
    width:100%;
    height:1100px;
    min-height:760px;
    overflow:hidden;
    border:0;
    background:var(--background);
}
body.module-register .pos-date-search-row {
    grid-template-columns:minmax(0,1fr) auto!important;
    width:100%!important;
}
body.module-register .pos-transaction-search,
body.module-register .transaction-product-search-tools,
body.module-register .pos-search-scan-wrap {
    width:100%!important;
    min-width:0!important;
}
body.module-register .pos-search-scan-wrap {
    grid-template-columns:minmax(0,1fr) auto!important;
}
body.module-register .cart-product-thumb {
    width:64px!important;
    height:64px!important;
    min-width:64px!important;
}
body.module-register .cart-product-thumb img {
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
}
body.module-register .cart-product-copy > strong {
    font-size:1rem!important;
    line-height:1.3!important;
}
@media(max-width:900px) {
    .repair-workflow-status-row { grid-template-columns:1fr!important; }
    .repair-workflow-status-row > form { grid-template-columns:minmax(0,1fr) auto!important; }
    .workflow-status-select { grid-column:1/-1!important; }
    .workflow-notify-customer { grid-column:1!important; }
}
@media(max-width:760px) {
    .repair-workflow-status-row > form { grid-template-columns:1fr!important; }
    .workflow-status-select,
    .workflow-notify-customer,
    .repair-workflow-status-row > form > button { grid-column:1!important; width:100%!important; }
    .workflow-repair-editor-frame-card { grid-template-rows:auto auto; min-height:0; }
    .workflow-repair-editor-frame-card > iframe { min-height:900px; }
    body.module-register .cart-product-thumb {
        width:72px!important;
        height:72px!important;
        min-width:72px!important;
    }
    body.module-register .cart-product-copy > strong { font-size:1.05rem!important; }
}
@media(max-width:640px) {
    .android-pattern-entry { grid-template-columns:1fr; }
    .android-pattern-actions { padding-top:0; }
}

/* 1.19.3 employee waiting-room containment */
.waiting-room-grid {
    min-width:0;
}
.waiting-room-card {
    grid-template-columns:minmax(180px,.72fr) minmax(190px,1fr) minmax(160px,.68fr) minmax(210px,.78fr)!important;
    width:100%;
    max-width:100%;
    min-width:0;
    overflow:hidden;
    box-sizing:border-box;
}
.waiting-room-card > header,
.waiting-room-card > .waiting-room-visit,
.waiting-room-card > .waiting-room-notify,
.waiting-room-card > .waiting-room-actions {
    min-width:0;
}
.waiting-room-visit strong,
.waiting-room-visit p,
.waiting-room-visit small,
.waiting-room-notify strong,
.waiting-room-notify small {
    overflow-wrap:anywhere;
}
.waiting-room-actions {
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    width:100%;
    min-width:0!important;
    max-width:100%;
    gap:6px!important;
}
.waiting-room-actions > button,
.waiting-room-actions > .icon-button {
    width:100%!important;
    min-width:0!important;
    min-height:36px!important;
    height:36px!important;
    padding:6px 9px!important;
    gap:6px!important;
    font-size:.72rem!important;
    line-height:1!important;
    box-sizing:border-box;
}
.waiting-room-actions > button .ui-icon {
    width:14px!important;
    height:14px!important;
    min-width:14px!important;
}

@media(max-width:1200px) and (min-width:761px) {
    .waiting-room-card {
        grid-template-columns:minmax(170px,.75fr) minmax(190px,1fr) minmax(160px,.7fr)!important;
        align-items:start;
    }
    .waiting-room-card > .waiting-room-actions {
        grid-column:1/-1!important;
        grid-template-columns:repeat(4,minmax(0,1fr))!important;
        padding-top:10px;
        border-top:1px solid var(--line);
    }
}

/* ACPR POS 1.19.6 final responsive authority. */
.brand-logo-suggester {
    position: relative;
    overflow: visible;
}

.brand-logo-candidates {
    position: absolute;
    z-index: 650;
    top: calc(100% + 6px);
    right: 0;
    left: 0;
    max-height: min(360px, 58vh);
    overflow: auto;
}

.brand-logo-candidates[hidden] {
    display: none !important;
}

.brand-logo-candidate img,
.repair-brand-logo img,
.product-brand-mark.is-large img {
    width: 100% !important;
    height: 100% !important;
    padding: 4px;
    object-fit: contain !important;
}

@media (min-width: 761px) {
    body.module-register .pos-sidebar-payment-card .pos-sidebar-totals {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 7px !important;
        padding: 9px !important;
    }

    body.module-register .pos-sidebar-payment-card .pos-sidebar-totals > div,
    body.module-register .pos-sidebar-payment-card .pos-sidebar-totals > div.is-total,
    body.module-register .pos-sidebar-payment-card .pos-sidebar-totals > div.is-balance {
        display: grid !important;
        align-content: center !important;
        gap: 3px !important;
        min-width: 0 !important;
        min-height: 52px !important;
        margin: 0 !important;
        padding: 8px !important;
        border: 1px solid var(--line) !important;
        background: var(--field) !important;
    }

    body.module-register .pos-sidebar-payment-card .pos-sidebar-totals > div.is-balance {
        background: linear-gradient(135deg, var(--accent), var(--accent-dark)) !important;
    }
}

@media (max-width: 760px) {
    body.module-register .pos-sidebar-payment-card .pos-sidebar-totals {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 5px !important;
        padding: 7px !important;
    }

    body.module-register .pos-sidebar-payment-card .pos-sidebar-totals > div,
    body.module-register .pos-sidebar-payment-card .pos-sidebar-totals > div.is-total,
    body.module-register .pos-sidebar-payment-card .pos-sidebar-totals > div.is-balance {
        min-height: 48px !important;
        padding: 6px !important;
    }

    body.module-register .pos-sidebar-payment-card .pos-sidebar-totals > div span,
    body.module-register .pos-sidebar-payment-card .pos-sidebar-totals > div strong {
        font-size: .64rem !important;
        overflow-wrap: anywhere;
    }
}

/* ACPR POS 1.19.5 repair media, diagnostics, and compact mobile checkout */
.repair-photo-camera {
    display:none;
}
.repair-photo-preview {
    grid-column:1/-1;
    display:grid;
    grid-template-columns:72px minmax(0,1fr) 34px;
    align-items:center;
    gap:10px;
    min-width:0;
    padding:9px;
    border:1px solid color-mix(in srgb,var(--accent) 48%,var(--line));
    background:color-mix(in srgb,var(--accent) 7%,var(--panel));
}
.repair-photo-preview[hidden] {
    display:none!important;
}
.repair-photo-preview img {
    width:72px;
    height:72px;
    object-fit:cover;
    border:1px solid var(--line);
    background:var(--field);
}
.repair-photo-preview > span {
    display:grid;
    min-width:0;
    gap:3px;
}
.repair-photo-preview small {
    overflow:hidden;
    color:var(--muted);
    text-overflow:ellipsis;
    white-space:nowrap;
}
.repair-photo-preview .icon-button {
    width:34px!important;
    min-width:34px!important;
    height:34px!important;
    min-height:34px!important;
    padding:0!important;
}
.workflow-diagnostic-row {
    display:grid;
    grid-template-columns:minmax(150px,.72fr) minmax(0,1.28fr);
    align-items:center;
    gap:10px;
    min-width:0;
    padding:9px 10px;
    border:1px solid var(--line);
    background:var(--panel);
}
.workflow-diagnostic-row > strong {
    min-width:0;
    overflow-wrap:anywhere;
}
.workflow-diagnostic-row .diagnostic-result-toggle {
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    min-width:0;
    gap:5px;
}
.workflow-diagnostic-row .diagnostic-result-toggle label {
    position:relative!important;
    display:block!important;
    grid-template-columns:none!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
}
.workflow-diagnostic-row .diagnostic-result-toggle span {
    box-sizing:border-box;
    width:100%;
    min-width:0;
    min-height:36px;
    padding:6px 4px;
    overflow:hidden;
    text-align:center;
    text-overflow:ellipsis;
    white-space:nowrap;
}

@media(max-width:760px) {
    .repair-photo-camera {
        display:inline-flex;
    }
    .repair-workflow-attachments form {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .repair-workflow-attachments form > input[type="text"],
    .repair-workflow-attachments form > .checkbox-row,
    .repair-workflow-attachments form > button,
    .repair-workflow-attachments form > p {
        grid-column:1/-1;
    }
    .repair-photo-source {
        width:100%;
        min-width:0;
    }
    .workflow-diagnostic-row {
        grid-template-columns:minmax(0,1fr);
    }
    .workflow-diagnostic-row .diagnostic-result-toggle {
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }

    body.module-register .payment-method-buttons {
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:7px!important;
    }
    body.module-register .pos-payment-workspace .payment-method-button,
    body.module-register .payment-method-button.payment-method-rewards {
        grid-template-columns:34px minmax(0,1fr)!important;
        grid-template-rows:1fr!important;
        min-width:0!important;
        min-height:52px!important;
        padding:8px!important;
    }
    body.module-register .pos-payment-workspace .payment-method-button > .ui-icon:last-child,
    body.module-register .payment-method-button.payment-method-rewards > .ui-icon:last-child {
        display:none!important;
    }
    body.module-register .pos-payment-workspace .payment-method-button > .pos-payment-icon,
    body.module-register .payment-method-button.payment-method-rewards > .pos-payment-icon {
        grid-column:1!important;
        grid-row:1!important;
        width:32px!important;
        height:32px!important;
    }
    body.module-register .pos-payment-workspace .payment-method-button > .pos-payment-copy,
    body.module-register .payment-method-button.payment-method-rewards > .pos-payment-copy {
        grid-column:2!important;
        grid-row:1!important;
        align-self:center!important;
        min-width:0!important;
    }
    body.module-register .pos-payment-copy strong {
        font-size:.72rem!important;
        line-height:1.2!important;
        overflow-wrap:anywhere!important;
    }
    body.module-register .pos-sidebar-payment-card .pos-sidebar-totals {
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:7px!important;
        padding:9px!important;
    }
    body.module-register .pos-sidebar-payment-card .pos-sidebar-totals > div,
    body.module-register .pos-sidebar-payment-card .pos-sidebar-totals > div.is-total,
    body.module-register .pos-sidebar-payment-card .pos-sidebar-totals > div.is-balance {
        display:grid!important;
        align-content:center!important;
        gap:3px!important;
        min-width:0!important;
        min-height:52px!important;
        margin:0!important;
        padding:8px!important;
        border:1px solid var(--line)!important;
        border-radius:0!important;
        background:var(--field)!important;
        color:var(--ink)!important;
    }
    body.module-register .pos-sidebar-payment-card .pos-sidebar-totals > div.is-total {
        border-color:color-mix(in srgb,var(--accent) 52%,var(--line))!important;
    }
    body.module-register .pos-sidebar-payment-card .pos-sidebar-totals > div.is-balance {
        background:linear-gradient(135deg,var(--accent),var(--accent-dark))!important;
        color:var(--button-text)!important;
    }
    body.module-register .pos-sidebar-payment-card .pos-sidebar-totals > div span,
    body.module-register .pos-sidebar-payment-card .pos-sidebar-totals > div strong {
        min-width:0!important;
        font-size:.72rem!important;
    }
    body.module-register .pos-sidebar-payment-card .pos-sidebar-totals > div.is-balance span,
    body.module-register .pos-sidebar-payment-card .pos-sidebar-totals > div.is-balance strong {
        color:var(--button-text)!important;
    }
    body.module-register .pos-items-table-wrap .cart-table .cart-item-cell {
        grid-template-columns:26px 76px minmax(0,1fr)!important;
        column-gap:9px!important;
        align-items:start!important;
    }
    body.module-register .pos-items-table-wrap .cart-table .cart-product-thumb {
        grid-column:2!important;
        grid-row:1!important;
        width:72px!important;
        height:72px!important;
        min-width:72px!important;
        overflow:hidden!important;
    }
    body.module-register .pos-items-table-wrap .cart-table .cart-product-copy {
        grid-column:3!important;
        grid-row:1!important;
        width:100%!important;
        min-width:0!important;
        overflow:hidden!important;
    }
    body.module-register .pos-items-table-wrap .cart-table .cart-product-copy > * {
        position:static!important;
        display:block!important;
        width:100%!important;
        max-width:100%!important;
        overflow-wrap:anywhere!important;
        word-break:normal!important;
    }
}

@media(max-width:380px) {
    body.module-register .pos-payment-workspace .payment-method-button,
    body.module-register .payment-method-button.payment-method-rewards {
        grid-template-columns:30px minmax(0,1fr)!important;
        padding:6px!important;
    }
    body.module-register .pos-items-table-wrap .cart-table .cart-item-cell {
        grid-template-columns:24px 66px minmax(0,1fr)!important;
    }
    body.module-register .pos-items-table-wrap .cart-table .cart-product-thumb {
        width:62px!important;
        height:62px!important;
        min-width:62px!important;
    }
}

@media(max-width:760px) {
    .waiting-room-card {
        grid-template-columns:minmax(0,1fr)!important;
        width:calc(100% - 16px)!important;
        max-width:calc(100% - 16px)!important;
        margin-inline:8px!important;
    }
    .waiting-room-card > .waiting-room-actions {
        grid-column:1!important;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        padding-top:9px;
        border-top:1px solid var(--line);
    }
}
.demo-license-banner{display:flex;align-items:center;gap:10px;margin:10px 18px 0;padding:10px 13px;border:1px solid #f59e0b;border-left:4px solid #f97316;background:#fff7ed;color:#7c2d12}.demo-license-banner svg{width:18px;height:18px;color:#ea580c}.demo-license-banner>span:nth-of-type(2){color:#9a3412}.demo-license-banner a{margin-left:auto;color:#9a3412;font-weight:800;text-decoration:underline}.demo-protected-panel{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center;margin:18px;padding:22px;border:1px solid #fdba74;border-left:5px solid #f97316;background:#fff7ed}.demo-protected-panel>span{display:grid;place-items:center;width:46px;height:46px;background:#ffedd5;color:#c2410c}.demo-protected-panel h2,.demo-protected-panel p{margin:0}.demo-protected-panel div{display:grid;gap:5px}.demo-restriction-summary{display:grid;gap:9px;margin:14px 0;padding:13px;border:1px solid #fdba74;background:#fff7ed}.demo-restriction-summary>div{display:flex;gap:6px;flex-wrap:wrap}.demo-restriction-summary span{padding:5px 8px;border:1px solid #fdba74;background:#fff;color:#9a3412;font-size:12px;font-weight:750}@media(max-width:760px){.demo-license-banner{align-items:flex-start;flex-wrap:wrap;margin:8px 10px 0}.demo-license-banner a{margin-left:28px}.demo-protected-panel{grid-template-columns:1fr;margin:10px}.demo-protected-panel>span{width:40px;height:40px}}
