/* AjonTec Billing Suite | (c) AjonTec | www.ajontec.info | app.css */
:root{--aj-primary:#2563eb;--aj-side:#0f172a;--aj-side2:#1e293b;--aj-bg:#f1f5f9;--aj-border:#e2e8f0;--aj-text:#0f172a;--aj-muted:#64748b;--aj-radius:14px;--bar-h:30px}
*{-webkit-tap-highlight-color:transparent}
body{font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans","Helvetica Neue",Arial,sans-serif;color:var(--aj-text);background:var(--aj-bg);font-size:14.5px}
a{color:var(--aj-primary)}
.btn-primary,.bg-primary{background-color:var(--aj-primary)!important;border-color:var(--aj-primary)!important}
.btn-primary:hover{filter:brightness(.92)}
.btn-outline-primary{color:var(--aj-primary);border-color:var(--aj-primary)}
.btn-outline-primary:hover{background:var(--aj-primary);border-color:var(--aj-primary);color:#fff}
.text-primary{color:var(--aj-primary)!important}
.form-control:focus,.form-select:focus{border-color:var(--aj-primary);box-shadow:0 0 0 .2rem color-mix(in srgb,var(--aj-primary) 20%,transparent)}
.form-control,.form-select{border-radius:10px;border-color:#d7dee8}
.form-label{font-weight:600;font-size:13px;color:#334155;margin-bottom:4px}
.btn{border-radius:10px;font-weight:500}

/* AjonTec fixed brand strip */
.aj-brandbar{position:fixed;top:0;left:0;right:0;height:var(--bar-h);z-index:1100;display:flex;align-items:center;justify-content:space-between;padding:0 14px;background:linear-gradient(90deg,#020617,#1e3a8a);color:#cbd5e1;font-size:12px;letter-spacing:.2px}
.aj-brandbar b{color:#fff}
.aj-brandbar i{color:#facc15}
.aj-brandbar a{color:#93c5fd;text-decoration:none;font-weight:600}
.aj-credit{color:var(--aj-muted);font-size:12px}
.aj-credit a{font-weight:700;text-decoration:none}

/* shell */
.aj-shell{display:flex;min-height:100vh;padding-top:var(--bar-h)}
.aj-sidebar{width:250px;background:var(--aj-side) !important;color:#e2e8f0;flex-shrink:0;display:flex;flex-direction:column;--bs-offcanvas-bg:var(--aj-side);--bs-offcanvas-color:#e2e8f0}
@media(min-width:992px){.aj-sidebar{position:sticky!important;top:var(--bar-h);height:calc(100vh - var(--bar-h));visibility:visible!important;transform:none!important}}
@media(max-width:991.98px){.aj-sidebar.offcanvas-lg{background:var(--aj-side);width:270px;top:var(--bar-h)}}
.aj-side-head{display:flex;align-items:center;gap:10px;padding:16px 16px 12px;border-bottom:1px solid #1e293b}
.aj-logo{width:40px;height:40px;object-fit:contain;border-radius:10px;background:#fff;padding:3px}
.aj-logo-txt{width:40px;height:40px;border-radius:10px;background:var(--aj-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:18px}
.aj-biz-name{color:#fff;font-weight:700;line-height:1.2;font-size:14px}
.aj-biz-sub{font-size:11px;color:#94a3b8}
.aj-nav{padding:10px 10px;overflow-y:auto;flex:1}
.aj-nav a{display:flex;align-items:center;gap:11px;padding:10px 12px;margin-bottom:2px;border-radius:10px;color:#e2e8f0 !important;text-decoration:none;font-size:14px;font-weight:500;opacity:1}
.aj-nav a i{font-size:17px;width:20px;text-align:center;color:#94a3b8}
.aj-nav a:hover{background:var(--aj-side2);color:#fff !important}.aj-nav a:hover i{color:#fff}
.aj-nav a.active{background:var(--aj-primary);color:#fff !important;box-shadow:0 6px 16px -6px var(--aj-primary)}.aj-nav a.active i{color:#fff}
.aj-side-foot{padding:12px 16px;border-top:1px solid #1e293b}
.aj-side-foot .aj-credit{color:#64748b}
.aj-main{flex:1;min-width:0;display:flex;flex-direction:column}
.aj-topbar{position:sticky;top:var(--bar-h);z-index:1020;display:flex;align-items:center;gap:10px;padding:10px 20px;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--aj-border)}
.aj-title{font-size:18px;font-weight:700;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.aj-avatar{display:inline-flex;width:28px;height:28px;border-radius:50%;background:var(--aj-primary);color:#fff;align-items:center;justify-content:center;font-weight:700;font-size:13px}
.aj-user{display:flex;align-items:center;border-radius:20px;padding:3px 10px 3px 3px}
.aj-content{padding:20px;flex:1}
@media(max-width:991.98px){.aj-content{padding:14px 12px 90px}.aj-topbar{padding:8px 12px}}

/* cards */
.card{border:1px solid var(--aj-border);border-radius:var(--aj-radius);box-shadow:0 1px 2px rgba(15,23,42,.04)}
.card-header{background:#fff;border-bottom:1px solid var(--aj-border);border-radius:var(--aj-radius) var(--aj-radius) 0 0!important;font-weight:700;padding:12px 16px}
.stat{border-radius:var(--aj-radius);padding:16px;background:#fff;border:1px solid var(--aj-border);height:100%;position:relative;overflow:hidden}
.stat .lbl{font-size:12px;color:var(--aj-muted);text-transform:uppercase;letter-spacing:.4px;font-weight:600}
.stat .val{font-size:22px;font-weight:800;margin-top:4px}
.stat .ico{position:absolute;right:14px;top:14px;width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:19px}
.ico-blue{background:#dbeafe;color:#1d4ed8}.ico-green{background:#dcfce7;color:#15803d}.ico-amber{background:#fef3c7;color:#b45309}.ico-red{background:#fee2e2;color:#b91c1c}.ico-violet{background:#ede9fe;color:#6d28d9}
@media(max-width:575.98px){.stat .val{font-size:18px}.stat{padding:12px}.stat .ico{width:32px;height:32px;font-size:15px}}

/* tables -> cards on phones */
.table{margin-bottom:0;font-size:14px}
.table thead th{background:#f8fafc;color:#475569;font-weight:600;font-size:12.5px;text-transform:uppercase;letter-spacing:.3px;border-bottom:1px solid var(--aj-border);white-space:nowrap}
.table td{vertical-align:middle}
@media(max-width:767.98px){
 .table-stack thead{display:none}
 .table-stack,.table-stack tbody,.table-stack tr,.table-stack td{display:block;width:100%}
 .table-stack tr{border:1px solid var(--aj-border);border-radius:12px;margin:0 0 10px;background:#fff;padding:6px 10px}
 .table-stack td{border:0;padding:4px 0;display:flex;justify-content:space-between;gap:10px;text-align:right!important}
 .table-stack td::before{content:attr(data-label);font-weight:600;color:var(--aj-muted);text-align:left;font-size:12.5px}
 .table-stack td[data-label=""]::before{content:none}
 .card .table-stack{padding:10px}
}
.badge{font-weight:600;border-radius:8px;padding:.38em .6em}
.b-paid{background:#dcfce7;color:#166534}.b-partial{background:#fef3c7;color:#92400e}.b-unpaid{background:#fee2e2;color:#991b1b}.b-cancelled{background:#e2e8f0;color:#475569}.b-open{background:#dbeafe;color:#1e40af}.b-converted{background:#ede9fe;color:#5b21b6}

/* bottom nav (phones) */
.aj-bottomnav{position:fixed;left:0;right:0;bottom:0;z-index:1030;background:#fff;border-top:1px solid var(--aj-border);display:flex;justify-content:space-around;align-items:center;padding:6px 4px calc(6px + env(safe-area-inset-bottom))}
.aj-bottomnav a{display:flex;flex-direction:column;align-items:center;font-size:11px;color:#64748b;text-decoration:none;min-width:56px}
.aj-bottomnav a i{font-size:20px}
.aj-bottomnav a.active{color:var(--aj-primary);font-weight:600}
.aj-bottomnav .aj-fab{width:52px;height:52px;min-width:52px;border-radius:50%;background:var(--aj-primary);color:#fff;justify-content:center;margin-top:-26px;box-shadow:0 8px 18px -6px var(--aj-primary)}
.aj-bottomnav .aj-fab i{font-size:24px}

/* invoice editor */
.item-row{border:1px solid var(--aj-border);border-radius:12px;padding:10px;margin-bottom:10px;background:#fff;position:relative}
.item-row .rm{position:absolute;top:6px;right:6px}
.item-row .form-control,.item-row .form-select{font-size:14px}
.item-row .line-total{font-weight:700}
.totals-box{background:#f8fafc;border:1px solid var(--aj-border);border-radius:12px;padding:12px 14px}
.totals-box .d-flex{padding:3px 0}
.totals-box .grand{font-size:20px;font-weight:800;border-top:1px dashed #cbd5e1;padding-top:8px;margin-top:4px}
.suggest{position:absolute;z-index:1050;left:0;right:0;top:100%;background:#fff;border:1px solid var(--aj-border);border-radius:10px;box-shadow:0 12px 24px -10px rgba(0,0,0,.25);max-height:280px;overflow:auto}
.suggest div{padding:8px 12px;cursor:pointer;border-bottom:1px solid #f1f5f9}
.suggest div:hover,.suggest div.on{background:#eff6ff}
.suggest small{color:var(--aj-muted)}
.sticky-save{position:sticky;bottom:0;background:rgba(241,245,249,.95);padding:10px 0;z-index:5}
@media(max-width:991.98px){.sticky-save{bottom:64px}}

/* login */
.aj-blank{background:radial-gradient(1200px 600px at 10% -10%,#dbeafe,transparent),radial-gradient(900px 500px at 110% 110%,#ede9fe,transparent),#f8fafc;min-height:100vh}
.auth-card{max-width:420px;margin:7vh auto 0;background:#fff;border-radius:20px;box-shadow:0 30px 60px -30px rgba(15,23,42,.35);padding:30px}
@media(max-width:480px){.auth-card{margin:20px 12px;padding:22px}}
.empty{padding:40px 10px;text-align:center;color:var(--aj-muted)}
.empty i{font-size:40px;display:block;margin-bottom:8px;color:#cbd5e1}
.toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:14px}
.toolbar .search{flex:1;min-width:180px;max-width:360px}
@media print{.aj-brandbar,.aj-sidebar,.aj-topbar,.aj-bottomnav,.no-print{display:none!important}.aj-shell{padding:0}.aj-content{padding:0}}
