/* StockLeaf ERP interface. Independently authored application shell and component theme.
   Copyright (c) 2026 StockLeaf. All rights reserved. */
:root {
  --sl-primary:#0f766e;--sl-primary-strong:#0b5f59;--sl-primary-soft:#ccfbf1;--sl-accent:#f59e0b;
  --sl-bg:#f5f7f8;--sl-surface:#fff;--sl-surface-2:#f8fafc;--sl-text:#17202a;--sl-muted:#64748b;
  --sl-border:#dfe6e9;--sl-sidebar:#062f2d;--sl-sidebar-2:#0a403c;--sl-sidebar-text:#d7f5ef;
  --sl-radius:12px;--sl-shadow:0 8px 24px rgba(15,23,42,.07);--sl-sidebar-width:248px;
  --sl-sidebar-mini:72px;--sl-header-height:64px;--bs-primary:#0f766e;--bs-primary-rgb:15,118,110;
  --bs-link-color:#0f766e;--bs-link-hover-color:#0b5f59;--bs-body-bg:#f5f7f8;--bs-body-color:#17202a;
  --bs-border-color:#dfe6e9;
}
:root[data-bs-theme="dark"] {
  color-scheme:dark;--sl-bg:#081211;--sl-surface:#101d1c;--sl-surface-2:#142523;--sl-text:#e6f1ef;
  --sl-muted:#9fb5b1;--sl-border:#29413e;--sl-sidebar:#041b1a;--sl-sidebar-2:#0a302d;
  --sl-shadow:0 10px 28px rgba(0,0,0,.28);--bs-body-bg:#081211;--bs-body-color:#e6f1ef;
  --bs-secondary-bg:#101d1c;--bs-tertiary-bg:#142523;--bs-border-color:#29413e;
}
*,*::before,*::after{box-sizing:border-box}html{min-height:100%;background:var(--sl-bg)}
body{min-height:100vh;margin:0;overflow-x:hidden;background:var(--sl-bg);color:var(--sl-text);font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:var(--sl-primary);text-decoration:none}a:hover{color:var(--sl-primary-strong)}img{max-width:100%}.text-muted{color:var(--sl-muted)!important}.main-wrapper{min-height:100vh;width:100%}

/* Header */
.header{position:fixed;z-index:1040;top:0;right:0;left:var(--sl-sidebar-width);height:var(--sl-header-height);background:color-mix(in srgb,var(--sl-surface) 95%,transparent);border-bottom:1px solid var(--sl-border);backdrop-filter:blur(14px);transition:left .2s ease}
.main-header,.header-user,.nav-list{height:100%}.main-header,.header-user,.nav-list,.header .user-menu{display:flex;align-items:center}.main-header{width:100%}.header-user{flex:1;min-width:0;padding:0 18px}.header .nav-list{flex:1;min-width:0}.header-left{display:none}.header .input-icon-end{min-width:190px}.header .form-control{background:var(--sl-surface-2);border-color:var(--sl-border)}
.header .btn-menubar,.header-quick-links .btn{display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center;border:1px solid var(--sl-border);border-radius:10px;background:var(--sl-surface);color:var(--sl-text)}
.header .btn-menubar:hover,.header-quick-links .btn:hover{background:var(--sl-primary-soft);color:var(--sl-primary-strong)}.header .dropdown-menu{margin-top:10px!important}.mobile_btn{display:none}.bar-icon{display:grid;gap:4px}.bar-icon span{display:block;width:20px;height:2px;border-radius:2px;background:currentColor}

/* Sidebar */
.two-col-sidebar{position:relative;z-index:1050}.sidebar{position:fixed;z-index:1050;inset:0 auto 0 0;width:var(--sl-sidebar-width);overflow:hidden;background:linear-gradient(180deg,var(--sl-sidebar),var(--sl-sidebar-2));color:var(--sl-sidebar-text);border-right:1px solid rgba(255,255,255,.07);transition:width .2s ease,transform .2s ease}
.sidebar-logo{display:flex;height:var(--sl-header-height);align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-logo .logo{display:block;flex:1;min-width:0}.sidebar-logo .logo img{display:block;width:174px;height:42px;object-fit:contain;object-position:left center}.sidebar-logo .dark-logo,.sidebar-logo .logo-small,.sidebar-logo .dark-small{display:none}
#toggle_btn{display:inline-flex;width:34px;height:34px;flex:0 0 34px;align-items:center;justify-content:center;border-radius:9px;color:#ecfdf5;background:rgba(255,255,255,.09)}
.sidebar-search{padding:12px 14px 4px}.sidebar-search .form-control{border-color:rgba(255,255,255,.13);background:rgba(255,255,255,.08);color:#fff}.sidebar-search .form-control::placeholder{color:rgba(255,255,255,.6)}
.sidebar-inner{height:calc(100vh - 120px);overflow-y:auto;padding:8px 10px 24px;scrollbar-width:thin}.sidebar-menu ul{margin:0;padding:0;list-style:none}.sidebar-menu>ul>li{margin:0}.sidebar-menu .menu-title{margin:17px 9px 6px;color:#8ed7cd;font-size:10px;font-weight:800;letter-spacing:1.35px;text-transform:uppercase}
.sidebar-menu li a{display:flex;min-height:41px;align-items:center;gap:11px;margin:3px 0;padding:9px 10px;border-radius:9px;color:var(--sl-sidebar-text);font-weight:550;transition:background .16s ease,color .16s ease,transform .16s ease}.sidebar-menu li a>i{width:22px;flex:0 0 22px;text-align:center;color:#78dcca;font-size:18px}.sidebar-menu li a:hover{background:rgba(255,255,255,.1);color:#fff;transform:translateX(2px)}
.sidebar-menu li a.active,.sidebar-menu li.active>a,.sidebar-menu li a.subdrop{background:#fff;color:#075f58;box-shadow:0 6px 14px rgba(0,0,0,.12)}.sidebar-menu li a.active>i,.sidebar-menu li.active>a>i,.sidebar-menu li a.subdrop>i{color:#0f766e}.sidebar-menu .submenu>ul{display:none;margin:2px 0 8px 32px;padding-left:8px;border-left:1px solid rgba(255,255,255,.18)}.sidebar-menu .submenu.open>ul,.sidebar-menu .submenu>a.subdrop+ul{display:block}.sidebar-menu .submenu>ul a{min-height:34px;padding:6px 9px;font-size:13px;font-weight:500}
.menu-arrow{width:8px;height:8px;margin-left:auto;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .18s ease}.submenu.open>a .menu-arrow,a.subdrop .menu-arrow{transform:rotate(225deg)}

/* Content */
.page-wrapper{min-height:100vh;margin-left:var(--sl-sidebar-width);padding-top:var(--sl-header-height);transition:margin-left .2s ease}.page-wrapper>.content,.page-wrapper .content{padding:22px}.page-header{margin-bottom:18px}.page-header h3,.page-header h4,.page-header h5{color:var(--sl-text);font-weight:750}.breadcrumb{--bs-breadcrumb-divider-color:var(--sl-muted);font-size:13px}.breadcrumb-item.active{color:var(--sl-muted)}.footer{padding:16px 22px;border-top:1px solid var(--sl-border);color:var(--sl-muted);background:var(--sl-surface)}

/* Components */
.card{overflow:hidden;border:1px solid var(--sl-border);border-radius:var(--sl-radius);background:var(--sl-surface);color:var(--sl-text);box-shadow:var(--sl-shadow)}.card-header{padding:15px 18px;border-bottom:1px solid var(--sl-border);background:transparent}.card-body{padding:18px}.card-footer{border-top:1px solid var(--sl-border);background:var(--sl-surface-2)}.card-title{color:var(--sl-text);font-weight:750}
.dropdown-menu,.modal-content,.offcanvas{border:1px solid var(--sl-border);border-radius:12px;background:var(--sl-surface);color:var(--sl-text);box-shadow:var(--sl-shadow)}.dropdown-item{border-radius:8px;color:var(--sl-text)}.dropdown-item:hover,.dropdown-item:focus{background:var(--sl-primary-soft);color:var(--sl-primary-strong)}.mobile-user-menu,#mobile-quick-create{display:none}
.form-control,.form-select,.input-group-text{min-height:40px;border-color:var(--sl-border);border-radius:9px;background-color:var(--sl-surface);color:var(--sl-text)}.form-control:focus,.form-select:focus{border-color:#36a69b;box-shadow:0 0 0 .2rem rgba(15,118,110,.13)}.form-control::placeholder{color:color-mix(in srgb,var(--sl-muted) 75%,transparent)}.form-label{margin-bottom:6px;color:var(--sl-text);font-weight:650}
.btn{border-radius:9px;font-weight:650}.btn-primary{--bs-btn-bg:#0f766e;--bs-btn-border-color:#0f766e;--bs-btn-hover-bg:#0b5f59;--bs-btn-hover-border-color:#0b5f59;--bs-btn-active-bg:#084c47;--bs-btn-active-border-color:#084c47}.btn-light{--bs-btn-bg:var(--sl-surface-2);--bs-btn-color:var(--sl-text);--bs-btn-border-color:var(--sl-border)}.badge{border-radius:999px}
.table{--bs-table-bg:transparent;--bs-table-color:var(--sl-text);--bs-table-border-color:var(--sl-border);margin-bottom:0}.table thead th{padding:11px 12px;background:var(--sl-surface-2);color:var(--sl-muted);font-size:12px;font-weight:750;letter-spacing:.2px;white-space:nowrap}.table tbody td{padding:11px 12px;vertical-align:middle}.table-hover>tbody>tr:hover>*{--bs-table-bg-state:color-mix(in srgb,var(--sl-primary-soft) 45%,transparent)}.table-responsive{border-radius:10px}
.nav-tabs{border-color:var(--sl-border)}.nav-tabs .nav-link{border:0;border-bottom:2px solid transparent;color:var(--sl-muted);font-weight:650}.nav-tabs .nav-link.active{border-bottom-color:var(--sl-primary);background:transparent;color:var(--sl-primary)}.pagination{--bs-pagination-color:var(--sl-primary);--bs-pagination-active-bg:var(--sl-primary);--bs-pagination-active-border-color:var(--sl-primary);--bs-pagination-border-color:var(--sl-border)}.alert{border-radius:10px}.progress{border-radius:999px;background:var(--sl-surface-2)}
.avatar{display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center;overflow:hidden;border-radius:50%;background:var(--sl-primary-soft);color:var(--sl-primary-strong)}.avatar img{width:100%;height:100%;object-fit:cover}.avatar-sm{width:30px;height:30px}.avatar-md{width:40px;height:40px}.avatar-lg{width:48px;height:48px}.avatar-xl{width:64px;height:64px}.avatar.online{position:relative}.avatar.online::after{position:absolute;right:1px;bottom:1px;width:9px;height:9px;content:"";border:2px solid var(--sl-surface);border-radius:50%;background:#22c55e}
.input-icon-end{position:relative}.input-icon-end .form-control{padding-right:38px}.input-icon-addon{position:absolute;top:50%;right:12px;color:var(--sl-muted);transform:translateY(-50%);pointer-events:none}.btn-icon{display:inline-flex;align-items:center;justify-content:center}.btn-xs{min-height:34px;padding:5px 9px;font-size:12px}.fs-13{font-size:13px!important}.fs-14{font-size:14px!important}.fs-16{font-size:16px!important}.fw-medium{font-weight:600!important}.bg-gradient{background-image:linear-gradient(135deg,#0f766e,#22a699)!important}
.notification-body{background:var(--sl-surface)}.select2-container .select2-selection--single,.select2-container .select2-selection--multiple{min-height:40px;border-color:var(--sl-border)!important;border-radius:9px!important;background:var(--sl-surface)!important}.dataTables_wrapper .dataTables_filter input,.dataTables_wrapper .dataTables_length select{border:1px solid var(--sl-border);border-radius:8px;background:var(--sl-surface);color:var(--sl-text)}.erp-table-pager{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px;border-top:1px solid var(--sl-border);background:var(--sl-surface-2)}.erp-table-pager__controls{display:flex;align-items:center;gap:8px}

/* Compact desktop mode */
body.mini-sidebar .sidebar{width:var(--sl-sidebar-mini)}body.mini-sidebar .header{left:var(--sl-sidebar-mini)}body.mini-sidebar .page-wrapper{margin-left:var(--sl-sidebar-mini)}body.mini-sidebar .sidebar-search,body.mini-sidebar .menu-title,body.mini-sidebar .sidebar-menu a span:not(.menu-arrow),body.mini-sidebar .sidebar-menu .submenu>ul{display:none!important}body.mini-sidebar .sidebar-logo .logo,body.mini-sidebar .sidebar-logo .dark-logo{display:none}body.mini-sidebar .sidebar-logo .logo-small{display:block}body.mini-sidebar .sidebar-logo .logo-small img{width:40px;height:40px}body.mini-sidebar .sidebar-logo{padding:10px;justify-content:center}body.mini-sidebar #toggle_btn{display:none}body.mini-sidebar .sidebar-inner{height:calc(100vh - var(--sl-header-height));padding-top:12px}body.mini-sidebar .sidebar-menu li a{justify-content:center;padding:9px}body.mini-sidebar.expand-menu .sidebar{width:var(--sl-sidebar-width);box-shadow:10px 0 24px rgba(0,0,0,.16)}body.mini-sidebar.expand-menu .sidebar-search,body.mini-sidebar.expand-menu .menu-title,body.mini-sidebar.expand-menu .sidebar-menu a span:not(.menu-arrow){display:block!important}body.mini-sidebar.expand-menu .sidebar-menu li a{justify-content:flex-start}body.mini-sidebar.expand-menu .sidebar-logo .logo{display:block}body.mini-sidebar.expand-menu .sidebar-logo .logo-small{display:none}

/* Standalone authentication/setup screens */
.account-page,.login-page{min-height:100vh;background:radial-gradient(circle at 15% 15%,#ccfbf1 0,transparent 38%),var(--sl-bg)}.login-wrapper{display:grid;min-height:100vh;place-items:center;padding:24px}.login-content,.login-box,.auth-card,.box{width:min(100%,480px);padding:28px;border:1px solid var(--sl-border);border-radius:18px;background:var(--sl-surface);box-shadow:var(--sl-shadow)}.pass-group{position:relative}.toggle-password{position:absolute;z-index:3;top:50%;right:12px;color:var(--sl-muted);cursor:pointer;transform:translateY(-50%)}
.sidebar-overlay{position:fixed;z-index:1045;inset:0;display:none;background:rgba(2,18,17,.55);backdrop-filter:blur(2px)}.sidebar-overlay.opened{display:block}

@media(max-width:991.98px){.header{left:0;height:58px}.header-user{padding:0 12px}.header .me-auto{min-width:0}.header .breadcrumb,.header-quick-links,#header-search .dropdown{display:none!important}.header .input-icon-end{display:none}.mobile-user-menu{display:block}.mobile_btn{display:inline-flex;align-items:center;justify-content:center;margin-right:12px;color:var(--sl-text)}.sidebar{width:264px;transform:translateX(-100%)}body.slide-nav .sidebar{transform:translateX(0)}.page-wrapper,body.mini-sidebar .page-wrapper{margin-left:0;padding-top:58px}body.mini-sidebar .header{left:0}body.mini-sidebar .sidebar{width:264px}body.mini-sidebar .sidebar-search,body.mini-sidebar .menu-title,body.mini-sidebar .sidebar-menu a span:not(.menu-arrow){display:block!important}body.mini-sidebar .sidebar-menu li a{justify-content:flex-start}body.mini-sidebar .sidebar-logo .logo{display:block}body.mini-sidebar .sidebar-logo .logo-small{display:none}.page-wrapper .content{padding:16px}}
@media(max-width:575.98px){body{font-size:13px}.page-wrapper .content{padding:12px}.card-header,.card-body{padding:14px}.header .theme-item,.header #financial-session-control{display:none!important}#mobile-quick-create{display:block}.dropdown-menu-lg{width:calc(100vw - 24px);max-width:none!important}.page-header .d-flex,.card-header .d-flex{flex-wrap:wrap;gap:8px}.btn{min-height:38px}}
@media print{.header,.sidebar,.sidebar-overlay,.mobile_btn,.footer{display:none!important}.page-wrapper{margin:0!important;padding:0!important}.page-wrapper .content{padding:0!important}.card{border:0;box-shadow:none}}
