*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#f4f7fb;color:#101828}.side{position:fixed;left:0;top:0;bottom:0;width:270px;background:#0f172a;color:white;padding:18px;overflow:auto}.brand{font-weight:800;font-size:21px;line-height:1.1;margin-bottom:18px}.brand span{font-size:12px;color:#cbd5e1}.side details{margin-bottom:8px}.side summary{font-weight:800;color:#93c5fd;cursor:pointer;padding:8px}.side a{display:block;color:#e2e8f0;text-decoration:none;padding:9px 10px;border-radius:10px;margin:3px 0}.side a.active,.side a:hover{background:#1d4ed8;color:white}.main{margin-left:270px;padding:22px}.top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.top h1{margin:0;font-size:24px}.top a{margin-left:10px}.panel{background:white;border-radius:16px;padding:18px;margin-bottom:18px;box-shadow:0 8px 24px rgba(15,23,42,.08)}.soft{background:#f8fafc}.grid{display:grid;gap:14px}.two{grid-template-columns:repeat(auto-fit,minmax(360px,1fr))}.cards{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.card{background:white;border-radius:16px;padding:18px;box-shadow:0 8px 24px rgba(15,23,42,.08);text-decoration:none;color:#111827}.card b{display:block;color:#475569;font-size:13px}.card span{display:block;font-size:25px;font-weight:800;margin-top:8px}.warn span{color:#b45309}.formgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}label{display:block;font-weight:700;font-size:12px;color:#475569}input,select,textarea{width:100%;padding:10px;border:1px solid #d0d5dd;border-radius:10px;margin-top:5px;background:#fff}textarea{min-height:90px}button,.btn{display:inline-block;background:#1d4ed8;color:white;border:0;border-radius:10px;padding:10px 14px;text-decoration:none;cursor:pointer;margin:3px}.danger{background:#dc2626}.actions{margin-bottom:12px}table{width:100%;border-collapse:collapse}th,td{border-bottom:1px solid #e5e7eb;padding:9px;text-align:left;vertical-align:top}th{background:#f8fafc;color:#475569}.badge{padding:4px 9px;border-radius:99px;font-size:12px}.b-draft{background:#fef3c7}.b-final{background:#dbeafe}.b-paid{background:#dcfce7}.b-partial{background:#e0e7ff}.b-cancel{background:#fee2e2}.alert{background:#fee2e2;border:1px solid #fecaca;color:#991b1b;padding:10px;border-radius:10px;margin-bottom:10px}.muted{color:#64748b}.ar{font-family:Tahoma,Arial,sans-serif;direction:rtl}.tip{display:inline-flex;justify-content:center;align-items:center;background:#e0e7ff;color:#1d4ed8;border-radius:50%;width:15px;height:15px;font-size:10px}.login-body{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#0f172a,#1d4ed8)}.login-card{width:400px;background:white;border-radius:22px;padding:30px;box-shadow:0 20px 50px rgba(0,0,0,.2)}.login-card h1{margin:0}.login-card button{width:100%;margin-top:18px}details{border:1px solid #e5e7eb;border-radius:12px;padding:10px;margin-bottom:12px}summary{font-weight:800;cursor:pointer}.item-header,.itemrow{display:grid;grid-template-columns:60px minmax(360px,1.8fr) minmax(160px,.6fr) 90px 110px 110px;gap:8px;align-items:start;margin-bottom:8px}.item-header{background:#f8fafc;border-radius:10px;padding:8px;color:#475569}.itemrow{border:1px solid #e5e7eb;border-radius:12px;padding:8px;background:#fff}.itemrow .extra-fields{grid-column:2/7;display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:6px;background:#f8fafc;border-radius:10px;padding:6px}.bars div{display:grid;grid-template-columns:180px 1fr 100px;gap:10px;align-items:center;margin-bottom:8px}.bars span{display:block;height:16px;background:#1d4ed8;border-radius:20px}.bars em{text-align:right;font-style:normal}.invoice-sheet{width:198mm;min-height:286mm;margin:0 auto 20px;background:#fff;padding:6mm;position:relative;color:#111;border-radius:4px;box-shadow:0 5px 22px rgba(0,0,0,.08);font-size:9px}.letterhead{width:100%;object-fit:cover;display:block}.tophead{height:32mm;margin-bottom:4mm}.foothead{height:32mm;margin-top:4mm}.new-head{display:grid;grid-template-columns:6cm 1fr;align-items:center;margin-bottom:4mm}.logo-box{height:2cm;width:5.45cm;display:flex;align-items:center;justify-content:flex-start}.logo-box img{max-width:5.45cm;max-height:2cm}.tax-title{text-align:right}.tax-title h1{font-size:12px;margin:2px 0}.meta-line{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;border:1px solid #222;margin-bottom:5px;padding:5px}.party-wide{border:1px solid #222;margin-bottom:5px;padding:5px}.party-wide h3{font-size:10px;margin:0 0 5px;background:#f3f4f6;padding:4px}.party-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:2px 0}.invoice-items th,.invoice-items td{border:1px solid #222;padding:4px;font-size:8.5px}.invoice-items th{background:#f3f4f6;text-align:center}.invoice-items td:nth-child(1),.invoice-items td:nth-child(4),.invoice-items td:nth-child(5),.invoice-items td:nth-child(6){text-align:center}.bottom-grid{display:grid;grid-template-columns:36mm 1fr;gap:10px;align-items:start;margin-top:6px}.qrbox{text-align:center}.qrbox img{width:32mm;height:32mm}.totals td{border:1px solid #222;padding:4px;font-size:8.5px}.totals td:last-child{text-align:right}.totals .grand td{font-weight:800;background:#f3f4f6}.words{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:8px 0;font-size:9px}.words .ar{text-align:right}.signs{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-top:8px}.signs div{border-top:1px solid #222;padding-top:6px;text-align:center}.built-footer{border-top:1px solid #ddd;text-align:center;color:#64748b;font-size:8px;padding-top:5px;margin-top:8px}.layout-scaffolding .new-head{border-left:10px solid #047857;background:#ecfdf5;padding:6px}.layout-construction .new-head{border-left:10px solid #4f46e5;background:#eef2ff;padding:6px}.layout-rental .new-head{border-left:10px solid #ea580c;background:#fff7ed;padding:6px}
@page{size:A4;margin:0}@media print{body{background:white}.side,.top,.no-print,.actions{display:none!important}.main{margin:0;padding:0}.panel{box-shadow:none;border-radius:0}.invoice-sheet{box-shadow:none;border-radius:0;margin:0 auto;width:196mm;min-height:284mm;padding:5mm;page-break-after:auto;break-after:auto}.invoice-items th,.invoice-items td{font-size:8px;padding:3px}.tophead,.foothead{height:30mm}.new-head{margin-top:0}.print-sheet{box-shadow:none}button,.btn{display:none!important}}

/* v3.1 compact UI + dashboard spacing + sidebar behavior */
@media screen{
  body{font-size:13px;line-height:1.35;background:#f3f6fb;}
  .side{width:248px;padding:14px 12px;}
  .brand{font-size:18px;margin-bottom:12px;}
  .brand span{font-size:11px;}
  .side details{padding:4px;margin-bottom:6px;border-color:rgba(255,255,255,.09);background:rgba(255,255,255,.02);}
  .side summary{font-size:12px;padding:7px 8px;letter-spacing:.2px;}
  .side details[open] summary{color:#fff;background:rgba(29,78,216,.38);border-radius:9px;margin-bottom:5px;}
  .side a{font-size:12px;padding:7px 9px;border-radius:8px;margin:2px 0;}
  .side a.active{background:#2563eb;box-shadow:inset 3px 0 0 #f97316;}
  .main{margin-left:248px;padding:14px 16px;}
  .top{margin-bottom:12px;}
  .top h1{font-size:20px;}
  .panel{border-radius:13px;padding:13px;margin-bottom:13px;box-shadow:0 6px 18px rgba(15,23,42,.065);}
  .grid{gap:10px;}
  .two{grid-template-columns:repeat(auto-fit,minmax(330px,1fr));}
  .cards{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));}
  .card{border-radius:13px;padding:13px;box-shadow:0 6px 18px rgba(15,23,42,.065);}
  .card b{font-size:11px;}
  .card span{font-size:20px;margin-top:5px;}
  .dashboard-kpis{margin-bottom:20mm;}
  .dashboard-section{margin-top:0;}
  h2{font-size:17px;margin:0 0 10px;}
  h3{font-size:14px;}
  .formgrid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:9px;}
  label{font-size:11px;}
  input,select,textarea{padding:8px;border-radius:8px;margin-top:4px;font-size:13px;}
  textarea{min-height:72px;}
  button,.btn{border-radius:8px;padding:8px 11px;font-size:13px;}
  th,td{padding:6px;font-size:12px;}
  .badge{font-size:11px;padding:3px 7px;}
  .item-header,.itemrow{grid-template-columns:48px minmax(310px,1.8fr) minmax(130px,.6fr) 78px 96px 96px;gap:6px;}
  .item-header,.itemrow{margin-bottom:6px;padding:7px;}
}


/* v3.1a dashboard overlap fix */
@media screen{
  .dashboard-kpis{
    display:grid !important;
    position:relative !important;
    z-index:1 !important;
    margin-bottom:2cm !important;
    padding-bottom:0 !important;
    clear:both !important;
  }
  .dashboard-kpis::after{
    content:"";
    display:block;
    grid-column:1 / -1;
    height:0;
    clear:both;
  }
  .dashboard-kpis + .panel,
  .dashboard-kpis + .dashboard-section,
  .dashboard-kpis ~ .panel:first-of-type{
    margin-top:0 !important;
    clear:both !important;
  }
}


/* v3.3 left sidebar default-collapsed accordion fix */
@media screen{
  .side details[data-menu-group]:not([open]) > a{
    display:none !important;
  }
  .side details[data-menu-group] summary{
    list-style:none;
    position:relative;
    user-select:none;
  }
  .side details[data-menu-group] summary::-webkit-details-marker{
    display:none;
  }
  .side details[data-menu-group] summary::after{
    content:"▸";
    position:absolute;
    right:10px;
    top:50%;
    transform:translateY(-50%);
    opacity:.85;
    font-size:11px;
  }
  .side details[data-menu-group][open] summary::after{
    content:"▾";
  }
  .side details[data-menu-group][open]{
    background:rgba(255,255,255,.045);
  }
}
.pos{font-weight:700;color:#166534}.neg{font-weight:700;color:#b91c1c}
.danger-text{color:#b42318;font-weight:700}
.soft-danger td{background:#fff7f7}.soft-ok td{background:#f7fff9}.tip{display:block;font-size:11px;color:#6b7280;margin:2px 0 4px}

/* v3.5g client form field alignment fix
   Keep tooltip question marks inline with labels so inputs in the same row stay aligned. */
@media screen{
  .formgrid label{
    display:flex !important;
    flex-direction:column;
    justify-content:flex-start;
    min-height:0;
  }
  .formgrid label .tip{
    display:inline-flex !important;
    width:15px !important;
    height:15px !important;
    margin:0 0 0 4px !important;
    vertical-align:middle !important;
    transform:translateY(-1px);
  }
  .formgrid label{
    line-height:1.2;
  }
  .formgrid label > input,
  .formgrid label > select,
  .formgrid label > textarea{
    margin-top:6px !important;
  }
  /* Prevent tooltip-only fields from dropping lower than fields without tooltips. */
  .formgrid .tip + input,
  .formgrid .tip + select,
  .formgrid .tip + textarea{
    margin-top:6px !important;
  }
}

/* v3.5h FINAL tooltip alignment fix
   Question-mark tooltip icons must stay on the same baseline as the field title:
   Payment Terms Days (?) / Credit Limit (?) / Opening Balance (?)
   Inputs must always start on the next aligned line. */
@media screen{
  .formgrid label{
    display:block !important;
    line-height:1.25 !important;
    min-height:auto !important;
  }
  .formgrid label .tip,
  label .tip{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:15px !important;
    height:15px !important;
    margin-left:4px !important;
    margin-bottom:0 !important;
    vertical-align:middle !important;
    position:relative !important;
    top:-1px !important;
  }
  .formgrid label input,
  .formgrid label select,
  .formgrid label textarea{
    display:block !important;
    margin-top:6px !important;
  }
}
.inline-check{display:flex;align-items:center;gap:8px;margin-top:22px}.danger-link{color:#b91c1c;font-weight:700}.badge-ok,.badge-off{display:inline-block;padding:3px 8px;border-radius:999px;font-size:12px;font-weight:700}.badge-ok{background:#dcfce7;color:#166534}.badge-off{background:#fee2e2;color:#991b1b}

/* v3.5r Invoice Types / Invoice Layouts alignment fix
   Keeps text boxes, tooltip (?) icons, check marks and active/deactivate controls aligned. */
@media screen{
  .formgrid{
    align-items:start !important;
  }
  .formgrid label:not(.inline-check){
    display:block !important;
    min-height:68px !important;
    line-height:1.25 !important;
    font-weight:700 !important;
    font-size:12px !important;
    color:#475569 !important;
  }
  .formgrid label:not(.inline-check) .tip,
  label .tip{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:15px !important;
    height:15px !important;
    margin:0 0 0 5px !important;
    position:relative !important;
    top:-1px !important;
    vertical-align:middle !important;
  }
  .formgrid label:not(.inline-check) input,
  .formgrid label:not(.inline-check) select,
  .formgrid label:not(.inline-check) textarea{
    display:block !important;
    margin-top:7px !important;
  }
  .inline-check{
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:9px !important;
    min-height:68px !important;
    margin:0 !important;
    padding:12px 14px !important;
    border:1px solid #d0d5dd !important;
    border-radius:10px !important;
    background:#f8fafc !important;
    color:#475569 !important;
    font-size:12px !important;
    font-weight:700 !important;
    line-height:1.25 !important;
  }
  .inline-check input[type="checkbox"]{
    width:18px !important;
    height:18px !important;
    min-width:18px !important;
    margin:0 !important;
    padding:0 !important;
    flex:0 0 18px !important;
    accent-color:#1d4ed8;
  }
  .inline-check span{
    display:inline-block !important;
    line-height:1.25 !important;
  }
  .badge-ok,.badge-off{
    white-space:nowrap !important;
    vertical-align:middle !important;
  }
  td .badge-ok, td .badge-off{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
  }
}

/* v3.5s Checkbox / activation field alignment final fix
   Keeps checkbox and label text on one horizontal line and matches nearby textbox height. */
@media screen{
  .formgrid label.inline-check,
  label.inline-check{
    display:grid !important;
    grid-template-columns:22px 1fr !important;
    column-gap:10px !important;
    align-items:center !important;
    align-content:center !important;
    min-height:68px !important;
    height:68px !important;
    box-sizing:border-box !important;
    margin:0 !important;
    padding:0 14px !important;
    border:1px solid #d0d5dd !important;
    border-radius:10px !important;
    background:#f8fafc !important;
    color:#475569 !important;
    font-size:12px !important;
    font-weight:700 !important;
    line-height:1.2 !important;
    white-space:normal !important;
  }
  .formgrid label.inline-check input[type="checkbox"],
  label.inline-check input[type="checkbox"]{
    display:block !important;
    width:18px !important;
    height:18px !important;
    min-width:18px !important;
    margin:0 !important;
    padding:0 !important;
    align-self:center !important;
    justify-self:center !important;
    flex:none !important;
    accent-color:#1d4ed8 !important;
  }
  .formgrid label.inline-check input[type="checkbox"] + *,
  label.inline-check input[type="checkbox"] + *{
    align-self:center !important;
  }
}

/* v3.5t Checkbox frame height adjustment
   Keeps checkbox text inline while reducing the field frame height to match normal inputs. */
@media screen{
  .formgrid label.inline-check,
  label.inline-check{
    min-height:54px !important;
    height:54px !important;
    padding:0 12px !important;
    border-radius:9px !important;
  }
  .formgrid label.inline-check input[type="checkbox"],
  label.inline-check input[type="checkbox"]{
    width:17px !important;
    height:17px !important;
    min-width:17px !important;
  }
}

/* v3.5u Global checkbox compact alignment fix
   Applies the improved checkbox frame size safely across the system. */
@media screen{
  .formgrid label.inline-check,
  label.inline-check,
  .inline-check,
  .checkbox-card,
  .check-card,
  .toggle-card,
  .activation-check{
    display:grid !important;
    grid-template-columns:20px 1fr !important;
    column-gap:8px !important;
    align-items:center !important;
    align-content:center !important;
    min-height:46px !important;
    height:46px !important;
    box-sizing:border-box !important;
    padding:0 11px !important;
    margin:0 !important;
    border:1px solid #d0d5dd !important;
    border-radius:8px !important;
    background:#f8fafc !important;
    color:#475569 !important;
    font-size:12px !important;
    font-weight:700 !important;
    line-height:1.1 !important;
    white-space:normal !important;
  }

  .formgrid label.inline-check input[type="checkbox"],
  label.inline-check input[type="checkbox"],
  .inline-check input[type="checkbox"],
  .checkbox-card input[type="checkbox"],
  .check-card input[type="checkbox"],
  .toggle-card input[type="checkbox"],
  .activation-check input[type="checkbox"]{
    display:block !important;
    width:16px !important;
    height:16px !important;
    min-width:16px !important;
    margin:0 !important;
    padding:0 !important;
    align-self:center !important;
    justify-self:center !important;
    flex:none !important;
    accent-color:#1d4ed8 !important;
  }

  .formgrid label.inline-check input[type="checkbox"] + *,
  label.inline-check input[type="checkbox"] + *,
  .inline-check input[type="checkbox"] + *,
  .checkbox-card input[type="checkbox"] + *,
  .check-card input[type="checkbox"] + *,
  .toggle-card input[type="checkbox"] + *,
  .activation-check input[type="checkbox"] + *{
    align-self:center !important;
    line-height:1.1 !important;
  }

  /* Plain checkbox labels outside framed cards: keep them inline but do not add frame. */
  label:not(.inline-check):has(input[type="checkbox"]):not(.checkbox-card):not(.check-card):not(.toggle-card):not(.activation-check){
    display:inline-flex !important;
    align-items:center !important;
    gap:7px !important;
  }
}

/* v3.5v Checkbox bottom alignment fix
   Aligns framed checkbox controls with the bottom edge of neighboring text/select inputs
   in form grids, while preserving the compact inline checkbox/text layout globally. */
@media screen{
  .formgrid label.inline-check,
  .formgrid .inline-check,
  .formgrid .checkbox-card,
  .formgrid .check-card,
  .formgrid .toggle-card,
  .formgrid .activation-check{
    align-self:end !important;
    min-height:42px !important;
    height:42px !important;
    padding:0 10px !important;
  }

  .formgrid label.inline-check input[type="checkbox"],
  .formgrid .inline-check input[type="checkbox"],
  .formgrid .checkbox-card input[type="checkbox"],
  .formgrid .check-card input[type="checkbox"],
  .formgrid .toggle-card input[type="checkbox"],
  .formgrid .activation-check input[type="checkbox"]{
    width:15px !important;
    height:15px !important;
    min-width:15px !important;
  }
}

/* v3.6 UI Form Standardization
   Standardizes labels, tooltips, field heights, spacing, and converts checkbox cards
   to a cleaner ERP-style toggle switch layout across forms. Screen-only; print layouts remain unaffected. */
@media screen{
  :root{
    --amasco-field-h: 42px;
    --amasco-field-radius: 9px;
    --amasco-field-border: #d0d5dd;
    --amasco-field-bg: #ffffff;
    --amasco-field-label: #334155;
    --amasco-field-muted: #64748b;
    --amasco-primary: #1d4ed8;
    --amasco-primary-dark: #1e40af;
  }

  /* consistent form grid spacing */
  .formgrid,
  .form-grid,
  .grid-form{
    gap:14px 16px !important;
    align-items:end !important;
  }

  /* standard field title */
  .formgrid > label,
  .form-grid > label,
  .grid-form > label,
  .form-group > label,
  .field > label{
    color:var(--amasco-field-label) !important;
    font-size:12px !important;
    font-weight:700 !important;
    line-height:1.2 !important;
  }

  /* standard input/select/textarea appearance */
  input[type="text"],
  input[type="number"],
  input[type="email"],
  input[type="password"],
  input[type="date"],
  input[type="month"],
  input[type="tel"],
  input[type="url"],
  select{
    min-height:var(--amasco-field-h) !important;
    height:var(--amasco-field-h) !important;
    border-radius:var(--amasco-field-radius) !important;
    border:1px solid var(--amasco-field-border) !important;
    background:var(--amasco-field-bg) !important;
    padding:8px 10px !important;
    font-size:12.5px !important;
    box-sizing:border-box !important;
  }

  textarea{
    min-height:74px !important;
    border-radius:var(--amasco-field-radius) !important;
    border:1px solid var(--amasco-field-border) !important;
    padding:9px 10px !important;
    font-size:12.5px !important;
    box-sizing:border-box !important;
  }

  input:focus,
  select:focus,
  textarea:focus{
    outline:none !important;
    border-color:#60a5fa !important;
    box-shadow:0 0 0 3px rgba(37,99,235,.12) !important;
  }

  /* tooltip/question mark: inline with title, never below it */
  .help,
  .tooltip,
  .tip,
  .qmark,
  .hint-icon,
  .tooltip-icon{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    vertical-align:middle !important;
    width:16px !important;
    height:16px !important;
    min-width:16px !important;
    margin-left:4px !important;
    margin-bottom:1px !important;
    border-radius:50% !important;
    font-size:10px !important;
    font-weight:800 !important;
    line-height:1 !important;
  }

  /* ERP toggle card for checkbox fields */
  .formgrid label.inline-check,
  .formgrid .inline-check,
  .formgrid .checkbox-card,
  .formgrid .check-card,
  .formgrid .toggle-card,
  .formgrid .activation-check,
  label.inline-check,
  .inline-check.checkbox-card,
  .check-card,
  .toggle-card,
  .activation-check{
    display:grid !important;
    grid-template-columns:1fr 44px !important;
    gap:10px !important;
    align-items:center !important;
    align-self:end !important;
    height:var(--amasco-field-h) !important;
    min-height:var(--amasco-field-h) !important;
    padding:0 10px 0 11px !important;
    border:1px solid var(--amasco-field-border) !important;
    border-radius:var(--amasco-field-radius) !important;
    background:#f8fafc !important;
    color:var(--amasco-field-label) !important;
    font-size:12px !important;
    font-weight:700 !important;
    line-height:1.15 !important;
    box-sizing:border-box !important;
    margin:0 !important;
  }

  .formgrid label.inline-check input[type="checkbox"],
  .formgrid .inline-check input[type="checkbox"],
  .formgrid .checkbox-card input[type="checkbox"],
  .formgrid .check-card input[type="checkbox"],
  .formgrid .toggle-card input[type="checkbox"],
  .formgrid .activation-check input[type="checkbox"],
  label.inline-check input[type="checkbox"],
  .inline-check input[type="checkbox"],
  .checkbox-card input[type="checkbox"],
  .check-card input[type="checkbox"],
  .toggle-card input[type="checkbox"],
  .activation-check input[type="checkbox"]{
    appearance:none !important;
    -webkit-appearance:none !important;
    justify-self:end !important;
    align-self:center !important;
    width:42px !important;
    min-width:42px !important;
    height:22px !important;
    min-height:22px !important;
    margin:0 !important;
    border:1px solid #cbd5e1 !important;
    border-radius:999px !important;
    background:#cbd5e1 !important;
    cursor:pointer !important;
    position:relative !important;
    transition:background .18s ease, border-color .18s ease !important;
  }

  .formgrid label.inline-check input[type="checkbox"]::before,
  .formgrid .inline-check input[type="checkbox"]::before,
  .formgrid .checkbox-card input[type="checkbox"]::before,
  .formgrid .check-card input[type="checkbox"]::before,
  .formgrid .toggle-card input[type="checkbox"]::before,
  .formgrid .activation-check input[type="checkbox"]::before,
  label.inline-check input[type="checkbox"]::before,
  .inline-check input[type="checkbox"]::before,
  .checkbox-card input[type="checkbox"]::before,
  .check-card input[type="checkbox"]::before,
  .toggle-card input[type="checkbox"]::before,
  .activation-check input[type="checkbox"]::before{
    content:"" !important;
    position:absolute !important;
    top:2px !important;
    left:2px !important;
    width:16px !important;
    height:16px !important;
    border-radius:50% !important;
    background:#fff !important;
    box-shadow:0 1px 2px rgba(15,23,42,.25) !important;
    transition:transform .18s ease !important;
  }

  .formgrid label.inline-check input[type="checkbox"]:checked,
  .formgrid .inline-check input[type="checkbox"]:checked,
  .formgrid .checkbox-card input[type="checkbox"]:checked,
  .formgrid .check-card input[type="checkbox"]:checked,
  .formgrid .toggle-card input[type="checkbox"]:checked,
  .formgrid .activation-check input[type="checkbox"]:checked,
  label.inline-check input[type="checkbox"]:checked,
  .inline-check input[type="checkbox"]:checked,
  .checkbox-card input[type="checkbox"]:checked,
  .check-card input[type="checkbox"]:checked,
  .toggle-card input[type="checkbox"]:checked,
  .activation-check input[type="checkbox"]:checked{
    background:var(--amasco-primary) !important;
    border-color:var(--amasco-primary-dark) !important;
  }

  .formgrid label.inline-check input[type="checkbox"]:checked::before,
  .formgrid .inline-check input[type="checkbox"]:checked::before,
  .formgrid .checkbox-card input[type="checkbox"]:checked::before,
  .formgrid .check-card input[type="checkbox"]:checked::before,
  .formgrid .toggle-card input[type="checkbox"]:checked::before,
  .formgrid .activation-check input[type="checkbox"]:checked::before,
  label.inline-check input[type="checkbox"]:checked::before,
  .inline-check input[type="checkbox"]:checked::before,
  .checkbox-card input[type="checkbox"]:checked::before,
  .check-card input[type="checkbox"]:checked::before,
  .toggle-card input[type="checkbox"]:checked::before,
  .activation-check input[type="checkbox"]:checked::before{
    transform:translateX(20px) !important;
  }

  /* keep simple checkbox labels outside form cards normal and compact */
  label:not(.inline-check):has(input[type="checkbox"]):not(.checkbox-card):not(.check-card):not(.toggle-card):not(.activation-check){
    display:inline-flex !important;
    align-items:center !important;
    gap:7px !important;
    line-height:1.2 !important;
  }
}


/* ==========================================================
   AMASCO Invoicing Pro v3.6a
   Toggle label-first alignment standard
   - Text label appears first/left
   - Toggle switch appears aligned right
   - Applies safely to active/deactivate, VAT, ZATCA and other form checkboxes
   ========================================================== */
@media screen {
  .formgrid label.inline-check,
  .formgrid .inline-check,
  .formgrid .checkbox-card,
  .formgrid .check-card,
  .formgrid .toggle-card,
  .formgrid .activation-check,
  .formgrid label:has(input[type="checkbox"]),
  form .formgrid label:has(input[type="checkbox"]),
  .panel .formgrid label:has(input[type="checkbox"]){
    display:flex !important;
    flex-direction:row-reverse !important; /* DOM is usually input then text; row-reverse shows text first, toggle right */
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px !important;
    align-self:end !important;
    height:var(--amasco-field-h) !important;
    min-height:var(--amasco-field-h) !important;
    padding:0 10px 0 11px !important;
    border:1px solid var(--amasco-field-border) !important;
    border-radius:var(--amasco-field-radius) !important;
    background:#f8fafc !important;
    color:var(--amasco-field-label) !important;
    font-size:12px !important;
    font-weight:700 !important;
    line-height:1.15 !important;
    box-sizing:border-box !important;
    margin:0 !important;
    white-space:normal !important;
  }

  .formgrid label.inline-check input[type="checkbox"],
  .formgrid .inline-check input[type="checkbox"],
  .formgrid .checkbox-card input[type="checkbox"],
  .formgrid .check-card input[type="checkbox"],
  .formgrid .toggle-card input[type="checkbox"],
  .formgrid .activation-check input[type="checkbox"],
  .formgrid label:has(input[type="checkbox"]) input[type="checkbox"],
  form .formgrid label:has(input[type="checkbox"]) input[type="checkbox"],
  .panel .formgrid label:has(input[type="checkbox"]) input[type="checkbox"]{
    appearance:none !important;
    -webkit-appearance:none !important;
    flex:0 0 40px !important;
    width:40px !important;
    min-width:40px !important;
    height:20px !important;
    min-height:20px !important;
    margin:0 !important;
    border:1px solid #cbd5e1 !important;
    border-radius:999px !important;
    background:#cbd5e1 !important;
    cursor:pointer !important;
    position:relative !important;
    transition:background .18s ease, border-color .18s ease !important;
  }

  .formgrid label.inline-check input[type="checkbox"]::before,
  .formgrid .inline-check input[type="checkbox"]::before,
  .formgrid .checkbox-card input[type="checkbox"]::before,
  .formgrid .check-card input[type="checkbox"]::before,
  .formgrid .toggle-card input[type="checkbox"]::before,
  .formgrid .activation-check input[type="checkbox"]::before,
  .formgrid label:has(input[type="checkbox"]) input[type="checkbox"]::before,
  form .formgrid label:has(input[type="checkbox"]) input[type="checkbox"]::before,
  .panel .formgrid label:has(input[type="checkbox"]) input[type="checkbox"]::before{
    content:"" !important;
    position:absolute !important;
    top:2px !important;
    left:2px !important;
    width:14px !important;
    height:14px !important;
    border-radius:50% !important;
    background:#fff !important;
    box-shadow:0 1px 2px rgba(15,23,42,.25) !important;
    transition:transform .18s ease !important;
  }

  .formgrid label.inline-check input[type="checkbox"]:checked,
  .formgrid .inline-check input[type="checkbox"]:checked,
  .formgrid .checkbox-card input[type="checkbox"]:checked,
  .formgrid .check-card input[type="checkbox"]:checked,
  .formgrid .toggle-card input[type="checkbox"]:checked,
  .formgrid .activation-check input[type="checkbox"]:checked,
  .formgrid label:has(input[type="checkbox"]) input[type="checkbox"]:checked,
  form .formgrid label:has(input[type="checkbox"]) input[type="checkbox"]:checked,
  .panel .formgrid label:has(input[type="checkbox"]) input[type="checkbox"]:checked{
    background:var(--amasco-primary) !important;
    border-color:var(--amasco-primary-dark) !important;
  }

  .formgrid label.inline-check input[type="checkbox"]:checked::before,
  .formgrid .inline-check input[type="checkbox"]:checked::before,
  .formgrid .checkbox-card input[type="checkbox"]:checked::before,
  .formgrid .check-card input[type="checkbox"]:checked::before,
  .formgrid .toggle-card input[type="checkbox"]:checked::before,
  .formgrid .activation-check input[type="checkbox"]:checked::before,
  .formgrid label:has(input[type="checkbox"]) input[type="checkbox"]:checked::before,
  form .formgrid label:has(input[type="checkbox"]) input[type="checkbox"]:checked::before,
  .panel .formgrid label:has(input[type="checkbox"]) input[type="checkbox"]:checked::before{
    transform:translateX(20px) !important;
  }
}

/* v3.6b Invoice item row delete + master refresh UI */
@media screen{
  .item-header,.itemrow{
    grid-template-columns:48px minmax(310px,1.8fr) minmax(130px,.6fr) 78px 96px 96px 82px !important;
    align-items:start;
  }
  .itemrow .extra-fields{grid-column:2/8 !important;}
  .row-remove{
    background:#fee2e2 !important;
    color:#991b1b !important;
    border:1px solid #fecaca !important;
    min-height:34px;
    height:34px;
    align-items:center;
    justify-content:center;
    padding:6px 10px !important;
    margin-top:5px !important;
    border-radius:9px !important;
    font-size:12px !important;
    width:100%;
  }
  .row-remove:hover{background:#fecaca !important;}
}
@media print{
  .item-header,.itemrow{grid-template-columns:48px minmax(310px,1.8fr) minmax(130px,.6fr) 78px 96px 96px !important;}
  .item-header b:last-child,.row-remove{display:none!important;}
  .itemrow .extra-fields{grid-column:2/7 !important;}
}

/* v3.6c4 Invoice note textarea and Calculate in VAT tooltip final fix */
@media screen{
  textarea.compact-note,
  label textarea.compact-note,
  textarea[name="deduction_notes"],
  textarea[name="retention_notes"],
  textarea[name="notes"]{
    min-height:42px !important;
    height:42px !important;
    max-height:60px !important;
    resize:vertical !important;
    padding-top:8px !important;
    padding-bottom:8px !important;
    line-height:1.25 !important;
  }
  .toggle-field .tip{
    width:15px !important;
    height:15px !important;
    border-radius:50% !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-size:10px !important;
    font-weight:800 !important;
    margin-left:6px !important;
  }
}

/* v3.6d dashboard deduction/retention summary */
.dashboard-kpis-wide{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));}
.dashboard-kpis-wide .card span{font-size:1.25rem;}

/* v3.6e Client SOA Pro Update */
.soa-filter{display:grid;grid-template-columns:1.4fr .8fr .8fr 1fr .8fr auto;gap:10px;align-items:end}
.soa-pro .report-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;border-bottom:1px solid #d9e1ec;padding-bottom:10px;margin-bottom:12px}
.soa-summary-pro{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:10px}
.soa-summary-pro .card span small{display:block;font-size:10px;color:#64748b;margin-top:2px}
.soa-note{margin:8px 0 12px 0;font-size:12px;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:10px;padding:8px 10px}
.soa-table{font-size:12px}
.soa-table th,.soa-table td{padding:7px 6px;vertical-align:top}
.soa-table small{display:block;color:#64748b;font-size:10.5px;line-height:1.25;margin-top:2px}
.soa-table th:nth-child(5),.soa-table th:nth-child(6),.soa-table th:nth-child(7),.soa-table th:nth-child(8),.soa-table th:nth-child(9),
.soa-table td:nth-child(5),.soa-table td:nth-child(6),.soa-table td:nth-child(7),.soa-table td:nth-child(8),.soa-table td:nth-child(9){text-align:right;white-space:nowrap}
@media(max-width:1100px){.soa-filter{grid-template-columns:1fr 1fr}.soa-summary-pro{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media print{.soa-filter{display:none!important}.soa-pro{box-shadow:none!important;border:none!important}.soa-summary-pro{grid-template-columns:repeat(4,1fr)!important}.soa-table{font-size:10px}.soa-table th,.soa-table td{padding:4px 3px}.soa-table a{color:#111;text-decoration:none}.soa-note{font-size:10px;padding:5px 6px}}

/* v3.6f Client SOA A4 Print Optimization
   Compact print-only rules to keep SOA summary cards, headings and table readable on one A4 page where possible. */
@media print{
  @page{size:A4;margin:6mm!important}
  body{background:#fff!important;font-size:9px!important;line-height:1.2!important}
  .main{margin:0!important;padding:0!important;width:100%!important}
  .print-sheet.soa-sheet,
  .soa-sheet.soa-pro{
    width:198mm!important;
    max-width:198mm!important;
    min-height:auto!important;
    margin:0 auto!important;
    padding:4mm 4mm!important;
    box-sizing:border-box!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    overflow:visible!important;
    page-break-after:auto!important;
    break-after:auto!important;
  }
  .soa-pro .report-head{
    display:flex!important;
    justify-content:space-between!important;
    gap:5mm!important;
    align-items:flex-start!important;
    padding-bottom:2.5mm!important;
    margin-bottom:2.5mm!important;
    border-bottom:.4pt solid #cbd5e1!important;
  }
  .soa-pro .report-head h2{
    font-size:13px!important;
    line-height:1.1!important;
    margin:0!important;
    padding:0!important;
    letter-spacing:.2px!important;
  }
  .soa-pro .report-head div{
    font-size:8px!important;
    line-height:1.22!important;
    text-align:right!important;
  }
  .soa-summary-pro{
    display:grid!important;
    grid-template-columns:repeat(4,1fr)!important;
    gap:2mm!important;
    margin:0 0 2.5mm 0!important;
  }
  .soa-summary-pro .card{
    min-height:12mm!important;
    padding:2mm 2.2mm!important;
    border-radius:1.5mm!important;
    box-shadow:none!important;
    border:.4pt solid #d7dee8!important;
  }
  .soa-summary-pro .card b{
    display:block!important;
    font-size:7.2px!important;
    line-height:1.1!important;
    margin:0 0 .8mm 0!important;
    white-space:normal!important;
  }
  .soa-summary-pro .card span{
    display:block!important;
    font-size:9.2px!important;
    line-height:1.05!important;
    margin:0!important;
    font-weight:700!important;
  }
  .soa-summary-pro .card span small{
    display:block!important;
    font-size:6.4px!important;
    line-height:1!important;
    margin-top:.5mm!important;
  }
  .soa-note{
    font-size:7px!important;
    line-height:1.15!important;
    padding:1.5mm 2mm!important;
    margin:1.5mm 0 2mm 0!important;
    border-radius:1.5mm!important;
  }
  .soa-table{
    width:100%!important;
    table-layout:fixed!important;
    border-collapse:collapse!important;
    font-size:7.2px!important;
    line-height:1.1!important;
  }
  .soa-table th,
  .soa-table td{
    padding:1.2mm .8mm!important;
    line-height:1.1!important;
    vertical-align:top!important;
    word-break:normal!important;
    overflow-wrap:anywhere!important;
  }
  .soa-table th{font-size:6.8px!important;font-weight:700!important}
  .soa-table small{font-size:6.2px!important;line-height:1.05!important;margin-top:.5mm!important}
  .soa-table th:nth-child(1),.soa-table td:nth-child(1){width:16mm!important}
  .soa-table th:nth-child(2),.soa-table td:nth-child(2){width:13mm!important}
  .soa-table th:nth-child(3),.soa-table td:nth-child(3){width:22mm!important}
  .soa-table th:nth-child(4),.soa-table td:nth-child(4){width:46mm!important}
  .soa-table th:nth-child(5),.soa-table td:nth-child(5),
  .soa-table th:nth-child(6),.soa-table td:nth-child(6),
  .soa-table th:nth-child(7),.soa-table td:nth-child(7),
  .soa-table th:nth-child(8),.soa-table td:nth-child(8),
  .soa-table th:nth-child(9),.soa-table td:nth-child(9){width:19mm!important;text-align:right!important;white-space:normal!important}
}

/* Screen view: keep SOA comfortable but less bulky than before. */
.soa-pro .report-head h2{font-size:20px}
.soa-summary-pro .card{padding:12px 14px;min-height:70px}
.soa-summary-pro .card b{font-size:12px}
.soa-summary-pro .card span{font-size:18px}
.retention-only{display:none}.receipt-form .retention-only small{display:block;margin-top:3px;color:#64748b;font-size:11px}.receipt-form select[name="receipt_type"]{font-weight:600}

/* ==========================================================
   AMASCO Invoicing Pro v3.6i2
   Client SOA toggle and closing-balance alignment refinement
   ========================================================== */
@media screen {
  .soa-filter .soa-breakdown-toggle{
    display:flex !important;
    flex-direction:row-reverse !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px !important;
    height:var(--amasco-field-h, 38px) !important;
    min-height:var(--amasco-field-h, 38px) !important;
    padding:0 10px 0 11px !important;
    border:1px solid var(--amasco-field-border, #cbd5e1) !important;
    border-radius:var(--amasco-field-radius, 10px) !important;
    background:#f8fafc !important;
    color:var(--amasco-field-label, #334155) !important;
    font-size:12px !important;
    font-weight:700 !important;
    line-height:1.15 !important;
    box-sizing:border-box !important;
    margin:0 !important;
  }
  .soa-filter .soa-breakdown-toggle input[type="checkbox"]{
    appearance:none !important;
    -webkit-appearance:none !important;
    flex:0 0 40px !important;
    width:40px !important;
    min-width:40px !important;
    height:20px !important;
    min-height:20px !important;
    margin:0 !important;
    border:1px solid #cbd5e1 !important;
    border-radius:999px !important;
    background:#cbd5e1 !important;
    cursor:pointer !important;
    position:relative !important;
    transition:background .18s ease, border-color .18s ease !important;
  }
  .soa-filter .soa-breakdown-toggle input[type="checkbox"]::before{
    content:"" !important;
    position:absolute !important;
    top:2px !important;
    left:2px !important;
    width:14px !important;
    height:14px !important;
    border-radius:50% !important;
    background:#fff !important;
    box-shadow:0 1px 2px rgba(15,23,42,.25) !important;
    transition:transform .18s ease !important;
  }
  .soa-filter .soa-breakdown-toggle input[type="checkbox"]:checked{
    background:var(--amasco-primary, #0f4c81) !important;
    border-color:var(--amasco-primary-dark, #0b3860) !important;
  }
  .soa-filter .soa-breakdown-toggle input[type="checkbox"]:checked::before{
    transform:translateX(20px) !important;
  }
}

.soa-clean-table th:nth-child(n+5),
.soa-clean-table td:nth-child(n+5),
.soa-clean-table td.num,
.soa-clean-table th.num{
  text-align:right !important;
  white-space:nowrap !important;
  font-variant-numeric:tabular-nums !important;
}
.soa-clean-table .soa-total-label{
  text-align:right !important;
  font-weight:800 !important;
  background:#f1f5f9 !important;
}
.soa-clean-table .soa-closing-row td{
  font-weight:800 !important;
  border-top:2px solid #94a3b8 !important;
  background:#f8fafc !important;
}

@media print {
  .soa-clean-table th:nth-child(n+5),
  .soa-clean-table td:nth-child(n+5),
  .soa-clean-table td.num,
  .soa-clean-table th.num{
    text-align:right !important;
    white-space:nowrap !important;
    font-variant-numeric:tabular-nums !important;
  }
  .soa-clean-table .soa-total-label{
    text-align:right !important;
    font-weight:800 !important;
  }
  .soa-clean-table .soa-closing-row td{
    font-weight:800 !important;
    border-top:1.5px solid #555 !important;
  }
}

/* ==========================================================
   AMASCO Invoicing Pro v3.6i3
   SOA header/logo/client-info and finance-strip spacing
   ========================================================== */
.soa-pro-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  border-bottom:1px solid #d9e1ec;
  padding-bottom:12px;
  margin-bottom:12px;
}
.soa-logo-block{
  flex:0 0 210px;
  display:flex;
  align-items:flex-start;
  justify-content:flex-start;
  min-height:58px;
}
.soa-logo-block img{
  max-width:190px;
  max-height:58px;
  object-fit:contain;
  display:block;
}
.soa-logo-fallback{
  font-weight:900;
  font-size:22px;
  letter-spacing:.6px;
  color:#0f4c81;
  border:1px solid #d9e1ec;
  border-radius:10px;
  padding:12px 16px;
  background:#f8fafc;
}
.soa-client-block{
  flex:1 1 auto;
  text-align:right;
  color:#334155;
  font-size:12px;
  line-height:1.45;
}
.soa-client-block h2{
  margin:0 0 7px 0;
  font-size:20px;
  line-height:1.1;
  color:#0f172a;
  letter-spacing:.2px;
}
.soa-finance-strip{
  display:flex;
  flex-wrap:wrap;
  gap:8px 10px;
  align-items:center;
  margin:8px 0 11px 0;
}
.soa-finance-strip span{
  display:inline-flex;
  align-items:center;
  gap:5px;
  border:1px solid #dbe4ee;
  background:#f8fafc;
  border-radius:999px;
  padding:6px 10px;
  font-size:11.5px;
  line-height:1.1;
  white-space:nowrap;
}
.soa-finance-strip span b{color:#334155;}

@media(max-width:900px){
  .soa-pro-head{flex-direction:column;gap:10px;}
  .soa-logo-block{flex-basis:auto;min-height:auto;}
  .soa-client-block{text-align:left;}
}

@media print{
  .soa-pro-head{
    display:flex!important;
    align-items:flex-start!important;
    justify-content:space-between!important;
    gap:5mm!important;
    border-bottom:.4pt solid #cbd5e1!important;
    padding-bottom:2.5mm!important;
    margin-bottom:2.5mm!important;
  }
  .soa-logo-block{
    flex:0 0 45mm!important;
    min-height:14mm!important;
  }
  .soa-logo-block img{
    max-width:42mm!important;
    max-height:14mm!important;
    object-fit:contain!important;
  }
  .soa-logo-fallback{
    font-size:11px!important;
    padding:2mm 3mm!important;
    border-radius:1.5mm!important;
  }
  .soa-client-block{
    font-size:7.6px!important;
    line-height:1.18!important;
    text-align:right!important;
  }
  .soa-client-block h2{
    font-size:13px!important;
    line-height:1.05!important;
    margin:0 0 1.5mm 0!important;
  }
  .soa-finance-strip{
    gap:1.2mm!important;
    margin:1.5mm 0 2mm 0!important;
  }
  .soa-finance-strip span{
    border:.35pt solid #d7dee8!important;
    border-radius:1.5mm!important;
    padding:1mm 1.4mm!important;
    font-size:6.8px!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
}

/* ==========================================================
   AMASCO Invoicing Pro v3.6i4
   SOA print compact cards + header two-column alignment
   ========================================================== */
.soa-pro-head{
  display:grid !important;
  grid-template-columns:240px minmax(0,1fr) !important;
  align-items:start !important;
  gap:18px !important;
}
.soa-logo-block{
  grid-column:1 !important;
  width:240px !important;
}
.soa-client-block{
  grid-column:2 !important;
  text-align:right !important;
  justify-self:stretch !important;
}

@media(max-width:900px){
  .soa-pro-head{
    grid-template-columns:180px minmax(0,1fr) !important;
    gap:12px !important;
  }
  .soa-logo-block{width:180px !important;}
  .soa-client-block{text-align:right !important;}
}

@media print{
  .soa-pro-head{
    display:grid !important;
    grid-template-columns:45mm minmax(0,1fr) !important;
    align-items:start !important;
    gap:5mm !important;
  }
  .soa-logo-block{
    grid-column:1 !important;
    width:45mm !important;
    flex:none !important;
  }
  .soa-client-block{
    grid-column:2 !important;
    text-align:right !important;
    justify-self:stretch !important;
  }

  /* 50% smaller SOA top summary boxes for A4 print */
  .soa-summary-clean{
    display:grid !important;
    grid-template-columns:repeat(6,1fr) !important;
    gap:1mm !important;
    margin:0 0 1.4mm 0 !important;
  }
  .soa-summary-clean .card{
    min-height:6mm !important;
    padding:.8mm 1mm !important;
    border-radius:1mm !important;
    box-shadow:none !important;
    border:.35pt solid #d7dee8 !important;
  }
  .soa-summary-clean .card b{
    font-size:5.4px !important;
    line-height:1 !important;
    margin:0 0 .35mm 0 !important;
    white-space:normal !important;
  }
  .soa-summary-clean .card span{
    font-size:6.5px !important;
    line-height:1 !important;
    margin:0 !important;
    font-weight:800 !important;
  }
  .soa-summary-clean .card span small{
    font-size:5px !important;
    line-height:1 !important;
    margin-top:.2mm !important;
  }
}

/* v3.6k8 Backup / Restore verified UI + status cleanup */
.backup-restore-page h2{font-size:20px;margin-bottom:6px;}
.backup-restore-page .small-note{font-size:12px;line-height:1.45;}
.backup-grid{align-items:start;}
.backup-card h3{font-size:16px;margin-bottom:6px;}
.backup-card p{font-size:12px;line-height:1.45;margin:6px 0 10px;}
.backup-card label{font-size:12px;}
.backup-card input[type="file"],.backup-card input[type="text"]{min-height:34px;height:34px;font-size:12px;}
.backup-toggle{min-height:36px!important;height:36px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:7px 10px!important;margin:6px 0 10px!important;}
.backup-toggle span{font-size:12px;font-weight:700;color:#334155;}
.backup-toggle input[type="checkbox"]{position:absolute;opacity:0;pointer-events:none;}
.backup-toggle i{width:42px;height:22px;border-radius:999px;background:#cbd5e1;position:relative;display:inline-block;flex:0 0 42px;transition:.2s;box-shadow:inset 0 0 0 1px #94a3b8;}
.backup-toggle i:before{content:"";position:absolute;width:18px;height:18px;left:2px;top:2px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(15,23,42,.25);transition:.2s;}
.backup-toggle input[type="checkbox"]:checked + i{background:var(--primary,#0f766e);box-shadow:inset 0 0 0 1px var(--primary-dark,#115e59);}
.backup-toggle input[type="checkbox"]:checked + i:before{transform:translateX(20px);}
.backup-note{margin-top:10px;padding:8px 10px;border:1px dashed #cbd5e1;border-radius:10px;background:#f8fafc;}
.backup-note p{margin:3px 0;}
.backup-activity{margin-top:12px;}
.backup-activity h3{font-size:15px;margin-bottom:8px;}
.backup-activity table{font-size:12px;}
.backup-activity th,.backup-activity td{padding:6px 7px;}
.ok{background:#dcfce7;border:1px solid #86efac;color:#166534;border-radius:10px;padding:10px 12px;margin:10px 0;font-weight:700;}

/* v3.6l Activity Logs */
.logs-filter{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:10px;align-items:end}
.logs-filter label{font-size:12px;margin:0}
.logs-filter input{height:34px}
.log-cards{margin-bottom:14px}
.logs-table th,.logs-table td{font-size:12px;vertical-align:top}
.logs-table .nowrap{white-space:nowrap}
.badge{display:inline-block;padding:3px 8px;border:1px solid #d5dbe7;border-radius:999px;background:#f7f9fc;font-size:11px;font-weight:700;color:#344054}
.report-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid #e5e7eb;margin-bottom:10px;padding-bottom:8px}
.small-note{font-size:11px}
@media(max-width:1000px){.logs-filter{grid-template-columns:repeat(2,minmax(130px,1fr));}}
@media print{
  .logs-filter,.no-print{display:none!important}
  .logs-sheet{box-shadow:none;border:0;margin:0;padding:0}
  .logs-table th,.logs-table td{font-size:9px;padding:4px 5px}
  .report-head h2{font-size:14px;margin:0}
  .report-head p{font-size:9px;margin:0}
  .badge{font-size:8px;padding:1px 4px;border-radius:6px;background:#fff}
}

/* AMASCO Invoice Layout Actual Redesign Repair */
.amasco-invoice-redesign{background:#fff;max-width:210mm;margin:0 auto 24px;padding:13mm 12mm;color:#111827;border:1px solid #e5e7eb;box-shadow:0 8px 30px rgba(15,23,42,.08);font-size:12px;line-height:1.35}.amasco-invoice-redesign .ar{direction:rtl;text-align:right;font-family:"Tahoma","Arial",sans-serif}.inv-hero{display:grid;grid-template-columns:110px 1fr 100px;gap:14px;align-items:center;border-bottom:3px solid #0f172a;padding-bottom:10px;margin-bottom:10px}.inv-logo{height:72px;border:1px solid #e5e7eb;border-radius:14px;display:flex;align-items:center;justify-content:center;font-weight:800;color:#0f172a;background:#f8fafc;overflow:hidden}.inv-logo img{max-width:100%;max-height:100%;object-fit:contain}.inv-title{text-align:center}.inv-title h1{margin:0;font-size:28px;text-transform:uppercase;letter-spacing:.08em}.inv-title h2{margin:3px 0 0;font-size:22px}.inv-status{text-align:center;border:1px solid #cbd5e1;border-radius:999px;padding:8px 10px;font-weight:700;background:#f8fafc}.inv-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:10px 0}.inv-meta div{border:1px solid #dbe4ef;border-radius:10px;padding:8px;background:#f8fafc}.inv-meta span{display:block;color:#64748b;font-size:10px}.inv-meta b{font-size:12px}.inv-parties{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0}.inv-party{border:1px solid #dbe4ef;border-radius:14px;overflow:hidden;background:#fff}.inv-party h3{text-align:center;margin:0;padding:8px;background:#0f172a;color:white;font-size:14px}.party-line{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:5px 9px;border-top:1px solid #eef2f7}.party-line.ids{font-weight:700;background:#f8fafc}.inv-items{width:100%;border-collapse:collapse;margin-top:10px}.inv-items th{background:#0f172a;color:#fff;padding:8px;border:1px solid #0f172a;text-align:center}.inv-items td{padding:7px;border:1px solid #dbe4ef;vertical-align:top}.inv-items td:nth-child(1),.inv-items td:nth-child(3),.inv-items td:nth-child(4),.inv-items td:nth-child(5),.inv-items td:nth-child(6){text-align:center}.inv-finance{display:grid;grid-template-columns:190px 1fr;gap:14px;align-items:start;margin-top:12px}.inv-qr{border:1px solid #dbe4ef;border-radius:14px;padding:10px;text-align:center;background:#f8fafc}.inv-qr img{width:145px;height:145px}.qr-title{font-weight:700;margin-bottom:5px}.inv-totals{width:100%;border-collapse:collapse}.inv-totals td{padding:8px;border:1px solid #dbe4ef}.inv-totals td:last-child{text-align:right;font-weight:700}.inv-totals .grand td{background:#0f172a;color:white;font-size:14px}.inv-words{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.inv-words div{border:1px solid #dbe4ef;border-radius:12px;padding:10px;min-height:44px;background:#fff}.inv-words span{display:block;color:#64748b;font-size:10px;margin-bottom:4px}.inv-bank{border:1px solid #dbe4ef;border-radius:14px;margin-top:10px;padding:10px;background:#f8fafc}.inv-bank h3{margin:0 0 8px;text-align:center}.bank-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px 14px}.bank-grid .iban{grid-column:1/-1}.inv-signs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}.inv-signs>div{border:1px solid #dbe4ef;border-radius:12px;padding:10px;min-height:70px;text-align:center}.sign-line{display:block;border-bottom:1px solid #111827;margin:28px auto 0;width:80%}.built-footer{text-align:center;margin-top:12px;padding-top:8px;border-top:1px solid #dbe4ef;color:#64748b;font-size:11px}.amasco-invoice-redesign.layout-compact,.amasco-invoice-redesign.layout-compact_a4{padding:8mm;font-size:10.5px}.amasco-invoice-redesign.layout-compact .inv-hero,.amasco-invoice-redesign.layout-compact_a4 .inv-hero{grid-template-columns:80px 1fr 70px}.amasco-invoice-redesign.layout-modern .inv-hero,.amasco-invoice-redesign.layout-modern_corporate .inv-hero{border:0;background:linear-gradient(135deg,#0f172a,#334155);color:white;border-radius:18px;padding:14px}.amasco-invoice-redesign.layout-modern .inv-logo,.amasco-invoice-redesign.layout-modern_corporate .inv-logo{background:white;color:#0f172a}.amasco-invoice-redesign.layout-letterhead,.amasco-invoice-redesign.layout-official_letterhead{padding-top:7mm}.amasco-invoice-redesign.layout-scaffolding_summary .inv-parties,.amasco-invoice-redesign.layout-manpower_summary .inv-parties{grid-template-columns:1fr}.amasco-invoice-redesign.layout-project_progress .inv-meta{grid-template-columns:1fr 1fr}.amasco-invoice-redesign.layout-project_progress .inv-party h3{background:#475569}.toggle-field{display:flex;align-items:center;gap:10px}.toggle-field input{display:none}.toggle-field i{width:46px;height:24px;background:#cbd5e1;border-radius:999px;position:relative;display:inline-block}.toggle-field i:before{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;background:white;border-radius:50%;transition:.2s}.toggle-field input:checked+i{background:#16a34a}.toggle-field input:checked+i:before{left:25px}@media print{.amasco-invoice-redesign{box-shadow:none;border:0;margin:0;padding:8mm;max-width:none}.no-print,.actions,.side,.top{display:none!important}.main{margin:0!important;padding:0!important}.inv-hero,.inv-party h3,.inv-totals .grand td,.inv-items th{-webkit-print-color-adjust:exact;print-color-adjust:exact}}

/* AMASCO Invoice Typography & Alignment Refinement Patch */
.amasco-invoice-redesign{max-width:204mm;padding:9mm 9.5mm;color:#111827;font-size:10.4px;line-height:1.24}.amasco-invoice-redesign .inv-hero{grid-template-columns:82px 1fr 78px;gap:8px;padding:8px 10px;margin-bottom:7px}.amasco-invoice-redesign .inv-logo{width:72px;min-height:52px;padding:5px;font-size:12px}.amasco-invoice-redesign .inv-logo img{max-width:68px;max-height:48px}.amasco-invoice-redesign .inv-title{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.amasco-invoice-redesign .inv-title h1{margin:0 0 2px;font-size:20px;line-height:1.05;text-align:center;width:100%}.amasco-invoice-redesign .inv-title h2,.amasco-invoice-redesign .inv-title .ar{margin:0;font-size:18px;line-height:1.05;text-align:center!important;direction:rtl;width:100%}.amasco-invoice-redesign .inv-status{padding:6px 8px;font-size:10px}.amasco-invoice-redesign .inv-meta{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin-bottom:7px}.amasco-invoice-redesign .inv-meta>div{display:grid;grid-template-columns:1fr auto;align-items:center;gap:6px;padding:6px 7px;min-height:30px}.amasco-invoice-redesign .inv-meta span{display:block;margin:0;color:#475569;font-size:9.6px;font-weight:700;line-height:1.15;white-space:normal}.amasco-invoice-redesign .inv-meta b{display:block;margin:0;font-size:10.4px;font-weight:800;line-height:1.15;text-align:right;white-space:nowrap}.amasco-invoice-redesign .inv-parties{gap:7px;margin:7px 0}.amasco-invoice-redesign .inv-party h3{padding:6px;font-size:12px}.amasco-invoice-redesign .party-line{padding:4px 7px;gap:7px}.amasco-invoice-redesign .inv-items{margin-top:7px}.amasco-invoice-redesign .inv-items th{padding:5px 4px;font-size:9.8px}.amasco-invoice-redesign .inv-items td{padding:5px 4px;font-size:10px}.amasco-invoice-redesign .inv-finance{grid-template-columns:150px 1fr;gap:9px;margin-top:8px}.amasco-invoice-redesign .inv-qr{padding:7px}.amasco-invoice-redesign .inv-qr img{width:112px;height:112px}.amasco-invoice-redesign .qr-title{font-size:10px;margin-bottom:4px}.amasco-invoice-redesign .inv-totals td{padding:5.5px 7px;font-size:11px}.amasco-invoice-redesign .inv-totals .grand td{font-size:12px}.amasco-invoice-redesign .inv-words{gap:7px;margin-top:7px}.amasco-invoice-redesign .inv-words div{padding:7px;min-height:36px}.amasco-invoice-redesign .inv-bank{margin-top:7px;padding:7px}.amasco-invoice-redesign .inv-bank h3{margin-bottom:5px;font-size:12px}.amasco-invoice-redesign .bank-grid{gap:3px 10px}.amasco-invoice-redesign .inv-signs{gap:8px;margin-top:9px}.amasco-invoice-redesign .inv-signs>div{min-height:52px;padding:7px}.amasco-invoice-redesign .sign-line{margin-top:20px}.amasco-invoice-redesign .built-footer{margin-top:7px;padding-top:5px;font-size:9px}@media print{.amasco-invoice-redesign{max-width:none!important;padding:7mm 7.5mm!important;font-size:9.8px!important;line-height:1.20!important;box-shadow:none!important;border:0!important}.amasco-invoice-redesign .inv-title h1{font-size:18px!important}.amasco-invoice-redesign .inv-title h2,.amasco-invoice-redesign .inv-title .ar{font-size:16px!important;text-align:center!important}.amasco-invoice-redesign .inv-meta>div{padding:5px 6px!important;min-height:27px!important}.amasco-invoice-redesign .inv-meta span{font-size:9px!important}.amasco-invoice-redesign .inv-meta b{font-size:9.8px!important}.amasco-invoice-redesign .inv-totals td{font-size:10.5px!important;padding:5px 7px!important}.amasco-invoice-redesign .inv-qr img{width:105px!important;height:105px!important}}


/* V4.1a compact color picker + sidebar theme readability refinement */
.amasco-color-compact input[type="color"], input.amasco-color-picker{
  width:56px!important;height:34px!important;min-width:56px!important;max-width:56px!important;
  padding:2px!important;border-radius:8px!important;display:inline-block!important;margin-top:6px!important;
}
.amasco-theme-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;align-items:start;}
.amasco-theme-grid label{min-height:62px;}
.side a,.side summary,.side .brand span{transition:background .15s ease,color .15s ease,opacity .15s ease;}

/* AMASCO Invoicing Pro V4.2 - Professional UI/UX + Dashboard Refresh */
:root{
  --amasco-bg:#f3f6fb;
  --amasco-surface:#ffffff;
  --amasco-border:#e5e7eb;
  --amasco-text:#0f172a;
  --amasco-muted:#64748b;
  --amasco-blue:#1d4ed8;
  --amasco-blue2:#2563eb;
  --amasco-green:#059669;
  --amasco-orange:#d97706;
  --amasco-red:#dc2626;
  --amasco-shadow:0 10px 28px rgba(15,23,42,.075);
}
@media screen{
  body{background:linear-gradient(180deg,#f7faff 0%,#eef3f9 100%);color:var(--amasco-text);}
  .main{padding:18px 20px 28px;}
  .top{background:rgba(255,255,255,.86);border:1px solid rgba(226,232,240,.9);box-shadow:0 8px 24px rgba(15,23,42,.045);backdrop-filter:blur(10px);border-radius:18px;padding:13px 16px;position:sticky;top:10px;z-index:4;}
  .top h1{font-size:22px;font-weight:850;letter-spacing:-.02em;}
  .panel{border:1px solid rgba(226,232,240,.95);box-shadow:var(--amasco-shadow);border-radius:18px;background:rgba(255,255,255,.96);}
  .panel h2{font-size:18px;font-weight:850;color:#172554;letter-spacing:-.01em;}
  .dashboard-hero{display:flex;align-items:center;justify-content:space-between;gap:16px;background:linear-gradient(135deg,#0f172a 0%,#1e3a8a 58%,#2563eb 100%);color:#fff;overflow:hidden;position:relative;}
  .dashboard-hero:after{content:"";position:absolute;right:-70px;top:-90px;width:240px;height:240px;border-radius:50%;background:rgba(255,255,255,.12);}
  .dashboard-hero h2{color:#fff;font-size:24px;margin:4px 0 6px;}
  .dashboard-hero p{margin:0;max-width:780px;color:#dbeafe;line-height:1.45;}
  .eyebrow{display:inline-block;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#bfdbfe;}
  .hero-actions{display:flex;gap:8px;flex-wrap:wrap;position:relative;z-index:1;}
  .btn-soft{background:#fff!important;color:#1e3a8a!important;border:1px solid rgba(255,255,255,.4);}
  .modern-kpis{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));margin-bottom:14px!important;}
  .kpi-card{border:1px solid rgba(226,232,240,.95);position:relative;overflow:hidden;min-height:92px;}
  .kpi-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--amasco-blue2);}
  .kpi-card b{color:#475569;text-transform:uppercase;letter-spacing:.04em;font-size:11px;}
  .kpi-card span{font-size:22px;color:#0f172a;letter-spacing:-.03em;}
  .kpi-card.warn:before{background:var(--amasco-orange);}.kpi-card.warn span{color:#92400e;}
  .kpi-card.success-card:before{background:var(--amasco-green);}.kpi-card.success-card span{color:#047857;}
  .kpi-card.muted-card:before{background:#94a3b8;}
  .three{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));}
  .dashboard-mini-row{margin-bottom:14px;}
  .mini-stat{margin:0;padding:14px 16px;background:linear-gradient(180deg,#fff,#f8fafc);}
  .mini-stat b{display:block;color:#64748b;font-size:12px;text-transform:uppercase;letter-spacing:.05em;}
  .mini-stat span{display:block;font-size:22px;font-weight:850;margin-top:4px;color:#172554;}
  .dashboard-main{align-items:stretch;}
  .trend-chart{display:grid;gap:10px;margin-top:10px;}
  .trend-row{display:grid;grid-template-columns:58px 1fr;gap:7px;align-items:center;border-bottom:1px dashed #e2e8f0;padding-bottom:8px;}
  .trend-row b{font-size:12px;color:#475569;}
  .trend-row div{grid-column:2;display:grid;grid-template-columns:1fr 150px;align-items:center;gap:8px;min-height:15px;}
  .bar{display:block;height:10px;border-radius:999px;min-width:3px;background:#2563eb;}
  .bar.sales{background:#2563eb}.bar.receipts{background:#059669}.bar.expenses{background:#d97706}
  .trend-row small{font-size:11px;color:#64748b;text-align:right;white-space:nowrap;}
  .polished-bars div{display:grid;grid-template-columns:minmax(130px,190px) 1fr 110px;gap:10px;align-items:center;margin-bottom:10px;border-bottom:1px dashed #e2e8f0;padding-bottom:8px;}
  .polished-bars b{font-size:12px;color:#334155;}
  .polished-bars span{height:12px;background:linear-gradient(90deg,#f59e0b,#d97706);}
  .empty-state{padding:18px;text-align:center;border:1px dashed #cbd5e1;border-radius:14px;color:#64748b;background:#f8fafc;}
  .data-table th{background:#f1f5f9;color:#334155;font-size:11px;text-transform:uppercase;letter-spacing:.04em;}
  .data-table tr:hover td{background:#f8fafc;}
  .quick-actions.modern-actions .card{border:1px solid #e2e8f0;background:linear-gradient(180deg,#fff,#f8fafc);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;}
  .quick-actions.modern-actions .card:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(37,99,235,.12);border-color:#bfdbfe;}
  .quick-actions.modern-actions .card span{font-size:12px;font-weight:600;color:#64748b;margin-top:3px;}
  .side{box-shadow:6px 0 24px rgba(15,23,42,.12);}
  .side a,.side summary{transition:background .15s ease,color .15s ease,transform .15s ease;}
  .side a:hover{transform:translateX(2px);}
  input,select,textarea{transition:border-color .15s ease,box-shadow .15s ease;}
  input:focus,select:focus,textarea:focus{outline:none;border-color:#93c5fd;box-shadow:0 0 0 3px rgba(37,99,235,.12);}
  button,.btn{font-weight:750;box-shadow:0 6px 14px rgba(29,78,216,.14);}
  table{border-collapse:separate;border-spacing:0;overflow:hidden;}
  th:first-child{border-top-left-radius:10px}th:last-child{border-top-right-radius:10px}
}
@media (max-width:900px){
  @media screen{.dashboard-hero{display:block}.hero-actions{margin-top:12px}.trend-row div{grid-template-columns:1fr}.trend-row small{text-align:left}.main{padding:12px}.top{position:relative;top:auto}.side{position:relative;width:auto;height:auto}.main{margin-left:0}}
}

/* V4.2e Dashboard print/readability refinement */
@media screen{
  .dashboard-mini-row .card span{display:block;margin-top:6px;line-height:1.15;}
  .dashboard-mini-row .card b{display:block;margin-bottom:2px;}
  .dashboard-main .panel{break-inside:avoid;}
}
@media print{
  .dashboard-hero{background:#fff!important;color:#111827!important;border:1px solid #e5e7eb!important;box-shadow:none!important;}
  .dashboard-hero h2,.dashboard-hero p,.dashboard-hero .eyebrow{color:#111827!important;}
  .hero-actions{display:none!important;}
  .modern-kpis,.dashboard-mini-row{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:6px!important;}
  .kpi-card,.mini-stat{box-shadow:none!important;border:1px solid #e5e7eb!important;padding:8px!important;min-height:auto!important;page-break-inside:avoid!important;break-inside:avoid!important;}
  .kpi-card b,.mini-stat b{font-size:9px!important;line-height:1.15!important;display:block!important;margin-bottom:3px!important;}
  .kpi-card span,.mini-stat span{font-size:14px!important;line-height:1.2!important;display:block!important;margin-top:2px!important;white-space:nowrap!important;}
  .dashboard-main,.grid.two{display:block!important;}
  .dashboard-main>.panel,.grid.two>.panel{page-break-inside:avoid!important;break-inside:avoid!important;margin-bottom:8px!important;}
  .trend-row{grid-template-columns:45px 1fr!important;gap:5px!important;padding-bottom:5px!important;}
  .trend-row div{grid-template-columns:1fr 90px!important;gap:4px!important;}
  .polished-bars div{grid-template-columns:120px 1fr 80px!important;gap:5px!important;}
  table.data-table th,table.data-table td{font-size:9px!important;padding:4px!important;}
}

/* AMASCO V4.2F Professional UI/UX refinement */
:root{
  --amasco-radius:16px;
  --amasco-soft-shadow:0 10px 30px rgba(15,23,42,.08);
  --amasco-border:#e2e8f0;
  --amasco-muted:#64748b;
}
body{background:linear-gradient(180deg,#f8fafc 0%,#eef2f7 100%);}
.side{box-shadow:8px 0 28px rgba(15,23,42,.18);border-right:1px solid rgba(255,255,255,.08);}
.side .brand{padding:22px 16px 18px;border-bottom:1px solid rgba(255,255,255,.12);letter-spacing:.04em;text-align:center;font-weight:800;}
.side nav{padding:12px 10px 18px;}
.side details{margin:8px 0;border:1px solid rgba(255,255,255,.10);border-radius:14px;overflow:hidden;background:rgba(255,255,255,.035);}
.side summary{padding:11px 12px;font-size:12px;text-transform:uppercase;letter-spacing:.06em;font-weight:800;cursor:pointer;list-style:none;}
.side summary::-webkit-details-marker{display:none}
.side summary:after{content:'▾';float:right;opacity:.75;transition:transform .2s ease;}
.side details:not([open]) summary:after{transform:rotate(-90deg)}
.side a{display:flex!important;align-items:center;gap:9px;border-radius:11px;margin:5px 7px;padding:9px 11px!important;text-decoration:none;font-weight:650;transition:background .18s ease,transform .18s ease,box-shadow .18s ease;}
.side a:hover{transform:translateX(2px);box-shadow:0 8px 20px rgba(0,0,0,.12)}
.side a.nav-single{margin:0 0 10px 0;border-radius:14px;justify-content:center;font-size:14px;}
.side a[href*="dashboard"]:before{content:'▦'}
.side a[href*="invoice"]:before{content:'▤'}
.side a[href*="receipt"]:before{content:'◉'}
.side a[href*="client"]:before{content:'◧'}
.side a[href*="advance"]:before{content:'↗'}
.side a[href*="expense"]:before{content:'▣'}
.side a[href*="vat"]:before{content:'٪'}
.side a[href*="ledger"]:before{content:'≡'}
.side a[href*="report"]:before{content:'▥'}
.side a[href*="setting"]:before{content:'⚙'}
.side a[href*="users"]:before{content:'◌'}
.main{padding:22px 26px 36px;}
.top{position:sticky;top:0;z-index:20;background:rgba(248,250,252,.86);backdrop-filter:blur(12px);border:1px solid rgba(226,232,240,.75);border-radius:18px;padding:15px 18px;margin-bottom:18px;box-shadow:var(--amasco-soft-shadow);}
.top h1{font-size:24px;margin:0;color:#0f172a;}
.panel,.card{border:1px solid var(--amasco-border)!important;border-radius:var(--amasco-radius)!important;box-shadow:var(--amasco-soft-shadow)!important;background:rgba(255,255,255,.96)!important;}
.panel{padding:18px 20px;margin-bottom:18px;}
.panel h2{font-size:18px;margin:0 0 12px;color:#0f172a;}
.card{padding:17px 18px;transition:transform .18s ease,box-shadow .18s ease;}
.card:hover{transform:translateY(-2px);box-shadow:0 14px 36px rgba(15,23,42,.12)!important;}
.card b{color:#475569;font-size:12px;text-transform:uppercase;letter-spacing:.05em;}
.card span{font-size:24px;font-weight:850;color:#0f172a;}
table{border-collapse:separate!important;border-spacing:0;width:100%;overflow:hidden;border:1px solid var(--amasco-border);border-radius:14px;background:#fff;}
th{position:sticky;top:0;background:#f1f5f9!important;color:#334155!important;font-size:12px;text-transform:uppercase;letter-spacing:.04em;font-weight:800;border-bottom:1px solid #cbd5e1!important;}
td,th{padding:10px 12px!important;vertical-align:middle;border-bottom:1px solid #e5e7eb;}
tr:hover td{background:#f8fafc;}
button,.btn,a.btn{border-radius:11px!important;padding:9px 14px!important;font-weight:750!important;box-shadow:0 7px 18px rgba(15,23,42,.08);transition:transform .16s ease,box-shadow .16s ease,filter .16s ease;}
button:hover,.btn:hover,a.btn:hover{transform:translateY(-1px);filter:brightness(.98);box-shadow:0 10px 24px rgba(15,23,42,.14);}
input,select,textarea{border-radius:11px!important;border:1px solid #cbd5e1!important;background:#fff!important;transition:border-color .16s ease,box-shadow .16s ease;}
input:focus,select:focus,textarea:focus{outline:none;border-color:#2563eb!important;box-shadow:0 0 0 4px rgba(37,99,235,.13)!important;}
.formgrid{gap:14px!important;}
.badge{border-radius:999px!important;padding:5px 10px!important;font-weight:800!important;letter-spacing:.03em;}
.ok,.alert{border-radius:14px!important;padding:12px 14px!important;box-shadow:var(--amasco-soft-shadow);}
.demo-tools .tool-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:14px 0;}
.demo-tools .inline-tool-form{margin:0!important;}
.logs-filter,.filters{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:12px;}
@media(max-width:900px){.main{padding:14px}.top{position:relative}.side a{padding:10px!important}.panel{padding:14px}td,th{padding:8px!important;font-size:12px}.card span{font-size:20px}}
@media print{body{background:#fff!important}.side,.top .no-print,.no-print{display:none!important}.main{padding:0!important}.panel,.card{box-shadow:none!important;border-color:#d1d5db!important}.top{position:relative;box-shadow:none!important;border:0!important}}

/* AMASCO V4.2G report/list polish */
.readonly-input:disabled{background:#f8fafc;color:#64748b;font-weight:700;cursor:not-allowed}
.report-table th,.report-table td{vertical-align:middle}
.invoice-list-table td:nth-child(1),.invoice-list-table td:nth-child(2),.invoice-list-table td:nth-child(5),.invoice-list-table td:nth-child(6),.invoice-list-table td:nth-child(7),.invoice-list-table td:nth-child(8),
.ledger-table td:nth-child(1),.ledger-table td:nth-child(3),.ledger-table td:nth-child(5),.ledger-table td:nth-child(6),
.expense-table td:nth-child(1),.expense-table td:nth-child(2),.expense-table td:nth-child(4),.expense-table td:nth-child(6),.expense-table td:nth-child(7){white-space:nowrap}
.ledger-table small{color:#64748b;font-size:10px;display:block;margin-top:2px}
.danger-text{color:#b91c1c;font-weight:800}
@media print{
  .report-table{font-size:10px!important;table-layout:auto!important}
  .report-table th,.report-table td{padding:5px 6px!important;line-height:1.15!important}
  .invoice-list-table td:nth-child(1),.invoice-list-table td:nth-child(2),.invoice-list-table td:nth-child(5),.invoice-list-table td:nth-child(6),.invoice-list-table td:nth-child(7),.invoice-list-table td:nth-child(8),
  .ledger-table td:nth-child(1),.ledger-table td:nth-child(3),.ledger-table td:nth-child(5),.ledger-table td:nth-child(6),
  .expense-table td:nth-child(1),.expense-table td:nth-child(2),.expense-table td:nth-child(4),.expense-table td:nth-child(6),.expense-table td:nth-child(7){white-space:nowrap!important;word-break:normal!important}
  .panel h2{margin-top:0!important}
}

/* AMASCO V4.2H Theme & Rights UI Upgrade */
body[data-density="compact"] .panel, body[data-density="compact"] .card { padding: 10px !important; }
body[data-density="compact"] table th, body[data-density="compact"] table td { padding: 7px 8px !important; }
body[data-density="spacious"] .panel, body[data-density="spacious"] .card { padding: 22px !important; }
body[data-density="spacious"] table th, body[data-density="spacious"] table td { padding: 13px 14px !important; }
body[data-font="compact"] { font-size: 13px; }
body[data-font="large"] { font-size: 16px; }
body[data-card="bordered"] .panel, body[data-card="bordered"] .card { box-shadow:none !important; border:1px solid #cbd5e1 !important; }
body[data-card="flat"] .panel, body[data-card="flat"] .card { box-shadow:none !important; border:0 !important; }
body[data-card="glass"] .panel, body[data-card="glass"] .card { background: color-mix(in srgb, var(--amasco-panel) 88%, transparent) !important; backdrop-filter: blur(8px); border:1px solid rgba(148,163,184,.25); }
body[data-view="classic"] .panel, body[data-view="classic"] .card { border-radius: 8px !important; box-shadow:none !important; border:1px solid #d1d5db !important; }
body[data-view="modern"] .top { background: linear-gradient(135deg, var(--amasco-panel), color-mix(in srgb, var(--amasco-primary) 10%, var(--amasco-panel))) !important; }
.theme-hero { background: linear-gradient(135deg, color-mix(in srgb, var(--amasco-primary) 12%, var(--amasco-panel)), var(--amasco-panel)) !important; border-left: 5px solid var(--amasco-primary); }
.theme-preset-grid { display:grid; grid-template-columns: repeat(auto-fit,minmax(190px,1fr)); gap:12px; margin:12px 0 16px; }
.theme-preset-card { display:block; border:1px solid #dbe3ef; border-radius: var(--amasco-radius); padding:14px; cursor:pointer; background: var(--amasco-panel); transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease; }
.theme-preset-card:hover { transform: translateY(-2px); box-shadow:0 10px 28px rgba(15,23,42,.12); }
.theme-preset-card.active { border-color: var(--amasco-primary); box-shadow:0 0 0 3px color-mix(in srgb, var(--amasco-primary) 20%, transparent); }
.theme-preset-card input { display:none; }
.theme-swatches { display:flex; gap:6px; margin-bottom:10px; }
.theme-swatches i { width:28px; height:28px; border-radius:50%; border:1px solid rgba(15,23,42,.12); }
.theme-preset-card b { display:block; margin-bottom:4px; color:var(--amasco-text); }
.theme-preset-card small { color:#64748b; }
.rights-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:14px; }
.rights-card { border:1px solid #dbe3ef; border-radius:var(--amasco-radius); padding:14px; background:color-mix(in srgb, var(--amasco-panel) 96%, var(--amasco-primary)); }
.rights-card h3 { margin:0 0 10px; font-size:14px; color:var(--amasco-primary); letter-spacing:.02em; }
.right-row { display:flex; align-items:center; gap:9px; padding:7px 0; border-top:1px dashed rgba(148,163,184,.35); font-weight:600; }
.right-row:first-of-type { border-top:0; }
.right-row input { width:18px; height:18px; accent-color:var(--amasco-primary); }
.side nav details summary { border-radius:12px; padding:10px 12px; margin-top:4px; }
.side nav a { border-radius:12px; transition: background .16s ease, transform .16s ease; }
.side nav a:hover { transform: translateX(2px); }
@media print { .theme-preset-grid,.rights-grid { display:block; } .theme-preset-card,.rights-card { break-inside:avoid; margin-bottom:8px; } }

/* V4.2I theme preset selection, dashboard theme binding, and compact UI refinement */
@media screen{
  .theme-preset-card.selected,
  .theme-preset-card:has(input:checked){
    border-color:var(--amasco-primary)!important;
    box-shadow:0 0 0 3px color-mix(in srgb,var(--amasco-primary) 24%, transparent),0 10px 26px rgba(15,23,42,.10)!important;
    transform:translateY(-1px)!important;
  }
  .theme-preset-card.selected:after,
  .theme-preset-card:has(input:checked):after{
    content:"Selected";
    display:inline-block;
    margin-top:8px;
    padding:3px 8px;
    border-radius:999px;
    background:var(--amasco-primary);
    color:#fff;
    font-size:11px;
    font-weight:800;
  }
  .dashboard-hero{
    background:linear-gradient(135deg,var(--amasco-primary) 0%, color-mix(in srgb,var(--amasco-primary) 70%, #0f172a) 55%, var(--amasco-accent) 135%)!important;
    color:#fff!important;
    border:0!important;
  }
  .dashboard-hero h2,
  .dashboard-hero p,
  .dashboard-hero .eyebrow{color:#fff!important;}
  .dashboard-hero p{opacity:.92;}
  body{font-size:var(--amasco-base-font,12.5px)!important;}
  .main{padding:12px 14px!important;}
  .top{padding:10px 12px!important;margin-bottom:10px!important;}
  .top h1{font-size:18px!important;}
  .panel{padding:var(--amasco-panel-pad,12px)!important;margin-bottom:12px!important;}
  .card{padding:var(--amasco-panel-pad,12px)!important;}
  .card span{font-size:18px!important;}
  input,select,textarea{padding:var(--amasco-control-pad,7px)!important;font-size:12.5px!important;}
  button,.btn{padding:7px 10px!important;font-size:12.5px!important;}
  th,td{padding:var(--amasco-table-pad,5px)!important;font-size:12px!important;}
  .kpi-card span,.mini-stat span{color:var(--amasco-primary)!important;}
  .kpi-card:before{background:var(--amasco-accent)!important;}
}

/* AMASCO V4.2J Standard UI Scale + Smart User Menu */
@media screen{
  :root{
    --amasco-ui-font:12.8px;
    --amasco-ui-small:11.5px;
    --amasco-ui-title:18px;
    --amasco-ui-h2:16px;
    --amasco-ui-pad:12px;
    --amasco-ui-gap:10px;
    --amasco-ui-radius:14px;
    --amasco-ui-control-h:34px;
  }
  body{font-size:var(--amasco-ui-font)!important;line-height:1.35!important;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
  .main{padding:14px 16px 24px!important;}
  .panel,.card{border-radius:var(--amasco-ui-radius)!important;padding:var(--amasco-ui-pad)!important;margin-bottom:12px!important;}
  .panel h2{font-size:var(--amasco-ui-h2)!important;margin:0 0 10px!important;line-height:1.25!important;}
  .grid{gap:var(--amasco-ui-gap)!important;}
  .two{grid-template-columns:repeat(auto-fit,minmax(330px,1fr))!important;}
  .cards{grid-template-columns:repeat(auto-fit,minmax(155px,1fr))!important;gap:10px!important;}
  .card b{font-size:11px!important;letter-spacing:.045em!important;}
  .card span{font-size:19px!important;line-height:1.15!important;margin-top:6px!important;}
  label{font-size:11.5px!important;margin-bottom:0!important;}
  input,select,textarea{min-height:var(--amasco-ui-control-h)!important;padding:7px 9px!important;font-size:12.5px!important;border-radius:10px!important;margin-top:4px!important;}
  textarea{min-height:74px!important;}
  button,.btn,a.btn{min-height:32px!important;padding:7px 10px!important;font-size:12.5px!important;border-radius:10px!important;line-height:1.2!important;}
  table{border-radius:12px!important;font-size:12px!important;}
  th,td{padding:6px 8px!important;font-size:12px!important;line-height:1.25!important;}
  th{font-size:11px!important;letter-spacing:.035em!important;}
  .badge{padding:3px 8px!important;font-size:11px!important;}
  .formgrid{grid-template-columns:repeat(auto-fit,minmax(205px,1fr))!important;gap:10px!important;}
  .actions{margin-bottom:9px!important;display:flex;flex-wrap:wrap;gap:6px;align-items:center;}
  .muted{font-size:12px!important;}

  /* Smart top bar */
  .app-topbar.top{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;padding:10px 12px!important;margin-bottom:12px!important;min-height:56px!important;border-radius:16px!important;background:linear-gradient(135deg,var(--amasco-panel),color-mix(in srgb,var(--amasco-primary) 6%,var(--amasco-panel)))!important;}
  .top-title{display:flex;flex-direction:column;gap:1px;min-width:0;}
  .top-title h1{font-size:18px!important;line-height:1.15!important;margin:0!important;letter-spacing:-.01em!important;color:var(--amasco-text)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .top-subtitle{font-size:11px;color:#64748b;font-weight:700;letter-spacing:.05em;text-transform:uppercase;}
  .user-menu{position:relative;margin:0!important;padding:0!important;border:0!important;background:transparent!important;min-width:0;}
  .user-menu summary{list-style:none;display:flex!important;align-items:center;gap:8px;cursor:pointer;padding:6px 8px!important;border-radius:999px;background:color-mix(in srgb,var(--amasco-primary) 7%,#fff);border:1px solid color-mix(in srgb,var(--amasco-primary) 14%,#dbe3ef);color:var(--amasco-text)!important;min-width:185px;justify-content:flex-start;}
  .user-menu summary::-webkit-details-marker{display:none;}
  .user-avatar{width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--amasco-primary);color:#fff;font-weight:900;font-size:13px;box-shadow:0 8px 18px rgba(15,23,42,.16);flex:0 0 30px;}
  .user-meta{display:flex;flex-direction:column;min-width:0;line-height:1.1;flex:1;}
  .user-meta b{font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px;color:var(--amasco-text);}
  .user-meta small{font-size:10.5px;color:#64748b;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .user-caret{font-size:11px;color:#64748b;transition:transform .16s ease;}
  .user-menu[open] .user-caret{transform:rotate(180deg);}
  .user-dropdown{position:absolute;right:0;top:calc(100% + 8px);width:230px;background:var(--amasco-panel);border:1px solid #dbe3ef;border-radius:14px;box-shadow:0 18px 48px rgba(15,23,42,.16);padding:8px;z-index:1000;}
  .user-dropdown:before{content:"";position:absolute;right:18px;top:-6px;width:10px;height:10px;background:var(--amasco-panel);border-left:1px solid #dbe3ef;border-top:1px solid #dbe3ef;transform:rotate(45deg);}
  .user-dropdown-head{padding:8px 9px 10px;border-bottom:1px solid #edf2f7;margin-bottom:5px;}
  .user-dropdown-head b{display:block;font-size:13px;color:var(--amasco-text);}
  .user-dropdown-head small{display:block;font-size:11px;color:#64748b;word-break:break-all;margin-top:2px;}
  .user-dropdown a{display:block;padding:8px 10px;border-radius:10px;text-decoration:none;color:var(--amasco-text)!important;font-weight:750;font-size:12.5px;margin:2px 0;}
  .user-dropdown a:hover{background:color-mix(in srgb,var(--amasco-primary) 9%,#fff);color:var(--amasco-primary)!important;}
  .user-dropdown .danger-link{color:#b91c1c!important;border-top:1px solid #f1f5f9;margin-top:6px;padding-top:10px;}
  .user-dropdown .danger-link:hover{background:#fee2e2!important;color:#991b1b!important;}

  /* Sidebar size consistency */
  .side{width:252px!important;}
  .main{margin-left:252px!important;}
  .side .brand{font-size:18px!important;padding:17px 13px 14px!important;margin-bottom:8px!important;}
  .side .brand span{font-size:11px!important;}
  .side nav{padding:8px 8px 14px!important;}
  .side details{border-radius:12px!important;margin:6px 0!important;}
  .side summary{font-size:11px!important;padding:9px 10px!important;}
  .side a{font-size:12.5px!important;padding:7px 9px!important;margin:3px 5px!important;border-radius:10px!important;}
  .side a.nav-single{font-size:13px!important;margin-bottom:8px!important;padding:9px!important;}

  /* Dashboard standardization */
  .dashboard-hero{border-radius:18px!important;padding:16px!important;margin-bottom:12px!important;}
  .dashboard-hero h2{font-size:22px!important;line-height:1.1!important;margin-bottom:5px!important;}
  .dashboard-hero p{font-size:12.5px!important;margin:0!important;}
  .kpi-card,.mini-stat{min-height:auto!important;}
  .trend-row,.expense-row{font-size:12px!important;}
}
@media(max-width:900px){
  .side{width:auto!important;position:relative!important;}
  .main{margin-left:0!important;padding:12px!important;}
  .app-topbar.top{position:relative!important;top:auto!important;align-items:flex-start!important;}
  .user-menu summary{min-width:150px!important;}
  .user-meta b{max-width:90px!important;}
  .user-dropdown{right:0;width:220px;}
}
@media print{.user-menu{display:none!important}.app-topbar.top{display:none!important}}

/* V4.3 practical finance controls, quick actions, and audit UI */
.quick-strip{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 12px;margin:10px 0 12px!important}
.quick-strip-title{font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--theme-primary,#2563eb);margin-right:4px}
.quick-pill{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid rgba(148,163,184,.35);border-radius:999px;background:rgba(255,255,255,.72);color:var(--theme-text,#172033);text-decoration:none;box-shadow:0 1px 3px rgba(15,23,42,.06);font-size:12px;line-height:1}
.quick-pill:hover{transform:translateY(-1px);box-shadow:0 6px 14px rgba(15,23,42,.10)}
.quick-pill i{font-style:normal;display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:999px;background:var(--theme-primary,#2563eb);color:#fff;font-size:10px;font-weight:800}
.backup-health-mini{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:14px;margin:10px 0;background:#fff;border:1px solid rgba(148,163,184,.35);font-size:12px}
.backup-health-mini b{font-size:12px;text-transform:uppercase;letter-spacing:.05em}.backup-health-mini span{flex:1}.backup-health-mini a{font-weight:700}.backup-health-mini.ok{border-left:4px solid #16a34a}.backup-health-mini.warn{border-left:4px solid #f59e0b}.backup-health-mini.danger{border-left:4px solid #dc2626}
.backup-health-box{display:grid;gap:4px;border-radius:14px;border:1px solid rgba(148,163,184,.35);padding:12px;margin:10px 0 14px;background:#fff}.backup-health-box.ok{border-left:5px solid #16a34a}.backup-health-box.warning,.backup-health-box.warn{border-left:5px solid #f59e0b}.backup-health-box.danger{border-left:5px solid #dc2626}.backup-health-box span{font-weight:700}.backup-health-box small{color:#64748b}
.invoice-audit-trail{margin-top:14px}.audit-cards .card span{display:block;font-size:13px;font-weight:800}.audit-cards .card small{display:block;margin-top:4px;color:#64748b;font-size:11px}
.smart-export-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.smart-export-row .btn{font-size:12px;padding:8px 10px}
.report-table td,.report-table th{vertical-align:top}.nowrap{white-space:nowrap}
@media print{.quick-strip,.backup-health-mini,.invoice-audit-trail,.smart-export-row{display:none!important}}

/* V4.3B report/print polish, tooltip, backup toggle fix */
.help-text{font-size:11px;color:#64748b;margin-top:4px;display:block}
.readonly-input{background:#f8fafc!important;color:#334155!important;font-weight:700!important}
.backup-toggle{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;border:1px solid #dbe3ef!important;background:#f8fafc!important;border-radius:12px!important;padding:10px 12px!important;margin:10px 0!important;min-height:46px!important;cursor:pointer!important;overflow:visible!important}
.backup-toggle span{font-weight:800!important;font-size:12.5px!important;color:var(--amasco-text,#172033)!important;line-height:1.25!important}
.backup-toggle i{flex:0 0 46px!important;margin-left:auto!important}
.backup-card iframe{display:none!important}
@media print{
  @page{size:A4;margin:10mm}
  body{background:#fff!important;color:#111827!important;font-size:10.5px!important}
  .side,.top,.no-print,.actions .no-print,button.no-print,.screen-only-form{display:none!important}
  .main{margin:0!important;padding:0!important;width:100%!important;max-width:100%!important}
  .panel,.card{box-shadow:none!important;border:1px solid #d7dee8!important;border-radius:10px!important;background:#fff!important;break-inside:avoid;page-break-inside:avoid;padding:8px!important;margin:0 0 8px!important}
  table{width:100%!important;border-collapse:collapse!important;font-size:9px!important;box-shadow:none!important;border-radius:0!important;overflow:visible!important}
  th,td{padding:4px 5px!important;font-size:9px!important;line-height:1.2!important;border-bottom:1px solid #e5e7eb!important;vertical-align:top!important}
  th{background:#eef3f8!important;color:#1f2937!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  h2{font-size:14px!important;margin:0 0 6px!important}
  h3{font-size:12px!important;margin:0 0 5px!important}
  .muted{font-size:9.5px!important;color:#64748b!important}

  body.page-dashboard .dashboard-hero{display:block!important;background:linear-gradient(135deg,#0f4c81,#1d76bd)!important;color:#fff!important;border:0!important;border-radius:12px!important;padding:10px 12px!important;margin:0 0 8px!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  body.page-dashboard .dashboard-hero h2{font-size:17px!important;color:#fff!important;margin:2px 0 3px!important}
  body.page-dashboard .dashboard-hero p,body.page-dashboard .dashboard-hero .eyebrow{color:#fff!important;font-size:9.5px!important;opacity:.96!important}
  body.page-dashboard .hero-actions{display:none!important}
  body.page-dashboard .dashboard-kpis{display:grid!important;grid-template-columns:repeat(5,1fr)!important;gap:6px!important;margin:0 0 8px!important}
  body.page-dashboard .kpi-card{min-height:46px!important;padding:7px!important;border-left:3px solid #2563eb!important;break-inside:avoid!important}
  body.page-dashboard .kpi-card b{font-size:8.5px!important;letter-spacing:.04em!important;color:#475569!important}
  body.page-dashboard .kpi-card span{font-size:12.5px!important;line-height:1.1!important;margin-top:4px!important;color:#0f172a!important}
  body.page-dashboard .dashboard-mini-row{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:6px!important;margin-bottom:8px!important}
  body.page-dashboard .mini-stat{padding:7px!important}.mini-stat span{font-size:13px!important}
  body.page-dashboard .dashboard-main{display:grid!important;grid-template-columns:1.4fr 1fr!important;gap:8px!important}
  body.page-dashboard .grid.two{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}
  body.page-dashboard .trend-row{display:grid!important;grid-template-columns:40px 1fr!important;gap:4px!important;margin:3px 0!important;font-size:8.6px!important}
  body.page-dashboard .trend-row div{margin:1px 0!important}.trend-row small{font-size:8px!important}.bar{height:5px!important}
  body.page-dashboard .bars div{margin-bottom:5px!important}.bars span{height:6px!important}.bars em{font-size:8.5px!important}
  body.page-dashboard .quick-strip,body.page-dashboard .backup-health-mini{display:none!important}

  body.page-retention_adjustments form.panel,
  body.page-expenses form.panel,
  body.page-vat form.filters,
  body.page-vat .filters{display:none!important}
  body.page-expenses .panel:has(.expense-table),body.page-retention_adjustments .panel:has(table),body.page-vat .panel{display:block!important}
}


/* V4.3C small UI corrections: receipt helper removal, backup card wording/toggle containment */
#retentionOpenHelp:empty{display:none!important}
.backup-card p{font-size:12px!important;line-height:1.45!important;color:#64748b!important;max-width:760px!important}
.backup-toggle{
  width:100%!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  overflow:hidden!important;
}
.backup-toggle span{min-width:0!important;flex:1 1 auto!important;white-space:normal!important}
.backup-toggle input[type="checkbox"]{position:absolute!important;opacity:0!important;width:1px!important;height:1px!important;margin:0!important;padding:0!important;pointer-events:none!important}
.backup-toggle i{
  width:44px!important;
  min-width:44px!important;
  max-width:44px!important;
  height:22px!important;
  flex:0 0 44px!important;
  border-radius:999px!important;
  background:#cbd5e1!important;
  position:relative!important;
  display:inline-block!important;
  overflow:hidden!important;
  box-shadow:inset 0 0 0 1px #94a3b8!important;
}
.backup-toggle i:before{
  content:""!important;
  position:absolute!important;
  width:18px!important;
  height:18px!important;
  left:2px!important;
  top:2px!important;
  border-radius:50%!important;
  background:#fff!important;
  transform:translateX(0)!important;
  transition:transform .18s ease!important;
  box-shadow:0 1px 3px rgba(15,23,42,.25)!important;
}
.backup-toggle input[type="checkbox"]:checked + i{background:var(--amasco-primary,var(--primary,#0f766e))!important;box-shadow:inset 0 0 0 1px var(--amasco-primary,var(--primary,#0f766e))!important}
.backup-toggle input[type="checkbox"]:checked + i:before{left:2px!important;transform:translateX(22px)!important}

/* V4.4E3: simple inline Edit | Delete action style for employee register */
.inline-tool-form.employee-delete-form{display:inline!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;}
.action-separator{color:#94a3b8;margin:0 4px;}
.link-button.employee-delete-link{appearance:none;-webkit-appearance:none;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;margin:0!important;color:#b91c1c!important;font:inherit!important;font-weight:600!important;line-height:inherit!important;cursor:pointer;text-decoration:none!important;border-radius:0!important;}
.link-button.employee-delete-link:hover{text-decoration:underline!important;background:transparent!important;color:#991b1b!important;}

/* V4.4F1 Credit/Debit Note refinements */
.inline-delete-form .linklike,
.linklike{
  background:transparent!important;
  border:0!important;
  padding:0!important;
  color:var(--primary,#0f4c81)!important;
  font:inherit!important;
  cursor:pointer!important;
  text-decoration:none;
  box-shadow:none!important;
}
.inline-delete-form .danger-link{ color:#b91c1c!important; }
.inline-delete-form .linklike:hover{ text-decoration:underline; }
.adjustment-note-form .toggle-line{display:inline-flex;align-items:center;gap:8px;margin-top:6px;min-height:34px;}
.adjustment-note-form input[readonly]{background:#f8fafc;color:#334155;}
.note-slip{max-width:190mm;margin:0 auto;background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:14mm;box-shadow:0 12px 30px rgba(15,23,42,.08);}
.note-slip-head{display:grid;grid-template-columns:42mm 1fr 42mm;align-items:center;border-bottom:2px solid var(--primary,#0f4c81);padding-bottom:8mm;margin-bottom:7mm;}
.note-slip-logo img{max-width:38mm;max-height:22mm;object-fit:contain;}
.note-slip-title{text-align:center;grid-column:2;}
.note-slip-title h1{margin:0;font-size:20px;letter-spacing:.03em;color:var(--primary,#0f4c81);}
.note-slip-title h2{margin:2px 0 4px;font-size:18px;color:var(--primary,#0f4c81);}
.note-slip-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:8mm;}
.note-slip-meta>div,.note-slip-parties>div,.note-slip-impact{border:1px solid #e2e8f0;border-radius:10px;padding:10px;background:#f8fafc;}
.note-slip-parties{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:7mm;}
.note-slip-parties h3{margin:0 0 6px;font-size:12px;color:var(--primary,#0f4c81);}
.note-slip-parties p{margin:0;line-height:1.55;}
.note-slip-table{width:100%;border-collapse:collapse;margin-bottom:7mm;}
.note-slip-table th{background:var(--invoice-heading,#e5e7eb);color:#111827;text-align:center;padding:8px;border:1px solid #cbd5e1;}
.note-slip-table td{padding:9px;border:1px solid #cbd5e1;vertical-align:top;}
.note-slip-table td:not(:first-child){text-align:right;white-space:nowrap;}
.note-slip-impact{margin-bottom:8mm;}
.note-slip-sign{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:10mm;text-align:center;}
.note-slip-sign>div{min-height:28mm;border-top:1px dashed #94a3b8;padding-top:8px;}
@media print{
  .note-slip{box-shadow:none;border:0;border-radius:0;padding:8mm;max-width:none;margin:0;}
  .note-slip-head{margin-top:0;}
  .note-slip-meta>div,.note-slip-parties>div,.note-slip-impact{background:#fff!important;}
  .note-slip-sign{break-inside:avoid;}
}

/* V4.5B Unified Print Theme for operational reports
   Applies only to report/list pages. Invoice sheets, SOA, Credit/Debit note slips and forms keep their own layouts. */
.amasco-report-print-head{display:none;}
@media print{
  body.page-dashboard .amasco-report-print-head,
  body.page-clients .amasco-report-print-head,
  body.page-invoices .amasco-report-print-head,
  body.page-receipts .amasco-report-print-head,
  body.page-advances .amasco-report-print-head,
  body.page-expenses .amasco-report-print-head,
  body.page-ledger .amasco-report-print-head,
  body.page-vat .amasco-report-print-head,
  body.page-retention_adjustments .amasco-report-print-head,
  body.page-activity_logs .amasco-report-print-head,
  body.page-system_health .amasco-report-print-head,
  body.page-demo_report .amasco-report-print-head,
  body.page-reports .amasco-report-print-head,
  body.page-employees .amasco-report-print-head,
  body.page-adjustment_notes .amasco-report-print-head,
  body.page-full_integrity .amasco-report-print-head{
    display:grid!important;
    grid-template-columns:34mm 1fr;
    gap:8mm;
    align-items:center;
    padding:0 0 5mm 0!important;
    margin:0 0 5mm 0!important;
    border-bottom:2px solid #0f4c81!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }
  .amasco-report-print-head .print-brand{height:20mm;display:flex;align-items:center;justify-content:center;border:1px solid #dbe4ef;border-radius:4mm;padding:2mm;background:#fff!important;}
  .amasco-report-print-head .print-brand img{max-width:30mm!important;max-height:16mm!important;object-fit:contain!important;}
  .amasco-report-print-head .print-title h2{margin:0 0 1.5mm!important;font-size:16px!important;line-height:1.15!important;color:#0f172a!important;text-transform:none!important;}
  .amasco-report-print-head .print-title p{margin:0!important;font-size:9.5px!important;line-height:1.35!important;color:#475569!important;}

  body.page-dashboard,
  body.page-clients,
  body.page-invoices,
  body.page-receipts,
  body.page-advances,
  body.page-expenses,
  body.page-ledger,
  body.page-vat,
  body.page-retention_adjustments,
  body.page-activity_logs,
  body.page-system_health,
  body.page-demo_report,
  body.page-reports,
  body.page-employees,
  body.page-adjustment_notes{
    background:#fff!important;
    color:#111827!important;
    -webkit-print-color-adjust:exact!important;
    print-color-adjust:exact!important;
  }

  body.page-dashboard .main,
  body.page-clients .main,
  body.page-invoices .main,
  body.page-receipts .main,
  body.page-advances .main,
  body.page-expenses .main,
  body.page-ledger .main,
  body.page-vat .main,
  body.page-retention_adjustments .main,
  body.page-activity_logs .main,
  body.page-system_health .main,
  body.page-demo_report .main,
  body.page-reports .main,
  body.page-employees .main,
  body.page-adjustment_notes .main{
    margin:0!important;
    padding:7mm!important;
    width:auto!important;
  }

  body.page-dashboard .top,
  body.page-clients .top,
  body.page-invoices .top,
  body.page-receipts .top,
  body.page-advances .top,
  body.page-expenses .top,
  body.page-ledger .top,
  body.page-vat .top,
  body.page-retention_adjustments .top,
  body.page-activity_logs .top,
  body.page-system_health .top,
  body.page-demo_report .top,
  body.page-reports .top,
  body.page-employees .top,
  body.page-adjustment_notes .top,
  body.page-dashboard .side,
  body.page-clients .side,
  body.page-invoices .side,
  body.page-receipts .side,
  body.page-advances .side,
  body.page-expenses .side,
  body.page-ledger .side,
  body.page-vat .side,
  body.page-retention_adjustments .side,
  body.page-activity_logs .side,
  body.page-system_health .side,
  body.page-demo_report .side,
  body.page-reports .side,
  body.page-employees .side,
  body.page-adjustment_notes .side,
  body.page-dashboard .actions,
  body.page-clients .actions,
  body.page-invoices .actions,
  body.page-receipts .actions,
  body.page-advances .actions,
  body.page-expenses .actions,
  body.page-ledger .actions,
  body.page-vat .actions,
  body.page-retention_adjustments .actions,
  body.page-activity_logs .actions,
  body.page-system_health .actions,
  body.page-demo_report .actions,
  body.page-reports .actions,
  body.page-employees .actions,
  body.page-adjustment_notes .actions,
  body.page-dashboard .no-print,
  body.page-clients .no-print,
  body.page-invoices .no-print,
  body.page-receipts .no-print,
  body.page-advances .no-print,
  body.page-expenses .no-print,
  body.page-ledger .no-print,
  body.page-vat .no-print,
  body.page-retention_adjustments .no-print,
  body.page-activity_logs .no-print,
  body.page-system_health .no-print,
  body.page-demo_report .no-print,
  body.page-reports .no-print,
  body.page-employees .no-print,
  body.page-adjustment_notes .no-print{
    display:none!important;
  }

  body.page-dashboard .panel,
  body.page-clients .panel,
  body.page-invoices .panel,
  body.page-receipts .panel,
  body.page-advances .panel,
  body.page-expenses .panel,
  body.page-ledger .panel,
  body.page-vat .panel,
  body.page-retention_adjustments .panel,
  body.page-activity_logs .panel,
  body.page-system_health .panel,
  body.page-demo_report .panel,
  body.page-reports .panel,
  body.page-employees .panel,
  body.page-adjustment_notes .panel,
  body.page-dashboard .card,
  body.page-clients .card,
  body.page-invoices .card,
  body.page-receipts .card,
  body.page-advances .card,
  body.page-expenses .card,
  body.page-ledger .card,
  body.page-vat .card,
  body.page-retention_adjustments .card,
  body.page-activity_logs .card,
  body.page-system_health .card,
  body.page-demo_report .card,
  body.page-reports .card,
  body.page-employees .card,
  body.page-adjustment_notes .card{
    box-shadow:none!important;
    border:1px solid #dbe4ef!important;
    border-radius:4mm!important;
    background:#fff!important;
    padding:4mm!important;
    margin:0 0 4mm!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }

  body.page-dashboard table,
  body.page-clients table,
  body.page-invoices table,
  body.page-receipts table,
  body.page-advances table,
  body.page-expenses table,
  body.page-ledger table,
  body.page-vat table,
  body.page-retention_adjustments table,
  body.page-activity_logs table,
  body.page-system_health table,
  body.page-demo_report table,
  body.page-reports table,
  body.page-employees table,
  body.page-adjustment_notes table{
    width:100%!important;
    border-collapse:collapse!important;
    page-break-inside:auto!important;
    break-inside:auto!important;
  }
  body.page-dashboard tr,
  body.page-clients tr,
  body.page-invoices tr,
  body.page-receipts tr,
  body.page-advances tr,
  body.page-expenses tr,
  body.page-ledger tr,
  body.page-vat tr,
  body.page-retention_adjustments tr,
  body.page-activity_logs tr,
  body.page-system_health tr,
  body.page-demo_report tr,
  body.page-reports tr,
  body.page-employees tr,
  body.page-adjustment_notes tr{break-inside:avoid!important;page-break-inside:avoid!important;}
  body.page-dashboard th,
  body.page-clients th,
  body.page-invoices th,
  body.page-receipts th,
  body.page-advances th,
  body.page-expenses th,
  body.page-ledger th,
  body.page-vat th,
  body.page-retention_adjustments th,
  body.page-activity_logs th,
  body.page-system_health th,
  body.page-demo_report th,
  body.page-reports th,
  body.page-employees th,
  body.page-adjustment_notes th{
    background:#eaf1f8!important;
    color:#0f172a!important;
    font-size:9.4px!important;
    font-weight:800!important;
    letter-spacing:.02em!important;
    text-transform:uppercase!important;
    border:1px solid #cbd5e1!important;
    padding:4px 5px!important;
  }
  body.page-dashboard td,
  body.page-clients td,
  body.page-invoices td,
  body.page-receipts td,
  body.page-advances td,
  body.page-expenses td,
  body.page-ledger td,
  body.page-vat td,
  body.page-retention_adjustments td,
  body.page-activity_logs td,
  body.page-system_health td,
  body.page-demo_report td,
  body.page-reports td,
  body.page-employees td,
  body.page-adjustment_notes td{
    font-size:9.4px!important;
    line-height:1.28!important;
    border:1px solid #e5e7eb!important;
    padding:4px 5px!important;
  }
  body.page-dashboard a,
  body.page-clients a,
  body.page-invoices a,
  body.page-receipts a,
  body.page-advances a,
  body.page-expenses a,
  body.page-ledger a,
  body.page-vat a,
  body.page-retention_adjustments a,
  body.page-activity_logs a,
  body.page-system_health a,
  body.page-demo_report a,
  body.page-reports a,
  body.page-employees a,
  body.page-adjustment_notes a{color:#111827!important;text-decoration:none!important;}

  body.page-invoices table th:last-child,
  body.page-invoices table td:last-child,
  body.page-clients table th:last-child,
  body.page-clients table td:last-child,
  body.page-employees table th.no-print,
  body.page-employees table td.no-print{display:none!important;}
}


/* V4.5B1 Print follow-up: Credit/Debit note uniform print, Advances form hide, Ledger printable data */
@media print{
  body.page-advances form[action*="advance_save"],
  body.page-advances form.screen-only-form,
  body.page-advances form.no-print{
    display:none!important;
  }

  body.page-adjustment_notes .note-slip{
    box-shadow:none!important;
    border:1px solid #dbe4ef!important;
    border-radius:4mm!important;
    background:#fff!important;
    padding:5mm!important;
    margin:0 0 4mm!important;
    max-width:none!important;
    width:100%!important;
  }
  body.page-adjustment_notes .note-slip-head{
    display:grid!important;
    grid-template-columns:28mm 1fr 28mm!important;
    gap:5mm!important;
    border-bottom:1.5px solid #0f4c81!important;
    padding-bottom:4mm!important;
    margin-bottom:4mm!important;
  }
  body.page-adjustment_notes .note-slip-title h1{
    font-size:16px!important;
    letter-spacing:.02em!important;
    color:#0f172a!important;
  }
  body.page-adjustment_notes .note-slip-title h2{
    font-size:13px!important;
    color:#334155!important;
  }
  body.page-adjustment_notes .note-slip-logo img{
    max-width:26mm!important;
    max-height:16mm!important;
  }
  body.page-adjustment_notes .note-slip-meta,
  body.page-adjustment_notes .note-slip-parties,
  body.page-adjustment_notes .note-slip-sign{
    gap:3mm!important;
    margin:4mm 0!important;
  }
  body.page-adjustment_notes .note-slip-meta>div,
  body.page-adjustment_notes .note-slip-parties>div,
  body.page-adjustment_notes .note-slip-impact,
  body.page-adjustment_notes .note-slip-sign>div{
    border:1px solid #dbe4ef!important;
    border-radius:3mm!important;
    background:#fff!important;
    padding:3mm!important;
  }
  body.page-adjustment_notes .note-slip-table th{
    background:#eaf1f8!important;
    color:#0f172a!important;
    border:1px solid #cbd5e1!important;
  }
  body.page-adjustment_notes .note-slip-table td{
    border:1px solid #e5e7eb!important;
  }

  body.page-ledger .panel{
    break-inside:auto!important;
    page-break-inside:auto!important;
    overflow:visible!important;
  }
  body.page-ledger table,
  body.page-ledger .ledger-table,
  body.page-ledger .report-table{
    display:table!important;
    width:100%!important;
    table-layout:auto!important;
    overflow:visible!important;
    break-inside:auto!important;
    page-break-inside:auto!important;
  }
  body.page-ledger thead{display:table-header-group!important;}
  body.page-ledger tbody{display:table-row-group!important;}
  body.page-ledger tr{display:table-row!important;break-inside:avoid!important;page-break-inside:avoid!important;}
  body.page-ledger th,body.page-ledger td{display:table-cell!important;white-space:normal!important;word-break:break-word!important;overflow:visible!important;}
  body.page-ledger td:nth-child(5),body.page-ledger td:nth-child(6){text-align:right!important;white-space:nowrap!important;}
}


/* ==========================================================
   AMASCO Invoicing Pro V4.5B2
   Universal Compact Print Table Optimization
   Purpose: make printed report data tables smaller, cleaner and A4 friendly.
   Scope: operational/report pages only. Invoice/SOA/special slip layouts preserved.
   ========================================================== */
@media print{
  @page{size:A4;margin:8mm 7mm 9mm 7mm;}

  /* Global report page density */
  body:not(.page-invoice_view):not(.page-soa){
    font-size:8px!important;
    line-height:1.22!important;
    color:#111827!important;
  }
  body:not(.page-invoice_view):not(.page-soa) .main{
    padding:0!important;
    margin:0!important;
    width:100%!important;
    max-width:none!important;
  }
  body:not(.page-invoice_view):not(.page-soa) .panel,
  body:not(.page-invoice_view):not(.page-soa) .card{
    box-shadow:none!important;
    border:0.35pt solid #d7dee8!important;
    border-radius:2mm!important;
    padding:2.2mm!important;
    margin:0 0 2.2mm 0!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }
  body:not(.page-invoice_view):not(.page-soa) .panel h2,
  body:not(.page-invoice_view):not(.page-soa) .panel h3{
    font-size:10px!important;
    line-height:1.15!important;
    margin:0 0 1.5mm 0!important;
  }

  /* Universal compact table sizing */
  body:not(.page-invoice_view):not(.page-soa) table:not(.invoice-items):not(.inv-items):not(.inv-totals):not(.soa-table):not(.soa-clean-table){
    width:100%!important;
    border-collapse:collapse!important;
    border-spacing:0!important;
    table-layout:auto!important;
    border:0.35pt solid #cbd5e1!important;
    border-radius:0!important;
    overflow:visible!important;
    margin:0 0 1.8mm 0!important;
    page-break-inside:auto!important;
    break-inside:auto!important;
  }
  body:not(.page-invoice_view):not(.page-soa) table:not(.invoice-items):not(.inv-items):not(.inv-totals):not(.soa-table):not(.soa-clean-table) thead{
    display:table-header-group!important;
  }
  body:not(.page-invoice_view):not(.page-soa) table:not(.invoice-items):not(.inv-items):not(.inv-totals):not(.soa-table):not(.soa-clean-table) tbody{
    display:table-row-group!important;
  }
  body:not(.page-invoice_view):not(.page-soa) table:not(.invoice-items):not(.inv-items):not(.inv-totals):not(.soa-table):not(.soa-clean-table) tr{
    page-break-inside:avoid!important;
    break-inside:avoid!important;
  }
  body:not(.page-invoice_view):not(.page-soa) table:not(.invoice-items):not(.inv-items):not(.inv-totals):not(.soa-table):not(.soa-clean-table) th,
  body:not(.page-invoice_view):not(.page-soa) table:not(.invoice-items):not(.inv-items):not(.inv-totals):not(.soa-table):not(.soa-clean-table) td{
    font-size:7.4px!important;
    line-height:1.18!important;
    padding:1.25mm 1.4mm!important;
    border:0.35pt solid #d7dee8!important;
    vertical-align:top!important;
    border-radius:0!important;
    white-space:normal!important;
    word-break:break-word!important;
    overflow:visible!important;
  }
  body:not(.page-invoice_view):not(.page-soa) table:not(.invoice-items):not(.inv-items):not(.inv-totals):not(.soa-table):not(.soa-clean-table) th{
    font-size:7px!important;
    font-weight:800!important;
    text-transform:uppercase!important;
    letter-spacing:.02em!important;
    background:#eef3f8!important;
    color:#0f172a!important;
    -webkit-print-color-adjust:exact!important;
    print-color-adjust:exact!important;
  }

  /* Numeric columns remain readable but compact */
  body:not(.page-invoice_view):not(.page-soa) td.num,
  body:not(.page-invoice_view):not(.page-soa) th.num,
  body:not(.page-invoice_view):not(.page-soa) td.amount,
  body:not(.page-invoice_view):not(.page-soa) th.amount{
    text-align:right!important;
    white-space:nowrap!important;
    font-variant-numeric:tabular-nums!important;
  }

  /* Wide finance reports need slightly smaller table type */
  body.page-ledger table th,
  body.page-ledger table td,
  body.page-vat table th,
  body.page-vat table td,
  body.page-system_health table th,
  body.page-system_health table td,
  body.page-demo_report table th,
  body.page-demo_report table td{
    font-size:6.9px!important;
    line-height:1.15!important;
    padding:1mm 1.15mm!important;
  }

  /* Compact dashboard cards and report cards */
  body.page-dashboard .modern-kpis,
  body.page-dashboard .dashboard-mini-row{
    gap:3.2mm!important;
  }
  body.page-dashboard .kpi-card,
  body.page-dashboard .mini-stat{
    padding:2mm!important;
    min-height:10mm!important;
  }
  body.page-dashboard .kpi-card b,
  body.page-dashboard .mini-stat b{
    font-size:6.8px!important;
    line-height:1.05!important;
    margin-bottom:.8mm!important;
  }
  body.page-dashboard .kpi-card span,
  body.page-dashboard .mini-stat span{
    font-size:10.8px!important;
    line-height:1.1!important;
  }
  body.page-dashboard .trend-row{
    grid-template-columns:32px 1fr!important;
    gap:2mm!important;
    padding-bottom:1mm!important;
    margin-bottom:.8mm!important;
  }
  body.page-dashboard .trend-row b,
  body.page-dashboard .trend-row small,
  body.page-dashboard .polished-bars b,
  body.page-dashboard .polished-bars small{
    font-size:6.8px!important;
  }
  body.page-dashboard .bar,
  body.page-dashboard .polished-bars span{
    height:1.8mm!important;
  }

  /* Keep action/filter/form areas hidden in print across report pages */
  .filters,.filter-row,.search-box,.form-grid,.form-actions,.no-print,.actions,button,.btn,input[type="submit"]{
    display:none!important;
  }

  /* Do not disturb invoice/SOA/special document print engines */
  body.page-invoice_view .amasco-report-print-header,
  body.page-soa .amasco-report-print-header{
    display:none!important;
  }
}


/* ==========================================================
   AMASCO Invoicing Pro V4.5B3
   SOA + Ledger Print Layout Refinement
   Purpose: make SOA report tables smaller and prevent Ledger heading-only first page.
   Scope: print CSS only. No calculation or database logic changes.
   ========================================================== */
@media print{
  /* SOA: compact A4 table and summary without changing SOA calculations/content */
  body.page-soa{
    font-size:7.2px!important;
    line-height:1.12!important;
    background:#fff!important;
  }
  body.page-soa .main{
    margin:0!important;
    padding:0!important;
    width:100%!important;
    max-width:none!important;
  }
  body.page-soa .print-sheet.soa-sheet,
  body.page-soa .soa-sheet.soa-pro,
  body.page-soa .panel.soa-pro{
    width:100%!important;
    max-width:196mm!important;
    padding:3mm 3.5mm!important;
    margin:0 auto!important;
    box-shadow:none!important;
    border:0!important;
    border-radius:0!important;
    overflow:visible!important;
  }
  body.page-soa .soa-pro-head,
  body.page-soa .report-head{
    padding-bottom:1.5mm!important;
    margin-bottom:1.6mm!important;
    gap:2.5mm!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }
  body.page-soa .soa-client-block h2,
  body.page-soa .report-head h2{
    font-size:10.5px!important;
    line-height:1.05!important;
    margin:0!important;
  }
  body.page-soa .soa-client-block,
  body.page-soa .report-head div{
    font-size:6.6px!important;
    line-height:1.08!important;
  }
  body.page-soa .soa-logo-block{min-height:12mm!important;width:34mm!important;flex-basis:34mm!important;padding:1mm!important;}
  body.page-soa .soa-logo-block img{max-width:31mm!important;max-height:11mm!important;}
  body.page-soa .soa-finance-strip,
  body.page-soa .soa-summary-pro,
  body.page-soa .soa-summary-clean{
    gap:1.2mm!important;
    margin:1.2mm 0 1.6mm 0!important;
  }
  body.page-soa .soa-finance-strip span,
  body.page-soa .soa-summary-pro .card,
  body.page-soa .soa-summary-clean .card{
    min-height:auto!important;
    padding:1.1mm 1.3mm!important;
    border-radius:1mm!important;
    box-shadow:none!important;
  }
  body.page-soa .soa-finance-strip span b,
  body.page-soa .soa-summary-pro .card b,
  body.page-soa .soa-summary-clean .card b{
    font-size:5.8px!important;
    line-height:1!important;
    margin:0 0 .4mm 0!important;
  }
  body.page-soa .soa-finance-strip span strong,
  body.page-soa .soa-summary-pro .card span,
  body.page-soa .soa-summary-clean .card span{
    font-size:7.4px!important;
    line-height:1.02!important;
  }
  body.page-soa .soa-note{
    font-size:5.8px!important;
    line-height:1.05!important;
    padding:.8mm 1mm!important;
    margin:.8mm 0 1mm 0!important;
  }
  body.page-soa .soa-table,
  body.page-soa .soa-clean-table{
    width:100%!important;
    table-layout:fixed!important;
    border-collapse:collapse!important;
    font-size:5.8px!important;
    line-height:1.04!important;
    margin:0!important;
    page-break-inside:auto!important;
    break-inside:auto!important;
  }
  body.page-soa .soa-table thead,
  body.page-soa .soa-clean-table thead{display:table-header-group!important;}
  body.page-soa .soa-table tbody,
  body.page-soa .soa-clean-table tbody{display:table-row-group!important;}
  body.page-soa .soa-table tr,
  body.page-soa .soa-clean-table tr{page-break-inside:avoid!important;break-inside:avoid!important;}
  body.page-soa .soa-table th,
  body.page-soa .soa-table td,
  body.page-soa .soa-clean-table th,
  body.page-soa .soa-clean-table td{
    font-size:5.8px!important;
    line-height:1.04!important;
    padding:.55mm .55mm!important;
    border:.3pt solid #d7dee8!important;
    vertical-align:top!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:anywhere!important;
  }
  body.page-soa .soa-table th,
  body.page-soa .soa-clean-table th{
    font-size:5.5px!important;
    font-weight:800!important;
    background:#eef3f8!important;
    color:#0f172a!important;
    -webkit-print-color-adjust:exact!important;
    print-color-adjust:exact!important;
  }
  body.page-soa .soa-table small,
  body.page-soa .soa-clean-table small{font-size:5.2px!important;line-height:1!important;margin-top:.2mm!important;}
  body.page-soa .soa-table th:nth-child(1),body.page-soa .soa-table td:nth-child(1),
  body.page-soa .soa-clean-table th:nth-child(1),body.page-soa .soa-clean-table td:nth-child(1){width:13mm!important;}
  body.page-soa .soa-table th:nth-child(2),body.page-soa .soa-table td:nth-child(2),
  body.page-soa .soa-clean-table th:nth-child(2),body.page-soa .soa-clean-table td:nth-child(2){width:10mm!important;}
  body.page-soa .soa-table th:nth-child(3),body.page-soa .soa-table td:nth-child(3),
  body.page-soa .soa-clean-table th:nth-child(3),body.page-soa .soa-clean-table td:nth-child(3){width:18mm!important;}
  body.page-soa .soa-table th:nth-child(4),body.page-soa .soa-table td:nth-child(4),
  body.page-soa .soa-clean-table th:nth-child(4),body.page-soa .soa-clean-table td:nth-child(4){width:40mm!important;}
  body.page-soa .soa-table th:nth-child(n+5),body.page-soa .soa-table td:nth-child(n+5),
  body.page-soa .soa-clean-table th:nth-child(n+5),body.page-soa .soa-clean-table td:nth-child(n+5){
    width:14mm!important;
    text-align:right!important;
    white-space:nowrap!important;
    font-variant-numeric:tabular-nums!important;
  }

  /* Ledger: prevent first printed page from showing heading only */
  body.page-ledger .amasco-report-print-header{
    padding:1.5mm 0 1.8mm 0!important;
    margin:0 0 1.5mm 0!important;
    min-height:0!important;
    break-after:avoid!important;
    page-break-after:avoid!important;
  }
  body.page-ledger .amasco-report-print-header h1,
  body.page-ledger .amasco-report-print-header h2,
  body.page-ledger .print-title,
  body.page-ledger h1,
  body.page-ledger h2{
    font-size:10px!important;
    line-height:1.08!important;
    margin:0 0 1mm 0!important;
    padding:0!important;
    break-after:avoid!important;
    page-break-after:avoid!important;
  }
  body.page-ledger .panel,
  body.page-ledger .card,
  body.page-ledger .report-panel{
    padding:1.5mm!important;
    margin:0 0 1.5mm 0!important;
    break-inside:auto!important;
    page-break-inside:auto!important;
    break-before:auto!important;
    page-break-before:auto!important;
    overflow:visible!important;
  }
  body.page-ledger table,
  body.page-ledger .ledger-table,
  body.page-ledger .report-table{
    margin-top:0!important;
    page-break-before:auto!important;
    break-before:auto!important;
    page-break-inside:auto!important;
    break-inside:auto!important;
    table-layout:auto!important;
  }
  body.page-ledger th,
  body.page-ledger td{
    font-size:6.3px!important;
    line-height:1.08!important;
    padding:.75mm .85mm!important;
  }
  body.page-ledger thead{display:table-header-group!important;}
  body.page-ledger tbody{display:table-row-group!important;}
  body.page-ledger tr{page-break-inside:avoid!important;break-inside:avoid!important;}
  body.page-ledger .filters,
  body.page-ledger form,
  body.page-ledger .formgrid,
  body.page-ledger .filter-row{display:none!important;}
}


/* ==========================================================
   AMASCO Invoicing Pro V4.5B4
   Screen Density and Compact View Optimization
   Purpose: slightly zoom out the overall live system view so more records,
   cards and fields fit on normal laptop/desktop screens.
   Scope: screen CSS only. Print, invoice rendering, SOA print and calculations unchanged.
   ========================================================== */
@media screen{
  :root{
    --amasco-screen-font:12px;
    --amasco-screen-small:10.5px;
    --amasco-field-h:38px;
    --amasco-field-radius:8px;
  }

  html{font-size:12px!important;}
  body{
    font-size:var(--amasco-screen-font)!important;
    line-height:1.28!important;
    overflow-x:auto;
  }

  /* Compact fixed navigation and content canvas */
  .side{
    width:230px!important;
    padding:10px 9px!important;
  }
  .brand{
    font-size:15.5px!important;
    line-height:1.05!important;
    margin-bottom:8px!important;
  }
  .brand span{font-size:9.5px!important;}
  .side details{
    padding:3px!important;
    margin-bottom:4px!important;
    border-radius:9px!important;
  }
  .side summary{
    font-size:10.5px!important;
    padding:5.5px 7px!important;
  }
  .side a{
    font-size:10.8px!important;
    padding:5.5px 7px!important;
    border-radius:7px!important;
    margin:1.5px 0!important;
  }
  .main{
    margin-left:230px!important;
    padding:10px 12px!important;
  }
  .top{
    margin-bottom:8px!important;
    gap:8px!important;
  }
  .top h1{
    font-size:17px!important;
    line-height:1.15!important;
  }
  .top a{margin-left:6px!important;}

  /* Compact panels, cards, grids and headings */
  .panel{
    border-radius:11px!important;
    padding:10px!important;
    margin-bottom:10px!important;
    box-shadow:0 4px 14px rgba(15,23,42,.055)!important;
  }
  .grid{gap:8px!important;}
  .two{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))!important;}
  .cards,.dashboard-kpis-wide{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))!important;}
  .card{
    border-radius:11px!important;
    padding:10px!important;
    box-shadow:0 4px 14px rgba(15,23,42,.055)!important;
  }
  .card b{font-size:10px!important;line-height:1.12!important;}
  .card span{font-size:17px!important;margin-top:4px!important;line-height:1.05!important;}
  h1{font-size:18px!important;}
  h2{font-size:15px!important;margin:0 0 7px!important;}
  h3{font-size:12.5px!important;margin:8px 0 6px!important;}
  p,.muted,small{line-height:1.25!important;}

  /* Compact forms without sacrificing usability */
  .formgrid,.form-grid,.grid-form{
    grid-template-columns:repeat(auto-fit,minmax(170px,1fr))!important;
    gap:9px 10px!important;
    align-items:end!important;
  }
  label,.formgrid > label,.form-grid > label,.grid-form > label,
  .form-group > label,.field > label{
    font-size:10.5px!important;
    line-height:1.15!important;
  }
  input[type="text"],input[type="number"],input[type="email"],input[type="password"],
  input[type="date"],input[type="month"],input[type="tel"],input[type="url"],select,input,select{
    min-height:38px!important;
    height:38px!important;
    padding:6px 8px!important;
    font-size:11.3px!important;
    border-radius:8px!important;
    margin-top:4px!important;
  }
  textarea{
    min-height:62px!important;
    padding:7px 8px!important;
    font-size:11.3px!important;
    border-radius:8px!important;
  }
  button,.btn{
    padding:6.5px 9px!important;
    font-size:11.5px!important;
    border-radius:8px!important;
    margin:2px!important;
  }
  .actions{margin-bottom:8px!important;}

  /* Compact tables and report lists for screen view */
  table{font-size:11px!important;}
  th,td{
    padding:4.8px 5px!important;
    font-size:11px!important;
    line-height:1.22!important;
  }
  th{font-size:10.5px!important;}
  .badge,.badge-ok,.badge-off{
    font-size:10px!important;
    padding:2.5px 6px!important;
  }
  .alert{
    padding:8px!important;
    border-radius:8px!important;
    margin-bottom:8px!important;
    font-size:11px!important;
  }
  details{padding:8px!important;margin-bottom:8px!important;border-radius:10px!important;}
  summary{font-size:11px!important;}

  /* Invoice item entry rows: fit more columns while keeping current behavior */
  .item-header,.itemrow{
    grid-template-columns:42px minmax(260px,1.8fr) minmax(110px,.6fr) 68px 82px 82px 70px!important;
    gap:5px!important;
    padding:6px!important;
    margin-bottom:5px!important;
  }
  .itemrow .extra-fields{
    gap:5px!important;
    padding:5px!important;
  }
  .row-remove{min-height:30px!important;height:30px!important;font-size:10.5px!important;padding:5px 7px!important;}

  /* Screen SOA and dashboard density */
  .soa-filter{gap:7px!important;}
  .soa-pro .report-head,.soa-pro-head{padding-bottom:8px!important;margin-bottom:8px!important;}
  .soa-summary-pro .card,.soa-summary-clean .card{padding:9px 10px!important;min-height:58px!important;}
  .soa-summary-pro .card span,.soa-summary-clean .card span{font-size:15px!important;}
  .soa-table,.soa-clean-table{font-size:10.5px!important;}
  .soa-table th,.soa-table td,.soa-clean-table th,.soa-clean-table td{padding:5px 4px!important;font-size:10.5px!important;}
  .dashboard-kpis{margin-bottom:12px!important;}
  .bars div{grid-template-columns:145px 1fr 78px!important;gap:7px!important;margin-bottom:5px!important;}
  .bars span{height:12px!important;}

  /* Keep login and full A4 invoice preview readable; do not over-compress invoice sheet. */
  .login-card{width:380px!important;padding:24px!important;}
  .invoice-sheet{font-size:9px!important;}
}

/* Extra optimization for common laptop widths */
@media screen and (max-width:1366px){
  .side{width:218px!important;}
  .main{margin-left:218px!important;padding:8px 10px!important;}
  .cards,.dashboard-kpis-wide{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))!important;}
  .card span{font-size:15.5px!important;}
  th,td{font-size:10.4px!important;padding:4px!important;}
  .formgrid,.form-grid,.grid-form{grid-template-columns:repeat(auto-fit,minmax(155px,1fr))!important;gap:8px!important;}
}


/* =========================================================
   AMASCO V4.5B5 — Universal Page Icon Markers
   Adds consistent, lightweight visual markers before sidebar
   links and top page titles without changing PHP page logic.
   ========================================================= */
:root{
  --amasco-page-icon-size: 16px;
  --amasco-nav-icon-size: 14px;
}

/* Sidebar icons */
.side nav a::before{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:18px;
  min-width:18px;
  margin-right:7px;
  font-size:var(--amasco-nav-icon-size);
  line-height:1;
  opacity:.95;
  filter:saturate(.95);
}
.side nav a[href*="page=dashboard"]::before{content:"🏠";}
.side nav a[href*="page=invoice_form"]::before{content:"🧾";}
.side nav a[href*="page=invoices"]::before{content:"📑";}
.side nav a[href*="page=receipts"]::before{content:"💳";}
.side nav a[href*="page=receipt_form"]::before{content:"💳";}
.side nav a[href*="page=soa"]::before{content:"📘";}
.side nav a[href*="page=retention_adjustments"]::before{content:"🔒";}
.side nav a[href*="page=adjustment_notes"]::before{content:"↕️";}
.side nav a[href*="page=adjustment_note_form"]::before{content:"↕️";}
.side nav a[href*="page=clients"]::before{content:"🤝";}
.side nav a[href*="page=client_form"]::before{content:"🤝";}
.side nav a[href*="page=employees"]::before{content:"👷";}
.side nav a[href*="page=advances"]::before{content:"💸";}
.side nav a[href*="page=expenses"]::before{content:"🧾";}
.side nav a[href*="page=vat"]::before{content:"🧮";}
.side nav a[href*="page=ledger"]::before{content:"📒";}
.side nav a[href*="page=reports"]::before{content:"📊";}
.side nav a[href*="page=zatca"]::before{content:"🔐";}
.side nav a[href*="page=master"]::before{content:"🧩";}
.side nav a[href*="page=invoice_types"]::before{content:"🏷️";}
.side nav a[href*="page=invoice_layouts"]::before{content:"📐";}
.side nav a[href*="page=about"]::before{content:"ℹ️";}
.side nav a[href*="page=settings"]::before{content:"🏢";}
.side nav a[href*="page=theme"]::before{content:"🎨";}
.side nav a[href*="page=users"]::before{content:"👤";}
.side nav a[href*="page=user_rights"]::before{content:"👥";}
.side nav a[href*="page=owner_security"]::before{content:"🔐";}
.side nav a[href*="page=backup_restore"]::before{content:"💾";}
.side nav a[href*="page=activity_logs"]::before{content:"🕘";}
.side nav a[href*="page=sensitive_action_register"]::before{content:"🛡️";}
.side nav a[href*="page=demo"]::before{content:"🧪";}
.side nav a[href*="page=demo_report"]::before{content:"🧪";}
.side nav a[href*="page=system_health"]::before{content:"🩺";}
.side nav a[href*="page=full_integrity"]::before{content:"✅";}
.side nav a[href*="page=production_readiness"]::before{content:"🚀";}
.side nav a[href*="page=change_password"]::before{content:"🔑";}

/* Topbar page title icons: use page body classes so the title text remains unchanged. */
.top h1::before{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:26px;
  height:26px;
  margin-right:8px;
  border-radius:9px;
  font-size:var(--amasco-page-icon-size);
  line-height:1;
  background:color-mix(in srgb,var(--amasco-primary,#2563eb) 10%, transparent);
  color:var(--amasco-primary,#2563eb);
  vertical-align:-2px;
}
body.page-dashboard .top h1::before{content:"🏠";}
body.page-invoice_form .top h1::before{content:"🧾";}
body.page-invoices .top h1::before{content:"📑";}
body.page-invoice_view .top h1::before{content:"🧾";}
body.page-receipts .top h1::before,
body.page-receipt_form .top h1::before{content:"💳";}
body.page-soa .top h1::before{content:"📘";}
body.page-retention_adjustments .top h1::before{content:"🔒";}
body.page-adjustment_notes .top h1::before,
body.page-adjustment_note_form .top h1::before,
body.page-adjustment_note_view .top h1::before{content:"↕️";}
body.page-clients .top h1::before,
body.page-client_form .top h1::before{content:"🤝";}
body.page-employees .top h1::before{content:"👷";}
body.page-advances .top h1::before{content:"💸";}
body.page-expenses .top h1::before{content:"🧾";}
body.page-vat .top h1::before{content:"🧮";}
body.page-ledger .top h1::before{content:"📒";}
body.page-reports .top h1::before{content:"📊";}
body.page-zatca .top h1::before{content:"🔐";}
body.page-master .top h1::before{content:"🧩";}
body.page-invoice_types .top h1::before{content:"🏷️";}
body.page-invoice_layouts .top h1::before{content:"📐";}
body.page-about .top h1::before{content:"ℹ️";}
body.page-settings .top h1::before{content:"🏢";}
body.page-theme .top h1::before{content:"🎨";}
body.page-users .top h1::before{content:"👤";}
body.page-user_rights .top h1::before{content:"👥";}
body.page-owner_security .top h1::before{content:"🔐";}
body.page-backup_restore .top h1::before{content:"💾";}
body.page-activity_logs .top h1::before{content:"🕘";}
body.page-sensitive_action_register .top h1::before{content:"🛡️";}
body.page-demo .top h1::before,
body.page-demo_report .top h1::before{content:"🧪";}
body.page-system_health .top h1::before{content:"🩺";}
body.page-full_integrity .top h1::before{content:"✅";}
body.page-production_readiness .top h1::before{content:"🚀";}
body.page-change_password .top h1::before{content:"🔑";}


/* Keep print output professional and text-focused. */
@media print{
  .side nav a::before,
  .top h1::before{display:none!important;content:none!important;}
}

/* V4.5B6: User creation password eye control */
.password-eye-wrap{position:relative;display:flex;align-items:center;width:100%}
.password-eye-wrap input{width:100%;padding-right:42px!important}
.password-eye-btn{position:absolute;right:5px;top:50%;transform:translateY(-50%);height:28px!important;min-width:32px!important;padding:0 7px!important;background:transparent!important;color:#475569!important;border:0!important;box-shadow:none!important;cursor:pointer;font-size:14px!important;line-height:1!important}
.password-eye-btn:hover{background:#eef2f7!important;color:#0f172a!important;border-radius:8px!important}
.password-eye-field small{display:block;margin-top:5px;color:#64748b;font-size:11px;line-height:1.35}
@media print{.password-eye-btn{display:none!important}}


/* V4.5B7 - user form password tooltip alignment */
.field-label-with-tip{display:inline-flex;align-items:center;gap:5px;line-height:1.25}
.password-eye-field .tip{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:50%;background:#e2e8f0;color:#334155;font-size:10px;font-weight:800;cursor:help;vertical-align:middle}
.password-eye-field small{display:none!important}

/* V4.5C Aging Report + Client Credit Terms */
.aging-kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));}
.aging-kpis .card span{font-size:18px;font-weight:900;}
.aging-table th,.aging-table td,.aging-detail-table th,.aging-detail-table td{white-space:nowrap;}
.badge.ok{background:#dcfce7;color:#166534;border:1px solid #86efac;}
.badge.warn{background:#fef3c7;color:#92400e;border:1px solid #fcd34d;}
.badge.danger{background:#fee2e2;color:#991b1b;border:1px solid #fecaca;}
@media print{
  .aging-kpis{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:5px!important;}
  .aging-kpis .card{padding:5px!important;min-height:auto!important;}
  .aging-kpis .card span{font-size:11px!important;}
  .aging-table th,.aging-table td,.aging-detail-table th,.aging-detail-table td{font-size:8px!important;padding:2px 3px!important;white-space:normal!important;}
}


/* V4.5C1 - Create/Edit Invoice tooltip and clean toggle alignment */
body.page-invoice_form .formgrid label .field-label-with-tip{
  display:inline-flex;
  align-items:center;
  gap:5px;
  line-height:1.2;
}
body.page-invoice_form .formgrid label > small{
  display:none!important;
}
body.page-invoice_form .toggle-field-clean{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:8px!important;
  min-height:42px;
  padding:8px 10px!important;
  border:1px solid var(--amasco-border,#cbd5e1);
  border-radius:10px;
  background:#fff;
  box-sizing:border-box;
}
body.page-invoice_form .toggle-field-clean input{display:none!important;}
body.page-invoice_form .toggle-field-clean i{
  flex:0 0 40px!important;
  width:40px!important;
  height:22px!important;
  margin:0!important;
  order:1;
}
body.page-invoice_form .toggle-field-clean i:before{
  width:16px!important;
  height:16px!important;
  left:3px!important;
  top:3px!important;
}
body.page-invoice_form .toggle-field-clean input:checked+i:before{
  left:21px!important;
}
body.page-invoice_form .toggle-field-clean .toggle-label{
  order:2;
  margin:0!important;
  padding:0!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:5px!important;
  white-space:normal;
  line-height:1.15;
  font-weight:700;
  color:#475569;
}
@media print{
  body.page-invoice_form .toggle-field-clean{border:0!important;padding:0!important;}
}

/* V4.5D1 Opening Balances */
.compact-input-table input[type="date"],
.compact-input-table input[type="number"],
.compact-input-table input[type="text"]{padding:6px 7px;font-size:12px;}
.opening-balance-form table td{vertical-align:middle;}
.page-opening_balances .card span{font-size:17px;}
@media print{
  .page-opening_balances .compact-input-table input{border:0;background:transparent;padding:0;box-shadow:none;}
  .page-opening_balances .form-actions{display:none!important;}
}

/* =========================================================
   AMASCO V4.5D2 — Opening Balance UI, Print, Version & System Health Refresh Fixes
   ========================================================= */
.print-only{display:none!important;}
.side nav a[href*="page=opening_balances"]::before{content:"⚖️";}
body.page-opening_balances .top h1::before{content:"⚖️";}
@media print{
  .print-only{display:block!important;}
  body.page-aging_report .actions,
  body.page-aging_report form,
  body.page-opening_balances .actions,
  body.page-opening_balances form,
  body.page-opening_balances .form-actions{display:none!important;}
  body.page-aging_report .amasco-report-print-head,
  body.page-opening_balances .amasco-report-print-head{display:flex!important;margin:0 0 5mm 0!important;padding:0 0 3mm 0!important;border-bottom:1px solid #d1d5db!important;break-after:auto!important;page-break-after:auto!important;}
  body.page-aging_report .panel,
  body.page-opening_balances .panel{margin:0 0 4mm 0!important;padding:4mm!important;break-inside:auto!important;page-break-inside:auto!important;}
  body.page-aging_report .panel h2,
  body.page-opening_balances .panel h2{font-size:12px!important;margin:0 0 3mm 0!important;line-height:1.1!important;}
  body.page-aging_report .aging-kpis{display:grid!important;grid-template-columns:repeat(6,1fr)!important;gap:3px!important;margin:0 0 4mm 0!important;}
  body.page-aging_report .aging-kpis .card{padding:3px 4px!important;min-height:0!important;margin:0!important;}
  body.page-aging_report .aging-kpis .card b{font-size:7px!important;line-height:1.05!important;}
  body.page-aging_report .aging-kpis .card span{font-size:9px!important;line-height:1.05!important;}
  body.page-aging_report .aging-table,
  body.page-aging_report .aging-detail-table,
  body.page-opening_balances .opening-print-table{width:100%!important;border-collapse:collapse!important;font-size:7.6px!important;line-height:1.08!important;page-break-before:auto!important;break-before:auto!important;}
  body.page-aging_report .aging-table th,
  body.page-aging_report .aging-table td,
  body.page-aging_report .aging-detail-table th,
  body.page-aging_report .aging-detail-table td,
  body.page-opening_balances .opening-print-table th,
  body.page-opening_balances .opening-print-table td{padding:2px 2.5px!important;border:1px solid #cbd5e1!important;white-space:normal!important;vertical-align:top!important;}
  body.page-aging_report .badge{font-size:7px!important;padding:1px 3px!important;}
  body.page-opening_balances .opening-print-report{display:block!important;}
}


/* =========================================================
   AMASCO V4.5D3 — Report Review + Demo Diagnostic Blank Print Page Fix
   Purpose: keep diagnostic/report print header attached to content and prevent blank first page.
   ========================================================= */
@media print{
  body.page-demo_report .amasco-report-print-head,
  body.page-system_health .amasco-report-print-head,
  body.page-dashboard .amasco-report-print-head{
    margin:0 0 3mm 0!important;
    padding:0 0 2.5mm 0!important;
    break-after:auto!important;
    page-break-after:auto!important;
  }
  body.page-demo_report .panel,
  body.page-demo_report .card,
  body.page-demo_report .report-section,
  body.page-system_health .panel{
    break-inside:auto!important;
    page-break-inside:auto!important;
    break-before:auto!important;
    page-break-before:auto!important;
    margin-top:0!important;
  }
  body.page-demo_report .panel:first-of-type,
  body.page-demo_report .panel:first-child{
    margin-top:0!important;
    break-before:auto!important;
    page-break-before:auto!important;
  }
  body.page-demo_report table,
  body.page-demo_report .report-table{
    break-before:auto!important;
    page-break-before:auto!important;
    break-inside:auto!important;
    page-break-inside:auto!important;
  }
  body.page-demo_report thead{display:table-header-group!important;}
  body.page-demo_report tr{break-inside:avoid!important;page-break-inside:avoid!important;}
  body.page-demo_report h1,
  body.page-demo_report h2,
  body.page-demo_report h3,
  body.page-system_health h1,
  body.page-system_health h2,
  body.page-system_health h3{
    break-after:avoid!important;
    page-break-after:avoid!important;
  }
  body.page-demo_report .actions,
  body.page-demo_report .smart-export-row,
  body.page-demo_report form,
  body.page-demo_report button{display:none!important;}
  body.page-demo_report .report-table th,
  body.page-demo_report .report-table td,
  body.page-demo_report table th,
  body.page-demo_report table td{
    font-size:7.3px!important;
    padding:1.7px 2.2px!important;
    line-height:1.08!important;
    white-space:normal!important;
  }
}


/* =========================================================
   AMASCO V4.5D4 — Demo Diagnostic Print Blank First Page Final Fix
   Purpose: remove the separate print header block only for Demo Diagnostic Report
   so the first diagnostic panel starts immediately on page 1.
   ========================================================= */
@media print{
  body.page-demo_report .amasco-report-print-head{
    display:none!important;
    height:0!important;
    min-height:0!important;
    max-height:0!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    overflow:hidden!important;
  }
  body.page-demo_report .main{
    padding:5mm!important;
    margin:0!important;
  }
  body.page-demo_report .panel:first-of-type,
  body.page-demo_report .panel:first-child{
    margin-top:0!important;
    padding-top:3mm!important;
    break-before:auto!important;
    page-break-before:auto!important;
    break-inside:auto!important;
    page-break-inside:auto!important;
  }
  body.page-demo_report .panel:first-of-type h1,
  body.page-demo_report .panel:first-of-type h2{
    margin-top:0!important;
    padding-top:0!important;
    break-before:auto!important;
    page-break-before:auto!important;
    break-after:avoid!important;
    page-break-after:avoid!important;
  }
  body.page-demo_report table{
    margin-top:2mm!important;
    break-before:auto!important;
    page-break-before:auto!important;
  }
}

/* V4.5E2 Universal UI/UX Standardization + Report Theme Alignment
   Purpose: keep alerts, action links, badges, forms, tables and report print layouts consistent system-wide. */
:root{
  --ui-success-bg:#ecfdf5; --ui-success-border:#86efac; --ui-success-text:#166534;
  --ui-danger-bg:#fef2f2; --ui-danger-border:#fecaca; --ui-danger-text:#991b1b;
  --ui-warning-bg:#fffbeb; --ui-warning-border:#fde68a; --ui-warning-text:#92400e;
  --ui-info-bg:#eff6ff; --ui-info-border:#bfdbfe; --ui-info-text:#1e40af;
}
.alert,.ok,.notice{border-radius:14px!important;padding:12px 14px!important;margin:10px 0 14px!important;font-weight:700!important;line-height:1.35!important;box-shadow:0 8px 22px rgba(15,23,42,.06)!important;border-left-width:5px!important;}
.alert.success,.ok,.notice.success{background:var(--ui-success-bg)!important;border:1px solid var(--ui-success-border)!important;border-left-color:#16a34a!important;color:var(--ui-success-text)!important;}
.alert.danger,.alert.error,.alert:not(.success):not(.warning):not(.warn):not(.info){background:var(--ui-danger-bg)!important;border:1px solid var(--ui-danger-border)!important;border-left-color:#dc2626!important;color:var(--ui-danger-text)!important;}
.alert.warning,.alert.warn,.notice.warning{background:var(--ui-warning-bg)!important;border:1px solid var(--ui-warning-border)!important;border-left-color:#f59e0b!important;color:var(--ui-warning-text)!important;}
.alert.info,.notice.info{background:var(--ui-info-bg)!important;border:1px solid var(--ui-info-border)!important;border-left-color:#2563eb!important;color:var(--ui-info-text)!important;}
.row-actions{white-space:nowrap;}
.action-link{font-weight:800;text-decoration:none;color:#1d4ed8;}
.action-link:hover{text-decoration:underline;}
.action-danger{color:#b91c1c!important;}
.action-unlock{color:#047857!important;}
.action-sep{color:#cbd5e1;margin:0 3px;}
.health-badge,.status-badge,.badge{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:58px!important;padding:3px 8px!important;border-radius:999px!important;font-size:10px!important;font-weight:900!important;line-height:1.15!important;letter-spacing:.02em!important;white-space:nowrap!important;}
.health-badge.ok,.badge.ok,.status-badge.ok{background:#dcfce7!important;color:#166534!important;border:1px solid #86efac!important;}
.health-badge.warn,.badge.warn,.status-badge.warn{background:#fef3c7!important;color:#92400e!important;border:1px solid #fcd34d!important;}
.health-badge.danger,.badge.danger,.status-badge.danger{background:#fee2e2!important;color:#991b1b!important;border:1px solid #fca5a5!important;}
.health-badge.info,.badge.info,.status-badge.info{background:#dbeafe!important;color:#1e40af!important;border:1px solid #93c5fd!important;}
.full-integrity-table td:nth-child(4){text-align:center!important;width:92px!important;}
.full-integrity-table th:nth-child(4){text-align:center!important;}
.full-integrity-table td,.full-integrity-table th{vertical-align:top!important;}
.integrity-kpi-grid .card b{text-transform:uppercase;letter-spacing:.05em;color:#475569;}
.integrity-kpi-grid .card span{font-size:26px;font-weight:900;color:#0f172a;}
.integrity-kpi-grid .card.success-card span{color:#047857;}
.integrity-kpi-grid .card.warn span{color:#92400e;}
.integrity-kpi-grid .card.danger-card span{color:#991b1b;}
@media print{
  body.page-full_integrity .amasco-report-print-head{display:grid!important;grid-template-columns:34mm 1fr;gap:8mm;align-items:center;padding:0 0 5mm 0!important;margin:0 0 5mm 0!important;border-bottom:2px solid #0f4c81!important;break-inside:avoid!important;page-break-inside:avoid!important;}
  body.page-full_integrity{background:#fff!important;color:#111827!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;}
  body.page-full_integrity .main{margin:0!important;padding:0!important;max-width:none!important;width:100%!important;}
  body.page-full_integrity .panel,body.page-full_integrity .card{box-shadow:none!important;border-color:#d1d5db!important;border-radius:8px!important;break-inside:avoid!important;page-break-inside:avoid!important;margin-bottom:4mm!important;}
  body.page-full_integrity .integrity-kpi-grid{display:grid!important;grid-template-columns:repeat(5,1fr)!important;gap:3mm!important;margin:0 0 4mm!important;}
  body.page-full_integrity .integrity-kpi-grid .card{min-height:18mm!important;padding:3mm!important;}
  body.page-full_integrity .integrity-kpi-grid .card span{font-size:16px!important;}
  body.page-full_integrity .report-table{width:100%!important;border-collapse:collapse!important;font-size:8.2px!important;line-height:1.1!important;table-layout:fixed!important;}
  body.page-full_integrity .report-table th,body.page-full_integrity .report-table td{padding:2.4px 3px!important;border:1px solid #cbd5e1!important;white-space:normal!important;word-break:normal!important;overflow-wrap:anywhere!important;}
  body.page-full_integrity .report-table th{background:#eef3f8!important;color:#1f2937!important;font-weight:900!important;}
  body.page-full_integrity .full-integrity-table th:nth-child(1),body.page-full_integrity .full-integrity-table td:nth-child(1){width:20%!important;}
  body.page-full_integrity .full-integrity-table th:nth-child(2),body.page-full_integrity .full-integrity-table td:nth-child(2){width:29%!important;}
  body.page-full_integrity .full-integrity-table th:nth-child(3),body.page-full_integrity .full-integrity-table td:nth-child(3){width:29%!important;}
  body.page-full_integrity .full-integrity-table th:nth-child(4),body.page-full_integrity .full-integrity-table td:nth-child(4){width:10%!important;text-align:center!important;}
  body.page-full_integrity .full-integrity-table th:nth-child(5),body.page-full_integrity .full-integrity-table td:nth-child(5){width:12%!important;}
  body.page-full_integrity .health-badge{min-width:42px!important;padding:2px 5px!important;font-size:7.4px!important;border-radius:999px!important;}
}

/* V4.5E3 Sensitive action forms */
.inline-sensitive-form{display:inline-flex!important;align-items:center;gap:4px;margin:0 2px;vertical-align:middle;}
.inline-sensitive-form .linklike,.inline-sensitive-form button.linklike{background:transparent;border:0;padding:0;font:inherit;cursor:pointer;text-decoration:underline;}
.inline-sensitive-form .danger-link,.inline-sensitive-form .linklike.danger-link{color:#b42318;font-weight:700;}
.inline-sensitive-form .btn.danger,.btn.danger{background:#b42318;color:#fff;border-color:#b42318;}


/* V4.5E4 Sensitive Action Register */
.sensitive-register-sheet .logs-filter{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:8px;align-items:end}
.sensitive-register-table th,.sensitive-register-table td{font-size:11px;vertical-align:top}
.sensitive-register-table td:nth-child(7){max-width:360px;word-break:break-word}
@media print{
  body.page-sensitive_action_register .no-print{display:none!important}
  body.page-sensitive_action_register .report-kpis{grid-template-columns:repeat(4,1fr)!important;gap:8px!important;margin-bottom:10px!important}
  body.page-sensitive_action_register .report-table{width:100%!important;border-collapse:collapse!important;font-size:8.4px!important;line-height:1.1!important;table-layout:fixed!important}
  body.page-sensitive_action_register .report-table th,body.page-sensitive_action_register .report-table td{padding:2.8px 3px!important;border:1px solid #cbd5e1!important;white-space:normal!important;overflow-wrap:anywhere!important}
  body.page-sensitive_action_register .status-badge{min-width:0!important;font-size:7.5px!important;padding:2px 4px!important}
}


/* V5.0.1 — Top-right user menu is intentionally text-only.
   Sidebar and page-title icons remain controlled by the universal icon map above. */
.user-dropdown a::before{display:none!important;content:none!important;}

/* V5.1 Owner Control Center icon consistency */
.side nav a[href*="page=owner_control"]::before{content:"🧭";}
body.page-owner_control .top h1::before{content:"🧭";}

/* =========================================================
   Investa Pro V5.1F — Print Status Badge Wrap Polish
   Purpose: prevent OK/PASS/Info badges from wrapping vertically in printed
   diagnostic tables while preserving all health/readiness checks.
   Scope: print CSS only. No business logic, database, or report data changes.
   ========================================================= */
@media print{
  body.page-system_health table{
    table-layout:fixed!important;
  }
  body.page-system_health table th:nth-child(1),
  body.page-system_health table td:nth-child(1){
    width:24%!important;
  }
  body.page-system_health table th:nth-child(2),
  body.page-system_health table td:nth-child(2){
    width:15mm!important;
    min-width:15mm!important;
    max-width:15mm!important;
    text-align:center!important;
    white-space:nowrap!important;
    word-break:keep-all!important;
    overflow-wrap:normal!important;
    overflow:visible!important;
  }
  body.page-system_health table th:nth-child(3),
  body.page-system_health table td:nth-child(3){
    width:auto!important;
    word-break:normal!important;
    overflow-wrap:anywhere!important;
  }
  body.page-system_health .health-badge,
  body.page-system_health .status-badge,
  body.page-system_health .badge,
  body.page-production_readiness .health-badge,
  body.page-production_readiness .status-badge,
  body.page-production_readiness .badge{
    display:inline-block!important;
    min-width:9mm!important;
    width:auto!important;
    max-width:none!important;
    padding:1.2mm 2.2mm!important;
    font-size:7.2px!important;
    line-height:1!important;
    white-space:nowrap!important;
    word-break:keep-all!important;
    overflow-wrap:normal!important;
    letter-spacing:0!important;
    text-align:center!important;
    vertical-align:middle!important;
  }
  body.page-system_health td,
  body.page-system_health th,
  body.page-production_readiness td,
  body.page-production_readiness th{
    word-break:normal!important;
  }
  body.page-production_readiness .production-readiness-table{
    table-layout:fixed!important;
  }
  body.page-production_readiness .production-readiness-table th:nth-child(4),
  body.page-production_readiness .production-readiness-table td:nth-child(4){
    width:18mm!important;
    min-width:18mm!important;
    text-align:center!important;
    white-space:nowrap!important;
    word-break:keep-all!important;
    overflow-wrap:normal!important;
  }
}

/* V5.1H - Create/Edit Invoice toggle switch alignment polish
   Aligns Calculate in VAT and Show Stamp & Signature toggles consistently
   inside the Invoice Header grid without affecting calculations or other pages. */
@media screen{
  body.page-invoice_form .formgrid .toggle-field-clean{
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    min-height:58px!important;
    height:58px!important;
    padding:9px 16px!important;
    margin:0!important;
    border:1px solid var(--amasco-border,#cbd5e1)!important;
    border-radius:10px!important;
    background:#fff!important;
    box-sizing:border-box!important;
  }
  body.page-invoice_form .formgrid .toggle-field-clean .toggle-label{
    order:1!important;
    flex:1 1 auto!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:6px!important;
    white-space:normal!important;
    line-height:1.08!important;
    font-weight:700!important;
    color:#475569!important;
  }
  body.page-invoice_form .formgrid .toggle-field-clean i{
    order:2!important;
    flex:0 0 46px!important;
    width:46px!important;
    height:24px!important;
    margin:0!important;
  }
  body.page-invoice_form .formgrid .toggle-field-clean i:before{
    width:18px!important;
    height:18px!important;
    left:3px!important;
    top:3px!important;
  }
  body.page-invoice_form .formgrid .toggle-field-clean input:checked+i:before{
    left:25px!important;
  }
  body.page-invoice_form .formgrid .toggle-field-clean .tip{
    flex:0 0 15px!important;
    margin-left:4px!important;
  }
}
@media(max-width:720px){
  body.page-invoice_form .formgrid .toggle-field-clean{
    height:auto!important;
    min-height:54px!important;
  }
}


/* V5.1H1 - Invoice toggle short labels and final alignment polish */
body.page-invoice_form .toggle-field-clean{
  min-height:50px!important;
  height:50px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding:0 14px!important;
  margin:0!important;
}
body.page-invoice_form .toggle-field-clean .toggle-label{
  white-space:nowrap!important;
  line-height:1!important;
  min-width:0!important;
}
body.page-invoice_form .toggle-field-clean i{
  order:2!important;
  margin-left:auto!important;
}
body.page-invoice_form .toggle-field-clean .toggle-label{
  order:1!important;
}


/* V5.1H2 - Invoice toggle row/input-line alignment polish
   The toggle controls are placed inside a dedicated grid cell with a label-height spacer,
   so the switch card begins on the same horizontal line as nearby input/date/select boxes.
   UI-only: invoice VAT, retention, stamp/signature save and print logic are unchanged. */
@media screen{
  body.page-invoice_form .formgrid .invoice-toggle-cell{
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-start!important;
    min-height:68px!important;
    margin-top:6px!important;
    box-sizing:border-box!important;
  }
  body.page-invoice_form .formgrid .invoice-toggle-spacer{
    display:block!important;
    height:22px!important;
    line-height:22px!important;
    font-size:12px!important;
    margin:0!important;
    padding:0!important;
    visibility:hidden!important;
  }
  body.page-invoice_form .formgrid .invoice-toggle-cell .toggle-field-clean{
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    height:44px!important;
    min-height:44px!important;
    width:100%!important;
    margin:7px 0 0 0!important;
    padding:0 14px!important;
    border:1px solid var(--amasco-border,#cbd5e1)!important;
    border-radius:10px!important;
    background:#fff!important;
    box-sizing:border-box!important;
  }
  body.page-invoice_form .formgrid .invoice-toggle-cell .toggle-label{
    order:1!important;
    flex:1 1 auto!important;
    display:inline-flex!important;
    align-items:center!important;
    gap:6px!important;
    white-space:nowrap!important;
    line-height:1!important;
    margin:0!important;
    padding:0!important;
    color:#475569!important;
    font-weight:700!important;
  }
  body.page-invoice_form .formgrid .invoice-toggle-cell i{
    order:2!important;
    flex:0 0 46px!important;
    width:46px!important;
    height:24px!important;
    margin:0 0 0 auto!important;
  }
  body.page-invoice_form .formgrid .invoice-toggle-cell i:before{
    width:18px!important;
    height:18px!important;
    left:3px!important;
    top:3px!important;
  }
  body.page-invoice_form .formgrid .invoice-toggle-cell input:checked+i:before{
    left:25px!important;
  }
}
@media(max-width:720px){
  body.page-invoice_form .formgrid .invoice-toggle-cell{
    min-height:auto!important;
    margin-top:0!important;
  }
  body.page-invoice_form .formgrid .invoice-toggle-spacer{
    display:none!important;
  }
  body.page-invoice_form .formgrid .invoice-toggle-cell .toggle-field-clean{
    margin-top:0!important;
  }
}

/* V5.1H3 - Invoice form notes and options layout polish
   Moves invoice switches into a dedicated Invoice Options row and places
   Deduction, Retention, and Invoice Notes in a compact three-column row.
   UI-only: field names, saved values, calculations, and print logic are unchanged. */
body.page-invoice_form .invoice-subsection{
  margin:14px 0 0 0;
  padding:12px 14px;
  border:1px solid var(--amasco-border,#cbd5e1);
  border-radius:12px;
  background:#f8fafc;
  box-sizing:border-box;
}
body.page-invoice_form .invoice-subsection-title{
  font-size:12px;
  font-weight:800;
  letter-spacing:.02em;
  color:#334155;
  margin:0 0 10px 0;
  text-transform:uppercase;
}
body.page-invoice_form .invoice-options-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(180px,1fr));
  gap:12px;
  align-items:stretch;
}
body.page-invoice_form .invoice-options-grid .invoice-option-toggle{
  height:46px!important;
  min-height:46px!important;
  width:100%!important;
  margin:0!important;
  padding:0 14px!important;
  background:#fff!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
}
body.page-invoice_form .invoice-options-grid .invoice-option-toggle .toggle-label{
  order:1!important;
  flex:1 1 auto!important;
  white-space:nowrap!important;
  line-height:1!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  margin:0!important;
}
body.page-invoice_form .invoice-options-grid .invoice-option-toggle i{
  order:2!important;
  flex:0 0 46px!important;
  margin-left:auto!important;
}
body.page-invoice_form .invoice-notes-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  align-items:start;
}
body.page-invoice_form .invoice-notes-grid label{
  display:flex;
  flex-direction:column;
  gap:5px;
  margin:0!important;
  min-width:0;
}
body.page-invoice_form .invoice-note-label{
  display:inline-flex;
  align-items:center;
  gap:5px;
  font-size:12px;
  line-height:1.15;
  font-weight:700;
  color:#475569;
}
body.page-invoice_form .invoice-compact-note{
  width:100%;
  min-height:72px!important;
  height:72px!important;
  resize:vertical;
  font-size:12px;
  line-height:1.35;
  padding:8px 10px!important;
  box-sizing:border-box;
}
@media(max-width:900px){
  body.page-invoice_form .invoice-notes-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:720px){
  body.page-invoice_form .invoice-options-grid{
    grid-template-columns:1fr;
  }
}
