/* Apple90 v3 — contrast-correct palettes + collapsible navigation */
:root,html[data-theme="light"] {
 --ui-bg:#f3f6fb;--ui-panel:#fff;--ui-panel-2:#f8faff;--ui-text:#1c2b43;--ui-muted:#58677f;--ui-border:#dce4ef;
 --ui-primary:#4567e8;--ui-primary-2:#3153d5;--ui-accent:#149b8e;--ui-shadow:0 12px 34px rgba(28,43,78,.075);
 --text-primary:#1c2b43;--text-secondary:#43536c;--text-muted:#65748a;--text-light:#34445d;
 --bg-primary:#f3f6fb;--bg-secondary:#fff;--bg-sidebar:linear-gradient(165deg,#fff 0%,#f5f8fc 100%);
 --border-color:#dce4ef;--sidebar-border:#dce4ef;--nav-hover:#edf2ff;--nav-active:linear-gradient(120deg,#5275ed,#3f61dc);
 --card-bg:#fff;--card-bg-solid:#fff;--card-border:#dce4ef;--input-bg:#f8faff;--input-border:#d5deeb;
 --primary:#4567e8;--primary-dark:#3153d5;--primary-light:#7890ff;--secondary:#149b8e;
}
html[data-theme="dark"] {
 --ui-bg:#0c1422;--ui-panel:#151f30;--ui-panel-2:#1b2940;--ui-text:#edf3ff;--ui-muted:#aab8cd;--ui-border:#2d3d56;
 --ui-primary:#8298ff;--ui-primary-2:#6b83f3;--ui-accent:#51c9b8;--ui-shadow:0 16px 42px rgba(0,0,0,.25);
 --text-primary:#edf3ff;--text-secondary:#c0cce0;--text-muted:#a0aec4;--text-light:#dce5f4;
 --bg-primary:#0c1422;--bg-secondary:#151f30;--bg-sidebar:linear-gradient(165deg,#172338 0%,#101a2b 100%);
 --border-color:#2d3d56;--sidebar-border:#2d3d56;--nav-hover:rgba(130,152,255,.13);--nav-active:linear-gradient(120deg,#627df0,#4964d7);
 --card-bg:#151f30;--card-bg-solid:#151f30;--card-border:#2d3d56;--input-bg:#1b2940;--input-border:#3a4b65;
 --primary:#8298ff;--primary-dark:#6b83f3;--primary-light:#aab8ff;--secondary:#51c9b8;
}
html[data-theme="mint"] {
 --ui-bg:#edf7f1;--ui-panel:#fff;--ui-panel-2:#f5fbf7;--ui-text:#17392f;--ui-muted:#547267;--ui-border:#cfe4d8;
 --ui-primary:#347e65;--ui-primary-2:#28684f;--ui-accent:#78ae91;--ui-shadow:0 12px 34px rgba(36,88,66,.08);
 --text-primary:#17392f;--text-secondary:#345c4d;--text-muted:#527164;--text-light:#284c3e;
 --bg-primary:#edf7f1;--bg-secondary:#fff;--bg-sidebar:linear-gradient(165deg,#fbfefc 0%,#edf7f1 100%);
 --border-color:#cfe4d8;--sidebar-border:#cfe4d8;--nav-hover:#e4f2e9;--nav-active:linear-gradient(120deg,#438c70,#32775d);
 --card-bg:#fff;--card-bg-solid:#fff;--card-border:#cfe4d8;--input-bg:#f5fbf7;--input-border:#c7dfd1;
 --primary:#347e65;--primary-dark:#28684f;--primary-light:#69a88a;--secondary:#78ae91;
}
body{background:var(--ui-bg);color:var(--ui-text)}
/* ensure text utility classes remain legible in all themes */
html[data-theme="light"] .text-gray-500,html[data-theme="mint"] .text-gray-500{color:var(--ui-muted)!important}
html[data-theme="light"] .text-gray-400,html[data-theme="mint"] .text-gray-400{color:#52647b!important}
html[data-theme="light"] .text-gray-300,html[data-theme="mint"] .text-gray-300{color:#40536c!important}
html[data-theme="dark"] .text-gray-500{color:#a0aec4!important}
html[data-theme="dark"] .text-gray-400{color:#b3c0d4!important}
html[data-theme="dark"] .text-gray-300{color:#d2dced!important}
html[data-theme="light"] .sidebar,html[data-theme="mint"] .sidebar,
html[data-theme="light"] .admin-sidebar,html[data-theme="mint"] .admin-sidebar{color:var(--text-primary);background:var(--bg-sidebar)}
.sidebar,.admin-sidebar{color:var(--text-primary);border-color:var(--sidebar-border)!important}
.sidebar .nav-link,.admin-sidebar .sidebar-menu-item{color:var(--text-secondary)!important}
.sidebar .nav-link:hover,.sidebar .nav-link.active,.admin-sidebar .sidebar-menu-item:hover,
.admin-sidebar .sidebar-menu-item.active{color:var(--text-primary)!important}
html[data-theme="light"] .sidebar .nav-link:hover,html[data-theme="mint"] .sidebar .nav-link:hover,
html[data-theme="light"] .admin-sidebar .sidebar-menu-item:hover,html[data-theme="mint"] .admin-sidebar .sidebar-menu-item:hover{background:var(--nav-hover)!important}
html[data-theme="light"] .sidebar .nav-link.active,html[data-theme="mint"] .sidebar .nav-link.active{background:var(--nav-active)!important;color:#fff!important}
html[data-theme="light"] .admin-sidebar .sidebar-menu-item.active,html[data-theme="mint"] .admin-sidebar .sidebar-menu-item.active{background:var(--nav-active)!important;color:#fff!important}
.sidebar .nav-link i,.admin-sidebar .sidebar-menu-item i{color:currentColor!important;opacity:.94}
.admin-sidebar .sidebar-menu-item.active i,.sidebar .nav-link.active i{color:inherit!important}
html[data-theme="light"] .sidebar .user-name-sidebar,html[data-theme="mint"] .sidebar .user-name-sidebar{color:#17392f}
html[data-theme="light"] .sidebar .user-phone-sidebar,html[data-theme="mint"] .sidebar .user-phone-sidebar{color:#526b60}
.sidebar .user-profile-card,.sidebar .guest-profile-card{border-color:var(--ui-border)!important}

/* sidebar shell controls */
.sidebar-collapse-btn{
 width:36px;height:36px;min-width:36px;border:1px solid var(--ui-border);border-radius:12px;
 display:inline-flex;align-items:center;justify-content:center;background:var(--ui-panel-2);
 color:var(--ui-muted);cursor:pointer;transition:background .22s ease,color .22s ease,transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.sidebar-collapse-btn:hover{background:var(--ui-primary);border-color:var(--ui-primary);color:#fff;transform:translateY(-1px);box-shadow:0 7px 18px rgba(55,91,190,.18)}
.sidebar-collapse-btn i{font-size:1.15rem}
.user-sidebar-top{position:relative;display:flex;align-items:center;justify-content:center;min-height:48px;margin-bottom:12px}
.user-sidebar-brand{margin-bottom:0!important;min-width:0}
.user-collapse-btn{position:absolute;left:0;top:6px}
.admin-sidebar-brand{position:relative;min-height:82px}
.admin-collapse-btn{position:absolute;left:14px;top:23px}
.admin-sidebar-brand .flex.items-center{padding-left:42px}

/* user sidebar collapse — desktop only */
@media(min-width:768px){
 #userSidebar{box-sizing:border-box;flex:0 0 250px;width:250px!important;min-width:250px!important;padding:16px!important;overflow-x:hidden;transition:width .28s cubic-bezier(.2,.7,.2,1),min-width .28s,flex-basis .28s,padding .28s}
 body.user-sidebar-collapsed #userSidebar{flex-basis:78px!important;width:78px!important;min-width:78px!important;padding:14px 9px!important}
 body.user-sidebar-collapsed #userSidebar .user-sidebar-brand span,
 body.user-sidebar-collapsed #userSidebar .user-profile-card,
 body.user-sidebar-collapsed #userSidebar .guest-profile-card,
 body.user-sidebar-collapsed #userSidebar .nav-link span,
 body.user-sidebar-collapsed #userSidebar .nav-link .lock-icon-overlay,
 body.user-sidebar-collapsed #userSidebar .wallet-badge-sidebar,
 body.user-sidebar-collapsed #userSidebar .user-name-sidebar,
 body.user-sidebar-collapsed #userSidebar .user-phone-sidebar{display:none!important}
 body.user-sidebar-collapsed #userSidebar .user-sidebar-brand{justify-content:center}
 body.user-sidebar-collapsed #userSidebar .user-sidebar-brand .w-10{margin:0}
 body.user-sidebar-collapsed #userSidebar .user-collapse-btn{position:static;margin-inline:auto}
 body.user-sidebar-collapsed #userSidebar .user-sidebar-top{flex-direction:column;gap:10px}
 body.user-sidebar-collapsed #userSidebar .nav-link{justify-content:center;padding:13px 8px!important;margin:5px 0!important}
 body.user-sidebar-collapsed #userSidebar .nav-link i:first-child{font-size:1.25rem;width:auto;margin:0}
 body.user-sidebar-collapsed #userSidebar .nav-link .ri-lock-line{display:none}
 body.user-sidebar-collapsed #userSidebar .nav-link{font-size:0}
 body.user-sidebar-collapsed #userSidebar .nav-link i{font-size:1.25rem}
 body.user-sidebar-collapsed #userSidebar .nav-link[title]{position:relative}
 body.user-sidebar-collapsed #userSidebar .nav-link:after{content:attr(data-tooltip);position:absolute;right:calc(100% + 10px);top:50%;transform:translateY(-50%);background:#172338;color:#fff;padding:6px 10px;border-radius:8px;font-size:12px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .16s}
 body.user-sidebar-collapsed #userSidebar .nav-link:hover:after{opacity:1}
 body.user-sidebar-collapsed #userSidebar .user-collapse-btn i{transform:rotate(180deg)}
}
/* admin sidebar collapse */
@media(min-width:768px){
 #adminSidebar{width:280px;transition:width .28s cubic-bezier(.2,.7,.2,1),transform .3s ease,padding .28s;overflow-x:hidden}
 body.admin-sidebar-collapsed #adminSidebar{width:82px}
 body.admin-sidebar-collapsed main{margin-right:82px!important}
 body.admin-sidebar-collapsed #adminSidebar .admin-sidebar-brand{padding:16px 10px!important;display:flex;justify-content:center}
 body.admin-sidebar-collapsed #adminSidebar .admin-sidebar-brand .flex.items-center{padding:0;justify-content:center}
 body.admin-sidebar-collapsed #adminSidebar .admin-sidebar-brand .flex.items-center>div:last-child{display:none}
 body.admin-sidebar-collapsed #adminSidebar .admin-sidebar-brand .w-12{width:44px;height:44px}
 body.admin-sidebar-collapsed #adminSidebar .admin-collapse-btn{position:static;margin:10px auto 0}
 body.admin-sidebar-collapsed #adminSidebar .sidebar-menu-item{justify-content:center;padding:13px 8px;margin:5px 9px;gap:0}
 body.admin-sidebar-collapsed #adminSidebar .sidebar-menu-item span:not(.nav-badge){display:none!important}
 body.admin-sidebar-collapsed #adminSidebar .sidebar-menu-item .nav-badge{position:absolute;top:3px;left:3px;min-width:7px;height:7px;padding:0;font-size:0}
 body.admin-sidebar-collapsed #adminSidebar .sidebar-menu-item i{width:auto;flex:0 0 auto;font-size:1.25rem}
 body.admin-sidebar-collapsed #adminSidebar nav>div{display:none}
 body.admin-sidebar-collapsed #adminSidebar .sidebar-theme-btn{justify-content:center;padding:12px 8px;margin:16px 9px}
 body.admin-sidebar-collapsed #adminSidebar .sidebar-theme-btn span{display:none}
 body.admin-sidebar-collapsed #adminSidebar .sidebar-theme-btn i{width:auto}
 body.admin-sidebar-collapsed #adminSidebar .sidebar-menu-item{font-size:0}
 body.admin-sidebar-collapsed #adminSidebar .sidebar-menu-item:after{content:attr(data-tooltip);position:fixed;right:92px;transform:translateY(0);background:#172338;color:#fff;padding:6px 10px;border-radius:8px;font-size:12px;white-space:nowrap;opacity:0;pointer-events:none;z-index:2000}
 body.admin-sidebar-collapsed #adminSidebar .sidebar-menu-item:hover:after{opacity:1}
 body.admin-sidebar-collapsed #adminSidebar .admin-collapse-btn i{transform:rotate(180deg)}
}
/* smooth, accessible responsive behavior */
.sidebar-collapse-btn i{transition:transform .25s ease}
@media(max-width:767px){
 .sidebar-collapse-btn{display:none}
}
@media(prefers-reduced-motion:reduce){
 #userSidebar,#adminSidebar,.sidebar-collapse-btn,.sidebar-collapse-btn i{transition:none!important}
}
