*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#f4f6f8;color:#1e293b}aside{position:fixed;left:0;top:0;bottom:0;width:225px;background:#10202b;color:white;padding:25px 16px}.brand{font-weight:800;font-size:18px;letter-spacing:.5px;padding:0 10px 25px}.brand small{display:block;font-size:10px;letter-spacing:1.8px;opacity:.6;margin-top:5px}nav a{display:block;color:#cbd5dc;text-decoration:none;padding:11px 12px;border-radius:7px;margin:3px 0}nav a:hover,nav a.active{background:#23404f;color:white}main{margin-left:225px;padding:32px;max-width:1500px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.topbar h1{margin:0;font-size:28px}.topbar p{margin:5px 0;color:#64748b}.btn{display:inline-block;padding:10px 16px;border-radius:6px;text-decoration:none;border:0;cursor:pointer}.primary{background:#1f8fa3;color:#fff}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:20px}.card,.panel{background:white;border:1px solid #dfe5e9;border-radius:8px;padding:20px}.card{border-left:4px solid #59aebe}.card.warning{border-left-color:#e0aa45}.card.danger{border-left-color:#d46a67}.card span{display:block;color:#64748b;font-size:13px}.card strong{font-size:24px;display:block;margin-top:8px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:20px}.panelhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.panelhead h2{font-size:17px;margin:0}.panelhead a{font-size:13px;color:#17768a}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:10px;border-bottom:1px solid #edf0f2}th{background:#f8fafb;font-weight:700}.status{padding:4px 8px;border-radius:10px;font-size:11px}.status.paid{background:#dcfce7;color:#166534}.status.unpaid{background:#fff7d6;color:#8a5a00}.status.cancelled{background:#fee2e2;color:#991b1b}.muted{color:#94a3b8;text-align:center;padding:25px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{margin-bottom:12px}.field label{display:block;font-size:12px;font-weight:700;margin-bottom:6px;color:#475569}.field input,.field select,.field textarea{width:100%;padding:10px;border:1px solid #cbd5e1;border-radius:5px;background:white}.field textarea{min-height:90px}.formfull{grid-column:1/-1}.invoice-sheet{background:#fff;max-width:900px;margin:auto;padding:32px;border:1px solid #ddd}.invoice-head{display:flex;justify-content:space-between}.invoice-head h1{margin:0;font-size:23px}.invoice-head .title{font-weight:700}.invoice-meta{margin-top:18px;border:1px solid #bbb;display:grid;grid-template-columns:1fr 1.8fr .8fr .9fr}.invoice-meta div{padding:7px;border-right:1px solid #bbb;border-bottom:1px solid #bbb}.invoice-meta .label{font-weight:700}.note{border:1px solid #bbb;margin-top:20px;padding:12px;min-height:75px}.items{margin-top:20px;border-collapse:collapse}.items th{background:#8dc9d4;color:#10202b}.items th,.items td{border:1px solid #bbb;padding:8px}.items .amt{text-align:right}.totalrow{background:#c6e8ef;font-weight:700}.paybox{border:1px solid #bbb;padding:12px;margin-top:15px}.footer-note{margin-top:25px;background:linear-gradient(#edf4fb,#cddced);padding:18px;text-align:center;font-size:12px;letter-spacing:.4px}.login{max-width:420px;margin:10vh auto;background:#fff;padding:35px;border-radius:10px;border:1px solid #ddd}@media(max-width:900px){aside{position:relative;width:auto}.brand{display:inline-block}nav{display:flex;flex-wrap:wrap}main{margin-left:0;padding:18px}.cards,.grid2,.formgrid{grid-template-columns:1fr}.invoice-meta{grid-template-columns:1fr 1fr}.invoice-head{flex-direction:column;gap:15px}}@page{size:A4 portrait;margin:7mm}
@media print{
  *{box-sizing:border-box}
  aside,.no-print{display:none!important}
  body{background:white!important;margin:0;padding:0;font-size:10px}
  main{margin:0!important;padding:0!important;max-width:none!important}
  .invoice-sheet{
    border:0!important;
    padding:3mm!important;
    margin:0!important;
    max-width:none!important;
    width:100%!important;
    page-break-after:avoid!important;
  }
  .invoice-head{margin-bottom:8px}
  .invoice-head h1{font-size:19px}
  .invoice-head .title{font-size:11px}
  .invoice-head div:last-child{font-size:10px;line-height:1.25}
  .invoice-meta{margin-top:8px;font-size:9.5px}
  .invoice-meta div{padding:4px 5px}
  .note{margin-top:9px;padding:7px;min-height:45px}
  .note div{margin-top:8px!important}
  .items{margin-top:9px;font-size:9.5px;page-break-inside:avoid}
  .items th,.items td{padding:4px 5px}
  .items th{font-size:10px}
  .items .blank-row{display:none}
  .paybox{margin-top:8px;padding:7px;font-size:9.5px}
  .footer-note{margin-top:10px;padding:10px;font-size:9px}
  .invoice-sheet a{color:inherit;text-decoration:none}
}
