:root{
  --bg:#0f1419;
  --bg-secondary:#161b22;
  --card:#1f2937;
  --card-hover:#2a3441;
  --muted:#9ca3af;
  --text:#e5e7eb;
  --text-primary:#ffffff;
  --brand:#667eea;
  --brand-600:#5568d3;
  --brand-700:#4854b8;
  --brand-light:#7c8ff3;
  --accent:#48bb78;
  --accent-light:#68d391;
  --warning:#f6ad55;
  --danger:#fc8181;
  --border:rgba(255,255,255,0.06);
  --border-light:rgba(255,255,255,0.12);
  --shadow-sm:0 2px 8px rgba(0,0,0,0.15);
  --shadow:0 10px 40px rgba(0,0,0,0.3);
  --shadow-lg:0 20px 60px rgba(0,0,0,0.4);
  --gradient-brand:linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  --gradient-accent:linear-gradient(135deg, #48bb78 0%, #38a169 100%);
  --radius-sm:0.5rem;
  --radius:0.75rem;
  --radius-lg:1rem;
  --radius-xl:1.5rem;
  --transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

*{ box-sizing:border-box; }

html,body{ 
  background:var(--bg); 
  color:var(--text); 
  margin:0; 
  padding:0;
  font-family:'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
} 

a{ color:var(--brand); text-decoration:none; transition:var(--transition); }
a:hover{ color:var(--brand-light); }

h1,h2,h3,h4,h5,h6{ color:var(--text-primary); font-weight:700; line-height:1.3; margin-top:0; }
h1{ font-size:2.5rem; }
h2{ font-size:2rem; }
h3{ font-size:1.75rem; }
h4{ font-size:1.5rem; }
h5{ font-size:1.25rem; }
h6{ font-size:1rem; }

@media (max-width:768px){
  h1{ font-size:2rem; }
  h2{ font-size:1.75rem; }
  h3{ font-size:1.5rem; }
  h4{ font-size:1.25rem; }
}

.container{ max-width:1600px; margin:0 auto; padding:0 2rem; }
.container-fluid{ max-width:95%; margin:0 auto; padding:0 2rem; }
@media (max-width:768px){ 
  .container{ padding:0 1rem; } 
  .container-fluid{ padding:0 1rem; max-width:100%; }
}

/* Top Navigation */
.topnav{ 
  background:rgba(26,31,58,0.8); 
  border-bottom:1px solid var(--border); 
  backdrop-filter:blur(20px);
  position:sticky;
  top:0;
  z-index:1000;
  transition:var(--transition);
}
.topnav .container{ padding-top:0; padding-bottom:0; }
.topnav .brand{ 
  font-weight:800; 
  font-size:1.5rem;
  letter-spacing:-0.5px; 
  color:var(--text-primary); 
  margin-right:1rem;
  display:inline-flex;
  align-items:center;
  gap:0.5rem;
}
.topnav .brand-accent{ 
  background:var(--gradient-brand);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
}
.topnav .nav-toggle{ 
  background:none; 
  border:0; 
  color:var(--text); 
  font-size:1.5rem; 
  padding:0.5rem;
  cursor:pointer;
  transition:var(--transition);
}
.topnav .nav-toggle:hover{ color:var(--brand); }
.topnav .nav-links{ 
  display:flex; 
  gap:0.25rem; 
  margin-left:auto; 
  align-items:center;
  flex-wrap:nowrap;
}
.topnav .nav-links a{ 
  color:var(--muted); 
  padding:1.5rem 0.65rem; 
  border-bottom:3px solid transparent;
  font-weight:500;
  font-size:0.875rem;
  transition:var(--transition);
  position:relative;
  white-space:nowrap;
}
.topnav .nav-links a:hover{ 
  color:var(--text-primary); 
  background:rgba(255,255,255,0.03);
}
.topnav .nav-links a.active{ 
  color:var(--text-primary); 
  border-bottom-color:var(--brand);
}
@media (max-width:1200px){
  .topnav .nav-links a{ 
    padding:1.5rem 0.5rem;
    font-size:0.8125rem;
  }
}
@media (max-width:992px){
  .topnav .nav-links{ 
    position:fixed; 
    left:0; 
    right:0; 
    top:65px; 
    background:var(--card); 
    border-bottom:1px solid var(--border); 
    padding:1rem; 
    flex-direction:column;
    gap:0;
    box-shadow:var(--shadow);
  }
  .topnav .nav-links.collapsed{ display:none; }
  .topnav .nav-links a{ 
    display:block; 
    padding:1rem; 
    border-bottom:0;
    border-left:3px solid transparent;
  }
  .topnav .nav-links a.active{ 
    border-bottom:0;
    border-left-color:var(--brand);
    background:rgba(255,255,255,0.05);
  }
}

/* Buttons */
.btn{ 
  border-radius:var(--radius-sm); 
  font-weight:600; 
  padding:0.75rem 1.5rem;
  border:1px solid var(--border);
  transition:var(--transition);
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:0.5rem;
  font-size:0.95rem;
}
.btn:disabled{ opacity:0.5; cursor:not-allowed; }
.btn-sm{ padding:0.5rem 1rem; font-size:0.875rem; }
.btn-lg{ padding:1rem 2rem; font-size:1.1rem; }
.btn-primary{ 
  background:var(--gradient-brand); 
  border:none; 
  color:white;
  box-shadow:0 4px 12px rgba(102,126,234,0.3);
}
.btn-primary:hover{ 
  transform:translateY(-2px); 
  box-shadow:0 6px 20px rgba(102,126,234,0.4);
  color:white;
}
.btn-success{
  background:var(--gradient-accent);
  border:none;
  color:white;
  box-shadow:0 4px 12px rgba(72,187,120,0.3);
}
.btn-success:hover{
  transform:translateY(-2px);
  box-shadow:0 6px 20px rgba(72,187,120,0.4);
  color:white;
}
.btn-outline-primary{
  background:transparent;
  border:2px solid var(--brand);
  color:var(--brand);
}
.btn-outline-primary:hover{
  background:var(--brand);
  color:white;
}
.btn-ghost{ 
  background:rgba(255,255,255,0.03); 
  color:var(--text); 
  border:1px solid var(--border);
}
.btn-ghost:hover{
  background:rgba(255,255,255,0.08);
  border-color:var(--border-light);
}

/* Hero */
.hero{ 
  padding:8rem 0 6rem; 
  background:
    radial-gradient(circle at 20% 10%, rgba(102,126,234,0.15), transparent 50%),
    radial-gradient(circle at 80% 30%, rgba(118,75,162,0.1), transparent 50%),
    radial-gradient(circle at 40% 80%, rgba(72,187,120,0.08), transparent 50%);
  border-bottom:1px solid var(--border);
  position:relative;
  overflow:hidden;
}
.hero::before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  right:0;
  bottom:0;
  background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23667eea' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  opacity:0.4;
  pointer-events:none;
}
.hero-title{ 
  font-size:3.5rem; 
  line-height:1.1; 
  font-weight:900; 
  letter-spacing:-1px;
  margin-bottom:1.5rem;
  background:linear-gradient(135deg, var(--text-primary) 0%, var(--brand-light) 100%);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
}
.hero-subtitle{ 
  color:var(--muted); 
  font-size:1.25rem;
  max-width:700px; 
  line-height:1.8;
  margin-bottom:2rem;
}
.hero-cta{ 
  display:flex;
  gap:1rem;
  margin-top:2rem;
  flex-wrap:wrap;
}
.hero-points{ 
  display:flex; 
  flex-wrap:wrap; 
  gap:1rem; 
  margin-top:2rem; 
}
.hero-points .badge{ 
  background:rgba(255,255,255,0.06); 
  color:var(--muted); 
  border:1px solid var(--border);
  padding:0.5rem 1rem;
  border-radius:2rem;
  font-size:0.875rem;
  font-weight:500;
}
@media (max-width:768px){
  .hero{ padding:4rem 0 3rem; }
  .hero-title{ font-size:2.5rem; }
  .hero-subtitle{ font-size:1.1rem; }
  .hero-cta{ flex-direction:column; }
  .hero-cta .btn{ width:100%; }
}

.hero-card{ 
  background:var(--card); 
  border:1px solid var(--border); 
  border-radius:var(--radius-lg); 
  padding:2rem;
  box-shadow:var(--shadow);
  backdrop-filter:blur(10px);
}
.invoice-preview{ 
  background:rgba(255,255,255,0.03); 
  border:1px solid var(--border-light); 
  border-radius:var(--radius); 
  padding:1.5rem; 
}
.invoice-header{ 
  display:flex; 
  justify-content:space-between; 
  margin-bottom:1.5rem;
  padding-bottom:1rem;
  border-bottom:2px solid var(--border);
}
.invoice-header .brand{ font-weight:700; font-size:1.2rem; color:var(--text-primary); }
.inv-number{ font-weight:700; color:var(--text-primary); }
.invoice-lines{ margin:1rem 0; }
.invoice-lines .row{ border-bottom:1px solid var(--border); padding:0.5rem 0; }
.invoice-lines .row:last-child{ border-bottom:0; }
.invoice-totals{ margin-top:1rem; padding-top:1rem; border-top:2px solid var(--border); }
.invoice-totals .total{ border-top:2px solid var(--border); margin-top:0.5rem; padding-top:0.5rem; font-weight:700; }
.muted{ color:var(--muted) !important; }

/* Content pages */
.page-header{ 
  padding:1rem 0 1rem; 
  border-bottom:1px solid var(--border); 
  background:
    radial-gradient(circle at 30% 20%, rgba(102,126,234,0.1), transparent 50%),
    var(--bg-secondary);
  text-align:center;
}
.page-header h1{
  font-size:3rem;
  margin-bottom:1rem;
}
.page-header p{
  font-size:1.2rem;
  color:var(--muted);
  max-width:700px;
  margin:0 auto;
}
.about-body, .contact-body{ 
  padding:4rem 0; 
}
.side-box{ 
  background:var(--card); 
  border:1px solid var(--border); 
  border-radius:var(--radius-lg); 
  padding:2rem;
  box-shadow:var(--shadow-sm);
}
.side-box h4{
  margin-top:0;
  margin-bottom:1.5rem;
  color:var(--text-primary);
}
.philosophy li{ 
  margin-bottom:1rem; 
  padding-left:1.5rem;
  position:relative;
}
.philosophy li::before{
  content:'✓';
  position:absolute;
  left:0;
  color:var(--accent);
  font-weight:bold;
}
@media (max-width:768px){
  .page-header{ padding:4rem 0 2rem; }
  .page-header h1{ font-size:2rem; }
  .page-header p{ font-size:1rem; }
  .about-body, .contact-body{ padding:3rem 0; }
}

/* Auth block in header */
.auth-block{ display:flex; align-items:center; gap:0.5rem; margin-left:0.5rem; flex-shrink:0; }
.auth-block a{ margin:0; }

/* User chip */
.user-chip .dropdown-toggle{ 
  display:flex; 
  align-items:center; 
  gap:0.75rem; 
  background:rgba(255,255,255,0.05); 
  border:1px solid var(--border); 
  border-radius:3rem; 
  padding:0.5rem 1rem;
  transition:var(--transition);
  font-weight:500;
}
.user-chip .dropdown-toggle:hover{
  background:rgba(255,255,255,0.08);
  border-color:var(--border-light);
}
.user-chip .dropdown-toggle::after{
  margin-left:0.5rem;
}
.credit-badge{ 
  background:var(--gradient-accent); 
  color:#fff; 
  font-size:0.75rem; 
  padding:0.25rem 0.6rem; 
  border-radius:1rem; 
  line-height:1;
  font-weight:600;
}
.dropdown-menu-dark{ 
  background:var(--card); 
  border:1px solid var(--border);
  box-shadow:var(--shadow);
  border-radius:var(--radius);
  padding:0.5rem;
  min-width:200px;
}
.dropdown-header{
  color:var(--muted);
  font-size:0.75rem;
  font-weight:600;
  text-transform:uppercase;
  padding:0.5rem 1rem;
  letter-spacing:0.5px;
}
.dropdown-item{ 
  color:var(--text);
  padding:0.75rem 1rem;
  border-radius:var(--radius-sm);
  transition:var(--transition);
  font-size:0.9rem;
}
.dropdown-item:hover{ 
  background:rgba(255,255,255,0.08);
  color:var(--text-primary);
}
.dropdown-divider{
  border-color:var(--border);
  margin:0.5rem 0;
}

/* Invoice Generator */
.invoice-generator{ padding:3rem 0; }
.generator-card, .preview-card{ 
  background:var(--card); 
  border:1px solid var(--border); 
  border-radius:var(--radius-lg); 
  overflow:hidden;
  box-shadow:var(--shadow-sm);
}
.card-header{ 
  padding:1.5rem 2rem; 
  border-bottom:1px solid var(--border);
  background:rgba(255,255,255,0.02);
}
.card-header h4{
  margin:0;
  display:flex;
  align-items:center;
  gap:0.75rem;
}
.form-section{ 
  padding:1.75rem 2.5rem; 
  border-bottom:1px solid var(--border); 
}
.form-section:last-child{ border-bottom:0; }
.form-section h5{ 
  font-size:1.1rem; 
  font-weight:700; 
  margin-bottom:1.5rem; 
  color:var(--text-primary);
  display:flex;
  align-items:center;
  gap:0.5rem;
}
.form-section .row{ margin:0 -0.75rem; }
.form-section .row > *{ padding:0 0.75rem; }
.company-info-display{
  background:rgba(255,255,255,0.03);
  border:1px solid var(--border);
  padding:1.5rem;
  border-radius:var(--radius);
}
.company-info-display .info-value{
  color:var(--text-primary);
  font-size:0.95rem;
  padding:0.5rem 0;
  min-height:38px;
  display:flex;
  align-items:center;
}
.customer-quick-add{ 
  background:rgba(255,255,255,0.03); 
  border:2px dashed var(--border); 
  padding:1.5rem; 
  border-radius:var(--radius);
  transition:var(--transition);
}
.customer-quick-add:hover{
  border-color:var(--brand);
  background:rgba(255,255,255,0.05);
}
.quotation-item-card{
  background:rgba(255,255,255,0.03);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:1.75rem;
  transition:var(--transition);
}
.quotation-item-card:hover{
  border-color:var(--brand);
  background:rgba(255,255,255,0.05);
}
.quotation-item-card h6{
  color:var(--text-primary);
  font-weight:600;
  font-size:0.95rem;
}
.quotation-item-card .form-label{
  font-size:0.85rem;
  margin-bottom:0.5rem;
}
.quotation-item-card textarea{
  resize:vertical;
  min-height:60px;
}
.invoice-items-table{ font-size:0.9rem; }
.invoice-items-table th{ 
  border-bottom:2px solid var(--border); 
  padding:0.75rem; 
  font-weight:600;
  background:rgba(255,255,255,0.02);
  color:var(--muted);
  text-transform:uppercase;
  font-size:0.75rem;
  letter-spacing:0.5px;
}
.invoice-items-table td{ 
  border-bottom:1px solid var(--border); 
  padding:0.75rem; 
  vertical-align:middle; 
}
.invoice-items-table tbody tr{
  transition:var(--transition);
}
.invoice-items-table tbody tr:hover{
  background:rgba(255,255,255,0.02);
}
.invoice-items-table .form-control,
.invoice-items-table .form-select{
  background:rgba(255,255,255,0.15) !important;
  border:1px solid rgba(255,255,255,0.3) !important;
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  padding:0.5rem 0.75rem;
  font-size:0.875rem;
  min-width: 100%;
}
.invoice-items-table .form-control[readonly]{
  background:rgba(255,255,255,0.1) !important;
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  opacity:1 !important;
}
.invoice-items-table .form-control:focus,
.invoice-items-table .form-select:focus{
  background:rgba(255,255,255,0.25) !important;
  border-color:var(--brand) !important;
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}
/* Hide number input spinners */
.invoice-items-table input[type="number"]::-webkit-outer-spin-button,
.invoice-items-table input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.invoice-items-table input[type="number"] {
  -moz-appearance: textfield;
}
.totals-panel{ 
  background:var(--gradient-brand); 
  padding:2rem; 
  border-radius:var(--radius);
  color:white;
}
.totals-panel .total-row{
  display:flex;
  justify-content:space-between;
  padding:0.75rem 0;
  border-bottom:1px solid rgba(255,255,255,0.1);
}
.totals-panel .total-row:last-child{
  border-bottom:none;
  padding-top:1rem;
  margin-top:0.5rem;
  border-top:2px solid rgba(255,255,255,0.2);
  font-size:1.5rem;
  font-weight:800;
}
.totals-panel .form-control{
  background:rgba(255,255,255,0.3) !important;
  border:1px solid rgba(255,255,255,0.5) !important;
  color:#ffffff !important;
  font-weight:600;
  text-align:right;
  -webkit-text-fill-color:#ffffff !important;
}
.totals-panel .form-control:focus{
  background:rgba(255,255,255,0.4) !important;
  border-color:white !important;
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}
.preview-sticky{ 
  position:sticky; 
  top:6rem;
}
.preview-header{ 
  padding:1.5rem 2rem; 
  border-bottom:1px solid var(--border); 
  display:flex; 
  justify-content:space-between; 
  align-items:center;
  background:rgba(255,255,255,0.02);
}
.preview-body{ 
  padding:2rem; 
  max-height:calc(100vh - 250px); 
  overflow-y:auto;
}
.preview-body::-webkit-scrollbar{
  width:8px;
}
.preview-body::-webkit-scrollbar-track{
  background:rgba(255,255,255,0.02);
}
.preview-body::-webkit-scrollbar-thumb{
  background:var(--border);
  border-radius:4px;
}
.preview-body::-webkit-scrollbar-thumb:hover{
  background:var(--border-light);
}
@media (max-width:992px){
  .preview-sticky{ position:static; }
  .invoice-generator{ padding:2rem 0; }
  .form-section{ padding:1.5rem; }
}

/* Invoice Preview Mini */
.invoice-preview-mini{ font-size:.875rem; }
.inv-header{ display:flex; justify-content:space-between; margin-bottom:1.5rem; padding-bottom:1rem; border-bottom:1px solid var(--border); }
.company-name{ font-weight:700; font-size:1.1rem; }
.company-info, .customer-info{ color:var(--muted); font-size:.8rem; }
.inv-number{ font-weight:700; }
.inv-date{ color:var(--muted); font-size:.8rem; }
.inv-customer{ margin-bottom:1.5rem; padding:1rem; background:rgba(255,255,255,0.02); border-radius:.5rem; }
.inv-customer .label{ font-size:.75rem; text-transform:uppercase; color:var(--muted); margin-bottom:.25rem; }
.customer-name{ font-weight:600; }
.inv-items table{ width:100%; border-collapse:collapse; margin-bottom:1rem; }
.inv-items th{ text-align:left; padding:.5rem; border-bottom:1px solid var(--border); font-weight:600; font-size:.75rem; text-transform:uppercase; color:var(--muted); }
.inv-items td{ padding:.5rem; border-bottom:1px dashed var(--border); }
.tax-label{ font-size:.7rem; color:var(--accent); margin-left:.25rem; }
.inv-totals{ padding:1rem; background:rgba(255,255,255,0.02); border-radius:.5rem; }
.total-row{ display:flex; justify-content:space-between; margin-bottom:.5rem; }
.total-row.final{ border-top:1px solid var(--border); padding-top:.5rem; margin-top:.5rem; font-weight:700; font-size:1.1rem; }

/* Features grid */
.features{ 
  padding:6rem 0; 
  background:var(--bg-secondary);
  border-top:1px solid var(--border);
}
.features-header{
  text-align:center;
  max-width:700px;
  margin:0 auto 4rem;
}
.features-header h2{
  font-size:2.5rem;
  margin-bottom:1rem;
}
.features-header p{
  color:var(--muted);
  font-size:1.1rem;
}
.feature-card{ 
  background:var(--card); 
  border:1px solid var(--border); 
  border-radius:var(--radius-lg); 
  padding:2rem; 
  height:100%;
  transition:var(--transition);
  position:relative;
  overflow:hidden;
}
.feature-card::before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:3px;
  background:var(--gradient-brand);
  transform:scaleX(0);
  transition:var(--transition);
}
.feature-card:hover{
  transform:translateY(-8px);
  box-shadow:var(--shadow);
  border-color:var(--border-light);
}
.feature-card:hover::before{
  transform:scaleX(1);
}
.feature-icon{
  width:48px;
  height:48px;
  background:var(--gradient-brand);
  border-radius:var(--radius);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.5rem;
  margin-bottom:1.5rem;
}
.feature-card h5{ 
  font-size:1.25rem; 
  font-weight:700; 
  margin-bottom:1rem;
  color:var(--text-primary);
}
.feature-card p{ 
  color:var(--muted); 
  margin:0; 
  line-height:1.7;
}
@media (max-width:768px){
  .features{ padding:4rem 0; }
  .features-header h2{ font-size:2rem; }
}

/* Print page */
.invoice-print-page{ min-height:100vh; background:var(--bg); }
.print-actions{ padding:1rem 0; background:var(--card); border-bottom:1px solid var(--border); margin-bottom:2rem; }
.invoice-print-container{ max-width:900px; margin:0 auto; padding:2rem; }
.invoice-print{ background:white; color:#000; padding:3rem; border-radius:.5rem; box-shadow:var(--shadow); font-family:'Inter',sans-serif; }
.inv-print-header{ display:flex; justify-content:space-between; margin-bottom:2rem; padding-bottom:1.5rem; border-bottom:2px solid #000; }
.company-title{ font-size:1.5rem; font-weight:800; margin-bottom:.5rem; color:#000; }
.company-details{ font-size:.875rem; color:#555; }
.inv-print-meta{ text-align:right; }
.inv-print-meta h2{ font-size:2rem; font-weight:800; margin-bottom:.5rem; }
.meta-item{ margin-bottom:.25rem; }
.meta-label{ font-weight:600; margin-right:.5rem; }
.inv-print-customer{ margin-bottom:2rem; }
.section-title{ font-size:.75rem; font-weight:700; text-transform:uppercase; color:#666; margin-bottom:.5rem; }
.customer-name-print{ font-size:1.1rem; font-weight:700; }
.customer-details{ font-size:.875rem; color:#555; }
.inv-print-table{ width:100%; border-collapse:collapse; margin-bottom:2rem; }
.inv-print-table th{ background:#f5f5f5; padding:.75rem; text-align:left; font-weight:700; border-bottom:2px solid #000; }
.inv-print-table td{ padding:.75rem; border-bottom:1px solid #ddd; }
.inv-print-table .text-right{ text-align:right; }
.inv-print-totals{ width:300px; margin-left:auto; border-top:2px solid #000; padding-top:1rem; }
.totals-row{ display:flex; justify-content:space-between; margin-bottom:.5rem; }
.total-final{ font-size:1.25rem; font-weight:800; border-top:2px solid #000; padding-top:.75rem; margin-top:.75rem; }
.inv-print-notes{ margin-top:2rem; padding:1rem; background:#f9f9f9; border-radius:.5rem; }
.notes-content{ white-space:pre-wrap; color:#333; }
.inv-print-footer{ margin-top:3rem; text-align:center; color:#999; font-size:.875rem; border-top:1px solid #ddd; padding-top:1.5rem; }

/* Form Controls */
.form-control, .form-select{
  background:rgba(255,255,255,0.15) !important;
  border:1px solid rgba(255,255,255,0.3) !important;
  color:#ffffff !important;
  padding:0.85rem 1.1rem;
  border-radius:var(--radius-sm);
  transition:var(--transition);
  font-size:0.95rem;
  min-height:45px;
  -webkit-text-fill-color:#ffffff !important;
}
.form-control-sm{
  padding:0.5rem 0.75rem !important;
  min-height:38px;
  font-size:0.9rem;
}
.form-control[readonly]{
  background:rgba(255,255,255,0.12) !important;
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  opacity:1 !important;
}
.form-control::placeholder{
  color:rgba(255,255,255,0.5);
}
.form-control:focus, .form-select:focus{
  background:rgba(255,255,255,0.2) !important;
  border-color:var(--brand) !important;
  outline:none;
  box-shadow:0 0 0 3px rgba(102,126,234,0.2);
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}
.form-control option, .form-select option{
  background:#1f2937;
  color:#ffffff;
}
.form-label{
  color:var(--text-primary);
  font-weight:600;
  margin-bottom:0.6rem;
  font-size:0.9rem;
}
.form-text{
  color:var(--muted);
  font-size:0.85rem;
}
.mb-3, .g-3 > *{ margin-bottom:1.25rem !important; }
.col-md-4, .col-md-6, .col-md-12{ 
  padding-left:0.75rem !important;
  padding-right:0.75rem !important;
}

/* Alerts */
.alert{
  border-radius:var(--radius);
  padding:1rem 1.25rem;
  border:1px solid;
  margin-bottom:1rem;
}
.alert-success{
  background:rgba(72,187,120,0.1);
  border-color:var(--accent);
  color:var(--accent-light);
}
.alert-warning{
  background:rgba(246,173,85,0.1);
  border-color:var(--warning);
  color:var(--warning);
}
.alert-danger{
  background:rgba(252,129,129,0.1);
  border-color:var(--danger);
  color:var(--danger);
}
.alert-info{
  background:rgba(102,126,234,0.1);
  border-color:var(--brand);
  color:var(--brand-light);
}

/* Tables */
.table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
}
.table th{
  background:rgba(255,255,255,0.03);
  color:var(--muted);
  font-weight:600;
  text-transform:uppercase;
  font-size:0.75rem;
  letter-spacing:0.5px;
  padding:1rem;
  text-align:left;
  border-bottom:2px solid var(--border);
}
.table td{
  padding:1rem;
  border-bottom:1px solid var(--border);
  color:var(--text);
}
.table tbody tr{
  transition:var(--transition);
}
.table tbody tr:hover{
  background:rgba(255,255,255,0.02);
}
.table-responsive{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}

/* Credits Page */
.card-panel{ 
  background:var(--card); 
  border:1px solid var(--border); 
  border-radius:var(--radius-lg); 
  overflow:hidden;
  box-shadow:var(--shadow-sm);
}
.card-panel .card-header{ 
  padding:1.5rem; 
  border-bottom:1px solid var(--border);
  background:rgba(255,255,255,0.02);
}
.card-panel .card-header h4, .card-panel .card-header h5{
  margin:0;
}
.card-panel .card-body{ padding:2rem; }
.credit-display{ 
  text-align:center; 
  padding:3rem 1rem;
  background:var(--gradient-brand);
  border-radius:var(--radius);
  margin-bottom:1.5rem;
}
.credit-amount{ 
  font-size:4rem; 
  font-weight:900; 
  color:white; 
  line-height:1;
  margin-bottom:0.5rem;
}
.credit-label{ 
  color:rgba(255,255,255,0.9); 
  font-size:1.1rem;
  font-weight:500;
}
@media (max-width:768px){
  .credit-amount{ font-size:3rem; }
  .card-panel .card-body{ padding:1.5rem; }
}

.transaction-table{ width:100%; font-size:0.9rem; margin:0; }
.transaction-table th{ 
  padding:1rem; 
  border-bottom:2px solid var(--border); 
  font-weight:600; 
  text-transform:uppercase; 
  font-size:0.75rem; 
  color:var(--muted);
  background:rgba(255,255,255,0.02);
}
.transaction-table td{ 
  padding:1rem; 
  border-bottom:1px solid var(--border);
}
.transaction-table tbody tr{
  transition:var(--transition);
}
.transaction-table tbody tr:hover{
  background:rgba(255,255,255,0.03);
}
.badge{ 
  padding:0.35rem 0.75rem; 
  border-radius:1rem; 
  font-size:0.75rem; 
  font-weight:600;
  display:inline-block;
}
.badge-success{ 
  background:rgba(72,187,120,0.15); 
  color:var(--accent-light);
  border:1px solid rgba(72,187,120,0.3);
}
.badge-danger{ 
  background:rgba(252,129,129,0.15); 
  color:var(--danger);
  border:1px solid rgba(252,129,129,0.3);
}
.badge-warning{ 
  background:rgba(246,173,85,0.15); 
  color:var(--warning);
  border:1px solid rgba(246,173,85,0.3);
}
.badge-secondary{
  background:rgba(139,146,171,0.15);
  color:var(--muted);
  border:1px solid var(--border);
}

.credit-packages{ 
  display:flex; 
  flex-direction:column; 
  gap:1rem; 
  margin-top:1.5rem; 
}
.credit-package-btn{ 
  position:relative; 
  background:var(--card); 
  border:2px solid var(--border); 
  border-radius:var(--radius); 
  padding:1.5rem; 
  text-align:left; 
  cursor:pointer; 
  transition:var(--transition);
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.credit-package-btn:hover{ 
  background:var(--card-hover); 
  border-color:var(--brand);
  transform:translateX(8px);
  box-shadow:var(--shadow-sm);
}
.package-info{
  flex:1;
}
.package-amount{ 
  font-weight:700; 
  font-size:1.25rem; 
  color:var(--text-primary);
  margin-bottom:0.25rem;
}
.package-price{ 
  color:var(--muted); 
  font-size:1rem;
}
.package-badge{ 
  background:var(--gradient-accent); 
  color:white; 
  font-size:0.7rem; 
  padding:0.35rem 0.75rem; 
  border-radius:1rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:0.5px;
}
.bg-info-subtle{ 
  background:rgba(102,126,234,0.08); 
  border:1px solid rgba(102,126,234,0.2);
  border-radius:var(--radius);
}

.text-success{ color:var(--accent-light); }
.text-danger{ color:var(--danger); }
.text-muted{ color:var(--muted); }
.text-primary{ color:var(--brand-light); }

/* Authentication Pages */
.auth-page{
  min-height:100vh;
  background:var(--bg);
}
.auth-container{
  max-width:100%;
}
.auth-left{
  background:var(--gradient-brand);
  padding:4rem 3rem;
  display:flex;
  align-items:center;
  position:relative;
  overflow:hidden;
}
.auth-left::before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  right:0;
  bottom:0;
  background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.05'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  opacity:0.6;
  pointer-events:none;
}
.auth-branding{
  max-width:500px;
  color:white;
  position:relative;
  z-index:1;
}
.auth-logo{
  font-size:2rem;
  font-weight:800;
  color:white;
  text-decoration:none;
  display:inline-block;
  margin-bottom:3rem;
  letter-spacing:-0.5px;
}
.auth-logo .brand{
  color:white;
}
.auth-logo .brand-accent{
  color:rgba(255,255,255,0.9);
}
.auth-tagline{
  font-size:2.5rem;
  font-weight:800;
  line-height:1.2;
  margin-bottom:1.5rem;
  color:white;
}
.auth-description{
  font-size:1.1rem;
  line-height:1.7;
  margin-bottom:3rem;
  color:rgba(255,255,255,0.9);
}
.auth-features{
  display:flex;
  flex-direction:column;
  gap:2rem;
  margin-bottom:3rem;
}
.auth-feature{
  display:flex;
  gap:1.5rem;
  align-items:flex-start;
}
.feature-icon-small{
  width:40px;
  height:40px;
  background:rgba(255,255,255,0.15);
  border-radius:var(--radius);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.25rem;
  flex-shrink:0;
}
.auth-feature strong{
  display:block;
  font-size:1.1rem;
  margin-bottom:0.25rem;
  color:white;
}
.auth-feature p{
  margin:0;
  color:rgba(255,255,255,0.85);
  font-size:0.95rem;
}
.auth-testimonial{
  padding:2rem;
  background:rgba(255,255,255,0.1);
  border-radius:var(--radius-lg);
  border-left:4px solid rgba(255,255,255,0.3);
}
.auth-testimonial p{
  font-size:1.05rem;
  line-height:1.7;
  margin-bottom:1rem;
  color:rgba(255,255,255,0.95);
  font-style:italic;
}
.testimonial-author{
  color:rgba(255,255,255,0.8);
  font-size:0.9rem;
  font-weight:600;
}
.auth-right{
  background:var(--bg);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:3rem 1.5rem;
}
.auth-form-container{
  width:100%;
  max-width:450px;
}
.auth-form-header{
  margin-bottom:2.5rem;
  text-align:center;
}
.auth-form-header h1{
  font-size:2rem;
  font-weight:800;
  margin-bottom:0.5rem;
  color:var(--text-primary);
}
.auth-form-header p{
  color:var(--muted);
  font-size:1rem;
  margin:0;
}
.auth-form{
  margin-bottom:2rem;
}
.auth-form .form-control{
  background:rgba(255,255,255,0.15) !important;
  border:1px solid rgba(255,255,255,0.3) !important;
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  border-radius:var(--radius-sm);
  transition:var(--transition);
}
.auth-form .form-control::placeholder{
  color:rgba(255,255,255,0.5) !important;
  opacity:1 !important;
}
.auth-form .form-control:focus{
  background:rgba(255,255,255,0.2) !important;
  border-color:var(--brand) !important;
  box-shadow:0 0 0 3px rgba(102,126,234,0.2) !important;
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}
.auth-form .form-control-lg{
  padding:0.875rem 1rem;
  font-size:1rem;
}
.auth-form .form-label{
  color:var(--text);
  font-weight:600;
  margin-bottom:0.5rem;
  font-size:0.9rem;
}
.auth-form .form-check{
  padding-left:1.75rem;
}
.auth-form .form-check-input{
  background-color:rgba(255,255,255,0.03);
  border:1px solid var(--border);
  margin-top:0.25rem;
}
.auth-form .form-check-input:checked{
  background-color:var(--brand);
  border-color:var(--brand);
}
.auth-form .form-check-label{
  color:var(--text);
  font-size:0.9rem;
}
.auth-form .form-check-label a{
  color:var(--brand);
}
.auth-links{
  text-align:center;
  margin-top:1rem;
}
.auth-links a{
  color:var(--brand);
  font-size:0.9rem;
  text-decoration:none;
  transition:var(--transition);
}
.auth-links a:hover{
  color:var(--brand-light);
}
.auth-divider{
  text-align:center;
  margin:2rem 0;
  position:relative;
}
.auth-divider::before{
  content:'';
  position:absolute;
  left:0;
  right:0;
  top:50%;
  height:1px;
  background:var(--border);
}
.auth-divider span{
  background:var(--bg);
  padding:0 1rem;
  color:var(--muted);
  font-size:0.9rem;
  position:relative;
  z-index:1;
}
.auth-footer{
  text-align:center;
  margin-top:2rem;
  padding-top:2rem;
  border-top:1px solid var(--border);
}
.auth-footer a{
  color:var(--muted);
  font-size:0.9rem;
  text-decoration:none;
  transition:var(--transition);
}
.auth-footer a:hover{
  color:var(--text);
}
@media (max-width:991px){
  .auth-right{
    padding:2rem 1.5rem;
  }
  .auth-form-header h1{
    font-size:1.75rem;
  }
}
@media (max-width:576px){
  .auth-right{
    padding:2rem 1rem;
  }
  .auth-form-container{
    max-width:100%;
  }
}

/* Forgot Password Page Specific Styles */
.reset-icon-large {
  font-size: 3.5rem;
  margin-bottom: 1rem;
  animation: gentle-bounce 2s ease-in-out infinite;
}

@keyframes gentle-bounce {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}

.auth-help-box {
  background: rgba(102, 126, 234, 0.1);
  border: 1px solid rgba(102, 126, 234, 0.3);
  border-radius: var(--radius);
  padding: 1.5rem;
  display: flex;
  gap: 1rem;
  margin-top: 2rem;
}

.help-icon {
  font-size: 2rem;
  flex-shrink: 0;
}

.auth-help-box strong {
  color: var(--text-primary);
  display: block;
  margin-bottom: 0.25rem;
  font-size: 1.05rem;
}

.auth-help-box p {
  color: var(--muted);
  margin: 0;
  font-size: 0.95rem;
}

.auth-help-box a {
  color: var(--brand-light);
  text-decoration: underline;
  transition: var(--transition);
}

.auth-help-box a:hover {
  color: var(--brand);
}

/* Auth Buttons - Modern Design */
.auth-buttons {
  display: flex;
  gap: 0.75rem;
  align-items: center;
}

.btn-auth {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.625rem 1.25rem;
  font-size: 0.9rem;
  font-weight: 600;
  border-radius: var(--radius);
  border: 2px solid transparent;
  text-decoration: none;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden;
  cursor: pointer;
  white-space: nowrap;
}

.btn-auth::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, rgba(255,255,255,0.1) 0%, rgba(255,255,255,0) 100%);
  opacity: 0;
  transition: opacity 0.3s ease;
}

.btn-auth:hover::before {
  opacity: 1;
}

.auth-icon {
  font-size: 1.1rem;
  display: inline-flex;
  align-items: center;
  transition: transform 0.3s ease;
}

.btn-auth:hover .auth-icon {
  transform: scale(1.1) rotate(5deg);
}

.auth-text {
  font-weight: 600;
  letter-spacing: 0.02em;
}

/* Login Button - Ghost Style */
.btn-auth-login {
  background: rgba(255, 255, 255, 0.05);
  color: var(--text-primary);
  border-color: rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(10px);
}

.btn-auth-login:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.3);
  color: var(--text-primary);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.btn-auth-login:active {
  transform: translateY(0);
}

/* Register Button - Gradient Style */
.btn-auth-register {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  border-color: transparent;
  box-shadow: 0 4px 14px rgba(102, 126, 234, 0.3);
}

.btn-auth-register:hover {
  background: linear-gradient(135deg, #7c8ff3 0%, #8b5cb8 100%);
  color: white;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(102, 126, 234, 0.4);
}

.btn-auth-register:active {
  transform: translateY(0);
}

/* Responsive Auth Buttons */
@media (max-width: 576px) {
  .auth-buttons {
    gap: 0.5rem;
  }
  
  .btn-auth {
    padding: 0.5rem 1rem;
    font-size: 0.85rem;
  }
  
  .auth-text {
    display: none;
  }
  
  .auth-icon {
    font-size: 1.2rem;
  }
}

/* About & Contact Page Styles */
.feature-highlight {
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: var(--radius);
  transition: var(--transition);
}

.feature-highlight:hover {
  background: rgba(255,255,255,0.05);
  border-color: rgba(102, 126, 234, 0.3);
  transform: translateY(-2px);
}

.feature-icon-large {
  font-size: 2.5rem;
  line-height: 1;
}

.list-styled {
  padding-left: 0;
}

.list-styled li {
  padding-left: 1.5rem;
  position: relative;
  margin-bottom: 0.75rem;
}

.list-styled li:before {
  content: "→";
  position: absolute;
  left: 0;
  color: var(--brand);
  font-weight: bold;
}

.stat-item {
  text-align: center;
}

.stat-value {
  font-size: 2.5rem;
  font-weight: 800;
  color: var(--brand-light);
  line-height: 1;
}

.stat-label {
  font-size: 0.85rem;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.bg-gradient {
  background: linear-gradient(135deg, rgba(102, 126, 234, 0.1) 0%, rgba(118, 75, 162, 0.1) 100%);
  border-color: rgba(102, 126, 234, 0.2) !important;
}

.cta-box {
  background: linear-gradient(135deg, rgba(102, 126, 234, 0.15) 0%, rgba(118, 75, 162, 0.15) 100%);
  border: 2px solid rgba(102, 126, 234, 0.3);
  border-radius: var(--radius-lg);
}

/* Contact Page Specific Styles */
.contact-card {
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: var(--radius);
  height: 100%;
  transition: var(--transition);
}

.contact-card:hover {
  background: rgba(255,255,255,0.05);
  border-color: rgba(102, 126, 234, 0.3);
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.2);
}

.contact-icon {
  font-size: 2.5rem;
  line-height: 1;
}

.accordion-item {
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.1);
  margin-bottom: 0.75rem;
  border-radius: var(--radius-sm);
  overflow: hidden;
}

.accordion-button {
  background: transparent;
  color: var(--text-primary);
  font-weight: 600;
  padding: 1rem 1.25rem;
  border: none;
}

.accordion-button:not(.collapsed) {
  background: rgba(102, 126, 234, 0.1);
  color: var(--brand-light);
}

.accordion-button:focus {
  box-shadow: none;
  border-color: transparent;
}

.accordion-button::after {
  filter: brightness(0) invert(1);
}

.accordion-body {
  background: rgba(255,255,255,0.02);
  color: var(--text);
  padding: 1.25rem;
  border-top: 1px solid rgba(255,255,255,0.1);
}

.help-section {
  background: rgba(72, 187, 120, 0.1);
  border: 1px solid rgba(72, 187, 120, 0.3);
  border-radius: var(--radius);
}

.help-section a {
  color: var(--accent-light);
  text-decoration: none;
  transition: var(--transition);
}

.help-section a:hover {
  color: var(--accent);
  text-decoration: underline;
}

.faq-item {
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: var(--radius-sm);
}

.faq-item h6 {
  color: var(--text-primary);
  margin-bottom: 0.5rem;
}

/* Print defaults */
@media print{
  *{ 
    -webkit-print-color-adjust:exact !important; 
    print-color-adjust:exact !important; 
    box-sizing: border-box !important;
  }
  
  @page{ 
    size: A4; 
    margin: 10mm; 
  }
  
  html, body{ 
    background:white !important; 
    color:black !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    height: auto !important;
    overflow: visible !important;
  }
  
  /* Hide non-print elements */
  .topnav, .hero, .features, .page-header, .no-print, .print-actions,
  nav, header, footer:not(.inv-print-footer), aside, .sidebar{ 
    display:none !important; 
  }
  
  /* Remove all dark backgrounds and borders */
  *:not(.inv-print-table th):not(.inv-print-notes){
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
  }
  
  /* Invoice container */
  .invoice-print-page{
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: white !important;
    overflow: visible !important;
    height: auto !important;
  }
  
  .invoice-print-container{ 
    padding:0 !important; 
    margin: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    background: white !important;
  }
  
  .invoice-print{ 
    box-shadow:none !important; 
    border:none !important; 
    padding: 15mm !important;
    margin: 0 !important;
    background: white !important;
    page-break-after: avoid !important;
    width: 100% !important;
    height: auto !important;
  }
  
  /* Header */
  .inv-print-header{
    display: flex !important;
    justify-content: space-between !important;
    margin-bottom: 15mm !important;
    padding-bottom: 10mm !important;
    border-bottom: 2px solid #000 !important;
    page-break-inside: avoid !important;
  }
  
  .company-logo img{
    max-width: 150px !important;
    max-height: 60px !important;
  }
  
  .company-title{
    font-size: 18pt !important;
    font-weight: 800 !important;
    color: #000 !important;
    margin-bottom: 3mm !important;
  }
  
  .company-details, .customer-details{
    font-size: 9pt !important;
    line-height: 1.4 !important;
    color: #333 !important;
  }
  
  .inv-print-meta h2{
    font-size: 24pt !important;
    font-weight: 800 !important;
    color: #000 !important;
  }
  
  .meta-item{
    font-size: 10pt !important;
    margin-bottom: 2mm !important;
  }
  
  /* Customer section */
  .inv-print-customer{
    margin-bottom: 10mm !important;
    page-break-inside: avoid !important;
  }
  
  .section-title{
    font-size: 9pt !important;
    font-weight: 700 !important;
    color: #666 !important;
    margin-bottom: 3mm !important;
  }
  
  .customer-name-print{
    font-size: 12pt !important;
    font-weight: 700 !important;
    color: #000 !important;
    margin-bottom: 2mm !important;
  }
  
  /* Table */
  .inv-print-table{
    width: 100% !important;
    border-collapse: collapse !important;
    margin-bottom: 10mm !important;
    font-size: 9pt !important;
    background: white !important;
  }
  
  .inv-print-table thead{
    display: table-header-group !important;
    background: white !important;
  }
  
  .inv-print-table th{
    background: #f5f5f5 !important;
    padding: 4mm !important;
    font-size: 9pt !important;
    font-weight: 700 !important;
    border-bottom: 2px solid #000 !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    color: #000 !important;
  }
  
  .inv-print-table td{
    padding: 3mm 4mm !important;
    border-bottom: 1px solid #ddd !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    color: #000 !important;
    font-size: 9pt !important;
    background: white !important;
  }
  
  .inv-print-table tbody tr{
    page-break-inside: avoid !important;
    background: white !important;
  }
  
  .inv-print-table tbody{
    background: white !important;
  }
  
  /* Totals */
  .inv-print-totals{
    width: 250px !important;
    margin-left: auto !important;
    border-top: 2px solid #000 !important;
    padding-top: 5mm !important;
    page-break-inside: avoid !important;
  }
  
  .totals-row{
    display: flex !important;
    justify-content: space-between !important;
    margin-bottom: 2mm !important;
    font-size: 10pt !important;
    color: #000 !important;
  }
  
  .total-final{
    font-size: 14pt !important;
    font-weight: 800 !important;
    border-top: 2px solid #000 !important;
    padding-top: 3mm !important;
    margin-top: 3mm !important;
    color: #000 !important;
  }
  
  /* Notes */
  .inv-print-notes{
    margin-top: 10mm !important;
    padding: 5mm !important;
    background: #f9f9f9 !important;
    border-radius: 3mm !important;
    page-break-inside: avoid !important;
  }
  
  .notes-content{
    font-size: 9pt !important;
    color: #333 !important;
    white-space: pre-wrap !important;
  }
  
  /* Footer */
  .inv-print-footer{
    margin-top: 15mm !important;
    text-align: center !important;
    color: #999 !important;
    font-size: 9pt !important;
    border-top: 1px solid #ddd !important;
    border-bottom: none !important;
    border-left: none !important;
    border-right: none !important;
    padding-top: 5mm !important;
    page-break-inside: avoid !important;
    background: white !important;
  }
  
  /* Force specific borders only where needed */
  .inv-print-header{
    border-bottom: 2px solid #000 !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    background: white !important;
  }
  
  .inv-print-totals{
    border-top: 2px solid #000 !important;
    border-bottom: none !important;
    border-left: none !important;
    border-right: none !important;
    background: white !important;
  }
  
  .total-final{
    border-top: 2px solid #000 !important;
    border-bottom: none !important;
    border-left: none !important;
    border-right: none !important;
    background: white !important;
  }
  
  /* Ensure no page breaks create blank pages */
  .invoice-print *{
    page-break-after: auto !important;
  }
  
  .invoice-print .inv-print-footer{
    page-break-after: avoid !important;
  }
}

