/* Scoped screen composition; business modules and other views stay intact. */
.welcome{position:relative;isolation:isolate;background:#eaf4f0 url('../../static/welcome-scene.svg') center/cover no-repeat;padding:40px 24px;overflow:hidden}
.welcome::before,.welcome::after{content:'';position:absolute;z-index:-1;width:380px;height:210px;background:linear-gradient(135deg,#004831,#188767);border:1px solid #66a58e;transform:rotate(-45deg);border-radius:70px;box-shadow:0 26px 0 #228362,0 52px 0 -1px #eaf4f0,0 54px 0 #197655}
.welcome::before{left:-160px;top:-120px}.welcome::after{right:-140px;bottom:-130px;width:440px}
.welcome-card{width:min(100%,740px);padding:32px 60px 28px;border-radius:32px;background:var(--surface);box-shadow:0 22px 48px #07573e24}
.welcome-logo{width:136px;height:128px;margin-bottom:22px;border-radius:28px}.welcome-kicker{font-size:16px;letter-spacing:3px;margin-bottom:20px}.welcome h1{font-size:40px;font-weight:720;line-height:1.3;color:#14363b;letter-spacing:-1.1px}.welcome p{font-size:22px;margin:24px 0;color:#637986}.welcome .primary{height:72px;font-size:23px;letter-spacing:0;border-radius:15px;background:linear-gradient(110deg,#07573e,#118562);box-shadow:0 12px 24px #1185621a;gap:18px}.welcome .primary span{float:none;font-size:36px;line-height:1}.install-link{font-size:20px;padding:25px 10px;color:#087453}.install-link::before{content:'♧';display:inline-block;transform:rotate(180deg);margin-right:12px}.welcome small{border-top:1px solid var(--border);padding-top:22px;margin:0;font-size:14px}.welcome small::before{content:'♢';font-size:28px;vertical-align:middle;margin-right:12px;color:#087453}
body[data-view="overview"]{--ink:#0b2b4d;--muted:#567995;--bg:#f4f9fb;background:var(--bg)}
body[data-view="overview"] .sidebar{width:244px;padding:24px 14px;background:linear-gradient(138deg,transparent 52%,#08745433 52%,transparent 76%),#003d2c}
body[data-view="overview"] .brand{font-family:inherit;font-size:27px;gap:10px;letter-spacing:-1px;padding:0 10px}body[data-view="overview"] .brand-bank{width:44px;height:46px}
body[data-view="overview"] .sidebar nav{margin-top:22px}body[data-view="overview"] .nav{padding:10px 14px;margin:4px 0;border-radius:5px;gap:14px}body[data-view="overview"] .nav.active{background:#087a54a0}body[data-view="overview"] .sidebar-bottom{border-top:1px solid #258569;padding-top:14px;margin: auto 10px 18px}
body[data-view="overview"] .shell{margin-left:244px}body[data-view="overview"] .topbar{height:47px;padding:0 26px;gap:30px;background:transparent;padding-right:180px}body[data-view="overview"] main{padding:10px 24px 24px;max-width:none}
body[data-view="overview"] .page-heading{height:0;margin:0}body[data-view="overview"] .page-heading>div:first-child,body[data-view="overview"] #import-base,body[data-view="overview"] .rule,body[data-view="overview"] #last-run,body[data-view="overview"] .page-footer{display:none}
body[data-view="overview"] #reconcile{position:absolute;top:14px;right:24px;padding:5px 12px;font-size:11px;min-height:27px}
body[data-view="overview"] .section-heading{margin-bottom:7px}body[data-view="overview"] .section-heading h2{font-size:23px}body[data-view="overview"] .source-grid{gap:16px;margin-bottom:16px}
body[data-view="overview"] .source-card{padding:14px 18px;border-radius:7px;box-shadow:0 2px 5px #254c6310;background:var(--surface)}body[data-view="overview"] .source-symbol{width:54px;height:54px;background:#cef4e6;border:0}body[data-view="overview"] .source-card-top{gap:16px}body[data-view="overview"] .source-card-top h3{font-size:17px}body[data-view="overview"] .source-card-top p{font-size:13px}body[data-view="overview"] .pill.neutral{background:#cef4e6;color:#087453}
body[data-view="overview"] .source-values{margin:14px 0 12px;padding-top:14px;gap:0}body[data-view="overview"] .source-values>div{min-width:0;padding:3px 12px 10px 20px;border-left:1px solid var(--border)}body[data-view="overview"] .source-values>div:first-child{padding-left:0;border:0}body[data-view="overview"] .source-values small{font-size:12px}body[data-view="overview"] .source-values strong{font-size:19px;font-weight:700;overflow-wrap:anywhere}body[data-view="overview"] .source-card-bottom>span{font-size:12px}body[data-view="overview"] .source-actions .button{border-color:#65bea4;color:#087453;padding:12px;font-size:12px}
body[data-view="overview"] .records{border-radius:7px;background:var(--surface);padding-bottom:28px}body[data-view="overview"] .table-heading{padding:16px 18px}body[data-view="overview"] .table-heading>div{position:relative;padding-left:69px;min-height:54px;padding-top:4px}body[data-view="overview"] .table-heading>div::before{content:'⇄';position:absolute;left:0;top:0;width:54px;height:54px;display:grid;place-items:center;border-radius:50%;background:#cef4e6;color:#087453;font-size:34px}body[data-view="overview"] .table-heading h2{font-size:18px}body[data-view="overview"] .table-heading p{font-size:13px}
body[data-view="overview"] .filters{padding:0 18px 12px;gap:9px;flex-wrap:nowrap}body[data-view="overview"] .filters>label{min-width:0}body[data-view="overview"] .filters .search{flex:1}.filters input,.filters select{background:var(--surface)}body[data-view="overview"] .filters select{width:140px;color:var(--muted)}body[data-view="overview"] .date-filter{border:1px solid var(--border);border-radius:7px;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:5px 8px;width:135px}body[data-view="overview"] .date-filter input{border:0;padding:0;min-height:20px;width:100%;color:var(--muted)}body[data-view="overview"] th{background:#eaf2f5;padding-block:18px;font-size:12px;color:var(--muted)}body[data-view="overview"]:not(.has-records) .empty,body[data-view="overview"]:not(.has-records) .records>.table-footer{display:none}
#notice{position:fixed;inset:auto 24px 24px auto;margin:0;width:min(420px,calc(100vw - 32px));max-height:70dvh;overflow:auto;padding:18px 20px;border:1px solid #80c3a6;border-left:4px solid #087453;border-radius:12px;background:#f3fcf7;color:#154b38;box-shadow:0 12px 40px #062d3533;font-size:14px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;z-index:10000}#notice.error{background:#fff3ef;color:#8d3c27;border-color:#d9a493}#notice::backdrop{background:transparent;pointer-events:none}
@media(max-width:1200px){body[data-view="overview"] .filters{flex-wrap:wrap}body[data-view="overview"] .filters .search{flex-basis:100%}body[data-view="overview"] .source-values>div{padding-left:8px;padding-right:4px}body[data-view="overview"] .source-values small{font-size:11px}}
@media(max-width:1000px){body[data-view="overview"] .sidebar{position:static;width:100%;padding:14px 18px;flex-direction:row;flex-wrap:wrap;align-items:center}body[data-view="overview"] .sidebar nav{margin:0 0 0 auto;display:flex}body[data-view="overview"] .sidebar-bottom{border:0;margin:0;padding:0;width:auto}body[data-view="overview"] .shell{margin:0}body[data-view="overview"] .source-grid{grid-template-columns:1fr}body[data-view="overview"] .topbar{padding-right:24px;flex-wrap:wrap;height:auto;min-height:48px}body[data-view="overview"] .page-heading{height:auto;margin-bottom:10px;justify-content:flex-end}body[data-view="overview"] #reconcile{position:static}.welcome h1{font-size:34px}}
@media(max-width:600px){.welcome{padding:24px 16px}.welcome-card{padding:28px 22px;border-radius:24px}.welcome-logo{width:92px;height:92px;margin-bottom:18px}.welcome-kicker{font-size:12px}.welcome h1{font-size:27px}.welcome p{font-size:17px;margin:20px 0}.welcome .primary{height:56px;font-size:18px}.install-link{font-size:16px;padding:20px 0}.welcome small{font-size:12px}body[data-view="overview"] .brand{font-size:23px}body[data-view="overview"] .sidebar nav{width:100%;order:3;justify-content:space-between}body[data-view="overview"] .sidebar-bottom{margin-left:auto}body[data-view="overview"] .sidebar .nav{padding:10px 5px;font-size:11px;gap:6px}body[data-view="overview"] main{padding:14px 12px}body[data-view="overview"] .topbar{gap:8px;padding:12px;font-size:11px}body[data-view="overview"] .source-card{padding:14px}body[data-view="overview"] .source-card-top{gap:10px}body[data-view="overview"] .source-card-top h3{font-size:15px}body[data-view="overview"] .source-values strong{font-size:16px}body[data-view="overview"] .source-card-bottom{flex-wrap:wrap}body[data-view="overview"] .table-heading h2{font-size:16px}body[data-view="overview"] .table-heading>div{padding-left:0}body[data-view="overview"] .table-heading>div::before{display:none}body[data-view="overview"] .filters>label:not(.search){flex:1 1 40%;width:auto}body[data-view="overview"] .filters select{width:100%}#notice{right:16px;bottom:16px}}
@media(prefers-color-scheme:dark){body[data-view="overview"]{--ink:#e1ecf4;--muted:#adc1cf;--surface:#172b35;--bg:#0e1d25;--border:#304650;color:var(--ink)}.welcome{--surface:#172b35;--border:#304650;background-color:#102b24;background-blend-mode:multiply}.welcome h1{color:#e1ecf4}.welcome p,.welcome small{color:#adc1cf}body[data-view="overview"] .source-card,body[data-view="overview"] .records{background:var(--surface)}body[data-view="overview"] .source-symbol,body[data-view="overview"] .table-heading>div::before{background:#1e5546;color:#9ce0c4}body[data-view="overview"] th{background:#223c48}body[data-view="overview"] input,body[data-view="overview"] select{color:var(--ink);background:var(--surface)}body[data-view="overview"] tbody tr:hover{background:#223c48}#notice{background:#163d30;color:#e2f9eb;border-color:#498b70}#notice.error{background:#442c25;color:#ffddd0}}

.install-link::before,.welcome small::before{content:none}.install-link .ui-icon{width:26px;height:26px;margin-right:8px}.welcome .primary .ui-icon{width:36px;height:36px}.welcome small .ui-icon{width:30px;height:30px;color:#087453;margin-right:10px}

/* Compact welcome card, centered independently of the workspace. */
.welcome{min-height:100dvh;place-items:center;padding:24px 16px}
.welcome-card{width:min(100%,380px);padding:22px 24px 18px;border-radius:20px}
.welcome-logo{width:60px;height:60px;border-radius:15px;margin-bottom:10px}
.welcome-kicker{font-size:10px;letter-spacing:2px;margin-bottom:10px}
.welcome h1{font-size:21px;line-height:1.3;letter-spacing:-.4px}
.welcome p{font-size:13px;margin:12px 0 14px}
.welcome .primary{height:42px;padding:8px 12px;border-radius:9px;font-size:14px;gap:8px}
.welcome .primary .ui-icon{width:21px;height:21px}
.welcome .install-link{font-size:12px;padding:12px 0}
.welcome .install-link .ui-icon{width:20px;height:20px;margin-right:6px}
.welcome small{font-size:10px;padding-top:11px;line-height:1.5}
.welcome small .ui-icon{width:21px;height:21px;margin-right:6px}
@media(max-width:400px){.welcome-card{padding:24px 22px}.welcome h1{font-size:20px}}

/* Heading casing keeps the existing typography sizes. */
.sidebar .brand-title,.sidebar .nav{text-transform:uppercase}
body[data-view="overview"] .source-card-top h3{text-transform:uppercase}
body[data-view="overview"] .section-heading{display:none}
body[data-view="overview"] .brand{padding-inline:0;gap:6px}
body[data-view="overview"] .brand-bank{width:34px;height:36px}
