:root{
  --bg:#071b28;--bg2:#0b2638;--panel:#0d3045;--panel2:#103a52;--panel3:#12435e;
  --line:#225a73;--line-soft:#17475d;--text:#f4f9fc;--muted:#9cb8c8;--accent:#16a6d4;
  --accent2:#2c79c7;--green:#54dc9a;--yellow:#ffc75a;--violet:#8f7cf7;--danger:#ff6f78;
  --shadow:0 18px 45px rgba(0,0,0,.24);--radius:14px
}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;font-family:Inter,"Segoe UI",Arial,sans-serif;background:radial-gradient(circle at 78% 0,#0c3147 0,var(--bg) 38%,#061722 100%);color:var(--text);min-height:100vh}a{color:#5dc8f0;text-decoration:none}a:hover{color:#9de5ff}button,input,select,textarea{font:inherit}
#sidebar{position:fixed;left:0;top:0;bottom:0;width:250px;background:linear-gradient(180deg,#0c3045 0,#082233 60%,#061b29 100%);border-right:1px solid #17475d;color:#fff;padding:18px 12px;transition:.22s ease;z-index:20;box-shadow:10px 0 35px rgba(0,0,0,.12)}
.side-brand{display:flex;align-items:center;gap:12px;padding:2px 8px 22px;border-bottom:1px solid #1b4d63;margin-bottom:16px}.side-brand strong{display:block;font-size:18px;letter-spacing:.2px;white-space:nowrap}.side-brand small{display:block;color:#92b5c8;font-size:11px;margin-top:3px;white-space:nowrap}.brand-mark{width:72px;height:72px;border-radius:18px;background:linear-gradient(145deg,#139ed1,#1e6fc3);border:1px solid #4bd6ff80;color:#fff;display:grid;place-items:center;font-weight:800;font-size:22px;box-shadow:0 12px 30px #001d2f80,inset 0 1px #ffffff33}.brand-mark.sm{width:42px;height:42px;border-radius:11px;font-size:13px;flex:0 0 auto}
#sidebar>a{display:flex;align-items:center;gap:12px;min-height:46px;padding:10px 13px;margin:4px 0;border-radius:10px;color:#b9d1de;font-weight:650;border:1px solid transparent;transition:.16s}.nav-icon{width:23px;height:23px;display:grid;place-items:center;flex:0 0 23px}.nav-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.nav-label{white-space:nowrap}#sidebar>a:hover{background:#123f57;color:#fff;border-color:#205a72}#sidebar>a.active{background:linear-gradient(135deg,#0f83bd55,#16669650);border-color:#1e90c2;color:#fff;box-shadow:inset 3px 0 #24b4e8,0 8px 20px rgba(0,0,0,.12)}
#main{margin-left:250px;transition:.22s ease;min-height:100vh}header{height:76px;background:#0a283aee;border-bottom:1px solid #1e5268;display:flex;align-items:center;padding:0 24px;gap:16px;position:sticky;top:0;z-index:15;backdrop-filter:blur(12px)}.iconbtn{border:1px solid #235c74;background:#0e3a52;color:#d7eef8;width:42px;height:42px;border-radius:10px;font-size:20px;cursor:pointer;box-shadow:inset 0 1px #ffffff12}.iconbtn:hover{background:#14506c}.header-title strong{font-size:17px}.header-sub{display:block;font-size:11px;color:#8fb0c2;margin-top:3px}.header-actions{margin-left:auto;display:flex;align-items:center;gap:11px}.header-chip{border:1px solid #27677c;background:#0d3b4c;color:#78e6b0;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:700}.user-avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#3d83b6,#21516f);border:1px solid #5fa5cf;color:#fff;font-weight:800}.userbox{font-size:12px;line-height:1.15}.userbox b{display:block}.userbox span{display:block;color:#91adbd;margin-top:4px}.logout{font-size:12px;border-left:1px solid #245267;padding-left:12px}
.content{padding:28px}.collapsed #sidebar{width:74px}.collapsed #sidebar .side-brand>div,.collapsed .nav-label{display:none}.collapsed #sidebar .side-brand{justify-content:center;padding-left:0;padding-right:0}.collapsed #main{margin-left:74px}.collapsed #sidebar>a{justify-content:center;padding-left:0;padding-right:0}
.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:0 0 20px}.page-heading h1{margin:3px 0 4px;font-size:28px;letter-spacing:-.3px}.page-heading p{margin:0;color:var(--muted);font-size:13px}.eyebrow{color:#49c7ed;text-transform:uppercase;letter-spacing:.12em;font-weight:800;font-size:10px}.date-chip{border:1px solid #245b73;background:#0d3145;border-radius:10px;color:#bdd8e5;padding:10px 14px;font-size:12px}h1{margin:0 0 20px;font-size:27px}h2{margin:0 0 16px;font-size:20px}h3{margin:0}.titlebar{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.titlebar h1{margin:0}
.cards{display:grid;grid-template-columns:repeat(5,minmax(155px,1fr));gap:15px;margin-bottom:20px}.stat{position:relative;overflow:hidden;background:linear-gradient(145deg,#0f3c55,#0b2d42);border:1px solid #24627d;border-radius:14px;padding:18px;box-shadow:var(--shadow);min-height:116px}.stat:after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;right:-35px;top:-35px;background:#25b6e51a}.stat:nth-child(2){border-color:#2e9c89}.stat:nth-child(3){border-color:#b28b39}.stat:nth-child(4){border-color:#665ab4}.stat:nth-child(5){border-color:#9f4b57}.stat span{display:block;color:#a7c2d0;font-size:12px;margin-bottom:12px}.stat strong{font-size:26px;color:#fff;letter-spacing:-.5px}
.panel{background:linear-gradient(145deg,#0d3045,#0a293c);border:1px solid #20566e;border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);overflow:auto}.panel+.panel{margin-top:18px}.formpanel{max-width:1080px}.section-title{display:flex;align-items:center;gap:12px;padding:3px 0 12px;border-bottom:1px solid #1e5066;margin:4px 0 17px}.section-title:not(:first-of-type){margin-top:25px}.section-title>span{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:#0e4a66;border:1px solid #1b7798;color:#62d9ff;font-size:11px;font-weight:800}.section-title h3{font-size:15px}.section-title p{margin:3px 0 0;color:var(--muted);font-size:11px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #2c6580;background:#103a50;color:#eaf7fc;border-radius:9px;padding:10px 15px;font-weight:750;cursor:pointer;box-shadow:inset 0 1px #ffffff0d;transition:.15s}.btn:hover{background:#154b65;color:#fff;transform:translateY(-1px)}.btn.primary{background:linear-gradient(90deg,#168fc5,#16acd0);border-color:#38c1e8;color:#fff;box-shadow:0 8px 20px #009ac43a}.btn.subtle{margin:8px 0 2px;background:#0b293a}.wide{width:100%}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px;padding-top:18px;border-top:1px solid #1c4b60}
table{width:100%;border-collapse:separate;border-spacing:0}th,td{text-align:left;padding:13px 12px;border-bottom:1px solid #17465a;white-space:nowrap}th{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:#95b4c4;background:#10364a}tr:hover td{background:#0f3449}td{font-size:13px;color:#dbeaf1}.badge{background:#164a5c;color:#7ce3ae;border:1px solid #26736d;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:800}
label{display:block;font-size:12px;font-weight:750;color:#d4e6ee;margin-bottom:14px}input,select,textarea{width:100%;margin-top:6px;padding:11px 12px;border:1px solid #2b6075;border-radius:8px;color:#f3fbff;background:#0a2637;outline:none;transition:.15s}input:focus,select:focus,textarea:focus{border-color:#2db8e5;box-shadow:0 0 0 3px #20a7d21f}input::placeholder,textarea::placeholder{color:#66899b}select option{background:#0b2a3c;color:#fff}textarea{resize:vertical}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.compound-field{display:grid;grid-template-columns:140px 1fr;gap:8px}.compound-field select,.compound-field input{margin-top:6px}.email-manager{border:1px solid #245b73;background:#092638;border-radius:12px;overflow:hidden}.email-manager-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border-bottom:1px solid #1e5066;background:#0d3145}.email-manager-head strong{display:block;font-size:12px}.email-manager-head span{display:block;margin-top:3px;color:var(--muted);font-size:10px}.email-add-btn{margin:0!important;padding:8px 12px}.email-chip-list{height:118px;overflow:auto;padding:10px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-content:start}.email-chip-row{min-width:0;height:46px;display:grid;grid-template-columns:31px minmax(0,1fr) 30px;align-items:center;gap:9px;background:#0d3247;border:1px solid #20576f;border-radius:9px;padding:6px 7px}.email-chip-icon{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;background:#0f4e6d;border:1px solid #237ea3;color:#62d9ff;font-weight:900}.email-chip-copy{min-width:0}.email-chip-copy strong{display:block;color:#edf8fc;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.email-chip-copy span{display:block;color:#8eb0c0;font-size:9px;margin-top:2px}.email-chip-remove{width:28px;height:28px;border:1px solid #75444e;background:#3f2630;color:#ff9ba2;border-radius:7px;font-size:17px;line-height:1;cursor:pointer}.email-chip-remove:hover{background:#582c37}.modal-backdrop{position:fixed;inset:0;background:#020b11c7;display:none;align-items:center;justify-content:center;padding:20px;z-index:100;backdrop-filter:blur(5px)}.modal-backdrop.show{display:flex}.modal-card{width:min(620px,100%);background:linear-gradient(145deg,#103a52,#0a293c);border:1px solid #2a6c87;border-radius:14px;box-shadow:0 30px 90px #000a;padding:20px}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding-bottom:14px;border-bottom:1px solid #1f5268;margin-bottom:16px}.modal-head h3{font-size:18px;margin-top:4px}.modal-close{width:34px;height:34px;border:1px solid #356b80;background:#0c3044;color:#cce3ed;border-radius:8px;font-size:21px;cursor:pointer}.modal-actions{display:flex;justify-content:flex-end;gap:9px;padding-top:14px;border-top:1px solid #1f5268;margin-top:5px}.email-modal-grid{align-items:end}.field-error{color:#ff9ba2;font-size:11px;margin:-3px 0 10px}.muted{color:var(--muted)}
.alert{padding:12px 14px;border-radius:9px;margin:0 0 16px}.alert.error{background:#4a242a;color:#ffc6c9;border:1px solid #82414a}.alert.success{background:#153e35;color:#8ff0bb;border:1px solid #2a6f5a}
.login-bg{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 50% 20%,#16465a 0,#0d2e3e 34%,#071d29 72%,#061722 100%);padding:25px}.login-card{width:min(535px,100%);background:linear-gradient(160deg,#153e50ee,#0d2e3fee);border:1px solid #35647a;border-radius:18px;padding:38px 42px;box-shadow:0 30px 90px #0008,inset 0 1px #ffffff14;text-align:left}.login-brand{display:flex;align-items:center;gap:18px}.login-brand .brand-mark{width:70px;height:70px;flex:0 0 70px}.login-brand h1{margin:0;font-size:27px}.login-brand p{margin:6px 0 0;color:#a3becb}.login-divider{height:1px;background:#315d70;margin:26px 0}.login-card h2{text-align:center;font-size:24px}.login-card>p{text-align:center;margin-top:-6px;margin-bottom:24px}.login-card form{text-align:left}.login-card label{margin-bottom:15px}.field-icon{position:relative}.field-icon>span{position:absolute;left:13px;top:17px;color:#82afc2;z-index:2}.field-icon input{padding-left:40px}.login-card .btn{margin-top:5px;height:48px}.login-footer{display:flex;justify-content:space-between;gap:10px;color:#86a8b8;border-top:1px solid #31586a;margin-top:28px;padding-top:18px;font-size:10px}.install-card{width:min(760px,100%)}.install-card .brand-mark{margin-bottom:12px}
.itemrow{display:grid;grid-template-columns:4fr 1fr 1.5fr 1fr;gap:10px;margin-bottom:8px}.invoice-sheet{background:#fff;color:#17222b;max-width:900px;margin:auto;padding:42px;border:1px solid #d5dce2;box-shadow:0 10px 30px #0004;border-radius:4px}.invoice-sheet table th{background:#eef3f6;color:#52606b}.invoice-sheet table td{color:#22313b;border-color:#e5e9ed}.invoice-sheet tr:hover td{background:#fafcfd}.invoice-head{display:flex;justify-content:space-between;border-bottom:2px solid #23344a;padding-bottom:20px;margin-bottom:25px}.invoice-head h1,.invoice-head h2{margin:0}.totals{margin-left:auto;width:310px;margin-top:20px}.totals p{display:flex;justify-content:space-between;border-bottom:1px solid #e7ebee;padding:8px}.totals .grand{font-size:20px}
@media(max-width:1100px){.cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){#sidebar{transform:translateX(-100%);width:250px}.collapsed #sidebar{transform:translateX(0)}#main,.collapsed #main{margin-left:0}.collapsed #sidebar .side-brand>div,.collapsed .nav-label{display:block}.collapsed #sidebar>a{justify-content:flex-start}.content{padding:16px}.grid2{grid-template-columns:1fr}.cards{grid-template-columns:1fr}.header-chip,.userbox,.logout{display:none}.compound-field{grid-template-columns:1fr}.email-chip-list{grid-template-columns:1fr;height:132px}.page-heading{align-items:flex-start;flex-direction:column}.itemrow{grid-template-columns:1fr 80px 100px 80px}}
@media print{#sidebar,header,.no-print{display:none!important}#main{margin:0}.content{padding:0}.invoice-sheet{box-shadow:none;border:0;max-width:none}}

/* Rentrak QBA v0.3.5: slightly larger customer table typography */
.customers-table th{font-size:11px}
.customers-table td{font-size:14px}


/* Rentrak QBA v0.3.6: slightly larger Add/Edit Customer form typography.
   Action buttons and Add Email button intentionally retain their existing size. */
.customer-form label{font-size:13px}
.customer-form input,
.customer-form select,
.customer-form textarea{font-size:14px}
.customer-form .section-title h3{font-size:16px}
.customer-form .section-title p{font-size:12px}
.customer-form .email-manager-head strong{font-size:13px}
.customer-form .email-manager-head span{font-size:11px}
.customer-form .email-chip-copy strong{font-size:12px}
.customer-form .email-chip-copy span{font-size:10px}
.customer-form .btn,
.customer-form .email-add-btn{font-size:inherit}


/* Rentrak QBA v0.3.7: further increase Add/Edit Customer form typography.
   Keep Cancel, Save Customer, and Add Email button sizing unchanged. */
.customer-form label{font-size:14px}
.customer-form input,
.customer-form select,
.customer-form textarea{font-size:15px}
.customer-form .section-title h3{font-size:17px}
.customer-form .section-title p{font-size:13px}
.customer-form .email-manager-head strong{font-size:14px}
.customer-form .email-manager-head span{font-size:12px}
.customer-form .email-chip-copy strong{font-size:13px}
.customer-form .email-chip-copy span{font-size:11px}
.customer-form .btn,
.customer-form .email-add-btn{font-size:inherit}

/* Footer build information */
.app-footer-build{
    margin-top:22px;
    padding:12px 18px;
    border-top:1px solid rgba(120,190,220,.18);
    color:#8fb7c8;
    font-size:11px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    flex-wrap:wrap;
}
.app-footer-build strong{color:#b9d7e3;font-weight:600}

/* v0.3.8 payment details */
.payment-meta-grid{margin-top:14px}
.payment-meta-grid label{font-size:13px}
.payment-meta-grid select,
.payment-meta-grid input{font-size:14px}
.field-help{display:block;margin-top:5px;color:#8fb7c8;font-size:11px}

/* v0.3.9 QuickBooks-style customer transaction history, CEA EDR theme */
.customer-link{font-weight:700;color:#bfe8f7;text-decoration:none}.customer-link:hover{color:#fff}
.sep{opacity:.35;margin:0 5px}
.customer-profile{display:flex;flex-direction:column;gap:16px}
.customer-summary-card{display:grid;grid-template-columns:84px 1fr 230px;gap:22px;align-items:start;background:linear-gradient(145deg,rgba(16,70,91,.97),rgba(9,45,63,.97));border:1px solid rgba(82,180,218,.28);border-radius:16px;padding:24px;box-shadow:0 14px 38px rgba(0,0,0,.2)}
.customer-avatar{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.08);border:1px solid rgba(137,216,244,.2);font-size:22px;font-weight:800}
.customer-title-line{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.customer-title-line h1{margin:4px 0 4px}.customer-title-line p{margin:0;color:#9dc5d5}
.customer-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:14px 28px;margin-top:20px}.customer-contact-grid span,.detail-grid span{display:block;color:#86aebe;font-size:12px;margin-bottom:3px}.customer-contact-grid strong{font-weight:600;color:#e9f7fb}
.financial-summary{background:rgba(197,222,255,.08);border:1px solid rgba(126,194,225,.18);border-radius:13px;padding:18px}.financial-title{font-weight:800;margin-bottom:14px}.financial-summary>div:not(.financial-title){position:relative;padding-left:14px;margin:14px 0}.financial-summary small{display:block;color:#a5c0cb}.financial-summary strong{display:block;font-size:22px;margin-top:3px}.dot{position:absolute;left:0;top:5px;width:7px;height:7px;border-radius:50%}.dot.amber{background:#f0b429}.dot.red{background:#ef5656}
.customer-tabs{display:flex;gap:6px;overflow:auto;border-bottom:1px solid rgba(127,190,213,.24);padding:0 6px}.customer-tabs a{padding:12px 14px;color:#a7c4d0;white-space:nowrap}.customer-tabs a.active{color:#fff;border-bottom:2px solid #21b6dd}
.transaction-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px}.transaction-toolbar h2{margin:0}.transaction-toolbar p{margin:4px 0 0}.toolbar-actions{display:flex;gap:8px}
.transaction-table td,.transaction-table th{font-size:13px}.transaction-table tr:hover td{background:rgba(36,155,196,.055)}.status-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#1db98b;margin-right:8px;box-shadow:0 0 0 3px rgba(29,185,139,.12)}
.empty-state{text-align:center;padding:30px!important;color:#86aebe}
.drawer-backdrop{position:fixed;inset:0;background:rgba(1,16,24,.46);z-index:2000}.qba-drawer{position:absolute;right:0;top:0;bottom:0;width:min(420px,94vw);background:#f7fafb;color:#26343b;box-shadow:-20px 0 60px rgba(0,0,0,.28);display:flex;flex-direction:column;overflow:auto}.drawer-head{display:flex;justify-content:space-between;align-items:flex-start;padding:18px 20px;border-bottom:1px solid #dbe3e6}.drawer-head small{color:#495a61}.drawer-head h2{margin:7px 0 0;font-size:16px;color:#148d4d}.drawer-close{width:34px;height:34px;border:2px solid #0b705e;border-radius:9px;display:grid;place-items:center;text-decoration:none;color:#0b705e;font-size:25px;line-height:1}.drawer-section{padding:20px;border-bottom:1px solid #dbe3e6}.drawer-section h3{margin:0 0 11px}.drawer-section p{color:#3e4d53}.drawer-total>span{display:block;font-size:13px}.drawer-total>strong{display:block;font-size:34px;margin:5px 0 22px}.drawer-total>div{margin:12px 0}.drawer-total small{display:block;color:#5d6c72}.drawer-total b{display:block;margin-top:3px}.timeline{position:relative;padding-left:28px}.timeline:before{content:"";position:absolute;left:8px;top:7px;bottom:7px;width:2px;background:#bcc8cd}.timeline>div{position:relative;margin:0 0 20px}.timeline i{position:absolute;left:-27px;top:4px;width:12px;height:12px;border-radius:50%;background:#25a72d;border:2px solid #fff;box-shadow:0 0 0 2px #25a72d}.timeline b,.timeline span,.timeline a{display:block}.timeline span{margin:4px 0;color:#34454d;font-size:13px}.timeline a{font-size:13px;color:#1769aa}.drawer-line{display:flex;justify-content:space-between;gap:18px;padding:8px 0;border-bottom:1px solid #e3eaed}.drawer-line:last-child{border-bottom:0}.drawer-actions{margin-top:auto;position:sticky;bottom:0;background:#f7fafb;border-top:1px solid #dbe3e6;padding:13px 16px;display:flex;justify-content:flex-end;gap:8px}.qba-drawer .btn{color:#0a5d50;border-color:#0a6c5a}.qba-drawer .btn.primary{color:#fff;background:#075c4f}
.detail-card{max-width:900px}.detail-amount span{display:block;color:#8fb7c8}.detail-amount strong{display:block;font-size:34px;margin:4px 0 20px}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.detail-grid strong{display:block;font-size:15px}
.payment-form label{font-size:14px}.payment-form input,.payment-form select,.payment-form textarea{font-size:15px}
@media(max-width:900px){.customer-summary-card{grid-template-columns:64px 1fr}.financial-summary{grid-column:1/-1}.customer-avatar{width:58px;height:58px}.customer-contact-grid{grid-template-columns:1fr}.transaction-toolbar{align-items:flex-start;flex-direction:column}}

/* v0.4.0 QuickBooks migration */
.import-stats .stat strong{font-size:27px}
.import-progress{margin:20px 0}
.progress-label{display:flex;justify-content:space-between;margin-bottom:7px;color:#b8d8e5}
.progress-track{height:12px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden;border:1px solid rgba(111,194,224,.15)}
.progress-track>div{height:100%;width:0;background:linear-gradient(90deg,#168ac1,#1ec4d9);transition:width .2s ease}
.import-progress pre{white-space:pre-wrap;background:rgba(3,24,34,.46);border:1px solid rgba(100,182,213,.16);padding:14px;border-radius:10px;color:#b9dbe7;min-height:120px}

/* v0.4.2 footer alignment: LOC left, version right */
.app-footer-build > div:last-child{margin-left:auto;text-align:right}

/* v0.4.3 Settings > Payment Review */
.review-summary{margin-bottom:16px}
.review-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;flex-wrap:wrap}
.review-tabs{display:flex;gap:7px;flex-wrap:wrap}
.review-tabs a{padding:8px 12px;border:1px solid rgba(111,190,219,.2);border-radius:8px;color:#9fc6d5;text-decoration:none;background:rgba(5,36,50,.38)}
.review-tabs a.active{color:#fff;background:linear-gradient(180deg,#147ca7,#0e5e83);border-color:#27aee1}
.review-search{max-width:320px}
.review-list{display:flex;flex-direction:column;gap:14px}
.review-card{border:1px solid rgba(105,188,220,.18);border-radius:13px;background:linear-gradient(150deg,rgba(11,51,69,.85),rgba(7,35,49,.85));padding:16px}
.review-card-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:13px}
.review-card-head strong{display:block;font-size:15px;color:#edfaff}
.review-card-head span{display:block;margin-top:3px;color:#9cc0cf;font-size:12px}
.review-status{padding:5px 9px!important;border-radius:999px;font-size:11px!important;font-weight:700}
.review-status.linked{background:rgba(34,190,132,.13);color:#62e0b4;border:1px solid rgba(34,190,132,.3)}
.review-status.needs-review{background:rgba(243,177,53,.13);color:#ffd36b;border:1px solid rgba(243,177,53,.3)}
.review-meta{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:10px;margin-bottom:14px}
.review-meta>div{padding:10px;border-radius:9px;background:rgba(255,255,255,.025);border:1px solid rgba(118,183,206,.10)}
.review-meta span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#7da9bb;margin-bottom:4px}
.review-meta b{font-size:12px;color:#d9edf5;word-break:break-word}
.review-form{display:grid;grid-template-columns:minmax(260px,1fr) 180px;gap:12px;align-items:end}
.review-form label{font-size:12px;color:#a9cad6}
.review-form select,.review-form input{font-size:13px}
.review-actions{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap;margin-top:2px}
.btn.danger{border-color:rgba(235,91,91,.42);color:#ffaaaa;background:rgba(132,35,35,.18)}
.alert.success{background:rgba(34,190,132,.12);border:1px solid rgba(34,190,132,.3);color:#8cf0ca;padding:12px 14px;border-radius:10px;margin-bottom:14px}
.alert.error{background:rgba(225,75,75,.12);border:1px solid rgba(225,75,75,.28);color:#ffb0b0;padding:12px 14px;border-radius:10px;margin-bottom:14px}
@media(max-width:900px){
  .review-meta{grid-template-columns:repeat(2,1fr)}
  .review-form{grid-template-columns:1fr}
}

/* v0.4.4 Settings visibility fix */
.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.settings-card{display:flex;gap:16px;align-items:flex-start;min-height:170px}
.settings-card-icon{width:52px;height:52px;flex:0 0 52px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(145deg,#137eac,#0d5679);border:1px solid rgba(87,191,228,.35);font-weight:800;font-size:15px;color:#fff}
.settings-card-icon.review-icon{font-size:24px;background:linear-gradient(145deg,#159577,#0e6958)}
.settings-card-content{flex:1}
.settings-card-title-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.settings-card h2{margin:0 0 8px}
.settings-card p{color:#a8c5d1;line-height:1.45}
.settings-count{min-width:42px;height:42px;padding:0 9px;border-radius:999px;display:grid;place-items:center;background:rgba(245,181,52,.13);border:1px solid rgba(245,181,52,.34);color:#ffd16b;font-weight:800}
.settings-card-actions{margin-top:14px}
#sidebar .nav-sub{margin:2px 9px 7px 27px;padding:9px 12px;border-radius:9px;font-size:12px;opacity:.86}
#sidebar .nav-sub-dot{width:7px;height:7px;border-radius:50%;background:#69bad8;display:inline-block;margin-right:10px}
#sidebar .nav-sub.active{background:rgba(26,151,194,.18);color:#fff;opacity:1}
@media(max-width:850px){.settings-grid{grid-template-columns:1fr}}

/* v0.4.5 invoice status */
.invoice-table .badge{font-size:13px;padding:6px 10px;font-weight:700}

/* QuickBooks-inspired Products & Services, using CEA EDR colors */
.product-attention{border-left:3px solid #e58926}
.product-attention ul{margin:8px 0 0;padding-left:22px;color:#b9d0da}
.product-filters{display:grid;grid-template-columns:minmax(250px,1.5fr) 190px 190px auto;gap:12px;align-items:end;margin-bottom:18px}
.product-filters label{font-size:12px;color:#9ec0ce}
.table-scroll{overflow:auto}
.products-table{min-width:1180px}
.products-table td{vertical-align:middle;font-size:12px}
.products-table th{white-space:nowrap}
.product-name-cell{display:flex;align-items:center;gap:10px;min-width:210px}
.product-name-cell img,.product-placeholder{width:42px;height:42px;object-fit:contain;border-radius:7px;background:rgba(255,255,255,.05);border:1px solid rgba(121,187,212,.18)}
.product-placeholder{display:grid;place-items:center;font-size:21px;color:#84afc0}
.product-name-cell a{font-weight:700}
.stock-out{display:inline-block;margin-left:5px;padding:3px 5px;border-radius:6px;background:#b92646;color:white;font-size:9px;font-weight:800}
.product-form-top{display:grid;grid-template-columns:150px 1fr;gap:20px;margin-bottom:16px}
.product-image-editor{display:flex;flex-direction:column;gap:10px;align-items:center}
.product-image-editor img,.product-image-empty{width:130px;height:130px;border-radius:14px;object-fit:contain;background:rgba(255,255,255,.04);border:1px solid rgba(109,190,221,.22)}
.product-image-empty{display:grid;place-items:center;font-size:48px;color:#6999ab}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.checkbox-label{display:flex!important;align-items:center;gap:8px;margin-top:25px}
.checkbox-label input{width:auto!important}
.business-glance{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:16px 0}
.qb-glance-card>span{font-size:12px;color:#89afbf}.qb-glance-card>strong{display:block;font-size:26px;margin:8px 0}.qb-glance-card p{color:#8facb8;font-size:12px}.glance-split{display:flex;gap:24px;margin-top:10px}.glance-split b{font-size:16px}.glance-split small{display:block;color:#8facb8;font-weight:400;margin-top:3px}
.template-editor-grid{display:grid;grid-template-columns:minmax(420px,1fr) minmax(380px,1fr);gap:18px;align-items:start}.template-vars{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0 18px}.template-vars span{padding:5px 8px;border:1px solid rgba(107,190,222,.22);background:rgba(6,43,58,.45);border-radius:7px;font-size:11px;color:#a9d2df}.email-preview-shell{position:sticky;top:16px}.email-preview-head{display:flex;justify-content:space-between;color:#9bbbc7;margin-bottom:8px;font-size:12px}.email-preview-card,.invoice-email-paper{background:#fff;color:#31383d;border-radius:10px;padding:28px;box-shadow:0 10px 32px rgba(0,0,0,.24)}.preview-logo{font-weight:900;color:#0d5065;text-align:center;margin:8px 0 24px}.preview-logo.big{font-size:24px}.preview-amount-box,.invoice-due-box{background:#dbe8ed;padding:22px;text-align:center;margin:18px 0}.preview-amount-box small,.invoice-due-box small{display:block;font-size:11px;font-weight:700}.preview-amount-box strong,.invoice-due-box strong{display:block;font-size:28px;margin:8px}.invoice-due-box button{background:#075568;color:#fff;border:0;padding:10px 30px;border-radius:5px;font-weight:700}.preview-body{line-height:1.55;white-space:normal}.preview-footer{text-align:center;border-top:1px solid #dde5e8;margin-top:24px;padding-top:14px;font-size:11px;color:#66747b}
.email-send-page{display:grid;grid-template-columns:minmax(420px,1fr) minmax(430px,1fr);gap:18px}.email-compose,.invoice-email-preview{background:var(--panel);border:1px solid rgba(108,185,213,.18);border-radius:14px;padding:18px}.email-compose-head{display:flex;align-items:center;gap:12px}.email-compose-head h1{font-size:18px}.attachment-chip{border:1px solid rgba(118,187,211,.2);padding:10px;border-radius:8px;background:rgba(255,255,255,.025)}.email-send-actions{display:flex;justify-content:flex-end;margin-top:12px}.invoice-email-preview{padding:20px;background:rgba(5,27,37,.4)}
@media(max-width:1000px){.product-filters{grid-template-columns:1fr 1fr}.business-glance,.template-editor-grid,.email-send-page{grid-template-columns:1fr}.email-preview-shell{position:static}.product-form-top{grid-template-columns:1fr}.grid3{grid-template-columns:1fr}}


/* =========================================================
   v0.4.6 — CEA DMS page theme
   IMPORTANT: these rules intentionally do NOT alter #sidebar
   or its navigation/menu styling.
   ========================================================= */

.content{
  background:
    linear-gradient(180deg, rgba(27,40,55,.82), rgba(21,32,45,.92)),
    radial-gradient(circle at 80% 0, rgba(55,83,107,.16), transparent 38%);
  min-height:calc(100vh - 76px);
  padding:24px 26px 30px;
}

/* Page titles / breadcrumbs */
.content .page-heading,
.content .titlebar{
  margin-bottom:16px;
}
.content .page-heading h1,
.content .titlebar h1,
.content > h1{
  color:#f2f5f8;
  font-weight:650;
  letter-spacing:.1px;
}
.content .page-heading p,
.content .titlebar .muted,
.content .muted{
  color:#9aa8b6;
}
.content .eyebrow{
  color:#86a8c1;
  letter-spacing:.08em;
  font-weight:650;
}

/* DMS-style panels */
.content .panel,
.content .customer-summary-card,
.content .email-compose,
.content .invoice-email-preview{
  background:#1f2b3a;
  border:1px solid #39495d;
  border-radius:10px;
  box-shadow:0 6px 18px rgba(0,0,0,.16);
}
.content .panel{
  padding:18px;
}
.content .panel h2,
.content .panel h3{
  color:#eef3f6;
  font-weight:650;
}

/* Statistic cards */
.content .stat{
  background:#1f2b3a;
  border:1px solid #3a4c60;
  border-radius:10px;
  box-shadow:none;
  min-height:104px;
}
.content .stat:after{display:none}
.content .stat span{color:#9aaaba}
.content .stat strong{font-size:25px;color:#f5f7f9}
.content .cards{gap:12px}

/* Forms and controls */
.content label{
  color:#c7d0d8;
  font-weight:500;
}
.content input,
.content select,
.content textarea{
  background:#1a2533;
  color:#edf2f5;
  border:1px solid #405166;
  border-radius:8px;
  min-height:40px;
}
.content input::placeholder,
.content textarea::placeholder{
  color:#78899a;
}
.content input:focus,
.content select:focus,
.content textarea:focus{
  outline:none;
  border-color:#6b8ba5;
  box-shadow:0 0 0 2px rgba(107,139,165,.16);
}
.content select option{
  background:#1f2b3a;
  color:#edf2f5;
}
.content .form-actions{
  border-top:1px solid #344456;
}

/* Buttons inside pages only */
.content .btn{
  background:#253446;
  border:1px solid #485c72;
  color:#e8eef3;
  border-radius:8px;
  box-shadow:none;
  transform:none;
}
.content .btn:hover{
  background:#2d4054;
  color:#fff;
  transform:none;
}
.content .btn.primary{
  background:#235a77;
  border-color:#397898;
  color:#fff;
  box-shadow:none;
}
.content .btn.primary:hover{
  background:#2a698a;
}
.content .btn.danger{
  background:#5b2e35;
  border-color:#81414b;
  color:#ffdadd;
}

/* DMS-style tables */
.content table{
  border-collapse:separate;
  border-spacing:0;
  background:#1f2b3a;
  border:1px solid #39495d;
  border-radius:9px;
  overflow:hidden;
}
.content th{
  background:#39475a;
  color:#dfe7ed;
  font-size:11px;
  font-weight:650;
  letter-spacing:.03em;
  text-transform:none;
  border-bottom:1px solid #48596d;
}
.content td{
  color:#d8e0e6;
  border-bottom:1px solid #38485a;
  background:#1f2b3a;
}
.content tr:last-child td{border-bottom:0}
.content tbody tr:hover td,
.content .transaction-table tr:hover td{
  background:#263548;
}
.content td a{
  color:#83b3d0;
  font-weight:600;
}
.content td a:hover{color:#b8ddf2}

/* Badges */
.content .badge,
.content .status-dot + *{
  font-weight:650;
}
.content .badge{
  background:#26384a;
  border:1px solid #4b6177;
  color:#e7edf2;
}

/* Filter and toolbar areas */
.content .product-filters,
.content .review-toolbar,
.content .transaction-toolbar{
  background:#1c2735;
  border:1px solid #364659;
  border-radius:9px;
  padding:12px;
}
.content .review-tabs a{
  background:#232f3e;
  border:1px solid #405267;
  color:#b9c5cf;
  border-radius:7px;
}
.content .review-tabs a.active{
  background:#39495c;
  border-color:#61778f;
  color:#fff;
}

/* Customer profile */
.content .customer-summary-card{
  background:#1f2b3a;
  border:1px solid #39495d;
}
.content .customer-avatar{
  background:#2b394a;
  border-color:#4b6076;
  color:#e8eef3;
}
.content .financial-summary{
  background:#243142;
  border:1px solid #3f5166;
}
.content .customer-tabs{
  border-bottom:1px solid #415167;
}
.content .customer-tabs a{
  color:#9baaba;
}
.content .customer-tabs a.active{
  color:#fff;
  border-bottom-color:#7ca2bc;
}

/* Settings/review cards */
.content .settings-card,
.content .review-card{
  background:#1f2b3a;
  border:1px solid #39495d;
  border-radius:10px;
}
.content .settings-card-icon{
  background:#2e4053;
  border-color:#52687e;
}
.content .review-meta>div{
  background:#243142;
  border-color:#3b4b5e;
}
.content .review-status.linked{
  background:#25483f;
  border-color:#3f7062;
  color:#b6e2d1;
}
.content .review-status.needs-review{
  background:#55472b;
  border-color:#816b42;
  color:#f0d29a;
}

/* Products */
.content .product-attention{
  background:#242f3d;
  border:1px solid #4c5663;
  border-left:3px solid #bb8249;
}
.content .product-name-cell img,
.content .product-placeholder{
  background:#243142;
  border-color:#405166;
}
.content .stock-out{
  background:#96384b;
  color:#fff;
}
.content .product-image-editor img,
.content .product-image-empty{
  background:#1b2735;
  border-color:#405166;
}

/* Email/template editor keeps white paper preview, editor adopts DMS */
.content .template-editor,
.content .email-compose{
  background:#1f2b3a;
  border-color:#39495d;
}
.content .email-preview-head{
  color:#a8b5c1;
}
.content .email-preview-card,
.content .invoice-email-paper{
  background:#fff;
  color:#2b3135;
}
.content .template-vars span{
  background:#263548;
  border-color:#45596e;
  color:#c6d4de;
}
.content .attachment-chip{
  background:#263548;
  border-color:#405166;
  color:#d9e2e8;
}

/* Invoice/payment full views */
.content .detail-card{
  background:#1f2b3a;
  border-color:#39495d;
}
.content .detail-grid span,
.content .detail-amount span{
  color:#9baaba;
}
.content .detail-grid strong,
.content .detail-amount strong{
  color:#f0f4f7;
}

/* Dashboard glance */
.content .qb-glance-card{
  background:#1f2b3a;
  border-color:#39495d;
}
.content .qb-glance-card>span,
.content .qb-glance-card p,
.content .glance-split small{
  color:#9aa8b5;
}

/* Alerts */
.content .alert.success{
  background:#263f37;
  border-color:#3f6759;
  color:#c1e4d5;
}
.content .alert.error{
  background:#4a3035;
  border-color:#72434b;
  color:#ffd4d8;
}

/* Footer/build info */
.content .app-footer-build{
  border-top:1px solid #38485b;
  color:#8f9ca8;
}

/* Keep responsive behavior clean */
@media(max-width:1000px){
  .content{padding:18px}
}


/* =========================================================
   v0.4.7 — CEA DMS exact light page theme
   Sidebar/menu intentionally untouched.
   ========================================================= */

.content{
  --dms-page:#edf7fb;
  --dms-card:#ffffff;
  --dms-line:#c8dce8;
  --dms-soft:#e8f4f9;
  --dms-soft2:#f5fbfd;
  --dms-head:#e3f0f6;
  --dms-text:#163247;
  --dms-muted:#627f90;
  --dms-blue:#0b789f;
  --dms-blue-dark:#086386;
  --dms-green:#1c8c64;
  --dms-orange:#d7821d;
  --dms-red:#c84051;
  background:
    radial-gradient(circle at 15% 0%,rgba(184,219,234,.28),transparent 33%),
    linear-gradient(180deg,#f3fbfe 0%,#eaf5fa 100%) !important;
  color:var(--dms-text)!important;
  min-height:calc(100vh - 76px);
  padding:26px 30px 34px;
}

/* typography */
.content,
.content label,
.content input,
.content select,
.content textarea,
.content button,
.content .btn,
.content table{
  font-family:Arial,Helvetica,sans-serif;
}
.content h1,
.content h2,
.content h3,
.content .page-heading h1,
.content .titlebar h1{
  color:#183246!important;
  font-weight:700!important;
}
.content .page-heading h1,
.content .titlebar h1{font-size:26px!important}
.content h2{font-size:18px!important}
.content h3{font-size:15px!important}
.content .muted,
.content .page-heading p,
.content .titlebar p,
.content .eyebrow{
  color:var(--dms-muted)!important;
}
.content .eyebrow{
  font-size:11px!important;
  font-weight:700!important;
  text-transform:uppercase;
  letter-spacing:.07em;
}

/* main white cards */
.content .panel,
.content .customer-summary-card,
.content .settings-card,
.content .review-card,
.content .email-compose,
.content .invoice-email-preview,
.content .detail-card{
  background:#fff!important;
  border:1px solid var(--dms-line)!important;
  border-radius:12px!important;
  box-shadow:0 8px 24px rgba(58,93,112,.08)!important;
  color:var(--dms-text)!important;
}
.content .panel{padding:18px 20px!important}

/* controls */
.content label{
  color:#34566b!important;
  font-size:12px!important;
  font-weight:700!important;
}
.content input,
.content select,
.content textarea{
  background:#fff!important;
  color:#173247!important;
  border:1px solid #b9d2df!important;
  border-radius:7px!important;
  min-height:38px!important;
  box-shadow:none!important;
}
.content input::placeholder,
.content textarea::placeholder{color:#7d929f!important}
.content input:focus,
.content select:focus,
.content textarea:focus{
  border-color:#5da3c4!important;
  box-shadow:0 0 0 2px rgba(51,139,179,.12)!important;
  outline:none!important;
}
.content select option{background:#fff!important;color:#173247!important}

/* buttons exactly in DMS spirit */
.content .btn{
  background:#e7f1f6!important;
  border:1px solid #d6e7ef!important;
  color:#264d63!important;
  border-radius:8px!important;
  box-shadow:none!important;
  font-weight:700!important;
}
.content .btn:hover{background:#dcecf4!important;color:#17394d!important}
.content .btn.primary{
  background:#0c7ca4!important;
  border-color:#0c7ca4!important;
  color:#fff!important;
  box-shadow:0 5px 14px rgba(12,124,164,.16)!important;
}
.content .btn.primary:hover{background:#086b8e!important}
.content .btn.danger{
  background:#ca4050!important;
  border-color:#ca4050!important;
  color:#fff!important;
}

/* forms */
.content .formpanel{
  background:#fff!important;
}
.content .form-actions{
  border-top:1px solid #dce9ef!important;
  background:transparent!important;
}
.content .section-title,
.content .transaction-toolbar,
.content .review-toolbar,
.content .product-filters{
  background:#eef7fb!important;
  border:1px solid #d1e4ed!important;
  color:#21465a!important;
  border-radius:8px!important;
}
.content .section-title p,
.content .transaction-toolbar p{color:#627f90!important}

/* tables */
.content table{
  width:100%;
  background:#fff!important;
  border:0!important;
  border-collapse:collapse!important;
  border-radius:0!important;
  overflow:visible!important;
}
.content th{
  background:#e6f1f6!important;
  color:#587286!important;
  border-bottom:1px solid #d4e4ec!important;
  padding:12px 14px!important;
  font-size:10px!important;
  line-height:1.2;
  font-weight:800!important;
  text-transform:uppercase!important;
  letter-spacing:.035em!important;
}
.content td{
  background:#fff!important;
  color:#173247!important;
  border-bottom:1px solid #dce8ee!important;
  padding:13px 14px!important;
}
.content tbody tr:hover td,
.content .transaction-table tr:hover td{
  background:#f1f8fb!important;
}
.content td a{
  color:#0b6f98!important;
  font-weight:700!important;
}
.content td a:hover{color:#084e6a!important}

/* status pills */
.content .badge{
  background:#dff3ea!important;
  border:0!important;
  color:#176d4d!important;
  border-radius:999px!important;
  padding:5px 9px!important;
  font-weight:700!important;
}
.content .stock-out{
  background:#c62545!important;
  color:#fff!important;
  border-radius:6px!important;
}
.content .review-status.linked{
  background:#dff3ea!important;
  border:0!important;
  color:#176d4d!important;
}
.content .review-status.needs-review{
  background:#edf1f3!important;
  border:0!important;
  color:#667983!important;
}

/* dashboard */
.content .cards{gap:12px!important}
.content .stat{
  border:0!important;
  border-radius:10px!important;
  box-shadow:0 6px 16px rgba(44,92,116,.11)!important;
  color:#fff!important;
  min-height:92px!important;
}
.content .stat:nth-child(4n+1){background:linear-gradient(135deg,#1c78a0,#0b5f87)!important}
.content .stat:nth-child(4n+2){background:linear-gradient(135deg,#249867,#16805a)!important}
.content .stat:nth-child(4n+3){background:linear-gradient(135deg,#dc8b26,#c96f0f)!important}
.content .stat:nth-child(4n+4){background:linear-gradient(135deg,#d64d5d,#bf3546)!important}
.content .stat span,
.content .stat strong{color:#fff!important}
.content .stat span{font-size:11px!important}
.content .stat strong{font-size:26px!important;margin-top:7px!important}

/* dashboard quickbooks summary cards remain light */
.content .business-glance .qb-glance-card{
  background:#fff!important;
  border:1px solid var(--dms-line)!important;
}
.content .qb-glance-card>span,
.content .qb-glance-card p,
.content .glance-split small{color:#6d8796!important}
.content .qb-glance-card>strong,
.content .glance-split b{color:#173247!important}

/* customer profile */
.content .customer-summary-card{
  display:grid;
}
.content .customer-avatar{
  background:#edf6fa!important;
  border:1px solid #d2e4ec!important;
  color:#27526a!important;
}
.content .customer-title-line h1{color:#173247!important}
.content .customer-title-line p{color:#6c8492!important}
.content .customer-contact-grid span{color:#6d8492!important}
.content .customer-contact-grid strong{color:#173247!important}
.content .financial-summary{
  background:#e7f3ff!important;
  border:0!important;
  color:#173247!important;
}
.content .financial-summary small{color:#557487!important}
.content .financial-summary strong{color:#173247!important}
.content .customer-tabs{
  border-bottom:1px solid #cbdde6!important;
}
.content .customer-tabs a{color:#627f90!important}
.content .customer-tabs a.active{
  color:#0b6f98!important;
  border-bottom-color:#0b7da6!important;
}

/* settings cards, like DMS Settings screenshot */
.content .settings-card{
  min-height:0!important;
  background:#f7fcfe!important;
}
.content .settings-card-icon{
  background:#edf7fb!important;
  color:#0c759b!important;
  border:1px solid #cae1eb!important;
}
.content .settings-count{
  background:#ddf1f8!important;
  border:0!important;
  color:#176a8b!important;
}
.content .review-card{
  background:#fff!important;
}
.content .review-meta>div{
  background:#f4f9fb!important;
  border:1px solid #dfebf0!important;
}
.content .review-meta span{color:#708998!important}
.content .review-meta b{color:#173247!important}
.content .review-tabs a{
  background:#eaf4f8!important;
  border:1px solid #d8e7ee!important;
  color:#35586b!important;
}
.content .review-tabs a.active{
  background:#0c7ca4!important;
  border-color:#0c7ca4!important;
  color:#fff!important;
}

/* product page */
.content .product-attention{
  background:#f8fbfc!important;
  border:1px solid #d6e3e9!important;
  border-left:0!important;
}
.content .product-attention strong{color:#455d6b!important}
.content .product-attention ul{color:#536f80!important}
.content .product-name-cell img,
.content .product-placeholder{
  background:#fff!important;
  border:1px solid #d5e5ec!important;
}
.content .product-placeholder{color:#9db5c1!important}
.content .product-image-editor img,
.content .product-image-empty{
  background:#f8fbfc!important;
  border:1px solid #cbdde6!important;
  color:#87a6b6!important;
}

/* email template editor + preview */
.content .template-editor,
.content .email-compose{
  background:#fff!important;
}
.content .template-vars span{
  background:#edf7fb!important;
  border:1px solid #d6e7ef!important;
  color:#456879!important;
}
.content .email-preview-head{color:#617b89!important}
.content .email-preview-card,
.content .invoice-email-paper{
  background:#fff!important;
  color:#2d373c!important;
  border:1px solid #d2dfe5!important;
  box-shadow:0 8px 22px rgba(66,94,107,.10)!important;
}
.content .attachment-chip{
  background:#f5fafc!important;
  border:1px solid #d4e5ec!important;
  color:#405d6d!important;
}

/* payment/invoice detail */
.content .detail-grid span,
.content .detail-amount span{color:#6d8796!important}
.content .detail-grid strong,
.content .detail-amount strong{color:#173247!important}

/* alerts and helpers */
.content .alert.success{
  background:#e1f5eb!important;
  border:1px solid #c9eadc!important;
  color:#176c4e!important;
}
.content .alert.error{
  background:#fdebed!important;
  border:1px solid #f2c9ce!important;
  color:#a42d3d!important;
}
.content .field-help,
.content small{color:#68818f}

/* modal-like cards on page */
.content .email-compose-head,
.content .settings-card-title-row{
  color:#173247!important;
}

/* pagination-ish footer and build info */
.content .app-footer-build{
  border-top:0!important;
  color:#587485!important;
  padding-top:22px!important;
}

/* scrollbar/table polish */
.content .table-scroll{border-radius:9px;border:1px solid #d4e3eb}
.content .table-scroll table{border:0!important}

@media(max-width:1000px){
  .content{padding:18px!important}
}


/* v0.5.0 invoice workflow, customer search, suppliers, chart of accounts */
.invoice-titlebar{align-items:flex-start}
.invoice-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.action-dropdown{position:relative}
.action-dropdown>summary{list-style:none;cursor:pointer}
.action-dropdown>summary::-webkit-details-marker{display:none}
.action-dropdown-menu{
  position:absolute;right:0;top:calc(100% + 6px);z-index:90;min-width:220px;
  background:#fff;border:1px solid #cadce5;border-radius:9px;
  box-shadow:0 14px 34px rgba(36,74,94,.16);padding:6px
}
.action-dropdown:not([open]) .action-dropdown-menu{display:none}
.action-dropdown-menu a,.action-dropdown-menu button{
  display:block;width:100%;text-align:left;border:0!important;background:transparent!important;
  color:#254b60!important;padding:10px 11px!important;border-radius:6px!important;
  font-size:12px!important;font-weight:700!important;text-decoration:none;cursor:pointer;margin:0!important
}
.action-dropdown-menu a:hover,.action-dropdown-menu button:hover{background:#edf7fb!important}
.action-dropdown-menu form{margin:0}
.inline-notice{margin-top:10px;padding:9px 11px;border-radius:7px;background:#e8f5fb;border:1px solid #cae5f0;color:#37687e;font-size:12px;font-weight:700}
.customer-search-bar{display:grid;grid-template-columns:minmax(260px,1fr) auto auto;gap:9px;align-items:center;margin-bottom:14px}
.customer-search-bar input{min-width:0}
.suppliers-table td{font-size:12px}
.suppliers-table strong{color:#173247}
.account-balance-positive{color:#176d4d;font-weight:700}
.account-balance-negative{color:#a42d3d;font-weight:700}
.import-progress{margin:20px 0}
.progress-label{display:flex;justify-content:space-between;margin-bottom:7px;color:#567586}
.progress-track{height:12px;border-radius:999px;background:#e5eff4;overflow:hidden;border:1px solid #d2e3eb}
.progress-track>div{height:100%;width:0;background:linear-gradient(90deg,#0c7ca4,#32a7c6);transition:width .2s ease}
.import-progress pre{white-space:pre-wrap;background:#f7fbfd;border:1px solid #d5e5ed;padding:14px;border-radius:8px;color:#38596b;min-height:100px}
@media(max-width:760px){
  .customer-search-bar{grid-template-columns:1fr}
  .invoice-actions{width:100%}
  .action-dropdown-menu{left:0;right:auto}
}


/* v0.5.1 Email Configuration — ADCONS-inspired settings layout */
.email-settings-layout{display:grid;grid-template-columns:1fr;gap:16px}
.settings-email-card{padding:0!important;overflow:hidden}
.settings-card-headline{display:flex;align-items:flex-start;gap:14px;padding:18px 20px;border-bottom:1px solid #d8e7ee;background:#fbfdfe}
.settings-card-headline h2{margin:0 0 4px!important}
.settings-card-headline p{margin:0;color:#637f8f}
.settings-pro-icon{width:42px;height:42px;border-radius:10px;background:#e8f5fb;border:1px solid #cae3ee;display:grid;place-items:center;color:#0c789f;font-size:20px;flex:0 0 42px}
.email-config-status{margin-left:auto;padding:6px 10px;border-radius:999px;font-size:11px;font-weight:800}
.email-config-status.ready{background:#dff3ea;color:#176d4d}
.email-config-status.not-ready{background:#f4e8d5;color:#8a5d14}
.email-config-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:18px 20px}
.settings-groupbox{border:1px solid #d4e4ec;border-radius:10px;padding:14px;margin:0;min-width:0;background:#fff}
.settings-groupbox legend{padding:0 7px;color:#31566b;font-weight:800;font-size:12px}
.small-note{font-size:11px;color:#6d8796;margin-top:8px;line-height:1.4}
.smtp-test-row{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:12px;align-items:end;padding:0 20px 20px}
.smtp-test-actions{display:flex;gap:8px}
.signature-editor-wrap{border:1px solid #c6dbe5;border-radius:9px;overflow:hidden;background:#fff}
.signature-toolbar{display:flex;flex-wrap:wrap;gap:5px;padding:8px;background:#edf6fa;border-bottom:1px solid #d3e4ec}
.signature-toolbar button{border:1px solid #c8dce6;background:#fff;color:#31556a;border-radius:6px;padding:7px 10px;cursor:pointer;font-weight:700}
.signature-toolbar button:hover{background:#e6f2f7}
.signature-editor{min-height:190px;padding:15px;color:#243c4b;outline:none;background:#fff;line-height:1.55}
.signature-editor img,.signature-preview img{max-width:100%;height:auto}
.signature-preview-grid{padding:18px 20px 20px;border-top:1px solid #e0ebf0}
.signature-preview-grid h3{margin-top:0}
.signature-preview{min-height:90px;padding:16px;border:1px solid #d8e6ec;border-radius:8px;background:#fff;color:#263b4d}
.invoice-signature-preview{margin-top:24px;padding-top:18px;border-top:1px solid #e4e9ed}
.settings-savebar{position:sticky;bottom:0;z-index:20;margin-top:16px;padding:12px 16px;background:rgba(247,252,254,.96);border:1px solid #d2e3eb;border-radius:10px;display:flex;justify-content:flex-end;gap:8px;backdrop-filter:blur(6px)}
@media(max-width:1100px){.email-config-groups{grid-template-columns:1fr}.smtp-test-row{grid-template-columns:1fr}.smtp-test-actions{justify-content:flex-start}}

/* v0.5.2 QuickBooks reconciliation */
.receive-payment-section{margin:18px 0;border:1px solid #d4e4ec;border-radius:10px;overflow:hidden;background:#fff}
.receive-payment-section .section-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 14px;background:#edf6fa;border-bottom:1px solid #d4e4ec}
.receive-payment-section .section-heading h3{margin:0!important}
.receive-payment-section .section-heading span{font-size:12px;color:#607d8d}
.receive-payment-table{margin:0!important;border:0!important;border-radius:0!important}
.receive-payment-table input{min-width:100px}
.payment-summary-box{margin:18px 0 8px;margin-left:auto;max-width:360px;display:grid;gap:8px;padding:14px 16px;background:#f5fafc;border:1px solid #d8e7ee;border-radius:9px}
.payment-summary-box>div{display:flex;justify-content:space-between;gap:20px}
.payment-summary-box span{color:#607988;font-size:12px}
.payment-summary-box strong{color:#173247}
.reconcile-list{color:#456274;line-height:1.7}


/* v0.5.5 Customer transaction invoice actions */
.customer-transaction-actions{white-space:nowrap}
.customer-transaction-actions .action-separator{
  display:inline-block;
  height:16px;
  width:1px;
  background:#cfdee6;
  margin:0 7px;
  vertical-align:middle;
}
.customer-transaction-actions .receive-payment-link{
  color:#0b6f98!important;
  font-weight:700!important;
}
.status-icon.overdue-icon{
  display:inline-grid;
  place-items:center;
  width:18px;
  height:18px;
  margin-right:7px;
  border-radius:50%;
  border:2px solid #e46d16;
  color:#e46d16;
  font-size:11px;
  font-weight:900;
  line-height:1;
  vertical-align:middle;
}


/* v0.5.8 — Customer form + right-side invoice/payment drawer restoration */
.content .formpanel.customer-form,
.content .formpanel{
  max-width:none!important;
  width:100%!important;
}
.content .customer-form{
  background:#fff!important;
}
.content .customer-form .section-title{
  margin:18px 0 12px!important;
  padding:12px 14px!important;
  background:#eaf5fa!important;
  border:1px solid #cfe3ed!important;
  border-radius:8px!important;
}
.content .customer-form .section-title:first-of-type{margin-top:0!important}
.content .customer-form .section-title>span{
  width:34px!important;
  height:34px!important;
  border-radius:8px!important;
  display:grid!important;
  place-items:center!important;
  background:#0b789f!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:800!important;
}
.content .customer-form .section-title h3{
  color:#173247!important;
  font-size:15px!important;
  margin:0 0 2px!important;
}
.content .customer-form .section-title p{
  color:#6a8392!important;
  font-size:11px!important;
  margin:0!important;
}
.content .email-manager{
  background:#f8fcfe!important;
  border:1px solid #cfe2ec!important;
  border-radius:10px!important;
  overflow:hidden!important;
}
.content .email-manager-head{
  background:#eaf5fa!important;
  border-bottom:1px solid #d4e5ed!important;
  color:#173247!important;
  padding:11px 13px!important;
}
.content .email-manager-head strong{color:#173247!important}
.content .email-manager-head span{color:#688493!important}
.content .email-chip-list{
  background:#fff!important;
  max-height:170px!important;
  overflow:auto!important;
  padding:10px!important;
}
.content .email-chip-row{
  background:#f8fbfd!important;
  border:1px solid #d6e5ec!important;
  color:#173247!important;
  border-radius:8px!important;
}
.content .email-chip-copy strong{color:#173247!important}
.content .email-chip-copy span{color:#708795!important}
.content .email-chip-icon{
  background:#e2f2f8!important;
  color:#0b789f!important;
  border:1px solid #c4e0eb!important;
}
.content .email-chip-remove{
  background:#f8e8ea!important;
  border:1px solid #edc9cf!important;
  color:#ad3444!important;
}
.content .compound-field{
  display:grid!important;
  grid-template-columns:150px minmax(0,1fr)!important;
  gap:8px!important;
}
.content .customer-billing-grid{
  grid-template-columns:240px minmax(0,1fr)!important;
  align-items:start!important;
}
.content .customer-address-field textarea{min-height:95px!important}
.content .customer-form textarea[name="notes"]{min-height:110px!important}
.content .customer-form .form-actions{
  margin-top:20px!important;
  padding-top:14px!important;
  display:flex!important;
  justify-content:flex-end!important;
  gap:8px!important;
}

/* Ensure invoice/payment details always open as the right-side QuickBooks-style panel. */
.drawer-backdrop{
  position:fixed!important;
  inset:0!important;
  z-index:5000!important;
  background:rgba(16,39,52,.24)!important;
  backdrop-filter:blur(1px);
}
.qba-drawer{
  position:fixed!important;
  top:0!important;
  right:0!important;
  bottom:0!important;
  left:auto!important;
  width:min(430px,96vw)!important;
  height:100vh!important;
  z-index:5001!important;
  background:#fff!important;
  color:#243b49!important;
  border-left:1px solid #cadce5!important;
  box-shadow:-18px 0 44px rgba(38,75,95,.18)!important;
  display:flex!important;
  flex-direction:column!important;
  overflow-y:auto!important;
}
.qba-drawer .drawer-head{
  position:sticky!important;
  top:0!important;
  z-index:2!important;
  background:#fff!important;
  border-bottom:1px solid #d9e6ec!important;
}
.qba-drawer .drawer-section{
  background:#fff!important;
  border-bottom:1px solid #e1eaee!important;
}
.qba-drawer .drawer-total strong,
.qba-drawer h2,
.qba-drawer h3,
.qba-drawer b{color:#203847!important}
.qba-drawer .drawer-actions{
  position:sticky!important;
  bottom:0!important;
  background:#f8fbfc!important;
  border-top:1px solid #d7e4ea!important;
  z-index:3!important;
}
.qba-drawer .drawer-close{
  color:#0b789f!important;
  border-color:#0b789f!important;
  background:#fff!important;
}
.qba-drawer .timeline span{color:#566f7e!important}
.qba-drawer .drawer-line{border-bottom-color:#e1eaee!important}

@media(max-width:820px){
  .content .customer-billing-grid{grid-template-columns:1fr!important}
  .content .compound-field{grid-template-columns:130px minmax(0,1fr)!important}
}


/* v0.5.9 — match ADCONS Tax Administration page background */
html,body{background:#f3f7fb!important}
.content{
  background:#f3f7fb!important;
  background-image:none!important;
}
.content:before,.content:after{display:none!important}

/* ADCONS-style HTML rich email template editor */
.qba-rte-wrap{
  border:1px solid #cfdce7;
  border-radius:10px;
  overflow:hidden;
  background:#fff;
  margin-top:7px;
}
.qba-rte-toolbar{
  display:flex;
  align-items:center;
  gap:4px;
  flex-wrap:wrap;
  padding:9px 10px;
  background:#f3f7fb;
  border-bottom:1px solid #d7e4ed;
}
.qba-rte-tool{
  min-width:32px;
  height:32px;
  padding:0 8px!important;
  margin:0!important;
  border:1px solid transparent!important;
  border-radius:6px!important;
  background:transparent!important;
  color:#304f65!important;
  box-shadow:none!important;
  cursor:pointer;
  font-size:13px!important;
}
.qba-rte-tool:hover{
  background:#e4eef5!important;
  border-color:#d0e0ea!important;
}
.qba-rte-letter{font-family:Arial,sans-serif!important}
.qba-rte-separator{
  width:1px;
  height:26px;
  background:#d5e2ea;
  margin:0 4px;
}
.qba-rte-select{
  height:34px!important;
  min-height:34px!important;
  width:auto!important;
  padding:0 28px 0 9px!important;
  border:1px solid #cbd9e3!important;
  border-radius:7px!important;
  background:#fff!important;
  color:#304f65!important;
  font-size:12px!important;
}
.qba-rte-font-family{min-width:128px!important}
.qba-rte-font-size{min-width:78px!important}
.qba-rte-color-tool{
  position:relative;
  width:34px;
  height:32px;
  margin:0!important;
  border-radius:6px;
  display:grid!important;
  place-items:center;
  cursor:pointer;
  background:transparent;
  color:#304f65!important;
  font-size:14px!important;
  font-weight:800!important;
}
.qba-rte-color-tool:hover{background:#e4eef5}
.qba-rte-color-tool input[type=color]{
  position:absolute;
  inset:auto 5px 2px;
  width:24px!important;
  height:5px!important;
  min-height:0!important;
  padding:0!important;
  border:0!important;
  opacity:.95;
  cursor:pointer;
}
.qba-rte-editor{
  min-height:305px;
  padding:22px 18px;
  background:#fff;
  color:#17324d;
  outline:none;
  font:16px/1.55 Arial,"Segoe UI",sans-serif;
}
.qba-rte-editor:focus{box-shadow:inset 0 0 0 2px rgba(11,111,184,.08)}
.qba-rte-editor p{margin:0 0 14px}
.template-editor-grid .template-editor{overflow:visible!important}
@media(max-width:900px){
  .qba-rte-toolbar{flex-wrap:nowrap;overflow-x:auto}
}


/* v0.6.1 — QuickBooks-style Receive Payment and Send Confirmation */
.credit-selection-table .select-col{width:46px;text-align:center}
.credit-selection-table .credit-select{
  width:18px!important;
  height:18px!important;
  min-height:18px!important;
  accent-color:#08755f;
  cursor:pointer;
}
.credit-selection-table .credit-apply-input:disabled{
  background:#f2f5f7!important;
  color:#9aa8b0!important;
}
.payment-form-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
}
.payment-save-actions{display:flex;gap:8px;margin-left:auto}

/* Large QuickBooks-like payment email confirmation */
.payment-email-overlay{
  position:fixed;
  inset:0;
  z-index:6000;
  background:rgba(24,47,59,.24);
  padding:14px;
  overflow:auto;
}
.payment-email-dialog{
  width:min(1540px,98vw);
  min-height:min(900px,96vh);
  margin:0 auto;
  background:#fff;
  border:1px solid #cfdde5;
  border-radius:14px;
  box-shadow:0 24px 80px rgba(39,69,86,.24);
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
.payment-email-dialog-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:20px 28px;
  border-bottom:1px solid #d9e5eb;
}
.payment-email-dialog-head h1{margin:3px 0 0!important;font-size:26px!important}
.payment-email-close{
  width:38px;height:38px;border-radius:9px;display:grid;place-items:center;
  color:#45606e!important;text-decoration:none;font-size:28px;
}
.payment-email-close:hover{background:#eef5f8}
.payment-email-dialog-body{
  display:grid;
  grid-template-columns:minmax(420px,.9fr) minmax(650px,1.3fr);
  grid-template-rows:1fr auto;
  gap:20px;
  padding:22px 28px 0;
  flex:1;
  min-height:0;
}
.payment-email-compose{
  min-width:0;
  overflow:auto;
  padding-right:6px;
}
.payment-email-compose label{margin-bottom:13px}
.payment-email-compose textarea{min-height:300px!important}
.payment-receipt-preview{
  min-width:0;
  background:#303436;
  border-radius:9px;
  padding:26px;
  overflow:auto;
  display:flex;
  align-items:flex-start;
  justify-content:center;
}
.receipt-preview-paper{
  width:min(780px,100%);
  min-height:760px;
  background:#fff;
  color:#233844;
  padding:38px 42px;
  box-shadow:0 6px 24px rgba(0,0,0,.25);
}
.receipt-preview-brand{
  display:flex;align-items:center;gap:16px;margin-bottom:28px
}
.receipt-preview-brand img{
  width:92px;height:92px;object-fit:contain
}
.receipt-preview-brand strong{display:block;font-size:20px;color:#173247}
.receipt-preview-brand span{display:block;color:#66808f;margin-top:3px}
.receipt-preview-title-row{
  display:flex;justify-content:space-between;gap:30px;align-items:flex-start;margin:12px 0 30px
}
.receipt-preview-title-row h2{font-size:32px!important;color:#0b5e7d!important;margin:0 0 18px!important}
.receipt-preview-title-row p{margin:0 0 3px;color:#69828f}
.receipt-preview-title-row strong,.receipt-preview-title-row span{display:block}
.receipt-preview-meta{display:grid;gap:8px;text-align:right;color:#526d7c}
.receipt-preview-table{
  width:100%;border-collapse:collapse!important;margin:24px 0!important;border:0!important
}
.receipt-preview-table th{
  background:#dce9ef!important;color:#3c5c6e!important;padding:9px!important;font-size:10px!important
}
.receipt-preview-table td{
  background:#fff!important;color:#273e4b!important;border-bottom:1px solid #dce7ec!important;padding:10px 9px!important
}
.receipt-preview-total{
  display:flex;justify-content:flex-end;align-items:baseline;gap:18px;margin:28px 0
}
.receipt-preview-total span{color:#68818f}
.receipt-preview-total strong{font-size:24px;color:#173247}
.receipt-preview-message{
  margin-top:30px;padding-top:24px;border-top:1px solid #e0e8ec;line-height:1.6;color:#334f5e
}
.receipt-preview-signature{
  margin-top:24px;padding-top:18px;border-top:1px solid #e4ebee
}
.payment-email-dialog-actions{
  grid-column:1/-1;
  display:flex;
  justify-content:flex-end;
  gap:8px;
  padding:14px 0 18px;
  border-top:1px solid #e0e8ec;
}

/* Supplied Rentrak / Centropy eye logo */
.side-brand-logo{
  width:44px;
  height:44px;
  object-fit:contain;
  flex:0 0 44px;
}
.login-brand-logo{
  width:88px;
  height:88px;
  object-fit:contain;
  flex:0 0 88px;
}
.login-brand{align-items:center!important}

@media(max-width:1050px){
  .payment-email-dialog-body{grid-template-columns:1fr}
  .payment-email-dialog{min-height:auto}
  .payment-receipt-preview{min-height:600px}
}
@media(max-width:720px){
  .payment-email-overlay{padding:0}
  .payment-email-dialog{width:100%;min-height:100vh;border-radius:0}
  .payment-email-dialog-body{padding:16px}
  .receipt-preview-paper{padding:24px 18px}
  .payment-form-actions{align-items:stretch!important}
  .payment-save-actions{width:100%;margin-left:0}
  .payment-save-actions .btn{flex:1}
}


/* v0.6.2 — supplied transparent Rentrak icon */
.side-brand-logo{
  width:48px!important;
  height:48px!important;
  object-fit:contain!important;
  object-position:center!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.login-brand-logo{
  width:112px!important;
  height:112px!important;
  object-fit:contain!important;
  object-position:center!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}


/* v0.6.3 — CEA AdminPanel navigation, typography, fixed header, pagination */
html,body,button,input,select,textarea,table{font-family:"Segoe UI",Arial,sans-serif!important;font-size:14px}
body{font-weight:400}
#sidebar{width:248px!important;padding:14px 10px 18px!important;overflow-x:hidden!important;overflow-y:auto!important;transition:width .22s ease,transform .22s ease!important;z-index:80!important}
#main{margin-left:248px!important;transition:margin-left .22s ease!important;min-height:100vh!important;padding-top:76px!important}
header{position:fixed!important;top:0!important;left:248px!important;right:0!important;width:auto!important;height:76px!important;z-index:70!important;transition:left .22s ease!important;background:#0a283af2!important;backdrop-filter:blur(12px)!important}
.content{padding-top:28px!important}
.side-brand{height:62px!important;padding:0 9px 14px!important;margin-bottom:8px!important;gap:11px!important}
.side-brand strong{font-size:16px!important;font-weight:700!important}.side-brand small{font-size:10px!important}.side-brand-logo{width:42px!important;height:42px!important;flex:0 0 42px!important}
.side-nav{display:block}
#sidebar .side-nav>a{display:flex;align-items:center;gap:13px;min-height:44px;padding:9px 13px;margin:3px 0;border-radius:9px;color:#bfd2dd;font-weight:600;font-size:14px;border:1px solid transparent;transition:background .15s,border-color .15s,color .15s}
#sidebar .side-nav>a:hover{background:#123f57;color:#fff;border-color:#205a72}
#sidebar .side-nav>a.active{background:linear-gradient(135deg,#0f83bd55,#16669650);border-color:#1e90c2;color:#fff;box-shadow:inset 3px 0 #24b4e8}
#sidebar .nav-icon{width:23px;height:23px;flex:0 0 23px}.nav-icon svg{width:20px;height:20px}
.nav-section{position:relative;height:24px;margin:12px 8px 5px;display:flex;align-items:center;color:#62889c;font-size:9px;font-weight:800;letter-spacing:.12em;white-space:nowrap}
.nav-section:after{content:"";height:1px;background:#1b4d63;flex:1;margin-left:9px}.nav-section:first-child{margin-top:4px}
#sidebar .nav-sub{display:flex!important;align-items:center!important;min-height:36px!important;margin:1px 8px 5px 35px!important;padding:7px 10px!important;font-size:11px!important;color:#9fbac8!important}
body.collapsed #sidebar{width:76px!important}
body.collapsed #main{margin-left:76px!important}
body.collapsed header{left:76px!important}
body.collapsed #sidebar .side-brand>div,body.collapsed #sidebar .nav-label,body.collapsed #sidebar .nav-section span{display:none!important}
body.collapsed #sidebar .side-brand{justify-content:center;padding-left:0!important;padding-right:0!important}
body.collapsed #sidebar .nav-section{margin-left:5px;margin-right:5px}.collapsed #sidebar .nav-section:after{margin-left:0}
body.collapsed #sidebar .side-nav>a{justify-content:center;padding-left:0!important;padding-right:0!important}
body.collapsed #sidebar .nav-sub{margin-left:8px!important;justify-content:center!important}.collapsed #sidebar .nav-sub-dot{margin-right:0!important}
/* Hover expansion while collapsed, like CEA AdminPanel icon rail. */
body.collapsed #sidebar:hover,body.collapsed #sidebar:focus-within{width:248px!important;box-shadow:16px 0 36px rgba(0,0,0,.18)!important}
body.collapsed #sidebar:hover .side-brand>div,body.collapsed #sidebar:focus-within .side-brand>div,body.collapsed #sidebar:hover .nav-label,body.collapsed #sidebar:focus-within .nav-label,body.collapsed #sidebar:hover .nav-section span,body.collapsed #sidebar:focus-within .nav-section span{display:block!important}
body.collapsed #sidebar:hover .side-brand,body.collapsed #sidebar:focus-within .side-brand{justify-content:flex-start;padding-left:9px!important;padding-right:9px!important}
body.collapsed #sidebar:hover .side-nav>a,body.collapsed #sidebar:focus-within .side-nav>a{justify-content:flex-start;padding-left:13px!important;padding-right:13px!important}
body.collapsed #sidebar:hover .nav-section:after,body.collapsed #sidebar:focus-within .nav-section:after{margin-left:9px}
body.collapsed #sidebar:hover .nav-sub,body.collapsed #sidebar:focus-within .nav-sub{margin-left:35px!important;justify-content:flex-start!important}
body.collapsed #sidebar:hover .nav-sub-dot,body.collapsed #sidebar:focus-within .nav-sub-dot{margin-right:10px!important}
.page-heading h1,.titlebar h1{font-size:24px!important;font-weight:700!important}.content h2{font-size:18px!important}.content h3{font-size:15px!important}.content table{font-size:13px!important}.content th{font-size:10px!important}.content td{font-size:13px!important}.btn{font-size:13px!important}
/* Theme-adaptive dashboard date/time chip */
.content .date-chip{background:#e8f4fa!important;border:1px solid #c7dfe9!important;color:#285b72!important;border-radius:999px!important;padding:9px 14px!important;font-weight:700!important;box-shadow:0 4px 12px rgba(42,92,116,.08)!important}
/* reusable paging footer */
.list-footer{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;margin-top:14px;padding-top:12px;border-top:1px solid #d9e6ec}
.rows-per-page{margin:0!important}.rows-per-page label{display:flex!important;align-items:center;gap:8px;margin:0!important;font-size:11px!important;color:#4d6b7c!important}.rows-per-page select{width:76px!important;min-height:34px!important;height:34px!important;padding:5px 24px 5px 8px!important;font-size:12px!important}.list-range{text-align:center;color:#617d8d;font-size:11px}.pager-actions{display:flex;gap:7px;justify-content:flex-end}.pager-actions .btn{padding:7px 12px!important}.pager-actions .disabled{opacity:.42;pointer-events:none}
.credit-total-pill{background:#e9f6fb;border:1px solid #cde3ed;border-radius:10px;padding:9px 13px;text-align:right}.credit-total-pill span{display:block;font-size:10px;color:#65808f}.credit-total-pill strong{display:block;font-size:19px;color:#173247;margin-top:2px}.customer-credit-table strong{color:#0a6f98}
@media(max-width:900px){#sidebar{transform:translateX(-100%);width:248px!important}#main,body.collapsed #main{margin-left:0!important}header,body.collapsed header{left:0!important}.menu-open #sidebar{transform:translateX(0)}body.collapsed #sidebar .side-brand>div,body.collapsed #sidebar .nav-label,body.collapsed #sidebar .nav-section span{display:block!important}body.collapsed #sidebar .side-nav>a{justify-content:flex-start;padding-left:13px!important;padding-right:13px!important}.content{padding-top:20px!important}.list-footer{grid-template-columns:1fr}.list-range{text-align:left}.pager-actions{justify-content:flex-start}}


/* v0.6.4 — CEA DMS-style login */
.login-bg{
  min-height:100vh!important;
  display:grid!important;
  place-items:center!important;
  padding:28px!important;
  background:
    radial-gradient(circle at 50% 18%,rgba(255,255,255,.96) 0,rgba(244,251,254,.90) 18%,rgba(226,241,248,.82) 48%,rgba(213,233,243,.88) 72%,rgba(205,227,239,.95) 100%)!important;
  position:relative!important;
  overflow:hidden!important;
}
.login-bg:before{
  content:"";
  position:fixed;
  inset:-12%;
  pointer-events:none;
  background:
    radial-gradient(circle at 28% 26%,rgba(255,255,255,.70),transparent 30%),
    radial-gradient(circle at 74% 72%,rgba(159,205,227,.24),transparent 36%);
  filter:blur(2px);
}
.login-bg:after{
  content:"";
  position:fixed;
  left:50%;top:50%;
  width:min(760px,84vw);height:min(760px,84vw);
  transform:translate(-50%,-50%);
  border-radius:50%;
  pointer-events:none;
  background:radial-gradient(circle,rgba(255,255,255,.58),rgba(255,255,255,.10) 44%,transparent 72%);
  filter:blur(12px);
}
.login-card{
  position:relative!important;
  z-index:2!important;
  width:min(560px,100%)!important;
  background:linear-gradient(155deg,rgba(15,61,80,.86),rgba(8,43,59,.82))!important;
  border:1px solid rgba(255,255,255,.28)!important;
  border-radius:20px!important;
  padding:40px 42px!important;
  box-shadow:0 26px 70px rgba(50,79,94,.28),inset 0 1px rgba(255,255,255,.16)!important;
  backdrop-filter:blur(18px) saturate(115%)!important;
  -webkit-backdrop-filter:blur(18px) saturate(115%)!important;
}
.login-card:before{
  content:"";
  position:absolute;inset:0;
  border-radius:inherit;
  pointer-events:none;
  background:linear-gradient(135deg,rgba(255,255,255,.08),transparent 34%,rgba(255,255,255,.025));
}
.login-brand,.login-card form,.login-card h2,.login-card>p,.login-divider,.login-footer,.login-card .alert{position:relative;z-index:1}
.login-brand h1{font-size:29px!important;color:#fff!important;letter-spacing:-.2px!important}
.login-brand p{font-size:14px!important;color:#b8d0db!important}
.login-divider{background:rgba(181,220,235,.22)!important;margin:28px 0!important}
.login-card h2{font-size:27px!important;color:#fff!important;margin-bottom:10px!important}
.login-card>p{color:#b8d0db!important;font-size:15px!important;margin-bottom:28px!important}
.login-card label{font-size:13px!important;color:#f0f7fa!important;margin-bottom:18px!important}
.login-input-wrap{position:relative!important}
.login-input-icon{
  position:absolute!important;
  left:14px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:20px!important;height:20px!important;
  display:grid!important;place-items:center!important;
  color:#5c91a8!important;
  z-index:3!important;
  pointer-events:none!important;
}
.login-input-icon svg{
  width:18px!important;height:18px!important;
  fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;
  stroke-linecap:round!important;stroke-linejoin:round!important;
}
.login-input-wrap input{
  height:50px!important;
  padding:0 14px 0 46px!important;
  margin-top:7px!important;
  background:rgba(248,252,255,.95)!important;
  color:#173247!important;
  border:1px solid rgba(186,215,229,.95)!important;
  box-shadow:inset 0 1px 2px rgba(40,67,81,.05)!important;
}
.login-input-wrap input:focus{
  border-color:#22a9d6!important;
  box-shadow:0 0 0 3px rgba(34,169,214,.18),inset 0 1px 2px rgba(40,67,81,.05)!important;
}
.login-submit{
  height:56px!important;
  margin-top:8px!important;
  border-radius:9px!important;
  font-size:17px!important;
  font-weight:800!important;
  gap:12px!important;
  background:linear-gradient(90deg,#138fc4,#18afd1)!important;
  border-color:#43c5e9!important;
  box-shadow:0 9px 22px rgba(0,145,189,.22),inset 0 1px rgba(255,255,255,.16)!important;
}
.login-submit-arrow{font-size:23px!important;line-height:1!important;margin-top:-1px!important}
.login-footer{
  border-top:1px solid rgba(181,220,235,.20)!important;
  color:#a8c3d0!important;
  font-size:10px!important;
  margin-top:30px!important;
  padding-top:19px!important;
}
@media(max-width:620px){
  .login-bg{padding:18px!important}
  .login-card{padding:30px 24px!important}
  .login-brand-logo{width:92px!important;height:92px!important}
  .login-brand h1{font-size:25px!important}
}


/* v0.6.5 — CEA RMM-style login */
html body.login-bg{
  min-height:100vh!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:
    radial-gradient(circle at 50% 40%, rgba(29,118,155,.16) 0%, rgba(11,54,75,.06) 32%, transparent 60%),
    linear-gradient(180deg,#183f50 0%,#0b2f3e 100%)!important;
  background-color:#0b2f3e!important;
  color:#eef7fb!important;
  font-family:Arial,Helvetica,sans-serif!important;
  overflow:auto;
  padding:32px 18px!important;
}

html body.login-bg::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(rgba(95,160,188,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(95,160,188,.035) 1px,transparent 1px);
  background-size:44px 44px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.55),rgba(0,0,0,.1));
}

body.login-bg .login-card{
  width:min(560px,94vw)!important;
  padding:34px 40px 26px!important;
  background:rgba(21,63,82,.78)!important;
  border:1px solid rgba(126,187,211,.28)!important;
  border-radius:18px!important;
  box-shadow:
    0 30px 70px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(255,255,255,.06)!important;
  backdrop-filter:blur(16px)!important;
  -webkit-backdrop-filter:blur(16px)!important;
}

body.login-bg .login-brand{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:18px!important;
  text-align:left!important;
}

body.login-bg .login-brand h1{
  color:#fff!important;
  font-size:28px!important;
  line-height:1.1!important;
  margin:0 0 4px!important;
  font-weight:700!important;
}

body.login-bg .login-brand p{
  color:#a9c4d1!important;
  margin:0!important;
  font-size:14px!important;
}

body.login-bg .login-divider{
  height:1px!important;
  margin:28px 0 24px!important;
  background:rgba(129,181,202,.22)!important;
}

body.login-bg .login-card h2{
  color:#fff!important;
  text-align:center!important;
  font-size:25px!important;
  margin:0 0 5px!important;
}

body.login-bg .login-card > .muted{
  text-align:center!important;
  color:#9db7c5!important;
  margin-bottom:22px!important;
}

body.login-bg .login-card label{
  color:#d7e6ed!important;
  font-size:13px!important;
  font-weight:700!important;
  margin:14px 0 6px!important;
}

body.login-bg .cea-login-field-icon{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  width:100%!important;
  margin-top:6px!important;
}

body.login-bg .login-input-icon{
  position:absolute!important;
  left:14px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:22px!important;
  height:22px!important;
  display:grid!important;
  place-items:center!important;
  color:#82aabc!important;
  pointer-events:none!important;
  z-index:2!important;
}

body.login-bg .login-input-icon svg{
  width:21px!important;
  height:21px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.7!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}

body.login-bg .field-icon input{
  width:100%!important;
  height:52px!important;
  min-height:52px!important;
  padding:0 16px 0 48px!important;
  background:rgba(8,40,55,.52)!important;
  color:#fff!important;
  border:1px solid rgba(119,166,187,.36)!important;
  border-radius:9px!important;
  box-shadow:none!important;
  font-size:14px!important;
}

body.login-bg .field-icon input:focus{
  outline:none!important;
  border-color:#2aa8d0!important;
  box-shadow:0 0 0 2px rgba(42,168,208,.16)!important;
}

body.login-bg .field-icon input::placeholder{
  color:#7f9dab!important;
}

body.login-bg .login-card .btn.primary.wide{
  width:100%!important;
  height:52px!important;
  margin-top:20px!important;
  border-radius:8px!important;
  background:linear-gradient(90deg,#1387b4,#19afd1)!important;
  border:1px solid #35b9d7!important;
  color:#fff!important;
  font-size:16px!important;
  font-weight:700!important;
  letter-spacing:.01em!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  box-shadow:0 8px 18px rgba(0,111,153,.22)!important;
}

body.login-bg .login-card .btn.primary.wide:hover{
  background:linear-gradient(90deg,#1594c3,#1ebbdc)!important;
}

body.login-bg .signin-arrow{
  font-size:20px!important;
  line-height:1!important;
  transform:translateY(-1px)!important;
}

body.login-bg .login-footer{
  margin-top:28px!important;
  padding-top:16px!important;
  border-top:1px solid rgba(129,181,202,.22)!important;
  color:#8faab7!important;
  font-size:11px!important;
}

body.login-bg .login-brand-logo{
  width:96px!important;
  height:96px!important;
  object-fit:contain!important;
  filter:drop-shadow(0 6px 12px rgba(0,0,0,.22))!important;
}

@media(max-width:640px){
  body.login-bg .login-card{padding:28px 22px 22px!important}
  body.login-bg .login-brand-logo{width:80px!important;height:80px!important}
  body.login-bg .login-brand h1{font-size:24px!important}
}


/* v0.6.6 — Email template body text flow */
.qba-rte-editor{
  direction:ltr!important;
  text-align:left!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}
.qba-rte-editor br{display:block!important}
.qba-rte-editor p,
.qba-rte-editor div{
  display:block!important;
  margin:0 0 12px!important;
}
.email-preview-card .preview-body{
  direction:ltr!important;
  text-align:left!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}


/* v0.6.7 — Customer transaction action dropdown + delete confirmation */
.customer-transaction-actions{
  white-space:nowrap;
  position:relative;
}
.transaction-action-menu{
  position:relative;
  display:inline-block;
  margin-left:4px;
  vertical-align:middle;
}
.transaction-action-menu>summary{
  list-style:none;
  width:25px;
  height:25px;
  display:inline-grid;
  place-items:center;
  cursor:pointer;
  color:#0a6b72;
  border-radius:5px;
  font-size:13px;
  user-select:none;
}
.transaction-action-menu>summary::-webkit-details-marker{display:none}
.transaction-action-menu>summary:hover{
  background:#eaf4f7;
}
.transaction-action-dropdown{
  position:absolute;
  top:calc(100% + 5px);
  right:0;
  z-index:120;
  min-width:190px;
  padding:6px;
  background:#fff;
  border:1px solid #cfdee6;
  border-radius:8px;
  box-shadow:0 12px 30px rgba(40,70,86,.16);
  text-align:left;
}
.transaction-action-dropdown a,
.transaction-action-dropdown button{
  display:block;
  width:100%;
  border:0!important;
  background:transparent!important;
  color:#284b60!important;
  padding:9px 10px!important;
  border-radius:6px!important;
  font-size:12px!important;
  font-weight:600!important;
  text-decoration:none!important;
  cursor:pointer;
  text-align:left;
  white-space:nowrap;
  margin:0!important;
  font-family:inherit!important;
}
.transaction-action-dropdown a:hover,
.transaction-action-dropdown button:hover{
  background:#eef6f9!important;
  color:#0a678c!important;
}
.transaction-action-dropdown form{margin:0}
.transaction-action-dropdown .danger-menu-action{
  color:#b73d4b!important;
}
.transaction-action-dropdown .danger-menu-action:hover{
  background:#fff0f2!important;
  color:#9e2c3a!important;
}

/* Styled confirmation modal */
.qba-confirm-backdrop[hidden]{display:none!important}
.qba-confirm-backdrop{
  position:fixed;
  inset:0;
  z-index:7000;
  display:grid;
  place-items:center;
  padding:20px;
  background:rgba(24,48,62,.34);
  backdrop-filter:blur(2px);
}
.qba-confirm-card{
  width:min(470px,94vw);
  background:#fff;
  border:1px solid #ccdde6;
  border-radius:14px;
  box-shadow:0 24px 70px rgba(31,61,78,.24);
  padding:24px;
  color:#173247;
}
.qba-confirm-icon{
  width:42px;
  height:42px;
  border-radius:50%;
  display:grid;
  place-items:center;
  margin-bottom:13px;
  background:#fff0f2;
  border:1px solid #f1cbd1;
  color:#bd3b4a;
  font-size:22px;
  font-weight:800;
}
.qba-confirm-card h3{
  margin:0 0 9px!important;
  color:#173247!important;
}
.qba-confirm-card p{
  color:#4f6a79;
  line-height:1.5;
}
.qba-confirm-note{
  padding:10px 12px;
  border-radius:8px;
  background:#f5fafc;
  border:1px solid #dbe8ee;
  font-size:12px;
}
.qba-confirm-actions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  margin-top:20px;
}
body.modal-open{overflow:hidden}

/* Duplicate-period information */
.inline-notice{
  line-height:1.45;
}


/* v0.6.8 — customer balances, list search controls, transaction chevron */
.customer-open-balance{
  font-weight:700!important;
  color:#274b60!important;
  white-space:nowrap;
}
.list-top-controls{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
  margin-bottom:16px;
  padding-bottom:14px;
  border-bottom:1px solid #dce8ee;
}
.list-search-form{
  display:grid;
  grid-template-columns:minmax(300px,520px) auto auto;
  gap:8px;
  align-items:center;
  flex:1;
}
.list-search-form input{
  min-width:0;
}
.top-rows-per-page{
  margin-left:auto;
}
.top-rows-per-page label{
  display:flex!important;
  align-items:center;
  gap:8px;
  white-space:nowrap;
}
.top-rows-per-page select{
  width:78px!important;
  min-height:36px!important;
  height:36px!important;
}
.transaction-action-menu>summary{
  font-size:0!important;
}
.transaction-chevron{
  width:18px;
  height:18px;
  fill:none;
  stroke:#0a6b72;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:transform .16s ease;
}
.transaction-action-menu[open]>summary .transaction-chevron{
  transform:rotate(180deg);
}

@media(max-width:800px){
  .list-top-controls{align-items:stretch}
  .list-search-form{grid-template-columns:1fr}
  .top-rows-per-page{margin-left:0}
}


/* v0.6.9 — consistent Status badge sizing */
.customers-table .badge,
.suppliers-table .badge,
.content table .account-status-badge,
.content table td .badge.status-badge{
  font-size:13px!important;
  line-height:1.15!important;
  padding:6px 10px!important;
  font-weight:700!important;
  min-width:0!important;
}

/* Chart of Accounts currently uses the generic badge class. Scope its table
   through the accounting page so it matches Invoice status without enlarging
   unrelated badges elsewhere. */
.content .chart-accounts-table .badge{
  font-size:13px!important;
  line-height:1.15!important;
  padding:6px 10px!important;
  font-weight:700!important;
}


/* v0.7.0 — smaller Invoice / Payment search buttons */
.list-search-form .btn.primary{
  min-height:34px!important;
  height:34px!important;
  padding:0 14px!important;
  font-size:12px!important;
  line-height:1!important;
  border-radius:7px!important;
  align-self:center!important;
}


/* v0.7.1 — compact Invoice / Payment search buttons */
.list-search-form{
  grid-template-columns:minmax(320px,520px) max-content max-content!important;
  justify-content:start!important;
}
.list-search-form .btn.primary{
  width:auto!important;
  min-width:78px!important;
  max-width:max-content!important;
  padding:0 16px!important;
  justify-self:start!important;
}
