
:root{--bg:#f4f7fb;--panel:#fff;--line:#e2e8f0;--text:#14213d;--muted:#6f7a90;--purple:#6320f4}
*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;background:linear-gradient(135deg,#eef5ff,#f7f4ff);color:var(--text)}a{color:#5520d7;text-decoration:none}
.shell{min-height:100vh;display:grid;grid-template-columns:240px 1fr}.shell>aside{background:#fff;border-right:1px solid var(--line);padding:22px 14px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{font-size:23px;font-weight:900;padding:8px 12px 24px}.brand span{display:block;font-size:12px;color:var(--muted);font-weight:600;margin-top:4px}.brand.big{font-size:30px}
nav{display:grid;gap:6px}nav a,.bottom a{padding:11px 12px;border-radius:10px;color:#344054;font-weight:700}nav a.active,nav a:hover{background:linear-gradient(90deg,#5b17ec,#7621ff);color:#fff}.bottom{margin-top:auto;border-top:1px solid var(--line);padding:14px 10px}.bottom small{display:block;color:var(--muted);margin:4px 0 10px}
main{padding:0 28px 50px}header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:24px 0 18px}header h1{margin:0;font-size:28px}header p{margin:4px 0;color:var(--muted)}header input{width:min(420px,38vw);padding:12px 16px;border:1px solid var(--line);border-radius:22px;background:#fff}
.panel{background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:16px;padding:20px;margin-bottom:18px;box-shadow:0 8px 30px rgba(30,41,59,.04)}.panel h2{margin:0 0 16px;font-size:19px}.panel h3{margin:20px 0 8px}.toolbar{display:flex;justify-content:flex-end}
.kpis{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:12px;margin-bottom:18px}.kpi{background:#fff;border:1px solid var(--line);border-radius:14px;padding:17px}.kpi span{display:block;color:var(--muted);font-size:13px}.kpi strong{display:block;font-size:25px;margin-top:7px}.muted{color:var(--muted)}
.btn,button{display:inline-block;border:0;border-radius:10px;padding:11px 16px;background:linear-gradient(90deg,#5b17ec,#7621ff);color:#fff;font-weight:800;cursor:pointer}.btn.secondary{background:#eef0f7;color:#344054}.flash{padding:12px 14px;border-radius:10px;margin-bottom:14px}.flash.success{background:#eaf8ef;color:#146c37}.flash.error{background:#fff0f0;color:#9b1c1c}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.grid label{font-size:13px;font-weight:700}.grid input,.grid select,.grid textarea,.inline select,.loginbox input{width:100%;margin-top:6px;border:1px solid #cbd5e1;border-radius:9px;padding:10px 11px;font:inherit;background:#fff}.grid textarea{min-height:90px}.span2{grid-column:span 2}.span3{grid-column:1/-1}.inline{display:flex;gap:10px;align-items:end}.inline select{min-width:280px}
.table{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:left;font-size:14px;vertical-align:top}th{font-size:12px;text-transform:uppercase;color:var(--muted)}td small{display:block;color:var(--muted);margin-top:3px}.badge{display:inline-block;padding:5px 9px;border-radius:999px;background:#f0edff;color:#5a20f0;font-size:12px}.alertrow{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:12px 0}
.login{min-height:100vh;display:grid;place-items:center;padding:24px}.loginbox{width:min(540px,100%);background:#fff;border:1px solid var(--line);border-radius:18px;padding:32px;box-shadow:0 24px 70px rgba(20,33,61,.1)}.loginbox label{display:block;font-size:13px;font-weight:700;margin-top:15px}.loginbox .btn{width:100%;margin-top:18px}
@media(max-width:1100px){.kpis{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr 1fr}.span3{grid-column:1/-1}}
@media(max-width:760px){.shell{display:block}.shell>aside{position:relative;height:auto}.shell nav{grid-template-columns:repeat(2,1fr)}main{padding:0 14px 30px}header{display:block}header input{width:100%;margin-top:12px}.kpis,.grid{grid-template-columns:1fr}.span2,.span3{grid-column:1}.inline{display:block}.inline select{min-width:0}}
@media print{.shell>aside,header,.toolbar,.btn,button{display:none!important}.shell{display:block}main{padding:0}.panel{border:none;box-shadow:none}.report{margin:0}}

.invoice-section{border:1px solid var(--line);border-radius:14px;padding:16px;background:#fbfcff}.invoice-section.extra{background:#fffdf7}.section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.section-head h3{margin:0}.section-head p{margin:4px 0 0}.invoice-row{display:grid;grid-template-columns:minmax(280px,1fr) 180px 150px 42px;gap:8px;margin-top:8px}.charge-row{display:grid;grid-template-columns:minmax(280px,1fr) 180px 42px;gap:8px;margin-top:8px}.invoice-row input,.invoice-row select,.charge-row input{width:100%;border:1px solid #cbd5e1;border-radius:9px;padding:10px 11px;font:inherit;background:#fff}.iconbtn{background:#fff0f0;color:#b42318;border:1px solid #ffd0d0;padding:8px;border-radius:9px}
.invoice-toolbar{display:flex;justify-content:space-between}.invoice-document{max-width:1050px;margin:0 auto 30px;background:white;padding:42px 48px;border:1px solid var(--line);box-shadow:0 10px 35px rgba(20,33,61,.07)}.invoice-title{display:flex;justify-content:space-between;gap:40px;border-bottom:2px solid #172554;padding-bottom:24px}.invoice-title h2{margin:0 0 10px;font-size:26px}.invoice-title p{color:#667085;line-height:1.6}.invoice-brand{font-size:28px;font-weight:900;letter-spacing:.04em}.invoice-parties{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:28px 0}.invoice-parties>div{border:1px solid var(--line);border-radius:12px;padding:18px}.invoice-parties span,.invoice-meta span,.invoice-summary span{display:block;color:#667085;font-size:11px;font-weight:800;letter-spacing:.06em}.invoice-parties strong{display:block;font-size:18px;margin:6px 0}.invoice-parties p{line-height:1.55}.invoice-meta{display:grid;grid-template-columns:2fr 1fr;gap:18px;margin-bottom:24px}.invoice-meta>div{background:#f8fafc;border-radius:10px;padding:14px}.invoice-meta strong,.invoice-meta small{display:block;margin-top:4px}.invoice-table,.additional-charges table{width:100%;border-collapse:collapse}.invoice-table th,.invoice-table td,.additional-charges th,.additional-charges td{border:1px solid #e2e8f0;padding:9px}.invoice-table th,.additional-charges th{background:#f8fafc}.additional-charges{margin-top:28px;border:1px solid #f0d9a5;background:#fffbeb;border-radius:14px;padding:18px}.additional-charges h3{margin:0 0 4px}.additional-charges p{color:#856404;margin-top:0}.invoice-summary{margin:26px 0 0 auto;max-width:430px}.invoice-summary>div{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line)}.invoice-summary .grand{font-size:19px;border-top:2px solid #172554;border-bottom:0;margin-top:5px;padding-top:16px}.invoice-summary .grand strong{font-size:23px}.invoice-notes{margin-top:28px;border-top:1px solid var(--line);padding-top:18px}
@media(max-width:850px){.invoice-row,.charge-row{grid-template-columns:1fr}.invoice-title,.invoice-parties,.invoice-meta{display:block}.invoice-title>div,.invoice-parties>div,.invoice-meta>div{margin-bottom:14px}.invoice-document{padding:22px 18px}}
@media print{.invoice-toolbar,.shell>aside,header{display:none!important}.invoice-document{box-shadow:none;border:0;margin:0;max-width:none;padding:0}.invoice-document table{font-size:11px}body{background:#fff}}
