@import url('https://fonts.googleapis.com/css2?family=Cairo:wght@400;500;600;700;800&display=swap');
:root{--primary:#222961;--accent:#f6b417;--cyan:#2ea6de;--pink:#f05681;--bg:#f4f6fb;--text:#1f2937;--muted:#667085;--border:#e4e7ec;--green:#159455;--red:#d92d20}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Cairo,Tahoma,sans-serif;font-size:14px}.topbar{height:72px;position:fixed;z-index:20;top:0;right:230px;left:0;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 28px;gap:16px}.topbar strong,.topbar small{display:block}.topbar small{color:var(--muted)}.user-box{margin-right:auto;display:flex;align-items:center;gap:14px}.user-box a{color:var(--primary);text-decoration:none}.menu-btn{display:none;border:0;background:none;font-size:23px}.sidebar{position:fixed;z-index:25;top:0;right:0;bottom:0;width:230px;background:linear-gradient(180deg,#222961,#171b46);color:#fff;padding:22px 12px}.brand{text-align:center;border-bottom:1px solid #ffffff25;padding:4px 0 24px}.brand span{font-size:28px;font-weight:800;letter-spacing:2px}.brand small{display:block;color:var(--accent);letter-spacing:3px;font-size:9px}.sidebar nav{margin-top:18px}.sidebar nav a{display:flex;gap:12px;align-items:center;color:#dfe2ff;text-decoration:none;padding:11px 14px;margin:4px 0;border-radius:9px}.sidebar nav a b{font-size:18px;width:22px;text-align:center}.sidebar nav a:hover,.sidebar nav a.active{background:#ffffff18;color:#fff}.sidebar nav a.active{border-right:3px solid var(--accent)}.content{margin-right:230px;padding:98px 28px 52px;min-height:100vh}.page-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.page-title h1{margin:0;font-size:24px;color:var(--primary)}.page-title p{margin:5px 0 0;color:var(--muted)}.print-btn,.btn{border:0;background:var(--primary);color:#fff;padding:10px 18px;border-radius:8px;font-family:inherit;cursor:pointer;text-decoration:none;display:inline-block}.btn.secondary{background:#fff;color:var(--primary);border:1px solid var(--primary)}.btn.danger{background:var(--red)}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:20px;box-shadow:0 2px 8px #10182808}.kpi{position:relative;overflow:hidden}.kpi:before{content:"";position:absolute;right:0;top:0;bottom:0;width:5px;background:var(--accent)}.kpi.blue:before{background:var(--cyan)}.kpi.pink:before{background:var(--pink)}.kpi.green:before{background:var(--green)}.kpi span{color:var(--muted);font-size:13px}.kpi strong{display:block;font-size:24px;color:var(--primary);margin-top:8px}.section{margin-top:18px}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.section-title h2{font-size:18px;margin:0;color:var(--primary)}table{width:100%;border-collapse:collapse;background:#fff}th,td{padding:11px 12px;border-bottom:1px solid var(--border);text-align:right}th{background:#f8f9fc;color:#475467;font-weight:700;white-space:nowrap}tr:hover td{background:#fcfcfd}.num{text-align:left;direction:ltr;font-variant-numeric:tabular-nums}.debit{color:var(--green)}.credit{color:var(--red)}.total-row td{font-weight:800;background:#f3f4fa;border-top:2px solid var(--primary)}.subhead td{font-weight:800;color:var(--primary);background:#f8f9fc}.report{max-width:970px;margin:auto}.report-head{text-align:center;margin-bottom:20px}.report-head h2{margin:0;color:var(--primary)}.report-head p{margin:6px;color:var(--muted)}.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:end;margin-bottom:16px}.field{display:flex;flex-direction:column;gap:5px;min-width:170px}.field label{font-weight:600;color:#344054}.field input,.field select,.field textarea{border:1px solid #d0d5dd;border-radius:8px;padding:10px 11px;font-family:inherit;background:#fff}.field textarea{min-height:80px}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.full{grid-column:1/-1}.alert{padding:12px 16px;border-radius:8px;margin-bottom:15px}.alert.success{background:#ecfdf3;color:#067647}.alert.error{background:#fef3f2;color:#b42318}.badge{display:inline-block;border-radius:20px;padding:3px 9px;font-size:11px;background:#eef4ff;color:#3538cd}.badge.posted{background:#ecfdf3;color:#067647}.badge.draft{background:#fff7ed;color:#c2410c}.journal-lines input,.journal-lines select{width:100%;padding:8px;border:1px solid #d0d5dd;border-radius:6px;font-family:inherit}.balance-ok{color:var(--green);font-weight:800}.balance-bad{color:var(--red);font-weight:800}.login-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#171b46,#2e377f)}.login-card{width:min(430px,92vw);background:#fff;padding:35px;border-radius:16px;box-shadow:0 20px 50px #0003}.login-card h1{text-align:center;color:var(--primary);margin:0}.login-card .brand{border:0;color:var(--primary)}.login-card .field{margin-top:15px}.login-card .btn{width:100%;margin-top:20px}.muted{color:var(--muted)}footer{position:fixed;bottom:0;left:0;right:230px;text-align:center;padding:8px;background:#fff;border-top:1px solid var(--border);font-size:11px;color:var(--muted)}
@media(max-width:980px){.grid{grid-template-columns:repeat(2,1fr)}.sidebar{transform:translateX(100%);transition:.2s}.topbar,.content{right:0;margin-right:0}.menu-btn{display:block}.menu-open .sidebar{transform:none}.form-grid{grid-template-columns:1fr 1fr}footer{right:0}}
@media(max-width:620px){.grid,.form-grid{grid-template-columns:1fr}.content{padding:90px 12px 50px}.topbar{padding:0 12px}.topbar strong{font-size:12px}.user-box span{display:none}.page-title{align-items:flex-start}.page-title p{font-size:11px}.card{padding:14px}.filters{display:block}.field{margin-bottom:10px}table{font-size:12px}.table-wrap{overflow:auto}}
@media print{.sidebar,.topbar,.print-btn,.filters,.no-print,footer{display:none!important}.content{margin:0;padding:0;background:#fff}.page-title{display:none}.card{box-shadow:none;border:0}.report{max-width:none}body{background:#fff;font-size:11px}th,td{padding:7px}}
#invoice-items input,#invoice-items select{width:100%;padding:8px;border:1px solid #d0d5dd;border-radius:6px;font-family:inherit}
.erp-nav{overflow-y:auto;height:calc(100vh - 105px);padding-bottom:30px}.erp-nav details{border-bottom:1px solid #ffffff12}.erp-nav summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;padding:12px 10px;color:#eef1ff;font-size:13px}.erp-nav summary::-webkit-details-marker{display:none}.erp-nav summary span{margin-right:auto;transition:.2s}.erp-nav details[open] summary span{transform:rotate(180deg)}.erp-nav details>div{background:#203b78;padding:4px 0}.erp-nav details a{font-size:12px!important;margin:1px 0!important;padding:9px 12px!important;border-radius:0!important}.erp-nav details a b{font-size:15px!important;color:#a9bce8}
.report-categories{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.report-categories h2{color:var(--primary);font-size:19px;margin-top:0}.report-links{display:flex;flex-direction:column}.report-links a{display:flex;justify-content:space-between;text-decoration:none;color:#25305f;padding:10px 4px;border-bottom:1px solid var(--border)}.report-links a:hover{color:var(--cyan)}@media(max-width:900px){.report-categories{grid-template-columns:1fr}}
