/* CoreLedger ERP - AdminLTE 4.9.1 integration */
:root{
  --cl-primary:#2563eb;--cl-primary-dark:#1d4ed8;--cl-navy:#0f172a;--cl-navy-2:#111c34;
  --cl-border:#e5e7eb;--cl-muted:#64748b;--cl-success:#067647;--cl-danger:#b42318;
}
html,body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
body{font-size:14px}.app-wrapper{min-height:100vh}.app-header{min-height:64px;box-shadow:0 1px 3px rgba(15,23,42,.04)}
.app-main{background:var(--bs-tertiary-bg)}.cl-page-container{padding-bottom:28px;max-width:1800px}.cl-content-header{padding:14px 0 10px}
.cl-context-label{font-size:10px;letter-spacing:.14em;font-weight:800;color:#64748b}.cl-context-company{font-size:13px;font-weight:700;margin-top:2px}.breadcrumb{font-size:12px}
.cl-sidebar{background:linear-gradient(180deg,#0d172b 0%,#101c37 52%,#111b31 100%)!important;border-right:1px solid rgba(255,255,255,.06)}
.cl-brand-wrap{height:74px!important;border-bottom:1px solid rgba(255,255,255,.08)!important}.cl-brand-link{display:flex!important;align-items:center!important;gap:11px!important;padding:13px 15px!important;text-decoration:none!important;color:#fff!important;min-width:0}
.cl-brand-mark,.cl-login-mark{width:38px;height:38px;display:inline-grid;place-items:center;border-radius:10px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;font-weight:900;letter-spacing:-.03em;box-shadow:0 8px 18px rgba(37,99,235,.28);flex:0 0 auto}
.cl-brand-copy{display:flex;flex-direction:column;min-width:0;line-height:1.15}.cl-brand-copy strong{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cl-brand-copy small{font-size:9px;letter-spacing:.04em;color:#93c5fd;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cl-sidebar-search{padding:12px 13px 4px!important}.cl-search-wrap{position:relative}.cl-search-wrap svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);width:15px;height:15px;stroke:#94a3b8;fill:none;stroke-width:1.8;z-index:2}.cl-search-wrap input{padding-left:34px!important;background:rgba(255,255,255,.07)!important;border-color:rgba(255,255,255,.09)!important;color:#e2e8f0!important}.cl-search-wrap input::placeholder{color:#8290a6}.sidebar-wrapper{padding-bottom:24px}.sidebar-menu>.nav-header{padding:16px 18px 6px!important;color:#64748b!important;font-size:9px!important;font-weight:800!important;letter-spacing:.14em!important}.sidebar-menu .nav-link{margin:2px 10px;width:auto!important;border-radius:8px!important;color:#cbd5e1!important;padding:.62rem .72rem!important}.sidebar-menu .nav-link:hover{background:rgba(255,255,255,.06)!important;color:#fff!important}.sidebar-menu .nav-link.active{background:linear-gradient(90deg,#2563eb,#1d4ed8)!important;color:#fff!important;box-shadow:0 7px 17px rgba(37,99,235,.18)!important}.sidebar-menu .nav-treeview{padding-bottom:4px}.sidebar-menu .nav-treeview .nav-link{margin-left:17px;width:calc(100% - 29px)!important;font-size:13px;padding:.48rem .65rem!important;background:transparent!important;box-shadow:none!important}.sidebar-menu .nav-treeview .nav-link.active{background:rgba(59,130,246,.15)!important;color:#bfdbfe!important}.nav-subheader{list-style:none;color:#64748b;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.11em;padding:9px 22px 3px 51px}.cl-menu-icon{width:22px!important;margin-right:7px!important;display:inline-flex!important;align-items:center;justify-content:center}.cl-menu-icon svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.cl-dot{width:20px!important;position:relative}.cl-dot:after{content:"";width:5px;height:5px;border:1px solid #64748b;border-radius:50%;display:block;margin:auto}.nav-link.active .cl-dot:after{border-color:#93c5fd;background:#60a5fa}.cl-arrow{font-family:Arial,sans-serif;font-size:20px!important;line-height:1;transition:transform .2s ease}.menu-open>.nav-link .cl-arrow{transform:rotate(90deg)}
.cl-sidebar-toggle svg,.cl-icon-button svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round}.cl-icon-button{border:0;background:transparent}.cl-theme-dark{display:none}.cl-company-label{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:13px}.cl-company-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.12)}.cl-company-switcher select{min-width:260px;max-width:360px}.cl-user-chip{align-items:center;gap:9px;padding:0 8px}.cl-avatar{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;background:#eff6ff;color:#1d4ed8;font-weight:800}.cl-user-copy{display:flex;flex-direction:column;line-height:1.2}.cl-user-copy strong{font-size:12px}.cl-user-copy small{font-size:10px;color:#64748b}.cl-logout{font-weight:700}.cl-footer{font-size:12px;padding:.75rem 1rem!important}

/* Existing ERP view compatibility */
.app-content .page-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}.app-content .page-head h1{font-size:1.55rem;margin:0;font-weight:700;letter-spacing:-.02em}.app-content .page-head h3{margin:0;font-size:1.05rem;font-weight:700}
.app-content .card{border:1px solid var(--bs-border-color);border-radius:12px;box-shadow:0 2px 8px rgba(15,23,42,.04);padding:18px;margin-bottom:18px;background:var(--bs-body-bg)}.app-content .card:hover{box-shadow:0 5px 18px rgba(15,23,42,.055)}
.app-content .grid{display:grid;gap:16px}.app-content .grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.app-content .grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.app-content .grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.app-content .stat .label{color:#64748b;font-size:11px;text-transform:uppercase;letter-spacing:.05em;font-weight:700}.app-content .stat .value{font-size:27px;font-weight:800;margin-top:5px;letter-spacing:-.03em}
.app-content .actions{display:flex;gap:7px;flex-wrap:wrap;align-items:center}.app-content .btn{font-weight:700;border-radius:8px}.app-content .btn-outline{border:1px solid var(--bs-border-color);background:var(--bs-body-bg);color:var(--bs-body-color)}.app-content .btn-outline:hover{background:var(--bs-tertiary-bg);border-color:#cbd5e1}.app-content .btn-ok{background:#dcfae6;color:#067647;border:1px solid #abefc6}.app-content .btn-danger{color:#fff}
.app-content input:not([type=checkbox]):not([type=radio]),.app-content select,.app-content textarea{width:100%;display:block;padding:.55rem .7rem;border:1px solid var(--bs-border-color);border-radius:8px;background:var(--bs-body-bg);color:var(--bs-body-color);outline:none;transition:border-color .15s,box-shadow .15s}.app-content input:focus,.app-content select:focus,.app-content textarea:focus{border-color:#86b7fe;box-shadow:0 0 0 .22rem rgba(13,110,253,.12)}.app-content textarea{min-height:92px}.app-content label{display:block;font-weight:700;margin-bottom:6px}.app-content .field{margin-bottom:14px}.app-content .hint,.app-content .muted{color:#64748b}.app-content .search{display:flex;gap:8px;max-width:560px;align-items:center;padding:12px 14px}.app-content .search input{min-width:220px}
.app-content .table-wrap{overflow:auto;border:1px solid var(--bs-border-color);border-radius:12px;background:var(--bs-body-bg);box-shadow:0 2px 8px rgba(15,23,42,.025)}.app-content table{width:100%;border-collapse:collapse;margin:0;background:transparent}.app-content th,.app-content td{padding:11px 12px;border-bottom:1px solid var(--bs-border-color);text-align:left;white-space:nowrap;vertical-align:middle}.app-content th{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#64748b;background:var(--bs-tertiary-bg);font-weight:800}.app-content tbody tr:hover{background:rgba(37,99,235,.025)}.app-content tr:last-child td{border-bottom:0}.app-content .num{text-align:right}.app-content .badge{display:inline-block;padding:5px 8px;border-radius:999px;background:#eef2ff;color:#3730a3;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.03em}.app-content .badge.posted,.app-content .badge.approved,.app-content .badge.completed,.app-content .badge.accrued{background:#dcfae6;color:#067647}.app-content .badge.cancelled,.app-content .badge.rejected{background:#fee4e2;color:#b42318}.app-content .badge.draft{background:#f1f5f9;color:#475569}
.app-content .alert{border-radius:10px;padding:12px 14px;margin-bottom:16px;border:1px solid transparent}.app-content .alert-ok{background:#ecfdf3;color:#067647;border-color:#abefc6}.app-content .alert-error{background:#fef3f2;color:#b42318;border-color:#fecdca}.app-content .right{text-align:right}.app-content .line-items input,.app-content .line-items select{min-width:105px}.app-content .line-items .desc{min-width:220px}.app-content .total-box{margin-left:auto;width:min(430px,100%);margin-top:16px}.app-content .total-row{display:flex;justify-content:space-between;padding:7px 0}.app-content .total-row.grand{font-size:18px;font-weight:800;border-top:1px solid var(--bs-border-color);margin-top:5px;padding-top:11px}.cl-pagination-wrap{display:flex;justify-content:flex-end;margin-top:12px}.pagination .page-link{border-radius:7px!important;margin-left:4px;color:#334155}.pagination .page-item.active .page-link{background:#2563eb;border-color:#2563eb;color:#fff}

/* Dashboard Pro compatibility */
.dashboard-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:26px 28px!important;background:linear-gradient(135deg,#0f172a 0%,#172554 55%,#1d4ed8 100%)!important;color:#fff!important;border:none!important;box-shadow:0 18px 40px rgba(15,23,42,.16)!important}.dashboard-hero h1{margin:4px 0 6px;font-size:28px;line-height:1.15}.dashboard-hero .muted{color:#dbeafe!important}.eyebrow{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#93c5fd;font-weight:800}.hero-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.chip{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;background:#ffffff22;color:#fff;font-size:11px;font-weight:700;border:1px solid #ffffff1f}.chip-soft{background:#eff6ff;color:#0f172a;border-color:#dbeafe}.hero-actions{display:flex;flex-wrap:wrap;gap:9px;align-self:flex-start}.dashboard-kpis .card,.dashboard-mini-grid .card{margin-bottom:0}.stat-feature{position:relative;overflow:hidden}.stat-feature:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:#2563eb}.stat-sales:before{background:#2563eb}.stat-purchase:before{background:#7c3aed}.stat-recv:before{background:#059669}.stat-pay:before{background:#ea580c}.stat-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.delta{font-size:11px;font-weight:800;border-radius:999px;padding:6px 10px;background:#f8fafc;color:#475569}.delta.up{background:#ecfdf3;color:#067647}.delta.down{background:#fef3f2;color:#b42318}.meta-line{margin-top:10px;color:#64748b;font-size:12px}.mini-stat{background:linear-gradient(180deg,var(--bs-body-bg),var(--bs-tertiary-bg))!important}.mini-value{font-size:23px;font-weight:800;margin-top:8px}.dashboard-grid-main,.dashboard-grid-secondary{align-items:start}.chart-card{min-height:380px}.section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}.section-head h3{margin:0 0 2px;font-size:17px}.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:11px;color:#64748b;font-weight:700}.dot{display:inline-block;width:9px;height:9px;border-radius:999px;margin-right:6px}.dot-sales{background:#2563eb}.dot-purchase{background:#8b5cf6}.trend-chart{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;min-height:240px;padding-top:14px}.trend-col{display:flex;flex-direction:column;align-items:center;gap:10px;flex:1}.bar-wrap{height:210px;display:flex;align-items:flex-end;gap:8px}.bar{width:18px;border-radius:10px 10px 4px 4px}.bar.sales{background:linear-gradient(180deg,#60a5fa,#2563eb)}.bar.purchases{background:linear-gradient(180deg,#c4b5fd,#8b5cf6)}.trend-label{font-size:11px;color:#64748b;font-weight:700}.ops-list{display:grid;gap:10px}.ops-item,.bank-row,.approval-item{display:flex;justify-content:space-between;gap:12px;align-items:center}.ops-item{padding:10px 12px;border:1px solid var(--bs-border-color);border-radius:9px;background:var(--bs-tertiary-bg)}.bank-row,.approval-item{padding:10px 0;border-bottom:1px solid var(--bs-border-color)}.bank-row:last-child,.approval-item:last-child{border-bottom:0}.divider{height:1px;background:var(--bs-border-color);margin:16px 0}.subhead{margin:0 0 8px;font-size:13px}.strong{font-weight:800}.small{font-size:11px}.rank-list{display:grid;gap:14px}.rank-top{display:flex;justify-content:space-between;gap:10px;margin-bottom:8px}.progress{height:8px;background:#e2e8f0;border-radius:999px;overflow:hidden}.progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#2563eb,#60a5fa)}.slim-table table{font-size:12px}.slim-table th,.slim-table td{padding:9px}.right.strong,.num strong{font-weight:800}

/* Login */
.cl-login-body{min-height:100vh;margin:0;background:#eef2f7}.cl-login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(420px,1.05fr) minmax(420px,.95fr)}.cl-login-brand-panel{position:relative;overflow:hidden;padding:54px 64px;color:#fff;background:linear-gradient(145deg,#0b1221 0%,#111c36 50%,#1d4ed8 130%);display:flex;flex-direction:column}.cl-login-brand-panel:after{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(255,255,255,.07);border-radius:50%;right:-260px;bottom:-230px;box-shadow:0 0 0 80px rgba(255,255,255,.025),0 0 0 160px rgba(255,255,255,.018)}.cl-login-brand-top{display:flex;align-items:center;gap:13px;position:relative;z-index:1}.cl-login-brand-top h1{font-size:20px;margin:0;font-weight:800}.cl-login-brand-top p{font-size:11px;color:#93c5fd;margin:3px 0 0}.cl-login-message{margin:auto 0;max-width:640px;position:relative;z-index:1}.cl-login-kicker{font-size:10px;letter-spacing:.18em;color:#93c5fd;font-weight:800}.cl-login-message h2{font-size:40px;line-height:1.08;letter-spacing:-.035em;margin:13px 0 18px}.cl-login-message p{font-size:15px;color:#cbd5e1;line-height:1.7;max-width:560px}.cl-login-features{display:flex;gap:9px;flex-wrap:wrap;position:relative;z-index:1}.cl-login-features span{padding:7px 10px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);border-radius:999px;font-size:10px;color:#dbeafe}.cl-login-form-panel{display:grid;place-items:center;padding:40px;background:var(--bs-body-bg)}.cl-login-card{width:min(430px,100%);padding:34px;background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:16px;box-shadow:0 20px 55px rgba(15,23,42,.09)}.cl-login-card h2{font-size:26px;font-weight:800;letter-spacing:-.025em}.cl-login-submit{padding:.7rem 1rem;font-weight:800}.cl-login-demo{text-align:center;color:#94a3b8;font-size:10px;margin-top:18px}

[data-bs-theme=dark] .cl-avatar{background:#172554;color:#bfdbfe}[data-bs-theme=dark] .cl-theme-light{display:none}[data-bs-theme=dark] .cl-theme-dark{display:block}[data-bs-theme=light] .cl-theme-light{display:block}[data-bs-theme=light] .cl-theme-dark{display:none}[data-bs-theme=dark] .app-content .hint,[data-bs-theme=dark] .app-content .muted{color:#94a3b8}[data-bs-theme=dark] .cl-login-body{background:#101827}
@media(max-width:1199px){.app-content .grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid-main .chart-card{grid-column:span 1!important}.cl-company-switcher select{min-width:210px}.dashboard-hero{flex-direction:column;align-items:flex-start}}
@media(max-width:991px){.cl-login-shell{grid-template-columns:1fr}.cl-login-brand-panel{display:none}.cl-login-form-panel{min-height:100vh}.app-content .grid-3,.app-content .grid-2{grid-template-columns:1fr}}
@media(max-width:767px){.cl-page-container{padding-left:12px;padding-right:12px}.cl-content-header{padding-left:2px;padding-right:2px}.app-content .grid-4{grid-template-columns:1fr}.app-content .page-head h1{font-size:1.35rem}.app-content .search{max-width:none;flex-direction:column;align-items:stretch}.dashboard-hero{padding:22px!important}.dashboard-hero h1{font-size:24px}.trend-chart{overflow-x:auto;padding-bottom:8px}.trend-col{min-width:58px}.bar{width:15px}.cl-login-form-panel{padding:20px}.cl-login-card{padding:26px}}
@media print{.app-header,.app-sidebar,.app-footer,.cl-content-header{display:none!important}.app-main{margin:0!important}.app-content{padding:0!important}.app-content .card,.app-content .table-wrap{box-shadow:none!important;border-color:#ddd!important}}
.cl-login-card .alert{border-radius:10px;padding:11px 13px;margin-bottom:14px;font-size:12px}.cl-login-card .alert-ok{background:#ecfdf3;color:#067647;border:1px solid #abefc6}.cl-login-card .alert-error{background:#fef3f2;color:#b42318;border:1px solid #fecdca}.cl-login-card .alert ul{margin:6px 0 0;padding-left:18px}
