
/* =========================================================
   Institute ERP Premium UI — 2026
   Modern SaaS shell, responsive controls, forms & tables
   ========================================================= */
:root{
  --erp-bg:#07111f;
  --erp-bg-2:#0b1728;
  --erp-surface:rgba(15,29,48,.82);
  --erp-surface-2:#102038;
  --erp-line:rgba(148,163,184,.14);
  --erp-text:#edf5ff;
  --erp-muted:#8fa4ba;
  --erp-primary:#18b7aa;
  --erp-primary-2:#0d8179;
  --erp-blue:#6675f5;
  --erp-radius:18px;
  --erp-shadow:0 20px 60px rgba(0,0,0,.20);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
button,input,select,textarea{font:inherit}
::selection{background:rgba(24,183,170,.28);color:#fff}
::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:#34465c;border-radius:999px}
::-webkit-scrollbar-thumb:hover{background:#49617d}

/* Shared ERP controls */
.erp-card,.admin-card,.card{
  border:1px solid var(--erp-line);
  border-radius:var(--erp-radius);
  background:linear-gradient(145deg,rgba(18,35,57,.96),rgba(10,24,41,.96));
  box-shadow:var(--erp-shadow);
}
.erp-card:hover,.admin-card:hover,.card:hover{
  border-color:rgba(24,183,170,.24);
}
.erp-input,.input{
  width:100%;min-height:44px;padding:11px 13px;
  border:1px solid rgba(148,163,184,.17);
  border-radius:12px;background:#091729;color:#eef6ff;
  outline:0;transition:border-color .18s,box-shadow .18s,background .18s;
}
.erp-input::placeholder,.input::placeholder{color:#60758b}
.erp-input:focus,.input:focus{
  border-color:var(--erp-primary);
  box-shadow:0 0 0 4px rgba(24,183,170,.10);
  background:#0b1b2f;
}
.erp-label,.label{display:block;margin-bottom:7px;color:#b8c8d9;font-size:12px;font-weight:750;letter-spacing:.01em}
.erp-btn{
  min-height:44px;padding:0 16px;border:0;border-radius:12px;
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font-weight:800;font-size:13px;cursor:pointer;transition:transform .18s,filter .18s,box-shadow .18s;
}
.erp-btn:hover{filter:brightness(1.08);transform:translateY(-1px)}
.erp-btn-primary{color:#fff;background:linear-gradient(135deg,var(--erp-primary),#08736c);box-shadow:0 10px 24px rgba(8,115,108,.20)}
.erp-btn-blue{color:#fff;background:linear-gradient(135deg,#6475f6,#4554d9);box-shadow:0 10px 24px rgba(69,84,217,.20)}
.erp-btn-danger{color:#fff;background:linear-gradient(135deg,#ef4444,#b91c1c)}
.erp-btn-ghost{color:#d6e2ef;background:rgba(255,255,255,.05);border:1px solid var(--erp-line)}
.erp-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}
.erp-badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:800;letter-spacing:.03em}
.erp-badge-success{background:rgba(16,185,129,.12);color:#6ee7b7;border:1px solid rgba(16,185,129,.18)}
.erp-badge-warning{background:rgba(245,158,11,.12);color:#fcd34d;border:1px solid rgba(245,158,11,.18)}
.erp-badge-danger{background:rgba(239,68,68,.12);color:#fca5a5;border:1px solid rgba(239,68,68,.18)}
.erp-badge-neutral{background:rgba(148,163,184,.10);color:#cbd5e1;border:1px solid rgba(148,163,184,.14)}
.erp-table-wrap{width:100%;overflow:auto;border:1px solid var(--erp-line);border-radius:15px}
.erp-table{width:100%;min-width:760px;border-collapse:separate;border-spacing:0}
.erp-table th{
  padding:12px 14px;background:#0a1728;color:#8297ad;
  font-size:10px;text-transform:uppercase;letter-spacing:.08em;text-align:left;
  border-bottom:1px solid var(--erp-line);white-space:nowrap
}
.erp-table td{padding:13px 14px;color:#cfdae6;font-size:12px;border-bottom:1px solid var(--erp-line);vertical-align:middle}
.erp-table tbody tr{transition:background .15s}
.erp-table tbody tr:hover{background:rgba(24,183,170,.045)}
.erp-table tbody tr:last-child td{border-bottom:0}
.erp-alert{padding:12px 14px;border-radius:12px;font-size:12px;border:1px solid}
.erp-alert-danger{background:rgba(127,29,29,.28);border-color:rgba(248,113,113,.22);color:#fecaca}
.erp-alert-success{background:rgba(6,78,59,.28);border-color:rgba(52,211,153,.20);color:#a7f3d0}
.erp-alert-info{background:rgba(30,64,175,.20);border-color:rgba(96,165,250,.20);color:#bfdbfe}

/* Authentication */
.erp-auth{
  min-height:100vh;display:grid;place-items:center;padding:22px;
  background:
    radial-gradient(900px 520px at 8% -5%,rgba(24,183,170,.18),transparent 58%),
    radial-gradient(900px 520px at 100% 110%,rgba(100,117,246,.18),transparent 58%),
    #06101d;
}
.erp-auth-card{
  width:min(470px,100%);padding:32px;border-radius:26px;
  border:1px solid rgba(148,163,184,.16);
  background:linear-gradient(145deg,rgba(17,35,57,.97),rgba(8,22,38,.97));
  box-shadow:0 35px 100px rgba(0,0,0,.45);
}
.erp-auth-logo{
  width:58px;height:58px;border-radius:18px;display:grid;place-items:center;
  color:#fff;font-weight:900;font-size:22px;
  background:linear-gradient(145deg,var(--erp-primary),#086b64);
  box-shadow:0 14px 34px rgba(24,183,170,.22);
}
.erp-auth-title{color:#f4f8ff;font-weight:850;font-size:23px;letter-spacing:-.025em}
.erp-auth-sub{color:#8fa4ba}
.erp-password-wrap{position:relative}
.erp-password-wrap .input{padding-right:48px}
.erp-password-toggle{
  position:absolute;right:8px;top:50%;transform:translateY(-50%);
  width:36px;height:36px;border:0;border-radius:10px;background:rgba(255,255,255,.05);
  color:#a9bacd;cursor:pointer;
}
.auth-btn{
  width:100%;min-height:46px;border:0;border-radius:12px;
  color:#fff;font-weight:850;cursor:pointer;
  background:linear-gradient(135deg,#6675f5,#4554d9);
  box-shadow:0 14px 30px rgba(69,84,217,.20);
}
.field{margin-bottom:16px}

/* Mobile */
@media(max-width:767px){
  .erp-auth{padding:14px}
  .erp-auth-card{padding:22px;border-radius:20px}
  .erp-table{min-width:720px}
  .erp-btn{width:100%}
}
@media(max-width:430px){
  .erp-auth-card{padding:18px}
  .erp-auth-title{font-size:20px}
}

/* Admin shell overrides */
.admin-main{min-width:0}
.admin-sidebar{box-shadow:20px 0 50px rgba(0,0,0,.12)}
.admin-link{position:relative}
.admin-link.active:before{
  content:"";position:absolute;left:-3px;top:8px;bottom:8px;width:3px;border-radius:99px;background:#58e3d6;
}
.admin-top{box-shadow:0 8px 30px rgba(0,0,0,.14)}
@media(max-width:1023px){
  .admin-main{padding:14px!important}
}
@media(max-width:640px){
  .admin-main{padding:11px!important}
  .admin-top{height:60px!important;padding-left:12px!important;padding-right:12px!important}
}


/* =========================================================
   Portal readability / premium light workspace
   Explicit selectors prevent Tailwind utility conflicts.
   ========================================================= */
body.erp-portal-page{background:#eef3f7!important;color:#172033!important}
body.erp-portal-page .workspace-main{background:#eef3f7;color:#172033}
body.erp-portal-page .card{background:#ffffff!important;color:#172033!important;border:1px solid #dbe4ec!important;box-shadow:0 10px 30px rgba(15,31,48,.08)!important}
body.erp-portal-page .card h1,body.erp-portal-page .card h2,body.erp-portal-page .card h3,body.erp-portal-page .card h4,body.erp-portal-page .card .font-extrabold,body.erp-portal-page .card .font-bold{color:#172033!important}
body.erp-portal-page .card .text-white{color:#172033!important}
body.erp-portal-page .card .text-slate-900,body.erp-portal-page .card .text-slate-800,body.erp-portal-page .card .text-slate-700{color:#172033!important}
body.erp-portal-page .card .text-slate-600{color:#475569!important}
body.erp-portal-page .card .text-slate-500{color:#64748b!important}
body.erp-portal-page .card .text-slate-400{color:#64748b!important}
body.erp-portal-page .card .text-slate-300{color:#475569!important}
body.erp-portal-page .card .bg-\[\#0a1728\],body.erp-portal-page .card .bg-\[\#0b1829\],body.erp-portal-page .card .bg-\[\#081425\]{background:#f5f8fb!important;color:#172033!important;border-color:#e1e8ef!important}
body.erp-portal-page .card .bg-\[\#0a1728\] .text-white,body.erp-portal-page .card .bg-\[\#0b1829\] .text-white,body.erp-portal-page .card .bg-\[\#081425\] .text-white{color:#172033!important}
body.erp-portal-page .data-table th{background:#f1f5f9!important;color:#475569!important;border-bottom:1px solid #dbe4ec!important}
body.erp-portal-page .data-table td{color:#334155!important;border-bottom:1px solid #e2e8f0!important}
body.erp-portal-page .data-table tbody tr:hover{background:#f8fafc!important}
body.erp-portal-page .input{background:#fff!important;color:#172033!important;border-color:#cbd5e1!important}
body.erp-portal-page .input::placeholder{color:#94a3b8!important}
body.erp-portal-page .label{color:#475569!important}
body.erp-portal-page .workspace-main>.text-slate-900,body.erp-portal-page .workspace-main h2.text-slate-900{color:#172033!important}
body.erp-portal-page .workspace-main>.text-slate-500{color:#64748b!important}
body.erp-portal-page .top{background:rgba(255,255,255,.92)!important}
body.erp-portal-page .top h1{color:#172033!important}
body.erp-portal-page .top .text-slate-800{color:#172033!important}
body.erp-portal-page .top .text-slate-500{color:#64748b!important}
body.erp-portal-page .kpi{background:#fff!important}
body.erp-portal-page .kpi .text-2xl{color:#172033!important}
body.erp-portal-page .kpi .text-xs.text-slate-500{color:#64748b!important}
body.erp-portal-page .erp-table-wrap{background:#fff}
body.erp-portal-page footer{color:#64748b!important}
/* Keep intentionally dark document/identity blocks readable. */
body.erp-portal-page .id-card,body.erp-portal-page .admit-card{color:#eaf2fa!important}
body.erp-portal-page .id-card .text-white,body.erp-portal-page .admit-card .text-white{color:#fff!important}
body.erp-portal-page .id-card .text-slate-300,body.erp-portal-page .admit-card .text-slate-300{color:#cbd5e1!important}
@media(max-width:767px){body.erp-portal-page .workspace-main{padding:14px!important}.erp-page-head{margin-bottom:18px}}

/* Admin pages: consistent contrast */
body.erp-admin-page .admin-main h1,body.erp-admin-page .admin-main h2,body.erp-admin-page .admin-main h3,body.erp-admin-page .admin-main h4{color:#f4f8fd}
body.erp-admin-page .admin-main .text-slate-500{color:#8297aa!important}
body.erp-admin-page .admin-main .text-slate-400{color:#a4b4c4!important}
body.erp-admin-page .admin-main .text-slate-300{color:#c4d0dc!important}
