:root{--navy:#06275c;--blue:#0867ff;--bg:#f5f8fd;--ink:#0d2147;--muted:#6b7a99;--line:#e1e8f2;--green:#12a150;--orange:#f29b23;--red:#d83c3c}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--ink)}a{color:var(--blue);text-decoration:none}.sidebar{position:fixed;inset:0 auto 0 0;width:230px;background:linear-gradient(180deg,#061f49,#032b63);color:white;padding:20px 14px;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center}.brand.big{justify-content:center;margin-bottom:30px}.brand small,.brand b{display:block}.mark{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#0c6eff;color:white;font-weight:800}.sidebar nav{display:grid;gap:4px;margin-top:28px}.sidebar nav a{color:#eaf2ff;padding:10px 12px;border-radius:8px}.sidebar nav a:hover{background:#0a58c8}.sidebar-footer{margin-top:auto;padding:12px}.content{margin-left:230px;padding:0 24px 40px}.auth-content{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#f5f8fd,#eaf2ff)}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);margin:0 -24px 18px;padding:0 24px;background:white}.topbar h1{font-size:25px;margin:0}.top-actions{display:flex;gap:10px;align-items:center}.link-btn{border:0;background:none;color:var(--blue);cursor:pointer}.pill{background:#eef4ff;padding:9px 12px;border-radius:999px}.login-card{background:white;width:min(440px,92vw);padding:36px;border:1px solid var(--line);border-radius:18px;box-shadow:0 20px 60px #0b2d5e18}.login-card h2{font-size:30px;margin-bottom:4px}.login-card p{color:var(--muted)}label{display:grid;gap:7px;font-weight:600;font-size:13px}input,select,textarea{width:100%;padding:10px 12px;border:1px solid #cfd9e8;border-radius:8px;background:white;color:var(--ink)}.btn{display:inline-block;padding:9px 14px;border:1px solid #cbd6e8;border-radius:8px;background:white;color:var(--ink);cursor:pointer}.btn.primary{background:var(--blue);border-color:var(--blue);color:white}.btn.danger{background:#fff1f1;color:var(--red);border-color:#f5c7c7}.wide{width:100%;margin-top:10px}.kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:16px}.kpi{background:white;border:1px solid var(--line);border-radius:12px;padding:18px}.kpi span{display:block;color:var(--muted);font-size:12px}.kpi b{display:block;font-size:24px;margin-top:7px}.panel{background:white;border:1px solid var(--line);border-radius:12px;padding:16px;margin-bottom:16px;overflow:auto}.panel.narrow{max-width:960px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.panel h2{margin:0 0 12px}.search{display:flex;gap:8px;max-width:520px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:11px 10px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}th{font-size:11px;color:#435473;background:#f8faff}.badge{display:inline-block;padding:5px 8px;border-radius:7px;background:#edf3ff;color:#1557b0;font-size:11px}.badge.high{background:#fff0f0;color:#c82626}.badge.medium{background:#fff6e8;color:#b66a00}.badge.low{background:#eaf9f0;color:#148342}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.alert{padding:12px 14px;border-radius:8px;margin-bottom:12px}.alert.success{background:#eaf9f0;color:#166b3c}.alert.error{background:#fff0f0;color:#a42121}.warning-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:12px}.warn{padding:14px;border-radius:10px;background:white;border:1px solid var(--line)}.warn b,.warn span{display:block}.warn span{font-size:12px;color:var(--muted);margin-top:5px}.warn.medium{border-color:#f3c777;background:#fffaf0}.warn.strong{border-color:#f1a7a7;background:#fff5f5}.note{padding:10px 12px;background:#eef5ff;border-left:4px solid var(--blue);border-radius:6px;color:#375172;font-size:13px}details{position:relative}details form{display:grid;gap:7px;margin-top:8px;min-width:240px}@media(max-width:1100px){.kpis{grid-template-columns:repeat(3,1fr)}.warning-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.sidebar{position:static;width:100%;height:auto}.content{margin-left:0}.kpis,.warning-grid,.form-grid{grid-template-columns:1fr}.topbar{margin-left:-24px;margin-right:-24px}}

/* TradeFlow Soft - Quotation multi-item selector */
.tf-modal{
    position:fixed;
    inset:0;
    z-index:1000;
    display:none;
    align-items:center;
    justify-content:center;
    padding:24px;
    background:rgba(6,39,92,.42);
}
.tf-modal.open{display:flex}
.tf-modal-card{
    width:min(1050px,96vw);
    max-height:88vh;
    display:flex;
    flex-direction:column;
    background:#fff;
    border:1px solid var(--line);
    border-radius:14px;
    box-shadow:0 24px 70px rgba(6,39,92,.22);
    overflow:hidden;
}
.tf-modal-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:14px;
    padding:16px 18px;
    border-bottom:1px solid var(--line);
}
.tf-modal-head h3{margin:0}
.tf-modal-body{
    padding:16px 18px;
    overflow:auto;
}
.tf-modal-search{margin-bottom:14px}
.tf-modal-footer{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    padding:14px 18px;
    border-top:1px solid var(--line);
}
.tf-item-thumb{
    width:52px;
    height:52px;
    object-fit:cover;
    border:1px solid var(--line);
    border-radius:7px;
    background:#fff;
}

/* Quotation multi-item thumbnails - enforced size */
#multi-item-table .tf-item-thumb{
    width:50px !important;
    height:50px !important;
    max-width:50px !important;
    max-height:50px !important;
    object-fit:contain !important;
    display:block;
    border:1px solid var(--line);
    border-radius:7px;
    background:#fff;
}

#multi-item-table td:nth-child(2){
    width:70px;
    min-width:70px;
}

/* Compact thumbnails inside Add Multiple Items */
#multi-item-table .tf-item-thumb{
    width:32px !important;
    height:32px !important;
    max-width:32px !important;
    max-height:32px !important;
    object-fit:contain !important;
}

#multi-item-table td:nth-child(2){
    width:48px !important;
    min-width:48px !important;
    padding:5px 8px !important;
}

#multi-item-table td,
#multi-item-table th{
    vertical-align:middle;
}

/* Reusable EAN-13 label used throughout the item/order workflow. */
.tf-ean13-label{width:190px;min-width:190px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff;color:#111;line-height:1}
.tf-ean13-item-no{font-size:14px;line-height:18px;font-weight:800;letter-spacing:.2px;margin-bottom:3px;text-align:center;overflow-wrap:anywhere}
.tf-ean13-bars{width:190px;height:58px;display:flex;align-items:flex-end;justify-content:center;overflow:hidden}
.tf-ean13-bars svg{display:block;width:190px;height:58px;max-width:none}
.tf-ean13-digits{width:190px;display:grid;grid-template-columns:17px 86.5px 86.5px;align-items:start;font:500 14px/17px Arial,Helvetica,sans-serif;letter-spacing:1.5px;background:#fff}
.tf-ean13-digits span{text-align:center}
.tf-ean13-digits .tf-ean13-first{text-align:left;letter-spacing:0}
.tf-ean13-compact{width:152px;min-width:152px}
.tf-ean13-compact .tf-ean13-item-no{font-size:12px;line-height:15px;margin-bottom:2px}
.tf-ean13-compact .tf-ean13-bars{width:152px;height:46px}
.tf-ean13-compact .tf-ean13-bars svg{width:152px;height:46px}
.tf-ean13-compact .tf-ean13-digits{width:152px;grid-template-columns:14px 69px 69px;font-size:11px;line-height:14px;letter-spacing:1px}
.tf-ean13-empty{min-height:60px;padding:8px;border:1px dashed #cbd5e1;border-radius:6px;color:#64748b;font-size:11px;text-align:center;gap:5px}
.tf-barcode-export-toolbar{display:flex;justify-content:flex-end;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0}
.tf-barcode-select-cell{width:42px;text-align:center}

/* FIX046 — role-aware notifications, workflow tasks and overdue alerts. */
.notification-bell{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:42px;min-height:38px;font-size:17px}
.notification-bell strong{position:absolute;top:-6px;right:-7px;display:grid;place-items:center;min-width:21px;height:21px;padding:0 5px;border:2px solid #fff;border-radius:999px;background:var(--red);color:#fff;font-size:10px;line-height:1}
.notification-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}
.notification-kpi{padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:#fff}
.notification-kpi span{display:block;color:var(--muted);font-size:12px}.notification-kpi b{display:block;margin-top:6px;font-size:24px}.notification-kpi.danger{border-color:#f2b5b5;background:#fff8f8}.notification-kpi.danger b{color:#b42318}
.notification-center{overflow:visible}.notification-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.notification-tabs{display:flex;flex-wrap:wrap;gap:7px}.notification-tab{display:inline-flex;align-items:center;gap:7px;padding:9px 11px;border:1px solid var(--line);border-radius:9px;color:#435473;background:#fff;font-size:13px;font-weight:700}.notification-tab span{min-width:20px;padding:2px 6px;border-radius:999px;background:#edf3ff;color:#1557b0;text-align:center;font-size:10px}.notification-tab.active{border-color:var(--blue);background:var(--blue);color:#fff}.notification-tab.active span{background:#fff;color:var(--blue)}
.notification-tools,.notification-tools form{display:flex;align-items:center;gap:8px}.notification-tools select{min-width:180px}.notification-rule{margin:0 0 14px}.notification-list{display:grid;gap:10px}.notification-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px;border:1px solid var(--line);border-left:4px solid #b8c7dc;border-radius:10px;background:#fff}.notification-card.unread{background:#f7faff;border-left-color:var(--blue)}.notification-card.kind-alert,.notification-card.overdue{border-left-color:var(--red)}.notification-card.kind-task:not(.overdue){border-left-color:var(--orange)}.notification-card-main{min-width:0;flex:1}.notification-card-labels{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.notification-card h2{margin:8px 0 5px;font-size:16px}.notification-card p{margin:0;color:#435473;white-space:normal;line-height:1.45}.notification-meta{display:flex;flex-wrap:wrap;gap:12px;margin-top:9px;color:var(--muted);font-size:11px}.notification-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:7px}.notification-actions form{margin:0}.badge.critical,.badge.notification-kind.alert{background:#fee4e2;color:#b42318}.badge.notification-kind.task{background:#fff1d6;color:#9a5b00}.badge.notification-kind.notification,.badge.category{background:#edf3ff;color:#375172}.badge.completed{background:#eaf9f0;color:#148342}.unread-dot{width:8px;height:8px;border-radius:50%;background:var(--blue)}.overdue-text{color:#b42318;font-weight:700}.notification-empty{padding:46px 20px;text-align:center;color:var(--muted)}.notification-empty>span{display:grid;place-items:center;width:46px;height:46px;margin:0 auto 12px;border-radius:50%;background:#eaf9f0;color:var(--green);font-size:22px;font-weight:800}.notification-empty h2{margin:0 0 6px;color:var(--ink);font-size:18px}.notification-empty p{margin:0}
@media(max-width:1000px){.notification-kpis{grid-template-columns:repeat(2,1fr)}.notification-toolbar,.notification-card{align-items:stretch;flex-direction:column}.notification-tools{justify-content:space-between}.notification-actions{justify-content:flex-start}}
@media(max-width:600px){.notification-kpis{grid-template-columns:1fr}.notification-tools{align-items:stretch;flex-direction:column}.notification-tools form,.notification-tools select{width:100%}.notification-actions{align-items:stretch;flex-direction:column}.notification-actions .btn{width:100%;text-align:center}}

/* FIX047 — manager-only cross-module analytics. */
.print-only{display:none}
.analytics-report{display:block;min-width:0}
.analytics-title-row,.analytics-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.analytics-title-row h2,.analytics-section-head h2{margin:0 0 5px}
.analytics-title-row p,.analytics-section-head p{margin:0;color:var(--muted);line-height:1.4}
.analytics-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.analytics-filters{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:12px;margin-top:16px}
.analytics-filter-buttons{display:flex;align-items:flex-end;gap:8px}
.analytics-rule{margin-top:14px}
.analytics-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}
.analytics-kpi{min-width:0;padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 4px 14px rgba(13,33,71,.04)}
.analytics-kpi span,.analytics-kpi small{display:block;color:var(--muted);font-size:12px;line-height:1.35}
.analytics-kpi b{display:block;margin:7px 0 5px;font-size:22px;line-height:1.15;overflow-wrap:anywhere}
.analytics-kpi.warning{border-color:#f1ce91;background:#fffaf2}.analytics-kpi.danger{border-color:#efb4b4;background:#fff7f7}.analytics-kpi.danger b{color:#b42318}
.analytics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.analytics-grid-main{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}
.analytics-card{min-width:0;overflow:hidden}
.analytics-section-head{margin-bottom:14px}.analytics-section-head .badge{flex:0 0 auto}
.analytics-month-chart{display:flex;align-items:stretch;gap:5px;height:245px;padding:12px 4px 0;border-bottom:1px solid var(--line);direction:ltr;overflow-x:auto;overflow-y:hidden}
.analytics-month{display:flex;flex:1 0 34px;min-width:34px;flex-direction:column;align-items:center;justify-content:flex-end;height:100%}
.analytics-month-bars{display:flex;align-items:flex-end;justify-content:center;gap:4px;width:100%;height:calc(100% - 44px)}
.analytics-month-bars i{display:block;width:34%;min-width:6px;max-width:18px;border-radius:5px 5px 0 0;background:var(--blue)}
.analytics-month-bars i.purchases{background:var(--orange)}
.analytics-month small{height:44px;padding-top:5px;color:var(--muted);font-size:10px;line-height:1.2;text-align:center;white-space:nowrap}.analytics-month small em{display:block;margin-top:2px;font-size:8px;font-style:normal;font-weight:700}.analytics-month small .sales-value{color:var(--blue)}.analytics-month small .purchase-value{color:#b66a00}
.analytics-legend{display:flex;justify-content:center;gap:18px;margin-top:10px;color:#435473;font-size:12px}
.analytics-legend span{display:flex;align-items:center;gap:6px}.analytics-legend i{width:10px;height:10px;border-radius:3px;background:var(--blue)}.analytics-legend i.purchases{background:var(--orange)}
.analytics-details{margin-top:12px}.analytics-details summary{cursor:pointer;color:var(--blue);font-weight:700}.analytics-details .table-wrap{margin-top:8px}
.analytics-stage-list{display:grid;gap:12px}.analytics-stage-row{display:grid;grid-template-columns:minmax(155px,.85fr) minmax(120px,1.2fr) 135px;align-items:center;gap:12px}
.analytics-stage-label span,.analytics-stage-label b{display:block}.analytics-stage-label span{font-size:12px;color:#435473}.analytics-stage-label b{margin-top:3px;font-size:13px}
.analytics-track{height:11px;border-radius:999px;background:#edf3ff;overflow:hidden}.analytics-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--blue),#5ea0ff)}
.analytics-stage-row small{text-align:right;color:var(--muted);font-size:11px}
.analytics-ranking{display:grid;gap:9px}.analytics-rank-row{display:grid;grid-template-columns:minmax(110px,1fr) auto;gap:4px 12px;padding:9px 0;border-bottom:1px solid var(--line);color:var(--ink)}
.analytics-rank-row div b,.analytics-rank-row div span{display:block}.analytics-rank-row div span{margin-top:2px;color:var(--muted);font-size:11px}.analytics-rank-row strong{white-space:nowrap}
.analytics-rank-row>i{height:7px;border-radius:999px;background:#edf3ff;overflow:hidden}.analytics-rank-row>i em{display:block;height:100%;border-radius:inherit;background:var(--blue)}.analytics-rank-row>small{text-align:right;color:var(--muted)}
.analytics-mini-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:12px}.analytics-mini-kpis>div{padding:10px;border:1px solid var(--line);border-radius:9px;background:#f8faff}.analytics-mini-kpis span,.analytics-mini-kpis b{display:block}.analytics-mini-kpis span{color:var(--muted);font-size:10px}.analytics-mini-kpis b{margin-top:4px;font-size:17px}.analytics-mini-kpis .danger{background:#fff7f7;border-color:#efb4b4}.analytics-mini-kpis .danger b{color:#b42318}
.analytics-footnote{margin:10px 0 0;color:var(--muted);font-size:11px;line-height:1.4}.analytics-empty{padding:18px;color:var(--muted);text-align:center}.analytics-negative{color:#b42318}.analytics-methodology ul{margin:8px 0 10px;padding-left:22px}.analytics-methodology li{margin:5px 0;line-height:1.4}
.analytics-print-head{margin-bottom:18px;border-bottom:2px solid var(--ink)}.analytics-print-head h1{margin:0 0 5px}.analytics-print-head p{margin:0 0 10px;color:#435473}
.analytics-print-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px}.analytics-print-toolbar h2{margin:0 0 5px}.analytics-print-toolbar p{margin:0;color:var(--muted)}
@media(max-width:1500px){.analytics-filters{grid-template-columns:repeat(4,minmax(150px,1fr))}}
@media(max-width:1150px){.analytics-kpis{grid-template-columns:repeat(2,1fr)}.analytics-grid,.analytics-grid-main{grid-template-columns:1fr}.analytics-stage-row{grid-template-columns:minmax(140px,.8fr) 1.2fr 120px}}
@media(max-width:760px){.analytics-filters{grid-template-columns:1fr}.analytics-kpis{grid-template-columns:1fr}.analytics-title-row,.analytics-section-head{flex-direction:column}.analytics-actions,.analytics-actions .btn,.analytics-filter-buttons,.analytics-filter-buttons .btn{width:100%;text-align:center}.analytics-stage-row{grid-template-columns:1fr}.analytics-stage-row small{text-align:left}.analytics-mini-kpis{grid-template-columns:repeat(2,1fr)}}
@media print{
  html,body{width:auto!important;min-width:0!important;background:#fff;font-size:9pt;color:#111}
  .sidebar,.topbar,.no-print{display:none!important}
  .print-only{display:block}
  .content{margin:0!important;padding:0!important}
  .analytics-report{width:100%;direction:inherit}
  .analytics-report,.analytics-report *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .analytics-print-head{margin-bottom:8mm;padding-bottom:3mm}.analytics-print-head h1{font-size:18pt}.analytics-print-head p{font-size:8.5pt}
  .analytics-report .panel{margin-bottom:4mm;padding:4mm;border-color:#cbd6e8;border-radius:6px;break-inside:auto;box-shadow:none;overflow:visible}
  .analytics-report .analytics-section-head,.analytics-report h2{break-after:avoid;page-break-after:avoid}
  .analytics-report .analytics-financial-card,.analytics-report .analytics-notification-card{break-inside:avoid;page-break-inside:avoid}
  .analytics-report .analytics-kpi,.analytics-report .analytics-stage-row,.analytics-report tr{break-inside:avoid;break-after:auto}
  .analytics-report .table-wrap{overflow:visible}
  .analytics-report table{page-break-inside:auto;font-size:7.5pt;table-layout:auto}
  .analytics-report th,.analytics-report td{padding:2.2mm 1.8mm;white-space:normal;vertical-align:top}
  .analytics-report th{font-size:7pt}
  .analytics-report thead{display:table-header-group}
  .analytics-report tfoot{display:table-footer-group}
  .analytics-grid,.analytics-grid-main{grid-template-columns:1fr 1fr;gap:4mm}
  .analytics-grid-main{break-inside:avoid}
  .analytics-kpis{grid-template-columns:repeat(4,1fr);gap:3mm;margin-bottom:4mm}
  .analytics-kpi{padding:3.2mm;box-shadow:none}.analytics-kpi span,.analytics-kpi small{font-size:7.5pt}.analytics-kpi b{font-size:13pt}
  .analytics-section-head{margin-bottom:3mm}.analytics-section-head h2{font-size:12pt}.analytics-section-head p{font-size:7.5pt}
  .analytics-month-chart{height:60mm;padding-top:3mm;overflow:hidden}
  .analytics-month{min-width:8mm}.analytics-month small{height:12mm;font-size:6.5pt}.analytics-month small em{font-size:5.5pt}.analytics-month-bars{height:calc(100% - 12mm)}.analytics-month-bars i{min-width:2mm;max-width:4mm}
  .analytics-legend{margin-top:2mm;font-size:7.5pt}
  .analytics-details{display:none}
  .analytics-card{overflow:visible}
  .analytics-stage-list{gap:3mm}.analytics-stage-row{grid-template-columns:42mm 1fr 32mm;gap:3mm}.analytics-stage-label span{font-size:7.5pt}.analytics-stage-label b{font-size:8.5pt}.analytics-stage-row small{font-size:7pt}
  .analytics-ranking{gap:1mm}.analytics-rank-row{padding:2mm 0;font-size:8pt}.analytics-mini-kpis{gap:2mm}.analytics-mini-kpis>div{padding:2.5mm}.analytics-mini-kpis b{font-size:11pt}
  .analytics-footnote,.analytics-methodology,.analytics-methodology li{font-size:7.5pt}
  a{color:inherit;text-decoration:none}
}

/* FIX048/FIX049 — language selector, login-card placement and Arabic RTL support. */
.language-switcher{margin:0}.language-switcher label,.login-language label{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--muted)}.language-switcher select,.login-language select{width:auto;min-width:105px;padding:7px 30px 7px 9px;font-weight:700}.login-language{display:flex;justify-content:center;margin:-18px 0 18px}.login-language form{margin:0}.login-language label{padding:7px 9px;border:1px solid var(--line);border-radius:9px;background:#f8faff}.lang-ar body{direction:rtl;font-family:Arial,"Tahoma",sans-serif}.lang-ar .sidebar{inset:0 0 0 auto}.lang-ar .content{margin-left:0;margin-right:230px}.lang-ar .sidebar nav a,.lang-ar th,.lang-ar td{text-align:right}.lang-ar .topbar{direction:rtl}.lang-ar .panel-head,.lang-ar .top-actions,.lang-ar .actions{direction:rtl}.lang-ar .note{border-left:0;border-right:4px solid var(--blue)}.lang-ar .language-switcher select,.lang-ar .login-language select{padding:7px 9px 7px 30px}.lang-ar input[type="email"],.lang-ar input[type="url"],.lang-ar input[type="tel"],.lang-ar .tf-ean13-label,.lang-ar .tf-ean13{direction:ltr;text-align:left}.lang-ar .analytics-methodology ul{padding-left:0;padding-right:22px}.lang-ar .analytics-stage-row small,.lang-ar .analytics-rank-row small{text-align:left}.lang-ar .notification-card{border-left:1px solid var(--line);border-right:4px solid #b8c7dc}.lang-ar .notification-card.unread{border-right-color:var(--blue)}.lang-ar .notification-card.kind-alert,.lang-ar .notification-card.overdue{border-right-color:var(--red)}.lang-ar .notification-card.kind-task:not(.overdue){border-right-color:var(--orange)}
@media(max-width:760px){.language-switcher label>span{display:none}.language-switcher select{min-width:86px}.login-language{margin:-18px -18px 14px}.lang-ar .content{margin-right:0}.lang-ar .topbar{margin-left:-24px;margin-right:-24px}}

/* FIX054/FIX055 — installed brand icon and completion modules. */
.brand-logo{display:block;width:42px;height:42px;flex:0 0 42px;border-radius:12px;object-fit:cover;box-shadow:0 4px 14px rgba(0,0,0,.18)}.brand.big .brand-logo{width:56px;height:56px;flex-basis:56px;border-radius:15px;box-shadow:0 7px 20px rgba(6,39,92,.22)}
.document-form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.document-description{grid-column:span 2}.document-filters{display:grid;grid-template-columns:minmax(220px,2fr) repeat(3,minmax(140px,1fr)) auto;gap:8px;margin-bottom:14px}.document-meta{display:block;margin-top:5px;max-width:340px;white-space:normal;color:var(--muted);font-size:11px;line-height:1.35}.row-actions{display:flex;align-items:flex-start;gap:6px}.row-actions form{margin:0}.row-actions details form{min-width:260px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff}.row-actions details summary{list-style:none}.document-status.approved{background:#eaf9f0;color:#148342}.document-status.rejected{background:#fff0f0;color:#c82626}.document-status.pending{background:#fff6e8;color:#9a5b00}.danger-text{color:#b42318}
@media(max-width:1050px){.document-form-grid{grid-template-columns:repeat(2,1fr)}.document-filters{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.document-form-grid,.document-filters{grid-template-columns:1fr}.document-description{grid-column:auto}.row-actions{flex-wrap:wrap}}
.rate-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}.settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.settings-grid fieldset{display:grid;align-content:start;gap:10px;margin:0;padding:14px;border:1px solid var(--line);border-radius:10px}.settings-grid legend{padding:0 7px;font-weight:800}.check-row{display:flex;align-items:center;gap:8px}.check-row input,.permission-table input{width:auto}.permission-table th:not(:first-child),.permission-table td:not(:first-child){text-align:center}.audit-json,pre{max-width:520px;white-space:pre-wrap;overflow-wrap:anywhere;font:11px/1.4 Consolas,monospace;color:#435473}
@media(max-width:1050px){.settings-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.settings-grid{grid-template-columns:1fr}}
.actual-cost-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.actual-cost-row{display:grid;grid-template-columns:1.3fr .65fr .9fr;gap:8px;align-items:end;padding:10px;border:1px solid var(--line);border-radius:10px}.actual-cost-row .warn{padding:10px}.financial-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.financial-metric.primary{border-color:var(--blue);background:#eef5ff}.financial-metric.cost{border-color:#f1ce91;background:#fffaf2}.financial-metric.revenue{border-color:#9bd8b7;background:#f0fbf5}.financial-metric.profit{border-color:#55bc82;background:#eaf9f0}.financial-metric.loss{border-color:#efb4b4;background:#fff0f0}.financial-metric.loss span{color:#b42318}.financial-metric small{display:block;margin-top:4px;color:var(--muted);font-size:10px}
@media(max-width:1150px){.actual-cost-grid{grid-template-columns:1fr}.financial-summary-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.actual-cost-row{grid-template-columns:1fr}.financial-summary-grid{grid-template-columns:1fr}}

/* FIX058 — tenant identity and platform company administration. */
.company-identity{display:block;margin-top:4px;opacity:.72;overflow-wrap:anywhere}.company-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.company-card{padding:15px;border:1px solid var(--line);border-radius:12px;background:#fbfdff}.company-card>div{display:flex;justify-content:space-between;gap:12px;align-items:start}.company-card>div strong{font-size:16px}.company-card>div span{font:700 11px/1.4 Consolas,monospace;color:var(--blue)}.company-card dl{display:grid;grid-template-columns:1fr auto;gap:7px 12px;margin:14px 0}.company-card dt{color:var(--muted)}.company-card dd{margin:0;font-weight:700}.company-card form{display:flex;align-items:end;gap:8px}.company-card form label{flex:1}.company-form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){.company-form-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.company-form-grid{grid-template-columns:1fr}.company-card form{align-items:stretch;flex-direction:column}.company-card form .btn{width:100%}}

/* FIX056 — complete mobile and tablet navigation, touch layout and table cards. */
html{min-width:0;overflow-x:hidden;-webkit-text-size-adjust:100%}
body{min-width:0;overflow-x:hidden}
.skip-link{position:fixed;z-index:1300;top:8px;left:8px;padding:10px 14px;border-radius:8px;background:#fff;color:var(--navy);box-shadow:0 6px 24px rgba(6,39,92,.24);transform:translateY(-140%);transition:transform .18s ease}
.skip-link:focus{transform:translateY(0)}
.sidebar{overflow:hidden}
.sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex:0 0 auto}
.sidebar nav{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#4e75a8 transparent}
.sidebar nav a{display:block}
.sidebar nav a.active,.sidebar nav a[aria-current="page"]{background:#0a58c8;color:#fff;font-weight:700}
.sidebar-close,.menu-toggle,.sidebar-scrim{display:none}
.topbar-title{display:flex;align-items:center;gap:12px;min-width:0}
.topbar-title h1{overflow-wrap:anywhere}
.top-actions form{margin:0}
.table-wrap{max-width:100%;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#9eb2d0 #edf3fb}
.table-wrap::-webkit-scrollbar{height:10px}.table-wrap::-webkit-scrollbar-track{background:#edf3fb;border-radius:999px}.table-wrap::-webkit-scrollbar-thumb{background:#9eb2d0;border:2px solid #edf3fb;border-radius:999px}
img,video,canvas,svg{max-width:100%}

@media screen and (max-width:1100px){
  .sidebar{position:fixed!important;z-index:1100;inset:0 auto 0 0!important;width:min(320px,88vw);height:100dvh;padding:max(18px,env(safe-area-inset-top)) 14px max(14px,env(safe-area-inset-bottom));box-shadow:18px 0 45px rgba(3,24,58,.28);transform:translateX(-106%);transition:transform .24s ease;will-change:transform}
  .lang-ar .sidebar{inset:0 0 0 auto!important;box-shadow:-18px 0 45px rgba(3,24,58,.28);transform:translateX(106%)}
  body.nav-open .sidebar{transform:translateX(0)}
  body.nav-open{overflow:hidden}
  .sidebar-close{display:inline-grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border:1px solid rgba(255,255,255,.2);border-radius:10px;background:rgba(255,255,255,.08);color:#fff;font-size:27px;line-height:1;cursor:pointer}
  .sidebar-scrim{position:fixed;z-index:1090;inset:0;width:100%;height:100%;border:0;background:rgba(2,17,40,.5);opacity:0;pointer-events:none;transition:opacity .24s ease}
  body.nav-open .sidebar-scrim{display:block;opacity:1;pointer-events:auto}
  .menu-toggle{display:inline-grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border:1px solid #cbd6e8;border-radius:10px;background:#fff;color:var(--navy);font-size:23px;line-height:1;cursor:pointer}
  .content,.lang-ar .content{margin-left:0;margin-right:0;padding:0 18px 36px}
  .topbar,.lang-ar .topbar{position:sticky;z-index:50;top:0;height:auto;min-height:68px;margin:0 -18px 16px;padding:10px 18px;gap:10px;box-shadow:0 2px 12px rgba(6,39,92,.05)}
  .topbar h1{font-size:22px}
  .top-actions{min-width:0;flex-wrap:wrap;justify-content:flex-end}
  .kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .content [style*="grid-template-columns:repeat(4"],.content [style*="grid-template-columns: repeat(4"],.content [style*="grid-template-columns:repeat(3"],.content [style*="grid-template-columns: repeat(3"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

@media screen and (max-width:720px){
  .content,.lang-ar .content{padding:0 12px 28px}
  .topbar,.lang-ar .topbar{margin:0 -12px 12px;padding:9px 12px;flex-wrap:wrap}
  .topbar-title{flex:1 1 auto}.topbar-title h1{font-size:18px}
  .top-actions{flex:1 1 100%;justify-content:space-between;gap:7px;padding-top:8px;border-top:1px solid var(--line)}
  .top-actions .link-btn{min-height:40px;padding:6px 4px;font-size:12px}
  .top-actions .logout-form{display:flex}
  .language-switcher select{min-height:40px;max-width:110px}
  .notification-bell{min-width:40px;min-height:40px;padding:7px 10px}
  .panel{padding:12px;border-radius:10px;overflow:visible}
  .panel-head,.search,.actions{align-items:stretch;flex-direction:column}
  .panel-head>*{max-width:100%}.search{max-width:none}
  .actions .btn,.actions button,.search .btn{width:100%;justify-content:center;text-align:center}
  .kpis,.warning-grid,.form-grid,.notification-kpis,.analytics-kpis,.analytics-filters,.document-form-grid,.document-filters,.settings-grid,.actual-cost-grid,.financial-summary-grid{grid-template-columns:1fr!important}
  .content [style*="grid-template-columns"]{grid-template-columns:1fr!important}
  .content [style*="min-width"]{min-width:0!important}
  input:not([type="checkbox"]):not([type="radio"]),select,textarea{min-height:44px;font-size:16px}
  input[type="checkbox"],input[type="radio"]{min-width:20px;min-height:20px}
  .btn{display:inline-flex;min-height:44px;align-items:center;justify-content:center}
  .tf-modal{padding:8px}.tf-modal-card{width:100%;max-height:94dvh;border-radius:11px}.tf-modal-head,.tf-modal-body,.tf-modal-footer{padding:12px}.tf-modal-head{align-items:flex-start}.tf-modal-footer{align-items:stretch;flex-direction:column}.tf-modal-footer .btn{width:100%}
  #item-picker-modal,#customer-message-modal{padding:8px!important}
  #item-picker-modal>div,#customer-message-modal>div{width:100%!important;max-height:94dvh!important;padding:12px!important}
  .brand.big{margin-bottom:22px}.login-card{width:min(100% - 20px,440px);padding:24px 20px}.login-card h2{font-size:27px}.login-language{margin:-8px -8px 16px}
  .table-wrap.mobile-card-wrap{overflow:visible}
  table.mobile-card-table{display:block;width:100%!important;min-width:0!important;font-size:13px}
  table.mobile-card-table thead{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important}
  table.mobile-card-table tbody{display:grid;gap:12px}
  table.mobile-card-table tbody>tr{display:block;padding:3px 12px;border:1px solid var(--line);border-radius:11px;background:#fff;box-shadow:0 3px 12px rgba(13,33,71,.05)}
  table.mobile-card-table tbody>tr>td{display:block;width:100%!important;min-width:0!important;padding:9px 0;border-bottom:1px dashed #dce5f1;white-space:normal;text-align:start!important;overflow-wrap:anywhere}
  table.mobile-card-table tbody>tr>td:last-child{border-bottom:0}
  table.mobile-card-table tbody>tr>td::before{content:attr(data-label);display:block;margin-bottom:5px;color:#5f6f8c;font-size:10px;font-weight:800;line-height:1.25;text-align:start}
  table.mobile-card-table tbody>tr>td[data-label=""]::before{display:none}
  table.mobile-card-table tbody>tr.mobile-table-group{padding:0;border-color:#cddcf2;background:#edf4ff;box-shadow:none}
  table.mobile-card-table tbody>tr.mobile-table-group>td{padding:11px 12px;border:0;color:var(--navy);font-weight:800}
  table.mobile-card-table tbody>tr.mobile-table-group>td::before{display:none}
  table.mobile-card-table td input:not([type="checkbox"]):not([type="radio"]),table.mobile-card-table td select,table.mobile-card-table td textarea{width:100%!important;max-width:100%!important}
  table.mobile-card-table td form,table.mobile-card-table td details{max-width:100%}
  table.mobile-card-table .tf-ean13-label,table.mobile-card-table .tf-ean13{max-width:100%;transform-origin:top left}
  .lang-ar table.mobile-card-table .tf-ean13-label,.lang-ar table.mobile-card-table .tf-ean13{transform-origin:top right}
  .permission-table{min-width:620px}
  .row-actions{align-items:stretch;flex-direction:column}.row-actions .btn{width:100%}
}

@media screen and (max-width:430px){
  .account-link{max-width:104px;white-space:normal;text-align:center}
  .top-actions{justify-content:flex-start}
  .language-switcher{margin-inline-end:auto}
  .analytics-mini-kpis{grid-template-columns:1fr!important}
  .login-card{width:calc(100% - 12px);padding:22px 16px}.brand.big{justify-content:flex-start}.brand.big .brand-logo{width:50px;height:50px;flex-basis:50px}
}

@media screen and (prefers-reduced-motion:reduce){.sidebar,.sidebar-scrim,.skip-link{transition:none}}
/* Mobile photo capture and warehouse barcode scanner */
.tfs-camera-input{display:none!important}.tfs-camera-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:42px;margin:4px 0}.tfs-scanner{margin:12px 0;padding:12px;border:1px solid #d5deeb;border-radius:10px;background:#101827;color:#fff;max-width:520px}.tfs-scanner[hidden]{display:none}.tfs-scanner video{display:block;width:100%;max-height:340px;object-fit:contain;border-radius:6px}.tfs-scanner-status{color:#fff;margin:8px 0}.tfs-scanner-close{margin-top:4px}@media(max-width:767px){#itemLookup{min-width:0;width:100%}.tfs-camera-button{flex-shrink:0}}

/* TFS dashboard mobile layout v1 */
@media screen and (max-width:720px){
  .dashboard-kpis{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:9px;
  }
  .dashboard-kpis .kpi{
    min-width:0;
    padding:13px 11px;
    border-radius:11px;
  }
  .dashboard-kpis .kpi span{
    font-size:11px;
    line-height:1.35;
  }
  .dashboard-kpis .kpi b{
    font-size:23px;
    margin-top:6px;
  }
  .dashboard-recent{
    padding:12px;
  }
  .dashboard-recent h2{
    font-size:19px;
    line-height:1.3;
  }
  .dashboard-recent table.mobile-card-table tbody{
    gap:9px;
  }
  .dashboard-recent table.mobile-card-table tbody>tr{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:8px 12px;
    padding:12px;
  }
  .dashboard-recent table.mobile-card-table tbody>tr>td{
    min-width:0!important;
    padding:0;
    border:0;
    font-size:12px;
  }
  .dashboard-recent table.mobile-card-table tbody>tr>td:nth-child(1){
    grid-column:1/-1;
    font-size:14px;
    font-weight:700;
  }
  .dashboard-recent table.mobile-card-table tbody>tr>td:nth-child(2){
    grid-column:1;
  }
  .dashboard-recent table.mobile-card-table tbody>tr>td:nth-child(3){
    grid-column:2;
  }
  .dashboard-recent table.mobile-card-table tbody>tr>td:nth-child(4){
    grid-column:1/-1;
    padding-top:8px;
    border-top:1px dashed #dce5f1;
    font-weight:700;
  }
  .dashboard-recent table.mobile-card-table tbody>tr>td::before{
    margin-bottom:4px;
  }
}

/* Dashboard: two compact KPI columns on phones */
@media screen and (max-width:720px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}.kpi{min-width:0;padding:12px}.kpi span{font-size:11px;line-height:1.35}.kpi b{font-size:21px}}


/* tfs-item-mobile-061: compact item cards; preserve existing checkbox and export form. */
@media screen and (max-width:720px){
 .tfs-items-list-disabled table.mobile-card-table tbody>tr:not(.mobile-table-group):not(.mobile-table-message){display:grid;grid-template-columns:30px 76px minmax(0,1fr);gap:7px 11px;align-items:center;padding:12px 12px 52px;position:relative}
 .tfs-items-list-disabled table.mobile-card-table tbody>tr:not(.mobile-table-group):not(.mobile-table-message)>td{min-width:0!important;width:auto!important;border:0;padding:0;display:none!important}
 .tfs-items-list-disabled table.mobile-card-table tbody>tr:not(.mobile-table-group):not(.mobile-table-message)>td.tfs-item-select-cell{display:flex!important;grid-column:1;grid-row:1 / span 2;flex-direction:column;gap:9px;align-items:center;justify-content:center}
 .tfs-items-list-disabled table.mobile-card-table tbody>tr:not(.mobile-table-group):not(.mobile-table-message)>td.tfs-item-image-cell{display:block!important;grid-column:2;grid-row:1 / span 2}
 .tfs-items-list-disabled table.mobile-card-table tbody>tr:not(.mobile-table-group):not(.mobile-table-message)>td.tfs-item-number-cell{display:block!important;grid-column:3;grid-row:1;font-weight:700;overflow-wrap:anywhere}
 .tfs-items-list-disabled table.mobile-card-table tbody>tr:not(.mobile-table-group):not(.mobile-table-message)>td.tfs-item-barcode-cell{display:block!important;grid-column:3;grid-row:2;overflow-wrap:anywhere}
 .tfs-items-list-disabled table.mobile-card-table tbody>tr:not(.mobile-table-group):not(.mobile-table-message)>td.tfs-item-select-cell::before,.tfs-items-list-disabled table.mobile-card-table tbody>tr:not(.mobile-table-group):not(.mobile-table-message)>td.tfs-item-image-cell::before{display:none}
 .tfs-items-list-disabled .tfs-item-mobile-details{display:block;position:absolute;bottom:10px;inset-inline-end:12px;font-size:12px;padding:6px 14px;min-height:32px;white-space:nowrap;line-height:1.2}
 .tfs-items-list-disabled table.mobile-card-table tbody>tr.tfs-item-mobile-open>td.tfs-item-other-cell,.tfs-items-list-disabled table.mobile-card-table tbody>tr.tfs-item-mobile-open>td:last-child{display:block!important;grid-column:1/-1;grid-row:auto;border-top:1px dashed #dce5f1;padding-top:8px}
 .tfs-items-list-disabled table.mobile-card-table tbody>tr>td:first-child .tfs-item-expand{display:none!important}
 .tfs-items-list-disabled #barcode-export-form>div:first-child{flex-wrap:wrap;justify-content:flex-start!important}
}
@media screen and (min-width:721px){.tfs-item-mobile-details{display:none!important}}


/* tfs-customer-items-063 */
.tfs-cmi-details{display:none}
@media screen and (max-width:720px){
 .tfs-customer-items-mobile table.mobile-card-table tbody>tr:not(.mobile-table-group):not(.mobile-table-message){
  display:grid!important;
  grid-template-columns:32px 72px minmax(0,1fr);
  gap:8px 10px;
  align-items:center;
  position:relative;
  padding:12px 12px 54px;
 }
 .tfs-customer-items-mobile table.mobile-card-table tbody>tr:not(.mobile-table-group):not(.mobile-table-message)>td{
  display:none!important;
  width:auto!important;
  min-width:0!important;
  padding:0!important;
  border:0!important;
  overflow-wrap:anywhere;
 }
 .tfs-customer-items-mobile table.mobile-card-table tbody>tr:not(.mobile-table-group):not(.mobile-table-message)>td.tf-barcode-select-cell{
  display:block!important;
  grid-column:1;
  grid-row:1 / span 2;
 }
 .tfs-customer-items-mobile table.mobile-card-table tbody>tr:not(.mobile-table-group):not(.mobile-table-message)>td.tfs-cmi-image{
  display:block!important;
  grid-column:2;
  grid-row:1 / span 2;
 }
 .tfs-customer-items-mobile table.mobile-card-table tbody>tr:not(.mobile-table-group):not(.mobile-table-message)>td.tfs-cmi-number{
  display:block!important;
  grid-column:3;
  grid-row:1;
  font-weight:700;
 }
 .tfs-customer-items-mobile table.mobile-card-table tbody>tr:not(.mobile-table-group):not(.mobile-table-message)>td.tfs-cmi-barcode{
  display:block!important;
  grid-column:3;
  grid-row:2;
 }
 .tfs-customer-items-mobile table.mobile-card-table tbody>tr:not(.mobile-table-group):not(.mobile-table-message)>td.tfs-cmi-barcode svg{
  max-width:100%;
  height:auto;
 }
 .tfs-customer-items-mobile table.mobile-card-table tbody>tr:not(.mobile-table-group):not(.mobile-table-message)>td.tfs-cmi-image::before,
 .tfs-customer-items-mobile table.mobile-card-table tbody>tr:not(.mobile-table-group):not(.mobile-table-message)>td.tf-barcode-select-cell::before{
  display:none!important;
 }
 .tfs-customer-items-mobile .tfs-cmi-details{
  display:block!important;
  position:absolute;
  bottom:10px;
  inset-inline-end:12px;
  padding:6px 14px;
  font-size:12px;
 }
 .tfs-customer-items-mobile table.mobile-card-table tbody>tr.tfs-cmi-open>td:not(.tfs-cmi-image):not(.tfs-cmi-number):not(.tfs-cmi-barcode):not(.tf-barcode-select-cell){
  display:block!important;
  grid-column:1/-1;
  grid-row:auto;
  border-top:1px dashed #dce5f1!important;
  padding-top:8px!important;
 }
}

/* Warehouse scanner landscape preview v1 */
@media screen and (max-width:767px){
  .tfs-scanner{max-width:100%;min-width:0}
  .tfs-scanner video{
    display:block !important;
    width:100% !important;
    height:clamp(150px, 52vw, 260px) !important;
    max-height:260px !important;
    aspect-ratio:16/9;
    object-fit:cover !important;
    object-position:center;
  }
}

/* Roles and Permissions: larger role selector and dropdown arrow. */
.permission-role-picker{position:relative;display:inline-flex;align-items:center}
.permission-role-picker select{
  appearance:none;
  -webkit-appearance:none;
  width:160px;
  min-height:48px;
  padding:10px 38px 10px 14px;
  font-size:16px;
  font-weight:600;
  cursor:pointer;
}
.permission-role-picker::after{
  content:"";
  position:absolute;
  right:15px;
  width:11px;
  height:11px;
  border-right:2px solid var(--ink);
  border-bottom:2px solid var(--ink);
  transform:translateY(-3px) rotate(45deg);
  pointer-events:none;
}
.lang-ar .permission-role-picker select{padding:10px 14px 10px 38px}
.lang-ar .permission-role-picker::after{right:auto;left:15px}

/* TFS analytics compact mobile v1 */
@media screen and (max-width:720px) {
  .analytics-report .analytics-kpis {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px;
  }
  .analytics-report .analytics-kpi {
    min-width:0;
    padding:11px;
    overflow-wrap:anywhere;
  }
  .analytics-report .analytics-kpi b {
    font-size:clamp(14px,3.8vw,19px);
    line-height:1.3;
    overflow-wrap:anywhere;
  }
  .analytics-report .analytics-kpi span,
  .analytics-report .analytics-kpi small {
    line-height:1.35;
  }
  .analytics-report .analytics-filters {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:9px;
  }
  .analytics-report .analytics-filters > * {
    min-width:0;
  }
  .analytics-report .analytics-filters .analytics-filter-buttons {
    grid-column:1 / -1;
  }
  .analytics-report .analytics-filter-panel,
  .analytics-report .analytics-card {
    padding:12px;
    margin-bottom:10px;
  }
  .analytics-report .analytics-section-head {
    gap:6px;
  }
}
@media screen and (max-width:360px) {
  .analytics-report .analytics-filters {
    grid-template-columns:1fr!important;
  }
}

/* TFS analytics mobile collapsible sections v1 */
@media screen and (max-width:720px) {
  .analytics-report > .analytics-mobile-fold {
    margin:0 0 9px;
    border:1px solid var(--line);
    border-radius:10px;
    background:var(--card, #fff);
    overflow:hidden;
  }
  .analytics-report > .analytics-mobile-fold > summary {
    padding:14px 38px 14px 12px;
    cursor:pointer;
    font-weight:700;
    position:relative;
    list-style:none;
  }
  .analytics-report > .analytics-mobile-fold > summary::-webkit-details-marker {
    display:none;
  }
  .analytics-report > .analytics-mobile-fold > summary::after {
    content:"+";
    position:absolute;
    right:14px;
    top:50%;
    transform:translateY(-50%);
    font-size:20px;
  }
  .analytics-report > .analytics-mobile-fold[open] > summary::after {
    content:"−";
  }
  .analytics-report > .analytics-mobile-fold[open] > summary {
    border-bottom:1px solid var(--line);
  }
  .analytics-report > .analytics-mobile-fold > section {
    margin:0;
  }
  .analytics-report > .analytics-mobile-fold > .analytics-grid {
    padding:10px;
  }
}

/* TFS customers mobile cards v1 */
.tfs-customers-select-all-mobile {
  display:none;
}
@media screen and (max-width:720px) {
  .tfs-customers-page .panel-head {
    gap:10px;
  }
  .tfs-customers-page .panel-head > .btn {
    width:100%;
    text-align:center;
  }
  .tfs-customers-page .search {
    width:100%;
  }
  .tfs-customers-page #customer-selection-form > div:first-child {
    flex-wrap:wrap;
    justify-content:flex-start!important;
    gap:8px!important;
  }
  .tfs-customers-page .tfs-customers-select-all-mobile {
    display:inline-block;
  }
  .tfs-customers-page #customers-message-btn {
    margin-inline-start:auto;
  }
  .tfs-customers-list table.mobile-card-table tbody > tr:not(.mobile-table-group):not(.mobile-table-message) {
    display:grid;
    grid-template-columns:34px minmax(0,1fr);
    gap:5px 12px;
    padding:12px;
    align-items:start;
  }
  .tfs-customers-list table.mobile-card-table tbody > tr:not(.mobile-table-group):not(.mobile-table-message) > td {
    width:auto!important;
    min-width:0!important;
    padding:6px 0;
  }
  .tfs-customers-list table.mobile-card-table tbody > tr:not(.mobile-table-group):not(.mobile-table-message) > td:first-child {
    display:none;
  }
  .tfs-customers-list table.mobile-card-table tbody > tr:not(.mobile-table-group):not(.mobile-table-message) > td:nth-child(2) {
    grid-column:1;
    grid-row:1;
    border:0;
    padding-top:9px;
  }
  .tfs-customers-list table.mobile-card-table tbody > tr:not(.mobile-table-group):not(.mobile-table-message) > td:nth-child(2)::before {
    display:none;
  }
  .tfs-customers-list .customer-row-select {
    width:22px;
    height:22px;
  }
  .tfs-customers-list table.mobile-card-table tbody > tr:not(.mobile-table-group):not(.mobile-table-message) > td:nth-child(3) {
    grid-column:2;
    grid-row:1;
    font-weight:700;
  }
  .tfs-customers-list table.mobile-card-table tbody > tr:not(.mobile-table-group):not(.mobile-table-message) > td:nth-child(n+4) {
    grid-column:1 / -1;
  }
  .tfs-customers-list table.mobile-card-table tbody > tr:not(.mobile-table-group):not(.mobile-table-message) > td:last-child .btn {
    display:inline-block;
    margin:0 8px 6px 0;
    text-align:center;
  }
}

/* TFS compact customer cards v2 */
@media screen and (max-width:720px) {
  .tfs-customers-list table.mobile-card-table tbody > tr:not(.mobile-table-group):not(.mobile-table-message) {
    grid-template-columns:34px minmax(0,1fr);
    gap:4px 12px;
    padding:12px;
  }
  .tfs-customers-list table.mobile-card-table tbody > tr:not(.mobile-table-group):not(.mobile-table-message) > td:nth-child(n+4):not(:last-child) {
    display:none!important;
  }
  .tfs-customers-list table.mobile-card-table tbody > tr:not(.mobile-table-group):not(.mobile-table-message) > td:nth-child(3) {
    border-bottom:0;
    padding-bottom:5px;
  }
  .tfs-customers-list table.mobile-card-table tbody > tr:not(.mobile-table-group):not(.mobile-table-message) > td:last-child {
    display:flex;
    grid-column:1 / -1;
    align-items:center;
    flex-wrap:wrap;
    gap:8px;
    border-top:1px dashed #dce5f1;
    border-bottom:0;
    padding-top:10px;
  }
  .tfs-customers-list table.mobile-card-table tbody > tr:not(.mobile-table-group):not(.mobile-table-message) > td:last-child::before {
    display:none;
  }
  .tfs-customers-list table.mobile-card-table tbody > tr:not(.mobile-table-group):not(.mobile-table-message) > td:last-child .btn {
    margin:0;
  }
  .tfs-customers-list table.mobile-card-table tbody > tr:not(.mobile-table-group):not(.mobile-table-message) > td:last-child a:not(.btn) {
    display:inline-flex;
    align-items:center;
    min-height:40px;
    padding:8px 12px;
  }
}

/* TFS compact sales order cards v1 */
@media screen and (max-width:720px) {
  .tfs-sales-orders-list table.mobile-card-table tbody > tr:not(.mobile-table-group):not(.mobile-table-message) {
    padding:12px;
  }
  .tfs-sales-orders-list table.mobile-card-table tbody > tr:not(.mobile-table-group):not(.mobile-table-message) > td:nth-child(1),
  .tfs-sales-orders-list table.mobile-card-table tbody > tr:not(.mobile-table-group):not(.mobile-table-message) > td:nth-child(4),
  .tfs-sales-orders-list table.mobile-card-table tbody > tr:not(.mobile-table-group):not(.mobile-table-message) > td:nth-child(5),
  .tfs-sales-orders-list table.mobile-card-table tbody > tr:not(.mobile-table-group):not(.mobile-table-message) > td:nth-child(8) {
    display:none!important;
  }
  .tfs-sales-orders-list table.mobile-card-table tbody > tr:not(.mobile-table-group):not(.mobile-table-message) > td:nth-child(2) {
    font-weight:700;
    overflow-wrap:anywhere;
  }
  .tfs-sales-orders-list table.mobile-card-table tbody > tr:not(.mobile-table-group):not(.mobile-table-message) > td:last-child {
    border-bottom:0;
    padding-top:10px;
  }
  .tfs-sales-orders-list table.mobile-card-table tbody > tr:not(.mobile-table-group):not(.mobile-table-message) > td:last-child::before {
    display:none;
  }
  .tfs-sales-orders-list table.mobile-card-table tbody > tr:not(.mobile-table-group):not(.mobile-table-message) > td:last-child .btn {
    min-height:40px;
    margin:0;
  }
}

/* TFS compact supplier cards v1 */
@media screen and (max-width:720px) {
  .tfs-suppliers-list table.mobile-card-table tbody > tr:not(.mobile-table-group):not(.mobile-table-message) {
    padding:12px;
  }
  .tfs-suppliers-list table.mobile-card-table tbody > tr:not(.mobile-table-group):not(.mobile-table-message) > td:nth-child(n+3):nth-child(-n+9) {
    display:none!important;
  }
  .tfs-suppliers-list table.mobile-card-table tbody > tr:not(.mobile-table-group):not(.mobile-table-message) > td:first-child {
    font-weight:700;
  }
  .tfs-suppliers-list table.mobile-card-table tbody > tr:not(.mobile-table-group):not(.mobile-table-message) > td:nth-child(2) {
    font-weight:700;
    overflow-wrap:anywhere;
  }
  .tfs-suppliers-list table.mobile-card-table tbody > tr:not(.mobile-table-group):not(.mobile-table-message) > td:last-child {
    border-bottom:0;
    padding-top:10px;
  }
  .tfs-suppliers-list table.mobile-card-table tbody > tr:not(.mobile-table-group):not(.mobile-table-message) > td:last-child::before {
    display:none;
  }
  .tfs-suppliers-list table.mobile-card-table tbody > tr:not(.mobile-table-group):not(.mobile-table-message) > td:last-child .btn {
    display:inline-block;
    min-height:40px;
    margin:0;
  }
}
/* TFS compact purchase order cards v1 */
.tfs-po-supplier-code { display:none; }
@media screen and (max-width:720px) {
  .tfs-purchase-orders-list table.mobile-card-table tbody > tr:not(.mobile-table-group):not(.mobile-table-message) > td {
    display:none!important;
  }
  .tfs-purchase-orders-list table.mobile-card-table tbody > tr:not(.mobile-table-group):not(.mobile-table-message) > td.tfs-po-field-po_no,
  .tfs-purchase-orders-list table.mobile-card-table tbody > tr:not(.mobile-table-group):not(.mobile-table-message) > td.tfs-po-field-supplier_id,
  .tfs-purchase-orders-list table.mobile-card-table tbody > tr:not(.mobile-table-group):not(.mobile-table-message) > td.tfs-po-field-status,
  .tfs-purchase-orders-list table.mobile-card-table tbody > tr:not(.mobile-table-group):not(.mobile-table-message) > td.tfs-po-field-total_amount,
  .tfs-purchase-orders-list table.mobile-card-table tbody > tr:not(.mobile-table-group):not(.mobile-table-message) > td:last-child {
    display:block!important;
  }
  .tfs-purchase-orders-list .tfs-po-supplier-name { display:none; }
  .tfs-purchase-orders-list .tfs-po-supplier-code { display:inline; }
  .tfs-purchase-orders-list table.mobile-card-table tbody > tr:not(.mobile-table-group):not(.mobile-table-message) > td.tfs-po-field-po_no {
    font-weight:700;
    overflow-wrap:anywhere;
  }
  .tfs-purchase-orders-list table.mobile-card-table tbody > tr:not(.mobile-table-group):not(.mobile-table-message) > td:last-child {
    border-bottom:0;
  }
  .tfs-purchase-orders-list table.mobile-card-table tbody > tr:not(.mobile-table-group):not(.mobile-table-message) > td:last-child::before {
    display:none;
  }
  .tfs-purchase-orders-list table.mobile-card-table tbody > tr:not(.mobile-table-group):not(.mobile-table-message) > td:last-child .btn {
    min-height:40px;
  }
}

/* TFS exchange rate date mobile fix v1 */
@media screen and (max-width:720px) {
  .panel.narrow:has(form[action*="exchange-rates/save"]) .form-grid {
    grid-template-columns:minmax(0,1fr)!important;
    min-width:0;
  }
  .panel.narrow:has(form[action*="exchange-rates/save"]) .form-grid > label {
    min-width:0;
    max-width:100%;
  }
  .panel.narrow:has(form[action*="exchange-rates/save"]) input[type="date"] {
    display:block;
    box-sizing:border-box;
    width:100%;
    min-width:0;
    max-width:100%;
    direction:ltr;
    text-align:start;
    -webkit-appearance:none;
    appearance:none;
  }
}

/* TFS compact user cards v1 */
@media screen and (max-width:720px) {
  .tfs-users-list table.mobile-card-table tbody > tr:not(.mobile-table-group):not(.mobile-table-message) {
    padding:12px;
  }
  .tfs-users-list table.mobile-card-table tbody > tr:not(.mobile-table-group):not(.mobile-table-message) > td:nth-child(4),
  .tfs-users-list table.mobile-card-table tbody > tr:not(.mobile-table-group):not(.mobile-table-message) > td:nth-child(6),
  .tfs-users-list table.mobile-card-table tbody > tr:not(.mobile-table-group):not(.mobile-table-message) > td:nth-child(7) {
    display:none!important;
  }
  .tfs-users-list table.mobile-card-table tbody > tr:not(.mobile-table-group):not(.mobile-table-message) > td:first-child {
    font-weight:700;
  }
  .tfs-users-list table.mobile-card-table tbody > tr:not(.mobile-table-group):not(.mobile-table-message) > td:last-child {
    border-bottom:0;
  }
  .tfs-users-list table.mobile-card-table tbody > tr:not(.mobile-table-group):not(.mobile-table-message) > td:last-child::before {
    display:none;
  }
  .tfs-users-list .row-actions {
    display:flex;
    flex-wrap:wrap;
    align-items:flex-start;
    gap:8px;
    max-width:100%;
  }
  .tfs-users-list .row-actions > form,
  .tfs-users-list .row-actions > details {
    flex:1 1 145px;
    min-width:0;
    margin:0;
  }
  .tfs-users-list .row-actions > form > .btn,
  .tfs-users-list .row-actions > details > summary.btn {
    display:block;
    width:100%;
    min-height:40px;
    text-align:center;
  }
  .tfs-users-list .row-actions > details > form {
    min-width:0;
    max-width:100%;
    width:100%;
    box-sizing:border-box;
  }
  .tfs-users-list .row-actions > details > form input {
    min-width:0;
    max-width:100%;
  }
}

/* TFS audit mobile layout v1 */
@media screen and (max-width:720px) {
  .tfs-audit-filters {
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    width:100%;
    max-width:100%;
    min-width:0;
    box-sizing:border-box;
  }
  .tfs-audit-filters > * {
    display:block;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    margin-inline:0!important;
  }
  .tfs-audit-filters input[type="date"] {
    direction:ltr;
    text-align:start;
    -webkit-appearance:none;
    appearance:none;
  }
  .tfs-audit-list table.mobile-card-table tbody > tr:not(.mobile-table-group):not(.mobile-table-message) {
    padding:12px;
  }
  .tfs-audit-list table.mobile-card-table tbody > tr:not(.mobile-table-group):not(.mobile-table-message) > td:nth-child(1),
  .tfs-audit-list table.mobile-card-table tbody > tr:not(.mobile-table-group):not(.mobile-table-message) > td:nth-child(6),
  .tfs-audit-list table.mobile-card-table tbody > tr:not(.mobile-table-group):not(.mobile-table-message) > td:nth-child(7) {
    display:none!important;
  }
  .tfs-audit-list table.mobile-card-table tbody > tr:not(.mobile-table-group):not(.mobile-table-message) > td:nth-child(2) {
    font-weight:700;
  }
  .tfs-audit-list table.mobile-card-table tbody > tr:not(.mobile-table-group):not(.mobile-table-message) > td:last-child {
    border-bottom:0;
    min-width:0;
  }
  .tfs-audit-list table.mobile-card-table tbody > tr:not(.mobile-table-group):not(.mobile-table-message) > td:last-child::before {
    display:none;
  }
  .tfs-audit-list td details {
    max-width:100%;
    min-width:0;
  }
  .tfs-audit-list td details summary {
    cursor:pointer;
    padding:10px 12px;
    border:1px solid #dbe4f0;
    border-radius:8px;
    text-align:center;
  }
  .tfs-audit-list td details pre {
    box-sizing:border-box;
    max-width:100%;
    overflow-x:auto;
    white-space:pre-wrap;
    overflow-wrap:anywhere;
  }
}

/* TFS user action spacing fix v1 */
@media screen and (max-width:720px) {
  .tfs-users-list .row-actions {
    align-items:stretch;
    gap:8px;
  }
  .tfs-users-list .row-actions > form,
  .tfs-users-list .row-actions > details {
    flex:0 0 auto;
    width:100%;
    min-height:0;
    margin:0;
  }
  .tfs-users-list .row-actions > details:not([open]) > form {
    display:none;
  }
}
