@font-face{font-family:"Noto Sans Arabic";src:url("fonts/NotoSansArabic-Variable.ttf") format("truetype");font-style:normal;font-weight:100 900;font-display:swap}
:root{--ink:#18211f;--muted:#68746f;--paper:#f4f2ec;--card:#fffefa;--green:#143d34;--green-2:#276656;--mint:#dcebe5;--red:#b5483d;--red-bg:#fae8e5;--gold:#8c6420;--gold-bg:#f5ecd9;--line:#deddd7;--shadow:0 12px 34px rgba(28,45,40,.07)}
*{box-sizing:border-box}html{font-size:16px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5;padding-bottom:96px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.topbar{height:72px;background:var(--green);color:white;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1180px)/2));position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:10px;font-size:19px;font-weight:750}.brand-mark{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:#fff;color:var(--green);font-family:Georgia,serif;font-size:23px}.settings-link{padding:10px 14px;border:1px solid rgba(255,255,255,.25);border-radius:10px;font-size:14px}.page{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:42px 0}.page-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px}.eyebrow{font-size:11px;letter-spacing:.15em;font-weight:800;color:var(--green-2);margin:0 0 4px}.page h1{font-family:Georgia,serif;font-size:clamp(35px,5vw,54px);line-height:1.05;margin:0;font-weight:600}.page h2{font-family:Georgia,serif;font-size:27px;line-height:1.15;margin:0;font-weight:600}.page h3{margin:0 0 8px}.lead{color:var(--muted);font-size:18px}.button{border:0;background:var(--green);color:white;border-radius:12px;padding:13px 18px;min-height:48px;font-weight:750;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.button:hover{background:var(--green-2)}.button.accent{background:#c45d39}.button.accent:hover{background:#a94c2e}.button.secondary{color:var(--green);background:var(--mint)}.button.full{width:100%;margin-top:8px}.text-button{border:0;background:none;color:var(--green-2);padding:6px;cursor:pointer}.danger{color:var(--red)!important}.back{display:inline-block;color:var(--muted);font-weight:650;margin-bottom:24px}.month-nav{background:var(--card);border:1px solid var(--line);border-radius:16px;display:flex;align-items:center;justify-content:space-between;padding:8px;margin-bottom:20px;box-shadow:var(--shadow)}.month-nav>a{width:48px;height:48px;border-radius:12px;background:var(--paper);font-size:32px;display:grid;place-items:center}.month-nav div{text-align:center}.month-nav span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.month-nav strong{font-size:18px}.totals-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}.total-card{border-radius:18px;padding:24px;min-width:0;box-shadow:var(--shadow);background:var(--card);border:1px solid var(--line)}.total-card span,.total-card small{display:block}.total-card span{font-size:14px;font-weight:750;color:var(--muted)}.total-card strong{font-family:Georgia,serif;display:block;font-size:clamp(25px,3.3vw,41px);line-height:1.15;margin:6px 0;white-space:nowrap}.total-card small{color:var(--muted)}.total-card.income{background:var(--green);color:white;border-color:var(--green)}.total-card.income span,.total-card.income small{color:#c9ddd7}.total-card.remaining{background:#e4ece3}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:20px 0}.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:var(--shadow);min-width:0}.section-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.section-title>a{font-size:14px;color:var(--green-2);font-weight:750}.muted{color:var(--muted)}.rows{border-top:1px solid var(--line)}.data-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px 0;border-bottom:1px solid var(--line)}a.data-row:hover{color:var(--green-2)}.data-row strong,.data-row small{display:block}.data-row small{color:var(--muted);margin-top:3px}.align-right{text-align:right}.status,.status-line{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;border-radius:20px;padding:4px 8px;display:inline-block}.status.paid,.status-line.paid{color:#24604f;background:var(--mint)}.status.partial,.status-line.partial{color:var(--gold);background:var(--gold-bg)}.status.unpaid,.status-line.unpaid{color:var(--red);background:var(--red-bg)}.mini-summary{display:flex;justify-content:space-between;gap:16px;padding-top:18px;color:var(--muted);font-size:13px}.mini-summary b{display:block;color:var(--ink);font-size:16px}.category-list>div{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}.category-list>div:last-child{border-bottom:0}.empty{text-align:center;padding:28px 10px;color:var(--muted)}.empty .button{margin:5px}.empty-text{color:var(--muted)}.tracking-card{margin-top:20px}.tracking-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.tracking-day{min-height:82px;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:8px;display:grid;grid-template-columns:1fr auto}.tracking-day span{font-weight:750}.tracking-day strong{font-size:18px}.tracking-day small{grid-column:1/-1;align-self:end;color:var(--muted);font-size:11px}.tracking-day.entered{background:#edf5f1}.tracking-day.entered strong{color:var(--green-2)}.tracking-day.zero{background:#f1eee5}.tracking-day.missing{background:var(--red-bg);border-color:#efd0ca}.tracking-day.missing strong,.tracking-day.missing small{color:var(--red)}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:76px;background:rgba(255,254,250,.96);border-top:1px solid var(--line);display:flex;justify-content:center;z-index:30;backdrop-filter:blur(10px)}.bottom-nav a{width:min(180px,25%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--muted);font-size:12px;font-weight:650}.bottom-nav a span{font-size:22px;line-height:1}.bottom-nav a.active{color:var(--green);background:var(--mint)}.summary-strip,.report-result{display:grid;grid-template-columns:repeat(3,1fr);background:var(--green);color:white;border-radius:18px;padding:20px;margin-bottom:20px}.summary-strip>div,.report-result>div{padding:6px 18px;border-right:1px solid rgba(255,255,255,.2)}.summary-strip>div:last-child,.report-result>div:last-child{border:0}.summary-strip span,.summary-strip strong,.report-result span,.report-result strong{display:block}.summary-strip span,.report-result span{color:#c9ddd7;font-size:13px}.summary-strip strong{font-size:22px}.report-result strong{font-family:Georgia,serif;font-size:clamp(24px,3vw,36px);white-space:nowrap}.business-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.business-card{border:1px solid var(--line);border-radius:14px;padding:18px;background:#fff}.business-card:hover{border-color:#9cb9af}.business-top{display:flex;justify-content:space-between;gap:10px}.business-top h3{font-size:20px}.business-top p{margin:2px 0;color:var(--muted);font-size:14px}.chevron{font-size:30px;color:var(--muted)}.business-numbers{display:flex;justify-content:space-between;gap:8px;margin:20px 0 12px}.business-numbers span{font-size:12px;color:var(--muted)}.business-numbers b{display:block;font-size:14px;color:var(--ink)}.status-line{text-align:center;width:100%;border-radius:8px}.form-shell{width:min(620px,100%);margin:0 auto}.form-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:26px;box-shadow:var(--shadow);display:grid;gap:19px}.form-card label,.card form label{display:grid;gap:7px;font-weight:700}.form-card label small,label small{font-weight:400;color:var(--muted)}input,select,textarea{width:100%;border:1px solid #c7cac5;border-radius:11px;background:white;padding:13px 14px;min-height:50px;color:var(--ink)}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:3px solid rgba(39,102,86,.18);border-color:var(--green-2)}.business-hero{background:var(--green);color:white;border-radius:18px;padding:26px;margin-bottom:20px}.business-hero span{color:#c9ddd7}.business-hero strong{display:block;font-family:Georgia,serif;font-size:36px}.business-hero .actions{display:flex;align-items:center;gap:10px;margin-top:20px}.row-actions{display:flex;align-items:center;gap:4px;font-size:13px}.day-picker{display:flex;align-items:end;justify-content:space-between;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:12px 16px}.day-picker a{color:var(--green-2);font-size:13px}.day-picker form{width:min(260px,50%)}.day-picker label{display:block;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:4px}.today-total{text-align:center;padding:26px}.today-total span,.today-total small{display:block;color:var(--muted)}.today-total strong{font-family:Georgia,serif;font-size:clamp(34px,6vw,55px);display:block}.expense-row{display:flex;align-items:center;gap:10px;padding:14px 0;border-bottom:1px solid var(--line)}.category-dot{width:9px;height:9px;background:#c45d39;border-radius:50%;flex:none}.grow{flex:1;min-width:0}.expense-row small{display:block;color:var(--muted)}.history-list{max-height:460px;overflow:auto}.history-row,.monthly-days a{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:11px 0;border-bottom:1px solid var(--line)}.report-totals{margin-top:18px;border-top:2px solid var(--ink)}.report-totals p{display:flex;justify-content:space-between;margin:0;padding:10px 0;border-bottom:1px solid var(--line)}.monthly-days{display:grid;grid-template-columns:1fr 1fr;gap:0 28px}.inline-form{display:grid;grid-template-columns:1fr auto;gap:10px;margin-bottom:14px}.settings-list small{color:var(--muted);margin-left:5px}.card hr{border:0;border-top:1px solid var(--line);margin:26px 0}.messages{margin-bottom:18px}.message{padding:13px 16px;border-radius:10px;background:var(--mint);color:var(--green);font-weight:650}.message.error{background:var(--red-bg);color:var(--red)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:760px){body{padding-bottom:78px}.topbar{height:62px;padding:0 16px}.settings-link{padding:8px 10px}.page{width:min(100% - 24px,1180px);padding:26px 0}.page-heading{align-items:center}.page-heading .button{padding:11px 13px;font-size:13px}.totals-grid{grid-template-columns:1fr 1fr}.total-card{padding:18px}.total-card strong{font-size:25px}.total-card.income{grid-column:1/-1}.two-column{grid-template-columns:1fr}.tracking-grid{grid-template-columns:repeat(4,1fr)}.business-grid{grid-template-columns:1fr}.summary-strip,.report-result{grid-template-columns:1fr;padding:12px 18px}.summary-strip>div,.report-result>div{border-right:0;border-bottom:1px solid rgba(255,255,255,.2);padding:11px 0}.report-result>div:last-child,.summary-strip>div:last-child{border-bottom:0}.report-result strong{font-size:27px}.monthly-days{grid-template-columns:1fr}.day-picker>a{display:none}.day-picker form{width:100%}.spending-layout{display:flex;flex-direction:column}.spending-layout .history{order:2}.expense-row{flex-wrap:wrap}.expense-row .row-actions{width:100%;justify-content:flex-end}.bottom-nav{height:68px}.bottom-nav a{font-size:10px}.bottom-nav a span{font-size:19px}.card{padding:18px}.business-hero strong{font-size:30px}}
@media(max-width:390px){.page-heading{align-items:flex-start}.page h1{font-size:34px}.page-heading .button{max-width:132px}.total-card strong{font-size:21px}.tracking-grid{grid-template-columns:repeat(3,1fr)}.mini-summary{flex-direction:column}.data-row{align-items:flex-start}.align-right strong{font-size:14px}.business-hero .actions{align-items:flex-start;flex-direction:column}.form-card{padding:18px}.category-list strong{font-size:14px}}

/* Partner View: intentionally display-only and optimized for quick phone reading. */
.bottom-nav a{width:min(180px,20%)}.bottom-nav .partner-only-nav{width:100%;max-width:280px}.readonly-badge{padding:8px 12px;border:1px solid rgba(255,255,255,.3);border-radius:999px;color:#d7e8e2;font-size:12px;font-weight:750;text-transform:uppercase;letter-spacing:.08em}.partner-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:24px}.partner-heading>p{margin:0;color:var(--muted)}.partner-totals{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin:20px 0}.partner-total{grid-column:span 2;min-width:0;background:var(--card);border:1px solid var(--line);border-radius:17px;padding:21px;box-shadow:var(--shadow)}.partner-total span,.partner-total strong{display:block}.partner-total span{color:var(--muted);font-size:13px;font-weight:750}.partner-total strong{font-family:Georgia,serif;font-size:clamp(23px,2.6vw,34px);line-height:1.15;margin-top:7px;white-space:nowrap}.partner-total.income{background:var(--green);border-color:var(--green);color:white}.partner-total.income span{color:#c9ddd7}.partner-total.outstanding{background:var(--gold-bg)}.partner-total.spending{grid-column:2/span 2;background:var(--red-bg)}.partner-total.remaining{grid-column:4/span 2;background:#e4ece3}.partner-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:20px 0}.partner-income-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 0;border-bottom:1px solid var(--line)}.partner-income-row:last-child{border-bottom:0}.partner-income-row h3{font-size:17px;margin:0 0 2px}.partner-income-row strong,.partner-income-row small{display:block}.partner-income-row small{font-size:12px;color:var(--muted);margin-top:2px}.partner-spending-list>div,.partner-day-toggle,.partner-day-static{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.partner-day-toggle{width:100%;border-width:0 0 1px;background:transparent;color:inherit;font:inherit;text-align:inherit;cursor:pointer;min-height:50px}.partner-day-toggle:focus-visible{outline:3px solid rgba(39,102,86,.22);outline-offset:2px;border-radius:7px}.partner-day-chevron{color:var(--muted);font-size:18px;line-height:1;transition:transform .2s ease}.partner-day.expanded .partner-day-chevron{transform:rotate(180deg)}.partner-day-details{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .22s ease,opacity .18s ease}.partner-day.expanded .partner-day-details{grid-template-rows:1fr;opacity:1}.partner-day-details-inner{min-height:0;overflow:hidden}.partner-day-details-list{display:grid;gap:6px;padding:8px 4px 12px}.partner-expense{display:grid;grid-template-columns:minmax(105px,auto) minmax(0,1fr);align-items:start;gap:12px;padding:9px 10px;border-radius:9px;background:var(--paper);font-size:13px}.partner-expense>strong{direction:ltr;unicode-bidi:isolate;white-space:nowrap}.partner-expense span,.partner-expense small{display:block}.partner-expense small{margin-top:2px;color:var(--muted);overflow-wrap:anywhere}.partner-spending-list .partner-list-total{border-top:2px solid var(--ink);border-bottom:0;margin-top:7px;padding-top:16px;font-size:18px}.partner-days{display:grid;grid-template-columns:1fr 1fr;gap:0 30px}.partner-section .status{flex:none}.partner-daily{margin-top:20px}
@media(max-width:760px){.bottom-nav a{width:20%}.bottom-nav .partner-only-nav{width:100%}.partner-heading{display:block}.partner-heading>p{margin-top:8px}.partner-totals{grid-template-columns:1fr 1fr;gap:10px}.partner-total,.partner-total.spending,.partner-total.remaining{grid-column:auto;padding:17px}.partner-total.income{grid-column:1/-1}.partner-total strong{font-size:23px}.partner-total.remaining{grid-column:1/-1}.partner-columns{grid-template-columns:1fr}.partner-days{grid-template-columns:1fr}.partner-income-row{align-items:flex-start}.partner-section{padding:18px}}
@media(max-width:390px){.partner-total strong{font-size:21px}.partner-income-row{gap:8px}.partner-income-row>div{min-width:0}.partner-income-row>div>strong{font-size:14px}.partner-spending-list strong,.partner-days strong{font-size:14px}.readonly-badge{font-size:10px}}

/* Authentication additions only. */
.topbar-actions{display:flex;align-items:center;gap:8px}.topbar-actions form{margin:0}.logout-button{min-height:42px;padding:8px 12px;border:1px solid rgba(255,255,255,.25);border-radius:10px;background:transparent;color:white;font-weight:650;cursor:pointer}.logout-button:hover{background:rgba(255,255,255,.1)}.login-shell{width:min(470px,100%);margin:4vh auto}.login-heading{text-align:center;margin-bottom:24px}.login-heading .login-mark{display:grid;margin:0 auto 18px;background:var(--green);color:white;width:52px;height:52px;font-size:30px}.login-heading>p:last-child{color:var(--muted);font-size:17px}.login-card{gap:18px}.login-setup{margin:16px 0 0;padding:13px 15px;border-radius:10px;background:var(--gold-bg);color:var(--gold);font-size:14px}
@media(max-width:390px){.topbar-actions{gap:5px}.logout-button{padding:7px 9px;font-size:12px}.readonly-badge{padding:7px 8px}.login-shell{margin:1vh auto}}

/* Carryover stays secondary to the existing monthly totals. */
.carryover-note{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-10px 4px 20px;color:var(--muted);font-size:13px}.carryover-note b{color:var(--ink);font-weight:750}@media(max-width:760px){.carryover-note{align-items:flex-start;flex-direction:column;gap:3px;margin-top:-8px}}

/* Language selector and RTL support. */
.language-switcher{display:flex;direction:ltr;flex:none;padding:2px;border:1px solid rgba(255,255,255,.28);border-radius:9px}.language-switcher a{padding:5px 8px;border-radius:6px;color:#d7e8e2;font-size:11px;font-weight:800;line-height:1.2}.language-switcher a.active{background:white;color:var(--green)}html[dir="rtl"] body,html[dir="rtl"] button,html[dir="rtl"] input,html[dir="rtl"] select,html[dir="rtl"] textarea{font-family:"Noto Sans Arabic",system-ui,sans-serif}html[dir="rtl"] body{text-align:right;line-height:1.65}html[dir="rtl"] .page h1,html[dir="rtl"] .page h2,html[dir="rtl"] .page h3,html[dir="rtl"] .total-card strong,html[dir="rtl"] .partner-total strong,html[dir="rtl"] .report-result strong,html[dir="rtl"] .business-hero strong,html[dir="rtl"] .today-total strong{font-family:"Noto Sans Arabic",system-ui,sans-serif;line-height:1.3}html[dir="rtl"] .eyebrow,html[dir="rtl"] .status,html[dir="rtl"] .status-line,html[dir="rtl"] .readonly-badge,html[dir="rtl"] .month-nav span{letter-spacing:0}html[dir="rtl"] .align-right{text-align:left}html[dir="rtl"] .money-input{direction:ltr;text-align:right}html[dir="rtl"] .total-card strong,html[dir="rtl"] .partner-total strong,html[dir="rtl"] .summary-strip strong,html[dir="rtl"] .report-result strong,html[dir="rtl"] .business-hero strong,html[dir="rtl"] .today-total strong{direction:ltr;unicode-bidi:isolate;text-align:right}html[dir="rtl"] .report-result strong,html[dir="rtl"] .summary-strip strong{text-align:inherit}@media(max-width:520px){.topbar{padding:0 10px}.topbar-actions{gap:4px}.brand>span:last-child{display:none}.settings-link,.logout-button{padding:6px 8px;min-height:36px;font-size:11px}.language-switcher a{padding:5px 6px;font-size:10px}}

/* Partner summary cleanup: the month selector leads and amounts stay contained. */
.partner-page{padding-bottom:0}.partner-total>span{display:block}.partner-total strong{display:flex;align-items:baseline;gap:.22em;max-width:100%;font-variant-numeric:tabular-nums;letter-spacing:-.025em}.partner-total strong .amount-number{min-width:0;color:inherit;font-size:inherit;font-weight:inherit}.partner-total strong .amount-currency{flex:none;color:inherit;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:.55em;font-weight:750;letter-spacing:0}html[dir="rtl"] .partner-total .amount-currency{font-family:"Noto Sans Arabic",system-ui,sans-serif}
@media(max-width:760px){.partner-total strong{font-size:clamp(1rem,4.4vw,1.45rem)}.partner-total.income strong{font-size:clamp(1.55rem,7vw,2.125rem)}}
@media(max-width:390px){.partner-total{padding-inline:15px}}
