/* LPMC App Styles */
:root{
  --bg:#d4d8dc; --card:#fff; --text:#1a1a1a; --muted:#6b7280; --primary:#2563eb; --primary-700:#1d4ed8; --border:#e5e7eb; --success:#16a34a; --danger:#dc2626; --warn:#f59e0b;
}
*{box-sizing:border-box}
html,body{height:100%;padding-top:5px}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";color:#000;background:#e0e0e0;padding-top:60px}

.container{max-width:1100px;margin:0 auto;padding:24px;color:#000}
h1,h2,h3,h4,h5,h6{color:#000}

/* Header Styles */
.header{position:fixed;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;background-color:#816ae9;padding:12px 20px;z-index:1000;box-shadow:0 2px 4px rgba(0,0,0,.1);min-height:60px}
.brand{display:flex;align-items:center;gap:15px}
.brand h1{font-size:22px;margin:0;color:#fff}
.role{color:#e0e7ff;font-weight:500;font-size:14px}

/* Navigation */
.nav{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.nav a{display:inline-flex;align-items:center;gap:6px;margin-left:4px;padding:8px 12px;border-radius:8px;text-decoration:none;color:#fff;border:1px solid transparent;white-space:nowrap;position:relative}
.nav a:hover{background:#eef2ff;border-color:#e0e7ff;color:#2563eb}
.nav a.active{background:#117df8e3;border-color:#595358;font-weight:600}
.nav a.logout-link{background:rgba(239,68,68,0.2);border-color:rgba(239,68,68,0.3)}
.nav a.logout-link:hover{background:#fef2f2;color:#dc2626;border-color:#fca5a5}

/* Badge Styles */
.badge{position:absolute;top:-6px;right:-6px;font-size:10px;font-weight:700;padding:2px 6px;border-radius:10px;min-width:18px;text-align:center;box-shadow:0 2px 4px rgba(0,0,0,0.2);cursor:help;line-height:1.2}
.badge-warning{background:#f59e0b;color:#fff}
.badge-info{background:#3b82f6;color:#fff}
.badge-danger{background:#ef4444;color:#fff}

/* Mobile Menu Toggle (hidden on desktop) */
.mobile-menu-toggle{display:none;flex-direction:column;gap:4px;background:transparent;border:none;cursor:pointer;padding:8px;z-index:1001}
.mobile-menu-toggle span{display:block;width:25px;height:3px;background:#fff;border-radius:2px;transition:all 0.3s ease}
.mobile-menu-toggle.active span:nth-child(1){transform:rotate(45deg) translate(7px,7px)}
.mobile-menu-toggle.active span:nth-child(2){opacity:0}
.mobile-menu-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(6px,-6px)}

.card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:12px;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
  padding:16px;
  margin-bottom:16px;
}


.card h3{margin-top:0; margin-bottom:12px; text-align: center;color:#000}

.table{width:100%;border-collapse:collapse;border:1px solid #000}
.table th,.table td{border:1px solid #000;padding:4px;text-align:left;color:#000 !important}
.table th{background:#f3f4f6;color:#000 !important}
.table a{color:#2563eb;text-decoration:underline}
.table *{color:#000}
.table a{color:#2563eb !important} 
.status{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;font-size:12px;border:1px solid var(--border);color:#000}
.status.submitted{background:#fff;color:#000}
.status.approved{background:#ecfdf5;color:#000;border-color:#a7f3d0}
.status.returned{background:#fef3c7;color:#000;border-color:#fbbf24}
.status.rejected{background:#fef2f2;color:#000;border-color:#fecaca}

form label{display:block;margin:10px 0 6px;color:#000000}
form label b{color:#000000}
input[type="text"],input[type="email"],input[type="password"],input[type="number"],select,textarea{width:100%;padding:10px;border:1px solid #000;border-radius:8px;background:#e0dfdf}
input[type="file"]{width:100%}
button,.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:8px;border:1px solid var(--primary);background:var(--primary);color:#fff;cursor:pointer}
button:hover,.btn:hover{background:var(--primary-700);border-color:var(--primary-700)}
.btn.secondary{background:#fff;color:#000;border-color:var(--border)}
.btn.secondary:hover{background:#f9fafb}
.alert{padding:10px 12px;border-radius:8px;margin:12px 0;color:#000}
.alert.info{background:#eff6ff;color:#1e40af;border:1px solid #bfdbfe}
.alert.success{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}
.alert.error{background:#fef2f2;color:#7f1d1d;border:1px solid #fecaca}

.login{max-width:420px;margin:80px auto}
.login .card{padding:24px;color:#000} 
.footer{margin-top:30px;color:#000;font-size:12px}

.grid-2col{display:grid;grid-template-columns:1fr 1fr;gap:16px}

/* Table Scroll Wrapper for Mobile */
.table-wrapper{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin:20px 0}
.table-wrapper .table{min-width:100%}

/* Mobile Responsive Styles */
@media(max-width:768px){
  /* Body padding adjustment for fixed header */
  body{padding-top:60px}
  
  /* Header adjustments */
  .header{padding:8px 12px;flex-wrap:nowrap;min-height:50px}
  
  /* Brand adjustments */
  .brand{flex:1;min-width:0;gap:8px}
  .brand h1{font-size:16px}
  .role{display:none} /* Hide role on very small screens */
  
  /* Show mobile menu toggle */
  .mobile-menu-toggle{display:flex;padding:4px}
  
  /* Mobile Navigation */
  .nav{
    position:fixed;
    top:50px;
    left:0;
    right:0;
    background:#816ae9;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    padding:10px;
    box-shadow:0 4px 6px rgba(0,0,0,0.1);
    max-height:0;
    overflow:hidden;
    transition:max-height 0.3s ease-in-out;
  }
  
  .nav.mobile-active{
    max-height:500px;
    border-bottom:2px solid rgba(255,255,255,0.2);
  }
  
  .nav a{
    margin:0;
    padding:10px 12px;
    border-radius:6px;
    width:100%;
    justify-content:flex-start;
    font-size:14px;
  }
  
  .nav a .badge{
    position:static;
    margin-left:auto;
  }
  
  /* Container adjustments */
  .container{padding:15px}
  
  /* Grid adjustments */
  .grid-2col{grid-template-columns:1fr}
  
  /* Table adjustments */
  .table th,.table td{
    font-size:10px;
    padding:6px 4px;
    white-space:nowrap;
  }
  
  /* Card adjustments */
  .card{padding:12px}
  
  /* Form adjustments */
  input[type="text"],
  input[type="email"],
  input[type="password"],
  input[type="number"],
  select,
  textarea{
    font-size:16px; /* Prevents zoom on iOS */
  }
  
  /* Button adjustments */
  button,.btn{
    padding:10px 12px;
    font-size:12px;
  }
}

@media(max-width:480px){
  /* Extra small screens */
  body{padding-top:40px}
  .header{padding:6px 8px;min-height:30px}
  .brand{gap:6px}
  .brand h1{font-size:15px}
  .container{padding:10px}
  .nav{top:46px}
  .nav a{padding:8px 10px;font-size:13px}
  
  .table th,.table td{
    font-size:11px;
    padding:4px 2px;
  }
}

/* Landscape mode adjustments for tablets */
@media(min-width:769px) and (max-width:1024px){
  .container{max-width:95%;padding:20px}
}

/* Print styles */
@media print{
  .header,.nav,.mobile-menu-toggle{display:none}
  body{padding-top:0}
  .table{font-size:10px}
}




