:root{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#17283c;background:#f5f7fb;--bg:#f5f7fb;--surface:#fff;--ink:#17283c;--muted:#68798d;--border:#e1e7ee;--accent:#087f65}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink)}body.dark{--bg:#0d1725;--surface:#18283a;--ink:#edf3f9;--muted:#a4b5c5;--border:#304457;--accent:#39c69c}button,input,select,textarea{font:inherit}button{cursor:pointer}#app{max-width:640px;margin:auto;min-height:100dvh;padding-bottom:90px}header{display:flex;justify-content:space-between;align-items:center;padding:24px 20px 12px}header small,.welcome small{display:block;color:var(--muted);font-size:12px}h1{font-size:21px;margin:3px 0}h1 span{color:#10b981}h2{font-size:19px;margin:0 0 18px}h3{margin-top:28px}.round{border:1px solid var(--border);background:var(--surface);border-radius:50%;width:44px;height:44px;color:var(--ink);font-size:22px}.page{display:none;padding:12px 20px 30px}.page.active{display:block}.welcome{font-weight:700;margin:6px 0 17px}.hero{background:linear-gradient(125deg,#14263d,#24435c);color:#fff;padding:24px;border-radius:23px;box-shadow:0 12px 24px #10253d20}.hero strong{font-size:35px;display:block;margin:13px 0 22px}.progress{height:9px;border-radius:12px;background:#ffffff35;overflow:hidden}.progress div{height:100%;width:0;background:#34d399;transition:width .2s}.hero-foot{display:flex;justify-content:space-between;font-size:12px;margin-top:12px;color:#dbe8ef}.stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:15px 0 24px}.stats article{padding:17px 14px;border:1px solid var(--border);border-radius:17px;background:var(--surface)}.stats small{display:block;color:var(--muted);margin-bottom:10px}.stats b{font-size:20px}.section-title{display:flex;align-items:center;justify-content:space-between}.link{border:0;background:none;color:var(--accent)}.entries{display:grid;gap:9px;margin-bottom:18px}.entry{background:var(--surface);border:1px solid var(--border);border-radius:15px;padding:14px;display:flex;align-items:center;gap:12px}.entry-icon{width:41px;height:41px;border-radius:13px;background:var(--bg);display:grid;place-items:center;font-size:21px}.entry-info{flex:1;min-width:0}.entry-info b,.entry-info small{display:block}.entry-info small{font-size:12px;color:var(--muted);overflow-wrap:anywhere;margin-top:4px}.entry-amount{font-weight:700;white-space:nowrap}.entry-actions{display:flex;gap:3px}.entry-actions button{border:0;background:transparent;color:var(--muted);font-size:12px;padding:5px}.primary,.secondary,.filebtn{border-radius:13px;padding:13px 15px;font-weight:650;border:1px solid var(--border)}.primary{background:#087f65;color:white;border-color:#087f65}.secondary,.filebtn{background:var(--surface);color:var(--ink)}.wide{width:100%;margin:7px 0}label{display:block;font-weight:650;font-size:14px;margin-bottom:17px}input,select,textarea{display:block;width:100%;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:13px;color:var(--ink);margin-top:8px;outline-color:#10b981}textarea{resize:vertical}.filters,.report-controls{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:15px;margin-bottom:18px}.filters{display:grid;grid-template-columns:1fr 1fr;gap:10px}.filters input:first-child{grid-column:span 2}.filters input,.filters select{margin:0;min-width:0}.filters button{grid-column:span 2}.report-controls label{margin-bottom:10px}.actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}.hint{font-size:13px;color:var(--muted);line-height:1.8}.report-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px}.report-summary article{background:var(--surface);border:1px solid var(--border);padding:16px;border-radius:14px}.report-summary small{display:block;color:var(--muted)}.report-summary b{display:block;margin-top:8px;font-size:19px}.report-table{width:100%;border-collapse:collapse;font-size:12px;background:var(--surface);margin-top:12px}.report-table td,.report-table th{padding:10px 6px;border-bottom:1px solid var(--border);text-align:right;overflow-wrap:anywhere}.report-table th{background:var(--bg)}.inline{display:flex;gap:8px}.inline input{flex:1;min-width:0}.inline button{margin-top:8px}.chips{display:flex;gap:7px;flex-wrap:wrap}.chip{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:7px 11px;font-size:12px}.chip button{background:none;border:0;color:#e15a5a}.alert{padding:13px;border-radius:12px;margin-top:12px;background:#fff1d9;color:#8a4d0a;font-size:14px;font-weight:650}.status{color:var(--muted);font-size:12px;margin-top:20px}.empty{padding:35px 12px;text-align:center;color:var(--muted);background:var(--surface);border-radius:16px}nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,640px);display:flex;justify-content:space-around;background:var(--surface);border-top:1px solid var(--border);padding:9px 5px max(12px,env(safe-area-inset-bottom));z-index:10}nav button{background:none;border:0;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:3px;font-size:23px;min-width:54px}nav button span{font-size:10px}nav button.selected{color:var(--accent)}#toast{position:fixed;top:12px;left:50%;transform:translateX(-50%);z-index:100;background:#14263d;color:white;padding:12px 20px;border-radius:14px;max-width:90%;display:none;text-align:center}.filebtn{cursor:pointer}.group-date{font-size:13px;color:var(--muted);margin:12px 0 2px}.bar{display:flex;align-items:center;gap:9px;margin:10px 0;font-size:13px}.bar span{width:100px;flex-shrink:0}.bar div{flex:1;height:9px;border-radius:20px;background:var(--border);overflow:hidden}.bar i{display:block;background:#10b981;height:100%;border-radius:20px}.bar b{font-size:12px;min-width:65px;text-align:left}@media print{body{background:white;color:#111}header,nav,.actions,.report-controls,.hint,#toast,.page:not(#reports),#reports>h2{display:none!important}#app{padding:0;max-width:none}#reports{display:block!important;padding:0}.report-summary article{border:1px solid #ddd}.report-table{font-size:10px}.report-table td,.report-table th{border-color:#ddd}#reportBody:before{content:'مصاريف أبو روح — تقرير المصروفات';display:block;font-weight:bold;font-size:22px;margin:15px 0}tr{break-inside:avoid}}

/* v2 — premium report and compact print layout */
#reportBody{direction:rtl}.pdf-brand{display:none}.pdf-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:15px 0 18px}.pdf-title h2{margin:5px 0;font-size:22px}.pdf-eyebrow{color:var(--accent);font-size:12px;font-weight:700}.pdf-period{font-size:13px;color:var(--muted);margin:5px 0}.pdf-issued{text-align:left;font-size:11px;color:var(--muted);line-height:1.8;flex-shrink:0}.pdf-issued b{color:var(--ink)}.pdf-section{margin-top:20px}.pdf-section h3{font-size:16px;margin:0 0 13px;border-right:3px solid #10b981;padding-right:10px}.pdf-footer{display:none}.row-desc{display:block;font-size:11px;color:var(--muted);margin-top:4px}.report-table strong{font-weight:650}.report-table .date-cell{white-space:nowrap;text-align:right}.report-table .amount-cell{font-weight:700;white-space:nowrap}.pdf-empty{color:var(--muted);padding:12px;text-align:center}
@page{size:A4;margin:12mm 13mm 12mm 13mm}
@media print{
 html,body{margin:0!important;padding:0!important;height:auto!important;min-height:0!important;background:#fff!important;color:#17283c!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
 #app{width:100%!important;max-width:none!important;min-height:0!important;height:auto!important;padding:0!important;margin:0!important}
 header,nav,.actions,.report-controls,.hint,#toast,.page:not(#reports),#reports>h2{display:none!important}
 #reports,#reports.page{display:block!important;margin:0!important;padding:0!important;min-height:0!important;height:auto!important}
 #reportBody{width:100%!important;margin:0!important;padding:0!important;overflow:visible!important;font-family:Arial,Tahoma,sans-serif;font-size:10pt;line-height:1.45;color:#17283c!important}
 #reportBody:before{content:none!important;display:none!important}
 .pdf-brand{display:flex!important;align-items:center;gap:10px;padding:0 0 11px;border-bottom:2px solid #0d8067;margin:0 0 16px}
 .pdf-mark{display:grid;place-items:center;width:37px;height:37px;background:#0d8067;color:#fff;font-size:21px;border-radius:10px}
 .pdf-brand-name{font-size:17pt;font-weight:800;color:#14263d}.pdf-brand small{color:#718096;font-size:8pt}
 .pdf-brand-tag{margin-right:auto;border:1px solid #a6dbca;color:#087f65;background:#eefaf5;border-radius:20px;padding:5px 11px;font-size:8pt;font-weight:700}
 .pdf-title{margin:0 0 14px;align-items:flex-end}.pdf-title h2{font-size:19pt;margin:3px 0;color:#14263d}.pdf-eyebrow{font-size:9pt;color:#087f65}.pdf-period{font-size:9pt;color:#536477;margin:3px 0}.pdf-issued{font-size:8pt;color:#536477}.pdf-issued b{color:#17283c}
 .report-summary{display:grid!important;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 15px}.report-summary article{border:1px solid #dbe5ec!important;border-radius:9px!important;padding:11px 13px!important;background:#f7fafc!important;break-inside:avoid}.report-summary article.total-card{background:#eaf7f2!important;border-color:#a9d9c9!important}.report-summary small{font-size:8pt;color:#617488}.report-summary b{font-size:15pt;margin-top:3px;color:#14263d}
 .pdf-section{margin:13px 0 0;break-before:auto}.pdf-section h3{font-size:11pt;color:#14263d;margin:0 0 9px;padding-right:9px;border-right:3px solid #0d8067;break-after:avoid}
 .bar{display:flex;align-items:center;gap:9px;margin:6px 0;font-size:8.5pt;break-inside:avoid}.bar span{width:130px}.bar div{height:6px;background:#e9eff3}.bar i{background:#0d9c7b}.bar b{min-width:78px;font-size:8pt}
 .report-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:8.3pt;margin:0!important;background:white!important}.report-table th{background:#14263d!important;color:#fff!important;padding:9px 8px;border:0!important;font-weight:700}.report-table td{padding:8px;border-bottom:1px solid #e3e9ee!important;vertical-align:top;line-height:1.5}.report-table tbody tr:nth-child(even){background:#f5f9fb!important}.report-table th:nth-child(1){width:18%}.report-table th:nth-child(2){width:43%}.report-table th:nth-child(3){width:19%}.report-table th:nth-child(4){width:20%}.report-table thead{display:table-header-group}.report-table tr{break-inside:avoid;page-break-inside:avoid}.report-table .row-desc{color:#607286;font-size:7.5pt}.report-table .amount-cell{white-space:nowrap}
 .pdf-footer{display:flex!important;justify-content:space-between;border-top:1px solid #dbe5ec;color:#7c8997;font-size:7pt;padding-top:9px;margin-top:16px;gap:10px;break-inside:avoid}
 .pdf-brand,.pdf-title,.report-summary{break-inside:avoid}
}

/* V4 analytics — mobile-first, RTL, offline native charts */
.analytics-controls{margin-bottom:16px}.analytics-period{color:var(--muted);font-size:13px;margin:12px 0}.analytics-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px}.analytics-stats article,.analytics-card{background:var(--surface);border:1px solid var(--border);border-radius:17px;padding:16px;min-width:0}.analytics-stats small{display:block;color:var(--muted);font-size:12px;margin-bottom:8px}.analytics-stats b{display:block;font-size:18px;overflow-wrap:anywhere}.analytics-card{margin:13px 0;break-inside:avoid}.analytics-card h3{font-size:16px;margin:0 0 16px}.analytics-donut{width:min(230px,80%);aspect-ratio:1;border-radius:50%;margin:12px auto 22px;display:grid;place-items:center}.analytics-donut>div{width:65%;height:65%;background:var(--surface);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:8px}.analytics-donut small{color:var(--muted);font-size:12px}.analytics-donut b{font-size:16px}.analytics-legend{display:grid;gap:10px}.analytics-legend>div,.analytics-bar-heading,.analytics-top{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px}.analytics-legend span,.analytics-bar-heading span{display:flex;align-items:center;gap:7px;min-width:0;overflow-wrap:anywhere}.analytics-legend i,.analytics-bar-heading i{width:10px;height:10px;border-radius:3px;display:inline-block;flex-shrink:0}.analytics-bar-row{margin:15px 0}.analytics-bar-heading b{white-space:nowrap}.analytics-bar-heading small{color:var(--muted);font-weight:400}.analytics-track{height:10px;background:var(--border);border-radius:20px;overflow:hidden;margin-top:8px}.analytics-track>div{height:100%;border-radius:20px}.analytics-svg{width:100%;height:auto;display:block;color:var(--ink)}.analytics-trend-labels{display:flex;justify-content:space-between;direction:ltr;color:var(--muted);font-size:11px}.analytics-top{border-bottom:1px solid var(--border);padding:12px 0;align-items:flex-start}.analytics-top:last-child{border:0}.analytics-top span{min-width:0;overflow-wrap:anywhere}.analytics-top small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.analytics-top b{white-space:nowrap}nav button{min-width:0;flex:1;font-size:21px}nav button span{font-size:9px}
@media print{body.printing-analytics .page{display:none!important}body.printing-analytics #analytics{display:block!important}body.printing-analytics #analytics>h2,body.printing-analytics #analyticsContent{display:block!important}body.printing-analytics #analyticsPrint,body.printing-analytics .analytics-controls,body.printing-analytics #analytics>.hint{display:none!important}body.printing-analytics .analytics-card,body.printing-analytics .analytics-stats article{background:#fff!important;color:#14263d!important;border:1px solid #dbe5ec!important}body.printing-analytics .analytics-donut>div{background:#fff!important}body.printing-analytics #analytics{color:#14263d!important}body.printing-analytics .analytics-card{break-inside:avoid;page-break-inside:avoid}body.printing-analytics #app{width:100%!important}body.printing-analytics .analytics-stats{display:grid!important;grid-template-columns:1fr 1fr!important}body.printing-analytics .analytics-card h3{color:#14263d!important}}
