
/* =========================================================
   LIBO Cloud V6 — Dark Gold Executive Identity
   Visual-only upgrade. Database/API behavior unchanged.
   ========================================================= */
:root{
  --b:#d6a74d;
  --b2:#f0cf86;
  --cream:#0b0e11;
  --paper:#111519;
  --line:#2a3036;
  --text:#f3eee6;
  --muted:#9ba1a7;
  --green:#45a56e;
  --red:#d46a6a;
  --amber:#d6a74d;
  --shadow:0 16px 42px rgba(0,0,0,.32);
}
*{box-sizing:border-box}
body{
  margin:0;
  background:
    radial-gradient(circle at 78% 4%,rgba(214,167,77,.07),transparent 24%),
    linear-gradient(135deg,#090b0d,#0e1215 52%,#090b0d);
  font-family:Tahoma,Arial,sans-serif;color:var(--text)
}
button,input,select,textarea{font-family:inherit}.hidden{display:none!important}

/* Login */
.auth-shell{min-height:100vh;display:grid;place-items:center;padding:20px}
.auth-card{
  width:min(410px,100%);background:linear-gradient(145deg,#14191d,#0c0f12);
  border:1px solid rgba(214,167,77,.35);border-radius:26px;padding:28px;
  box-shadow:0 28px 80px rgba(0,0,0,.55);text-align:center
}
.auth-logo{width:180px;border-radius:16px;filter:brightness(.68) sepia(.18) contrast(1.1)}
.auth-card h1{color:#e4bd70;margin:14px 0 4px;letter-spacing:.5px}
.auth-card p{color:var(--muted);font-size:13px}.auth-card input{width:100%;margin:6px 0}

/* Shell */
.app{display:grid;grid-template-columns:276px 1fr;min-height:100vh}
.sidebar{
  background:linear-gradient(180deg,#0a0d10 0%,#11161a 58%,#090c0f 100%);
  padding:18px 14px;color:#fff;position:sticky;top:0;height:100vh;
  border-left:1px solid rgba(214,167,77,.20);
  box-shadow:12px 0 35px rgba(0,0,0,.22)
}
.brand{
  background:
    radial-gradient(circle at 50% 20%,rgba(214,167,77,.10),transparent 45%),
    linear-gradient(145deg,#14191d,#0b0e11);
  border:1px solid rgba(214,167,77,.35);border-radius:20px;padding:14px;text-align:center
}
.brand img{width:145px;border-radius:14px;filter:brightness(.62) sepia(.22) contrast(1.15)}
.brand strong{
  display:block;color:#e4bd70;margin-top:8px;font-family:Georgia,serif;
  font-size:17px;letter-spacing:2px;text-transform:uppercase
}
.sidebar nav{display:grid;gap:8px;margin-top:18px}
.nav-btn{
  border:1px solid transparent;border-radius:11px;background:rgba(255,255,255,.025);
  color:#d9dde0;padding:12px;text-align:right;cursor:pointer;transition:.18s ease
}
.nav-btn.active,.nav-btn:hover{
  background:linear-gradient(90deg,rgba(214,167,77,.20),rgba(214,167,77,.07));
  color:#f0cf86;border-color:rgba(214,167,77,.38);box-shadow:inset 3px 0 #d6a74d
}
.userbox{margin-top:20px;font-size:12px;color:#aeb4b9}

/* Main */
.main{padding:26px;min-width:0}
.view{display:none}.view.active{display:block}
.topbar{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:16px}
.topbar h1{margin:0;color:#f3eee6;font-size:25px;font-weight:700}
.topbar p{margin:6px 0;color:var(--muted);font-size:12px}
.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:13px}
.stat,.panel{
  background:linear-gradient(145deg,#151a1e,#101417);
  border:1px solid #2a3036;border-radius:17px;box-shadow:var(--shadow)
}
.stat{padding:17px;position:relative;overflow:hidden}
.stat:after{
  content:"";position:absolute;width:85px;height:85px;border-radius:50%;
  background:radial-gradient(circle,rgba(214,167,77,.12),transparent 68%);
  left:-20px;top:-25px
}
.stat b{display:block;color:#f4f1ec;font-size:25px;direction:ltr;text-align:right}
.stat span{color:#aab0b5;font-size:12px}
.panel{padding:17px;margin-top:14px}
.panel h3{margin:0 0 12px;color:#e6c27c}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}

/* Controls */
.btn{border:0;border-radius:10px;padding:10px 14px;cursor:pointer;font-weight:700}
.primary{
  background:linear-gradient(135deg,#c69237,#e0b65e);color:#111;
  box-shadow:0 8px 20px rgba(214,167,77,.16)
}
.primary:hover{filter:brightness(1.07)}
.ghost{background:rgba(255,255,255,.035);color:#e7e7e7;border:1px solid #343a40}
.full{width:100%}
.search,input,select,textarea{
  border:1px solid #30373d;border-radius:9px;padding:10px 11px;
  background:#0d1114;color:#eef0f1;outline:none
}
input::placeholder,textarea::placeholder{color:#6f777d}
input:focus,select:focus,textarea:focus{border-color:#b88939;box-shadow:0 0 0 3px rgba(214,167,77,.08)}
.search{width:100%}.filters,.upload-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.filters .search{flex:1;min-width:220px}

/* Tables */
table{width:100%;border-collapse:collapse;font-size:12px}
th,td{padding:11px 8px;border-bottom:1px solid #252b30;text-align:right;vertical-align:middle}
th{background:#0d1114;color:#c9a75f;font-weight:700}
.tbl{overflow:auto;border:1px solid #252b30;border-radius:12px}
.badge{display:inline-block;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:700}
.new{background:#25213a;color:#b9a8ee}.work{background:#342817;color:#e1b45e}
.done{background:#142a20;color:#62bd86}.hold{background:#341d1d;color:#df7c7c}
.mini{
  border:1px solid #343a40;border-radius:8px;padding:6px 8px;background:#171c20;
  color:#d9b567;cursor:pointer;font-size:11px;margin:1px
}
.money-due{color:#e27777;font-weight:700}.money-paid{color:#64bd87;font-weight:700}

/* Modal */
.modal{position:fixed;inset:0;background:rgba(0,0,0,.72);display:none;align-items:center;justify-content:center;padding:18px;z-index:50;backdrop-filter:blur(5px)}
.modal.open{display:flex}
.modal-box{
  width:min(760px,100%);max-height:90vh;overflow:auto;
  background:linear-gradient(145deg,#171c20,#0f1316);border:1px solid #343a40;
  border-radius:19px;padding:18px;box-shadow:0 30px 90px rgba(0,0,0,.65)
}
.modal-box.large{width:min(920px,100%)}
.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.modal-head h3{margin:0;color:#e5bd70}
.modal-head button{border:1px solid #343a40;background:#171c20;color:#eee;border-radius:8px;padding:6px 10px;cursor:pointer}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:12px}
.wide{grid-column:1/-1}.msg{font-size:12px;color:var(--red);margin-top:8px}
.empty{text-align:center;color:var(--muted);padding:22px}

.amount-row{display:grid;grid-template-columns:1fr 110px;gap:8px}
.payment-entry{display:grid;grid-template-columns:1.2fr .7fr 1fr 1.5fr auto;gap:8px;margin-top:14px;align-items:center}
.finance-filters{grid-template-columns:repeat(4,minmax(120px,1fr))}
.finance-stats{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.tx-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}

button,.btn{min-height:42px} input,select,textarea{font-size:16px}

@media(max-width:950px){
  .app{grid-template-columns:1fr}.sidebar{position:relative;height:auto}
  .sidebar nav{grid-template-columns:repeat(3,1fr)}.stats{grid-template-columns:repeat(2,1fr)}
  .grid2{grid-template-columns:1fr}
}
@media(max-width:820px){
  .modal-card,.modal-content{width:min(96vw,720px)!important;max-height:90vh;overflow:auto}
  table{display:block;overflow-x:auto;white-space:nowrap}
  .payment-entry,.finance-filters{grid-template-columns:1fr}
  .amount-row{grid-template-columns:1fr 100px}.tx-title{align-items:flex-start;flex-direction:column}
}
@media(max-width:600px){
  .main{padding:13px}.sidebar nav{grid-template-columns:1fr 1fr}
  .form-grid,.stats{grid-template-columns:1fr}.wide{grid-column:auto}.topbar{flex-direction:column}
}
@media print{
  nav,aside,button,.no-print,#libo-v2-badge{display:none!important}
  body{background:#fff!important;color:#111!important}
}

/* LIBO Cloud V7 — Premium black & gold logo */
.premium-logo {
  object-fit: contain !important;
  background: #070b0e !important;
  border: 1px solid rgba(212,164,74,.55) !important;
  border-radius: 18px !important;
  box-shadow: 0 10px 32px rgba(0,0,0,.42), 0 0 24px rgba(212,164,74,.10) !important;
}
.auth-logo.premium-logo {
  width: 190px !important;
  max-width: 78% !important;
  height: auto !important;
  padding: 8px !important;
}
.brand-logo.premium-logo {
  width: 150px !important;
  height: auto !important;
  padding: 6px !important;
}

/* LIBO Cloud V8 — Black & Gold executive theme */
:root{
  --v8-black:#06080a;
  --v8-panel:#0b0f12;
  --v8-panel2:#10151a;
  --v8-gold:#d1a24b;
  --v8-gold2:#edc878;
  --v8-line:rgba(209,162,75,.28);
}
body{
  background:
    radial-gradient(circle at 28% 10%, rgba(209,162,75,.07), transparent 30%),
    linear-gradient(135deg,#050709 0%,#0a0e12 55%,#050709 100%) !important;
}
.sidebar, aside{
  background:linear-gradient(180deg,#050709 0%,#090c0f 100%) !important;
  border-left:1px solid var(--v8-line) !important;
  box-shadow:-12px 0 35px rgba(0,0,0,.35) !important;
}
.sidebar .brand, .brand{
  background:linear-gradient(180deg,#07090b,#0b0e11) !important;
  border:1px solid var(--v8-line) !important;
}
.premium-logo{
  background:#06080a !important;
  border:1px solid rgba(209,162,75,.42) !important;
  border-radius:20px !important;
  box-shadow:0 14px 40px rgba(0,0,0,.5),0 0 28px rgba(209,162,75,.08) !important;
}
.brand-logo.premium-logo{
  width:180px !important;
  max-width:92% !important;
  padding:0 !important;
}
.auth-logo.premium-logo{
  width:230px !important;
  max-width:86% !important;
  padding:0 !important;
}
.sidebar button,.nav-btn,.nav-item{
  background:rgba(255,255,255,.018) !important;
  border:1px solid transparent !important;
}
.sidebar button:hover,.nav-btn:hover,.nav-item:hover,
.sidebar button.active,.nav-btn.active,.nav-item.active{
  color:var(--v8-gold2) !important;
  background:linear-gradient(90deg,rgba(209,162,75,.16),rgba(209,162,75,.035)) !important;
  border-color:rgba(209,162,75,.38) !important;
  box-shadow:inset 3px 0 0 var(--v8-gold) !important;
}
.card,.panel,.stat-card,.table-wrap,.modal-content{
  background:linear-gradient(145deg,rgba(16,21,26,.96),rgba(8,11,14,.97)) !important;
  border-color:rgba(209,162,75,.22) !important;
}
h1,h2,h3,.section-title{
  text-shadow:0 1px 18px rgba(209,162,75,.08);
}

/* LIBO Cloud V9 FINAL — force true charcoal black + elegant gold */
body{
  background:#050607 !important;
  color:#f2eee6 !important;
}
.app,.main{
  background:linear-gradient(135deg,#050607 0%,#090b0d 48%,#060708 100%) !important;
}
.sidebar{
  background:#050607 !important;
  border-left:1px solid rgba(211,164,75,.34) !important;
}
.brand{
  background:#070809 !important;
  border:1px solid rgba(211,164,75,.42) !important;
  padding:18px 12px !important;
}
.brand img.brand-logo{
  width:190px !important;
  max-width:95% !important;
  height:auto !important;
  filter:none !important;
  border:none !important;
  box-shadow:none !important;
  background:#06080a !important;
  border-radius:14px !important;
}
.brand strong{
  color:#e8c779 !important;
  letter-spacing:2px !important;
}
.sidebar nav button{
  color:#e7e2d9 !important;
  background:#090b0d !important;
  border:1px solid rgba(255,255,255,.045) !important;
}
.sidebar nav button:hover,
.sidebar nav button.active{
  color:#f0cd7d !important;
  background:linear-gradient(90deg,rgba(211,164,75,.18),rgba(211,164,75,.035)) !important;
  border-color:rgba(211,164,75,.48) !important;
}
.card,.panel,.stat-card,.table-wrap{
  background:linear-gradient(145deg,#0d1012,#080a0c) !important;
  border:1px solid rgba(211,164,75,.20) !important;
  box-shadow:0 14px 34px rgba(0,0,0,.24) !important;
}
h1,h2,h3,.section-title{color:#f3eee5 !important}
.muted,small{color:#a8a39a !important}
th{background:#080a0c !important;color:#d9b86d !important}
input,select,textarea{
  background:#080a0c !important;
  border-color:#292d30 !important;
  color:#f1eee8 !important;
}

/* LIBO Cloud V10 — Executive Black & Gold refinement */
:root{--v10-gold:#caa45f;--v10-gold-hi:#e1c17b;--v10-line:rgba(202,164,95,.30)}
.brand{padding:20px 10px 18px!important;border-color:var(--v10-line)!important;box-shadow:inset 0 1px rgba(255,255,255,.025),0 16px 38px rgba(0,0,0,.24)!important}
.brand img.brand-logo{width:214px!important;max-width:98%!important;border-radius:10px!important;object-fit:contain!important;filter:contrast(1.05) brightness(.96)!important}
.brand strong{color:var(--v10-gold-hi)!important;font-size:20px!important;letter-spacing:2.6px!important;margin-top:10px!important}
.sidebar nav button{border-color:rgba(202,164,95,.08)!important;border-radius:10px!important}
.sidebar nav button:hover,.sidebar nav button.active{color:var(--v10-gold-hi)!important;border-color:rgba(202,164,95,.46)!important;box-shadow:inset 3px 0 var(--v10-gold),0 7px 22px rgba(0,0,0,.16)!important}
.topbar h1,.panel h3,.section-title{color:#efe6d4!important}
.panel h3{color:var(--v10-gold-hi)!important}
.card,.panel,.stat-card,.table-wrap{border-color:rgba(202,164,95,.22)!important}
th{color:#d7b873!important}
.btn.primary,.primary{background:linear-gradient(135deg,#b88b3f,#d2ad67)!important;color:#0b0c0d!important}

/* V18: multi-currency dashboard */
.currency-line{display:block;direction:ltr;unicode-bidi:isolate;white-space:nowrap}
.stat b .currency-line + .currency-line{margin-top:4px}

/* V19 — role-aware employee interface */
.role-restricted{display:none!important}
#whoami{line-height:1.55}

/* V20 — Admin delete controls */
.danger-mini{
  color:#f0a5a5!important;
  border-color:rgba(212,106,106,.55)!important;
  background:rgba(120,30,30,.18)!important
}
.danger-mini:hover{
  background:rgba(160,35,35,.30)!important;
  color:#ffd0d0!important
}
.danger-btn{
  background:linear-gradient(135deg,#7e2828,#a63a3a)!important;
  color:#fff!important;
  border:1px solid rgba(255,160,160,.22)!important
}

/* V21 — clearer finance date search */
.finance-filters{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(160px,1fr)) auto!important;
  align-items:end!important;
  gap:10px!important;
}
.date-filter-box{
  display:grid;
  gap:6px;
  color:#d8c48f;
  font-size:12px;
}
.date-filter-box input,
.date-filter-box select{
  width:100%;
  min-height:44px;
}
.finance-filter-actions{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  align-items:center;
}
.finance-range-label{
  margin-top:10px;
  padding:9px 12px;
  border:1px solid rgba(209,162,75,.22);
  border-radius:9px;
  color:#d7bd83;
  background:rgba(209,162,75,.05);
  font-size:12px;
}
@media(max-width:900px){
  .finance-filters{grid-template-columns:1fr 1fr!important}
  .finance-filter-actions{grid-column:1/-1}
}
@media(max-width:560px){
  .finance-filters{grid-template-columns:1fr!important}
  .finance-filter-actions{grid-column:auto}
}

/* V23 — Admin Treasury */
.finance-page-head{margin-bottom:16px!important}
.finance-eyebrow{display:block;color:#d9b567;font-size:11px;font-weight:800;letter-spacing:.08em;margin-bottom:4px}
.finance-section-nav{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}
.finance-nav-btn{min-height:92px;text-align:right;display:grid;grid-template-columns:36px 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;padding:14px;border-radius:15px;border:1px solid #30363b;background:linear-gradient(145deg,#171c20,#111519);color:#f3f3f3;cursor:pointer;transition:.18s ease}
.finance-nav-btn>span{grid-row:1/3;width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:rgba(216,169,74,.08);color:#d9b567;font-size:20px}
.finance-nav-btn b{font-size:14px;align-self:end}.finance-nav-btn small{color:#8e989e;font-size:11px;align-self:start}
.finance-nav-btn:hover,.finance-nav-btn.active{border-color:rgba(216,169,74,.62);transform:translateY(-1px);box-shadow:0 10px 25px rgba(0,0,0,.22),inset 0 0 0 1px rgba(216,169,74,.08)}
.finance-nav-btn.active{background:linear-gradient(145deg,rgba(216,169,74,.15),#14191d)}
.finance-filter-panel{padding:14px!important;margin-bottom:16px!important}
.finance-filter-title,.finance-content-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}
.finance-filter-title>div{display:grid;gap:3px}.finance-filter-title b{color:#eed38f}.finance-filter-title span,.finance-content-title p{font-size:11px;color:#8e989e;margin:0}
.finance-filter-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:rgba(216,169,74,.08);color:#d9b567!important;font-size:18px!important}
.finance-section{display:none}.finance-section.active{display:block;animation:financeFade .18s ease}
.finance-content-title h2{font-size:17px;color:#e8c474;margin:0 0 3px}.finance-table-panel{padding:17px!important}
.finance-stats .stat{position:relative;overflow:hidden;min-height:104px;display:flex;flex-direction:column;justify-content:center;border-color:rgba(216,169,74,.18)}
.finance-stats .stat:after{content:'';position:absolute;width:70px;height:70px;border-radius:50%;background:rgba(216,169,74,.045);left:-22px;bottom:-28px}
.finance-stats .stat b{font-size:20px;line-height:1.4}.finance-stats .stat span{margin-top:5px}
@keyframes financeFade{from{opacity:.3;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(max-width:800px){.finance-section-nav{grid-template-columns:1fr 1fr}.finance-nav-btn{min-height:78px}.finance-filter-title{display:none}}
@media(max-width:480px){.finance-section-nav{gap:7px}.finance-nav-btn{min-height:70px;padding:10px;grid-template-columns:29px 1fr;column-gap:7px}.finance-nav-btn>span{width:29px;height:29px;font-size:16px}.finance-nav-btn b{font-size:12px}.finance-nav-btn small{font-size:9px}.finance-content-title{align-items:flex-start}.finance-content-title .btn{min-height:36px;font-size:11px}}

.treasury-actions{display:flex;gap:8px;flex-wrap:wrap}
.treasury-withdraw-btn{
  background:linear-gradient(135deg,#6f2727,#973737)!important;
  color:#fff!important;
  border:1px solid rgba(255,170,170,.20)!important
}
.treasury-accounts{margin-bottom:14px}
.treasury-account-card{position:relative;overflow:hidden}
.treasury-account-card:after{
  content:"";position:absolute;inset:auto -45px -65px auto;width:150px;height:150px;border-radius:50%;
  border:1px solid rgba(209,162,75,.11)
}
.treasury-account-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.treasury-account-head>div{display:flex;align-items:center;gap:9px}
.treasury-account-head h3{margin:0}
.treasury-icon{font-size:24px}
.treasury-account-label{
  direction:ltr;font:700 10px Arial;letter-spacing:1.5px;color:#d7bd83;border:1px solid rgba(209,162,75,.25);
  padding:5px 8px;border-radius:999px
}
.treasury-balance-list{display:grid;gap:8px}
.treasury-balance-row{
  display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;
  border:1px solid rgba(209,162,75,.14);border-radius:10px;background:rgba(209,162,75,.035)
}
.treasury-balance-row span{color:#cbb989;font-weight:700;direction:ltr}
.treasury-balance-row b{font-size:18px;direction:ltr}
.treasury-office-totals{margin-bottom:14px}
.treasury-total-card b{direction:ltr}
.treasury-filters{display:grid!important;grid-template-columns:repeat(4,minmax(130px,1fr)) auto!important;align-items:end!important}
.treasury-history-head{margin-bottom:10px}
.treasury-movement{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:700}
.treasury-movement.deposit{color:#99e6b4;background:rgba(43,137,78,.16);border:1px solid rgba(70,170,105,.25)}
.treasury-movement.withdrawal{color:#f0a5a5;background:rgba(150,50,50,.16);border:1px solid rgba(200,90,90,.25)}
.treasury-in{color:#8ed7a6!important;font-weight:700;direction:ltr}
.treasury-out,.treasury-negative{color:#e89b9b!important;font-weight:700;direction:ltr}
.treasury-modal-summary{
  margin:10px 0;padding:10px 12px;border:1px solid rgba(209,162,75,.18);border-radius:9px;color:#d7bd83;
  background:rgba(209,162,75,.04);font-size:12px
}
@media(max-width:900px){
  .treasury-filters{grid-template-columns:1fr 1fr!important}
  .treasury-filters .finance-filter-actions{grid-column:1/-1}
}
@media(max-width:560px){
  .treasury-filters{grid-template-columns:1fr!important}
  .treasury-filters .finance-filter-actions{grid-column:auto}
}


/* V24 — Professional HR */
.hr-stats{margin-bottom:14px}.hr-filters{display:grid!important;grid-template-columns:2fr 1fr 1fr!important;gap:10px}.hr-access-panel{margin-top:14px}.hr-section-title{margin:14px 0 8px;color:#d7b873;font-weight:800;border-bottom:1px solid rgba(209,162,75,.18);padding-bottom:7px}.hr-sub{display:block;color:#9f9b90;margin-top:3px;font-size:11px;direction:ltr;text-align:right}.hr-status{display:inline-flex;padding:4px 9px;border-radius:999px;font-size:11px;font-weight:800;white-space:nowrap}.hr-active{color:#99e6b4;background:rgba(43,137,78,.16);border:1px solid rgba(70,170,105,.25)}.hr-leave{color:#e9cd82;background:rgba(157,119,42,.15);border:1px solid rgba(209,162,75,.25)}.hr-inactive{color:#f0a5a5;background:rgba(150,50,50,.16);border:1px solid rgba(200,90,90,.25)}.hr-profile-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;padding:4px 0 14px}.hr-profile-head h2{margin:0 0 5px}.hr-mini-stats{margin-bottom:14px}.hr-actions{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}.hr-details-modal .panel{margin-bottom:12px}.hr-details-modal table{font-size:12px}@media(max-width:800px){.hr-filters{grid-template-columns:1fr!important}.hr-profile-head{flex-direction:column}}

/* =========================================================
   LIBO Cloud V27 — Executive Dashboard Refresh
   Visual dashboard redesign; business logic unchanged.
   ========================================================= */
#dashboard{max-width:1600px;margin:0 auto}
.dashboard-hero{padding:6px 2px 8px;align-items:center}
.dashboard-hero h1{font-size:29px!important;letter-spacing:-.4px}
.dashboard-hero p{font-size:13px!important;color:#8996a5!important}
.hero-action{padding:12px 19px!important;border-radius:12px!important}
.dashboard-stats{grid-template-columns:repeat(5,minmax(150px,1fr));gap:14px;margin-bottom:15px}
.dashboard-stats .stat{min-height:138px;padding:18px 18px 15px;border-color:#202c3c;background:linear-gradient(145deg,#111a28,#0d1521);box-shadow:0 16px 38px rgba(0,0,0,.22)}
.dashboard-stats .stat:after{display:none}
.dashboard-stats .stat-icon{display:grid;width:42px;height:42px;place-items:center;border-radius:13px;margin-bottom:11px;font-size:20px;background:rgba(83,124,255,.13);box-shadow:0 0 25px rgba(83,124,255,.08)}
.dashboard-stats .stat b{font-size:24px!important;line-height:1.15;margin-bottom:3px}
.dashboard-stats .stat>span:not(.stat-icon){font-size:13px;color:#d9e0ea;font-weight:700}
.dashboard-stats .stat small{display:block;color:#6f7e91;font-size:10px;margin-top:5px}
.dashboard-stats .stat-green .stat-icon{background:rgba(38,202,138,.13)}
.dashboard-stats .stat-amber .stat-icon{background:rgba(240,169,53,.13)}
.dashboard-stats .stat-purple .stat-icon{background:rgba(155,92,246,.13)}
.dashboard-stats .stat-red .stat-icon{background:rgba(238,91,105,.13)}
.dashboard-quick{margin-top:0!important;padding:17px!important;background:linear-gradient(145deg,#101927,#0c1420)!important;border-color:#202c3c!important}
.dashboard-section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}
.dashboard-section-head h3{margin:0!important;color:#f0f3f7!important}
.dashboard-section-head p{margin:4px 0 0;color:#728094;font-size:11px}
.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:11px}
.quick-card{appearance:none;border:1px solid #223044;background:linear-gradient(145deg,#152032,#101927);border-radius:14px;color:#edf2f8;padding:16px;text-align:right;cursor:pointer;transition:.18s ease;min-height:112px}
.quick-card:hover{transform:translateY(-2px);border-color:rgba(214,167,77,.5);box-shadow:0 12px 28px rgba(0,0,0,.25)}
.quick-card i{display:block;font-style:normal;font-size:24px;margin-bottom:10px}.quick-card b{display:block;font-size:13px}.quick-card span{display:block;color:#718096;font-size:10px;margin-top:4px}
.dashboard-grid{gap:14px}.dashboard-grid .panel{background:linear-gradient(145deg,#101927,#0c1420)!important;border-color:#202c3c!important;box-shadow:0 16px 38px rgba(0,0,0,.2)!important}
.section-link{border:0;background:transparent;color:#4f8cff;cursor:pointer;font-weight:700;font-size:11px;padding:6px}
#dashboard .tbl{border-color:#1f2b3b;background:#0c1420}#dashboard th{background:#101927;color:#8c9aab;border-color:#1e2938}#dashboard td{border-color:#1c2735}
#dashboard .empty{background:rgba(255,255,255,.012);border-radius:12px}
@media(max-width:1250px){.dashboard-stats{grid-template-columns:repeat(3,1fr)}.quick-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.dashboard-stats{grid-template-columns:repeat(2,1fr)}.quick-grid{grid-template-columns:1fr 1fr}.dashboard-hero h1{font-size:23px!important}}
@media(max-width:480px){.dashboard-stats,.quick-grid{grid-template-columns:1fr}.dashboard-stats .stat{min-height:115px}.dashboard-section-head{align-items:flex-start}}

/* V28 — Debtors & Creditors */
.debtors-creditors-panel{margin-top:18px}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
.section-head h3{margin:0 0 5px}.section-head p{margin:0;color:var(--muted,#93a4bd);font-size:13px}
.debt-credit-stats{margin-bottom:14px}
.debt-credit-tabs{display:flex;gap:8px;margin-bottom:12px}
.debt-credit-tabs .mini.active{background:linear-gradient(135deg,#c9993b,#f1c76d);color:#16120a;border-color:transparent;font-weight:800}
.debt-party{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px;border:1px solid rgba(148,163,184,.16);border-radius:14px;background:rgba(255,255,255,.025);margin-bottom:9px}
.debt-party-main{display:flex;flex-direction:column;gap:5px;min-width:0}.debt-party-main b{font-size:15px}.debt-party-main span{color:var(--muted,#93a4bd);font-size:12px}
.debt-party-balance{text-align:left;white-space:nowrap}.debt-party-balance b{display:block;font-size:17px}.debt-party-balance span{font-size:11px;color:var(--muted,#93a4bd)}
.debt-party-actions{display:flex;gap:6px;flex-wrap:wrap}
.debt-positive{color:#55d98a}.credit-positive{color:#ffb55f}
@media(max-width:760px){.section-head,.debt-party{align-items:stretch;flex-direction:column}.debt-party-balance{text-align:right}.debt-party-actions .mini{flex:1}}


/* V29 — Employee photos & ID cards */
.hr-top-actions{display:flex;gap:8px;flex-wrap:wrap}.employee-avatar{width:46px;height:46px;border-radius:12px;background:#172234;display:grid;place-items:center;overflow:hidden;font-size:20px;border:1px solid #29384d}.employee-avatar img{width:100%;height:100%;object-fit:cover}.hr-photo-editor{display:flex;align-items:center;gap:16px;padding:14px;margin-bottom:14px;border:1px solid #27354a;border-radius:15px;background:#0d1623}.hr-photo-editor>div:last-child{display:flex;flex-direction:column;gap:7px}.hr-photo-editor small{color:#8190a5}.emp-photo-preview{width:112px;height:132px;flex:0 0 auto;border-radius:14px;display:grid;place-items:center;overflow:hidden;background:#172234;border:1px solid #34445b;font-size:42px}.emp-photo-preview img{width:100%;height:100%;object-fit:cover}.employee-card-modal{max-width:570px}.employee-id-card{width:min(100%,430px);aspect-ratio:1.585;margin:14px auto;padding:22px;background:linear-gradient(145deg,#fff,#eee8dd);color:#111827;border-radius:18px;border:1px solid #d4aa54;box-shadow:0 20px 50px rgba(0,0,0,.35);position:relative;overflow:hidden}.employee-id-card:after{content:"";position:absolute;left:-30px;right:-30px;bottom:-38px;height:70px;background:linear-gradient(90deg,#0b1421 0 70%,#c79432 70%);transform:rotate(-4deg)}.id-brand{display:flex;align-items:center;gap:10px;color:#a87517}.id-brand img{width:58px;height:58px;object-fit:contain}.id-brand b{font-size:18px}.id-brand small{display:block;color:#4b5563;font-size:10px}.id-card-main{display:flex;align-items:center;gap:18px;margin-top:13px}.id-photo{width:105px;height:125px;border-radius:10px;overflow:hidden;background:#d7dbe0;display:grid;place-items:center}.id-photo img{width:100%;height:100%;object-fit:cover}.id-photo-placeholder{font-size:40px}.id-info h2{margin:0 0 8px;font-size:21px}.id-info b,.id-info span{display:block;margin:5px 0;font-size:12px}.id-code{position:absolute;left:22px;bottom:34px;display:flex;gap:2px;align-items:end;z-index:2}.id-code i{display:block;width:3px;background:#111}.id-footer{position:absolute;right:22px;bottom:15px;font-size:9px;color:#fff;z-index:3}.id-print-actions{display:flex;justify-content:center;gap:10px;margin-top:14px}@media(max-width:600px){.hr-photo-editor{align-items:flex-start;flex-direction:column}.employee-id-card{padding:15px}.id-photo{width:82px;height:102px}.id-info h2{font-size:17px}}

/* =========================================================
   LIBO Cloud V30 — Signature Executive UI
   Premium visual/smoothness refresh. No database/API changes.
   ========================================================= */
:root{
  --v30-bg:#05080d;
  --v30-bg2:#09111d;
  --v30-panel:rgba(12,20,32,.88);
  --v30-panel-2:rgba(16,27,43,.86);
  --v30-line:rgba(148,170,202,.14);
  --v30-line-gold:rgba(216,169,74,.27);
  --v30-gold:#d8a94a;
  --v30-gold-hi:#f0cc78;
  --v30-blue:#5d8fff;
  --v30-green:#4bd592;
  --v30-red:#f07178;
  --v30-text:#f5f7fb;
  --v30-muted:#8796aa;
  --v30-radius:18px;
  --v30-shadow:0 22px 55px rgba(0,0,0,.28);
}
html{scroll-behavior:smooth}
body{
  min-height:100vh;
  background:
    radial-gradient(circle at 16% 0%,rgba(66,116,208,.11),transparent 29%),
    radial-gradient(circle at 83% 4%,rgba(216,169,74,.09),transparent 25%),
    linear-gradient(145deg,#04070c 0%,#07101a 48%,#05090f 100%)!important;
  color:var(--v30-text)!important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body:before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;
  background-image:linear-gradient(rgba(255,255,255,.012) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.01) 1px,transparent 1px);
  background-size:42px 42px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.55),transparent 72%);
}
::selection{background:rgba(216,169,74,.32);color:#fff}
*{scrollbar-width:thin;scrollbar-color:#2b3d55 #09101a}
*::-webkit-scrollbar{width:9px;height:9px}*::-webkit-scrollbar-track{background:#09101a}*::-webkit-scrollbar-thumb{background:#2b3d55;border:2px solid #09101a;border-radius:999px}

/* App shell */
.app{grid-template-columns:268px minmax(0,1fr)!important;background:transparent!important}
.sidebar{
  padding:16px 13px!important;
  background:linear-gradient(180deg,rgba(7,12,20,.97),rgba(5,9,15,.98))!important;
  border-left:1px solid var(--v30-line)!important;
  box-shadow:-18px 0 55px rgba(0,0,0,.32)!important;
  backdrop-filter:blur(18px);
}
.brand{
  position:relative;overflow:hidden;padding:15px 10px!important;border-radius:20px!important;
  background:linear-gradient(145deg,rgba(17,27,42,.96),rgba(8,14,22,.98))!important;
  border:1px solid var(--v30-line-gold)!important;box-shadow:0 16px 36px rgba(0,0,0,.22)!important;
}
.brand:before{content:"";position:absolute;inset:-80% 30% auto -30%;height:140px;background:linear-gradient(90deg,transparent,rgba(240,204,120,.1),transparent);transform:rotate(-17deg)}
.brand img.brand-logo{width:176px!important;filter:drop-shadow(0 10px 20px rgba(0,0,0,.3))!important}
.brand strong{font-size:15px!important;letter-spacing:2.3px!important;color:var(--v30-gold-hi)!important}
.sidebar nav{gap:6px!important;margin-top:14px!important}
.nav-btn{
  display:flex!important;align-items:center!important;gap:11px!important;min-height:46px!important;
  padding:10px 12px!important;border-radius:13px!important;text-align:right!important;
  color:#cbd5e2!important;background:transparent!important;border:1px solid transparent!important;
  transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease!important;
}
.nav-btn:before{width:25px;height:25px;display:grid;place-items:center;flex:0 0 25px;border-radius:8px;background:rgba(255,255,255,.035);font-size:14px;opacity:.9}
.nav-btn[data-view="dashboard"]:before{content:"⌂"}.nav-btn[data-view="customers"]:before{content:"♙"}.nav-btn[data-view="transactions"]:before{content:"▤"}.nav-btn[data-view="finance"]:before{content:"◉"}.nav-btn[data-view="treasury"]:before{content:"▣"}.nav-btn[data-view="followups"]:before{content:"✓"}.nav-btn[data-view="documents"]:before{content:"▧"}.nav-btn[data-view="team"]:before{content:"♟"}.nav-btn[data-view="activity"]:before{content:"≡"}
.sidebar nav button:hover,.sidebar nav button.active{
  transform:translateX(-2px);color:#fff!important;
  background:linear-gradient(90deg,rgba(216,169,74,.17),rgba(216,169,74,.045))!important;
  border-color:rgba(216,169,74,.3)!important;
  box-shadow:inset -3px 0 0 var(--v30-gold),0 10px 26px rgba(0,0,0,.17)!important;
}
.sidebar nav button.active:before{background:rgba(216,169,74,.16);color:var(--v30-gold-hi);box-shadow:0 0 18px rgba(216,169,74,.1)}
.userbox{margin-top:14px!important;padding-top:12px;border-top:1px solid var(--v30-line);color:#94a2b5!important}
#whoami{padding:0 6px 9px}

/* Main area and page transitions */
.main{position:relative;padding:24px 26px 34px!important;background:transparent!important}
.main:before{content:"";position:absolute;top:0;left:26px;right:26px;height:1px;background:linear-gradient(90deg,transparent,rgba(216,169,74,.28),rgba(93,143,255,.18),transparent)}
.view.active{animation:v30ViewIn .28s cubic-bezier(.2,.7,.2,1) both}
@keyframes v30ViewIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.topbar{align-items:center!important;margin-bottom:18px!important;padding:3px 2px}
.topbar h1{font-size:27px!important;letter-spacing:-.45px;color:#f8fafc!important;text-shadow:none!important}
.topbar p{font-size:12px!important;color:var(--v30-muted)!important;margin-top:5px!important}

/* Glass panels */
.panel,.stat,.card,.table-wrap{
  background:linear-gradient(145deg,rgba(17,28,44,.91),rgba(8,15,25,.94))!important;
  border:1px solid var(--v30-line)!important;border-radius:var(--v30-radius)!important;
  box-shadow:var(--v30-shadow)!important;backdrop-filter:blur(14px);
}
.panel{padding:18px!important;margin-top:14px!important}
.panel:hover{border-color:rgba(148,170,202,.2)!important}
.panel h3{font-size:15px!important;color:#eef3f8!important;text-shadow:none!important}
.stats{gap:13px!important}
.stat{min-height:120px;padding:17px!important;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.stat:hover{transform:translateY(-2px);border-color:rgba(93,143,255,.24)!important;box-shadow:0 25px 55px rgba(0,0,0,.32)!important}
.stat:after{opacity:.55!important}
.stat b{font-size:23px!important;color:#fff!important;font-variant-numeric:tabular-nums}
.stat span{color:#9fadc0!important}

/* Buttons */
.btn,.mini,.quick-card{will-change:transform}
.btn{border-radius:12px!important;min-height:43px!important;padding:10px 15px!important;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease,border-color .16s ease!important}
.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0) scale(.985)}
.btn.primary,.primary{
  background:linear-gradient(135deg,#b98226,#e3b85d)!important;color:#10131a!important;
  border:1px solid rgba(255,222,148,.26)!important;box-shadow:0 10px 28px rgba(216,169,74,.17)!important;
}
.btn.primary:hover,.primary:hover{filter:brightness(1.07);box-shadow:0 13px 34px rgba(216,169,74,.23)!important}
.ghost,.btn:not(.primary):not(.treasury-withdraw-btn):not(.danger-btn){background:rgba(255,255,255,.035);color:#e8edf4;border:1px solid rgba(148,170,202,.17)}
.mini{border-radius:9px!important;background:rgba(255,255,255,.035)!important;border-color:rgba(148,170,202,.16)!important;color:#d6dfeb!important;transition:.16s ease!important}
.mini:hover{background:rgba(93,143,255,.08)!important;border-color:rgba(93,143,255,.25)!important;color:#fff!important;transform:translateY(-1px)}

/* Inputs */
input,select,textarea,.search{
  background:rgba(5,11,19,.78)!important;border:1px solid rgba(148,170,202,.16)!important;
  border-radius:11px!important;color:#eef3f8!important;min-height:44px!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.015);
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease!important;
}
textarea{min-height:88px!important;resize:vertical}
input:hover,select:hover,textarea:hover{border-color:rgba(148,170,202,.25)!important}
input:focus,select:focus,textarea:focus{background:#08111d!important;border-color:rgba(216,169,74,.56)!important;box-shadow:0 0 0 3px rgba(216,169,74,.08)!important}
input::placeholder,textarea::placeholder{color:#637287!important}

/* Tables */
.tbl{border:1px solid var(--v30-line)!important;border-radius:14px!important;background:rgba(5,11,19,.42)!important;overflow:auto}
table{font-size:12px!important;border-spacing:0}
th{position:sticky;top:0;z-index:1;background:#0b1421!important;color:#a8b5c6!important;border-bottom:1px solid rgba(148,170,202,.14)!important;padding:12px 9px!important;font-size:11px!important}
td{padding:12px 9px!important;border-bottom:1px solid rgba(148,170,202,.09)!important;color:#dbe3ed}
tbody tr{transition:background .16s ease}tbody tr:hover{background:rgba(93,143,255,.035)}tbody tr:last-child td{border-bottom:0!important}
.badge,.hr-status,.treasury-movement{box-shadow:inset 0 0 0 1px rgba(255,255,255,.035)}

/* Dashboard */
.dashboard-hero{position:relative;padding:13px 2px 10px!important}
.dashboard-hero:before{content:"";position:absolute;right:-15px;top:-20px;width:220px;height:100px;background:radial-gradient(circle,rgba(216,169,74,.11),transparent 70%);pointer-events:none}
.dashboard-stats .stat{min-height:132px!important;background:linear-gradient(145deg,rgba(18,31,49,.94),rgba(9,17,29,.96))!important;border-color:var(--v30-line)!important}
.dashboard-stats .stat-icon{width:44px!important;height:44px!important;border-radius:14px!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.04),0 12px 22px rgba(0,0,0,.13)!important}
.dashboard-quick,.dashboard-grid .panel{background:linear-gradient(145deg,rgba(15,27,43,.92),rgba(8,15,25,.95))!important;border-color:var(--v30-line)!important}
.quick-card{min-height:108px!important;border-radius:15px!important;background:linear-gradient(145deg,rgba(21,35,55,.95),rgba(12,22,36,.95))!important;border-color:rgba(148,170,202,.14)!important}
.quick-card:hover{transform:translateY(-3px)!important;border-color:rgba(216,169,74,.35)!important;box-shadow:0 20px 40px rgba(0,0,0,.26)!important}
.quick-card i{width:38px;height:38px;display:grid!important;place-items:center;border-radius:11px;background:rgba(93,143,255,.09);font-size:19px!important}
.section-link{color:#78a5ff!important;border-radius:8px!important}.section-link:hover{background:rgba(93,143,255,.07)!important}

/* Modals */
.modal{background:rgba(1,5,10,.72)!important;backdrop-filter:blur(9px)!important}
.modal.open .modal-box{animation:v30ModalIn .22s cubic-bezier(.2,.7,.2,1) both}
@keyframes v30ModalIn{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}
.modal-box,.modal-content{
  background:linear-gradient(145deg,rgba(16,27,43,.98),rgba(7,14,23,.99))!important;
  border:1px solid rgba(148,170,202,.18)!important;border-radius:20px!important;
  box-shadow:0 36px 100px rgba(0,0,0,.58)!important;
}
.modal-head{position:sticky;top:-18px;z-index:4;margin:-18px -18px 14px!important;padding:16px 18px 13px!important;background:rgba(10,18,29,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--v30-line)}
.modal-head h3{color:#f6f8fb!important;font-size:16px!important}.modal-head button{width:34px;height:34px;padding:0!important;border-radius:10px!important;color:#c9d2de!important;background:rgba(255,255,255,.035)!important;border:1px solid rgba(148,170,202,.13)!important}
.hr-section-title{color:var(--v30-gold-hi)!important;border-bottom-color:rgba(216,169,74,.16)!important}
.hr-photo-editor{background:rgba(5,11,19,.52)!important;border-color:rgba(148,170,202,.15)!important}
.emp-photo-preview,.employee-avatar{background:linear-gradient(145deg,#182941,#0d1928)!important;border-color:rgba(148,170,202,.19)!important;box-shadow:0 10px 24px rgba(0,0,0,.16)}

/* Finance / treasury / debtors */
.finance-range-label,.treasury-modal-summary{background:rgba(216,169,74,.045)!important;border-color:rgba(216,169,74,.16)!important;color:#d9c18e!important}
.treasury-balance-row,.debt-party{background:rgba(255,255,255,.018)!important;border-color:rgba(148,170,202,.12)!important;transition:.16s ease}
.treasury-balance-row:hover,.debt-party:hover{background:rgba(93,143,255,.035)!important;border-color:rgba(93,143,255,.19)!important}
.debt-credit-tabs .mini.active{background:linear-gradient(135deg,#b98226,#e3b85d)!important;color:#111827!important;box-shadow:0 8px 20px rgba(216,169,74,.14)}

/* Employee ID card subtle polish */
.employee-id-card{box-shadow:0 25px 65px rgba(0,0,0,.4)!important;border-radius:20px!important;border-color:#c89b44!important}

/* Login */
.auth-shell{background:radial-gradient(circle at 50% 20%,rgba(216,169,74,.09),transparent 28%)}
.auth-card{background:linear-gradient(145deg,rgba(16,27,43,.97),rgba(7,14,23,.99))!important;border-color:rgba(216,169,74,.27)!important;box-shadow:0 35px 100px rgba(0,0,0,.58)!important;backdrop-filter:blur(18px)}
.auth-card h1{color:#f4d58e!important}.auth-card p{color:#8998ab!important}

/* Version badge */
#libo-v2-badge{background:rgba(9,17,28,.9)!important;color:#c7d2df!important;border:1px solid rgba(148,170,202,.15);backdrop-filter:blur(10px);box-shadow:0 10px 28px rgba(0,0,0,.24)!important}

/* Responsive refinement */
@media(max-width:1100px){.app{grid-template-columns:230px minmax(0,1fr)!important}.main{padding:20px!important}.brand img.brand-logo{width:150px!important}.dashboard-stats{grid-template-columns:repeat(3,1fr)!important}}
@media(max-width:950px){
  .app{grid-template-columns:1fr!important}.sidebar{height:auto!important;position:relative!important;padding:12px!important}.brand{display:flex;align-items:center;justify-content:space-between}.brand img.brand-logo{width:130px!important}.brand strong{margin:0!important}.sidebar nav{grid-template-columns:repeat(3,1fr)!important}.nav-btn{justify-content:flex-start!important}.main{padding:17px!important}.main:before{left:17px;right:17px}
}
@media(max-width:650px){
  .sidebar nav{display:flex!important;overflow-x:auto;padding-bottom:4px;gap:7px!important}.nav-btn{flex:0 0 auto!important;min-width:130px!important;justify-content:center!important}.userbox{display:flex;align-items:center;gap:8px}.userbox #whoami{flex:1}.userbox .full{width:auto!important}.topbar{align-items:stretch!important}.topbar>div:last-child:not(:first-child),.treasury-actions{width:100%}.treasury-actions .btn{flex:1}.panel{padding:14px!important}.modal{padding:10px!important}.modal-box{border-radius:17px!important}.dashboard-stats{grid-template-columns:1fr 1fr!important}.quick-grid{grid-template-columns:1fr 1fr!important}}
@media(max-width:430px){.dashboard-stats,.quick-grid{grid-template-columns:1fr!important}.main{padding:12px!important}.sidebar{padding:9px!important}.topbar h1{font-size:23px!important}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}



/* =========================================================
   LIBO Cloud V33 — Luxury Executive UI
   Complete visual refresh. Core application logic unchanged.
   ========================================================= */
:root{
  --lux-bg:#070b0e;--lux-bg2:#0b1014;--lux-card:#10161a;--lux-card2:#131a1f;
  --lux-gold:#d6a84f;--lux-gold2:#f0cf85;--lux-border:rgba(214,168,79,.28);
  --lux-text:#f6f3ed;--lux-muted:#8f969d;--lux-soft:rgba(255,255,255,.035);
}
html{background:#070b0e}
body{background:radial-gradient(circle at 78% 2%,rgba(214,168,79,.06),transparent 24%),linear-gradient(140deg,#070a0d 0%,#0b1014 55%,#070a0d 100%)!important;color:var(--lux-text)!important}
.app{grid-template-columns:252px minmax(0,1fr)!important}
.sidebar{padding:0!important;background:linear-gradient(180deg,#080c0f,#0c1216 55%,#080c0f)!important;border-left:1px solid rgba(255,255,255,.08)!important;box-shadow:none!important;display:flex;flex-direction:column}
.brand{margin:0!important;padding:24px 16px 20px!important;border:0!important;border-bottom:1px solid rgba(255,255,255,.08)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.brand-logo.premium-logo{width:112px!important;border:0!important;box-shadow:none!important;background:transparent!important;padding:0!important;border-radius:0!important;filter:none!important}
.brand strong{font-family:Georgia,serif!important;font-size:20px!important;letter-spacing:1.8px!important;color:var(--lux-gold2)!important;margin-top:8px!important}
.brand-subtitle{display:block;font-size:8px;letter-spacing:1.5px;color:#aaa38f;margin-top:5px;direction:ltr}
.sidebar nav{display:flex!important;flex-direction:column;gap:6px!important;margin:14px 10px 0!important}
.nav-btn{min-height:46px!important;display:flex;align-items:center;gap:13px;width:100%;padding:10px 14px!important;border-radius:10px!important;background:transparent!important;border:1px solid transparent!important;color:#c9cdd0!important;font-size:14px!important}
.nav-btn .nav-icon{width:23px;display:inline-grid;place-items:center;font-size:17px;opacity:.9;filter:grayscale(.2)}
.nav-btn.active,.nav-btn:hover{background:linear-gradient(90deg,rgba(214,168,79,.28),rgba(214,168,79,.08))!important;border-color:rgba(214,168,79,.65)!important;color:#fff2d2!important;box-shadow:inset -3px 0 var(--lux-gold)!important}
.sidebar-version{margin:auto 14px 14px;border:1px solid var(--lux-border);border-radius:15px;padding:14px 10px;text-align:center;background:linear-gradient(145deg,rgba(214,168,79,.08),rgba(255,255,255,.015));color:var(--lux-gold2)}
.sidebar-version b{display:block;font-size:12px}.sidebar-version span{display:block;margin-top:5px;font-size:10px;color:#a8a097}
.userbox{margin:0 14px 16px!important;padding-top:12px;border-top:1px solid rgba(255,255,255,.07);color:#aeb4b9!important}
.main{padding:26px 28px 40px!important;max-width:1700px;width:100%;margin:0 auto}
.topbar{padding-bottom:15px;border-bottom:1px solid rgba(255,255,255,.065);margin-bottom:22px!important;align-items:center!important}
.topbar h1{font-size:26px!important;color:#fbfaf6!important;letter-spacing:-.3px}.topbar p{font-size:13px!important;color:var(--lux-muted)!important;margin-top:7px!important}
.dashboard-hero{min-height:105px;border:0!important;padding:10px 0 22px!important;align-items:center!important;background:transparent!important}
.dashboard-hero h1{font-size:29px!important}.hero-action{padding-inline:20px!important}
.stats{gap:15px!important}.dashboard-stats{grid-template-columns:repeat(5,minmax(145px,1fr))!important}
.stat,.panel{background:linear-gradient(145deg,rgba(18,24,29,.98),rgba(12,17,21,.98))!important;border:1px solid rgba(214,168,79,.25)!important;border-radius:15px!important;box-shadow:0 14px 34px rgba(0,0,0,.22)!important}
.stat{min-height:125px;padding:20px!important;display:flex;flex-direction:column;justify-content:center}.stat:after{background:radial-gradient(circle,rgba(214,168,79,.10),transparent 70%)!important}
.stat b{font-size:28px!important;margin:5px 0 3px}.stat span:not(.stat-icon){font-size:13px!important;color:#c4c6c6!important}.stat small{font-size:10px;color:#777f85;margin-top:7px}
.stat-icon{position:absolute;left:16px;top:17px;width:42px;height:42px;display:grid!important;place-items:center;border-radius:50%;font-size:20px;background:linear-gradient(145deg,rgba(214,168,79,.35),rgba(214,168,79,.08));border:1px solid rgba(214,168,79,.28)}
.panel{padding:20px!important;margin-top:16px!important}.panel h3{color:#f1e5ca!important;font-size:16px!important}
.dashboard-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.dashboard-section-head h3{margin:0!important}.dashboard-section-head p{margin:5px 0 0;color:var(--lux-muted);font-size:11px}
.quick-grid{gap:13px!important}.quick-card{min-height:126px!important;border-radius:14px!important;background:linear-gradient(145deg,#13191e,#0d1216)!important;border:1px solid rgba(255,255,255,.07)!important;color:#f1ede5!important;box-shadow:none!important;transition:.18s ease!important}.quick-card:hover{transform:translateY(-2px);border-color:rgba(214,168,79,.4)!important}.quick-card i{font-size:26px!important}.quick-card b{color:#f6e5bb!important}.quick-card span{color:#858d93!important}
.btn{border-radius:9px!important}.primary{background:linear-gradient(135deg,#b7852f,#e3b960)!important;color:#0a0c0d!important;box-shadow:0 8px 22px rgba(214,168,79,.15)!important}.ghost{background:#10161a!important;border-color:#30363b!important}
input,select,textarea,.search{background:#0b1014!important;border-color:#2a3136!important;border-radius:9px!important;color:#f0f0ed!important}input:focus,select:focus,textarea:focus{border-color:#b98c39!important;box-shadow:0 0 0 3px rgba(214,168,79,.08)!important}
.tbl{border-color:#252d32!important;background:#0c1115!important}table{font-size:12px!important}th{background:#0b0f12!important;color:#d8b467!important;border-bottom-color:#31363a!important;padding:12px 10px!important}td{padding:12px 10px!important;border-bottom-color:#20272c!important;color:#d9dcde!important}tr:hover td{background:rgba(214,168,79,.025)}
.mini{background:#12181d!important;color:#d8b467!important;border-color:#333a40!important}.section-link{background:transparent;border:1px solid #30373a;color:#c8a55e;border-radius:8px;padding:7px 10px;cursor:pointer}
.modal{background:rgba(0,0,0,.78)!important}.modal-box{background:linear-gradient(145deg,#151b20,#0d1216)!important;border-color:rgba(214,168,79,.28)!important;border-radius:16px!important}.modal-head{padding-bottom:11px;border-bottom:1px solid rgba(255,255,255,.07)}
.auth-card{background:linear-gradient(145deg,#12181d,#090d10)!important;border-color:rgba(214,168,79,.38)!important}.auth-logo.premium-logo{border:0!important;box-shadow:none!important;background:transparent!important;filter:none!important}
@media(max-width:1180px){.dashboard-stats{grid-template-columns:repeat(3,1fr)!important}.app{grid-template-columns:220px minmax(0,1fr)!important}}
@media(max-width:950px){.app{grid-template-columns:1fr!important}.sidebar{position:relative!important;height:auto!important}.sidebar nav{display:grid!important;grid-template-columns:repeat(3,1fr)!important}.sidebar-version{margin:14px!important}.userbox{margin:0 14px 14px!important}.main{padding:18px!important}}
@media(max-width:720px){.dashboard-stats{grid-template-columns:repeat(2,1fr)!important}.sidebar nav{grid-template-columns:repeat(2,1fr)!important}.nav-btn{justify-content:flex-start}.dashboard-hero{align-items:flex-start!important}.topbar{align-items:flex-start!important}}
@media(max-width:480px){.dashboard-stats{grid-template-columns:1fr!important}.main{padding:12px!important}}

/* V34 — Official correspondence */
.letter-stats{grid-template-columns:repeat(2,minmax(180px,280px))!important}.letter-modal-box{max-width:980px!important}.letter-editor-wrap{margin:16px 0;border:1px solid rgba(214,168,79,.28);border-radius:12px;overflow:hidden;background:#0b1014}.letter-toolbar{display:flex;flex-wrap:wrap;gap:6px;padding:9px;border-bottom:1px solid #2a3136;background:#0d1318}.letter-toolbar button{border:1px solid #343c42;background:#151c21;color:#d8b467;border-radius:7px;padding:7px 10px;cursor:pointer}.letter-toolbar button:hover{border-color:#b98c39}.letter-editor{min-height:330px;padding:24px 28px;outline:none;background:#f9f8f4;color:#1b1b1b;font-family:Arial,Tahoma,sans-serif;font-size:15px;line-height:1.9;text-align:right}.letter-editor:empty:before{content:attr(data-placeholder);color:#999}.letter-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:14px}.letter-meta{margin-top:15px}@media(max-width:650px){.letter-stats{grid-template-columns:1fr!important}.letter-editor{padding:16px;min-height:280px}}

/* V35 — Official Correspondence Pro */
.letter-stats{grid-template-columns:repeat(3,minmax(180px,280px))!important}
.letter-pro-strip{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:15px 0;padding:13px;border:1px solid rgba(214,168,79,.2);border-radius:12px;background:rgba(214,168,79,.035)}
.letter-pro-strip label{display:flex;align-items:center;gap:10px;color:#d5c49e;font-size:12px}.letter-pro-strip select{flex:1;margin:0!important}
.letter-assets{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}
.letter-asset-card{border:1px solid rgba(214,168,79,.2);border-radius:12px;padding:13px;background:rgba(255,255,255,.018);display:grid;gap:8px}
.letter-asset-card>b{color:#ecd28f;font-size:13px}.letter-asset-card>span{color:#858d93;font-size:10px}.letter-asset-card input[type=file]{padding:8px!important;font-size:11px}
.letter-asset-preview{height:92px;border:1px dashed #394148;border-radius:10px;background:#0a0f13;display:grid;place-items:center;color:#747c82;font-size:11px;overflow:hidden}
.letter-asset-preview img{max-width:90%;max-height:82px;object-fit:contain}
.letter-row-actions{white-space:nowrap}.letter-row-actions .mini{margin:2px}
@media(max-width:760px){.letter-stats{grid-template-columns:1fr!important}.letter-pro-strip,.letter-assets{grid-template-columns:1fr}.letter-pro-strip label{align-items:stretch;flex-direction:column}}

/* ============================================================
   V37 — iPhone / PWA Edition
   ============================================================ */
html,body{overscroll-behavior-y:none;-webkit-text-size-adjust:100%;}
body{min-height:100dvh;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);}
button,input,select,textarea{font:inherit;-webkit-tap-highlight-color:transparent;}
button,.nav-btn,.quick-card,.mini,.section-link{touch-action:manipulation;}
input,select,textarea{font-size:16px!important;}
.auth-shell{min-height:100dvh;padding:calc(18px + env(safe-area-inset-top)) 16px calc(18px + env(safe-area-inset-bottom));}
.auth-card{width:min(100%,430px);}

@media(max-width:950px){
  body{padding-bottom:calc(84px + env(safe-area-inset-bottom));}
  .app{display:block!important;min-height:100dvh!important;}
  .sidebar{position:fixed!important;z-index:1000!important;inset:auto 0 0 0!important;height:auto!important;padding:0!important;background:rgba(8,12,15,.96)!important;border:0!important;border-top:1px solid rgba(214,168,79,.26)!important;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 -12px 32px rgba(0,0,0,.28)!important;}
  .brand,.sidebar-version,.userbox{display:none!important;}
  .sidebar nav{display:flex!important;flex-direction:row!important;gap:6px!important;margin:0!important;padding:8px 10px calc(8px + env(safe-area-inset-bottom))!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
  .sidebar nav::-webkit-scrollbar{display:none;}
  .nav-btn{flex:0 0 82px!important;width:82px!important;min-height:58px!important;padding:6px 5px!important;justify-content:center!important;align-items:center!important;flex-direction:column!important;gap:4px!important;border-radius:12px!important;font-size:10px!important;white-space:nowrap;}
  .nav-btn .nav-icon{width:auto!important;font-size:20px!important;line-height:1!important;}
  .nav-btn.active,.nav-btn:hover{box-shadow:none!important;background:linear-gradient(180deg,rgba(214,168,79,.24),rgba(214,168,79,.07))!important;}
  .main{padding:16px 14px 22px!important;}
  .topbar{gap:12px;flex-wrap:wrap;}
  .topbar h1{font-size:23px!important;}
  .topbar .btn,.hero-action{width:100%;min-height:46px;}
  .dashboard-hero{min-height:auto!important;}
  .dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;}
  .stat{min-height:112px!important;padding:16px!important;}
  .stat b{font-size:24px!important;}
  .stat-icon{width:36px;height:36px;font-size:18px;left:12px;top:12px;}
  .quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .quick-card{min-height:112px!important;padding:14px 8px!important;}
  .grid2,.grid3,.form-grid,.filters{grid-template-columns:1fr!important;}
  .panel{padding:15px!important;border-radius:14px!important;overflow:hidden;}
  .tbl{overflow-x:auto!important;-webkit-overflow-scrolling:touch;}
  table{min-width:720px;}
  .modal{align-items:flex-end!important;padding:0!important;}
  .modal-box{width:100%!important;max-width:none!important;max-height:92dvh!important;margin:0!important;border-radius:20px 20px 0 0!important;padding:18px 15px calc(18px + env(safe-area-inset-bottom))!important;overflow:auto!important;-webkit-overflow-scrolling:touch;}
  .modal-head{position:sticky;top:-18px;z-index:3;background:#11171c;padding-top:12px;}
  .letter-editor{min-height:260px!important;}
}

@media(max-width:430px){
  .main{padding:12px 10px 18px!important;}
  .dashboard-stats{grid-template-columns:1fr 1fr!important;}
  .stat{min-height:105px!important;padding:14px!important;}
  .stat small{display:none;}
  .quick-grid{grid-template-columns:1fr 1fr!important;gap:9px!important;}
  .quick-card{min-height:100px!important;}
  .panel{padding:12px!important;}
}

@media(display-mode:standalone){
  body{user-select:none;-webkit-user-select:none;}
  input,textarea,[contenteditable="true"]{user-select:text;-webkit-user-select:text;}
}

@media(max-width:950px){#libo-v2-badge{display:none!important}}


/* ============================================================
   V38 — iPhone navigation + logout fixes
   ============================================================ */
.mobile-logout{display:none}
@media(max-width:950px){
  .mobile-logout{
    display:flex;position:fixed;z-index:1200;left:12px;
    top:calc(10px + env(safe-area-inset-top));align-items:center;gap:5px;
    min-height:38px;padding:7px 11px;border-radius:12px;
    border:1px solid rgba(214,168,79,.42);
    background:rgba(8,12,15,.90);color:#f0d18b;
    box-shadow:0 8px 24px rgba(0,0,0,.24);
    backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
    font-size:12px;font-weight:700;
  }
  .mobile-logout:active{transform:scale(.97)}
}


/* ============================================================
   V40 — iPhone transaction modal save-button fix
   ============================================================ */
@media(max-width:950px){
  .modal{
    z-index:1600!important;
    align-items:flex-end!important;
    padding:0!important;
  }
  .modal-box{
    max-height:100dvh!important;
    min-height:auto!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    padding-bottom:calc(120px + env(safe-area-inset-bottom))!important;
    scroll-padding-bottom:calc(120px + env(safe-area-inset-bottom));
  }
  #transactionModal .modal-box{
    max-height:100dvh!important;
  }
  #transactionModal .btn.primary{
    position:relative;
    z-index:2;
    margin-top:8px;
    margin-bottom:12px;
  }
}


/* V41 — Customer entry directly inside transaction */
.transaction-customer-box{margin:0 0 14px;padding:14px;border:1px solid rgba(216,169,74,.22);border-radius:14px;background:rgba(216,169,74,.045)}
.transaction-customer-title{margin:0 0 10px;font-weight:800;color:#e8c77a;font-size:14px}
.transaction-customer-box .form-grid{margin-bottom:0}
.transaction-new-customer{padding-top:2px}
.transaction-new-customer>.form-grid{margin-top:0}
#tCustomerMode{font-weight:700}
@media(max-width:650px){.transaction-customer-box{padding:12px 10px}}

/* ============================================================
   V42 — iPhone Safe Area fix for modal close/header
   Keeps modal controls below Dynamic Island / status bar.
   ============================================================ */
@media(max-width:950px){
  .modal{
    box-sizing:border-box!important;
    padding-top:env(safe-area-inset-top)!important;
    padding-right:env(safe-area-inset-right)!important;
    padding-left:env(safe-area-inset-left)!important;
  }
  .modal-box{
    box-sizing:border-box!important;
    max-height:calc(100dvh - env(safe-area-inset-top))!important;
    border-top-left-radius:19px!important;
    border-top-right-radius:19px!important;
  }
  .modal-head{
    position:sticky!important;
    top:0!important;
    z-index:20!important;
    min-height:48px;
    padding:4px 0 10px;
    background:linear-gradient(145deg,#171c20,#0f1316);
  }
  .modal-head button{
    min-width:44px!important;
    min-height:44px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    font-size:24px!important;
    line-height:1!important;
    touch-action:manipulation;
  }
}


/* ============================================================
   V43 — HARD iPhone modal header + cancel fallback
   Fixes WKWebView/PWA cases where env(safe-area-inset-top) is 0.
   ============================================================ */
@media(max-width:950px){
  .modal{
    align-items:flex-end!important;
    padding-top:max(env(safe-area-inset-top), 58px)!important;
    padding-right:env(safe-area-inset-right)!important;
    padding-left:env(safe-area-inset-left)!important;
    padding-bottom:0!important;
  }
  .modal-box{
    max-height:calc(100dvh - max(env(safe-area-inset-top), 58px))!important;
    border-radius:20px 20px 0 0!important;
    padding-top:0!important;
  }
  .modal-head{
    position:sticky!important;
    top:0!important;
    z-index:100!important;
    margin:0 -15px 14px!important;
    padding:10px 15px!important;
    min-height:58px!important;
    background:#11171c!important;
    border-bottom:1px solid rgba(255,255,255,.10)!important;
    box-shadow:0 6px 18px rgba(0,0,0,.18)!important;
  }
  .modal-head button{
    width:46px!important;height:46px!important;min-width:46px!important;min-height:46px!important;
    font-size:27px!important;border-radius:12px!important;position:relative!important;z-index:101!important;
  }
  #transactionModal .modal-box{padding-bottom:calc(24px + env(safe-area-inset-bottom))!important;}
  .iphone-transaction-actions{
    position:sticky;bottom:0;z-index:90;display:grid;grid-template-columns:1fr 1fr;gap:10px;
    margin:16px -15px calc(-24px - env(safe-area-inset-bottom));
    padding:12px 15px calc(12px + env(safe-area-inset-bottom));
    background:linear-gradient(180deg,rgba(17,23,28,.90),#11171c 30%);
    border-top:1px solid rgba(255,255,255,.10);
  }
  .iphone-transaction-actions .btn{width:100%!important;margin:0!important;min-height:48px!important;}
}

/* V45 — Admin backup & restore */
.backup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}
.backup-card{display:flex;flex-direction:column;gap:14px;min-height:300px}
.backup-card h3,.backup-info h3{margin:0 0 8px;color:#e5bd70}
.backup-card p,.backup-info p{margin:0;color:var(--muted);line-height:1.8}
.backup-icon{width:54px;height:54px;border-radius:16px;border:1px solid #4a4438;display:grid;place-items:center;font-size:28px;background:linear-gradient(145deg,#1c2022,#111518);color:#e5bd70}
.backup-card .btn{margin-top:auto}
.backup-meta{font-size:13px;color:var(--muted);padding-top:4px}
.backup-file{width:100%;padding:14px;border:1px dashed #555;border-radius:12px;background:#0d1114;color:#eee}
.backup-info{margin-top:4px}
.backup-status{margin-top:14px;padding:13px 15px;border-radius:12px;background:#0e1417;border:1px solid #2f363a;color:#d7dde0;white-space:pre-wrap;line-height:1.65}
.backup-status.ok{border-color:#3d644b;color:#bfe7ca}
.backup-status.err{border-color:#704247;color:#ffc2c8}
@media(max-width:760px){.backup-grid{grid-template-columns:1fr}.backup-card{min-height:0}.backup-file{font-size:16px}}


/* V47 — LIBO Assistant */
.assistant-hero{border-bottom:1px solid rgba(229,189,112,.16);padding-bottom:18px}.assistant-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,.75fr);gap:16px}.assistant-main{min-height:620px;display:flex;flex-direction:column}.assistant-chat{flex:1;min-height:380px;max-height:520px;overflow:auto;padding:8px;display:flex;flex-direction:column;gap:12px}.assistant-msg{display:flex;gap:10px;align-items:flex-start}.assistant-msg>div:last-child{max-width:82%;padding:13px 15px;border-radius:16px;line-height:1.75;background:#171d21;border:1px solid #30383d}.assistant-msg.user{justify-content:flex-start}.assistant-msg.user>div{background:#30291c;border-color:#6d5832;color:#f5e5bd}.assistant-avatar{width:34px!important;height:34px!important;min-width:34px;padding:0!important;display:grid;place-items:center;border-radius:50%!important;background:#211d16!important;border:1px solid #6d5832!important;color:#e5bd70}.assistant-suggestions{display:flex;gap:8px;flex-wrap:wrap;padding:12px 0;border-top:1px solid rgba(255,255,255,.07)}.assistant-suggestions button{border:1px solid #454035;background:#15191b;color:#e6d5ad;border-radius:999px;padding:8px 11px;cursor:pointer}.assistant-compose{display:grid;grid-template-columns:1fr auto;gap:10px}.assistant-compose input{min-height:48px}.assistant-side h3{color:#e5bd70;margin-top:0}.assistant-safe{display:flex;flex-direction:column;gap:6px;padding:14px;border-radius:14px;background:#101719;border:1px solid #315342;margin-bottom:16px}.assistant-safe b{color:#bfe7ca}.assistant-safe span{color:var(--muted);line-height:1.6}.assistant-kpis{display:grid;grid-template-columns:1fr 1fr;gap:10px}.assistant-kpis div{padding:13px;border-radius:12px;background:#111619;border:1px solid #2d3438}.assistant-kpis b{display:block;font-size:22px;color:#e5bd70}.assistant-kpis span{font-size:12px;color:var(--muted)}@media(max-width:900px){.assistant-layout{grid-template-columns:1fr}.assistant-main{min-height:540px}.assistant-chat{max-height:430px}.assistant-side{order:-1}.assistant-kpis{grid-template-columns:repeat(4,1fr)}}@media(max-width:600px){.assistant-compose{grid-template-columns:1fr}.assistant-kpis{grid-template-columns:1fr 1fr}.assistant-msg>div:last-child{max-width:90%}}

/* V47.1 — Desktop sidebar overflow fix: keep all ADMIN items reachable */
@media(min-width:951px){
  .sidebar{overflow:hidden!important;}
  .sidebar nav{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    scrollbar-width:thin;
    padding-bottom:10px!important;
  }
  .sidebar nav::-webkit-scrollbar{width:6px;}
  .sidebar nav::-webkit-scrollbar-thumb{background:rgba(214,168,79,.35);border-radius:999px;}
  .sidebar-version{flex:0 0 auto!important;margin:10px 14px!important;}
  .userbox{flex:0 0 auto!important;}
}

/* V47.2 — Pin LIBO Assistant in the visible ADMIN navigation area */
.libo-assistant-nav{border-color:rgba(214,168,79,.42)!important;background:linear-gradient(90deg,rgba(214,168,79,.10),rgba(255,255,255,.02))!important;}

/* V47.4 — Automatic exchange-rate panel */
.exchange-panel{margin-top:14px!important;padding:18px!important;background:linear-gradient(145deg,rgba(15,27,43,.96),rgba(8,15,25,.98))!important;border:1px solid rgba(200,165,94,.34)!important;box-shadow:0 16px 38px rgba(0,0,0,.22)!important}
.exchange-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.exchange-head h3{margin:0 0 4px;font-size:18px;color:#f1d488}.exchange-head p{margin:0;color:#8994a3;font-size:12px}.exchange-refresh{border:1px solid rgba(200,165,94,.45);background:rgba(200,165,94,.08);color:#dfbd72;border-radius:12px;padding:9px 12px;font-weight:800;cursor:pointer;display:flex;align-items:center;gap:6px}.exchange-refresh.loading{opacity:.7;pointer-events:none}.exchange-refresh.loading:first-letter{animation:fxspin .8s linear infinite}@keyframes fxspin{to{transform:rotate(360deg)}}
.exchange-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.exchange-rate-card{display:flex;align-items:center;gap:12px;min-height:86px;padding:14px;border:1px solid #243246;border-radius:16px;background:linear-gradient(145deg,#111d2c,#0b1420)}.exchange-flag{width:48px;height:48px;flex:0 0 48px;border-radius:14px;display:grid;place-items:center;font-size:25px;background:rgba(200,165,94,.08);border:1px solid rgba(200,165,94,.22)}.exchange-rate-copy{min-width:0;display:flex;flex-direction:column;gap:6px}.exchange-rate-copy small{color:#a3adba;font-size:12px}.exchange-rate-copy b{direction:ltr;display:flex;align-items:baseline;gap:7px;flex-wrap:wrap;color:#f8fafc;font-size:20px}.exchange-rate-copy b span:last-child{color:#e2bd67}.exchange-rate-copy em{font-style:normal;color:#687689}.exchange-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;color:#7f8a99;font-size:11px}.exchange-status{display:flex;align-items:center;gap:6px;color:#8fd5a1}.exchange-status i{width:8px;height:8px;border-radius:50%;background:#55c56f;box-shadow:0 0 10px rgba(85,197,111,.45)}.exchange-status.offline{color:#d9ad67}.exchange-status.offline i{background:#d49b42;box-shadow:none}
@media(max-width:640px){.exchange-panel{padding:14px!important}.exchange-grid{grid-template-columns:1fr}.exchange-rate-card{min-height:78px}.exchange-rate-copy b{font-size:18px}.exchange-foot{align-items:flex-start;flex-direction:column}.exchange-refresh span{display:none}}

/* V47.6 — Exchange converter */
.exchange-converter{margin-top:14px;padding:14px;border:1px solid rgba(200,165,94,.24);border-radius:16px;background:rgba(5,12,20,.46)}
.exchange-converter-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.exchange-converter-head b{color:#f1d488;font-size:14px}.exchange-converter-head span{color:#778494;font-size:11px;direction:ltr}
.exchange-converter-row{display:grid;grid-template-columns:minmax(90px,1fr) 90px 44px 90px;gap:8px;align-items:center;direction:ltr}.exchange-converter-row input,.exchange-converter-row select{height:44px;border:1px solid #29384b;border-radius:11px;background:#0a131e;color:#f5f7fa;padding:0 10px;font-weight:700;outline:none}.exchange-converter-row input:focus,.exchange-converter-row select:focus{border-color:#c8a55e}.exchange-swap{height:44px;border-radius:11px;border:1px solid rgba(200,165,94,.45);background:rgba(200,165,94,.10);color:#e4bd68;font-size:22px;cursor:pointer}.exchange-converter-result{margin-top:10px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:11px;background:rgba(200,165,94,.06);direction:rtl}.exchange-converter-result span{color:#8793a3;font-size:12px}.exchange-converter-result b{color:#f2cf7e;font-size:18px;direction:ltr}
@media(max-width:640px){.exchange-converter-row{grid-template-columns:1fr 76px 42px 76px}.exchange-converter-row input,.exchange-converter-row select,.exchange-swap{height:42px}.exchange-converter-result b{font-size:16px}}

/* V47.8 WhatsApp customer shortcut */
.whatsapp-field{display:flex;gap:8px;align-items:stretch}.whatsapp-field input{flex:1;min-width:0}.whatsapp-btn,.whatsapp-mini{border-color:#2f9e64!important}.whatsapp-btn{white-space:nowrap;padding-inline:14px}.whatsapp-mini{margin-inline-start:6px}
@media(max-width:700px){.whatsapp-field{grid-column:1/-1}.whatsapp-btn{min-width:118px}}

/* V47.12 — Premium transaction details */
#detailsModal .modal-box.large{width:min(980px,96vw);max-height:92vh;overflow:auto}
#detailsModal .modal-head{position:sticky;top:0;z-index:8;background:linear-gradient(180deg,rgba(10,18,34,.98),rgba(10,18,34,.93));backdrop-filter:blur(12px);border-bottom:1px solid rgba(212,175,55,.16)}
.tx-detail-shell{display:grid;gap:14px;padding:4px}
.tx-detail-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px;border:1px solid rgba(212,175,55,.26);border-radius:20px;background:radial-gradient(circle at top right,rgba(212,175,55,.14),transparent 42%),linear-gradient(145deg,rgba(24,35,57,.96),rgba(11,20,36,.96));box-shadow:0 16px 38px rgba(0,0,0,.20)}
.tx-detail-kicker{display:inline-block;font-size:12px;color:#d7b95a;letter-spacing:.08em;margin-bottom:4px}
.tx-detail-hero h2{margin:0;font-size:25px;line-height:1.2;color:#fff;direction:ltr;text-align:right}
.tx-detail-service{margin-top:7px;color:#e9edf4;font-size:15px;font-weight:700}
.tx-print-btn{padding:10px 14px;border-color:rgba(212,175,55,.40);white-space:nowrap}
.tx-detail-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:14px}
.tx-info-card{border:1px solid rgba(255,255,255,.09);border-radius:18px;padding:17px;background:linear-gradient(145deg,rgba(19,30,49,.88),rgba(12,21,36,.88));box-shadow:0 10px 25px rgba(0,0,0,.12)}
.tx-card-head{display:flex;align-items:center;gap:8px;color:#d7b95a;font-weight:800;margin-bottom:14px;font-size:14px}
.tx-card-icon{width:28px;height:28px;display:inline-grid;place-items:center;border-radius:9px;background:rgba(212,175,55,.10);font-size:14px}
.tx-customer-name{font-size:20px;font-weight:900;color:#fff;margin-bottom:6px}
.tx-muted{color:#aeb9c9;direction:ltr;text-align:right;font-variant-numeric:tabular-nums}
.tx-card-whatsapp{margin-top:14px;width:max-content}
.tx-field-row{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px dashed rgba(255,255,255,.08)}
.tx-field-row:last-child{border-bottom:0}.tx-field-row span{color:#9eacbe}.tx-field-row strong{color:#f6f7fa;font-variant-numeric:tabular-nums}
.tx-money-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.tx-money-card{position:relative;overflow:hidden;padding:17px 18px;border-radius:17px;border:1px solid rgba(212,175,55,.22);background:linear-gradient(145deg,rgba(212,175,55,.10),rgba(20,30,48,.88))}
.tx-money-card:after{content:"";position:absolute;inset:auto -18px -22px auto;width:70px;height:70px;border-radius:50%;background:rgba(212,175,55,.06)}
.tx-money-card span{display:block;color:#aeb8c7;font-size:13px;margin-bottom:7px}.tx-money-card strong{display:block;color:#fff;font-size:21px;direction:ltr;text-align:right;font-variant-numeric:tabular-nums}
.tx-money-card.paid{border-color:rgba(57,184,112,.30);background:linear-gradient(145deg,rgba(57,184,112,.10),rgba(20,30,48,.88))}.tx-money-card.paid strong{color:#75d69d}
.tx-money-card.due{border-color:rgba(229,101,101,.34);background:linear-gradient(145deg,rgba(229,101,101,.10),rgba(20,30,48,.88))}.tx-money-card.due strong{color:#ff9a9a}
.tx-meta-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.tx-meta-grid>div{padding:11px 12px;border-radius:12px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.05)}.tx-meta-grid span{display:block;color:#98a6b8;font-size:12px;margin-bottom:5px}.tx-meta-grid strong{display:block;color:#eef2f7;font-size:14px}
.tx-notes-text{line-height:1.9;color:#dce3ec;white-space:pre-wrap;min-height:24px}
.tx-payments-card .tbl{margin-top:2px}.tx-payments-card table{overflow:hidden;border-radius:12px}.tx-payment-entry{padding-top:14px;border-top:1px solid rgba(255,255,255,.07)}
.tx-detail-actions{display:flex;gap:9px;flex-wrap:wrap;padding:3px 1px 2px}.tx-detail-actions .btn{min-height:42px}
@media(max-width:760px){#detailsModal .modal-box.large{width:96vw}.tx-detail-hero{align-items:flex-start;flex-direction:column;padding:17px}.tx-detail-hero-actions,.tx-print-btn{width:100%}.tx-detail-grid{grid-template-columns:1fr}.tx-money-grid{grid-template-columns:1fr}.tx-meta-grid{grid-template-columns:1fr 1fr}.tx-detail-actions .btn{flex:1;min-width:140px}.tx-money-card strong{font-size:19px}}
@media(max-width:460px){.tx-meta-grid{grid-template-columns:1fr}.tx-detail-hero h2{font-size:21px}.tx-info-card{padding:14px}.tx-detail-actions .btn{width:100%;flex-basis:100%}}

/* V47.13 — strict role visibility: admin sections are hidden by default */
.admin-only,
.management-only { display: none !important; }
body.role-admin .admin-only,
body.role-admin .management-only { display: revert !important; }
body.role-admin button.admin-only,
body.role-admin button.management-only { display: flex !important; }
body.role-admin section.admin-only,
body.role-admin section.management-only { display: none !important; }
body.role-admin section.admin-only.view.active,
body.role-admin section.management-only.view.active { display: block !important; }

/* V47.39 — online employees and remote logout */
.online-team-panel{margin-bottom:16px}.online-team-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:13px}.online-team-head h3{display:flex;align-items:center;gap:9px;margin:0}.online-team-head p{margin:5px 0 0;color:#91a0b2;font-size:12px}.online-live-dot{width:11px;height:11px;border-radius:50%;background:#50cf84;box-shadow:0 0 0 0 rgba(80,207,132,.55);animation:onlinePulse 1.7s infinite}.online-users-summary{padding:11px 13px;margin-bottom:11px;border-radius:12px;background:rgba(80,207,132,.07);border:1px solid rgba(80,207,132,.18);color:#a9b6c5}.online-users-summary b{color:#65dc95;font-size:20px;margin-left:5px}.presence-online{display:inline-flex;align-items:center;gap:6px;color:#65dc95;font-weight:800}.presence-online i{width:8px;height:8px;border-radius:50%;background:#50cf84}.presence-you{display:block;color:#d7b95a;font-size:10px;margin-top:3px}.presence-self{color:#8f9baa;font-size:11px}.online-team-panel .tbl{margin-top:0}@keyframes onlinePulse{70%{box-shadow:0 0 0 9px rgba(80,207,132,0)}100%{box-shadow:0 0 0 0 rgba(80,207,132,0)}}
@media(max-width:620px){.online-team-head{align-items:flex-start}.online-team-head .btn{padding:8px 10px}.online-team-panel table{min-width:760px}}

/* V47.37 — document type quick buttons */
.document-type-section{padding:16px;border:1px solid rgba(212,175,55,.24);border-radius:16px;background:rgba(212,175,55,.045)}
.document-type-title{color:#f1cb6d;font-size:16px;font-weight:900;margin-bottom:4px}.document-type-help{color:#92a0b2;font-size:12px;margin-bottom:12px}
.document-type-buttons{display:flex;flex-wrap:wrap;gap:8px}.document-type-btn{appearance:none;border:1px solid rgba(255,255,255,.14);border-radius:11px;background:rgba(255,255,255,.035);color:#e7ebf1;padding:10px 13px;font:inherit;font-size:13px;font-weight:750;cursor:pointer;transition:.18s ease}
.document-type-btn:hover{border-color:rgba(212,175,55,.55);transform:translateY(-1px)}.document-type-btn.active{color:#111827;background:linear-gradient(135deg,#f3d276,#d5a936);border-color:#e3bd58;box-shadow:0 5px 15px rgba(212,175,55,.18)}
.document-type-btn.active:before{content:'✓';margin-left:6px;font-weight:950}.document-type-other-input{width:100%;margin-top:11px}.document-type-other-input[hidden]{display:none!important}.document-type-summary{margin-top:10px;color:#aeb9c8;font-size:12px;line-height:1.7}
@media(max-width:560px){.document-type-btn{flex:1 1 calc(50% - 8px);padding:11px 7px}.document-type-section{padding:13px}}


/* V47.14 — QR verification */
.qr-preview-wrap{display:flex;flex-direction:column;align-items:center;gap:10px;padding:22px;text-align:center}.qr-preview-wrap img{width:260px;height:260px;max-width:80vw;background:#fff;padding:10px;border-radius:18px;border:1px solid rgba(212,175,55,.35);box-shadow:0 14px 34px rgba(0,0,0,.28)}.qr-preview-wrap b{font-size:18px}.qr-preview-wrap span{opacity:.7;font-size:13px}.verify-body{padding:12px}.verify-ok,.verify-fail{padding:14px 16px;border-radius:14px;font-weight:800;margin-bottom:14px}.verify-ok{background:rgba(40,190,110,.12);border:1px solid rgba(40,190,110,.35)}.verify-fail{background:rgba(220,70,80,.12);border:1px solid rgba(220,70,80,.35)}.verify-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.verify-grid>div{padding:12px;border:1px solid rgba(212,175,55,.18);border-radius:12px;background:rgba(255,255,255,.025)}.verify-grid span,.verify-grid b{display:block}.verify-grid span{font-size:12px;opacity:.65;margin-bottom:5px}.verify-grid .wide{grid-column:1/-1}@media(max-width:640px){.verify-grid{grid-template-columns:1fr}}


/* ===== V47.15 Public QR Verification ===== */
.public-verify-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:28px 16px;background:radial-gradient(circle at 50% 0%,rgba(205,158,65,.12),transparent 38%),#070b0e;color:#f7f2e8}
.public-verify-shell.hidden{display:none!important}
.public-verify-card{width:min(680px,100%);border:1px solid rgba(214,168,78,.48);border-radius:28px;padding:30px;background:linear-gradient(180deg,rgba(20,25,29,.98),rgba(8,12,15,.98));box-shadow:0 26px 90px rgba(0,0,0,.48);text-align:center}
.public-verify-logo{width:190px;max-width:55vw;border-radius:22px;display:block;margin:0 auto 18px}
.public-verify-eyebrow{font-size:11px;letter-spacing:2px;color:#d9ad58;margin-bottom:8px;direction:ltr}
.public-verify-card h1{margin:0;font-size:30px;color:#f3c86e}.public-verify-intro{color:#aeb7c0;margin:9px 0 24px}
.public-verify-body{border:1px solid rgba(255,255,255,.08);border-radius:22px;padding:22px;background:rgba(255,255,255,.025);min-height:210px;display:flex;align-items:center;justify-content:center}
.public-verify-loading{display:flex;align-items:center;gap:12px;color:#d8dee5}.verify-spinner{width:22px;height:22px;border:3px solid #ffffff26;border-top-color:#d9ad58;border-radius:50%;animation:liboSpin .8s linear infinite}@keyframes liboSpin{to{transform:rotate(360deg)}}
.public-verify-result{width:100%}.verify-seal{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;margin:0 auto 14px;font-size:38px;font-weight:900;border:2px solid currentColor}
.public-verify-result.valid{color:#70d59b}.public-verify-result.invalid{color:#f07b7b}.public-verify-result.warning{color:#e9bd62}.public-verify-result h2{margin:0 0 8px;color:currentColor;font-size:25px}.public-verify-result p{color:#c0c8cf;margin:0 0 18px;line-height:1.8}
.public-verify-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;text-align:right;color:#f4f5f6}.public-verify-grid>div{padding:13px 14px;border-radius:14px;background:#0b1115;border:1px solid #ffffff12}.public-verify-grid .wide{grid-column:1/-1}.public-verify-grid span{display:block;font-size:11px;color:#83909a;margin-bottom:5px}.public-verify-grid b{font-size:15px;color:#f5d28c;word-break:break-word}
.verify-privacy-note{margin-top:14px;padding:10px;border-radius:12px;background:rgba(112,213,155,.08);font-size:12px;color:#9bdbb5}.verify-code{font-family:monospace;direction:ltr;color:#aab3bb;font-size:12px}.public-verify-foot{display:flex;flex-direction:column;gap:5px;margin-top:20px;color:#8f9aa3}.public-verify-foot b{color:#dcb465;direction:ltr}.public-verify-foot span{font-size:12px}.public-verify-foot small{font-size:10px;line-height:1.6;margin-top:5px}
@media(max-width:600px){.public-verify-card{padding:20px 14px;border-radius:22px}.public-verify-card h1{font-size:25px}.public-verify-body{padding:15px}.public-verify-grid{grid-template-columns:1fr}.public-verify-grid .wide{grid-column:auto}.public-verify-logo{width:165px}}

/* ===== V47.17 isolated public verification ===== */
body.libo-public-verify-mode{margin:0!important;overflow:auto!important;background:#070b0e!important;}
body.libo-public-verify-mode #loginView,body.libo-public-verify-mode #appView,body.libo-public-verify-mode .bottom-nav{display:none!important;}
body.libo-public-verify-mode #publicVerifyView{display:flex!important;position:fixed!important;inset:0!important;z-index:999999!important;overflow:auto!important;width:100%!important;min-height:100dvh!important;box-sizing:border-box!important;}

/* ===== V47.18 QR Reader ===== */
.dashboard-hero-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.qr-reader-hero{border:1px solid rgba(212,175,55,.46)!important;background:rgba(212,175,55,.09)!important;color:#f2cf78!important;font-weight:850!important}
.qr-reader-card i{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:900}
.qr-reader-modal-box{width:min(560px,94vw)!important}
.qr-reader-body{padding:20px;display:grid;gap:14px}
.qr-reader-device{display:flex;align-items:center;gap:12px;padding:15px 16px;border:1px solid rgba(112,213,155,.24);border-radius:15px;background:rgba(112,213,155,.06)}
.qr-reader-device>div{display:grid;gap:3px}.qr-reader-device b{color:#86dfaa;font-size:15px}.qr-reader-device small{color:#98a6b5;font-size:12px}
.qr-reader-pulse{width:14px;height:14px;border-radius:50%;background:#61cf8e;box-shadow:0 0 0 0 rgba(97,207,142,.55);animation:qrReaderPulse 1.5s infinite;flex:0 0 14px}
@keyframes qrReaderPulse{70%{box-shadow:0 0 0 10px rgba(97,207,142,0)}100%{box-shadow:0 0 0 0 rgba(97,207,142,0)}}
.qr-reader-input{height:54px!important;border:1px solid rgba(212,175,55,.35)!important;border-radius:14px!important;background:#08111b!important;color:#f8fafc!important;font-size:15px!important;padding:0 15px!important;direction:ltr!important;text-align:left!important;outline:none!important;font-family:ui-monospace,SFMono-Regular,Menlo,monospace!important}
.qr-reader-input:focus{border-color:#d8b45b!important;box-shadow:0 0 0 3px rgba(216,180,91,.10)!important}
.qr-reader-status{min-height:44px;padding:11px 13px;border-radius:12px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.07);color:#aeb8c5;font-size:13px;display:flex;align-items:center}
.qr-reader-status.ok{color:#83dca7;border-color:rgba(83,201,130,.28);background:rgba(83,201,130,.06)}
.qr-reader-status.error{color:#ff9999;border-color:rgba(229,101,101,.30);background:rgba(229,101,101,.06)}
.qr-reader-status.loading{color:#ebc873;border-color:rgba(212,175,55,.28);background:rgba(212,175,55,.06)}
.qr-reader-help{font-size:11px;color:#778596;line-height:1.7}
@media(max-width:700px){.dashboard-hero-actions{width:100%}.dashboard-hero-actions .btn{flex:1}.qr-reader-body{padding:14px}}

/* V47.40 — never reveal private screens before authentication. */
#appView.hidden,#loginView.hidden,#publicVerifyView.hidden{display:none!important}
.login-lock-badge{display:inline-flex;padding:5px 9px;border-radius:999px;background:rgba(190,55,65,.14);border:1px solid rgba(230,90,100,.35);color:#ff9b9b;font-weight:800;font-size:11px}

/* V47.42 — organized save and print area */
.iphone-transaction-actions{display:flex;flex-direction:column;gap:12px;margin-top:18px}.transaction-basic-actions{display:grid;grid-template-columns:minmax(120px,.65fr) minmax(190px,1.35fr);gap:10px}.transaction-basic-actions .btn{min-height:48px}.transaction-save-btn{font-weight:900!important}.transaction-print-panel{border:1px solid rgba(212,175,55,.25);border-radius:17px;padding:14px;background:linear-gradient(145deg,rgba(212,175,55,.075),rgba(255,255,255,.018));box-shadow:inset 0 1px rgba(255,255,255,.04)}.transaction-print-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:1px 2px 11px;border-bottom:1px solid rgba(255,255,255,.075)}.transaction-print-head>div{display:flex;align-items:center;gap:8px;color:#f1cd75}.transaction-print-head b{font-size:15px}.transaction-print-head small{color:#8f9cad;font-size:11px}.transaction-print-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:rgba(212,175,55,.12)}.thermal-size-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 2px 10px}.thermal-size-row label{font-size:12px;color:#bbc4cf;font-weight:750}.thermal-size-select{min-width:155px;border:1px solid rgba(212,175,55,.35);border-radius:10px;background:#0d151e;color:#f4d47c;padding:9px 11px;font:inherit;font-size:12px;font-weight:850}.transaction-print-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px}.transaction-print-buttons .btn{min-height:60px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;text-align:right!important}.transaction-print-buttons .btn>span:first-child{font-size:23px}.transaction-print-buttons .btn>span:last-child{display:grid;gap:2px}.transaction-print-buttons b{font-size:13px}.transaction-print-buttons small{font-size:10px;font-weight:600;opacity:.72}.thermal-print-btn{background:linear-gradient(135deg,#f3d276,#c99828)!important;color:#111827!important;border-color:#e4bd57!important;font-weight:900!important}.invoice-print-btn{background:rgba(255,255,255,.035)!important;border-color:rgba(212,175,55,.48)!important;color:#f2cf78!important;font-weight:850!important}
@media(max-width:950px){.iphone-transaction-actions{display:flex!important;gap:10px!important}.transaction-basic-actions{grid-template-columns:1fr 1.35fr}.transaction-print-panel{padding:11px}.transaction-print-head small{display:none}.thermal-size-row{padding:9px 1px}.transaction-print-buttons .btn{min-height:56px!important}}
@media(max-width:470px){.transaction-print-buttons{grid-template-columns:1fr 1fr;gap:7px}.transaction-print-buttons .btn{padding:8px 5px!important;gap:5px!important}.transaction-print-buttons .btn>span:first-child{font-size:19px}.transaction-print-buttons b{font-size:11px}.transaction-print-buttons small{font-size:9px}.thermal-size-row{align-items:stretch;flex-direction:column;gap:6px}.thermal-size-select{width:100%}}

/* V47.43 — receipt and invoice buttons in every transaction row */
.tx-actions-cell{min-width:285px}.tx-row-actions{display:flex;align-items:center;justify-content:flex-start;gap:5px;flex-wrap:wrap}.tx-row-actions .mini{margin:0!important;white-space:nowrap}.tx-receipt-action{border-color:rgba(224,180,74,.58)!important;background:rgba(212,175,55,.11)!important;color:#f2cf78!important}.tx-invoice-action{border-color:rgba(91,153,218,.45)!important;background:rgba(75,137,203,.09)!important;color:#a9d4ff!important}
@media(max-width:700px){.tx-actions-cell{min-width:250px}.tx-row-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.tx-row-actions .mini{text-align:center}}

/* V47.19 — Daily email report */
.daily-email-grid{align-items:start}.daily-email-card{display:flex;flex-direction:column;gap:12px}.daily-email-icon{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;font-size:25px;background:rgba(183,138,66,.12);border:1px solid rgba(183,138,66,.28)}.daily-email-toggle{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--line,#e6e6e6);border-radius:12px;font-weight:700}.daily-email-toggle input{width:20px;height:20px}.field-label{display:block;font-size:12px;font-weight:700;margin-bottom:5px;opacity:.75}.compact-grid{gap:10px}.daily-report-content-list{display:flex;flex-direction:column;gap:9px;padding:12px;border-radius:12px;background:rgba(183,138,66,.07)}.daily-report-content-list span{font-size:13px}.muted{opacity:.65;line-height:1.6}@media(max-width:760px){.daily-email-grid,.compact-grid{grid-template-columns:1fr!important}}
