/* ---- LMS Redesign Typography Fonts ---- */
@font-face {
    font-family: 'Plus Jakarta Sans';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url('../fonts/plus-jakarta-sans-600.woff2') format('woff2');
}

@font-face {
    font-family: 'Plus Jakarta Sans';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('../fonts/plus-jakarta-sans-700.woff2') format('woff2');
}

@font-face {
    font-family: 'Plus Jakarta Sans';
    font-style: normal;
    font-weight: 800;
    font-display: swap;
    src: url('../fonts/plus-jakarta-sans-800.woff2') format('woff2');
}

@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('../fonts/inter-400.woff2') format('woff2');
}

@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url('../fonts/inter-500.woff2') format('woff2');
}

@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url('../fonts/inter-600.woff2') format('woff2');
}

@font-face {
    font-family: 'IBM Plex Sans Arabic';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('../fonts/ibm-plex-sans-arabic-400.woff2') format('woff2');
}

@font-face {
    font-family: 'IBM Plex Sans Arabic';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url('../fonts/ibm-plex-sans-arabic-500.woff2') format('woff2');
}

@font-face {
    font-family: 'IBM Plex Sans Arabic';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url('../fonts/ibm-plex-sans-arabic-600.woff2') format('woff2');
}

@font-face {
    font-family: 'IBM Plex Sans Arabic';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('../fonts/ibm-plex-sans-arabic-700.woff2') format('woff2');
}

@font-face {
    font-family: 'IBM Plex Mono';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url('../fonts/ibm-plex-mono-500.woff2') format('woff2');
}

@font-face {
    font-family: 'IBM Plex Mono';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url('../fonts/ibm-plex-mono-600.woff2') format('woff2');
}
/* ---- End LMS Redesign Typography Fonts ---- */

:root {
    /* ---- Brand ---- */
    --color-navy-900: #0A1F38;
    --color-navy-800: #0F2A4A;
    --color-navy-700: #1B3A5C;
    --color-navy-100: #E7ECF3;

    --color-orange-600: #D95E0F;
    --color-orange-500: #F2711C;
    --color-orange-100: #FDE7D6;

    --color-white: #FFFFFF;

    /* ---- Neutrals ---- */
    --color-neutral-50: #F7F8FA;
    --color-neutral-100: #EEF1F5;
    --color-neutral-200: #E2E6EC;
    --color-neutral-300: #CBD2DC;
    --color-neutral-400: #9AA5B1;
    --color-neutral-500: #6B7684;
    --color-neutral-600: #4B5563;
    --color-neutral-700: #333F51;
    --color-neutral-800: #1E2A3B;
    --color-neutral-900: #0F1720;

    /* ---- Semantic ---- */
    --color-success-600: #15794E;
    --color-success-500: #1E9E6B;
    --color-success-100: #DBF3E7;

    --color-warning-600: #B37C00;
    --color-warning-500: #D9A400;
    --color-warning-100: #FBF0CE;

    --color-danger-600: #C7373D;
    --color-danger-500: #E5484D;
    --color-danger-100: #FBE1E2;

    --color-info-600: #1D64C9;
    --color-info-500: #2F80ED;
    --color-info-100: #DCEAFD;

    --color-process-500: #0EA5A4;
    --color-ready-500: #7C5CFC;

    /* ---- Surface / semantic aliases ---- */
    --surface-app: var(--color-neutral-50);
    --surface-card: var(--color-white);
    --surface-sidebar: var(--color-navy-900);
    --surface-sidebar-active: var(--color-navy-700);
    --border-default: var(--color-neutral-200);
    --text-primary: var(--color-neutral-800);
    --text-secondary: var(--color-neutral-500);
    --text-on-navy: #EAF0F8;
    --text-on-navy-muted: #93A3BC;
    --brand-primary: var(--color-navy-800);
    --brand-accent: var(--color-orange-500);
    --brand-accent-hover: var(--color-orange-600);

    /* ---- Legacy compatibility aliases; retire as components are rebuilt ---- */
    --lms-bg: var(--surface-app);
    --lms-surface: var(--surface-card);
    --lms-text: var(--text-primary);
    --lms-muted: var(--text-secondary);
    --lms-border: var(--border-default);
    --lms-primary: var(--brand-accent);
    --lms-primary-dark: var(--brand-accent-hover);
    --lms-danger: var(--color-danger-500);
    --lms-success: var(--color-success-500);
    --lms-warning: var(--color-warning-500);
    --lms-sidebar: var(--surface-sidebar);
    --lms-sidebar-muted: var(--text-on-navy-muted);
    --lms-radius: var(--radius-lg);
    --lms-shadow: var(--shadow-xs);


    /* ---- Typography ---- */
    --font-display: 'Plus Jakarta Sans', 'IBM Plex Sans Arabic', sans-serif;
    --font-body: 'Inter', 'IBM Plex Sans Arabic', sans-serif;
    --font-arabic: 'IBM Plex Sans Arabic', sans-serif;
    --font-mono: 'IBM Plex Mono', 'Courier New', monospace;

    --text-display-xl-size: 32px;
    --text-display-xl-line: 40px;
    --text-display-xl-weight: 700;

    --text-display-lg-size: 26px;
    --text-display-lg-line: 34px;
    --text-display-lg-weight: 700;

    --text-h1-size: 22px;
    --text-h1-line: 30px;
    --text-h1-weight: 700;

    --text-h2-size: 18px;
    --text-h2-line: 26px;
    --text-h2-weight: 600;

    --text-h3-size: 15px;
    --text-h3-line: 22px;
    --text-h3-weight: 600;

    --text-body-lg-size: 15px;
    --text-body-lg-line: 24px;
    --text-body-lg-weight: 400;

    --text-body-size: 14px;
    --text-body-line: 20px;
    --text-body-weight: 400;

    --text-body-sm-size: 13px;
    --text-body-sm-line: 18px;
    --text-body-sm-weight: 400;

    --text-caption-size: 11px;
    --text-caption-line: 14px;
    --text-caption-weight: 600;
    --text-caption-tracking: .04em;

    --text-stat-size: 30px;
    --text-stat-line: 36px;
    --text-stat-weight: 800;

    --text-data-size: 14px;
    --text-data-line: 20px;
    --text-data-weight: 500;


    /* ---- Spacing ---- */
    --space-1: 4px;
    --space-2: 8px;
    --space-3: 12px;
    --space-4: 16px;
    --space-5: 20px;
    --space-6: 24px;
    --space-8: 32px;
    --space-10: 40px;
    --space-12: 48px;
    --space-16: 64px;
    --space-20: 80px;


    /* ---- Radius ---- */
    --radius-sm: 6px;
    --radius-md: 10px;
    --radius-lg: 16px;
    --radius-xl: 22px;
    --radius-pill: 999px;


    /* ---- Elevation (Shadows) ---- */
    --shadow-xs: 0 1px 2px rgba(15, 23, 32, 0.06);
    --shadow-sm: 0 2px 8px rgba(15, 23, 32, 0.08);
    --shadow-md: 0 8px 24px rgba(15, 23, 32, 0.12);
    --shadow-lg: 0 16px 40px rgba(15, 23, 32, 0.16);
    --shadow-focus: 0 0 0 3px rgba(242, 113, 28, 0.35);


    /* ---- Iconography ---- */
    --icon-xs: 14px;
    --icon-sm: 16px;
    --icon-md: 20px;
    --icon-lg: 24px;
    --icon-xl: 32px;
    --icon-stroke: 1.75;
    --icon-stroke-strong: 2;
    --icon-color-default: currentColor;
    --icon-color-muted: var(--text-secondary);
    --icon-color-on-navy: var(--text-on-navy);
    --icon-color-accent: var(--brand-accent);


    /* ---- Motion ---- */
    --ease-standard: cubic-bezier(0.4, 0, 0.2, 1);
    --duration-fast: 120ms;
    --duration-base: 200ms;
    --duration-slow: 320ms;


    /* ---- Breakpoints ---- */
    --bp-sm: 480px;
    --bp-md: 768px;
    --bp-lg: 1024px;
    --bp-xl: 1280px;
    --bp-2xl: 1536px;


    /* ---- RTL / Arabic ---- */
    --rtl-font-body: var(--font-arabic);
    --rtl-font-display: var(--font-arabic);
    --logical-start: inline-start;
    --logical-end: inline-end;
}


* { box-sizing: border-box; }
body { margin: 0; font-family: var(--font-body); background: var(--lms-bg); color: var(--lms-text); }
a { color: inherit; }
.lms-app { display: flex; min-height: 100vh; }
.lms-sidebar { width: 276px; background: var(--lms-sidebar); color: var(--color-white); padding: var(--space-6) var(--space-5); flex: 0 0 276px; }
.lms-brand { display: flex; align-items: center; gap: var(--space-3); font-size: 17px; font-weight: 900; margin-bottom: var(--space-8); line-height: 1.2; }
.lms-brand img { width: 38px; height: 38px; object-fit: contain; border-radius: var(--radius-md); background: rgba(255,255,255,.08); padding: var(--space-1); }
.lms-sidebar-section { margin: var(--space-5) 0 var(--space-2); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--text-on-navy-muted); font-weight: 800; }
.lms-sidebar a { display: flex; align-items: center; gap: var(--space-2); color: var(--lms-sidebar-muted); text-decoration: none; padding: 11px var(--space-3); border-radius: var(--radius-md); margin-bottom: var(--space-2); font-weight: 700; }
.lms-sidebar a:hover, .lms-sidebar a.active { background: var(--lms-primary); color: var(--color-white); }
.lms-main { flex: 1; min-width: 0; }
.lms-topbar { height: 72px; display: flex; align-items: center; justify-content: space-between; padding: 0 var(--space-8); background: var(--lms-surface); border-bottom: 1px solid var(--lms-border); position: sticky; top: 0; z-index: 10; }
.lms-page-title { margin: 0; font-size: 22px; }
.lms-user-menu { display: flex; align-items: center; gap: var(--space-3); }
.lms-user-chip { display: flex; align-items: center; gap: var(--space-2); color: var(--lms-muted); font-weight: 700; }
.lms-avatar { width: 36px; height: 36px; border-radius: var(--radius-pill); background: var(--color-navy-100); color: var(--brand-primary); display: grid; place-items: center; font-weight: 900; }
.lms-content { padding: var(--space-8); }
.lms-card { background: var(--lms-surface); border-radius: var(--lms-radius); padding: var(--space-6); box-shadow: var(--lms-shadow); border: 1px solid var(--border-default); }
.lms-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-5); }
.lms-stat span { color: var(--lms-muted); font-size: 14px; font-weight: 700; }
.lms-stat strong { display: block; margin-top: var(--space-2); font-size: 28px; }
.lms-muted { color: var(--lms-muted); }
.lms-flash { padding: var(--space-3) var(--space-4); border-radius: var(--radius-md); margin-bottom: var(--space-5); font-weight: 700; }
.lms-flash-success { background: var(--color-success-100); color: var(--color-success-600); }
.lms-flash-error { background: var(--color-danger-100); color: var(--color-danger-600); }
.lms-breadcrumbs { display: flex; gap: var(--space-2); align-items: center; color: var(--lms-muted); margin-bottom: var(--space-5); font-size: 14px; }
.lms-breadcrumbs a { text-decoration: none; color: var(--lms-primary); font-weight: 700; }
.lms-btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2); border: 0; border-radius: var(--radius-md); padding: 10px var(--space-4); text-decoration: none; cursor: pointer; font-weight: 800; background: var(--color-neutral-200); color: var(--color-neutral-900); }
.lms-btn-primary { background: var(--lms-primary); color: var(--color-white); }
.lms-btn-primary:hover { background: var(--lms-primary-dark); }
.lms-btn-danger { background: var(--lms-danger); color: var(--color-white); }
.lms-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); }
.lms-form-field label { display: block; font-weight: 800; margin-bottom: var(--space-2); }
.lms-form-field input, .lms-form-field select, .lms-form-field textarea { width: 100%; border: 1px solid var(--color-neutral-300); border-radius: var(--radius-md); padding: 11px var(--space-3); background: var(--surface-card); color: var(--lms-text); }
.lms-form-field textarea { min-height: 110px; resize: vertical; }
.lms-error { color: var(--color-danger-600); font-size: 13px; margin-top: var(--space-2); font-weight: 700; }
.lms-table-wrap { overflow-x: auto; background: var(--surface-card); border-radius: var(--lms-radius); box-shadow: var(--lms-shadow); border: 1px solid var(--border-default); }
.lms-table { width: 100%; border-collapse: collapse; min-width: 720px; }
.lms-table th, .lms-table td { padding: var(--space-3) var(--space-4); border-bottom: 1px solid var(--lms-border); text-align: start; }
.lms-table th { background: var(--color-neutral-100); color: var(--color-neutral-600); font-size: 12px; text-transform: uppercase; letter-spacing: .05em; }
.lms-badge { display: inline-flex; align-items: center; border-radius: var(--radius-pill); padding: var(--space-1) var(--space-3); font-size: 12px; font-weight: 900; background: var(--color-neutral-200); color: var(--color-neutral-700); }
.lms-badge-success { background: var(--color-success-100); color: var(--color-success-600); }
.lms-badge-danger { background: var(--color-danger-100); color: var(--color-danger-600); }
.lms-badge-warning { background: var(--color-warning-100); color: var(--color-warning-600); }
.lms-badge-primary { background: var(--color-info-100); color: var(--color-info-600); }
.lms-empty { text-align: center; padding: var(--space-12) var(--space-6); color: var(--lms-muted); }
.lms-empty strong { display: block; color: var(--lms-text); font-size: 18px; margin-bottom: var(--space-2); }
.lms-modal-backdrop { display: none; position: fixed; inset: 0; background: rgba(15, 23, 32, .55); z-index: 50; align-items: center; justify-content: center; padding: var(--space-5); }
.lms-modal-backdrop.is-open { display: flex; }
.lms-modal { width: min(560px, 100%); background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); overflow: hidden; }
.lms-modal-header, .lms-modal-footer { padding: var(--space-5) var(--space-6); border-bottom: 1px solid var(--lms-border); display: flex; align-items: center; justify-content: space-between; }
.lms-modal-footer { border-bottom: 0; border-top: 1px solid var(--lms-border); justify-content: flex-end; gap: var(--space-2); }
.lms-modal-body { padding: var(--space-6); }
@media (max-width: 1000px) { .lms-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) { .lms-app { display: block; } .lms-sidebar { width: auto; } .lms-topbar { position: static; padding: 0 var(--space-4); } .lms-content { padding: var(--space-4); } .lms-grid, .lms-form-grid { grid-template-columns: 1fr; } }
@media print { .lms-sidebar, .lms-topbar, .lms-no-print { display: none !important; } .lms-content { padding: 0; } body { background: var(--surface-card); } .lms-card, .lms-table-wrap { box-shadow: none; border: 0; } }

html[lang="ar"] body { font-family: var(--font-arabic); }


.lms-font-display { font-family: var(--font-display); }
.lms-font-body { font-family: var(--font-body); }
.lms-font-mono,
.lms-data,
.lms-money,
.lms-order-code {
    font-family: var(--font-mono);
    font-size: var(--text-data-size);
    line-height: var(--text-data-line);
    font-weight: var(--text-data-weight);
    font-variant-numeric: tabular-nums;
    direction: ltr;
    unicode-bidi: embed;
}

.lms-page-title {
    font-family: var(--font-display);
    font-size: var(--text-display-lg-size);
    line-height: var(--text-display-lg-line);
    font-weight: var(--text-display-lg-weight);
}

.lms-card h1,
.lms-modal-header h1 {
    font-family: var(--font-display);
    font-size: var(--text-h1-size);
    line-height: var(--text-h1-line);
    font-weight: var(--text-h1-weight);
}

.lms-card h2,
.lms-modal-header h2 {
    font-family: var(--font-display);
    font-size: var(--text-h2-size);
    line-height: var(--text-h2-line);
    font-weight: var(--text-h2-weight);
}

.lms-sidebar-section,
.lms-table th {
    font-size: var(--text-caption-size);
    line-height: var(--text-caption-line);
    font-weight: var(--text-caption-weight);
    letter-spacing: var(--text-caption-tracking);
}

.lms-stat strong {
    font-family: var(--font-display);
    font-size: var(--text-stat-size);
    line-height: var(--text-stat-line);
    font-weight: var(--text-stat-weight);
    font-variant-numeric: tabular-nums;
}


/* ---- LMS Redesign Spacing Utilities ---- */
.lms-stack-xs,
.lms-stack-sm,
.lms-stack-md,
.lms-stack-lg,
.lms-stack-xl {
    display: flex;
    flex-direction: column;
}

.lms-stack-xs { gap: var(--space-2); }
.lms-stack-sm { gap: var(--space-3); }
.lms-stack-md { gap: var(--space-4); }
.lms-stack-lg { gap: var(--space-6); }
.lms-stack-xl { gap: var(--space-8); }

.lms-cluster-sm,
.lms-cluster-md,
.lms-cluster-lg {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.lms-cluster-sm { gap: var(--space-2); }
.lms-cluster-md { gap: var(--space-4); }
.lms-cluster-lg { gap: var(--space-6); }

.lms-section-gap { margin-block-end: var(--space-6); }
.lms-page-gap { margin-block-end: var(--space-8); }
.lms-card-pad-dense { padding: var(--space-4); }
.lms-card-pad-comfortable { padding: var(--space-6); }
/* ---- End LMS Redesign Spacing Utilities ---- */


/* ---- LMS Redesign Radius Utilities ---- */
.lms-radius-sm { border-radius: var(--radius-sm); }
.lms-radius-md { border-radius: var(--radius-md); }
.lms-radius-lg { border-radius: var(--radius-lg); }
.lms-radius-xl { border-radius: var(--radius-xl); }
.lms-radius-pill { border-radius: var(--radius-pill); }
/* ---- End LMS Redesign Radius Utilities ---- */


/* ---- LMS Redesign Elevation Utilities ---- */
.lms-shadow-xs { box-shadow: var(--shadow-xs); }
.lms-shadow-sm { box-shadow: var(--shadow-sm); }
.lms-shadow-md { box-shadow: var(--shadow-md); }
.lms-shadow-lg { box-shadow: var(--shadow-lg); }

.lms-btn:focus-visible,
.lms-btn-icon:focus-visible,
.lms-form-field input:focus-visible,
.lms-form-field select:focus-visible,
.lms-form-field textarea:focus-visible,
.lms-sidebar a:focus-visible,
.lms-modal [data-lms-modal-close]:focus-visible {
    outline: 0;
    box-shadow: var(--shadow-focus);
}
/* ---- End LMS Redesign Elevation Utilities ---- */


/* ---- LMS Redesign Iconography ---- */
.lms-icon {
    display: inline-block;
    inline-size: var(--icon-md);
    block-size: var(--icon-md);
    flex: 0 0 auto;
    color: var(--icon-color-default);
    stroke: currentColor;
    stroke-width: var(--icon-stroke);
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
    vertical-align: -0.15em;
}

.lms-icon-xs { inline-size: var(--icon-xs); block-size: var(--icon-xs); }
.lms-icon-sm { inline-size: var(--icon-sm); block-size: var(--icon-sm); }
.lms-icon-md { inline-size: var(--icon-md); block-size: var(--icon-md); }
.lms-icon-lg { inline-size: var(--icon-lg); block-size: var(--icon-lg); }
.lms-icon-xl { inline-size: var(--icon-xl); block-size: var(--icon-xl); }

.lms-icon-muted { color: var(--icon-color-muted); }
.lms-icon-on-navy { color: var(--icon-color-on-navy); }
.lms-icon-accent { color: var(--icon-color-accent); }
.lms-icon-success { color: var(--color-success-600); }
.lms-icon-warning { color: var(--color-warning-600); }
.lms-icon-danger { color: var(--color-danger-600); }
.lms-icon-info { color: var(--color-info-600); }
.lms-icon-strong { stroke-width: var(--icon-stroke-strong); }

.lms-icon-box {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: 36px;
    block-size: 36px;
    border-radius: var(--radius-md);
    background: var(--color-neutral-100);
    color: var(--brand-primary);
}

.lms-icon-box-accent {
    background: var(--color-orange-100);
    color: var(--brand-accent-hover);
}

.lms-icon-box-success {
    background: var(--color-success-100);
    color: var(--color-success-600);
}

.lms-icon-box-warning {
    background: var(--color-warning-100);
    color: var(--color-warning-600);
}

.lms-icon-box-danger {
    background: var(--color-danger-100);
    color: var(--color-danger-600);
}

.lms-icon-box-info {
    background: var(--color-info-100);
    color: var(--color-info-600);
}

.lms-icon-label {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
}

.lms-icon-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: 38px;
    block-size: 38px;
    border: 1px solid var(--border-default);
    border-radius: var(--radius-md);
    background: var(--surface-card);
    color: var(--text-secondary);
    cursor: pointer;
    transition: background var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard);
}

.lms-icon-button:hover {
    background: var(--color-neutral-100);
    color: var(--text-primary);
    border-color: var(--color-neutral-300);
}

.lms-icon-button-primary {
    background: var(--brand-accent);
    border-color: var(--brand-accent);
    color: var(--color-white);
}

.lms-icon-button-primary:hover {
    background: var(--brand-accent-hover);
    border-color: var(--brand-accent-hover);
    color: var(--color-white);
}

.lms-icon-button:focus-visible {
    outline: 0;
    box-shadow: var(--shadow-focus);
}
/* ---- End LMS Redesign Iconography ---- */


/* ---- LMS Redesign Motion ---- */
@keyframes lms-fade-in {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes lms-slide-up {
    from {
        opacity: 0;
        transform: translateY(var(--space-2));
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes lms-scale-in {
    from {
        opacity: 0;
        transform: scale(.98);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes lms-kanban-settle {
    from { transform: translateY(calc(var(--space-1) * -1)); }
    to { transform: translateY(0); }
}

.lms-motion-fade-in {
    animation: lms-fade-in var(--duration-base) var(--ease-standard) both;
}

.lms-motion-slide-up {
    animation: lms-slide-up var(--duration-base) var(--ease-standard) both;
}

.lms-motion-scale-in {
    animation: lms-scale-in var(--duration-base) var(--ease-standard) both;
}

.lms-motion-kanban-settle {
    animation: lms-kanban-settle var(--duration-slow) var(--ease-standard) both;
}

.lms-transition-fast {
    transition-duration: var(--duration-fast);
    transition-timing-function: var(--ease-standard);
}

.lms-transition-base {
    transition-duration: var(--duration-base);
    transition-timing-function: var(--ease-standard);
}

.lms-transition-slow {
    transition-duration: var(--duration-slow);
    transition-timing-function: var(--ease-standard);
}

.lms-transition-interactive {
    transition-property: background, color, border-color, box-shadow, transform, opacity;
    transition-duration: var(--duration-fast);
    transition-timing-function: var(--ease-standard);
}

.lms-modal-card,
.lms-dropdown,
.lms-toast {
    animation: lms-slide-up var(--duration-base) var(--ease-standard) both;
}

.lms-modal-backdrop {
    animation: lms-fade-in var(--duration-base) var(--ease-standard) both;
}

@media (prefers-reduced-motion: reduce) {
    html:focus-within {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        transition-duration: 1ms !important;
        transition-delay: 0ms !important;
        scroll-behavior: auto !important;
    }

    .lms-motion-slide-up,
    .lms-motion-scale-in,
    .lms-motion-kanban-settle,
    .lms-modal-card,
    .lms-dropdown,
    .lms-toast {
        animation: none !important;
        transform: none !important;
    }

    .lms-motion-fade-in,
    .lms-modal-backdrop {
        animation: lms-fade-in 1ms linear both !important;
    }
}
/* ---- End LMS Redesign Motion ---- */


/* ---- LMS Redesign Breakpoints ---- */
/*
Breakpoint token map:
- --bp-sm: 480px   phone
- --bp-md: 768px   tablet portrait / sidebar icon rail threshold
- --bp-lg: 1024px  tablet landscape / small laptop
- --bp-xl: 1280px  desktop
- --bp-2xl: 1536px large desktop

Media queries below intentionally use matching literal values because CSS custom
properties are not valid in media query conditions across target browsers.
*/
.lms-responsive-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-4);
}

.lms-responsive-grid-2,
.lms-responsive-grid-3,
.lms-responsive-grid-4 {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-4);
}

.lms-responsive-stack {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
}

.lms-hide-phone,
.lms-hide-tablet,
.lms-show-desktop {
    display: none !important;
}

.lms-show-phone,
.lms-show-tablet,
.lms-hide-desktop {
    display: initial !important;
}

@media (min-width: 480px) {
    .lms-responsive-grid {
        gap: var(--space-5);
    }

    .lms-hide-phone {
        display: initial !important;
    }

    .lms-show-phone {
        display: none !important;
    }
}

@media (min-width: 768px) {
    .lms-responsive-grid-2,
    .lms-responsive-grid-3,
    .lms-responsive-grid-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lms-responsive-stack-md-row {
        flex-direction: row;
        align-items: center;
    }

    .lms-hide-tablet {
        display: initial !important;
    }

    .lms-show-tablet {
        display: none !important;
    }
}

@media (min-width: 1024px) {
    .lms-responsive-grid-3,
    .lms-responsive-grid-4 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .lms-responsive-grid {
        gap: var(--space-6);
    }
}

@media (min-width: 1280px) {
    .lms-responsive-grid-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .lms-show-desktop {
        display: initial !important;
    }

    .lms-hide-desktop {
        display: none !important;
    }
}

@media (min-width: 1536px) {
    .lms-responsive-grid {
        gap: var(--space-8);
    }
}
/* ---- End LMS Redesign Breakpoints ---- */


/* ---- LMS Redesign RTL / Arabic ---- */
html[dir="rtl"] {
    direction: rtl;
}

html[dir="ltr"] {
    direction: ltr;
}

html[dir="rtl"] body {
    font-family: var(--rtl-font-body);
    text-align: start;
}

html[dir="rtl"] .lms-page-title,
html[dir="rtl"] .lms-font-display,
html[dir="rtl"] .lms-card h1,
html[dir="rtl"] .lms-card h2,
html[dir="rtl"] .lms-card h3,
html[dir="rtl"] .lms-modal-header h1,
html[dir="rtl"] .lms-modal-header h2 {
    font-family: var(--rtl-font-display);
}

html[dir="rtl"] .lms-money,
html[dir="rtl"] .lms-data,
html[dir="rtl"] .lms-order-code,
html[dir="rtl"] input[type="number"],
html[dir="rtl"] input[type="tel"],
html[dir="rtl"] input[type="email"],
html[dir="rtl"] input[type="url"] {
    direction: ltr;
    unicode-bidi: plaintext;
    text-align: start;
}

html[dir="rtl"] .lms-table th,
html[dir="rtl"] .lms-table td,
html[dir="rtl"] .lms-form-field label,
html[dir="rtl"] .lms-form-field input,
html[dir="rtl"] .lms-form-field select,
html[dir="rtl"] .lms-form-field textarea {
    text-align: start;
}

html[dir="rtl"] .lms-icon,
html[dir="rtl"] .lms-icon-box,
html[dir="rtl"] .lms-icon-button {
    transform: none;
}

html[dir="rtl"] .lms-icon--mirror {
    transform: scaleX(-1);
}

html[dir="rtl"] .lms-sidebar,
html[dir="rtl"] .lms-topbar,
html[dir="rtl"] .lms-content,
html[dir="rtl"] .lms-card,
html[dir="rtl"] .lms-modal-card {
    text-align: start;
}

html[dir="rtl"] .lms-responsive-stack-md-row,
html[dir="rtl"] .lms-cluster-sm,
html[dir="rtl"] .lms-cluster-md,
html[dir="rtl"] .lms-cluster-lg,
html[dir="rtl"] .lms-icon-label {
    direction: inherit;
}

[dir="rtl"] .lms-dir-aware-row {
    flex-direction: row-reverse;
}

.lms-logical-start { text-align: start; }
.lms-logical-end { text-align: end; }
.lms-ms-auto { margin-inline-start: auto; }
.lms-me-auto { margin-inline-end: auto; }
.lms-ps-0 { padding-inline-start: 0; }
.lms-pe-0 { padding-inline-end: 0; }
.lms-isolate-direction { unicode-bidi: isolate; }
/* ---- End LMS Redesign RTL / Arabic ---- */


/* ---- LMS Redesign Sidebar Shell ---- */
.lms-sidebar {
    position: sticky;
    inset-block-start: 0;
    block-size: 100vh;
    inline-size: 292px;
    flex: 0 0 292px;
    background: linear-gradient(180deg, var(--color-navy-900) 0%, var(--color-navy-800) 100%);
    color: var(--text-on-navy);
    border-inline-end: 1px solid rgba(255, 255, 255, .08);
    z-index: 30;
    transition: inline-size var(--duration-slow) var(--ease-standard), flex-basis var(--duration-slow) var(--ease-standard);
}

.lms-sidebar-inner {
    display: flex;
    flex-direction: column;
    block-size: 100%;
    min-block-size: 0;
}

.lms-sidebar-brand {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    padding: var(--space-5) var(--space-4);
    border-block-end: 1px solid rgba(255, 255, 255, .08);
}

.lms-brand-link {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    min-inline-size: 0;
    color: var(--text-on-navy);
    text-decoration: none;
    margin: 0;
    padding: 0;
    border-radius: 0;
    background: transparent;
}

.lms-sidebar .lms-brand-link:hover {
    margin: 0;
    padding: 0;
    background: transparent;
    color: var(--color-white);
}

.lms-brand-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: 44px;
    block-size: 44px;
    flex: 0 0 44px;
    border-radius: var(--radius-lg);
    background: var(--color-white);
    box-shadow: var(--shadow-sm);
    overflow: hidden;
}

.lms-brand-mark img {
    inline-size: 32px;
    block-size: 32px;
    object-fit: contain;
}

.lms-brand-copy {
    display: flex;
    flex-direction: column;
    min-inline-size: 0;
}

.lms-brand-copy strong {
    font-family: var(--font-display);
    font-size: var(--font-size-h3);
    line-height: var(--line-height-h3);
    font-weight: var(--font-weight-h3);
    color: var(--text-on-navy);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.lms-brand-copy small {
    margin-block-start: var(--space-1);
    color: var(--text-on-navy-muted);
    font-size: var(--font-size-body-sm);
    line-height: var(--line-height-body-sm);
    white-space: nowrap;
}

.lms-sidebar-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: 34px;
    block-size: 34px;
    flex: 0 0 34px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: var(--radius-md);
    background: rgba(255, 255, 255, .06);
    color: var(--text-on-navy-muted);
    cursor: pointer;
    transition: background var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard);
}

.lms-sidebar-toggle:hover,
.lms-sidebar-toggle:focus-visible {
    background: rgba(255, 255, 255, .12);
    color: var(--text-on-navy);
    border-color: rgba(255, 255, 255, .22);
}

.lms-sidebar-toggle:focus-visible {
    outline: 0;
    box-shadow: var(--shadow-focus);
}

.lms-sidebar-toggle-icon {
    transform: rotate(90deg);
    transition: transform var(--duration-base) var(--ease-standard);
}

.lms-sidebar-nav {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    padding: var(--space-4) var(--space-3) var(--space-6);
    overflow-y: auto;
    min-block-size: 0;
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 255, 255, .22) transparent;
}

.lms-sidebar-nav::-webkit-scrollbar {
    inline-size: 8px;
}

.lms-sidebar-nav::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, .22);
    border-radius: var(--radius-pill);
}

.lms-sidebar-section {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
}

.lms-sidebar-section-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-2);
    inline-size: 100%;
    padding: var(--space-2) var(--space-3);
    border: 0;
    border-radius: var(--radius-md);
    background: transparent;
    color: var(--text-on-navy-muted);
    font-size: var(--font-size-caption);
    line-height: var(--line-height-caption);
    font-weight: var(--font-weight-caption);
    letter-spacing: var(--letter-spacing-caption);
    text-transform: uppercase;
    cursor: pointer;
    transition: color var(--duration-fast) var(--ease-standard), background var(--duration-fast) var(--ease-standard);
}

.lms-sidebar-section-toggle:hover,
.lms-sidebar-section-toggle:focus-visible {
    color: var(--text-on-navy);
    background: rgba(255, 255, 255, .05);
    outline: 0;
}

.lms-sidebar-section-toggle:focus-visible {
    box-shadow: var(--shadow-focus);
}

.lms-sidebar-section-chevron {
    transition: transform var(--duration-base) var(--ease-standard);
}

.lms-sidebar-section.is-open .lms-sidebar-section-chevron {
    transform: rotate(180deg);
}

.lms-sidebar-section-panel {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
}

.lms-sidebar-section-panel[hidden] {
    display: none;
}

.lms-sidebar-link {
    position: relative;
    display: flex;
    align-items: center;
    gap: var(--space-3);
    min-block-size: 42px;
    padding: var(--space-2) var(--space-3);
    border-radius: var(--radius-lg);
    color: var(--text-on-navy-muted);
    text-decoration: none;
    font-size: var(--font-size-body);
    line-height: var(--line-height-body);
    font-weight: 600;
    transition: background var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard);
}

.lms-sidebar-link::before {
    content: '';
    position: absolute;
    inset-block: 8px;
    inset-inline-start: 0;
    inline-size: 3px;
    border-radius: var(--radius-pill);
    background: transparent;
    transition: background var(--duration-fast) var(--ease-standard), opacity var(--duration-fast) var(--ease-standard);
}

.lms-sidebar-link:hover,
.lms-sidebar-link:focus-visible {
    color: var(--text-on-navy);
    background: rgba(255, 255, 255, .08);
    outline: 0;
}

.lms-sidebar-link:focus-visible {
    box-shadow: var(--shadow-focus);
}

.lms-sidebar-link.is-active {
    color: var(--text-on-navy);
    background: linear-gradient(90deg, rgba(242, 113, 28, .24), rgba(242, 113, 28, .10));
    box-shadow: inset 0 0 0 1px rgba(242, 113, 28, .24);
}

html[dir="rtl"] .lms-sidebar-link.is-active {
    background: linear-gradient(270deg, rgba(242, 113, 28, .24), rgba(242, 113, 28, .10));
}

.lms-sidebar-link.is-active::before {
    background: var(--brand-accent);
}

.lms-sidebar-link-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: 24px;
    block-size: 24px;
    flex: 0 0 24px;
    color: currentColor;
}

.lms-sidebar-link-label {
    min-inline-size: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lms-sidebar-collapsed .lms-sidebar {
    inline-size: 88px;
    flex-basis: 88px;
}

.lms-sidebar-collapsed .lms-brand-copy,
.lms-sidebar-collapsed .lms-sidebar-section-toggle span,
.lms-sidebar-collapsed .lms-sidebar-section-chevron,
.lms-sidebar-collapsed .lms-sidebar-link-label {
    display: none;
}

.lms-sidebar-collapsed .lms-sidebar-brand {
    justify-content: center;
    padding-inline: var(--space-2);
}

.lms-sidebar-collapsed .lms-brand-link {
    gap: 0;
}

.lms-sidebar-collapsed .lms-sidebar-toggle {
    position: absolute;
    inset-block-start: var(--space-5);
    inset-inline-end: calc(var(--space-2) * -1);
    background: var(--brand-accent);
    color: var(--color-white);
    border-color: var(--brand-accent);
    box-shadow: var(--shadow-md);
}

.lms-sidebar-collapsed .lms-sidebar-toggle-icon {
    transform: rotate(-90deg);
}

.lms-sidebar-collapsed .lms-sidebar .lms-sidebar-toggle {
    position: static;
    inset: auto;
    background: rgba(255, 255, 255, .08);
    color: var(--text-on-navy);
    border-color: rgba(255, 255, 255, .14);
    box-shadow: none;
}

.lms-sidebar-collapsed .lms-sidebar-nav {
    padding-inline: var(--space-2);
}

.lms-sidebar-collapsed .lms-sidebar-section {
    align-items: center;
}

.lms-sidebar-collapsed .lms-sidebar-section-toggle {
    justify-content: center;
    inline-size: 42px;
    min-block-size: 12px;
    padding: 0;
    pointer-events: none;
}

.lms-sidebar-collapsed .lms-sidebar-section-toggle::before {
    content: '';
    inline-size: 22px;
    block-size: 1px;
    background: rgba(255, 255, 255, .14);
}

.lms-sidebar-collapsed .lms-sidebar-section-panel {
    align-items: center;
}

.lms-sidebar-collapsed .lms-sidebar-link {
    justify-content: center;
    inline-size: 48px;
    padding-inline: 0;
    gap: 0;
}

@media (max-width: 767px) {
    .lms-sidebar {
        position: fixed;
        inset-block: 0;
        inset-inline-start: 0;
        transform: translateX(0);
        inline-size: 292px;
        flex-basis: 292px;
        box-shadow: var(--shadow-lg);
    }

    html[dir="rtl"] .lms-sidebar {
        transform: translateX(0);
    }

    .lms-sidebar-collapsed .lms-sidebar {
        inline-size: 88px;
        flex-basis: 88px;
    }
}
/* ---- End LMS Redesign Sidebar Shell ---- */


/* ---- LMS Redesign Topbar Shell ---- */
.lms-sr-only {
    position: absolute;
    inline-size: 1px;
    block-size: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.lms-topbar {
    position: sticky;
    inset-block-start: 0;
    z-index: 25;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-4);
    min-block-size: 84px;
    margin: calc(var(--space-6) * -1) calc(var(--space-6) * -1) var(--space-6);
    padding: var(--space-4) var(--space-6);
    background: rgba(255, 255, 255, .92);
    border-block-end: 1px solid var(--border-default);
    box-shadow: var(--shadow-xs);
    backdrop-filter: blur(14px);
}

.lms-topbar-main {
    display: flex;
    align-items: center;
    gap: var(--space-6);
    min-inline-size: 0;
    flex: 1 1 auto;
}

.lms-topbar-title-wrap {
    min-inline-size: 0;
    flex: 1 1 auto;
}

.lms-breadcrumbs {
    margin-block-end: var(--space-1);
    color: var(--text-secondary);
    font-size: var(--font-size-body-sm);
    line-height: var(--line-height-body-sm);
}

.lms-breadcrumbs ol {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--space-1);
    padding: 0;
    margin: 0;
    list-style: none;
}

.lms-breadcrumbs li {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    min-inline-size: 0;
}

.lms-breadcrumbs li + li::before {
    content: '/';
    color: var(--color-neutral-400);
}

.lms-breadcrumbs a {
    color: var(--text-secondary);
    text-decoration: none;
}

.lms-breadcrumbs a:hover,
.lms-breadcrumbs a:focus-visible {
    color: var(--brand-accent-hover);
    outline: 0;
}

.lms-topbar-title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-4);
}

.lms-topbar-title {
    margin: 0;
    color: var(--text-primary);
    font-family: var(--font-display);
    font-size: var(--font-size-h1);
    line-height: var(--line-height-h1);
    font-weight: var(--font-weight-h1);
    letter-spacing: -0.02em;
}

.lms-topbar-subtitle {
    margin: var(--space-1) 0 0;
    color: var(--text-secondary);
    font-size: var(--font-size-body-sm);
    line-height: var(--line-height-body-sm);
}

.lms-topbar-search {
    position: relative;
    display: flex;
    align-items: center;
    min-inline-size: 260px;
    max-inline-size: 340px;
    flex: 0 1 340px;
}

.lms-topbar-search-icon {
    position: absolute;
    inset-inline-start: var(--space-3);
    color: var(--text-secondary);
    pointer-events: none;
}

.lms-topbar-search input {
    inline-size: 100%;
    min-block-size: 42px;
    padding: var(--space-2) var(--space-3) var(--space-2) calc(var(--space-8) + var(--space-1));
    border: 1px solid var(--border-default);
    border-radius: var(--radius-pill);
    background: var(--surface-card);
    color: var(--text-primary);
    font: inherit;
    transition: border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard), background var(--duration-fast) var(--ease-standard);
}

html[dir="rtl"] .lms-topbar-search input {
    padding-inline-start: calc(var(--space-8) + var(--space-1));
    padding-inline-end: var(--space-3);
}

.lms-topbar-search input:focus-visible {
    outline: 0;
    border-color: var(--brand-accent);
    box-shadow: var(--shadow-focus);
}

.lms-topbar-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--space-2);
    flex: 0 0 auto;
}

.lms-topbar-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-2);
    min-block-size: 38px;
    padding: var(--space-2) var(--space-3);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-pill);
    background: var(--surface-card);
    color: var(--text-primary);
    text-decoration: none;
    font-size: var(--font-size-body-sm);
    line-height: var(--line-height-body-sm);
    font-weight: 700;
    white-space: nowrap;
    transition: background var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);
}

.lms-topbar-action:hover,
.lms-topbar-action:focus-visible {
    border-color: var(--color-neutral-300);
    background: var(--color-neutral-100);
    outline: 0;
}

.lms-topbar-action:focus-visible {
    box-shadow: var(--shadow-focus);
}

.lms-topbar-action.is-primary {
    border-color: var(--brand-accent);
    background: var(--brand-accent);
    color: var(--color-white);
}

.lms-topbar-action.is-primary:hover,
.lms-topbar-action.is-primary:focus-visible {
    border-color: var(--brand-accent-hover);
    background: var(--brand-accent-hover);
    color: var(--color-white);
}

.lms-topbar-locale {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-inline-size: 48px;
    min-block-size: 40px;
    padding: var(--space-1) var(--space-2);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-md);
    background: var(--surface-card);
    color: var(--text-primary);
    text-decoration: none;
    font-weight: 800;
    line-height: 1;
}

.lms-topbar-locale small {
    margin-block-start: var(--space-1);
    color: var(--text-secondary);
    font-size: 10px;
    letter-spacing: .05em;
}

.lms-topbar-locale:hover,
.lms-topbar-locale:focus-visible {
    border-color: var(--brand-accent);
    box-shadow: var(--shadow-focus);
    outline: 0;
}

.lms-topbar-icon-button {
    inline-size: 40px;
    block-size: 40px;
    border-radius: var(--radius-md);
}

.lms-user-menu {
    position: relative;
}

.lms-user-menu-trigger {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    min-block-size: 44px;
    max-inline-size: 240px;
    padding: var(--space-1) var(--space-2) var(--space-1) var(--space-1);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-pill);
    background: var(--surface-card);
    color: var(--text-primary);
    cursor: pointer;
    transition: border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard), background var(--duration-fast) var(--ease-standard);
}

html[dir="rtl"] .lms-user-menu-trigger {
    padding-inline-start: var(--space-2);
    padding-inline-end: var(--space-1);
}

.lms-user-menu-trigger:hover,
.lms-user-menu-trigger:focus-visible,
.lms-user-menu.is-open .lms-user-menu-trigger {
    border-color: var(--brand-accent);
    outline: 0;
}

.lms-user-menu-trigger:focus-visible {
    box-shadow: var(--shadow-focus);
}

.lms-user-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: 34px;
    block-size: 34px;
    flex: 0 0 34px;
    border-radius: var(--radius-pill);
    background: var(--color-navy-900);
    color: var(--color-white);
    font-weight: 800;
}

.lms-user-meta {
    display: flex;
    flex-direction: column;
    min-inline-size: 0;
    text-align: start;
}

.lms-user-meta strong,
.lms-user-meta small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lms-user-meta strong {
    font-size: var(--font-size-body-sm);
    line-height: var(--line-height-body-sm);
}

.lms-user-meta small {
    color: var(--text-secondary);
    font-size: 11px;
    line-height: 14px;
}

.lms-user-menu-chevron {
    flex: 0 0 auto;
    color: var(--text-secondary);
    transition: transform var(--duration-base) var(--ease-standard);
}

.lms-user-menu.is-open .lms-user-menu-chevron {
    transform: rotate(180deg);
}

.lms-user-menu-panel {
    position: absolute;
    inset-block-start: calc(100% + var(--space-2));
    inset-inline-end: 0;
    inline-size: 260px;
    padding: var(--space-2);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-lg);
    background: var(--surface-card);
    box-shadow: var(--shadow-lg);
    z-index: 40;
    animation: lms-slide-up var(--duration-base) var(--ease-standard) both;
}

.lms-user-menu-panel[hidden] {
    display: none;
}

.lms-user-menu-header {
    padding: var(--space-3);
    border-block-end: 1px solid var(--border-default);
    margin-block-end: var(--space-2);
}

.lms-user-menu-header strong,
.lms-user-menu-header small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lms-user-menu-header small {
    color: var(--text-secondary);
    margin-block-start: var(--space-1);
}

.lms-user-menu-item {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    inline-size: 100%;
    min-block-size: 40px;
    padding: var(--space-2) var(--space-3);
    border: 0;
    border-radius: var(--radius-md);
    background: transparent;
    color: var(--text-primary);
    text-decoration: none;
    font: inherit;
    font-size: var(--font-size-body-sm);
    line-height: var(--line-height-body-sm);
    font-weight: 700;
    cursor: pointer;
    text-align: start;
}

.lms-user-menu-item:hover,
.lms-user-menu-item:focus-visible {
    background: var(--color-neutral-100);
    outline: 0;
}

.lms-user-menu-item.is-danger {
    color: var(--color-danger-600);
}

@media (max-width: 1279px) {
    .lms-topbar {
        align-items: stretch;
        flex-direction: column;
    }

    .lms-topbar-main,
    .lms-topbar-actions {
        inline-size: 100%;
    }

    .lms-topbar-actions {
        justify-content: flex-start;
        overflow-x: auto;
        padding-block-end: var(--space-1);
    }
}

@media (max-width: 767px) {
    .lms-topbar {
        margin: calc(var(--space-4) * -1) calc(var(--space-4) * -1) var(--space-4);
        padding: var(--space-3) var(--space-4);
    }

    .lms-topbar-main {
        flex-direction: column;
        align-items: stretch;
        gap: var(--space-3);
    }

    .lms-topbar-search {
        min-inline-size: 0;
        max-inline-size: none;
        inline-size: 100%;
        flex-basis: auto;
    }

    .lms-topbar-action span,
    .lms-user-meta,
    .lms-user-menu-chevron {
        display: none;
    }

    .lms-user-menu-trigger {
        padding: var(--space-1);
    }

    .lms-user-menu-panel {
        inset-inline-end: auto;
        inset-inline-start: 0;
        inline-size: min(280px, calc(100vw - var(--space-8)));
    }
}
/* ---- End LMS Redesign Topbar Shell ---- */


/* ---- LMS Redesign Page Header Pattern ---- */
.lms-topbar-context {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    color: var(--text-secondary);
    font-size: var(--font-size-body-sm);
    line-height: var(--line-height-body-sm);
    font-weight: 700;
}

.lms-topbar-context small {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    color: var(--text-secondary);
    font-size: inherit;
    font-weight: 600;
}

.lms-topbar-context small::before {
    content: '/';
    color: var(--color-neutral-400);
}

.lms-page-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--space-5);
    margin-block-end: var(--space-6);
    padding: var(--space-5);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-xl);
    background: linear-gradient(135deg, rgba(10, 31, 56, .04), rgba(242, 113, 28, .06)), var(--surface-card);
    box-shadow: var(--shadow-xs);
}

.lms-page-header-main {
    display: flex;
    align-items: flex-start;
    gap: var(--space-4);
    min-inline-size: 0;
}

.lms-page-header-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: 48px;
    block-size: 48px;
    flex: 0 0 48px;
    border-radius: var(--radius-lg);
    background: var(--color-navy-900);
    color: var(--color-white);
    box-shadow: var(--shadow-sm);
}

.lms-page-header-copy {
    min-inline-size: 0;
}

.lms-page-header-eyebrow {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--space-2);
    margin-block-end: var(--space-1);
    color: var(--brand-accent-hover);
    font-size: var(--font-size-caption);
    line-height: var(--line-height-caption);
    font-weight: var(--font-weight-caption);
    letter-spacing: var(--letter-spacing-caption);
    text-transform: uppercase;
}

.lms-page-header-separator {
    color: var(--color-neutral-400);
}

.lms-page-header-title {
    margin: 0;
    color: var(--text-primary);
    font-family: var(--font-display);
    font-size: var(--font-size-display-lg);
    line-height: var(--line-height-display-lg);
    font-weight: var(--font-weight-display-lg);
    letter-spacing: -0.025em;
}

.lms-page-header-subtitle {
    max-inline-size: 72ch;
    margin: var(--space-1) 0 0;
    color: var(--text-secondary);
    font-size: var(--font-size-body);
    line-height: var(--line-height-body);
}

.lms-page-header-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--space-2);
    margin-block-start: var(--space-3);
    color: var(--text-secondary);
    font-size: var(--font-size-body-sm);
    line-height: var(--line-height-body-sm);
}

.lms-page-header-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: var(--space-2);
    flex: 0 0 auto;
}

.lms-page-header-actions:empty {
    display: none;
}

.lms-page-header-actions .lms-btn,
.lms-page-header-actions .lms-topbar-action,
.lms-page-header-actions .lms-icon-button {
    box-shadow: var(--shadow-xs);
}

@media (max-width: 1023px) {
    .lms-page-header {
        flex-direction: column;
        align-items: stretch;
    }

    .lms-page-header-actions {
        justify-content: flex-start;
    }
}

@media (max-width: 767px) {
    .lms-page-header {
        margin-block-end: var(--space-4);
        padding: var(--space-4);
        border-radius: var(--radius-lg);
    }

    .lms-page-header-main {
        gap: var(--space-3);
    }

    .lms-page-header-icon {
        inline-size: 40px;
        block-size: 40px;
        flex-basis: 40px;
        border-radius: var(--radius-md);
    }

    .lms-page-header-title {
        font-size: var(--font-size-h1);
        line-height: var(--line-height-h1);
    }
}
/* ---- End LMS Redesign Page Header Pattern ---- */


/* ---- LMS Redesign Content Container Conventions ---- */
.lms-content-container {
    inline-size: 100%;
    max-inline-size: 1560px;
    margin-inline: auto;
}

.lms-content-stack {
    display: flex;
    flex-direction: column;
    gap: var(--space-6);
}

.lms-content-stack > * {
    min-inline-size: 0;
}

.lms-content-section {
    min-inline-size: 0;
}

.lms-content-section--card {
    padding: var(--space-5);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-xl);
    background: var(--surface-card);
    box-shadow: var(--shadow-xs);
}

.lms-content-section--plain {
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.lms-content-section-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--space-4);
    padding-block-end: var(--space-4);
    margin-block-end: var(--space-4);
    border-block-end: 1px solid var(--border-default);
}

.lms-content-section-copy {
    min-inline-size: 0;
}

.lms-content-section-copy h2 {
    margin: 0;
    color: var(--text-primary);
    font-family: var(--font-display);
    font-size: var(--font-size-h2);
    line-height: var(--line-height-h2);
    font-weight: var(--font-weight-h2);
}

.lms-content-section-copy p {
    max-inline-size: 72ch;
    margin: var(--space-1) 0 0;
    color: var(--text-secondary);
    font-size: var(--font-size-body-sm);
    line-height: var(--line-height-body-sm);
}

.lms-content-section-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: var(--space-2);
    flex: 0 0 auto;
}

.lms-content-section-body {
    min-inline-size: 0;
}

.lms-content-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
    gap: var(--space-5);
    min-inline-size: 0;
}

.lms-content-grid--dense {
    gap: var(--space-3);
}

.lms-content-grid--2,
.lms-content-grid--3,
.lms-content-grid--4 {
    grid-template-columns: 1fr;
}

.lms-content-row {
    display: flex;
    align-items: stretch;
    gap: var(--space-5);
    min-inline-size: 0;
}

.lms-content-row > * {
    min-inline-size: 0;
}

.lms-content-row-main {
    flex: 1 1 auto;
}

.lms-content-row-aside {
    flex: 0 0 min(360px, 32%);
}

.lms-content-scroll-x {
    overflow-x: auto;
    max-inline-size: 100%;
    scrollbar-width: thin;
    scrollbar-color: var(--color-neutral-300) transparent;
}

.lms-content-scroll-x > table,
.lms-content-scroll-x > .lms-table {
    min-inline-size: 760px;
}

.lms-content-muted-panel {
    padding: var(--space-4);
    border: 1px dashed var(--border-default);
    border-radius: var(--radius-lg);
    background: var(--color-neutral-50);
    color: var(--text-secondary);
}

.lms-content-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    flex-wrap: wrap;
    margin-block-end: var(--space-4);
}

.lms-content-toolbar-group {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    flex-wrap: wrap;
    min-inline-size: 0;
}

.lms-content-density-compact .lms-content-stack {
    gap: var(--space-4);
}

.lms-content-density-compact .lms-content-section--card {
    padding: var(--space-4);
    border-radius: var(--radius-lg);
}

@media (min-width: 768px) {
    .lms-content-grid--2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lms-content-grid--3,
    .lms-content-grid--4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1024px) {
    .lms-content-grid--3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .lms-content-grid--4 {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 1023px) {
    .lms-content-row {
        flex-direction: column;
    }

    .lms-content-row-aside {
        flex-basis: auto;
    }
}

@media (max-width: 767px) {
    .lms-content-container {
        max-inline-size: none;
    }

    .lms-content-stack {
        gap: var(--space-4);
    }

    .lms-content-section--card {
        padding: var(--space-4);
        border-radius: var(--radius-lg);
    }

    .lms-content-section-header {
        flex-direction: column;
        gap: var(--space-3);
    }

    .lms-content-section-actions {
        justify-content: flex-start;
        inline-size: 100%;
    }

    .lms-content-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .lms-content-toolbar-group {
        inline-size: 100%;
    }
}
/* ---- End LMS Redesign Content Container Conventions ---- */




/* ---- LMS Redesign Buttons ---- */
.lms-btn,
button.lms-btn,
a.lms-btn {
    --btn-bg: var(--surface-card);
    --btn-color: var(--text-primary);
    --btn-border: var(--border-default);
    --btn-hover-bg: var(--color-neutral-100);
    --btn-hover-color: var(--text-primary);
    --btn-hover-border: var(--color-neutral-300);
    --btn-padding-block: var(--space-2);
    --btn-padding-inline: var(--space-4);
    --btn-min-block-size: 40px;
    --btn-radius: var(--radius-md);
    appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-2);
    min-inline-size: max-content;
    min-block-size: var(--btn-min-block-size);
    padding: var(--btn-padding-block) var(--btn-padding-inline);
    border: 1px solid var(--btn-border);
    border-radius: var(--btn-radius);
    background: var(--btn-bg);
    color: var(--btn-color);
    font-family: var(--font-body);
    font-size: var(--font-size-body-sm);
    line-height: var(--line-height-body-sm);
    font-weight: 700;
    letter-spacing: 0;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    user-select: none;
    vertical-align: middle;
    box-shadow: var(--shadow-xs);
    transition:
        background var(--duration-fast) var(--ease-standard),
        color var(--duration-fast) var(--ease-standard),
        border-color var(--duration-fast) var(--ease-standard),
        box-shadow var(--duration-fast) var(--ease-standard),
        transform var(--duration-fast) var(--ease-standard),
        opacity var(--duration-fast) var(--ease-standard);
}

.lms-btn:hover,
button.lms-btn:hover,
a.lms-btn:hover {
    background: var(--btn-hover-bg);
    color: var(--btn-hover-color);
    border-color: var(--btn-hover-border);
    text-decoration: none;
}

.lms-btn:active,
button.lms-btn:active,
a.lms-btn:active {
    transform: translateY(1px);
    box-shadow: var(--shadow-xs);
}

.lms-btn:focus-visible,
button.lms-btn:focus-visible,
a.lms-btn:focus-visible {
    outline: 0;
    box-shadow: var(--shadow-focus);
}

.lms-btn[disabled],
button.lms-btn[disabled],
.lms-btn.is-disabled,
a.lms-btn.is-disabled,
a.lms-btn[aria-disabled="true"] {
    opacity: .55;
    cursor: not-allowed;
    pointer-events: none;
    transform: none;
    box-shadow: none;
}

.lms-btn--primary {
    --btn-bg: var(--brand-accent);
    --btn-color: var(--color-white);
    --btn-border: var(--brand-accent);
    --btn-hover-bg: var(--brand-accent-hover);
    --btn-hover-color: var(--color-white);
    --btn-hover-border: var(--brand-accent-hover);
}

.lms-btn--secondary {
    --btn-bg: var(--surface-card);
    --btn-color: var(--text-primary);
    --btn-border: var(--border-default);
    --btn-hover-bg: var(--color-neutral-100);
    --btn-hover-color: var(--text-primary);
    --btn-hover-border: var(--color-neutral-300);
}

.lms-btn--ghost {
    --btn-bg: transparent;
    --btn-color: var(--text-primary);
    --btn-border: transparent;
    --btn-hover-bg: var(--color-neutral-100);
    --btn-hover-color: var(--text-primary);
    --btn-hover-border: transparent;
    box-shadow: none;
}

.lms-btn--soft {
    --btn-bg: var(--color-orange-100);
    --btn-color: var(--brand-accent-hover);
    --btn-border: var(--color-orange-100);
    --btn-hover-bg: color-mix(in srgb, var(--color-orange-100), var(--color-white) 22%);
    --btn-hover-color: var(--brand-accent-hover);
    --btn-hover-border: var(--color-orange-100);
}

.lms-btn--danger {
    --btn-bg: var(--color-danger-600);
    --btn-color: var(--color-white);
    --btn-border: var(--color-danger-600);
    --btn-hover-bg: color-mix(in srgb, var(--color-danger-600), var(--color-neutral-900) 12%);
    --btn-hover-color: var(--color-white);
    --btn-hover-border: color-mix(in srgb, var(--color-danger-600), var(--color-neutral-900) 12%);
}

.lms-btn--success {
    --btn-bg: var(--color-success-600);
    --btn-color: var(--color-white);
    --btn-border: var(--color-success-600);
    --btn-hover-bg: color-mix(in srgb, var(--color-success-600), var(--color-neutral-900) 12%);
    --btn-hover-color: var(--color-white);
    --btn-hover-border: color-mix(in srgb, var(--color-success-600), var(--color-neutral-900) 12%);
}

.lms-btn--warning {
    --btn-bg: var(--color-warning-600);
    --btn-color: var(--color-white);
    --btn-border: var(--color-warning-600);
    --btn-hover-bg: color-mix(in srgb, var(--color-warning-600), var(--color-neutral-900) 12%);
    --btn-hover-color: var(--color-white);
    --btn-hover-border: color-mix(in srgb, var(--color-warning-600), var(--color-neutral-900) 12%);
}

.lms-btn--on-navy {
    --btn-bg: rgba(255, 255, 255, .10);
    --btn-color: var(--text-on-navy);
    --btn-border: rgba(255, 255, 255, .18);
    --btn-hover-bg: rgba(255, 255, 255, .16);
    --btn-hover-color: var(--text-on-navy);
    --btn-hover-border: rgba(255, 255, 255, .28);
    box-shadow: none;
}

.lms-btn--xs {
    --btn-min-block-size: 30px;
    --btn-padding-block: var(--space-1);
    --btn-padding-inline: var(--space-2);
    border-radius: var(--radius-sm);
    font-size: 11px;
    line-height: 14px;
}

.lms-btn--sm {
    --btn-min-block-size: 34px;
    --btn-padding-block: var(--space-1);
    --btn-padding-inline: var(--space-3);
    border-radius: var(--radius-md);
    font-size: var(--font-size-body-sm);
    line-height: var(--line-height-body-sm);
}

.lms-btn--md {
    --btn-min-block-size: 40px;
    --btn-padding-block: var(--space-2);
    --btn-padding-inline: var(--space-4);
}

.lms-btn--lg {
    --btn-min-block-size: 48px;
    --btn-padding-block: var(--space-3);
    --btn-padding-inline: var(--space-5);
    border-radius: var(--radius-lg);
    font-size: var(--font-size-body);
    line-height: var(--line-height-body);
}

.lms-btn--block {
    inline-size: 100%;
}

.lms-btn--icon,
.lms-btn-icon-only {
    inline-size: var(--btn-min-block-size);
    min-inline-size: var(--btn-min-block-size);
    padding-inline: 0;
}

.lms-btn-icon,
.lms-btn .lms-icon {
    flex: 0 0 auto;
}

.lms-btn-label {
    min-inline-size: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.lms-btn-spinner {
    inline-size: 1em;
    block-size: 1em;
    flex: 0 0 1em;
    border: 2px solid currentColor;
    border-block-start-color: transparent;
    border-radius: var(--radius-pill);
    animation: lms-btn-spin var(--duration-slow) linear infinite;
}

.lms-btn.is-loading,
button.lms-btn.is-loading,
a.lms-btn.is-loading {
    cursor: progress;
}

@keyframes lms-btn-spin {
    to {
        transform: rotate(360deg);
    }
}

.lms-btn-group {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: var(--space-2);
    min-inline-size: 0;
}

.lms-btn-group--end {
    justify-content: flex-end;
}

.lms-btn-group--center {
    justify-content: center;
}

.lms-btn-group--nowrap {
    flex-wrap: nowrap;
}

.lms-btn-row {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    flex-wrap: wrap;
}

.lms-action-link {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    color: var(--brand-accent-hover);
    font-size: var(--font-size-body-sm);
    line-height: var(--line-height-body-sm);
    font-weight: 700;
    text-decoration: none;
}

.lms-action-link:hover,
.lms-action-link:focus-visible {
    color: var(--brand-accent);
    text-decoration: underline;
    text-underline-offset: 3px;
    outline: 0;
}

.lms-action-link:focus-visible {
    box-shadow: var(--shadow-focus);
    border-radius: var(--radius-sm);
}

@media (prefers-reduced-motion: reduce) {
    .lms-btn-spinner {
        animation-duration: 1.2s;
    }
}

@media (max-width: 767px) {
    .lms-btn-group,
    .lms-btn-row {
        inline-size: 100%;
    }

    .lms-btn-group--mobile-stack {
        align-items: stretch;
        flex-direction: column;
    }

    .lms-btn-group--mobile-stack .lms-btn {
        inline-size: 100%;
    }
}
/* ---- End LMS Redesign Buttons ---- */












/* ---- LMS Redesign Form Fields ---- */
.lms-form-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: var(--space-4); min-inline-size: 0; }
.lms-form-grid--dense { gap: var(--space-3); }
.lms-form-grid--2, .lms-form-grid--3 { grid-template-columns: 1fr; }
.lms-form-field { display: flex; flex-direction: column; gap: var(--space-2); min-inline-size: 0; }
.lms-form-label { display: inline-flex; align-items: center; gap: var(--space-1); color: var(--text-primary); font-size: var(--font-size-body-sm); line-height: var(--line-height-body-sm); font-weight: 700; }
.lms-form-label strong { color: var(--color-danger-600); font-weight: 800; }
.lms-form-control-shell, .lms-form-select-shell { position: relative; display: flex; align-items: center; min-inline-size: 0; }
.lms-form-control, input.lms-form-control, select.lms-form-control, textarea.lms-form-control, .lms-input, .lms-select, .lms-textarea { inline-size: 100%; min-block-size: 42px; padding: var(--space-2) var(--space-3); border: 1px solid var(--border-default); border-radius: var(--radius-md); background: var(--surface-card); color: var(--text-primary); font-family: var(--font-body); font-size: var(--font-size-body); line-height: var(--line-height-body); box-shadow: var(--shadow-xs); transition: background var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), opacity var(--duration-fast) var(--ease-standard); }
.lms-form-control::placeholder, .lms-input::placeholder, .lms-textarea::placeholder { color: var(--color-neutral-400); }
.lms-form-control:hover, .lms-input:hover, .lms-select:hover, .lms-textarea:hover { border-color: var(--color-neutral-300); }
.lms-form-control:focus, .lms-form-control:focus-visible, .lms-input:focus, .lms-input:focus-visible, .lms-select:focus, .lms-select:focus-visible, .lms-textarea:focus, .lms-textarea:focus-visible { outline: 0; border-color: var(--brand-accent); box-shadow: var(--shadow-focus); }
.lms-form-control[aria-invalid="true"], .lms-form-control.has-error, .lms-form-control-shell.has-error .lms-form-control, .lms-form-select-shell.has-error .lms-form-control, .lms-form-field.has-error .lms-form-control, .lms-input.has-error, .lms-select.has-error, .lms-textarea.has-error { border-color: var(--color-danger-600); }
.lms-form-control[disabled], .lms-form-control[readonly], .lms-input[disabled], .lms-input[readonly], .lms-select[disabled], .lms-textarea[disabled], .lms-textarea[readonly] { background: var(--color-neutral-100); color: var(--text-secondary); cursor: not-allowed; opacity: .75; box-shadow: none; }
.lms-form-control[readonly], .lms-input[readonly], .lms-textarea[readonly] { cursor: default; }
.lms-form-textarea, textarea.lms-form-control, .lms-textarea { min-block-size: 112px; resize: vertical; }
.lms-form-select, select.lms-form-control, .lms-select { appearance: none; padding-inline-end: var(--space-10); cursor: pointer; }
html[dir="rtl"] .lms-form-select, html[dir="rtl"] select.lms-form-control, html[dir="rtl"] .lms-select { padding-inline-start: var(--space-10); padding-inline-end: var(--space-3); }
.lms-form-select[multiple] { min-block-size: 132px; padding-inline-end: var(--space-3); }
.lms-form-select-indicator { position: absolute; inset-inline-end: var(--space-3); display: inline-flex; align-items: center; justify-content: center; color: var(--text-secondary); pointer-events: none; }
html[dir="rtl"] .lms-form-select-indicator { inset-inline-start: var(--space-3); inset-inline-end: auto; }
.lms-form-control-icon { position: absolute; inset-inline-start: var(--space-3); color: var(--text-secondary); pointer-events: none; z-index: 1; }
.lms-form-control-shell--with-icon .lms-form-control { padding-inline-start: var(--space-10); }
html[dir="rtl"] .lms-form-control-shell--with-icon .lms-form-control { padding-inline-start: var(--space-3); padding-inline-end: var(--space-10); }
html[dir="rtl"] .lms-form-control-icon { inset-inline-start: auto; inset-inline-end: var(--space-3); }
.lms-form-affix { position: absolute; z-index: 1; display: inline-flex; align-items: center; block-size: calc(100% - 2px); padding-inline: var(--space-3); color: var(--text-secondary); font-size: var(--font-size-body-sm); line-height: var(--line-height-body-sm); font-weight: 700; pointer-events: none; }
.lms-form-affix--prefix { inset-inline-start: 1px; border-start-start-radius: var(--radius-md); border-end-start-radius: var(--radius-md); border-inline-end: 1px solid var(--border-default); background: var(--color-neutral-50); }
.lms-form-affix--suffix { inset-inline-end: 1px; border-start-end-radius: var(--radius-md); border-end-end-radius: var(--radius-md); border-inline-start: 1px solid var(--border-default); background: var(--color-neutral-50); }
.lms-form-control-shell--with-prefix .lms-form-control { padding-inline-start: calc(var(--space-12) + var(--space-2)); }
.lms-form-control-shell--with-suffix .lms-form-control { padding-inline-end: calc(var(--space-12) + var(--space-2)); }
.lms-form-control-shell--sm .lms-form-control { min-block-size: 34px; padding-block: var(--space-1); font-size: var(--font-size-body-sm); line-height: var(--line-height-body-sm); }
.lms-form-control-shell--lg .lms-form-control { min-block-size: 50px; padding-block: var(--space-3); border-radius: var(--radius-lg); }
.lms-form-hint, .lms-form-error { margin: 0; font-size: var(--font-size-body-sm); line-height: var(--line-height-body-sm); }
.lms-form-hint { color: var(--text-secondary); }
.lms-form-error { display: flex; align-items: flex-start; gap: var(--space-1); color: var(--color-danger-600); font-weight: 700; }
.lms-form-error::before { content: '!'; display: inline-flex; align-items: center; justify-content: center; inline-size: 16px; block-size: 16px; flex: 0 0 16px; margin-block-start: 1px; border-radius: var(--radius-pill); background: var(--color-danger-600); color: var(--color-white); font-size: 11px; line-height: 1; font-weight: 800; }
.lms-choice-field { display: flex; flex-direction: column; gap: var(--space-2); min-inline-size: 0; }
.lms-choice { display: inline-flex; align-items: flex-start; gap: var(--space-3); color: var(--text-primary); cursor: pointer; }
.lms-choice input { position: absolute; inline-size: 1px; block-size: 1px; opacity: 0; pointer-events: none; }
.lms-choice-box { position: relative; display: inline-flex; align-items: center; justify-content: center; inline-size: 20px; block-size: 20px; flex: 0 0 20px; margin-block-start: 1px; border: 1px solid var(--border-default); border-radius: var(--radius-sm); background: var(--surface-card); box-shadow: var(--shadow-xs); transition: background var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard); }
.lms-choice--radio .lms-choice-box { border-radius: var(--radius-pill); }
.lms-choice input:checked + .lms-choice-box { border-color: var(--brand-accent); background: var(--brand-accent); }
.lms-choice input:checked + .lms-choice-box::after { content: ''; inline-size: 9px; block-size: 5px; border-block-end: 2px solid var(--color-white); border-inline-start: 2px solid var(--color-white); transform: rotate(-45deg) translateY(-1px); }
.lms-choice--radio input:checked + .lms-choice-box::after { inline-size: 8px; block-size: 8px; border: 0; border-radius: var(--radius-pill); background: var(--color-white); transform: none; }
.lms-choice input:focus-visible + .lms-choice-box { box-shadow: var(--shadow-focus); }
.lms-choice input:disabled + .lms-choice-box, .lms-choice input:disabled ~ .lms-choice-copy { opacity: .55; cursor: not-allowed; }
.lms-choice-copy { display: flex; flex-direction: column; gap: var(--space-1); min-inline-size: 0; }
.lms-choice-label { font-size: var(--font-size-body-sm); line-height: var(--line-height-body-sm); font-weight: 700; }
.lms-choice-copy small { color: var(--text-secondary); font-size: var(--font-size-body-sm); line-height: var(--line-height-body-sm); }
.lms-form-inline { display: flex; align-items: flex-end; gap: var(--space-3); flex-wrap: wrap; }
.lms-form-inline .lms-form-field { flex: 1 1 220px; }
@media (min-width: 768px) { .lms-form-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .lms-form-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .lms-form-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 767px) { .lms-form-grid, .lms-form-grid--2, .lms-form-grid--3 { grid-template-columns: 1fr; } .lms-form-inline { align-items: stretch; flex-direction: column; } .lms-form-inline .lms-form-field { flex-basis: auto; } }
/* ---- End LMS Redesign Form Fields ---- */








/* ---- LMS Redesign Tables ---- */
.lms-table-wrap {
    inline-size: 100%;
    max-inline-size: 100%;
    overflow-x: auto;
    border: 1px solid var(--border-default);
    border-radius: var(--radius-xl);
    background: var(--surface-card);
    box-shadow: var(--shadow-xs);
    scrollbar-width: thin;
    scrollbar-color: var(--color-neutral-300) transparent;
}

.lms-table-wrap:focus-within {
    box-shadow: var(--shadow-focus);
}

.lms-table,
table.lms-table {
    inline-size: 100%;
    min-inline-size: 760px;
    border-collapse: separate;
    border-spacing: 0;
    background: var(--surface-card);
    color: var(--text-primary);
    font-size: var(--text-body-sm-size);
    line-height: var(--text-body-sm-line);
}

.lms-table caption {
    padding: var(--space-3) var(--space-4);
    color: var(--text-secondary);
    text-align: start;
    font-size: var(--text-body-sm-size);
    line-height: var(--text-body-sm-line);
}

.lms-table thead th,
.lms-table th {
    position: relative;
    padding: var(--space-3) var(--space-4);
    border-block-end: 1px solid var(--border-default);
    background: var(--color-neutral-50);
    color: var(--text-secondary);
    font-size: var(--text-caption-size);
    line-height: var(--text-caption-line);
    font-weight: var(--text-caption-weight);
    letter-spacing: var(--text-caption-tracking);
    text-transform: uppercase;
    text-align: start;
    white-space: nowrap;
}

.lms-table tbody tr {
        block-size: 48px;
    }


    .lms-table tbody td,
.lms-table td {
    padding: var(--space-3) var(--space-4);
    border-block-end: 1px solid var(--border-default);
    color: var(--text-primary);
    vertical-align: middle;
    text-align: start;
}

.lms-table tbody tr:last-child td {
    border-block-end: 0;
}

.lms-table--orders tbody tr,

    .lms-table--relaxed tbody tr {
        block-size: 56px;
    }


    .lms-table--compact tbody tr {
        block-size: 44px;
    }


    .lms-table--striped tbody tr:nth-child(even) td {
    background: var(--color-neutral-50);
}

.lms-table--hover tbody tr {
    transition: background var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard);
}

.lms-table--hover tbody tr:hover td {
    background: var(--color-neutral-50);
}

.lms-table--compact thead th,
.lms-table--compact th,
.lms-table--compact tbody td,
.lms-table--compact td {
    padding: var(--space-2) var(--space-3);
}

.lms-table--relaxed thead th,
.lms-table--relaxed th,
.lms-table--relaxed tbody td,
.lms-table--relaxed td {
    padding: var(--space-4) var(--space-5);
}

.lms-table--sticky thead th {
    position: sticky;
    inset-block-start: 0;
    z-index: 2;
    box-shadow: 0 1px 0 var(--border-default);
}

.lms-table th:first-child,
.lms-table td:first-child {
    padding-inline-start: var(--space-5);
}

.lms-table th:last-child,
.lms-table td:last-child {
    padding-inline-end: var(--space-5);
}

.lms-table .is-numeric,
.lms-table .lms-table-cell--numeric,
.lms-table td[data-type="number"],
.lms-table td[data-type="money"] {
    direction: ltr;
    font-variant-numeric: tabular-nums;
    text-align: end;
    unicode-bidi: embed;
}

.lms-table .is-nowrap,
.lms-table-cell--nowrap {
    white-space: nowrap;
}

.lms-table .is-muted,
.lms-table-cell--muted {
    color: var(--text-secondary);
}

.lms-table .is-truncated,
.lms-table-cell--truncate {
    max-inline-size: 280px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lms-table-actions,
.lms-table-cell--actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--space-2);
    white-space: nowrap;
}

.lms-table-row-link {
    color: inherit;
    text-decoration: none;
    font-weight: 700;
}

.lms-table-row-link:hover,
.lms-table-row-link:focus-visible {
    color: var(--brand-accent-hover);
    text-decoration: underline;
    text-underline-offset: 3px;
    outline: 0;
}

.lms-table-sort {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    color: inherit;
    text-decoration: none;
}

.lms-table-sort:hover,
.lms-table-sort:focus-visible {
    color: var(--brand-accent-hover);
    outline: 0;
}

.lms-table-sort[aria-sort="ascending"],

    .lms-table-sort[aria-sort="descending"],

    .lms-table-sort.is-asc,

    .lms-table-sort.is-desc {
        font-weight: 700;
    }


    .lms-table-sort[aria-sort="ascending"]::after,
.lms-table-sort.is-asc::after {
    content: '↑';
    color: var(--brand-accent);
    font-size: 12px;
}

.lms-table-sort[aria-sort="descending"]::after,
.lms-table-sort.is-desc::after {
    content: '↓';
    color: var(--brand-accent);
    font-size: 12px;
}

.lms-table-status-dot {
    display: inline-block;
    inline-size: 8px;
    block-size: 8px;
    border-radius: var(--radius-pill);
    background: var(--text-secondary);
}

.lms-table-status-dot--success { background: var(--color-success-600); }
.lms-table-status-dot--warning { background: var(--color-warning-600); }
.lms-table-status-dot--danger { background: var(--color-danger-600); }
.lms-table-status-dot--info { background: var(--color-info-600); }
.lms-table-status-dot--process { background: var(--color-process-600); }
.lms-table-status-dot--ready { background: var(--color-ready-600); }

.lms-table-toolbar {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--space-4);
    margin-block-end: var(--space-4);
}

.lms-table-toolbar-copy {
    min-inline-size: 0;
}

.lms-table-toolbar-copy h2 {
    margin: 0;
    color: var(--text-primary);
    font-family: var(--font-display);
    font-size: var(--text-h2-size);
    line-height: var(--text-h2-line);
    font-weight: var(--text-h2-weight);
}

.lms-table-toolbar-copy p {
    max-inline-size: 72ch;
    margin: var(--space-1) 0 0;
    color: var(--text-secondary);
    font-size: var(--text-body-sm-size);
    line-height: var(--text-body-sm-line);
}

.lms-table-toolbar-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: var(--space-2);
    flex: 0 0 auto;
}

.lms-table-pagination {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: var(--space-3);
        margin-block-start: var(--space-4);
        color: var(--text-secondary);
        font-size: var(--text-body-sm-size);
        line-height: var(--text-body-sm-line);
    }


    .lms-table-page-info {
        margin-inline-end: auto;
        color: var(--text-secondary);
    }


    .lms-table-page-size {
        display: inline-flex;
        align-items: center;
        gap: var(--space-2);
        white-space: nowrap;
    }


    .lms-table-page-size select {
        min-block-size: 34px;
        padding: var(--space-1) var(--space-3);
        border: 1px solid var(--border-default);
        border-radius: var(--radius-sm);
        background: var(--surface-card);
        color: var(--text-primary);
        font: inherit;
    }


    .lms-table-pagination-actions {
        display: inline-flex;
        align-items: center;
        gap: var(--space-2);
    }


    .lms-table-empty,
.lms-empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--space-3);
    padding: var(--space-10) var(--space-5);
    border: 1px dashed var(--border-default);
    border-radius: var(--radius-xl);
    background: var(--color-neutral-50);
    color: var(--text-secondary);
    text-align: center;
}

.lms-table-wrap .lms-table-empty {
    border: 0;
    border-block-start: 1px dashed var(--border-default);
    border-radius: 0;
}

.lms-empty-state-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: 48px;
    block-size: 48px;
    border-radius: var(--radius-lg);
    background: var(--color-orange-100);
    color: var(--brand-accent-hover);
}

.lms-empty-state-copy h3 {
    margin: 0;
    color: var(--text-primary);
    font-family: var(--font-display);
    font-size: var(--text-h3-size);
    line-height: var(--text-h3-line);
    font-weight: var(--text-h3-weight);
}

.lms-empty-state-copy p {
    max-inline-size: 52ch;
    margin: var(--space-1) 0 0;
    color: var(--text-secondary);
    font-size: var(--text-body-sm-size);
    line-height: var(--text-body-sm-line);
}

.lms-empty-state-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-2);
    flex-wrap: wrap;
}

.lms-table-card-list {
    display: none;
    flex-direction: column;
    gap: var(--space-3);
}

.lms-table-card {
    padding: var(--space-4);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-lg);
    background: var(--surface-card);
    box-shadow: var(--shadow-xs);
}

.lms-table-card-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--space-3);
    padding-block: var(--space-2);
    border-block-end: 1px solid var(--border-default);
}

.lms-table-card-row:last-child {
    border-block-end: 0;
}

.lms-table-card-label {
    color: var(--text-secondary);
    font-size: var(--text-caption-size);
    line-height: var(--text-caption-line);
    font-weight: var(--text-caption-weight);
    letter-spacing: var(--text-caption-tracking);
    text-transform: uppercase;
}

.lms-table-card-value {
    color: var(--text-primary);
    font-size: var(--text-body-sm-size);
    line-height: var(--text-body-sm-line);
    font-weight: 700;
    text-align: end;
}

@media (max-width: 1023px) {
    .lms-table-toolbar {
        flex-direction: column;
    }

    .lms-table-toolbar-actions {
        justify-content: flex-start;
        inline-size: 100%;
    }
}

@media (max-width: 767px) {
    .lms-table-wrap {
        border-radius: var(--radius-lg);
    }

    .lms-table,
    table.lms-table {
        min-inline-size: 680px;
    }

    .lms-table thead th,
    .lms-table th,
    .lms-table tbody tr {
        block-size: 48px;
    }


    .lms-table tbody td,
    .lms-table td {
        padding: var(--space-2) var(--space-3);
    }

    .lms-table th:first-child,
    .lms-table td:first-child {
        padding-inline-start: var(--space-3);
    }

    .lms-table th:last-child,
    .lms-table td:last-child {
        padding-inline-end: var(--space-3);
    }

    .lms-table-pagination {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: var(--space-3);
        margin-block-start: var(--space-4);
        color: var(--text-secondary);
        font-size: var(--text-body-sm-size);
        line-height: var(--text-body-sm-line);
    }


    .lms-table-page-info {
        margin-inline-end: auto;
        color: var(--text-secondary);
    }


    .lms-table-page-size {
        display: inline-flex;
        align-items: center;
        gap: var(--space-2);
        white-space: nowrap;
    }


    .lms-table-page-size select {
        min-block-size: 34px;
        padding: var(--space-1) var(--space-3);
        border: 1px solid var(--border-default);
        border-radius: var(--radius-sm);
        background: var(--surface-card);
        color: var(--text-primary);
        font: inherit;
    }


    .lms-table-pagination-actions {
        display: inline-flex;
        align-items: center;
        gap: var(--space-2);
    }


    .lms-table-empty,
    .lms-empty-state {
        padding: var(--space-8) var(--space-4);
        border-radius: var(--radius-lg);
    }
}
/* ---- End LMS Redesign Tables ---- */

/* ---- LMS Redesign Tables Completion Overrides ---- */
.lms-table, table.lms-table { font-family: var(--font-body); font-size: var(--text-body-size); line-height: var(--text-body-line); font-weight: var(--text-body-weight); }
.lms-table thead th, .lms-table th { background: var(--color-neutral-100); color: var(--color-neutral-600); font-size: var(--text-caption-size); line-height: var(--text-caption-line); font-weight: var(--text-caption-weight); letter-spacing: var(--text-caption-tracking); }
.lms-table tbody tr { block-size: 48px; }
.lms-table--orders tbody tr, .lms-table--relaxed tbody tr { block-size: 56px; }
.lms-table--compact tbody tr { block-size: 44px; }
.lms-table--hover tbody tr:hover td { background: var(--color-neutral-50); }
.lms-table .is-numeric, .lms-table .lms-table-cell--numeric, .lms-table td[data-type='number'], .lms-table td[data-type='money'] { direction: ltr; unicode-bidi: embed; font-family: var(--font-mono); font-size: var(--text-data-size); line-height: var(--text-data-line); font-weight: var(--text-data-weight); font-variant-numeric: tabular-nums; text-align: end; }
.lms-table-sort[aria-sort='ascending'], .lms-table-sort[aria-sort='descending'], .lms-table-sort.is-asc, .lms-table-sort.is-desc { font-weight: 700; }
.lms-empty-state-icon { background: var(--color-neutral-100); color: var(--color-neutral-400); }
.lms-empty-state-copy h3 { font-size: var(--text-h2-size); line-height: var(--text-h2-line); font-weight: var(--text-h2-weight); }
.lms-table-pagination { display: flex; align-items: center; justify-content: flex-end; gap: var(--space-3); margin-block-start: var(--space-4); color: var(--text-secondary); font-size: var(--text-body-sm-size); line-height: var(--text-body-sm-line); }
.lms-table-page-info { margin-inline-end: auto; color: var(--text-secondary); }
.lms-table-page-size { display: inline-flex; align-items: center; gap: var(--space-2); white-space: nowrap; }
.lms-table-page-size select { min-block-size: 34px; padding: var(--space-1) var(--space-3); border: 1px solid var(--border-default); border-radius: var(--radius-sm); background: var(--surface-card); color: var(--text-primary); font: inherit; }
.lms-table-pagination-actions { display: inline-flex; align-items: center; gap: var(--space-2); }
@media (max-width: 1023px) { .lms-table-pagination { flex-direction: column; align-items: stretch; } .lms-table-pagination-actions { justify-content: flex-start; inline-size: 100%; } .lms-table-page-info { margin-inline-end: 0; } }
/* ---- End LMS Redesign Tables Completion Overrides ---- */





/* ---- LMS Redesign Status Badges / Chips ---- */
.lms-status-badge,
.lms-chip {
    --status-bg: var(--color-neutral-100);
    --status-color: var(--color-neutral-700);
    --status-border: var(--color-neutral-200);
    --status-dot: var(--color-neutral-500);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-1);
    max-inline-size: 100%;
    border: 1px solid var(--status-border);
    background: var(--status-bg);
    color: var(--status-color);
    font-family: var(--font-body);
    font-weight: 800;
    text-decoration: none;
    vertical-align: middle;
    white-space: nowrap;
}

.lms-status-badge {
    min-block-size: 24px;
    padding: 2px var(--space-2);
    font-size: var(--text-caption-size);
    line-height: var(--text-caption-line);
    letter-spacing: .01em;
}

/* sizes / shapes */
.lms-status-badge--sm { min-block-size: 20px; padding-inline: var(--space-2); font-size: 10px; line-height: 12px; }
.lms-status-badge--md { min-block-size: 24px; }
.lms-status-badge--lg { min-block-size: 30px; padding-inline: var(--space-3); font-size: var(--text-body-sm-size); line-height: var(--text-body-sm-line); }
.lms-status-badge--pill { border-radius: var(--radius-pill); }
.lms-status-badge--rounded { border-radius: var(--radius-md); }

.lms-status-badge-label,
.lms-chip-label {
    min-inline-size: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.lms-status-badge-dot {
    inline-size: 8px;
    block-size: 8px;
    flex: 0 0 8px;
    border-radius: var(--radius-pill);
    background: var(--status-dot);
}

.lms-status-badge-icon,
.lms-chip-icon {
    inline-size: var(--icon-xs);
    block-size: var(--icon-xs);
    flex: 0 0 auto;
}

/* tones */
.lms-status-badge--neutral,
.lms-chip--neutral { --status-bg: var(--color-neutral-100); --status-color: var(--color-neutral-700); --status-border: var(--color-neutral-200); --status-dot: var(--color-neutral-500); }
.lms-status-badge--success,
.lms-chip--success { --status-bg: var(--color-success-100); --status-color: var(--color-success-600); --status-border: color-mix(in srgb, var(--color-success-600), var(--color-white) 78%); --status-dot: var(--color-success-600); }
.lms-status-badge--warning,
.lms-chip--warning { --status-bg: var(--color-warning-100); --status-color: var(--color-warning-600); --status-border: color-mix(in srgb, var(--color-warning-600), var(--color-white) 76%); --status-dot: var(--color-warning-600); }
.lms-status-badge--danger,
.lms-chip--danger { --status-bg: var(--color-danger-100); --status-color: var(--color-danger-600); --status-border: color-mix(in srgb, var(--color-danger-600), var(--color-white) 78%); --status-dot: var(--color-danger-600); }
.lms-status-badge--info,
.lms-chip--info { --status-bg: var(--color-info-100); --status-color: var(--color-info-600); --status-border: color-mix(in srgb, var(--color-info-600), var(--color-white) 78%); --status-dot: var(--color-info-600); }
.lms-status-badge--process,
.lms-chip--process { --status-bg: color-mix(in srgb, var(--color-process-500), var(--color-white) 86%); --status-color: color-mix(in srgb, var(--color-process-500), var(--color-neutral-900) 26%); --status-border: color-mix(in srgb, var(--color-process-500), var(--color-white) 70%); --status-dot: var(--color-process-500); }
.lms-status-badge--ready,
.lms-chip--ready { --status-bg: color-mix(in srgb, var(--color-ready-500), var(--color-white) 88%); --status-color: color-mix(in srgb, var(--color-ready-500), var(--color-neutral-900) 24%); --status-border: color-mix(in srgb, var(--color-ready-500), var(--color-white) 72%); --status-dot: var(--color-ready-500); }
.lms-chip--accent { --status-bg: var(--color-orange-100); --status-color: var(--brand-accent-hover); --status-border: color-mix(in srgb, var(--brand-accent), var(--color-white) 76%); --status-dot: var(--brand-accent); }

/* chips */
.lms-chip { min-block-size: 32px; padding: var(--space-1) var(--space-3); border-radius: var(--radius-pill); font-size: var(--text-body-sm-size); line-height: var(--text-body-sm-line); }
.lms-chip--sm { min-block-size: 26px; padding-inline: var(--space-2); font-size: var(--text-caption-size); line-height: var(--text-caption-line); }
.lms-chip--md { min-block-size: 32px; }
.lms-chip--lg { min-block-size: 38px; padding-inline: var(--space-4); font-size: var(--text-body-size); line-height: var(--text-body-line); }

.lms-chip-remove {
    appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: 18px;
    block-size: 18px;
    margin-inline-end: calc(var(--space-1) * -1);
    border: 0;
    border-radius: var(--radius-pill);
    background: color-mix(in srgb, currentColor, transparent 88%);
    color: currentColor;
    cursor: pointer;
    font: inherit;
    line-height: 1;
}

.lms-chip-remove:hover,
.lms-chip-remove:focus-visible { background: color-mix(in srgb, currentColor, transparent 78%); outline: 0; }
.lms-chip-remove:focus-visible { box-shadow: var(--shadow-focus); }

/* legacy badge compat */
.lms-badge-success { background: var(--color-success-100); color: var(--color-success-600); border-color: color-mix(in srgb, var(--color-success-600), var(--color-white) 78%); }
.lms-badge-danger { background: var(--color-danger-100); color: var(--color-danger-600); border-color: color-mix(in srgb, var(--color-danger-600), var(--color-white) 78%); }
.lms-badge-warning { background: var(--color-warning-100); color: var(--color-warning-600); border-color: color-mix(in srgb, var(--color-warning-600), var(--color-white) 76%); }
.lms-badge-primary { background: var(--color-info-100); color: var(--color-info-600); border-color: color-mix(in srgb, var(--color-info-600), var(--color-white) 78%); }

/* groups */
.lms-status-list,
.lms-chip-list { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-2); }

@media (max-width: 767px) { .lms-status-list, .lms-chip-list { gap: var(--space-1); } }

/* ---- End LMS Redesign Status Badges / Chips ---- */


/* ---- LMS Redesign P2 Components ---- */
.lms-status-badge,.lms-chip{display:inline-flex;align-items:center;gap:var(--space-1);border-radius:var(--radius-pill);font-size:var(--text-body-sm-size);line-height:var(--text-body-sm-line);font-weight:600;white-space:nowrap;vertical-align:middle}.lms-status-badge--sm,.lms-chip--sm{padding:2px var(--space-2)}.lms-status-badge--md,.lms-chip--md{padding:var(--space-1) var(--space-3)}.lms-status-badge--lg,.lms-chip--lg{padding:6px var(--space-4)}.lms-status-badge--rounded{border-radius:var(--radius-sm)}.lms-status-badge-dot{inline-size:8px;block-size:8px;border-radius:999px;background:currentColor}.lms-status-badge-icon,.lms-chip-icon{inline-size:14px;block-size:14px}.lms-status-badge--neutral,.lms-chip--neutral{background:var(--color-neutral-100);color:var(--color-neutral-600)}.lms-status-badge--info,.lms-chip--info{background:var(--color-info-100);color:var(--color-info-600)}.lms-status-badge--process,.lms-chip--process{background:rgba(14,165,164,.12);color:var(--color-process-500)}.lms-status-badge--hot,.lms-chip--hot{background:var(--color-orange-100);color:var(--color-orange-600)}.lms-status-badge--ready,.lms-chip--ready{background:rgba(124,92,252,.12);color:var(--color-ready-500)}.lms-status-badge--success,.lms-chip--success{background:var(--color-success-100);color:var(--color-success-600)}.lms-status-badge--danger,.lms-chip--danger{background:var(--color-danger-100);color:var(--color-danger-600)}.lms-status-badge--warning,.lms-chip--warning{background:var(--color-warning-100);color:var(--color-warning-600)}.lms-chip--accent{background:var(--color-orange-100);color:var(--color-orange-600)}.lms-chip-remove{border:0;background:transparent;color:currentColor;cursor:pointer;inline-size:18px;block-size:18px;border-radius:999px;display:inline-grid;place-items:center}.lms-chip-remove:focus-visible{outline:0;box-shadow:var(--shadow-focus)}
.lms-modal-backdrop{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;background:rgba(15,23,32,.5);padding:var(--space-6);opacity:0;transition:opacity var(--duration-base)}.lms-modal-backdrop.is-open{display:flex;opacity:1}.lms-modal{width:min(100%,640px);max-block-size:min(90vh,900px);overflow:auto;background:var(--surface-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);transform:scale(.98);transition:transform var(--duration-base)}.lms-modal-backdrop.is-open .lms-modal{transform:scale(1)}.lms-modal--sm{width:min(100%,480px)}.lms-modal--md{width:min(100%,640px)}.lms-modal--lg{width:min(100%,880px)}.lms-modal--xl{width:min(100%,1080px)}.lms-modal-header,.lms-modal-footer{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-5) var(--space-6)}.lms-modal-header{justify-content:space-between;border-bottom:1px solid var(--border-default)}.lms-modal-header h2{margin:0;font:var(--text-h1-weight) var(--text-h1-size)/var(--text-h1-line) var(--font-display)}.lms-modal-body{padding:var(--space-6)}.lms-modal-footer{justify-content:flex-end;border-top:1px solid var(--border-default)}.lms-modal-close{border:0;background:transparent;border-radius:var(--radius-sm);font-size:24px;line-height:1;color:var(--text-secondary);cursor:pointer}.lms-modal-close:focus-visible{outline:0;box-shadow:var(--shadow-focus)}
.lms-toast-stack{position:fixed;inset-block-end:var(--space-6);inset-inline-end:var(--space-6);z-index:1100;display:grid;gap:var(--space-3);inline-size:min(380px,calc(100vw - var(--space-8)))}.lms-toast{position:relative;display:grid;grid-template-columns:8px 1fr auto;gap:var(--space-3);align-items:start;padding:var(--space-4);background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-md);overflow:hidden}.lms-toast:before{content:"";position:absolute;inset-block:0;inset-inline-start:0;inline-size:4px;background:var(--color-info-500)}.lms-toast--success:before{background:var(--color-success-500)}.lms-toast--danger:before{background:var(--color-danger-500)}.lms-toast--warning:before{background:var(--color-warning-500)}.lms-toast-icon{inline-size:8px;block-size:8px;margin-block-start:6px;border-radius:999px;background:var(--color-info-500)}.lms-toast--success .lms-toast-icon{background:var(--color-success-500)}.lms-toast--danger .lms-toast-icon{background:var(--color-danger-500)}.lms-toast--warning .lms-toast-icon{background:var(--color-warning-500)}.lms-toast-body{font-size:var(--text-body-sm-size);line-height:var(--text-body-sm-line);color:var(--text-primary)}.lms-toast-close{border:0;background:transparent;color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm)}
.lms-stat-card{display:block;text-decoration:none;color:inherit;background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-xl);box-shadow:var(--shadow-xs);padding:var(--space-6);min-block-size:148px}.lms-stat-card:hover{box-shadow:var(--shadow-md)}.lms-stat-card-top{display:flex;justify-content:space-between;gap:var(--space-3);align-items:start}.lms-stat-card-label{font-size:var(--text-body-sm-size);line-height:var(--text-body-sm-line);color:var(--text-secondary);font-weight:600}.lms-stat-card-icon{display:grid;place-items:center;inline-size:34px;block-size:34px;border-radius:var(--radius-pill);background:var(--color-orange-100);color:var(--color-orange-600)}.lms-stat-card-value{display:block;margin-block-start:var(--space-4);font:var(--text-stat-weight) var(--text-stat-size)/var(--text-stat-line) var(--font-display);letter-spacing:-.03em}.lms-stat-card-delta{display:block;margin-block-start:var(--space-2);font-size:var(--text-body-sm-size);font-weight:600}.lms-stat-card-delta--success{color:var(--color-success-600)}.lms-stat-card-delta--warning{color:var(--color-warning-600)}.lms-stat-card-delta--danger{color:var(--color-danger-600)}.lms-stat-card-delta--info{color:var(--color-info-600)}.lms-stat-card-delta--neutral{color:var(--text-secondary)}
.lms-kanban-card{position:relative;display:block;text-decoration:none;color:inherit;background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);padding:var(--space-4);padding-inline-start:calc(var(--space-4) + 4px);cursor:grab}.lms-kanban-card:before{content:"";position:absolute;inset-block:0;inset-inline-start:0;inline-size:4px;background:var(--color-neutral-400);border-start-start-radius:var(--radius-md);border-end-start-radius:var(--radius-md)}.lms-kanban-card--received:before{background:var(--color-info-500)}.lms-kanban-card--washing:before,.lms-kanban-card--process:before{background:var(--color-process-500)}.lms-kanban-card--ironing:before,.lms-kanban-card--hot:before{background:var(--color-orange-500)}.lms-kanban-card--ready:before{background:var(--color-ready-500)}.lms-kanban-card--delivered:before,.lms-kanban-card--paid:before{background:var(--color-success-500)}.lms-kanban-card--cancelled:before,.lms-kanban-card--canceled:before,.lms-kanban-card.is-overdue:before{background:var(--color-danger-500)}.lms-kanban-card.is-dragging{box-shadow:var(--shadow-md);opacity:.85}.lms-kanban-card-head,.lms-kanban-card-meta{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.lms-kanban-card-number,.lms-kanban-card-meta strong{font-family:var(--font-mono);direction:ltr;unicode-bidi:embed}.lms-kanban-card h3{margin:var(--space-3) 0 var(--space-1);font:var(--text-h3-weight) var(--text-h3-size)/var(--text-h3-line) var(--font-display)}.lms-kanban-card p{margin:0;color:var(--text-secondary);font-size:var(--text-body-sm-size);line-height:var(--text-body-sm-line)}.lms-kanban-card-meta{margin-block-start:var(--space-4);font-size:var(--text-body-sm-size);color:var(--text-secondary)}.lms-kanban-card-action{display:inline-flex;margin-block-start:var(--space-3);font-size:var(--text-caption-size);font-weight:700;text-transform:uppercase;letter-spacing:var(--text-caption-tracking);color:var(--brand-accent)}
.lms-avatar{display:inline-grid;place-items:center;overflow:hidden;border-radius:var(--radius-pill);background:var(--color-navy-100);color:var(--brand-primary);font-weight:800;font-family:var(--font-display);vertical-align:middle}.lms-avatar img{inline-size:100%;block-size:100%;object-fit:cover}.lms-avatar--sm{inline-size:24px;block-size:24px;font-size:10px}.lms-avatar--md{inline-size:32px;block-size:32px;font-size:12px}.lms-avatar--lg{inline-size:40px;block-size:40px;font-size:14px}.sr-only{position:absolute!important;inline-size:1px!important;block-size:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.lms-tabs{position:relative;border-bottom:1px solid var(--border-default);margin-block-end:var(--space-5)}.lms-tabs-list{display:flex;gap:var(--space-5);overflow:auto}.lms-tab{position:relative;display:inline-flex;align-items:center;min-block-size:44px;text-decoration:none;color:var(--text-secondary);font-size:var(--text-body-size);line-height:var(--text-body-line);font-weight:500;white-space:nowrap}.lms-tab.is-active{color:var(--text-primary);font-weight:600}.lms-tab.is-active:after{content:"";position:absolute;inset-inline:0;inset-block-end:-1px;block-size:2px;background:var(--brand-accent);border-radius:999px}.lms-tabs-indicator{position:absolute;inset-block-end:-1px;block-size:2px;background:var(--brand-accent);border-radius:999px;transition:inset-inline-start var(--duration-base),inline-size var(--duration-base)}
.lms-table th.is-sortable{cursor:pointer}.lms-table th.is-active{font-weight:700;color:var(--text-primary)}.lms-table-sort{margin-inline-start:var(--space-1);color:var(--brand-accent)}.lms-table-number,.lms-table td[data-numeric]{text-align:end;font-family:var(--font-mono);direction:ltr;unicode-bidi:embed}.lms-empty-state{text-align:center;display:grid;justify-items:center;gap:var(--space-3);padding:var(--space-8);color:var(--text-secondary)}.lms-empty-state-icon{color:var(--color-neutral-300);font-size:42px}.lms-empty-state h3{margin:0;color:var(--text-primary);font:var(--text-h2-weight) var(--text-h2-size)/var(--text-h2-line) var(--font-display)}.lms-empty-state p{margin:0;max-width:52ch;font-size:var(--text-body-sm-size);line-height:var(--text-body-sm-line)}.lms-empty-state-actions{margin-block-start:var(--space-2)}
@media (max-width: 720px){.lms-modal-backdrop{padding:var(--space-3);align-items:flex-end}.lms-modal{max-block-size:92vh}.lms-toast-stack{inset-inline:var(--space-4);inset-block-end:var(--space-4);inline-size:auto}.lms-stat-card{min-block-size:auto}.lms-tabs-list{gap:var(--space-4)}}
/* ---- End LMS Redesign P2 Components ---- */


/* ---- LMS Redesign P2 Remaining Pages ---- */
.lms-filter-card{margin-block-end:var(--space-5)}.lms-form-actions,.lms-row-actions{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap}.lms-pagination-wrap{margin-block-start:var(--space-5)}.lms-identity-cell{display:flex;align-items:center;gap:var(--space-3)}.lms-identity-cell small{display:block;color:var(--text-secondary);margin-block-start:2px}.lms-identity-cell--large h2{margin:0}.lms-detail-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-5);margin-block-end:var(--space-5)}.lms-detail-code{font-size:var(--text-h1-size);line-height:var(--text-h1-line)}.lms-chip-row{display:flex;gap:var(--space-2);flex-wrap:wrap}.lms-description-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5)}.lms-service-admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-4)}.lms-service-admin-card{position:relative;display:grid;gap:var(--space-3);padding:var(--space-5);background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs)}.lms-service-admin-card:hover{box-shadow:var(--shadow-md)}.lms-service-admin-card h3{margin:0}.lms-service-admin-card p{margin:var(--space-1) 0 0;color:var(--text-secondary);font-size:var(--text-body-sm-size)}.lms-icon-picker{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-block-end:var(--space-4)}.lms-icon-picker button{display:inline-flex;align-items:center;gap:var(--space-2);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-card);padding:var(--space-2) var(--space-3);cursor:pointer}.lms-icon-picker .is-selected{border-color:var(--brand-accent);background:var(--color-orange-100);color:var(--color-orange-600)}.lms-form-section{padding-block:var(--space-4);border-block-end:1px solid var(--border-default)}.lms-form-section:last-child{border-block-end:0}.lms-form-section h2,.lms-form-section h3{margin-block-start:0}.lms-settings-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:var(--space-5)}.lms-settings-nav{position:sticky;top:var(--space-5);align-self:start;display:grid;gap:var(--space-1);padding:var(--space-3);background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs)}.lms-settings-nav a{text-decoration:none;color:var(--text-secondary);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md)}.lms-settings-nav a:hover{background:var(--surface-app);color:var(--text-primary)}.lms-permission-matrix{display:grid;gap:var(--space-4)}.lms-permission-group{border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-4)}.lms-permission-group header{display:flex;justify-content:space-between;gap:var(--space-3);align-items:center;margin-block-end:var(--space-3)}.lms-permission-group h4{margin:0}.lms-permission-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:var(--space-2)}.lms-permission-grid label{display:flex;gap:var(--space-2);align-items:center}.lms-mono{font-family:var(--font-mono);direction:ltr;unicode-bidi:embed}.lms-danger-text{color:var(--color-danger-600)}.lms-muted{color:var(--text-secondary)}
@media (max-width:900px){.lms-detail-hero,.lms-settings-layout{grid-template-columns:1fr;display:grid}.lms-description-grid{grid-template-columns:1fr}.lms-settings-nav{position:static}}
/* ---- End LMS Redesign P2 Remaining Pages ---- */


/* ---- LMS Redesign P2 Inventory Reports Purchases ---- */
.is-warning-row{background:var(--color-warning-50)}.lms-report-hub,.lms-demo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-4);margin-block-end:var(--space-5)}.lms-report-hub a{text-decoration:none;color:inherit}.lms-line-item-builder{margin-block:var(--space-5);padding:var(--space-4);border:1px dashed var(--border-strong);border-radius:var(--radius-lg);background:var(--surface-app)}.lms-line-item-builder h3{margin-block-start:0}.lms-print-button{margin-top:var(--space-4)}
/* ---- End LMS Redesign P2 Inventory Reports Purchases ---- */


/* ---- LMS Redesign P2 Phase 7 Supplementary ---- */
.lms-notification-list{display:grid;gap:var(--space-3)}.lms-notification-list article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--space-3);align-items:start;padding:var(--space-4);border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-app)}.lms-notification-list p{margin:var(--space-1) 0;color:var(--text-secondary)}.lms-notification-list small{color:var(--text-muted)}.lms-search-hero{text-align:center;padding:var(--space-8)}.lms-global-search{max-width:760px;margin:var(--space-5) auto 0;display:grid;grid-template-columns:1fr auto;gap:var(--space-3);align-items:end}.lms-pattern-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-4)}.lms-setup-steps{counter-reset:step;display:grid;gap:var(--space-3);padding:0;list-style:none}.lms-setup-steps li{counter-increment:step;display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-3);align-items:start;padding:var(--space-4);border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-card)}.lms-setup-steps li:before{content:counter(step);display:grid;place-items:center;width:32px;height:32px;border-radius:999px;background:var(--brand-accent);color:white;font-weight:700}.lms-setup-steps span{grid-column:2;color:var(--text-secondary)}.lms-error-body{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,var(--surface-app),var(--color-blue-50));padding:var(--space-5)}.lms-error-shell{width:min(560px,100%);text-align:center;background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl);padding:var(--space-8)}.lms-error-code{font-size:clamp(4rem,12vw,8rem);font-weight:800;line-height:1;color:var(--brand-accent)}.lms-error-shell h1{margin:var(--space-3) 0}.lms-error-shell p{color:var(--text-secondary)}
@media (max-width:700px){.lms-global-search{grid-template-columns:1fr}.lms-notification-list article{grid-template-columns:auto 1fr}.lms-notification-list article>.lms-badge{grid-column:2}}

.lms-notification-list article.is-unread {
  border-color: color-mix(in srgb, var(--brand-accent) 34%, var(--border-default));
  background: color-mix(in srgb, var(--color-orange-100) 34%, var(--surface-card));
}

.lms-notification-actions {
  display: grid;
  justify-items: end;
  gap: var(--space-2);
}

.lms-notification-panel a span small {
  display: block;
  margin-top: 2px;
  color: var(--text-secondary);
  font-size: 11px;
  line-height: 1.25;
}

@media (max-width:700px){
  .lms-notification-actions {
    grid-column: 2;
    justify-items: start;
  }
}
/* ---- End LMS Redesign P2 Phase 7 Supplementary ---- */


/* ---- LMS Redesign R1 Global Shell Completion ---- */
.lms-app{position:relative;display:flex;min-block-size:100vh;background:var(--surface-app)}
.lms-main{min-inline-size:0;flex:1 1 auto;display:flex;flex-direction:column}.lms-content{flex:1 1 auto}.lms-shell-backdrop{position:fixed;inset:0;z-index:28;background:rgba(15,23,32,.5);backdrop-filter:blur(2px)}.lms-shell-backdrop[hidden]{display:none}.lms-sidebar-brand-actions{display:inline-flex;gap:var(--space-2);align-items:center}.lms-sidebar-mobile-close{display:none;inline-size:34px;block-size:34px;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-md);background:rgba(255,255,255,.06);color:var(--text-on-navy);font-size:24px;line-height:1;cursor:pointer}.lms-mobile-menu-button{display:none;align-items:center;justify-content:center;inline-size:42px;block-size:42px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-card);color:var(--text-primary);cursor:pointer}.lms-mobile-menu-button:focus-visible,.lms-sidebar-mobile-close:focus-visible{outline:0;box-shadow:var(--shadow-focus)}
.lms-global-search-panel{position:absolute;inset-block-start:calc(100% + var(--space-2));inset-inline:0;z-index:60;display:grid;gap:var(--space-1);padding:var(--space-2);border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-card);box-shadow:var(--shadow-lg)}.lms-global-search-panel[hidden]{display:none}.lms-global-search-option{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--space-2);align-items:center;inline-size:100%;min-block-size:40px;border:0;border-radius:var(--radius-md);background:transparent;color:var(--text-primary);font:inherit;font-weight:700;text-align:start;padding:var(--space-2) var(--space-3);cursor:pointer}.lms-global-search-option:hover,.lms-global-search-option:focus-visible{background:var(--surface-app);outline:0}.lms-global-search-option kbd{font-family:var(--font-mono);font-size:11px;color:var(--text-muted);border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:1px 5px;background:var(--surface-card)}
.lms-notification-menu{position:relative}.lms-notification-trigger{position:relative}.lms-notification-count{position:absolute;inset-block-start:-6px;inset-inline-end:-6px;display:grid;place-items:center;min-inline-size:18px;block-size:18px;padding-inline:5px;border-radius:999px;background:var(--brand-accent);color:var(--color-white);font-size:10px;font-weight:800;box-shadow:0 0 0 2px var(--surface-card)}.lms-notification-panel{position:absolute;inset-block-start:calc(100% + var(--space-2));inset-inline-end:0;z-index:60;inline-size:min(360px,calc(100vw - var(--space-8)));padding:var(--space-2);border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-card);box-shadow:var(--shadow-lg);animation:lms-slide-up var(--duration-base) var(--ease-standard) both}.lms-notification-panel[hidden]{display:none}.lms-notification-panel header{padding:var(--space-3);border-block-end:1px solid var(--border-default);margin-block-end:var(--space-2)}.lms-notification-panel header strong,.lms-notification-panel header small{display:block}.lms-notification-panel header small{color:var(--text-secondary);margin-block-start:2px}.lms-notification-panel a{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--space-2);align-items:center;padding:var(--space-3);border-radius:var(--radius-md);color:var(--text-primary);text-decoration:none}.lms-notification-panel a:hover,.lms-notification-panel a:focus-visible{background:var(--surface-app);outline:0}.lms-user-menu-panel hr{border:0;border-block-start:1px solid var(--border-default);margin:var(--space-2) 0}
html.lms-sidebar-mobile-open{overflow:hidden}html.lms-sidebar-mobile-open .lms-sidebar{transform:translateX(0)}html[dir="rtl"].lms-sidebar-mobile-open .lms-sidebar{transform:translateX(0)}
@media (max-width:767px){.lms-mobile-menu-button,.lms-sidebar-mobile-close{display:inline-flex}.lms-sidebar{transform:translateX(-110%);transition:transform var(--duration-base) var(--ease-standard)}html[dir="rtl"] .lms-sidebar{inset-inline-start:auto;inset-inline-end:0;transform:translateX(110%)}.lms-sidebar-collapsed .lms-sidebar{inline-size:292px;flex-basis:292px}.lms-sidebar-collapsed .lms-brand-copy,.lms-sidebar-collapsed .lms-sidebar-section-toggle span,.lms-sidebar-collapsed .lms-sidebar-section-chevron,.lms-sidebar-collapsed .lms-sidebar-link-label{display:initial}.lms-sidebar-collapsed .lms-sidebar-link-label{display:inline}.lms-sidebar-collapsed .lms-sidebar-section-toggle{pointer-events:auto;inline-size:100%;justify-content:space-between;padding:var(--space-2) var(--space-3)}.lms-sidebar-collapsed .lms-sidebar-section-toggle::before{display:none}.lms-sidebar-collapsed .lms-sidebar-link{inline-size:100%;justify-content:flex-start;padding:var(--space-2) var(--space-3);gap:var(--space-3)}.lms-sidebar-toggle{display:none}.lms-topbar-main{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center}.lms-topbar-search{grid-column:1 / -1}.lms-notification-panel{inset-inline-end:auto;inset-inline-start:0}}
@media (prefers-reduced-motion:reduce){.lms-sidebar,.lms-shell-backdrop,.lms-global-search-panel,.lms-notification-panel{transition:none!important;animation:none!important}}
/* ---- End LMS Redesign R1 Global Shell Completion ---- */


/* ---- LMS Redesign R2 Full Language Toggle and RTL ---- */
html[dir="rtl"] body{font-family:var(--font-arabic);letter-spacing:0}html[dir="rtl"] .lms-page-title,html[dir="rtl"] h1,html[dir="rtl"] h2,html[dir="rtl"] h3,html[dir="rtl"] .lms-stat-card-value{font-family:var(--font-arabic)}
.lms-topbar-locale-switch{display:inline-flex;align-items:center;gap:2px;min-block-size:40px;padding:3px;border:1px solid var(--border-default);border-radius:var(--radius-pill);background:var(--surface-card)}.lms-topbar-locale-option,.lms-user-locale-option{border:0;border-radius:var(--radius-pill);background:transparent;color:var(--text-secondary);font-weight:800;line-height:1;cursor:pointer}.lms-topbar-locale-option{min-inline-size:44px;min-block-size:32px;padding:var(--space-1) var(--space-2)}.lms-topbar-locale-option.is-active,.lms-user-locale-option.is-active{background:var(--brand-accent);color:var(--color-white);box-shadow:var(--shadow-xs)}.lms-topbar-locale-option:focus-visible,.lms-user-locale-option:focus-visible,.lms-topbar-locale-manage:focus-visible{outline:0;box-shadow:var(--shadow-focus)}.lms-topbar-locale-manage{display:inline-flex;align-items:center;justify-content:center;inline-size:30px;block-size:30px;border-radius:var(--radius-pill);color:var(--text-secondary);text-decoration:none}.lms-topbar-locale-manage:hover{background:var(--surface-app);color:var(--text-primary)}.lms-user-menu-locale{display:grid;gap:var(--space-2);padding:var(--space-3);border-block-end:1px solid var(--border-default);margin-block-end:var(--space-2)}.lms-user-menu-locale>span{font-size:var(--text-body-sm-size);font-weight:700;color:var(--text-secondary)}.lms-user-menu-locale>div{display:flex;gap:var(--space-2)}.lms-user-locale-option{min-block-size:32px;padding:var(--space-1) var(--space-3);border:1px solid var(--border-default)}
html[dir="rtl"] .lms-breadcrumbs ol{flex-direction:row-reverse;justify-content:flex-end}html[dir="rtl"] .lms-breadcrumbs li+li::before{content:'\\';}html[dir="rtl"] .lms-topbar-actions,html[dir="rtl"] .lms-row-actions,html[dir="rtl"] .lms-form-actions,html[dir="rtl"] .lms-chip-row{flex-direction:row-reverse}html[dir="rtl"] .lms-user-menu-panel,html[dir="rtl"] .lms-notification-panel{inset-inline-start:0;inset-inline-end:auto}html[dir="rtl"] .lms-global-search-option,html[dir="rtl"] .lms-notification-panel a,html[dir="rtl"] .lms-user-menu-item{text-align:start}html[dir="rtl"] .lms-modal-footer{justify-content:flex-start;flex-direction:row-reverse}html[dir="rtl"] .lms-sidebar-toggle-icon{transform:rotate(-90deg)}html[dir="rtl"].lms-sidebar-collapsed .lms-sidebar-toggle-icon{transform:rotate(90deg)}html[dir="rtl"] .lms-sidebar-collapsed .lms-sidebar-toggle{inset-inline-start:calc(var(--space-2) * -1);inset-inline-end:auto}
.lms-mono,.lms-money,.lms-data,.lms-order-code,.lms-detail-code,.lms-table-number,.lms-table td[data-numeric],.lms-kanban-card-number,.lms-kanban-card-meta strong,.lms-stat-card-value,input[type="number"],input[type="tel"],input[type="email"],input[type="url"],input[name*="sku"],input[name*="phone"],input[name*="email"],input[name*="number"],td[data-type='number'],td[data-type='money']{direction:ltr;unicode-bidi:embed;font-variant-numeric:tabular-nums}html[dir="rtl"] .lms-table .is-numeric,html[dir="rtl"] .lms-table .lms-table-cell--numeric,html[dir="rtl"] .lms-table td[data-type='number'],html[dir="rtl"] .lms-table td[data-type='money'],html[dir="rtl"] .lms-table td[data-numeric]{text-align:start}html[dir="rtl"] .lms-table th,html[dir="rtl"] .lms-table td{text-align:start}
html[dir="rtl"] .lms-kanban-board,html[dir="rtl"] .lms-kanban-columns,html[dir="rtl"] .lms-board-columns{direction:rtl}html[dir="rtl"] .lms-kanban-card{padding-inline-start:var(--space-4);padding-inline-end:calc(var(--space-4) + 4px)}html[dir="rtl"] .lms-kanban-card:before{inset-inline-start:auto;inset-inline-end:0;border-start-start-radius:0;border-end-start-radius:0;border-start-end-radius:var(--radius-md);border-end-end-radius:var(--radius-md)}
html[dir="rtl"] .lms-icon--mirror,html[dir="rtl"] .lms-breadcrumbs svg,html[dir="rtl"] .lms-sidebar-toggle-icon{scale:-1 1}.lms-dir-ltr{direction:ltr;unicode-bidi:embed}.lms-dir-rtl{direction:rtl}.lms-dir-isolate{unicode-bidi:isolate}html[data-lms-ui-locale="ar"] [data-lms-i18n-en]{display:none}html:not([data-lms-ui-locale="ar"]) [data-lms-i18n-ar]{display:none}
@media (max-width:767px){html[dir="rtl"] .lms-topbar-main{grid-template-columns:minmax(0,1fr) auto}html[dir="rtl"] .lms-mobile-menu-button{grid-column:2}html[dir="rtl"] .lms-topbar-title-wrap{grid-column:1;grid-row:1}.lms-topbar-locale-switch{min-inline-size:max-content}}
/* ---- End LMS Redesign R2 Full Language Toggle and RTL ---- */


/* ---- LMS Redesign R3 POS Cart Interactions ---- */
.lms-pos-shell{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(360px,.85fr);gap:var(--space-6);align-items:start}.lms-pos-catalog,.lms-pos-cart{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-xl);box-shadow:var(--shadow-xs);padding:var(--space-5)}.lms-pos-cart{position:sticky;inset-block-start:calc(84px + var(--space-5));max-block-size:calc(100vh - 120px);overflow:auto}.lms-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-block-end:var(--space-4)}.lms-section-head h2,.lms-section-head h3{margin:0}.lms-section-head p{margin:var(--space-1) 0 0;color:var(--text-secondary)}.lms-link-button{border:0;background:transparent;color:var(--brand-accent);font-weight:800;cursor:pointer}.lms-pos-tabs{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-block:var(--space-4)}.lms-pos-tabs button{border:1px solid var(--border-default);border-radius:var(--radius-pill);background:var(--surface-card);padding:var(--space-2) var(--space-3);font-weight:800;cursor:pointer}.lms-pos-tabs button.is-active{background:var(--brand-accent);border-color:var(--brand-accent);color:var(--color-white)}.lms-pos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:var(--space-3)}.lms-service-tile{position:relative;display:grid;gap:var(--space-2);justify-items:start;min-block-size:150px;padding:var(--space-4);border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-card);text-align:start;box-shadow:var(--shadow-xs);cursor:pointer;transition:transform var(--duration-fast),box-shadow var(--duration-fast),border-color var(--duration-fast)}.lms-service-tile:hover,.lms-service-tile:focus-visible{transform:translateY(-1px);box-shadow:var(--shadow-md);border-color:var(--brand-accent);outline:0}.lms-service-tile.is-selected{border-color:var(--brand-accent);box-shadow:0 0 0 3px rgba(242,113,28,.14)}.lms-service-tile.is-filtered{display:none}.lms-service-icon{display:grid;place-items:center;inline-size:36px;block-size:36px;border-radius:var(--radius-pill);background:var(--color-orange-100);color:var(--brand-accent)}.lms-service-tile small{color:var(--text-secondary)}.lms-service-tile em{position:absolute;inset-block-start:var(--space-2);inset-inline-end:var(--space-2);display:grid;place-items:center;min-inline-size:22px;block-size:22px;border-radius:999px;background:var(--brand-primary);color:var(--color-white);font-style:normal;font-size:12px;font-weight:800}.lms-service-tile em[hidden]{display:none}.lms-pos-customer-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-3);align-items:end;margin-block-end:var(--space-4)}.lms-pos-lines{display:grid;gap:var(--space-3);margin-block-end:var(--space-4)}.lms-pos-line{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto auto;gap:var(--space-3);align-items:center;padding:var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-app)}.lms-pos-line:focus-visible{outline:0;box-shadow:var(--shadow-focus)}.lms-pos-line-main{display:grid;gap:var(--space-1);min-inline-size:0}.lms-pos-line-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lms-pos-line-addons{display:flex;flex-wrap:wrap;gap:var(--space-1);color:var(--text-secondary);font-size:var(--text-body-sm-size)}.lms-pos-line-addons span{display:inline-flex;align-items:center;gap:4px;border-radius:999px;background:var(--surface-card);border:1px solid var(--border-default);padding:2px 7px}.lms-stepper{display:inline-flex;align-items:center;border:1px solid var(--border-default);border-radius:var(--radius-pill);background:var(--surface-card);overflow:hidden}.lms-stepper button{inline-size:30px;block-size:30px;border:0;background:transparent;font-weight:900;cursor:pointer}.lms-stepper input{inline-size:44px;block-size:30px;border:0;border-inline:1px solid var(--border-default);text-align:center;background:transparent}.lms-pos-summary{display:grid;gap:var(--space-2);padding-block-start:var(--space-4);border-block-start:1px solid var(--border-default)}.lms-pos-summary>div,.lms-pos-summary label{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin:0}.lms-pos-summary input{inline-size:120px;border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-2);text-align:end;background:var(--surface-card)}.lms-pos-grand{font-size:var(--text-h3-size);font-weight:800}.lms-pos-cart-message{min-block-size:24px;margin-block:var(--space-3);color:var(--color-danger-600);font-size:var(--text-body-sm-size);font-weight:700}.lms-btn-full{inline-size:100%}.lms-payment-modal{display:grid;gap:var(--space-4)}.lms-segmented{display:inline-flex;align-items:center;gap:2px;padding:3px;border:1px solid var(--border-default);border-radius:var(--radius-pill);background:var(--surface-app);inline-size:max-content}.lms-segmented button{border:0;border-radius:var(--radius-pill);background:transparent;padding:var(--space-2) var(--space-4);font-weight:800;cursor:pointer}.lms-segmented button.is-active{background:var(--brand-accent);color:var(--color-white)}.lms-change-line{padding:var(--space-3);border-radius:var(--radius-lg);background:var(--surface-app)}.lms-pos-mobile-bar{position:fixed;inset-inline:var(--space-4);inset-block-end:var(--space-4);z-index:45;display:none;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4);border:0;border-radius:var(--radius-pill);background:var(--brand-primary);color:var(--color-white);box-shadow:var(--shadow-lg);font-weight:800;text-align:start;cursor:pointer}
html[dir="rtl"] .lms-pos-shell{direction:rtl}html[dir="rtl"] .lms-pos-line{direction:rtl}html[dir="rtl"] .lms-pos-line .lms-mono,html[dir="rtl"] .lms-stepper input{direction:ltr;unicode-bidi:embed}html[dir="rtl"] .lms-service-tile em{inset-inline-start:var(--space-2);inset-inline-end:auto}
@media(max-width:1180px){.lms-pos-shell{grid-template-columns:1fr}.lms-pos-cart{position:static;max-block-size:none}}@media(max-width:760px){.lms-pos-catalog,.lms-pos-cart{padding:var(--space-4)}.lms-pos-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lms-service-tile{min-block-size:132px}.lms-pos-customer-row{grid-template-columns:1fr}.lms-pos-line{grid-template-columns:minmax(0,1fr) auto;align-items:start}.lms-pos-line>[data-price],.lms-pos-line>[data-total],.lms-pos-line>.lms-stepper{grid-column:auto}.lms-pos-cart{display:none;position:fixed;inset-inline:0;inset-block-end:0;z-index:55;max-block-size:82vh;overflow:auto;border-end-start-radius:0;border-end-end-radius:0;border-start-start-radius:var(--radius-xl);border-start-end-radius:var(--radius-xl);box-shadow:var(--shadow-xl)}.lms-pos-shell.is-cart-open .lms-pos-cart{display:block}.lms-pos-mobile-bar{display:flex}.lms-pos-shell.is-cart-open+.lms-pos-mobile-bar{display:none}.lms-pos-summary input{inline-size:100px}}@media(prefers-reduced-motion:reduce){.lms-service-tile{transition:none}.lms-service-tile:hover,.lms-service-tile:focus-visible{transform:none}}
/* ---- End LMS Redesign R3 POS Cart Interactions ---- */


/* ---- LMS Redesign R4 Functional Order Status Board ---- */
.lms-kanban-page{display:grid;gap:var(--space-5);margin-block-end:var(--space-6)}.lms-order-board-head{padding:var(--space-5);border:1px solid var(--border-default);border-radius:var(--radius-xl);background:linear-gradient(135deg,var(--surface-card),var(--surface-app));box-shadow:var(--shadow-xs)}.lms-order-board-toolbar{display:grid;grid-template-columns:minmax(280px,460px) minmax(0,1fr);gap:var(--space-4);align-items:end}.lms-order-board-legend{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);color:var(--text-secondary);font-size:var(--text-body-sm-size);font-weight:700}.lms-order-board-legend span{display:inline-flex;align-items:center;gap:var(--space-1)}.lms-order-board-legend i{inline-size:10px;block-size:10px;border-radius:999px;background:var(--color-process-500)}.lms-order-board-legend .is-done{background:var(--color-success-500)}.lms-order-board-legend .is-stop{background:var(--color-danger-500)}.lms-order-board-columns{display:grid;grid-template-columns:repeat(7,minmax(240px,1fr));gap:var(--space-4);overflow-x:auto;padding-block-end:var(--space-2);scroll-snap-type:x proximity}.lms-order-board-column{scroll-snap-align:start;display:flex;flex-direction:column;min-block-size:360px;border:1px solid var(--border-default);border-radius:var(--radius-xl);background:var(--surface-card);box-shadow:var(--shadow-xs);overflow:hidden}.lms-order-board-column>header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);padding:var(--space-4);border-block-end:1px solid var(--border-default);background:var(--surface-app)}.lms-order-board-column>header h3{margin:0;font:var(--text-h3-weight) var(--text-h3-size)/var(--text-h3-line) var(--font-display)}.lms-order-board-column>header p{margin:2px 0 0;color:var(--text-secondary);font-size:var(--text-body-sm-size);line-height:var(--text-body-sm-line)}.lms-kanban-column-body{display:grid;align-content:start;gap:var(--space-3);padding:var(--space-3);min-block-size:280px;block-size:100%}.lms-order-board-column.is-drag-over{outline:3px solid rgba(242,113,28,.24);outline-offset:-3px;background:color-mix(in srgb,var(--brand-accent) 7%,var(--surface-card))}.lms-order-board-column.is-drop-blocked{outline:3px solid rgba(210,65,65,.24);outline-offset:-3px}.lms-kanban-card[data-lms-order-card]{display:grid;gap:var(--space-3);cursor:grab}.lms-kanban-card[data-lms-order-card]:active{cursor:grabbing}.lms-kanban-card.is-dragging{opacity:.55;transform:scale(.985)}.lms-kanban-card.is-filtered{display:none}.lms-kanban-card.is-updating{opacity:.68;pointer-events:none}.lms-kanban-card.is-updating:after{content:'Updating…';position:absolute;inset-block-start:var(--space-3);inset-inline-end:var(--space-3);padding:3px 8px;border-radius:999px;background:var(--brand-primary);color:var(--color-white);font-size:11px;font-weight:800}.lms-kanban-card-number{text-decoration:none;color:var(--brand-primary);font-weight:900}.lms-order-card-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);font-size:var(--text-body-sm-size)}.lms-order-card-footer a{color:var(--brand-accent);font-weight:800;text-decoration:none}.lms-order-card-balance{color:var(--text-secondary);font-weight:700}.lms-order-card-balance.is-due{color:var(--color-danger-600)}.lms-order-card-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.lms-order-card-actions form{margin:0}.lms-order-card-actions button{border:1px solid var(--border-default);border-radius:var(--radius-pill);background:var(--surface-card);padding:var(--space-1) var(--space-2);color:var(--text-primary);font-size:12px;font-weight:800;cursor:pointer}.lms-order-card-actions button:hover,.lms-order-card-actions button:focus-visible{border-color:var(--brand-accent);color:var(--brand-accent);outline:0}.lms-order-board-status{min-block-size:24px;color:var(--text-secondary);font-weight:700}.lms-order-board-status.is-error{color:var(--color-danger-600)}.lms-order-board-status.is-success{color:var(--color-success-600)}html[dir="rtl"] .lms-order-board-columns{direction:rtl}html[dir="rtl"] .lms-order-card-footer,html[dir="rtl"] .lms-order-card-actions{flex-direction:row-reverse}
@media(max-width:1200px){.lms-order-board-columns{grid-template-columns:repeat(7,minmax(260px,300px))}}@media(max-width:760px){.lms-order-board-toolbar{grid-template-columns:1fr}.lms-order-board-legend{justify-content:flex-start;flex-wrap:wrap}.lms-order-board-columns{grid-template-columns:repeat(7,minmax(82vw,1fr))}.lms-order-board-column{min-block-size:320px}.lms-order-board-head{padding:var(--space-4)}}@media(prefers-reduced-motion:reduce){.lms-kanban-card.is-dragging{transform:none}}
/* ---- End LMS Redesign R4 Functional Order Status Board ---- */


/* ---- LMS Redesign R5 Report Print Templates ---- */
.lms-report-toolbar,.lms-report-nav{margin-block-end:var(--space-5)}.lms-report-toolbar-actions{display:flex;gap:var(--space-2);align-items:end;flex-wrap:wrap}.lms-report-nav{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.lms-report-nav>strong{margin-inline-end:var(--space-2);color:var(--text-secondary);font-size:var(--text-body-sm-size);text-transform:uppercase;letter-spacing:.08em}.lms-report-print-sheet{display:grid;gap:var(--space-5)}.lms-report-print-header{display:flex;justify-content:space-between;gap:var(--space-5);align-items:flex-start;padding:var(--space-6);border:1px solid var(--border-default);border-radius:var(--radius-xl);background:linear-gradient(135deg,var(--surface-card),var(--surface-app));box-shadow:var(--shadow-xs)}.lms-report-print-kicker{margin:0 0 var(--space-1);color:var(--brand-accent);font-weight:900;text-transform:uppercase;letter-spacing:.1em;font-size:11px}.lms-report-print-header h1{margin:0;font:var(--text-h1-weight) var(--text-h1-size)/var(--text-h1-line) var(--font-display)}.lms-report-print-header p{margin:var(--space-1) 0 0;color:var(--text-secondary)}.lms-report-print-meta{display:grid;gap:2px;text-align:end;color:var(--text-secondary)}.lms-report-print-meta strong{font-family:var(--font-mono);color:var(--text-primary)}.lms-report-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:var(--space-3)}.lms-report-kpi-card{padding:var(--space-4);border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-card);box-shadow:var(--shadow-xs);break-inside:avoid}.lms-report-kpi-card span{display:block;color:var(--text-secondary);font-size:var(--text-body-sm-size);font-weight:800;text-transform:uppercase;letter-spacing:.06em}.lms-report-kpi-card strong{display:block;margin-block-start:var(--space-1);font:var(--text-h2-weight) var(--text-h2-size)/var(--text-h2-line) var(--font-display)}.lms-report-section{break-inside:avoid}.lms-report-screen-title{margin:0}.lms-report-equation{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2) var(--space-5);max-inline-size:520px;margin-block:var(--space-4);padding:var(--space-4);border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-app)}.lms-report-equation strong{font-family:var(--font-mono)}.lms-report-equation .is-positive{color:var(--color-success-600)}.lms-report-equation .is-negative{color:var(--color-danger-600)}.lms-report-print-footer{display:flex;justify-content:space-between;gap:var(--space-3);padding-block:var(--space-4);border-block-start:1px solid var(--border-default);color:var(--text-secondary);font-size:var(--text-body-sm-size)}
@media(max-width:760px){.lms-report-print-header,.lms-report-print-footer{display:grid;text-align:start}.lms-report-print-meta{text-align:start}.lms-report-toolbar-actions{align-items:stretch}.lms-report-toolbar-actions .lms-btn{inline-size:100%}}
@media print{@page{size:A4;margin:12mm}html,body{background:#fff!important;color:#111!important}.lms-no-print,.lms-sidebar,.lms-topbar,.lms-page-header,.lms-breadcrumbs,.lms-report-toolbar,.lms-report-nav,.lms-print-button{display:none!important}.lms-app,.lms-main,.lms-content,.lms-content-container{display:block!important;min-block-size:auto!important;padding:0!important;margin:0!important;background:#fff!important}.lms-report-print-sheet{display:block!important;inline-size:100%!important}.lms-report-print-header{padding:0 0 10mm!important;margin:0 0 8mm!important;border:0!important;border-radius:0!important;box-shadow:none!important;border-block-end:2px solid #111!important;background:#fff!important}.lms-report-print-header h1{font-size:22pt!important;line-height:1.1!important}.lms-report-kpi-grid{grid-template-columns:repeat(4,1fr)!important;gap:4mm!important;margin-block-end:8mm!important}.lms-report-kpi-card,.lms-card,.lms-section-card{border:1px solid #ccc!important;border-radius:0!important;box-shadow:none!important;background:#fff!important;break-inside:avoid!important}.lms-report-kpi-card{padding:4mm!important}.lms-report-section{margin-block:0 7mm!important;padding:0!important;border:0!important}.lms-report-section h2{font-size:13pt!important;margin:0 0 3mm!important}.lms-table-wrap{border:1px solid #ccc!important;box-shadow:none!important;overflow:visible!important}.lms-table{inline-size:100%!important;border-collapse:collapse!important;font-size:9pt!important}.lms-table th,.lms-table td{border:1px solid #ddd!important;padding:2.5mm!important;white-space:normal!important}.lms-table th{background:#f3f4f6!important;color:#111!important}.lms-status-badge{border:0!important;background:transparent!important;color:#111!important;padding:0!important}.lms-report-print-footer{display:flex!important;position:fixed;inset-inline:0;inset-block-end:0;border-block-start:1px solid #aaa!important;padding-block:3mm!important;background:#fff!important}.lms-report-screen-title{display:none!important}html[dir="rtl"] .lms-report-print-header,html[dir="rtl"] .lms-report-print-footer{direction:rtl}}
/* ---- End LMS Redesign R5 Report Print Templates ---- */


/* ---- LMS Redesign R6 Nested CRUD Deep Polish ---- */
.lms-nested-crud-create,.lms-nested-filter-card{margin-block-end:var(--space-5)}.lms-nested-crud-create .lms-section-head,.lms-nested-crud-list .lms-section-head,.lms-nested-filter-card .lms-section-head{margin-block-end:var(--space-4)}.lms-nested-crud-create textarea{min-block-size:72px}.lms-inline-input,.lms-inline-select{min-inline-size:150px;inline-size:100%;padding-block:7px}.lms-inline-input--sm{max-inline-size:92px}.lms-inline-input--money{max-inline-size:130px}.lms-nested-crud-list .lms-table td{vertical-align:middle}.lms-nested-crud-list .lms-row-actions{justify-content:flex-start;flex-wrap:wrap}.lms-nested-crud-list form{margin:0}.lms-nested-detail-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-block-end:var(--space-5)}.lms-nested-detail-hero h2{margin:0 0 var(--space-1)}.lms-nested-detail-hero p{margin:0 0 var(--space-2);color:var(--text-secondary)}.lms-translation-form{display:grid;gap:var(--space-5)}.lms-translation-card .lms-table td{vertical-align:top}.lms-translation-key{inline-size:32%;font-family:var(--font-mono);font-size:var(--text-body-sm-size);color:var(--text-secondary)}.lms-sticky-actions{position:sticky;inset-block-end:var(--space-4);z-index:5;display:flex;justify-content:flex-end;padding:var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--surface-card) 94%,transparent);backdrop-filter:blur(12px);box-shadow:var(--shadow-md)}

.lms-settings-hero{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);margin-block-end:var(--space-5);background:linear-gradient(135deg,var(--surface-card),var(--color-navy-100));overflow:hidden}.lms-settings-hero-main{display:flex;align-items:center;gap:var(--space-4);min-inline-size:0}.lms-settings-hero-icon,.lms-settings-panel-icon{display:grid;place-items:center;flex:0 0 auto;border-radius:var(--radius-lg);background:var(--brand-primary);color:var(--text-on-navy)}.lms-settings-hero-icon{inline-size:54px;block-size:54px}.lms-settings-panel-icon{inline-size:42px;block-size:42px;background:var(--color-orange-100);color:var(--brand-accent)}.lms-settings-eyebrow{display:block;margin-block-end:var(--space-1);font-size:var(--text-caption-size);line-height:var(--text-caption-line);font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--brand-accent)}.lms-settings-hero h2{margin:0;font-size:var(--text-display-lg-size);line-height:var(--text-display-lg-line)}.lms-settings-hero p{max-inline-size:680px;margin:var(--space-1) 0 0;color:var(--text-secondary)}.lms-settings-summary{display:grid;grid-template-columns:repeat(2,minmax(90px,1fr));gap:var(--space-3);flex:0 0 auto}.lms-settings-summary div{padding:var(--space-3) var(--space-4);border:1px solid color-mix(in srgb,var(--brand-primary) 14%,var(--border-default));border-radius:var(--radius-lg);background:color-mix(in srgb,var(--surface-card) 82%,transparent);box-shadow:var(--shadow-xs)}.lms-settings-summary span{display:block;font-family:var(--font-display);font-size:var(--text-h1-size);line-height:var(--text-h1-line);font-weight:800;color:var(--brand-primary)}.lms-settings-summary small{display:block;color:var(--text-secondary);font-weight:700}.lms-settings-form{display:block}.lms-settings-layout--redesigned{grid-template-columns:260px minmax(0,1fr);align-items:start}.lms-settings-side{position:sticky;inset-block-start:calc(72px + var(--space-5));align-self:start}.lms-settings-nav--redesigned{position:static;padding:var(--space-2);gap:var(--space-2)}.lms-settings-nav--redesigned a{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-2);min-block-size:44px;padding:var(--space-3);font-weight:800}.lms-settings-nav--redesigned a:hover,.lms-settings-nav--redesigned a:focus-visible{background:var(--color-navy-100);color:var(--brand-primary);outline:0}.lms-settings-nav--redesigned small{display:grid;place-items:center;min-inline-size:24px;block-size:24px;border-radius:var(--radius-pill);background:var(--surface-app);color:var(--text-secondary);font-size:12px;font-weight:900}.lms-settings-panels{display:grid;gap:var(--space-5)}.lms-settings-panel{scroll-margin-block-start:calc(72px + var(--space-5))}.lms-settings-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding-block-end:var(--space-5);margin-block-end:var(--space-5);border-block-end:1px solid var(--border-default)}.lms-settings-panel-title{display:flex;align-items:flex-start;gap:var(--space-3);min-inline-size:0}.lms-settings-panel-title h2{margin:0}.lms-settings-panel-title p{margin:var(--space-1) 0 0;color:var(--text-secondary)}.lms-settings-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5)}.lms-settings-field--wide{grid-column:1 / -1}.lms-settings-field-meta{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-block-start:var(--space-2);padding-block-start:var(--space-2);border-block-start:1px dashed var(--border-default);color:var(--text-secondary)}.lms-settings-field-meta .lms-mono{font-size:12px}.lms-settings-panel-actions{display:flex;justify-content:flex-end;margin-block-start:var(--space-5);padding-block-start:var(--space-5);border-block-start:1px solid var(--border-default)}

.lms-customer-profile-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(210px,.34fr);gap:var(--space-5);align-items:center;margin-block-end:var(--space-5);background:linear-gradient(135deg,var(--surface-card),var(--color-navy-100));overflow:hidden}.lms-customer-profile-main{display:flex;align-items:center;gap:var(--space-4);min-inline-size:0}.lms-customer-profile-avatar{box-shadow:0 0 0 6px color-mix(in srgb,var(--surface-card) 72%,transparent)}.lms-customer-profile-copy{min-inline-size:0}.lms-customer-profile-kicker{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-block-end:var(--space-2)}.lms-customer-profile-kicker>span{font-size:var(--text-caption-size);line-height:var(--text-caption-line);font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--brand-accent)}.lms-customer-profile-copy h2{margin:0;font-size:var(--text-display-lg-size);line-height:var(--text-display-lg-line)}.lms-customer-profile-copy p{margin:var(--space-1) 0 0;color:var(--text-secondary);overflow-wrap:anywhere}.lms-customer-profile-balance{display:grid;gap:var(--space-1);padding:var(--space-4);border:1px solid color-mix(in srgb,var(--brand-primary) 14%,var(--border-default));border-radius:var(--radius-lg);background:color-mix(in srgb,var(--surface-card) 86%,transparent);box-shadow:var(--shadow-xs)}.lms-customer-profile-balance span,.lms-customer-profile-balance small{color:var(--text-secondary);font-weight:700}.lms-customer-profile-balance strong{font-size:var(--text-h1-size);line-height:var(--text-h1-line);color:var(--brand-primary)}.lms-customer-profile-actions{grid-column:1 / -1;justify-content:flex-start;padding-block-start:var(--space-4);border-block-start:1px solid color-mix(in srgb,var(--brand-primary) 12%,var(--border-default))}.lms-customer-profile-actions form{margin:0}.lms-customer-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3);margin-block-end:var(--space-5)}.lms-customer-metric{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-2) var(--space-3);min-block-size:66px;padding:var(--space-3) var(--space-4);border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-card);box-shadow:var(--shadow-xs)}.lms-customer-metric span{color:var(--text-secondary);font-size:var(--text-body-sm-size);font-weight:800}.lms-customer-metric strong{justify-self:end;font:800 var(--text-h2-size)/var(--text-h2-line) var(--font-display);color:var(--text-primary);white-space:nowrap}.lms-customer-metric small{grid-column:1 / -1;color:var(--text-secondary);font-size:var(--text-caption-size);font-weight:800}.lms-customer-metric small.is-success{color:var(--color-success-600)}.lms-customer-metric small.is-danger{color:var(--color-danger-600)}.lms-customer-tabs{margin-block-end:var(--space-5)}.lms-customer-panel{margin-block-end:var(--space-5)}.lms-customer-overview-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:var(--space-5)}.lms-customer-contact-card{padding:var(--space-5);border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-app)}.lms-customer-contact-card h3{margin:0 0 var(--space-4)}.lms-customer-detail-list{display:grid;gap:var(--space-3);margin:0}.lms-customer-detail-list div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:var(--space-3);padding-block-end:var(--space-3);border-block-end:1px dashed var(--border-default)}.lms-customer-detail-list div:last-child{padding-block-end:0;border-block-end:0}.lms-customer-detail-list dt{color:var(--text-secondary);font-weight:800}.lms-customer-detail-list dd{margin:0;color:var(--text-primary);overflow-wrap:anywhere}.lms-customer-notes{margin:0;color:var(--text-secondary);line-height:var(--text-body-lg-line);white-space:pre-line}.lms-customer-route-card{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-app)}.lms-customer-route-icon{display:grid;place-items:center;flex:0 0 auto;inline-size:42px;block-size:42px;border-radius:var(--radius-pill);background:var(--color-orange-100);color:var(--brand-accent)}.lms-customer-route-card strong{display:block;margin-block-end:var(--space-1);font-size:var(--text-h3-size);line-height:var(--text-h3-line)}.lms-customer-route-card p{margin:0;color:var(--text-secondary)}

@media (max-width: 1024px){.lms-customer-profile-hero{grid-template-columns:1fr}.lms-customer-profile-actions{grid-column:auto}.lms-customer-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.lms-customer-overview-grid{grid-template-columns:1fr}}@media (max-width: 767px){.lms-customer-profile-main{align-items:flex-start}.lms-customer-profile-copy h2{font-size:var(--text-h1-size);line-height:var(--text-h1-line)}.lms-customer-profile-balance{inline-size:100%}.lms-customer-profile-actions{display:grid}.lms-customer-profile-actions>.lms-btn,.lms-customer-profile-actions>form,.lms-customer-profile-actions>form>.lms-btn{inline-size:100%}.lms-customer-metrics{grid-template-columns:1fr;gap:var(--space-2)}.lms-customer-metric{min-block-size:54px;padding:var(--space-2) var(--space-3)}.lms-customer-detail-list div{grid-template-columns:1fr;gap:var(--space-1)}.lms-customer-route-card{display:grid}.lms-customer-route-icon{inline-size:38px;block-size:38px}}

.lms-services-hero{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);margin-block-end:var(--space-5);background:linear-gradient(135deg,var(--surface-card),var(--color-navy-100));overflow:hidden}.lms-services-eyebrow{display:block;margin-block-end:var(--space-1);font-size:var(--text-caption-size);line-height:var(--text-caption-line);font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--brand-accent)}.lms-services-hero h2{margin:0;font-size:var(--text-display-lg-size);line-height:var(--text-display-lg-line)}.lms-services-hero p{max-inline-size:620px;margin:var(--space-1) 0 0;color:var(--text-secondary)}.lms-services-hero-metrics{display:grid;grid-template-columns:repeat(3,minmax(86px,1fr));gap:var(--space-3);flex:0 0 auto}.lms-services-hero-metrics div{padding:var(--space-3) var(--space-4);border:1px solid color-mix(in srgb,var(--brand-primary) 14%,var(--border-default));border-radius:var(--radius-lg);background:color-mix(in srgb,var(--surface-card) 84%,transparent);box-shadow:var(--shadow-xs)}.lms-services-hero-metrics span{display:block;font-family:var(--font-display);font-size:var(--text-h1-size);line-height:var(--text-h1-line);font-weight:800;color:var(--brand-primary)}.lms-services-hero-metrics small{display:block;color:var(--text-secondary);font-weight:700}.lms-services-filter .lms-form-grid{grid-template-columns:1.1fr .9fr .75fr auto;align-items:end}.lms-services-filter-actions{align-items:end;justify-content:flex-end}.lms-services-catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--space-4)}.lms-service-catalog-card{display:grid;grid-template-rows:auto 1fr auto;min-block-size:100%;background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-xl);box-shadow:var(--shadow-xs);overflow:hidden;transition:transform var(--duration-fast),box-shadow var(--duration-fast),border-color var(--duration-fast)}.lms-service-catalog-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:color-mix(in srgb,var(--brand-accent) 38%,var(--border-default))}.lms-service-catalog-media{position:relative;display:grid;place-items:center;aspect-ratio:16 / 9;background:linear-gradient(135deg,var(--color-navy-100),var(--surface-app));overflow:hidden}.lms-service-catalog-media>img{inline-size:100%;block-size:100%;object-fit:cover}.lms-service-catalog-media .lms-status-badge{position:absolute;inset-block-start:var(--space-3);inset-inline-start:var(--space-3);box-shadow:var(--shadow-xs)}.lms-service-catalog-icon{display:grid;place-items:center;inline-size:58px;block-size:58px;border-radius:var(--radius-xl);background:var(--surface-card);color:var(--brand-accent);box-shadow:var(--shadow-sm)}.lms-service-catalog-body{display:grid;gap:var(--space-3);padding:var(--space-4)}.lms-service-catalog-title{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-3);align-items:start}.lms-service-catalog-title h3{margin:0;font-size:var(--text-h3-size);line-height:var(--text-h3-line)}.lms-service-catalog-title a{text-decoration:none;color:var(--text-primary)}.lms-service-catalog-title a:hover{color:var(--brand-accent)}.lms-service-catalog-title strong{font-size:var(--text-h3-size);line-height:var(--text-h3-line);color:var(--brand-primary);white-space:nowrap}.lms-service-catalog-meta{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;color:var(--text-secondary);font-size:var(--text-body-sm-size);font-weight:700}.lms-service-catalog-meta>span:not(.lms-badge){display:inline-flex;align-items:center;min-block-size:24px;padding-inline:var(--space-2);border-radius:var(--radius-pill);background:var(--surface-app)}.lms-service-catalog-body p{margin:0;color:var(--text-secondary);font-size:var(--text-body-sm-size);line-height:var(--text-body-sm-line)}.lms-service-catalog-actions{padding:var(--space-3) var(--space-4);border-block-start:1px solid var(--border-default);background:var(--surface-app)}.lms-service-catalog-actions form{margin:0}

@media (max-width: 1180px){.lms-services-hero{display:grid}.lms-services-hero-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.lms-services-filter .lms-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lms-services-filter-actions{justify-content:flex-start}}@media (max-width: 767px){.lms-services-hero-metrics{grid-template-columns:1fr}.lms-services-filter .lms-form-grid{grid-template-columns:1fr}.lms-services-catalog-grid{grid-template-columns:1fr}.lms-service-catalog-title{grid-template-columns:1fr}.lms-service-catalog-title strong{justify-self:start}.lms-service-catalog-actions{display:grid}.lms-service-catalog-actions>.lms-btn,.lms-service-catalog-actions>form,.lms-service-catalog-actions>form>.lms-btn{inline-size:100%}}@media (prefers-reduced-motion:reduce){.lms-service-catalog-card{transition:none}.lms-service-catalog-card:hover{transform:none}}

.lms-service-editor-hero{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);margin-block-end:var(--space-5);background:linear-gradient(135deg,var(--surface-card),var(--color-navy-100));overflow:hidden}.lms-service-editor-title{display:flex;align-items:center;gap:var(--space-4);min-inline-size:0}.lms-service-editor-icon{display:grid;place-items:center;flex:0 0 auto;inline-size:54px;block-size:54px;border-radius:var(--radius-xl);background:var(--brand-primary);color:var(--text-on-navy);box-shadow:var(--shadow-xs)}.lms-service-editor-title h2{margin:0;font-size:var(--text-display-lg-size);line-height:var(--text-display-lg-line)}.lms-service-editor-title p{margin:var(--space-1) 0 0;color:var(--text-secondary)}.lms-service-editor-summary{display:grid;grid-template-columns:repeat(3,minmax(92px,1fr));gap:var(--space-3);flex:0 0 auto}.lms-service-editor-summary div{display:grid;gap:var(--space-1);padding:var(--space-3) var(--space-4);border:1px solid color-mix(in srgb,var(--brand-primary) 14%,var(--border-default));border-radius:var(--radius-lg);background:color-mix(in srgb,var(--surface-card) 86%,transparent);box-shadow:var(--shadow-xs)}.lms-service-editor-summary span{color:var(--text-secondary);font-size:var(--text-body-sm-size);font-weight:800}.lms-service-editor-summary strong{font:800 var(--text-h3-size)/var(--text-h3-line) var(--font-display);color:var(--brand-primary);white-space:nowrap}.lms-service-editor-form{display:block}.lms-service-form-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.38fr);gap:var(--space-5);align-items:start}.lms-service-form-panel{padding:var(--space-5)}.lms-service-form-panel-head{display:flex;align-items:flex-start;gap:var(--space-3);padding-block-end:var(--space-4);margin-block-end:var(--space-4);border-block-end:1px solid var(--border-default)}.lms-service-form-panel-head h2{margin:0}.lms-service-form-panel-head p{margin:var(--space-1) 0 0;color:var(--text-secondary)}.lms-service-form-panel-icon{display:grid;place-items:center;flex:0 0 auto;inline-size:42px;block-size:42px;border-radius:var(--radius-lg);background:var(--color-orange-100);color:var(--brand-accent)}.lms-service-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5)}.lms-service-form-side{grid-column:2;grid-row:1 / span 2;display:grid;gap:var(--space-5);position:sticky;inset-block-start:calc(72px + var(--space-5))}.lms-service-form-stack{display:grid;gap:var(--space-4)}.lms-service-form-panel--description{grid-column:1;grid-row:2}.lms-service-icon-picker{margin-block-end:0}.lms-service-icon-picker button{min-block-size:42px;font-weight:800}.lms-service-form-actions{grid-column:1 / -1;grid-row:3;position:sticky;inset-block-end:var(--space-4);z-index:5;display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--surface-card) 94%,transparent);backdrop-filter:blur(12px);box-shadow:var(--shadow-md)}

@media (max-width: 1180px){.lms-service-editor-hero{display:grid}.lms-service-editor-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.lms-service-form-shell{grid-template-columns:1fr}.lms-service-form-side{grid-column:auto;grid-row:auto;position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.lms-service-form-panel--description{grid-column:auto;grid-row:auto}.lms-service-form-actions{grid-column:auto;grid-row:auto}}@media (max-width: 767px){.lms-service-editor-summary,.lms-service-form-side,.lms-service-form-grid{grid-template-columns:1fr}.lms-service-editor-title{align-items:flex-start}.lms-service-editor-title h2{font-size:var(--text-h1-size);line-height:var(--text-h1-line)}.lms-service-form-actions{display:grid}.lms-service-form-actions>.lms-btn{inline-size:100%}}

.lms-service-types-hero{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);margin-block-end:var(--space-5);background:linear-gradient(135deg,var(--surface-card),var(--color-navy-100));overflow:hidden}.lms-service-types-hero h2{margin:0;font-size:var(--text-display-lg-size);line-height:var(--text-display-lg-line)}.lms-service-types-hero p{max-inline-size:620px;margin:var(--space-1) 0 0;color:var(--text-secondary)}.lms-service-types-metrics{display:grid;grid-template-columns:repeat(3,minmax(92px,1fr));gap:var(--space-3);flex:0 0 auto}.lms-service-types-metrics div{padding:var(--space-3) var(--space-4);border:1px solid color-mix(in srgb,var(--brand-primary) 14%,var(--border-default));border-radius:var(--radius-lg);background:color-mix(in srgb,var(--surface-card) 86%,transparent);box-shadow:var(--shadow-xs)}.lms-service-types-metrics span{display:block;font-family:var(--font-display);font-size:var(--text-h1-size);line-height:var(--text-h1-line);font-weight:800;color:var(--brand-primary)}.lms-service-types-metrics small{display:block;color:var(--text-secondary);font-weight:700}.lms-service-type-create{margin-block-end:var(--space-5)}.lms-service-type-create-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--space-3);align-items:start;padding-block-end:var(--space-4);margin-block-end:var(--space-4);border-block-end:1px solid var(--border-default)}.lms-service-type-create-head h2{margin:0}.lms-service-type-create-head p{margin:var(--space-1) 0 0;color:var(--text-secondary)}.lms-service-type-create-icon{display:grid;place-items:center;inline-size:42px;block-size:42px;border-radius:var(--radius-lg);background:var(--color-orange-100);color:var(--brand-accent)}.lms-service-type-create-form{display:grid;grid-template-columns:minmax(220px,1.1fr) minmax(120px,.42fr) minmax(180px,.55fr);gap:var(--space-4);align-items:end}.lms-service-type-create-description-field{grid-column:1 / -1}.lms-service-type-create-description{min-block-size:78px}.lms-service-type-create-actions{justify-content:flex-end;grid-column:1 / -1;padding-block-start:var(--space-3);border-block-start:1px solid var(--border-default)}.lms-service-type-list{display:grid;gap:var(--space-4)}.lms-service-type-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-4)}.lms-service-type-card{display:grid;gap:var(--space-4);padding:var(--space-4);border:1px solid var(--border-default);border-radius:var(--radius-xl);background:var(--surface-card);box-shadow:var(--shadow-xs)}.lms-service-type-card:hover{box-shadow:var(--shadow-md);border-color:color-mix(in srgb,var(--brand-accent) 34%,var(--border-default))}.lms-service-type-card-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--space-3);align-items:start;padding-block-end:var(--space-3);border-block-end:1px solid var(--border-default)}.lms-service-type-icon{display:grid;place-items:center;inline-size:42px;block-size:42px;border-radius:var(--radius-lg);background:var(--color-orange-100);color:var(--brand-accent)}.lms-service-type-card-head strong{display:block;color:var(--text-primary);font-size:var(--text-h3-size);line-height:var(--text-h3-line)}.lms-service-type-card-head span{display:block;margin-block-start:2px;color:var(--text-secondary);font-size:var(--text-body-sm-size);font-weight:700}.lms-service-type-fields{display:grid;grid-template-columns:1fr 92px auto;gap:var(--space-3);align-items:start}.lms-service-type-fields label{display:grid;gap:var(--space-2);min-inline-size:0}.lms-service-type-fields label>span:first-child{color:var(--text-secondary);font-size:var(--text-caption-size);line-height:var(--text-caption-line);font-weight:900;letter-spacing:.06em;text-transform:uppercase}.lms-service-type-status-toggle{display:inline-grid!important;grid-template-columns:1fr 1fr;gap:3px;min-block-size:42px;padding:3px;border:1px solid var(--border-default);border-radius:var(--radius-pill);background:var(--surface-app)}.lms-service-type-status-toggle input{position:absolute;inline-size:1px;block-size:1px;opacity:0;pointer-events:none}.lms-service-type-status-toggle label{display:grid;place-items:center;margin:0;padding:0 var(--space-3);border-radius:var(--radius-pill);color:var(--text-secondary);font-size:var(--text-body-sm-size);font-weight:900;cursor:pointer;white-space:nowrap}.lms-service-type-status-toggle input:checked+label{background:var(--surface-card);color:var(--brand-primary);box-shadow:var(--shadow-xs)}.lms-service-type-status-toggle input[value="1"]:checked+label{color:var(--color-success-600)}.lms-service-type-status-toggle input[value="0"]:checked+label{color:var(--color-danger-600)}.lms-service-type-status-toggle input:focus-visible+label{box-shadow:var(--shadow-focus)}.lms-service-type-field-wide{grid-column:1 / -1}.lms-service-type-field-wide textarea{min-block-size:72px;resize:vertical}.lms-service-type-actions{justify-content:flex-end;padding-block-start:var(--space-3);border-block-start:1px solid var(--border-default)}.lms-service-type-actions form{margin:0}

@media (max-width: 1180px){.lms-service-types-hero{display:grid}.lms-service-types-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.lms-service-type-create-form{grid-template-columns:repeat(2,minmax(0,1fr))}.lms-service-type-create-actions{justify-content:flex-start}}@media (max-width: 767px){.lms-service-types-metrics,.lms-service-type-create-form,.lms-service-type-grid,.lms-service-type-fields{grid-template-columns:1fr}.lms-service-type-card-head{grid-template-columns:auto minmax(0,1fr)}.lms-service-type-card-head .lms-status-badge{grid-column:1 / -1;justify-self:start}.lms-service-type-actions{display:grid}.lms-service-type-actions>form,.lms-service-type-actions>form>.lms-btn{inline-size:100%}}
html[dir="rtl"] .lms-nested-detail-hero{direction:rtl}html[dir="rtl"] .lms-nested-crud-list .lms-row-actions{justify-content:flex-end}
@media(max-width:760px){.lms-nested-detail-hero{display:grid}.lms-inline-input,.lms-inline-select{min-inline-size:120px}.lms-translation-key{inline-size:auto}.lms-sticky-actions{justify-content:stretch}.lms-sticky-actions .lms-btn{inline-size:100%}.lms-nested-crud-list .lms-row-actions .lms-btn{inline-size:auto}}
/* ---- End LMS Redesign R6 Nested CRUD Deep Polish ---- */


/* ---- LMS Redesign R7 Accessibility and Keyboard Audit ---- */
.lms-skip-link{position:fixed;inset-block-start:var(--space-3);inset-inline-start:var(--space-3);z-index:2000;transform:translateY(calc(-100% - var(--space-4)));padding:var(--space-3) var(--space-4);border-radius:var(--radius-pill);background:var(--brand-primary);color:var(--color-white);font-weight:900;text-decoration:none;box-shadow:var(--shadow-lg)}.lms-skip-link:focus{transform:translateY(0);outline:3px solid var(--brand-accent);outline-offset:3px}.lms-sr-only:not(:focus):not(:active){position:absolute!important;inline-size:1px!important;block-size:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
a:focus-visible,button:focus-visible,[role="button"]:focus-visible,[role="tab"]:focus-visible,[tabindex]:focus-visible,.lms-icon-button:focus-visible,.lms-link-button:focus-visible,.lms-topbar-locale-option:focus-visible,.lms-user-locale-option:focus-visible,.lms-global-search-option:focus-visible,.lms-notification-panel a:focus-visible,.lms-user-menu-item:focus-visible,.lms-order-card-actions button:focus-visible,.lms-stepper button:focus-visible{outline:3px solid var(--brand-accent)!important;outline-offset:3px!important;box-shadow:0 0 0 5px rgba(242,113,28,.18)!important}.lms-form-control:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--brand-accent)!important;outline-offset:2px!important}.lms-modal-backdrop[aria-hidden="true"]{display:none}.lms-modal-open{overflow:hidden}.lms-tabs-list{scrollbar-width:thin}.lms-tab[aria-selected="true"]{color:var(--text-primary)}[role="tabpanel"][hidden]{display:none!important}.lms-toast-close:focus-visible{outline:3px solid var(--brand-accent);outline-offset:2px}.lms-toast[role="alert"]{border-color:color-mix(in srgb,var(--color-danger-600) 38%,var(--border-default))}.lms-status-badge--neutral,.lms-chip--neutral{background:#e5e7eb;color:#111827}.lms-status-badge--warning,.lms-chip--warning{background:#f8e3a3;color:#5f3b00}.lms-status-badge--process,.lms-chip--process{background:#d5f2f0;color:#075f5e}.lms-status-badge--ready,.lms-chip--ready{background:#e7e0ff;color:#4327b6}.lms-status-badge--hot,.lms-chip--hot{background:#fde2c9;color:#9a3d00}.lms-status-badge--info,.lms-chip--info{background:#dbeafe;color:#174ea6}.lms-service-tile[aria-pressed="true"]{border-color:var(--brand-accent);box-shadow:0 0 0 3px rgba(242,113,28,.22)}.lms-pos-line[role="group"]{scroll-margin-block:96px}.lms-kanban-card[tabindex="0"]:focus-visible{outline:3px solid var(--brand-accent)!important;outline-offset:3px!important;box-shadow:var(--shadow-md),0 0 0 5px rgba(242,113,28,.18)!important}.lms-kanban-card[aria-grabbed="true"]{outline:3px dashed var(--brand-accent);outline-offset:3px}.lms-order-board-column[aria-dropeffect="move"]{scroll-margin-inline:var(--space-5)}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important}.lms-skip-link,.lms-tabs-indicator,.lms-modal,.lms-modal-backdrop,.lms-service-tile{transition:none!important}}
/* ---- End LMS Redesign R7 Accessibility and Keyboard Audit ---- */

/* ---- LMS Redesign R8 Responsive Behavior Audit ---- */
@media (max-width: 1280px){.lms-content-container{inline-size:100%;max-inline-size:none}.lms-topbar{gap:var(--space-3)}.lms-topbar-main{min-inline-size:0}.lms-topbar-actions{flex:1 1 auto;justify-content:flex-end}.lms-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lms-report-hub{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.lms-order-board-columns{grid-template-columns:repeat(7,minmax(260px,320px))}}
@media (max-width: 1024px){.lms-card,.lms-section-card,.lms-filter-card{padding:var(--space-5)}.lms-topbar{align-items:stretch}.lms-topbar-main{grid-template-columns:auto minmax(0,1fr);inline-size:100%}.lms-topbar-title-wrap{min-inline-size:0}.lms-topbar-search{grid-column:1 / -1;inline-size:100%;max-inline-size:none}.lms-topbar-actions{inline-size:100%;justify-content:flex-start;overflow-x:auto;padding-block-end:2px;scrollbar-width:thin}.lms-topbar-action{flex:0 0 auto}.lms-user-menu{margin-inline-start:auto}.lms-user-menu-panel,.lms-notification-panel{max-inline-size:calc(100vw - var(--space-6));}.lms-detail-hero,.lms-nested-detail-hero{display:grid;grid-template-columns:1fr;align-items:stretch}.lms-detail-hero .lms-row-actions,.lms-nested-detail-hero .lms-row-actions{justify-content:flex-start}.lms-settings-layout{display:grid;grid-template-columns:1fr}.lms-settings-nav{position:static;display:flex;overflow-x:auto;white-space:nowrap;scrollbar-width:thin}.lms-permission-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lms-report-print-header{display:grid}.lms-report-print-meta{text-align:start}.lms-order-board-toolbar{grid-template-columns:1fr}.lms-order-board-legend{justify-content:flex-start;flex-wrap:wrap}}
@media (max-width: 767px){body{min-inline-size:320px}.lms-app{display:block}.lms-main{min-inline-size:0}.lms-content{padding:var(--space-4);}.lms-content-container{padding-inline:0}.lms-page-header,.lms-section-head{display:grid;gap:var(--space-3)}.lms-page-header-actions,.lms-form-actions,.lms-row-actions{inline-size:100%;align-items:stretch}.lms-form-actions>.lms-btn,.lms-row-actions>.lms-btn,.lms-row-actions>form,.lms-row-actions>form>.lms-btn{inline-size:100%}.lms-card,.lms-section-card,.lms-filter-card{padding:var(--space-4);border-radius:var(--radius-lg)}.lms-stat-grid{grid-template-columns:1fr;gap:var(--space-3)}.lms-stat-card{min-block-size:auto;padding:var(--space-4)}.lms-stat-card-value{font-size:clamp(24px,9vw,var(--text-stat-size));line-height:1.1}.lms-topbar{position:sticky;top:0;z-index:35;padding:var(--space-3) var(--space-4);min-block-size:auto}.lms-topbar-main{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-3);align-items:center}.lms-topbar-context span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lms-breadcrumbs{display:none}.lms-topbar-search{grid-column:1 / -1;order:3}.lms-topbar-actions{display:flex;gap:var(--space-2);overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;padding-block-end:var(--space-1)}.lms-topbar-action{scroll-snap-align:start;min-inline-size:42px;padding-inline:var(--space-3)}.lms-topbar-action span{display:none}.lms-topbar-locale-switch{flex:0 0 auto}.lms-user-menu-trigger{min-inline-size:42px;padding-inline:var(--space-2)}.lms-user-meta,.lms-user-menu-chevron{display:none}.lms-user-menu-panel,.lms-notification-panel{position:fixed;inset-inline:var(--space-3)!important;inset-block-start:calc(64px + var(--space-2));inline-size:auto;max-block-size:calc(100vh - 90px);overflow:auto}.lms-sidebar{position:fixed;inset-block:0;inline-size:min(88vw,320px);z-index:40;box-shadow:var(--shadow-lg)}.lms-sidebar-inner{max-block-size:100vh;overflow:auto}.lms-shell-backdrop{z-index:38}.lms-description-grid{grid-template-columns:1fr}.lms-tabs{margin-inline:calc(var(--space-4) * -1);padding-inline:var(--space-4)}.lms-tabs-list{gap:var(--space-3);scroll-snap-type:x proximity}.lms-tab{scroll-snap-align:start;min-block-size:48px}.lms-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.lms-table,table.lms-table{min-inline-size:680px}.lms-table--compact,table.lms-table--compact{min-inline-size:620px}.lms-table td,.lms-table th{padding:var(--space-2) var(--space-3)}.lms-pagination-wrap,.lms-table-pagination{overflow-x:auto}.lms-order-board-columns{grid-template-columns:repeat(7,minmax(84vw,1fr));gap:var(--space-3);scroll-padding-inline:var(--space-4)}.lms-order-board-column{min-block-size:300px}.lms-order-card-footer,.lms-order-card-actions{display:grid;grid-template-columns:1fr;align-items:stretch}.lms-order-card-actions button{inline-size:100%;min-block-size:36px}.lms-pos-shell{display:block;padding-block-end:88px}.lms-pos-catalog,.lms-pos-cart{border-radius:var(--radius-lg);padding:var(--space-4)}.lms-pos-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.lms-service-tile{min-block-size:128px;padding:var(--space-3)}.lms-pos-cart{display:none;position:fixed;inset-inline:0;inset-block:auto 0;z-index:65;max-block-size:min(86vh,720px);overflow:auto;border-end-start-radius:0;border-end-end-radius:0;border-start-start-radius:var(--radius-xl);border-start-end-radius:var(--radius-xl);box-shadow:var(--shadow-lg)}.lms-pos-shell.is-cart-open .lms-pos-cart{display:block}.lms-pos-shell.is-cart-open .lms-pos-cart::before{content:'Current order';display:block;margin-block-end:var(--space-3);font-weight:900;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;font-size:11px}.lms-pos-mobile-bar{display:flex;z-index:66}.lms-pos-shell.is-cart-open+.lms-pos-mobile-bar{display:none}.lms-pos-line{grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2)}.lms-pos-line-main,.lms-pos-line-addons{grid-column:1 / -1}.lms-pos-line>.lms-stepper{justify-self:start}.lms-pos-summary input{inline-size:110px}.lms-report-hub,.lms-report-kpi-grid{grid-template-columns:1fr}.lms-report-nav{overflow-x:auto;flex-wrap:nowrap;padding-block-end:var(--space-1);scrollbar-width:thin}.lms-report-nav .lms-btn{flex:0 0 auto}.lms-report-print-header,.lms-report-print-footer{display:grid;text-align:start}.lms-settings-nav{margin-inline:calc(var(--space-4) * -1);padding-inline:var(--space-4);border-inline:0;border-radius:0}.lms-settings-nav a{flex:0 0 auto}.lms-permission-group header{display:grid}.lms-permission-grid{grid-template-columns:1fr}.lms-permission-grid label{min-block-size:40px}.lms-error-body{padding:var(--space-4);align-items:stretch}.lms-error-shell{align-self:center;padding:var(--space-5);border-radius:var(--radius-xl)}.lms-error-code{font-size:clamp(3.5rem,28vw,6.5rem)}.lms-error-shell .lms-row-actions{display:grid}.lms-error-shell .lms-btn{inline-size:100%}}
@media (max-width: 480px){.lms-content{padding:var(--space-3)}.lms-card,.lms-section-card,.lms-filter-card{padding:var(--space-3)}.lms-topbar{padding-inline:var(--space-3)}.lms-pos-grid{grid-template-columns:1fr}.lms-service-tile{min-block-size:auto}.lms-pos-summary>div,.lms-pos-summary label{display:grid;grid-template-columns:1fr auto}.lms-report-equation{grid-template-columns:1fr}.lms-table,table.lms-table{min-inline-size:620px}.lms-inline-input,.lms-inline-select{min-inline-size:110px}.lms-toast-stack{inset-inline:var(--space-3);inline-size:auto}.lms-modal-header,.lms-modal-body,.lms-modal-footer{padding:var(--space-4)}}
html[dir="rtl"] .lms-settings-nav,html[dir="rtl"] .lms-topbar-actions,html[dir="rtl"] .lms-report-nav{direction:rtl}html[dir="rtl"] .lms-pos-cart{direction:rtl}html[dir="rtl"] .lms-pos-mobile-bar{direction:rtl}
/* ---- End LMS Redesign R8 Responsive Behavior Audit ---- */

/* ---- LMS Redesign R9 Motion and Reduced Motion Pass ---- */
:root{--motion-duration-fast:var(--duration-fast);--motion-duration-base:var(--duration-base);--motion-duration-slow:var(--duration-slow);--motion-ease-standard:var(--ease-standard);--motion-ease-enter:var(--ease-standard);--motion-ease-exit:var(--ease-standard)}
.lms-modal-backdrop{transition:opacity var(--motion-duration-base) var(--motion-ease-standard)}.lms-modal{transition:transform var(--motion-duration-base) var(--motion-ease-enter),opacity var(--motion-duration-base) var(--motion-ease-enter)}.lms-toast{transition:opacity var(--motion-duration-fast) var(--motion-ease-exit),transform var(--motion-duration-fast) var(--motion-ease-exit),border-color var(--motion-duration-fast) var(--motion-ease-standard),box-shadow var(--motion-duration-fast) var(--motion-ease-standard)}.lms-user-menu-panel,.lms-notification-panel,.lms-global-search-panel,.lms-dropdown{animation:lms-slide-up var(--motion-duration-base) var(--motion-ease-enter) both}.lms-shell-backdrop{transition:opacity var(--motion-duration-base) var(--motion-ease-standard),backdrop-filter var(--motion-duration-base) var(--motion-ease-standard)}.lms-sidebar{transition:inline-size var(--motion-duration-slow) var(--motion-ease-standard),flex-basis var(--motion-duration-slow) var(--motion-ease-standard),transform var(--motion-duration-base) var(--motion-ease-standard)}.lms-sidebar-toggle-icon,.lms-sidebar-section-chevron,.lms-user-menu-chevron{transition:transform var(--motion-duration-base) var(--motion-ease-standard)}.lms-tabs-indicator{transition:inset-inline-start var(--motion-duration-base) var(--motion-ease-standard),inline-size var(--motion-duration-base) var(--motion-ease-standard)}.lms-service-tile,.lms-btn,.lms-topbar-action,.lms-sidebar-link,.lms-form-control,.lms-choice-box{transition-duration:var(--motion-duration-fast);transition-timing-function:var(--motion-ease-standard)}.lms-kanban-card.is-dragging,.lms-kanban-card.is-updating{transition:opacity var(--motion-duration-fast) var(--motion-ease-standard),box-shadow var(--motion-duration-fast) var(--motion-ease-standard)}.lms-order-board-column.is-drag-over,.lms-order-board-column.is-drop-blocked{transition:background var(--motion-duration-fast) var(--motion-ease-standard),outline-color var(--motion-duration-fast) var(--motion-ease-standard)}.lms-pos-cart,.lms-pos-mobile-bar{transition:opacity var(--motion-duration-base) var(--motion-ease-standard),transform var(--motion-duration-base) var(--motion-ease-standard),box-shadow var(--motion-duration-base) var(--motion-ease-standard)}
@media (prefers-reduced-motion: reduce){html:focus-within{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;transition-delay:0ms!important;scroll-behavior:auto!important}.lms-modal,.lms-modal-backdrop,.lms-toast,.lms-user-menu-panel,.lms-notification-panel,.lms-global-search-panel,.lms-dropdown,.lms-sidebar,.lms-shell-backdrop,.lms-tabs-indicator,.lms-service-tile,.lms-kanban-card,.lms-pos-cart,.lms-pos-mobile-bar{animation:none!important;transform:none!important;transition:none!important}.lms-service-tile:hover,.lms-service-tile:focus-visible,.lms-btn:active,.lms-kanban-card.is-dragging{transform:none!important}.lms-btn.is-loading::after{animation:none!important}.lms-order-board-columns,.lms-tabs-list,.lms-report-nav,.lms-topbar-actions{scroll-snap-type:none!important}.lms-modal-backdrop.is-open{opacity:1!important}.lms-toast{opacity:1}.lms-kanban-card.is-updating{opacity:.82!important}}
/* ---- End LMS Redesign R9 Motion and Reduced Motion Pass ---- */

/* ---- LMS Login Page ---- */
.lms-auth-body {
    min-inline-size: 320px;
    min-block-size: 100vh;
    min-block-size: 100dvh;
    margin: 0;
    background: var(--surface-app);
    color: var(--text-primary);
    font-family: var(--font-body);
}

.lms-auth-shell {
    display: grid;
    grid-template-columns: minmax(360px, .9fr) minmax(480px, 1.1fr);
    min-block-size: 100vh;
    min-block-size: 100dvh;
}

.lms-auth-brand {
    position: relative;
    isolation: isolate;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    overflow: hidden;
    padding: clamp(var(--space-10), 7vw, var(--space-20));
    background:
        radial-gradient(circle at 15% 15%, rgba(242, 113, 28, .22), transparent 32%),
        linear-gradient(145deg, var(--color-navy-900), var(--color-navy-700));
    color: var(--text-on-navy);
}

.lms-auth-brand::after {
    content: '';
    position: absolute;
    z-index: -1;
    inline-size: min(42vw, 560px);
    block-size: min(42vw, 560px);
    inset-inline-end: -30%;
    inset-block-end: -20%;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: var(--radius-pill);
}

.lms-auth-mark {
    display: grid;
    place-items: center;
    inline-size: 56px;
    block-size: 56px;
    margin-block-end: var(--space-8);
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: var(--radius-lg);
    background: var(--brand-accent);
    color: var(--color-white);
    box-shadow: var(--shadow-lg);
}

.lms-auth-mark .lms-icon {
    inline-size: var(--icon-xl);
    block-size: var(--icon-xl);
}

.lms-auth-brand h1 {
    max-inline-size: 620px;
    margin: 0;
    font-family: var(--font-display);
    font-size: clamp(32px, 4.2vw, 56px);
    line-height: 1.12;
    letter-spacing: -.035em;
    text-wrap: balance;
}

.lms-auth-brand p {
    max-inline-size: 520px;
    margin: var(--space-5) 0 0;
    color: var(--text-on-navy-muted);
    font-size: var(--text-body-lg-size);
    line-height: var(--text-body-lg-line);
}

.lms-auth-panel {
    position: relative;
    display: grid;
    place-items: center;
    padding: clamp(var(--space-6), 6vw, var(--space-16));
    background:
        radial-gradient(circle at 100% 0%, var(--color-orange-100), transparent 30%),
        var(--surface-app);
}

.lms-auth-language {
    position: absolute;
    inset-block-start: var(--space-6);
    inset-inline-end: var(--space-6);
}

.lms-auth-language a {
    display: inline-flex;
    align-items: center;
    min-block-size: 38px;
    padding: var(--space-2) var(--space-3);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-pill);
    background: var(--surface-card);
    color: var(--brand-primary);
    font-size: var(--text-body-sm-size);
    font-weight: 800;
    text-decoration: none;
    box-shadow: var(--shadow-xs);
}

.lms-auth-language a:hover {
    border-color: var(--brand-accent);
    color: var(--brand-accent-hover);
}

.lms-auth-card {
    inline-size: min(100%, 460px);
    padding: clamp(var(--space-6), 4vw, var(--space-10));
    border: 1px solid var(--border-default);
    border-radius: var(--radius-xl);
    background: var(--surface-card);
    box-shadow: var(--shadow-lg);
}

.lms-auth-heading {
    margin-block-end: var(--space-8);
}

.lms-auth-heading h2 {
    margin: 0;
    color: var(--brand-primary);
    font-family: var(--font-display);
    font-size: var(--text-display-lg-size);
    line-height: var(--text-display-lg-line);
}

.lms-auth-heading p {
    margin: var(--space-2) 0 0;
    color: var(--text-secondary);
}

.lms-auth-card > .lms-form-field,
.lms-password-field {
    margin-block-end: var(--space-5);
}

.lms-auth-card .lms-form-control {
    min-block-size: 48px;
    background: var(--color-neutral-50);
}

.lms-password-field {
    position: relative;
}

.lms-password-field .lms-form-field {
    margin: 0;
}

.lms-password-field .lms-form-control {
    padding-inline-end: var(--space-12);
}

.lms-password-toggle {
    position: absolute;
    inset-inline-end: var(--space-2);
    inset-block-end: 5px;
    display: grid;
    place-items: center;
    inline-size: 38px;
    block-size: 38px;
    padding: 0;
    border: 0;
    border-radius: var(--radius-md);
    background: transparent;
    color: var(--text-secondary);
    cursor: pointer;
    font-size: 17px;
}

.lms-password-toggle:hover {
    background: var(--color-neutral-100);
    color: var(--brand-primary);
}

.lms-auth-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-4);
    margin-block: var(--space-1) var(--space-6);
}

.lms-auth-row a {
    color: var(--brand-accent-hover);
    font-size: var(--text-body-sm-size);
    font-weight: 800;
    text-decoration: none;
}

.lms-auth-row a:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
}

.lms-auth-card .lms-btn--primary {
    min-block-size: 48px;
    box-shadow: 0 8px 18px rgba(217, 94, 15, .2);
}

.lms-form-summary {
    margin-block-end: var(--space-5);
    padding: var(--space-3) var(--space-4);
    border: 1px solid var(--color-danger-500);
    border-radius: var(--radius-md);
    background: var(--color-danger-100);
    color: var(--color-danger-600);
    font-size: var(--text-body-sm-size);
    font-weight: 700;
}

.lms-form-summary--success {
    border-color: var(--color-success-500);
    background: var(--color-success-100);
    color: var(--color-success-600);
}

html[dir="rtl"] .lms-auth-brand h1,
html[dir="rtl"] .lms-auth-heading h2 {
    font-family: var(--rtl-font-display);
    letter-spacing: 0;
}

@media (max-width: 900px) {
    .lms-auth-shell {
        grid-template-columns: 1fr;
    }

    .lms-auth-brand {
        min-block-size: 230px;
        justify-content: flex-end;
        padding: var(--space-8) var(--space-6);
    }

    .lms-auth-mark {
        inline-size: 46px;
        block-size: 46px;
        margin-block-end: var(--space-4);
    }

    .lms-auth-brand h1 {
        font-size: clamp(27px, 6vw, 38px);
    }

    .lms-auth-brand p {
        margin-block-start: var(--space-3);
    }

    .lms-auth-panel {
        place-items: start center;
        padding: var(--space-12) var(--space-4) var(--space-8);
    }

    .lms-auth-language {
        inset-block-start: var(--space-3);
        inset-inline-end: var(--space-4);
    }
}

@media (max-width: 480px) {
    .lms-auth-brand {
        min-block-size: 205px;
        padding: var(--space-6) var(--space-4);
    }

    .lms-auth-brand p {
        font-size: var(--text-body-size);
        line-height: var(--text-body-line);
    }

    .lms-auth-panel {
        padding-inline: var(--space-3);
    }

    .lms-auth-card {
        padding: var(--space-5) var(--space-4);
        border-radius: var(--radius-lg);
    }
}

@media (prefers-reduced-motion: reduce) {
    .lms-auth-language a,
    .lms-password-toggle {
        transition: none;
    }
}
/* ---- End LMS Login Page ---- */

/* ---- LMS Dashboard Page ---- */
.lms-dashboard {
    display: grid;
    gap: var(--space-6);
}

.lms-dashboard-hero {
    position: relative;
    isolation: isolate;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-6);
    overflow: hidden;
    padding: var(--space-8);
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: var(--radius-xl);
    background:
        radial-gradient(circle at 88% 18%, rgba(242, 113, 28, .2), transparent 24%),
        linear-gradient(135deg, var(--color-navy-900), var(--color-navy-700));
    color: var(--text-on-navy);
    box-shadow: var(--shadow-md);
}

.lms-dashboard-hero::after {
    content: '';
    position: absolute;
    z-index: -1;
    inline-size: 320px;
    block-size: 320px;
    inset-inline-end: -120px;
    inset-block-end: -190px;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: var(--radius-pill);
}

.lms-dashboard-eyebrow,
.lms-dashboard-section-kicker {
    display: block;
    margin-block-end: var(--space-1);
    color: var(--brand-accent);
    font-size: var(--text-caption-size);
    line-height: var(--text-caption-line);
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.lms-dashboard-hero h2 {
    margin: 0;
    max-inline-size: 720px;
    font-family: var(--font-display);
    font-size: clamp(25px, 3vw, 36px);
    line-height: 1.2;
}

.lms-dashboard-hero p {
    margin: var(--space-2) 0 0;
    color: var(--text-on-navy-muted);
    font-size: var(--text-body-lg-size);
}

.lms-dashboard-hero-actions {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    gap: var(--space-3);
}

.lms-dashboard-date {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    min-block-size: 40px;
    padding: var(--space-2) var(--space-3);
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: var(--radius-pill);
    background: rgba(255, 255, 255, .07);
    color: var(--text-on-navy);
    font-size: var(--text-body-sm-size);
    font-weight: 700;
}

.lms-dashboard-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--space-4);
}

.lms-dashboard-stats .lms-stat-card {
    position: relative;
    overflow: hidden;
    min-block-size: 156px;
    padding: var(--space-5);
    transition: transform var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard);
}

.lms-dashboard-stats .lms-stat-card::after {
    content: '';
    position: absolute;
    inset-inline: 0;
    inset-block-end: 0;
    block-size: 3px;
    background: linear-gradient(90deg, var(--brand-accent), var(--color-orange-100));
}

.lms-dashboard-stats .lms-stat-card:hover {
    transform: translateY(-2px);
    border-color: var(--color-neutral-300);
    box-shadow: var(--shadow-md);
}

.lms-dashboard .lms-card {
    border-radius: var(--radius-xl);
}

.lms-dashboard-orders,
.lms-dashboard-chart-card,
.lms-dashboard-snapshot,
.lms-dashboard-reports,
.lms-dashboard-payments {
    padding: var(--space-6);
}

.lms-dashboard-section-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--space-4);
    margin-block-end: var(--space-5);
}

.lms-dashboard-section-head h2 {
    margin: 0;
    font-family: var(--font-display);
    font-size: var(--text-h2-size);
    line-height: var(--text-h2-line);
}

.lms-dashboard-section-head p {
    margin: var(--space-1) 0 0;
    color: var(--text-secondary);
    font-size: var(--text-body-sm-size);
}

.lms-dashboard-orders .lms-table-wrap,
.lms-dashboard-payments .lms-table-wrap {
    border-radius: var(--radius-lg);
    box-shadow: none;
}

.lms-dashboard-orders .lms-table tbody tr,
.lms-dashboard-payments .lms-table tbody tr {
    transition: background var(--duration-fast) var(--ease-standard);
}

.lms-dashboard-orders .lms-table tbody tr:hover,
.lms-dashboard-payments .lms-table tbody tr:hover {
    background: var(--color-neutral-50);
}

.lms-dashboard-customer {
    color: var(--text-primary);
    font-weight: 700;
}

.lms-dashboard-activity {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    color: var(--text-secondary);
    font-size: var(--text-body-sm-size);
}

.lms-dashboard-activity span {
    inline-size: 6px;
    block-size: 6px;
    border-radius: var(--radius-pill);
    background: var(--color-success-500);
    box-shadow: 0 0 0 3px var(--color-success-100);
}

.lms-dashboard-insights {
    display: grid;
    grid-template-columns: minmax(0, 1.65fr) minmax(280px, .75fr);
    gap: var(--space-4);
}

.lms-dashboard-legend {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    color: var(--text-secondary);
    font-size: var(--text-body-sm-size);
    font-weight: 700;
}

.lms-dashboard-legend span {
    inline-size: 18px;
    block-size: 3px;
    border-radius: var(--radius-pill);
    background: var(--brand-accent);
}

.lms-sales-chart {
    min-block-size: 250px;
}

.lms-sales-chart svg {
    display: block;
    inline-size: 100%;
    block-size: 210px;
    overflow: visible;
}

.lms-sales-chart svg line {
    stroke: var(--color-neutral-100);
    stroke-width: .6;
    vector-effect: non-scaling-stroke;
}

.lms-sales-chart-area {
    fill: rgba(242, 113, 28, .12);
}

.lms-sales-chart-line {
    fill: none;
    stroke: var(--brand-accent);
    stroke-width: 2.5;
    stroke-linecap: round;
    stroke-linejoin: round;
    vector-effect: non-scaling-stroke;
}

.lms-sales-chart circle {
    fill: var(--surface-card);
    stroke: var(--brand-accent);
    stroke-width: 2;
    vector-effect: non-scaling-stroke;
}

.lms-sales-chart-labels {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: var(--space-1);
    padding-inline: 3%;
    color: var(--text-secondary);
    font-size: var(--text-caption-size);
    text-align: center;
}

.lms-dashboard-snapshot dl {
    display: grid;
    gap: 0;
    margin: 0;
}

.lms-dashboard-snapshot dl > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-4);
    padding-block: var(--space-4);
    border-block-end: 1px solid var(--border-default);
}

.lms-dashboard-snapshot dl > div:last-child {
    border-block-end: 0;
}

.lms-dashboard-snapshot dt {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    color: var(--text-secondary);
    font-weight: 700;
}

.lms-dashboard-snapshot dd {
    margin: 0;
    color: var(--text-primary);
    font-family: var(--font-mono);
    font-weight: 800;
}

.lms-dashboard-snapshot dd a {
    color: var(--brand-accent-hover);
    text-decoration: none;
}

.lms-dashboard-snapshot-icon {
    display: grid;
    place-items: center;
    inline-size: 32px;
    block-size: 32px;
    border-radius: var(--radius-md);
    background: var(--color-neutral-100);
    color: var(--brand-primary);
}

.lms-dashboard-report-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: var(--space-3);
}

.lms-dashboard-report-grid .lms-stat-card {
    min-block-size: 128px;
    padding: var(--space-4);
}

.lms-dashboard-report-grid .lms-stat-card-value {
    overflow: hidden;
    font-size: var(--text-h2-size);
    line-height: var(--text-h2-line);
    text-overflow: ellipsis;
    white-space: nowrap;
}

html[dir="rtl"] .lms-dashboard-hero h2,
html[dir="rtl"] .lms-dashboard-section-head h2 {
    font-family: var(--rtl-font-display);
}

@media (max-width: 1280px) {
    .lms-dashboard-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

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

@media (max-width: 960px) {
    .lms-dashboard-hero {
        align-items: flex-start;
    }

    .lms-dashboard-hero-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .lms-dashboard-insights {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767px) {
    .lms-dashboard {
        gap: var(--space-4);
    }

    .lms-dashboard-hero {
        display: grid;
        padding: var(--space-5);
    }

    .lms-dashboard-hero-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .lms-dashboard-date {
        inline-size: max-content;
    }

    .lms-dashboard-stats,
    .lms-dashboard-report-grid {
        grid-template-columns: 1fr;
    }

    .lms-dashboard-orders,
    .lms-dashboard-chart-card,
    .lms-dashboard-snapshot,
    .lms-dashboard-reports,
    .lms-dashboard-payments {
        padding: var(--space-4);
    }

    .lms-dashboard-section-head {
        display: grid;
        margin-block-end: var(--space-4);
    }

    .lms-dashboard-section-head .lms-btn {
        inline-size: 100%;
    }

    .lms-sales-chart {
        min-block-size: 210px;
        overflow-x: auto;
    }

    .lms-sales-chart svg,
    .lms-sales-chart-labels {
        min-inline-size: 540px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .lms-dashboard-stats .lms-stat-card {
        transition: none;
    }

    .lms-dashboard-stats .lms-stat-card:hover {
        transform: none;
    }
}
/* ---- End LMS Dashboard Page ---- */

/* ---- LMS Global Shell: Sidebar & Topbar ---- */
.lms-app {
    min-block-size: 100vh;
    min-block-size: 100dvh;
    max-inline-size: 100vw;
    overflow-x: clip;
}

.lms-main {
    min-inline-size: 0;
    inline-size: calc(100% - 280px);
    max-inline-size: calc(100vw - 280px);
    overflow-x: clip;
}

.lms-sidebar-collapsed .lms-main {
    inline-size: calc(100% - 84px);
    max-inline-size: calc(100vw - 84px);
}

.lms-sidebar {
    position: sticky;
    inset-block-start: 0;
    inline-size: 288px;
    block-size: 100vh;
    block-size: 100dvh;
    flex: 0 0 288px;
    padding: 0;
    overflow: hidden;
    border-inline-end: 1px solid rgba(255, 255, 255, .08);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .045), rgba(255, 255, 255, 0) 34%),
        linear-gradient(180deg, #07182c 0%, #081b31 54%, #061322 100%);
    color: var(--text-on-navy);
    box-shadow: inset -1px 0 0 rgba(255, 255, 255, .04);
    transition: inline-size var(--duration-slow) var(--ease-standard), flex-basis var(--duration-slow) var(--ease-standard), transform var(--duration-base) var(--ease-standard);
}

.lms-sidebar-inner {
    display: grid;
    grid-template-rows: 82px minmax(0, 1fr);
    block-size: 100%;
}

.lms-sidebar-brand {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    min-inline-size: 0;
    padding-inline: var(--space-4);
    border-block-end: 1px solid rgba(255, 255, 255, .09);
    background: rgba(255, 255, 255, .035);
}

.lms-brand-link {
    display: flex;
    align-items: center;
    min-inline-size: 0;
    gap: var(--space-2);
    padding: var(--space-2);
    border-radius: 8px;
    color: var(--color-white);
    text-decoration: none;
}

.lms-brand-link:hover,
.lms-brand-link:focus-visible {
    background: rgba(255, 255, 255, .07);
}

.lms-brand-mark {
    display: grid;
    place-items: center;
    inline-size: 42px;
    block-size: 42px;
    flex: 0 0 42px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 8px;
    background: rgba(255, 255, 255, .1);
    box-shadow: 0 10px 20px rgba(0, 0, 0, .2);
}

.lms-brand-mark img {
    inline-size: 29px;
    block-size: 29px;
    object-fit: contain;
}

.lms-brand-copy {
    display: grid;
    min-inline-size: 0;
    line-height: 1.2;
}

.lms-brand-copy strong {
    font-family: var(--font-display);
    font-size: 18px;
    letter-spacing: 0;
}

.lms-brand-copy small {
    overflow: hidden;
    color: var(--text-on-navy-muted);
    font-size: var(--text-caption-size);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lms-sidebar-mobile-close {
    display: none;
    inline-size: 38px;
    block-size: 38px;
    padding: 0;
    border: 0;
    border-radius: 8px;
    background: rgba(255, 255, 255, .08);
    color: var(--color-white);
    cursor: pointer;
    font-size: 24px;
}

.lms-sidebar-brand-controls {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    gap: var(--space-2);
}

.lms-sidebar-nav {
    min-block-size: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: var(--space-3) var(--space-3) var(--space-4);
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 255, 255, .18) transparent;
}

.lms-sidebar-menu-group + .lms-sidebar-menu-group {
    margin-block-start: var(--space-4);
}

.lms-sidebar-group-label {
    margin: var(--space-2) 0 var(--space-1);
    padding-inline: var(--space-3);
    color: rgba(226, 235, 245, .58);
    font-family: var(--font-body);
    font-size: var(--text-caption-size);
    line-height: var(--text-caption-line);
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

.lms-sidebar-link,
.lms-sidebar-parent {
    position: relative;
    display: flex;
    align-items: center;
    inline-size: 100%;
    min-block-size: 42px;
    gap: var(--space-2);
    margin-block: 3px;
    padding: 5px var(--space-2);
    border: 1px solid transparent;
    border-radius: 8px;
    background: transparent;
    color: rgba(241, 246, 251, .86);
    cursor: pointer;
    font: 700 var(--text-body-size)/var(--text-body-line) var(--font-body);
    text-align: start;
    text-decoration: none;
    transition: background var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard);
}

.lms-sidebar .lms-sidebar-link {
    margin-block: 2px;
    margin-inline: 0;
}

.lms-sidebar-link:hover,
.lms-sidebar-parent:hover {
    border-color: rgba(255, 255, 255, .08);
    background: rgba(255, 255, 255, .075);
    color: var(--color-white);
}

.lms-sidebar-link:focus-visible,
.lms-sidebar-parent:focus-visible,
.lms-sidebar-child:focus-visible,
.lms-sidebar-toggle:focus-visible,
.lms-sidebar-mobile-close:focus-visible {
    outline: 0;
    box-shadow: var(--shadow-focus);
}

.lms-sidebar-link::before,
.lms-sidebar-child::before {
    content: '';
    position: absolute;
    inset-inline-start: 0;
    inset-block: 8px;
    inline-size: 3px;
    border-radius: var(--radius-pill);
    background: transparent;
}

.lms-sidebar-link.is-active,
.lms-sidebar-section.is-active > .lms-sidebar-parent {
    border-color: rgba(255, 255, 255, .13);
    background: rgba(255, 255, 255, .115);
    color: var(--color-white);
    box-shadow: inset 3px 0 0 var(--brand-accent);
}

.lms-sidebar-link.is-active::before,
.lms-sidebar-section.is-active > .lms-sidebar-parent::before {
    background: var(--brand-accent);
}

.lms-sidebar-link-icon {
    display: grid;
    place-items: center;
    inline-size: 32px;
    block-size: 32px;
    flex: 0 0 32px;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 8px;
    background: rgba(255, 255, 255, .045);
    color: rgba(210, 222, 236, .74);
}

.lms-sidebar-link:hover .lms-sidebar-link-icon,
.lms-sidebar-link.is-active .lms-sidebar-link-icon,
.lms-sidebar-parent:hover .lms-sidebar-link-icon,
.lms-sidebar-section.is-active > .lms-sidebar-parent .lms-sidebar-link-icon {
    border-color: rgba(255, 255, 255, .14);
    background: rgba(255, 255, 255, .09);
    color: var(--color-white);
}

.lms-sidebar-link-label {
    flex: 1 1 auto;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lms-sidebar-section-chevron {
    flex: 0 0 auto;
    margin-inline-start: auto;
    color: var(--text-on-navy-muted);
    transition: transform var(--duration-base) var(--ease-standard);
}

.lms-sidebar-section.is-open > .lms-sidebar-parent .lms-sidebar-section-chevron {
    transform: rotate(180deg);
}

.lms-sidebar-section-panel {
    display: grid;
    gap: 1px;
    overflow: hidden;
    margin: 2px 0 var(--space-1) 18px;
    padding: var(--space-1) 0 var(--space-1) var(--space-3);
    border-inline-start: 1px solid rgba(255, 255, 255, .1);
}

.lms-sidebar-section-panel[hidden] {
    display: none;
}

.lms-sidebar-child {
    position: relative;
    display: flex;
    align-items: center;
    min-block-size: 34px;
    gap: var(--space-2);
    margin-inline-start: 0;
    padding: 7px var(--space-2);
    border-radius: 6px;
    color: rgba(210, 222, 236, .72);
    font-size: var(--text-body-sm-size);
    font-weight: 700;
    text-decoration: none;
    transition: background var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);
}

.lms-sidebar .lms-sidebar-child {
    margin-block: 0;
    margin-inline-start: 0;
}

.lms-sidebar-child > span:first-child {
    inline-size: 6px;
    block-size: 6px;
    flex: 0 0 6px;
    border-radius: var(--radius-pill);
    background: currentColor;
    opacity: .65;
}

.lms-sidebar-child:hover,
.lms-sidebar-child.is-active {
    background: rgba(255, 255, 255, .08);
    color: var(--color-white);
}

.lms-sidebar-child.is-active::before {
    background: var(--brand-accent);
}

.lms-sidebar-toggle {
    display: grid;
    place-items: center;
    align-items: center;
    inline-size: 38px;
    block-size: 38px;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 8px;
    background: rgba(255, 255, 255, .06);
    color: var(--text-on-navy-muted);
    cursor: pointer;
}

.lms-sidebar-toggle:hover {
    background: rgba(255, 255, 255, .1);
    color: var(--color-white);
}

.lms-sidebar-toggle-icon {
    transform: rotate(90deg);
}

.lms-sidebar-collapsed .lms-sidebar {
    inline-size: 84px;
    flex-basis: 84px;
}

.lms-sidebar-collapsed .lms-sidebar-inner {
    grid-template-rows: 112px minmax(0, 1fr);
}

.lms-sidebar-collapsed .lms-sidebar-brand {
    flex-direction: column;
    justify-content: center;
    padding-block: var(--space-3);
    padding-inline: var(--space-2);
    gap: var(--space-2);
}

.lms-sidebar-collapsed .lms-brand-link {
    display: flex;
    padding: 0;
}

.lms-sidebar-collapsed .lms-brand-copy,
.lms-sidebar-collapsed .lms-sidebar-group-label,
.lms-sidebar-collapsed .lms-sidebar-link-label,
.lms-sidebar-collapsed .lms-sidebar-section-chevron,
.lms-sidebar-collapsed .lms-sidebar-section-panel,
.lms-sidebar-collapsed .lms-sidebar-toggle span {
    display: none;
}

.lms-sidebar-collapsed .lms-sidebar-link,
.lms-sidebar-collapsed .lms-sidebar-parent,
.lms-sidebar-collapsed .lms-sidebar-toggle {
    justify-content: center;
    padding-inline: var(--space-1);
}

.lms-sidebar-collapsed .lms-sidebar-menu-group + .lms-sidebar-menu-group {
    margin-block-start: var(--space-3);
}

.lms-sidebar-collapsed .lms-sidebar-toggle-icon {
    transform: rotate(-90deg);
}

.lms-topbar {
    position: sticky;
    inset-block-start: 0;
    z-index: 30;
    display: grid;
    grid-template-columns: minmax(140px, .7fr) minmax(280px, 520px) auto;
    align-items: center;
    min-block-size: 72px;
    block-size: 72px;
    gap: var(--space-5);
    padding: var(--space-2) var(--space-8);
    border-block-end: 1px solid var(--border-default);
    background: color-mix(in srgb, var(--surface-card) 96%, transparent);
    backdrop-filter: blur(14px);
}

.lms-topbar-heading {
    display: flex;
    align-items: center;
    min-inline-size: 0;
    gap: var(--space-3);
}

.lms-topbar-title-block {
    min-inline-size: 0;
}

.lms-topbar-title-block span {
    display: block;
    overflow: hidden;
    color: var(--text-primary);
    font-family: var(--font-display);
    font-size: var(--text-h2-size);
    line-height: var(--text-h2-line);
    font-weight: var(--text-h2-weight);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lms-mobile-menu-button {
    display: none;
    inline-size: 40px;
    block-size: 40px;
    padding: 10px;
    border: 1px solid var(--border-default);
    border-radius: var(--radius-md);
    background: var(--surface-card);
    cursor: pointer;
}

.lms-mobile-menu-button span {
    display: block;
    block-size: 2px;
    margin-block: 3px;
    border-radius: var(--radius-pill);
    background: var(--text-primary);
}

.lms-topbar-search {
    position: relative;
    display: flex;
    align-items: center;
    min-inline-size: 0;
    inline-size: 100%;
    block-size: 42px;
    border: 1px solid transparent;
    border-radius: var(--radius-pill);
    background: var(--surface-app);
    transition: border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard), background var(--duration-fast) var(--ease-standard);
}

.lms-topbar-search:focus-within {
    border-color: var(--brand-accent);
    background: var(--surface-card);
    box-shadow: var(--shadow-focus);
}

.lms-topbar-search-icon {
    position: absolute;
    inset-inline-start: var(--space-4);
    color: var(--text-secondary);
    pointer-events: none;
}

.lms-topbar-search input {
    inline-size: 100%;
    block-size: 100%;
    padding-inline: var(--space-10) var(--space-12);
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--text-primary);
    font: var(--text-body-weight) var(--text-body-size)/var(--text-body-line) var(--font-body);
}

.lms-topbar-search > kbd {
    position: absolute;
    inset-inline-end: var(--space-3);
    display: grid;
    place-items: center;
    inline-size: 24px;
    block-size: 24px;
    border: 1px solid var(--border-default);
    border-radius: var(--radius-sm);
    background: var(--surface-card);
    color: var(--text-secondary);
    font: 600 var(--text-caption-size)/1 var(--font-mono);
}

.lms-topbar-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    min-inline-size: max-content;
    inline-size: auto;
    gap: var(--space-2);
    flex: 0 0 auto;
    overflow: visible;
    padding: 0;
}

.lms-quick-actions {
    position: relative;
}

.lms-quick-actions summary {
    display: flex;
    align-items: center;
    min-block-size: 38px;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-3);
    border-radius: var(--radius-pill);
    background: var(--brand-accent);
    color: var(--color-white);
    cursor: pointer;
    font-size: var(--text-body-sm-size);
    font-weight: 800;
    list-style: none;
    box-shadow: var(--shadow-xs);
}

.lms-quick-actions summary::-webkit-details-marker { display: none; }
.lms-quick-actions[open] summary { background: var(--brand-accent-hover); }

.lms-quick-actions-panel {
    position: absolute;
    z-index: 65;
    inset-block-start: calc(100% + var(--space-2));
    inset-inline-end: 0;
    display: grid;
    inline-size: 210px;
    overflow: hidden;
    padding: var(--space-2);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-lg);
    background: var(--surface-card);
    box-shadow: var(--shadow-lg);
}

.lms-quick-actions-panel a {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-3);
    border-radius: var(--radius-md);
    color: var(--text-primary);
    font-size: var(--text-body-sm-size);
    font-weight: 700;
    text-decoration: none;
}

.lms-quick-actions-panel a:hover {
    background: var(--surface-app);
    color: var(--brand-accent-hover);
}

.lms-topbar-locale-switch {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    padding: 3px;
    border: 1px solid var(--border-default);
    border-radius: var(--radius-pill);
    background: var(--surface-app);
}

.lms-topbar-locale-option {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-inline-size: 52px;
    min-block-size: 30px;
    padding-inline: var(--space-3);
    border: 0;
    border-radius: var(--radius-pill);
    background: transparent;
    color: var(--text-secondary);
    cursor: pointer;
    font: 700 var(--text-caption-size)/1 var(--font-body);
    text-align: center;
    text-decoration: none;
}

.lms-topbar-locale-option.is-active {
    background: var(--brand-primary);
    color: var(--color-white);
    box-shadow: var(--shadow-xs);
}

.lms-topbar-icon-button {
    position: relative;
    inline-size: 40px;
    block-size: 40px;
    border-radius: var(--radius-pill);
}

.lms-notification-count {
    position: absolute;
    inset-inline-end: -2px;
    inset-block-start: -3px;
    display: grid;
    place-items: center;
    min-inline-size: 18px;
    block-size: 18px;
    padding-inline: 4px;
    border: 2px solid var(--surface-card);
    border-radius: var(--radius-pill);
    background: var(--brand-accent);
    color: var(--color-white);
    font-size: 10px;
    font-weight: 800;
}

.lms-notification-menu,
.lms-user-menu {
    position: relative;
}

.lms-user-menu-trigger {
    display: flex;
    align-items: center;
    min-block-size: 46px;
    gap: var(--space-2);
    padding: 3px var(--space-2) 3px 4px;
    border: 1px solid transparent;
    border-radius: var(--radius-pill);
    background: transparent;
    color: var(--text-primary);
    cursor: pointer;
    text-align: start;
}

.lms-user-menu-trigger:hover,
.lms-user-menu-trigger[aria-expanded="true"] {
    border-color: var(--border-default);
    background: var(--surface-app);
}

.lms-user-avatar {
    display: grid;
    place-items: center;
    inline-size: 38px;
    block-size: 38px;
    flex: 0 0 38px;
    border-radius: var(--radius-pill);
    background: var(--color-navy-100);
    color: var(--brand-primary);
    font-family: var(--font-display);
    font-weight: 800;
}

.lms-user-meta {
    display: grid;
    max-inline-size: 150px;
    line-height: 1.2;
}

.lms-user-meta strong,
.lms-user-meta small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lms-user-meta strong { font-size: var(--text-body-sm-size); }
.lms-user-meta small { color: var(--text-secondary); font-size: var(--text-caption-size); }

.lms-global-search-panel,
.lms-notification-panel,
.lms-user-menu-panel {
    position: absolute;
    z-index: 60;
    inset-block-start: calc(100% + var(--space-2));
    border: 1px solid var(--border-default);
    border-radius: var(--radius-lg);
    background: var(--surface-card);
    box-shadow: var(--shadow-lg);
}

.lms-global-search-panel[hidden],
.lms-notification-panel[hidden],
.lms-user-menu-panel[hidden] { display: none; }

.lms-global-search-panel {
    inset-inline: 0;
    padding: var(--space-2);
}

.lms-notification-panel,
.lms-user-menu-panel {
    inset-inline-end: 0;
    inline-size: min(360px, calc(100vw - var(--space-6)));
    overflow: hidden;
}

.lms-notification-panel header,
.lms-user-menu-header {
    display: grid;
    gap: 2px;
    padding: var(--space-4);
    border-block-end: 1px solid var(--border-default);
}

.lms-notification-panel header small,
.lms-user-menu-header small { color: var(--text-secondary); }

.lms-notification-panel > a {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-3) var(--space-4);
    border-block-end: 1px solid var(--border-default);
    color: var(--text-primary);
    text-decoration: none;
}

.lms-notification-panel > a:hover,
.lms-user-menu-item:hover { background: var(--color-neutral-50); }

.lms-user-menu-item {
    display: flex;
    align-items: center;
    inline-size: 100%;
    gap: var(--space-3);
    padding: var(--space-3) var(--space-4);
    border: 0;
    background: transparent;
    color: var(--text-primary);
    cursor: pointer;
    font: 700 var(--text-body-sm-size)/var(--text-body-sm-line) var(--font-body);
    text-align: start;
    text-decoration: none;
}

.lms-user-menu-item.is-danger { color: var(--color-danger-600); }
.lms-user-menu-panel form { margin: 0; }
.lms-user-menu-panel hr { margin: var(--space-1) 0; border: 0; border-block-start: 1px solid var(--border-default); }

.lms-user-menu-locale {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    padding: var(--space-3) var(--space-4);
    color: var(--text-secondary);
    font-size: var(--text-body-sm-size);
}

.lms-user-menu-locale > div {
    display: flex;
    padding: 2px;
    border-radius: var(--radius-pill);
    background: var(--surface-app);
}

.lms-user-locale-option {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-inline-size: 44px;
    padding: var(--space-1) var(--space-2);
    border: 0;
    border-radius: var(--radius-pill);
    background: transparent;
    color: var(--text-secondary);
    cursor: pointer;
    font-size: var(--text-caption-size);
    font-weight: 700;
    line-height: 1;
    text-align: center;
    text-decoration: none;
}

.lms-user-locale-option.is-active { background: var(--surface-card); color: var(--brand-primary); box-shadow: var(--shadow-xs); }

html[dir="rtl"] .lms-topbar-title-block span,
html[dir="rtl"] .lms-brand-copy strong { font-family: var(--rtl-font-display); }

html[dir="rtl"] .lms-sidebar-toggle-icon { transform: rotate(-90deg); }
html[dir="rtl"].lms-sidebar-collapsed .lms-sidebar-toggle-icon { transform: rotate(90deg); }

@media (max-width: 1180px) {
    .lms-topbar {
        grid-template-columns: minmax(200px, 1fr) minmax(240px, 380px) auto;
        padding-inline: var(--space-5);
    }

    .lms-user-meta { display: none; }
    .lms-quick-actions summary span { display: none; }
}

@media (max-width: 1280px) {
    .lms-app { display: block; }

    .lms-sidebar {
        position: fixed;
        inset-block: 0;
        inset-inline-start: 0;
        z-index: 50;
        inline-size: min(88vw, 320px);
        block-size: 100dvh;
        transform: translateX(-105%);
        box-shadow: var(--shadow-lg);
    }

    html[dir="rtl"] .lms-sidebar { transform: translateX(105%); }
    .lms-sidebar-mobile-open .lms-sidebar { transform: translateX(0); }
    .lms-sidebar-mobile-close { display: grid; place-items: center; }
    .lms-sidebar-toggle { display: none; }
    .lms-sidebar-collapsed .lms-sidebar { inline-size: min(88vw, 320px); }
    .lms-sidebar-collapsed .lms-sidebar-inner { grid-template-rows: 82px minmax(0, 1fr); }
    .lms-sidebar-collapsed .lms-sidebar-brand { flex-direction: row; justify-content: space-between; padding-block: 0; padding-inline: var(--space-4); }
    .lms-sidebar-collapsed .lms-brand-link { display: flex; }
    .lms-sidebar-collapsed .lms-brand-copy,
    .lms-sidebar-collapsed .lms-sidebar-group-label,
    .lms-sidebar-collapsed .lms-sidebar-link-label,
    .lms-sidebar-collapsed .lms-sidebar-section-chevron { display: initial; }
    .lms-sidebar-collapsed .lms-sidebar-section-panel { display: grid; }
    .lms-sidebar-collapsed .lms-sidebar-section-panel[hidden] { display: none; }
    .lms-sidebar-collapsed .lms-sidebar-link,
    .lms-sidebar-collapsed .lms-sidebar-parent { justify-content: flex-start; padding-inline: var(--space-3); }

    .lms-sidebar-inner { overflow: hidden; }

    .lms-mobile-menu-button { display: block; flex: 0 0 40px; }

    .lms-main,
    .lms-sidebar-collapsed .lms-main {
        inline-size: 100%;
        max-inline-size: 100vw;
    }

    .lms-topbar {
        grid-template-columns: minmax(0, 1fr) auto;
        block-size: auto;
        gap: var(--space-3);
        padding: var(--space-3) var(--space-4);
    }

    .lms-topbar-search {
        grid-column: 1 / -1;
        grid-row: 2;
        max-inline-size: none;
    }

    .lms-topbar-actions {
        inline-size: auto;
        overflow: visible;
        padding: 0;
    }

    .lms-dashboard-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.lms-dashboard > *,
.lms-dashboard-hero-copy,
.lms-dashboard-insights > *,
.lms-dashboard-stats > * {
    min-inline-size: 0;
}

.lms-dashboard-hero h2,
.lms-dashboard-hero p {
    overflow-wrap: anywhere;
}

@media (max-width: 600px) {
    .lms-topbar-title-block span { font-size: var(--text-h3-size); line-height: var(--text-h3-line); }
    .lms-topbar-locale-option { padding-inline: var(--space-2); }
    .lms-user-menu-trigger { padding: 0; }
    .lms-user-menu-chevron { display: none; }
    .lms-notification-panel,
    .lms-user-menu-panel { position: fixed; inset-inline: var(--space-3); inset-block-start: 74px; inline-size: auto; }
}

@media (prefers-reduced-motion: reduce) {
    .lms-sidebar,
    .lms-sidebar-link,
    .lms-sidebar-parent,
    .lms-sidebar-section-chevron,
    .lms-topbar-search { transition: none; }
}
/* ---- End LMS Global Shell: Sidebar & Topbar ---- */

/* ---- LMS Full-page POS Workspace ---- */
.lms-pos-page-body {
    min-inline-size: 320px;
    min-block-size: 100vh;
    min-block-size: 100dvh;
    overflow: hidden;
    background: var(--surface-app);
    color: var(--text-primary);
}

.lms-pos-page-header {
    position: relative;
    z-index: 40;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    block-size: 72px;
    padding-inline: var(--space-5);
    border-block-end: 1px solid var(--border-default);
    background: var(--surface-card);
    box-shadow: var(--shadow-xs);
}

.lms-pos-back {
    display: inline-flex;
    align-items: center;
    justify-self: start;
    min-block-size: 40px;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-3);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-pill);
    background: var(--surface-card);
    color: var(--text-primary);
    font-size: var(--text-body-sm-size);
    font-weight: 800;
    text-decoration: none;
}

.lms-pos-back:hover {
    border-color: var(--brand-accent);
    background: var(--color-orange-100);
    color: var(--brand-accent-hover);
}

.lms-pos-back .lms-icon { transform: rotate(90deg); }
html[dir="rtl"] .lms-pos-back .lms-icon { transform: rotate(-90deg); }

.lms-pos-page-brand {
    display: flex;
    align-items: center;
    justify-self: center;
    gap: var(--space-3);
}

.lms-pos-page-brand > span {
    display: grid;
    place-items: center;
    inline-size: 40px;
    block-size: 40px;
    border-radius: var(--radius-md);
    background: var(--brand-accent);
}

.lms-pos-page-brand img { inline-size: 28px; block-size: 28px; object-fit: contain; }
.lms-pos-page-brand > div { display: grid; line-height: 1.2; }
.lms-pos-page-brand strong { font: 700 var(--text-h3-size)/var(--text-h3-line) var(--font-display); }
.lms-pos-page-brand small { color: var(--text-secondary); font-size: var(--text-caption-size); }

.lms-pos-page-meta {
    display: flex;
    align-items: center;
    justify-self: end;
    gap: var(--space-3);
    color: var(--text-secondary);
    font-size: var(--text-body-sm-size);
    font-weight: 700;
}

.lms-pos-page-main {
    block-size: calc(100vh - 72px);
    block-size: calc(100dvh - 72px);
    min-inline-size: 0;
    padding: var(--space-4);
    overflow: hidden;
}

.lms-pos-page-main > .lms-toast-stack { position: fixed; }

.lms-pos-page-body .lms-pos-shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 400px;
    gap: var(--space-4);
    align-items: stretch;
    block-size: 100%;
    min-block-size: 0;
    padding: 0;
}

.lms-pos-page-body .lms-pos-catalog,
.lms-pos-page-body .lms-pos-cart {
    min-inline-size: 0;
    min-block-size: 0;
    border: 1px solid var(--border-default);
    border-radius: var(--radius-xl);
    background: var(--surface-card);
    box-shadow: var(--shadow-sm);
}

.lms-pos-page-body .lms-pos-catalog {
    padding: var(--space-5);
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
}

.lms-pos-pane-head,
.lms-pos-cart-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--space-4);
}

.lms-pos-pane-head { margin-block-end: var(--space-5); }
.lms-pos-pane-head h1,
.lms-pos-cart-head h2 { margin: 0; font-family: var(--font-display); }
.lms-pos-pane-head h1 { font-size: var(--text-display-lg-size); line-height: var(--text-display-lg-line); }
.lms-pos-cart-head h2 { font-size: var(--text-h2-size); line-height: var(--text-h2-line); }
.lms-pos-pane-head p { margin: var(--space-1) 0 0; color: var(--text-secondary); }

.lms-pos-kicker {
    display: block;
    margin-block-end: var(--space-1);
    color: var(--brand-accent-hover);
    font-size: var(--text-caption-size);
    line-height: var(--text-caption-line);
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.lms-pos-catalog-count {
    flex: 0 0 auto;
    padding: var(--space-2) var(--space-3);
    border-radius: var(--radius-pill);
    background: var(--surface-app);
    color: var(--text-secondary);
    font-size: var(--text-body-sm-size);
    font-weight: 700;
}

.lms-pos-search-wrap .lms-form-field { margin: 0; }
.lms-pos-search-wrap .lms-form-label { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip: rect(0,0,0,0); }
.lms-pos-search-wrap .lms-form-control { min-block-size: 48px; border-radius: var(--radius-pill); background: var(--surface-app); }

.lms-pos-page-body .lms-pos-tabs {
    display: flex;
    flex-wrap: nowrap;
    gap: var(--space-2);
    margin-block: var(--space-4);
    padding-block-end: var(--space-1);
    overflow-x: auto;
    scrollbar-width: none;
}

.lms-pos-page-body .lms-pos-tabs::-webkit-scrollbar { display: none; }
.lms-pos-page-body .lms-pos-tabs button {
    flex: 0 0 auto;
    min-block-size: 38px;
    padding: var(--space-2) var(--space-4);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-pill);
    background: var(--surface-card);
    color: var(--text-secondary);
    cursor: pointer;
    font-weight: 800;
}
.lms-pos-page-body .lms-pos-tabs button:hover { border-color: var(--color-neutral-300); color: var(--text-primary); }
.lms-pos-page-body .lms-pos-tabs button.is-active { border-color: var(--brand-primary); background: var(--brand-primary); color: var(--color-white); }

.lms-pos-page-body .lms-pos-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(145px, 1fr));
    gap: var(--space-3);
}

.lms-pos-page-body .lms-service-tile {
    position: relative;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-content: start;
    align-items: center;
    justify-items: stretch;
    min-block-size: 132px;
    gap: var(--space-3);
    padding: var(--space-4);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-lg);
    background: var(--surface-card);
    color: var(--text-primary);
    cursor: pointer;
    text-align: start;
    box-shadow: var(--shadow-xs);
}

.lms-pos-page-body .lms-service-tile:hover,
.lms-pos-page-body .lms-service-tile:focus-visible {
    transform: translateY(-2px);
    border-color: var(--brand-accent);
    box-shadow: var(--shadow-md);
}

.lms-pos-page-body .lms-service-tile.is-selected,
.lms-pos-page-body .lms-service-tile[aria-pressed="true"] {
    border-color: var(--brand-accent);
    background: linear-gradient(145deg, var(--surface-card), var(--color-orange-100));
    box-shadow: 0 0 0 3px rgba(242, 113, 28, .16);
}

.lms-pos-page-body .lms-service-icon {
    display: grid;
    place-items: center;
    inline-size: 40px;
    block-size: 40px;
    border-radius: var(--radius-md);
    background: var(--color-orange-100);
    color: var(--brand-accent-hover);
}

.lms-service-tile-copy { display: grid; min-inline-size: 0; gap: 2px; }
.lms-service-tile-copy strong { overflow: hidden; font-size: var(--text-h3-size); text-overflow: ellipsis; white-space: nowrap; }
.lms-service-tile-copy small { color: var(--text-secondary); }
.lms-service-price { grid-column: 1 / -1; color: var(--brand-primary); font-family: var(--font-mono); font-size: var(--text-body-lg-size); font-weight: 700; }
.lms-pos-page-body .lms-service-tile em { inset-block-start: var(--space-2); inset-inline-end: var(--space-2); background: var(--brand-accent); }

.lms-pos-page-body .lms-pos-cart {
    position: static;
    display: flex;
    flex-direction: column;
    max-block-size: none;
    padding: var(--space-5);
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
}

.lms-pos-cart-head {
    flex: 0 0 auto;
    margin-block-end: var(--space-4);
    padding-block-end: var(--space-4);
    border-block-end: 1px solid var(--border-default);
}

.lms-pos-cart-head .lms-link-button { align-self: center; padding: var(--space-2); }

.lms-pos-page-body .lms-pos-customer-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: var(--space-2);
    margin-block-end: var(--space-4);
}

.lms-pos-page-body .lms-pos-customer-row .lms-btn { min-block-size: 42px; }

.lms-pos-page-body .lms-pos-lines {
    display: grid;
    flex: 1 1 auto;
    align-content: start;
    min-block-size: 150px;
    gap: var(--space-2);
    margin-block-end: var(--space-4);
}

.lms-pos-page-body .lms-pos-lines > .lms-empty-state { padding-block: var(--space-8); }

.lms-pos-page-body .lms-pos-line {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--space-2) var(--space-3);
    padding: var(--space-3);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-lg);
    background: var(--surface-app);
}

.lms-pos-page-body .lms-pos-line-main { grid-column: 1 / -1; }
.lms-pos-page-body .lms-pos-line > [data-price] { color: var(--text-secondary); font-size: var(--text-body-sm-size); }
.lms-pos-page-body .lms-pos-line > .lms-stepper { justify-self: end; }
.lms-pos-page-body .lms-pos-line > [data-total] { font-size: var(--text-body-lg-size); }
.lms-pos-page-body .lms-pos-line > [data-remove] { justify-self: end; color: var(--color-danger-600); }

.lms-pos-page-body .lms-pos-summary {
    flex: 0 0 auto;
    display: grid;
    gap: var(--space-2);
    padding: var(--space-4);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-lg);
    background: var(--surface-app);
}

.lms-pos-page-body .lms-pos-summary > div,
.lms-pos-page-body .lms-pos-summary > label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    margin: 0;
}

.lms-pos-page-body .lms-pos-summary input {
    inline-size: 112px;
    padding: var(--space-2);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-md);
    background: var(--surface-card);
    font-family: var(--font-mono);
    text-align: end;
}

.lms-pos-page-body .lms-pos-grand {
    margin-block: var(--space-1);
    padding-block: var(--space-3);
    border-block: 1px solid var(--border-default);
    color: var(--brand-primary);
    font-size: var(--text-h2-size);
}

.lms-pos-page-body .lms-pos-cart-message { min-block-size: 20px; margin-block: var(--space-2); }
.lms-pos-proceed { min-block-size: 50px; flex: 0 0 auto; }

.lms-payment-total {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--space-4);
    border-radius: var(--radius-lg);
    background: var(--brand-primary);
    color: var(--color-white);
}
.lms-payment-total strong { font-size: var(--text-h1-size); }
.lms-payment-modal .lms-form-label { display: block; margin-block-end: var(--space-2); }
.lms-payment-modal .lms-segmented { display: grid; grid-template-columns: 1fr 1fr; inline-size: 100%; }
.lms-payment-modal .lms-segmented button { min-block-size: 42px; }

.lms-inventory-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-6);
    margin-block-end: var(--space-5);
    background: linear-gradient(135deg, var(--surface-card), var(--color-navy-100));
}

.lms-inventory-hero-main {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    min-inline-size: 0;
}

.lms-inventory-hero-icon {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    inline-size: 54px;
    block-size: 54px;
    border-radius: var(--radius-xl);
    background: var(--brand-primary);
    color: var(--text-on-navy);
}

.lms-inventory-eyebrow {
    display: block;
    margin-block-end: var(--space-1);
    font-size: var(--text-caption-size);
    line-height: var(--text-caption-line);
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--brand-accent);
}

.lms-inventory-hero h2 {
    margin: 0;
    font-size: var(--text-display-lg-size);
    line-height: var(--text-display-lg-line);
}

.lms-inventory-hero p {
    max-inline-size: 680px;
    margin: var(--space-1) 0 0;
    color: var(--text-secondary);
}

.lms-inventory-hero-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: var(--space-2);
    flex: 0 0 auto;
}

.lms-inventory-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--space-3);
    margin-block-end: var(--space-5);
}

.lms-inventory-metrics article {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--space-2);
    min-block-size: 66px;
    padding: var(--space-3) var(--space-4);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-lg);
    background: var(--surface-card);
    box-shadow: var(--shadow-xs);
}

.lms-inventory-metrics article.is-warning {
    border-color: color-mix(in srgb, var(--color-warning-500) 44%, var(--border-default));
    background: color-mix(in srgb, var(--color-warning-100) 34%, var(--surface-card));
}

.lms-inventory-metrics span {
    color: var(--text-secondary);
    font-size: var(--text-body-sm-size);
    font-weight: 800;
}

.lms-inventory-metrics strong {
    justify-self: end;
    color: var(--text-primary);
    font: 800 var(--text-h2-size)/var(--text-h2-line) var(--font-display);
    white-space: nowrap;
}

.lms-inventory-filter .lms-form-grid {
    grid-template-columns: 1.1fr .9fr .65fr .65fr auto;
    align-items: end;
}

.lms-inventory-filter-actions {
    justify-content: flex-end;
}

.lms-inventory-list {
    display: grid;
    gap: var(--space-4);
}

.lms-inventory-product-cell {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    min-inline-size: 220px;
}

.lms-inventory-product-icon {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    inline-size: 36px;
    block-size: 36px;
    border-radius: var(--radius-lg);
    background: var(--color-orange-100);
    color: var(--brand-accent);
}

.lms-inventory-product-cell strong {
    display: block;
}

.lms-inventory-product-cell a {
    color: var(--text-primary);
    text-decoration: none;
}

.lms-inventory-product-cell a:hover {
    color: var(--brand-accent);
}

.lms-inventory-product-cell small {
    display: block;
    margin-block-start: 2px;
    color: var(--text-secondary);
    font-size: var(--text-body-sm-size);
}

.lms-inventory-list .is-warning-row td {
    background: color-mix(in srgb, var(--color-warning-100) 24%, transparent);
}

.lms-inventory-editor-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, .42fr);
    align-items: center;
    gap: var(--space-5);
    margin-block-end: var(--space-5);
    background: linear-gradient(135deg, var(--surface-card), var(--color-navy-100));
    overflow: hidden;
}

.lms-inventory-editor-title {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    min-inline-size: 0;
}

.lms-inventory-editor-icon {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    inline-size: 56px;
    block-size: 56px;
    border-radius: var(--radius-xl);
    background: var(--brand-primary);
    color: var(--text-on-navy);
    box-shadow: var(--shadow-xs);
}

.lms-inventory-editor-title h2 {
    margin: 0;
    font-size: var(--text-display-md-size);
    line-height: var(--text-display-md-line);
}

.lms-inventory-editor-title p {
    margin: var(--space-1) 0 0;
    color: var(--text-secondary);
}

.lms-inventory-editor-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-3);
}

.lms-inventory-editor-summary div {
    display: grid;
    gap: var(--space-1);
    min-block-size: 74px;
    padding: var(--space-3);
    border: 1px solid color-mix(in srgb, var(--brand-primary) 14%, var(--border-default));
    border-radius: var(--radius-lg);
    background: color-mix(in srgb, var(--surface-card) 88%, transparent);
    box-shadow: var(--shadow-xs);
}

.lms-inventory-editor-summary div.is-warning {
    border-color: color-mix(in srgb, var(--color-warning-500) 44%, var(--border-default));
    background: color-mix(in srgb, var(--color-warning-100) 34%, var(--surface-card));
}

.lms-inventory-editor-summary span {
    color: var(--text-secondary);
    font-size: var(--text-caption-size);
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.lms-inventory-editor-summary strong {
    color: var(--text-primary);
    font: 900 var(--text-h3-size)/var(--text-h3-line) var(--font-display);
    overflow-wrap: anywhere;
}

.lms-inventory-editor-form {
    display: block;
}

.lms-inventory-form-shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(310px, .38fr);
    gap: var(--space-5);
    align-items: start;
}

.lms-inventory-form-main,
.lms-inventory-form-side {
    display: grid;
    gap: var(--space-5);
}

.lms-inventory-form-side {
    position: sticky;
    inset-block-start: calc(72px + var(--space-5));
}

.lms-inventory-form-panel {
    display: grid;
    gap: var(--space-4);
    padding: var(--space-5);
}

.lms-inventory-form-panel-head {
    display: flex;
    align-items: flex-start;
    gap: var(--space-3);
    padding-block-end: var(--space-4);
    border-block-end: 1px solid var(--border-default);
}

.lms-inventory-form-panel-head h2 {
    margin: 0;
}

.lms-inventory-form-panel-head p {
    margin: var(--space-1) 0 0;
    color: var(--text-secondary);
}

.lms-inventory-form-panel-icon {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    inline-size: 42px;
    block-size: 42px;
    border-radius: var(--radius-lg);
    background: var(--color-orange-100);
    color: var(--brand-accent);
}

.lms-inventory-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-5);
}

.lms-inventory-form-side textarea {
    min-block-size: 220px;
}

.lms-inventory-form-actions {
    grid-column: 1 / -1;
    position: sticky;
    inset-block-end: var(--space-4);
    z-index: 5;
    display: flex;
    justify-content: flex-end;
    gap: var(--space-2);
    padding: var(--space-3);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-lg);
    background: color-mix(in srgb, var(--surface-card) 94%, transparent);
    backdrop-filter: blur(12px);
    box-shadow: var(--shadow-md);
}

.lms-inventory-product-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--space-5);
    margin-block-end: var(--space-5);
    background: linear-gradient(135deg, var(--surface-card), var(--color-navy-100));
}

.lms-inventory-product-title {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    min-inline-size: 0;
}

.lms-inventory-product-hero-icon {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    inline-size: 58px;
    block-size: 58px;
    border-radius: var(--radius-xl);
    background: var(--brand-primary);
    color: var(--text-on-navy);
}

.lms-inventory-product-hero h2 {
    margin: 0;
    font-size: var(--text-display-md-size);
    line-height: var(--text-display-md-line);
}

.lms-inventory-product-meta {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
    margin-block-start: var(--space-2);
    color: var(--text-secondary);
    font-size: var(--text-body-sm-size);
    font-weight: 800;
}

.lms-inventory-product-meta span {
    display: inline-flex;
    align-items: center;
    min-block-size: 28px;
    padding: 0 var(--space-3);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-full);
    background: var(--surface-card);
}

.lms-inventory-product-actions {
    display: grid;
    justify-items: end;
    gap: var(--space-3);
}

.lms-inventory-product-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--space-3);
    margin-block-end: var(--space-5);
}

.lms-inventory-product-metrics article {
    display: grid;
    gap: var(--space-1);
    min-block-size: 108px;
    padding: var(--space-4);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-lg);
    background: var(--surface-card);
    box-shadow: var(--shadow-xs);
}

.lms-inventory-product-metrics article.is-warning {
    border-color: color-mix(in srgb, var(--color-warning-500) 48%, var(--border-default));
    background: color-mix(in srgb, var(--color-warning-100) 34%, var(--surface-card));
}

.lms-inventory-product-metrics span,
.lms-inventory-product-metrics small {
    color: var(--text-secondary);
    font-size: var(--text-body-sm-size);
    font-weight: 800;
}

.lms-inventory-product-metrics strong {
    color: var(--text-primary);
    font: 900 var(--text-h1-size)/var(--text-h1-line) var(--font-display);
    overflow-wrap: anywhere;
}

.lms-inventory-product-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr);
    gap: var(--space-5);
    margin-block-end: var(--space-5);
}

.lms-inventory-product-panel {
    display: grid;
    align-content: start;
    gap: var(--space-4);
}

.lms-inventory-product-definition {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-3);
    margin: 0;
}

.lms-inventory-product-definition div {
    padding: var(--space-3);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-md);
    background: var(--surface-app);
}

.lms-inventory-product-definition dt,
.lms-inventory-product-description span {
    margin-block-end: var(--space-1);
    color: var(--text-secondary);
    font-size: var(--text-caption-size);
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.lms-inventory-product-definition dd {
    margin: 0;
    color: var(--text-primary);
    font-weight: 900;
}

.lms-inventory-product-description {
    padding: var(--space-4);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-md);
    background: var(--surface-card);
}

.lms-inventory-product-description p {
    margin: var(--space-2) 0 0;
    color: var(--text-secondary);
}

.lms-inventory-stock-meter {
    display: grid;
    gap: var(--space-3);
    padding: var(--space-4);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-lg);
    background: var(--surface-app);
}

.lms-inventory-stock-meter.is-warning {
    border-color: color-mix(in srgb, var(--color-warning-500) 48%, var(--border-default));
    background: color-mix(in srgb, var(--color-warning-100) 30%, var(--surface-card));
}

.lms-inventory-stock-meter-top,
.lms-inventory-stock-meter-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
}

.lms-inventory-stock-meter-top span,
.lms-inventory-stock-meter-bottom {
    color: var(--text-secondary);
    font-size: var(--text-body-sm-size);
    font-weight: 800;
}

.lms-inventory-stock-meter-top strong {
    color: var(--text-primary);
    font: 900 var(--text-h2-size)/var(--text-h2-line) var(--font-display);
    text-align: end;
}

.lms-inventory-stock-meter-track {
    overflow: hidden;
    block-size: 12px;
    border-radius: var(--radius-full);
    background: var(--border-muted);
}

.lms-inventory-stock-meter-track span {
    display: block;
    block-size: 100%;
    border-radius: inherit;
    background: var(--brand-accent);
}

.lms-inventory-stock-meter.is-warning .lms-inventory-stock-meter-track span {
    background: var(--color-warning-500);
}

.lms-inventory-product-movements {
    display: grid;
    gap: var(--space-4);
}

.lms-inventory-product-movements .lms-table td {
    vertical-align: middle;
}

.lms-inventory-product-empty {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-5);
    border: 1px dashed var(--border-default);
    border-radius: var(--radius-lg);
    background: var(--surface-app);
}

.lms-inventory-product-empty > span {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    inline-size: 48px;
    block-size: 48px;
    border-radius: var(--radius-lg);
    background: var(--color-orange-100);
    color: var(--brand-accent);
}

.lms-inventory-product-empty h3 {
    margin: 0;
}

.lms-inventory-product-empty p {
    margin: var(--space-1) 0 0;
    color: var(--text-secondary);
}

.lms-stock-movement-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, .42fr);
    align-items: center;
    gap: var(--space-5);
    margin-block-end: var(--space-5);
    background: linear-gradient(135deg, var(--surface-card), var(--color-navy-100));
    overflow: hidden;
}

.lms-stock-movement-title {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    min-inline-size: 0;
}

.lms-stock-movement-hero-icon {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    inline-size: 56px;
    block-size: 56px;
    border-radius: var(--radius-xl);
    background: var(--brand-primary);
    color: var(--text-on-navy);
    box-shadow: var(--shadow-xs);
}

.lms-stock-movement-title h2 {
    margin: 0;
    font-size: var(--text-display-md-size);
    line-height: var(--text-display-md-line);
}

.lms-stock-movement-title p {
    margin: var(--space-1) 0 0;
    color: var(--text-secondary);
}

.lms-stock-movement-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-3);
}

.lms-stock-movement-summary div {
    display: grid;
    gap: var(--space-1);
    min-block-size: 74px;
    padding: var(--space-3);
    border: 1px solid color-mix(in srgb, var(--brand-primary) 14%, var(--border-default));
    border-radius: var(--radius-lg);
    background: color-mix(in srgb, var(--surface-card) 88%, transparent);
    box-shadow: var(--shadow-xs);
}

.lms-stock-movement-summary span {
    color: var(--text-secondary);
    font-size: var(--text-caption-size);
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.lms-stock-movement-summary strong {
    color: var(--text-primary);
    font: 900 var(--text-h3-size)/var(--text-h3-line) var(--font-display);
    overflow-wrap: anywhere;
}

.lms-stock-movement-form {
    display: block;
}

.lms-stock-movement-shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(310px, .38fr);
    gap: var(--space-5);
    align-items: start;
}

.lms-stock-movement-main,
.lms-stock-movement-side {
    display: grid;
    gap: var(--space-5);
}

.lms-stock-movement-side {
    position: sticky;
    inset-block-start: calc(72px + var(--space-5));
}

.lms-stock-movement-panel {
    display: grid;
    gap: var(--space-4);
    padding: var(--space-5);
}

.lms-stock-movement-panel-head {
    display: flex;
    align-items: flex-start;
    gap: var(--space-3);
    padding-block-end: var(--space-4);
    border-block-end: 1px solid var(--border-default);
}

.lms-stock-movement-panel-head h2 {
    margin: 0;
}

.lms-stock-movement-panel-head p {
    margin: var(--space-1) 0 0;
    color: var(--text-secondary);
}

.lms-stock-movement-panel-icon {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    inline-size: 42px;
    block-size: 42px;
    border-radius: var(--radius-lg);
    background: var(--color-orange-100);
    color: var(--brand-accent);
}

.lms-stock-movement-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-5);
}

.lms-stock-movement-grid--compact {
    grid-template-columns: repeat(2, minmax(180px, .5fr));
}

.lms-stock-movement-side textarea {
    min-block-size: 240px;
}

.lms-stock-movement-actions {
    grid-column: 1 / -1;
    position: sticky;
    inset-block-end: var(--space-4);
    z-index: 5;
    display: flex;
    justify-content: flex-end;
    gap: var(--space-2);
    padding: var(--space-3);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-lg);
    background: color-mix(in srgb, var(--surface-card) 94%, transparent);
    backdrop-filter: blur(12px);
    box-shadow: var(--shadow-md);
}

.lms-purchases-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-6);
    margin-block-end: var(--space-5);
    background: linear-gradient(135deg, var(--surface-card), var(--color-navy-100));
}

.lms-purchases-hero-main {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    min-inline-size: 0;
}

.lms-purchases-hero-icon {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    inline-size: 56px;
    block-size: 56px;
    border-radius: var(--radius-xl);
    background: var(--brand-primary);
    color: var(--text-on-navy);
}

.lms-purchases-eyebrow {
    display: block;
    margin-block-end: var(--space-1);
    color: var(--brand-accent);
    font-size: var(--text-caption-size);
    line-height: var(--text-caption-line);
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.lms-purchases-hero h2 {
    margin: 0;
    font-size: var(--text-display-lg-size);
    line-height: var(--text-display-lg-line);
}

.lms-purchases-hero p {
    max-inline-size: 680px;
    margin: var(--space-1) 0 0;
    color: var(--text-secondary);
}

.lms-purchases-hero-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: var(--space-2);
    flex: 0 0 auto;
}

.lms-purchases-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--space-3);
    margin-block-end: var(--space-5);
}

.lms-purchases-metrics article {
    display: grid;
    gap: var(--space-1);
    min-block-size: 96px;
    padding: var(--space-4);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-lg);
    background: var(--surface-card);
    box-shadow: var(--shadow-xs);
}

.lms-purchases-metrics span,
.lms-purchases-metrics small {
    color: var(--text-secondary);
    font-size: var(--text-body-sm-size);
    font-weight: 800;
}

.lms-purchases-metrics strong {
    color: var(--text-primary);
    font: 900 var(--text-h1-size)/var(--text-h1-line) var(--font-display);
    overflow-wrap: anywhere;
}

.lms-purchases-filter .lms-form-grid {
    grid-template-columns: minmax(260px, 1fr) minmax(180px, .35fr) auto;
    align-items: end;
}

.lms-purchases-filter-actions {
    justify-content: flex-end;
}

.lms-purchases-list {
    display: grid;
    gap: var(--space-4);
}

.lms-purchases-purchase-cell {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    min-inline-size: 220px;
}

.lms-purchases-purchase-icon {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    inline-size: 36px;
    block-size: 36px;
    border-radius: var(--radius-lg);
    background: var(--color-orange-100);
    color: var(--brand-accent);
}

.lms-purchases-purchase-cell strong,
.lms-purchases-paid-cell strong {
    display: block;
}

.lms-purchases-purchase-cell a {
    color: var(--text-primary);
    text-decoration: none;
}

.lms-purchases-purchase-cell a:hover {
    color: var(--brand-accent);
}

.lms-purchases-purchase-cell small {
    display: block;
    margin-block-start: 2px;
    color: var(--text-secondary);
    font-size: var(--text-body-sm-size);
}

.lms-purchases-paid-cell {
    display: grid;
    gap: var(--space-2);
    justify-items: end;
}

.lms-purchases-paid-cell > span {
    overflow: hidden;
    inline-size: min(112px, 100%);
    block-size: 7px;
    border-radius: var(--radius-full);
    background: var(--border-muted);
}

.lms-purchases-paid-cell i {
    display: block;
    block-size: 100%;
    border-radius: inherit;
    background: var(--brand-accent);
}

.lms-purchase-create-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, .42fr);
    align-items: center;
    gap: var(--space-5);
    margin-block-end: var(--space-5);
    background: linear-gradient(135deg, var(--surface-card), var(--color-navy-100));
    overflow: hidden;
}

.lms-purchase-create-title {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    min-inline-size: 0;
}

.lms-purchase-create-hero-icon {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    inline-size: 56px;
    block-size: 56px;
    border-radius: var(--radius-xl);
    background: var(--brand-primary);
    color: var(--text-on-navy);
    box-shadow: var(--shadow-xs);
}

.lms-purchase-create-title h2 {
    margin: 0;
    font-size: var(--text-display-md-size);
    line-height: var(--text-display-md-line);
}

.lms-purchase-create-title p {
    margin: var(--space-1) 0 0;
    color: var(--text-secondary);
}

.lms-purchase-create-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-3);
}

.lms-purchase-create-summary div {
    display: grid;
    gap: var(--space-1);
    min-block-size: 74px;
    padding: var(--space-3);
    border: 1px solid color-mix(in srgb, var(--brand-primary) 14%, var(--border-default));
    border-radius: var(--radius-lg);
    background: color-mix(in srgb, var(--surface-card) 88%, transparent);
    box-shadow: var(--shadow-xs);
}

.lms-purchase-create-summary span {
    color: var(--text-secondary);
    font-size: var(--text-caption-size);
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.lms-purchase-create-summary strong {
    color: var(--text-primary);
    font: 900 var(--text-h3-size)/var(--text-h3-line) var(--font-display);
    overflow-wrap: anywhere;
}

.lms-purchase-create-form {
    display: block;
}

.lms-purchase-create-shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(310px, .38fr);
    gap: var(--space-5);
    align-items: start;
}

.lms-purchase-create-main,
.lms-purchase-create-side {
    display: grid;
    gap: var(--space-5);
}

.lms-purchase-create-side {
    position: static;
}

.lms-purchase-create-panel {
    display: grid;
    gap: var(--space-4);
    padding: var(--space-5);
}

.lms-purchase-create-panel-head {
    display: flex;
    align-items: flex-start;
    gap: var(--space-3);
    padding-block-end: var(--space-4);
    border-block-end: 1px solid var(--border-default);
}

.lms-purchase-create-panel-head h2 {
    margin: 0;
}

.lms-purchase-create-panel-head p {
    margin: var(--space-1) 0 0;
    color: var(--text-secondary);
}

.lms-purchase-create-panel-icon {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    inline-size: 42px;
    block-size: 42px;
    border-radius: var(--radius-lg);
    background: var(--color-orange-100);
    color: var(--brand-accent);
}

.lms-purchase-create-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-5);
}

.lms-purchase-create-item-row {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) minmax(120px, .22fr) minmax(150px, .28fr);
    gap: var(--space-4);
    align-items: end;
}

.lms-purchase-create-item-row > div {
    min-inline-size: 0;
}

.lms-purchase-create-item-row .lms-form-label {
    display: flex;
    margin-block-end: var(--space-2);
}

.lms-purchase-create-product-field select {
    min-inline-size: 100%;
}

.lms-purchase-create-stack {
    display: grid;
    gap: var(--space-4);
}

.lms-purchase-create-side textarea {
    min-block-size: 150px;
}

.lms-purchase-create-actions {
    grid-column: 1 / -1;
    display: flex;
    justify-content: flex-end;
    gap: var(--space-2);
    margin-block-start: var(--space-1);
    padding: var(--space-3);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-lg);
    background: var(--surface-card);
    box-shadow: var(--shadow-md);
}

.lms-purchase-detail-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--space-5);
    margin-block-end: var(--space-5);
    background: linear-gradient(135deg, var(--surface-card), var(--color-navy-100));
}

.lms-purchase-detail-main {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    min-inline-size: 0;
}

.lms-purchase-detail-icon {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    inline-size: 56px;
    block-size: 56px;
    border-radius: var(--radius-xl);
    background: var(--brand-primary);
    color: var(--text-on-navy);
}

.lms-purchase-detail-hero h2 {
    margin: 0;
    font-size: var(--text-display-md-size);
    line-height: var(--text-display-md-line);
}

.lms-purchase-detail-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-2);
    margin-block-start: var(--space-2);
}

.lms-purchase-detail-meta > span {
    display: inline-flex;
    align-items: center;
    min-block-size: 28px;
    padding: 0 var(--space-3);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-full);
    background: var(--surface-card);
    color: var(--text-secondary);
    font-size: var(--text-body-sm-size);
    font-weight: 800;
}

.lms-purchase-detail-actions {
    display: flex;
    justify-content: flex-end;
    gap: var(--space-2);
    flex-wrap: wrap;
}

.lms-purchase-detail-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--space-3);
    margin-block-end: var(--space-5);
}

.lms-purchase-detail-metrics article {
    display: grid;
    gap: var(--space-1);
    min-block-size: 104px;
    padding: var(--space-4);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-lg);
    background: var(--surface-card);
    box-shadow: var(--shadow-xs);
}

.lms-purchase-detail-metrics article.is-warning {
    border-color: color-mix(in srgb, var(--color-warning-500) 44%, var(--border-default));
    background: color-mix(in srgb, var(--color-warning-100) 34%, var(--surface-card));
}

.lms-purchase-detail-metrics span,
.lms-purchase-detail-metrics small {
    color: var(--text-secondary);
    font-size: var(--text-body-sm-size);
    font-weight: 800;
}

.lms-purchase-detail-metrics strong {
    color: var(--text-primary);
    font: 900 var(--text-h1-size)/var(--text-h1-line) var(--font-display);
    overflow-wrap: anywhere;
}

.lms-purchase-detail-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr);
    gap: var(--space-5);
    margin-block-end: var(--space-5);
}

.lms-purchase-detail-panel,
.lms-purchase-detail-items {
    display: grid;
    gap: var(--space-4);
}

.lms-purchase-detail-definition {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-3);
    margin: 0;
}

.lms-purchase-detail-definition div {
    padding: var(--space-3);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-md);
    background: var(--surface-app);
}

.lms-purchase-detail-definition dt {
    margin-block-end: var(--space-1);
    color: var(--text-secondary);
    font-size: var(--text-caption-size);
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.lms-purchase-detail-definition dd {
    margin: 0;
    color: var(--text-primary);
    font-weight: 900;
}

.lms-purchase-detail-payment {
    display: grid;
    gap: var(--space-3);
    padding: var(--space-4);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-lg);
    background: var(--surface-card);
}

.lms-purchase-detail-payment-top {
    display: flex;
    justify-content: space-between;
    gap: var(--space-3);
    color: var(--text-secondary);
    font-size: var(--text-body-sm-size);
    font-weight: 800;
}

.lms-purchase-detail-payment-top strong {
    color: var(--text-primary);
    text-align: end;
}

.lms-purchase-detail-payment-track {
    overflow: hidden;
    block-size: 10px;
    border-radius: var(--radius-full);
    background: var(--border-muted);
}

.lms-purchase-detail-payment-track span {
    display: block;
    block-size: 100%;
    border-radius: inherit;
    background: var(--brand-accent);
}

.lms-purchase-detail-notes {
    margin: 0;
    padding: var(--space-4);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-md);
    background: var(--surface-app);
    color: var(--text-secondary);
}

.lms-purchase-detail-product-cell {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    min-inline-size: 220px;
}

.lms-purchase-detail-product-icon {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    inline-size: 36px;
    block-size: 36px;
    border-radius: var(--radius-lg);
    background: var(--color-orange-100);
    color: var(--brand-accent);
}

.lms-purchase-detail-product-cell strong,
.lms-purchase-detail-product-cell small {
    display: block;
}

.lms-purchase-detail-product-cell small {
    margin-block-start: 2px;
    color: var(--text-secondary);
    font-size: var(--text-body-sm-size);
}

.lms-purchase-returns-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-6);
    margin-block-end: var(--space-5);
    background: linear-gradient(135deg, var(--surface-card), var(--color-navy-100));
}

.lms-purchase-returns-hero-main {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    min-inline-size: 0;
}

.lms-purchase-returns-hero-icon {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    inline-size: 56px;
    block-size: 56px;
    border-radius: var(--radius-xl);
    background: var(--brand-primary);
    color: var(--text-on-navy);
}

.lms-purchase-returns-eyebrow {
    display: block;
    margin-block-end: var(--space-1);
    color: var(--brand-accent);
    font-size: var(--text-caption-size);
    line-height: var(--text-caption-line);
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.lms-purchase-returns-hero h2 {
    margin: 0;
    font-size: var(--text-display-lg-size);
    line-height: var(--text-display-lg-line);
}

.lms-purchase-returns-hero p {
    max-inline-size: 680px;
    margin: var(--space-1) 0 0;
    color: var(--text-secondary);
}

.lms-purchase-returns-hero-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: var(--space-2);
    flex: 0 0 auto;
}

.lms-purchase-returns-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--space-3);
    margin-block-end: var(--space-5);
}

.lms-purchase-returns-metrics article {
    display: grid;
    gap: var(--space-1);
    min-block-size: 96px;
    padding: var(--space-4);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-lg);
    background: var(--surface-card);
    box-shadow: var(--shadow-xs);
}

.lms-purchase-returns-metrics span,
.lms-purchase-returns-metrics small {
    color: var(--text-secondary);
    font-size: var(--text-body-sm-size);
    font-weight: 800;
}

.lms-purchase-returns-metrics strong {
    color: var(--text-primary);
    font: 900 var(--text-h1-size)/var(--text-h1-line) var(--font-display);
    overflow-wrap: anywhere;
}

.lms-purchase-returns-filter .lms-form-grid {
    grid-template-columns: minmax(260px, 1fr) auto;
    align-items: end;
}

.lms-purchase-returns-filter-actions {
    justify-content: flex-end;
}

.lms-purchase-returns-list {
    display: grid;
    gap: var(--space-4);
}

.lms-purchase-returns-return-cell {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    min-inline-size: 220px;
}

.lms-purchase-returns-return-icon {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    inline-size: 36px;
    block-size: 36px;
    border-radius: var(--radius-lg);
    background: var(--color-orange-100);
    color: var(--brand-accent);
}

.lms-purchase-returns-return-cell strong {
    display: block;
}

.lms-purchase-returns-return-cell a,
.lms-purchase-returns-linked {
    color: var(--text-primary);
    text-decoration: none;
    font-weight: 900;
}

.lms-purchase-returns-return-cell a:hover,
.lms-purchase-returns-linked:hover {
    color: var(--brand-accent);
}

.lms-purchase-returns-return-cell small {
    display: block;
    margin-block-start: 2px;
    color: var(--text-secondary);
    font-size: var(--text-body-sm-size);
}

.lms-suppliers-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-6);
    margin-block-end: var(--space-5);
    background: linear-gradient(135deg, var(--surface-card), var(--color-navy-100));
}

.lms-suppliers-hero-main {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    min-inline-size: 0;
}

.lms-suppliers-hero-icon {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    inline-size: 56px;
    block-size: 56px;
    border-radius: var(--radius-xl);
    background: var(--brand-primary);
    color: var(--text-on-navy);
}

.lms-suppliers-eyebrow {
    display: block;
    margin-block-end: var(--space-1);
    color: var(--brand-accent);
    font-size: var(--text-caption-size);
    line-height: var(--text-caption-line);
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.lms-suppliers-hero h2 {
    margin: 0;
    font-size: var(--text-display-lg-size);
    line-height: var(--text-display-lg-line);
}

.lms-suppliers-hero p {
    max-inline-size: 680px;
    margin: var(--space-1) 0 0;
    color: var(--text-secondary);
}

.lms-suppliers-hero-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: var(--space-2);
    flex: 0 0 auto;
}

.lms-suppliers-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--space-3);
    margin-block-end: var(--space-5);
}

.lms-suppliers-metrics article {
    display: grid;
    gap: var(--space-1);
    min-block-size: 96px;
    padding: var(--space-4);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-lg);
    background: var(--surface-card);
    box-shadow: var(--shadow-xs);
}

.lms-suppliers-metrics span,
.lms-suppliers-metrics small {
    color: var(--text-secondary);
    font-size: var(--text-body-sm-size);
    font-weight: 800;
}

.lms-suppliers-metrics strong {
    color: var(--text-primary);
    font: 900 var(--text-h1-size)/var(--text-h1-line) var(--font-display);
    overflow-wrap: anywhere;
}

.lms-suppliers-filter .lms-form-grid {
    grid-template-columns: minmax(260px, 1fr) auto;
    align-items: end;
}

.lms-suppliers-filter-actions {
    justify-content: flex-end;
}

.lms-suppliers-list {
    display: grid;
    gap: var(--space-4);
}

.lms-suppliers-supplier-cell {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    min-inline-size: 240px;
}

.lms-suppliers-supplier-cell strong {
    display: block;
}

.lms-suppliers-supplier-cell a,
.lms-suppliers-contact-link {
    color: var(--text-primary);
    text-decoration: none;
    font-weight: 900;
}

.lms-suppliers-supplier-cell a:hover,
.lms-suppliers-contact-link:hover {
    color: var(--brand-accent);
}

.lms-suppliers-supplier-cell small {
    display: block;
    max-inline-size: 320px;
    margin-block-start: 2px;
    color: var(--text-secondary);
    font-size: var(--text-body-sm-size);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (max-width: 1180px) {
    .lms-inventory-hero {
        display: grid;
    }

    .lms-inventory-hero-actions {
        justify-content: flex-start;
    }

    .lms-purchases-hero {
        display: grid;
    }

    .lms-purchase-returns-hero {
        display: grid;
    }

    .lms-suppliers-hero {
        display: grid;
    }

    .lms-purchases-hero-actions,
    .lms-purchase-returns-hero-actions,
    .lms-suppliers-hero-actions {
        justify-content: flex-start;
    }

    .lms-inventory-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lms-inventory-editor-hero,
    .lms-inventory-form-shell,
    .lms-inventory-product-hero,
    .lms-inventory-product-grid,
    .lms-stock-movement-hero,
    .lms-stock-movement-shell,
    .lms-purchase-create-hero,
    .lms-purchase-create-shell,
    .lms-purchase-detail-hero,
    .lms-purchase-detail-grid {
        grid-template-columns: 1fr;
    }

    .lms-inventory-form-side,
    .lms-stock-movement-side,
    .lms-purchase-create-side {
        position: static;
    }

    .lms-inventory-product-actions {
        justify-items: start;
    }

    .lms-inventory-editor-summary,
    .lms-stock-movement-summary,
    .lms-purchase-create-summary,
    .lms-purchase-detail-metrics,
    .lms-purchases-metrics,
    .lms-purchase-returns-metrics,
    .lms-suppliers-metrics,
    .lms-inventory-product-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lms-inventory-filter .lms-form-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lms-purchases-filter .lms-form-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lms-purchase-returns-filter .lms-form-grid {
        grid-template-columns: 1fr;
    }

    .lms-suppliers-filter .lms-form-grid {
        grid-template-columns: 1fr;
    }

    .lms-inventory-filter-actions,
    .lms-purchases-filter-actions,
    .lms-purchase-returns-filter-actions,
    .lms-suppliers-filter-actions {
        justify-content: flex-start;
    }
}

@media (max-width: 767px) {
    .lms-inventory-hero-main {
        align-items: flex-start;
    }

    .lms-purchases-hero-main {
        align-items: flex-start;
    }

    .lms-purchase-returns-hero-main {
        align-items: flex-start;
    }

    .lms-suppliers-hero-main {
        align-items: flex-start;
    }

    .lms-inventory-hero h2 {
        font-size: var(--text-h1-size);
        line-height: var(--text-h1-line);
    }

    .lms-purchases-hero h2 {
        font-size: var(--text-h1-size);
        line-height: var(--text-h1-line);
    }

    .lms-purchase-returns-hero h2 {
        font-size: var(--text-h1-size);
        line-height: var(--text-h1-line);
    }

    .lms-suppliers-hero h2 {
        font-size: var(--text-h1-size);
        line-height: var(--text-h1-line);
    }

    .lms-inventory-hero-actions {
        display: grid;
    }

    .lms-purchases-hero-actions {
        display: grid;
    }

    .lms-purchase-returns-hero-actions {
        display: grid;
    }

    .lms-suppliers-hero-actions {
        display: grid;
    }

    .lms-inventory-hero-actions > .lms-btn,
    .lms-purchases-hero-actions > .lms-btn,
    .lms-purchase-returns-hero-actions > .lms-btn,
    .lms-suppliers-hero-actions > .lms-btn {
        inline-size: 100%;
    }

    .lms-inventory-metrics,
    .lms-inventory-editor-summary,
    .lms-inventory-form-grid,
    .lms-stock-movement-summary,
    .lms-stock-movement-grid,
    .lms-stock-movement-grid--compact,
    .lms-purchase-create-summary,
    .lms-purchase-create-grid,
    .lms-purchase-create-item-row,
    .lms-purchase-detail-metrics,
    .lms-purchase-detail-definition,
    .lms-purchases-metrics,
    .lms-purchases-filter .lms-form-grid,
    .lms-purchase-returns-metrics,
    .lms-purchase-returns-filter .lms-form-grid,
    .lms-suppliers-metrics,
    .lms-suppliers-filter .lms-form-grid,
    .lms-inventory-product-metrics,
    .lms-inventory-filter .lms-form-grid {
        grid-template-columns: 1fr;
    }

    .lms-inventory-metrics article {
        min-block-size: 54px;
        padding: var(--space-2) var(--space-3);
    }

    .lms-inventory-product-title,
    .lms-inventory-editor-title,
    .lms-stock-movement-title,
    .lms-purchase-create-title,
    .lms-purchase-detail-main,
    .lms-inventory-product-empty {
        align-items: flex-start;
    }

    .lms-inventory-editor-title h2,
    .lms-stock-movement-title h2,
    .lms-purchase-create-title h2,
    .lms-purchase-detail-hero h2,
    .lms-inventory-product-hero h2 {
        font-size: var(--text-h1-size);
        line-height: var(--text-h1-line);
    }

    .lms-purchase-detail-actions {
        display: grid;
        justify-content: stretch;
    }

    .lms-purchase-detail-actions > .lms-btn {
        inline-size: 100%;
    }

    .lms-inventory-form-actions,
    .lms-stock-movement-actions,
    .lms-purchase-create-actions {
        display: grid;
    }

    .lms-inventory-form-actions > .lms-btn,
    .lms-stock-movement-actions > .lms-btn,
    .lms-purchase-create-actions > .lms-btn {
        inline-size: 100%;
    }

    .lms-inventory-product-actions,
    .lms-inventory-product-actions .lms-row-actions {
        display: grid;
        inline-size: 100%;
        justify-items: stretch;
    }

    .lms-inventory-product-actions .lms-btn {
        inline-size: 100%;
    }

    .lms-inventory-product-definition,
    .lms-inventory-stock-meter-top,
    .lms-inventory-stock-meter-bottom {
        display: grid;
        grid-template-columns: 1fr;
    }
}

.lms-payment-detail-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(230px, .34fr);
    gap: var(--space-5);
    align-items: center;
    margin-block-end: var(--space-5);
    background: linear-gradient(135deg, var(--surface-card), var(--color-navy-100));
}

.lms-payment-detail-main {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    min-inline-size: 0;
}

.lms-payment-detail-icon {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    inline-size: 54px;
    block-size: 54px;
    border-radius: var(--radius-xl);
    background: var(--brand-primary);
    color: var(--text-on-navy);
}

.lms-payment-detail-eyebrow {
    display: block;
    margin-block-end: var(--space-1);
    font-size: var(--text-caption-size);
    line-height: var(--text-caption-line);
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--brand-accent);
}

.lms-payment-detail-main h2 {
    margin: 0;
    font-size: var(--text-display-lg-size);
    line-height: var(--text-display-lg-line);
}

.lms-payment-detail-main p {
    margin: var(--space-1) 0 0;
    color: var(--text-secondary);
}

.lms-payment-detail-amount {
    display: grid;
    justify-items: start;
    gap: var(--space-2);
    padding: var(--space-4);
    border: 1px solid color-mix(in srgb, var(--brand-primary) 14%, var(--border-default));
    border-radius: var(--radius-lg);
    background: color-mix(in srgb, var(--surface-card) 86%, transparent);
    box-shadow: var(--shadow-xs);
}

.lms-payment-detail-amount span {
    color: var(--text-secondary);
    font-weight: 800;
}

.lms-payment-detail-amount strong {
    font-size: var(--text-h1-size);
    line-height: var(--text-h1-line);
    color: var(--brand-primary);
}

.lms-payment-detail-actions {
    grid-column: 1 / -1;
    justify-content: flex-start;
    padding-block-start: var(--space-4);
    border-block-start: 1px solid color-mix(in srgb, var(--brand-primary) 12%, var(--border-default));
}

.lms-payment-detail-actions form {
    margin: 0;
}

.lms-payment-detail-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--space-3);
    margin-block-end: var(--space-5);
}

.lms-payment-detail-metrics article {
    display: grid;
    gap: var(--space-1);
    min-block-size: 66px;
    padding: var(--space-3) var(--space-4);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-lg);
    background: var(--surface-card);
    box-shadow: var(--shadow-xs);
}

.lms-payment-detail-metrics span,
.lms-payment-detail-list dt {
    color: var(--text-secondary);
    font-size: var(--text-caption-size);
    line-height: var(--text-caption-line);
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.lms-payment-detail-metrics strong {
    color: var(--text-primary);
    font-size: var(--text-h3-size);
    line-height: var(--text-h3-line);
    overflow-wrap: anywhere;
}

.lms-payment-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-5);
}

.lms-payment-detail-panel--notes {
    grid-column: 1 / -1;
}

.lms-payment-detail-list {
    display: grid;
    gap: var(--space-3);
    margin: 0;
}

.lms-payment-detail-list div {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr);
    gap: var(--space-3);
    padding-block-end: var(--space-3);
    border-block-end: 1px dashed var(--border-default);
}

.lms-payment-detail-list div:last-child {
    padding-block-end: 0;
    border-block-end: 0;
}

.lms-payment-detail-list dd {
    margin: 0;
    color: var(--text-primary);
    overflow-wrap: anywhere;
}

.lms-payment-detail-notes {
    margin: 0;
    color: var(--text-secondary);
    line-height: var(--text-body-lg-line);
    white-space: pre-line;
}

@media (max-width: 1024px) {
    .lms-payment-detail-hero,
    .lms-payment-detail-grid {
        grid-template-columns: 1fr;
    }

    .lms-payment-detail-actions,
    .lms-payment-detail-panel--notes {
        grid-column: auto;
    }

    .lms-payment-detail-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .lms-payment-detail-main {
        align-items: flex-start;
    }

    .lms-payment-detail-main h2 {
        font-size: var(--text-h1-size);
        line-height: var(--text-h1-line);
    }

    .lms-payment-detail-actions {
        display: grid;
    }

    .lms-payment-detail-actions > .lms-btn,
    .lms-payment-detail-actions > form,
    .lms-payment-detail-actions > form > .lms-btn {
        inline-size: 100%;
    }

    .lms-payment-detail-metrics {
        grid-template-columns: 1fr;
        gap: var(--space-2);
    }

    .lms-payment-detail-metrics article {
        min-block-size: 54px;
        padding: var(--space-2) var(--space-3);
    }

    .lms-payment-detail-list div {
        grid-template-columns: 1fr;
        gap: var(--space-1);
    }
}

.lms-pos-page-body .lms-pos-mobile-bar { display: none; }

@media (max-width: 1024px) {
    .lms-pos-page-body { overflow: auto; }
    .lms-pos-page-header { grid-template-columns: auto 1fr auto; padding-inline: var(--space-4); }
    .lms-pos-page-brand { justify-self: start; margin-inline-start: var(--space-3); }
    .lms-pos-page-main { block-size: auto; min-block-size: calc(100dvh - 72px); padding-block-end: 92px; overflow: visible; }
    .lms-pos-page-body .lms-pos-shell { display: block; block-size: auto; }
    .lms-pos-page-body .lms-pos-catalog { overflow: visible; }
    .lms-pos-page-body .lms-pos-cart {
        display: none;
        position: fixed;
        z-index: 70;
        inset-inline: 0;
        inset-block: auto 0;
        max-block-size: min(86vh, 760px);
        border-radius: var(--radius-xl) var(--radius-xl) 0 0;
        box-shadow: var(--shadow-lg);
    }
    .lms-pos-page-body .lms-pos-shell.is-cart-open .lms-pos-cart { display: flex; }
    .lms-pos-page-body .lms-pos-mobile-bar {
        display: flex;
        z-index: 71;
        inset-inline: var(--space-4);
        inset-block-end: var(--space-4);
    }
    .lms-pos-page-body .lms-pos-shell.is-cart-open + .lms-pos-mobile-bar { display: none; }
}

@media (max-width: 640px) {
    .lms-pos-page-header { block-size: 64px; padding-inline: var(--space-3); }
    .lms-pos-back span,
    .lms-pos-page-brand small,
    .lms-pos-page-meta > span:first-child { display: none; }
    .lms-pos-page-brand > span { inline-size: 36px; block-size: 36px; }
    .lms-pos-page-main { min-block-size: calc(100dvh - 64px); padding: var(--space-3) var(--space-3) 88px; }
    .lms-pos-page-body .lms-pos-catalog { padding: var(--space-4); border-radius: var(--radius-lg); }
    .lms-pos-pane-head { display: grid; }
    .lms-pos-page-body .lms-pos-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-2); }
    .lms-pos-page-body .lms-service-tile { grid-template-columns: 1fr; min-block-size: 148px; padding: var(--space-3); }
    .lms-service-price { grid-column: 1; }
    .lms-pos-page-body .lms-pos-cart { padding: var(--space-4); }
    .lms-pos-page-body .lms-pos-customer-row { grid-template-columns: 1fr; }
    .lms-pos-page-body .lms-pos-customer-row .lms-btn { inline-size: 100%; }
}

@media (max-width: 400px) {
    .lms-pos-page-body .lms-pos-grid { grid-template-columns: 1fr; }
    .lms-pos-page-body .lms-service-tile { grid-template-columns: auto minmax(0, 1fr); min-block-size: 112px; }
    .lms-service-price { grid-column: 1 / -1; }
}

@media (prefers-reduced-motion: reduce) {
    .lms-pos-page-body .lms-service-tile { transition: none; }
    .lms-pos-page-body .lms-service-tile:hover { transform: none; }
}
/* ---- End LMS Full-page POS Workspace ---- */

/* ---- LMS POS Catalog Recognition Pass ---- */
.lms-pos-page-body .lms-service-tile {
    grid-template-columns: 1fr;
    grid-template-rows: 64px auto auto;
    align-content: stretch;
    align-items: start;
    min-block-size: 178px;
    gap: var(--space-3);
}

.lms-service-visual {
    display: grid;
    place-items: center;
    inline-size: 64px;
    block-size: 64px;
    border-radius: var(--radius-lg);
    background: linear-gradient(145deg, var(--color-orange-100), var(--color-white));
    color: var(--brand-accent-hover);
}

.lms-service-visual img {
    inline-size: 44px;
    block-size: 44px;
    object-fit: contain;
    opacity: .82;
}

.lms-service-visual--addon {
    background: linear-gradient(145deg, var(--color-navy-100), var(--color-white));
    color: var(--brand-primary);
}

.lms-pos-page-body .lms-service-tile-copy strong {
    font-size: var(--text-body-size);
    line-height: var(--text-body-line);
}

.lms-service-tile-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-2);
    inline-size: 100%;
    align-self: end;
}

.lms-service-add-mark {
    display: grid;
    place-items: center;
    inline-size: 26px;
    block-size: 26px;
    border-radius: var(--radius-pill);
    background: var(--brand-primary);
    color: var(--color-white);
    font-size: 18px;
    line-height: 1;
    transition: background var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);
}

.lms-service-tile:hover .lms-service-add-mark,
.lms-service-tile:focus-visible .lms-service-add-mark {
    background: var(--brand-accent);
    transform: scale(1.06);
}

.lms-service-tile.is-selected .lms-service-add-mark,
.lms-service-tile[aria-pressed="true"] .lms-service-add-mark {
    background: var(--brand-accent);
}

.lms-pos-cart-count {
    display: inline-grid;
    place-items: center;
    min-inline-size: 24px;
    block-size: 24px;
    margin-inline-start: var(--space-1);
    padding-inline: 6px;
    border-radius: var(--radius-pill);
    background: var(--color-orange-100);
    color: var(--brand-accent-hover);
    font: 800 var(--text-caption-size)/1 var(--font-body);
    vertical-align: 2px;
}

@media (max-width: 640px) {
    .lms-pos-page-body .lms-service-tile {
        grid-template-columns: 1fr;
        grid-template-rows: 56px auto auto;
        min-block-size: 164px;
    }
    .lms-service-visual { inline-size: 56px; block-size: 56px; }
    .lms-service-visual img { inline-size: 38px; block-size: 38px; }
}

@media (max-width: 400px) {
    .lms-pos-page-body .lms-service-tile {
        grid-template-columns: auto minmax(0, 1fr);
        grid-template-rows: auto auto;
        min-block-size: 118px;
    }
    .lms-service-tile-footer { grid-column: 1 / -1; }
}
/* ---- End LMS POS Catalog Recognition Pass ---- */


/* ---- LMS Order Detail Redesign ---- */
.lms-order-detail-page { display: grid; gap: var(--space-5); }

.lms-order-detail-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-5);
    padding: var(--space-5) var(--space-6);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-xl);
    background: var(--surface-card);
    box-shadow: var(--shadow-xs);
}

.lms-order-detail-heading,
.lms-order-detail-title-row,
.lms-order-detail-actions { display: flex; align-items: center; }
.lms-order-detail-heading { min-inline-size: 0; gap: var(--space-4); }
.lms-order-detail-icon { display: grid; place-items: center; inline-size: 52px; block-size: 52px; flex: 0 0 52px; border-radius: var(--radius-lg); background: var(--brand-primary); color: var(--color-white); box-shadow: var(--shadow-sm); }
.lms-order-detail-title-row { flex-wrap: wrap; gap: var(--space-2); }
.lms-order-detail-title-row h1 { margin: 0; color: var(--text-primary); font-size: var(--text-display-lg-size); line-height: var(--text-display-lg-line); }
.lms-order-detail-heading p { margin: 3px 0 0; color: var(--text-secondary); }
.lms-order-detail-eyebrow { display: block; margin-block-end: 3px; color: var(--brand-accent-hover); font-size: var(--text-caption-size); line-height: var(--text-caption-line); font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.lms-order-detail-actions { flex: 0 0 auto; gap: var(--space-2); }

.lms-order-print-menu { position: relative; }
.lms-order-print-menu summary { min-block-size: 40px; list-style: none; cursor: pointer; }
.lms-order-print-menu summary::-webkit-details-marker { display: none; }
.lms-order-print-menu > div { position: absolute; z-index: 20; inset-block-start: calc(100% + var(--space-2)); inset-inline-end: 0; display: grid; min-inline-size: 170px; padding: var(--space-2); border: 1px solid var(--border-default); border-radius: var(--radius-md); background: var(--surface-card); box-shadow: var(--shadow-md); }
.lms-order-print-menu > div a { padding: var(--space-2) var(--space-3); border-radius: var(--radius-sm); color: var(--text-primary); font-weight: 600; text-decoration: none; }
.lms-order-print-menu > div a:hover,
.lms-order-print-menu > div a:focus-visible { background: var(--surface-app); color: var(--brand-accent-hover); outline: 0; }

.lms-order-progress { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); padding: var(--space-4) var(--space-5); border: 1px solid var(--border-default); border-radius: var(--radius-lg); background: var(--surface-card); box-shadow: var(--shadow-xs); }
.lms-order-progress > div { position: relative; display: grid; justify-items: center; gap: 7px; color: var(--text-secondary); font-size: var(--text-caption-size); text-align: center; }
.lms-order-progress > div::before { content: ''; position: absolute; z-index: 0; inset-block-start: 14px; inset-inline-start: calc(-50% + 14px); inline-size: calc(100% - 28px); block-size: 2px; background: var(--border-default); }
.lms-order-progress > div:first-child::before { display: none; }
.lms-order-progress span { position: relative; z-index: 1; display: grid; place-items: center; inline-size: 30px; block-size: 30px; border: 2px solid var(--border-default); border-radius: var(--radius-pill); background: var(--surface-card); color: var(--text-secondary); font-weight: 800; }
.lms-order-progress strong { font-weight: 700; }
.lms-order-progress .is-complete::before { background: var(--brand-accent); }
.lms-order-progress .is-complete span { border-color: var(--brand-accent); background: var(--brand-accent); color: var(--color-white); }
.lms-order-progress .is-complete strong { color: var(--text-primary); }
.lms-order-progress .is-current span { box-shadow: 0 0 0 4px var(--color-orange-100); }
.lms-order-progress .is-current span {
  border-color: var(--brand-accent);
  background: var(--brand-accent);
  color: var(--color-white);
  box-shadow: 0 0 0 5px var(--color-orange-100);
}
.lms-order-progress .is-current strong {
  color: var(--brand-accent);
  font-weight: 900;
}
.lms-order-cancelled-banner { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); border: 1px solid var(--color-danger-500); border-radius: var(--radius-md); background: var(--color-danger-100); color: var(--color-danger-600); font-weight: 700; }

.lms-order-detail-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 350px); align-items: start; gap: var(--space-5); }
.lms-order-detail-main { min-inline-size: 0; }
.lms-order-detail-main > .lms-tabs { margin-block-end: var(--space-3); padding-inline: var(--space-4); border: 1px solid var(--border-default); border-radius: var(--radius-lg); background: var(--surface-card); }
.lms-order-detail-panel,
.lms-order-summary-card,
.lms-order-info-card,
.lms-order-status-card { padding: var(--space-5); border: 1px solid var(--border-default); border-radius: var(--radius-lg); background: var(--surface-card); box-shadow: var(--shadow-xs); }
.lms-order-panel-head { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); margin-block-end: var(--space-4); }
.lms-order-panel-head h2 { margin: 0; font-family: var(--font-display); font-size: var(--text-h2-size); line-height: var(--text-h2-line); }

.lms-order-items-table { overflow-x: auto; }
.lms-order-items-table .lms-table { min-inline-size: 760px; }
.lms-order-service-cell { display: flex; align-items: center; gap: var(--space-2); min-inline-size: 150px; }
.lms-order-service-cell > span { display: grid; place-items: center; inline-size: 34px; block-size: 34px; flex: 0 0 34px; border-radius: var(--radius-md); background: var(--color-navy-100); color: var(--brand-primary); }
.lms-order-service-cell small { display: block; margin-block-start: 2px; color: var(--text-secondary); font-size: var(--text-caption-size); }
.lms-order-qty { display: inline-grid; place-items: center; min-inline-size: 28px; block-size: 28px; border-radius: var(--radius-pill); background: var(--surface-app); font-family: var(--font-mono); font-weight: 700; }
.lms-order-addon-list { display: flex; flex-wrap: wrap; gap: 4px; }
.lms-order-notes { display: flex; align-items: start; gap: var(--space-3); margin-block-start: var(--space-4); padding: var(--space-3); border-radius: var(--radius-md); background: var(--color-warning-100); color: var(--color-warning-600); }
.lms-order-notes strong { color: var(--text-primary); }
.lms-order-notes p { margin: 3px 0 0; color: var(--text-secondary); }

.lms-order-detail-aside { position: sticky; inset-block-start: 92px; display: grid; gap: var(--space-4); }
.lms-order-summary-card dl,
.lms-order-info-card dl { display: grid; gap: 0; margin: 0; }
.lms-order-summary-card dl > div,
.lms-order-info-card dl > div { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); padding-block: 10px; border-block-end: 1px solid var(--border-default); }
.lms-order-summary-card dl > div:last-child,
.lms-order-info-card dl > div:last-child { border-block-end: 0; }
.lms-order-summary-card dt,
.lms-order-info-card dt { color: var(--text-secondary); }
.lms-order-summary-card dd,
.lms-order-info-card dd { margin: 0; color: var(--text-primary); font-weight: 700; text-align: end; }
.lms-order-summary-card .lms-order-grand-total { margin-block: var(--space-1); padding-block: var(--space-3); border-block: 1px solid var(--brand-primary); }
.lms-order-grand-total dt { color: var(--text-primary); font-weight: 800; }
.lms-order-grand-total dd { color: var(--brand-primary); font-size: var(--text-h1-size); }
.lms-order-summary-card dd.lms-order-discount { color: var(--brand-accent-hover); }
.lms-order-summary-card dd.lms-order-paid { color: var(--color-success-600); }
.lms-order-balance dd { color: var(--color-danger-600); font-size: var(--text-body-lg-size); }
.lms-order-status-card form { display: grid; gap: var(--space-3); }
.lms-order-status-card .lms-empty-state { padding: var(--space-4) 0; }

.lms-order-timeline { display: grid; }
.lms-order-timeline article { position: relative; display: grid; grid-template-columns: 18px minmax(0, 1fr); gap: var(--space-3); padding-block-end: var(--space-5); }
.lms-order-timeline article:not(:last-child)::before { content: ''; position: absolute; inset-block: 14px 0; inset-inline-start: 7px; inline-size: 2px; background: var(--border-default); }
.lms-order-timeline-dot { position: relative; z-index: 1; inline-size: 16px; block-size: 16px; margin-block-start: 3px; border: 4px solid var(--color-orange-100); border-radius: var(--radius-pill); background: var(--brand-accent); }
.lms-order-timeline-content { padding: var(--space-3); border: 1px solid var(--border-default); border-radius: var(--radius-md); background: var(--surface-app); }
.lms-order-timeline-content > div { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); }
.lms-order-timeline-content time,
.lms-order-timeline-content small { color: var(--text-secondary); font-size: var(--text-caption-size); }
.lms-order-timeline-content p { margin: var(--space-2) 0 3px; color: var(--text-secondary); }

@media (max-width: 1100px) {
    .lms-order-detail-layout { grid-template-columns: 1fr; }
    .lms-order-detail-aside { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .lms-order-status-card { grid-column: 1 / -1; }
}

@media (max-width: 767px) {
    .lms-order-detail-page { gap: var(--space-3); }
    .lms-order-detail-hero { display: grid; padding: var(--space-4); }
    .lms-order-detail-actions { inline-size: 100%; }
    .lms-order-detail-actions > * { flex: 1 1 auto; }
    .lms-order-detail-actions .lms-btn { inline-size: 100%; }
    .lms-order-progress { overflow-x: auto; grid-template-columns: repeat(6, minmax(92px, 1fr)); padding-inline: var(--space-3); }
    .lms-order-detail-aside { grid-template-columns: 1fr; }
    .lms-order-status-card { grid-column: auto; }
    .lms-order-detail-panel,
    .lms-order-summary-card,
    .lms-order-info-card,
    .lms-order-status-card { padding: var(--space-4); }
    .lms-order-timeline-content > div { display: grid; gap: 3px; }
}

@media (max-width: 480px) {
    .lms-order-detail-heading { align-items: start; }
    .lms-order-detail-icon { inline-size: 42px; block-size: 42px; flex-basis: 42px; }
    .lms-order-detail-actions { display: grid; grid-template-columns: 1fr; }
}
/* ---- End LMS Order Detail Redesign ---- */

/* ---- LMS Logo Upload ---- */
.lms-logo-upload {
    display: grid;
    grid-template-columns: 132px minmax(0, 1fr);
    align-items: center;
    gap: var(--space-4);
}

.lms-logo-preview {
    display: grid;
    place-items: center;
    gap: var(--space-2);
    min-block-size: 104px;
    padding: var(--space-3);
    border: 1px dashed var(--border-default);
    border-radius: var(--radius-lg);
    background: var(--surface-app);
    color: var(--text-secondary);
    text-align: center;
}

.lms-logo-preview img {
    max-inline-size: 100%;
    max-block-size: 82px;
    object-fit: contain;
}

.lms-logo-preview strong {
    font-size: var(--text-body-sm-size);
}

.lms-brand-mark img,
.lms-auth-mark img {
    inline-size: 100%;
    block-size: 100%;
    object-fit: contain;
}

.lms-auth-mark img {
    padding: 8px;
}

.lms-print-brand {
    display: flex;
    align-items: center;
    min-block-size: 44px;
    margin-block-end: var(--space-3);
}

.lms-print-brand img {
    max-inline-size: 150px;
    max-block-size: 56px;
    object-fit: contain;
}

.lms-print-brand strong {
    font: 800 var(--text-h3-size)/var(--text-h3-line) var(--font-display);
}

.lms-print-brand--thermal {
    justify-content: center;
    margin-block-end: var(--space-2);
    text-align: center;
}

.lms-print-brand--thermal img {
    max-inline-size: 120px;
    max-block-size: 48px;
}

@media (max-width: 767px) {
    .lms-logo-upload {
        grid-template-columns: 1fr;
    }
}
/* ---- End LMS Logo Upload ---- */

/* ---- LMS System Credit Footer ---- */
.lms-powered-by {
    display: flex;
    align-items: center;
    justify-content: center;
    inline-size: 100%;
    padding: var(--space-3) var(--space-5);
    color: var(--text-muted);
    font-size: var(--text-caption-size);
    font-weight: 800;
    line-height: 1.4;
    text-align: center;
}

.lms-powered-by span {
    max-inline-size: 100%;
    overflow-wrap: anywhere;
}

.lms-powered-by a {
    color: inherit;
    text-decoration: none;
}

.lms-powered-by a:hover {
    color: var(--brand-accent-hover);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.lms-main > .lms-powered-by,
.lms-pos-page-body > .lms-powered-by {
    border-block-start: 1px solid var(--border-default);
    background: var(--surface-card);
}

.lms-pos-page-body {
    display: flex;
    flex-direction: column;
}

.lms-pos-page-header,
.lms-pos-page-body > .lms-powered-by {
    flex: 0 0 auto;
}

.lms-pos-page-main {
    flex: 1 1 auto;
    min-block-size: 0;
    block-size: auto;
}

.lms-pos-page-body > .lms-powered-by {
    padding-block: var(--space-2);
}

.lms-auth-panel {
    grid-template-rows: minmax(0, 1fr) auto;
    align-items: center;
    justify-items: center;
}

.lms-auth-panel > .lms-powered-by {
    inline-size: min(100%, 460px);
    align-self: end;
    padding-block: var(--space-4) 0;
}

.lms-error-body {
    grid-template-rows: minmax(0, 1fr) auto;
}

.lms-error-shell {
    align-self: center;
}

.lms-error-body > .lms-powered-by {
    align-self: end;
    justify-self: center;
    padding-block: var(--space-4) 0;
}

@media print {
    .lms-powered-by {
        display: none !important;
    }
}
/* ---- End LMS System Credit Footer ---- */

/* ---- LMS Sales Report Redesign ---- */
.lms-sales-report { display: grid; gap: var(--space-5); }
.lms-sales-report-print-only { display: none; }
.lms-sales-report-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, .72fr); gap: var(--space-6); align-items: center; margin-block-end: var(--space-1); background: linear-gradient(135deg, var(--surface-card), var(--color-navy-100)); overflow: hidden; }
.lms-sales-report-hero-main { display: flex; align-items: center; gap: var(--space-4); min-inline-size: 0; }
.lms-sales-report-hero-icon { display: grid; place-items: center; flex: 0 0 auto; inline-size: 56px; block-size: 56px; border-radius: var(--radius-xl); background: var(--brand-primary); color: var(--text-on-navy); box-shadow: var(--shadow-xs); }
.lms-sales-report-eyebrow { display: block; margin-block-end: var(--space-1); color: var(--brand-accent); font-size: var(--text-caption-size); line-height: var(--text-caption-line); font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.lms-sales-report-hero h2 { margin: 0; font-size: var(--text-display-lg-size); line-height: var(--text-display-lg-line); }
.lms-sales-report-hero p { max-inline-size: 680px; margin: var(--space-1) 0 0; color: var(--text-secondary); }
.lms-sales-report-hero-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-3); }
.lms-sales-report-hero-summary div { display: grid; gap: var(--space-1); padding: var(--space-3) var(--space-4); border: 1px solid color-mix(in srgb, var(--brand-primary) 14%, var(--border-default)); border-radius: var(--radius-lg); background: color-mix(in srgb, var(--surface-card) 84%, transparent); box-shadow: var(--shadow-xs); }
.lms-sales-report-hero-summary span { color: var(--text-secondary); font-size: var(--text-body-sm-size); font-weight: 800; }
.lms-sales-report-hero-summary strong { font: 800 var(--text-h3-size)/var(--text-h3-line) var(--font-display); color: var(--brand-primary); white-space: nowrap; }
.lms-sales-report-insights { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); }
.lms-sales-report-insight { display: grid; align-content: space-between; gap: var(--space-4); min-block-size: 148px; }
.lms-sales-report-insight .lms-section-head { margin-block-end: 0; }
.lms-sales-report-insight .lms-section-head strong { font: 800 var(--text-h2-size)/var(--text-h2-line) var(--font-display); color: var(--brand-primary); }
.lms-sales-report-track { overflow: hidden; block-size: 10px; border-radius: var(--radius-pill); background: var(--surface-app); border: 1px solid var(--border-default); }
.lms-sales-report-track span { display: block; block-size: 100%; border-radius: inherit; background: var(--color-success-500); }
.lms-sales-report-track.is-warning span { background: var(--color-warning-500); }
.lms-sales-report-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); }
.lms-sales-report-panel, .lms-sales-report-orders { display: grid; gap: var(--space-4); }
.lms-sales-report-panel .lms-section-head, .lms-sales-report-orders .lms-section-head { margin-block-end: 0; }
.lms-sales-report-panel .lms-table-wrap, .lms-sales-report-orders .lms-table-wrap { margin-block-start: 0; }
html[dir="rtl"] .lms-sales-report-hero-main { direction: rtl; }
@media (max-width: 1180px) { .lms-sales-report-hero, .lms-sales-report-grid, .lms-sales-report-insights { grid-template-columns: 1fr; } }
@media (max-width: 767px) { .lms-sales-report-hero { gap: var(--space-4); } .lms-sales-report-hero-main { align-items: flex-start; } .lms-sales-report-hero h2 { font-size: var(--text-h1-size); line-height: var(--text-h1-line); } .lms-sales-report-hero-summary { grid-template-columns: 1fr; } .lms-sales-report-insight { min-block-size: auto; } }
@media print { .lms-sales-report-print-only { display: block !important; } .lms-sales-report-hero, .lms-sales-report-insights { display: none !important; } .lms-sales-report-grid { display: block !important; } }

/* ---- LMS Expense Report Redesign ---- */
.lms-expense-report { display: grid; gap: var(--space-5); }
.lms-expense-report-print-only { display: none; }
.lms-expense-report-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, .72fr); gap: var(--space-6); align-items: center; margin-block-end: var(--space-1); background: linear-gradient(135deg, var(--surface-card), var(--color-orange-100)); overflow: hidden; }
.lms-expense-report-hero-main { display: flex; align-items: center; gap: var(--space-4); min-inline-size: 0; }
.lms-expense-report-hero-icon { display: grid; place-items: center; flex: 0 0 auto; inline-size: 56px; block-size: 56px; border-radius: var(--radius-xl); background: var(--brand-primary); color: var(--text-on-navy); box-shadow: var(--shadow-xs); }
.lms-expense-report-eyebrow { display: block; margin-block-end: var(--space-1); color: var(--brand-accent); font-size: var(--text-caption-size); line-height: var(--text-caption-line); font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.lms-expense-report-hero h2 { margin: 0; font-size: var(--text-display-lg-size); line-height: var(--text-display-lg-line); }
.lms-expense-report-hero p { max-inline-size: 680px; margin: var(--space-1) 0 0; color: var(--text-secondary); }
.lms-expense-report-hero-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-3); }
.lms-expense-report-hero-summary div { display: grid; gap: var(--space-1); padding: var(--space-3) var(--space-4); border: 1px solid color-mix(in srgb, var(--brand-primary) 14%, var(--border-default)); border-radius: var(--radius-lg); background: color-mix(in srgb, var(--surface-card) 86%, transparent); box-shadow: var(--shadow-xs); }
.lms-expense-report-hero-summary span { color: var(--text-secondary); font-size: var(--text-body-sm-size); font-weight: 800; }
.lms-expense-report-hero-summary strong { font: 800 var(--text-h3-size)/var(--text-h3-line) var(--font-display); color: var(--brand-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lms-expense-report-insights { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); }
.lms-expense-report-insight { display: grid; align-content: space-between; gap: var(--space-4); min-block-size: 168px; }
.lms-expense-report-insight .lms-section-head { margin-block-end: 0; }
.lms-expense-report-insight .lms-section-head strong { font: 800 var(--text-h2-size)/var(--text-h2-line) var(--font-display); color: var(--brand-primary); }
.lms-expense-report-track { overflow: hidden; block-size: 10px; border-radius: var(--radius-pill); background: var(--surface-app); border: 1px solid var(--border-default); }
.lms-expense-report-track span { display: block; block-size: 100%; border-radius: inherit; background: var(--brand-accent); }
.lms-expense-report-track.is-warning span { background: var(--color-warning-500); }
.lms-expense-report-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr); gap: var(--space-5); }
.lms-expense-report-panel, .lms-expense-report-orders { display: grid; gap: var(--space-4); }
.lms-expense-report-panel .lms-section-head, .lms-expense-report-orders .lms-section-head { margin-block-end: 0; }
.lms-expense-report-panel .lms-table-wrap, .lms-expense-report-orders .lms-table-wrap { margin-block-start: 0; }
.lms-expense-report-summary-card { display: grid; gap: var(--space-1); padding: var(--space-4); border: 1px solid color-mix(in srgb, var(--brand-primary) 14%, var(--border-default)); border-radius: var(--radius-lg); background: var(--surface-app); }
.lms-expense-report-summary-card.is-soft { background: color-mix(in srgb, var(--brand-accent) 7%, var(--surface-card)); }
.lms-expense-report-summary-card span, .lms-expense-report-summary-card small { color: var(--text-secondary); font-weight: 800; }
.lms-expense-report-summary-card strong { font: 800 var(--text-h1-size)/var(--text-h1-line) var(--font-display); color: var(--brand-primary); }
html[dir="rtl"] .lms-expense-report-hero-main { direction: rtl; }
@media (max-width: 1180px) { .lms-expense-report-hero, .lms-expense-report-grid, .lms-expense-report-insights { grid-template-columns: 1fr; } }
@media (max-width: 767px) { .lms-expense-report-hero { gap: var(--space-4); } .lms-expense-report-hero-main { align-items: flex-start; } .lms-expense-report-hero h2 { font-size: var(--text-h1-size); line-height: var(--text-h1-line); } .lms-expense-report-hero-summary { grid-template-columns: 1fr; } .lms-expense-report-insight { min-block-size: auto; } }
@media print { .lms-expense-report-print-only { display: block !important; } .lms-expense-report-hero, .lms-expense-report-insights { display: none !important; } .lms-expense-report-grid { display: block !important; } }

/* ---- LMS Inventory Report Redesign ---- */
.lms-inventory-report { display: grid; gap: var(--space-5); }
.lms-inventory-report-print-only { display: none; }
.lms-inventory-report-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, .72fr); gap: var(--space-6); align-items: center; margin-block-end: var(--space-1); background: linear-gradient(135deg, var(--surface-card), var(--color-navy-100)); overflow: hidden; }
.lms-inventory-report-hero-main { display: flex; align-items: center; gap: var(--space-4); min-inline-size: 0; }
.lms-inventory-report-hero-icon { display: grid; place-items: center; flex: 0 0 auto; inline-size: 56px; block-size: 56px; border-radius: var(--radius-xl); background: var(--brand-primary); color: var(--text-on-navy); box-shadow: var(--shadow-xs); }
.lms-inventory-report-eyebrow { display: block; margin-block-end: var(--space-1); color: var(--brand-accent); font-size: var(--text-caption-size); line-height: var(--text-caption-line); font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.lms-inventory-report-hero h2 { margin: 0; font-size: var(--text-display-lg-size); line-height: var(--text-display-lg-line); }
.lms-inventory-report-hero p { max-inline-size: 680px; margin: var(--space-1) 0 0; color: var(--text-secondary); }
.lms-inventory-report-hero-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-3); }
.lms-inventory-report-hero-summary div { display: grid; gap: var(--space-1); padding: var(--space-3) var(--space-4); border: 1px solid color-mix(in srgb, var(--brand-primary) 14%, var(--border-default)); border-radius: var(--radius-lg); background: color-mix(in srgb, var(--surface-card) 84%, transparent); box-shadow: var(--shadow-xs); }
.lms-inventory-report-hero-summary span { color: var(--text-secondary); font-size: var(--text-body-sm-size); font-weight: 800; }
.lms-inventory-report-hero-summary strong { font: 800 var(--text-h3-size)/var(--text-h3-line) var(--font-display); color: var(--brand-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lms-inventory-report-insights { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); }
.lms-inventory-report-insight { display: grid; align-content: space-between; gap: var(--space-4); min-block-size: 168px; }
.lms-inventory-report-insight .lms-section-head { margin-block-end: 0; }
.lms-inventory-report-insight .lms-section-head strong { font: 800 var(--text-h2-size)/var(--text-h2-line) var(--font-display); color: var(--brand-primary); }
.lms-inventory-report-track { overflow: hidden; block-size: 10px; border-radius: var(--radius-pill); background: var(--surface-app); border: 1px solid var(--border-default); }
.lms-inventory-report-track span { display: block; block-size: 100%; border-radius: inherit; background: var(--color-success-500); }
.lms-inventory-report-track.is-warning span { background: var(--color-warning-500); }
.lms-inventory-report-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr); gap: var(--space-5); }
.lms-inventory-report-panel, .lms-inventory-report-products { display: grid; gap: var(--space-4); }
.lms-inventory-report-panel .lms-section-head, .lms-inventory-report-products .lms-section-head { margin-block-end: 0; }
.lms-inventory-report-panel .lms-table-wrap, .lms-inventory-report-products .lms-table-wrap { margin-block-start: 0; }
.lms-inventory-report-summary-card { display: grid; gap: var(--space-1); padding: var(--space-4); border: 1px solid color-mix(in srgb, var(--brand-primary) 14%, var(--border-default)); border-radius: var(--radius-lg); background: var(--surface-app); }
.lms-inventory-report-summary-card span, .lms-inventory-report-summary-card small, .lms-inventory-report-summary-pair span { color: var(--text-secondary); font-weight: 800; }
.lms-inventory-report-summary-card strong { font: 800 var(--text-h1-size)/var(--text-h1-line) var(--font-display); color: var(--brand-primary); }
.lms-inventory-report-summary-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3); }
.lms-inventory-report-summary-pair div { display: grid; gap: var(--space-1); padding: var(--space-4); border-radius: var(--radius-lg); background: color-mix(in srgb, var(--brand-accent) 7%, var(--surface-card)); border: 1px solid var(--border-default); }
.lms-inventory-report-summary-pair strong { font: 800 var(--text-h2-size)/var(--text-h2-line) var(--font-display); color: var(--brand-primary); }
html[dir="rtl"] .lms-inventory-report-hero-main { direction: rtl; }
@media (max-width: 1180px) { .lms-inventory-report-hero, .lms-inventory-report-grid, .lms-inventory-report-insights { grid-template-columns: 1fr; } }
@media (max-width: 767px) { .lms-inventory-report-hero { gap: var(--space-4); } .lms-inventory-report-hero-main { align-items: flex-start; } .lms-inventory-report-hero h2 { font-size: var(--text-h1-size); line-height: var(--text-h1-line); } .lms-inventory-report-hero-summary, .lms-inventory-report-summary-pair { grid-template-columns: 1fr; } .lms-inventory-report-insight { min-block-size: auto; } }
@media print { .lms-inventory-report-print-only { display: block !important; } .lms-inventory-report-hero, .lms-inventory-report-insights { display: none !important; } .lms-inventory-report-grid { display: block !important; } }

/* ---- LMS Purchase Report Redesign ---- */
.lms-purchase-report { display: grid; gap: var(--space-5); }
.lms-purchase-report-print-only { display: none; }
.lms-purchase-report-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, .72fr); gap: var(--space-6); align-items: center; margin-block-end: var(--space-1); background: linear-gradient(135deg, var(--surface-card), var(--surface-app)); overflow: hidden; }
.lms-purchase-report-hero-main { display: flex; align-items: center; gap: var(--space-4); min-inline-size: 0; }
.lms-purchase-report-hero-icon { display: grid; place-items: center; flex: 0 0 auto; inline-size: 56px; block-size: 56px; border-radius: var(--radius-xl); background: var(--brand-primary); color: var(--text-on-navy); box-shadow: var(--shadow-xs); }
.lms-purchase-report-eyebrow { display: block; margin-block-end: var(--space-1); color: var(--brand-accent); font-size: var(--text-caption-size); line-height: var(--text-caption-line); font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.lms-purchase-report-hero h2 { margin: 0; font-size: var(--text-display-lg-size); line-height: var(--text-display-lg-line); }
.lms-purchase-report-hero p { max-inline-size: 680px; margin: var(--space-1) 0 0; color: var(--text-secondary); }
.lms-purchase-report-hero-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-3); }
.lms-purchase-report-hero-summary div { display: grid; gap: var(--space-1); padding: var(--space-3) var(--space-4); border: 1px solid color-mix(in srgb, var(--brand-primary) 14%, var(--border-default)); border-radius: var(--radius-lg); background: color-mix(in srgb, var(--surface-card) 86%, transparent); box-shadow: var(--shadow-xs); }
.lms-purchase-report-hero-summary span { color: var(--text-secondary); font-size: var(--text-body-sm-size); font-weight: 800; }
.lms-purchase-report-hero-summary strong { font: 800 var(--text-h3-size)/var(--text-h3-line) var(--font-display); color: var(--brand-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lms-purchase-report-insights { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); }
.lms-purchase-report-insight { display: grid; align-content: space-between; gap: var(--space-4); min-block-size: 168px; }
.lms-purchase-report-insight .lms-section-head { margin-block-end: 0; }
.lms-purchase-report-insight .lms-section-head strong { font: 800 var(--text-h2-size)/var(--text-h2-line) var(--font-display); color: var(--brand-primary); }
.lms-purchase-report-track { overflow: hidden; block-size: 10px; border-radius: var(--radius-pill); background: var(--surface-app); border: 1px solid var(--border-default); }
.lms-purchase-report-track span { display: block; block-size: 100%; border-radius: inherit; background: var(--color-success-500); }
.lms-purchase-report-track.is-warning span { background: var(--color-warning-500); }
.lms-purchase-report-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr); gap: var(--space-5); }
.lms-purchase-report-panel, .lms-purchase-report-orders { display: grid; gap: var(--space-4); }
.lms-purchase-report-panel .lms-section-head, .lms-purchase-report-orders .lms-section-head { margin-block-end: 0; }
.lms-purchase-report-panel .lms-table-wrap, .lms-purchase-report-orders .lms-table-wrap { margin-block-start: 0; }
.lms-purchase-report-summary-card { display: grid; gap: var(--space-1); padding: var(--space-4); border: 1px solid color-mix(in srgb, var(--brand-primary) 14%, var(--border-default)); border-radius: var(--radius-lg); background: var(--surface-app); }
.lms-purchase-report-summary-card.is-soft { background: color-mix(in srgb, var(--brand-accent) 7%, var(--surface-card)); }
.lms-purchase-report-summary-card span, .lms-purchase-report-summary-card small { color: var(--text-secondary); font-weight: 800; }
.lms-purchase-report-summary-card strong { font: 800 var(--text-h1-size)/var(--text-h1-line) var(--font-display); color: var(--brand-primary); }
html[dir="rtl"] .lms-purchase-report-hero-main { direction: rtl; }
@media (max-width: 1180px) { .lms-purchase-report-hero, .lms-purchase-report-grid, .lms-purchase-report-insights { grid-template-columns: 1fr; } }
@media (max-width: 767px) { .lms-purchase-report-hero { gap: var(--space-4); } .lms-purchase-report-hero-main { align-items: flex-start; } .lms-purchase-report-hero h2 { font-size: var(--text-h1-size); line-height: var(--text-h1-line); } .lms-purchase-report-hero-summary { grid-template-columns: 1fr; } .lms-purchase-report-insight { min-block-size: auto; } }
@media print { .lms-purchase-report-print-only { display: block !important; } .lms-purchase-report-hero, .lms-purchase-report-insights { display: none !important; } .lms-purchase-report-grid { display: block !important; } }

/* ---- LMS Profit Loss Report Redesign ---- */
.lms-profit-report { display: grid; gap: var(--space-5); }
.lms-profit-report-print-only { display: none; }
.lms-profit-report-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, .72fr); gap: var(--space-6); align-items: center; margin-block-end: var(--space-1); background: linear-gradient(135deg, var(--surface-card), var(--color-navy-100)); overflow: hidden; }
.lms-profit-report-hero-main { display: flex; align-items: center; gap: var(--space-4); min-inline-size: 0; }
.lms-profit-report-hero-icon { display: grid; place-items: center; flex: 0 0 auto; inline-size: 56px; block-size: 56px; border-radius: var(--radius-xl); background: var(--brand-primary); color: var(--text-on-navy); box-shadow: var(--shadow-xs); }
.lms-profit-report-eyebrow { display: block; margin-block-end: var(--space-1); color: var(--brand-accent); font-size: var(--text-caption-size); line-height: var(--text-caption-line); font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.lms-profit-report-hero h2 { margin: 0; font-size: var(--text-display-lg-size); line-height: var(--text-display-lg-line); }
.lms-profit-report-hero h2.is-positive, .lms-profit-report .is-positive { color: var(--color-success-600); }
.lms-profit-report-hero h2.is-negative, .lms-profit-report .is-negative { color: var(--color-danger-600); }
.lms-profit-report-hero p { max-inline-size: 680px; margin: var(--space-1) 0 0; color: var(--text-secondary); }
.lms-profit-report-hero-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-3); }
.lms-profit-report-hero-summary div { display: grid; gap: var(--space-1); padding: var(--space-3) var(--space-4); border: 1px solid color-mix(in srgb, var(--brand-primary) 14%, var(--border-default)); border-radius: var(--radius-lg); background: color-mix(in srgb, var(--surface-card) 84%, transparent); box-shadow: var(--shadow-xs); }
.lms-profit-report-hero-summary span { color: var(--text-secondary); font-size: var(--text-body-sm-size); font-weight: 800; }
.lms-profit-report-hero-summary strong { font: 800 var(--text-h3-size)/var(--text-h3-line) var(--font-display); color: var(--brand-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lms-profit-report-insights { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); }
.lms-profit-report-insight { display: grid; align-content: space-between; gap: var(--space-4); min-block-size: 168px; }
.lms-profit-report-insight .lms-section-head { margin-block-end: 0; }
.lms-profit-report-insight .lms-section-head strong { font: 800 var(--text-h2-size)/var(--text-h2-line) var(--font-display); color: var(--brand-primary); }
.lms-profit-report-track { overflow: hidden; block-size: 10px; border-radius: var(--radius-pill); background: var(--surface-app); border: 1px solid var(--border-default); }
.lms-profit-report-track span { display: block; block-size: 100%; border-radius: inherit; background: var(--brand-primary); }
.lms-profit-report-track.is-positive span { background: var(--color-success-500); }
.lms-profit-report-track.is-negative span { background: var(--color-danger-500); }
.lms-profit-report-track.is-warning span { background: var(--color-warning-500); }
.lms-profit-report-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr); gap: var(--space-5); }
.lms-profit-report-panel { display: grid; gap: var(--space-4); }
.lms-profit-report-panel .lms-section-head { margin-block-end: 0; }
.lms-profit-report-equation { display: grid; gap: var(--space-3); }
.lms-profit-report-equation div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-3); align-items: center; padding: var(--space-3) var(--space-4); border: 1px solid var(--border-default); border-radius: var(--radius-lg); background: var(--surface-app); }
.lms-profit-report-equation .is-total { background: color-mix(in srgb, var(--brand-accent) 7%, var(--surface-card)); border-color: color-mix(in srgb, var(--brand-primary) 18%, var(--border-default)); }
.lms-profit-report-equation span, .lms-profit-report-summary-card span, .lms-profit-report-summary-card small, .lms-profit-report-summary-pair span { color: var(--text-secondary); font-weight: 800; }
.lms-profit-report-equation strong { font-family: var(--font-mono); }
.lms-profit-report-summary-card { display: grid; gap: var(--space-1); padding: var(--space-4); border: 1px solid color-mix(in srgb, var(--brand-primary) 14%, var(--border-default)); border-radius: var(--radius-lg); background: var(--surface-app); }
.lms-profit-report-summary-card strong { font: 800 var(--text-h1-size)/var(--text-h1-line) var(--font-display); color: var(--brand-primary); }
.lms-profit-report-summary-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3); }
.lms-profit-report-summary-pair div { display: grid; gap: var(--space-1); padding: var(--space-4); border-radius: var(--radius-lg); background: color-mix(in srgb, var(--brand-accent) 7%, var(--surface-card)); border: 1px solid var(--border-default); }
.lms-profit-report-summary-pair strong { font: 800 var(--text-h3-size)/var(--text-h3-line) var(--font-display); color: var(--brand-primary); }
html[dir="rtl"] .lms-profit-report-hero-main { direction: rtl; }
@media (max-width: 1180px) { .lms-profit-report-hero, .lms-profit-report-grid, .lms-profit-report-insights { grid-template-columns: 1fr; } }
@media (max-width: 767px) { .lms-profit-report-hero { gap: var(--space-4); } .lms-profit-report-hero-main { align-items: flex-start; } .lms-profit-report-hero h2 { font-size: var(--text-h1-size); line-height: var(--text-h1-line); } .lms-profit-report-hero-summary, .lms-profit-report-summary-pair, .lms-profit-report-equation div { grid-template-columns: 1fr; } .lms-profit-report-insight { min-block-size: auto; } }
@media print { .lms-profit-report-print-only { display: block !important; } .lms-profit-report-hero, .lms-profit-report-insights { display: none !important; } .lms-profit-report-grid { display: block !important; } }

/* ---- LMS Report Print Letterhead Polish ---- */
.lms-report-brand{display:flex;align-items:flex-start;gap:var(--space-3);min-inline-size:0}.lms-report-brand-mark{display:grid;place-items:center;flex:0 0 auto;inline-size:58px;block-size:58px;border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-card);box-shadow:var(--shadow-xs);overflow:hidden}.lms-report-brand-logo{max-inline-size:100%;max-block-size:100%;object-fit:contain}.lms-report-brand-mark strong{font:900 24px/1 var(--font-display);color:var(--brand-primary)}.lms-report-brand-copy{display:grid;gap:2px;min-inline-size:0;color:var(--text-secondary);font-size:var(--text-body-sm-size);line-height:var(--text-body-sm-line)}.lms-report-brand-copy span{overflow-wrap:anywhere}.lms-report-print-meta h1{margin:0;font:var(--text-h1-weight) var(--text-h1-size)/var(--text-h1-line) var(--font-display);color:var(--text-primary)}.lms-report-print-meta dl{display:grid;gap:4px;margin:var(--space-3) 0 0}.lms-report-print-meta dl div{display:grid;grid-template-columns:auto auto;gap:var(--space-3);justify-content:end}.lms-report-print-meta dt{font-weight:800;color:var(--text-secondary)}.lms-report-print-meta dd{margin:0;color:var(--text-primary)}
@media print{.lms-skip-link{display:none!important}.lms-report-print-header{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(72mm,.9fr)!important;gap:8mm!important;align-items:start!important;padding-block-end:7mm!important;margin-block-end:7mm!important;border-block-end:1.5px solid #111!important}.lms-report-brand-mark{inline-size:22mm!important;block-size:18mm!important;border:1px solid #d1d5db!important;border-radius:2mm!important;box-shadow:none!important}.lms-report-brand-logo{max-inline-size:20mm!important;max-block-size:16mm!important}.lms-report-brand-copy{font-size:8.5pt!important;line-height:1.35!important;color:#4b5563!important}.lms-report-print-kicker{margin:0 0 1mm!important;color:#111!important;font-size:9pt!important;letter-spacing:.08em!important}.lms-report-print-meta{text-align:end!important}.lms-report-print-meta span{display:block!important;color:#6b7280!important;font-size:8pt!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:.08em!important}.lms-report-print-meta h1{margin:1mm 0 0!important;font-size:20pt!important;line-height:1.05!important;color:#111!important;text-transform:none!important}.lms-report-print-meta p{margin:1.5mm 0 0!important;color:#4b5563!important;font-size:9pt!important}.lms-report-print-meta dl{margin-block-start:4mm!important}.lms-report-print-meta dl div{grid-template-columns:auto auto!important;gap:4mm!important;justify-content:end!important;font-size:8.5pt!important}.lms-report-kpi-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:3mm!important}.lms-report-kpi-card{padding:3mm!important;border:1px solid #d1d5db!important;border-radius:2mm!important}.lms-report-kpi-card span{font-size:7.5pt!important;letter-spacing:.04em!important;color:#4b5563!important}.lms-report-kpi-card strong{font-size:12pt!important;line-height:1.2!important;color:#111!important}.lms-card.lms-report-section,.lms-section-card.lms-report-section{margin-block:0 6mm!important;padding:0!important;border:0!important}.lms-report-section>.lms-section-head{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:5mm!important;margin-block-end:2.5mm!important;padding-block-end:1.5mm!important;border-block-end:1px solid #d1d5db!important}.lms-report-section>.lms-section-head h2{margin:0!important;font-size:12.5pt!important;line-height:1.15!important;color:#111!important}.lms-report-section>.lms-section-head p{margin:1mm 0 0!important;font-size:8.5pt!important;color:#4b5563!important}.lms-report-section>.lms-section-head .lms-status-badge{display:none!important}.lms-table-wrap{border:1px solid #d1d5db!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important}.lms-table{inline-size:100%!important;min-inline-size:0!important;border-collapse:collapse!important;font-size:8.5pt!important}.lms-table th{background:#f3f4f6!important;color:#111!important;font-size:7.8pt!important;letter-spacing:.03em!important;text-transform:uppercase!important}.lms-table th,.lms-table td{border:1px solid #e5e7eb!important;padding:2.2mm 2.5mm!important;white-space:normal!important}.lms-table td{vertical-align:top!important}.lms-status-badge{border:0!important;background:transparent!important;color:#111!important;padding:0!important}.lms-report-print-footer{display:flex!important;position:static!important;justify-content:space-between!important;gap:6mm!important;margin-block-start:8mm!important;padding-block-start:3mm!important;border-block-start:1px solid #9ca3af!important;background:#fff!important;color:#4b5563!important;font-size:8pt!important}.lms-report-screen-title{display:none!important}html[dir="rtl"] .lms-report-print-header,html[dir="rtl"] .lms-report-print-footer{direction:rtl}}
/* ---- End LMS Report Print Letterhead Polish ---- */

/* ---- LMS Translations Page Redesign ---- */
.lms-translations-hero { display: flex; align-items: center; justify-content: space-between; gap: var(--space-6); margin-block-end: var(--space-5); background: linear-gradient(135deg, var(--surface-card), var(--color-navy-100)); overflow: hidden; }
.lms-translations-hero-main { display: flex; align-items: center; gap: var(--space-4); min-inline-size: 0; }
.lms-translations-hero-icon, .lms-translations-locale-icon { display: grid; place-items: center; flex: 0 0 auto; border-radius: var(--radius-lg); background: var(--brand-primary); color: var(--text-on-navy); }
.lms-translations-hero-icon { inline-size: 54px; block-size: 54px; box-shadow: var(--shadow-xs); }
.lms-translations-locale-icon { inline-size: 42px; block-size: 42px; background: var(--color-orange-100); color: var(--brand-accent); }
.lms-translations-eyebrow { display: block; margin-block-end: var(--space-1); font-size: var(--text-caption-size); line-height: var(--text-caption-line); font-weight: 900; letter-spacing: .08em; text-transform: uppercase; color: var(--brand-accent); }
.lms-translations-hero h2 { margin: 0; font-size: var(--text-display-lg-size); line-height: var(--text-display-lg-line); }
.lms-translations-hero p { max-inline-size: 680px; margin: var(--space-1) 0 0; color: var(--text-secondary); }
.lms-translations-summary { display: grid; grid-template-columns: repeat(3, minmax(90px, 1fr)); gap: var(--space-3); flex: 0 0 auto; }
.lms-translations-summary div { min-inline-size: 0; padding: var(--space-3) var(--space-4); border: 1px solid color-mix(in srgb, var(--brand-primary) 14%, var(--border-default)); border-radius: var(--radius-lg); background: color-mix(in srgb, var(--surface-card) 84%, transparent); box-shadow: var(--shadow-xs); }
.lms-translations-summary span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-family: var(--font-display); font-size: var(--text-h1-size); line-height: var(--text-h1-line); font-weight: 800; color: var(--brand-primary); }
.lms-translations-summary small { display: block; color: var(--text-secondary); font-weight: 700; }
.lms-translations-filter { margin-block-end: var(--space-5); }
.lms-translations-filter .lms-form-grid { grid-template-columns: minmax(220px, .45fr) auto; align-items: end; }
.lms-translations-filter-actions { align-items: end; justify-content: flex-end; }
.lms-translations-locale-nav { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-block-end: var(--space-5); padding: var(--space-3); }
.lms-translations-locale-nav a { display: inline-flex; align-items: center; gap: var(--space-2); min-block-size: 40px; padding: var(--space-2) var(--space-3); border: 1px solid var(--border-default); border-radius: var(--radius-pill); color: var(--text-primary); text-decoration: none; font-weight: 800; background: var(--surface-card); }
.lms-translations-locale-nav a:hover, .lms-translations-locale-nav a:focus-visible { border-color: color-mix(in srgb, var(--brand-accent) 40%, var(--border-default)); color: var(--brand-primary); outline: 0; box-shadow: var(--shadow-xs); }
.lms-translations-locale-nav span { display: grid; place-items: center; min-inline-size: 26px; block-size: 26px; border-radius: var(--radius-pill); background: var(--surface-app); color: var(--text-secondary); font-size: 12px; }
.lms-translations-form { gap: var(--space-5); }
.lms-translations-locale-card { scroll-margin-block-start: calc(72px + var(--space-5)); }
.lms-translations-locale-card .lms-section-head { margin-block-end: var(--space-4); }
.lms-translations-locale-title { display: flex; align-items: flex-start; gap: var(--space-3); min-inline-size: 0; }
.lms-translations-locale-title h2 { margin: 0; }
.lms-translations-locale-title p { margin: var(--space-1) 0 0; color: var(--text-secondary); }
.lms-translations-locale-card textarea { min-block-size: 74px; resize: vertical; }
.lms-translations-sticky-actions { margin-block-start: 0; }
html[dir="rtl"] .lms-translations-hero-main, html[dir="rtl"] .lms-translations-locale-title { direction: rtl; }
@media (max-width: 1180px) { .lms-translations-hero { display: grid; } .lms-translations-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 767px) { .lms-translations-hero { gap: var(--space-4); } .lms-translations-hero-main { align-items: flex-start; } .lms-translations-hero h2 { font-size: var(--text-h1-size); line-height: var(--text-h1-line); } .lms-translations-summary, .lms-translations-filter .lms-form-grid { grid-template-columns: 1fr; } .lms-translations-filter-actions { justify-content: stretch; } .lms-translations-filter-actions .lms-btn { inline-size: 100%; } .lms-translations-locale-nav { overflow-x: auto; flex-wrap: nowrap; scrollbar-width: thin; } .lms-translations-locale-nav a { flex: 0 0 auto; } }

/* ---- LMS Create Customer Redesign ---- */
.lms-customer-create-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(240px, .42fr) auto; gap: var(--space-5); align-items: center; margin-block-end: var(--space-5); background: linear-gradient(135deg, var(--surface-card), var(--color-navy-100)); overflow: hidden; }
.lms-customer-create-hero-main { display: flex; align-items: center; gap: var(--space-4); min-inline-size: 0; }
.lms-customer-create-hero-icon { display: grid; place-items: center; flex: 0 0 auto; inline-size: 54px; block-size: 54px; border-radius: var(--radius-lg); background: var(--brand-primary); color: var(--text-on-navy); box-shadow: var(--shadow-xs); }
.lms-customer-create-eyebrow { display: block; margin-block-end: var(--space-1); color: var(--brand-accent); font-size: var(--text-caption-size); line-height: var(--text-caption-line); font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.lms-customer-create-hero h2 { margin: 0; font-size: var(--text-display-lg-size); line-height: var(--text-display-lg-line); }
.lms-customer-create-hero p { max-inline-size: 640px; margin: var(--space-1) 0 0; color: var(--text-secondary); }
.lms-customer-create-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3); }
.lms-customer-create-summary div { min-inline-size: 0; padding: var(--space-3) var(--space-4); border: 1px solid color-mix(in srgb, var(--brand-primary) 14%, var(--border-default)); border-radius: var(--radius-lg); background: color-mix(in srgb, var(--surface-card) 86%, transparent); box-shadow: var(--shadow-xs); }
.lms-customer-create-summary span { display: block; color: var(--text-secondary); font-size: var(--text-body-sm-size); font-weight: 800; }
.lms-customer-create-summary strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 800 var(--text-h3-size)/var(--text-h3-line) var(--font-display); color: var(--brand-primary); }
.lms-customer-create-actions { display: flex; justify-content: flex-end; }
.lms-customer-create-shell { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: var(--space-5); align-items: start; }
.lms-customer-create-side { position: sticky; inset-block-start: calc(72px + var(--space-5)); display: grid; gap: var(--space-3); }
.lms-customer-create-side-item { display: flex; align-items: flex-start; gap: var(--space-3); padding: var(--space-3); border: 1px solid var(--border-default); border-radius: var(--radius-lg); background: var(--surface-app); }
.lms-customer-create-side-item > span { display: grid; place-items: center; flex: 0 0 auto; inline-size: 34px; block-size: 34px; border-radius: var(--radius-pill); background: var(--color-orange-100); color: var(--brand-accent); }
.lms-customer-create-side-item strong { display: block; margin-block-end: 2px; color: var(--text-primary); }
.lms-customer-create-side-item small { display: block; color: var(--text-secondary); line-height: var(--text-body-sm-line); }
.lms-customer-create-form { display: grid; gap: var(--space-5); }
.lms-customer-create-form .lms-form-section { padding: var(--space-5); border: 1px solid var(--border-default); border-radius: var(--radius-xl); background: var(--surface-card); box-shadow: var(--shadow-xs); }
.lms-customer-create-form .lms-form-section h2 { margin: 0 0 var(--space-4); padding-block-end: var(--space-3); border-block-end: 1px solid var(--border-default); }
.lms-customer-create-form .lms-form-section .lms-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.lms-customer-create-form .lms-form-section:nth-of-type(2) .lms-form-grid .lms-form-field:nth-child(n+2) { grid-column: 1 / -1; }
.lms-customer-create-form > .lms-form-actions { position: sticky; inset-block-end: var(--space-4); z-index: 5; display: flex; justify-content: flex-end; gap: var(--space-3); padding: var(--space-3); border: 1px solid var(--border-default); border-radius: var(--radius-lg); background: color-mix(in srgb, var(--surface-card) 94%, transparent); backdrop-filter: blur(12px); box-shadow: var(--shadow-md); }
html[dir="rtl"] .lms-customer-create-hero-main { direction: rtl; }
@media (max-width: 1180px) { .lms-customer-create-hero, .lms-customer-create-shell { grid-template-columns: 1fr; } .lms-customer-create-side { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); } .lms-customer-create-actions { justify-content: flex-start; } }
@media (max-width: 767px) { .lms-customer-create-hero { gap: var(--space-4); } .lms-customer-create-hero-main { align-items: flex-start; } .lms-customer-create-hero h2 { font-size: var(--text-h1-size); line-height: var(--text-h1-line); } .lms-customer-create-summary, .lms-customer-create-side, .lms-customer-create-form .lms-form-section .lms-form-grid { grid-template-columns: 1fr; } .lms-customer-create-form .lms-form-section { padding: var(--space-4); } .lms-customer-create-form .lms-form-section:nth-of-type(2) .lms-form-grid .lms-form-field:nth-child(n+2) { grid-column: auto; } .lms-customer-create-form > .lms-form-actions { justify-content: stretch; } .lms-customer-create-form > .lms-form-actions .lms-btn { inline-size: 100%; } }

/* ---- LMS Plain Auth/POS Logo Treatment ---- */
.lms-auth-mark {
    inline-size: auto;
    block-size: auto;
    min-inline-size: 0;
    min-block-size: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.lms-auth-mark img {
    display: block;
    inline-size: 72px;
    block-size: 72px;
    object-fit: contain;
}

.lms-pos-page-brand > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: auto;
    block-size: auto;
    padding: 0;
    border-radius: 0;
    background: transparent;
}

.lms-pos-page-brand img {
    display: block;
    inline-size: 56px;
    block-size: 56px;
    object-fit: contain;
}

@media (max-width: 767px) {
    .lms-auth-mark img { inline-size: 60px; block-size: 60px; }
    .lms-pos-page-brand img { inline-size: 44px; block-size: 44px; }
}
/* ---- End LMS Plain Auth/POS Logo Treatment ---- */

/* ---- LMS Service Image Upload Integration ---- */
.lms-service-image-uploader { display: grid; gap: var(--space-4); }
.lms-service-image-preview { position: relative; display: grid; place-items: center; min-block-size: 168px; overflow: hidden; border: 1px dashed var(--border-default); border-radius: var(--radius-lg); background: linear-gradient(135deg, var(--color-navy-100), var(--surface-app)); color: var(--brand-primary); text-align: center; }
.lms-service-image-preview img { inline-size: 100%; block-size: 100%; min-block-size: 168px; object-fit: cover; }
.lms-service-image-preview span { display: grid; place-items: center; inline-size: 64px; block-size: 64px; border-radius: var(--radius-xl); background: var(--surface-card); box-shadow: var(--shadow-xs); }
.lms-service-image-preview small { display: block; max-inline-size: 180px; color: var(--text-secondary); font-weight: 800; }
.lms-service-image-controls { display: grid; gap: var(--space-3); }
.lms-service-image-controls p { margin: 0; color: var(--text-secondary); font-size: var(--text-body-sm-size); line-height: var(--text-body-sm-line); }
.lms-service-image-button { display: inline-flex; align-items: center; justify-content: center; min-block-size: 42px; padding: var(--space-2) var(--space-4); border: 1px solid var(--brand-primary); border-radius: var(--radius-pill); background: var(--brand-primary); color: var(--color-white); font-weight: 900; cursor: pointer; text-align: center; }
.lms-service-image-button input { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.lms-service-image-button:hover { border-color: var(--brand-accent); background: var(--brand-accent); }
.lms-service-image-remove { display: inline-flex; align-items: center; gap: var(--space-2); color: var(--color-danger-600); font-size: var(--text-body-sm-size); font-weight: 800; }
.lms-service-show-hero { display: grid; grid-template-columns: minmax(220px, 320px) minmax(0, 1fr) auto; gap: var(--space-5); align-items: center; margin-block-end: var(--space-5); background: linear-gradient(135deg, var(--surface-card), var(--color-navy-100)); }
.lms-service-show-media { display: grid; place-items: center; aspect-ratio: 16 / 10; overflow: hidden; border-radius: var(--radius-xl); background: var(--surface-app); color: var(--brand-primary); }
.lms-service-show-media img { inline-size: 100%; block-size: 100%; object-fit: cover; }
.lms-service-show-media span { display: grid; place-items: center; inline-size: 70px; block-size: 70px; border-radius: var(--radius-xl); background: var(--surface-card); box-shadow: var(--shadow-xs); }
.lms-service-show-media small { color: var(--text-secondary); font-weight: 800; }
.lms-service-show-copy h2 { margin: 0; font-size: var(--text-display-lg-size); line-height: var(--text-display-lg-line); }
.lms-service-show-copy p { max-inline-size: 680px; margin: var(--space-2) 0 var(--space-3); color: var(--text-secondary); }
.lms-service-show-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: var(--space-2); }
@media (max-width: 1180px) { .lms-service-show-hero { grid-template-columns: 1fr; } .lms-service-show-actions { justify-content: flex-start; } }
/* ---- End LMS Service Image Upload Integration ---- */














/* ---- LMS POS V3 Consolidated Polish ---- */
.lms-pos-page-body{overflow:hidden!important;background:#f6f8fb!important}.lms-pos-page-body .lms-pos-page-main{height:calc(100vh - 128px)!important;min-height:650px!important;overflow:hidden!important;padding:12px!important}.lms-pos-page-body .lms-pos-v3{height:100%!important;min-height:0!important;display:flex!important;flex-direction:column!important;gap:12px!important;overflow:hidden!important}.lms-pos-page-body .lms-pos-v3 .lms-card{border:1px solid rgba(148,163,184,.28)!important;border-radius:18px!important;background:#fff!important;box-shadow:0 12px 30px rgba(15,23,42,.06)!important}
.lms-pos-page-body .lms-pos-v3 .lms-pos-panes-row{flex:1 1 auto!important;min-height:0!important;display:grid!important;grid-template-columns:clamp(390px,31vw,460px) minmax(0,1fr)!important;grid-template-areas:"checkout catalog"!important;gap:12px!important;overflow:hidden!important}html[dir="rtl"] .lms-pos-page-body .lms-pos-v3 .lms-pos-panes-row{grid-template-areas:"catalog checkout"!important}.lms-pos-page-body .lms-pos-v3 .lms-pos-checkout,.lms-pos-page-body .lms-pos-v3 .lms-pos-products{min-height:0!important;height:100%!important;overflow:hidden!important;display:flex!important;flex-direction:column!important}.lms-pos-page-body .lms-pos-v3 .lms-pos-checkout{grid-area:checkout!important;gap:10px!important;padding:14px!important}.lms-pos-page-body .lms-pos-v3 .lms-pos-products{grid-area:catalog!important;gap:12px!important;padding:16px!important}
.lms-pos-page-body .lms-pos-v3 .lms-pos-tabs,.lms-pos-page-body .lms-pos-v3 .lms-pos-kind-tabs{display:flex!important;gap:8px!important;overflow-x:auto!important;flex-wrap:nowrap!important;margin:0!important}.lms-pos-page-body .lms-pos-v3 .lms-pos-tabs button,.lms-pos-page-body .lms-pos-v3 .lms-pos-kind-tabs button{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:var(--space-2)!important;height:34px!important;min-height:34px!important;padding:5px 14px!important;border-radius:999px!important;font-size:12px!important;white-space:nowrap!important}.lms-pos-page-body .lms-pos-v3 .lms-pos-tabs button span,.lms-pos-page-body .lms-pos-v3 .lms-pos-kind-tabs button span{min-inline-size:22px!important;padding:2px 6px!important;border-radius:var(--radius-pill)!important;background:#e2e8f0!important;color:#64748b!important;font-size:11px!important;line-height:1.2!important}.lms-pos-page-body .lms-pos-v3 .lms-pos-tabs button.is-active span,.lms-pos-page-body .lms-pos-v3 .lms-pos-kind-tabs button.is-active span{background:rgba(255,255,255,.24)!important;color:var(--color-white)!important}.lms-pos-page-body .lms-pos-v3 .lms-pos-kind-tabs button[hidden],.lms-pos-page-body .lms-pos-v3 .lms-pos-tabs button[hidden]{display:none!important}
.lms-pos-page-body .lms-pos-v3 .lms-pos-grid{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;display:grid!important;grid-template-columns:repeat(auto-fill,minmax(176px,1fr))!important;grid-auto-rows:minmax(220px,auto)!important;align-content:start!important;align-items:stretch!important;gap:12px!important;padding:0 4px 8px 0!important}.lms-pos-page-body .lms-pos-v3 .lms-service-tile{min-block-size:220px!important;block-size:100%!important;max-block-size:none!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;grid-template-rows:none!important;padding:var(--space-4)!important;border-radius:16px!important;border-color:rgba(148,163,184,.28)!important;background:#fff!important;box-shadow:0 8px 18px rgba(15,23,42,.045)!important;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease!important}.lms-pos-page-body .lms-pos-v3 .lms-service-tile.is-adding{border-color:var(--brand-accent)!important;box-shadow:0 0 0 4px rgba(249,115,22,.18),0 12px 26px rgba(15,23,42,.08)!important;transform:translateY(-2px) scale(1.01)!important}.lms-pos-page-body .lms-pos-v3 .lms-service-tile-copy{flex:1 1 auto!important;min-height:0!important;overflow:hidden!important}.lms-pos-page-body .lms-pos-v3 .lms-service-tile-copy small{display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important}.lms-pos-page-body .lms-pos-v3 .lms-service-tile-footer{margin-block-start:auto!important;padding-block-start:var(--space-3)!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:var(--space-2)!important}.lms-pos-page-body .lms-pos-v3 .lms-service-tile[hidden],.lms-pos-page-body .lms-pos-v3 .lms-service-tile.is-filtered,.lms-pos-page-body .lms-pos-v3 [data-lms-pos-item][hidden],.lms-pos-page-body .lms-pos-v3 [data-lms-pos-item].is-filtered{display:none!important}
.lms-pos-page-body .lms-pos-v3 .lms-pos-lines{flex:0 1 150px!important;min-height:118px!important;overflow-y:auto!important;display:grid!important;gap:var(--space-3)!important;margin:0!important}.lms-pos-page-body .lms-pos-v3 .lms-pos-line{display:grid!important;grid-template-columns:52px minmax(0,1fr) auto!important;gap:var(--space-3)!important;align-items:center!important;padding:var(--space-3)!important;border-radius:var(--radius-lg)!important}.lms-pos-page-body .lms-pos-v3 .lms-pos-line-thumb{display:grid!important;place-items:center!important;inline-size:52px!important;block-size:52px!important;overflow:hidden!important;border-radius:var(--radius-md)!important;background:var(--color-navy-100)!important;color:var(--brand-primary)!important;flex-shrink:0!important}.lms-pos-page-body .lms-pos-v3 .lms-pos-line-thumb img{inline-size:100%!important;block-size:100%!important;object-fit:cover!important}.lms-pos-page-body .lms-pos-v3 .lms-pos-line-main,.lms-pos-page-body .lms-pos-v3 .lms-pos-line-title{min-inline-size:0!important}.lms-pos-page-body .lms-pos-v3 .lms-pos-line-title strong{display:block!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.lms-pos-page-body .lms-pos-v3 .lms-pos-line-controls{display:grid!important;gap:var(--space-2)!important;justify-items:end!important}
.lms-pos-page-body .lms-pos-v3 .lms-money-field,.lms-pos-page-body .lms-pos-v3 .lms-money-input{display:inline-flex!important;align-items:center!important;gap:6px!important}.lms-pos-page-body .lms-pos-v3 .lms-money-input em{font-style:normal!important;font-size:11px!important;font-weight:900!important;color:#64748b!important;letter-spacing:.03em!important}.lms-pos-page-body .lms-pos-v3 .lms-money-input input{height:32px!important;min-height:32px!important}.lms-pos-page-body .lms-pos-v3 .lms-pos-grand{margin-top:5px!important;padding:10px 12px!important;border-radius:12px!important;background:#fff7ed!important;border:1px solid rgba(249,115,22,.22)!important;font-size:18px!important;font-weight:900!important;color:#0f172a!important}.lms-pos-page-body .lms-pos-v3 .lms-pos-checkout-footer{box-shadow:0 -4px 12px rgba(15,23,42,.06)!important}.lms-pos-page-body .lms-pos-v3 .lms-pos-payment-inline .lms-segmented button,.lms-pos-page-body .lms-pos-v3 .lms-pos-discount-editor .lms-segmented button{display:inline-flex!important;align-items:center!important;gap:6px!important}.lms-pos-page-body .lms-pos-v3 .lms-payment-method-icon{font-size:14px!important;line-height:1!important}
.lms-pos-page-body .lms-pos-v3 .lms-pos-cart-count,.lms-pos-mobile-bar [data-lms-pos-mobile-count]{transition:transform .18s ease,box-shadow .18s ease!important}.lms-pos-page-body .lms-pos-v3 .lms-pos-cart-count.is-pulsing,.lms-pos-mobile-bar [data-lms-pos-mobile-count].is-pulsing{transform:scale(1.18)!important;box-shadow:0 0 0 4px rgba(249,115,22,.18)!important}html[dir="rtl"] .lms-pos-page-body .lms-pos-v3 .lms-mono,html[dir="rtl"] .lms-pos-page-body .lms-pos-v3 .lms-money-input,html[dir="rtl"] .lms-pos-page-body .lms-pos-v3 input[type="number"]{direction:ltr!important;unicode-bidi:embed!important}.lms-pos-feedback-toast{position:fixed!important;inset-inline-end:18px!important;inset-block-end:18px!important;z-index:90!important;max-inline-size:min(360px,calc(100vw - 32px))!important;padding:12px 16px!important;border-radius:14px!important;background:#0f172a!important;color:#fff!important;box-shadow:0 18px 40px rgba(15,23,42,.24)!important;font-size:13px!important;font-weight:800!important;opacity:0!important;transform:translateY(8px)!important;pointer-events:none!important;transition:opacity .18s ease,transform .18s ease!important}.lms-pos-feedback-toast.is-visible{opacity:1!important;transform:translateY(0)!important}
/* ---- End LMS POS V3 Consolidated Polish ---- */


/* ---- LMS POS Requested Layout Placement ---- */
.lms-pos-page-body .lms-topbar,
.lms-pos-page-body .lms-pos-header,
.lms-pos-page-body .lms-pos-navbar {
  min-block-size: 52px !important;
  padding-block: 6px !important;
}

.lms-pos-page-body .lms-topbar img,
.lms-pos-page-body .lms-pos-header img,
.lms-pos-page-body .lms-pos-navbar img,
.lms-pos-page-body .lms-brand-logo,
.lms-pos-page-body .lms-pos-logo {
  max-block-size: 32px !important;
}

.lms-pos-page-body .lms-pos-page-main {
  height: calc(100vh - 64px) !important;
  min-height: calc(100vh - 64px) !important;
  padding-block-start: 10px !important;
}

.lms-pos-page-body .lms-pos-v3 {
  gap: 0 !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-panes-row {
  margin-block-start: 0 !important;
  height: 100% !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-products {
  padding-block-start: 12px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-checkout {
  padding-block-start: 12px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-product-searchbar {
  flex: 0 0 auto !important;
  margin: 0 0 10px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-product-searchbar .lms-form-field,
.lms-pos-page-body .lms-pos-v3 .lms-pos-product-searchbar .lms-form-label {
  margin: 0 !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-product-searchbar .lms-form-label {
  position: absolute !important;
  inline-size: 1px !important;
  block-size: 1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-product-searchbar .lms-form-control,
.lms-pos-page-body .lms-pos-v3 .lms-pos-product-searchbar .lms-input {
  height: 38px !important;
  min-height: 38px !important;
  border-radius: 13px !important;
  font-size: 14px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-product-actions {
  flex: 0 0 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  margin-block-start: 10px !important;
  padding-block-start: 10px !important;
  border-block-start: 1px solid rgba(148, 163, 184, .22) !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-product-actions .lms-btn {
  height: 36px !important;
  min-height: 36px !important;
  border-radius: 12px !important;
  padding-inline: 14px !important;
  font-size: 13px !important;
}
/* ---- End LMS POS Requested Layout Placement ---- */


/* ---- LMS POS Checkout Fit Screen Patch ---- */
.lms-pos-page-body .lms-pos-v3 .lms-pos-checkout {
  gap: 6px !important;
  padding: 8px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-checkout .lms-pos-pane-head {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: start !important;
  gap: 6px !important;
  margin: 0 !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-checkout .lms-pos-kicker {
  font-size: 9px !important;
  line-height: 1 !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-checkout .lms-pos-pane-head h1 {
  margin-block-start: 2px !important;
  font-size: clamp(22px, 1.9vw, 30px) !important;
  line-height: 1.02 !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-cart-count {
  min-inline-size: 19px !important;
  block-size: 19px !important;
  font-size: 10px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-customer-row {
  gap: 6px !important;
  margin: 0 !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-customer-row .lms-form-label {
  font-size: 11px !important;
  margin-bottom: 2px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-customer-row .lms-form-control,
.lms-pos-page-body .lms-pos-v3 .lms-pos-customer-row select,
.lms-pos-page-body .lms-pos-v3 .lms-pos-customer-row .lms-btn {
  height: 32px !important;
  min-height: 32px !important;
  border-radius: 10px !important;
  font-size: 12.5px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-lines {
  flex: 0 1 62px !important;
  min-height: 54px !important;
  gap: 5px !important;
  margin: 0 !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-line {
  grid-template-columns: 34px minmax(0, 1fr) auto !important;
  gap: 7px !important;
  padding: 6px !important;
  min-height: 50px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-line-thumb {
  inline-size: 34px !important;
  block-size: 34px !important;
  border-radius: 9px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-line-title strong,
.lms-pos-page-body .lms-pos-v3 .lms-pos-line-main strong {
  font-size: 12.5px !important;
  line-height: 1.1 !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-line-addons,
.lms-pos-page-body .lms-pos-v3 .lms-pos-line small {
  font-size: 10px !important;
  line-height: 1.1 !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-stepper button,
.lms-pos-page-body .lms-pos-v3 .lms-stepper input {
  block-size: 24px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-stepper button {
  inline-size: 24px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-stepper input {
  inline-size: 32px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-summary {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  gap: 2px !important;
  padding: 6px !important;
  border-radius: 11px !important;
  overflow-y: auto !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-summary > div,
.lms-pos-page-body .lms-pos-v3 .lms-pos-summary label {
  min-height: 18px !important;
  gap: 5px !important;
  font-size: 11.5px !important;
  line-height: 1.05 !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-summary input,
.lms-pos-page-body .lms-pos-v3 .lms-pos-summary select {
  height: 25px !important;
  min-height: 25px !important;
  border-radius: 8px !important;
  padding: 1px 7px !important;
  font-size: 11.5px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-money-input em {
  font-size: 10px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-discount-editor {
  grid-template-columns: minmax(0, 1fr) 78px !important;
  gap: 5px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-segmented {
  min-height: 27px !important;
  padding: 2px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-segmented button {
  min-height: 25px !important;
  padding: 3px 9px !important;
  font-size: 11px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-grand {
  margin-top: 3px !important;
  padding: 6px 8px !important;
  min-height: 32px !important;
  font-size: 14px !important;
  border-radius: 10px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-checkout-footer {
  margin: 0 -8px -8px !important;
  padding: 6px 8px 8px !important;
  gap: 5px 7px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-payment-inline {
  gap: 5px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-paid,
.lms-pos-page-body .lms-pos-v3 .lms-pos-balance {
  min-height: 25px !important;
  font-size: 11.5px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-paid input {
  height: 25px !important;
  min-height: 25px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-confirm {
  height: 32px !important;
  min-height: 32px !important;
  border-radius: 11px !important;
}

@media (max-height: 760px) {
  .lms-pos-page-body .lms-pos-v3 .lms-pos-checkout {
    gap: 5px !important;
    padding: 6px !important;
  }

  .lms-pos-page-body .lms-pos-v3 .lms-pos-checkout .lms-pos-pane-head h1 {
    font-size: 21px !important;
  }

  .lms-pos-page-body .lms-pos-v3 .lms-pos-lines {
    flex-basis: 52px !important;
    min-height: 48px !important;
  }

  .lms-pos-page-body .lms-pos-v3 .lms-pos-line-thumb {
    inline-size: 30px !important;
    block-size: 30px !important;
  }

  .lms-pos-page-body .lms-pos-v3 .lms-pos-summary {
    gap: 2px !important;
    padding: 5px !important;
  }

  .lms-pos-page-body .lms-pos-v3 .lms-pos-summary > div,
  .lms-pos-page-body .lms-pos-v3 .lms-pos-summary label {
    min-height: 17px !important;
    font-size: 11px !important;
  }

  .lms-pos-page-body .lms-pos-v3 .lms-pos-grand {
    min-height: 30px !important;
    padding: 5px 7px !important;
  }

  .lms-pos-page-body .lms-pos-v3 .lms-pos-checkout-footer {
    margin: 0 -6px -6px !important;
    padding: 5px 6px 6px !important;
  }
}
/* ---- End LMS POS Checkout Fit Screen Patch ---- */




/* ---- LMS POS Checkout Compact Height Patch ---- */
.lms-pos-page-body .lms-pos-v3 .lms-pos-checkout {
  gap: 6px !important;
  padding: 8px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-checkout .lms-pos-pane-head {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: start !important;
  gap: 6px !important;
  margin: 0 !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-checkout .lms-pos-kicker {
  font-size: 9px !important;
  line-height: 1 !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-checkout .lms-pos-pane-head h1 {
  margin-block-start: 2px !important;
  font-size: clamp(22px, 1.9vw, 30px) !important;
  line-height: 1.02 !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-cart-count {
  min-inline-size: 19px !important;
  block-size: 19px !important;
  font-size: 10px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-customer-row {
  gap: 6px !important;
  margin: 0 !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-customer-row .lms-form-label {
  font-size: 11px !important;
  margin-bottom: 2px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-customer-row .lms-form-control,
.lms-pos-page-body .lms-pos-v3 .lms-pos-customer-row select,
.lms-pos-page-body .lms-pos-v3 .lms-pos-customer-row .lms-btn {
  height: 32px !important;
  min-height: 32px !important;
  border-radius: 10px !important;
  font-size: 12.5px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-lines {
  flex: 0 1 76px !important;
  min-height: 62px !important;
  gap: 5px !important;
  margin: 0 !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-line {
  grid-template-columns: 36px minmax(0, 1fr) auto !important;
  gap: 7px !important;
  padding: 6px !important;
  min-height: 56px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-line-thumb {
  inline-size: 36px !important;
  block-size: 36px !important;
  border-radius: 9px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-line-title strong,
.lms-pos-page-body .lms-pos-v3 .lms-pos-line-main strong {
  font-size: 12.5px !important;
  line-height: 1.1 !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-line-addons,
.lms-pos-page-body .lms-pos-v3 .lms-pos-line small {
  font-size: 10px !important;
  line-height: 1.1 !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-stepper button,
.lms-pos-page-body .lms-pos-v3 .lms-stepper input {
  block-size: 24px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-stepper button {
  inline-size: 24px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-stepper input {
  inline-size: 32px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-summary {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  gap: 3px !important;
  padding: 7px !important;
  border-radius: 11px !important;
  overflow-y: auto !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-summary > div,
.lms-pos-page-body .lms-pos-v3 .lms-pos-summary label {
  min-height: 19px !important;
  gap: 5px !important;
  font-size: 12px !important;
  line-height: 1.05 !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-summary input,
.lms-pos-page-body .lms-pos-v3 .lms-pos-summary select {
  height: 26px !important;
  min-height: 26px !important;
  border-radius: 8px !important;
  padding: 1px 7px !important;
  font-size: 12px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-money-input em {
  font-size: 10px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-discount-editor {
  grid-template-columns: minmax(0, 1fr) 82px !important;
  gap: 5px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-segmented {
  min-height: 28px !important;
  padding: 2px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-segmented button {
  min-height: 26px !important;
  padding: 3px 9px !important;
  font-size: 11.5px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-grand {
  margin-top: 3px !important;
  padding: 6px 8px !important;
  min-height: 34px !important;
  font-size: 14px !important;
  border-radius: 10px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-checkout-footer {
  margin: 0 -8px -8px !important;
  padding: 6px 8px 8px !important;
  gap: 5px 7px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-payment-inline {
  gap: 5px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-paid,
.lms-pos-page-body .lms-pos-v3 .lms-pos-balance {
  min-height: 26px !important;
  font-size: 11.5px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-paid input {
  height: 26px !important;
  min-height: 26px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-confirm {
  height: 34px !important;
  min-height: 34px !important;
  border-radius: 11px !important;
}

@media (max-height: 760px) {
  .lms-pos-page-body .lms-pos-v3 .lms-pos-checkout {
    gap: 5px !important;
    padding: 7px !important;
  }

  .lms-pos-page-body .lms-pos-v3 .lms-pos-checkout .lms-pos-pane-head h1 {
    font-size: 22px !important;
  }

  .lms-pos-page-body .lms-pos-v3 .lms-pos-lines {
    flex-basis: 60px !important;
    min-height: 54px !important;
  }

  .lms-pos-page-body .lms-pos-v3 .lms-pos-line-thumb {
    inline-size: 32px !important;
    block-size: 32px !important;
  }

  .lms-pos-page-body .lms-pos-v3 .lms-pos-summary {
    gap: 2px !important;
    padding: 6px !important;
  }

  .lms-pos-page-body .lms-pos-v3 .lms-pos-summary > div,
  .lms-pos-page-body .lms-pos-v3 .lms-pos-summary label {
    min-height: 18px !important;
    font-size: 11.5px !important;
  }

  .lms-pos-page-body .lms-pos-v3 .lms-pos-grand {
    min-height: 32px !important;
    padding: 6px 8px !important;
  }

  .lms-pos-page-body .lms-pos-v3 .lms-pos-checkout-footer {
    margin: 0 -7px -7px !important;
    padding: 6px 7px 7px !important;
  }
}
/* ---- End LMS POS Checkout Compact Height Patch ---- */
















/* ---- LMS POS Stable Footer Layout ---- */
.lms-pos-page-body {
  overflow: hidden !important;
}

.lms-pos-page-body .lms-pos-page-main {
  height: calc(100vh - 66px) !important;
  min-height: calc(100vh - 66px) !important;
  padding: 8px !important;
  overflow: hidden !important;
}

.lms-pos-page-body .lms-pos-v3 {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: minmax(0, 1fr) 74px !important;
  gap: 10px !important;
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-panes-row {
  grid-column: 1 / -1 !important;
  grid-row: 1 !important;
  display: grid !important;
  grid-template-columns: minmax(360px, 40%) minmax(0, 60%) !important;
  gap: 10px !important;
  min-height: 0 !important;
  overflow: hidden !important;
  align-items: stretch !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-checkout,
.lms-pos-page-body .lms-pos-v3 .lms-pos-products {
  min-height: 0 !important;
  min-width: 0 !important;
  max-height: 100% !important;
  overflow: hidden !important;
  border-radius: 16px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-checkout {
  display: flex !important;
  flex-direction: column !important;
  gap: 7px !important;
  padding: 10px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-products {
  display: grid !important;
  grid-template-rows: auto auto auto auto minmax(0, 1fr) !important;
  gap: 10px !important;
  padding: 12px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(148px, 1fr)) !important;
  grid-auto-rows: minmax(186px, auto) !important;
  gap: 10px !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding: 2px 2px 14px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-service-tile {
  display: flex !important;
  flex-direction: column !important;
  min-height: 186px !important;
  height: auto !important;
  padding: 12px !important;
  overflow: hidden !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-service-tile[hidden],
.lms-pos-page-body .lms-pos-v3 .lms-service-tile.is-filtered,
.lms-pos-page-body .lms-pos-v3 [data-lms-pos-item][hidden],
.lms-pos-page-body .lms-pos-v3 [data-lms-pos-item].is-filtered {
  display: none !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-service-tile-copy {
  flex: 1 1 auto !important;
  min-height: 0 !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-service-tile-copy p,
.lms-pos-page-body .lms-pos-v3 .lms-service-tile-description {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  font-size: 11px !important;
  line-height: 1.25 !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-service-tile-footer {
  margin-top: auto !important;
  flex: 0 0 auto !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-product-actions {
  display: none !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-lines {
  flex: 0 1 clamp(96px, 14vh, 138px) !important;
  min-height: 88px !important;
  display: grid !important;
  align-content: start !important;
  gap: 7px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding-inline-end: 3px !important;
  margin: 0 !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-summary {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow-y: auto !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-checkout-footer .lms-pos-confirm {
  display: none !important;
}

.lms-pos-page-body .lms-pos-v3 > .lms-pos-bottom-bar {
  grid-column: 1 / -1 !important;
  grid-row: 2 !important;
  align-self: end !important;
  width: 100% !important;
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: auto minmax(120px, .9fr) minmax(120px, .9fr) minmax(170px, 1fr) minmax(120px, .9fr) minmax(145px, auto) minmax(175px, auto) !important;
  align-items: center !important;
  gap: 10px !important;
  min-height: 74px !important;
  padding: 10px 12px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(148, 163, 184, .24) !important;
  background: rgba(255, 255, 255, .98) !important;
  box-shadow: 0 18px 45px rgba(15, 23, 42, .10) !important;
  backdrop-filter: blur(14px) !important;
  overflow: hidden !important;
}

.lms-pos-page-body .lms-pos-panes-row > .lms-pos-bottom-bar {
  display: none !important;
}

.lms-pos-bottom-status,
.lms-pos-bottom-action,
.lms-pos-bottom-total,
.lms-pos-bottom-pay {
  min-height: 50px !important;
  border-radius: 14px !important;
}

.lms-pos-bottom-status {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: #10b981 !important;
  padding-inline: 10px !important;
  white-space: nowrap !important;
  font-weight: 900 !important;
}

.lms-pos-bottom-action {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  padding: 0 18px !important;
  border: 1px solid rgba(148, 163, 184, .34) !important;
  background: #fff !important;
  color: #475569 !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  box-shadow: 0 8px 18px rgba(15, 23, 42, .05) !important;
  cursor: pointer !important;
}

.lms-pos-bottom-action em {
  display: inline-grid !important;
  place-items: center !important;
  min-inline-size: 20px !important;
  block-size: 20px !important;
  border-radius: 999px !important;
  background: #eef2ff !important;
  color: #334155 !important;
  font-style: normal !important;
  font-size: 11px !important;
}

.lms-pos-bottom-total {
  display: grid !important;
  align-content: center !important;
  justify-items: start !important;
  gap: 3px !important;
  padding: 8px 16px !important;
  background: var(--color-orange-100) !important;
  color: var(--brand-accent-hover) !important;
}

.lms-pos-bottom-total span {
  color: var(--text-secondary) !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: .07em !important;
  text-transform: uppercase !important;
}

.lms-pos-bottom-total strong {
  color: var(--brand-accent-hover) !important;
  font-size: 21px !important;
  line-height: 1 !important;
  font-weight: 950 !important;
  white-space: nowrap !important;
}

.lms-pos-bottom-pay {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  border: 0 !important;
  padding: 0 28px !important;
  background: var(--brand-accent) !important;
  color: var(--color-white) !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
  font-size: 14px !important;
  font-weight: 950 !important;
  box-shadow: 0 12px 30px color-mix(in srgb, var(--brand-accent) 34%, transparent) !important;
  cursor: pointer !important;
}

.lms-pos-bottom-pay:not(:disabled):hover,
.lms-pos-bottom-pay:not(:disabled):focus-visible {
  background: var(--brand-accent-hover) !important;
  box-shadow: 0 12px 30px color-mix(in srgb, var(--brand-accent-hover) 34%, transparent) !important;
  outline: 0 !important;
}

.lms-pos-bottom-pay:disabled,
.lms-pos-bottom-pay.is-disabled {
  opacity: .55 !important;
  cursor: not-allowed !important;
  filter: grayscale(.25) !important;
}

@media (max-width: 1180px) {
  .lms-pos-page-body .lms-pos-v3 .lms-pos-panes-row {
    grid-template-columns: minmax(330px, 42%) minmax(0, 58%) !important;
  }

  .lms-pos-page-body .lms-pos-v3 > .lms-pos-bottom-bar {
    grid-template-columns: auto repeat(4, minmax(92px, 1fr)) minmax(122px, auto) minmax(132px, auto) !important;
  }

  .lms-pos-bottom-action {
    padding-inline: 12px !important;
    font-size: 12px !important;
  }
}

@media (max-width: 900px) {
  .lms-pos-page-body {
    overflow: auto !important;
  }

  .lms-pos-page-body .lms-pos-page-main,
  .lms-pos-page-body .lms-pos-v3 {
    height: auto !important;
    min-height: 100vh !important;
    overflow: visible !important;
  }

  .lms-pos-page-body .lms-pos-v3 .lms-pos-panes-row {
    grid-template-columns: 1fr !important;
    overflow: visible !important;
  }

  .lms-pos-page-body .lms-pos-v3 > .lms-pos-bottom-bar {
    position: sticky !important;
    bottom: 8px !important;
    grid-template-columns: 1fr 1fr !important;
  }

  .lms-pos-bottom-status,
  .lms-pos-bottom-total,
  .lms-pos-bottom-pay {
    grid-column: 1 / -1 !important;
  }
}
/* ---- End LMS POS Stable Footer Layout ---- */


/* ---- LMS POS Cart Rows and Header Customer Fix ---- */
/* Customer selector lives in the POS form for backend submission, but is visually placed in the header. Yes, CSS is now doing urban planning. */
.lms-pos-page-body .lms-pos-checkout :is(.lms-pos-customer, .lms-pos-customer-row, .lms-pos-customer-field, .lms-form-row, .lms-form-group):has(select[name="customer_id"]) {
  position: fixed !important;
  inset-block-start: 58px !important;
  inset-inline-end: 86px !important;
  z-index: 1500 !important;
  inline-size: min(520px, 42vw) !important;
  min-inline-size: 360px !important;
  max-inline-size: calc(100vw - 760px) !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.lms-pos-page-body .lms-pos-checkout :is(.lms-pos-customer, .lms-pos-customer-row, .lms-pos-customer-field, .lms-form-row, .lms-form-group):has(select[name="customer_id"]) > label,
.lms-pos-page-body .lms-pos-checkout :is(.lms-pos-customer, .lms-pos-customer-row, .lms-pos-customer-field, .lms-form-row, .lms-form-group):has(select[name="customer_id"]) .lms-form-label,
.lms-pos-page-body .lms-pos-checkout :is(.lms-pos-customer, .lms-pos-customer-row, .lms-pos-customer-field, .lms-form-row, .lms-form-group):has(select[name="customer_id"]) > strong:first-child {
  position: absolute !important;
  inline-size: 1px !important;
  block-size: 1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
}

.lms-pos-page-body .lms-pos-checkout :is(.lms-pos-customer, .lms-pos-customer-row, .lms-pos-customer-field, .lms-form-row, .lms-form-group):has(select[name="customer_id"]) select,
.lms-pos-page-body .lms-pos-checkout :is(.lms-pos-customer, .lms-pos-customer-row, .lms-pos-customer-field, .lms-form-row, .lms-form-group):has(select[name="customer_id"]) .lms-form-control,
.lms-pos-page-body .lms-pos-checkout :is(.lms-pos-customer, .lms-pos-customer-row, .lms-pos-customer-field, .lms-form-row, .lms-form-group):has(select[name="customer_id"]) .lms-select,
.lms-pos-page-body .lms-pos-checkout :is(.lms-pos-customer, .lms-pos-customer-row, .lms-pos-customer-field, .lms-form-row, .lms-form-group):has(select[name="customer_id"]) [data-lms-pos-customer-select] {
  min-block-size: 38px !important;
  block-size: 38px !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: 0 8px 22px rgba(15, 23, 42, .07) !important;
}

.lms-pos-page-body .lms-pos-checkout :is(.lms-pos-customer, .lms-pos-customer-row, .lms-pos-customer-field, .lms-form-row, .lms-form-group):has(select[name="customer_id"]) :is(button, a):not(select *) {
  min-block-size: 38px !important;
  block-size: 38px !important;
  border-radius: 14px !important;
  white-space: nowrap !important;
  box-shadow: 0 8px 22px rgba(15, 23, 42, .07) !important;
}

/* Cart line repair: stop cart rows from stacking text, buttons, totals, and existential mistakes on top of each other. */
.lms-pos-page-body .lms-pos-v3 .lms-pos-lines {
  flex: 0 0 auto !important;
  min-block-size: 112px !important;
  max-block-size: clamp(116px, 18vh, 172px) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding: 2px 4px 8px 0 !important;
  margin: 0 !important;
  overscroll-behavior: contain !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-line {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 46px minmax(0, 1fr) auto auto !important;
  grid-template-areas:
    "thumb title qty remove"
    "thumb meta qty total" !important;
  align-items: center !important;
  column-gap: 8px !important;
  row-gap: 4px !important;
  min-block-size: 72px !important;
  padding: 8px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(148, 163, 184, .28) !important;
  background: #f8fafc !important;
  box-shadow: none !important;
  overflow: hidden !important;
  isolation: isolate !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-line > * {
  position: static !important;
  float: none !important;
  margin-block: 0 !important;
  min-inline-size: 0 !important;
  max-inline-size: 100% !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-line-thumb,
.lms-pos-page-body .lms-pos-v3 .lms-pos-line-media,
.lms-pos-page-body .lms-pos-v3 .lms-pos-line-image,
.lms-pos-page-body .lms-pos-v3 .lms-pos-line > img:first-child,
.lms-pos-page-body .lms-pos-v3 .lms-pos-line picture:first-child {
  grid-area: thumb !important;
  inline-size: 46px !important;
  block-size: 46px !important;
  min-inline-size: 46px !important;
  min-block-size: 46px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  background: #fff7ed !important;
  align-self: center !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-line-thumb img,
.lms-pos-page-body .lms-pos-v3 .lms-pos-line-media img,
.lms-pos-page-body .lms-pos-v3 .lms-pos-line-image img,
.lms-pos-page-body .lms-pos-v3 .lms-pos-line > img:first-child {
  inline-size: 100% !important;
  block-size: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-line-main,
.lms-pos-page-body .lms-pos-v3 .lms-pos-line-title,
.lms-pos-page-body .lms-pos-v3 .lms-pos-line-info,
.lms-pos-page-body .lms-pos-v3 .lms-pos-line-name {
  grid-area: title !important;
  min-inline-size: 0 !important;
  display: grid !important;
  gap: 2px !important;
  align-content: center !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-line-main strong,
.lms-pos-page-body .lms-pos-v3 .lms-pos-line-title strong,
.lms-pos-page-body .lms-pos-v3 .lms-pos-line-info strong,
.lms-pos-page-body .lms-pos-v3 .lms-pos-line-name,
.lms-pos-page-body .lms-pos-v3 .lms-pos-line h4,
.lms-pos-page-body .lms-pos-v3 .lms-pos-line h5,
.lms-pos-page-body .lms-pos-v3 .lms-pos-line h6 {
  display: block !important;
  max-inline-size: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-size: 13px !important;
  line-height: 1.16 !important;
  font-weight: 900 !important;
  color: #0f172a !important;
  margin: 0 !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-line-main small,
.lms-pos-page-body .lms-pos-v3 .lms-pos-line-title small,
.lms-pos-page-body .lms-pos-v3 .lms-pos-line-info small,
.lms-pos-page-body .lms-pos-v3 .lms-pos-line-meta,
.lms-pos-page-body .lms-pos-v3 .lms-pos-line-addons,
.lms-pos-page-body .lms-pos-v3 .lms-pos-line-category {
  grid-area: meta !important;
  display: flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: 5px !important;
  min-inline-size: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-size: 10px !important;
  line-height: 1.15 !important;
  color: #64748b !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-line :is(.lms-pos-line-addons button, .lms-pos-line-addon-toggle, [data-lms-pos-addon-toggle]) {
  min-block-size: 22px !important;
  block-size: 22px !important;
  padding: 0 7px !important;
  border-radius: 999px !important;
  font-size: 10px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-line .lms-stepper,
.lms-pos-page-body .lms-pos-v3 .lms-pos-line [data-lms-pos-qty],
.lms-pos-page-body .lms-pos-v3 .lms-pos-line [data-quantity],
.lms-pos-page-body .lms-pos-v3 .lms-pos-line .lms-quantity-control {
  grid-area: qty !important;
  justify-self: end !important;
  align-self: center !important;
  min-inline-size: max-content !important;
  transform: none !important;
  transform-origin: center !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-line .lms-stepper button,
.lms-pos-page-body .lms-pos-v3 .lms-pos-line [data-lms-pos-qty] button,
.lms-pos-page-body .lms-pos-v3 .lms-pos-line [data-quantity] button,
.lms-pos-page-body .lms-pos-v3 .lms-pos-line .lms-quantity-control button {
  inline-size: 24px !important;
  block-size: 24px !important;
  min-inline-size: 24px !important;
  min-block-size: 24px !important;
  padding: 0 !important;
  border-radius: 8px !important;
  font-size: 11px !important;
  line-height: 1 !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-line [data-total],
.lms-pos-page-body .lms-pos-v3 .lms-pos-line-total,
.lms-pos-page-body .lms-pos-v3 .lms-pos-line-price,
.lms-pos-page-body .lms-pos-v3 .lms-pos-line-money {
  grid-area: total !important;
  justify-self: end !important;
  align-self: end !important;
  white-space: nowrap !important;
  font-size: 11px !important;
  line-height: 1.1 !important;
  font-weight: 950 !important;
  color: #0f172a !important;
  text-align: end !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-line [data-remove],
.lms-pos-page-body .lms-pos-v3 .lms-pos-line [data-lms-pos-remove],
.lms-pos-page-body .lms-pos-v3 .lms-pos-line .lms-pos-line-remove,
.lms-pos-page-body .lms-pos-v3 .lms-pos-line button[aria-label*="Remove"],
.lms-pos-page-body .lms-pos-v3 .lms-pos-line button[aria-label*="remove"] {
  grid-area: remove !important;
  justify-self: end !important;
  align-self: start !important;
  inline-size: 22px !important;
  block-size: 22px !important;
  min-inline-size: 22px !important;
  min-block-size: 22px !important;
  display: inline-grid !important;
  place-items: center !important;
  padding: 0 !important;
  border-radius: 7px !important;
  border: 1px solid rgba(148, 163, 184, .45) !important;
  background: #fff !important;
  color: #0f172a !important;
  font-size: 12px !important;
  line-height: 1 !important;
  z-index: 2 !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-line :is(br, hr) {
  display: none !important;
}

@media (max-width: 1280px) {
  .lms-pos-page-body .lms-pos-checkout :is(.lms-pos-customer, .lms-pos-customer-row, .lms-pos-customer-field, .lms-form-row, .lms-form-group):has(select[name="customer_id"]) {
    inline-size: min(440px, 38vw) !important;
    min-inline-size: 320px !important;
    inset-inline-end: 74px !important;
  }
}

@media (max-width: 980px) {
  .lms-pos-page-body .lms-pos-checkout :is(.lms-pos-customer, .lms-pos-customer-row, .lms-pos-customer-field, .lms-form-row, .lms-form-group):has(select[name="customer_id"]) {
    position: static !important;
    inline-size: 100% !important;
    min-inline-size: 0 !important;
    max-inline-size: none !important;
    display: grid !important;
    margin-block-end: 8px !important;
  }
}
/* ---- End LMS POS Cart Rows and Header Customer Fix ---- */


/* ---- LMS POS Customer Header Alignment Fix ---- */
/* Keep the customer controls in the actual header lane instead of letting them squat on top of the product search. */
.lms-pos-page-body .lms-pos-checkout :is(.lms-pos-customer, .lms-pos-customer-row, .lms-pos-customer-field, .lms-form-row, .lms-form-group):has(select[name="customer_id"]) {
  position: fixed !important;
  inset-block-start: 17px !important;
  inset-inline-end: 116px !important;
  z-index: 2200 !important;
  inline-size: min(560px, 38vw) !important;
  min-inline-size: 410px !important;
  max-inline-size: calc(100vw - 1180px) !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.lms-pos-page-body .lms-pos-checkout :is(.lms-pos-customer, .lms-pos-customer-row, .lms-pos-customer-field, .lms-form-row, .lms-form-group):has(select[name="customer_id"]) select,
.lms-pos-page-body .lms-pos-checkout :is(.lms-pos-customer, .lms-pos-customer-row, .lms-pos-customer-field, .lms-form-row, .lms-form-group):has(select[name="customer_id"]) .lms-form-control,
.lms-pos-page-body .lms-pos-checkout :is(.lms-pos-customer, .lms-pos-customer-row, .lms-pos-customer-field, .lms-form-row, .lms-form-group):has(select[name="customer_id"]) .lms-select,
.lms-pos-page-body .lms-pos-checkout :is(.lms-pos-customer, .lms-pos-customer-row, .lms-pos-customer-field, .lms-form-row, .lms-form-group):has(select[name="customer_id"]) [data-lms-pos-customer-select] {
  block-size: 40px !important;
  min-block-size: 40px !important;
  max-block-size: 40px !important;
  border-radius: 15px !important;
  background: #fff !important;
  border: 1px solid rgba(148, 163, 184, .28) !important;
  box-shadow: 0 10px 25px rgba(15, 23, 42, .07) !important;
}

.lms-pos-page-body .lms-pos-checkout :is(.lms-pos-customer, .lms-pos-customer-row, .lms-pos-customer-field, .lms-form-row, .lms-form-group):has(select[name="customer_id"]) :is(button, a):not(select *) {
  block-size: 40px !important;
  min-block-size: 40px !important;
  max-block-size: 40px !important;
  min-inline-size: 92px !important;
  border-radius: 15px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  white-space: nowrap !important;
  background: #fff !important;
  border: 1px solid rgba(148, 163, 184, .28) !important;
  box-shadow: 0 10px 25px rgba(15, 23, 42, .07) !important;
}

.lms-pos-page-body .lms-pos-page-main {
  padding-block-start: 10px !important;
}

@media (max-width: 1500px) {
  .lms-pos-page-body .lms-pos-checkout :is(.lms-pos-customer, .lms-pos-customer-row, .lms-pos-customer-field, .lms-form-row, .lms-form-group):has(select[name="customer_id"]) {
    inline-size: min(480px, 36vw) !important;
    min-inline-size: 360px !important;
    inset-inline-end: 96px !important;
  }
}

@media (max-width: 1180px) {
  .lms-pos-page-body .lms-pos-checkout :is(.lms-pos-customer, .lms-pos-customer-row, .lms-pos-customer-field, .lms-form-row, .lms-form-group):has(select[name="customer_id"]) {
    position: static !important;
    inline-size: 100% !important;
    min-inline-size: 0 !important;
    max-inline-size: none !important;
    display: grid !important;
    margin-block-end: 8px !important;
  }
}
/* ---- End LMS POS Customer Header Alignment Fix ---- */






/* ---- LMS POS Customer Header Safe Zone Fix ---- */
/* Final header placement: right enough for POS use, but not on top of the date/avatar. Society advances one pixel at a time. */
.lms-pos-page-body .lms-pos-checkout :is(.lms-pos-customer, .lms-pos-customer-row, .lms-pos-customer-field, .lms-form-row, .lms-form-group):has(select[name="customer_id"]) {
  position: fixed !important;
  inset-block-start: 18px !important;
  inset-inline-end: 260px !important;
  z-index: 1800 !important;
  inline-size: clamp(430px, 29vw, 620px) !important;
  min-inline-size: 430px !important;
  max-inline-size: calc(100vw - 1260px) !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  pointer-events: auto !important;
}

.lms-pos-page-body .lms-pos-checkout :is(.lms-pos-customer, .lms-pos-customer-row, .lms-pos-customer-field, .lms-form-row, .lms-form-group):has(select[name="customer_id"]) > label,
.lms-pos-page-body .lms-pos-checkout :is(.lms-pos-customer, .lms-pos-customer-row, .lms-pos-customer-field, .lms-form-row, .lms-form-group):has(select[name="customer_id"]) .lms-form-label,
.lms-pos-page-body .lms-pos-checkout :is(.lms-pos-customer, .lms-pos-customer-row, .lms-pos-customer-field, .lms-form-row, .lms-form-group):has(select[name="customer_id"]) > strong:first-child {
  position: absolute !important;
  inline-size: 1px !important;
  block-size: 1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
}

.lms-pos-page-body .lms-pos-checkout :is(.lms-pos-customer, .lms-pos-customer-row, .lms-pos-customer-field, .lms-form-row, .lms-form-group):has(select[name="customer_id"]) select,
.lms-pos-page-body .lms-pos-checkout :is(.lms-pos-customer, .lms-pos-customer-row, .lms-pos-customer-field, .lms-form-row, .lms-form-group):has(select[name="customer_id"]) .lms-form-control,
.lms-pos-page-body .lms-pos-checkout :is(.lms-pos-customer, .lms-pos-customer-row, .lms-pos-customer-field, .lms-form-row, .lms-form-group):has(select[name="customer_id"]) .lms-select,
.lms-pos-page-body .lms-pos-checkout :is(.lms-pos-customer, .lms-pos-customer-row, .lms-pos-customer-field, .lms-form-row, .lms-form-group):has(select[name="customer_id"]) [data-lms-pos-customer-select] {
  block-size: 40px !important;
  min-block-size: 40px !important;
  max-block-size: 40px !important;
  border-radius: 15px !important;
  background: #fff !important;
  border: 1px solid rgba(148, 163, 184, .30) !important;
  box-shadow: 0 10px 25px rgba(15, 23, 42, .07) !important;
}

.lms-pos-page-body .lms-pos-checkout :is(.lms-pos-customer, .lms-pos-customer-row, .lms-pos-customer-field, .lms-form-row, .lms-form-group):has(select[name="customer_id"]) :is(button, a):not(select *) {
  block-size: 40px !important;
  min-block-size: 40px !important;
  max-block-size: 40px !important;
  min-inline-size: 92px !important;
  border-radius: 15px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  white-space: nowrap !important;
  background: #fff !important;
  border: 1px solid rgba(148, 163, 184, .30) !important;
  box-shadow: 0 10px 25px rgba(15, 23, 42, .07) !important;
}

@media (min-width: 1501px) and (max-width: 1900px) {
  .lms-pos-page-body .lms-pos-checkout :is(.lms-pos-customer, .lms-pos-customer-row, .lms-pos-customer-field, .lms-form-row, .lms-form-group):has(select[name="customer_id"]) {
    inset-inline-end: 240px !important;
    inline-size: clamp(390px, 27vw, 520px) !important;
    min-inline-size: 390px !important;
    max-inline-size: 520px !important;
  }
}

@media (min-width: 1181px) and (max-width: 1500px) {
  .lms-pos-page-body .lms-pos-checkout :is(.lms-pos-customer, .lms-pos-customer-row, .lms-pos-customer-field, .lms-form-row, .lms-form-group):has(select[name="customer_id"]) {
    inset-inline-end: 210px !important;
    inline-size: clamp(340px, 26vw, 420px) !important;
    min-inline-size: 340px !important;
    max-inline-size: 420px !important;
  }
}

@media (max-width: 1180px) {
  .lms-pos-page-body .lms-pos-checkout :is(.lms-pos-customer, .lms-pos-customer-row, .lms-pos-customer-field, .lms-form-row, .lms-form-group):has(select[name="customer_id"]) {
    position: static !important;
    inline-size: 100% !important;
    min-inline-size: 0 !important;
    max-inline-size: none !important;
    display: grid !important;
    margin-block-end: 8px !important;
  }
}
/* ---- End LMS POS Customer Header Safe Zone Fix ---- */


/* ---- LMS POS Checkout Summary Redesign ---- */
/* Checkout totals/charges card, rebuilt with POS orange and actual spacing. Tiny miracle, large CSS bill. */
.lms-pos-page-body .lms-pos-v3 .lms-pos-summary {
  --pos-accent: #ff6b1a;
  --pos-accent-soft: #fff4ec;
  --pos-danger: #ef4444;
  --pos-ink: #0f172a;
  --pos-muted: #667085;
  --pos-line: rgba(148, 163, 184, .30);
  flex: 1 1 auto !important;
  min-height: 0 !important;
  display: grid !important;
  align-content: start !important;
  gap: 0 !important;
  padding: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  border: 1px solid rgba(148, 163, 184, .30) !important;
  border-radius: 18px !important;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.88) !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-summary > * {
  min-width: 0 !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-summary > :is(div, label, section, article),
.lms-pos-page-body .lms-pos-v3 .lms-pos-summary :is(.lms-pos-summary-row, .lms-pos-summary-line, .lms-pos-charge-row, .lms-pos-total-row, .lms-pos-summary-item) {
  display: grid !important;
  grid-template-columns: minmax(128px, 1fr) minmax(140px, auto) !important;
  align-items: center !important;
  gap: 14px !important;
  min-height: 50px !important;
  margin: 0 !important;
  padding: 10px 14px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--pos-line) !important;
  background: transparent !important;
  box-shadow: none !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-summary > :is(div, label, section, article):last-child,
.lms-pos-page-body .lms-pos-v3 .lms-pos-summary :is(.lms-pos-summary-row, .lms-pos-summary-line, .lms-pos-charge-row, .lms-pos-total-row, .lms-pos-summary-item):last-child {
  border-bottom: 0 !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-summary :is(label, .lms-label, .lms-pos-summary-label, .lms-pos-charge-label, .lms-pos-total-label),
.lms-pos-page-body .lms-pos-v3 .lms-pos-summary > :is(div, label, section, article) > :first-child {
  min-width: 0 !important;
  color: var(--pos-muted) !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 1.15 !important;
  letter-spacing: .045em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-summary :is(strong, b, output, .lms-money, .lms-pos-money, .lms-pos-summary-value, .lms-pos-charge-value),
.lms-pos-page-body .lms-pos-v3 .lms-pos-summary > :is(div, label, section, article) > :last-child {
  justify-self: end !important;
  min-width: 0 !important;
  max-width: 100% !important;
  color: var(--pos-ink) !important;
  font-size: 15px !important;
  font-weight: 950 !important;
  line-height: 1.15 !important;
  text-align: end !important;
  white-space: nowrap !important;
  letter-spacing: .01em !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-summary input,
.lms-pos-page-body .lms-pos-v3 .lms-pos-summary select,
.lms-pos-page-body .lms-pos-v3 .lms-pos-summary textarea {
  justify-self: end !important;
  width: min(154px, 100%) !important;
  min-height: 40px !important;
  height: 40px !important;
  padding: 0 14px !important;
  border-radius: 12px !important;
  border: 1px solid rgba(148, 163, 184, .24) !important;
  background: #f8fafc !important;
  color: var(--pos-ink) !important;
  font-size: 14px !important;
  font-weight: 850 !important;
  text-align: end !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9) !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-summary select {
  text-align: start !important;
  cursor: pointer !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-summary input:focus,
.lms-pos-page-body .lms-pos-v3 .lms-pos-summary select:focus,
.lms-pos-page-body .lms-pos-v3 .lms-pos-summary textarea:focus {
  outline: 0 !important;
  border-color: rgba(255, 107, 26, .62) !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(255, 107, 26, .14) !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-summary .lms-pos-currency,
.lms-pos-page-body .lms-pos-v3 .lms-pos-summary .lms-currency,
.lms-pos-page-body .lms-pos-v3 .lms-pos-summary .lms-input-prefix,
.lms-pos-page-body .lms-pos-v3 .lms-pos-summary .lms-input-suffix {
  color: var(--pos-muted) !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: .03em !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-summary :is(.lms-segmented, .lms-pos-discount-type, .lms-pos-discount-tabs, .lms-pos-toggle-group) {
  justify-self: end !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  min-height: 40px !important;
  padding: 3px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(148, 163, 184, .25) !important;
  background: #f8fafc !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9) !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-summary :is(.lms-segmented button, .lms-pos-discount-type button, .lms-pos-discount-tabs button, .lms-pos-toggle-group button, [role="tab"]) {
  min-height: 32px !important;
  height: 32px !important;
  padding: 0 13px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: var(--pos-ink) !important;
  font-size: 12px !important;
  font-weight: 950 !important;
  white-space: nowrap !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-summary :is(.lms-segmented button.is-active, .lms-segmented button[aria-pressed="true"], .lms-pos-discount-type button.is-active, .lms-pos-discount-type button[aria-pressed="true"], .lms-pos-discount-tabs button.is-active, .lms-pos-discount-tabs button[aria-selected="true"], .lms-pos-toggle-group button.is-active, .lms-pos-toggle-group button[aria-pressed="true"], [role="tab"][aria-selected="true"]) {
  background: var(--pos-accent) !important;
  color: #fff !important;
  box-shadow: 0 8px 16px rgba(255, 107, 26, .24) !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-summary :is([data-lms-pos-add-charge], .lms-pos-add-charge, .lms-pos-charge-add, a[href*="charge"], button[data-action*="charge"]) {
  justify-self: end !important;
  min-height: 42px !important;
  padding: 0 18px !important;
  border-radius: 12px !important;
  border: 1px solid rgba(255, 107, 26, .42) !important;
  background: #fff !important;
  color: var(--pos-accent) !important;
  font-weight: 950 !important;
  text-decoration: none !important;
  box-shadow: 0 8px 20px rgba(255, 107, 26, .10) !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-summary :is(.lms-pos-summary-total, .lms-pos-total, .lms-pos-grand, .lms-pos-grand-total),
.lms-pos-page-body .lms-pos-v3 .lms-pos-summary > :is(div, label, section, article):last-child {
  margin-top: 6px !important;
  padding: 14px !important;
  min-height: 60px !important;
  border-top: 4px solid rgba(148, 163, 184, .18) !important;
  border-bottom: 0 !important;
  background: var(--pos-accent-soft) !important;
  border-radius: 0 0 18px 18px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-summary :is(.lms-pos-summary-total, .lms-pos-total, .lms-pos-grand, .lms-pos-grand-total) :is(strong, b, output, .lms-money, .lms-pos-money, .lms-pos-summary-value),
.lms-pos-page-body .lms-pos-v3 .lms-pos-summary > :is(div, label, section, article):last-child > :last-child {
  color: var(--pos-accent) !important;
  font-size: 18px !important;
  font-weight: 1000 !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-summary :is(.lms-pos-summary-total, .lms-pos-total, .lms-pos-grand, .lms-pos-grand-total) :is(label, .lms-label, .lms-pos-summary-label),
.lms-pos-page-body .lms-pos-v3 .lms-pos-summary > :is(div, label, section, article):last-child > :first-child {
  color: var(--pos-ink) !important;
  font-size: 13px !important;
  font-weight: 1000 !important;
  letter-spacing: .045em !important;
  text-transform: uppercase !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-summary :is(.is-discount, .lms-pos-discount, [data-lms-pos-discount]) :is(strong, b, output, .lms-money, .lms-pos-money, .lms-pos-summary-value),
.lms-pos-page-body .lms-pos-v3 .lms-pos-summary :is(.is-discount, .lms-pos-discount, [data-lms-pos-discount]) :is(label, .lms-label, .lms-pos-summary-label) {
  color: var(--pos-danger) !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-summary::-webkit-scrollbar {
  width: 8px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-summary::-webkit-scrollbar-track {
  background: transparent !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-summary::-webkit-scrollbar-thumb {
  background: rgba(148, 163, 184, .45) !important;
  border-radius: 999px !important;
}

@media (max-width: 1280px) {
  .lms-pos-page-body .lms-pos-v3 .lms-pos-summary > :is(div, label, section, article),
  .lms-pos-page-body .lms-pos-v3 .lms-pos-summary :is(.lms-pos-summary-row, .lms-pos-summary-line, .lms-pos-charge-row, .lms-pos-total-row, .lms-pos-summary-item) {
    grid-template-columns: minmax(104px, 1fr) minmax(112px, auto) !important;
    min-height: 46px !important;
    padding: 9px 12px !important;
  }

  .lms-pos-page-body .lms-pos-v3 .lms-pos-summary input,
  .lms-pos-page-body .lms-pos-v3 .lms-pos-summary select,
  .lms-pos-page-body .lms-pos-v3 .lms-pos-summary textarea {
    width: min(130px, 100%) !important;
  }
}
/* ---- End LMS POS Checkout Summary Redesign ---- */

/* POS checkout left-panel redesign 2026-07-10 */
.lms-pos-page-body .lms-pos-v3 .lms-pos-panes-row{
  grid-template-columns:clamp(460px,36vw,560px) minmax(0,1fr)!important;
}
.lms-pos-page-body .lms-pos-v3 .lms-pos-checkout-redesign{
  gap:12px!important;
  padding:14px!important;
  background:linear-gradient(180deg,#f8fafc 0%,#ffffff 38%,#fff 100%)!important;
  border-color:rgba(15,42,74,.12)!important;
}
.lms-pos-page-body .lms-pos-checkout-hero,
.lms-pos-page-body .lms-pos-customer-card,
.lms-pos-page-body .lms-pos-order-card,
.lms-pos-page-body .lms-pos-summary-card,
.lms-pos-page-body .lms-pos-payment-card{
  border:1px solid rgba(148,163,184,.24)!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 10px 24px rgba(15,23,42,.055)!important;
}
.lms-pos-page-body .lms-pos-checkout-hero{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:14px!important;
  padding:16px!important;
  color:#fff!important;
  background:radial-gradient(circle at 100% 0%,rgba(242,113,28,.36),transparent 32%),linear-gradient(135deg,var(--color-navy-900),var(--color-navy-800))!important;
  border-color:rgba(255,255,255,.12)!important;
  box-shadow:0 18px 34px rgba(10,31,56,.18)!important;
}
.lms-pos-page-body .lms-pos-checkout-hero h1{margin:4px 0 0!important;font-size:clamp(20px,2.1vw,28px)!important;line-height:1.08!important;color:#fff!important;letter-spacing:-.04em!important;}
.lms-pos-page-body .lms-pos-checkout-hero p{margin:7px 0 0!important;max-width:33ch!important;color:rgba(234,240,248,.74)!important;font-size:12px!important;line-height:1.45!important;}
.lms-pos-page-body .lms-pos-checkout-hero .lms-pos-kicker{color:rgba(234,240,248,.7)!important;letter-spacing:.12em!important;}
.lms-pos-page-body .lms-pos-cart-count{
  display:inline-grid!important;
  place-items:center!important;
  min-inline-size:30px!important;
  block-size:30px!important;
  border-radius:999px!important;
  padding-inline:8px!important;
  background:var(--brand-accent)!important;
  color:#fff!important;
  font-size:13px!important;
  vertical-align:middle!important;
}
.lms-pos-page-body .lms-pos-reset-pill{
  border:1px solid rgba(255,255,255,.26)!important;
  background:rgba(255,255,255,.12)!important;
  color:#fff!important;
  border-radius:999px!important;
  padding:8px 12px!important;
  font-weight:900!important;
  cursor:pointer!important;
}
.lms-pos-page-body .lms-pos-customer-card,
.lms-pos-page-body .lms-pos-order-card,
.lms-pos-page-body .lms-pos-summary-card,
.lms-pos-page-body .lms-pos-payment-card{padding:12px!important;}
.lms-pos-page-body .lms-pos-mini-head{display:grid!important;gap:2px!important;margin-block-end:10px!important;}
.lms-pos-page-body .lms-pos-mini-head-row{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;}
.lms-pos-page-body .lms-pos-mini-head span{font-weight:900!important;color:var(--text-primary)!important;letter-spacing:-.02em!important;}
.lms-pos-page-body .lms-pos-mini-head small{font-size:11px!important;color:var(--text-secondary)!important;font-weight:700!important;}
.lms-pos-page-body .lms-pos-mini-head strong{font-size:12px!important;color:var(--brand-accent)!important;}
.lms-pos-page-body .lms-pos-v3 .lms-pos-customer-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important;align-items:end!important;margin:0!important;}
.lms-pos-page-body .lms-pos-v3 .lms-pos-customer-row .lms-form-label{position:absolute!important;inline-size:1px!important;block-size:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;}
.lms-pos-page-body .lms-pos-v3 .lms-pos-customer-row select,
.lms-pos-page-body .lms-pos-v3 .lms-pos-customer-row .lms-form-control{height:42px!important;border-radius:14px!important;background:#f8fafc!important;border-color:rgba(148,163,184,.34)!important;font-weight:800!important;}
.lms-pos-page-body .lms-pos-v3 .lms-pos-customer-row .lms-btn{height:42px!important;border-radius:14px!important;white-space:nowrap!important;}
.lms-pos-page-body .lms-pos-order-card{flex:1 1 230px!important;min-height:190px!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;}
.lms-pos-page-body .lms-pos-v3 .lms-pos-order-card .lms-pos-lines{flex:1 1 auto!important;min-height:0!important;max-height:none!important;overflow-y:auto!important;padding-inline-end:2px!important;}
.lms-pos-page-body .lms-pos-v3 .lms-pos-line{
  grid-template-columns:48px minmax(0,1fr) auto!important;
  padding:10px!important;
  border-radius:16px!important;
  background:#f8fafc!important;
  border-color:rgba(148,163,184,.24)!important;
  box-shadow:none!important;
}
.lms-pos-page-body .lms-pos-v3 .lms-pos-line-thumb{inline-size:48px!important;block-size:48px!important;border-radius:14px!important;background:#e7ecf3!important;}
.lms-pos-page-body .lms-pos-v3 .lms-pos-line-title{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;}
.lms-pos-page-body .lms-pos-v3 .lms-pos-line-title button[data-remove]{display:grid!important;place-items:center!important;inline-size:26px!important;block-size:26px!important;border:0!important;border-radius:999px!important;background:#fee2e2!important;color:#991b1b!important;font-weight:900!important;cursor:pointer!important;}
.lms-pos-page-body .lms-pos-v3 .lms-pos-type-chip{display:inline-flex!important;align-items:center!important;max-width:max-content!important;border-radius:999px!important;padding:2px 8px!important;background:#e7ecf3!important;color:var(--brand-primary)!important;font-size:11px!important;font-weight:900!important;}
.lms-pos-page-body .lms-pos-v3 .lms-pos-line-controls{display:grid!important;justify-items:end!important;gap:7px!important;}
.lms-pos-page-body .lms-pos-v3 .lms-stepper{height:30px!important;border-radius:999px!important;}
.lms-pos-page-body .lms-pos-summary-card{flex:0 1 auto!important;min-height:0!important;overflow:hidden!important;}
.lms-pos-page-body .lms-pos-summary-card > .lms-pos-mini-head{margin-block-end:8px!important;}
.lms-pos-page-body .lms-pos-summary-card > .lms-pos-mini-head strong{font-size:18px!important;color:var(--brand-primary)!important;}
.lms-pos-page-body .lms-pos-v3 .lms-pos-summary-redesign{
  display:grid!important;
  gap:8px!important;
  padding:0!important;
  border:0!important;
  max-height:31vh!important;
  overflow-y:auto!important;
  scrollbar-width:thin!important;
}
.lms-pos-page-body .lms-pos-v3 .lms-pos-summary-row,
.lms-pos-page-body .lms-pos-v3 .lms-pos-summary-redesign > label{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  min-height:34px!important;
  padding:8px 10px!important;
  border-radius:12px!important;
  background:#f8fafc!important;
  border:1px solid rgba(148,163,184,.18)!important;
}
.lms-pos-page-body .lms-pos-v3 .lms-pos-summary-row span,
.lms-pos-page-body .lms-pos-v3 .lms-pos-summary-redesign label span:first-child{font-size:12px!important;font-weight:900!important;color:var(--text-secondary)!important;}
.lms-pos-page-body .lms-pos-v3 .lms-pos-summary-row strong{font-size:13px!important;color:var(--text-primary)!important;}
.lms-pos-page-body .lms-pos-v3 .lms-pos-discount-line button{margin-inline-start:6px!important;border:0!important;background:transparent!important;color:var(--brand-accent)!important;font-weight:900!important;cursor:pointer!important;}
.lms-pos-page-body .lms-pos-v3 .lms-pos-discount-editor{display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;gap:8px!important;padding:10px!important;border-radius:14px!important;background:#fff7ed!important;border:1px solid rgba(242,113,28,.18)!important;}
.lms-pos-page-body .lms-pos-v3 .lms-pos-summary-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;}
.lms-pos-page-body .lms-pos-v3 .lms-pos-summary-grid .lms-money-field{display:grid!important;gap:6px!important;align-items:start!important;padding:10px!important;border-radius:14px!important;background:#f8fafc!important;border:1px solid rgba(148,163,184,.18)!important;}
.lms-pos-page-body .lms-pos-v3 .lms-pos-summary-redesign input,
.lms-pos-page-body .lms-pos-v3 .lms-pos-summary-redesign select{height:34px!important;border-radius:12px!important;background:#fff!important;border-color:rgba(148,163,184,.32)!important;font-weight:800!important;}
.lms-pos-page-body .lms-pos-v3 .lms-pos-summary-redesign .lms-money-input{justify-content:flex-end!important;}
.lms-pos-page-body .lms-pos-v3 .lms-pos-delivery-select select{min-inline-size:150px!important;}
.lms-pos-page-body .lms-pos-v3 .lms-pos-charge-row{display:grid!important;grid-template-columns:minmax(0,1fr) 92px 30px!important;gap:6px!important;align-items:center!important;}
.lms-pos-page-body .lms-pos-v3 .lms-pos-charge-row button{inline-size:30px!important;block-size:30px!important;border:0!important;border-radius:999px!important;background:#fee2e2!important;color:#991b1b!important;font-weight:900!important;}
.lms-pos-page-body .lms-pos-payment-card{flex:0 0 auto!important;display:grid!important;gap:10px!important;box-shadow:0 -4px 16px rgba(15,23,42,.06),0 10px 24px rgba(15,23,42,.055)!important;}
.lms-pos-page-body .lms-pos-payment-inline{display:grid!important;gap:8px!important;}
.lms-pos-page-body .lms-pos-payment-card .lms-segmented{inline-size:100%!important;display:grid!important;grid-template-columns:1fr 1fr!important;padding:4px!important;border-radius:16px!important;}
.lms-pos-page-body .lms-pos-payment-card .lms-segmented button{justify-content:center!important;border-radius:12px!important;min-height:38px!important;}
.lms-pos-page-body .lms-pos-payment-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;align-items:stretch!important;}
.lms-pos-page-body .lms-pos-payment-grid > *{padding:10px!important;border-radius:14px!important;background:#f8fafc!important;border:1px solid rgba(148,163,184,.18)!important;}
.lms-pos-page-body .lms-pos-paid{display:grid!important;gap:6px!important;}
.lms-pos-page-body .lms-pos-paid input{width:100%!important;height:34px!important;border-radius:12px!important;}
.lms-pos-page-body .lms-pos-balance{display:grid!important;align-content:center!important;gap:4px!important;}
.lms-pos-page-body .lms-pos-balance span{font-size:12px!important;font-weight:900!important;color:var(--text-secondary)!important;}
.lms-pos-page-body .lms-pos-balance strong{font-size:18px!important;color:var(--brand-primary)!important;}
.lms-pos-page-body .lms-pos-v3 .lms-pos-confirm{min-height:46px!important;border-radius:16px!important;font-size:15px!important;box-shadow:0 14px 22px rgba(242,113,28,.2)!important;}
.lms-pos-page-body .lms-pos-v3 .lms-pos-confirm:disabled{box-shadow:none!important;opacity:.58!important;}
html[dir="rtl"] .lms-pos-page-body .lms-pos-v3 .lms-pos-panes-row{grid-template-columns:minmax(0,1fr) clamp(460px,36vw,560px)!important;}
html[dir="rtl"] .lms-pos-page-body .lms-pos-checkout-hero{background:radial-gradient(circle at 0% 0%,rgba(242,113,28,.36),transparent 32%),linear-gradient(225deg,var(--color-navy-900),var(--color-navy-800))!important;}
@media (max-width:1180px){
  .lms-pos-page-body .lms-pos-v3 .lms-pos-panes-row,
  html[dir="rtl"] .lms-pos-page-body .lms-pos-v3 .lms-pos-panes-row{grid-template-columns:minmax(390px,42vw,500px) minmax(0,1fr)!important;}
}
@media (max-width:900px){
  .lms-pos-page-body .lms-pos-v3 .lms-pos-panes-row,
  html[dir="rtl"] .lms-pos-page-body .lms-pos-v3 .lms-pos-panes-row{display:block!important;overflow:auto!important;}
  .lms-pos-page-body .lms-pos-v3 .lms-pos-checkout-redesign{min-height:auto!important;margin-block-end:12px!important;}
  .lms-pos-page-body .lms-pos-v3 .lms-pos-summary-grid,
  .lms-pos-page-body .lms-pos-payment-grid{grid-template-columns:1fr!important;}
  .lms-pos-page-body .lms-pos-v3 .lms-pos-summary-redesign{max-height:none!important;}
}
@media (max-width:520px){
  .lms-pos-page-body .lms-pos-checkout-hero{display:grid!important;}
  .lms-pos-page-body .lms-pos-v3 .lms-pos-customer-row{grid-template-columns:1fr!important;}
  .lms-pos-page-body .lms-pos-v3 .lms-pos-line{grid-template-columns:44px minmax(0,1fr)!important;}
  .lms-pos-page-body .lms-pos-v3 .lms-pos-line-controls{grid-column:1 / -1!important;grid-template-columns:1fr auto!important;align-items:center!important;justify-items:stretch!important;}
}

/* POS checkout/product proportion refinement: checkout 40%, catalog 60%. */
.lms-pos-page-body .lms-pos-v3 .lms-pos-panes-row {
    grid-template-columns: minmax(360px, 40%) minmax(0, 60%) !important;
}
html[dir="rtl"] .lms-pos-page-body .lms-pos-v3 .lms-pos-panes-row {
    grid-template-columns: minmax(0, 60%) minmax(360px, 40%) !important;
}
.lms-pos-page-body .lms-pos-v3 .lms-pos-checkout-redesign,
.lms-pos-page-body .lms-pos-v3 .lms-pos-products {
    inline-size: 100% !important;
}
@media (max-width: 1180px) {
    .lms-pos-page-body .lms-pos-v3 .lms-pos-panes-row {
        grid-template-columns: 1fr !important;
    }
}

/* POS cart line final layout repair 2026-07-10 */
.lms-pos-page-body .lms-pos-v3 .lms-pos-line {
  display: grid !important;
  grid-template-columns: 52px minmax(0, 1fr) minmax(108px, auto) !important;
  grid-template-areas: 'thumb content controls' !important;
  align-items: center !important;
  gap: 12px !important;
  min-block-size: 92px !important;
  padding: 12px !important;
  overflow: visible !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-line > input[type='hidden'],
.lms-pos-page-body .lms-pos-v3 .lms-pos-line > [hidden] {
  display: none !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-line .lms-pos-line-thumb {
  grid-area: thumb !important;
  inline-size: 52px !important;
  block-size: 52px !important;
  align-self: start !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-line .lms-pos-line-main {
  grid-area: content !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 6px !important;
  align-content: center !important;
  min-inline-size: 0 !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-line .lms-pos-line-title {
  grid-area: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  min-inline-size: 0 !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-line .lms-pos-line-title strong {
  flex: 1 1 auto !important;
  min-inline-size: 0 !important;
  font-size: 14px !important;
  line-height: 1.25 !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-line .lms-pos-line-title button[data-remove] {
  grid-area: auto !important;
  position: static !important;
  flex: 0 0 28px !important;
  inline-size: 28px !important;
  block-size: 28px !important;
  min-inline-size: 28px !important;
  min-block-size: 28px !important;
  align-self: center !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #fee2e2 !important;
  color: #991b1b !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-line .lms-pos-type-chip,
.lms-pos-page-body .lms-pos-v3 .lms-pos-line .lms-pos-line-addons,
.lms-pos-page-body .lms-pos-v3 .lms-pos-line [data-addon-picker-slot] {
  grid-area: auto !important;
  position: static !important;
  min-inline-size: 0 !important;
  max-inline-size: 100% !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-line .lms-pos-line-addons {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 4px !important;
  overflow: visible !important;
  white-space: normal !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-line .lms-pos-addon-picker {
  margin: 0 !important;
  min-inline-size: 0 !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-line .lms-pos-addon-picker summary {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  min-block-size: 28px !important;
  padding: 4px 10px !important;
  border: 1px solid rgba(148,163,184,.35) !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #334155 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  cursor: pointer !important;
  list-style-position: inside !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-line .lms-pos-addon-picker > div {
  display: grid !important;
  gap: 6px !important;
  margin-block-start: 8px !important;
  padding: 8px !important;
  max-block-size: 160px !important;
  overflow-y: auto !important;
  border: 1px solid rgba(148,163,184,.24) !important;
  border-radius: 12px !important;
  background: #fff !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-line .lms-pos-line-controls {
  grid-area: controls !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  justify-content: center !important;
  gap: 8px !important;
  min-inline-size: 108px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-line .lms-stepper,
.lms-pos-page-body .lms-pos-v3 .lms-pos-line [data-total] {
  grid-area: auto !important;
  position: static !important;
  margin: 0 !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-line .lms-stepper {
  display: inline-flex !important;
  align-items: center !important;
  overflow: hidden !important;
  min-inline-size: 104px !important;
  block-size: 34px !important;
  border-radius: 999px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-line .lms-stepper button,
.lms-pos-page-body .lms-pos-v3 .lms-pos-line .lms-stepper input {
  block-size: 32px !important;
  min-block-size: 32px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-line .lms-stepper input {
  inline-size: 42px !important;
  min-inline-size: 42px !important;
  padding: 0 !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-line [data-total] {
  font-size: 13px !important;
  line-height: 1.2 !important;
  font-weight: 950 !important;
  white-space: nowrap !important;
}

@media (max-width: 620px) {
  .lms-pos-page-body .lms-pos-v3 .lms-pos-line {
    grid-template-columns: 44px minmax(0, 1fr) !important;
    grid-template-areas:
      'thumb content'
      'controls controls' !important;
    align-items: start !important;
  }

  .lms-pos-page-body .lms-pos-v3 .lms-pos-line .lms-pos-line-thumb {
    inline-size: 44px !important;
    block-size: 44px !important;
  }

  .lms-pos-page-body .lms-pos-v3 .lms-pos-line .lms-pos-line-controls {
    inline-size: 100% !important;
    min-inline-size: 0 !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
  }
}
/* End POS cart line final layout repair */

/* POS cart line final layout repair 2026-07-10 */
.lms-pos-page-body .lms-pos-v3 .lms-pos-line {
  display: grid !important;
  grid-template-columns: 52px minmax(0, 1fr) minmax(108px, auto) !important;
  grid-template-areas: 'thumb content controls' !important;
  align-items: center !important;
  gap: 12px !important;
  min-block-size: 92px !important;
  padding: 12px !important;
  overflow: visible !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-line > input[type='hidden'],
.lms-pos-page-body .lms-pos-v3 .lms-pos-line > [hidden] {
  display: none !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-line .lms-pos-line-thumb {
  grid-area: thumb !important;
  inline-size: 52px !important;
  block-size: 52px !important;
  align-self: start !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-line .lms-pos-line-main {
  grid-area: content !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 6px !important;
  align-content: center !important;
  min-inline-size: 0 !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-line .lms-pos-line-title {
  grid-area: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  min-inline-size: 0 !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-line .lms-pos-line-title strong {
  flex: 1 1 auto !important;
  min-inline-size: 0 !important;
  font-size: 14px !important;
  line-height: 1.25 !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-line .lms-pos-line-title button[data-remove] {
  grid-area: auto !important;
  position: static !important;
  flex: 0 0 28px !important;
  inline-size: 28px !important;
  block-size: 28px !important;
  min-inline-size: 28px !important;
  min-block-size: 28px !important;
  align-self: center !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #fee2e2 !important;
  color: #991b1b !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-line .lms-pos-type-chip,
.lms-pos-page-body .lms-pos-v3 .lms-pos-line .lms-pos-line-addons,
.lms-pos-page-body .lms-pos-v3 .lms-pos-line [data-addon-picker-slot] {
  grid-area: auto !important;
  position: static !important;
  min-inline-size: 0 !important;
  max-inline-size: 100% !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-line .lms-pos-line-addons {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 4px !important;
  overflow: visible !important;
  white-space: normal !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-line .lms-pos-addon-picker {
  margin: 0 !important;
  min-inline-size: 0 !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-line .lms-pos-addon-picker summary {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  min-block-size: 28px !important;
  padding: 4px 10px !important;
  border: 1px solid rgba(148,163,184,.35) !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #334155 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  cursor: pointer !important;
  list-style-position: inside !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-line .lms-pos-addon-picker > div {
  display: grid !important;
  gap: 6px !important;
  margin-block-start: 8px !important;
  padding: 8px !important;
  max-block-size: 160px !important;
  overflow-y: auto !important;
  border: 1px solid rgba(148,163,184,.24) !important;
  border-radius: 12px !important;
  background: #fff !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-line .lms-pos-line-controls {
  grid-area: controls !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  justify-content: center !important;
  gap: 8px !important;
  min-inline-size: 108px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-line .lms-stepper,
.lms-pos-page-body .lms-pos-v3 .lms-pos-line [data-total] {
  grid-area: auto !important;
  position: static !important;
  margin: 0 !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-line .lms-stepper {
  display: inline-flex !important;
  align-items: center !important;
  overflow: hidden !important;
  min-inline-size: 104px !important;
  block-size: 34px !important;
  border-radius: 999px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-line .lms-stepper button,
.lms-pos-page-body .lms-pos-v3 .lms-pos-line .lms-stepper input {
  block-size: 32px !important;
  min-block-size: 32px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-line .lms-stepper input {
  inline-size: 42px !important;
  min-inline-size: 42px !important;
  padding: 0 !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-line [data-total] {
  font-size: 13px !important;
  line-height: 1.2 !important;
  font-weight: 950 !important;
  white-space: nowrap !important;
}

@media (max-width: 620px) {
  .lms-pos-page-body .lms-pos-v3 .lms-pos-line {
    grid-template-columns: 44px minmax(0, 1fr) !important;
    grid-template-areas:
      'thumb content'
      'controls controls' !important;
    align-items: start !important;
  }

  .lms-pos-page-body .lms-pos-v3 .lms-pos-line .lms-pos-line-thumb {
    inline-size: 44px !important;
    block-size: 44px !important;
  }

  .lms-pos-page-body .lms-pos-v3 .lms-pos-line .lms-pos-line-controls {
    inline-size: 100% !important;
    min-inline-size: 0 !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
  }
}
/* End POS cart line final layout repair */

/* POS cart rows: final overlap repair 2026-07-10 */
.lms-order-board-summary {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

.lms-order-board-columns {
  grid-template-columns: repeat(var(--board-column-count, 7), minmax(250px, 1fr)) !important;
}

.lms-order-progress {
  grid-template-columns: repeat(var(--order-stage-count, 6), minmax(92px, 1fr)) !important;
  overflow-x: auto;
}

.lms-order-queue-action {
  display: grid;
  gap: 7px;
  margin-block-end: 16px;
  padding: 12px;
  border: 1px solid color-mix(in srgb, var(--brand-accent) 35%, var(--border-default));
  border-radius: 8px;
  background: color-mix(in srgb, var(--brand-accent) 6%, var(--surface-card));
}

.lms-order-queue-action > span {
  color: var(--text-secondary);
  font-size: 12px;
  font-weight: 700;
}

.lms-order-queue-action > strong {
  color: var(--text-primary);
  font-size: 16px;
}

.lms-order-board-summary > span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-block-size: 40px;
  padding: 6px 12px;
  border: 1px solid var(--border-default);
  border-radius: 8px;
  background: var(--surface-card);
  color: var(--text-secondary);
  font-size: 12px;
  font-weight: 700;
}

.lms-order-board-summary strong {
  color: var(--text-primary);
  font-size: 15px;
}

.lms-order-move-menu {
  position: relative;
  inline-size: 100%;
}

.lms-order-move-menu > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-block-size: 38px;
  padding: 7px 10px;
  border: 1px solid color-mix(in srgb, var(--brand-accent) 42%, var(--border-default));
  border-radius: 8px;
  background: color-mix(in srgb, var(--brand-accent) 7%, var(--surface-card));
  color: var(--brand-accent);
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
  list-style: none;
}

.lms-order-move-menu > summary::-webkit-details-marker {
  display: none;
}

.lms-order-move-menu[open] > summary svg {
  transform: rotate(180deg);
}

.lms-order-move-menu > div {
  display: grid;
  gap: 2px;
  margin-block-start: 5px;
  padding: 5px;
  border: 1px solid var(--border-default);
  border-radius: 8px;
  background: var(--surface-card);
  box-shadow: var(--shadow-lg);
}

.lms-order-move-menu form,
.lms-order-move-menu button {
  inline-size: 100%;
}

.lms-order-move-menu button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-block-size: 36px;
  padding: 7px 9px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: var(--text-primary);
  font-size: 12px;
  font-weight: 700;
  text-align: start;
}

.lms-order-move-menu button:hover,
.lms-order-move-menu button:focus-visible {
  background: var(--surface-subtle);
  color: var(--brand-accent);
}

@media (max-width: 1024px) {
  .lms-order-board-summary {
    justify-content: flex-start;
  }
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-order-card .lms-pos-lines {
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding: 4px 6px 14px 2px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-order-card .lms-pos-line {
  flex: 0 0 auto !important;
  display: grid !important;
  grid-template-columns: 76px minmax(0, 1fr) 170px !important;
  grid-template-areas: "thumb main controls" !important;
  align-items: start !important;
  column-gap: 14px !important;
  row-gap: 0 !important;
  min-block-size: 128px !important;
  block-size: auto !important;
  max-block-size: none !important;
  padding: 14px !important;
  overflow: visible !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-order-card .lms-pos-line-thumb {
  grid-area: thumb !important;
  inline-size: 76px !important;
  block-size: 76px !important;
  min-inline-size: 76px !important;
  min-block-size: 76px !important;
  align-self: start !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-order-card .lms-pos-line-main {
  grid-area: main !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 8px !important;
  min-inline-size: 0 !important;
  min-block-size: 100px !important;
  overflow: visible !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-order-card .lms-pos-line-title {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  min-block-size: 30px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-order-card .lms-pos-line-title strong {
  flex: 1 1 auto !important;
  min-inline-size: 0 !important;
  font-size: 16px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-order-card .lms-pos-type-chip,
.lms-pos-page-body .lms-pos-v3 .lms-pos-order-card .lms-pos-line-addons {
  position: static !important;
  display: inline-flex !important;
  align-items: center !important;
  inline-size: auto !important;
  max-inline-size: 100% !important;
  min-block-size: 24px !important;
  margin: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-order-card [data-addon-picker-slot] {
  position: static !important;
  display: block !important;
  inline-size: 100% !important;
  min-block-size: 34px !important;
  margin: 0 !important;
  overflow: visible !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-order-card .lms-pos-addon-picker {
  position: static !important;
  display: block !important;
  inline-size: 100% !important;
  margin: 0 !important;
  overflow: visible !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-order-card .lms-pos-addon-picker summary {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-block-size: 32px !important;
  padding: 6px 12px !important;
  border: 1px solid rgba(148, 163, 184, .38) !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #334155 !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  cursor: pointer !important;
  list-style-position: inside !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-order-card .lms-pos-addon-picker > div {
  position: static !important;
  display: grid !important;
  gap: 6px !important;
  inline-size: 100% !important;
  margin-block-start: 8px !important;
  padding: 10px !important;
  border: 1px solid rgba(148, 163, 184, .28) !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: none !important;
  z-index: auto !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-order-card .lms-pos-line-controls {
  grid-area: controls !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  inline-size: 170px !important;
  min-inline-size: 170px !important;
  align-self: start !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-order-card .lms-pos-line-controls [data-total] {
  position: static !important;
  display: block !important;
  margin: 0 !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
}

@media (max-width: 760px) {
  .lms-pos-page-body .lms-pos-v3 .lms-pos-order-card .lms-pos-line {
    grid-template-columns: 58px minmax(0, 1fr) !important;
    grid-template-areas:
      "thumb main"
      "controls controls" !important;
    min-block-size: 0 !important;
  }

  .lms-pos-page-body .lms-pos-v3 .lms-pos-order-card .lms-pos-line-thumb {
    inline-size: 58px !important;
    block-size: 58px !important;
    min-inline-size: 58px !important;
    min-block-size: 58px !important;
  }

  .lms-pos-page-body .lms-pos-v3 .lms-pos-order-card .lms-pos-line-controls {
    inline-size: 100% !important;
    min-inline-size: 0 !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding-block-start: 8px !important;
  }
}


/* POS order tax removal: delivery fee occupies the full summary row. */
.lms-pos-page-body .lms-pos-v3 .lms-pos-summary-grid{grid-template-columns:1fr!important;}


/* Compact POS totals section redesign. */
.lms-pos-page-body .lms-pos-v3 .lms-pos-summary-card {
  padding: 10px 12px !important;
  min-height: 0 !important;
  overflow: visible !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-summary-card > .lms-pos-mini-head {
  min-height: 34px !important;
  margin: 0 0 4px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-summary-card > .lms-pos-mini-head span {
  font-size: 16px !important;
  line-height: 1.2 !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-summary-card > .lms-pos-mini-head strong {
  font-size: 18px !important;
  line-height: 1.2 !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-summary-redesign {
  display: grid !important;
  gap: 0 !important;
  max-height: none !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  border-block-start: 1px solid rgba(148, 163, 184, .24) !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-summary-row,
.lms-pos-page-body .lms-pos-v3 .lms-pos-summary-redesign > label,
.lms-pos-page-body .lms-pos-v3 .lms-pos-summary-grid .lms-money-field {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  min-height: 40px !important;
  margin: 0 !important;
  padding: 6px 4px !important;
  border: 0 !important;
  border-radius: 0 !important;
  border-block-end: 1px solid rgba(148, 163, 184, .18) !important;
  background: transparent !important;
  box-shadow: none !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-summary-row span,
.lms-pos-page-body .lms-pos-v3 .lms-pos-summary-redesign label > span:first-child {
  font-size: 12px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-summary-row strong {
  font-size: 13px !important;
  line-height: 1.2 !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-summary-grid {
  display: block !important;
  margin: 0 !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-summary-grid .lms-money-input,
.lms-pos-page-body .lms-pos-v3 .lms-pos-delivery-select select {
  inline-size: clamp(126px, 38%, 150px) !important;
  min-inline-size: 126px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-summary-redesign input,
.lms-pos-page-body .lms-pos-v3 .lms-pos-summary-redesign select {
  height: 32px !important;
  min-height: 32px !important;
  padding-block: 4px !important;
  border-radius: 10px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-discount-line button {
  margin-inline-start: 4px !important;
  padding: 2px 4px !important;
  font-size: 12px !important;
  line-height: 1 !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-discount-editor[hidden] {
  display: none !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-discount-editor:not([hidden]) {
  display: grid !important;
  grid-template-columns: auto minmax(126px, 1fr) !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 7px 4px !important;
  border: 0 !important;
  border-radius: 0 !important;
  border-block-end: 1px solid rgba(148, 163, 184, .18) !important;
  background: transparent !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-discount-editor .lms-segmented {
  padding: 2px !important;
  border-radius: 10px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-discount-editor .lms-segmented button {
  min-height: 28px !important;
  padding: 4px 9px !important;
  border-radius: 8px !important;
  font-size: 11px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-discount-editor .lms-money-input {
  inline-size: 100% !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-charge-list:empty {
  display: none !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-add-charge {
  min-height: 30px !important;
  justify-self: start !important;
  margin: 2px 0 0 !important;
  padding: 4px !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
}

@media (max-width: 520px) {
  .lms-pos-page-body .lms-pos-v3 .lms-pos-discount-editor:not([hidden]) {
    grid-template-columns: 1fr !important;
  }

  .lms-pos-page-body .lms-pos-v3 .lms-pos-summary-grid .lms-money-input,
  .lms-pos-page-body .lms-pos-v3 .lms-pos-delivery-select select {
    inline-size: 124px !important;
    min-inline-size: 124px !important;
  }
}


/* POS header customer selector and database-backed quick-add modal. */
.lms-pos-page-body .lms-pos-page-header {
  grid-template-columns: auto auto minmax(320px, 620px) auto;
  gap: 16px;
}

.lms-pos-page-body .lms-pos-page-brand { justify-self: start; }
.lms-pos-page-body .lms-pos-page-header-customer { inline-size: 100%; min-inline-size: 0; }

.lms-pos-page-body .lms-pos-page-meta {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  min-inline-size: 0;
}

.lms-pos-page-body .lms-pos-logout-form {
  margin: 0;
}

.lms-pos-page-body .lms-pos-logout-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-block-size: 38px;
  padding: 0 13px;
  border: 1px solid color-mix(in srgb, var(--color-danger-600) 24%, var(--border-default));
  border-radius: 999px;
  background: var(--surface-card);
  color: var(--color-danger-600);
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
  transition: border-color var(--duration-fast) var(--ease-standard),
    background var(--duration-fast) var(--ease-standard),
    color var(--duration-fast) var(--ease-standard),
    box-shadow var(--duration-fast) var(--ease-standard);
}

.lms-pos-page-body .lms-pos-logout-button:hover,
.lms-pos-page-body .lms-pos-logout-button:focus-visible {
  border-color: var(--color-danger-600);
  background: var(--color-danger-100);
  color: var(--color-danger-600);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-danger-600) 10%, transparent);
  outline: 0;
}

.lms-pos-page-body .lms-pos-header-customer {
  position: relative;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  inline-size: 100%;
  padding: 5px;
  border: 1px solid rgba(148, 163, 184, .34);
  border-radius: 15px;
  background: #f8fafc;
  box-shadow: 0 4px 14px rgba(15, 23, 42, .05);
}

.lms-pos-page-body .lms-pos-header-customer-icon {
  display: grid;
  place-items: center;
  inline-size: 38px;
  block-size: 38px;
  border-radius: 11px;
  background: #fff7ed;
  color: var(--brand-accent);
}

.lms-pos-page-body .lms-pos-header-customer-field {
  display: grid;
  min-inline-size: 0;
  gap: 1px;
}

.lms-pos-page-body .lms-pos-header-customer-field > label {
  padding-inline: 4px;
  color: var(--text-secondary);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .08em;
  line-height: 1;
  text-transform: uppercase;
}

.lms-pos-page-body .lms-pos-header-customer-select-shell {
  position: relative;
  min-inline-size: 0;
}

.lms-pos-page-body .lms-pos-header-customer-field select {
  inline-size: 100%;
  block-size: 30px;
  min-inline-size: 0;
  padding: 0 40px 0 4px;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--text-primary);
  font-size: 13px;
  font-weight: 850;
  text-overflow: ellipsis;
  cursor: pointer;
}

html[dir="rtl"] .lms-pos-page-body .lms-pos-header-customer-field select { padding: 0 4px 0 40px; }

.lms-pos-page-body .lms-pos-header-customer-search-button {
  position: absolute;
  inset-block-start: 2px;
  inset-inline-end: 2px;
  display: grid;
  place-items: center;
  inline-size: 27px;
  block-size: 26px;
  padding: 0;
  border: 0;
  border-radius: 8px;
  background: var(--color-orange-100);
  color: var(--brand-accent-hover);
  cursor: pointer;
}

.lms-pos-page-body .lms-pos-header-customer-search-button:hover,
.lms-pos-page-body .lms-pos-header-customer-search-button:focus-visible {
  background: var(--brand-accent);
  color: var(--color-white);
  outline: 0;
}

.lms-pos-page-body .lms-pos-header-customer-search-button svg {
  inline-size: 15px;
  block-size: 15px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
}

.lms-pos-page-body .lms-pos-customer-search-panel {
  position: absolute;
  inset-block-start: calc(100% + 8px);
  inset-inline-start: 46px;
  inset-inline-end: 0;
  z-index: 1700;
  display: grid;
  gap: 8px;
  padding: 12px;
  border: 1px solid rgba(148, 163, 184, .34);
  border-radius: 14px;
  background: var(--color-white);
  box-shadow: 0 16px 36px rgba(15, 23, 42, .18);
}

.lms-pos-page-body .lms-pos-customer-search-panel[hidden] { display: none; }

.lms-pos-page-body .lms-pos-customer-search-panel > label {
  color: var(--text-secondary);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.lms-pos-page-body .lms-pos-customer-search-panel input {
  inline-size: 100%;
  block-size: 40px;
  padding: 0 12px;
  border: 1px solid rgba(148, 163, 184, .45);
  border-radius: 10px;
  background: var(--color-white);
  color: var(--text-primary);
}

.lms-pos-page-body .lms-pos-customer-search-panel input:focus {
  border-color: var(--brand-accent);
  outline: 0;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand-accent) 18%, transparent);
}

.lms-pos-page-body .lms-pos-customer-search-results {
  display: grid;
  gap: 4px;
  max-block-size: 260px;
  overflow: auto;
}

.lms-pos-page-body .lms-pos-customer-search-result {
  display: flex;
  align-items: center;
  inline-size: 100%;
  min-block-size: 40px;
  padding: 8px 10px;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: var(--text-primary);
  text-align: start;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
}

.lms-pos-page-body .lms-pos-customer-search-result:hover,
.lms-pos-page-body .lms-pos-customer-search-result:focus-visible {
  background: var(--color-orange-100);
  color: var(--brand-accent-hover);
  outline: 0;
}

.lms-pos-page-body .lms-pos-customer-search-empty {
  padding: 14px 10px;
  color: var(--text-secondary);
  text-align: center;
  font-size: 13px;
  font-weight: 700;
}

.lms-pos-page-body .lms-pos-header-customer-add {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-block-size: 40px;
  padding: 0 13px;
  border: 1px solid rgba(242, 113, 28, .32);
  border-radius: 11px;
  background: #fff;
  color: var(--brand-accent);
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
  cursor: pointer;
}

.lms-pos-page-body .lms-pos-header-customer-add:hover {
  border-color: var(--brand-accent);
  background: #fff7ed;
}

.lms-pos-page-body .lms-pos-inline-customer-form { display: grid; gap: 18px; }

.lms-pos-page-body .lms-pos-inline-customer-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 18px;
}

.lms-pos-page-body .lms-pos-inline-customer-address { grid-column: 1 / -1; }

.lms-pos-page-body .lms-pos-inline-customer-loyalty {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  inline-size: max-content;
  font-size: 13px;
  font-weight: 850;
  cursor: pointer;
}

.lms-pos-page-body .lms-pos-inline-customer-loyalty input { inline-size: 18px; block-size: 18px; }

.lms-pos-page-body .lms-pos-inline-customer-error {
  padding: 10px 12px;
  border: 1px solid rgba(220, 38, 38, .24);
  border-radius: 11px;
  background: #fef2f2;
  color: #991b1b;
  font-size: 13px;
  font-weight: 800;
}

.lms-pos-page-body .lms-pos-inline-customer-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 9px;
}

@media (max-width: 1120px) {
  .lms-pos-page-body .lms-pos-page-header { grid-template-columns: auto minmax(280px, 1fr) auto; }
  .lms-pos-page-body .lms-pos-page-brand { display: none; }
}

@media (max-width: 760px) {
  .lms-pos-page-body .lms-pos-page-header {
    grid-template-columns: auto 1fr auto;
    grid-template-rows: auto auto;
    block-size: auto;
    min-block-size: 116px;
    padding-block: 8px;
  }

  .lms-pos-page-body .lms-pos-page-header-customer {
    grid-column: 1 / -1;
    grid-row: 2;
  }

  .lms-pos-page-body .lms-pos-page-main {
    block-size: calc(100vh - 116px);
    block-size: calc(100dvh - 116px);
  }

  .lms-pos-page-body .lms-pos-logout-button {
    inline-size: 38px;
    padding: 0;
  }

  .lms-pos-page-body .lms-pos-logout-button span {
    display: none;
  }
}

@media (max-width: 560px) {
  .lms-pos-page-body .lms-pos-header-customer { grid-template-columns: 34px minmax(0, 1fr) 40px; }
  .lms-pos-page-body .lms-pos-header-customer-add { inline-size: 40px; padding: 0; }
  .lms-pos-page-body .lms-pos-header-customer-add span { display: none; }
  .lms-pos-page-body .lms-pos-inline-customer-grid { grid-template-columns: 1fr; }
  .lms-pos-page-body .lms-pos-inline-customer-address { grid-column: auto; }
}


/* POS customer header in-field search redesign. */
.lms-pos-page-body .lms-pos-header-customer {
  grid-template-columns: 38px minmax(0, 1fr) auto !important;
  gap: 10px !important;
  padding: 6px !important;
  border-radius: 18px !important;
  background: color-mix(in srgb, var(--surface-card) 88%, var(--surface-app)) !important;
  box-shadow: 0 8px 22px rgba(15, 23, 42, .06) !important;
}

.lms-pos-page-body .lms-pos-header-customer-icon {
  inline-size: 38px !important;
  block-size: 38px !important;
  border-radius: 13px !important;
  background: color-mix(in srgb, var(--brand-accent) 11%, var(--surface-card)) !important;
}

.lms-pos-page-body .lms-pos-header-customer-field {
  gap: 0 !important;
}

.lms-pos-page-body .lms-pos-header-customer-field > label {
  position: absolute !important;
  inline-size: 1px !important;
  block-size: 1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
}

.lms-pos-page-body .lms-pos-header-customer-select-shell {
  display: block !important;
}

.lms-pos-page-body .lms-pos-header-customer-field select {
  position: absolute !important;
  inline-size: 1px !important;
  block-size: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.lms-pos-page-body .lms-pos-header-customer-select-shell input[type="search"] {
  inline-size: 100% !important;
  block-size: 38px !important;
  min-inline-size: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  color: var(--text-primary) !important;
  font-size: 15px !important;
  font-weight: 850 !important;
  line-height: 38px !important;
}

.lms-pos-page-body .lms-pos-header-customer-select-shell input[type="search"]::placeholder {
  color: color-mix(in srgb, var(--text-primary) 82%, var(--text-secondary)) !important;
  opacity: 1 !important;
}

.lms-pos-page-body .lms-pos-header-customer-select-shell input[type="search"]::-webkit-search-decoration,
.lms-pos-page-body .lms-pos-header-customer-select-shell input[type="search"]::-webkit-search-cancel-button {
  display: none !important;
}

.lms-pos-page-body .lms-pos-header-customer-search-button {
  display: none !important;
}

.lms-pos-page-body .lms-pos-customer-search-panel {
  inset-block-start: calc(100% + 8px) !important;
  inset-inline-start: 54px !important;
  inset-inline-end: 104px !important;
  gap: 6px !important;
  padding: 8px !important;
  border-radius: 16px !important;
}

.lms-pos-page-body .lms-pos-customer-search-panel > label,
.lms-pos-page-body .lms-pos-customer-search-panel > input {
  display: none !important;
}

.lms-pos-page-body .lms-pos-customer-search-results {
  gap: 5px !important;
  max-block-size: 280px !important;
}

.lms-pos-page-body .lms-pos-customer-search-result {
  min-block-size: 38px !important;
  border-radius: 11px !important;
  font-size: 13px !important;
}

.lms-pos-page-body .lms-pos-header-customer-add {
  min-block-size: 38px !important;
  padding-inline: 16px !important;
  border-radius: 14px !important;
  font-size: 13px !important;
}

@media (max-width: 760px) {
  .lms-pos-page-body .lms-pos-customer-search-panel {
    inset-inline-start: 0 !important;
    inset-inline-end: 0 !important;
  }
}

@media (max-width: 560px) {
  .lms-pos-page-body .lms-pos-header-customer {
    grid-template-columns: 36px minmax(0, 1fr) 40px !important;
  }

  .lms-pos-page-body .lms-pos-header-customer-icon,
  .lms-pos-page-body .lms-pos-header-customer-add {
    inline-size: 36px !important;
    block-size: 36px !important;
    min-block-size: 36px !important;
  }
}

/* End POS customer header in-field search redesign. */


/* POS cash and terminal payment dialog. */
.lms-pos-page-body .lms-pos-payment-dialog {
  display: grid;
  gap: 20px;
}

.lms-pos-page-body .lms-pos-payment-total-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 18px 20px;
  border: 1px solid rgba(242, 113, 28, .24);
  border-radius: 16px;
  background: linear-gradient(135deg, #fff7ed, #fff);
}

.lms-pos-page-body .lms-pos-payment-total-card span {
  color: var(--text-secondary);
  font-size: 13px;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.lms-pos-page-body .lms-pos-payment-total-card strong {
  color: var(--brand-accent);
  font-size: clamp(24px, 4vw, 34px);
  font-weight: 950;
}

.lms-pos-page-body .lms-pos-payment-methods {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.lms-pos-page-body .lms-pos-payment-method {
  display: grid;
  justify-items: center;
  gap: 7px;
  min-block-size: 154px;
  padding: 20px 14px;
  border: 2px solid var(--border-default);
  border-radius: 16px;
  background: #fff;
  color: var(--text-primary);
  text-align: center;
  cursor: pointer;
}

.lms-pos-page-body .lms-pos-payment-method:hover,
.lms-pos-page-body .lms-pos-payment-method.is-active {
  border-color: var(--brand-accent);
  background: #fff7ed;
  box-shadow: 0 0 0 3px rgba(242, 113, 28, .12);
}

.lms-pos-page-body .lms-pos-payment-method-icon {
  display: grid;
  place-items: center;
  inline-size: 52px;
  block-size: 52px;
  border-radius: 15px;
  background: #f1f5f9;
  font-size: 25px;
}

.lms-pos-page-body .lms-pos-payment-method.is-active .lms-pos-payment-method-icon {
  background: #ffedd5;
}

.lms-pos-page-body .lms-pos-payment-method strong {
  font-size: 16px;
  font-weight: 950;
}

.lms-pos-page-body .lms-pos-payment-method small,
.lms-pos-page-body .lms-pos-payment-note {
  color: var(--text-secondary);
  font-size: 12px;
  line-height: 1.45;
}

.lms-pos-page-body .lms-pos-payment-note {
  margin: 0;
  text-align: center;
}

.lms-pos-page-body .lms-pos-payment-error {
  padding: 11px 13px;
  border: 1px solid rgba(220, 38, 38, .24);
  border-radius: 11px;
  background: #fef2f2;
  color: #991b1b;
  font-size: 13px;
  font-weight: 800;
}

.lms-pos-page-body .lms-pos-payment-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}

@media (max-width: 560px) {
  .lms-pos-page-body .lms-pos-payment-methods { grid-template-columns: 1fr; }
  .lms-pos-page-body .lms-pos-payment-method { min-block-size: 118px; }
  .lms-pos-page-body .lms-pos-payment-total-card { align-items: flex-start; flex-direction: column; }
  .lms-pos-page-body .lms-pos-payment-actions { display: grid; grid-template-columns: 1fr 1fr; }
}

/* POS checkout-style payment modal. */
.lms-pos-page-body #lms-pos-payment-modal .lms-modal--xl {
  inline-size: min(1180px, calc(100vw - 24px));
}

.lms-pos-page-body .lms-pos-payment-checkout {
  display: grid;
  grid-template-columns: minmax(230px, 280px) minmax(0, 1fr) 180px;
  grid-template-areas:
    "summary main quick"
    "error error error"
    "actions actions actions";
  gap: 16px;
  align-items: stretch;
}

.lms-pos-page-body .lms-pos-payment-sidebar {
  grid-area: summary;
  display: grid;
  align-content: start;
  gap: 14px;
  min-width: 0;
}

.lms-pos-page-body .lms-pos-payment-main {
  grid-area: main;
  display: grid;
  gap: 14px;
  min-width: 0;
}

.lms-pos-page-body .lms-pos-payment-quick {
  grid-area: quick;
  display: grid;
  align-content: start;
  gap: 10px;
  min-width: 0;
}

.lms-pos-page-body .lms-pos-payment-quick button {
  min-block-size: 54px;
  border: 1px solid rgba(148, 163, 184, .28);
  border-radius: 8px;
  background: #fff;
  color: #334155;
  font-size: 15px;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 8px 18px rgba(15, 23, 42, .04);
}

.lms-pos-page-body .lms-pos-payment-quick button:hover,
.lms-pos-page-body .lms-pos-payment-quick button:focus-visible {
  border-color: var(--brand-accent);
  outline: 0;
  box-shadow: 0 0 0 3px rgba(242, 113, 28, .14);
}

.lms-pos-page-body .lms-pos-payment-checkout .lms-pos-payment-total-card {
  display: grid;
  justify-items: center;
  gap: 6px;
  padding: 18px 16px;
  border-color: rgba(242, 113, 28, .18);
  border-radius: 8px;
  background: linear-gradient(180deg, #fff, rgba(255, 237, 213, .52));
  text-align: center;
}

.lms-pos-page-body .lms-pos-payment-checkout .lms-pos-payment-total-card span,
.lms-pos-page-body .lms-pos-payment-breakdown h3 {
  color: #64748b;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.lms-pos-page-body .lms-pos-payment-checkout .lms-pos-payment-total-card small {
  color: #94a3b8;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}

.lms-pos-page-body .lms-pos-payment-checkout .lms-pos-payment-total-card strong {
  color: var(--brand-accent-hover);
  font-size: 30px;
  line-height: 1.1;
}

.lms-pos-page-body .lms-pos-payment-breakdown {
  display: grid;
  gap: 12px;
  padding: 16px;
  border: 1px solid rgba(148, 163, 184, .18);
  border-radius: 8px;
  background: #fff;
}

.lms-pos-page-body .lms-pos-payment-breakdown h3 {
  margin: 0 0 2px;
  color: #1e293b;
}

.lms-pos-page-body .lms-pos-payment-breakdown-row {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  min-block-size: 58px;
  padding: 10px;
  border-radius: 8px;
  background: #f8fafc;
}

.lms-pos-page-body .lms-pos-payment-breakdown-row > span {
  display: grid;
  place-items: center;
  inline-size: 34px;
  block-size: 34px;
  border-radius: 8px;
  color: #fff;
  font-weight: 900;
}

.lms-pos-page-body .lms-pos-payment-breakdown-row small {
  display: block;
  color: #64748b;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.lms-pos-page-body .lms-pos-payment-breakdown-row strong {
  display: block;
  margin-top: 2px;
  color: #0f172a;
  font-size: 15px;
  font-weight: 900;
}

.lms-pos-page-body .lms-pos-payment-breakdown-row.is-paying > span { background: #10b981; }
.lms-pos-page-body .lms-pos-payment-breakdown-row.is-change > span { background: #3b82f6; }
.lms-pos-page-body .lms-pos-payment-breakdown-row.is-change strong { color: #2563eb; }

.lms-pos-page-body .lms-pos-payment-entry {
  display: grid;
  gap: 14px;
  padding: 16px;
  border: 1px solid rgba(148, 163, 184, .22);
  border-radius: 8px;
  background: #fff;
}

.lms-pos-page-body .lms-pos-payment-entry-head {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(148, 163, 184, .18);
}

.lms-pos-page-body .lms-pos-payment-entry-head span {
  display: grid;
  place-items: center;
  inline-size: 26px;
  block-size: 26px;
  border-radius: 999px;
  background: var(--brand-primary);
  color: #fff;
  font-weight: 900;
}

.lms-pos-page-body .lms-pos-payment-amount-field {
  display: grid;
  gap: 8px;
  color: #334155;
  font-size: 13px;
  font-weight: 850;
}

.lms-pos-page-body .lms-pos-payment-amount-field input {
  min-block-size: 48px;
  inline-size: 100%;
  border: 1px solid rgba(148, 163, 184, .34);
  border-radius: 8px;
  padding: 0 14px;
  background: #fff;
  color: #0f172a;
  font-size: 18px;
  font-weight: 800;
}

.lms-pos-page-body .lms-pos-payment-amount-field input:focus {
  border-color: var(--brand-accent);
  outline: 0;
  box-shadow: 0 0 0 3px rgba(242, 113, 28, .14);
}

.lms-pos-page-body .lms-pos-payment-checkout .lms-pos-payment-methods {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.lms-pos-page-body .lms-pos-payment-checkout .lms-pos-payment-method {
  min-block-size: 92px;
  padding: 14px 12px;
  border-width: 1px;
  border-radius: 8px;
}

.lms-pos-page-body .lms-pos-payment-checkout .lms-pos-payment-method:hover,
.lms-pos-page-body .lms-pos-payment-checkout .lms-pos-payment-method.is-active {
  border-color: var(--brand-accent);
  background: rgba(255, 247, 237, .86);
  box-shadow: 0 0 0 3px rgba(242, 113, 28, .12);
}

.lms-pos-page-body .lms-pos-payment-checkout .lms-pos-payment-method-icon {
  display: grid;
  place-items: center;
  inline-size: 38px;
  block-size: 38px;
  border-radius: 8px;
  background: var(--color-orange-100);
  color: var(--brand-accent-hover);
}

.lms-pos-page-body .lms-pos-payment-checkout .lms-pos-payment-method-icon .lms-icon {
  inline-size: 20px;
  block-size: 20px;
  stroke-width: 2.4;
}

.lms-pos-page-body .lms-pos-payment-checkout .lms-pos-payment-method.is-active .lms-pos-payment-method-icon {
  background: var(--brand-accent);
  color: #fff;
}

.lms-pos-page-body .lms-pos-payment-checkout .lms-pos-payment-error {
  grid-area: error;
}

.lms-pos-page-body .lms-pos-payment-checkout .lms-pos-payment-actions {
  grid-area: actions;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  padding-top: 4px;
}

.lms-pos-page-body .lms-pos-payment-checkout .lms-pos-payment-actions .lms-btn {
  min-block-size: 54px;
  justify-content: center;
}

@media (max-width: 900px) {
  .lms-pos-page-body .lms-pos-payment-checkout {
    grid-template-columns: 1fr;
    grid-template-areas:
      "summary"
      "main"
      "quick"
      "error"
      "actions";
  }
  .lms-pos-page-body .lms-pos-payment-quick {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .lms-pos-page-body .lms-pos-payment-checkout .lms-pos-payment-actions,
  .lms-pos-page-body .lms-pos-payment-checkout .lms-pos-payment-methods,
  .lms-pos-page-body .lms-pos-payment-quick {
    grid-template-columns: 1fr;
  }
}

/* ---- POS Catalog Experience Final ---- */
.lms-pos-page-body .lms-pos-products {
  display: grid;
  gap: 22px;
  padding: clamp(20px, 2vw, 30px);
  border: 1px solid var(--border-default);
  border-radius: 22px;
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--surface-card) 96%, var(--color-orange-100)) 0%, var(--surface-card) 38%),
    var(--surface-card);
  box-shadow: var(--shadow-sm);
}

.lms-pos-page-body .lms-pos-product-searchbar {
  max-inline-size: 680px;
}

.lms-pos-page-body .lms-pos-pane-head {
  margin: 0;
}

.lms-pos-page-body .lms-pos-pane-head h2 {
  max-inline-size: 760px;
  margin-block-start: 5px;
  color: var(--brand-primary);
  font-size: clamp(26px, 3vw, 42px);
  line-height: 1.08;
  letter-spacing: -.035em;
}

.lms-pos-page-body .lms-pos-kicker {
  color: var(--brand-accent-hover);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .12em;
}

.lms-pos-page-body .lms-pos-catalog-controls {
  display: grid;
  gap: 15px;
}

.lms-pos-page-body .lms-pos-kind-tabs {
  display: grid;
  grid-template-columns: repeat(2, minmax(160px, 190px));
  gap: 10px;
  inline-size: max-content;
  max-inline-size: 100%;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.lms-pos-page-body .lms-pos-kind-tabs button {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  min-block-size: 64px;
  padding: 10px 13px;
  border: 1px solid var(--border-default);
  border-radius: 16px;
  background: var(--surface-card);
  color: var(--brand-primary);
  text-align: start;
  box-shadow: var(--shadow-xs);
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
}

.lms-pos-page-body .lms-pos-kind-tabs button:hover,
.lms-pos-page-body .lms-pos-kind-tabs button:focus-visible {
  border-color: color-mix(in srgb, var(--brand-accent) 55%, var(--border-default));
  box-shadow: var(--shadow-sm);
  transform: translateY(-1px);
}

.lms-pos-page-body .lms-pos-kind-tabs .lms-pos-kind-icon {
  display: grid;
  place-items: center;
  inline-size: 38px;
  block-size: 38px;
  padding: 0;
  border-radius: 11px;
  background: var(--color-orange-100);
  color: var(--brand-accent-hover);
}

.lms-pos-page-body .lms-pos-kind-tabs .lms-pos-kind-icon .lms-icon {
  inline-size: 16px;
  block-size: 16px;
}

.lms-pos-page-body .lms-pos-kind-tabs .lms-pos-kind-label {
  display: block;
  min-inline-size: 0;
  block-size: auto;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  font-size: 13px;
  line-height: 1.2;
  font-weight: 900;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.lms-pos-page-body .lms-pos-kind-tabs .lms-pos-tab-count {
  display: grid;
  place-items: center;
  min-inline-size: 25px;
  block-size: 25px;
  padding-inline: 6px;
  border-radius: 8px;
  background: var(--surface-app);
  color: var(--text-secondary);
  font-size: 10px;
  font-weight: 900;
}

.lms-pos-page-body .lms-pos-kind-tabs button.is-active {
  border-color: var(--brand-accent);
  background: var(--brand-accent);
  color: var(--color-white);
  box-shadow: 0 10px 22px color-mix(in srgb, var(--brand-accent) 22%, transparent);
}

.lms-pos-page-body .lms-pos-kind-tabs button.is-active .lms-pos-kind-icon,
.lms-pos-page-body .lms-pos-kind-tabs button.is-active .lms-pos-tab-count {
  background: color-mix(in srgb, var(--color-white) 20%, transparent);
  color: var(--color-white);
}

.lms-pos-page-body .lms-pos-category-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  padding: 0;
}

.lms-pos-page-body .lms-pos-category-tabs button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-block-size: 42px;
  padding: 8px 14px;
  border: 1px solid var(--border-default);
  border-radius: 12px;
  background: var(--surface-card);
  color: var(--text-secondary);
  font-size: 12px;
  line-height: 1.15;
  font-weight: 800;
  box-shadow: var(--shadow-xs);
}

.lms-pos-page-body .lms-pos-category-tabs button span {
  display: grid;
  place-items: center;
  min-inline-size: 23px;
  block-size: 23px;
  padding-inline: 6px;
  border-radius: 7px;
  background: var(--surface-app);
  color: var(--text-secondary);
  font-size: 10px;
  font-weight: 900;
}

.lms-pos-page-body .lms-pos-category-tabs button.is-active {
  border-color: var(--brand-primary);
  background: var(--brand-primary);
  color: var(--color-white);
  box-shadow: 0 8px 18px color-mix(in srgb, var(--brand-primary) 20%, transparent);
}

.lms-pos-page-body .lms-pos-category-tabs button.is-active span {
  background: color-mix(in srgb, var(--color-white) 18%, transparent);
  color: var(--color-white);
}

.lms-pos-page-body .lms-pos-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 16px;
  align-items: stretch;
}

.lms-pos-page-body .lms-service-tile {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  min-inline-size: 0;
  min-block-size: 350px;
  padding: 14px;
  gap: 13px;
  border: 1px solid var(--border-default);
  border-radius: 18px;
  background: var(--surface-card);
  color: var(--text-primary);
  text-align: start;
  overflow: hidden;
  box-shadow: var(--shadow-xs);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.lms-pos-page-body .lms-service-tile:hover,
.lms-pos-page-body .lms-service-tile:focus-visible {
  border-color: color-mix(in srgb, var(--brand-accent) 45%, var(--border-default));
  box-shadow: var(--shadow-md);
  transform: translateY(-3px);
}

.lms-pos-page-body .lms-service-tile[hidden],
.lms-pos-page-body .lms-service-tile.is-filtered {
  display: none !important;
}

.lms-pos-page-body .lms-service-visual {
  position: static;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 9px;
  inline-size: 100%;
  block-size: auto;
  min-block-size: 0;
  margin: 0;
  overflow: visible;
  background: transparent;
}

.lms-pos-page-body .lms-service-image-frame {
  display: grid;
  place-items: center;
  inline-size: 100%;
  aspect-ratio: 4 / 3;
  max-block-size: 145px;
  padding: 10px;
  border: 1px solid color-mix(in srgb, var(--brand-accent) 11%, var(--border-default));
  border-radius: 14px;
  background: linear-gradient(145deg, var(--color-orange-100), color-mix(in srgb, var(--color-orange-100) 45%, var(--surface-card)));
  overflow: hidden;
}

.lms-pos-page-body .lms-service-image-frame img {
  inline-size: 100%;
  block-size: 100%;
  max-inline-size: 100%;
  max-block-size: 125px;
  object-fit: contain;
}

.lms-pos-page-body .lms-service-placeholder {
  display: grid;
  place-items: center;
  inline-size: 48px;
  block-size: 48px;
  border-radius: 13px;
  background: color-mix(in srgb, var(--surface-card) 88%, transparent);
  color: var(--brand-accent-hover);
}

.lms-pos-page-body .lms-service-placeholder .lms-icon,
.lms-pos-page-body .lms-service-visual--product .lms-icon {
  inline-size: 23px;
  block-size: 23px;
}

.lms-pos-page-body .lms-service-badge {
  position: static;
  inset: auto;
  transform: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-inline-size: 48px;
  min-block-size: 25px;
  margin: 0;
  padding: 4px 9px;
  border: 1px solid color-mix(in srgb, var(--brand-accent) 28%, transparent);
  border-radius: 999px;
  background: color-mix(in srgb, var(--color-orange-100) 72%, var(--surface-card));
  color: var(--brand-accent-hover);
  font-size: 10px;
  line-height: 1;
  font-weight: 900;
  white-space: nowrap;
  box-shadow: none;
}

.lms-pos-page-body .lms-service-tile-copy {
  display: grid;
  align-content: start;
  gap: 6px;
  min-inline-size: 0;
}

.lms-pos-page-body .lms-service-tile-copy strong {
  display: -webkit-box;
  overflow: hidden;
  color: var(--brand-primary);
  font-size: 17px;
  line-height: 1.22;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: normal;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.lms-pos-page-body .lms-service-tile-copy small {
  display: -webkit-box;
  min-block-size: 34px;
  overflow: hidden;
  color: var(--text-secondary);
  font-size: 12px;
  line-height: 1.42;
  font-weight: 600;
  white-space: normal;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.lms-pos-page-body .lms-service-tile-footer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  inline-size: 100%;
  min-inline-size: 0;
  margin-block-start: auto;
  padding-block-start: 12px;
  border-block-start: 1px solid var(--border-default);
}

.lms-pos-page-body .lms-service-price {
  display: inline-flex;
  align-items: baseline;
  gap: 5px;
  min-inline-size: 0;
  color: var(--brand-primary);
  white-space: nowrap;
}

.lms-pos-page-body .lms-service-price-currency {
  color: var(--text-secondary);
  font-size: 9px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.lms-pos-page-body .lms-service-price strong {
  font-family: var(--font-mono);
  font-size: 17px;
  line-height: 1;
  font-weight: 900;
}

.lms-pos-page-body .lms-service-add-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-inline-size: 0;
  min-block-size: 34px;
  padding: 6px 9px;
  border: 1px solid color-mix(in srgb, var(--brand-accent) 45%, var(--border-default));
  border-radius: 10px;
  background: var(--surface-card);
  color: var(--brand-accent-hover);
  font-size: 10.5px;
  line-height: 1.1;
  font-weight: 900;
  white-space: nowrap;
}

.lms-pos-page-body .lms-service-add-icon {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  inline-size: 20px;
  block-size: 20px;
  border: 0;
  border-radius: 6px;
  background: var(--color-orange-100);
  color: var(--brand-accent-hover);
  font-size: 13px;
  line-height: 1;
  font-weight: 900;
}

.lms-pos-page-body .lms-service-add-label {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.lms-pos-page-body .lms-service-tile:hover .lms-service-add-action,
.lms-pos-page-body .lms-service-tile:focus-visible .lms-service-add-action {
  border-color: var(--brand-accent);
  background: var(--brand-accent);
  color: var(--color-white);
}

.lms-pos-page-body .lms-service-tile:hover .lms-service-add-icon,
.lms-pos-page-body .lms-service-tile:focus-visible .lms-service-add-icon {
  background: color-mix(in srgb, var(--color-white) 20%, transparent);
  color: var(--color-white);
}

.lms-pos-page-body .lms-service-tile > em[data-lms-pos-count] {
  position: static;
  align-self: flex-start;
  min-inline-size: 22px;
  block-size: 22px;
  margin: 0;
  border-radius: 7px;
  font-size: 10px;
}

@media (max-width: 1180px) {
  .lms-pos-page-body .lms-pos-grid {
    grid-template-columns: repeat(auto-fill, minmax(205px, 1fr));
  }
}

@media (max-width: 760px) {
  .lms-pos-page-body .lms-pos-products {
    padding: 18px;
    border-radius: 18px;
  }

  .lms-pos-page-body .lms-pos-kind-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    inline-size: 100%;
  }

  .lms-pos-page-body .lms-pos-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .lms-pos-page-body .lms-service-tile {
    min-block-size: 330px;
  }

  .lms-pos-page-body .lms-service-tile-footer {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .lms-pos-page-body .lms-service-add-action {
    inline-size: 100%;
  }
}

@media (max-width: 500px) {
  .lms-pos-page-body .lms-pos-kind-tabs,
  .lms-pos-page-body .lms-pos-grid {
    grid-template-columns: 1fr;
  }
}
/* ---- End POS Catalog Experience Final ---- */

/* ---- POS Reference Card Detail Panel ---- */
.lms-pos-page-body .lms-service-tile {
  box-sizing: border-box;
  min-inline-size: 0;
  overflow: hidden;
}

.lms-pos-page-body .lms-service-card-details {
  display: grid;
  align-content: start;
  gap: 7px;
  min-inline-size: 0;
  inline-size: 100%;
  padding: 2px 1px 0;
  text-align: start;
}

.lms-pos-page-body .lms-service-card-title {
  display: -webkit-box;
  min-inline-size: 0;
  overflow: hidden;
  color: var(--brand-primary);
  font-size: 16px;
  font-weight: 900;
  line-height: 1.28;
  text-overflow: ellipsis;
  white-space: normal;
  word-break: break-word;
  overflow-wrap: anywhere;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.lms-pos-page-body .lms-service-card-secondary {
  display: -webkit-box;
  min-inline-size: 0;
  overflow: hidden;
  color: var(--text-secondary);
  font-size: 13px;
  font-weight: 650;
  line-height: 1.38;
  text-overflow: ellipsis;
  white-space: normal;
  word-break: break-word;
  overflow-wrap: anywhere;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.lms-pos-page-body .lms-service-card-meta {
  display: block;
  min-inline-size: 0;
  overflow: hidden;
  color: var(--status-success, var(--color-green-600, #0aa86e));
  font-size: 13px;
  font-weight: 850;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.lms-pos-page-body .lms-service-tile-footer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  min-inline-size: 0;
  inline-size: 100%;
  margin-block-start: auto;
  padding-block-start: 13px;
  border-block-start: 1px solid var(--border-default);
}

.lms-pos-page-body .lms-service-price {
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
  min-inline-size: 0;
  max-inline-size: 100%;
  overflow: hidden;
  color: var(--brand-accent);
  white-space: nowrap;
}

.lms-pos-page-body .lms-service-price-currency {
  flex: 0 0 auto;
  color: var(--text-secondary);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .05em;
  line-height: 1;
  text-transform: uppercase;
}

.lms-pos-page-body .lms-service-price strong {
  min-inline-size: 0;
  overflow: hidden;
  color: var(--brand-accent);
  font-family: var(--font-mono);
  font-size: 20px;
  font-weight: 900;
  line-height: 1;
  text-overflow: ellipsis;
}

.lms-pos-page-body .lms-service-card-actions {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex: 0 0 auto;
  min-inline-size: max-content;
  color: inherit;
}

.lms-pos-page-body .lms-service-card-actions::before {
  content: none !important;
}

.lms-pos-page-body .lms-service-info-icon,
.lms-pos-page-body .lms-service-add-icon {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  inline-size: 34px;
  block-size: 34px;
  box-sizing: border-box;
  border-radius: 10px;
}

.lms-pos-page-body .lms-service-info-icon {
  border: 1px solid var(--border-default);
  background: var(--surface-card);
  color: var(--text-secondary);
}

.lms-pos-page-body .lms-service-info-icon svg {
  inline-size: 17px;
  block-size: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.lms-pos-page-body .lms-service-add-icon {
  border: 1px solid color-mix(in srgb, var(--brand-accent) 24%, var(--border-default));
  background: color-mix(in srgb, var(--brand-accent) 11%, var(--surface-card));
  color: var(--brand-accent-hover);
  font-size: 23px;
  font-weight: 800;
  line-height: 1;
}

.lms-pos-page-body .lms-service-tile:hover .lms-service-info-icon,
.lms-pos-page-body .lms-service-tile:focus-visible .lms-service-info-icon {
  border-color: color-mix(in srgb, var(--brand-primary) 40%, var(--border-default));
  color: var(--brand-primary);
}

.lms-pos-page-body .lms-service-tile:hover .lms-service-add-icon,
.lms-pos-page-body .lms-service-tile:focus-visible .lms-service-add-icon {
  border-color: var(--brand-accent);
  background: var(--brand-accent);
  color: var(--color-white);
}

.lms-pos-page-body .lms-service-tile:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--brand-accent) 28%, transparent);
  outline-offset: 2px;
}

html[dir="rtl"] .lms-pos-page-body .lms-service-card-details {
  text-align: start;
}

@media (max-width: 520px) {
  .lms-pos-page-body .lms-service-tile-footer {
    gap: 9px;
  }

  .lms-pos-page-body .lms-service-price strong {
    font-size: 18px;
  }

  .lms-pos-page-body .lms-service-info-icon,
  .lms-pos-page-body .lms-service-add-icon {
    inline-size: 32px;
    block-size: 32px;
    border-radius: 9px;
  }
}
/* ---- End POS Reference Card Detail Panel ---- */


/* ---- POS Catalog Full Zoom Layout Fix ---- */
.lms-pos-page-body .lms-pos-grid {
  grid-template-columns: repeat(auto-fill, minmax(232px, 1fr));
  gap: 16px;
  align-items: stretch;
}

.lms-pos-page-body .lms-service-tile {
  min-inline-size: 0;
  max-inline-size: none;
  overflow: hidden;
}

.lms-pos-page-body .lms-service-tile-copy {
  display: grid;
  align-content: start;
  gap: 7px;
  min-inline-size: 0;
  min-block-size: 74px;
  max-inline-size: 100%;
  overflow: hidden;
}

.lms-pos-page-body .lms-service-tile-copy strong,
.lms-pos-page-body .lms-service-tile-copy small {
  min-inline-size: 0;
  max-inline-size: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;
  -webkit-box-orient: vertical;
}

.lms-pos-page-body .lms-service-tile-copy strong {
  display: -webkit-box;
  font-size: 16px;
  line-height: 1.28;
  -webkit-line-clamp: 2;
}

.lms-pos-page-body .lms-service-tile-copy small {
  display: -webkit-box;
  font-size: 13px;
  line-height: 1.42;
  -webkit-line-clamp: 2;
}

.lms-pos-page-body .lms-service-tile-footer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 48px;
  align-items: center;
  gap: 12px;
  inline-size: 100%;
  min-inline-size: 0;
  margin-block-start: auto;
  padding-block-start: 14px;
  border-block-start: 1px solid var(--border-default);
  overflow: hidden;
}

.lms-pos-page-body .lms-service-price {
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
  min-inline-size: 0;
  max-inline-size: 100%;
  overflow: hidden;
  white-space: nowrap;
}

.lms-pos-page-body .lms-service-price strong {
  display: block;
  min-inline-size: 0;
  max-inline-size: 100%;
  overflow: hidden;
  color: var(--brand-accent);
  font-size: clamp(18px, 1.5vw, 23px);
  line-height: 1;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.lms-pos-page-body .lms-service-info-icon {
  display: none !important;
}

.lms-pos-page-body .lms-service-add-action {
  display: grid;
  place-items: center;
  justify-self: end;
  inline-size: 48px;
  block-size: 48px;
  min-inline-size: 48px;
  max-inline-size: 48px;
  padding: 0;
  border: 1px solid color-mix(in srgb, var(--brand-accent) 42%, var(--border-default));
  border-radius: 13px;
  background: var(--color-orange-100);
  color: var(--brand-accent-hover);
  overflow: hidden;
  box-shadow: none;
}

.lms-pos-page-body .lms-service-add-icon {
  display: grid;
  place-items: center;
  inline-size: 28px;
  block-size: 28px;
  min-inline-size: 28px;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font-size: 25px;
  line-height: 1;
  font-weight: 800;
}

.lms-pos-page-body .lms-service-add-label {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.lms-pos-page-body .lms-service-tile:hover .lms-service-add-action,
.lms-pos-page-body .lms-service-tile:focus-visible .lms-service-add-action {
  border-color: var(--brand-accent);
  background: var(--brand-accent);
  color: var(--color-white);
}

@media (max-width: 1180px) {
  .lms-pos-page-body .lms-pos-grid {
    grid-template-columns: repeat(auto-fill, minmax(216px, 1fr));
  }
}

@media (max-width: 760px) {
  .lms-pos-page-body .lms-pos-grid {
    grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
  }

  .lms-pos-page-body .lms-service-tile-footer {
    grid-template-columns: minmax(0, 1fr) 44px;
    gap: 9px;
  }

  .lms-pos-page-body .lms-service-add-action {
    inline-size: 44px;
    block-size: 44px;
    min-inline-size: 44px;
    max-inline-size: 44px;
  }
}

@media (max-width: 460px) {
  .lms-pos-page-body .lms-pos-grid {
    grid-template-columns: 1fr;
  }
}
/* ---- End POS Catalog Full Zoom Layout Fix ---- */

/* ---- POS Product + Service Card Live V3 Override ---- */
.lms-pos-page-body .lms-pos-v3 .lms-pos-grid {
  grid-template-columns: repeat(auto-fill, minmax(184px, 1fr)) !important;
  grid-auto-rows: auto !important;
  gap: 12px !important;
  padding: 0 4px 10px 0 !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-service-tile {
  display: grid !important;
  grid-template-rows: 128px 74px 44px !important;
  flex-direction: initial !important;
  min-block-size: 246px !important;
  block-size: 246px !important;
  padding: 0 !important;
  gap: 0 !important;
  border-radius: 18px !important;
  border-color: color-mix(in srgb, var(--color-neutral-300) 82%, var(--border-default)) !important;
  background: var(--surface-card) !important;
  box-shadow: 0 10px 26px rgba(15, 23, 32, .055) !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-service-tile:hover,
.lms-pos-page-body .lms-pos-v3 .lms-service-tile:focus-visible {
  border-color: color-mix(in srgb, var(--brand-accent) 38%, var(--border-default)) !important;
  box-shadow: 0 16px 34px rgba(15, 23, 32, .095) !important;
  transform: translateY(-2px) !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-service-visual {
  position: relative !important;
  display: grid !important;
  place-items: center !important;
  min-block-size: 0 !important;
  block-size: 128px !important;
  padding: 10px 16px 30px !important;
  border-block-end: 1px solid var(--border-default) !important;
  background:
    radial-gradient(120px 66px at 50% 60%, color-mix(in srgb, var(--color-orange-100) 56%, transparent), transparent 72%),
    linear-gradient(180deg, #fff, color-mix(in srgb, var(--surface-app) 42%, #fff)) !important;
  overflow: hidden !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-service-image-frame {
  display: grid !important;
  place-items: center !important;
  inline-size: 100% !important;
  block-size: 86px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  overflow: hidden !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-service-image-frame img {
  inline-size: 100% !important;
  block-size: 100% !important;
  max-inline-size: 150px !important;
  max-block-size: 86px !important;
  object-fit: contain !important;
  object-position: center !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-service-placeholder {
  inline-size: 82px !important;
  block-size: 82px !important;
  border-radius: 999px !important;
  background: color-mix(in srgb, var(--color-neutral-200) 72%, var(--surface-card)) !important;
  color: var(--color-neutral-400) !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-service-badge {
  position: absolute !important;
  inset-inline-start: 16px !important;
  inset-block-end: 12px !important;
  min-inline-size: 56px !important;
  min-block-size: 30px !important;
  padding: 6px 12px !important;
  border-radius: 999px !important;
  background: color-mix(in srgb, var(--color-orange-100) 72%, var(--surface-card)) !important;
  color: var(--brand-accent-hover) !important;
  font-size: 12px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-service-card-details,
.lms-pos-page-body .lms-pos-v3 .lms-service-tile-copy {
  display: grid !important;
  flex: initial !important;
  align-content: start !important;
  min-height: 0 !important;
  block-size: 74px !important;
  min-block-size: 74px !important;
  padding: 12px 18px 4px !important;
  gap: 4px !important;
  overflow: hidden !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-service-card-title,
.lms-pos-page-body .lms-pos-v3 .lms-service-tile-copy strong {
  color: var(--color-neutral-900) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.32 !important;
  -webkit-line-clamp: 2 !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-service-card-secondary,
.lms-pos-page-body .lms-pos-v3 .lms-service-tile-copy small {
  color: var(--color-neutral-500) !important;
  font-size: 11px !important;
  line-height: 1.3 !important;
  -webkit-line-clamp: 1 !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-service-card-meta {
  display: none !important;
  color: var(--color-success-500) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-service-tile-footer {
  position: absolute !important;
  inset-inline: 18px !important;
  inset-block-end: 10px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 8px !important;
  inline-size: auto !important;
  block-size: 44px !important;
  margin: 0 !important;
  padding-block-start: 0 !important;
  border-block-start: 0 !important;
  overflow: hidden !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-service-price {
  grid-column: 1 !important;
  grid-row: 1 !important;
  align-items: center !important;
  gap: 5px !important;
  block-size: 34px !important;
  line-height: 1 !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-service-price strong {
  color: var(--brand-accent) !important;
  font-size: clamp(16px, 1.25vw, 19px) !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-service-price-currency {
  color: color-mix(in srgb, var(--brand-accent) 74%, var(--color-neutral-500)) !important;
  font-size: 11px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-service-card-actions {
  display: grid !important;
  grid-template-columns: 34px !important;
  align-items: center !important;
  gap: 0 !important;
  min-inline-size: 34px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-service-card-actions::before {
  content: none !important;
  display: none !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-service-add-action {
  grid-column: 2 !important;
  grid-row: 1 !important;
  display: grid !important;
  place-items: center !important;
  inline-size: 34px !important;
  block-size: 34px !important;
  min-inline-size: 34px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: transparent !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-service-add-icon {
  display: grid !important;
  place-items: center !important;
  inline-size: 34px !important;
  block-size: 34px !important;
  min-inline-size: 34px !important;
  border-radius: 10px !important;
  background: color-mix(in srgb, var(--brand-accent) 11%, var(--surface-card)) !important;
  color: var(--brand-accent) !important;
  font-size: 20px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-service-tile:hover .lms-service-add-icon,
.lms-pos-page-body .lms-pos-v3 .lms-service-tile:focus-visible .lms-service-add-icon {
  background: var(--brand-accent) !important;
  color: var(--color-white) !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-service-tile > em[data-lms-pos-count] {
  position: absolute !important;
  inset-block-start: 8px !important;
  inset-inline-end: 8px !important;
  display: grid !important;
  place-items: center !important;
  inline-size: auto !important;
  min-inline-size: 24px !important;
  block-size: 24px !important;
  min-block-size: 24px !important;
  max-inline-size: 48px !important;
  margin: 0 !important;
  padding: 0 7px !important;
  border: 2px solid var(--surface-card) !important;
  border-radius: 999px !important;
  background: var(--brand-primary) !important;
  color: var(--color-white) !important;
  font-family: var(--font-mono) !important;
  font-size: 11px !important;
  font-style: normal !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  box-shadow: 0 8px 14px rgba(15, 23, 32, .18) !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-service-tile > em[data-lms-pos-count][hidden] {
  display: none !important;
}

html[dir="rtl"] .lms-pos-page-body .lms-pos-v3 .lms-service-tile > em[data-lms-pos-count] {
  inset-inline-start: 8px !important;
  inset-inline-end: auto !important;
}

@media (max-width: 760px) {
  .lms-pos-page-body .lms-pos-v3 .lms-pos-grid {
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)) !important;
  }

  .lms-pos-page-body .lms-pos-v3 .lms-service-tile {
    grid-template-rows: 116px 70px 42px !important;
    min-block-size: 228px !important;
    block-size: 228px !important;
  }

  .lms-pos-page-body .lms-pos-v3 .lms-service-visual {
    block-size: 116px !important;
    padding: 10px 12px 28px !important;
  }

  .lms-pos-page-body .lms-pos-v3 .lms-service-image-frame {
    block-size: 72px !important;
  }

  .lms-pos-page-body .lms-pos-v3 .lms-service-tile-footer {
    inset-inline: 14px !important;
    inset-block-end: 8px !important;
  }
}
/* ---- End POS Product + Service Card Live V3 Override ---- */

/* ---- POS Catalog Refresh Text Guard ---- */
.lms-pos-page-body .lms-pos-v3 .lms-service-tile[hidden],
.lms-pos-page-body .lms-pos-v3 .lms-service-tile.is-filtered,
.lms-pos-page-body .lms-pos-v3 [data-lms-pos-item][hidden],
.lms-pos-page-body .lms-pos-v3 [data-lms-pos-item].is-filtered {
  display: none !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-service-card-secondary,
.lms-pos-page-body .lms-pos-v3 .lms-service-card-meta {
  display: none !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-service-card-details,
.lms-pos-page-body .lms-pos-v3 .lms-service-tile-copy {
  align-content: center !important;
  block-size: 74px !important;
  min-block-size: 74px !important;
}
/* ---- End POS Catalog Refresh Text Guard ---- */

/* ---- POS Selected Order Line Compact Redesign ---- */
.lms-pos-page-body .lms-pos-v3 .lms-pos-order-card .lms-pos-lines {
  gap: 10px !important;
  padding: 2px 4px 10px 1px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-order-card .lms-pos-line {
  grid-template-columns: 72px minmax(0, 1fr) minmax(156px, auto) !important;
  grid-template-areas:
    "thumb main controls"
    "thumb addons controls" !important;
  align-items: start !important;
  column-gap: 14px !important;
  min-block-size: 104px !important;
  padding: 12px 14px !important;
  border-radius: 18px !important;
  background: color-mix(in srgb, var(--surface-app) 72%, var(--surface-card)) !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-order-card .lms-pos-line-thumb {
  inline-size: 72px !important;
  block-size: 72px !important;
  min-inline-size: 72px !important;
  min-block-size: 72px !important;
  border-radius: 14px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-order-card .lms-pos-line-main {
  display: grid !important;
  grid-area: main !important;
  gap: 6px !important;
  min-block-size: 0 !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-order-card .lms-pos-line-title {
  min-block-size: 28px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-order-card .lms-pos-line-title strong {
  font-size: 16px !important;
  line-height: 1.2 !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-order-card .lms-pos-line-title button[data-remove] {
  inline-size: 28px !important;
  block-size: 28px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-order-card .lms-pos-type-chip {
  min-block-size: 24px !important;
  padding: 4px 12px !important;
  border-radius: 999px !important;
  font-size: 12px !important;
  line-height: 1.15 !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-order-card .lms-pos-line-addons {
  grid-area: addons !important;
  min-block-size: 20px !important;
  color: var(--text-secondary) !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-order-card [data-addon-picker-slot] {
  grid-area: controls !important;
  justify-self: end !important;
  align-self: center !important;
  inline-size: auto !important;
  min-block-size: 0 !important;
  margin-block-start: 40px !important;
  z-index: 2 !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-order-card .lms-pos-addon-picker {
  inline-size: auto !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-order-card .lms-pos-addon-picker summary {
  min-block-size: 30px !important;
  padding: 5px 11px !important;
  font-size: 12px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-order-card .lms-pos-addon-picker > div {
  position: absolute !important;
  inset-inline-end: 0 !important;
  inline-size: min(260px, calc(100vw - 48px)) !important;
  max-block-size: 240px !important;
  overflow: auto !important;
  margin-block-start: 8px !important;
  box-shadow: 0 18px 38px rgba(15, 23, 32, .16) !important;
  z-index: 20 !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-order-card .lms-pos-line-controls {
  grid-area: controls !important;
  display: grid !important;
  grid-template-rows: 34px 1fr auto !important;
  justify-items: end !important;
  align-items: start !important;
  gap: 8px !important;
  inline-size: auto !important;
  min-inline-size: 156px !important;
  min-block-size: 78px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-order-card .lms-stepper {
  grid-row: 1 !important;
  justify-self: end !important;
  inline-size: 132px !important;
  block-size: 34px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-order-card .lms-stepper button,
.lms-pos-page-body .lms-pos-v3 .lms-pos-order-card .lms-stepper input {
  block-size: 32px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-order-card .lms-stepper button {
  inline-size: 36px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-order-card .lms-stepper input {
  inline-size: 60px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-order-card .lms-pos-line-controls [data-total] {
  grid-row: 3 !important;
  font-size: 14px !important;
  line-height: 1.15 !important;
}

@media (max-width: 760px) {
  .lms-pos-page-body .lms-pos-v3 .lms-pos-order-card .lms-pos-line {
    grid-template-columns: 56px minmax(0, 1fr) !important;
    grid-template-areas:
      "thumb main"
      "addons addons"
      "controls controls" !important;
    min-block-size: 0 !important;
    padding: 10px !important;
  }

  .lms-pos-page-body .lms-pos-v3 .lms-pos-order-card .lms-pos-line-thumb {
    inline-size: 56px !important;
    block-size: 56px !important;
    min-inline-size: 56px !important;
    min-block-size: 56px !important;
  }

  .lms-pos-page-body .lms-pos-v3 .lms-pos-order-card [data-addon-picker-slot] {
    grid-area: controls !important;
    align-self: end !important;
    justify-self: start !important;
    margin-block-start: 0 !important;
  }

  .lms-pos-page-body .lms-pos-v3 .lms-pos-order-card .lms-pos-line-controls {
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    grid-template-rows: auto !important;
    align-items: center !important;
    inline-size: 100% !important;
    min-inline-size: 0 !important;
    min-block-size: 36px !important;
    padding-block-start: 2px !important;
  }

  .lms-pos-page-body .lms-pos-v3 .lms-pos-order-card .lms-stepper {
    grid-column: 2 !important;
    grid-row: 1 !important;
    justify-self: center !important;
  }

  .lms-pos-page-body .lms-pos-v3 .lms-pos-order-card .lms-pos-line-controls [data-total] {
    grid-column: 3 !important;
    grid-row: 1 !important;
  }
}
/* ---- End POS Selected Order Line Compact Redesign ---- */

/* ---- POS Selected Order Line Compact Placement Fix ---- */
.lms-pos-page-body .lms-pos-v3 .lms-pos-order-card .lms-pos-line {
  position: relative !important;
  grid-template-columns: 72px minmax(0, 1fr) 156px !important;
  grid-template-rows: auto auto 1fr !important;
  grid-template-areas:
    "thumb title controls"
    "thumb chip controls"
    "thumb addontext controls" !important;
  min-block-size: 112px !important;
  padding: 12px 14px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-order-card .lms-pos-line-main {
  display: contents !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-order-card .lms-pos-line-title {
  grid-area: title !important;
  min-inline-size: 0 !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-order-card .lms-pos-type-chip {
  grid-area: chip !important;
  justify-self: start !important;
  max-inline-size: min(100%, 260px) !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-order-card .lms-pos-line-addons {
  grid-area: addontext !important;
  align-self: start !important;
  justify-self: start !important;
  max-inline-size: min(100%, 260px) !important;
  min-block-size: 18px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-order-card [data-addon-picker-slot] {
  position: absolute !important;
  inset-inline-end: 14px !important;
  inset-block-start: 54px !important;
  inline-size: auto !important;
  min-block-size: 0 !important;
  margin: 0 !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-order-card .lms-pos-line-controls {
  grid-area: controls !important;
  grid-template-columns: 1fr !important;
  grid-template-rows: 34px 34px auto !important;
  min-inline-size: 156px !important;
  min-block-size: 88px !important;
  align-self: stretch !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-order-card .lms-pos-line-controls [data-total] {
  align-self: end !important;
  justify-self: end !important;
  inline-size: auto !important;
  min-inline-size: 0 !important;
  text-align: end !important;
}

@media (max-width: 760px) {
  .lms-pos-page-body .lms-pos-v3 .lms-pos-order-card .lms-pos-line {
    grid-template-columns: 56px minmax(0, 1fr) !important;
    grid-template-rows: auto auto auto auto !important;
    grid-template-areas:
      "thumb title"
      "thumb chip"
      "addontext addontext"
      "controls controls" !important;
  }

  .lms-pos-page-body .lms-pos-v3 .lms-pos-order-card [data-addon-picker-slot] {
    position: static !important;
    grid-area: controls !important;
    justify-self: start !important;
    align-self: center !important;
  }
}
/* ---- End POS Selected Order Line Compact Placement Fix ---- */

/* ---- Admin Sidebar Collapsed Icon Rail Alignment Fix ---- */
.lms-sidebar-collapsed .lms-sidebar {
  inline-size: 84px !important;
  flex-basis: 84px !important;
}

.lms-sidebar-collapsed .lms-sidebar-brand {
  align-items: center !important;
  justify-content: center !important;
  gap: 14px !important;
  padding-block: 18px 14px !important;
  padding-inline: 10px !important;
}

.lms-sidebar-collapsed .lms-brand-link,
.lms-sidebar-collapsed .lms-sidebar-brand-controls {
  inline-size: 52px !important;
  display: grid !important;
  place-items: center !important;
}

.lms-sidebar-collapsed .lms-brand-mark {
  inline-size: 52px !important;
  block-size: 52px !important;
  flex-basis: 52px !important;
}

.lms-sidebar-collapsed .lms-sidebar-nav {
  align-items: center !important;
  gap: 14px !important;
  padding: 14px 0 20px !important;
  overflow-x: hidden !important;
}

.lms-sidebar-collapsed .lms-sidebar-menu-group,
.lms-sidebar-collapsed .lms-sidebar-section {
  inline-size: 52px !important;
  display: grid !important;
  justify-items: center !important;
  gap: 14px !important;
  margin: 0 !important;
}

.lms-sidebar-collapsed .lms-sidebar-menu-group + .lms-sidebar-menu-group {
  margin-block-start: 0 !important;
}

.lms-sidebar-collapsed .lms-sidebar-link,
.lms-sidebar-collapsed .lms-sidebar-parent {
  display: grid !important;
  place-items: center !important;
  inline-size: 52px !important;
  block-size: 52px !important;
  min-inline-size: 52px !important;
  min-block-size: 52px !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 0 !important;
  border-radius: 12px !important;
  text-align: center !important;
}

.lms-sidebar-collapsed .lms-sidebar-link.is-active,
.lms-sidebar-collapsed .lms-sidebar-section.is-active > .lms-sidebar-parent {
  box-shadow: inset 4px 0 0 var(--brand-accent), inset 0 0 0 1px rgba(255, 255, 255, .14) !important;
}

.lms-sidebar-collapsed .lms-sidebar-link::before,
.lms-sidebar-collapsed .lms-sidebar-section.is-active > .lms-sidebar-parent::before {
  display: none !important;
}

.lms-sidebar-collapsed .lms-sidebar-link-icon {
  inline-size: 34px !important;
  block-size: 34px !important;
  flex: 0 0 34px !important;
  margin: 0 !important;
  display: grid !important;
  place-items: center !important;
}

.lms-sidebar-collapsed .lms-sidebar-link-icon svg,
.lms-sidebar-collapsed .lms-sidebar-toggle svg {
  display: block !important;
  inline-size: 20px !important;
  block-size: 20px !important;
  margin: 0 !important;
}

.lms-sidebar-collapsed .lms-sidebar-toggle {
  position: static !important;
  inset: auto !important;
  display: grid !important;
  place-items: center !important;
  inline-size: 42px !important;
  block-size: 42px !important;
  min-inline-size: 42px !important;
  min-block-size: 42px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 10px !important;
  background: rgba(255, 255, 255, .07) !important;
}

@media (max-width: 767px) {
  .lms-sidebar-mobile-open .lms-sidebar,
  .lms-sidebar-mobile-open .lms-sidebar-collapsed .lms-sidebar {
    inline-size: min(88vw, 320px) !important;
    flex-basis: min(88vw, 320px) !important;
  }
}
/* ---- End Admin Sidebar Collapsed Icon Rail Alignment Fix ---- */

/* POS add-on picker stacking repair: keep an open menu above following cart rows. */
.lms-audit-secondary {
  display: block;
  margin-block-start: 4px;
  color: var(--text-secondary);
  font-size: 12px;
  line-height: 1.35;
}

.lms-audit-kicker {
  display: block;
  margin-block-end: 6px;
  color: var(--brand-accent);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
}

.lms-audit-plain-summary {
  max-inline-size: 920px;
  margin-block-start: 12px !important;
  padding: 10px 12px;
  border-inline-start: 3px solid var(--brand-accent);
  border-radius: 4px;
  background: var(--surface-subtle);
  color: var(--text-primary) !important;
  font-size: 14px;
  line-height: 1.5;
}

.lms-audit-evidence-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin: 20px 0 28px;
  overflow: hidden;
  border: 1px solid var(--border-default);
  border-radius: 8px;
  background: var(--border-default);
}

.lms-audit-evidence-grid > div {
  min-width: 0;
  padding: 14px 16px;
  background: var(--surface-card);
}

.lms-audit-evidence-grid dt,
.lms-audit-technical dt {
  margin-block-end: 5px;
  color: var(--text-secondary);
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
}

.lms-audit-evidence-grid dd,
.lms-audit-technical dd {
  margin: 0;
  overflow-wrap: anywhere;
  color: var(--text-primary);
  font-weight: 600;
}

.lms-audit-change-heading {
  margin-block-start: 8px;
}

.lms-audit-change-heading h3 {
  margin: 0;
}

.lms-audit-value {
  max-inline-size: 360px;
  overflow-wrap: anywhere;
}

.lms-audit-value--before {
  color: var(--text-secondary);
}

.lms-audit-value--after {
  color: var(--text-primary);
  font-weight: 600;
}

.lms-audit-technical {
  margin-block-start: 20px;
  padding-block-start: 16px;
  border-block-start: 1px solid var(--border-default);
}

.lms-audit-technical summary {
  cursor: pointer;
  color: var(--text-secondary);
  font-weight: 600;
}

.lms-audit-technical dl {
  margin-block-end: 0;
}

@media (max-width: 900px) {
  .lms-audit-evidence-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  .lms-audit-evidence-grid {
    grid-template-columns: 1fr;
  }
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-order-card .lms-pos-lines {
  overflow-x: visible !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-order-card .lms-pos-line {
  z-index: 1 !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-order-card .lms-pos-line:has(.lms-pos-addon-picker[open]) {
  z-index: 80 !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-order-card .lms-pos-line:has(.lms-pos-addon-picker[open]) [data-addon-picker-slot],
.lms-pos-page-body .lms-pos-v3 .lms-pos-order-card .lms-pos-addon-picker[open],
.lms-pos-page-body .lms-pos-v3 .lms-pos-order-card .lms-pos-addon-picker[open] > div {
  z-index: 90 !important;
}
/* End POS add-on picker stacking repair. */

/* ---- POS Catalog Filter Control Redesign ---- */
.lms-pos-page-body .lms-pos-v3 .lms-pos-catalog-controls {
  gap: 10px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-kind-tabs {
  display: inline-grid !important;
  grid-template-columns: repeat(2, minmax(170px, max-content)) !important;
  gap: 4px !important;
  inline-size: max-content !important;
  max-inline-size: 100% !important;
  padding: 4px !important;
  border: 1px solid color-mix(in srgb, var(--border-default) 84%, var(--color-neutral-300)) !important;
  border-radius: 16px !important;
  background: color-mix(in srgb, var(--surface-app) 72%, var(--surface-card)) !important;
  box-shadow: 0 8px 20px rgba(15, 23, 42, .055) !important;
  overflow-x: auto !important;
  scrollbar-width: none !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-kind-tabs::-webkit-scrollbar {
  display: none !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-kind-tabs button {
  display: inline-grid !important;
  grid-template-columns: 28px minmax(0, 1fr) auto !important;
  align-items: center !important;
  justify-content: start !important;
  gap: 9px !important;
  min-block-size: 42px !important;
  height: 42px !important;
  padding: 6px 10px !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: transparent !important;
  color: var(--text-secondary) !important;
  box-shadow: none !important;
  font-size: 13px !important;
  transform: none !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-kind-tabs button:hover,
.lms-pos-page-body .lms-pos-v3 .lms-pos-kind-tabs button:focus-visible {
  background: color-mix(in srgb, var(--surface-card) 76%, var(--color-orange-100)) !important;
  color: var(--brand-primary) !important;
  box-shadow: none !important;
  transform: none !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-kind-tabs button.is-active {
  background: var(--brand-accent) !important;
  color: var(--color-white) !important;
  box-shadow: 0 8px 18px color-mix(in srgb, var(--brand-accent) 23%, transparent) !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-kind-tabs .lms-pos-kind-icon {
  display: grid !important;
  place-items: center !important;
  inline-size: 28px !important;
  block-size: 28px !important;
  min-inline-size: 28px !important;
  padding: 0 !important;
  border-radius: 9px !important;
  background: color-mix(in srgb, var(--color-neutral-200) 70%, var(--surface-card)) !important;
  color: var(--brand-primary) !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-kind-tabs button.is-active .lms-pos-kind-icon {
  background: color-mix(in srgb, var(--color-white) 22%, transparent) !important;
  color: var(--color-white) !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-kind-tabs .lms-pos-kind-icon .lms-icon {
  inline-size: 16px !important;
  block-size: 16px !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-kind-tabs .lms-pos-kind-label {
  display: block !important;
  min-inline-size: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: inherit !important;
  font-size: 13px !important;
  font-weight: 850 !important;
  line-height: 1.1 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-kind-tabs .lms-pos-tab-count {
  display: grid !important;
  place-items: center !important;
  min-inline-size: 24px !important;
  block-size: 24px !important;
  padding-inline: 7px !important;
  border-radius: 999px !important;
  background: color-mix(in srgb, var(--color-neutral-200) 78%, var(--surface-card)) !important;
  color: var(--text-secondary) !important;
  font-family: var(--font-mono) !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-kind-tabs button.is-active .lms-pos-tab-count {
  background: color-mix(in srgb, var(--color-white) 24%, transparent) !important;
  color: var(--color-white) !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-category-tabs {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 8px !important;
  padding-block: 2px 4px !important;
  overflow-x: auto !important;
  scrollbar-width: thin !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-category-tabs button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  flex: 0 0 auto !important;
  min-block-size: 38px !important;
  height: 38px !important;
  padding: 7px 13px !important;
  border: 1px solid color-mix(in srgb, var(--border-default) 88%, var(--color-neutral-300)) !important;
  border-radius: 13px !important;
  background: var(--surface-card) !important;
  color: var(--text-secondary) !important;
  box-shadow: 0 4px 12px rgba(15, 23, 42, .045) !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-category-tabs button:hover,
.lms-pos-page-body .lms-pos-v3 .lms-pos-category-tabs button:focus-visible {
  border-color: color-mix(in srgb, var(--brand-primary) 28%, var(--border-default)) !important;
  color: var(--brand-primary) !important;
  background: color-mix(in srgb, var(--surface-card) 86%, var(--color-navy-100)) !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-category-tabs button.is-active {
  border-color: var(--brand-primary) !important;
  background: var(--brand-primary) !important;
  color: var(--color-white) !important;
  box-shadow: 0 8px 18px color-mix(in srgb, var(--brand-primary) 18%, transparent) !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-category-tabs button span {
  display: grid !important;
  place-items: center !important;
  min-inline-size: 23px !important;
  block-size: 23px !important;
  padding-inline: 7px !important;
  border-radius: 999px !important;
  background: color-mix(in srgb, var(--color-neutral-200) 78%, var(--surface-card)) !important;
  color: var(--text-secondary) !important;
  font-family: var(--font-mono) !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-pos-category-tabs button.is-active span {
  background: color-mix(in srgb, var(--color-white) 22%, transparent) !important;
  color: var(--color-white) !important;
}

@media (max-width: 760px) {
  .lms-pos-page-body .lms-pos-v3 .lms-pos-kind-tabs {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(150px, 1fr)) !important;
    inline-size: 100% !important;
  }
}

@media (max-width: 480px) {
  .lms-pos-page-body .lms-pos-v3 .lms-pos-kind-tabs {
    grid-template-columns: 1fr !important;
  }
}
/* ---- End POS Catalog Filter Control Redesign ---- */

/* ---- POS Catalog Media Flicker Guard ---- */
.lms-pos-page-body .lms-pos-v3 .lms-service-visual,
.lms-pos-page-body .lms-pos-v3 .lms-service-image-frame {
  contain: layout paint !important;
  font-size: 0 !important;
  line-height: 0 !important;
  text-indent: 0 !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-service-image-frame img {
  display: block !important;
  opacity: 1 !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-service-badge {
  font-size: 12px !important;
  line-height: 1 !important;
}

.lms-pos-page-body .lms-pos-v3 .lms-service-card-title {
  display: -webkit-box !important;
}
/* ---- End POS Catalog Media Flicker Guard ---- */

/* ---- POS Footer Action Hover Border ---- */
.lms-pos-page-body .lms-pos-bottom-action {
  transition: border-color var(--duration-fast) var(--ease-standard),
    box-shadow var(--duration-fast) var(--ease-standard),
    color var(--duration-fast) var(--ease-standard),
    background var(--duration-fast) var(--ease-standard) !important;
}

.lms-pos-page-body .lms-pos-bottom-action:hover,
.lms-pos-page-body .lms-pos-bottom-action:focus-visible {
  border-color: color-mix(in srgb, var(--brand-accent) 34%, var(--border-default)) !important;
  background: color-mix(in srgb, var(--surface-card) 92%, var(--color-orange-100)) !important;
  color: var(--brand-primary) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand-accent) 10%, transparent),
    0 10px 22px rgba(15, 23, 42, .07) !important;
  outline: 0 !important;
}

.lms-pos-page-body .lms-pos-bottom-action:hover > span,
.lms-pos-page-body .lms-pos-bottom-action:focus-visible > span {
  color: var(--brand-accent) !important;
}
/* ---- End POS Footer Action Hover Border ---- */

.lms-pos-page-body .lms-pos-v3 .lms-pos-kind-tabs button.is-active .lms-pos-kind-label {
  min-inline-size: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: inherit !important;
}

/* ---- POS Mobile Final Layout Polish ---- */
@media (max-width: 900px) {
  .lms-pos-page-body {
    overflow-x: hidden !important;
  }

  .lms-pos-page-body .lms-pos-v3 {
    padding-block-end: 18px !important;
  }

  .lms-pos-page-body .lms-pos-v3 .lms-pos-panes-row,
  html[dir="rtl"] .lms-pos-page-body .lms-pos-v3 .lms-pos-panes-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas:
      "catalog"
      "checkout" !important;
    gap: 12px !important;
    overflow: visible !important;
  }

  .lms-pos-page-body .lms-pos-v3 .lms-pos-products {
    grid-area: catalog !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }

  .lms-pos-page-body .lms-pos-v3 .lms-pos-checkout {
    grid-area: checkout !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }

  .lms-pos-page-body .lms-pos-v3 .lms-pos-order-card {
    flex: 0 0 auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }

  .lms-pos-page-body .lms-pos-v3 .lms-pos-order-card .lms-pos-lines {
    flex: 0 0 auto !important;
    min-height: 0 !important;
    max-height: 280px !important;
    overflow-y: auto !important;
  }

  .lms-pos-page-body .lms-pos-v3 .lms-pos-order-card .lms-empty-state {
    min-block-size: 0 !important;
    padding-block: 28px !important;
  }

  .lms-pos-page-body .lms-pos-v3 > .lms-pos-bottom-bar {
    position: static !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    margin-block-start: 12px !important;
  }

  .lms-pos-page-body .lms-pos-mobile-bar {
    display: none !important;
  }
}

@media (max-width: 520px) {
  .lms-pos-page-body .lms-pos-v3 .lms-pos-products,
  .lms-pos-page-body .lms-pos-v3 .lms-pos-checkout {
    padding: 14px !important;
  }

  .lms-pos-page-body .lms-pos-v3 .lms-pos-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
  }

  .lms-pos-page-body .lms-pos-v3 .lms-service-tile {
    min-block-size: 246px !important;
  }

  .lms-pos-page-body .lms-pos-v3 .lms-service-image-frame {
    max-block-size: 120px !important;
  }

  .lms-pos-page-body .lms-pos-v3 .lms-service-card-secondary,
  .lms-pos-page-body .lms-pos-v3 .lms-service-card-meta {
    display: none !important;
  }

  .lms-pos-page-body .lms-pos-v3 .lms-pos-category-tabs {
    margin-inline: -2px !important;
  }

  .lms-pos-page-body .lms-pos-v3 > .lms-pos-bottom-bar {
    padding: 10px !important;
  }
}
/* ---- End POS Mobile Final Layout Polish ---- */

/* ---- Customer Ledger Redesign ---- */
.lms-customer-ledger-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, .34fr);
  gap: var(--space-5);
  align-items: center;
  margin-block-end: var(--space-5);
  background: linear-gradient(135deg, var(--surface-card), var(--color-navy-100));
  overflow: hidden;
}

.lms-customer-ledger-main {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  min-inline-size: 0;
}

.lms-customer-ledger-copy {
  min-inline-size: 0;
}

.lms-customer-ledger-copy h2 {
  margin: 0;
  font-size: var(--text-display-lg-size);
  line-height: var(--text-display-lg-line);
}

.lms-customer-ledger-copy p {
  margin: var(--space-1) 0 0;
  color: var(--text-secondary);
  overflow-wrap: anywhere;
}

.lms-customer-ledger-balance {
  display: grid;
  gap: var(--space-1);
  padding: var(--space-4);
  border: 1px solid color-mix(in srgb, var(--brand-primary) 14%, var(--border-default));
  border-radius: var(--radius-lg);
  background: color-mix(in srgb, var(--surface-card) 86%, transparent);
  box-shadow: var(--shadow-xs);
}

.lms-customer-ledger-balance span,
.lms-customer-ledger-balance small {
  color: var(--text-secondary);
  font-weight: 700;
}

.lms-customer-ledger-balance strong {
  font-size: var(--text-h1-size);
  line-height: var(--text-h1-line);
  color: var(--brand-primary);
}

.lms-customer-ledger-actions {
  grid-column: 1 / -1;
  justify-content: flex-start;
  padding-block-start: var(--space-4);
  border-block-start: 1px solid color-mix(in srgb, var(--brand-primary) 12%, var(--border-default));
}

.lms-customer-ledger-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 340px);
  gap: var(--space-5);
  align-items: start;
}

.lms-customer-ledger-panel,
.lms-customer-ledger-side {
  min-inline-size: 0;
}

.lms-customer-ledger-side {
  position: sticky;
  inset-block-start: calc(72px + var(--space-5));
  display: grid;
  gap: var(--space-4);
}

.lms-customer-ledger-details {
  display: grid;
  gap: var(--space-3);
  margin: 0;
}

.lms-customer-ledger-details div {
  display: grid;
  gap: var(--space-1);
  padding-block-end: var(--space-3);
  border-block-end: 1px dashed var(--border-default);
}

.lms-customer-ledger-details div:last-child {
  padding-block-end: 0;
  border-block-end: 0;
}

.lms-customer-ledger-details dt {
  color: var(--text-secondary);
  font-size: var(--text-body-sm-size);
  font-weight: 800;
}

.lms-customer-ledger-details dd {
  margin: 0;
  color: var(--text-primary);
  font-weight: 800;
  overflow-wrap: anywhere;
}

.lms-customer-ledger-total {
  display: grid;
  gap: var(--space-1);
  padding: var(--space-4);
  border: 1px solid color-mix(in srgb, var(--brand-accent) 22%, var(--border-default));
  border-radius: var(--radius-lg);
  background: color-mix(in srgb, var(--brand-accent) 7%, var(--surface-card));
}

.lms-customer-ledger-total span {
  color: var(--text-secondary);
  font-weight: 800;
}

.lms-customer-ledger-total strong {
  font-size: var(--text-h2-size);
  line-height: var(--text-h2-line);
  color: var(--brand-primary);
}

@media (max-width: 1024px) {
  .lms-customer-ledger-hero,
  .lms-customer-ledger-grid {
    grid-template-columns: 1fr;
  }

  .lms-customer-ledger-actions {
    grid-column: auto;
  }

  .lms-customer-ledger-side {
    position: static;
  }
}

@media (max-width: 767px) {
  .lms-customer-ledger-main {
    align-items: flex-start;
  }

  .lms-customer-ledger-copy h2 {
    font-size: var(--text-h1-size);
    line-height: var(--text-h1-line);
  }

  .lms-customer-ledger-balance,
  .lms-customer-ledger-actions > .lms-btn {
    inline-size: 100%;
  }
}
/* ---- End Customer Ledger Redesign ---- */

/* ---- Order Board Narrow Card Layout ---- */
.lms-order-board-column,
.lms-kanban-column-body,
.lms-kanban-card[data-lms-order-card] {
  min-inline-size: 0;
}

.lms-kanban-card[data-lms-order-card] {
  inline-size: 100%;
  max-inline-size: 100%;
  overflow: hidden;
  box-sizing: border-box;
}

.lms-kanban-card[data-lms-order-card] .lms-kanban-card-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  gap: var(--space-2);
}

.lms-kanban-card[data-lms-order-card] .lms-kanban-card-number {
  min-inline-size: 0;
  overflow-wrap: anywhere;
}

.lms-kanban-card[data-lms-order-card] .lms-kanban-card-head .lms-badge {
  justify-self: start;
  min-inline-size: 0;
  max-inline-size: 100%;
}

.lms-kanban-card[data-lms-order-card] .lms-kanban-card-head .lms-status-badge-label {
  min-inline-size: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.lms-kanban-card[data-lms-order-card] h3,
.lms-kanban-card[data-lms-order-card] p {
  min-inline-size: 0;
  overflow-wrap: anywhere;
}

.lms-kanban-card[data-lms-order-card] .lms-kanban-card-meta,
.lms-kanban-card[data-lms-order-card] .lms-order-card-footer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--space-2);
  min-inline-size: 0;
}

.lms-kanban-card[data-lms-order-card] .lms-kanban-card-meta strong,
.lms-kanban-card[data-lms-order-card] .lms-order-card-footer a {
  white-space: nowrap;
}

.lms-kanban-card[data-lms-order-card] .lms-order-card-balance {
  min-inline-size: 0;
  overflow-wrap: anywhere;
}

.lms-kanban-card[data-lms-order-card] .lms-order-card-actions,
.lms-kanban-card[data-lms-order-card] .lms-order-move-menu,
.lms-kanban-card[data-lms-order-card] .lms-order-move-menu > summary {
  inline-size: 100%;
  min-inline-size: 0;
  max-inline-size: 100%;
  box-sizing: border-box;
}

.lms-kanban-card[data-lms-order-card] .lms-order-move-menu > summary span {
  min-inline-size: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
/* ---- End Order Board Narrow Card Layout ---- */

/* ---- POS Payment Checkout Final ---- */
.lms-pos-page-body #lms-pos-payment-modal .lms-modal--xl{inline-size:min(1040px,calc(100vw - var(--space-6)));max-block-size:min(92vh,880px);border:1px solid var(--border-default);border-radius:var(--radius-xl);background:var(--surface-card);box-shadow:var(--shadow-lg)}
.lms-pos-page-body #lms-pos-payment-modal .lms-modal-header{padding:var(--space-5) var(--space-6);background:var(--surface-card)}
.lms-pos-page-body #lms-pos-payment-modal .lms-modal-header h2{color:var(--brand-primary)}
.lms-pos-page-body #lms-pos-payment-modal .lms-modal-body{padding:0}
.lms-pos-page-body .lms-pos-payment-checkout{display:grid;grid-template-columns:minmax(280px,320px) minmax(0,1fr);grid-template-areas:"summary main" "error error" "actions actions";background:var(--surface-card)}
.lms-pos-page-body .lms-pos-payment-summary{grid-area:summary;display:grid;align-content:start;gap:var(--space-5);min-inline-size:0;padding:var(--space-6);background:linear-gradient(180deg,var(--color-navy-900),var(--color-navy-800));color:var(--text-on-navy)}
.lms-pos-page-body .lms-pos-payment-summary-head,.lms-pos-page-body .lms-pos-payment-section-head,.lms-pos-page-body .lms-pos-payment-actions,.lms-pos-page-body .lms-pos-payment-action-buttons{display:flex;align-items:center}
.lms-pos-page-body .lms-pos-payment-summary-head,.lms-pos-page-body .lms-pos-payment-section-head,.lms-pos-page-body .lms-pos-payment-actions{justify-content:space-between}
.lms-pos-page-body .lms-pos-payment-summary-head{gap:var(--space-3)}
.lms-pos-page-body .lms-pos-payment-kicker{color:var(--brand-accent);font-size:var(--text-caption-size);line-height:var(--text-caption-line);font-weight:800;letter-spacing:var(--text-caption-tracking);text-transform:uppercase}
.lms-pos-page-body .lms-pos-payment-method-label{padding:var(--space-1) var(--space-2);border:1px solid color-mix(in srgb,var(--text-on-navy) 20%,transparent);border-radius:var(--radius-pill);background:color-mix(in srgb,var(--surface-card) 8%,transparent);color:var(--text-on-navy);font-size:var(--text-caption-size);font-weight:700}
.lms-pos-page-body .lms-pos-payment-total-card{display:grid;gap:var(--space-2);padding:var(--space-5);border:1px solid color-mix(in srgb,var(--brand-accent) 36%,transparent);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--brand-accent) 14%,var(--color-navy-800));box-shadow:var(--shadow-sm)}
.lms-pos-page-body .lms-pos-payment-total-card small,.lms-pos-page-body .lms-pos-payment-total-card span,.lms-pos-page-body .lms-pos-payment-summary-note{color:var(--text-on-navy-muted)}
.lms-pos-page-body .lms-pos-payment-total-card small{font-size:var(--text-caption-size);font-weight:800;letter-spacing:var(--text-caption-tracking);text-transform:uppercase}
.lms-pos-page-body .lms-pos-payment-total-card strong{color:var(--text-on-navy);font-family:var(--font-mono);font-size:clamp(var(--text-display-lg-size),3vw,var(--text-stat-size));line-height:1.2;font-weight:var(--text-stat-weight)}
.lms-pos-page-body .lms-pos-payment-total-card span,.lms-pos-page-body .lms-pos-payment-summary-note{font-size:var(--text-body-sm-size);line-height:var(--text-body-sm-line)}
.lms-pos-page-body .lms-pos-payment-breakdown{display:grid;gap:var(--space-3)}
.lms-pos-page-body .lms-pos-payment-breakdown h3{margin:0;color:var(--text-on-navy);font-size:var(--text-h3-size);line-height:var(--text-h3-line);font-weight:var(--text-h3-weight)}
.lms-pos-page-body .lms-pos-payment-breakdown-row{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:var(--space-3);min-block-size:64px;padding:var(--space-3);border:1px solid color-mix(in srgb,var(--text-on-navy) 12%,transparent);border-radius:var(--radius-md);background:color-mix(in srgb,var(--surface-card) 7%,transparent)}
.lms-pos-page-body .lms-pos-payment-metric-icon{display:grid;place-items:center;inline-size:38px;block-size:38px;border-radius:var(--radius-md);color:var(--color-white);font-weight:900}
.lms-pos-page-body .is-paying .lms-pos-payment-metric-icon{background:var(--color-success-500)}
.lms-pos-page-body .is-balance .lms-pos-payment-metric-icon{background:var(--color-warning-500)}
.lms-pos-page-body .is-change .lms-pos-payment-metric-icon{background:var(--color-info-500)}
.lms-pos-page-body .lms-pos-payment-breakdown-row small{display:block;color:var(--text-on-navy-muted);font-size:var(--text-caption-size);font-weight:700;text-transform:uppercase}
.lms-pos-page-body .lms-pos-payment-breakdown-row strong{display:block;margin-block-start:var(--space-1);color:var(--text-on-navy);font-family:var(--font-mono);font-size:var(--text-body-lg-size);font-weight:800}
.lms-pos-page-body .lms-pos-payment-summary-note{margin:0;padding-block-start:var(--space-4);border-block-start:1px solid color-mix(in srgb,var(--text-on-navy) 12%,transparent)}
.lms-pos-page-body .lms-pos-payment-main{grid-area:main;display:grid;align-content:start;gap:var(--space-4);min-inline-size:0;padding:var(--space-6);background:var(--surface-app)}
.lms-pos-page-body .lms-pos-payment-intro{display:grid;gap:var(--space-1);padding-block-end:var(--space-2)}
.lms-pos-page-body .lms-pos-payment-intro h3{margin:0;color:var(--brand-primary);font-size:var(--text-h1-size);line-height:var(--text-h1-line);font-weight:var(--text-h1-weight)}
.lms-pos-page-body .lms-pos-payment-intro p{margin:0;color:var(--text-secondary);font-size:var(--text-body-sm-size);line-height:var(--text-body-sm-line)}
.lms-pos-page-body .lms-pos-payment-section{display:grid;gap:var(--space-4);padding:var(--space-5);border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-card);box-shadow:var(--shadow-xs)}
.lms-pos-page-body .lms-pos-payment-section-head{gap:var(--space-4)}
.lms-pos-page-body .lms-pos-payment-section-title{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:var(--space-3)}
.lms-pos-page-body .lms-pos-payment-section-title>div,.lms-pos-page-body .lms-pos-payment-method-copy{display:grid;gap:var(--space-1)}
.lms-pos-page-body .lms-pos-payment-section-title strong{color:var(--text-primary);font-size:var(--text-h3-size);line-height:var(--text-h3-line);font-weight:700}
.lms-pos-page-body .lms-pos-payment-section-title small{color:var(--text-secondary);font-size:var(--text-body-sm-size);line-height:var(--text-body-sm-line)}
.lms-pos-page-body .lms-pos-payment-step{display:grid;place-items:center;inline-size:32px;block-size:32px;border-radius:var(--radius-pill);background:var(--color-navy-100);color:var(--brand-primary);font-size:var(--text-body-sm-size);font-weight:900}
.lms-pos-page-body .lms-pos-payment-amount-field,.lms-pos-page-body .lms-pos-payment-reference-field{display:grid;gap:var(--space-2)}
.lms-pos-page-body .lms-pos-payment-field-label{color:var(--text-primary);font-size:var(--text-body-sm-size);font-weight:700}
.lms-pos-page-body .lms-pos-payment-amount-shell{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;min-block-size:68px;overflow:hidden;border:1px solid var(--color-neutral-300);border-radius:var(--radius-md);background:var(--surface-card);transition:border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}
.lms-pos-page-body .lms-pos-payment-amount-shell:focus-within{border-color:var(--brand-accent);box-shadow:var(--shadow-focus)}
.lms-pos-page-body .lms-pos-payment-amount-shell em{padding-inline-start:var(--space-4);color:var(--brand-primary);font-style:normal;font-size:var(--text-body-lg-size);font-weight:800}
.lms-pos-page-body .lms-pos-payment-amount-shell input{inline-size:100%;min-block-size:66px;border:0;padding:0 var(--space-4);background:transparent;color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-display-lg-size);font-weight:800}
.lms-pos-page-body .lms-pos-payment-amount-shell input:focus,.lms-pos-page-body .lms-pos-payment-amount-shell input:focus-visible{border:0;outline:0!important;box-shadow:none!important}
.lms-pos-page-body .lms-pos-payment-amount-shell input[readonly]{color:var(--brand-primary);cursor:default}
.lms-pos-page-body .lms-pos-payment-methods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}
.lms-pos-page-body .lms-pos-payment-method{display:grid;grid-template-columns:44px minmax(0,1fr) 24px;align-items:center;gap:var(--space-3);min-block-size:90px;padding:var(--space-4);border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-card);color:var(--text-primary);text-align:start;cursor:pointer;transition:border-color var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}
.lms-pos-page-body .lms-pos-payment-method:hover{border-color:color-mix(in srgb,var(--brand-accent) 55%,var(--border-default));box-shadow:var(--shadow-sm);transform:translateY(-1px)}
.lms-pos-page-body .lms-pos-payment-method.is-active{border-color:var(--brand-accent);background:var(--color-orange-100);box-shadow:var(--shadow-focus)}
.lms-pos-page-body .lms-pos-payment-method-icon{display:grid;place-items:center;inline-size:44px;block-size:44px;border-radius:var(--radius-md);background:var(--color-navy-100);color:var(--brand-primary)}
.lms-pos-page-body .lms-pos-payment-method.is-active .lms-pos-payment-method-icon{background:var(--brand-accent);color:var(--color-white)}
.lms-pos-page-body .lms-pos-payment-method-copy strong{color:var(--text-primary);font-size:var(--text-body-lg-size);font-weight:800}
.lms-pos-page-body .lms-pos-payment-method-copy small{color:var(--text-secondary);font-size:var(--text-caption-size);line-height:var(--text-body-sm-line)}
.lms-pos-page-body .lms-pos-payment-method-check{display:grid;place-items:center;inline-size:22px;block-size:22px;border:1px solid var(--color-neutral-300);border-radius:var(--radius-pill);color:transparent;font-size:var(--text-caption-size);font-weight:900}
.lms-pos-page-body .lms-pos-payment-method.is-active .lms-pos-payment-method-check{border-color:var(--brand-accent);background:var(--brand-accent);color:var(--color-white)}
.lms-pos-page-body .lms-pos-payment-clear{min-block-size:36px;border:1px solid var(--border-default);border-radius:var(--radius-md);padding:0 var(--space-3);background:var(--surface-card);color:var(--brand-accent-hover);font-size:var(--text-body-sm-size);font-weight:700;cursor:pointer}
.lms-pos-page-body .lms-pos-payment-clear:hover{border-color:var(--brand-accent);background:var(--color-orange-100)}
.lms-pos-page-body .lms-pos-payment-quick{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-2)}
.lms-pos-page-body .lms-pos-payment-quick button{min-block-size:48px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-card);color:var(--brand-primary);font-family:var(--font-mono);font-size:var(--text-body-size);font-weight:800;cursor:pointer;transition:border-color var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}
.lms-pos-page-body .lms-pos-payment-quick button:hover{border-color:var(--brand-accent);background:var(--color-orange-100);box-shadow:var(--shadow-sm);transform:translateY(-1px)}
.lms-pos-page-body .lms-pos-payment-quick button.is-exact{grid-column:span 2;background:var(--brand-primary);border-color:var(--brand-primary);color:var(--text-on-navy);font-family:var(--font-body)}
.lms-pos-page-body .lms-pos-payment-quick button.is-exact:hover{background:var(--color-navy-700);border-color:var(--color-navy-700)}
.lms-pos-page-body .lms-pos-payment-reference-field input{inline-size:100%;min-block-size:50px;border:1px solid var(--color-neutral-300);border-radius:var(--radius-md);padding:0 var(--space-4);background:var(--surface-card);color:var(--text-primary)}
.lms-pos-page-body .lms-pos-payment-note{margin:0;padding:var(--space-3) var(--space-4);border:1px solid color-mix(in srgb,var(--color-info-500) 28%,var(--border-default));border-radius:var(--radius-md);background:var(--color-info-100);color:var(--color-info-600);font-size:var(--text-body-sm-size);line-height:var(--text-body-sm-line)}
.lms-pos-page-body .lms-pos-payment-error{grid-area:error;margin:var(--space-4) var(--space-6) 0;padding:var(--space-3) var(--space-4);border:1px solid var(--color-danger-500);border-radius:var(--radius-md);background:var(--color-danger-100);color:var(--color-danger-600);font-size:var(--text-body-sm-size);font-weight:700}
.lms-pos-page-body .lms-pos-payment-actions{grid-area:actions;gap:var(--space-5);padding:var(--space-4) var(--space-6);border-block-start:1px solid var(--border-default);background:var(--surface-card)}
.lms-pos-page-body .lms-pos-payment-action-total{display:grid;gap:var(--space-1)}
.lms-pos-page-body .lms-pos-payment-action-total small{color:var(--text-secondary);font-size:var(--text-caption-size);font-weight:700;text-transform:uppercase}
.lms-pos-page-body .lms-pos-payment-action-total strong{color:var(--brand-primary);font-family:var(--font-mono);font-size:var(--text-h2-size);font-weight:900}
.lms-pos-page-body .lms-pos-payment-action-buttons{justify-content:flex-end;gap:var(--space-3)}
.lms-pos-page-body .lms-pos-payment-action-buttons .lms-btn{min-inline-size:150px;min-block-size:48px;justify-content:center}
.lms-pos-page-body .lms-pos-payment-checkout [hidden]{display:none!important}
@media(max-width:900px){.lms-pos-page-body #lms-pos-payment-modal .lms-modal--xl{inline-size:min(760px,calc(100vw - var(--space-4)))}.lms-pos-page-body .lms-pos-payment-checkout{grid-template-columns:1fr;grid-template-areas:"summary" "main" "error" "actions"}.lms-pos-page-body .lms-pos-payment-summary{gap:var(--space-4)}.lms-pos-page-body .lms-pos-payment-breakdown{grid-template-columns:repeat(3,minmax(0,1fr))}.lms-pos-page-body .lms-pos-payment-breakdown h3{grid-column:1/-1}.lms-pos-page-body .lms-pos-payment-summary-note{display:none}}
@media(max-width:640px){.lms-pos-page-body #lms-pos-payment-modal .lms-modal--xl{inline-size:100%;max-block-size:94vh;border-end-start-radius:0;border-end-end-radius:0}.lms-pos-page-body #lms-pos-payment-modal .lms-modal-header,.lms-pos-page-body .lms-pos-payment-summary,.lms-pos-page-body .lms-pos-payment-main,.lms-pos-page-body .lms-pos-payment-actions{padding-inline:var(--space-4)}.lms-pos-page-body .lms-pos-payment-breakdown,.lms-pos-page-body .lms-pos-payment-methods{grid-template-columns:1fr}.lms-pos-page-body .lms-pos-payment-quick{grid-template-columns:repeat(3,minmax(0,1fr))}.lms-pos-page-body .lms-pos-payment-quick button.is-exact{grid-column:1/-1}.lms-pos-page-body .lms-pos-payment-section-head,.lms-pos-page-body .lms-pos-payment-actions{align-items:stretch;flex-direction:column}.lms-pos-page-body .lms-pos-payment-clear{align-self:flex-start}.lms-pos-page-body .lms-pos-payment-action-buttons{display:grid;grid-template-columns:1fr 1fr;inline-size:100%}.lms-pos-page-body .lms-pos-payment-action-buttons .lms-btn{min-inline-size:0}}
@media(prefers-reduced-motion:reduce){.lms-pos-page-body .lms-pos-payment-method,.lms-pos-page-body .lms-pos-payment-quick button,.lms-pos-page-body .lms-pos-payment-amount-shell{transition:none}.lms-pos-page-body .lms-pos-payment-method:hover,.lms-pos-page-body .lms-pos-payment-quick button:hover{transform:none}}
/* ---- End POS Payment Checkout Final ---- */

/* ---- POS Payment Checkout Compact Redesign ---- */
.lms-pos-page-body #lms-pos-payment-modal {
  padding: var(--space-4);
}

.lms-pos-page-body #lms-pos-payment-modal .lms-modal--xl {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  inline-size: min(960px, calc(100vw - (var(--space-4) * 2)));
  max-block-size: min(92vh, 860px);
  overflow: hidden;
  border-radius: var(--radius-lg);
}

.lms-pos-page-body #lms-pos-payment-modal .lms-modal-header {
  min-block-size: 64px;
  padding: var(--space-4) var(--space-5);
}

.lms-pos-page-body #lms-pos-payment-modal .lms-modal-header h2 {
  font-size: var(--text-h2-size);
  line-height: var(--text-h2-line);
}

.lms-pos-page-body #lms-pos-payment-modal .lms-modal-close {
  display: grid;
  place-items: center;
  inline-size: 40px;
  block-size: 40px;
}

.lms-pos-page-body #lms-pos-payment-modal .lms-modal-body {
  min-block-size: 0;
  overflow: hidden;
}

.lms-pos-page-body #lms-pos-payment-modal .lms-pos-payment-checkout {
  block-size: 100%;
  min-block-size: 0;
  grid-template-columns: 272px minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr) auto auto;
  grid-template-areas:
    "summary main"
    "error error"
    "actions actions";
}

.lms-pos-page-body #lms-pos-payment-modal .lms-pos-payment-summary,
.lms-pos-page-body #lms-pos-payment-modal .lms-pos-payment-main {
  min-block-size: 0;
  overflow-y: auto;
  scrollbar-width: thin;
}

.lms-pos-page-body #lms-pos-payment-modal .lms-pos-payment-summary {
  gap: var(--space-4);
  padding: var(--space-5);
  border-inline-end: 1px solid var(--border-default);
  background: var(--surface-app);
  color: var(--text-primary);
}

.lms-pos-page-body #lms-pos-payment-modal .lms-pos-payment-summary-head {
  align-items: flex-start;
  flex-direction: column;
  gap: var(--space-2);
}

.lms-pos-page-body #lms-pos-payment-modal .lms-pos-payment-method-label {
  padding: 3px var(--space-2);
  border-color: var(--border-default);
  background: var(--surface-card);
  color: var(--text-secondary);
}

.lms-pos-page-body #lms-pos-payment-modal .lms-pos-payment-total-card {
  gap: var(--space-1);
  padding: var(--space-4);
  border-color: color-mix(in srgb, var(--brand-accent) 24%, var(--border-default));
  border-radius: var(--radius-md);
  background: var(--color-orange-100);
  box-shadow: none;
}

.lms-pos-page-body #lms-pos-payment-modal .lms-pos-payment-total-card strong {
  color: var(--brand-accent-hover);
  font-size: var(--text-display-lg-size);
}

.lms-pos-page-body #lms-pos-payment-modal .lms-pos-payment-total-card small,
.lms-pos-page-body #lms-pos-payment-modal .lms-pos-payment-total-card span,
.lms-pos-page-body #lms-pos-payment-modal .lms-pos-payment-summary-note {
  color: var(--text-secondary);
}

.lms-pos-page-body #lms-pos-payment-modal .lms-pos-payment-breakdown {
  gap: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.lms-pos-page-body #lms-pos-payment-modal .lms-pos-payment-breakdown h3 {
  margin-block-end: var(--space-2);
  color: var(--text-primary);
  font-size: var(--text-body-size);
}

.lms-pos-page-body #lms-pos-payment-modal .lms-pos-payment-breakdown-row {
  grid-template-columns: 32px minmax(0, 1fr);
  min-block-size: 54px;
  padding: var(--space-2) 0;
  border: 0;
  border-block-end: 1px solid var(--border-default);
  border-radius: 0;
  background: transparent;
}

.lms-pos-page-body #lms-pos-payment-modal .lms-pos-payment-breakdown-row:last-child {
  border-block-end: 0;
}

.lms-pos-page-body #lms-pos-payment-modal .lms-pos-payment-metric-icon {
  inline-size: 32px;
  block-size: 32px;
  border-radius: var(--radius-sm);
}

.lms-pos-page-body #lms-pos-payment-modal .lms-pos-payment-breakdown-row small {
  color: var(--text-secondary);
}

.lms-pos-page-body #lms-pos-payment-modal .lms-pos-payment-breakdown-row strong {
  color: var(--text-primary);
}

.lms-pos-page-body #lms-pos-payment-modal .lms-pos-payment-breakdown-row.is-change strong {
  color: var(--color-info-600);
}

.lms-pos-page-body #lms-pos-payment-modal .lms-pos-payment-summary-note {
  padding-block-start: var(--space-3);
  border-block-start-color: var(--border-default);
}

.lms-pos-page-body #lms-pos-payment-modal .lms-pos-payment-main {
  gap: 0;
  padding: var(--space-5);
  background: var(--surface-card);
}

.lms-pos-page-body #lms-pos-payment-modal .lms-pos-payment-intro {
  padding-block-end: var(--space-4);
}

.lms-pos-page-body #lms-pos-payment-modal .lms-pos-payment-intro h3 {
  font-size: var(--text-h2-size);
  line-height: var(--text-h2-line);
}

.lms-pos-page-body #lms-pos-payment-modal .lms-pos-payment-section {
  gap: var(--space-3);
  padding: var(--space-4) 0;
  border: 0;
  border-block-start: 1px solid var(--border-default);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.lms-pos-page-body #lms-pos-payment-modal .lms-pos-payment-section-title {
  grid-template-columns: 28px minmax(0, 1fr);
  gap: var(--space-2);
}

.lms-pos-page-body #lms-pos-payment-modal .lms-pos-payment-step {
  inline-size: 28px;
  block-size: 28px;
}

.lms-pos-page-body #lms-pos-payment-modal .lms-pos-payment-section-title strong {
  font-size: var(--text-body-size);
}

.lms-pos-page-body #lms-pos-payment-modal .lms-pos-payment-amount-shell {
  min-block-size: 56px;
}

.lms-pos-page-body #lms-pos-payment-modal .lms-pos-payment-amount-shell input {
  min-block-size: 54px;
  font-size: var(--text-h1-size);
}

.lms-pos-page-body #lms-pos-payment-modal .lms-pos-payment-method {
  grid-template-columns: 38px minmax(0, 1fr) 22px;
  min-block-size: 74px;
  gap: var(--space-2);
  padding: var(--space-3);
  border-radius: var(--radius-md);
}

.lms-pos-page-body #lms-pos-payment-modal .lms-pos-payment-method-icon {
  inline-size: 38px;
  block-size: 38px;
}

.lms-pos-page-body #lms-pos-payment-modal .lms-pos-payment-method-check .lms-icon {
  inline-size: 13px;
  block-size: 13px;
}

.lms-pos-page-body #lms-pos-payment-modal .lms-pos-payment-quick {
  grid-area: auto;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  inline-size: 100%;
  justify-self: stretch;
}

.lms-pos-page-body #lms-pos-payment-modal .lms-pos-payment-quick button.is-exact {
  grid-column: auto;
}

.lms-pos-page-body #lms-pos-payment-modal .lms-pos-payment-quick button {
  min-block-size: 42px;
}

.lms-pos-page-body #lms-pos-payment-modal .lms-pos-payment-note {
  padding: var(--space-2) var(--space-3);
}

.lms-pos-page-body #lms-pos-payment-modal .lms-pos-payment-error {
  margin: var(--space-3) var(--space-5) 0;
}

.lms-pos-page-body #lms-pos-payment-modal .lms-pos-payment-actions {
  position: relative;
  z-index: 2;
  min-block-size: 76px;
  gap: var(--space-4);
  padding: var(--space-3) var(--space-5);
  box-shadow: 0 -4px 12px color-mix(in srgb, var(--brand-primary) 6%, transparent);
}

.lms-pos-page-body #lms-pos-payment-modal .lms-pos-payment-action-total strong {
  font-size: var(--text-h3-size);
}

.lms-pos-page-body #lms-pos-payment-modal .lms-pos-payment-action-buttons .lms-btn {
  min-inline-size: 132px;
  min-block-size: 44px;
}

@media (max-width: 800px) {
  .lms-pos-page-body #lms-pos-payment-modal .lms-modal--xl {
    inline-size: min(680px, calc(100vw - (var(--space-3) * 2)));
    max-block-size: 94vh;
    overflow-y: auto;
  }

  .lms-pos-page-body #lms-pos-payment-modal .lms-modal-body {
    overflow: visible;
  }

  .lms-pos-page-body #lms-pos-payment-modal .lms-pos-payment-checkout {
    block-size: auto;
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    grid-template-areas: "summary" "main" "error" "actions";
  }

  .lms-pos-page-body #lms-pos-payment-modal .lms-pos-payment-summary,
  .lms-pos-page-body #lms-pos-payment-modal .lms-pos-payment-main {
    overflow: visible;
  }

  .lms-pos-page-body #lms-pos-payment-modal .lms-pos-payment-summary {
    grid-template-columns: minmax(180px, .8fr) minmax(0, 1.2fr);
    align-items: start;
  }

  .lms-pos-page-body #lms-pos-payment-modal .lms-pos-payment-summary-head,
  .lms-pos-page-body #lms-pos-payment-modal .lms-pos-payment-summary-note {
    grid-column: 1 / -1;
  }
}

@media (max-width: 560px) {
  .lms-pos-page-body #lms-pos-payment-modal {
    align-items: flex-end;
    padding: 0;
  }

  .lms-pos-page-body #lms-pos-payment-modal .lms-modal--xl {
    inline-size: 100%;
    max-block-size: 96vh;
    border-end-start-radius: 0;
    border-end-end-radius: 0;
  }

  .lms-pos-page-body #lms-pos-payment-modal .lms-pos-payment-summary {
    grid-template-columns: 1fr;
  }

  .lms-pos-page-body #lms-pos-payment-modal .lms-pos-payment-breakdown {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .lms-pos-page-body #lms-pos-payment-modal .lms-pos-payment-breakdown h3 {
    grid-column: 1 / -1;
  }

  .lms-pos-page-body #lms-pos-payment-modal .lms-pos-payment-breakdown-row {
    grid-template-columns: 1fr;
    justify-items: center;
    gap: var(--space-1);
    border-block-end: 0;
    text-align: center;
  }

  .lms-pos-page-body #lms-pos-payment-modal .lms-pos-payment-summary-note {
    display: none;
  }

  .lms-pos-page-body #lms-pos-payment-modal .lms-pos-payment-summary-head,
  .lms-pos-page-body #lms-pos-payment-modal .lms-pos-payment-summary-note {
    grid-column: auto;
  }

  .lms-pos-page-body #lms-pos-payment-modal .lms-pos-payment-methods {
    grid-template-columns: 1fr;
  }

  .lms-pos-page-body #lms-pos-payment-modal .lms-pos-payment-quick {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .lms-pos-page-body #lms-pos-payment-modal .lms-pos-payment-quick button.is-exact {
    grid-column: 1 / -1;
  }

  .lms-pos-page-body #lms-pos-payment-modal .lms-pos-payment-actions {
    align-items: stretch;
  }

  .lms-pos-page-body #lms-pos-payment-modal .lms-pos-payment-action-buttons {
    display: grid;
    grid-template-columns: 1fr 1fr;
    inline-size: 100%;
  }
}
/* ---- End POS Payment Checkout Compact Redesign ---- */

/* ---- Staff Profile Detail ---- */
.lms-staff-profile-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, .34fr);
  gap: var(--space-5);
  align-items: center;
  margin-block-end: var(--space-5);
  background: linear-gradient(135deg, var(--surface-card), var(--color-navy-100));
}

.lms-staff-profile-main {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  min-inline-size: 0;
}

.lms-staff-profile-avatar {
  flex: 0 0 auto;
  box-shadow: 0 0 0 6px color-mix(in srgb, var(--surface-card) 72%, transparent);
}

.lms-staff-profile-copy {
  min-inline-size: 0;
}

.lms-staff-profile-kicker {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  flex-wrap: wrap;
  margin-block-end: var(--space-2);
}

.lms-staff-profile-kicker > span,
.lms-staff-panel-eyebrow {
  color: var(--brand-accent);
  font-size: var(--text-caption-size);
  line-height: var(--text-caption-line);
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.lms-staff-profile-copy h2 {
  margin: 0;
  font-size: var(--text-display-lg-size);
  line-height: var(--text-display-lg-line);
}

.lms-staff-profile-copy p {
  margin: var(--space-1) 0 0;
  color: var(--text-secondary);
  overflow-wrap: anywhere;
}

.lms-staff-profile-role-summary {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: var(--space-3);
  align-items: start;
  padding: var(--space-4);
  border: 1px solid color-mix(in srgb, var(--brand-primary) 14%, var(--border-default));
  border-radius: var(--radius-lg);
  background: color-mix(in srgb, var(--surface-card) 88%, transparent);
  box-shadow: var(--shadow-xs);
}

.lms-staff-profile-role-summary > span {
  display: grid;
  place-items: center;
  inline-size: 42px;
  block-size: 42px;
  border-radius: var(--radius-md);
  background: var(--brand-primary);
  color: var(--text-on-navy);
}

.lms-staff-profile-role-summary small {
  display: block;
  color: var(--text-secondary);
  font-weight: 800;
}

.lms-staff-profile-role-summary strong {
  display: block;
  margin-block-start: 2px;
  color: var(--brand-primary);
  font-size: var(--text-h1-size);
  line-height: var(--text-h1-line);
}

.lms-staff-profile-role-summary p {
  margin: var(--space-1) 0 0;
  color: var(--text-secondary);
  font-size: var(--text-body-sm-size);
  overflow-wrap: anywhere;
}

.lms-staff-profile-actions {
  grid-column: 1 / -1;
  justify-content: flex-start;
  padding-block-start: var(--space-4);
  border-block-start: 1px solid color-mix(in srgb, var(--brand-primary) 12%, var(--border-default));
}

.lms-staff-profile-actions form {
  margin: 0;
}

.lms-staff-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-3);
  margin-block-end: var(--space-5);
}

.lms-staff-metrics article {
  display: grid;
  gap: var(--space-1);
  min-block-size: 68px;
  padding: var(--space-3) var(--space-4);
  border: 1px solid var(--border-default);
  border-radius: var(--radius-lg);
  background: var(--surface-card);
  box-shadow: var(--shadow-xs);
}

.lms-staff-metrics span,
.lms-staff-detail-list dt {
  color: var(--text-secondary);
  font-size: var(--text-caption-size);
  line-height: var(--text-caption-line);
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.lms-staff-metrics strong {
  color: var(--text-primary);
  font-size: var(--text-h3-size);
  line-height: var(--text-h3-line);
  overflow-wrap: anywhere;
}

.lms-staff-metrics strong.is-active {
  color: var(--color-success-600);
}

.lms-staff-metrics strong.is-inactive {
  color: var(--color-danger-600);
}

.lms-staff-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr);
  gap: var(--space-5);
  align-items: start;
}

.lms-staff-detail-panel {
  min-inline-size: 0;
}

.lms-staff-panel-eyebrow {
  display: block;
  margin-block-end: var(--space-1);
}

.lms-staff-detail-list {
  display: grid;
  gap: var(--space-3);
  margin: 0;
}

.lms-staff-detail-list div {
  display: grid;
  grid-template-columns: 130px minmax(0, 1fr);
  gap: var(--space-3);
  padding-block-end: var(--space-3);
  border-block-end: 1px dashed var(--border-default);
}

.lms-staff-detail-list div:last-child {
  padding-block-end: 0;
  border-block-end: 0;
}

.lms-staff-detail-list dd {
  margin: 0;
  color: var(--text-primary);
  overflow-wrap: anywhere;
}

.lms-staff-detail-list a {
  color: var(--brand-primary);
  font-weight: 700;
  text-decoration: none;
}

.lms-staff-detail-list a:hover,
.lms-staff-detail-list a:focus-visible {
  color: var(--brand-accent);
  text-decoration: underline;
}

.lms-staff-role-list {
  display: grid;
  gap: var(--space-2);
}

.lms-staff-role-list > div {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  min-block-size: 48px;
  padding: var(--space-3);
  border: 1px solid var(--border-default);
  border-radius: var(--radius-md);
  background: var(--surface-app);
}

.lms-staff-role-list > div > span {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  inline-size: 32px;
  block-size: 32px;
  border-radius: var(--radius-md);
  background: var(--color-orange-100);
  color: var(--brand-accent);
}

.lms-staff-role-list .is-empty {
  color: var(--text-secondary);
}

@media (max-width: 1024px) {
  .lms-staff-profile-hero,
  .lms-staff-detail-grid {
    grid-template-columns: 1fr;
  }

  .lms-staff-profile-actions {
    grid-column: auto;
  }

  .lms-staff-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .lms-staff-profile-main {
    align-items: flex-start;
  }

  .lms-staff-profile-copy h2 {
    font-size: var(--text-h1-size);
    line-height: var(--text-h1-line);
  }

  .lms-staff-profile-actions {
    display: grid;
  }

  .lms-staff-profile-actions > .lms-btn,
  .lms-staff-profile-actions > form,
  .lms-staff-profile-actions > form > .lms-btn {
    inline-size: 100%;
  }

  .lms-staff-metrics {
    grid-template-columns: 1fr;
    gap: var(--space-2);
  }

  .lms-staff-metrics article {
    min-block-size: 54px;
    padding: var(--space-2) var(--space-3);
  }

  .lms-staff-detail-list div {
    grid-template-columns: 1fr;
    gap: var(--space-1);
  }
}
/* ---- End Staff Profile Detail ---- */
