/* ==========================================================
   NAAVINYA ERP UI PRO V2
   Premium ERP Theme Stylesheet
   Clean Executive UI + Fast Layout + Responsive
========================================================== */

@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap');

:root{

--erp-primary:#2563eb;
--erp-primary-dark:#1d4ed8;
--erp-success:#16a34a;
--erp-danger:#dc2626;
--erp-warning:#d97706;

--erp-bg:#f8fafc;
--erp-bg-soft:#eef2ff;
--erp-card:#ffffff;
--erp-line:#e5e7eb;

--erp-text:#0f172a;
--erp-text-soft:#64748b;

--erp-radius:14px;
--erp-radius-sm:10px;

--erp-shadow:
0 4px 18px rgba(15,23,42,.06);

--erp-shadow-hover:
0 10px 28px rgba(15,23,42,.12);

}

/* ==========================================================
   GLOBAL
========================================================== */

*{
box-sizing:border-box;
}

body{
margin:0;
padding:0;
}

.erp-shell,
.erp-shell *{
font-family:'DM Sans',sans-serif;
color:var(--erp-text);
line-height:1.45;
}

.erp-shell{
background:var(--erp-bg);
min-height:100vh;
}

.erp-shell a{
text-decoration:none;
color:inherit;
}

h1,h2,h3,h4,h5{
margin:0 0 10px;
font-weight:700;
}

/* ==========================================================
   CARDS
========================================================== */

.erp-card{
background:var(--erp-card);
border:1px solid var(--erp-line);
border-radius:var(--erp-radius);
padding:20px;
margin-bottom:18px;
box-shadow:var(--erp-shadow);
transition:.18s ease;
}

.erp-card:hover{
box-shadow:var(--erp-shadow-hover);
transform:translateY(-1px);
}

.erp-card h2{
font-size:16px;
padding-bottom:12px;
margin-bottom:14px;
border-bottom:1px solid var(--erp-line);
}

/* ==========================================================
   KPI BLOCKS
========================================================== */

.erp-kpi-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
gap:16px;
margin-bottom:20px;
}

.erp-kpi{
background:linear-gradient(135deg,#fff,#f8fafc);
border:1px solid var(--erp-line);
border-radius:var(--erp-radius);
padding:18px;
box-shadow:var(--erp-shadow);
}

.erp-kpi-label{
font-size:12px;
color:var(--erp-text-soft);
text-transform:uppercase;
letter-spacing:.4px;
margin-bottom:8px;
}

.erp-kpi-value{
font-size:30px;
font-weight:700;
}

.erp-kpi-trend{
font-size:12px;
margin-top:6px;
color:var(--erp-success);
}

/* ==========================================================
   TABLES
========================================================== */

.erp-table{
width:100%;
border-collapse:collapse;
background:#fff;
font-size:13px;
}

.erp-table thead th{
position:sticky;
top:0;
z-index:3;
background:#f8fafc;
font-size:11px;
text-transform:uppercase;
letter-spacing:.4px;
padding:11px 12px;
border-bottom:2px solid var(--erp-line);
color:var(--erp-text-soft);
text-align:left;
}

.erp-table td{
padding:11px 12px;
border-bottom:1px solid #f1f5f9;
vertical-align:middle;
}

.erp-table tbody tr:nth-child(even){
background:#fcfcfd;
}

.erp-table tbody tr:hover{
background:var(--erp-bg-soft);
}

/* ==========================================================
   BUTTONS
========================================================== */

.erp-btn,
button.erp-btn,
input[type=submit].erp-btn{
display:inline-flex;
align-items:center;
justify-content:center;
gap:8px;
border:none;
cursor:pointer;
padding:10px 16px;
font-size:13px;
font-weight:700;
border-radius:10px;
transition:.18s ease;
}

.erp-btn{
background:var(--erp-primary);
color:#fff;
}

.erp-btn:hover{
background:var(--erp-primary-dark);
transform:translateY(-1px);
}

.erp-btn-success{
background:var(--erp-success);
color:#fff;
}

.erp-btn-danger{
background:var(--erp-danger);
color:#fff;
}

.erp-btn-light{
background:#fff;
color:var(--erp-text);
border:1px solid var(--erp-line);
}

/* ==========================================================
   FORMS
========================================================== */

.erp-input,
.erp-select,
.erp-textarea,
.erp-shell input[type=text],
.erp-shell input[type=number],
.erp-shell input[type=date],
.erp-shell input[type=email],
.erp-shell input[type=password],
.erp-shell select,
.erp-shell textarea{
width:100%;
padding:10px 12px;
font-size:13px;
border:1px solid var(--erp-line);
border-radius:10px;
background:#fff;
outline:none;
transition:.18s ease;
font-family:'DM Sans',sans-serif;
}

.erp-input:focus,
.erp-select:focus,
.erp-textarea:focus,
.erp-shell input:focus,
.erp-shell select:focus,
.erp-shell textarea:focus{
border-color:var(--erp-primary);
box-shadow:0 0 0 4px rgba(37,99,235,.08);
}

.erp-label{
display:block;
font-size:12px;
font-weight:700;
margin-bottom:6px;
color:var(--erp-text-soft);
}

.erp-form-group{
margin-bottom:15px;
}

/* ==========================================================
   STATUS BADGES
========================================================== */

.erp-badge{
display:inline-flex;
padding:4px 10px;
font-size:11px;
font-weight:700;
border-radius:30px;
}

.erp-success{
background:#dcfce7;
color:#166534;
}

.erp-warning{
background:#fef3c7;
color:#92400e;
}

.erp-danger{
background:#fee2e2;
color:#991b1b;
}

.erp-info{
background:#dbeafe;
color:#1d4ed8;
}

/* ==========================================================
   ALERTS
========================================================== */

.erp-alert{
padding:12px 14px;
border-radius:12px;
font-size:13px;
margin-bottom:16px;
font-weight:600;
}

.erp-alert-success{
background:#dcfce7;
color:#166534;
}

.erp-alert-danger{
background:#fee2e2;
color:#991b1b;
}

.erp-alert-info{
background:#dbeafe;
color:#1d4ed8;
}

/* ==========================================================
   TALLY STYLE VOUCHER ENTRY
========================================================== */

.tally-voucher{
border:1px solid var(--erp-line);
border-radius:14px;
overflow:hidden;
margin-bottom:18px;
}

.tally-head{
background:linear-gradient(90deg,var(--erp-primary),var(--erp-primary-dark));
color:#fff;
padding:12px 16px;
font-weight:700;
}

.tally-row{
display:grid;
grid-template-columns:2fr 1fr 1fr 1fr;
border-bottom:1px solid #f1f5f9;
}

.tally-cell{
padding:10px 12px;
font-size:13px;
}

.tally-row:nth-child(even){
background:#fafafa;
}

.tally-dr{
color:var(--erp-success);
font-weight:700;
}

.tally-cr{
color:var(--erp-danger);
font-weight:700;
}

/* ==========================================================
   LOGIN SCREEN
========================================================== */

.erp-login-page{
min-height:100vh;
display:flex;
align-items:center;
justify-content:center;
padding:30px;
background:
linear-gradient(135deg,#1e3a8a,#0f172a);
}

.erp-login-box{
width:100%;
max-width:430px;
background:#fff;
border-radius:18px;
padding:34px;
box-shadow:0 25px 80px rgba(0,0,0,.18);
animation:fadeUp .5s ease;
}

.erp-login-title{
font-size:28px;
font-weight:700;
margin-bottom:8px;
text-align:center;
}

.erp-login-sub{
font-size:13px;
color:var(--erp-text-soft);
text-align:center;
margin-bottom:20px;
}

.erp-login-btn{
width:100%;
height:46px;
border:none;
border-radius:12px;
background:var(--erp-primary);
color:#fff;
font-weight:700;
cursor:pointer;
}

.erp-login-btn:hover{
background:var(--erp-primary-dark);
}

/* ==========================================================
   HELPERS
========================================================== */

.erp-flex{
display:flex;
gap:12px;
align-items:center;
}

.erp-right{
text-align:right;
}

.erp-center{
text-align:center;
}

.erp-muted{
color:var(--erp-text-soft);
}

.erp-scroll{
overflow:auto;
}

/* ==========================================================
   MOBILE
========================================================== */

@media(max-width:992px){

.erp-kpi-grid{
grid-template-columns:1fr 1fr;
}

.tally-row{
grid-template-columns:1fr;
}

}

@media(max-width:640px){

.erp-kpi-grid{
grid-template-columns:1fr;
}

.erp-card{
padding:14px;
border-radius:12px;
}

.erp-table{
font-size:12px;
}

.erp-table th,
.erp-table td{
padding:8px;
}

.erp-btn{
width:100%;
}

}

.erp-mini-loader{
position:fixed;
inset:0;
display:none;
align-items:center;
justify-content:center;
background:rgba(255,255,255,.55);
backdrop-filter:blur(3px);
z-index:99999;
}

.erp-mini-card{
background:#fff;
padding:22px 28px;
border-radius:16px;
box-shadow:0 20px 60px rgba(0,0,0,.08);
text-align:center;
min-width:260px;
}

.erp-mini-icon{
font-size:34px;
margin-bottom:10px;
animation:erpBounce 1s infinite;
}

.erp-mini-text{
font-size:15px;
font-weight:700;
color:#0f172a;
}

@keyframes erpBounce{
0%,100%{transform:translateY(0);}
50%{transform:translateY(-6px);}
}


/* ==========================================================
   ANIMATION
========================================================== */

@keyframes fadeUp{
from{
opacity:0;
transform:translateY(16px);
}
to{
opacity:1;
transform:translateY(0);
}
}


/* ==========================================================
   GLOBAL ERP UI SYSTEM V1
========================================================== */

/* Page Header */
.erp-page-head{
display:flex;
justify-content:space-between;
align-items:center;
gap:16px;
margin-bottom:18px;
flex-wrap:wrap;
}

.erp-page-title{
font-size:28px;
font-weight:800;
color:var(--erp-text);
line-height:1.1;
}

.erp-page-sub{
font-size:13px;
color:var(--erp-text-soft);
margin-top:4px;
}

/* Toolbar */
.erp-toolbar{
display:flex;
gap:10px;
flex-wrap:wrap;
align-items:center;
padding:14px;
background:#fff;
border:1px solid var(--erp-line);
border-radius:14px;
box-shadow:var(--erp-shadow);
margin-bottom:18px;
}

/* Grid Layouts */
.erp-grid-2{
display:grid;
grid-template-columns:1fr 1fr;
gap:18px;
}

.erp-grid-3{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:18px;
}

.erp-grid-4{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:18px;
}

/* Stat Card */
.erp-stat{
background:#fff;
border:1px solid var(--erp-line);
border-radius:16px;
padding:18px;
box-shadow:var(--erp-shadow);
}

.erp-stat-label{
font-size:12px;
color:var(--erp-text-soft);
text-transform:uppercase;
font-weight:700;
letter-spacing:.5px;
margin-bottom:8px;
}

.erp-stat-value{
font-size:28px;
font-weight:800;
}

.erp-stat-note{
font-size:12px;
margin-top:8px;
color:var(--erp-success);
}

/* Tabs */
.erp-tabs{
display:flex;
gap:8px;
flex-wrap:wrap;
margin-bottom:18px;
}

.erp-tab{
padding:10px 14px;
border-radius:10px;
background:#fff;
border:1px solid var(--erp-line);
font-size:13px;
font-weight:700;
cursor:pointer;
}

.erp-tab.active{
background:var(--erp-primary);
color:#fff;
border-color:var(--erp-primary);
}

/* Filters */
.erp-filter-bar{
display:flex;
gap:10px;
flex-wrap:wrap;
padding:14px;
background:#fff;
border:1px solid var(--erp-line);
border-radius:14px;
margin-bottom:18px;
}

/* Empty State */
.erp-empty{
padding:40px 20px;
text-align:center;
background:#fff;
border:1px dashed var(--erp-line);
border-radius:16px;
color:var(--erp-text-soft);
}

.erp-empty-icon{
font-size:42px;
margin-bottom:10px;
}

.erp-empty-title{
font-size:18px;
font-weight:800;
color:var(--erp-text);
margin-bottom:6px;
}

/* Drawer / Side Panel */
.erp-drawer{
background:#fff;
border:1px solid var(--erp-line);
border-radius:16px;
padding:18px;
box-shadow:var(--erp-shadow);
}

/* Sticky Actions */
.erp-sticky-actions{
position:sticky;
bottom:16px;
display:flex;
gap:10px;
justify-content:flex-end;
padding-top:12px;
}

/* Better table action row */
.erp-table-actions{
display:flex;
gap:8px;
}

/* Mobile */
@media(max-width:992px){
.erp-grid-4,
.erp-grid-3{
grid-template-columns:1fr 1fr;
}
}

@media(max-width:640px){
.erp-grid-2,
.erp-grid-3,
.erp-grid-4{
grid-template-columns:1fr;
}

.erp-page-title{
font-size:22px;
}

.erp-toolbar,
.erp-filter-bar{
padding:12px;
}
}

body.page-id-533 .erp-mini-loader{
display:none !important;
}

body.page-id-533 .erp-shell,
body.page-id-533 .erp-side,
body.page-id-533 .erp-top{
display:none !important;
}

body.page-id-533,
body.page-id-533 .site,
body.page-id-533 .site-content{
min-height:100vh;
margin:0;
padding:0;
}

.erp-grid-4,
.erp-grid-3,
.erp-grid-2{
gap:18px;
margin-top:18px;
}

.erp-stat{
padding:22px;
border-radius:18px;
box-shadow:0 8px 20px rgba(0,0,0,.05);
background:#fff;
}

.erp-card{
padding:24px;
border-radius:18px;
background:#fff;
box-shadow:0 10px 25px rgba(0,0,0,.05);
}

.erp-side{
color:#e2e8f0;
}

.erp-side a{
color:#e2e8f0 !important;
opacity:.95;
}

.erp-side a span{
color:#e2e8f0 !important;
}

.erp-side a:hover{
background:#1e293b;
color:#fff !important;
}
