:root{--blue:#1177c9;--line:#c7c7c7;--head:#eef5fb;--select:#d8ecff;--focus:#0f73c8}*{box-sizing:border-box}html,body{height:100%;margin:0;font-family:Tahoma,Arial,sans-serif;background:#f4f7fa;color:#1e293b}.hidden{display:none!important}.app{height:100%;display:flex;flex-direction:column}.topbar{height:58px;flex:none;background:linear-gradient(90deg,#dff2ff,#fff);border-bottom:1px solid #cfe0ee;display:flex;align-items:center;justify-content:space-between;padding:7px 14px}.brand{display:flex;align-items:center;gap:10px}.brand small{display:block;color:#667085;font-size:11px;margin-top:2px}.logo{width:40px;height:40px;border-radius:11px;background:#1177c9;color:#fff;display:grid;place-items:center;font-weight:800}.saveState{font-size:12px;color:#667085}.toolbar{padding:10px 12px 8px;background:#fff;border-bottom:1px solid #dde5ec;position:relative}.searchWrap{display:flex;max-width:760px;margin:auto;position:relative}.searchWrap input{width:100%;height:44px;border:1px solid #b8c8d8;border-radius:12px;padding:0 14px 0 42px;font-size:16px;outline:none;background:#fff}.searchWrap input:focus{border-color:#1177c9;box-shadow:0 0 0 3px #1177c91a}.searchWrap button{position:absolute;left:4px;top:4px;width:36px;height:36px;border:0;background:transparent;font-size:26px;color:#777;cursor:pointer}.hint{text-align:center;font-size:11px;color:#697586;margin-top:6px}.searchResults{position:absolute;z-index:50;top:60px;right:50%;transform:translateX(50%);width:min(760px,calc(100% - 24px));max-height:420px;overflow:auto;background:#fff;border:1px solid #b9cbdc;border-radius:12px;box-shadow:0 16px 40px #0002}.sr{display:grid;grid-template-columns:100px 1.2fr 1.2fr 1fr;gap:8px;padding:10px 12px;border-bottom:1px solid #edf0f3;cursor:pointer;align-items:center;font-size:13px}.sr:hover{background:#f4f9fd}.badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:4px 8px;background:#eef5fb;color:#0c5f9e;font-weight:700}.sr small{color:#667085}.nores{padding:18px;text-align:center;color:#667085}main{min-height:0;flex:1;display:flex;flex-direction:column}.sheetTop{height:42px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 12px;background:#f8fafc;border-bottom:1px solid #dfe6ec;font-size:13px}.pager{display:flex;align-items:center;gap:6px}.pager button{height:30px;min-width:34px;border:1px solid #c8d4de;background:#fff;border-radius:7px;cursor:pointer}.pager button:disabled{opacity:.45}.gridWrap{flex:1;min-height:0;overflow:auto;background:#fff;direction:ltr}.grid{border-collapse:separate;border-spacing:0;table-layout:fixed;min-width:100%;direction:ltr;font-size:13px}.grid th,.grid td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:3px 6px;height:30px;min-height:30px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.grid .corner,.grid .rownum,.grid .colhead{background:#f1f3f5;color:#4b5563;font-weight:700;text-align:center;user-select:none;position:sticky;z-index:4}.grid .colhead{top:0;z-index:7}.grid .rownum{left:0;z-index:6;width:52px;min-width:52px}.grid .corner{top:0;left:0;z-index:9;width:52px;min-width:52px}.grid td{direction:rtl;text-align:center;outline:none;background-clip:padding-box}.grid td.selected{box-shadow:inset 0 0 0 9999px rgba(60,149,230,.16)}.grid td.anchor{outline:2px solid var(--focus);outline-offset:-2px}.grid td.editing{outline:2px solid #21a366;outline-offset:-2px;white-space:normal}.tabs{height:50px;flex:none;background:#fff;border-top:1px solid #ccd8e3;display:flex;gap:4px;padding:6px 8px;direction:ltr;overflow:auto}.tabs button{border:0;background:#eef2f6;border-radius:8px;padding:0 18px;font-weight:700;color:#465362;cursor:pointer;white-space:nowrap}.tabs button.active{background:#1177c9;color:white}.login{position:fixed;inset:0;background:#eef4f8;display:grid;place-items:center;z-index:999}.login-card{width:min(370px,calc(100% - 28px));background:white;border-radius:18px;padding:28px;box-shadow:0 20px 60px #0002;text-align:center}.login-card h1{font-size:21px;margin:0 0 8px}.login-card input{width:100%;height:44px;border:1px solid #bac8d4;border-radius:9px;padding:0 12px;font-size:16px;margin:8px 0}.login-card button{width:100%;height:44px;background:#1177c9;border:0;color:#fff;border-radius:9px;font-weight:700;font-size:15px}.login-card #loginMsg{color:#b42318;font-size:12px;margin-top:8px}@media(max-width:700px){.topbar{height:54px;padding:6px 9px}.logo{width:36px;height:36px}.brand b{font-size:14px}.brand small{display:none}.toolbar{padding:7px}.searchWrap input{height:42px;font-size:14px}.hint{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sr{grid-template-columns:88px 1fr;gap:5px}.sr .extra{display:none}.sheetTop{height:38px;padding:0 7px}.grid{font-size:12px}.grid th,.grid td{height:29px;padding:2px 5px}.tabs{height:48px}.tabs button{padding:0 14px}.saveState{font-size:10px}}
.topStatus{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.sourceState{font-size:12px;opacity:.85;direction:ltr;text-align:left}@media(max-width:700px){.sourceState{display:none}}

.searchResults{z-index:9999}.searchCount{position:sticky;top:0;background:#f7fbff;border-bottom:1px solid #dce8f2;padding:7px 12px;font-size:12px;font-weight:700;color:#0c5f9e;z-index:2}

/* v8: Excel-style merge controls + sheet tab colors */
.cellActions{display:flex;justify-content:center;gap:7px;margin-top:7px;direction:rtl}
.cellActions button{height:30px;padding:0 14px;border:1px solid #bdcbd7;border-radius:7px;background:#fff;color:#334155;font-family:inherit;font-weight:700;cursor:pointer}
.cellActions button:hover{background:#f4f8fb;border-color:#91abc0}
#mergeCells{border-color:#7bbfe1;color:#07689b}
#unmergeCells{border-color:#c8cdd3;color:#4b5563}
.grid td.merged-cell{white-space:normal;text-overflow:clip;overflow:hidden}
.tabs button[data-sheet="Containers"]{border-bottom:5px solid #00B0F0}
.tabs button[data-sheet="Archive"]{border-bottom:5px solid #00B050}
.tabs button[data-sheet="Cancelled"]{border-bottom:5px solid #FF0000}
.tabs button[data-sheet="Containers"].active{background:#00B0F0;color:#fff}
.tabs button[data-sheet="Archive"].active{background:#00B050;color:#fff}
.tabs button[data-sheet="Cancelled"].active{background:#FF0000;color:#fff}
@media(max-width:700px){.cellActions{margin-top:5px}.cellActions button{height:28px;padding:0 11px;font-size:12px}}

/* v9: settings + in-browser update installer */
.settingsBtn{height:32px;border:1px solid #b9cbdc;background:#fff;border-radius:8px;padding:0 11px;font-family:inherit;font-weight:700;color:#31546f;cursor:pointer;white-space:nowrap}.settingsBtn:hover{background:#f3f8fc}.settingsDialog{border:0;padding:0;border-radius:14px;width:min(520px,calc(100% - 24px));box-shadow:0 20px 70px #0004}.settingsDialog::backdrop{background:#0005}.settingsCard{background:#fff;direction:rtl}.settingsHead{height:48px;background:#eef7fd;border-bottom:1px solid #d6e5ef;display:flex;align-items:center;justify-content:space-between;padding:0 14px;font-size:16px}.settingsHead button{border:0;background:transparent;font-size:27px;line-height:1;cursor:pointer;color:#475569}.settingsBody{padding:16px}.versionLine{font-size:13px}.installedUpdate{font-size:12px;color:#64748b;margin-top:5px}.settingsBody hr{border:0;border-top:1px solid #e2e8f0;margin:14px 0}.updateLabel{display:block;font-weight:700;font-size:13px;margin-bottom:7px}.settingsBody input[type=file]{width:100%;border:1px solid #cbd5e1;border-radius:8px;padding:8px;background:#fff}.updateButtons{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.updateButtons button{height:35px;border:1px solid #cbd5e1;background:#fff;border-radius:8px;padding:0 13px;font-family:inherit;font-weight:700;cursor:pointer}.updateButtons .primary{background:#1177c9;color:#fff;border-color:#1177c9}.updateStatus{font-size:12px;min-height:18px;margin-top:10px}.updateStatus.ok{color:#147a42}.updateStatus.bad{color:#b42318}.updateNote{font-size:11px;color:#64748b;margin:8px 0 0;line-height:1.7}@media(max-width:700px){.settingsBtn{height:30px;padding:0 8px;font-size:12px}.topStatus{gap:5px}.settingsBody{padding:13px}}


/* ===== CX FULL v19 baked update styles ===== */
.grid td.duplicate-cell{background-color:#ffb6d5!important;}
.grid td.duplicate-cell.selected{box-shadow:inset 0 0 0 9999px rgba(60,149,230,.16),inset 0 0 0 2px #d9468f;}

#cxLoadingOverlay{position:fixed;inset:0;z-index:99999;background:rgba(255,255,255,.94);display:flex;align-items:center;justify-content:center;direction:rtl;transition:opacity .18s ease}
#cxLoadingOverlay.done{opacity:0;pointer-events:none}
.cxLoadingCard{min-width:280px;max-width:86vw;padding:26px 28px;border:1px solid #cbd8e5;border-radius:14px;background:#fff;text-align:center;box-shadow:0 10px 30px rgba(0,0,0,.12);font-family:Tahoma,Arial,sans-serif}
.cxSpinner{width:42px;height:42px;margin:0 auto 14px;border:5px solid #dceaf5;border-top-color:#1177c9;border-radius:50%;animation:cxSpin .75s linear infinite}
.cxLoadingTitle{font-size:18px;font-weight:700;color:#17324d;margin-bottom:7px}.cxLoadingText{font-size:13px;color:#64748b;line-height:1.6}
@keyframes cxSpin{to{transform:rotate(360deg)}}
.cxExcelHelp{margin:12px 0;padding:12px 14px;border:1px solid #d9e5ef;border-radius:10px;background:#f8fbfd;line-height:1.9;font-size:13px}.cxExcelHelp b{display:block;font-size:14px;margin-bottom:3px}.cxExcelHelp code{direction:ltr;unicode-bidi:embed;background:#edf3f7;padding:1px 5px;border-radius:4px}


/* v12 — Excel-like column filters and manual cell colors */
.grid .colhead{position:sticky;top:0;z-index:6;white-space:nowrap}.grid .colhead>span{vertical-align:middle}.colFilterBtn{margin-inline-start:5px;width:24px;height:24px;padding:0;border:1px solid #c7d4df;border-radius:5px;background:#fff;color:#35536d;cursor:pointer;font-size:12px;line-height:20px;vertical-align:middle}.colhead.filter-active .colFilterBtn{background:#1177c9;color:#fff;border-color:#1177c9}.colhead.filter-active{box-shadow:inset 0 -3px #1177c9}
.cxFilterPopup{position:absolute;z-index:99990;width:330px;max-width:calc(100vw - 16px);background:#fff;border:1px solid #b9cbd9;border-radius:10px;box-shadow:0 12px 30px rgba(0,0,0,.2);padding:10px;direction:rtl;font-family:Tahoma,Arial,sans-serif;color:#17324d}.cxFilterTitle{font-weight:700;padding:3px 2px 8px}.cxFilterSearch{box-sizing:border-box;width:100%;height:36px;border:1px solid #b7c9d8;border-radius:7px;padding:0 9px;font-size:14px;outline:none}.cxFilterSearch:focus{border-color:#1177c9;box-shadow:0 0 0 2px rgba(17,119,201,.12)}.cxFilterQuick{display:flex;gap:6px;margin:8px 0}.cxFilterQuick button,.cxFilterFoot button,.cxColorFilter button{border:1px solid #c8d5df;background:#f7fafc;border-radius:6px;padding:6px 9px;cursor:pointer}.cxFilterValues{height:210px;overflow:auto;border:1px solid #dbe4eb;border-radius:7px;background:#fff}.cxFilterValues label{display:flex;align-items:center;gap:8px;padding:6px 8px;border-bottom:1px solid #eef2f5;cursor:pointer;min-height:28px}.cxFilterValues label:hover{background:#f4f9fd}.cxFilterValues input{width:16px;height:16px}.cxFilterValues span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cxFilterMore{padding:8px;color:#64748b;font-size:12px}.cxColorFilter{margin-top:9px}.cxColorFilter>b{display:block;font-size:12px;margin-bottom:5px}.cxColorFilterList{display:flex;gap:5px;overflow:auto;padding-bottom:3px}.cxColorFilter .colorChoice{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;padding:5px 7px}.cxColorFilter .colorChoice.active{outline:2px solid #1177c9;border-color:#1177c9}.cxColorFilter .swatch{width:18px;height:18px;border:1px solid #999;border-radius:4px;display:inline-block}.noColorMark{width:18px;height:18px;border:1px solid #bbb;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;background:#fff;color:#777}.cxFilterFoot{display:flex;gap:7px;justify-content:flex-end;margin-top:10px}.cxFilterFoot .primary{background:#1177c9;color:#fff;border-color:#1177c9}
.cellActions{display:flex;gap:7px;flex-wrap:wrap;align-items:center}.cxColorPalette{position:absolute;z-index:99991;width:235px;background:#fff;border:1px solid #b9cbd9;border-radius:10px;box-shadow:0 12px 30px rgba(0,0,0,.2);padding:10px;direction:rtl;font-family:Tahoma,Arial,sans-serif}.cxPaletteTitle{font-weight:700;margin-bottom:8px}.cxPaletteGrid{display:grid;grid-template-columns:repeat(7,27px);gap:5px;direction:ltr}.cxPaletteGrid button{width:27px;height:27px;border:1px solid #9daab5;border-radius:5px;cursor:pointer}.cxPaletteGrid button:hover{outline:2px solid #1177c9}.cxPaletteCustom{display:flex;gap:6px;margin-top:9px}.cxPaletteCustom input[type=color]{width:44px;height:34px;padding:2px;border:1px solid #bdcbd6;border-radius:6px}.cxPaletteCustom button,.cxClearColor{height:34px;border:1px solid #c2d1dc;border-radius:6px;background:#f7fafc;cursor:pointer;padding:0 10px}.cxClearColor{width:100%;margin-top:7px}.grid td{background-clip:padding-box}
@media(max-width:600px){.cxFilterPopup{width:300px}.cxFilterValues{height:180px}.cellActions button{min-height:38px}}


/* v13: keep Excel header row #1 pinned directly under the column-letter bar. */
.grid tbody tr:has(td[data-r="1"]) > td[data-r="1"]{
  position:sticky!important;
  top:30px!important;
  z-index:6!important;
}
.grid tbody tr:has(td[data-r="1"]) > th.rownum{
  position:sticky!important;
  top:30px!important;
  left:0!important;
  z-index:8!important;
}
.grid tbody tr:has(td[data-r="1"]) > td[data-r="1"],
.grid tbody tr:has(td[data-r="1"]) > th.rownum{
  box-shadow:inset 0 -1px 0 #9aa7b2;
}
@media(max-width:700px){
  .grid tbody tr:has(td[data-r="1"]) > td[data-r="1"],
  .grid tbody tr:has(td[data-r="1"]) > th.rownum{top:29px!important;}
}

/* v14: expanded palette + always use the site's cell typography while editing/pasting. */
.cxColorPalette{width:285px}
.cxPaletteGrid{grid-template-columns:repeat(8,27px)}
.grid td.editing,.grid td.editing *{font-family:inherit!important;font-size:inherit!important;font-weight:inherit!important;font-style:inherit!important;text-decoration:inherit!important;color:inherit!important;background:transparent!important}
.grid td.editing{background-color:inherit!important}
@media(max-width:600px){.cxColorPalette{width:min(300px,calc(100vw - 24px))}.cxPaletteGrid{grid-template-columns:repeat(8,27px)}}


/* v16: all spreadsheet data cells always use Excel-like Calibri 18 Bold. */
.grid td{
  font-family:Calibri,"Segoe UI",Arial,sans-serif !important;
  font-size:18px !important;
  font-weight:700 !important;
  line-height:1.2 !important;
}
.grid td.editing{font-family:Calibri,"Segoe UI",Arial,sans-serif !important;font-size:18px !important;font-weight:700 !important;}
.cxActiveTool{background:#fff3bf!important;border-color:#d4a017!important;box-shadow:inset 0 0 0 2px rgba(212,160,23,.18)!important;}
.cxToolMenu{position:absolute;z-index:100200;min-width:220px;padding:6px;background:#fff;border:1px solid #cbd5e1;border-radius:9px;box-shadow:0 8px 24px rgba(0,0,0,.16);direction:rtl;font-family:Tahoma,Arial,sans-serif}
.cxToolMenu button{display:block;width:100%;padding:9px 11px;border:0;background:#fff;text-align:right;border-radius:6px;cursor:pointer;font-size:13px;color:#172033}
.cxToolMenu button:hover{background:#eef6ff}
.cxHideColumnFilters .colFilterBtn{display:none!important}

#cxCopyImage{font-family:Calibri,Arial,sans-serif;font-weight:700}


/* v18: clearer Excel-like clear menu and Undo button */
.cxToolMenu.cxClearMenuV18{min-width:310px;padding:6px}
.cxToolMenu.cxClearMenuV18 button{display:flex;align-items:center;gap:10px;width:100%;text-align:right;padding:9px 10px;border:0;background:#fff;border-radius:6px;cursor:pointer}
.cxToolMenu.cxClearMenuV18 button:hover{background:#eef6ff}
.cxToolMenu.cxClearMenuV18 button span:last-child{display:flex;flex-direction:column;gap:2px;min-width:0}
.cxToolMenu.cxClearMenuV18 small{font-size:11px;font-weight:400;color:#667085;white-space:normal}
.cxClearIcon{width:28px;height:28px;border:1px solid #cbd5e1;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;flex:0 0 28px;background:#f8fafc}
.cxRowIcon{color:#d92d20}.cxColIcon{color:#1570ef}.cxCellIcon{color:#475467}
#cxUndoBtn:disabled{opacity:.45;cursor:not-allowed}


/* v19 Excel-like delete icons */
.cxClearMenuV19 button{display:flex!important;align-items:center;gap:10px;text-align:right;min-width:310px;padding:8px 10px}
.cxClearMenuV19 button span:last-child{display:flex;flex-direction:column;gap:2px}
.cxClearMenuV19 small{font-size:11px;color:#667085;font-weight:400}
.cxExcelDeleteIcon{position:relative;width:24px;height:24px;flex:0 0 24px;border:1px solid #9aa4b2;background:repeating-linear-gradient(to bottom,#fff 0 5px,#dbe3ec 5px 6px)}
.cxExcelDeleteIcon:after{content:'×';position:absolute;right:-7px;top:-10px;color:#e2231a;font:bold 18px Arial;background:white;line-height:16px}
.cxDelRows:before{content:'';position:absolute;left:0;right:0;top:8px;height:6px;background:#1496db}
.cxDelCols{background:repeating-linear-gradient(to right,#fff 0 5px,#dbe3ec 5px 6px)}
.cxDelCols:before{content:'';position:absolute;top:0;bottom:0;left:8px;width:6px;background:#1496db}
.cxClearCellsOnly:before{content:'⌫';position:absolute;inset:0;display:grid;place-items:center;font:bold 15px Arial;color:#344054;background:#fff}
.cxClearCellsOnly:after{display:none}
.cxBroomMini{display:inline-block;width:15px;height:15px;position:relative;margin-inline-end:4px;transform:rotate(-35deg)}
.cxBroomMini:before{content:'';position:absolute;width:3px;height:11px;background:#805a35;left:6px;top:0;border-radius:2px}
.cxBroomMini:after{content:'';position:absolute;width:11px;height:6px;background:#f0b429;left:2px;bottom:0;border-radius:1px 1px 4px 4px}
/* v24: Excel colors stay authoritative; duplicate pink is applied only by JS in Containers. */
.grid tbody tr:has(td[data-r="1"]) > td[data-r="1"]{background-clip:padding-box;}


/* v26 */
.cxDeletingBusy{cursor:progress!important}.cxDeletingBusy button{pointer-events:none}
.cxCancelSortBtn{display:inline-flex;align-items:center;gap:6px;font-weight:700}
.cxCancelSortIcon{width:17px;height:17px;display:inline-block;position:relative}
.cxCancelSortIcon:before{content:'';position:absolute;left:1px;top:2px;width:11px;height:10px;border:2px solid currentColor;border-top:none;clip-path:polygon(0 0,100% 0,62% 45%,62% 100%,38% 100%,38% 45%)}
.cxCancelSortIcon:after{content:'×';position:absolute;right:-1px;top:-6px;font-size:15px;font-weight:900;line-height:1}
/* v24: Excel colors stay authoritative; duplicate pink is applied only by JS in Containers. */
.grid tbody tr:has(td[data-r="1"]) > td[data-r="1"]{background-clip:padding-box;}


/* v25 sheet-to-sheet move buttons */
/* v28 — English UI + clearer action buttons / nicer organization */
.topbar{padding:10px 16px;min-height:64px;height:auto}
.brand b{font-size:28px;line-height:1}
.brand small{font-size:12px}
.settingsBtn{height:38px;padding:0 16px;border-radius:12px;border:1px solid #b5c7d8;background:#ffffff;box-shadow:0 2px 10px rgba(15,23,42,.05)}
.toolbar{padding:14px 14px 12px;background:linear-gradient(180deg,#ffffff,#fbfdff)}
.searchWrap{max-width:800px}
.searchWrap input{height:46px;border-radius:14px;font-size:17px}
.cellActions{display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px;direction:ltr}
.cxActionGroup{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:8px;background:#f8fbfe;border:1px solid #dbe6ef;border-radius:16px;box-shadow:0 3px 12px rgba(15,23,42,.04)}
.cellActions button{height:40px;padding:0 15px;border-radius:12px;border:1px solid #c7d4df;background:#fff;color:#223243;font-family:"Segoe UI",Calibri,Arial,sans-serif;font-size:14px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:8px;box-shadow:0 1px 3px rgba(15,23,42,.04)}
.cellActions button:hover:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(15,23,42,.08)}
.cellActions button:active:active{transform:translateY(0)}
.cxV28BtnIcon{font-size:16px;line-height:1}
#mergeCells{background:#eaf4ff;color:#0b5cab;border-color:#9fc6f0}
#unmergeCells{background:#f8fafc;color:#475467;border-color:#cdd7e1}
#cxFormatPainter{background:#fff7e8;color:#a15c00;border-color:#f0c677}
#cellColorBtn{background:#fff4f4;color:#b42318;border-color:#f3b0aa}
#cxCopyImage{background:#eef4ff;color:#364fc7;border-color:#bac8ff}
#cxTopFilter{background:#f3efff;color:#6b21a8;border-color:#d6bbfb}
#cxCancelSortBtn{background:#eefaf1;color:#15803d;border-color:#a7f3d0}
#cxClearCells{background:#fff1f2;color:#c81e1e;border-color:#fecdd3}
#cxUndoBtn{background:#fffbeb;color:#a16207;border-color:#fde68a}
.hint{font-size:12px;margin-top:8px;color:#637381}
.topStatus{gap:12px}
.tabs{gap:8px;padding:8px 10px}
.tabs button{height:36px;border-radius:12px;border:1px solid #d6dee6;background:#f7fafc;padding:0 18px;box-shadow:0 1px 2px rgba(15,23,42,.04)}
.tabs button.active{box-shadow:0 8px 18px rgba(17,119,201,.18)}
.settingsDialog,.settingsCard,.cxToolMenu,.cxColorPalette,.cxFilterPopup{direction:ltr}
.settingsHead{font-size:18px}
.settingsBody,.updateNote,.versionLine,.installedUpdate{font-family:"Segoe UI",Arial,sans-serif}
.settingsBody input[type=file]{padding:10px}
.cxToolMenu button{text-align:left}
.cxToolMenu.cxClearMenuV18 button,.cxToolMenu.cxClearMenuV19 button{text-align:left}
.cxToolMenu.cxClearMenuV18 button span:last-child,.cxToolMenu.cxClearMenuV19 button span:last-child{align-items:flex-start}
.cxFilterFoot{justify-content:flex-end}
.cxFilterValues label{direction:ltr}
@media (max-width:900px){
  .brand b{font-size:22px}
  .topbar{padding:8px 10px}
  .cellActions{justify-content:flex-start}
  .cxActionGroup{width:100%;justify-content:flex-start}
}
@media (max-width:700px){
  .brand b{font-size:16px}
  .brand small{display:block;font-size:10px}
  .settingsBtn{height:34px;padding:0 12px}
  .cellActions button{height:38px;font-size:13px;padding:0 12px}
  .cxActionGroup{padding:7px;border-radius:14px}
}


/* v30: keep Excel fills at full strength; no opacity/filter is applied to data-cell colors. */
.grid td{opacity:1!important;filter:none!important;background-blend-mode:normal!important;}
.grid td:not(.selected){box-shadow:none;}
.grid td.selected{box-shadow:inset 0 0 0 9999px rgba(60,149,230,.10),inset 0 0 0 2px #0f73c8;}


/* v31 — darker Excel-like grid lines and solid fills */
:root{--line:#A6A6A6}
.grid{border-collapse:separate;border-spacing:0;border:1px solid #000 !important}
.grid th,.grid td{border-right:1px solid #A6A6A6 !important;border-bottom:1px solid #A6A6A6 !important}
.grid tr > *:first-child{border-left:1px solid #000 !important}
.grid tr > *:last-child{border-right:1px solid #000 !important}
.grid tr:first-child > *{border-top:1px solid #000 !important}
.grid tr:last-child > *{border-bottom:1px solid #000 !important}
.grid .corner,.grid .rownum,.grid .colhead{background:#f3f3f3;border-color:#A6A6A6 !important}
.grid .colhead{border-bottom:1px solid #000 !important}
.grid tbody tr:has(td[data-r="1"]) > td[data-r="1"],
.grid tbody tr:has(td[data-r="1"]) > th.rownum{border-bottom:1px solid #000 !important}
.grid td{background-clip:border-box}


/* v32 — make all grid lines black and more visible like Excel */
:root{--line:#000000 !important}
.grid{border:1.5px solid #000000 !important}
.grid th,.grid td{
  border-right:1px solid #000000 !important;
  border-bottom:1px solid #000000 !important;
}
.grid tr > *:first-child{border-left:1px solid #000000 !important}
.grid tr:first-child > *{border-top:1px solid #000000 !important}
.grid tr > *:last-child{border-right:1px solid #000000 !important}
.grid tr:last-child > *{border-bottom:1px solid #000000 !important}
.grid .corner,.grid .rownum,.grid .colhead{
  border-right:1px solid #000000 !important;
  border-bottom:1px solid #000000 !important;
  border-top:1px solid #000000 !important;
}
.grid td,.grid th{box-shadow:none !important}
.grid .colhead{border-bottom:1.5px solid #000000 !important}
.grid tbody tr:has(td[data-r="1"]) > td[data-r="1"],
.grid tbody tr:has(td[data-r="1"]) > th.rownum{
  border-bottom:1.5px solid #000000 !important;
}


/* v34 FAST — Excel-like borders: populated cells black, blank cells light gray */
:root{--line:#D9D9D9 !important}
.grid{border:1px solid #BFBFBF !important}
.grid td{
  border-right:1px solid #D9D9D9 !important;
  border-bottom:1px solid #D9D9D9 !important;
  border-left:0 !important;
  border-top:0 !important;
}
.grid td:not(:empty){
  border-right:1px solid #000000 !important;
  border-bottom:1px solid #000000 !important;
  border-left:1px solid #000000 !important;
  border-top:1px solid #000000 !important;
}
.grid td:empty{border-color:#D9D9D9 !important}
.grid .corner,.grid .rownum,.grid .colhead{
  border-color:#BFBFBF !important;
  background:#F3F3F3 !important;
}
.grid .colhead{border-bottom:1px solid #BFBFBF !important}
.grid tbody tr:has(td[data-r="1"]) > td[data-r="1"]:not(:empty){border-color:#000 !important}
.grid tbody tr:has(td[data-r="1"]) > th.rownum{border-color:#BFBFBF !important}

/* ===== v40 stable direct-base UI ===== */
.topbar{min-height:44px!important;height:44px!important;padding:4px 10px!important;background:linear-gradient(90deg,#bfd5e7 0%,#d7e6f2 48%,#eef5fb 100%)!important;border-bottom:1px solid #a7bdcf!important}
.topbar .brand b{font-size:17px!important;color:#17324d!important;line-height:1!important}
.topbar .brand small{display:none!important}
.logo{background:transparent!important;width:32px!important;height:30px!important;border-radius:0!important;overflow:hidden!important}
.logo img{width:32px!important;height:29px!important;object-fit:contain!important}
.topStatus{display:flex!important;align-items:center!important;gap:8px!important;direction:ltr!important;flex-wrap:nowrap!important}
.settingsBtn{height:30px!important;padding:0 14px!important;border-radius:10px!important;border:1px solid #2c6da9!important;background:linear-gradient(180deg,#4f93d5,#2c6da9)!important;color:#fff!important;font-size:13px!important;font-weight:800!important}
.sourceState{min-width:250px;padding:5px 12px!important;border:1px solid #b3c9da!important;border-radius:10px!important;background:rgba(255,255,255,.74)!important;color:#1f3c58!important;font-size:12px!important;text-align:center!important;direction:ltr!important;white-space:nowrap!important}
#cx40Connected{height:28px;padding:0 12px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#34c759,#23a143);color:#fff;border:1px solid #1f8c39;font-size:12px;font-weight:800}
.saveState{display:none!important}
.tabs{height:52px!important;overflow:hidden!important;scrollbar-width:none!important;-ms-overflow-style:none!important;padding:8px 10px!important;gap:8px!important;align-items:center!important}
.tabs::-webkit-scrollbar{display:none!important}
.tabs button{height:36px!important;min-width:110px!important;max-width:110px!important;border-radius:12px!important}
#cx40LogoutBtn,#cx40Rollback{height:35px;border:1px solid #d0d7df;background:#fff;border-radius:8px;padding:0 13px;font-family:inherit;font-weight:700;cursor:pointer}
#cx40LogoutBtn{border-color:#d97706;background:#fff7ed;color:#9a3412}

/* login */
#cx40Login{position:fixed;inset:0;z-index:999999;background:linear-gradient(180deg,#f7f9fb,#eef2f6);display:flex;align-items:center;justify-content:center;padding:18px;direction:rtl}
.cx40LoginStage{width:min(620px,100%);display:flex;flex-direction:column;align-items:center}
.cx40LoginLogo{width:138px;height:auto;object-fit:contain;display:block;margin-bottom:6px}
.cx40Version{color:#1d6cff;border:1.5px solid #2979ff;background:#fff;border-radius:999px;padding:5px 16px;font:800 14px/1 "Segoe UI",Arial,sans-serif;margin:4px 0 10px}
.cx40Card{width:min(470px,100%);background:#fff;border:1px solid #e0e6ed;border-radius:27px;padding:30px 34px 28px;box-shadow:0 22px 60px rgba(30,55,80,.11)}
.cx40UserIcon{width:54px;height:54px;border-radius:50%;background:#eaf2ff;border:1px solid #d7e6ff;color:#2272f4;display:grid;place-items:center;margin:0 auto 9px;font-size:25px}
.cx40Card h1{margin:0;text-align:center;font-size:24px;color:#26364a}
.cx40Card p{text-align:center;color:#8490a1;font-size:12px;margin:6px 0 20px}
.cx40Card>label{display:block;color:#3b4b61;font-size:14px;font-weight:800;margin:0 0 6px}
.cx40Field{position:relative;margin-bottom:15px}
.cx40Field input{width:100%;height:56px;border:1px solid #d2dce8;border-radius:15px;background:#fff;padding:0 48px;font-size:17px;outline:none}
.cx40Field>span{position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:18px;z-index:2}
#cx40Eye{position:absolute;left:10px;top:50%;transform:translateY(-50%);width:36px;height:36px;border:0;background:transparent;cursor:pointer;font-size:18px}
.cx40Remember{display:flex!important;align-items:center;gap:7px;margin:2px 0 18px!important;font-weight:400!important}
.cx40LoginBtn{width:100%;height:56px;border:0;border-radius:15px;background:linear-gradient(90deg,#3582f8,#1d63df);color:#fff;font-size:18px;font-weight:800;cursor:pointer}
#cx40Msg{min-height:20px;text-align:center;color:#c62828;font-size:12px;font-weight:700;margin-top:10px}
.cx40Footer{font-size:12px;color:#5d6a7b;margin-top:14px}

/* ===== v41: login first; no startup loading overlay ===== */
#cxLoadingOverlay{display:none!important}
.cx41Locked{visibility:hidden!important}

#cx41Login{
  position:fixed;inset:0;z-index:1000000;
  background:linear-gradient(180deg,#f7f9fb,#eef2f6);
  display:flex;align-items:center;justify-content:center;
  padding:18px;direction:rtl;
}
#cx41Login.done{opacity:0;transition:opacity .22s ease;pointer-events:none}
.cx41LoginStage{width:min(620px,100%);display:flex;flex-direction:column;align-items:center}
.cx41LoginLogo{width:138px;height:auto;object-fit:contain;display:block;margin-bottom:6px}
.cx41Version{color:#1d6cff;border:1.5px solid #2979ff;background:#fff;border-radius:999px;padding:5px 16px;font:800 14px/1 "Segoe UI",Arial,sans-serif;margin:4px 0 10px}
.cx41Card{width:min(470px,100%);background:#fff;border:1px solid #e0e6ed;border-radius:27px;padding:30px 34px 28px;box-shadow:0 22px 60px rgba(30,55,80,.11)}
.cx41UserIcon{width:54px;height:54px;border-radius:50%;background:#eaf2ff;border:1px solid #d7e6ff;color:#2272f4;display:grid;place-items:center;margin:0 auto 9px;font-size:25px}
.cx41Card h1{margin:0;text-align:center;font-size:24px;color:#26364a}
.cx41Card p{text-align:center;color:#8490a1;font-size:12px;margin:6px 0 20px}
.cx41Card>label{display:block;color:#3b4b61;font-size:14px;font-weight:800;margin:0 0 6px}
.cx41Field{position:relative;margin-bottom:15px}
.cx41Field input{width:100%;height:56px;border:1px solid #d2dce8;border-radius:15px;background:#fff;padding:0 48px;font-size:17px;outline:none}
.cx41Field>span{position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:18px;z-index:2}
#cx41Eye{position:absolute;left:10px;top:50%;transform:translateY(-50%);width:36px;height:36px;border:0;background:transparent;cursor:pointer;font-size:18px}
.cx41Remember{display:flex!important;align-items:center;gap:7px;margin:2px 0 18px!important;font-weight:400!important}
.cx41LoginBtn{width:100%;height:56px;border:0;border-radius:15px;background:linear-gradient(90deg,#3582f8,#1d63df);color:#fff;font-size:18px;font-weight:800;cursor:pointer}
#cx41Msg{min-height:20px;text-align:center;color:#c62828;font-size:12px;font-weight:700;margin-top:10px}
.cx41Footer{font-size:12px;color:#5d6a7b;margin-top:14px}

#cx41Connected{
  height:28px;padding:0 12px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;
  background:linear-gradient(180deg,#34c759,#23a143);color:#fff;border:1px solid #1f8c39;font-size:12px;font-weight:800;
}
#cx41LogoutBtn{
  height:35px;border:1px solid #d97706;background:#fff7ed;color:#9a3412;border-radius:8px;
  padding:0 13px;font-family:inherit;font-weight:700;cursor:pointer;
}

/* ===== v42 final recorded UI changes ===== */

/* Header: logo + Container X only */
.topbar{
  min-height:44px!important;
  height:44px!important;
  padding:4px 10px!important;
  background:linear-gradient(90deg,#bcd3e6 0%,#d5e5f1 46%,#eef5fb 100%)!important;
  border-bottom:1px solid #a7bdcf!important;
}
.topbar .brand{gap:7px!important}
.topbar .brand b{font-size:17px!important;color:#17324d!important;line-height:1!important}
.topbar .brand small{display:none!important}
.logo{
  width:36px!important;
  height:34px!important;
  min-width:36px!important;
  padding:2px!important;
  background:transparent!important;
  border-radius:0!important;
  overflow:visible!important;
}
.logo img{
  width:100%!important;
  height:100%!important;
  display:block!important;
  object-fit:contain!important;
}

/* Left status area in English */
.topStatus{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  direction:ltr!important;
  flex-wrap:nowrap!important;
}
.settingsBtn{
  height:30px!important;
  padding:0 14px!important;
  border-radius:10px!important;
  border:1px solid #2c6da9!important;
  background:linear-gradient(180deg,#4f93d5,#2c6da9)!important;
  color:#fff!important;
  font-size:13px!important;
  font-weight:800!important;
}
.sourceState{
  min-width:250px;
  padding:5px 12px!important;
  border:1px solid #b3c9da!important;
  border-radius:10px!important;
  background:rgba(255,255,255,.76)!important;
  color:#1f3c58!important;
  font-size:12px!important;
  text-align:center!important;
  direction:ltr!important;
  white-space:nowrap!important;
}
#cx42Connected{
  height:28px;
  padding:0 12px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(180deg,#34c759,#23a143);
  color:#fff;
  border:1px solid #1f8c39;
  font-size:12px;
  font-weight:800;
}
.saveState{display:none!important}

/* Search only */
.searchWrap input::placeholder{color:#667085}
.hint{display:none!important}

/* Remove "All rows are shown" text while keeping pager space when needed */
#sheetTitle{display:none!important}
.sheetTop{justify-content:flex-end!important}
.sheetTop:has(.pager:empty){height:0!important;min-height:0!important;padding:0!important;border:0!important}

/* Fixed sheet tabs, no scrollbar */
.tabs{
  height:52px!important;
  overflow:hidden!important;
  scrollbar-width:none!important;
  -ms-overflow-style:none!important;
  padding:8px 10px!important;
  gap:8px!important;
  align-items:center!important;
}
.tabs::-webkit-scrollbar{display:none!important}
.tabs button{
  height:36px!important;
  min-width:110px!important;
  max-width:110px!important;
  border-radius:12px!important;
}

/* Settings */
#cx42LogoutBtn{
  height:35px;
  border:1px solid #d97706;
  background:#fff7ed;
  color:#9a3412;
  border-radius:8px;
  padding:0 13px;
  font-family:inherit;
  font-weight:700;
  cursor:pointer;
}
#cx42Rollback{
  height:35px;
  border:1px solid #64748b;
  background:#f8fafc;
  color:#334155;
  border-radius:8px;
  padding:0 13px;
  font-family:inherit;
  font-weight:700;
  cursor:pointer;
}

/* Login first */
.cx42Locked{visibility:hidden!important}
#cx42Login{
  position:fixed;
  inset:0;
  z-index:1000000;
  background:linear-gradient(180deg,#f7f9fb,#eef2f6);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
  direction:rtl;
}
#cx42Login.done{opacity:0;transition:opacity .22s ease;pointer-events:none}
.cx42LoginStage{width:min(620px,100%);display:flex;flex-direction:column;align-items:center}

/* Extra space around logo prevents cropping */
.cx42LogoBox{
  width:170px;
  height:145px;
  padding:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:visible;
}
.cx42LoginLogo{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}
.cx42Version{
  color:#1d6cff;
  border:1.5px solid #2979ff;
  background:#fff;
  border-radius:999px;
  padding:5px 16px;
  font:800 14px/1 "Segoe UI",Arial,sans-serif;
  margin:0 0 10px;
}
.cx42Card{
  width:min(470px,100%);
  background:#fff;
  border:1px solid #e0e6ed;
  border-radius:27px;
  padding:30px 34px 28px;
  box-shadow:0 22px 60px rgba(30,55,80,.11);
}
.cx42UserIcon{
  width:54px;height:54px;border-radius:50%;
  background:#eaf2ff;border:1px solid #d7e6ff;
  color:#2272f4;display:grid;place-items:center;
  margin:0 auto 9px;font-size:25px;
}
.cx42Card h1{margin:0;text-align:center;font-size:24px;color:#26364a}
.cx42Card p{text-align:center;color:#8490a1;font-size:12px;margin:6px 0 20px}
.cx42Card>label{display:block;color:#3b4b61;font-size:14px;font-weight:800;margin:0 0 6px}
.cx42Field{position:relative;margin-bottom:15px}
.cx42Field input{
  width:100%;height:56px;border:1px solid #d2dce8;border-radius:15px;background:#fff;
  padding:0 48px;font-size:17px;outline:none;
}
.cx42Field>span{position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:18px;z-index:2}
#cx42Eye{
  position:absolute;left:10px;top:50%;transform:translateY(-50%);
  width:36px;height:36px;border:0;background:transparent;cursor:pointer;font-size:18px;
}
.cx42Remember{display:flex!important;align-items:center;gap:7px;margin:2px 0 18px!important;font-weight:400!important}
.cx42LoginBtn{
  width:100%;height:56px;border:0;border-radius:15px;
  background:linear-gradient(90deg,#3582f8,#1d63df);
  color:#fff;font-size:18px;font-weight:800;cursor:pointer;
}
#cx42Msg{min-height:20px;text-align:center;color:#c62828;font-size:12px;font-weight:700;margin-top:10px}
.cx42Footer{font-size:12px;color:#5d6a7b;margin-top:14px}

@media(max-width:700px){
  .topbar{height:40px!important;min-height:40px!important;padding:3px 7px!important}
  .topbar .brand b{font-size:14px!important}
  .settingsBtn{height:27px!important;padding:0 10px!important;font-size:11px!important}
  .sourceState{min-width:125px;max-width:165px;overflow:hidden;text-overflow:ellipsis}
  #cx42Connected{height:25px;padding:0 9px;font-size:11px}
  .tabs button{min-width:96px!important;max-width:96px!important;height:34px!important}
  .cx42LogoBox{width:145px;height:125px;padding:10px}
}


/* ===== v43 full logo in login + top bar ===== */
.topbar .brand{
  display:flex!important;
  align-items:center!important;
  min-width:220px!important;
}
.topbar .brand > div:not(.logoFull){display:none!important}
.logoFull{
  width:220px!important;
  height:34px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  overflow:visible!important;
}
.logoFull img{
  max-width:100%!important;
  max-height:100%!important;
  width:auto!important;
  height:32px!important;
  display:block!important;
  object-fit:contain!important;
}

#cx43Connected{
  height:28px;
  padding:0 12px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(180deg,#34c759,#23a143);
  color:#fff;
  border:1px solid #1f8c39;
  font-size:12px;
  font-weight:800;
}
#cx43LogoutBtn{
  height:35px;
  border:1px solid #d97706;
  background:#fff7ed;
  color:#9a3412;
  border-radius:8px;
  padding:0 13px;
  font-family:inherit;
  font-weight:700;
  cursor:pointer;
}

/* login */
.cx43Locked{visibility:hidden!important}
#cx43Login{
  position:fixed;
  inset:0;
  z-index:1000000;
  background:linear-gradient(180deg,#f7f9fb,#eef2f6);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
  direction:rtl;
}
#cx43Login.done{opacity:0;transition:opacity .22s ease;pointer-events:none}
.cx43LoginStage{width:min(700px,100%);display:flex;flex-direction:column;align-items:center}
.cx43LogoBox{
  width:320px;
  height:190px;
  padding:10px 14px 4px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:visible;
}
.cx43LoginLogo{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}
.cx43Version{
  color:#1d6cff;
  border:1.5px solid #2979ff;
  background:#fff;
  border-radius:999px;
  padding:5px 16px;
  font:800 14px/1 "Segoe UI",Arial,sans-serif;
  margin:0 0 10px;
}
.cx43Card{
  width:min(470px,100%);
  background:#fff;
  border:1px solid #e0e6ed;
  border-radius:27px;
  padding:30px 34px 28px;
  box-shadow:0 22px 60px rgba(30,55,80,.11);
}
.cx43UserIcon{
  width:54px;height:54px;border-radius:50%;
  background:#eaf2ff;border:1px solid #d7e6ff;
  color:#2272f4;display:grid;place-items:center;
  margin:0 auto 9px;font-size:25px;
}
.cx43Card h1{margin:0;text-align:center;font-size:24px;color:#26364a}
.cx43Card p{text-align:center;color:#8490a1;font-size:12px;margin:6px 0 20px}
.cx43Card>label{display:block;color:#3b4b61;font-size:14px;font-weight:800;margin:0 0 6px}
.cx43Field{position:relative;margin-bottom:15px}
.cx43Field input{
  width:100%;height:56px;border:1px solid #d2dce8;border-radius:15px;background:#fff;
  padding:0 48px;font-size:17px;outline:none;
}
.cx43Field>span{position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:18px;z-index:2}
#cx43Eye{
  position:absolute;left:10px;top:50%;transform:translateY(-50%);
  width:36px;height:36px;border:0;background:transparent;cursor:pointer;font-size:18px;
}
.cx43Remember{display:flex!important;align-items:center;gap:7px;margin:2px 0 18px!important;font-weight:400!important}
.cx43LoginBtn{
  width:100%;height:56px;border:0;border-radius:15px;
  background:linear-gradient(90deg,#3582f8,#1d63df);
  color:#fff;font-size:18px;font-weight:800;cursor:pointer;
}
#cx43Msg{min-height:20px;text-align:center;color:#c62828;font-size:12px;font-weight:700;margin-top:10px}
.cx43Footer{font-size:12px;color:#5d6a7b;margin-top:14px}

@media(max-width:700px){
  .logoFull{width:150px!important;height:30px!important}
  .logoFull img{height:26px!important}
  .cx43LogoBox{width:250px;height:150px;padding:8px}
}


/* ===== v44 refined topbar + compact excel-style actions ===== */

/* top brand with logo + text */
.topbar{
  min-height:42px!important;
  height:42px!important;
  padding:4px 10px!important;
}
.brandWrap{
  display:flex;
  align-items:center;
  gap:8px;
}
.brandLogo{
  width:28px;
  height:28px;
  object-fit:contain;
  display:block;
}
.brandText{
  font:800 19px/1 "Segoe UI", Arial, sans-serif;
  color:#17324d;
  letter-spacing:.2px;
}
.topbar .brand{
  display:flex!important;
  align-items:center!important;
  min-width:220px!important;
}
.topStatus{gap:8px!important}
.settingsBtn{
  height:28px!important;
  padding:0 12px!important;
  border-radius:9px!important;
  font-size:12px!important;
}
.settingsBtn .cxBtnI{font-size:13px;line-height:1}
.sourceState{
  min-width:240px!important;
  padding:4px 10px!important;
  font-size:12px!important;
}
#cx44Connected{
  height:26px;
  padding:0 11px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(180deg,#34c759,#23a143);
  color:#fff;
  border:1px solid #1f8c39;
  font-size:12px;
  font-weight:800;
}

/* remove strip under actions */
.sheetTop{
  display:none!important;
}

/* compact action area */
.cellActions{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:8px;
  margin-top:10px;
}
.cxActionGroup{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:6px;
  padding:6px 8px;
  background:#f9fbfd;
  border:1px solid #d7e1ea;
  border-radius:14px;
  box-shadow:0 2px 8px rgba(15,23,42,.04);
}
.cellActions button{
  height:34px!important;
  padding:0 11px!important;
  border-radius:10px!important;
  font:700 13px/1 "Segoe UI", Calibri, Arial, sans-serif!important;
  gap:6px!important;
  box-shadow:0 1px 2px rgba(15,23,42,.05)!important;
}
.cellActions button:hover:hover{
  transform:translateY(-1px);
  box-shadow:0 4px 10px rgba(15,23,42,.08)!important;
}
.cxMiniIcon{
  width:16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
  line-height:1;
}
#mergeCells{background:#eaf4ff!important;color:#0b5cab!important;border-color:#9fc6f0!important}
#unmergeCells{background:#f3f4f6!important;color:#4b5563!important;border-color:#d1d5db!important}
#cxFormatPainter{background:#fff7e8!important;color:#a15c00!important;border-color:#f0c677!important}
#cellColorBtn{background:#fff4f4!important;color:#b42318!important;border-color:#f3b0aa!important}
#cxCopyImage{background:#eef4ff!important;color:#364fc7!important;border-color:#bac8ff!important}
#cxTopFilter{background:#f3efff!important;color:#6b21a8!important;border-color:#d6bbfb!important}
#cxCancelSortBtn{background:#eefaf1!important;color:#15803d!important;border-color:#a7f3d0!important}
#cxClearCells{background:#fff1f2!important;color:#c81e1e!important;border-color:#fecdd3!important}
#cxUndoBtn{background:#fffbeb!important;color:#a16207!important;border-color:#fde68a!important}

/* login class aliases for v44 */
.cx44Locked{visibility:hidden!important}
#cx44Login{
  position:fixed; inset:0; z-index:1000000; background:linear-gradient(180deg,#f7f9fb,#eef2f6);
  display:flex; align-items:center; justify-content:center; padding:18px; direction:rtl;
}
#cx44Login.done{opacity:0;transition:opacity .22s ease;pointer-events:none}
.cx44LoginStage{width:min(700px,100%);display:flex;flex-direction:column;align-items:center}
.cx44LogoBox{width:320px;height:190px;padding:10px 14px 4px;display:flex;align-items:center;justify-content:center;overflow:visible}
.cx44LoginLogo{width:100%;height:100%;object-fit:contain;display:block}
.cx44Version{color:#1d6cff;border:1.5px solid #2979ff;background:#fff;border-radius:999px;padding:5px 16px;font:800 14px/1 "Segoe UI",Arial,sans-serif;margin:0 0 10px}
.cx44Card{width:min(470px,100%);background:#fff;border:1px solid #e0e6ed;border-radius:27px;padding:30px 34px 28px;box-shadow:0 22px 60px rgba(30,55,80,.11)}
.cx44UserIcon{width:54px;height:54px;border-radius:50%;background:#eaf2ff;border:1px solid #d7e6ff;color:#2272f4;display:grid;place-items:center;margin:0 auto 9px;font-size:25px}
.cx44Card h1{margin:0;text-align:center;font-size:24px;color:#26364a}
.cx44Card p{text-align:center;color:#8490a1;font-size:12px;margin:6px 0 20px}
.cx44Card>label{display:block;color:#3b4b61;font-size:14px;font-weight:800;margin:0 0 6px}
.cx44Field{position:relative;margin-bottom:15px}
.cx44Field input{width:100%;height:56px;border:1px solid #d2dce8;border-radius:15px;background:#fff;padding:0 48px;font-size:17px;outline:none}
.cx44Field>span{position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:18px;z-index:2}
#cx44Eye{position:absolute;left:10px;top:50%;transform:translateY(-50%);width:36px;height:36px;border:0;background:transparent;cursor:pointer;font-size:18px}
.cx44Remember{display:flex!important;align-items:center;gap:7px;margin:2px 0 18px!important;font-weight:400!important}
.cx44LoginBtn{width:100%;height:56px;border:0;border-radius:15px;background:linear-gradient(90deg,#3582f8,#1d63df);color:#fff;font-size:18px;font-weight:800;cursor:pointer}
#cx44Msg{min-height:20px;text-align:center;color:#c62828;font-size:12px;font-weight:700;margin-top:10px}
.cx44Footer{font-size:12px;color:#5d6a7b;margin-top:14px}
#cx44LogoutBtn{
  height:35px;border:1px solid #d97706;background:#fff7ed;color:#9a3412;border-radius:8px;
  padding:0 13px;font-family:inherit;font-weight:700;cursor:pointer;
}

@media (max-width:900px){
  .brandText{font-size:17px}
  .cellActions{justify-content:flex-start}
  .cxActionGroup{width:100%;justify-content:flex-start}
}
@media (max-width:700px){
  .topbar{height:40px!important;min-height:40px!important;padding:3px 7px!important}
  .brandLogo{width:24px;height:24px}
  .brandText{font-size:14px}
  .settingsBtn{height:26px!important;padding:0 10px!important;font-size:11px!important}
  .sourceState{min-width:124px!important;max-width:160px!important;overflow:hidden;text-overflow:ellipsis}
  #cx44Connected{height:24px;padding:0 8px;font-size:11px}
  .cellActions button{height:32px!important;font-size:12px!important;padding:0 10px!important}
  .cxMiniIcon{font-size:13px}
  .cx44LogoBox{width:250px;height:150px;padding:8px}
}


/* ===== v45 final UI overrides ===== */
.cx45Brand{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  height:34px!important;
}
.cx45Brand img{
  width:32px!important;
  height:32px!important;
  object-fit:contain!important;
  display:block!important;
}
.cx45Brand span{
  font:800 18px/1 "Segoe UI",Arial,sans-serif!important;
  color:#17324d!important;
  white-space:nowrap!important;
}
.topbar .brand{
  min-width:180px!important;
  display:flex!important;
  align-items:center!important;
}
.sheetTop{display:flex!important;justify-content:flex-end!important}
.hint{display:none!important}

.cellActions{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex-wrap:wrap!important;
  gap:6px!important;
  margin-top:8px!important;
}
.cx45Group{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:5px!important;
  padding:5px 6px!important;
  border:1px solid #d9e2ea!important;
  border-radius:11px!important;
  background:#fbfdff!important;
  box-shadow:0 1px 4px rgba(15,23,42,.04)!important;
}
.cx45Btn,
.cellActions .cx45Btn{
  height:31px!important;
  min-height:31px!important;
  padding:0 9px!important;
  border-radius:8px!important;
  gap:5px!important;
  font:700 12px/1 "Segoe UI",Calibri,Arial,sans-serif!important;
  white-space:nowrap!important;
  box-shadow:none!important;
}
.cx45Btn:hover{transform:none!important;filter:brightness(.98)}
.cx45Icon{
  width:15px!important;
  min-width:15px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:13px!important;
  line-height:1!important;
}
#mergeCells{background:#e7f2ff!important;color:#075fae!important;border-color:#91bde9!important}
#unmergeCells{background:#f1f3f5!important;color:#495057!important;border-color:#ced4da!important}
#cxFormatPainter{background:#fff4df!important;color:#995700!important;border-color:#eec36c!important}
#cellColorBtn{background:#fff0f0!important;color:#b42318!important;border-color:#efa5a0!important}
#cxCopyImage{background:#eef1ff!important;color:#3b4cca!important;border-color:#b8c0f5!important}
#cxTopFilter{background:#f3edff!important;color:#6b21a8!important;border-color:#cfb2f5!important}
#cxCancelSortBtn{background:#eaf9ef!important;color:#137333!important;border-color:#9fd9b0!important}
#cxClearCells{background:#fff0f1!important;color:#c81e1e!important;border-color:#f1adb3!important}
#cxUndoBtn{background:#fff8df!important;color:#996000!important;border-color:#ead17a!important}

@media(max-width:700px){
  .cx45Brand img{width:27px!important;height:27px!important}
  .cx45Brand span{font-size:14px!important}
  .cx45Btn,.cellActions .cx45Btn{
    height:29px!important;min-height:29px!important;padding:0 7px!important;font-size:11px!important;
  }
  .cx45Group{gap:4px!important;padding:4px!important}
}


/* v47 transfer buttons rebuilt from zero */
.cx50TransferActions{display:inline-flex;gap:7px;align-items:center;flex-wrap:wrap}
.cx50TransferBtn{height:34px;padding:0 12px;border-radius:9px;border:1px solid #c8d3dd;font:700 13px "Segoe UI",Calibri,Arial,sans-serif;display:inline-flex;align-items:center;gap:7px;cursor:pointer}
.cx50TransferIcon{font-size:15px;line-height:1}
.cx50TransferBtn.cx50-archive{background:#eaf8ee;border-color:#92d2a2;color:#166534}
.cx50TransferBtn.cx50-cancel{background:#fff0f2;border-color:#f1a1ad;color:#b4233a}
.cx50TransferBtn.cx50-containers{background:#edf5ff;border-color:#a8c9f4;color:#1d4ed8}
.cx50TransferBtn:hover{filter:brightness(.98)}

.cxNoDataMessage{padding:70px 20px;text-align:center;font-size:22px;font-weight:700;color:#667085;direction:rtl}.gridWrap.cxNoData .grid{display:none!important}.gridWrap.cxNoData{display:block!important}.gridWrap.cxNoData .cxNoDataMessage{display:block!important}

/* v58: real no-data state */
.gridWrap.cxNoData{min-height:58vh!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important}.gridWrap.cxNoData .grid{display:none!important}.gridWrap.cxNoData .cxNoDataMessage{display:block!important;padding:0!important;text-align:center!important;font-size:28px!important;font-weight:800!important;color:#667085!important;direction:rtl!important}.cxNoDataMessage.hidden{display:none!important}


/* v60 startup: browser opens immediately; Excel is checked asynchronously. */
.cxStartupGate{display:none;position:fixed;inset:0;z-index:99999;align-items:center;justify-content:center;background:#fff;font-family:Arial,Tahoma,sans-serif;color:#1f2937}
body.cxStartupChecking .cxStartupGate{display:flex}
body.cxStartupChecking #app{visibility:hidden}
.cxStartupCard{display:flex;flex-direction:column;align-items:center;gap:14px;font-size:18px;font-weight:700}
.cxStartupSpinner{width:34px;height:34px;border:4px solid #d7e4ef;border-top-color:#129447;border-radius:50%;animation:cxSpin .75s linear infinite}
.cxStartupError{margin-top:8px;max-width:700px;padding:10px 14px;border:1px solid #e0e0e0;border-radius:8px;font-size:13px;font-weight:400;direction:ltr;text-align:left;white-space:pre-wrap}
@keyframes cxSpin{to{transform:rotate(360deg)}}
.cxExcelRefreshV64{background:#13a455!important;color:#fff!important;border-color:#0f8d49!important}
.cxExcelRefreshV64:disabled{opacity:.65;cursor:wait}
#gridWrap.cxV60NoData{min-height:420px;display:flex;align-items:center;justify-content:center}
#gridWrap.cxV60NoData #cxNoDataMessage{display:block!important;font-size:24px;font-weight:700;color:#5f6772;text-align:center}

/* v64 staged Excel import progress */
.cxStartupPercent{font-size:30px;font-weight:800;color:#0b8f4d;direction:ltr}.cxStartupBar{width:min(420px,72vw);height:12px;border-radius:999px;background:#dbe6ed;overflow:hidden;border:1px solid #c5d4de}.cxStartupFill{height:100%;width:0;background:#12a45a;transition:width .25s ease}.cxStartupFill.cxProgressError{background:#d83b3b!important}.cxStartupDetail{font-size:13px;font-weight:500;color:#64748b;max-width:min(560px,82vw);text-align:center;direction:ltr;word-break:break-word;min-height:18px}.cxStartupCard{min-width:min(460px,86vw)}


/* v67 bottom navigation + transfer layout */
.cxBottomBar{
  height:52px;
  flex:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:7px 10px;
  background:#fff;
  border-top:1px solid #ccd8e3;
  direction:ltr;
}
.cxBottomBar .tabs{
  height:auto!important;
  flex:0 0 auto;
  border-top:0!important;
  padding:0!important;
  background:transparent!important;
  overflow:visible!important;
}
.cxBottomTransfers{
  min-height:36px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:7px;
  flex-wrap:wrap;
  direction:ltr;
  margin-left:auto;
}
.cxBottomTransfers .cx50TransferActions{display:inline-flex;gap:7px;align-items:center;flex-wrap:wrap}
.cxBottomTransfers .cx50TransferBtn{height:34px!important}
.cxPageRefreshV67{background:#13a455!important;color:#fff!important;border-color:#0f8d49!important}
@media(max-width:700px){
  .cxBottomBar{height:auto;min-height:50px;gap:6px;padding:6px 7px;flex-wrap:wrap}
  .cxBottomBar .tabs{order:1}
  .cxBottomTransfers{order:2;margin-left:auto}
  .cxBottomTransfers .cx50TransferBtn{height:32px!important;padding:0 9px!important;font-size:12px!important}
}


/* ===== v70 uniform spreadsheet borders + reliable mouse range selection ===== */
.grid td.cxUsedGridCell{
  border-top:1px solid #666!important;
  border-right:1px solid #666!important;
  border-bottom:1px solid #666!important;
  border-left:1px solid #666!important;
}
.grid td.cxBlankGridCell{
  border-top:1px solid #d2d2d2!important;
  border-right:1px solid #d2d2d2!important;
  border-bottom:1px solid #d2d2d2!important;
  border-left:1px solid #d2d2d2!important;
}
body.cxGridSelecting,body.cxGridSelecting *{user-select:none!important;-webkit-user-select:none!important}
.grid td.selected{box-shadow:inset 0 0 0 9999px rgba(60,149,230,.16)!important}
.grid td.anchor{outline:2px solid var(--focus)!important;outline-offset:-2px!important}

/* ===== v71 modern stable toolbar ===== */
.cellActions{
  min-height:58px!important;
  flex-wrap:nowrap!important;
  gap:8px!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
  scrollbar-width:none;
  padding:4px 2px!important;
}
.cellActions::-webkit-scrollbar{display:none}
.cx45Group,.cxActionGroup{
  flex-wrap:nowrap!important;
  gap:6px!important;
  padding:6px!important;
  border:1px solid #e2e8f0!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.92)!important;
  box-shadow:0 4px 16px rgba(15,23,42,.06)!important;
}
.cellActions .cx71Btn,
.cx71Btn{
  height:42px!important;
  min-height:42px!important;
  padding:0 11px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  border:1px solid #dbe3ec!important;
  border-radius:13px!important;
  background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%)!important;
  color:#1f2937!important;
  font:700 12.5px/1 "Segoe UI",Calibri,Arial,sans-serif!important;
  white-space:nowrap!important;
  box-shadow:0 1px 2px rgba(15,23,42,.05),inset 0 1px 0 rgba(255,255,255,.9)!important;
  transform:none!important;
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease!important;
}
.cellActions .cx71Btn:hover{
  transform:none!important;
  background:#fff!important;
  border-color:#b8c7d6!important;
  box-shadow:0 4px 12px rgba(15,23,42,.08)!important;
}
.cellActions .cx71Btn:active{
  transform:none!important;
  background:#f1f5f9!important;
  box-shadow:inset 0 1px 3px rgba(15,23,42,.08)!important;
}
.cx71IconBox{
  width:27px!important;height:27px!important;min-width:27px!important;
  border-radius:8px!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  background:#eef2f7!important;color:#334155!important;
}
.cx71IconBox svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;display:block}
.cx71Label{display:inline-block;line-height:1;white-space:nowrap}
.cx71-green{background:#eaf8ef!important;color:#138342!important}
.cx71-blue{background:#eaf3ff!important;color:#1769aa!important}
.cx71-slate{background:#eef1f5!important;color:#4b5563!important}
.cx71-amber{background:#fff4df!important;color:#a45b00!important}
.cx71-rose{background:#fff0f1!important;color:#b4233a!important}
.cx71-violet{background:#f5efff!important;color:#7c3aed!important}
.cx71-indigo{background:#edf1ff!important;color:#4f46e5!important}
.cx71-purple{background:#f4edff!important;color:#7e22ce!important}
.cx71-teal{background:#eafaf7!important;color:#0f766e!important}
.cx71-red{background:#fff0f0!important;color:#c81e1e!important}
.cx71-yellow{background:#fff8df!important;color:#a16207!important}
#cxPageRefreshV67.cx71Btn{min-width:108px!important}
#mergeCells.cx71Btn{min-width:100px!important}
#unmergeCells.cx71Btn{min-width:108px!important}
#cxFormatPainter.cx71Btn{min-width:142px!important}
#cellColorBtn.cx71Btn{min-width:112px!important}
#cxFontColor.cx71Btn{min-width:116px!important}
#cxCopyImage.cx71Btn{min-width:124px!important}
#cxTopFilter.cx71Btn{min-width:94px!important}
#cxCancelSortBtn.cx71Btn{min-width:118px!important}
#cxClearCells.cx71Btn{min-width:102px!important}
#cxUndoBtn.cx71Btn{min-width:92px!important}

/* Modern delete menu */
.cx71DeleteMenu{
  width:340px!important;padding:8px!important;border:1px solid #d8e1ea!important;border-radius:14px!important;
  background:#fff!important;box-shadow:0 18px 48px rgba(15,23,42,.18)!important;
  direction:ltr!important;
}
.cx71DeleteMenu button{
  width:100%;min-height:58px;border:0;background:#fff;border-radius:10px;padding:8px 10px;
  display:flex;align-items:center;gap:11px;text-align:left;cursor:pointer;color:#243244;font-family:"Segoe UI",Arial,sans-serif;
}
.cx71DeleteMenu button:hover{background:#f7f9fc}
.cx71DeleteMenu button+button{margin-top:3px}
.cx71DeleteMenu b{display:block;font-size:13px;margin-bottom:3px}
.cx71DeleteMenu small{display:block;font-size:11px;color:#718096;line-height:1.35}
.cx71MenuIcon{width:30px;height:30px;min-width:30px;border-radius:8px;background:#fff0f1;color:#c81e1e;display:grid;place-items:center;font-weight:800}

/* Font color palette */
.cx71FontMenu{
  width:270px!important;padding:12px!important;border:1px solid #d8e1ea!important;border-radius:14px!important;
  background:#fff!important;box-shadow:0 18px 48px rgba(15,23,42,.18)!important;direction:ltr!important;
}
.cx71MenuTitle{font:700 13px "Segoe UI",Arial,sans-serif;color:#334155;margin:0 0 9px}
.cx71FontGrid{display:grid;grid-template-columns:repeat(7,28px);gap:6px}
.cx71FontGrid button{width:28px;height:28px;padding:0;border:1px solid #c9d4df;border-radius:7px;background:#fff;cursor:pointer;display:grid;place-items:center}
.cx71FontGrid button:hover{outline:2px solid #5b8def;outline-offset:1px}
.cx71FontGrid button span{width:18px;height:18px;border-radius:4px;background:var(--sw);border:1px solid rgba(0,0,0,.08)}
.cx71FontCustom{display:flex;gap:7px;margin-top:10px}
.cx71FontCustom input[type=color]{width:46px;height:36px;padding:2px;border:1px solid #cbd5e1;border-radius:8px;background:#fff}
.cx71FontCustom button,.cx71AutoColor{height:36px;border:1px solid #cbd5e1;border-radius:8px;background:#f8fafc;color:#334155;font-weight:700;cursor:pointer}
.cx71FontCustom button{flex:1}.cx71AutoColor{width:100%;margin-top:7px}
.cx71FontCustom button:hover,.cx71AutoColor:hover{background:#f1f5f9}

@media(max-width:900px){
  .cellActions{justify-content:flex-start!important}
  .cellActions .cx71Btn{height:40px!important;min-height:40px!important;padding:0 9px!important;font-size:12px!important}
  .cx71IconBox{width:25px!important;height:25px!important;min-width:25px!important}
}

/* v81 clean settings layout */
.cx81SettingsCard{width:min(760px,94vw)!important;max-height:88vh!important;overflow:hidden!important}.cx81SettingsBody{display:grid!important;gap:14px!important;padding:16px!important;overflow:auto!important;max-height:calc(88vh - 58px)!important}.cx81SettingsSection{border:1px solid #dce8f2;border-radius:14px;padding:14px;background:#fff}.cx81SettingsSection h3{margin:0 0 12px;color:#173a63}.cx81InfoRow{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.cx81AccountCreate{display:grid;grid-template-columns:1fr 1fr auto;gap:8px}.cx81AccountCreate input{min-width:0;padding:10px;border:1px solid #c9d9e7;border-radius:9px}.cx81AccountCreate button,.cx81AccBtns button,.cx81SettingsFoot button{padding:9px 12px;border:1px solid #b9d2e6;border-radius:9px;background:#f7fbff;cursor:pointer}.cx81AccountCreate button{background:#1177c9;color:#fff}.cx81AccountsList{display:grid;gap:8px;margin-top:12px}.cx81AccRow{display:grid;grid-template-columns:minmax(120px,1fr) auto minmax(260px,auto);align-items:center;gap:10px;padding:10px;border:1px solid #e1eaf1;border-radius:10px}.cx81AccName{display:flex;flex-direction:column}.cx81AccName small{color:#6c7d8e}.cx81State{padding:5px 9px;border-radius:999px;font-weight:700;font-size:12px}.cx81State.on{background:#dcfce7;color:#166534}.cx81State.off{background:#fee2e2;color:#991b1b}.cx81AccBtns{display:flex;gap:6px;flex-wrap:wrap}.cx81AccBtns .danger{color:#b91c1c}.cx81SettingsFoot{display:flex;justify-content:flex-end}.cx81Err,#cx81AccountMsg{color:#b91c1c;min-height:18px}.cx81Empty,.cx81Loading{color:#64748b;padding:10px;text-align:center}@media(max-width:700px){.cx81AccountCreate{grid-template-columns:1fr}.cx81AccRow{grid-template-columns:1fr}.cx81AccBtns{justify-content:flex-start}}

/* v83 settings: vertical scrolling only, no left/right ruler */
.settingsDialog,.cx81SettingsCard{overflow:hidden!important;max-width:calc(100vw - 24px)!important}.cx81SettingsBody{overflow-y:auto!important;overflow-x:hidden!important;max-width:100%!important}.cx81SettingsSection,.cx81AccountCreate,.cx81AccountsList,.cx81AccRow,.cx81AccName,.cx81AccBtns{min-width:0!important;max-width:100%!important}.cx81AccRow{grid-template-columns:minmax(0,1fr) auto minmax(0,2fr)!important}.cx81AccBtns{overflow:hidden!important}.cx81AccBtns button{max-width:100%;white-space:normal}.cx81AccountCreate input{width:100%!important}@media(max-width:900px){.cx81AccRow{grid-template-columns:1fr!important}.cx81AccountCreate{grid-template-columns:1fr!important}}


/* ===== V84 CLEAN: unified account card + organized settings ===== */
.cx84AccountWrap{position:relative;direction:rtl;flex:none}
.cx84AccountCard{height:36px;min-width:158px;border:1px solid #9eb9cf;background:rgba(255,255,255,.88);border-radius:10px;display:flex;align-items:center;gap:8px;padding:3px 9px;cursor:pointer;font-family:inherit;color:#173a63;box-shadow:0 1px 2px #0000000c}
.cx84AccountCard:hover{background:#fff;border-color:#7ea7c6}.cx84Avatar{width:27px;height:27px;border-radius:8px;background:#e5f2fc;display:grid;place-items:center;font-size:14px}.cx84AccountText{min-width:0;display:flex;flex-direction:column;align-items:flex-start;line-height:1.05;flex:1}.cx84AccountText b{font-size:12px;max-width:95px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cx84AccountText small{font-size:9px;color:#64748b;margin-top:3px}.cx84Chevron{font-size:14px;color:#64748b}
.cx84AccountMenu{position:absolute;top:42px;left:0;z-index:500;width:190px;padding:6px;background:#fff;border:1px solid #cfdeea;border-radius:11px;box-shadow:0 12px 30px #1f3c5826;direction:rtl}.cx84MenuItem{width:100%;height:38px;border:0;background:transparent;border-radius:8px;display:flex;align-items:center;gap:9px;padding:0 10px;font-family:inherit;font-weight:700;color:#27445d;cursor:pointer}.cx84MenuItem:hover{background:#f2f7fb}.cx84MenuItem.danger{color:#b42318}.cx84MenuItem.danger:hover{background:#fff1f0}
.cx84SettingsCard{width:min(980px,96vw)!important;height:auto!important;max-height:94vh!important;overflow:hidden!important;border-radius:16px!important}.cx84SettingsHead{height:58px!important;background:linear-gradient(90deg,#e7f4fd,#f7fbfe)!important;padding:0 18px!important}.cx84SettingsTitle{display:flex;align-items:center;gap:10px}.cx84SettingsIcon{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:#d7ecfb;font-size:18px}.cx84SettingsTitle>div{display:flex;flex-direction:column}.cx84SettingsTitle b{font-size:17px}.cx84SettingsTitle small{font-size:10px;color:#6b7d8e;margin-top:2px}
.cx84SettingsBody{display:grid!important;grid-template-columns:minmax(0,.9fr) minmax(0,1.35fr)!important;grid-template-areas:"update accounts" "system accounts"!important;gap:12px!important;padding:14px!important;max-height:calc(94vh - 58px)!important;overflow-y:auto!important;overflow-x:hidden!important;background:#f5f8fb!important;align-items:start}.cx84UpdateSection{grid-area:update}.cx84AccountsSection{grid-area:accounts}.cx84SystemSection{grid-area:system}.cx84SettingsSection{border:1px solid #d8e5ef!important;border-radius:13px!important;padding:13px!important;background:#fff!important;box-shadow:0 1px 2px #00000008}.cx84SectionTitle{display:flex;align-items:center;gap:9px;padding-bottom:10px;margin-bottom:11px;border-bottom:1px solid #edf2f6}.cx84SectionTitle>span{width:31px;height:31px;border-radius:8px;background:#edf6fc;display:grid;place-items:center}.cx84SectionTitle h3{margin:0!important;font-size:14px!important;color:#173a63!important}.cx84SectionTitle small{display:block;font-size:10px;color:#748595;margin-top:2px}.cx84InfoGrid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:11px}.cx84InfoBox{border:1px solid #e3ecf3;background:#f9fbfd;border-radius:9px;padding:9px;display:flex;flex-direction:column;gap:5px}.cx84InfoBox span{font-size:10px;color:#708294}.cx84InfoBox b{font-size:13px;color:#173a63}.cx84AccountCreate{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto!important}.cx84AccountCreate button{white-space:nowrap}.cx84SessionRow{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:end}.cx84SessionRow>div{border:1px solid #e5edf3;border-radius:9px;padding:9px;display:flex;flex-direction:column;gap:4px}.cx84SessionRow span{font-size:10px;color:#718294}.cx84SessionRow b{font-size:12px}.cx84LogoutBtn{grid-column:1/-1!important;background:#fff5f4!important;color:#b42318!important;border-color:#f0c8c3!important}.cx84SettingsBody::-webkit-scrollbar{width:7px}.cx84SettingsBody::-webkit-scrollbar-thumb{background:#c9d7e2;border-radius:10px}.cx84SettingsBody::-webkit-scrollbar-track{background:transparent}
#cx81AccountMsg.ok{color:#147a42!important}#cx81AccountMsg.bad{color:#b42318!important}
@media(max-width:850px){.cx84SettingsCard{width:min(720px,96vw)!important}.cx84SettingsBody{grid-template-columns:1fr!important;grid-template-areas:"update" "accounts" "system"!important}.cx84AccountCreate{grid-template-columns:1fr!important}.cx84SessionRow{grid-template-columns:1fr 1fr}.cx84AccountCard{min-width:0}.cx84AccountText{display:none}.cx84AccountCard{width:40px;padding:3px 6px;justify-content:center}.cx84Chevron{display:none}.cx84AccountMenu{left:0}}
@media(max-width:560px){.cx84SettingsCard{width:96vw!important;max-height:96vh!important}.cx84SettingsBody{max-height:calc(96vh - 58px)!important;padding:9px!important;gap:9px!important}.cx84InfoGrid,.cx84SessionRow{grid-template-columns:1fr}.cx84SettingsSection{padding:10px!important}.cx84AccountMenu{position:fixed;top:48px;left:8px}.topStatus{gap:5px!important}}


/* ===== V84.1 requested UI cleanup: keep editable base, remove selected controls ===== */
/* Account dropdown must stay inside viewport and never create page-width overflow. */
.cx84AccountWrap{position:relative!important;overflow:visible!important}
.cx84AccountMenu{left:auto!important;right:0!important;max-width:min(190px,calc(100vw - 16px))!important;box-sizing:border-box!important}

/* Settings: dialog itself must expand with the responsive card instead of clipping it at legacy 520px. */
#settingsDialog.settingsDialog{
  width:min(1040px,calc(100vw - 28px))!important;
  max-width:min(1040px,calc(100vw - 28px))!important;
  max-height:calc(100vh - 28px)!important;
  overflow:hidden!important;
  margin:auto!important;
}
#settingsDialog .cx84SettingsCard{
  width:100%!important;
  max-width:100%!important;
  max-height:calc(100vh - 28px)!important;
  box-sizing:border-box!important;
}
#settingsDialog .cx84SettingsBody{
  width:100%!important;
  max-width:100%!important;
  max-height:calc(100vh - 86px)!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  box-sizing:border-box!important;
}
#settingsDialog .cx84SettingsSection,
#settingsDialog .cx81SettingsSection,
#settingsDialog .cx84AccountCreate,
#settingsDialog .cx81AccountsList,
#settingsDialog .cx81AccRow{min-width:0!important;max-width:100%!important;box-sizing:border-box!important}
@media (min-width:851px){
  #settingsDialog .cx84SettingsBody{
    grid-template-columns:minmax(0,.95fr) minmax(0,1.45fr)!important;
    grid-template-areas:"update accounts" "system accounts"!important;
  }
}
@media (max-width:850px){
  #settingsDialog.settingsDialog{width:min(760px,calc(100vw - 18px))!important;max-width:min(760px,calc(100vw - 18px))!important}
  #settingsDialog .cx84SettingsBody{grid-template-columns:1fr!important;grid-template-areas:"update" "accounts" "system"!important;max-height:calc(100vh - 76px)!important}
}

/* Remove only the bottom-right transfer buttons requested by the user; sheet tabs stay intact. */
#bottomTransferActions,.cxBottomTransfers{display:none!important}

/* V84.1 locked grid rules */
#grid td[data-c="2"].cx73HasDropdown::after,#grid td[data-c="8"].cx73HasDropdown::after,#grid td[data-c="2"].cx72HasDropdown::after,#grid td[data-c="8"].cx72HasDropdown::after{display:none!important;content:none!important}
#grid td[data-c="2"],#grid td[data-c="8"]{cursor:default}
.cx84NoDataClock:empty{min-width:0!important;width:0!important;padding:0!important;border:0!important}

/* V84.10 FINAL: global admin search + compact single-row header tools */
#cx72Header .cx72Toolbar{display:none!important}
.cxAdminGlobalSearchView{padding:10px 12px 70px;overflow:auto;height:calc(100vh - 150px);background:#fff}
.cxAdminGlobalSearchView.hidden{display:none!important}.cxAdminSearchSummary{position:sticky;top:0;z-index:4;background:#f7fbff;border:1px solid #d7e6f2;border-radius:10px;padding:8px 12px;margin-bottom:10px;color:#27445d}.cxAdminSearchGroup{margin:0 0 14px}.cxAdminSearchTitle{font-weight:800;color:#173a63;padding:7px 10px;background:#eef6fc;border:1px solid #d5e5f0;border-bottom:0;border-radius:10px 10px 0 0}.cxAdminSearchTitle b{margin-inline-start:6px}.cxAdminSearchTableWrap{overflow:auto;border:1px solid #d5e5f0}.cxAdminSearchTableWrap table{border-collapse:collapse;min-width:100%;width:max-content;background:#fff}.cxAdminSearchTableWrap th,.cxAdminSearchTableWrap td{border:1px solid #c9d1d8;padding:6px 10px;white-space:nowrap;text-align:center;font-size:13px}.cxAdminSearchTableWrap thead th{position:sticky;top:0;background:#f1f5f9;color:#25364a;z-index:2}.cxAdminSearchEmpty{display:grid;place-items:center;height:45vh;font-size:22px;font-weight:800;color:#64748b}


/* ===== V84.10 REFINED FINAL requested layout/read-only/viewer-search ===== */
@media (min-width:1101px){
  #cx72Header .cx72HeadRow{grid-template-columns:76px minmax(360px,760px) minmax(330px,1fr) auto!important;gap:14px!important;align-items:center!important;padding:9px 18px!important}
  #cx72Header .cx72Brand{grid-column:1!important;grid-row:1!important}
  #cx72Header .cx72SearchSlot{grid-column:2!important;grid-row:1!important;justify-self:stretch!important;max-width:760px!important;width:100%!important}
  #cx72Header .cx72TopTools{grid-column:3!important;grid-row:1!important;justify-content:center!important;align-self:center!important}
  #cx72Header .cx72Status{grid-column:4!important;grid-row:1!important;justify-content:flex-end!important;align-self:center!important}
}
#grid td{cursor:default!important}
#grid td[contenteditable="true"],#grid td.editing{outline:none!important}
.cx77AdminSearchHost{padding:12px 14px 70px;overflow:auto;height:calc(100vh - 96px);background:#fff;direction:rtl}
.cx77AdminSearchHost.hidden{display:none!important}
.cx77AdminSearchHost .cx77Group{margin:16px 0 28px}
.cx77AdminSearchHost .cx77GroupTitle{font-size:23px;font-weight:900;color:#0a2c59;text-align:right;margin:0 8px 8px}
.cx77AdminSearchHost .cx77GridWrap{overflow-x:hidden!important;overflow-y:visible!important;border:1px solid #9eb5c8;background:#fff}
.cx77AdminSearchHost .cx77Grid{border-collapse:collapse;table-layout:fixed;width:100%;min-width:0!important;direction:ltr}
.cx77AdminSearchHost .cx77Grid th,.cx77AdminSearchHost .cx77Grid td{border:1px solid #535353;height:38px;padding:5px 7px;text-align:center;white-space:nowrap;font-weight:700;direction:rtl;overflow:hidden;text-overflow:ellipsis}
.cx77AdminSearchHost .cx77Grid thead th.dataHead{background:#f58220;color:#111;font-size:15px;position:relative}
.cx77AdminSearchHost .cx77Grid thead th.dataHead button{position:absolute;left:4px;top:5px;width:24px;height:24px;padding:0;border:1px solid #9fa8b2;background:#f8fbfd;border-radius:5px;cursor:pointer}
.cx77AdminSearchHost .cx77Grid tbody tr.unreceived td{background:#fff}
.cx77AdminSearchHost .cx77Grid tbody tr.received td{background:#d8f6d8}
.cx77AdminSearchHost .cx77Grid tbody tr.cancelled td{background:#ffd7df}
.cx77NoRes{text-align:center;padding:40px;color:#6b7f92;font-size:18px}
.cx77Filter{position:fixed;z-index:1000002;width:310px;max-height:430px;background:#fff;border:1px solid #9dc8e8;border-radius:12px;box-shadow:0 16px 45px #1234;padding:10px;direction:rtl}
.cx77Filter input{width:100%;padding:9px;border:1px solid #ccdbe7;border-radius:8px}.cx77FilterList{max-height:270px;overflow:auto;margin:7px 0}.cx77FilterList label{display:flex;gap:7px;padding:7px;border-bottom:1px solid #edf2f6}.cx77FilterFoot{display:flex;gap:8px}.cx77FilterFoot button{flex:1;padding:9px;border:1px solid #b8d7ef;border-radius:8px;background:white}.cx77FilterFoot button.primary{background:#1177c9;color:white}
\n\n/* ===== V84.12 requested: distinct header tool colors + full admin search columns ===== */
#cx72Copy{background:#eef0ff!important;border-color:#8f96ff!important;color:#3730a3!important}
#cx72Copy:hover{background:#e3e6ff!important;border-color:#7279ef!important}
#cx72ClearSort{background:#fff5e8!important;border-color:#f4b860!important;color:#9a4f00!important}
#cx72ClearSort:hover{background:#ffecd2!important;border-color:#e99d32!important}
#cx72Refresh{background:#eaf8ef!important;border-color:#62c483!important;color:#116b35!important}
#cx72Refresh:hover{background:#ddf3e5!important;border-color:#46ad69!important}
.cx77AdminSearchHost .cx77Grid .cxAdminRowNoHead{width:52px!important;min-width:52px!important;max-width:52px!important;background:#eef3f7!important;color:#34495e!important}
.cx77AdminSearchHost .cx77Grid .cxAdminRowNo{width:52px!important;min-width:52px!important;max-width:52px!important;background:#f7fafc!important;color:#475569!important;font-weight:700!important;direction:ltr!important}


/* ===== V84.13: image-only copy + grid-only zoom/horizontal scroll ===== */
#gridWrap{overflow-x:auto!important;overflow-y:auto!important;}
#grid{width:max-content!important;min-width:100%!important;}
.cxGridZoom{display:inline-flex;align-items:center;gap:4px;height:34px;padding:3px 5px;border:1px solid #cbd8e3;border-radius:10px;background:#fff;white-space:nowrap;}
.cxGridZoom button{width:27px;height:26px;border:1px solid #cbd8e3;border-radius:7px;background:#f7fafc;color:#173a63;font-weight:900;font-size:17px;line-height:1;cursor:pointer;}
.cxGridZoom button:hover{background:#edf5fb;}
.cxGridZoom span{min-width:42px;text-align:center;font-size:11px;font-weight:800;color:#40566b;}
.cxAdminSearchTableWrap,.cx77GridWrap{overflow-x:auto!important;}
@media(max-width:900px){.cxGridZoom{height:32px}.cxGridZoom span{min-width:38px}.cxGridZoom button{width:25px;height:24px}}


/* ===== V84.14: top+bottom horizontal scrollbars for main grid and search results ===== */
.cxDualScrollTop{height:18px;overflow-x:auto;overflow-y:hidden;background:#fff;border:1px solid #d8e2eb;border-bottom:0;border-radius:8px 8px 0 0;margin:0 0 2px 0;}
.cxDualScrollTop.hidden{display:none!important;}
.cxDualScrollTopInner{height:1px;}
#gridWrap.cxDualScrollBody{border-top-left-radius:0;border-top-right-radius:0;}
.cx77GridWrap.cxDualScrollBody{border-top-left-radius:0;border-top-right-radius:0;}
#cxAdminGlobalSearchView .cx77GridWrap{overflow-x:auto!important;overflow-y:auto!important;max-width:100%;}
#gridWrap{max-width:100%;}

/* V84.24 true content-fit: do not stretch compact columns to viewport width */
#grid.grid{width:max-content!important;min-width:0!important;table-layout:fixed!important;}
