/* TH Systems 3.0 – premium slate / ice-blue financial center */
:root{--th-dark:#101d32;--th-blue:#4770c9;--th-paper:#f0f3f8;--th-line:#dde5f0;--th-muted:#72839b}
body{background:radial-gradient(circle at 0% 0%,#dce7f6 0%,transparent 24%),linear-gradient(145deg,#f4f7fb,#e9eff6)!important;color:#1b334b}
.sidebar.th-sidebar{background:linear-gradient(179deg,#0e1a31 0%,#132640 100%);border-right:1px solid rgba(255,255,255,.07);box-shadow:16px 0 38px #14213b14;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#364f78 transparent}
.sidebar.th-sidebar .brand{border-bottom:1px solid rgba(255,255,255,.10);padding-bottom:20px;margin-bottom:16px}
.th-sidebar .nav-section{color:#96b4d5;letter-spacing:1.75px;font-size:9px;margin:17px 0 7px;font-weight:800}
.th-sidebar .nav{gap:2px}.th-sidebar .nav button{min-height:37px;border-radius:10px;padding:7px 10px;color:#c2d2e6;font-size:12px;font-weight:600}.th-sidebar .nav button svg{width:17px;height:17px}.th-sidebar .nav button.active{color:white;background:linear-gradient(100deg,#587dec,#35649c);box-shadow:0 5px 14px #4169c43e}.th-sidebar .nav button:hover:not(.active){background:#ffffff12;color:#fff}
.th-sidebar .nav-bottom{position:static;border-top:1px solid #ffffff15;margin-top:25px;padding-top:16px}
.th-sidebar .nav-logout{background:transparent;border:0;color:#9eb7d5;padding:8px 3px;font-size:12px;display:flex;gap:8px;align-items:center;text-align:left;cursor:pointer}
.app .shell{min-width:0}.topbar{background:rgba(255,255,255,.76);backdrop-filter:blur(20px);border-bottom:1px solid #dce6f2}
.topbar .top-title{color:#1b3352}.topbar .breadcrumbs{color:#7890ad;letter-spacing:1.4px}
.content{max-width:1800px}.surface{border:1px solid #dce5f0;box-shadow:0 8px 32px #20385d0c;border-radius:17px}.panel-head{border-color:#e5ebf4}.page-header h1{letter-spacing:-1px}
.btn.primary{background:linear-gradient(100deg,#294666,#4b71b2);border-color:#294666;box-shadow:0 7px 15px #34558d24}.btn.primary:hover{background:linear-gradient(100deg,#1a3958,#37609e)}
.brandmark{background:linear-gradient(125deg,#2f4f91,#6a95d0)}.sidebar .brandmark{box-shadow:0 8px 18px #0002}.tagline{color:#5d7fa7}
.th-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 20px}.th-dashboard-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.th-metric{background:linear-gradient(180deg,#fff,#f9fbfe);border:1px solid #dce5f1;box-shadow:0 12px 32px #142a490a;border-radius:16px;min-width:0;padding:20px 21px}.th-metric>span{display:block;white-space:normal;color:#6d8096;font-weight:650;font-size:12px;margin-bottom:14px}.th-metric strong{display:block;font-size:clamp(20px,2.1vw,30px);font-weight:760;letter-spacing:-.7px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.th-metric.feature{background:linear-gradient(125deg,#19324f,#32618f);border-color:transparent}.th-metric.feature span{color:#c8def2}.th-metric.feature strong{color:white}.th-print-heading{display:none}
.th-filterbar{display:flex;align-items:flex-end;gap:12px;margin:0 0 20px;flex-wrap:wrap;padding:14px 18px;border:1px solid #dce6f0;border-radius:15px;background:#ffffffa8;box-shadow:0 8px 20px #1329430a}.th-filter-label{display:grid;gap:5px;color:#667d98;font-size:11px;font-weight:700;min-width:190px}.th-filter-label input,.th-filter-label select{border:1px solid #d6e0ed;border-radius:10px;background:#fff;min-height:40px;padding:8px 12px;color:#294461;font-weight:650;width:100%}
.th-flow-wrap{max-width:100%}.th-flow-table{width:100%;table-layout:fixed;min-width:780px}.th-flow-table th:nth-child(1){width:92px}.th-flow-table th:nth-child(2){width:145px}.th-flow-table th:nth-child(3){width:auto}.th-flow-table th:nth-child(4){width:135px}.th-flow-table th:nth-child(5){width:135px}.th-flow-table th:nth-child(6){width:96px}.th-flow-table td,.th-flow-table th{vertical-align:top;overflow-wrap:anywhere;word-break:normal}.th-flow-table .secondary{display:block;white-space:normal;overflow-wrap:anywhere;line-height:1.45;margin-top:5px}.th-description{overflow-wrap:anywhere;word-break:break-word;max-width:1px;min-width:175px}.th-description strong{display:block;overflow-wrap:anywhere}.th-description .secondary{white-space:normal;overflow-wrap:anywhere;word-break:break-word;max-height:76px;overflow:hidden}.th-flow-table .money{white-space:nowrap;font-size:12px;font-variant-numeric:tabular-nums}.th-flow-table tbody tr:hover{background:#f5faff}
.th-recurring-row{padding:16px 20px;border-top:1px solid #edf1f7;display:flex;align-items:center;gap:15px;flex-wrap:wrap}.th-recurring-row>div{flex:1;min-width:240px}.th-recurring-row .secondary{display:block;font-size:12px;line-height:1.5;margin-top:5px}.th-recurring-row>.badge{margin-left:3px}.th-list-money{display:flex;align-items:end;flex-direction:column;gap:8px}.th-list-money strong{white-space:nowrap}
@media(min-width:821px){.th-sidebar{width:230px!important}.app .shell{margin-left:230px!important}}
@media(max-width:1250px){.th-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.th-dashboard-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.th-metric{padding:16px}.th-metric strong{font-size:21px}}
@media(max-width:820px){.sidebar.th-sidebar{display:none}.th-dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.th-metrics{gap:9px}.th-filter-label{min-width:145px;flex:1}.th-metric strong{font-size:21px}.page-cta{flex-wrap:wrap;gap:7px}.th-recurring-row{align-items:start}.th-flow-table{min-width:700px}.content{padding-bottom:90px}}
@media(max-width:440px){.th-metric{padding:13px}.th-metric>span{font-size:10px;margin-bottom:10px}.th-metric strong{font-size:18px}.th-filterbar{padding:11px}.th-flow-table{min-width:630px}.th-flow-table th:nth-child(4){width:90px}.th-flow-table th:nth-child(5){width:110px}}
@media print{body{background:#fff!important;color:#111!important}.th-print-heading{display:block;color:#151e2b;font-size:19px;margin-bottom:12px}.sidebar,.mobile-nav,.topbar,.nav,.nav-bottom,.btn,.no-print,.th-filterbar{display:none!important}.app .shell{margin:0!important}.content{padding:0!important;max-width:none!important}.page-header{margin-bottom:10px}.th-metrics{display:flex;gap:6px;margin-bottom:12px}.th-metric{box-shadow:none;min-width:0;flex:1;border:1px solid #ccc;border-radius:6px;padding:7px 10px;background:#fff!important}.th-metric.feature{color:#111!important}.th-metric.feature *{color:#111!important}.th-metric strong{font-size:16px!important}.th-metric>span{font-size:9px!important;margin-bottom:4px}.surface{box-shadow:none;border:1px solid #bbb;break-inside:auto}.th-flow-table{min-width:0;font-size:8px}.th-flow-table th:nth-child(6),.th-flow-table td:nth-child(6){display:none}.th-flow-table th,.th-flow-table td{padding:6px 4px}.th-flow-table .secondary{font-size:7px;max-height:30px}@page{size:A4 landscape;margin:10mm}}
.th-bank-input{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:9px;padding:15px;margin:10px 0;border:1px solid #dde6f2;border-radius:13px;background:#f8fbff}.th-bank-input label{display:grid;gap:4px;color:#6f8195;font-size:11px;font-weight:700;min-width:0}.th-bank-input input,.th-bank-input select{width:100%;border:1px solid #d5deec;padding:8px 9px;border-radius:9px;min-width:0}.th-bank-input .btn{align-self:end}@media(max-width:850px){.th-bank-input{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:430px){.th-bank-input{grid-template-columns:1fr}}
