:root{font-family:Segoe UI,Arial,sans-serif;color:#25252b;background:#f7f7f8;font-synthesis:none}*{box-sizing:border-box}body{margin:0}aside{width:250px;position:fixed;inset:0 auto 0 0;background:#ffffff;color:#53535e;padding:36px 22px;display:flex;flex-direction:column}.brand{font-size:34px;letter-spacing:4px;font-weight:750;color:#fff;text-decoration:none}.brand span{display:block;font-size:10px;letter-spacing:2.3px;margin-top:5px}.nav-label{font-size:10px;letter-spacing:1.6px;margin:46px 10px 14px;color:#73737e}.active{color:#B71C1C;background:#fcecec;padding:14px 10px;border-radius:8px;text-decoration:none;font-size:13px}.future{line-height:2.8;padding-left:14px;color:#73737e;font-size:14px}.local{margin-top:auto;font-size:12px;color:#62626d}main{margin-left:250px;max-width:1700px;padding:46px 42px}header{display:flex;align-items:center;justify-content:space-between;gap:20px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;color:#B71C1C}h1{font-size:38px;letter-spacing:-1px;margin:8px 0}h2{font-size:21px}h3{font-size:16px;margin-top:30px}h4{font-size:15px;margin:0 0 6px}.subtitle{color:#677883;margin-top:10px}button{border:0;background:#B71C1C;color:white;padding:13px 22px;font:600 14px Segoe UI;border-radius:8px;cursor:pointer}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid #B71C1C;outline-offset:4px}#status{font-size:12px;color:#647780;min-height:18px;margin:27px 0 17px}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.card{background:white;border:1px solid #e5e5e9;border-radius:12px;padding:23px 20px}.card p{font-size:13px;margin:0 0 18px}.card strong{font-size:clamp(19px,2vw,29px);display:block;letter-spacing:-.7px}.card small{display:block;margin-top:12px;font-size:11px;color:#71828a}.total{background:#B71C1C;border-color:#B71C1C;color:#fff}.total small{color:#ffffff}.section-title{display:flex;align-items:center;justify-content:space-between;margin-top:32px;gap:12px}.section-title span,small{font-size:12px;color:#72818a}.account{background:#fff;border:1px solid #e5e5e9;border-radius:12px;margin:14px 0;overflow:hidden}.account-heading{padding:22px;display:flex;align-items:center;justify-content:space-between;gap:15px}.account-heading strong{white-space:nowrap}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}th{background:#f8fafb;color:#6b7b85;font-size:11px;text-transform:uppercase;letter-spacing:1px;text-align:left}th,td{padding:14px 22px;border-top:1px solid #edf0f2}th:last-child,td:last-child{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}td:first-child{white-space:nowrap;color:#6c7b83}td:nth-child(2){overflow-wrap:anywhere}.positive{color:#13704c;font-weight:650}.negative{color:#b33d47;font-weight:650}.error{color:#8b5719;background:#fff5e4;padding:13px 20px;font-size:13px;border-radius:8px}.empty{padding:0 22px 15px;color:#73818b;font-size:13px}footer{font-size:11px;color:#7e8c93;margin-top:35px;line-height:1.7}@media(max-width:1200px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}main{padding:30px 24px}aside{width:220px}main{margin-left:220px}}@media(max-width:760px){aside{position:static;width:100%;padding:18px 22px}.brand{font-size:24px}.brand span{font-size:9px}.nav-label,.future,.local{display:none}.active{margin-top:16px}main{margin:0;padding:24px 16px}h1{font-size:30px}.card{padding:18px 14px}.card strong{font-size:20px}header{align-items:flex-start}button{padding:12px}.section-title{align-items:flex-start;flex-direction:column;gap:0}.account-heading{padding:16px;align-items:flex-start}th,td{padding:13px 12px}td:nth-child(2){min-width:150px}.account-heading strong{font-size:14px}}
.history-content{padding:0 20px 16px}@media(max-width:760px){.history-content{padding:0 16px 12px}}
.planning-nav{margin-top:12px}.planning-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:28px}.planning-card{background:#fff;border:1px solid #e5e5e9;border-top:3px solid var(--brand);border-radius:12px;padding:24px}.planning-card h2{margin:0 0 10px}.planning-card p{color:#59656e;line-height:1.6;margin-bottom:0}.planning-next{margin-top:26px;padding:18px 20px;border-radius:10px;background:#fff5e4;color:#6e4b19;line-height:1.6}@media(max-width:760px){.planning-grid{grid-template-columns:1fr}}
.treasury-proof{display:inline-block;padding:6px 10px;border:1px solid currentColor;border-radius:18px;text-decoration:none;font-size:12px;font-weight:650}.proof-matched{color:#18723a;background:#e6f6eb}.proof-unmatched{color:#b42328;background:#fff0f0}.proof-waiting,.proof-partial,.proof-review{color:#815800;background:#fff6df}

/* Hub Mahjoub Anis: visual identity */
:root{--brand:#B71C1C;--brand-hover:#D32F2F}
aside{border-right:1px solid #e5e5e9}
.brand{display:block;line-height:0;letter-spacing:normal}
.brand img{display:block;width:100%;max-width:256px;height:auto}
.active{border-left:3px solid var(--brand);font-weight:600;transition:background .15s,color .15s}
.active:hover{background:#f9dede;color:var(--brand-hover)}
button{transition:background .15s,box-shadow .15s}
button:hover:not(:disabled){background:var(--brand-hover);box-shadow:0 4px 12px #b71c1c20}
.card{border-top:3px solid var(--brand);box-shadow:0 3px 14px #25252b04}
.card:not(.total) strong{color:var(--brand)}
.total{box-shadow:0 6px 18px #b71c1c18}
.local{border-top:1px solid #eeeef1;padding-top:18px}
@media(max-width:760px){.brand img{width:224px;max-width:100%}aside{border-right:0;border-bottom:1px solid #e5e5e9}}
@media(max-width:380px){header{flex-wrap:wrap}.cards{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){button,.active{transition:none}}
.history-section{margin-top:40px}.history-filters{display:flex;gap:14px;align-items:end;flex-wrap:wrap;margin:20px 0}.history-filters label{display:block;font-size:12px;margin-bottom:6px}.history-filters input,.history-filters select{font:inherit;padding:10px;border:1px solid #bfc4ca;border-radius:6px;background:white;max-width:100%}.history-export{display:inline-block;padding:12px;color:#B71C1C;font-weight:600}.history-pager{display:flex;gap:12px;margin-top:16px}.history-section td:nth-child(3){min-width:160px;overflow-wrap:anywhere}.history-section input:focus-visible,.history-section select:focus-visible{outline:3px solid #B71C1C;outline-offset:2px}
@media(max-width:760px){.table-wrap{overflow:visible}.table-wrap table,.table-wrap tbody,.table-wrap tr,.table-wrap td{display:block;width:100%}.table-wrap thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.table-wrap tbody{display:grid;gap:12px}.table-wrap tr{overflow:hidden;border:1px solid #dfe3e6;border-radius:10px;background:#fff;box-shadow:0 2px 8px #2028300a}.table-wrap td,.table-wrap td:first-child,.table-wrap td:last-child,.table-wrap td:nth-child(2),.table-wrap td:nth-child(3){display:grid;grid-template-columns:minmax(92px,34%) minmax(0,1fr);gap:10px;align-items:start;min-width:0;padding:10px 12px;border:0;border-top:1px solid #edf0f2;text-align:left!important;white-space:normal!important;overflow-wrap:anywhere}.table-wrap td:first-child{border-top:0}.table-wrap td::before{content:attr(data-label);color:#6b7b85;font-size:10px;font-weight:700;letter-spacing:.7px;text-transform:uppercase}.table-wrap td>*{min-width:0;max-width:100%}.table-wrap td button{width:100%;white-space:normal}.table-wrap .ticket-link{overflow-wrap:anywhere}.account{overflow:visible}.account-heading{flex-wrap:wrap}.account-heading strong{white-space:normal}.history-section td:nth-child(3){min-width:0}}
#flows{margin-top:36px}.flow-group{margin:24px 0 32px}.flow-group h3{font-size:19px}.flow-group h4{margin-top:22px}.flow-note{font-size:12px;color:#59656e;line-height:1.6}.flow-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.flow-card small{color:#59656e;line-height:1.6}.flow-card .flow-delta{font-weight:600;color:#34343b}.flow-card strong{overflow-wrap:anywhere}@media(max-width:900px){.flow-cards{grid-template-columns:1fr}}
.flow-disclosure{border:1px solid #e5e5e9;border-radius:12px;background:#fff}.flow-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;cursor:pointer;list-style:none}.flow-summary::-webkit-details-marker{display:none}.flow-summary::marker{content:""}.flow-summary h2{margin:0;font-size:20px}.flow-toggle{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;border-radius:8px;background:#fcecec;color:#B71C1C;font-size:26px;font-weight:600}.flow-toggle::before{content:"+"}.flow-disclosure[open] .flow-toggle::before{content:"−"}.flow-summary:hover{background:#fafafa;border-radius:12px}.flow-summary:focus-visible{outline:3px solid #B71C1C;outline-offset:3px}#flow-content{padding:0 20px 16px}@media(max-width:760px){.flow-summary{padding:14px 16px}.flow-summary h2{font-size:18px}#flow-content{padding:0 16px 12px}}
@media(max-width:760px){html,body{max-width:100%;overflow-x:hidden}main,section,article{min-width:0;max-width:100%}}
.account-indicator .account-dot+span{text-transform:uppercase}

/* Comparable periods share the same typography. */
.flow-card .flow-title{font-size:15px;font-weight:700;margin-bottom:20px}
.flow-period{padding:12px 0;min-width:0}
.flow-period+.flow-period{border-top:1px solid #edf0f2}
.flow-period-label{display:block;font-size:13px;font-weight:600;color:#59656e;margin-bottom:6px}
.card.flow-card .flow-period-value{font-size:clamp(20px,2vw,29px);font-weight:700;line-height:1.25;color:#25252b;font-variant-numeric:tabular-nums;letter-spacing:0}
.flow-card .flow-delta{margin-top:16px;padding:12px;border-radius:8px;background:#f4f5f6;font-size:14px;line-height:1.6;font-variant-numeric:tabular-nums}
.flow-card .flow-delta.favorable{color:#13704c;background:#eaf6ef}
.flow-card .flow-delta.unfavorable{color:#b42328;background:#fff0f0}
.flow-trend{display:block;font-size:12px;font-weight:600}

/* HM signature: compact vector identity on every screen. */
.brand img,.account-brand img{display:block;width:196px;max-width:100%;height:auto}
.account-brand{display:block;line-height:0}
.access-brand{margin-bottom:28px}.access-brand img{display:block;width:220px;max-width:100%;height:auto}
@media(max-width:760px){.brand img,.account-brand img{width:180px}.access-brand img{width:196px}}
